The present disclosure relates generally to the field of digital media, and more specifically, to recording digital media.
Digital media devices, such as digital video recorders (DVRs) are increasing in popularity. Digital video recorders are often associated with a service that allows users to automatically record programs, such as television shows or other content. Programs may be pre-selected for recording or manually selected by a user. If the user selects a program for recording after the program has already started, only a portion of the program may be available for recording.
Corresponding reference characters indicate corresponding parts throughout the several views of the drawings.
In one embodiment, a method generally comprises initiating recording a program at a digital media device, identifying at the digital media device, a missing portion of the program, generating and transmitting a request for the missing portion, receiving a media file containing the missing portion of the program in response to the request, and merging the missing portion with a recorded portion of the program.
In another embodiment, an apparatus generally comprises a digital video recorder operable to initiate recording a program, a program identifier for identifying a missing portion of the program, a content requester for generating and transmitting a request for the missing portion of the program, and a content merger for receiving a media file containing the missing portion of the program and merging the missing portion with a recorded portion of the program.
The following description is presented to enable one of ordinary skill in the art to make and use the embodiments. Descriptions of specific embodiments and applications are provided only as examples and various modifications will be readily apparent to those skilled in the art. The general principles described herein may be applied to other applications without departing from the scope of the embodiments. Thus, the embodiments are not to be limited to those shown, but are to be accorded the widest scope consistent with the principles and features described herein. For purpose of clarity, features relating to technical material that is known in the technical fields related to the embodiments have not been described in detail.
Digital video recorders (DVRs) are often used with a service that allows users to pre-select programs to record. Users may also manually activate the recorder to record a program. Manual recording of a program is often initiated after the program has started. For example, the user may decide to record a program after switching to a program already in progress or after watching a portion of the program. In some cases, the user may realize after the program has started that he forgot to set the recorder to record the program. If the program started before the user activated the recorder, at least a portion of the program is typically no longer available for recording and the stored copy of the program is incomplete.
Embodiments described herein provide a method and apparatus for identifying a missed portion of the program, obtaining a copy of the missed portion, and combining the missed portion with the recorded portion of the program to create one contiguous recording. The incomplete recorded program is reconciled to recover any missing content and provide a complete recording of the program.
Referring now to the drawings, and first to
Digital media content delivered by the media source 12 and server 16 may be audio, video, data or any combination thereof. In one embodiment, the media source 12 transmits streaming media to the digital media device 10 and the server 16 transmits media files recorded from the streaming media, to the digital media device. Digital media content transmitted to the digital media device 10 may be encoded. For example, the media content may be encoded based on an encoding format such as MPEG-2 (Moving Picture Experts Group-2), MPEG2-TS (Transport Stream), H.264/MPEG-4 AVC (Advanced Video Coding), SMPTE (Society of Motion Picture and Television Engineers) VC-1 (Video Codec-1), or any other format. Media content delivered from the media source 12 within a specified window is referred to herein as a program. A copy of the program is stored at the server 16 so that a missing portion of a recorded program can be downloaded by the digital media device 10, as described further below. In the example shown in
The media source 12 delivers various video, audio, and data, including, for example, television shows, video-on-demand, pay-per-view, music, or other content or services to subscribers. The media source 12 may be a component within a cable television network, television services network, broadcast television station, or a content delivery network, for example.
The server 16 may be a start over server, a node comprising a network cache in a content delivery network, or any other network device operable to store and transmit digital media. For example, the server 16 may be configured to actively cache linear programs in support of a start over service referred to as ‘live to file capture’. The server 16 may be part of a content delivery system, which stores streaming media as it is delivered from media source 12. In one example, the server 16 records program content to a media file as it is received from the media source 12. The content may be stored temporarily (e.g., until the program is finished, a specified time after the program is finished, or a fixed period of time). The stored content is available for delivery to the digital media device 10 upon receiving a request for missing content, as described further below with respect to
Digital media from the media source 12 and server 16 is transmitted over the network 14 to the digital media device 10 at a subscriber connection 15. The network 14 may comprise one or more networks, including, for example, a local area network (LAN), wide area network (WAN), wireless LAN (WLAN), cable network, satellite network, content delivery network (CDN), etc., or any combination thereof. The content delivery network may include multiple nodes (e.g., server 16) for delivering content to the digital media device 10. The CDN may also include one or more peer-to-peer connections for delivering content to the digital media device 10.
The digital media device 10 may comprise, for example, a digital video recorder or any other device operable to receive and record digital data, such as a set-top box, residential gateway, personal computer, mobile device (e.g., phone, personal digital assistant, digital media player), media center device, and the like. As described in detail below, the digital media device 10 includes a media reconciler 18 for creating a complete program in the case where a recording is started after a program has already begun. The digital media device 10 may receive user input from an input device (e.g., keyboard, remote control) or directly from a user (e.g., buttons on a user interface on the exterior of the digital media device). Content stored in the digital media device 10 may be displayed on a display device (e.g., television, monitor, display screen) either integrated with the digital media device or in communication with the digital media device.
The processor 20 controls operation of the digital media device 10 and may provide for functions such as decoding, encoding, transcoding/encoding (converting from one format to another), decryption, encryption, etc. The processor 20 also provides for recording operations and functions associated with the media reconciler 18, as described below. Logic may be encoded in one or more tangible media for execution by the processor 20. For example, the processor 20 may execute codes stored in a computer-readable medium such as memory 22. The computer-readable medium may be, for example, electronic (e.g., RAM (random access memory), ROM (read-only memory), EPROM (erasable programmable read-only memory)), magnetic, optical (e.g., CD, DVD), electromagnetic, semiconductor technology, or any other suitable medium.
The interface 24 may comprise one or more wireless or wired interfaces (or ports) for receiving signals or data or transmitting signals or data to other devices. The interfaces may include, for example, a USB, Ethernet port (for connection to a computer or network), or a serial port. Wireless interfaces include, for example IEEE 802.11 (Wi-Fi), IEEE 806.16 (WiMax), Bluetooth, etc.
The digital media device 10 may comprise a digital video recorder interposed between a receiver/tuner (e.g., set-top box) and a display (e.g., television) or the digital media device may comprise a device such as a set-top box which incorporates the digital video recording functions. The digital media device 10 may therefore include a receiver and tuner or these components may be incorporated in a separate device in communication with the digital video recorder.
The receiver receives via the subscriber connection 15, programs that correspond to the services selected by a user. The receiver then selects one or more of the delivered services for presentation to a user or recorder. This selection is sometimes referred to as ‘tuning’. The media streams corresponding to the program of the selected service may be processed and converted into a presentable output form, such as a video signal, either in analog or digital form. Processing may include decompression and reconstruction of the pictures in a received media stream. The video signal may then be supplied to the display for viewing by the subscriber.
The digital media device 10 may also include an electronic program guide (EPG) which is displayed on the display screen. As described below, the electronic program guide also provides program information which may be used to identify missing content at the digital media device 10.
It is to be understood that the digital media device 10 shown in
The program identifier 30 checks a recording 40 of a program to determine if the program started before the recording was initiated (
The program ID 42 identifies the recorded program 40 that the user is recording. The program ID 42 may be an identifier stored in the electronic program guide and associated with the recorded program. For example, meta-data provided by a service provider typically includes a program ID. The program ID 42 may be a program identifier available at the digital media device and consistent with a program identifier used by the media source 12 or server 16. If the program ID 42 available at the digital media device 10 is not consistent with an ID used by the media source 12 or server 16, the program ID may specify a time and channel to which the tuner is set, to identify the program being recorded.
The offset 44 identifies the delta between the start of the program and the point at which the digital media device initiates the recording process (
The program identifier 30 transmits the program ID 42 and offset 44 to the content requester 32, which generates a content request 46 (
The content requester 32 transmits the content request 46 to the server 16. Content 52 transmitted to the digital media device in response to the request 46, contains only the missing portion of the program to preserve network bandwidth. Missing content 52 is transferred (downloaded) to the digital media device 10 from the server 16. In one embodiment, the content 52 is delivered to the digital media device 10 as a non-streaming media file. The media file is sent to the digital media device 10 with the original encoding captured within a fixed object. The file may be provided, for example, via HTTP (Hypertext Transfer Protocol), HTTPS (HTTP Secure), FTP (File Transfer Protocol), CIFS (Common Internet File System), or any other protocol.
The content merger 34 is responsible for merging the content 52 received from the server 16 with the content 40, which has already been recorded, to create a contiguous and complete recording. If the missing content 52 is received before the program is finished, the content merger 34 may wait to merge the missing content with the recorded program 40. The content merger 34 may also attach the received content 52 to the beginning of the recorded program 40 while the program is still being recorded. The missing content 52 is preferably provided to the digital media device 10 in the same format as the original content 40 so that there is no need for transcoding the received content to match the original content. Since the media content available at the server 16 was received in the same format that the media source 12 delivered the original program, the content should already be in the proper format, including encode rate. The content merger 34 may comprise, for example, an MPEG-2 merger, joiner application, or other means for creating a contiguous recording from the originally recorded portion of the program 40 and the received missing content 52.
The embodiments may be used with a policy system that allows or denies reconciliation for specific users or content. For example, a service provider or content provider may limit or deny access to content for requests for reconciliation. The service or content provider may also provide a reconciliation service for an increased fee.
It is to be understood that the process described above and shown in
Although the method and apparatus have been described in accordance with the embodiments shown, one of ordinary skill in the art will readily recognize that there could be variations made without departing from the scope of the embodiments. Accordingly, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.