Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CONTEXT-AWARE VIDEO PLATFORM SYSTEMS AND METHODS
Document Type and Number:
WIPO Patent Application WO/2013/173783
Kind Code:
A1
Abstract:
A video-platform server may obtain and provide context-specific metadata to remote playback devices, including identifying advertising campaigns and/or games that match one or more assets (e.g., actors, locations, articles of clothing, business establishments, or the like) that are depicted in or otherwise associated with a given video segment.

Inventors:
JACOBSON JOEL (US)
SMITH PHILIP (US)
AUSTIN PHIL (US)
VAIYAPURI SENTHIL (US)
KILARU SATISH (US)
Application Number:
PCT/US2013/041693
Publication Date:
November 21, 2013
Filing Date:
May 17, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
REALNETWORKS INC (US)
International Classes:
H04N21/43; H04N21/23
Foreign References:
US20110179445A12011-07-21
US20110251896A12011-10-13
US20080120646A12008-05-22
US20110307332A12011-12-15
US20090024554A12009-01-22
Attorney, Agent or Firm:
PHILIPP, Adam, L.K. (1218 3rd Avenue Suite 210, Seattle WA, US)
Download PDF:
Claims:
CLAIMS

Claim 1. A video-platform-server-implemented method for serving video-context-aware advertising metadata, the method comprising:

obtaining, by the video-platform server, asset time-line data comprising a plurality of asset identifiers corresponding respectively to a plurality of assets, namely persons, products, and/or places that are depicted during or otherwise associated with a video segment, said asset time-line data further specifying for each asset of said plurality of assets, at least one time range during which each asset is depicted or associated with said video segment;

storing, by the video-platform server, said asset time-line data in a data store;

receiving, by the video-platform server, a request from a remote playback device for contextual metadata associated with said video segment;

in response to receiving said request, retrieving, by the video-platform server, said asset time-line data from said data store;

providing, by the video-platform server, said asset time-line data to said remote playback device;

identifying, by the video-platform server according to said asset time-line data, said plurality of assets that are depicted during or otherwise associated with said video segment;

identifying, by the video-platform server from among a plurality of advertising campaign specifications, an advertising campaign specification specifying an advertising campaign associated with said video segment, said advertising campaign comprising one or more campaign video-matching criteria, one or more campaign asset-matching criteria, and promotional data;

determining, by the video-platform server, whether any of said plurality of assets satisfy at least one of said one or more campaign asset-matching criteria; and

when a matching asset is determined to satisfy at least one of said one or more campaign asset-matching criteria, providing, by the video-platform server, said

promotional data to said remote playback device. Claim 2. The method of Claim 1, wherein obtaining said asset time-line data comprises: determining a plurality of likely assets that are likely to be depicted during or otherwise associated with said video segment;

providing a user interface by which a remote operator can view said video segment and create and edit tags associating some of all of said plurality of likely assets with indicated spatial and temporal portions of said video segment; and

receiving said asset time-line data from said remote operator via said user interface.

Claim 3. The method of Claim 1, further comprising identifying, from among a plurality of asset-identification game specifications, an asset-identification game specification specifying an asset-identification game associated with said video segment, said asset- identification game specification comprising one or more game video-matching criteria, game-rule data, and one or more game asset-matching criteria identifying a plurality of assets that may be selected to advance in said asset-identification game.

Claim 4. A computing apparatus comprising a processor and a memory having stored thereon instructions that when executed by the processor, configure the apparatus to perform the method of Claim 1.

Claim 5. A non-transient computer-readable storage medium having stored thereon instructions that when executed by a processor, configure the processor to perform a method for serving video-context-aware advertising metadata, the method comprising: obtaining asset time-line data comprising a plurality of asset identifiers

corresponding respectively to a plurality of assets, namely persons, products, and/or places that are depicted during or otherwise associated with a video segment, said asset time-line data further specifying for each asset of said plurality of assets, at least one time range during which each asset is depicted or associated with said video segment;

storing said asset time-line data in a data store;

receiving a request from a remote playback device for contextual metadata associated with said video segment;

in response to receiving said request, retrieving said asset time-line data from said data store; providing said asset time-line data to said remote playback device;

identifying, according to said asset time-line data, said plurality of assets that are depicted during or otherwise associated with said video segment;

identifying, from among a plurality of advertising campaign specifications, an advertising campaign specification specifying an advertising campaign associated with said video segment, said advertising campaign comprising one or more campaign video- matching criteria, one or more campaign asset-matching criteria, and promotional data; determining whether any of said plurality of assets satisfy at least one of said one or more campaign asset-matching criteria; and

when a matching asset is determined to satisfy at least one of said one or more campaign asset-matching criteria, providing said promotional data to said remote playback device.

Claim 6. The storage medium of Claim 5, wherein obtaining said asset time-line data comprises:

determining a plurality of likely assets that are likely to be depicted during or otherwise associated with said video segment;

