# Patent

## Title
Systems and methods for accessing recoverable program content

## Abstract

Content delivery systems and methods are operable to provide recoverable program content to a media device. An exemplary embodiment detects an occurrence of a qualifying event, wherein the qualifying event is associated with an unavailable portion of a program of interest; communicates a request to establish a backchannel between the media device and a program content device in response to detecting the occurrence of the qualifying event; communicates a request for a recoverable portion of the program of interest from the media device to the program content device over the backchannel, wherein the requested recoverable portion of the program of interest corresponds to the unavailable portion of the program of interest; and receives at the media device the recoverable portion of the program of interest from the program content device.

## Background
PRIORITY CLAIM
This patent application is a Continuation of U.S. Non-Provisional patent application Ser. No. 12/627,669, filed Nov. 30, 2009, published as U.S. Publication No. 2011/0131620, entitled “SYSTEMS AND METHODS FOR ACCESSING RECOVERABLE PROGRAM CONTENT,” and issued as U.S. Pat. No. 8,719,885 on May 6, 2014, the content of which is herein incorporated by reference in its entirety.


BACKGROUND
Satellite-based content delivery systems receive program content from a transmitting facility, referred to as a media transmit facility or a head end facility, via one or more satellites. The program content is received at an antenna and is processed by a suitable media device, such as a set top box. The delivered program content, which may be comprised of video and/or audio information, is streamed to a media presentation device for presentation to a user. Non-limiting examples of a media device are stereos, radios, televisions (TVs), digital video disc (DVD) players, digital video recorders (DVRs), or personal computers (PCs), or the like.
Typically, the program content is transmitted in a streaming manner. Thus, once the antenna is adjusted to receive the streamed program content from the satellite, the program content may be provided to a viewer in a continuous, streaming manner.
However, under various conditions, a service interruption may occur. For example, receipt of the program content stream may be interrupted or interfered with, such as when precipitation interrupts and/or interferes with the program content stream being broadcast from the transmit facility to the satellite, and/or from the satellite to the antenna at the user's location. As another example, a service interruption may result when one or more components experience a partial or complete failure, thus interrupting delivery and/or processing of the program content stream.
Prior art systems may employ data redundancy schemes to improve the reliability of program content delivery. However, no level of redundancy will remedy a complete loss of the program content stream signal.
In other situations, the user's viewing activities may also interfere with program content viewing. For example, the viewer may temporarily leave the room, and accordingly, miss a portion of a presented program of interest. Or, the viewer may start viewing a program of interest after the start of the program of interest, thereby missing the initial portion of the program of interest. Or, the viewer may realize that presentation of the program of interest has already concluded, and thus, the viewer has entirely missed presentation of the program of interest.
Prior art systems may employ a digital video recorder or other program content recording-based system so that some of, or all of, the program of interest is saved for later viewing. However, such recording systems must be operated in response to specific viewer input, typically before the program content of the program of interest is streamed out from the media transmit facility. That is, if the viewer has not pre-specified recording of a particular program of interest, it is not saved by the recording system.
Accordingly, there is a need to provide program content during service interruptions. Further, there is a need to provide program content in situations where the viewer wishes to access previously presented program content.
SUMMARY
Program content retrieval systems and methods are operable to retrieve recoverable program content that is not currently available at a media device. An exemplary embodiment detects an occurrence of a qualifying event, wherein the qualifying event is associated with an unavailable portion of a program of interest; communicates a request to establish a backchannel between the media device and a program content device in response to detecting the occurrence of the qualifying event; communicates a request for a recoverable portion of the program of interest from the media device to the program content device over the backchannel, wherein the requested recoverable portion of the program of interest corresponds to the unavailable portion of the program of interest; and receives at the media device the recoverable portion of the program of interest from the program content device.



BRIEF DESCRIPTION OF THE DRAWINGS
Preferred and alternative embodiments are described in detail below with reference to the following drawings:
FIG. 1 is a block diagram of an embodiment of a program content retrieval system implemented in a satellite-based program content delivery system;
FIG. 2 is a block diagram of a program content device;
FIG. 3 is a block diagram of an embodiment of an exemplary media device;
FIG. 4 conceptually illustrates recoverable interrupted program content; and
FIG. 5 is a block diagram of a hypothetical current electronic program guide generated by the media device and presented on a media presentation device.



