APPARATUS AND METHOD FOR CONTINUOUS VIDEO ADVERTISING
An advertising system is described. An advertising system includes a storage module to store video advertising content. The advertising system also includes a server coupled with the storage module. The server to deliver a continuous feed of video advertising content to an interactive device and to adapt the video advertising content responsive to input received from the interactive device.
This application is a continuation of U.S. application Ser. No. 11/939,369, filed Nov. 13, 2007 which application is incorporated by reference herein in its entirety.
FIELDEmbodiments of the invention relate to video advertising. In particular, embodiments of the invention relate to the continuous broadcast of video advertising.
BACKGROUNDCurrent advertising models intersperse advertisements between content such as news, sitcoms, text displays, and other programming. For this type of advertising model to be successful, the advertiser must anticipate a viewer's preferences based on surveys indicating the general preferences of the demographic that usually watches the type of content that the advertisement is interspersed around. The typical viewer under this model of advertising has an interest in the content the advertisement is associated with and not necessarily the advertisement. Therefore, the advertiser must expend a great deal of effort and cost to anticipate the viewer's interests and needs to ensure the viewer responds to the advertisement.
Another problem with current advertising models is the lack of interaction with a consumer at the time the advertising is viewed. Such lack of interaction makes gauging the interest level of a viewer of an advertisement difficult. Moreover, any interest in the products or services advertised to the viewer cannot be used to advertise other related products or services to the viewer. Furthermore, the viewer has no way of seeking out products or service areas that the viewer might be interested in learning more about.
SUMMARYAn advertising system is described. An advertising system includes a storage module to store video advertising content. The advertising system also includes a server coupled with the storage module. The server to deliver a continuous feed of video advertising content to an interactive device and to adapt the video advertising content responsive to input received from the interactive device.
Other features and advantages of embodiments of the present invention will be apparent from the accompanying drawings and from the detailed description that follows.
Embodiments of the present invention are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
Embodiments of an advertising system are described that provide continuous advertising content to a viewer. In particular, an advertising system is described that includes a server to deliver a continuous feed of advertising content to an interactive viewer. Such an advertising system provides a more effective way of soliciting for business, since a user may interact with the advertising system to communicate interests. The knowledge of a user's interest provides an advertiser the ability to deliver more focused advertising. Moreover, embodiments of the advertising system provide the ability for a user to select advertising content based on topics, further increasing the effectiveness of targeting the interests of a particular user. Furthermore, the interactive nature of the advertising system provides the ability for a user to respond immediately to the advertising. This increases the likelihood that a user will seek out services or products that the advertising content is promoting.
Interactive devices 110 may be any hardware device, software device, software module running on a device, or any combination thereof for viewing advertisements from server 100. Examples of interactive devices 110 include but are not limited to computers, cell phones, wireless handheld devices, monitors and televisions with set top boxes, software viewers, web browsers or any device or software that provides a way to display advertising content and provides a way to send input to an advertising system.
As illustrated in
For an embodiment, scheduler module 220 is coupled with storage module 215. The scheduler module 220 creates a play list of advertising content for delivering to an interactive device 110. Factors used to create a play list include, but are not limited to, availability of advertising content, opportunity cost, demand, market forces, type of content, advertiser input, and preferences of a user. The scheduling module 220 may also create a plurality of play lists organized into channels for a user to select. Moreover, a play list may be created to individualize content for particular countries, regions, or localities.
For some embodiments, a scheduler module 220 selects a group of advertising content that has been uploaded to a storage module 215 based on a type of advertising content, country, and/or region the advertising content is to be shown. Scheduler module 220 may then arrange advertising content into a play list by assigning advertising content to time slots. The assignment of advertising content may be based on a time slot preference request by an advertiser. If the same time slot has been requested for more than one advertising content, the scheduler may use any of the factors listed above to determine which advertising content is assigned to the time slot. For an embodiment, scheduler 220 may use opportunity cost to determine which advertising content to assign to the time slot. The advertising content that was not assigned would then be assigned to an available time slot nearest to the one originally requested. Alternatively, scheduling module 220 may select a group of advertising content from storage module 215 and assign advertising content randomly to time slots in a play list.
For an embodiment, a play list dynamically created by scheduler module 220. For example, a play list may be created dynamically responsive to an input from an interactive device 110. Such an input from an interactive device 110 may include a request for a specific advertising topic, a call for action request, or a change of the country, region, or locality of an interactive device is changed. A play list may include any amount of advertising content. For an embodiment, a play list includes enough advertising content to run continuously for an entire day, week, or month. Alternatively, a play list may be created to run continuously for a certain period of a time, such as an hour or more during a day. For some embodiments, a play list is created in full before any advertising content is delivered to an interactive device 110. Other embodiments include creating a play list in sections. For example, for a play list that plays continuously for a day, the play list may be created in one hour sections.
For an embodiment, a play list may be a list of time slots that include a content identification number for the advertising content assigned to each time slot. The time slot may also include the start time and end time for the advertising content. Alternatively, a play list may include a list of location references pointing to advertising content in the order the advertising content is to be played. Location references may include any alphanumeric combination, a reference to a storage location, an Internet protocol address, a uniform resource locator (URL), or any combination thereof. For an embodiment, this play list may then be delivered to an interactive device 110. An interactive device 110 may then request advertising content from server 100 in the order set out in the play list. For an embodiment, the request for content may be a hypertext transfer protocol request (HTTP).
For some embodiments, an interactive device 110 may receive all the time slots for a play list. Alternatively, an interactive device 110 may receive a portion of time slots for a play list. For example, interactive device 110 may send server 100 the local time and a channel number. Server 110 may then send interactive device 110 a portion of a play list appropriate for the local time of the interactive device 110 for the channel number requested.
An embodiment shown in
Alternatively, video advertising content may be delivered by delivery module 225 one video at a time to an interactive device 110 for storing in memory or a cache until the time the video advertising content is to be played. An embodiment of delivery module 225 may use media servers capable of delivering multiple formats of video advertising content interchangeably to deliver advertising content to an interactive device 110. Examples of media server formats include Adobe Flash Media Server, Wowza Media Server, Real Media Server, and Microsoft Windows Media Server.
Furthermore, an embodiment of a delivery module 225 may deliver advertising content simultaneously. For example, two or more interactive devices 110 may be connected to server 100 and view the same or different channels. Delivery module 225 can deliver the different channels to the interactive devices 110 simultaneously. Another example includes a delivery module 225 delivering advertising content simultaneously to a single interactive device 110. Such an example includes an interactive device 110 that is capable of displaying multiple forms or channels of advertising content at the same time. For example, an interactive device 110 may have multiple instances of a viewer to display advertising content. For an embodiment, one graphic user interface running on an interactive device 110 may include one or more viewers for advertising content. For such an example, interactive device 110 may request advertising content for both viewers. For an embodiment, each viewer may be assigned to a distinct port number so that an interactive device may request a play list for the first viewer on one port and a play list for the second viewer on another port. The interactive device 110 may then request advertising content for multiple viewers at a time.
An embodiment of a delivery module 225 delivers advertising content to a plurality of interactive devices 110 and/or a plurality of viewers simultaneously by multiplexing streams of advertising content together. For example, delivery module 225 may use statistical multiplexing so that streams of advertising content are delivered over a communication channel that is divided into an arbitrary number of variable bit-rate channels or data streams. Each stream may be associated to an interactive device 110 and/or a viewer using a unique identifier, such as any alphanumeric combination, a port number, an Internet protocol address, a medium access control (MAC) address, or any combination thereof
Post processor module 325 performs processing of advertising content uploaded to content upload module 305. For example, post processor module 325 may convert several formats of image media, video media, and audio media into a format supported by an embodiment of the advertising system. Supported formats may include Joint Picture Experts Group (JPEG) formats, Moving Picture Experts Group (MPEG) formats, Windows Media Audio (WMA), H.263, Audio Video Interleave (avi) formats, Tagged Image File Format (TIFF), Graphics Interchange Format (GIF), Flash Video formats, RealAudio formats, or any other media formats. For an embodiment, the post processor module 325 converts video formats received from content upload module 305 into a Flash Video format. The post processor module 325, for an embodiment, adds water marks to advertising content uploaded.
Post processor module 325 is also coupled with a call for action inputs module 310 of the advertising interface for the
For some embodiments, a call for action includes a variable coupon. A variable coupon may provide varying incentives or discounts to a user or a group of users for a related advertising content. For example, a variable coupon may display a 10% discount to most users, but the twentieth user may receive a 20% discount, the fiftieth user may receive a 50% discount, and the hundredth user may receive a 75% discount. Such a variable coupon could be used to give an incentive for a user to act immediately to the advertising content because the next viewing of the advertising content might not offer the same discount.
For some embodiments, a variable coupon may be assigned to advertising content by an advertiser when advertising content is uploaded to an advertiser interface module 300. For such an embodiment, the advertiser may define when a variable coupon will display the various discounts to a user or a group of users. For other embodiments, a scheduler module 220 may determine the value of a variable coupon displayed to a user. A scheduler module 220, for some embodiments, may assign a discount value to a variable coupon based on a target profile or other heuristics. For example, a user may provide occupation, age, interests, and/or other information to match against a target profile. When information of a user matches the target profile, that user may receive a variable coupon with a different discount then a user who does not match the target profile.
Furthermore, a scheduler module 220 may use information gathered through a user's interaction with an advertising system to assign promotional material to advertising control for a specific user or assign a value to a variable coupon for a specific user. For example, an embodiment of an advertising system may track user view heuristics such as the type of advertising content a user requests, the type of advertising content a user responds to a call for action, textual tags a user selects, context tags a user selects, and/or other interactions with an advertising system. For an embodiment, a scheduler module 220 may assign a value to a variable coupon associated with advertising content for a user based on any information gathered on that user. Similarly, scheduler module 220 may associate promotional information to advertising content to be viewed by a user based on any information gathered on that user.
The post processor module 325 for an embodiment associates call for action received from the call for action inputs module 310 with the advertising content received from the content upload module 305. Once the post processor module 325 performs the processing on the advertising content and associates the call for action inputs with the advertising content, the appropriate files are transferred to storage module 215. These files are then delivered to one or more interactive devices 110. For an embodiment, scheduler module 220 associates the appropriate files with one or more play lists. The play lists are then used by delivery module 225 to determine when to deliver advertising content to an interactive device 110.
Advertising interface of a
The advertising module 300 also includes a payment module 320. For an embodiment, the payment module calculates fees and provides a way for an advertiser to pay for fees associated with uploading advertising content. For an embodiment, payment module 320 accepts credit card information and processes the credit card information. In addition, some embodiments include a payment module 320 that maintains an account of transactions to be billed to an advertiser periodically. Other payment methods used by payment module 320 may include electronic check, a prepaid account that is debited for transactions, or interfacing with a third party that provides accounting and billing services.
The auction engine module 330 provides a way for an advertiser to bid for a time slot for an advertisement to play on an embodiment of the advertising system. To accomplish the bidding functionality, auction engine module 330 receives the time slot request information from the slot request module 315 and payment information from payment module 320. This information is used to evaluate bids to determine which advertiser gets a particular time slot. For an embodiment, advertisers bidding on time slots would be asked for one or more alternate time slots. Therefore, if the advertiser's bid is rejected, an alternate time slot may be allocated. The auction engine module 330 then provides the information of which advertiser has successfully bid for a given time slot to scheduler module 220. The scheduler module 220 then uses this information to create a play list.
For an embodiment, the edge server bank 410 may contain a plurality of servers that interface with a broadcast medium interface 415 and a media server bank 405. Embodiments of an edge server bank 410 act as a proxy between media server bank 405 and one or more interactive devices 110. Edge server bank 410 may receive a request from an interactive device 110 and forward such a request to an appropriate media server bank 405 or server 100. Moreover, edge server bank 410 may convert requests into a proper format for media server bank 405 and/or server 100 to reduce processor demands of media server bank 405 and/or server 100. Similarly, edge server bank 410 may convert transmissions from media server bank 405 and/or server 100 into a proper format for sending through broadcast medium interface 415 to an interactive device 110. An embodiment of edge server bank 410 may also perform encryption and/or authentication of information sent to and from interactive device 110.
An embodiment shown in
For an embodiment, auxiliary storage module 417 is coupled with storage module 215, scheduler module 220, and media server bank 405. Auxiliary storage module 417, similar to storage module 215, may be used to store any advertising content. Scheduler module 220 may use the advertising content in both auxiliary storage module 417 and storage module 215 to build play lists. One or several play lists may be delivered to media server bank 405. Media server bank 405, for an embodiment, accesses advertising content from storage module 215 and/or auxiliary storage module 417 to deliver advertising content according to play lists created by scheduler module 220. An alternative embodiment includes a scheduler module 220 that creates play lists and delivers or has delivered advertising content from storage module 215 and/or auxiliary storage module 417 to delivery module 225.
GUI 500 may also include a country/region/locality area that allows a user to select an appropriate country/region/locality in which the user is located or interested. Selecting the country/region/locality will allow an embodiment of the advertising system to provide advertising content relevant to that country/region/locality. Viewing area 507 provides an area to display advertising content. For an embodiment, viewing area 507 displays advertising content determined by a play list. An embodiment includes a viewing area 507 that includes a video player to play video advertising content.
GUI 500, as illustrated in
An embodiment shown in
An embodiment may include a GUI 500 that includes a search area 525. Search area 525 provides a user a way to search advertising content. For example, an embodiment provides searching to locate advertising content based on textual tags. Such textual tags include, but are not limited to, name of a video, description, brand, model, company, country, region, locality, or address. GUI 500 may also include a favorite advertisement area 530 for displaying links to advertising content that users assigned high ratings. Another area includes a popular advertisement area 535 to display links to advertising content that are the most viewed. To play a video on demand, a user may select a link to any video on the GUI 500. Furthermore, an embodiment includes a channel advertisement area 540 that displays up and coming advertising content for a channel currently viewed by a user.
The GUI 500 of the
For an embodiment, a user may create a sub-channel based on the user's interests. A sub-channel may be made from advertising content drawn from a mix of user selected channels.
As discussed above, textual tags may be used by a user to search for advertising content.
Another embodiment includes using automatic recognition to add textual tags to advertising content. For an embodiment, algorithms may be used to recognize patterns or shapes within advertising content and associate textual tags to the advertising content based on these certain patterns or shapes. For example, an algorithm or set of algorithms may recognize the pattern or shape of a house or building in advertising content and associate textual tags for vacation rentals, time share properties, luxury homes, paint, wood working tools, hardware supplies, dating, party supplies, or other relevant topics with the house or building. Similarly, an algorithm or set of algorithms may recognize water and associate textual tags for beach resorts, vacation homes, vacations, cruises, jet skiing, snorkeling, sun tan lotion, tropical drinks or other relevant topics to the region containing water in the advertisement.
For an embodiment, a user can interact with video advertising content having context tags, such as video advertising content displayed in viewing area 507 of a GUI 500. The user may interact with video advertising content by placing a cursor or pointer on a section of the video advertising content. Once the cursor is present in a section of the video advertising content for a predetermined amount of time for an embodiment, the context tags associated with that section of the video advertising content appear and the user can choose any one of the context tags associated with that region of the video advertising content.
For an embodiment, the window may be a pop-up window containing a list of context tags that are selectable. For another embodiment the context tags may appear in a region of GUI 500 for a user to select. For some embodiments the context tags appear in a window or region after the cursor has been in a section of the video advertising content for one second or greater. Other embodiments display a list of context tags when a cursor has been in a region of the video advertising content less than one second. When the user selects a context tag, a subset of video advertisement content that have similar context tags are retrieved and shown as a separate sub-channel. The sub-channel would be created by a scheduler module 220, as discussed above, for video advertising content associated with the selected context tag. Alternatively, selecting a context tag may initiate a call for action.
For an embodiment, a set of context tags shown to a user may be adaptive based on a user's preferences or usage of the advertising system. For example, context tags may be selected for a user based on the advertisement viewing history of a user. One such embodiment includes maintaining a record of the channels viewed by a user, the call for actions selected by a user, and/or previous context tags selected. Thus, the advertising system may use this user specific information to assign context tags to sections of video advertising content that will be viewed by that user. For an embodiment, the viewing history of a user is stored on a user's viewing device. Alternatively, the viewing history of a user is stored in a storage module of an embodiment of the advertising system. An embodiment includes having contextual tagging and display of the context tags in video advertising content as a user preference that is opted-in by a user.
An embodiment of an advertising system uses Flash Video formats to attach context tags to video frames using cue points embedded in the video frames. Thus, a Flash Video player may be used in GUI 500 in the viewer area 507 so that the cue point data embedded in the video frame will retrieve any context tags associated with a region of a video frame that is selected by a user. An embodiment including context tags may alter captions, search keywords, call for actions, or other aspects of GUI 500 responsive to a context tag being selected.
If at block 1005, the advertiser is not a new advertiser, the advertiser logs in to the advertising system by entering a user name and a password as represented by block 1030. If at block 1035 the advertising system fails to authenticate the advertiser, the flow moves back to 1030 to request a user name and a password. Once an advertiser's user name and password are authenticated, the flow moves to block 1040 where the advertiser's account information is retrieved. Then the flow moves to block 1025, where an advertiser may now upload advertising content to the advertising system.
If the requested time slot is not available at block 1115, then the process moves to block 1140. At block 1140, an advertiser may bid for a requested time slot entered at block 1110. Once the time for bidding has ended, the process moves to block 1145 where an embodiment of the advertising system will determine if the advertiser is the highest bidder. If the advertiser is the highest bidder, the process moves to block 1125 and continues as described above. Alternatively, if the advertiser is not the highest bidder, the process moves back to block 1110 to request another time slot for the uploaded advertisement.
For an embodiment, whether a time slot is allotted to an advertiser may also depend on loyalty points. Loyalty points may be assigned to an advertiser to reward an advertiser for continuing to advertise on an embodiment of the advertising system. For example, loyalty points may be awarded based on the amount of fees collected from an advertiser or based on the number of advertisements uploaded to an embodiment of an advertising system.
Once converted, the process moves to block 1220 where the advertising system determines a schedule for the advertising content. At block 1225, a play list is created for a channel including the advertising content and the advertising content is broadcast to interactive devices 110 at block 1230. If at block 1210, the adverting content does not need to be converted the process moves to block 1220 and proceeds as described above.
In the foregoing specification, specific exemplary embodiments of the invention have been described. It will, however, be evident that various modifications and changes may be made thereto. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Claims
1. A computer-implemented method comprising:
- on a server system including one or more processors and memory for storing one or more programs to be executed by the one or more processors:
- storing at least a first video clip including a plurality of video frames, wherein: at least one video frame of the first video clip is divided into a plurality of context regions, each respective context region of the at least one video frame corresponding to a different graphical area within the at least one video frame; and at least one context region is associated with one or more selectable context tags; and
- detecting, from a respective user, a selection of the at least one context region;
- in response to detecting the selection of the at least one context region, causing the one or more selectable context tags associated with the at least one context region to be displayed on a display device associated with the respective user;
- detecting, from the respective user, a selection of a particular context tag of the one or more selectable context tags;
- in response to detecting the selection of the particular context tag, retrieving at least one additional video clip that is contextually relevant to the selected context tag; and
- causing the at least one additional video clip to be delivered to said interactive device.
2. The computer-implemented method of claim 1, wherein the one or more selectable context tags are each contextually relevant to video content to be displayed in a graphical area of the at least one video frame that corresponds to the graphical area to which the at least one context region corresponds.
3. The computer-implemented method of claim 1, further comprising causing the one or more selectable context tags to be displayed in a pop-up window of a graphical user interface on the display device.
4. The computer-implemented method of claim 1, further comprising, prior to retrieving the at least one additional video clip, retrieving a playlist including a plurality of additional video clips, the plurality of additional video clips including the at least one additional video clip.
5. The computer-implemented method of claim 4, wherein each video clip of the plurality of video clips is contextually relevant to the selected context tag.
6. The computer-implemented method of claim 5, further comprising creating the playlist.
7. The computer-implemented method of claim 1, wherein detecting the selection of the at least one context region includes detecting a presence of a cursor in the at least one context region for a predetermined amount of time.
8. The computer-implemented method of claim 7, wherein detecting the selection of the at least one context region includes detecting the presence of the cursor in the at least one context region for at least one second.
9. The computer-implemented method of claim 1, wherein:
- for a first user, the one or more selectable context tags include a first set of selectable context tags; and
- for a second user different from the first user, the one or more selectable context tags include a second set of selectable context tags different from the first set of selectable context tags.
10. The computer-implemented method of claim 9, wherein:
- the first set of selectable context tags is selected based on user preferences and/or usage history of the first user; and
- the second set of selectable context tags is selected based on user preferences and/or usage history of the second user.
11. A server computer system, comprising:
- one or more processors;
- memory; and
- one or more programs stored in the memory, the one or more programs including instructions, which, when executed by the one or more processors, cause the server computer system to: store at least a first video clip including a plurality of video frames, wherein: at least one video frame of the first video clip is divided into a plurality of context regions, each respective context region of the at least one video frame corresponding to a different graphical area within the at least one video frame; and at least one context region is associated with one or more selectable context tags; and detect, from a respective user, a selection of the at least one context region; in response to detecting the selection of the at least one context region, cause the one or more selectable context tags associated with the at least one context region to be displayed on a display device associated with the respective user; detect, from the respective user, a selection of a particular context tag of the one or more selectable context tags; in response to detecting the selection of the particular context tag, retrieve at least one additional video clip that is contextually relevant to the selected context tag; and cause the at least one additional video clip to be delivered to said interactive device.
12. The server computer system of claim 11, wherein the one or more selectable context tags are each contextually relevant to video content to be displayed in a graphical area of the at least one video frame that corresponds to the graphical area to which the at least one context region corresponds.
13. The server computer system of claim 11, further comprising instructions, which, when executed by the one or more processors, cause the server computer system to cause the one or more selectable context tags to be displayed in a pop-up window of a graphical user interface on the display device.
14. The server computer system of claim 11, further comprising instructions, which, when executed by the one or more processors, cause the server computer system to, prior to retrieving the at least one additional video clip, retrieve a playlist including a plurality of additional video clips, the plurality of additional video clips including the at least one additional video clip.
15. The server computer system of claim 14, wherein each video clip of the plurality of video clips is contextually relevant to the selected context tag.
16. The server computer system of claim 15, further comprising instructions, which, when executed by the one or more processors, cause the server computer system to create the playlist.
17. The server computer system of claim 11, wherein detecting the selection of the at least one context region includes detecting a presence of a cursor in the at least one context region for a predetermined amount of time.
18. The server computer system of claim 11, wherein:
- for a first user, the one or more selectable context tags include a first set of selectable context tags; and
- for a second user different from the first user, the one or more selectable context tags include a second set of selectable context tags different from the first set of selectable context tags.
19. The server computer system of claim 18, wherein:
- the first set of selectable context tags is selected based on user preferences and/or usage history of the first user; and
- the second set of selectable context tags is selected based on user preferences and/or usage history of the second user.
20. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by an electronic device, cause the device to:
- store at least a first video clip including a plurality of video frames, wherein: at least one video frame of the first video clip is divided into a plurality of context regions, each respective context region of the at least one video frame corresponding to a different graphical area within the at least one video frame; and at least one context region is associated with one or more selectable context tags; and
- detect, from a respective user, a selection of the at least one context region;
- in response to detecting the selection of the at least one context region, cause the one or more selectable context tags associated with the at least one context region to be displayed on a display device associated with the respective user;
- detect, from the respective user, a selection of a particular context tag of the one or more selectable context tags;
- in response to detecting the selection of the particular context tag, retrieve at least one additional video clip that is contextually relevant to the selected context tag; and
- cause the at least one additional video clip to be delivered to said interactive device.
Type: Application
Filed: Oct 14, 2014
Publication Date: Jan 29, 2015
Inventors: Ravi Kulasekaran (Saratoga, CA), Bala Chander (Saratoga, CA)
Application Number: 14/514,165
International Classification: H04N 21/234 (20060101); H04H 60/32 (20060101); H04N 21/231 (20060101); H04N 21/24 (20060101); H04N 21/458 (20060101); H04N 21/218 (20060101); H04H 60/06 (20060101); H04N 21/81 (20060101);