providing a user interface by which a remote operator can view said video segment and create and edit tags associating some of all of said plurality of likely assets with indicated spatial and temporal portions of said video segment; and

receiving said asset time-line data from said remote operator via said user interface.

Claim 7. The storage medium of Claim 5, the method further comprising identifying, from among a plurality of asset-identification game specifications, an asset-identification game specification specifying an asset-identification game associated with said video segment, said asset-identification game specification comprising one or more game video-matching criteria, game-rule data, and one or more game asset-matching criteria identifying a plurality of assets that may be selected to advance in said asset-identification game. Claim 8. A video-platform-server-implemented method for serving video-context-aware game metadata, the method comprising:

obtaining, by the video-platform server, asset time-line data comprising a plurality of asset identifiers corresponding respectively to a plurality of assets, namely persons, products, and/or places that are depicted during or otherwise associated with a video segment, said asset time-line data further specifying for each asset of said plurality of assets, at least one time range during which each asset is depicted or associated with said video segment;

storing, by the video-platform server, said asset time-line data in a data store;

receiving, by the video-platform server, a request from a remote playback device for contextual metadata associated with said video segment;

in response to receiving said request, retrieving, by the video-platform server, said asset time-line data from said data store;

providing, by the video-platform server, said asset time-line data to said remote playback device;

identifying, by the video-platform server according to said asset time-line data, said plurality of assets that are depicted during or otherwise associated with said video segment;

identifying, by the video-platform server from among a plurality of asset- identification game specifications, an asset-identification game specification specifying an asset-identification game associated with said video segment, said asset-identification game specification comprising one or more game video-matching criteria, game-rule data, and one or more game asset-matching criteria identifying a plurality of assets that may be selected to advance in said asset-identification game.

determining, by the video-platform server, whether any of said plurality of assets satisfy at least one of said one or more game asset-matching criteria; and

when a matching asset is determined to satisfy at least one of said one or more game asset-matching criteria, providing, by the video-platform server, said game-rule data to said remote playback device. Claim 9. The method of Claim 8, wherein obtaining said asset time-line data comprises: determining a plurality of likely assets that are likely to be depicted during or otherwise associated with said video segment;

providing a user interface by which a remote operator can view said video segment and create and edit tags associating some of all of said plurality of likely assets with indicated spatial and temporal portions of said video segment; and

receiving said asset time-line data from said remote operator via said user interface.

Claim 10. The method of Claim 8, further comprising identifying, from among a plurality of advertising campaign specifications, an advertising campaign specification specifying an advertising campaign associated with said video segment, said advertising campaign comprising one or more campaign video-matching criteria, one or more campaign asset- matching criteria, and promotional data.

Claim 11. A computing apparatus comprising a processor and a memory having stored thereon instructions that when executed by the processor, configure the apparatus to perform the method of Claim 8.

Claim 12. A non-transient computer-readable storage medium having stored thereon instructions that when executed by a processor, configure the processor to perform a method for serving video-context-aware game metadata, the method comprising:

obtaining asset time-line data comprising a plurality of asset identifiers

corresponding respectively to a plurality of assets, namely persons, products, and/or places that are depicted during or otherwise associated with a video segment, said asset time-line data further specifying for each asset of said plurality of assets, at least one time range during which each asset is depicted or associated with said video segment;

storing said asset time-line data in a data store;

receiving a request from a remote playback device for contextual metadata associated with said video segment;

in response to receiving said request, retrieving said asset time-line data from said data store;

providing said asset time-line data to said remote playback device; identifying, according to said asset time-line data, said plurality of assets that are depicted during or otherwise associated with said video segment;

identifying, from among a plurality of asset-identification game specifications, an asset-identification game specification specifying an asset-identification game associated with said video segment, said asset-identification game specification comprising one or more game video-matching criteria, game-rule data, and one or more game asset-matching criteria identifying a plurality of assets that may be selected to advance in said asset- identification game.

determining whether any of said plurality of assets satisfy at least one of said one or more game asset-matching criteria; and

when a matching asset is determined to satisfy at least one of said one or more game asset-matching criteria, providing said game-rule data to said remote playback device.

Claim 13. The storage medium of Claim 12, wherein obtaining said asset time-line data comprises:

determining a plurality of likely assets that are likely to be depicted during or otherwise associated with said video segment;

providing a user interface by which a remote operator can view said video segment and create and edit tags associating some of all of said plurality of likely assets with indicated spatial and temporal portions of said video segment; and

receiving said asset time-line data from said remote operator via said user interface.

Claim 14. The storage medium of Claim 12, the method further comprising identifying, from among a plurality of advertising campaign specifications, an advertising campaign specification specifying an advertising campaign associated with said video segment, said advertising campaign comprising one or more campaign video-matching criteria, one or more campaign asset-matching criteria, and promotional data.

Description:
CONTEXT-AWARE VIDEO PLATFORM SYSTEMS AND METHODS