DETAILED DESCRIPTION
FIG. 1 is a block diagram of an embodiment of a program content retrieval system 100 implemented in a satellite-based program content delivery system 102. Specified program content is retrieved over a backchannel 104 from a program content device 106 by a media device 108 located at a customer premises 110.
If a service interruption occurs, reception of the program content by the media device 108 is interrupted. The interrupted program content is requested and then delivered to the media device 108 over the backchannel 104. For example, satellite signal reception can be degraded or interrupted during a rain storm 111 with heavy precipitation. The interruption can be intermittent, or continuous, until the precipitation level decreases below the interference threshold of the satellite signal. Embodiments of the program content retrieval system 100 detect such service interruptions, and in the event programming of interest is being viewed and/or recorded, identifies the interrupted program content. Once the interrupted program content has been received by the media device 108, the program content received from the satellite signal can be “stitched” together with the received interrupted program content so as to provide the entirety of the program of interest.
In overview, a media provider employs a media communication system to provide programming content to its customers. In the exemplary satellite-based program content delivery system 102, the media provider receives a plurality of programs PSa-PSi from local programming providers 112 (LPPs 112a-1121). The programs PSa-PSi are communicated to a media transmit facility 114, operated by the media provider, and are received by a programming stream receive system 116.
The programming stream receive system 116 communicates the received programs PSa-PSi to a program content manager 118. The program content manager 118 processes the received programs PSa-PSi as necessary to prepare them for transmission to the customers of the media provider. For example, commercials or the like may be incorporated with a particular one of the programs PSa-PSi by the program content manager 118.
The processed programs PSa-PSi are communicated from the program content manager 118 to a transport channel generation system 120. The transport channel generation system 120 bundles selected ones of the programs PSa-PSi into one or more transport channels. Then, the one or more of the transport channels are uplinked to one or more satellites 122, via a corresponding transmit antenna 124. The transport channel is uplinked using a wireless signal 126.
The respective transport channels are then communicated from respective ones of the satellites 122 down to a receiver antenna 128 located at the customer premises 110. The received signal with the transport channel therein is then communicated from the receiver antenna 128 to the media device 108. The receiver antenna 128 and the media device 108 may be configured to receive multiple transport channels from a plurality of satellites 122.
A program of interest Pi may be selected by a viewer who provides suitable instructions to the media device 108. The program of interest Pi is identified by its particular “channel” in the received transport channel. The media device 108 tunes itself to the particular transport channel on which the program of interest Pi is available, and then retrieves the selected program of interest Pi from the transport channel based on its assigned identifier, such as a packet identifier (PID) or the like.
The program of interest Pi is then assembled into a stream of program content that is communicated from the media device 108 to a media presentation device 130. For example, but not limited to, the media device 108 may be a set top box (STB) that is coupled to the suitable media presentation device 130, such as a television (TV), personal computer (PC), or the like. A display 132 of the media presentation device 130 presents a video portion of the selected program of interest Pi to the viewer.
To aid the viewer in the selection of a program of interest Pi, an electronic program guide (EPG) 134 may be presented to the viewer on the display 132 (typically in response to a viewer request to view the EPG 134). Thus, the viewer may navigate about the EPG 134 to obtain information about available programs. Using the EPG 134, the viewer may select a particular program of interest Pi for current viewing, future viewing, and/or recording.
The media device 108 implemented with embodiments of the program content retrieval system 100 requests, and then receives, interrupted program content of interest over the backchannel 104. Any suitable backchannel 104 may be used by the media device 108 to retrieve the interrupted program content from the program content device 106. Accordingly, the media device 108 and the program content device 106 are communicatively coupled together via a communication network 136. In an exemplary embodiment, the communication network 136 is the Internet. Accordingly, communications between the media device 108 and the program content device 106 would then occur over the Internet using a suitably configured application. For example, but not limited to, the backchannel 104 may be configured to use TCP/IP-based or HTTP-based communications.
The communication network 136 is illustrated as a generic communication system. In the various embodiments, the media device 108 and the program content device 106 may be communicatively coupled together via any suitable type of communication network 136. For example, the communication network 136 may be a telephony system, a radio frequency (RF) wireless system, a microwave communication system, a fiber optics system, an intranet system, a local access network (LAN) system, an Ethernet system, a cable system, a radio frequency system, a cellular system, an infrared system, a satellite system, or a hybrid system comprised of multiple types of communication media. Additionally, embodiments of the program content retrieval system 100 may be implemented on other types of communication technologies, such as but not limited to, digital subscriber loop (DSL), X.25, Internet Protocol (IP), Ethernet, Integrated Services Digital Network (ISDN) and asynchronous transfer mode (ATM). Also, embodiments of the program content retrieval system 100 may be employed on combination systems having a plurality of segments which employ different formats for each segment employing different technologies on each segment.
In the various embodiments, the program content manager 118 provides the programs PSa-PSi to the program content device 106, via a program content device interface 138. Accordingly, a connection 140 is provided between a media transmit facility interface 206 and the program content device 106.
FIG. 2 is a simplified block diagram of an exemplary program content device 106. The exemplary program content device 106 includes at least a processor system 202, at least one communication network interface 204, a media transmit facility interface 206, and a memory 208. Memory 208 includes a stored program content region 210, program content management logic 212, and program content retrieval logic 214.
The processor system 202, the communication network interface 204, the media transmit facility interface 206, and the memory 208 are communicatively coupled to a communication bus 216, thereby providing connectivity between the above-described components. In alternative embodiments of the program content device 106, the above-described components may be communicatively coupled to each other in a different manner. For example, one or more of the above-described components may be directly coupled to the processor system 202, or may be coupled to the processor system 202 via intermediary components (not shown). Further, additional components (not shown) may be included in alternative embodiments of the program content device 106.
The media transmit facility interface 206 of the program content device 106 is communicatively coupled to the program content device interface 138 of the media transmit facility 114, via connection 140. Preferably, connection 140 is a high speed, high capacity connection so that relatively large amounts of program content can be transferred to the program content device 106 on a real time, or near real time, basis. Non-limiting examples of the connection 140 include coaxial cables, fiber optic cables, or other suitable high-capacity packet-based network connections, such as those available for lease through third-party vendors. In some embodiments, an antenna (not shown) may be alternatively used to receive program content from one or more of the satellites 122.
The selected ones of the programs PSa-Psi received from the media transmit facility 114 are stored by the program content device 106 in the stored program content region 210 of memory 208. It is appreciated that relatively large amounts of programming content is saved at the program content device 106. Accordingly, a predefined storage duration is used to limit the amount of program content that is stored at any given time. For example, a predefined storage duration of five hours of program content may be defined such that five hours of current program content is stored in the stored program content region 210. Thus, when a particular media device 108 requests interrupted program content, the particular requested program content of interest is likely available at the program content device 106 for retrieval and delivery to the requesting media device 108. Any suitable predefined storage duration may be used by the various embodiments.
Management of received and stored program content is performed by the program content management logic 212. As noted herein, a predefined storage duration is used to limit the amount of program content stored in the stored program content region 210. Thus, the program content management logic 212 manages the storage of newly received program content, and manages the removal of stored program content that is older than the predefined storage duration (stale program content). For example, if the predefined storage duration is five hours, stale program content that has been stored for five hours or more can be deleted, erased or otherwise discarded so as to make room for newly received program content.
In some embodiments, only selected ones of the programs PSa-Psi are communicated to, and then stored by, the program content device 106. For example, one or more of the programs PSa-Psi may be stored on another system, such as a video-on-demand system or the like. Thus, a viewer can obtain those programs from the other system. By selectively choosing the programs PSa-Psi for storage at the program content device 106, memory capacity of the memory 208 may be better managed.
Further, different predefined storage durations may be used for different program channels. For example, the predefined storage duration for a channel that provides primarily movie programming may be longer than the predefined storage duration for a channel that provides primarily hour or half hour programs. Control of the storage, and the subsequent deletion, erasing, or discarding of stale program content based upon one or more predefined storage durations defined for a particular channel allows for management of the memory capacity of the memory 208.
Embodiments of the program content device 106 include at least one communication network interface 204 that is communicatively coupled to the communication network 136. Preferably, the communication network interface 204 is configured with sufficient connection capacity to handle simultaneous communications with a plurality of different media devices 108. At any given moment in time, a large number of media devices 108 may be subject to the same service interruption, or a concurrent service interruption. For example, a severe storm may cause a service interruption for many media devices 108. Such concurrently interrupted media devices 108 are likely to be processing and presenting different programs of interest to their respective viewers. With the various embodiments, the different media devices 108 are able to access their particular programs of interest from the program content device 106 on a real time, or near real time basis, so as to maintain service to their respective viewers. Depending upon design considerations, multiple communication network interfaces 204 may be installed in the program content device 106.
Further, different communication network interfaces 204 may be configured to support different types of communication media. For example, one or more of the communication network interfaces 204 may be configured to support Internet type communications, and other ones of the communication network interfaces 204 may be configured to support cable system communications. A communication network interface 204 may be configured to support any suitable type of communication media whereby a media device 108 requests and receives the recoverable interrupted program content.
The program content retrieval logic 214 is responsive to requests for recoverable interrupted program content from one or more media devices 108. Based upon the request for recoverable interrupted program content, the program content retrieval logic 214 accesses the memory 208, and retrieves requested interrupted program content from the stored program content region 210.
The current program content management logic 212 and the program content retrieval logic 214 are described as discrete logic. In other embodiments, the program content management logic 212 and the program content retrieval logic 214 may be integrated logic, or even combined with other logic not described herein. Further, the program content management logic 212 and the program content retrieval logic 214 are described as residing in the memory 208. In other embodiments, the logic 212 and/or 214 may reside in a different memory media and/or device.
In practice, a plurality of program content devices 106 would be distributed at selected locations to provide localized access over a predefined geographic region, or to provide sufficient access capacity for many media devices 108 that might require concurrent access to the recoverable program content. For example, if the media service provider transmits programming content across the continental United States via a plurality of satellites 122, one or more program content devices 106 might be located near a large city on the east coast and one or more other program content devices 106 might be located near a large city on the west coast. Accordingly, access requirements, and the associated costs, may be managed by the service provider.
Further, the use of a program content device 106 to provide service to a particular geographic region may facilitate management of program content storage capacity. For example, programming provided by a local programming station in the geographic region serviced by a particular program content device 106 could be stored at the program content device 106, whereas programming provided by programming stations serving other cities far removed from the geographic region serviced by a particular program content device 106 might not be stored.
In FIG. 2, the program content device 106 is illustrated as being remote from the media transmit facility 114. In other embodiments, the program content device 106 may reside within the media transmit facility 114. In such embodiments, all of, or portions of, the program content device 106 may be integrated with various components of a media transmit facility 114.
FIG. 3 is a block diagram of an exemplary media device 108 with an embodiment of the program content retrieval system 100. Non-limiting examples of the media device 108 include, but are not limited to, a set top box (STB), stereos, radios, televisions (TVs), digital video disc (DVD) players, digital video recorders (DVRs), or personal computers (PCs).
The exemplary media device 108 comprises a program content stream interface 302, a processor system 304, a memory 306, a program buffer 308, an optional digital video recorder (DVR) 310, a presentation device interface 312, a remote control interface 314, and a communication network interface 316. The memory 306 comprises portions for storing the current program content monitoring logic 318, the program content frame information 320, and the program content retrieval logic 322. Other media devices may include some, or may omit some, of the above-described media processing components. Further, additional components not described herein may be included in alternative embodiments.
The functionality of the media device 108, here a set top box, is now broadly described. One or more program content streams 324 are received by the program content stream interface 302. One or more tuners 302a in the program content stream interface 302 selectively tune to one of the program content streams 324 in accordance with instructions received from the processor system 304.
A program content stream 324 typically comprises a plurality of programs multiplexed together, which are communicated in a packetized format and identified with a unique identifier and a PID. The processor system 304, based upon a request for a program of interest specified by a viewer, parses out program content associated with the program of interest. The program of interest is then assembled into a stream of video and/or audio information which may be saved into the program buffer 308 such that the program content can be streamed out to the media presentation device 130, such as the television, via the presentation device interface 312. Alternatively, or additionally, the program content may be saved into the DVR 310 for later presentation.
The exemplary media device 108 is configured to receive instructions from a viewer via a suitable control device, such as, but not limited to, the exemplary remote control 326. The remote control 326 includes one or more controllers 328. The viewer, by actuating one or more of the controllers 328, causes the remote control 326 to generate and transmit instructions, via a wireless signal 330, which is received by the remote control interface 314. In response to the viewer's commands, the media device 108 controls presentation of the presented program content.
The communication network interface 316 is communicatively coupled to the communication network 136, thus providing connectivity to the communication network interface 204 of the program content device 106. It is appreciated that in the event that the communication network 136 is a hybrid communication system that utilizes various communication media and/or formats, the media and/or format employed by the communication network interface 316 may be different from the media and/or format employed by the communication network interface 204.
The current program content monitoring logic 318 monitors current program content that is currently being processed for presentation on the media presentation device 130 and/or that is currently being processed for storage on the DVR 310. Thus, if a qualifying event, such as a service interruption or the like, occurs that would necessitate retrieval of interrupted program content from the program content device 106, the media device 108 will be operative to identify the particular one(s) of the received programs PSa-PSi for which the interrupted program content is to be retrieved from the program content device 106.
As video program content is received and processed, the unique identifiers of received video frames (and corresponding portions of the audio, closed captioning, and meta data) are saved into the program content frame information 320. Thus, at the detection of a qualified event, the media device 108 will be operative to identify the particular last video frame that was correctly received and processed.
When the occurrence of the qualifying event is detected by the current program content monitoring logic 318, the program content retrieval logic 322 initiates retrieval of the interrupted program content. The process recovering interrupted program content is initiated by causing the media device 108 to establish a connection with the program content device 106. Then suitable identifiers are communicated from the media device 108 to the program content device 106 which identify the interrupted program content.
The current program content monitoring logic 318 and the program content retrieval logic 322 are described as discrete logic. In other embodiments, the current program content monitoring logic 318 and the program content retrieval logic 322 may be integrated logic, or even combined with other logic not described herein. Further, the current program content monitoring logic 318, the program content frame information 320, and the program content retrieval logic 322 are described as residing in the memory 306. In other embodiments, the logic 318 and/or 322 may reside in a different memory media and/or device.
FIG. 4 conceptually illustrates a program stream 402 corresponding to a program of interest that is received by the media device 108 and that is then processed for presentation to a viewer. The program stream 402 includes a video stream 404, a corresponding audio stream 406, an optional corresponding closed captioning stream 408, and a corresponding meta data stream 410.
The video stream 404 is comprised of a plurality of serially sequenced video frames 412, each having a particular video image of the program of interest. The video frames 412 are serially presented so as to create a moving picture. Individual video frames 412 (and corresponding portions of the audio, closed captioning, and/or meta data) have related unique identifiers. Non-limiting unique identifiers may include a time stamp and/or a frame identifier (ID).
The audio stream 406 may include spoken words, music, and background sounds. The audio stream 406 is sequenced with the video frames 412 such that spoken words, music, and background sounds of the audio stream 406 correspond in time with the moving picture. The closed captioning stream 408 is also conceptually illustrated as part of the program stream 402. The closed captioning stream 408 is typically a textual presentation of the words of the audio stream 406. The textual presentation is provided for hearing impaired viewers or for viewers in an area with relatively loud ambient noise levels, such as a bar or the like. The words of the closed captioning stream 408 are sequenced so as to generally correspond to the spoken words of the audio stream 406. Some program streams 402 may include the meta data stream 410 which contains other information of interest.
The program stream 402 conceptually illustrates a series of video frames 412a which are received and processed prior to the qualifying event. The qualifying event prevents subsequent processing of the program stream 402. Accordingly, the current program content monitoring logic 318 recognizes that the video frame 412b is the last properly received and processed one of the video frames 412. The video frame 412b corresponds to the beginning of the qualifying event (and accordingly, may be referred to as a beginning video frame 412b).
The unique identifier of the last properly received and processed video frame 412b is stored by the program content frame information 320. Accordingly, as a subsequent video frame (or a subsequent corresponding portion of the audio, closed captioning, and meta data information) is not received, is not properly processed, and/or is not of acceptable quality, then the identity of the beginning video frame 412b (and/or the corresponding portion of the audio, the closed captioning, and the meta data information) is known since this information has been saved into the program content frame information 320.
At some point in time, the qualifying event concludes. Accordingly, a plurality of video frames 412c will have not been properly received and/or processed during the duration T1 of the qualifying event. After the conclusion of the duration T1 of the qualifying event, the media device 108 begins to receive and/or process the remaining duration T2 of the program of interest. Thus, a first video frame 412d is properly received and processed. The video frame 412d corresponds to the conclusion of the qualifying event (and accordingly, may be referred to as an ending video frame 412d).
The identity of the video frame 412d is determinable. The unique identifier of the video frame 412d has been stored by the program content frame information 320.
Preferably, the media device 108 would monitor for the receipt of some predetermined number of “good” frames, and/or the receipt of “good” frames for some predetermined duration, prior to determining that the qualifying event has concluded. Thus, intermittent receipt of “good” frames would not be misinterpreted as the conclusion of the qualifying event.
Prior to the start of the qualifying event, the same program of interest has been received and stored by the program content device 106. FIG. 4 conceptually illustrates this saved program of interest, referred to herein as a recoverable content (RC) program stream 414. The RC program stream 414 includes a RC video stream 416, a RC audio stream 418, an RC optional closed captioning stream 420, and a RC meta data stream 422.
Like the program stream 402 received at the media device 108, the RC program stream 414 comprises a series of video frames 424. The individual video frames 424 (and corresponding portions of the audio, closed captioning, and/or meta data) have related unique identifiers that also correspond to, or are identical to, the identifiers of the video frames 412.
In this example, a series of stored recoverable video frames 424a correspond to the video frames 412a that were received and processed by the media device 108 prior to the initiation of the qualifying event. A recoverable video frame 424b corresponds to the last known “good” video frame 412b received by the media device 108 (and accordingly, may be referred to as a beginning recoverable video frame 424b). Recoverable video frames 424c correspond to the frames 412c that were lost during the duration T1 of the qualifying event. A recoverable video frame 424d corresponds to the video frame 412d that is properly received and processed by the media device 108 after conclusion of the qualifying event (and accordingly, may be referred to as an ending recoverable video frame 412d). Similarly, portions of the RC audio stream 418, the RC optional closed captioning stream 420, and the RC meta data stream 422 correspond, respectively, to portions of the audio stream 406, the closed captioning stream 408, and the meta data stream 410.
Upon initiation of the qualifying event, as detected by the current program content monitoring logic 318, the program content retrieval logic 322 establishes a connection between the media device 108 and the program content device 106, and communicates a request for recoverable program content to the program content device 106. In an exemplary embodiment, the request for recoverable interrupted program content includes the unique identifier of the video frame 412b. Alternatively, or additionally, other embodiments may provide other suitable identifiers, such as for corresponding portions of the audio stream 406, the closed captioning stream 408, and the meta data stream 410. Alternatively, or additionally, other embodiments may provide a suitable global identifier, such as a time stamp or the like, which identifies the lost portion of the program of interest.
Upon receipt of a suitable request for recoverable program content, the recoverable video frame 424b, and corresponding portions of the audio, closed captioning, and/or meta data, is retrieved from memory 208 of the program content device 106, and is then communicated to the media device 108. Alternatively, the next video frame (the first one of the recoverable video frames 424c and its corresponding portions of the audio, closed captioning, and/or meta data) is retrieved and communicated to the media device 108. Then, recoverable video frames 424c (and their corresponding portions of the audio, closed captioning, and/or meta data) are likewise retrieved and communicated to the media device 108.
Presentation of the program of interest may be resumed once the recoverable video frame 424b has been received and processed by the media device 108 (assuming that the recoverable video frames 424c, or a sufficient portion thereof, is also available to meaningfully assemble the interrupted program content). Since the qualifying event is not yet over, communication of the stream of recoverable video frames 424c (and corresponding portions of the audio, closed captioning, and/or meta data) from the program content device 106 to the media device 108 continues.
It is appreciated that some discrete amount of time is required to establish the connection between the media device 108 and the program content device 106, and to receive the recoverable interrupted program content from the program content device 106, and then to process and present (or store) the received interrupted program content. Thus, there may be some duration of interruption time that is perceptible to the viewer. However, such a presentation interruption time will be relatively short. During the duration of the presentation interruption time, a suitable message may be presented to the viewer to indicate that program content is being recovered and that presentation will resume after a short delay.
At some point in time, the qualifying event ends. A message is then communicated from the media device 108 to the program content device 106 that indicates the conclusion of the qualifying event.
As noted above, the media device 108 begins to receive and/or process the remaining duration T2 of the program of interest. The video frame 412d corresponds to the conclusion of the qualifying event. Thus, the ending video frame 412d, and the subsequent video frames 412e, are properly received and processed at the media device 108. Here, the remaining duration T2 of the program of interest constitutes a continuing portion of the program of interest that is now receivable at the media device 108 from the media transmit facility 114.
The continuing portion of the program of interest received from the media transmit facility 114 (video frame 412d and the subsequent video frames 412e) are then saved by the media device 108. For example, video frame 412d, and the subsequent video frames 412e, may be saved into the DVR 310 or another suitable memory medium. Also, corresponding portions of the audio, closed captioning, and/or meta data are received, processed and saved by the media device 108.
Since there was an interruption duration (corresponding to the initiation of the qualifying event and the time that the recoverable interrupted program content starts to be received from the program content device 106 and processed for presentation), there will be some corresponding amount of time that is required for complete transmittal of the recovered program content from the program content device 106 to the media device 108. That is, video frame 412d is received and processed in real time, and its corresponding recoverable video frame 424d will arrive at the media device 108 after some discernable period of time.
When the recoverable video frame 424d is finally received and processed, then the current program of interest that has been saved (for example, on the DVR 310) may be retrieved and then presented. Thus, the communication of the recoverable interrupted program content from the program content device 106 to the media device 108 ends. Upon conclusion of the presentation of the recovered program content, presentation of the program of interest is then based upon the video frames 412e previously received and stored by the media device 108.
In an exemplary embodiments, the program stream 402 and/or the RC program stream 416 are formatted under the moving pictures expert group (MPEG) formats, such as MPEG-2 or MPEG-4. Thus, the frames 412b, 412d, 424b, and/or 424d are preferably a reference frame, such as an I-frame or a P-frame. For example, if the qualifying event occurs at a time when a compressed frame (that is based upon information from a previous reference frame), then the request for the recovered program content is based upon the last “good” reference frame received. Thus, the entire program of interest is recoverable in view that all of the information necessary to construct the entire video program portion is available at the media device 108.
It is appreciated that if other programs of interest are being concurrently recorded in the DVR 310 of the media device 108, the request for recoverable content may optionally include a request for those recorded programs of interest. Further, the media device 108 can be configured to record programs of interest at times when the media device 108 is not being used to present programming to a viewer. Since embodiments of the program content retrieval system 100 act automatically in response to the initiation of the qualifying event, the received recoverable portion of the program of interest (the recoverable video frames 424c, and the associated audio, closed captioning, and meta data portions) can be saved into the DVR 310. Thus, when the recorded program of interest is retrieved from the DVR 310 and is presented, the entire program of interest can be presented interruption free, or substantially interruption free, since the entirety of the program of interest resides on the DVR 310.
Some embodiments of the program content retrieval system 100 may be configured to retrieve portions of a program of interest from the program content device 106 in response to a user command generated at the media device 108. For example, a viewer may generate a request for program content presentation that requires retrieval of program content form the program content device 106.
FIG. 5 is a block diagram of a hypothetical current EPG 134 generated by the media device 108 and presented on the media presentation device 130. The EPG 134 presents program information currently available on a plurality of programming channels, here identified by their station identifier.
To illustrate, assume that a viewer wishes to view Program A1 that is available on the channel corresponding to Station A. In this simplified example, the current time is 9:20 p.m. However, presentation of the program of interest, Program A1, started at 8:00 p.m. If the media device 108 tunes to and receives the program content corresponding to Program A1, presentation of the Program A1 will begin at the current time of 9:20 p.m. Accordingly, the viewer will miss presentation of the Program A1 from its 8:00 p.m. start time up through the current time of 9:20 p.m.
Embodiments of the program content retrieval system 100 may be configured to cause the media device 108 to establish communications with the program content device 106, and retrieve the previously available portion of Program A1. That is, the start of the Program A1 is substantially equivalent to the above-described recoverable video frame 424a. Thus, presentation of Program A1 can begin with its first frame that was presented at 8:00 p.m.
While the program content corresponding to Program A1 from 8:00 p.m. through 9:20 p.m. is being recovered from the program content device 106, the currently received portions of the Program A1 can be stored at the media device 108. For example, the portion of Program A1 corresponding to the presentation times 9:20 p.m. through 11:00 p.m. can be saved into the DVR 310 or another suitable memory media. Then, when all of the interrupted program content received from the program content device 106 has been presented, corresponding to the Program A1 at time 9:20 p.m., presentation can resume based on the previously received program content stored by the media device 108. That is, at 10:40 p.m., presentation of the Program A1 is based on the stored program content for Program A1 previously received by the media device 108 at 9:20 p.m.
The above-described retrieval of the portion of the program of interest that has been missed may occur automatically in some embodiments. In other embodiments, the viewer may be prompted, via the EPG 134, to initiate recovery of the missed portion of the program of interest. Alternatively, or additionally, one of the controllers 328 on the remote control 326 may be predefined as a special function button that may be selectively actuated by the viewer to cause retrieval of the portion of the program of interest that has been missed.
Some embodiments of the program content retrieval system 100 may be configured to retrieve a program of interest that has already been presented. For example, a viewer may navigate about the EPG 134 and select Program B1 that was previously available on Station B from 8:00 p.m. to 9:00 p.m. Here, the start of the Program B1 corresponds to the above-described video frame 424b and the end of the Program B1 corresponds to video frame 424d. Thus, the entirety of the Program B1 can be recovered from the program content device 106. Embodiments of the program content retrieval system 100 can provide previously presented program of interest so long as they are available from the program content device 106.
Media providers may provide programming to their customers via other types of communication systems. For example, some media providers may use a cable network or the Internet to provide programming to their customers. Embodiments of the program content retrieval system 100 may be configured to operate over, and in cooperation with, any suitable type of communication system that delivers program content to the media device 108.
It should be emphasized that the above-described embodiments of the program content retrieval system 100 are merely possible examples of implementations of the invention. Many variations and modifications may be made to the above-described embodiments. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.

