# Patent

## Title
Methods and computer program products for subcontent tagging and playback

## Abstract

A method for tagging subcontent includes creating a first begin tag for a program to be delivered over a network, wherein the first begin tag defines a beginning of a first video segment of the program. A first video frame is identified for the first video segment, the first video frame representing content of the first video segment. A second begin tag is created for the program, the second begin tag defines a beginning of a second video segment of the program. A second video frame is identified for the second video segment, the second video frame representing content of the second video segment. The first begin tag is distinct from the second begin tag, the first video frame is distinct from the second video frame, and the first video segment is distinct from the second video segment.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 11/941,118 filed Nov. 16, 2007, the entire contents of which are incorporated herein by reference.


TECHNICAL FIELD
Exemplary embodiments relate generally to electronic content distribution and, more specifically, to methods and computer program products for subcontent tagging and playback.
BACKGROUND
In today's busy and harried society, program viewers may not have sufficient time or inclination to view a broadcast program in its entirety. For example, a viewer desires to watch the weather portion of a local newscast, but has no interest in sports or national news. Similarly, a viewer may be interested in watching a contestant of special interest on a reality-based program involving a talent competition, but does not wish to spend the time viewing numerous other competitors. Moreover, a typical cable television or internet protocol television (IPTV) system may offer a multiplicity of real time broadcast channels such as CBS, NBC, ABC, PBS and FOX, as well as a number of channels offering movies or other programming on request. Viewers may wish to switch back and forth between two or more programs of interest being broadcast on two or more different channels. Although present-day digital video recorders are typically equipped with rewind and fast-forward functionality, it may be inconvenient and cumbersome to locate one or more desired portions of a program while excluding undesired portions.
SUMMARY
Exemplary embodiments relate to methods and computer program products for subcontent tagging and playback. According to methods of subcontent tagging, a content provider inserts at least one begin tag and at least one end tag into a broadcast program. The at least one begin tag and at least one end tag defines a video clip segment for the broadcast program. The content provider transmits the broadcast program including the at least one begin tag and the at least one end tag over a network to a digital video recorder (DVR). Upon the broadcast program ending, the content provider transmits a wrapper over the network to the DVR. The wrapper includes wrapper information comprising at least one of a sponsor advertisement, a trailer broadcast, a header broadcast, or a summary of one or more video clip segments.
According to methods of subcontent playback, a digital video recorder receives a broadcast program including at least one begin tag and at least one end tag, the at least one begin tag and at least one end tag defining a video clip segment for the broadcast program. The DVR stores the video clip segment for the broadcast program. The DVR associates the stored video clip segment with a thumbnail comprising a first video frame from the video clip segment. Upon the broadcast program ending, the DVR receives a wrapper including wrapper information comprising at least one of a sponsor advertisement, a trailer broadcast, a header broadcast, or a summary of one or more video clip segments. The DVR initiates a display of the thumbnail for the video clip segment. In response to the DVR receiving a user's selection of the thumbnail, the DVR initiates playback of the video clip segment including the wrapper information.
Another set of exemplary embodiments includes computer program products for subcontent tagging. The computer program products include a storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for facilitating a method. The method includes a content provider inserting at least one begin tag and at least one end tag into a broadcast program. The at least one begin tag and at least one end tag defines a video clip segment for the broadcast program. The content provider transmits the broadcast program including the at least one begin tag and the at least one end tag over a network to a digital video recorder (DVR). Upon the broadcast program ending, the content provider transmits a wrapper over the network to the DVR. The wrapper includes wrapper information comprising at least one of a sponsor advertisement, a trailer broadcast, a header broadcast, or a summary of one or more video clip segments.
Another set of exemplary embodiments includes computer program products for subcontent playback. The computer program products include a storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for facilitating a method. The method includes a digital video recorder receiving a broadcast program that includes at least one begin tag and at least one end tag, the at least one begin tag and at least one end tag defining a video clip segment for the broadcast program. The DVR stores the video clip segment for the broadcast program. The DVR associates the stored video clip segment with a thumbnail comprising a first video frame from the video clip segment. Upon the broadcast program ending, the DVR receives a wrapper including wrapper information comprising at least one of a sponsor advertisement, a trailer broadcast, a header broadcast, or a summary of one or more video clip segments. The DVR initiates a display of the thumbnail for the video clip segment. In response to the DVR receiving a user's selection of the thumbnail, the DVR initiates playback of the video clip segment including the wrapper information.
Other methods, computer program products, and apparatuses according to embodiments will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such additional systems, methods, and/or computer program products be included within this description, be within the scope of the exemplary embodiments, and be protected by the accompanying claims.