FIELD

[Para 01] The present disclosure relates to the field of computing, and more

particularly, to a video platform server that obtains and serves contextual metadata to remote playback clients.

CROSS-REFERENCE TO RELATED APPLICATIONS

[Para 02] This application claims the benefit of priority to U.S. Provisional Patent Application No. 61/648,538, filed May 17, 2012 under Attorney Docket No. REAL- 2012389, titled "CONTEXTUAL ADVERTISING PLATFORM WORKFLOW SYSTEMS AND METHODS", and naming inventors Joel Jacobson et al.

BACKGROUND

[Para 03] In 1995, RealNetworks of Seattle, Washington (then known as Progressive Networks) broadcast the first live event over the Internet, a baseball game between the Seattle Mariners and the New York Yankees. In the decades since, streaming media has become increasingly ubiquitous, and various business models have evolved around streaming media and advertising. Indeed, some analysts project that spending on online advertising will increase from $4iB in 2012 to almost $68B in 2015, in part because many consumers enjoy consuming streaming media via laptops, tablets, set-top boxes, or other computing devices that potentially enable users to interact and engage with media in new ways.

[Para 04] For example, in some cases, consuming streaming media may give rise to numerous questions about the context presented by the streaming media. In response to viewing a given scene, a viewer may wonder "who is that actor?", "what is that song?", "where can I buy that jacket?", or other like questions. However, existing streaming media services may not provide facilities for advertisers and content distributors to manage contextual metadata and offer contextually relevant information to viewers as they consume streaming media. BRIEF DESCRIPTION OF THE DRAWINGS

[Para 05] Figure l illustrates a contextual video platform system in accordance with one embodiment.

[Para 06] Figure 2 illustrates several components of an exemplary video-platform server in accordance with one embodiment.

[Para 07] Figure 3 illustrates an exemplary series of communications between video- platform server, media-playback device, tag-editor device, and advertiser device in accordance with one embodiment.

[Para 08] Figure 4 illustrates exemplary game and advertising-campaign specifications, in accordance with one embodiment.

[Para 09] Figure 5 illustrates a routine for providing a contextual video platform, such as may be performed by a video-platform server in accordance with one embodiment.

[Para 10] Figure 6 illustrates a subroutine for determining asset time-line data associated with a given media presentation, such as may be performed by a video- platform server in accordance with one embodiment.

[Para 11] Figure 7 illustrates a subroutine for serving contextual advertising metadata associated with a given video segment, such as may be performed by a video-platform server in accordance with one embodiment.

[Para 12] Figure 8 illustrates an exemplary tagging user interface for creating and/or editing asset tags associated with a video segment, such as may be provided by video- platform server for use by a tag-editor device in accordance with one embodiment.

[Para 13] Figure 9 illustrates an exemplary context-aware media-rendering user interface, such as may be provided by video-platform server and generated by media- playback device in accordance with one embodiment.

[Para 14] Figures 10-18 illustrate various user interfaces that may be employed in accordance with various embodiments.

DESCRIPTION

[Para 15] In various embodiments as described herein, a video-platform server may obtain and provide context-specific metadata to remote playback devices, including identifying advertising campaigns and/or games that match one or more assets (e.g., actors, locations, articles of clothing, business establishments, or the like) that are depicted in or otherwise associated with a given video segment.

[Para 16] The phrases "in one embodiment", "in various embodiments", "in some embodiments", and the like are used repeatedly. Such phrases do not necessarily refer to the same embodiment. The terms "comprising", "having", and "including" are synonymous, unless the context dictates otherwise.

[Para 17] Reference is now made in detail to the description of the embodiments as illustrated in the drawings. While embodiments are described in connection with the drawings and related descriptions, there is no intent to limit the scope to the

embodiments disclosed herein. On the contrary, the intent is to cover all alternatives, modifications and equivalents. In alternate embodiments, additional devices, or combinations of illustrated devices, may be added to, or combined, without limiting the scope to the embodiments disclosed herein.

[Para 18] Figure l illustrates a contextual video platform system in accordance with one embodiment. In the illustrated system, video-platform server 200, media-playback device 105, partner device 110, tag-editor device 115, and advertiser device 120 are connected to network 150.

[Para 19] In various embodiments, video-platform server 200 may comprise one or more physical and/or logical devices that collectively provide the functionalities described herein. In some embodiments, video-platform server 200 may comprise one or more replicated and/or distributed physical or logical devices.

[Para 20] In some embodiments, video-platform server 200 may comprise one or more computing services provisioned from a "cloud computing" provider, for example, Amazon Elastic Compute Cloud ("Amazon EC2"), provided by Amazon.com, Inc. of Seattle, Washington; Sun Cloud Compute Utility, provided by Sun Microsystems, Inc. of Santa Clara, California; Windows Azure, provided by Microsoft Corporation of

Redmond, Washington, and the like.