## Claims

1. A method for providing recoverable program content from a program content device to a media device, the method comprising:
receiving, at the program content device, a plurality of programs from a media transmit facility that are being concurrently broadcast to a plurality of media devices, wherein the media device is one of the plurality of media devices receiving the broadcast of the plurality of programs;
storing the received plurality of programs in a memory residing in the program content device;
establishing a backchannel between the media device and the program content device, wherein the backchannel between the media device and the program content device is established in response to a request made by the media device;
receiving, at the program content device, the request from the media device for a recoverable portion of a program of interest,
wherein the recoverable portion of the program of interest corresponds to an unavailable portion of the program of interest that is not available at the media device, and
wherein the request is generated by the media device in response to the media device detecting weather interference of a signal being broadcast to the media device such that a plurality of video frames of the program of interest are not correctly received and processed by the media device;

determining if the program of interest is currently stored in the memory of the program content device; and
in response to determining that the program of interest is stored in the memory of the program content device, communicating the recoverable portion of the program of interest from the program content device to the media device over the backchannel.

2. The method of claim 1, wherein the signal is broadcast from a satellite to the plurality of media devices.

3. The method of claim 1, further comprising:
receiving a second request to conclude communication of the recoverable portion of the program of interest; and
ending communication of the recoverable portion of the program of interest to the media device.

