Abstract:
The video bookmark feature allows a user to tag an item or segment of interest within audio/video content being watched. Each tag, or bookmark, can contain within it metadata associated with the content captured by the receiver at the time the bookmark was recorded; further information can be derived via interaction over the Internet with a service provider. Applications supported by video bookmarks include telescoping ads, capturing screen shots for later review or printing, and retrieving more information about any arbitrary subject being viewed, whether it is a scene in a program, an advertisement, or other associated information about the subject. This abstract is not to be considered limiting, since other embodiments may deviate from the features described in this abstract.

Description:
CROSS REFERENCE TO RELATED DOCUMENTS 
       [0001]    This application is a continuation of U.S. patent application Ser. No. 12/881,361, filed Sep. 14, 2010, which is related to and claims priority benefit of U.S. Provisional Patent Application Nos. 61/245,955 filed Sep. 25, 2009, and 61/258,715 filed Nov. 6, 2009, the entire contents of which are incorporated herein by reference. 
     
    
     COPYRIGHT AND TRADEMARK NOTICE 
       [0002]    A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. Trademarks are the property of their respective owners. 
       BACKGROUND 
       [0003]    Once a digital television is Internet-enabled, delivery of a wide variety of new types of services and features is possible. One current implementation captures viewer actions such as record, play, re-play, pause, etc. and by correlating the precise timing of the action with the channel line-up and channel number; exactly what was being viewed when the action occurred can be determined. 
         [0004]    The data capture operates in the background, with no user involvement. Captured data is “anonymized” and sold, as well as mined for useful information to sell to broadcasters and content providers. 
         [0005]    A second implementation allows “bookmarking” of songs. If a song comes on that the listener likes, he or she can push a button on the player which causes the title and artist of that song to be reported to a website. Then later, when the user revisits the website, he or she can review the list of bookmarked songs and possibly decide to buy the CD or download and own a copy of the song from an online store. The user can bookmark either the song or the artist. 
         [0006]    Metadata can be delivered along with audio/video content. Types of metadata include the title of the program and episode, synopsis, a URL linking to the program or episode&#39;s website, content advisory rating, a URL corresponding to more information on a product or service, a content ID tag (unique identifier of content), links to available downloads of past episodes, for example. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0007]    Certain illustrative embodiments illustrating organization and method of operation, together with objects and advantages may be best understood by reference to detailed description that follows taken in conjunction with the accompanying drawings in which: 
           [0008]      FIG. 1  is a diagram of an exemplary video bookmark system consistent with certain embodiments of the present invention. 
           [0009]      FIG. 2  is a diagram of an example of interaction with video bookmarks consistent with certain embodiments of the present invention. 
           [0010]      FIG. 3  is an exemplary implementation of a local metadata approach consistent with certain embodiments of the present invention. 
           [0011]      FIG. 4  is an illustrative example of metadata capture within a video barcode event consistent with certain embodiments of the present invention. 
           [0012]      FIG. 5  is a diagram of an illustrative example of bookmark interaction with a web server consistent with certain embodiments of the present invention. 
           [0013]      FIG. 6  is a diagram of an illustrative example of bookmark interaction with a video bookmark server consistent with certain embodiments of the present invention. 
           [0014]      FIG. 7  is an illustrative example of a user interface for interaction between a user and video bookmarks consistent with certain embodiments of the present invention; 
           [0015]      FIG. 8  is an illustrative example flow diagram for video bookmark capture and interaction consistent with certain embodiments of the present invention; 
           [0016]      FIG. 9  is an illustrative example flow diagram of a server storage action for video bookmarks consistent with certain embodiments of the present invention; 
           [0017]      FIG. 10  is an illustrative example flow diagram of a server retrieval action for video bookmarks consistent with certain embodiments of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0018]    While this invention is susceptible of embodiment in many different forms, there is shown in the drawings and will herein be described in detail specific embodiments, with the understanding that the present disclosure of such embodiments is to be considered as an example of the principles and not intended to limit the invention to the specific embodiments shown and described. In the description below, like reference numerals are used to describe the same, similar or corresponding parts in the several views of the drawings. 
         [0019]    The terms “a” or “an”, as used herein, are defined as one or more than one. The term “plurality”, as used herein, is defined as two or more than two. The term “another”, as used herein, is defined as at least a second or more. The terms “including” and/or “having”, as used herein, are defined as comprising (i.e., open language). The term “coupled”, as used herein, is defined as connected, although not necessarily directly, and not necessarily mechanically. The term “program” or “computer program” or similar terms, as used herein, is defined as a sequence of instructions designed for execution on a computer system. A “program”, or “computer program”, may include a subroutine, a function, a procedure, an object method, an object implementation, in an executable application, an applet, a servlet, a source code, an object code, a shared library/dynamic load library and/or other sequence of instructions designed for execution on a computer system. 
         [0020]    Reference throughout this document to “one embodiment”, “certain embodiments”, “an embodiment” or similar terms 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. Thus, the appearances of such phrases or in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments without limitation. 
         [0021]    The term “or” as used herein is to be interpreted as an inclusive or meaning any one or any combination. Therefore, “A, B or C” means “any of the following: A; B; C; A and B; A and C; B and C; A, B and C”. An exception to this definition will occur only when a combination of elements, functions, steps or acts are in some way inherently mutually exclusive. 
         [0022]    Software and/or firmware embodiments may be implemented using one or more programmed processors executing programming instructions that in certain instances are broadly described above in flow chart form that can be stored on any suitable electronic or computer readable storage medium (such as, for example, disc storage, Read Only Memory (ROM) devices, Random Access Memory (RAM) devices, network memory devices, optical storage elements, magnetic storage elements, magneto-optical storage elements, flash memory, core memory and/or other equivalent volatile and non-volatile storage technologies). However, those skilled in the art will appreciate, upon consideration of the present teaching, that the processes described above can be implemented in any number of variations and in many suitable programming languages without departing from embodiments of the present invention. For example, the order of certain operations carried out can often be varied, additional operations can be added or operations can be deleted without departing from certain embodiments of the invention. Error trapping can he added and/or enhanced and variations can be made in user interface and information presentation without departing from certain embodiments of the present invention. Such variations are contemplated and considered equivalent. 
         [0023]    Content may be embodied as any or all audio, video, multimedia or interactive data that may be encoded with entertainment, training, artistic, textual, or experimental subject matter that is created for playback in modes such as compact disc (CD), digital versatile disc (DVD), high definition DVD (HD-DVD), Blu-ray Disc (BD) of any suitable format, tape, Internet streams or downloads, handheld players, computer storage media or any other suitable playable modes. 
         [0024]    When playing and audio/video content stream on a video display device such as a Digital Television (DTV), an Internet-connected DVR or a DTV with recording capability may offer a user a new button on the remote control called “INFO” or “MORE” or “MARK” or “TAG” or “BKMK” or any other label that may uniquely identify the function of generating a video bookmark. Alternatively the video bookmark function may be initiated by use of other remote control actions, such as indirectly through access to a MENU function, or similar. In an exemplary implementation, a viewer pushing the button so labeled may initiate a “bookmark event” which, for purposes of this exemplary implementation, may generate a TAG. Whenever the TAG button is pressed, viewing is not interrupted; the receiver records all the relevant information and metadata pertinent to the content being viewed near the instant of the button press. It may save the last several seconds of a/v material on disk in a file associated with the bookmark. At minimum, the information and metadata may include the exact time of the button press and the channel name and number. For programs being played back from disk, the information would include the identification of the program and the exact timing within the playback. Other data may include any or all of the following without limitation: captured still images, captured audio/visual clips. caption text, metadata in an ancillary data stream, URLs, screen scraped information—a process whereby optical character recognition techniques are used to extract text from the video sampled at the time of the bookmark event, and downloadable objects. 
         [0025]    Turning to  FIG. 1 , an exemplary implementation of a video bookmark system is presented, showing the bookmark events and how bookmark events are processed. In the timeline  100  at the top, a viewer may watch a video segment, labeled Seg. 1  104 . During the viewing of a program, at an example time marker of 10:14:07.2, a user may press the TAG button ( 108 ,  110 ,  112 ,  114 ), creating a bookmark. The time and channel ID is stored in a computer accessible storage device  122 , optionally along with still images or a video clip from the time vicinity of the key press. Other bookmark events occur during advertisements AD2  118  and AD3  120 , and again in video segment Seg. 3  124 . 
         [0026]    In the exemplary implementation, a Bookmark Application  128  may interact through the Internet  132  with a Bookmark Server  140  through the DTV&#39;s Internet connection, providing information about the bookmark event to allow the server to identify the program or advertisement within which it occurred; personalized data may optionally be transmitted as well. The server  140  responds with information that is used by the receiver to create an interactive experience representing the subject material of the bookmark. If the bookmark occurs within an advertisement, the material returned may be a URL to a website where further information on that product or service may be found. Or, a URL may be provided that can be selected to purchase the product being offered. Alternatively, the server could return declarative content (such as text and graphics, scripts, etc.), an audio/visual clip, interactive multimedia content or even an application. 
         [0027]    Turning now to  FIG. 2 , this figure presents an exemplary implementation for user actions that may occur after the time of storing one or more video bookmarks, for reviewing the content associated with video bookmarks that have been previously stored. In this exemplary implementation, bookmarks that have been recorded during the presentation of a program of video content may be reviewed. As an example, the user may review the stored bookmarks and choose to bring up the content associated with the first bookmark event  200 , and at a later time the third bookmark event  204 . In a first exemplary embodiment, metadata available to the receiver at the time of the bookmark event would be stored locally, and that information used to create the user interface associated with the “bookmark review” activity. This new user interface provides the user with the ability to view the metadata or a subset thereof and take actions by making menu selections to accomplish functions such as: reviewing stored bookmarks, displaying information from one or more URLs, downloading executable objects, reviewing associated advertising, receiving personalized or localized information, reviewing bookmarked audio or video content, reviewing stored and audio and video clips associated with the subject of the bookmarked content, interacting with downloaded executable objects, viewing or sending email messages, and interactive purchase activities. 
         [0028]    Turning now to  FIG. 3 , an exemplary implementation of a local metadata approach is presented. At the time of each bookmark event, the receiver collects and saves information relevant to the programming being viewed at the time of the user interaction that establishes a video bookmark. This figure depicts the timeline  300  of a program horizontally across the top. A video bookmark event is initiated at a point in the timeline. causing a number of metadata items (plus some samples of the program content itself)  308  to be saved in electronic storage  312  along with the timing of the event. This information might include:
   the program title, source channel number and name, program metadata (synopsis, etc.), and time relative to the start of the program the bookmark event occurred;   high-resolution video stills captured from the video that was displayed just prior to the bookmark event;   a short clip of the audio/video material that just preceded the bookmark event;   closed caption text captured from the programming, just prior to the bookmark event; or   metadata available from the compressed or uncompressed audio/video distribution feed.   
 
         [0034]    In an additional exemplary implementation, program providers can include various types of digital data within the MPEG-2 Transport Stream (TS) multiplex that delivers the compressed audio/video to the receiver or set-top box such as program or content identification codes, URLs, and the like. 
         [0035]    Depending upon the type of information recorded and associated with the bookmark, various types of user experiences could be offered to the user (e.g., via the user interface) when the video bookmark is reviewed at a later time:
   For receivers with PVR functionality, the time of the bookmark event can be saved as a regular “chapter point,” allowing the user easy navigation to that point when re-playing the program from electronic storage;   Review of the high-resolution video stills, which can serve to allow the user to capture a phone number, address, product name, or other information;   Review of a short clip, for the same purpose;   If metadata is available, the receiver can create a user experience based on it.   
 
         [0040]    In the exemplary implementation, one type of metadata that may he present within the video content, either as an ancillary data stream in the compressed signal or available by extracting it from the uncompressed video or audio signal, is one or more URLs. The content provider can embed URLs for different purposes in the program content. URLs may link to:
   the home page of the network   a website describing the series   a website with photos from the episode   if the bookmark event occurred during an advertisement, the URL may link to further information pertinent to the product or service advertised.   
 
         [0045]    As shown, at the time of the bookmark event  304 , a number of items of data relevant to the programming content  308  at the time of the event are stored  312 , along with stills and/or a clip of the program content. Given that some time elapses between the time the user decides to record a bookmark and the time the button is pressed, the metadata is timed to reflect the state of the program one to three seconds prior to the user action that creates a video bookmark, such as, in an exemplary implementation, the user pressing a button or selecting an option on a video display interface. 
         [0046]    After the user performs the action to initiate a video bookmark, he or she may continue enjoying the program. In the background, the receiver processes the metadata associated with the program at the time of the bookmark event. One type of processing involves “screen scraping”—as defined previously. 
         [0047]    In the exemplary implementation presented, the image may include textual content; in an example the textual content may consist of a URL. An image processor in the receiver could extract this item from the screen capture and use it to construct the user&#39;s experience when this bookmark is revisited later. Other text recovered from the character recognition process may be used in constructing the user experience as well, and to perform other actions such as labeling the bookmark, or any other function needed to process the video bookmark. 
         [0048]    Turning now to  FIG. 4 , this figure presents an exemplary implementation of video barcode  400 . In this non-limiting example, a content provider may embed digital data within the video image itself. Like a video fingerprint, the metadata thus embedded in the video image may be used to identify the content itself (the program name, originating broadcast channel, advertisement ID, etc.) Unlike a video fingerprint, which is designed to be difficult or impossible to see visually, a video barcode  400  may be easily visible to the untrained eye. 
         [0049]    The purpose of the use of video barcode  400  technology is to allow the metadata inserted by the content provider to survive various stages in the distribution channel. A DTV receiver may receive video from a cable or satellite set-top box, for example, via a High Definition Multimedia Interface (HDMI) uncompressed digital interface. Metadata that might have been present in the digital multiplex when the audio/video programming was distributed in compressed form may not pass through a digital interface such as HDMI. 
         [0050]    Turning now to  FIG. 5 , a receiver may utilize metadata gathered at the time of a bookmark event and transmit the bookmark metadata  500  to a metadata extractor application  504 . The metadata extractor  504  receives and reformats incoming metadata associated with a video bookmark. In one exemplary operation the metadata extractor  504  may collect and format a video bookmark time, date, channel, URLs, any captured still images and any captured audio/video clips into a message to be stored. The video bookmark and its associated metadata may be transmitted over the Internet  508  and then stored in an electronic storage partition within a web server  512  dedicated to this purpose for a particular user. In this exemplary implementation the web server  512  may process any URLs received with the video bookmark and associate the retrieved web content with the video bookmark. The web server  512  may then transmit all processed video bookmark information through the Internet  508  to a user interface (UI) generator  516  for inclusion in a user oriented presentation of the processed data. Additionally, text that is scraped from a video presentation, such as, in a non-limiting example, textual information that represents a video barcode, may be transmitted to the UI generator  516 . The UI generator formats and prepares the textual information for inclusion in the user oriented presentation of the processed data received from the web server  512 . The data received from both the metadata extractor  504  and the web server  512 , are used to generate a user experience  520  whenever the user wishes to interact with a particular video bookmark. 
         [0051]    Turning now to  FIG. 6 , an exemplary presentation of a video bookmark process is provided. In the exemplary implementation, video bookmark metadata  600  gathered at the time of the bookmark event. Bookmark metadata that may require additional processing, such as still images containing text or video barcodes, closed captioned information, or URL text, is transmitted to a metadata processor  604  for processing into a format to be included in a metadata bundle  608 . In addition, the raw captured images can be transferred to the metadata bundle  608  and, data from included raw captured images is extracted later. The receiver forms a metadata bundle  608  by combining elements from the bookmark metadata  600  and metadata extractor  604  captured at the time of the bookmark event. If available, personalized data  606 , such as, in a non-limited example, zip code, name, address, phone, or email information, from a user may be captured and included in the metadata bundle  608 . It is the server&#39;s job to determine a response that is appropriate to both the content that was bookmarked, as well as, if possible, the user who tagged the content. 
         [0052]    The metadata bundle  608  may be delivered via Internet  612  to a Bookmark Server  620 . In an exemplary implementation, the video source contained in the bookmarked program is identified through a database  624  query using, at a minimum, the channel map ID, channel number, and timestamp of the original airing of the content associated with the video bookmark. The identification of the video source that contained the bookmarked program may then be converted into a content identifier or content ID value. If the database query indicates that the bookmark event occurred within an advertisement, content ID values for both the program and that particular advertisement may be returned to the bookmark server  620  as a result of the query. 
         [0053]    The content ID for a program identifies the series and episode, and can be associated through another database  624  query with various pieces of program-related metadata including:
   the URL of the home page of the series   the URL of the home page of the episode   pointers to pages relevant to actors, locations, events in the plot, products, special offers, or other relevant information of potential interest to a user.   
 
         [0057]    Interactive applications may also be associated with stored bookmarks. An interactive application may be of the class of Triggered Declarative Objects (TDOs). In an exemplary implementation the trigger for a TDO may be bound to a particular program segment and reference the location where a downloadable interactive object may be acquired. The location could reference an Internet URL or a file downloaded with Non-Real-time Services (NRT). This downloadable object in the exemplary implementation when triggered by the capture of bookmark information is of the class of TDOs and may be created by a content creator or service provider, and may consist of declarative content such as text, graphics, scripts, and audio or audio/visual samples whose function and behavior is tied in some way to programming that accompanies the content. The TDO may then be associated with the content, or the subject of the content, that is captured when a bookmark is tagged or marked. Such interactive objects may be in the class of TDOs that may be resident on the Bookmark Server  620  and may then later be retrieved by the Bookmark Server through the TDO&#39;s association with the bookmarked content. 
         [0058]    Additionally, the Bookmark Server  620  can take advantage of personalized data included in the metadata bundle  608  when creating its response. As mentioned, if the tagged material pertained to a product or service available in the viewer&#39;s local area, supplying the zip code of the viewer&#39;s residence allows the Bookmark Server  620  to return information tailored to that location, such as local phone numbers and driving directions. 
         [0059]    Some users, if given the option, may be willing to offer more detailed personal information such as name and address, interests, description of the household (ages and genders, for example). If the service provider guarantees to respect the rights of privacy, and only to use the information to better respond with more relevant content, users may be willing to offer such specific information that may be included in the metadata bundle  608 . 
         [0060]    Even without detailed personalized information, the service provider can usually identify the general location of the user by use of the sender&#39;s IP address. The service provider is also able to generate usage statistics, and can know based on the number of “hits” on the server for particular requests, which items are generating the most interest among users. 
         [0061]    In the exemplary implementation, the Bookmark Server  620  receives the processed data from the metadata bundle  608  and the additional information and content retrieved by the database queries and transmits the package of information associated with the bookmark event via the Internet  612  to a UI generator  628 . The UI generator interacts with the received data and prepares a user experience  630  associated with a video bookmark requested by the user. 
         [0062]    In an additional exemplary implementation the user may register for a video bookmark service by providing an e-mail address. The user may provide the e-mail address as a part of the personalized data included in the metadata bundle  608  that is transmitted through the Internet and to a bookmark server. The bookmark server may then compile the processed video bookmark related information and compose an e-mail message containing the processed information. The bookmark server may then transmit the created e-mail message containing the video bookmark content to the requesting user. Upon receipt at the web server, the receiving server compiles information related to, and associated with, a requested video bookmark. The server may then automatically compose an e-mail message containing the processed video bookmark content and send the composed e-mail to the requesting user. In an exemplary implementation, the user may establish an account with an Internet-based server by, for example, accessing a website using a regular web browser. The user identifies the web account when setting up the video bookmark server on a Digital Television (DTV) receiver. When a video bookmark event occurs, the receiver notifies a bookmark server by collecting some small amount of metadata from the information available in the broadcast content. The bookmark server may then convert the incoming metadata and content into a rich set of bookmark-related metadata that may include information and content retrieved from web sites or other storage sites with network connection to the bookmark server, as well as content generated within the bookmark server as being associated with the subject of the video bookmark metadata. The user&#39;s interaction with the saved bookmarks is now done by accessing the Bookmark Server website. The user experience, i.e. the “look and feel” of this service may be designed, established, and controlled by the service provider. 
         [0063]    Turning now to  FIG. 7 , in an exemplary embodiment, a receiver that receives server-processed video bookmark content and associated metadata is responsible for creating a way for the user to navigate among bookmarked items, and for creating an appropriate representation for each video bookmark. In a non-limiting example, a screen capture, presented as a thumbnail on the video display, may serve as a good graphical icon for the bookmark.  FIG. 7  shows an example user interface (UI)  700  based on Xross-Media-Bar (XMB) styling. XMB is a graphical user interface developed by Sony Computer Entertainment. 
         [0064]    XMB styling provides a user interface in which major categories for action or information are presented as category icons in a horizontal list in the center of a video display. A user may select a category icon that is highlighted or may traverse the horizontal list to highlight a different category icon. The list of category icons may move left or right horizontally as the user traverses the list. The user may press a button on a remote control to indicate the highlighted category icon is selected for expansion. The selected category icon expands vertically to display content icons associated with the category icon. The content icons are displayed vertically upon selection, with the initial expansion occurring above and/or below the highlighted category icon, to present visual content icons associated with the selected category icon. The user may traverse the vertical list of content icons, highlighting each content icon as the user traverses the list. A content icon from the vertical list of content icons may be highlighted and selected to expand a selected content icon to display a sub-category of content icons that are associated with the selected content icon. In the exemplary embodiment, a category icon in the initial horizontal list may be a video bookmarks icon. 
         [0065]    When the user selects the video bookmarks category, a number of thumbnail images appear in the column, each representing one of the bookmarks available for review. In a non-limiting example, the user bookmarked a political advertisement  702  as one bookmark for later review. In a non-limiting example, as a result of processing the bookmark at the processing server, the receiver is able to offer a link to the website where more information may he found. The information from a website associated with the video bookmark or the subject contained in metadata captured with a video bookmark may be retrieved from a URL enclosed in the metadata associated with a video bookmark. This data is returned to the UI and presented to the user upon selection of the icon associated with the video bookmark. 
         [0066]    Turning now to  FIG. 8 , an exemplary implementation of a video bookmark system provides for a user, while involved in viewing content  800 , to perform an action that generates a video bookmark indicator  802 . The user action may in an exemplary implementation consist of pressing a button on a remote control specifically configured to initiate a bookmark capture action, the user may initiate a bookmark capture action by selecting a dedicated menu option on a display screen, or the user may provide input action to the system through other actions such as touching a selection point, providing a verbal selection choice, or any other method of interacting with the system to indicate a user choice or selection. In each case, at  804  the user action of selecting the video bookmark indicator causes the display receiver to capture and record all the relevant information and metadata pertinent to content being viewed near the instant of the user action. As the information is captured and stored, the audio/video content being viewed by the user is not interrupted or impacted in any way. The flow of the content, and of the user&#39;s enjoyment of the content, is not disturbed while the system performs the capture and storage of a video bookmark. At  808 , the system stores a video bookmark ID and the captured information and metadata associated with the video bookmark. At  812 , the system may enhance the captured metadata with, in a non-limiting example, additional information such as additional data retrieved from a URL that may be associated with the subject of the content captured or with personalized information supplied by the user. At  814 , the enhanced information and metadata associated with the video bookmark is then collected into a metadata bundle and associated with the video bookmark. At  816 , the video bookmark and the associated metadata bundle are transmitted to a server. In a non-limiting example, the server may be a web server in which the video bookmark ID and metadata bundle are not stored, but the web server may simply receive and fulfill requests from the video bookmark system metadata extractor for web-based content. In another non-limiting example, the server may be a bookmark server in which the video bookmarks and associated metadata bundle are transmitted to the bookmark server for storage under the video bookmark ID. After the video bookmark and associated metadata is transmitted to the server, the system returns to a state of user viewing content  800  and awaiting another indication of a video bookmark selection, retrieval of previously stored video bookmarks  820 , or termination of the viewing activity by the user  840 . 
         [0067]    At  820 , in this exemplary embodiment, as a result of a user selection action to view a video bookmark, the user enters the retrieve bookmark state whereupon the user may perform a selection action to retrieve a previously stored video bookmark. If a user has submitted a request to retrieve one or more video bookmarks at  822 , the server, in response to the user request action, initializes a retrieval action for the video bookmark ID or IDs requested. At  824 , a UI receives data associated with the video bookmark request from a server and builds the user experience for the retrieved video bookmark. The user experience may include reviewing clips of content captured near in time to the video bookmark event, retrieved audio/video content associated with the subject of the content that was being viewed at the time of the user action to capture the video bookmark, web content retrieved from a URL that is associated with the subject of the video bookmark, executable objects that may perform an interactive or non-interactive action for the user, textual information, or other content that is compiled or created by one or more servers based upon captured metadata associated with the video bookmark. At  828 , the user may interact with the user experience presented by the video bookmark data presented by the UI by entering the state of interaction with retrieved video bookmark data through the UI. In this state, the user may review the video content bookmarked by the event, may view other audio or video content concerning the subject of the video content captured in the video bookmark, or may interact with executable content that has been retrieved by the server for presentation in association with the video content or subject of the content bookmarked. A user may choose to terminate the interaction with this video bookmark by requesting a next bookmark which may transfer the user interaction to the retrieve bookmark state  820 . The user may alternatively choose to terminate the user video bookmark state at  828  and return to the user view content state at  800  to continue to view other content. At  840 , the user may choose to terminate all interaction with the video bookmarks or other content and simply choose to stop the user interaction entirely. 
         [0068]    Turning now to  FIG. 9 , an exemplary implementation for of storing a video bookmark on a server is presented. A bookmark server is a server in which video bookmark data may be stored, along with associated information and metadata for later retrieval, compilation, and operation. At  900 , a store bookmark action may be initiated automatically by the system when a user indicates through a user action that they want to capture a video bookmark. The store bookmark action occurs without the interaction of a user or any visual or audio indication to the user so that the user experience of viewing content is not interrupted. At  902 , the bookmark server may receive a video bookmark metadata bundle from a display device as the result of a user action to capture a video bookmark. At  903 , the server may take advantage of the opportunity to pre-process the incoming metadata bundle while there is a processing resource and time opportunity. The server may have both processing resources and time cycles available to resolve some or all of the subject, content, or executable references and requests in the incoming metadata bundle. As a result of this activity, the metadata bundle may be enhanced with resolved data, video or audio clips, subject matter content, executable objects, text, or any other content referenced in the received metadata bundle. Not all references may be resolved prior to storing the partially resolved metadata bundle, however, those references that are resolved may be attached to the metadata bundle and may be stored with the received metadata bundle. This step may enhance the viewer experience upon later retrieval of the video bookmark by loading faster and minimizing processing required during retrieval of the video bookmark. At  904 , the video bookmark may be stored within a storage device associated with a server using an associated video bookmark ID assigned to a captured video bookmark which the bookmark server may use as a key value for the storage and retrieval of both the video bookmark and the metadata bundle associated with the video bookmark. As described above, the metadata bundle may comprise text, information associated with the subject of the video bookmark, URLs, audio/video content or clips, executable objects, or any other data or content that may be associated with the video bookmark. At  908 , the server process for storing a video bookmark is complete and the process ends. 
         [0069]    Turning now to  FIG. 10 , this figure presents an exemplary embodiment for a retrieve bookmark request from a server at  1010 . At  1012 , in an exemplary embodiment, the server receives a retrieve bookmark request and retrieves a video bookmark and the metadata bundle associated with the video bookmark from the storage device associated with the server. In a non-limiting example, also at  1012 , the bookmark server may retrieve all metadata associated with the video bookmark, including, but not limited to, captured still images, captured audio/video clips, a channel map ID, channel number, time of the video bookmark action, personalized data, URLs, close-captioned data and scraped text. At  1016 , the bookmark server may then resolve any URL or other pointers to data, video or audio clips, subject matter content, executable objects, text, or any other content associated with the subject of the video bookmark that has not been previously resolved and attached to the video bookmark data package. The fully resolved content package containing all retrieved, resolved and updated content may be packaged as experience data associated with the retrieved video bookmark. At  1020 , the bookmark server may bundle all retrieved, resolved and updated content, as well as any executable objects that may be associated with the subject of the video bookmark, into a video bookmark bundle and associates this video bookmark bundle with the video bookmark ID. At  1024 , the bookmark server transmits the retrieved video bookmark and the associated video bookmark bundle to a UI generator. After transmission of the video bookmark and associated video bookmark bundle the server process terminates at  1028 . 
         [0070]    A video bookmark system for generating one or more event markers during video content viewing by a user selection action and capturing for each event marker timing and data about the subject of the video content at the time of the user selection action is presented. The content is stored in an electronic storage device each event marker, the associated event marker timing, and the data about the subject of the video content at the time of the event. Later a user, upon reviewing the stored event markers, may select at least one of the stored event markers where the selection retrieves associated subject data, retrieved video content, and generated content for presentation to a user on a video content display device. 
         [0071]    The user selection action may consist of interacting with a button, display option on a video device, or other clearly indicated selection device or step to generate an event marker, where the event marker comprises a label indicating a point in the content that is of interest to a user. The event marker may be a video content bookmark, where the data captured for an event marker may consist of at least the date, time, channel, and video content subject data for the event marker and, if a user submits personal information may contain user supplied personal data. The stored data may also contain one or more URLs, captured video clip content, or dynamic objects associated with the video content on display when the event marker is generated. 
         [0072]    The user may review stored event markers through an interactive video user interface and select any of the stored event markers to be retrieved from a content server. The generated content may include any of declarative content, metadata, URLs, audio clips, video clips, text, graphics, and generated interactive content associated with the subject data stored with the event marker. 
         [0073]    The description herein provides for an apparatus for generating video event markers having a video display, a data capture device to capture a user selection and interact with the video display device to generate one or more event markers during video content viewing. The user selection captures for each event marker timing information and data about the subject of the video content being displayed at the time of the user selection. The apparatus also has an electronic storage device that may receive and store each event marker, associated event marker timing, and data about the subject of the video content being displayed at the time of the event. A user interface may display stored event markers for user review and selection of at least one of the stored event markers, and present event marker subject data, retrieved video content, and generated content on a video display device. 
         [0074]    The apparatus may have a button, display option on a video device, or other clearly indicated selection device or step to mark an event. Marking an event may be done by interacting with a button, activating a device, or selecting a display option to indicate a user event marker selection to generate a video content bookmark. The video content bookmark may contain at least the date, time, channel, and video content subject data from the event marker and may also contain user supplied personal data when a user voluntarily submits such personal data. The stored data may also contain one or more URLs, captured video clip content, or dynamic objects associated with the video content on display when the event marker is generated. 
         [0075]    A user may review stored event markers through an interactive video user interface on a video display device and select any of the stored event markers. Such selection by the user retrieves from a content server generated content including any of declarative content, metadata, URLs, audio clips, video clips, text, graphics, and generated interactive content associated with the subject data stored with the event marker 
         [0076]    The system may also receive a video bookmark generated through a user action consisting of at least a channel identifier, channel map, and a timestamp for the video bookmark. The received video bookmark may contain subject information, downloadable objects, and metadata generated in association with the video bookmark. The video bookmark and all received data, information, and objects are stored into a video bookmark data bundle in a video bookmark server. The video bookmark server associates the video bookmark data bundle with an identifier indicating a stored video bookmark has been saved. The user may retrieve at least one video bookmark data bundle upon a request to the server from the user. Upon such a request, the system builds in the server a video bookmark experience data bundle comprising metadata associated with the video bookmark, captured still images, captured audio/video clips, a channel map ID, channel number, time of the video bookmark action, personalized data, URLs, close-captioned data and scraped text. The retrieved video bookmark and video bookmark experience data bundle is transmitted from the server to a video display. 
         [0077]    In an alternative implementation the system may generate one or more event markers during video content viewing by a user selection action. The user selection action captures for each event marker timing and data about the subject of the video content at the time of the user selection action. The user selection action comprises interacting with a button, display option on a video device, or other clearly indicated selection device or step to generate an event marker. 
         [0078]    The event marker may consist of a label indicating a point in the content that is of interest to a user and the data captured for an event marker may consist of at least the date, time, channel, and video content subject data for the event marker. The data captured for an event marker further may include user supplied personal data where a user voluntarily supplies such data. Each event marker is stored in an electronic storage device in combination with the associated event marker timing, and the data about the subject of the video content at the time of the event. The stored data may also contain at least one or more URLs, captured video clip content, or dynamic objects associated with the video content on display when the event marker is generated. 
         [0079]    A user may review the stored event markers through an interactive video user interface. Upon review, a user may select at least one of the stored event markers to retrieve associated subject data, retrieved video content, and generated content for presentation to a user on a video content display device. When the user selects any of the stored event markers a content server retrieves generated content including any of declarative content, metadata, URLs, audio clips, video clips, text, graphics, and generated interactive content associated with the subject data stored with the event marker. 
         [0080]    While certain illustrative embodiments have been described, it is evident that many alternatives, modifications, permutations and variations will become apparent to those skilled in the art in light of the foregoing description.