[Para 21] In various embodiments, partner device 110 may represent one or more devices operated by a content producer, owner, distributor, and/or other like entity that may have an interest in promoting viewer engagement with streamed media. In various embodiments, video-platform server 200 may provide facilities by which partner device no may add, edit, and/or otherwise manage asset definitions and context data associated with video segments.

[Para 22] In various embodiments, advertiser device 120 may represent one or more devices operated by an advertiser, sponsor, and/or other like entity that may have an interest in promoting viewer engagement with streamed media. In various

embodiments, video-platform server 200 may provide facilities by which partner device 110 may add, edit, and/or otherwise manage advertising campaigns and/or asset- based games.

[Para 23] In various embodiments, network 150 may include the Internet, a local area network ("LAN"), a wide area network ("WAN"), a cellular data network, and/or other data network. In various embodiments, media-playback device 105 and/or tag-editor device 115 may include a desktop PC, mobile phone, laptop, tablet, or other computing device that is capable of connecting to network 150 and rendering media data as described herein.

[Para 24] Figure 2 illustrates several components of an exemplary video-platform server in accordance with one embodiment. In some embodiments, video-platform server 200 may include many more components than those shown in Figure 2. However, it is not necessary that all of these generally conventional components be shown in order to disclose an illustrative embodiment.

[Para 25] Video-platform server 200 includes a bus 220 interconnecting components including a processing unit 210; a memory 250; optional display 240; input device 245; and network interface 230.

[Para 26] In various embodiments, input device 245 may include a mouse, track pad, touch screen, haptic input device, or other pointing and/or selection device.

[Para 27] Memory 250 generally comprises a random access memory ("RAM"), a read only memory ("ROM"), and a permanent mass storage device, such as a disk drive. The memory 250 stores program code for a routine 500 for providing a contextual video platform (see Fig. 5, discussed below). In addition, the memory 250 also stores an operating system 255.

[Para 28] These and other software components may be loaded into memory 250 of video-platform server 200 using a drive mechanism (not shown) associated with a non- transient computer readable storage medium 295, such as a floppy disc, tape, DVD/CD- ROM drive, memory card, or the like. In some embodiments, software components may alternately be loaded via the network interface 230, rather than via a non-transient computer readable storage medium 295.

[Para 29] Memory 250 also includes database 260, which stores records including records 265A-D.

[Para 30] In some embodiments, video-platform server 200 may communicate with database 260 via network interface 230, a storage area network ("SAN"), a high-speed serial bus, and/or via the other suitable communication technology.

[Para 31] In some embodiments, database 260 may comprise one or more storage services provisioned from a "cloud storage" provider, for example, Amazon Simple Storage Service ("Amazon S3"), provided by Amazon.com, Inc. of Seattle, Washington, Google Cloud Storage, provided by Google, Inc. of Mountain View, California, and the like.

[Para 32] Figure 3 illustrates an exemplary series of communications between video- platform server 200, media-playback device 105, tag-editor device 115, and advertiser device 120 in accordance with one embodiment. Prior to the illustrated sequence of communications, video-platform server 200 obtained from partner device 110 video data corresponding to one or more video segments (not shown).

[Para 33] Beginning the illustrated sequence of communications, video-platform server 200 sends to advertiser device 120 a user interface 303 for creating and/or editing an advertising campaign. Advertiser device 120 uses the provided user interface to create and/or edit 306 an advertising campaign associated with one or more video segments. Video-platform server 200 obtains metadata 309 corresponding to the created and/or edited advertising campaign and stores 312 the metadata (e.g., in database 260). For example, in one embodiment, video-platform server 200 may store a record including data similar to that shown in exemplary advertising campaign specification 410 (see Fig. 4, discussed below).

[Para 34] At some point before, during, or after obtaining metadata 309, video-platform server 200 sends to tag-editor device 115 video data 315 corresponding to at least a portion of a video segment. Video-platform server 200 also sends to tag-editor device 115 a user interface 318 for creating and/or editing asset tags associated with the video segment. For example, in one embodiment, video-platform server 200 may provide a user interface such as tagging user interface 800 (see Fig. 8, discussed below).

[Para 35] As the term is used herein, "assets" refer to objects, items, actors, and other entities that are depicted in or otherwise associated with a video segment. For example, within a given 30-second scene, the actor "Art Arterton" may appear during the time range from 0-15 seconds, the actor "Betty Bing" may appear during the time range 12- 30 seconds, the song "Pork Chop" may play in the soundtrack during the time range from 3-20 seconds, and a particular laptop computer may appear during the time range 20-30 seconds. In various embodiments, some or all of these actors, songs, and objects may be considered "assets" that are depicted in or otherwise associated with the video segment.

[Para 36] Using the provided tag-editing user interface, tag-editor device 115 creates and/or edits 321 asset tags corresponding to assets that are depicted in or otherwise associated with the video segment. Video-platform server 200 obtains metadata 324 corresponding to the created and/or edited assets and stores 327 the metadata (e.g., in database 260). For example, in one embodiment, video-platform server 200 may store a record including data similar to that shown in exemplary game specification 405 (see Fig. 4, discussed below).