4. A method for providing recoverable program content from a program content device to a media device, the method comprising:
receiving, at the program content device, a plurality of programs from a media transmit facility that are being concurrently broadcast to a plurality of media devices, wherein a first media device and a second media device are members of the plurality of media devices receiving the broadcast of the plurality of programs;
storing the received plurality of programs in a memory residing in the program content device;
establishing a first backchannel between the first media device and the program content device, wherein the first backchannel between the first media device and the program content device is established in response to a first request made by the first media device;
receiving, at the program content device, the first request from the media device for a first recoverable portion of a first program of interest, wherein the first recoverable portion of the first program of interest corresponds to an unavailable first portion of the first program of interest that is not available at the first media device;
determining if the first program of interest is currently stored in the memory of the program content device; and
in response to determining that the first program of interest is stored in the memory of the program content device, communicating the first recoverable portion of the first program of interest from the program content device to the first media device over the first backchannel;
establishing a second backchannel between a second media device and the program content device, wherein the second backchannel between the second media device and the program content device is established in response to a second request made by the second media device;
receiving the second request from the second media device for a second recoverable portion of a second program of interest, wherein the second recoverable portion of the second program of interest corresponds to a second unavailable portion of the second program of interest that is not available at the second media device; and
communicating the second recoverable portion of the second program of interest from the program content device to the second media device over the second backchannel.