BRIEF DESCRIPTION OF THE DRAWINGS
Referring now to the drawings wherein like elements are numbered alike in the several FIGURES:
FIG. 1 is a simplified block diagram of an exemplary communication system used to perform subcontent tagging and playback.
FIG. 2 is a flowchart of an exemplary procedure for performing subcontent tagging and playback.



The detailed description explains the exemplary embodiments, together with advantages and features, by way of example with reference to the drawings.
DETAILED DESCRIPTION
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of embodiments. However it will be understood by those of ordinary skill in the art that the embodiments may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the embodiments.
FIG. 1 is a simplified block diagram of an exemplary communication system used to perform subcontent tagging and playback. A content provider 102 provides programming that includes one or more live broadcast programs and, optionally, one or more prerecorded programs. The content provider 102 is illustratively implemented using a head end for receiving and processing a plurality of broadcast channels such as CBS, NBC, ABC, FOX, and ESPN to provide program streams for each of the plurality of broadcast channels. The content provider 102 is operatively coupled to a network 100. Illustratively, the content provider 102 may, but need not, include one or more access servers and one or more delivery servers.
A non-exhaustive list of examples for the network 100 includes wired or optical networks such as the Internet, intranets, Ethernet networks, token rings, Universal Serial Bus (USB), wired networks according to the IEEE 1394-1995, IEEE 1394a-2000, and IEEE 1394b standards (commonly known as “FireWire”), or any combination thereof. The network 100 may include any combination of additional communication devices (not shown) such as gateways, routers, switches, and the like. Additionally or alternatively, the network 100 may include wireless networks such as Direct Sequence-Code Division Multiple Access (DS-CDMA), Global System for Mobile Communications (GSM), North American Digital Cellular (NADC), Time Division Multiple Access (TDMA), Extended-TDMA (E-TDMA), W-CDMA, GPRS, GSM, Enhanced Data for GSM Evolution (EDGE), 3G and 4G communication, wireless local area networks such as 802.11, BluetoothTM, ZigbeeTM, ultra wideband (UWB), or various combinations thereof.
A digital video recorder (DVR) 106 is operatively coupled to the network 100. The DVR 106 includes a receiving mechanism for receiving one or more broadcast programs from the network 100. According to exemplary embodiments, the DVR 106 also includes a storage mechanism, operatively coupled to the receiving mechanism, that is capable of storing one or more broadcast programs received from the network 100 for subsequent playback on a display mechanism 113. The display mechanism 113 is also capable of displaying a first thumbnail 115 and a second thumbnail 116. In accordance with exemplary embodiments, the first thumbnail 115 represents a first video frame of a first clip 105 and the second thumbnail 116 represents a first video frame of a second clip 107. The first thumbnail 115 and the second thumbnail 116 may, but need not, be similar in appearance to scene change still images commonly present on prerecorded DVD movies. Optionally, the display mechanism 113 is capable of displaying a playlist of one or more thumbnails that have been selected by a user for future playback using a selection mechanism 114.
The selection mechanism 114 may accept user input for selecting a thumbnail such as the first thumbnail 115 or the second thumbnail 116. Illustratively, the selection mechanism 114 may be implemented using a keypad, keyboard, touch-sensitive display screen or remote control. The selection mechanism 114 could, but need not, be integrated into the DVR 106 or into the display mechanism 113 or both. Optionally, the selection mechanism 114 permits a user to switch back and forth between viewing a clip, such as the first clip 105, and viewing an entire broadcast program from which the clip was obtained.
As illustrated in FIG. 1, the content provider 102 transmits a content 108 to the network 100. According to exemplary embodiments, the content 108 includes a broadcast program commencing at 0:00 and ending at 1:00. A first begin tag 121 and a first end tag 122 define a beginning time and an ending time for the first clip 105. Similarly, a second begin tag 123 and a second end tag 124 define a beginning time and an ending time for the second clip 107. Illustratively, the first begin tag 121, the first end tag 122, the second begin tag 123, and the second end tag 124 are each implemented using extensible markup language (XML) tags with time stamps. For example, a first time stamp defines a beginning time for the first clip 105, and a second time stamp defines an ending time for the first clip 105. Illustratively, the first clip 105 and the second clip 107 may be emailed to one or more destination addresses over the network 100 by an email-enabled DVR, such as the DVR 106, or by a computing device used in conjunction with the DVR 106.
According to exemplary embodiments, XML tags are editable and also permit entry of commentary associated with the first clip 105 or the second clip 107 or both. XML tags may, but need not, be used to provide a pop-up message or advertisement in the first clip 105 or the second clip 106, or both. Likewise, XML tags may be used to blank out a certain number of lines of program material at the top or bottom of a screen displayed by the display mechanism 113, so as to permit textual or graphical information to be inserted into the blanked out lines. XML tags can be used to provide a message or advertisement that persists on the screen of the display mechanism 113 for a certain amount of time, such as five seconds.
According to exemplary embodiments, the content 108 includes a wrapper 109 after the end of the broadcast program. The wrapper 109 includes wrapper information comprising at least one of a sponsor advertisement, a trailer broadcast, a header broadcast, or a summary of one or more video clip segments such as the first clip 105 or the second clip 107.
FIG. 2 is a flowchart of an exemplary procedure for performing subcontent tagging and playback. The procedure commences at block 201 where a content provider (such as the content provider 102 of FIG. 1) inserts at least one begin tag 121 (FIG. 1) and at least one end tag 122 into a broadcast program. The at least one begin tag 121 and at least one end tag 122 defines a video clip segment for the broadcast program, such as first clip 105. Next, at block 203 (FIG. 2), the content provider 102 transmits the broadcast program including the at least one begin tag 121 and the at least one end tag 122 over a network (such as the network 100, FIG. 1) to a digital video recorder (DVR 106, FIG. 1).
The procedure advances to block 205 (FIG. 2) where the DVR 106 (FIG. 1) receives the broadcast program including the at least one begin tag 121 and the at least one end tag 122. The DVR 106 then stores the video clip segment for the broadcast program (FIG. 2, block 207). The DVR 106 associates the video clip segment with a thumbnail comprising a first video frame from the video clip segment (block 209). For example, the DVR 106 may associate a video clip segment comprising the first clip 105 (FIG. 1) with the first thumbnail 115, wherein the first thumbnail 115 comprises a first video frame of the first clip 105. Similarly, the DVR may associate a video clip segment comprising the second clip 107 with the second thumbnail 116, wherein the second thumbnail 116 comprises a first video frame of the second clip 107.
At block 211 (FIG. 2), upon the broadcast program ending, the content provider 102 (FIG. 1) transmits a wrapper, such as the wrapper 109, over the network 100 to the DVR 106. According to exemplary embodiments, the wrapper 109 includes wrapper information comprising at least one of a sponsor advertisement, a trailer broadcast, a header broadcast, or a summary of one or more video clip segments. Next, at block 213 (FIG. 2), the DVR 106 (FIG. 1) receives the wrapper 109. The DVR 106 initiates a display of the thumbnail for the video clip segment (block 215, FIG. 2). For example, the DVR 106 (FIG. 1) may initiate a display of the first thumbnail 115 for the first clip 105 and the second thumbnail 116 for the second clip 107 on the display mechanism 113.
The procedure of FIG. 2 advances to block 217 where, in response to the DVR 106 (FIG. 1) receiving a user's selection of a thumbnail such as the first thumbnail 115 or the second thumbnail 116 over the selection mechanism 114, the DVR 106 initiates playback of a video clip segment corresponding to the selected thumbnail and playback of at least a portion of the wrapper 109. For example, if the user selects the first thumbnail 115, the DVR 106 initiates playback of first clip 105 and also plays back at least one of a sponsor advertisement, a trailer broadcast, a header broadcast, or a summary of one or more video clip segments included in the wrapper 109. A header broadcast may include program material inserted prior to a video clip segment, such as first clip 105, whereas a trailer broadcast may include program material inserted after a video clip segment.
As described above, the exemplary embodiments can be in the form of computer-implemented processes and apparatuses for practicing those processes. The exemplary embodiments can also be in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the exemplary embodiments. The exemplary embodiments can also be in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into an executed by a computer, the computer becomes an apparatus for practicing the exemplary embodiments. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.
While the invention has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiments disclosed for carrying out this invention, but that the invention will include all embodiments falling within the scope of the claims. Moreover, the use of the terms first, second, etc. do not denote any order or importance, but rather the terms first, second, etc. are used to distinguish one element from another. Furthermore, the use of the terms a, an, etc. do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced item.