[Para 37] At some point after assets have been tagged in a video segment and an advertising campaign created, media-playback device 105 sends to video-platform server 200 a request 330 to play back the video segment. Video-platform server 200 retrieves (not shown) and sends 333 to media-playback device 105 renderable media data corresponding to the video segment, as well as executable code and/or metadata for an asset-context-enabled playback user interface.

[Para 38] Typically, renderable media data includes computer-processable data derived from a digitized representation of a piece of media content, such as a video or other multimedia presentation. The renderable media data send to media-playback device 105 may include less than all of the data required to render the entire duration of the media presentation. For example, in one embodiment, the renderable media data may include a segment (e.g. 30 or 60 seconds) within a longer piece of content (e.g., a 22 minute video presentation).

[Para 39] In the course or preparing to render the media data, media-playback device 105 sends to video-platform server 200 a request 336 for contextual metadata associated with a given segment of the media presentation. In response, video-platform server 200 retrieves 339 the requested metadata, including one or more asset tags corresponding to assets that are depicted in or otherwise associated with the media segment.

[Para 40] In addition, video-platform server 200 identifies 342 at least one advertising campaign that is associated with the media presentation and matches 345 at least one asset depicted in or otherwise associated with the media segment with at least one asset- match criteria of the advertising campaign. For example, in one embodiment, video- platform server 200 determines that the media segment in question satisfies at least one video-match criteria of at least one previously-defined advertising campaign.

[Para 41] Video-platform server 200 sends to media-playback device 105 asset tag metadata 348 corresponding to one or more assets that are depicted in or otherwise associated with the media segment, as well as advertising campaign metadata 351 corresponding to the identified advertising campaign. For example, in one embodiment, video-platform server 200 may send a data structure similar to the following.

{

"Asset ID" : "dl3b7e51ec93" ,

"Medi a ID" : " 5d0b431d63f 1" ,

"Asset Type" : " Person" ,

"AssetControl " : "/asset/dl3b7e51ec93/thumbnai 1 . j pg" ,

"Asset Context Data" : "http : //en . wi ki edi a . org/wi ki /Art_Arte rton" ,

"Ti me Start" : 15 ,

"Ti me End" : 22 . 5 ,

"Coordi nates" : [ 0. 35 , 0. 5 ]

}

[Para 42] Using the data thereby provided, media-playback device 105 plays 354 the video segment, including presenting promotional content and asset metadata about assets that are currently depicted in or otherwise associated with the media segment.

[Para 43] Figure 4 illustrates exemplary game and advertising-campaign specifications, in accordance with one embodiment. In various embodiments, records corresponding to such specifications may be stored in database 260. [Para 44] Exemplary game specification 405 includes rules data, one or more asset- match criteria, and one or more video-match criteria.

[Para 45] For example, in one embodiment, rules data may specify various aspects, such as some or all of the following about a given game:

[Para 46] that the game is of a certain type (e.g., a "scavenger hunt" -type asset-matching game);

[Para 47] that the game has one or more conditions (e.g., find at least 5 assets that satisfy the asset-match criteria) that must be satisfied to "win" the game;

[Para 48] that the game has a certain reward (e.g., 500 points) associated with

"winning" the game;

[Para 49] and the like. In some embodiments, asset-match criteria may specify one or more specific assets (e.g., the asset having an ID of 12345). In other embodiments, asset-match criteria may specify one or more classes of asset (e.g., assets of type

"Product:Clothing").

[Para 50] In some embodiments, video-match criteria may specify one or more videos or media presentations that are associated with the specified game and during which the specified game may be played.

[Para 51] Exemplary advertising campaign specification 410 includes promotional data, one or more asset-match criteria, and one or more video-match criteria.

[Para 52] Figure 5 illustrates a routine 500 for providing a contextual video platform, such as may be performed by a video-platform server 200 in accordance with one embodiment.

[Para 53] In block 505, routine 500 obtains, e.g., from partner device 110, renderable media data.

[Para 54] In subroutine block 600, routine 500 calls subroutine 600 (see Fig. 6, discussed below) to obtain asset time-line data corresponding to a number of assets that are depicted in or otherwise associated with the renderable media data obtained in block 505.

[Para 55] In block 515, routine 500 stores, e.g., in database 260, the asset time-line data (as obtained in subroutine 600). [Para 56] In subroutine block 700, routine 500 calls subroutine 700 (see Fig. 7, discussed below) to serve contextual advertising metadata to remote playback devices (e.g. media-playback device 105).

[Para 57] Routine 500 ends in ending block 599.

[Para 58] Figure 6 illustrates a subroutine 600 for determining asset time-line data associated with a given media presentation, such as may be performed by a video- platform server 200 in accordance with one embodiment.

