The present invention relates generally to a media system and, more particularly, to distributed media experiences among multiple users.
In distributed video viewing systems, where a group of users are viewing videos in a peer-to-peer (P2P) or distributed computing model, users will inevitably want to use certain functions such as trick play functionality. However, the video is viewed in a group and also in distributed locations. Thus, the individual preferences of each user often conflict with that of the entire group of users when viewing a video in the P2P or distributed viewing setting.
Systems and methods consistent with the present invention relate to resolving conflicting trick play preferences of each user versus the preferences of the entire group during playback of a media item such as, for example, a video.
Moreover, systems and methods consistent with the present invention provide trick play content resolution by providing techniques to manually and automatically resolve distributed trick play conflicts.
According to one aspect, the present invention provides a method of distributed trick play resolution in a distributed media group network, including: determining trick play preferences at each device of a plurality of devices in the distributed media group network with respect to a media item; and resolving conflicting trick play preferences between the devices based on the determined trick play preferences.
In the method, the distributed media group network may include a distributed video viewing group network and the media item may be a video item.
The present invention also provides a media system for distributed trick play resolution in a distributed video viewing group network, including: a device that determines trick play preferences and resolves conflicting trick play preferences with other devices in the distributed video viewing group network based on the determined trick play preferences.
Those skilled in the art will appreciate the scope of the present invention and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.
The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the invention, and together with the description serve to explain the principles of the invention.
The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the invention. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the invention and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
Note that at times the system of the present invention is described as performing a certain function. However, one of ordinary skill in the art would know that the program is what is performing the function rather than the entity of the system itself. Further, embodiments of the present invention can be implemented in software, hardware, or a combination thereof.
Although aspects of one implementation of the present invention are depicted as being stored in memory, one skilled in the art will appreciate that all or part of systems and methods consistent with the present invention may be stored on or read from other computer-readable media, such as secondary storage devices, like hard disks, floppy disks, and CD-ROM, or other forms of a read-only memory (ROM) or a random access memory (RAM) either currently known or later developed. Further, although specific components of the system have been described, one skilled in the art will appreciate that a system suitable for use with the methods and systems consistent with the present invention may contain additional or different components.
The media player 18 may be, for example, a personal computer, a set-top box (STB) for playing digital television content received from a television content provider, a Digital Video Recorder (DVR) for playing previously recorded video content such as previously recorded television content received from a television content provider, an Apple TV® device for playing downloaded content that has been purchased or rented from a remote media distribution service such as the Apple® iTunes® store, a Digital Versatile Disc (DVD) player, a mobile device, or the like. The media player 18 may be connected to the display device 20 via any desired audio/video connection such as, for example, a High Definition Multimedia Interface (HDMI) connection, a Digital Video Interface (DVI) connection, a coaxial cable connection, or the like. The display device 20 may be, for example, a computer display screen, a television (TV), or the like. In an alternative embodiment, the display device 20 may be incorporated into the media player 18.
The media player 18 includes a media playback function 24 and a media trick play function 26, each of which may be implemented in software, hardware, or a combination thereof. The media playback function 24 generally operates to provide playback of media items obtained from a content source such as a peer node 28 (or a server or combination thereof). As will be discussed in more detail below, the peer node 28 may be connected to other peer nodes P1, P2, P3, . . . Pn, or to a service, in a distributed video viewing group network 100. In the exemplary embodiment, the media items are video items. Other media items may include music playlists, online radio, etc. As such, the media playback function 24 provides playback of the video items and presentation of the video items to the user 14 via the display device 20. Although the peer node 28 is shown as a separate unit, it may be part of the media player 18.
The following is a more detailed description of the media system for distributed trick play resolution consistent with the present invention.
The term “trick play” as used herein generally refers to using the transport or viewing controls such as pause, instant replay, rewind, fast forward, skip, slow, etc., of the media player 18 (for example, a DVR system). As shown in
\As shown in
The content cache is fetched from, for example, a semantic database 30 (see
The content maintained by the peer node 28 is used to automatically generate a trick play preferences map for a piece of content which will be viewed on a distributed video viewing network such as a P2P network. The trick play preferences map can be generated before the content is viewed or sometime later upon request.
A mapping file can be generated using the following exemplary instruction:
Mapping File Structure
A mapping file may simply be a data structure that identifies the user and also comprises one or more substructures for each scene, including:
The Allow/Deny/Do not Care permissions for each scene may simply be set as flags for each type of trick play action, where 1=Allow, 0=Deny, X=Do not Care. The following Table shows the various permissions for a plurality of scenes:
Such a data structure can be pictorially depicted as in
Note that while the word “map file” as used herein may not necessarily correspond to an actual file on permanent storage, but to any data structure in memory that allows the same functions.
Also note that the above is only an exemplary embodiment of a mapping file, and more complex structures with more complex options may be possible. A more detailed description of how a peer trick play map file is created is set forth below.
Creating Peer Trick Play Map File
The peer trick play map file construction process utilizes the results of video analysis to determine user affinity with segments within the video. The video analysis per se can be performed by a central server or peer node using techniques known in the art such as scene classification, speaker identification, annotations analysis, etc. The analysis information may be embedded in the video or obtained from a service. The user's preferences, video playback history, and profile are used to evaluate whether specific trick play functions are enabled for each video segment. In addition to users' map files, there might also be a “global” map file associated with specific content, that forbids trick play actions at, or to, certain segments. An application of this would be spoiler-avoidance, e.g., “don't skip forward to the last 10 minutes because that is where the twist is.” Such a content-specific map file may be created and provided by the content creator, the content provider, the user's social network, or manually created by previous viewers of that content. An example of a more detailed version of the evaluation instruction discussed above may be as follows:
For each segment of the video:
The video content is divided into scenes by the peer node 28, content producer, social network or other means. For example, content producers often divide video content into chapters or segments which may be used for trick play mapping.
The trick play settings can be implicit or explicit as follows. With explicit or manual settings, the user selects scenes and examines the scenes explicitly and manually sets trick play preferences. Alternatively, the user explicitly describes scenes (using, for example, keywords, etc.) and the trick play actions allowed/disallowed for those scenes. During playback, the media player 18 provides controls that allow the viewer to select their desirability level for trick play events. For example, as a user starts watching an action scene, the user can use the input device 12 to select to “block skip, FF” and select that pause, rewind is acceptable.
Additionally, the viewer is provided preference controls in response to trick play requests received from another user. For example, a viewer receives a skip trick play event during the action scene and selects to “reject this and future skip events during action scenes.” As another example, the user can also select “reject future skip events during scenes like this,” where the system determines what kind of scene the particular scene is, and can determine affinity of future scenes.
With implicit or automatic settings, the user sets preferences for actors, scenes or genres. The system then examines annotations, close captioning, or other data or metadata associated with the video, and assigns a trick play preference based on the user preferences. For a further explanation of examining various data or metadata associated with video, see co-pending application Ser. No. 12/457,428, filed on Jun. 10, 2009, and which is incorporated herein by reference. The system may also examine the user's trick play history to determine scene preferences. For example, a user which invokes fast forward over romantic scenes would indicate to the system that the user would not object to fast forwards on romantic content, but would not desire rewinds. The system further examines user preferences and uses those preferences to find trick play preferences of others and maps them to the current content. The system then maps a preference to each video segment or scene. These preferences may include, but are not limited to, any of the following, in any combination:
Creating Merged Trick Play Map File
The map file preferences file is the mechanism by which preferences are communicated to other peers. In one embodiment, the mapping file is passed on request, as shown in
In
In a still further embodiment, all the mapping files are passed to one peer node or remote service 60 as shown in
The merged file MFM may be consulted before trick play is attempted. The merged file MFM may also be used to display to the users/peers what upcoming trick play functions are allowed, and who is blocking functions. Moreover, the merged map file MFM may be created simply by taking a logical-OR of the flags of the constituent map files, either for each scene, or for all scenes as a whole. Also, rather than load the entire map file, the peer nodes (or master peer or central server or whatever does the trick play resolution) may load the map file (or merged map file) piecewise into memory as the video playback progresses. The relevant piece of the map file may be determined by the current video playback offset.
Conflict Resolution
Conflicts in trick play functions arise from users/peers having different preferences. For example, one user may want to allow fast forwards, but not rewinds, and another may allow rewinds, but not fast forwards.
The following mechanisms may be used for conflict resolution in any combination:
The resolutions may vary by video segment, and the method for resolving may be encoded in the map file, along with instructions to the peer nodes 28 and P1-Pn.
Enforcing Distributed Trick Play Functionality
Merged trick play files MFM may be sent to all peer nodes 28 and P1-Pn in a distributed network. Peer nodes 28 and P1-Pn enforce and advise on trick play limitations as indicated in the merged map file by at least one of blocking trick play functions which are not allowed according to map file rules, by initiating a resolution sequence as indicated by the map file (for example, initiating a vote), by displaying in the GUI (e.g., a scrub bar at the bottom or sides of the screen, chapter heading or other video segmentation) the trick play rules in a graphical manner optionally along with users in the network which have interests in the trick play rules, or by having the playback scrub bar show potential conflicts and resolution options. Even if a user's trick play action is forbidden by the map file or other users, his own media player may be allowed to perform that trick play locally. The user may then be allowed an option of synchronizing with the other users later on in some manner. Other users may be notified that this user has performed a local trick play action, and they may act on it if they want to, for instance, by going along with it.
Based on this analysis, the peer nodes P1, P2, P3 construct trick play map files MF1, MF2 and MF3, respectively (steps 214, 216 and 218), describing their respective users' trick play preferences, as described in detail previously. The peer nodes then exchange their trick play map files MF1, MF2 and MF3, with each other, so that each peer node has a copy of all other peers' map files (steps 220-230). Each peer node then combines the map files MF1, MF2 and MF3 to generate a merged map file MFM, which contains the combined trick play preferences of all users (steps 232, 234, 236).
The peer nodes then start playing the content (steps 242, 244, 246), possibly in response to a play event by one or more users, or alternately when the peer nodes signal each other that they are ready. User 3 of peer node P3 then generates a trick play event E1 (step 248). Peer node P3 compares the trick play event E1 with the combined user preferences as described in the merged map file MFM at the current video playback offset (step 252). In this case, the peer node determines that the event E1 is not allowed by the merged map file MFM, and hence proceeds to block that action (step 254). Thus, an unwanted trick play action is efficiently and speedily blocked. The peer node may display a message to its user explaining why the trick play action was not allowed. If the system is so configured, it may allow the user to perform the trick play action locally without affecting the users of peer nodes P1 and P2, and let them synchronize at a later point.
Some time later, peer node P2 receives a trick play action E2 from its user (step 256). Peer Node P2 compares the trick play event E2 with the combined user preferences as described in the merged map file MFM at the current video playback offset (step 260). In this case, the trick play action is allowed. Hence, peer node P2 propagates the trick play event E2 to the peer nodes P1 and P3 (steps 262 and 264). All peer nodes, P1, P2 and P3, then perform the trick play action on the viewed content in a synchronized manner (steps 266, 268 and 270).
Various techniques well known in the art may be employed to ensure that the distributed trick play actions are performed in a synchronized manner, and that the resulting content playback at each peer is also synchronized. Note that peers P1 and P3 may compare the received trick play event with their own copies of the merged map file MFM, as well as their own map files MF1, MF2 and MF3, before trusting P2's message and performing the action (not shown). This may be necessary to protect users from malicious peers or users spamming trick play actions.
Based on this analysis, the peer nodes P1, P2, P3 construct trick play map files MF1, MF2 and MF3, respectively (steps 314, 316 and 318), describing their respective users' trick play preferences, as described in detail previously. The peer nodes P2 and P3 then forward their trick play map files MF2 and MF3, respectively, to the master peer P1 (steps 326-330). The master peer node P1 then combines the map files MF1, MF2 and MF3 to generate a merged map file MFM, which contains the combined trick play preferences of all users (steps 332). In addition to combining the map files, the master peer may also include other preferences or profiles, or assign higher priority to its own map file, or enable its user to examine and edit the combined trick play preferences, or any combination of these (not shown). The master peer node P1 then sends back the merged map file to the other peers P2 and P3, so that each peer node has a copy of the merged map file MFM (steps 338 and 340).
The peer nodes then start playing the content (steps 342, 344, 346), possibly in response to a play event by one or more users, or alternately when the peer nodes signal each other that they are ready. User 3 of peer node P3 then generates a trick play event E1 (step 348). Peer node P3 compares the trick play event E1 with the combined user preferences as described in the merged map file MFM at the current video playback offset (step 352). In this case, the peer node determines that the event E1 is not allowed by the merged map file MFM, and hence proceeds to block that action (step 354). Thus, an unwanted trick play action is efficiently and speedily blocked. The peer node may display a message to its user explaining why the trick play action was not allowed. If the system is so configured, it may allow the user to perform the trick play action locally without affecting the users of peer nodes P1 and P2, and let them synchronize at a later point.
Some time later, peer node P2 receives a trick play action E2 from its user (step 356). Peer node P2 compares the trick play event E2 with the combined user preferences as described in the merged map file MFM at the current video playback offset (step 360). In this case, the trick play action is allowed. Hence, peer node P2 propagates the trick play event E2 to the peer nodes P1 and P3 (steps 362 and 364). All peer nodes, P1, P2 and P3, then perform the trick play action on the viewed content in a synchronized manner (steps 366, 368 and 370).
Various techniques well known in the art may be employed to ensure that the distributed trick play actions are performed in a synchronized manner, and that the resulting content playback at each peer is also synchronized. Note that peers P1 and P3 may compare the received trick play event with their own copies of the merged map file MFM, as well as their own map files MF1, MF2 and MF3, before trusting P2's message and performing the action (not shown). This may be necessary to protect users from malicious peers or users spamming trick play actions.
The user of peer node P1 initiates a distributed group viewing session with peer nodes P2 and P3, for example, through a process of sending invitation messages (steps 400 and 401). Peers P1, P2 and P3 start the group viewing session (steps 402, 404 and 406, respectively), which may include performing several preparatory operations, such as setting up network connections, downloading or distributing the content, and so on. Next, the peer nodes P1, P2, P3 analyze the content and content metadata of the video to be watched, along with their respective users' profiles, to determine the users' trick play preferences as described previously (steps 408, 410 and 412).
Based on this analysis, the peer nodes P1, P2, P3 construct trick play map files MF1, MF2 and MF3, respectively (steps 414, 416 and 418), describing their respective users' trick play preferences, as described in detail previously. The peer nodes P2 and P3 then forward their trick play map files MF2 and MF3, respectively, to the master peer P1 (steps 426-430). The master peer node P1 then combines the map files MF1, MF2 and MF3 to generate a merged map file MFM, which contains the combined trick play preferences of all users (steps 432). In addition to combining the map files, the master peer may also include other preferences or profiles, or assign higher priority to its own map file, or enable its user to examine and edit the combined trick play preferences, or any combination of these (not shown). The master peer node P1 maintains the merged map file locally, so that the slave peer nodes P2 and P3 do not have a copy of the merged map file MFM, although optionally, the master node may share the merged map file with the slave nodes (not shown).
The peer nodes then start playing the content (steps 442, 444, 446), possibly in response to a play event by one or more users, or alternately when the peer nodes signal each other that they are ready. The user of peer node P3 then generates a trick play event E1 (step 448). Peer node P3 forwards the trick play event E1 to the master peer P1 (step 450). The master peer P1 then compares the trick play event E1 with the combined user preferences as described in the merged map file MFM at the current video playback offset (step 452). In this case, the peer node P1 determines that the event E1 is not allowed by the merged map file, MFM, and hence proceeds to block that action (step 454). Optionally, it may send a response message informing P3 that the trick play event E1 was not allowed, possibly along with an explanation (not shown). Alternately, peer node P3 may assume the lack of any response to mean that the event E1 was not allowed. The peer node P3 may display a message to its user explaining why the trick play action was not allowed. If the system is so configured, it may allow the user to perform the trick play action locally without affecting the users of peer nodes P1 and P2, and let them synchronize at a later point.
Some time later, peer node P2 receives a trick play action E2 from its user (step 456). It also forwards the trick play event E2 to the master peer P1. The master peer P1 compares the trick play event E2 with the combined user preferences as described in the merged map file MFM at the current video playback offset (step 460). In this case, the trick play action is allowed. Hence, the master peer node P1 propagates the trick. play event E2 to its slave peer nodes P2 and P3 (steps 462 and 464). All peer nodes, P1, P2 and P3, then perform the trick play action on the viewed content in a synchronized manner (steps 466, 468 and 470).
Various techniques well known in the art may be employed to ensure that the distributed trick play actions are performed in a synchronized manner, and that the resulting content playback at each peer is also synchronized. Note that if the user of peer P1 generates a trick play action, being the master peer, it would not need to forward the event to any other peer, but can check it against the merged map file locally. Note also that peers P2 and P3 may compare the received trick play event with their own map files MF2 and MF3, before trusting the master peer's message and performing the action (not shown). This may be necessary to protect users from malicious peers or users spamming trick play actions.
Referring to
Based on this analysis, the peer nodes P1, P2, P3 construct trick play map files MF1, MF2 and MF3, respectively (steps 514, 516 and 518), describing their respective users' trick play preferences, as described in detail previously. The peer nodes P1, P2 and P3 then forward their trick play map files MF1, MF2 and MF3, respectively, to the central server CS (steps 520, 526 and 530). The central server CS then combines the map files MF1, MF2 and MF3 to generate a merged map file MFM, which contains the combined trick play preferences of all users (steps 532). In addition to combining the map files, the server may also include other preferences or profiles, such as from historical information of other viewing groups that may have previously viewed the same or similar content, or enable the client peer node users to examine and edit the combined trick play preferences, or any combination of these (not shown). The central server CS maintains the merged map file locally, so that the client peer nodes P1, P2 and P3 do not need a copy of the merged map file MFM, although optionally, the central server may share the merged map file with the client peer nodes (not shown).
The peer nodes then start playing the content (steps 542, 544, 546), possibly in response to a play event by one or more users, or alternately when the peer nodes signal each other that they are ready. The user of peer node P3 then generates a trick play event E1 (step 548). Peer node P3 forwards the trick play event E1 to the central server CS (step 550). The central server CS then compares the trick play event E1 with the combined user preferences as described in the merged map file MFM at the current video playback offset (step 552). In this case, the central server CS determines that the event E1 is not allowed by the merged map file, MFM, and hence proceeds to block that action (step 554). Optionally, it may send a response message informing P3 that the trick play event E1 was not allowed, possibly along with an explanation (not shown). Alternately, peer node P3 may assume the lack of any response to mean that the event E1 was not allowed. The peer node P3 may display a message to its user explaining why the trick play action was not allowed. If the system is .so configured, it may allow the user to perform the trick play action locally without affecting the users of peer nodes P1 and P2, and let them synchronize at a later point.
Some time later, peer node P2 receives a trick play action E2 from its user (step 556). It also forwards the trick play event E2 to the central server CS (step 558). The central server CS compares the trick play event E2 with the combined user preferences as described in the merged map file MFM at the current video playback offset (step 560). In this case, the trick play action is allowed. Hence, the central server CS propagates the trick play event E2 to all its client peer nodes P1, P2 and P3 (steps 562, 564 and 565). All peer nodes, P1, P2 and P3, then perform the trick play action on the viewed content in a synchronized manner (steps 566, 568 and 570).
Various techniques well known in the art may be employed to ensure that the distributed trick play actions are performed in a synchronized manner, and that the resulting content playback at each peer is also synchronized. Note also that peers P1 and P3 may compare the received trick play event with their own map files MF1 and MF3, before trusting the master peer's message and performing the action (not shown). This may be necessary to protect users from malicious peers or users spamming trick play actions.
Note that the above configurations are exemplary embodiments, and alternative embodiments combining various aspects of those described above may be possible. For instance, map files may not be exchanged at all initially, but on receiving trick play events from a peer node, peer nodes may compare these events against their own map files, and if not allowed, may broadcast a failure message along with the relevant portion of the map file to the other peer nodes. Thus, only portions of the map file where a conflict actually arises are exchanged. Also, disallowed trick play actions in these examples are blocked by default, and several of the alternative embodiments discussed previously, such as user voting and so on, have not been explicitly described, but may be included to work with these embodiments.
The present invention has substantial opportunity for variation without departing from the spirit or scope of the present invention. For example, while the embodiments discussed herein are directed to personal or in-home playback, the present invention is not limited thereto. Further, while the examples refer to video segments or scenes, the present invention is not limited thereto and other forms of media content are contemplated herein.
Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present invention. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.
This application is a continuation of U.S. patent application Ser. No. 13/713,651, titled “System And Method For Distributed Trick Play Resolution Using User Preferences”, filed on Dec. 13, 2012 which is a continuation of U.S. patent application Ser. No. 12/656,529, titled “System And Method For Distributed Trick Play Resolution Using User Preferences”, filed on Feb. 2, 2010, which claims priority from U.S. Provisional Application No. 61/149,220 filed on Feb. 2, 2009, the disclosures of each of which are incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
4605964 | Chard | Aug 1986 | A |
5640193 | Wellner | Jun 1997 | A |
5687275 | Lane et al. | Nov 1997 | A |
5905865 | Palmer et al. | May 1999 | A |
5940831 | Takano | Aug 1999 | A |
6530084 | Del Sesto et al. | Mar 2003 | B1 |
6745368 | Boucher et al. | Jun 2004 | B1 |
6774908 | Bates et al. | Aug 2004 | B2 |
6907570 | Amir et al. | Jun 2005 | B2 |
7036083 | Zenith | Apr 2006 | B1 |
7149411 | Jun et al. | Dec 2006 | B2 |
7319806 | Willner et al. | Jan 2008 | B1 |
7356830 | Dimitrova | Apr 2008 | B1 |
7362950 | Jun et al. | Apr 2008 | B2 |
7802278 | Kweon | Sep 2010 | B2 |
20020038383 | Ullman et al. | Mar 2002 | A1 |
20020069218 | Sull et al. | Jun 2002 | A1 |
20020194608 | Goldhor | Dec 2002 | A1 |
20030072556 | Okujima et al. | Apr 2003 | A1 |
20030093790 | Logan et al. | May 2003 | A1 |
20030146940 | Ellis et al. | Aug 2003 | A1 |
20030152363 | Jeannin et al. | Aug 2003 | A1 |
20030177503 | Sull et al. | Sep 2003 | A1 |
20040034874 | Hord et al. | Feb 2004 | A1 |
20040098754 | Vella et al. | May 2004 | A1 |
20040189691 | Jojic et al. | Sep 2004 | A1 |
20040205087 | Dorsey et al. | Oct 2004 | A1 |
20040255336 | Logan et al. | Dec 2004 | A1 |
20050019006 | Suh et al. | Jan 2005 | A1 |
20050076359 | Pierson et al. | Apr 2005 | A1 |
20050125821 | Li et al. | Jun 2005 | A1 |
20050183120 | Jain et al. | Aug 2005 | A1 |
20050235318 | Grauch et al. | Oct 2005 | A1 |
20050283475 | Beranek et al. | Dec 2005 | A1 |
20060004704 | Gross | Jan 2006 | A1 |
20060015895 | Stone | Jan 2006 | A1 |
20060080167 | Chen et al. | Apr 2006 | A1 |
20060117357 | Surline | Jun 2006 | A1 |
20060161952 | Herz et al. | Jul 2006 | A1 |
20060168630 | Davies | Jul 2006 | A1 |
20060174293 | Ducheneaut et al. | Aug 2006 | A1 |
20060218602 | Sherer et al. | Sep 2006 | A1 |
20060271997 | Jacoby et al. | Nov 2006 | A1 |
20070033531 | Marsh | Feb 2007 | A1 |
20070094687 | Russell | Apr 2007 | A1 |
20070124795 | McKissick et al. | May 2007 | A1 |
20070127887 | Yap et al. | Jun 2007 | A1 |
20070143493 | Mullig et al. | Jun 2007 | A1 |
20070204287 | Conradt et al. | Aug 2007 | A1 |
20070204310 | Hua et al. | Aug 2007 | A1 |
20070219949 | Mekikian | Sep 2007 | A1 |
20070220552 | Juster et al. | Sep 2007 | A1 |
20070261095 | Petrisor et al. | Nov 2007 | A1 |
20070299870 | Finch | Dec 2007 | A1 |
20080065693 | Malik | Mar 2008 | A1 |
20080086456 | Rasanen et al. | Apr 2008 | A1 |
20080086688 | Chandratillake et al. | Apr 2008 | A1 |
20080092168 | Logan et al. | Apr 2008 | A1 |
20080109298 | Barton | May 2008 | A1 |
20080109750 | Lin-Hendel | May 2008 | A1 |
20080124052 | Sardera | May 2008 | A1 |
20080127268 | Bergeron et al. | May 2008 | A1 |
20080133736 | Wensley et al. | Jun 2008 | A1 |
20080140523 | Mahoney et al. | Jun 2008 | A1 |
20080147501 | Gilliam | Jun 2008 | A1 |
20080155461 | Ozaki | Jun 2008 | A1 |
20080155585 | Craner et al. | Jun 2008 | A1 |
20080212775 | Mirsky et al. | Sep 2008 | A1 |
20080281689 | Blinnikka et al. | Nov 2008 | A1 |
20090083809 | Hayashi et al. | Mar 2009 | A1 |
20090119166 | Taylor et al. | May 2009 | A1 |
20090180753 | Kitazato | Jul 2009 | A1 |
20090210300 | Cansler et al. | Aug 2009 | A1 |
20090288112 | Kandekar et al. | Nov 2009 | A1 |
20090288131 | Kandekar et al. | Nov 2009 | A1 |
20090292819 | Kandekar et al. | Nov 2009 | A1 |
20100077435 | Kandekar et al. | Mar 2010 | A1 |
20100195975 | Issa et al. | Aug 2010 | A1 |
20100199295 | Katpelly et al. | Aug 2010 | A1 |
20120039578 | Issa et al. | Feb 2012 | A1 |
Entry |
---|
Francisco-Revilla, Luis, “A Picture of Hypervideo Today,” at <http://www.csdl.tamu.edu/˜l0f0954/academic/cpsc610/p-1.htm>, 1998, printed Sep. 6, 2011, 15 pages. |
Tsinaraki, C. et al., “A Video Metadata Model Supporting Personalization & Recommendation in Video-based Services,” Proc. of MDDE Workshop (in conjunction with RETIS), Lyon, France, Jul. 2001, pp. 104-109, found at <http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.104.3610>, 6 pages. |
Pfeiffer, Silvia, “Architecture of a Video Web—Experience with Annodex,” at <http://www.w3.org/2007/08/video/positions/annocex.pdf>, dated Nov. 21, 2007, Position Statement W3C Video Workshop, Dec. 12-13, 2007, San Jose, California and Brussels, Belgium, 5 pages. |
“Asterpix Interactive Video—Frequently Asked Questions,” at <http://www.video.asterpix.com/help>, found on the Internet Archive, dated May 13, 2009, appears to date back as early as Oct. 2007, printed May 13, 2011, 8 pages. |
Iskrocki, “How to disable YouTube's new related videos feature,” Jun. 7, 2007, at <http://blogs.oracle.com/Iskrocki/entry/how—to—disable—youtube—s>, printed Dec. 12, 2011, 6 pages. |
“Hypermedia,” at <http://en.wikipedia.org/wiki/Hypermedia>, page last modified May 9, 2011, printed May 13, 2011, 2 pages. |
“Hypervideo,” at <http://en.wikipedia.org/wiki/Hypervideo>, page last modified Apr. 13, 2011, printed May 13, 2011, 5 pages. |
Weng, Chung-Yi et al., “Movie Analysis Based on Role's Social Network,” In Proceedings of IEEE International Conference on Multimedia and Expo, Jul. 2-5, 2007, Beijing, China, pp. 1403″1406, found at <http://www.cmlab.csie.ntu.edu.tw/new—cml—website/media/publications/Weng-2007-MAB.pdf>, 4 pages. |
PCT/US09/05089—International Search Report and Written Opinion. |
Worring, Marcel and Snoek, Cees, “SAMT 2006—Semantic Indexing and Retrieval of Video,” SAMT 2006 Conference in Athens, Greece, Dec. 6-8, 2006, 172 pages. |
Bolle, R. M. et al, “Video query: Research directions,” IBM Journal of Research and Development, Volume: 42 , Issue: 2, Digital Object Identifier: 10.1147/rd.422.0233, Publication Date: Mar. 1998, pp. 233-252, copyright 1998, IBM, 20 pages. |
“What is Tribler?”, found at <http://www.tribler.org/trac/wiki/whatlsTribler>, dated stated as “Last modified 3 years ago,” with most history noted as being modified 3 or more years ago, visited and printed on Dec. 14, 2011, 2 pages. |
Miller, Michael, “YouTube 4 You,” Que, Apr. 26, 2007, pp. 10-15, 39-48, 52-56, 69-71, 128-129, and 153-155, 30 pages. |
Number | Date | Country | |
---|---|---|---|
20150023654 A1 | Jan 2015 | US |
Number | Date | Country | |
---|---|---|---|
61149220 | Feb 2009 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13713651 | Dec 2012 | US |
Child | 14449577 | US | |
Parent | 12656529 | Feb 2010 | US |
Child | 13713651 | US |