5. The method of claim 4, further comprising:
determining that a severe storm has caused a service interruption for many of the plurality of media devices;
responding to a plurality of requests to establish backchannels between a plurality of requesting media devices and the program content device, wherein the backchannels between the media device and the program content device are established via a communication network interface in response to the requests made by the plurality of requesting media devices; and
communicating the recoverable portion of the program of interest from the memory to the plurality of requesting media devices over a network via the backchannels.

6. The method of claim 1, wherein the program content device is one of a plurality of program content devices, wherein the plurality of program content devices are distributed so as to each be associated with a predefined geographic region, and wherein the media device communicating the request for the recoverable portion of the program of interest is located in a predefined geographic region of interest associated with the program content device providing the recoverable portion of the program of interest.

7. The method of claim 1, wherein receiving the plurality of programs from the media transmit facility comprises:
deleting selected ones of the plurality of programs from the memory, wherein the selected deleted programs have been stored in the memory for at least a predefined storage duration.

8. The method of claim 1, wherein receiving the plurality of programs from the media transmit facility comprises:
receiving a request to establish the backchannel between the media device and the program content device.

9. A program content device that provides recoverable program content to a media device, comprising:
a media transmit facility interface that communicatively couples the program content device to at least one media transmit facility, wherein the media transmit facility concurrently broadcasts a plurality of programs to a plurality of media devices, and wherein the program content device receives at least one of the plurality of programs via the media transmit facility interface;
a memory that stores the received at least one of the plurality of programs;
a communication network interface that communicatively couples the program content device to a network, wherein individual ones of the plurality of media content devices are communicatively coupled to the network; and
a processor system, wherein the processor system is configured to:
respond to a request to establish a backchannel between a requesting media device and the program content device,
wherein the backchannel between the media device and the program content device is established via the communication network interface in response to a request made by the media device, and
wherein the request is generated by the requesting media device in response to the requesting media device detecting weather interference of a signal being broadcast to the requesting media device from the media transmit facility such that a plurality of video frames of the program of interest are not correctly received and processed by the requesting media device;