[Para 59] In block 605, subroutine 600 determines one or more assets that are likely to be depicted during or to be otherwise associated with the given media presentation. For example, in one embodiment, subroutine 600 may identify a plurality of assets that correspond to cast members of the given media presentation.

[Para 60] In block 610, subroutine 600 provides a user interface that may be used (e.g., by tag-editor device 115) for remotely tagging assets within the given media

presentation. For example, in one embodiment, subroutine 600 may provide a user interface similar to tagging user interface 800 (see Fig. 8, discussed below).

[Para 61] In block 615, subroutine 600 receives time-line data via the remote user interface provided in block 610. For example in some embodiments, the asset time-line data may include a plurality of data structures including asset entries having asset metadata such as some or all of the following.

{

"Asset ID" : "dl3b7e51ec93" ,

"Medi a ID" : " 5d0b431d63f 1" ,

"Asset Type" : " Person" ,

"AssetControl " : "/asset/dl3b7e51ec93/thumbnai 1 . j pg" ,

"Asset Context Data" : "http : //en . wi ki edi a . org/wi ki /Art_Arte rton" ,

"Ti me Start" : 15 ,

"Ti me End" : 22 . 5 ,

"Coordi nates" : [ 0. 35 , 0. 5 ]

}

[Para 62] Subroutine 600 ends in ending block 699, returning the time-line data received in block 615 to the caller.

[Para 63] Figure 7 illustrates a subroutine 700 for serving contextual advertising metadata associated with a given video segment, such as may be performed by a video- platform server 200 in accordance with one embodiment. [Para 64] In block 705, subroutine 700 receives a request from a remote playback device (e.g., media-playback device 105) for contextual metadata associated with a given video segment. For example, the remote playback device may, in the course of presenting a video or media presentation, request contextual or asset time-line data for an upcoming segment of the video (e.g., an upcoming 30 or 60 second segment).

Typically, the request would include a video or media presentation identifier and a start time or time range.

[Para 65] In block 710, subroutine 700 retrieves time-line data for the requested segment of video from a data store (e.g., database 260). Typically, the retrieved asset time-line data includes a plurality of asset records, each describing an asset that is tagged as being depicted in or otherwise associated with the video segment.

[Para 66] In block 715, subroutine 700 provides to remote playback device the asset time-line data obtained in block 710. In some embodiments, some or all of the time-line data may be provided in a serialized format such as JavaScript Object Notation

("JSON").

[Para 67] In block 720, subroutine 700 identifies assets that are depicted in or otherwise associated with the video segment. In many embodiments, subroutine 700 may identify such assets by parsing the asset time-line data obtained in block 710.

[Para 68] In block 723, subroutine 700 obtains video-match criteria (e.g., from database 260) associated with one or more previously-defined advertising campaigns.

[Para 69] In decision block 725, subroutine 700 determines whether the given video segment is associated with one or more advertising campaigns by determining whether the video or media presentation of which the given video segment is a part satisfies any of the video-match criteria obtained in block 723.

[Para 70] For example, in some embodiments, a video-match criterion for a given advertising campaign may identify a particular video or media presentation via a video identifier. In other embodiments, a video-match criterion for a given advertising campaign may identify a class of videos or media presentations by, for example, genre (e.g., comedy, drama, or the like), producer or distributor, production date or date range, or the like. [Para 71] When subroutine 700 determines that the given video segment matches one or more advertising campaigns, subroutine 700 proceeds to opening loop block 730. If the given video segment does not match any advertising campaigns, then

subroutine 700 skips to block 753.

[Para 72] Beginning in opening loop block 730, subroutine 700 processes each associated advertising campaign (as determined in decision block 725) in turn.

[Para 73] In block 735, subroutine 700 obtains (e.g., from database 260) asset-match criteria associated with the current advertising campaign.

[Para 74] In decision block 740, subroutine 700 determines whether one or more assets of the given video-segment (as identified in block 720) match one or more of the campaign asset-match criteria obtained in block 735. For example, in some

embodiments, asset-match criteria may specify one or more specific assets (e.g., the asset having an ID of 12345). In other embodiments, asset-match criteria may specify one or more classes of asset (e.g., assets of type "Product: Clothing").

[Para 75] When subroutine 700 determines that one or more assets of the given video- segment matches asset-match criteria of one or more advertising campaigns, subroutine 700 proceeds to block 745. Otherwise, subroutine 700 skips to ending loop block 750.

[Para 76] In block 745, subroutine 700 provides advertising campaign data to remote playback device. For example, in one embodiment, subroutine 700 may provide promotional data such as text, images, video, or other media (or links thereto) to be presented as an advertisement or promotion while the given video segment is rendered. In some embodiments, such promotional data may include a campaign identifier and an ad-server identifier identifying an ad sever or ad network that is responsible for providing promotional content to be presented while the given video segment is rendered.

