The present disclosure is generally related to systems and methods of providing video content.
A video content provider may offer an enormous quantity of video content to a subscriber. Video content is typically provided to the subscriber as a complete video program, including one or more video segments. For example, a news program may include multiple segments related to different topics, such as a local news segment, a national news segment, a world news segment, a sports news segment, and a weather segment. The subscriber may only be interested in certain portions of different programs, but the subscriber may not have the time or the ability to scan all of the available programs in order to identify and view portions of interest. Hence, there is a need for an improved system and method of providing video content.
The disclosure is directed to systems and methods of providing video content. In a particular illustrative embodiment, a user may access a graphical user interface of a set-top box device to specify topics of interest, search criteria, particular programs, or any combination thereof. The set-top box device may receive video content from a network and analyze the received video content according to the user inputs to identify and to store selected program segments. The set-top box device may assemble the stored program segments into one or more custom video presentations. Each custom video presentation may include program segments or video clips that address the user-specified topics of interest. The set-top box device may provide the custom video presentation to a display device.
In a particular embodiment, a set-top box is disclosed that includes a processor and a memory device accessible to the processor. The memory device includes instructions executable by the processor to receive data indicating content criteria and to receive data corresponding to one or more selections of video programs, where each video program includes at least one program segment having a soundtrack portion. The memory device also includes instructions executable by the processor to receive and store the program segments. The memory device also includes instructions executable by the processor to determine whether each program segment is a relevant segment based on the content criteria and to assemble all relevant segments to produce a custom video presentation.
In another embodiment, a method of providing video content is disclosed that includes receiving content criteria at a set-top box device. The method also includes receiving at least one selection of a video program at the set-top box device, wherein each video program includes at least one program segment. The method also includes receiving each video program at the set-top box device and determining whether each program segment is a relevant segment based on the content criteria. The method also includes assembling all relevant segments at the set-top box device to produce a custom video presentation.
In another embodiment, a processor-readable medium is disclosed that tangibly embodies processor readable instructions executable by a processor to receive data indicating content criteria and to receive data corresponding to one or more selections of video programs, where each video program includes at least one program segment having a soundtrack portion. Further, the processor readable instructions are executable by the processor to receive and store the program segments and to determine whether each program segment is a relevant segment based on the content criteria. The processor readable instructions are also executable by the processor to assemble all relevant segments to produce a custom video presentation.
As indicated in
In a particular illustrative embodiment, the set-top box device 108 may receive an input from the remote control device 126 indicating a selection of a command to provide a menu or other graphical user interface (GUI) to configure the set-top box device 108 to produce a custom video presentation. The processor 112 may receive the input from the remote interface 122 and may execute the menu generating module 130 to generate the graphical user interface (GUI) and to send the GUI to the display device 128 via the display interface 116. Examples of such GUIs are illustrated in
In an illustrative embodiment, the GUI may include user selectable indicators that allow a user to input preferences, such as search terms, programs of interest, topics of interest, custom program ordering specifications, or any combination thereof. In another particular illustrative embodiment, the GUI may include an electronic program guide (EPG) from which the user may select particular programs of interest to be added entirely to a custom video presentation or to be searched for content matching user preferences. An example of such a GUI is illustrated in
In a particular embodiment, the set-top box device 108 may receive content from the content source 102 via the network 104. The received content may include text, audio, video content, other media content, or any combination thereof. In an illustrative embodiment, the content can include one or more segment identifiers that indicate new content segments. If a program is to be added entirely to a custom video presentation, the program can be stored at the memory 114. If a program is to be searched for content matching user preferences, the new segment identification module 134 may be executable by the processor 112 to monitor the received content for new segment identifiers.
In a particular embodiment, the memory device 114 can include a search/identify module 136 that is executable by the processor 112 to scan closed-captioning data associated with an identified content segment and to identify content segments matching user preferences. In an illustrative embodiment, the memory device 114 can include a speech-to-text module 138 to convert audio data associated with the received content into text data, which may be searched using the search/identify module 136 to identify matches to search terms and other user preferences.
In a particular embodiment, the processor 112 may identify a relevant segment of content by determining, for example, that a word or phrase within the closed-captioning data, matches one or more of the user specified search phrases or topics of interest. When received content includes a segment related to the user preferences, such as user-defined topics of interest, the set-top box device 108 may store the relevant segment at the segment storage module 140. In a particular illustrative embodiment, the processor 112 may also store a segment memory starting address and a segment duration of each relevant segment into a relevant segment list, which may be used by the assemble/delete module 140 to assemble a custom video presentation.
In a particular embodiment, the memory device 114 can include an assemble/delete module 142 that is executable by the processor 112 to assemble a custom video presentation from stored video segments, entire stored programs, or any combination thereof, based on user preferences. For example, the assemble/delete module 142 can be executable by the processor 112 to assemble a custom video presentation related to a single user-defined topic of interest from stored video segments. In an illustrative embodiment, the set-top box device 108 can include a selectable listing for the custom video presentation within an electronic program guide. The set-top box device 108 can send the custom video presentation to the display device 128 in response to a selection of the listing.
In a particular embodiment, the memory device 114 can include a segment ordering module 144 that is executable by the processor 112 to order the relevant segments that have been stored prior to concatenation. For example, the user preferences may include an ordering specification that specifies a predefined order in which the relevant segments may be assembled to produce the custom video presentation. In an illustrative embodiment, the ordering specification may specify that relevant segments are to be arranged within the custom video presentation based on a criteria weighting, a program weighting, a program recording date, a user specified order, a relevance of each segment relative to user specified search criteria, a date or time when each segment was broadcast, a frequency of user-defined search terms within each segment, a user-defined weighting of a program in which a relevant segment is found, a user-defined weighting of a content criterion matched by a relevant segment, other specifications, or any combination thereof.
In an illustrative, non-limiting embodiment, the memory device 114 can include a peer-to-peer module 146 that is executable by the processor 112 to share recorded video segments with other set-top box devices 108 via the network 104. In a particular embodiment, the set-top box 108 may communicate a list of stored video segments and associated data to the content source 102. The content source 102 may receive search criteria from another set-top box device and may instruct the set-top box device 108 to transfer selected video segments to the requesting set-top box device. In another embodiment, the set-top box device 108 may operate as a super node to relay data between set-top box devices associated with the network 104. In this embodiment, the peer-to-peer module 146 can be executable by the processor 112 to track content stored at other set-top box devices.
In a particular embodiment, the first set-top box device 204 may send search criteria to the content source 202. The first set-top box device 204 may also send a list of user selected programs to the content source 202. The content source 202 may store the search criteria and list of programs and track content stored at the first and second set-top box devices 204 and 206. In an illustrative embodiment, the content source 202 may also transmit search criteria and one or more user selected programs received by the first set-top box device 204, to the second set-top box device 206, for the purposes of performing functions provided by elements of the second set-top box device 206 with respect to specific content programs when sufficient resources are not available at the first set-top box device 204. For example, the second set-top box device 206 can include the new segment identification module 134, search identity module 136, speech-to-text module 138, and segment storage module 140, illustrated in
In a particular illustrative embodiment, the content source 202 may determine that the second set-top box device 206 has a stored content segment that is related to search criteria received from the first set-top box device 204. In a particular illustrative embodiment, the content source 202 may send a request to the second set-top box device 206 to send the stored content segment to the first set-top box device 204 via the network 208. The first set-top box device 204 may search the content (e.g., closed-captioning data, text data derived from the audio soundtrack, other data, or any combination thereof) associated with the content segment to identify a match with user preferences. If a match is found, the first set-top box device 204 may add the content segment to a custom video presentation. Alternatively, the first set-top box device 204 can send a request to the second set-top box device 206 to perform the segment identification steps (or other steps provided, for example, by the modules 134-140, illustrated in
In a particular embodiment, the first set-top box device 204 may have available memory and bandwidth to operate as a super node within a peer-to-peer network. In this embodiment, the first set-top box device 204 may track content stored by a group of set-top box devices communicating via the network 208. The first set-top box device 204 may receive search criteria either from the second set-top box device 206 or from the content source 202 and search content segments stored in its memory to identify a match with the search criteria. The first set-top box device 204 may also transmit the search criteria to the other set-top box devices, which may perform similar searches to identify a match. In a particular embodiment, a match may be recognized when one or more terms of the search criteria matches a word or phrase of the closed-captioning data related to a content segment.
When a match is established, the first set-top box device 204 or one of the other set-top box devices may identify a particular content segment as a relevant segment. If the first set-top box device 204 stores the relevant segment stored locally, the first set-top box device 204 may transmit the relevant segment to the second set-top box device 206 via the network 208. The first set-top box device 204 may also send associated data to the requesting set-top box device, such as a video program airing date and a video program generation date related to the relevant segment. If the relevant segment is stored at another set-top box device (not shown), the first set-top box device 204 may transmit a command or a request to the other set-top box device to transmit the relevant segment to the second set-top box device 206.
Proceeding to 306, in an illustrative embodiment, the set-top box device can send an electronic program guide (EPG) to the display device. Continuing to 308, the set-top box device receives one or more selections of programs listed within the EPG. For example, the selection(s) may identify one or more programs that are likely to include content related to search terms or topics of interest included in the user preferences. At 310, the set-top box device stores the user preferences and program selections.
Continuing to 312, the set-top box device receives video content of the selected programs and identifies relevant segments that match the user preferences. In an illustrative embodiment, the set-top box device can record the video content via a digital video recording portion of the set-top box device. Proceeding to 314, in an illustrative embodiment, the set-top box device can assemble the relevant segments into a custom video presentation and delete non-relevant segments from memory. The method terminates at 316.
If the set-top box device determines that there is not a match between the text related to the content segment and one or more user preferences, the method moves to 412, and the set-top box device deletes the content segment from memory. On the other hand, if the set-top box device determines that there is a match between the text related to the content segment and one or more user preferences, the method proceeds to 414, and the set-top box device can, in an illustrative embodiment, add a segment starting address and duration data to a segment list associated with a custom video presentation.
Proceeding to 416, the set-top box device determines whether the end of the program has been reached. If the end of the program has not been reached, the method can return to 406, and a next segment indicator can be identified within the program. Conversely, if the end of the program has been reached, the method can advance to 418, and the set-top box device can determine whether all programs selected by the user have been received. If all programs selected by the user have not been received, the method can return to 404, and the set-top box device can begin recording another program. Whereas, if all programs selected by the user have been received at the set-top box device, the method continues to 420, and the set-top box device can assemble the relevant segments into a custom video presentation.
In an illustrative, non-limiting embodiment, the set-top box device can arrange identifications of the relevant segments on the custom video presentation segment list according to an ordering specification received from the user. The set-top box device can generate the custom video presentation by determining a next relevant segment from the list, retrieving the relevant segment from memory based on the starting address and duration data associated with the relevant segment, and adding the relevant segment to the custom video presentation at the end of a prior relevant segment. At 422, in an illustrative embodiment, the set-top box device can add a listing corresponding to the custom video presentation to an electronic program guide (EPG). The method terminates at 424.
Continuing to 506, the user set-top box device receives data including relevant segments from the peer device(s) via the network. Proceeding to 508, the user set-top box device assembles the relevant segments to produce a custom video presentation. In a particular embodiment, the custom video presentation may also include content segments recorded at the user set-top box device. The method terminates at 510.
Additionally, the graphical user interface 602 may include a plurality of user selectable indicators 614-624. For example, the graphical user interface 602 may include a “Rename Custom Program” indicator 614, which is selectable by a user to edit the Title 604 of the custom video presentation. In a particular embodiment, the graphical user interface 602 may include an “Edit Search Criteria” indicator 616, which is selectable by a user to add or deleting search terms within the search criteria 606. A user may enter the search terms using the keypad of a remote control device or another input device, such as a personal computer that may be communicatively coupled to the set-top box device.
In a particular embodiment, the graphical user interface 602 may include an “Edit Programs to Search” indicator 618, that is selectable by a user to cause an interactive electronic program guide (EPG) to be displayed for user selection of programs. Alternatively, the user may select the “Edit Programs to Search” indicator 618 to manually add or remove particular programs within the programs to search 608. In a particular embodiment, the graphical user interface 602 may include a “Configure Custom Program Settings” indicator 620 that is selectable by a user to configure the custom program settings 610. In the illustrated embodiment, the custom program settings 610 define an order that is sorted by a frequency of matches of the search criteria.
In a particular embodiment, the graphical user interface 602 may include a “Done” indicator 622 that is selectable by a user to store the custom video presentation preferences. Further, the graphical user interface 602 may include a “Cancel” indicator 624 that is selectable by a user to cancel any changes made to the custom video presentation preferences.
In a particular illustrative embodiment, a user may select a key of a remote control device to access a pull down menu 808 of selectable options, including a “Tune to Travel Channel” option 810, a “Record Program” option 812, an “Add to Favorites” option 814, and an “Add to ‘Paris France’” option 816. By selecting the “Record Program” option 812, the user commands the set-top box to record the selected program. By selecting the “Add to Favorites” option 814, the user commands the set-top box device to add the selected listing 804 to a list of favorite programs. A user may add the selected listing 804 to a custom video presentation by selecting the “Add to ‘Paris France’” option 816. If the “Add to ‘Paris France’ option 816 is selected, the set-top box device may record the program and scan the program for relevant segments to be added to a custom video presentation entitled “Paris France.”
Referring to
In a networked deployment, the computer system may operate in the capacity of a content source or set-top box device in a server-client user network environment, or as a peer computer system in a peer-to-peer (or distributed) network environment. The computer system 1000 can also be implemented as or incorporated into various devices, such as a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile device, a palmtop computer, a laptop computer, a desktop computer, a communications device, a wireless telephone, a land-line telephone, a control system, a camera, a scanner, a facsimile machine, a printer, a pager, a personal trusted device, a web appliance, a network router, switch or bridge, or any other machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. In a particular embodiment, the computer system 1000 can be implemented using electronic devices that provide voice, video or data communication. Further, while a single computer system 1000 is illustrated, the term “system” shall also be taken to include any collection of systems or sub-systems that individually or jointly execute a set, or multiple sets, of instructions to perform one or more computer functions.
As illustrated in
In a particular embodiment, as depicted in
In an alternative embodiment, dedicated hardware implementations, such as application specific integrated circuits, programmable logic arrays and other hardware devices, can be constructed to implement one or more of the methods described herein. Applications that may include the apparatus and systems of various embodiments can broadly include a variety of electronic and computer systems. One or more embodiments described herein may implement functions using two or more specific interconnected hardware modules or devices with related control and data signals that can be communicated between and through the modules, or as portions of an application-specific integrated circuit. Accordingly, the present system encompasses software, firmware, and hardware implementations.
In accordance with various embodiments of the present disclosure, the methods described herein may be implemented by software programs executable by a computer system. Further, in an exemplary, non-limited embodiment, implementations can include distributed processing, component/object distributed processing, and parallel processing. Alternatively, virtual computer system processing can be constructed to implement one or more of the methods or functionality as described herein.
The present disclosure contemplates a computer-readable medium that includes instructions 1024 or receives and executes instructions 1024 responsive to a propagated signal, so that a device connected to a network 1026 can communicate voice, video or data over the network 1026. Further, the instructions 1024 may be transmitted or received over the network 1026 via the network interface device 1020.
While the computer-readable medium is shown to be a single medium, the term “computer-readable medium” includes a single medium or multiple media, such as a centralized or distributed database, and/or associated caches and servers that store one or more sets of instructions. The term “computer-readable medium” shall also include any medium that is capable of storing, encoding or carrying a set of instructions for execution by a processor or that cause a computer system to perform any one or more of the methods or operations disclosed herein.
In a particular non-limiting, exemplary embodiment, the computer-readable medium can include a solid-state memory such as a memory card or other package that houses one or more non-volatile read-only memories. Further, the computer-readable medium can be a random access memory or other volatile re-writable memory. Additionally, the computer-readable medium can include a magneto-optical or optical medium, such as a disk or tapes or other storage device to capture carrier wave signals such as a signal communicated over a transmission medium. A digital file attachment to an e-mail or other self-contained information archive or set of archives may be considered a distribution medium that is equivalent to a tangible storage medium. Accordingly, the disclosure is considered to include any one or more of a computer-readable medium or a distribution medium and other equivalents and successor media, in which data or instructions may be stored.
Although the present specification describes components and functions that may be implemented in particular embodiments with reference to particular standards and protocols, the disclosed embodiments are not limited to such standards and protocols. For example, standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP) represent examples of the state of the art. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same or similar functions as those disclosed herein are considered equivalents thereof.
The illustrations of the embodiments described herein are intended to provide a general understanding of the structure of the various embodiments. The illustrations are not intended to serve as a complete description of all of the elements and features of apparatus and systems that utilize the structures or methods described herein. Many other embodiments may be apparent to those of skill in the art upon reviewing the disclosure. Other embodiments may be utilized and derived from the disclosure, such that structural and logical substitutions and changes may be made without departing from the scope of the disclosure. Additionally, the illustrations are merely representational and may not be drawn to scale. Certain proportions within the illustrations may be exaggerated, while other proportions may be reduced. Accordingly, the disclosure and the figures are to be regarded as illustrative rather than restrictive.
One or more embodiments of the disclosure may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any particular invention or inventive concept. Moreover, although specific embodiments have been illustrated and described herein, it should be appreciated that any subsequent arrangement designed to achieve the same or similar purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all subsequent adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the description.
The Abstract of the Disclosure is provided to comply with 37 C.F.R. § 1.72(b) and is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, various features may be grouped together or described in a single embodiment for the purpose of streamlining the disclosure. This disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter may be directedto less than all of the features of any of the disclosed embodiments. Thus, the following claims are incorporated into the Detailed Description, with each claim standing on its own as defining separately claimed subject matter.
The above-disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments, which fall within the true spirit and scope of the present invention. Thus, to the maximum extent allowed by law, the scope of the present invention is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description.