respond to a request from the requesting media device for a recoverable portion of a program of interest, wherein the recoverable portion of the program of interest corresponds to an unavailable portion of the program of interest that is not available at the requesting media device;
determine if the program of interest is currently stored in the memory of the program content device; and
in response to determining that the program of interest is stored in the memory of the program content device, communicate the recoverable portion of the program of interest from the memory to the requesting media device over the network via the communication network interface.

10. The program content device of claim 9, wherein the signal is broadcast via a satellite to the plurality of media devices.

11. The program content device of claim 9, wherein the request is a first request, and wherein the processor system is further configured to:
receive a second request from the requesting media device to conclude communication of the recoverable portion of the program of interest; and
end communication of the recoverable portion of the program of interest to the requesting media device.

12. The program content device of claim 9, wherein the program content device is one of a plurality of program content devices, wherein the plurality of program content devices are distributed so as to each be associated with a predefined geographic region, and wherein the media device communicating the request for the recoverable portion of the program of interest is located in a predefined geographic region of interest associated with the program content device providing the recoverable portion of the program of interest.

13. The program content device of claim 9, wherein the processor system is further configured to:
delete the stored at least one of the plurality of programs from the memory, wherein the deleted at least one of the plurality of programs has been stored in the memory for at least a predefined storage duration.