[Para 77] In ending loop block 750, subroutine 700 iterates back to opening loop block 730 to process the next associated advertising campaign (as determined in decision block 725), if any. [Para 78] In block 753, subroutine 700 obtains video-match criteria (e.g., from database 260) associated with one or more previously-defined asset-identification games.

[Para 79] In decision block 755, subroutine 700 determines whether the given video segment is associated with one or more asset-identification games by determining whether the video or media presentation of which the given video segment is a part satisfies any of the video-match criteria obtained in block 753.

[Para 80] If so, then subroutine 700 proceeds to block 760. Otherwise, subroutine 700 proceeds to ending block 799.

[Para 81] In block 760, subroutine 700 provides to the remote playback device a game specification corresponding to the asset-identification game(s) determined in decision block 755.

[Para 82] Subroutine 700 ends in ending block 799.

[Para 83] Figure 8 illustrates an exemplary tagging user interface 800 for creating and/or editing asset tags associated with a video segment, such as may be provided by video-platform server 200 for use by a tag-editor device 115 in accordance with one embodiment.

[Para 84] In various embodiments, video-platform server 200 may provide HyperText Markup Language documents, Cascading Style Sheet documents, JavaScript documents, image and media files, and other similar resources to enable a remote tag-editing device (e.g., tag-editor device 115) to display and enable a user to interact with tagging user interface 800.

[Para 85] Tagging user interface 800 represents one possible user interface for for acquiring tags indicating temporal and spatial positions at which various assets are depicted in or otherwise associated with a given video or media presentation. Such a user interface may be employed in connection with manual editorial systems and/or crowd-sourced editorial systems. In other embodiments, tags may be acquired and/or edited via other suitable means, including via automatic object-identification systems, and/or a combination of automatic and editorial systems.

[Para 86] Asset selection controls 805A-H correspond to various assets that are likely to be depicted in or otherwise associated with the video presented in video pane 810. For example, in one embodiment, the list of asset selection controls may be pre- populated with assets corresponding to, for example, cast members, places, products, or the like that regularly appear in the video presented in video pane 810. In some embodiments, a user may also be able to add controls to the list as necessary (e.g., if an actor, place, product, or the like appears in only one or a few episodes of a series).

[Para 87] Video pane 810 displays a video or media presentation so that a user can tag assets that are depicted in or otherwise associated with various temporal and spatial portions of the video.

[Para 88] As illustrated, tag control 840 shows that the selected asset (Asset 4) appears towards the left side of the frame at the current temporal playback position of the video presented in video pane 810. In some embodiments, a user may be able to move, resize, add, and/or delete tag control 840 such that it corresponds to the temporal and spatial depiction of the selected asset during presentation of the video presented in video pane 810.

[Para 89] Using playback controls 815, a user can control the presentation of the video presented in video pane 810.

[Para 90] Asset tags summary pane 820 summarizes tags associated with a selected asset. As illustrated, asset tags summary pane 820 indicates that "Asset 4" (selected via asset selection control 805D) makes three appearances, for a total of one minute and 30 seconds, in the video presented in video pane 810. Asset tags summary pane 820 also indicates that "Asset 4" is tagged a total of 235 times in this and other videos.

[Para 91] Time-line control 825 depicts temporal portions of the video presented in video pane 810 during which the selected asset (Asset 4) is tagged as being depicted in or otherwise associated with the video presented in video pane 810. As illustrated, timeline control 825 indicates that the selected asset makes three appearances over the duration of the video, the second appearance being longer than the first and third appearances.

[Para 92] Tag thumbnail pane 835 presents tag "thumbnails" 830A-C providing an overview of the temporal and spatial locations in which the selected asset is tagged during a particular appearance. As illustrated, tag thumbnail pane 835 shows that during its first appearance, Asset 4 is tagged as appearing towards the left side of the frame during seconds 9-11 of minute two of the video presented in video pane 810.

[Para 93] Table 1, below, includes data representing several asset tags similar to those displayed in tag thumbnail pane 835. In various embodiments, such tag data may define regions within which various assets appear at various time points within a video. For example, in the tag data shown in Table 1, the asset with an asset_id of 4 is tagged within various regions (defined by center_x, center_y, width, and height, all of which are expressed as percentages of the dimensions of the video) at various points in time (defined by _position, which is expressed in seconds since the start of the video).

Table 1: Exemplary asset tag data

[Para 94] Figure 9 illustrates an exemplary context-aware media-rendering user interface, such as may be provided by video-platform server 200 and generated by media-playback device 105 in accordance with one embodiment.

[Para 95] User interface 900 includes media-playback pane 905, in which renderable media data is rendered. The illustrated media content presents a scene in which three individuals are seated on or near a bench in a park-like setting. Although not apparent from the illustration, the individuals in the rendered scene may be considered for explanatory purposes to be discussing popular mass-market cola beverages.