## Claims

1. A method for tagging subcontent, the method comprising:
creating, using a processor, a first begin tag for a program to be delivered over a network, wherein the first begin tag defines a beginning of a first video segment of the program;
identifying a first video frame for the first video segment, the first video frame representing content of the first video segment, wherein the first video frame is displayable as a first thumbnail;
creating, using a processor, a second begin tag for the program, wherein the second begin tag defines a beginning of a second video segment of the program; and
identifying a second video frame for the second video segment, the second video frame representing content of the second video segment, wherein the second video frame is displayable as a second thumbnail, wherein the first begin tag is distinct from the second begin tag, the first video frame is distinct from the second video frame, and the first video segment is distinct from the second video segment.

2. The method of claim 1 further comprising:
creating a wrapper for the program, the wrapper including wrapper information comprising a sponsor advertisement.

3. The method of claim 1 wherein the first begin tag is implemented using an extensible markup language tag with time stamps, wherein a first time stamp defines a beginning time for the first video segment.

4. The method of claim 3 wherein the extensible markup language tag is editable and used to perform entry of commentary associated with the first video segment.

5. The method of claim 1 further comprising:
emailing the first video segment to a destination address over the network.

6. A computer program product for tagging subcontent, the computer program product including a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for executing a method comprising:
creating a first begin tag for a program to be delivered over a network, wherein the first begin tag defines a beginning of a first video segment of the program;
identifying a first video frame for the first video segment, the first video frame representing content of the first video segment, wherein the first video frame is displayable as a first thumbnail;
creating a second begin tag for the program, wherein the second begin tag defines a beginning of a second video segment of the program; and
identifying a second video frame for the second video segment, the second video frame representing content of the second video segment, wherein the second video frame is displayable as a second thumbnail, wherein the first begin tag is distinct from the second begin tag, the first video frame is distinct from the second video frame, and the first video segment is distinct from the second video segment.