14. The program content device of claim 9, wherein the processor system is further configured to:
determine that a severe storm has caused a service interruption for many of the plurality of media devices;
respond to requests to establish backchannels between a plurality of requesting media devices and the program content device, wherein the backchannels between the media devices and the program content device are established via the communication network interface in response to the requests made by the plurality of requesting media devices; and
communicate the recoverable portion of the program of interest from the memory to the plurality of requesting media devices over the network via the communication network interface.

15. A system that provides recoverable program content to a media device, comprising:
a media transmit facility, comprising:
a transport channel generation system that concurrently broadcasts a plurality of programs to a plurality of media devices; and
a program content device interface configured to communicatively couple the media transmit facility with at least one of a plurality of program content devices;

the plurality of media devices, each media device comprising:
a program content stream interface that receives the broadcast plurality of programs;
a communication network interface that communicatively couples the media device to a network; and
a processor system, wherein the processor system is configured to:
process a selected one of the received programs for communication to a media presentation device,
determine an occurrence of a qualifying event that indicates that a portion of the selected program is unavailable at the media device, wherein the qualifying event is associated with weather interference of the broadcast plurality of programs,
identify a last properly received and processed video frame of the selected program, and
generate a request for a recoverable portion of the selected program corresponding to the unavailable portion of the selected program, wherein the request identifies the last properly received and processed video frame of the selected program, wherein the request is communicated onto the network via the communication network interface;


