Register or Login To Download This Patent As A PDF
| United States Patent Application |
20070112630
|
| Kind Code
|
A1
|
|
Lau; Wai Kit
;   et al.
|
May 17, 2007
|
Techniques for rendering advertisments with rich media
Abstract
In one embodiment, an advertisement is matched to subject matter in a
portion of rich media content, such as a digital video, Flash.TM.
animation, etc. For example, during the playing of rich media content, it
may be determined by audio recognition techniques that the content's
subject matter matches or correlates with an advertisement. Rendering
preferences associated with the advertisement are then determined. The
rendering preferences may be used to determine how the advertisement
should be rendered (i.e., displayed in association with the content). The
advertisement is then served to a device. The advertisement is served
such that it can be rendered relative to a time that the portion of media
is being displayed on the device.
| Inventors: |
Lau; Wai Kit; (Boston, MA)
; Lee; Steven; (Stamford, CT)
; Martin; Pete; (North Grafton, MA)
|
| Correspondence Address:
|
Trellis Intellectual Property Law Group, PC
1900 EMBARCADERO ROAD
SUITE 109
PALO ALTO
CA
94303
US
|
| Assignee: |
ScanScout, Inc.
Cambridge
MA
|
| Serial No.:
|
594707 |
| Series Code:
|
11
|
| Filed:
|
November 7, 2006 |
| Current U.S. Class: |
705/14.1; 705/14.46; 705/14.5; 705/14.53; 705/14.58; 705/14.61; 705/14.66; 705/14.71 |
| Class at Publication: |
705/014 |
| International Class: |
G06Q 3/00 20060101 G06Q030/00 |
Claims
1. A method for serving advertisements, the method comprising: determining
when an advertisement correlates to subject matter associated with a
portion of rich media content; determining rendering preferences
associated with the advertisement; and serving the advertisement to a
device, the advertisement being served such that it can be rendered
relative to a time the portion of the rich media content is being played
on the device based on the rendering preferences.
2. The method of claim 1, wherein serving the advertisement comprises
serving the advertisement such that the advertisement is rendered on the
device serially with the portion of rich media content.
3. The method of claim 2, wherein serially comprises before, after, or in
the middle of the playing of the portion of the rich media content.
4. The method of claim 1, wherein serving the advertisement comprises
serving the advertisement such that the advertisement is rendered on the
device in parallel with the portion of rich media content.
5. The method of claim 1, wherein serving the advertisement comprises
serving the advertisement such that the advertisement is injected into or
laid on top of portion of rich media content.
6. The method of claim 1, wherein serving the advertisement comprises
causing rendering of the advertisement on the device.
7. The method of claim 1, wherein the advertisement is a different form of
rich media content than the portion of the rich media content.
8. The method of claim 1, wherein the rendering preferences indicate a
position to display the advertisement relative to the portion of the rich
media content.
9. The method of claim 1, wherein the rendering preferences are specified
by a user of the user device, a content owner of the rich media content
and/or the advertiser of the advertisement.
10. The method of claim 1, wherein the advertisement includes a coupon or
map related to the advertisement.
11. The method of claim 1, wherein serving the advertisement comprises
causing storing the advertisement at the device.
12. The method of claim 1, wherein determining when an advertisement
correlates to subject matter associated with a portion of rich media
content comprises using correlation recognition detection techniques to
determine that the advertisement correlates the subject matter.
13. The method of claim 1, wherein determining when an advertisement
correlates to subject matter associated with a portion of rich media
content comprises time aligning the advertisement to correlate the
advertisement to the subject matter to maximize a criteria.
14. A method for rendering advertisements, the method comprising: playing
rich media content on a device; receiving an advertisement that
correlates to subject matter associated with a portion of the rich media
content being played; determining rendering preferences associated with
the advertisement; and rendering the advertisement, the advertisement
being rendered such that it can be rendered relative to a time the
portion of the rich media content is being played on the device based on
the rendering preferences.
15. The method of claim 14, wherein the advertisement is rendered on a
display of the device.
16. The method of claim 14, wherein the advertisement is rendered through
a speaker of the device.
17. The method of claim 16, wherein rendering the advertisement comprises
rendering the advertisement such that the advertisement is rendered
serially with the portion of rich media content.
18. The method of claim 17, wherein serially comprises before or after the
playing of the portion of the rich media content.
19. The method of claim 14, wherein the advertisement is rendered with
audio or visual cues that alert the user of a new and/or changing ad
placement.
20. The method of claim 14, wherein rendering the advertisement comprises
rendering the advertisement such that the advertisement is rendered on
the device in parallel with the portion of rich media content.
21. The method of claim 14, wherein rendering the advertisement comprises
rendering the advertisement such that the advertisement is injected into
the portion of rich media content.
22. The method of claim 14, further comprising: detecting an event
associated with the advertisement; and performing an action for the
event.
23. The method of claim 22, wherein the action comprises: stopping the
playing of the rich media content; and starting playing of the
advertisement.
24. The method of claim 23, where the action comprises displaying
additional information for the advertisement.
25. The method of claim 14, further comprising receiving additional
information for the user.
26. The method of claim 14, wherein determining when an advertisement
correlates to subject matter associated with a portion of rich media
content comprises using correlation recognition detection techniques to
determine that the advertisement correlates the subject matter.
27. The method of claim 14, wherein determining when an advertisement
correlates to subject matter associated with a portion of rich media
content comprises time aligning the advertisement to correlate the
advertisement to the subject matter to maximize a criteria.
28. An apparatus configured to serve advertisements, the apparatus
comprising: a correlation engine configured to determine when an
advertisement correlates to subject matter associated with a portion of
rich media content; a rendering formatter configured to determine
rendering preferences associated with the advertisement; and an ad server
configured to serve the advertisement to a device, the advertisement
being served such that it can be rendered relative to a time the portion
of the rich media content is being played on the device based on the
rendering preferences.
29. The apparatus of claim 28, wherein the ad server is configured to
serve the advertisement such that the advertisement is rendered on the
device serially with the portion of rich media content.
30. The apparatus of claim 28, wherein the ad server is configured to
serve the advertisement such that the advertisement is rendered on the
device in parallel with the portion of rich media content.
31. The apparatus of claim 28, wherein the ad server is configured to
serve the advertisement such that the advertisement is injected into the
portion of rich media content.
32. The apparatus of claim 28, wherein the correlation engine is
configured to correlate the advertisement to use correlation recognition
detection techniques to determine that the advertisement correlates the
subject matter.
33. The apparatus of claim 28, wherein the correlation engine is
configured to time align the advertisement to correlate the advertisement
to the subject matter to maximize a criteria.
34. A method for correlating advertisements to rich media content, the
method comprising: recognizing information for the rich media content;
determining a plurality of advertisements to correlate to the recognized
information; and selecting an advertisement from the plurality of
advertisements to associate with a portion of the rich media content
based on one or more criteria.
35. The method of claim 34, wherein determining the plurality of
advertisements to correlate comprises: determining match information
associated with an advertisement in the plurality of advertisements;
determining if the match information is found in the rich media content;
and correlating the advertisement with the rich media content if the
match information is found in the rich media content.
36. The method of claim 34, wherein selecting the advertisement comprises:
determining scores for the one or more criteria for each of the plurality
of advertisements; and selecting the advertisement based on the
determined scores.
37. The method of claim 36, wherein the one or more criteria comprises a
bid price for the advertisement, wherein an amount of the bid affects the
score given to the advertisement.
38. The method of claim 37, wherein selecting the advertisement is
performed to maximize revenue from bids associated with the plurality of
advertisements.
39. The method of claim 36, wherein the one or more criteria comprise
lattice probability, match concentration, match position, geo-location,
demographic, behavioral, and psychographic profile, and/or past
performance.
Description
CROSS REFERENCES TO RELATED APPLICATIONS
[0001] This application claims priority from U.S. Provisional Patent
Applications No. 60/733,874, entitled "Method and System for Contextually
Matching Advertisements with Rich Media Content", filed Nov. 7, 2005 and
60/784,415 entitled "Method and System for Contextually Matching
advertisements with Rich Media Content", filed Mar. 20, 2006, which are
incorporated by reference in their entirety for all purposes.
BACKGROUND
[0002] Embodiments of the present invention generally relate to digital
media and more specifically to displaying advertisements with rich media
content.
[0003] A user can perform a text search for content using a search engine.
When the search is matched to text content, the results are displayed on
a web page. The search results are typically static. For example, if a
user was searching for certain web pages, the web pages and URLs would be
listed on the page and do not change.
[0004] Advertisements related to the content may then be placed in certain
sections of the page. Because the content on the page is static, the
advertisements are matched to the search once. The placement of the
advertisement on the page may be optimized, such as placing the
advertisements at the beginning of the results. However, because the
content on the web page is static, there is no need to match the
advertisements to content that changes over a period of time. It is
assumed that once the search is finished, the content remains the same.
SUMMARY
[0005] Embodiments of the present invention generally relate to serving
advertisements with rich media content.
[0006] In one embodiment, an advertisement is matched to subject matter in
a portion of rich media content, such as a digital video, Flash.TM.
animation, etc. For example, during the playing of rich media content, it
may be determined by audio recognition techniques that the content's
subject matter matches or correlates with an advertisement. Rendering
preferences associated with the advertisement are then determined. The
rendering preferences may be used to determine how the advertisement
should be rendered (i.e., displayed in association with the content).
[0007] The advertisement is then served to a device. The advertisement is
served such that it can be rendered relative to a time that the portion
of media is being displayed on the device. For example, the advertisement
may be rendered on the device according to an advertising plan paid for a
by a sponsor. The advertising plan can include criteria for matching the
advertisement to the content, a manner of displaying the ad (size,
position, ad content, ad animation, etc.), or other factors. In one
embodiment, the advertisement may be displayed serially with the portion
of rich media content, in parallel with the portion of rich media
content, injected into the rich media content, etc.
[0008] A further understanding of the nature and the advantages of the
inventions disclosed herein may be realized by reference of the remaining
portions of the specification and the attached drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] FIG. 1 depicts a simplified system for serving advertisements with
rich media content according to one embodiment of the present invention.
[0010] FIG. 2 depicts a more detailed example of the system shown in FIG.
1 according to one embodiment of the present invention.
[0011] FIG. 3A depicts a video example of rendering advertisements
serially according to one embodiment of the present invention.
[0012] FIG. 3B shows an audio example of rendering advertisements serially
in rich media content that includes audio according to embodiments of the
present invention.
[0013] FIG. 4A depicts a video example of rendering advertisements in
parallel according to embodiments of the present invention.
[0014] FIG. 4B depicts an audio example of rendering advertisements in
parallel according to embodiments of the present invention.
[0015] FIG. 5 depicts a system for initiating serving of advertisements
according to one embodiment of the present invention.
[0016] FIG. 6 shows an example interface according to one embodiment.
[0017] FIG. 7 shows an example of how content may relate to keywords
purchased by advertisers according to one embodiment.
[0018] FIG. 8 shows an example of the scoring system according to one
embodiment.
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
System
[0019] FIG. 1 depicts a simplified system 100 for serving advertisements
with rich media content according to one embodiment of the present
invention. As shown, an engine 102, user device 104, advertiser system
106, and content owner system 108 are provided.
[0020] Engine 102 may be any device/system that provides serving of
advertisements to user device 104. In one embodiment, engine 102
correlates advertisements to subject matter associated with rich media
content. Accordingly, an advertisement that correlates to the subject
matter associated with the portion of rich media content may be served
such that it can be rendered on user device 104 relative to the portion
of rich media content. Different methods may be used to correlate or
match advertisements to portions of the rich media content.
[0021] Advertiser system 106 provides advertisements from advertisement
database 112. Advertisements may be any content. For example,
advertisements may include information about the advertiser, such as the
advertiser's products, services, etc. Advertisements include but are not
limited to elements possessing text, graphics, audio, video, animation,
special effects, and/or user interactivity features, uniform resource
locators (URLs), presentations, targeted content categories, etc. In some
applications, audio-only or image-only advertisements may be used.
[0022] Advertisements may include non-paid recommendations to other
links/content within the site or to other sites. The advertisement may
also be data from the publisher (other links and content from them) or
data from a servicer of engine (e.g., from its own data sources (such as
from crawling the web)), or some other 3.sup.rd party data sources. The
advertisement may also include coupons, maps, ticket purchase
information, or any other information.
[0023] An advertisement may be broken into ad units. An ad unit may be a
subset of a larger advertisement. For example, an advertiser may provide
a matrix of ad units. Each ad unit may be associated with a concept. The
ad units may be selected individually to form an advertisement. Thus,
advertiser system 106 is not restricted to just serving an entire
advertisement. Rather, the most relevant pieces of the advertisement may
be selected from the matrix of ad units.
[0024] The ad units may perform different functions. Instead of just
relaying information, different actions may be facilitated. For example,
an ad unit may include a widget that collects user information, such as
email address or phone number. The advertiser may then contact the user
later with additional info about its products/services.
[0025] An ad unit may also include a widget that stores a history of ads.
The user may use this widget to rewind to any of the previously shown
ads, fast forward and see ads yet to be shown, show a screen containing
thumbnails of a certain number of ads such that a user can choose which
one to play, etc.
[0026] An ad unit may include a widget that allows users to send the ad to
others. This facilitates viral spreading of the ad. For example, the user
may use an address book to select users to forward the ad to. Further, an
ad unit, when it is replaced by another ad unit, may be minimized into a
small widget that allows the user to retrieve the ad, send to others,
etc.
[0027] Different ways of creating an ad unit may also be appreciated. An
ad unit may be created by applying a template on existing static ad units
and turning them into video that may serve as pre/mid/post-roll. An ad
unit may be created by taking a static ad and augmenting the unit with an
advertiser-specified message dependent on context and keywords.
[0028] Advertisements will be described in the disclosure, but it will be
understood that an advertisement may be any of the ad units as described
above. Also, the advertisement may be a single ad unit or any number of a
combination of ad units.
[0029] Advertiser system 106 provides advertisements to engine 102. Engine
102 may then determine when to serve advertisements from advertisement
content 112 to user device 104. This process will be described in more
detail below.
[0030] Content owner system 108 provides content stored in content
database 114 to engine 102 and user device 104. The content includes rich
media content. Rich media content may include but is not limited to
content that possesses elements of audio, video, animation, special
effects, and/or user interactivity features. For example, the rich media
content may be a streaming video, a stock ticker that continually
updates, a pre-recorded web cast, a movie, Flash.TM. animation, slide
show, or other presentation. The rich media content may be provided
through a web page or through any other methods, such as streaming video,
streaming audio, pod casts, etc.
[0031] Rich media content may be digital media that is dynamic. This may
be different from non-rich media content, which may include standard
images, text links, and search engine advertising. The non-rich media may
be static over time while rich media content may change over time. The
rich media content may also include user interaction but does not have
to.
[0032] User device 104 may be any device. For example, user device 104
includes a computer, laptop computer, personal digital assistant (PDA),
cellular telephone, set-top box and display device, digital music player,
etc. User device 104 includes a display 110 and a speaker (not shown)
that may be used to render content and/or advertisements.
[0033] Advertisements may be served from engine 102 to user device 104.
User device 104 then can render the advertisements. Rendering may include
the displaying, playing, etc. of rich media content. For example, video
and audio may be played where video is displayed on display 110 and audio
is played through a speaker (not shown). Also, text may be displayed on
display 110. Thus, rendering may be any output of rich media content on
user device 102.
[0034] In one embodiment, the advertisements are correlated to a portion
of the rich media content. The advertisement can then be displayed
relative to that portion in time. For example, the advertisement may be
displayed in serial, parallel, or be injected into the rich media
content. The different ways of rendering the advertisements relative to
the rich media content will be described in more detail below.
Correlation
[0035] FIG. 2 depicts a more detailed example of system 100 according to
one embodiment of the present invention. As shown, engine 102 includes a
correlation engine 202, a rendering formatter 204, an ad server 206, a
content database 208, an ad database 210, a recognition engine 212,
correlation assistant 214, an optimization engine 216 and advertiser web
site 218.
[0036] Correlation engine 202 receives advertisements from ad database 208
and content from content database 208. The advertisements and content may
have previously received from content owners and advertisers.
[0037] Correlation engine 202 is configured to determine an advertisement
that correlates to subject matter associated with a portion of the rich
media content. For example, at a certain time, period of time, or
multiple instances of times, an advertisement may be correlated to
subject matter in the rich media content. For example, an advertisement
may be associated with a keyword. When that keyword is used in the rich
media, correlation engine 202 correlates the advertisement to a portion
of rich media content in which the keyword is used.
[0038] Correlation engine 202, when determining the advertisement, may
determine one or more ad units that correlate to the subject matter. For
example, based on one or more keywords, ad units from the ad matrix are
determined. The ad units are then combined into an advertisement that is
correlated to the subject matter. One example of this is BMW may provide
a general ad unit for their logo and have a different ad unit for
different models, such as the 330 model, 530 model, etc. The logo unit
and each of the model units can be combined at runtime based on the
context of the content. If the content talks about the 330 model then the
logo and the 330 ad units may be combined and presented to the user.
[0039] Correlation engine 202 may also use user information to correlate
advertisements to subject matter associated with a portion of the rich
media content. User information may be any user information that is
associated with a user of user device 104. For example, user information
may include information about the behavior of a user. An account
behavioral analysis of user information, such as from cookies, from
account information, etc. may be used, in addition to contextual analysis
of the content. This may help correlate which advertisements may be more
relevant to the user based on the previous behavior of the user. Other
user information may also include demographic data, recent sites visited
by the user, and user actions such as mouse movement during presentation
of an ad, etc. In one example, if the user had previously visited web
sites for a certain advertiser, then it may be more effective to send the
user an advertisement from that advertiser.
[0040] Correlation recognition detection techniques may be used to
determine that the advertisement is correlated to the portion of rich
media content. For example, keywords may be detected in the rich media
using audio recognition. Audio recognition may include speech
recognition, music detection on music portions, sound effect detection on
sound effects, etc. Other techniques for keyword detection can include
using preset word tags or indicators in the rich media content. Image
recognition can be used on visual portions of the rich media content. For
example, optical character recognition (OCR), facial recognition, object
matching, etc. Other recognition techniques can be employed. For example,
any suitable way of determining the content of rich media can be used to
correlate a portion of the rich media content to an advertisement.
[0041] Recognition engine 212 receives rich media content that may be
accessed by a user and uses correlation recognition detection techniques
to recognize the content. In one embodiment, recognition engine 212 using
audio recognition techniques, such as speech recognition, whereby the
audio within the content would be recognized. In another embodiment,
recognition engine 212 may be a video or visual analysis engine that
generates data regarding the visual content of the rich media. In another
embodiment, it could be natural language processing engine. In yet
another embodiment, it may be an indexing engine that culls and processes
textual meta-data associated with the content. Other audio recognition
techniques may also be appreciated.
[0042] Recognition engine 212 is a processor that outputs relevant tags
about the content that the rest of system 100 may use to match
appropriate ads at the appropriate time when the content is accessed and
played. For example, the information may be keywords recognized from
audio in the content. Recognition engine 212 may generate a unique ID for
each piece of content. In one embodiment, recognition engine 212
transcribes the audio within the content into text and related concepts.
In the video or visual recognition embodiment, meta-data about the visual
content is generated or culled from the content itself. In the textual
meta-data embodiment, the meta-data is culled from the content and
processed. Each concept, word, or meta-data may be time-stamped and
stored in storage 208. It may be stored in a hash table, index, or
database. This provides an index of information recognized from the
content.
[0043] In some cases, recognition engine 212 may not definitively
recognize a word. When uncertainty exists, such as with speech
recognition or visual analysis, a lattice of the concepts, words, or
meta-data are stored with associated probabilities. The lattice contains
alternatives to the best choice when the probability associated with the
best choice is low. Similar words may be determined and included in the
lattice. Also, alternative words for words that are typically hard to
recognize may also be included in the lattice.
[0044] The recognition may be performed in non real-time or in real-time.
In non real-time, content owners submit their content to recognition
engine 212 prior to an audience viewing the content. In the real-time
embodiment, the content would be recognized as it is being accessed and
played by users.
[0045] In determining when an advertisement correlates to subject matter
associated with a portion of rich media content, a time to render the
advertisement relative to the content that maximizes one or more criteria
may be determined. For example, correlation engine 202 may determine a
sequence of advertisements that maximize revenue. These advertisements
are time aligned to correlate to the subject matter to maximize the
revenue.
[0046] Advertisers may buy correlation information, such as keywords,
phrases or concepts, either through a bidding process or some other
means, and submit their ads and related information to correlation engine
202 though correlation assistant 214. Keywords may be words that can be
used to match information in the content. The phrases may be any
combination of words and other information, such as symbols, images, etc.
The concepts may be a conceptual idea of something. For example, if a
portion of rich media talks about Lebron James, this can be
conceptualized to basketball, and we can match advertisements to
basketball to the rich media even if for some reason the exact term
"basketball" is not mentioned. The related information includes but is
not limited to URLs, presentations of ads, targeted content categories,
etc. to be associated with the ad space or inventory they have bought.
The advertiser can also specify anti-keywords, phrases, or concepts. An
anti-keyword is a keyword or phrase that an advertiser chooses such that
if that keyword or phrases is recognized in the rich media content, the
advertiser's ad would not be shown, even if there is a keyword/phrase
match.
[0047] The selection of normal/anti-keywords, normal/anti-phrases, and
normal/anti-concepts is useful for ad matching performance. For example,
if General Motors purchases the keyword "General Motors" for its ad, the
ad may very well be matched to a video discussing a General Motors
layoff, if the anti-keyword "layoff.-+. is not selected. To prevent these
matches, correlation assistant 214 determines appropriate content for
advertiser's ads. Once advertisers enter their desired keywords, phrases,
or concepts, correlation assistant 214 may present other text correlated
to those keywords. The other test may be based on analysis of historic
content in the recognized content. Also, the related text may also be
taken from external knowledge sources and databases. For example, a
spider may search the web for popular news stories. The news stories may
be indexed and words may be determined that are found in the stories. If
the word "General Motors" occurs frequently near the word "layoff" in the
index, correlation assistant 214 may suggest the term "layoff" when
"General Motors" is chosen. The advertiser can then specify whether each
of the desired keywords or text fragments suggested correlation assistant
214 is positive, neutral, or negative to the content they would like to
target. In this way, the advertiser can better refine their selection. A
list of anti-keywords may then be determined and stored in storage 210.
[0048] Also, the keywords that an advertiser wants to bid on may also be
determined using correlation assistant 214. Suggestions as to which
keywords may be associated with an advertiser may be provided. The more
popular keywords may then be bid on by the advertiser. By showing how
popular a keyword is, higher bids may be received or required. Also, when
a keyword is bid on by an advertiser. Correlation assistant 214 may
display similar keywords for an advertiser to choose from. This may give
an advertiser more keywords to bid on or even better keywords that may
result in better matches.
[0049] Advertisers may also specify other associations for their ads. Such
associations may include but are not limited to keyword/anti-keyword,
phrase/anti-phrase, concept/anti-concept, and domain
category/anti-category. A category may refer to sports, news, business,
entertainment, etc.
[0050] Correlation assistant 214 may generate a unique ID for each ad
submitted. These ads and related information would be stored in storage
214 as an index or other data structure. In one embodiment, each ad unit
may be identified. For example, a matrix identification system may be
used to identify different ad units for an advertiser.
[0051] The data and meta-data (for example, spoken words and concepts) of
the indexed and time-stamped content are stored in storage 208.
Correlation engine 202 may relate a unique content ID with a time series
of keywords and concepts (that advertisers have purchased), and in turn,
relate the keywords and concepts to ads submitted by advertisers.
[0052] FIG. 7 shows an example of how content may relate to keywords
purchased by advertisers according to one embodiment. A recognition of
content 702 is shown. This is a text version of rich media content. For
example, a newscast has been translated from speech to text using speech
recognition techniques.
[0053] The ads may be correlated to content in different ways. In one
embodiment, keywords may be associated with each ad. Content may be
searched to determine if the content includes the keywords. Then the ad
may be correlated to the content. For example, an index of keywords may
be generated for each piece of content. The correlation may be performed
for all ads and a series of ads may be matched to different content in
storage 208.
[0054] In another embodiment, keywords in a piece of content may be
determined. Different ads that correlate to the content may then be
determined. For example, for each keyword determined, one or more ads
that are associated with the keyword are determined. The ads to display
may then be selected.
[0055] The correlation may be performed in non real-time or in real-time.
In the non-real time embodiment, correlation engine 202 may perform the
correlation at regular intervals.
[0056] In one example of correlation in the non real-time embodiment, for
each ad, correlation engine 202 finds candidate content that may be
relevant. This is done by searching for content in the index to match the
keywords, categories, and concepts associated with the ad to information
in the content. Correlation engine 202 may perform the search not only on
the top choices (e.g., keywords) generated by recognition engine 212, but
on the entire lattice of possible alternatives. The content index may
also include a long tail of words, especially proper nouns such as names
and foreign entities. This long tail includes many proper nouns such as
names and foreign entities. When an out-of-vocabulary keyword is
associated with an ad, that word is converted to other in-vocabulary
words with similar phonetic make-up.
[0057] For each piece of candidate content associated with an ad,
correlation engine 202 determines candidate times where the content may
be relevant to the ad. Correlation engine 202 locates the times where the
keywords and concepts match. For each candidate time, correlation engine
202 creates an "ad anchor" holding the score for the match. The score may
be a linear combination of the following weights: [0058] 1. Probability
of the keyword/concept match pulled from the recognition lattice. [0059]
2. Concentration of the match--the more keywords/concepts for the ad
matches near the time, the higher the score. One embodiment of this score
may be a count of the number of matches within a certain window of the
current time. [0060] 3. Position of match relative to other matches--the
more likely that the current time starts a segment on the
keywords/concepts, the higher the score. One embodiment of this score may
be the inverse of a count of the number matches before a certain amount
of time. [0061] 4. Historical performance--the prior performance of an
ad. For example, if an ad previously placed resulted in a user selection
of the ad, the ad may be considered a better match. [0062] 5. Price of
the ad placement--the price of the bid may be taken into account to
determine the match. For example, higher bids for the ad may be
considered better matches. Also, higher bids may be placed in a separate
area of the display screen, etc. [0063] 6. Geo-location match--the area
where the content may be displayed may be considered in matching the ad
to content. [0064] 7. Demographic--a classification of a user, such as
age bands, social class bands, and gender. [0065] 8. Behavioral--the
actions or reactions of an object or organism, usually in relation to the
environment. [0066] 9. Psychographic profile--any attributes relating to
personality, values, attitudes, interests, or lifestyles. [0067] 10.
Past performance--the past performance of an ad.
[0068] For each piece of content, correlation engine 202 may prune away
the low scoring anchors. For example, a threshold may be used where
anchors below the threshold are not considered. For each remaining
anchor, correlation engine 202 extends the segment for the ad to the
minimum time for the ad. This is either a global minimum or a setting
configured by the advertiser or content owner. For example, if the ad is
a logo, the logo may be displayed for the minimum amount of time.
[0069] For each pair of overlapping ads, correlation engine 202
disambiguates the overlapping ads by selecting the ad with the higher
score. Remaining empty space may be filled by extending the previous ad,
filling it with pruned ads, or by filling with ads that score generically
well. Also, ad units may be chosen to fill in the space. If ads are in 5
second intervals, the best matching 5 second intervals may be chosen
depending on how much empty space there is to fill.
[0070] In the real time embodiment, recognition engine 212 may determine
keywords from the content. As recognition engine 212 produces a streaming
lattice of keywords or concepts, a rolling window of the lattice is used
to look up potentially relevant ads. Whenever a possible relevant ad is
found, the ad is scored in the same way as in the non-real time case.
Correlation engine 212 makes an immediate decision on whether the ad is
appropriate. A hard threshold may be used to make the determination. The
value of the threshold is determined experimentally to optimize relevance
and minimize false acceptances.
[0071] As shown in FIG. 7, advertisers 704 have keywords 706 associated
with ads. Also, association rules 708 are provided that guide when to
correlate an ad to the keyword.
[0072] Advertiser 704-1 is the Major League Baseball and has specified the
keywords "Red Sox" and "Fenway". The ad may be correlated to the keyword
when the two words are found in content proximate to each other. For
example, the words may have to be within a certain number of words in the
content.
[0073] Advertiser 704-2 is Nike and the keyword "Superbowl" is associated
with it. The ad for Nike may be shown when the keyword Superbowl is
spoken in content.
[0074] Advertiser 704-3 is BMW and the keyword "Luxury Automobile" is
associated with it. Also, an anti-keyword shown as NOT "pollution" is
also associated with BMW. In this case, when the word luxury automobile
is spoken without the word pollution in proximity, then the BMW ad may be
matched to the content.
[0075] As shown in content 702, the keywords are found for all three
advertisers. The ads may be correlated to the content at the time the
words are spoken in the content. As shown in FIG. 8, as the words are
spoken, as advertisement for each advertiser 704 is shown.
[0076] In one embodiment, a logo 710 for advertisers 704 is shown and
displayed in parallel with the content. Other display options may be used
and are described herein. A uniform resource locator (URL) 712 may be
associated with the ads. For example, when the ads are selected or
clicked on, a window may be opened and redirected to the URL.
[0077] The information shown in FIG. 7 may be stored as a table or tables
relating content and content-related information, time series to display
ads and time series-related information, and characterizations of the ads
to be displayed (ad ID, presentation of ad, URL of ad, etc.). This then
in effect relates ads to content. In the real-time embodiment, the
content is processed by the recognition engine and matched with ads as
the content is being played to a user.
[0078] FIG. 8 shows an example of the scoring system according to one
embodiment. As shown, recognized text for a piece of content is shown in
block 802. In this example, Motorola owns the keyword "razr", Verizon
owns the keyword "e.v.d.o.", T-Mobile owns the keyword "g.p.r.s.", and
Seagate owns the keyword "megabyte diskdrive". Correlation engine 202
recognizes the content with the exception of "megapixel camera" being
misrecognized as "megabyte diskdrive". In this case, the spoken word was
recognized as the wrong word, which may happen from time to time
depending on the recognition engine that is used. Note that "razr" shows
up twice in the transcript hence is scored twice.
[0079] The scores in table 804 may correspond to any of the 10 weights
described above. More or fewer weights may be included in table 804. As
shown, five weights are being used. All the recognition scores are
similar except the misrecognized phrase gets a much lower score. The
recognition score may be related to the confidence that the word was
properly recognized. The match concentration score is highest for "razr"
because the word shows up twice near each other, whereas the other
keywords only show up once.
[0080] The match position scores are similar except for the second
occurrence for "razr" since initial positions are preferred. In this
example, the ad is new so no score is found for any past performance
scores. However, if an ad was previously placed and was considered a good
placement, the past performance score may be high. For example, if an ad
is selected by a user when it was placed, it may receive a good
performance score. Also, if the ad was selected and then the user
purchased something from the advertiser, then the performance score may
be even higher.
[0081] The ad cost/price also shows that Motorola has bid the most for the
keyword razr. Accordingly, it has the highest score for the ad
cost/price. However, if Verizon had bid more for e.v.d.o, then it might
have skewed the final weight in its favor and thus Verizon's ad may be
placed.
[0082] Based on the scores, Motorola wins the ad placement in this segment
and the ad is shown right after the first occurrence of "razr". If,
however, the placement is made, and nobody selects or clicks on the
Motorola ad, but on the other hand, the Verizon ad has found success
elsewhere with the keyword "e.v.d.o.", the next iteration of the scoring
will likely award the placement to Verizon, increasing the potential
revenue from the placement. Optimizer engine 216 may receive previous
performance information from advertiser website 218. For example,
clickthrough information, purchase information, and billing information,
and other user interaction information may be received. This information
may be used to determine a past performance score.
Rendering
[0083] In determining when an advertisement correlates to subject matter
associated with a portion of rich media content, a time to render the
advertisement relative to the content that maximizes one or more criteria
may be determined. For example, correlation engine 202 may determine a
sequence of advertisements that maximize revenue. These advertisements
are time aligned to correlate to the subject matter to maximize the
revenue.
[0084] Rendering formatter 204 then determines how the advertisement
should be rendered relative to a time the portion of the rich media
content is being played. For example, rendering formatter 204 can
determine that an advertisement should be rendered serially relative to
the portion of rich media content, in parallel to the portion of rich
media content, or injected into the rich media content. In other
embodiments, the advertisements may be stored for later display by a
user. For example, at any time, the stored advertisements may be
displayed even if the rich media content is not being played. In one
example, the advertisements may be stored in a folder. An icon may be
inserted in display 110, which can be selected and used to cause display
of the stored advertisements.
[0085] When an advertisement is rendered serially relative to a time the
portion of the rich media content is being played, it can be rendered
post-roll or pre-roll. Post-roll is after the time the portion of rich
media content is displayed. For example, the portion of the rich media
content may be played and then the advertisement may be rendered after
the portion is played. In one example, a media player may be playing the
rich media content. When the portion of rich media is finished playing,
the advertisement may be rendered using the player. Thus, a user can only
watch the rich media content or the advertisement. In other embodiments,
the advertisement may be rendered in a different area of display 110 but
the playing of the rich media content is stopped while the advertisement
is being played.
[0086] In the pre-roll case, the advertisement may be rendered before the
portion of rich media content is played. Accordingly, in this case,
either the advertisement or the portion of rich media content is being
rendered at one time. A variation on this case allows the advertisement
to begin playing before the rich content and to continue playing with
(i.e., overlap with) the content after the content starts playing.
Similarly, a portion of post-roll advertising may overlap with the end of
the rich media content.
[0087] In the parallel case, the advertisement may be rendered at
substantially the same time the portion of rich media content is being
played. It should be noted that at any time during the portion of rich
media content being played, the advertisement may be rendered. The
advertisement does not have to be rendered for the entire time the
portion of rich media content is being played. Also, the advertisement
may be rendered at other times when the portion of rich media content is
not being played. For example, the advertisement may continue to be
rendered after the portion of rich media content has finished being
played.
[0088] For the parallel case, the advertisement may be rendered in a
separate portion of display 110. For example, in a different window.
Also, other methods may be contemplated, such as the advertisement is
rendered in a cut out section of a window playing the rich media content,
in a pop up window, overlaid on the rich media content, as audio, etc.
[0089] The advertisement may also be injected into the portion of rich
media content. For example, as the portion of rich media content is being
played, the advertisement may be rendered in the rich media content.
[0090] Rendering formatter 204 may receive user preferences, content
provider preferences, and/or advertiser preferences and use them to
determine how the advertisement should be displayed. Although these
preferences are discussed, it will be understood that any other
preferences may be used.
[0091] User preferences may be any settings that are associated with a
user of user device 104. For example, users may prefer to view
advertisements in certain ways. Also, user preferences may indicate a
type of user device 104. This may cause different rendering preferences
to be used. For example, if the user is using a smaller user device 104,
such as a PDA, then advertisements may be served serially. This is
because a display 110 on the PDA may be too small to display
advertisements in parallel. However, if a user is using a user device
with a larger display, such as a laptop computer, then advertisements may
be served in parallel because the display is larger and may be able to
accommodate displaying both the advertisement and rich media content at
the same time.
[0092] Content provider preferences may be preferences specified by the
content provider. For example, a content owner may only want
advertisements shown in parallel because it does not want its content
interrupted. Some kinds of content may be more effective if the
advertisements are shown in parallel such as movies. However, some
content, such as sporting events, may be better suited for showing
advertisements serially.
[0093] Advertiser preferences are preferences that may be associated with
an advertisement. An advertiser may set these preferences; however, other
entities, such as an owner of engine 102, may also set these preferences.
The advertiser preferences may be optimal ways of rendering the
advertisement, such as positioning of the advertisement relative to the
content, sizing the ad, animating the ad, etc. Any other factors that
affect presentation time or effect upon a viewer can be included in
advertiser preferences and can become part of a payment program or
advertising plan. For example, sponsors that pay more can have their ads
presented multiple times over other sponsors who have not paid as much.
This can work where multiple sponsors desire that their ads be shown
during the same content. Priority can be given to preferred (e.g.,
higher-paying) sponsors so that the preferred sponsor ads are displayed
more often, in place of, or more prominently than non-preferred sponsors.
[0094] Advertising plans can include consideration for the amount of time
that an ad is relevant. Preferred sponsors can have their ads presented
during the longer relevant intervals while non-preferred ads are
allocated to the shorter intervals. If the correlation engine is
sophisticated enough to determine qualities such as "impact" (e.g.,
dramatic or impressionable impact to a viewer) then preferred sponsor ads
can be given priority for the dramatic correlations. A dramatic
correlation can be, for example, a hurricane report or other impending
weather condition correlating with ads for sales of provisions, survival
or safety equipment. Another type of dramatic correlation can be an
announcement that an entertainer is going on tour with a correlation to
an ad for ticket purchases. Many other types of correlations are possible
and they can be ranked and matched to sponsors in various ways to achieve
optimized revenue models for a company operating the advertising server
or acting as a management or sales entity for such a system.
[0095] There may be rules that specify which preferences are used if
preferences conflict. For example, the advertiser preferences may trump
any conflicts with user preferences or content owner preferences. Also,
the preferences may indicate that the advertisement should be moved in
space. For example, if the keyword used is "BMW" but the advertisement is
for a Cadillac, BMW may not a Cadillac advertisement so close to when it
is being mentioned. Thus, the Cadillac ad may be moved away from the rich
media content being played or it may be delayed until a later time when
the rich media content is not being mentioned anymore.
[0096] Once rendering formatter 204 determines rendering preferences, ad
server 206 is configured to serve the advertisement. The advertisement
may be served as a function of time, serially or in parallel or injected,
in terms of presentation vis a vis the rich media content. In serving the
advertisement, ad server 206 sends it to user device 104 for display. The
serving may occur substantially at a time when it should be rendered with
the rich media content. Also, the serving may occur prior to when the
advertisement should be rendered. For example, the advertisement may be
preloaded onto user device 104. User device 104 can then render the
advertisement when it is appropriate according to the rendering
preferences.
[0097] Also, in other embodiments, ad server 206 may serve the
advertisement for storage in user device 104. For example, the
advertisement may be stored and at a later time rendered. In one example,
an icon may be displayed in display 110 and the user can select the icon
causing display of the advertisement.
[0098] FIG. 3A depicts a video example of rendering advertisements
serially according to one embodiment of the present invention. As shown,
advertisement 302 is rendered and video 304 is played in display 110. An
advertisement 302-1 may be shown pre-roll to video 304. In one example,
the video may be talking about a certain kind of car, such as the
newscaster shown is talking about an automobile. In this case, an
advertisement for a company that has purchased the keyword "automobile"
may be shown before video 304. For example, every time the word
automobile is used, an advertisement for a BMW car is shown. After
showing the advertisement, video 304 is shown. The content may continue
until a second advertisement 302-2 is shown.
[0099] Second advertisement 302-2 may be shown post-roll or pre-roll to
either video 304-1 or video 304-2. For example, if advertisement 302-2 is
shown post-roll, then subject matter in a portion of rich media content
304-2 may be correlated to advertisement 302-2. After video 304-1 is
shown, advertisement 302-2 is shown. If advertisement 302-2 is shown
pre-roll, then subject matter in video 304-2 is correlated to
advertisement 302-2. Advertisement 302-2 is shown before video 304-2 in
this case.
[0100] FIG. 3B shows an audio example of rendering advertisements serially
according to embodiments of the present invention. As shown,
advertisement 306-1 may be rendered before audio 308-1 is played. In one
embodiment, advertisements 306-1 may be displayed visually. Also, it will
be recognized that advertisement 306-1 may be an audio advertisement such
that it can match the content that is being played. Also, a combination
of video and audio advertisements 306-1 may be provided. This may be set
by the preferences determined in rendering formatter 204.
[0101] After rendering of advertisements 306-1, audio 308-1 is played. A
second advertisement 306-2 is then played in between audio 308-1 and
audio 308-2. Advertising 306-2 may be correlated to subject matter in
either audio 308-1 or audio 308-2 and played post-roll or pre-roll.
[0102] FIG. 4A depicts a video example of rendering advertisements in
parallel according to embodiments of the present invention. As shown,
advertisements 404 are rendered in parallel to video 402. As the video is
being displayed, advertisements 404 may be rendered. In one embodiment,
advertisements 404 may be displayed along with video 402. In one
embodiment, each advertisement 404-1-404-5 may be a different
advertisement. However, it will be understood that advertisements may
persist across multiple frames of video 402. For example, during the
playing of video 402-1 to 402-3, subject matter may be correlated to an
advertisement. This advertisement may be displayed in advertisements
404-1 to 404-3.
[0103] At another time during the playing of video 402-4 and 402-5, a
different advertisement may be correlated to subject matter in the video.
Thus, a different advertisement is displayed for advertisements 404-4 and
404-5.
[0104] The advertisements displayed may be of a form that does not
interfere with rendering of the video. For example, if the video includes
audio, then a text advertisement may be shown. This does not interfere
with the playing of audio of the video. Also, the advertisement may
include video without sound such that it does not interfere with the
audio of the video.
[0105] FIG. 4B depicts an audio example of rendering advertisements in
parallel according to embodiments of the present invention. As audio 406
is rendered, advertisements 408 are rendered. In one embodiment,
advertisements 408 are rendered in form that does not interfere with the
audio. For example, the advertisements may be rendered as video without
audio or text.
[0106] Advertisements 408 may be associated with subject matter in the
audio for audio 406. As audio is being rendered, advertisements 408 may
be rendered in parallel.
Serving Ads
[0107] FIG. 5 depicts a system 500 for initiating serving of
advertisements according to one embodiment of the present invention. A
content server 504 is used to serve content to user device 104. For
example, content server 504 may receive content from content owners 108
and send it to user device 104.
[0108] In one embodiment, content server 504 may serve a web page to user
device 104 for display in display 110. When the rich media content is
served to user device 104, content server 504 contacts engine 102 to
notify engine 102 that content is being served. In one embodiment,
content server 504 includes software code that enables it to connect with
engine 102. For example, software code may be embedded in a web page.
Also, the code may be integrated in the rich media content being served.
It will be understood that there may not be a need to integrate any code
and it depends on the functions of the content server 504 being used.
[0109] Content server 504 contacts ad server 206 with information needed
by engine 102 to serve advertisements with rich media content. For
example, the information may include an identifier for the content being
served, other content-related data, a time of the content as it is being
played, user interaction data, an IP address of user device 104, any
other routing information, and any other data relating to user device
104, content server 504, etc.
[0110] An identifier for the content being served may be converted into a
content ID that is recognized by ad server 206. With a content ID,
correlation engine 202 can then determine advertisements to correlate to
the rich media content. For example, different advertisements may be
correlated to content associated with the content ID previously. The
correlating may have been performed when a content provider uploaded the
content to engine 102. The advertisements that are correlated to the rich
media content are then stored with the content ID. In other embodiments,
the correlation may be performed dynamically as content is being
displayed at user device 104.
[0111] A user information determiner 508 may be used to determine
information about the user. As discussed above, the user information may
be any information associated with the user and may be used to correlate
advertisements to the content. In one embodiment, user information
determiner 508 may interact with user device 104 to determine the user
information. For example, user device 104 may send a cookie to
information determiner 508.
[0112] A geo-location server 502 may be used to determine any location
information that might be useful in serving advertisements. For example,
an IP address may be converted into a physical geographical location of
the user for user device 104. This may be used to serve advertisements in
a more relevant fashion, such as different ads are served based on the
location, different languages are used, etc.
[0113] Correlation engine 202 may use any of the above information to
perform the correlation. Once the advertisements are determined by
correlation engine 202, rendering formatter 204 determines how to render
the content. Preferences described above may be used to determine how to
render the content and advertisement.
[0114] Ad server 206 may then use the geographic location or IP address to
serve the advertisement to user device 104.
[0115] In one example, if BMW has purchased/associated a keyword
"automobile" for their advertisement, and rich media content includes the
keyword "automobile" as it is rendered, the BMW ad may be served. It may
be served and rendered in parallel, near, around, in, or on the rich
media content as the keyword "automobile" is being spoken. In another
example, the BMW ad may be rendered serially before and after the keyword
"automobile" is played.
[0116] In another example, audio ads may be serially matched with pod
casts (audio programs from the Internet) where the advertisements are
placed in front, in the middle, or after the audio content. In addition,
text or video ads may be displayed in parallel with the audio.
[0117] A user can interact with the advertisements served. For example,
the user may launch events from user device 104. In one embodiment, a
user may select the advertisement and launch another window with a
website of the advertiser's choosing. In this example, when a user
interacts with the advertisement, software code embedded (if there is
any) in the advertisement sends relevant data to ad server 206. Ad server
206 can then contact a billing and click-through server and update
billing data to recognize that the advertisement has been selected. The
data relating to the user interaction with the advertisements may be fed
back to correlation engine 202 to further optimize matching of
advertisements with rich media content.
[0118] Other features may also be provided as a user interacts with the
advertisements served. FIG. 6 shows an example interface 600 according to
one embodiment. Rich media content may be displayed in media player 602.
Also, an advertisement is being rendered in section 604.
[0119] The advertisement may be a video and/or an image of an
advertisement. A user may also trigger actions by interacting with
interface 600. For example, the rich media content may be played in
player 602. An image of the advertisement is shown in section 604 (in
other examples, a video may be playing without sound). The advertisement,
however, may also be a video advertisement. Because playing two videos at
once may be confusing to the user, a trigger is used to determine when to
play the advertisement and/or rich media content. For example, a
mouse-over feature is provided. When a mouse is moved over advertisement
604, the advertisement may start playing and the rich media content is
stopped. This allows the user to choose when to play the advertisement or
rich media content. If the user is interested in an advertisement that is
shown, the user can choose to view the advertisement. When the user is
finished (e.g., the mouse is moved away from section 604) or the
advertisement is finished playing, the rich media content may begin
playing again. Other ways of triggering playing of the advertisement may
also be appreciated, such as the selection on a touchscreen, input of a
shortcut key, double or single selection of window 604, etc.
[0120] The advertisement may also include widgets 606 and 608 that allow
additional features to be invoked. For example, widgets 606 and 608
provide additional information for the advertisement. The additional
information may be provided while the rich media content is playing. This
feature may allow the user to view more information about the
advertisement without interrupting the rich media content. Also, the rich
media content may be paused.
[0121] Widget 604, when triggered, may show additional information in a
pop-up window 610. For example, a user may move the mouse pointer over
widget 606, which then displays the pop up window 610. In this case, more
information is shown for the advertisement. If the user moved the mouse
over widget 608, a window may pop up allowing the user to get more
information. For example, the user may be able to enter an email address
where more information about the advertisement can be sent. Other ways of
triggering widgets 606 and 608 may also be appreciated, such as the
selection on a touchscreen, input of a shortcut key, the double or single
selection of widgets 606 and 608, etc.
[0122] Other interactive features may also be provided. For example,
coupons and maps may be provided. Coupons for the advertisement may be
displayed with the advertisement. A user may select the coupon and be
sent to a web page that allow redemption. Also, selecting the coupon may
send the user the coupon at a user's email address, etc. Including a
coupon provides incentive for a user to either view the ad or actually
take action to purchase a product shown in the ad.
[0123] Also, a map may also be included. The map may show local businesses
that are selling products depicted in the advertisement. Also, links to
the local businesses may be provided. If user's select the links, fees
may be charged to the local businesses by an owner of system 100. The
maps show an easy way for a user to purchase the product in the ad.
[0124] Further, other services may be provided. For example, a link to buy
tickets for movies may be provided when a movie is being watched.
[0125] Although the invention has been described with respect to specific
embodiments thereof, these embodiments are merely illustrative, and not
restrictive of the invention. For example, ads can be presented in
various types of association with rich media content. If a first device
is used to present the rich media content, a separate second device can
be used to display the rich media content.
[0126] Any suitable programming language can be used to implement the
routines of embodiments of the present invention including C, C++, Java,
assembly language, etc. Different programming techniques can be employed
such as procedural or object oriented. The routines can execute on a
single processing device or multiple processors. Although the steps,
operations, or computations may be presented in a specific order, this
order may be changed in different embodiments. In some embodiments,
multiple steps shown as sequential in this specification can be performed
at the same time. The sequence of operations described herein can be
interrupted, suspended, or otherwise controlled by another process, such
as an operating system, kernel, etc. The routines can operate in an
operating system environment or as stand-alone routines occupying all, or
a substantial part, of the system processing. Functions can be performed
in hardware, software, or a combination of both. Unless otherwise stated,
functions may also be performed manually, in whole or in part.
[0127] In the description herein, numerous specific details are provided,
such as examples of components and/or methods, to provide a thorough
understanding of embodiments of the present invention. One skilled in the
relevant art will recognize, however, that an embodiment of the invention
can be practiced without one or more of the specific details, or with
other apparatus, systems, assemblies, methods, components, materials,
parts, and/or the like. In other instances, well-known structures,
materials, or operations are not specifically shown or described in
detail to avoid obscuring aspects of embodiments of the present
invention.
[0128] A "computer-readable medium" for purposes of embodiments of the
present invention may be any medium that can contain, store, communicate,
propagate, or transport the program for use by or in connection with the
instruction execution system, apparatus, system or device. The computer
readable medium can be, by way of example only but not by limitation, an
electronic, magnetic, optical, electromagnetic, infrared, or
semiconductor system, apparatus, system, device, propagation medium, or
computer memory.
[0129] Embodiments of the present invention can be implemented in the form
of control logic in software or hardware or a combination of both. The
control logic may be stored in an information storage medium, such as a
computer-readable medium, as a plurality of instructions adapted to
direct an information processing device to perform a set of steps
disclosed in embodiments of the present invention. Based on the
disclosure and teachings provided herein, a person of ordinary skill in
the art will appreciate other ways and/or methods to implement the
present invention.
[0130] A "processor" or "process" includes any human, hardware and/or
software system, mechanism or component that processes data, signals or
other information. A processor can include a system with a
general-purpose central processing unit, multiple processing units,
dedicated circuitry for achieving functionality, or other systems.
Processing need not be limited to a geographic location, or have temporal
limitations. For example, a processor can perform its functions in "real
time," "offline," in a "batch mode," etc. Portions of processing can be
performed at different times and at different locations, by different (or
the same) processing systems.
[0131] Reference throughout this specification to "one embodiment", "an
embodiment", or "a specific embodiment" means that a particular feature,
structure, or characteristic described in connection with the embodiment
is included in at least one embodiment of the present invention and not
necessarily in all embodiments. Thus, respective appearances of the
phrases "in one embodiment", "in an embodiment", or "in a specific
embodiment" in various places throughout this specification are not
necessarily referring to the same embodiment. Furthermore, the particular
features, structures, or characteristics of any specific embodiment of
the present invention may be combined in any suitable manner with one or
more other embodiments. It is to be understood that other variations and
modifications of the embodiments of the present invention described and
illustrated herein are possible in light of the teachings herein and are
to be considered as part of the spirit and scope of the present
invention.
[0132] Embodiments of the invention may be implemented by using a
programmed general purpose digital computer, by using application
specific integrated circuits, programmable logic devices, field
programmable gate arrays, optical, chemical, biological, quantum or
nanoengineered systems, components and mechanisms may be used. In
general, the functions of embodiments of the present invention can be
achieved by any means as is known in the art. Distributed, or networked
systems, components and circuits can be used. Communication, or transfer,
of data may be wired, wireless, or by any other means.
[0133] It will also be appreciated that one or more of the elements
depicted in the drawings/figures can also be implemented in a more
separated or integrated manner, or even removed or rendered as inoperable
in certain cases, as is useful in accordance with a particular
application. It is also within the spirit and scope of the present
invention to implement a program or code that can be stored in a
machine-readable medium to permit a computer to perform any of the
methods described above.
[0134] Additionally, any signal arrows in the drawings/Figures should be
considered only as exemplary, and not limiting, unless otherwise
specifically noted. Furthermore, the term "or" as used herein is
generally intended to mean "and/or" unless otherwise indicated.
Combinations of components or steps will also be considered as being
noted, where terminology is foreseen as rendering the ability to separate
or combine is unclear.
[0135] As used in the description herein and throughout the claims that
follow, "a", "an" and "the" includes plural references unless the context
clearly dictates otherwise. Also, as used in the description herein and
throughout the claims that follow, the meaning of "in" includes "in" and
"on" unless the context clearly dictates otherwise.
[0136] The foregoing description of illustrated embodiments of the present
invention, including what is described in the Abstract, is not intended
to be exhaustive or to limit the invention to the precise forms disclosed
herein. While specific embodiments of, and examples for, the invention
are described herein for illustrative purposes only, various equivalent
modifications are possible within the spirit and scope of the present
invention, as those skilled in the relevant art will recognize and
appreciate. As indicated, these modifications may be made to the present
invention in light of the foregoing description of illustrated
embodiments of the present invention and are to be included within the
spirit and scope of the present invention.
[0137] Thus, while the present invention has been described herein with
reference to particular embodiments thereof, a latitude of modification,
various changes and substitutions are intended in the foregoing
disclosures, and it will be appreciated that in some instances some
features of embodiments of the invention will be employed without a
corresponding use of other features without departing from the scope and
spirit of the invention as set forth. Therefore, many modifications may
be made to adapt a particular situation or material to the essential
scope and spirit of the present invention. It is intended that the
invention not be limited to the particular terms used in following claims
and/or to the particular embodiment disclosed as the best mode
contemplated for carrying out this invention, but that the invention will
include any and all embodiments and equivalents falling within the scope
of the appended claims.
* * * * *