7. The computer program product of claim 6 further comprising instructions for execution by the processing circuit for executing:
creating a wrapper for the program, the wrapper including wrapper information comprising a sponsor advertisement.

8. The computer program product of claim 6 wherein the first begin tag is implemented using an extensible markup language tag with time stamps, wherein a first time stamp defines a beginning time for the first video segment.

9. The computer program product of claim 8 wherein the extensible markup language tag is editable and used to perform entry of commentary associated with the first video segment.

10. The computer program product of claim 6 further comprising instructions for execution by the processing circuit for executing:
emailing the first video segment to a destination address over the network.

11. A method for distributing a program and associated tagged subcontent, the method comprising:
sending, using a processor, the program over a network for distribution to a user; and
sending associated tagged subcontent over the network for distribution to the user, the tagged subcontent comprising:
a first begin tag for the program, wherein the first begin tag defines a beginning of a first video segment of the program;
a first video frame of the first video segment, the first video frame representing content of the first video segment, wherein the first video frame is displayable as a first thumbnail;
a second begin tag for the program, wherein the second begin tag defines a beginning of a second video segment of the program; and
a second video frame for the second video segment, the second video frame representing content of the second video segment, wherein the second video frame is displayable as a second thumbnail;
wherein the first begin tag is distinct from the second begin tag, the first video frame is distinct from the second video frame, and the first video segment is distinct from the second video segment.

12. The method of claim 11 further comprising:
creating a wrapper for the program, the wrapper including wrapper information comprising a sponsor advertisement; and
sending the wrapper over the network for distribution to the user.

13. The method of claim 11 wherein the first begin tag is implemented using an extensible markup language tag with time stamps, wherein a first time stamp defines a beginning time for the first video segment.

14. The method of claim 13 wherein the extensible markup language tag is editable and used to perform entry of commentary associated with the first video segment.

15. The method of claim 11 further comprising:
emailing the first video segment to a destination address over the network.

16. A computer program product for distributing a program and associated tagged subcontent, the computer program product including a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for executing a method comprising:
sending the program over a network for distribution to a user; and
sending associated tagged subcontent over the network for distribution to the user, the tagged subcontent comprising:
a first begin tag for the program, wherein the first begin tag defines a beginning of a first video segment of the program;
a first video frame of the first video segment, the first video frame representing content of the first video segment, wherein the first video frame is displayable as a first thumbnail;
a second begin tag for the program, wherein the second begin tag defines a beginning of a second video segment of the program; and
a second video frame for the second video segment, the second video frame representing content of the second video segment, wherein the second video frame is displayable as a second thumbnail;
wherein the first begin tag is distinct from the second begin tag, the first video frame is distinct from the second video frame, and the first video segment is distinct from the second video segment.

17. The computer program product of claim 16 further comprising instructions for execution by the processing circuit for executing:
creating a wrapper for the program, the wrapper including wrapper information comprising a sponsor advertisement; and
sending the wrapper over the network for distribution to the user.

18. The computer program product of claim 16 wherein the first begin tag is implemented using an extensible markup language tag with time stamps, wherein a first time stamp defines a beginning time for the first video segment.

19. The computer program product of claim 18 wherein the extensible markup language tag is editable and used to perform entry of commentary associated with the first video segment.

20. The computer program product of claim 16 further comprising instructions for execution by the processing circuit for executing:
emailing the first video segment to a destination address over the network.