a program content device, comprising:
a media transmit facility interface that communicatively couples the program content device to the program content device interface of the media transmit facility, wherein the program content device receives at least one of the plurality of programs via the media transmit facility interface;
a memory that stores the received at least one of the plurality of programs;
a communication network interface that communicatively couples the program content device to the network; and
a processor system, wherein the processor system is configured to:
respond to a request to establish a backchannel between a requesting one of the plurality of media devices and the program content device, wherein the backchannel between the requesting media device and the program content device is established via the communication network interface in response to a request made by the requesting media device, and wherein the request was generated by the requesting media device in response to the requesting media device detecting weather interference of a signal being broadcast to the requesting media device from the media transmit facility such that a plurality of video frames of the program of interest are not correctly received and processed by the media device;
respond to a request from the requesting media device for a recoverable portion of the selected program;
determine if the selected program is currently stored in the memory of the program content device; and
in response to determining that the selected program is stored in the memory of the program content device, communicate the recoverable portion of the selected program from the memory to the requesting media device over the network.

16. The system of claim 15, wherein the system further includes a plurality of other program content devices, wherein the plurality of other program content devices are distributed so as to each be associated with a predefined geographic region, and wherein the media device communicating the request for the recoverable portion of the selected program is located in a predefined geographic region of interest associated with the program content device providing the requested recoverable portion of the selected program.

17. The system of claim 15, wherein the transport channel generation system concurrently broadcasts the plurality of programs to the plurality of media devices via a satellite.

18. The system of claim 15, wherein the processor system of the program content device is further configured to:
delete each of the plurality of programs from the memory, wherein each deleted one of the plurality of programs has been stored in the memory for at least a predefined storage duration.

19. The method of claim 4,
wherein first program of interest and the second program of interest are the same program of interest,
wherein the first unavailable portion of the program of interest that is not available at the first media device and the second unavailable portion of the program of interest that is not available at the second media device are different from each other, and
wherein the second recoverable portion of the program of interest is the same as the second recoverable portion of the second program of interest.

20. The method of claim 4,
wherein first program of interest and the second program of interest are the same program of interest,
wherein the first unavailable portion of the program of interest that is not available at the first media device and the second unavailable portion of the program of interest that is not available at the second media device are different from each other, and
wherein the second recoverable portion of the program of interest is different from the second recoverable portion of the second program of interest.