[Para 96] User interface 900 also includes assets pane 910, in which currently- presented asset controls 925A-F are displayed. In particular, asset control 925A corresponds to location asset 920A (the park-like location in which the current scene takes place). Similarly, asset control 925B and asset control 925F correspond respectively to person asset 920B and person asset 920F (two of the individuals currently presented in the rendered scene); asset control 925C and asset control 925E correspond respectively to object asset 920C and object asset 920E (articles of clothing worn by an individual currently presented in the rendered scene); and asset

control 925D corresponds to object asset 920D (the subject of a conversation taking place in the currently presented scene).

[Para 97] The illustrated media content also presents other elements (e.g., a park bench, a wheelchair, et al) that are not represented in assets pane 910, indicating that those elements may not be associated with any asset metadata.

[Para 98] Assets pane 910 has been configured to present context-data display 915. In various embodiments, such a configuration may be initiated if the user activates an asset control (e.g., asset control 925F) and/or selects an asset (e.g., person asset 920F) as displayed in media-playback pane 905. In some embodiments, context-data display 915 or a similar pane may be used to present promotional content while the video is rendered in media-playback pane 905.

[Para 99] Figure 10 illustrates a user interface for administering a set of categories for categorizing assets within a contextual advertising system, in accordance with one embodiment.

[Para 100] Figures 11-12 illustrate user interfaces for viewing attributes of a person asset within a contextual advertising system, in accordance with one embodiment.

[Para 101] Figures 13A-C illustrate user interfaces for editing a campaign based on asset- matching criteria within a contextual advertising system, in accordance with one embodiment. More specifically, Figure 13A illustrates a user interface for editing asset criteria, Figure 13B illustrates a user interface for editing campaign details, and Figure 13C illustrates a user interface for editing campaign videos. As shown in Figure 13A, a campaign can be defined to match assets using various metadata, such as asset kind (e.g., Product, Place, Person or the like), asset name (e.g., Honda, Michael Weatherly, or the like), asset category (e.g., Automobile, Automobile→Sedan, Book, Computer, or the like), product brand, model, place, and the like.

[Para 102] Figures 14A-B illustrate user interfaces for editing a campaign based a particular asset (product, place, or person) within a contextual advertising system, in accordance with one embodiment. More specifically, Figure 14A illustrates a user interface for selecting the particular asset and editing videos associated with the campaign, and Figure 14B illustrates a user interface for editing campaign details.

[Para 103] Figures 15A-D illustrate user interfaces for editing a game within a contextual advertising system, in accordance with one embodiment. More specifically, Figure 15A illustrates a user interface for editing game details, Figure 15B illustrates a user interface for editing game rules, Figure 15C illustrates a user interface for editing game assets and assigning points for identifying a given asset, and Figure 15D illustrates a user interface for editing videos associated with the campaign. In some embodiments, users may interact with game campaign by touching or selecting a certain screen position at a certain time within a video. The touch coordinates are compared to nearby regions that are tagged with metadata about the asset (e.g., object, person, place, or the like) that appears in that region at that time. In some embodiments, a user may earn points within a game campaign by touching or selecting regions corresponding to assets identified using a user interface such as that shown in Figure 15C.

[Para 104] Figures 16A-B illustrate user interfaces for editing a place asset within a contextual advertising system, in accordance with one embodiment. More specifically, Figure 16A illustrates a user interface for editing asset descriptive information, and Figure 16B illustrates a user interface for editing images and geographical information associated with the place asset.

[Para 105] Figures 17A-C illustrate user interfaces for editing a product asset within a contextual advertising system, in accordance with one embodiment. More specifically, Figure 17A illustrates a user interface for editing asset descriptive information, Figure 17B illustrates a user interface for editing images and other external resources associated with the product asset, and Figure 17C illustrates a user interface for editing product information (brand, model, SKU) associated with the product asset. As shown in Figure 17A, an asset may be associated with one or more hierarchical categories (e.g., Product→Automobile→Sedan, or as illustrated, Product→Clothing), as well as with one or more asset groups.

[Para 106] Figures 18A-18B illustrate user interfaces for editing time-based video tags within a contextual advertising system, in accordance with one embodiment. Generally, a video tag marks a specific moment in a video. The tag can denote a specific screen position, a precise moment or a range of time, and can be associated to a piece of text. In some embodiments, a video tag can identify an asset (e.g., a person, product/object, or place). In other embodiments, a video tag can represent a block of commentary related to a scene, to other commentary related to a scene, or the like. More specifically, Figure i8A illustrates a user interface for selecting from an asset group an asset to be tagged in a particular video, and Figure 18B illustrates a user interface showing that a selected asset has been tagged numerous times throughout the video. Figure 18B also shows bounding rectangles at which the selected asset appears at various points in time.

[Para 107] Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that alternate and/or equivalent implementations may be substituted for the specific embodiments shown and described without departing from the scope of the present disclosure. This application is intended to cover any adaptations or variations of the embodiments discussed herein.