Systems and methods for managing and identifying the origin of files on a digital video recorder

Described herein are techniques for managing files of a digital video recorder. Responsive to a request to record content, a DVR identifies and stores information identifying the originator of a recording request. The identifying information may then be presented to a user to identify the origin of a recording timer or a recorded file.

BACKGROUND

Digital video recorders (DVRs) allow users to store television programs, movies and other content for archival and subsequent viewing. The capacity of recording mediums of some DVRs allows for the storage of hundreds of hours of content which changes on a daily basis as users delete various events and request recording of new events by the DVR. In a multi-user environment, such as a family, an event that may have previously been set to record may conflict with the needs and requirements of timers that another user now desires for recording other events. For example, two events may require the use of the same receiving resource (e.g., the same tuner at the same time). The question “Who recorded this event?” is a frequent conversation in multi-user homes. Similarly, events stored on a storage medium may be inconveniently large but may have an uncertain origin and importance. Sometimes, it is problematic for users to determine who recorded a particular event or whether the file associated with the event may be deleted, because the person who originally recorded the event is unknown.

DETAILED DESCRIPTION OF THE DRAWINGS

The various embodiments described herein generally provide apparatus, systems and methods which facilitate the reception, processing and outputting of content from one or more sources for presentation to end-users. More particularly, the various embodiments described herein provide techniques for managing files on a DVR and the origin of such files. Techniques described herein allow a DVR to track the originator of a particular recording timer or recorded event. A DVR is configured to identify a user or external device that requests recording of a particular event. The identified information may be subsequently presented to a user to allow the user to ascertain the origination of the recording timer or a stored filed corresponding to a recorded event. In short, the various embodiments described herein provide systems, methods and apparatus for understanding the origin of recorded materials on a DVR.

In at least one embodiment, a DVR receives a first request to record a television program transmitted over a television distribution system. The DVR identifies an originator of the request and sets a recording timer to record the television program. The DVR associates the originator of the request with the recording timer. Subsequently, the DVR executes the recording timer and records the television program into a file. The DVR associates information identifying the originator with the stored file. The DVR subsequently receives a second request to view the identifying information associated with the file and outputs the identifying information for presentation to a user by an associated presentation device. Thus, the user may view the originator information and ascertain the origin of the recording.

Similarly, a user may request to view information related to a pending recording timer. Responsive to a request to view the recording timer information, the DVR may output information identifying the originator of the recording timer. Thus, the user may ascertain the origin of the recording timer based on the presented identifying information.

As used herein, originator may refer to both a user requesting to record an event as well as a device providing a recording request to the DVR. For example, in a family, the father may provide a request to the DVR to record a particular program. The DVR may identify the originator of the request as the father based upon an appropriate technique and store the originator as “Dad”. In at least one embodiment, an external device, such as a communicatively coupled mobile telephone, place shifting device or computer may provide a recording request to the DVR. If the DVR is unable to ascertain the particular user providing the recording request, then the DVR may identify the originator as the external device providing the recording request. Thus, a user may utilize the originator information stored by the DVR to ascertain who recorded a particular television program.

FIG. 1illustrates an embodiment of a communication network100. The communication network includes a content source102, a television distribution system104, a DVR106, a presentation device108and a remote control110. Each of these components will be discussed in greater detail below. The communication network100may include other components, elements or devices not illustrated for the sake of brevity.

The content source102is operable for receiving, generating and communicating content to one or more DVRs106. The content to be received, processed, outputted and/or communicated may come in any of various forms including, but not limited to, audio, video, data, information, or otherwise. In at least one embodiment, the content source102is operable for receiving various forms and types of content from other sources, aggregating the content and transmitting the content to the DVR106through the television distribution system104. It is to be appreciated that the content source102may receive practically any form and/or type of information from one or more sources including streaming television programming, recorded audio or video, electronic programming guide data and the like.

The television distribution system104is operable to transmit content from the content source102to the DVR106. The television distribution system104may comprise any type of wired (e.g., cable and fiber) and/or wireless (e.g., cellular, satellite, microwave, and other types of radio frequency) communication medium and any desired network topology (or topologies when multiple mediums are utilized). Exemplary television distribution systems104include terrestrial, cable, satellite and internet protocol television (IPTV) distribution systems. In at least one embodiment, the television distribution system104broadcasts or multicasts content to a plurality of television receivers, e.g., the DVR106. The television distribution system104may also distribute content to a specific addressable television receiver, e.g., DVR106, such as video-on-demand and the like. In at least one embodiment, the content source102may be embodied as a transmission facility of the television distribution system104. Exemplary content sources102include over-the-air (OTA) terrestrial transmission facilities, cable television distribution head-ends, satellite television uplink centers, broadband or internet servers and the like.

The DVR106is operable to receive content from the television distribution system104and store the received content for subsequent presentation to the user112. The DVR106is further operable to output the received and/or stored content for presentation by the presentation device108. In at least one embodiment, the presentation device108is a display device (e.g., a television) configured to display content to a user112. The DVR106may receive an audio/video stream in any format (e.g., analog or digital format), and store and output the audio/video stream for presentation by the presentation device108. In at least one embodiment, the DVR106may be integrated with a television receiver, such as a satellite, cable, over-the-air, broadband or other type of television receiver that receives and demodulates television signals that are outputted for display on a display device (e.g., a television). As used herein, a television receiver or DVR may also be referred to as a set-top box, which is a television receiver that is located externally with respect to a display device. The DVR106may be further configured to output menus and other information that allow a user112to control the output of audio/video content by the DVR106, view electronic programming guides (EPGs), set recording timers and the like. In some embodiments, the DVR106and the presentation device108may be integrated as a device combining the functionality of a display device and television receiver/DVR or the like.

Responsive to particular recording timers, the DVR106coordinates the reception of video signals associated with a television program through a television receiving resource (e.g., a television tuner) and storage of the video signal onto a storage medium (e.g., a hard drive or Flash memory). The DVR106may include any number of television receiving resources utilized for receiving television programs. A DVR106minimally includes at least one television receiving resource to receive and record video signals associated with a television program. The DVR106may include multiple television receiving resources to record multiple television programs simultaneously. For example, the DVR106may include two or more tuners that allow recording and/or viewing of multiple programs though the DVR106simultaneously. In at least one embodiment, the DVR106may include multiple types of television receiving resources, such as an over-the-air (OTA) tuner and a satellite and/or cable television tuner that may be utilized to receive and/or record programs from multiple sources.

To set a recording timer, the user112provides information to the DVR106identifying the program to be recorded. For example, the user112may identify the program title, the channel number or network, the time and the duration of the program. In at least one embodiment, the user112selects a program to be recorded using an electronic programming guide that lists various programming in a list or grid format. The DVR106receives the user input and sets an appropriate recording timer. In some embodiments, a recording timer may cause the DVR106to record multiple events, such as multiple episodes of a particular television program.

In accordance with techniques described herein, the DVR106identifies an originator of the recording request and associates the originator with the recording timer. For example, a user112may set a recording timer and provide their name, via a drop down selection menu or via a text entry field of an electronic programming guide. In at least one embodiment, a user112may log in to access features of the DVR106(e.g., via password/pin number, biometric identification or the like) and the DVR106may identify the originator of the request automatically based on the user112currently logged into the device. In at least one embodiment, a DVR106may be associated with multiple remote controls110in different rooms and each remote control may be associated with a particular user. Thus, the DVR106may identify the originator of the request based on the remote control110utilized to provide the recording request. For example, a child may have a separate remote control in their room that is utilized to remotely control a video feed to the child's room from the DVR106. Thus, the child may be identified as the originator of the recording by the DVR106if the recording request is received from that particular remote control.

A user112may also utilize external devices, such as mobile telephones, personal digital assistants (PDAs) or computers to transmit recording requests to the DVR106. If an external device is associated with a particular user, then the DVR106may be able to identify the user as the originator of the request. Otherwise, if the DVR106is not able to identify the user originating the request, then the DVR106may identify the external device as the originator of the request. In at least one embodiment, the DVR106may also associate other information with the recording timer, such as the origination time/date of the recording request.

Responsive to a particular recording timer, the DVR106receives and records the associated content into a file. The DVR106is also operable to associate information identifying the originator with the file. For example, metadata describing the content may also specify who requested recording of the program and/or when the request to record the program was received by the DVR106.

Subsequently, the user112may desire to view metadata associated with the file and may select an option to view the same via a graphical user interface. Responsive to the request, the DVR106outputs the metadata associated with the file. Thus, the user112is presented with the identifying information regarding the originator of the recording request for the file.

FIG. 2illustrates an embodiment of a DVR106A ofFIG. 1.FIG. 2will be discussed in reference to the communication network100illustrated inFIG. 1. The DVR106A includes a communication interface202, a storage medium204, control logic206, an input interface208and a network interface210. Each of these components will be discussed in greater detail below. The DVR106A may include other elements, components or devices which are not illustrated for the sake of brevity.

The communication interface202is operable to receive content212from the television distribution system104. More particularly, in at least one embodiment, the communication interface202receives and tunes a television signal including television programming. The communication interface202may receive an over-the-air (OTA) broadcast, a direct broadcast satellite signal, a cable television signal or an internet protocol television (IPTV) signal and tune the content212to extract the selected television programming. In at least one embodiment, the communication interface202may comprise multiple tuners, utilized by the DVR106A to output and/or record multiple television programs simultaneously.

The storage medium204is operable to persistently store video signals recorded by the DVR106A. The storage medium204may also store other data, such as metadata associated with the recorded video signals. The storage medium204may comprise any type of non-volatile memory appropriate for storing video signals recorded by the DVR106A. Exemplary storage mediums204include hard drives (e.g., magnetic memory), flash memory, battery backed up memory and the like. In at least one embodiment, the storage medium204may be internally located within the DVR106A. In other embodiments, the storage medium204may be located external with respect to the DVR106A. The DVR106A may also utilize a combination of internal and external storage mediums204for storage of video signals.

The input interface208is operable to wirelessly receive data from a remote control110(seeFIG. 1). The input interface208may communicate with a remote control utilizing any type of IR or RF communication link. In at least one embodiment, the input interface208receives a key code from a remote control110and responsively provides the key code to the control logic206for processing. The data received from the remote control110may be utilized by the control logic206to control the output of content by the control logic206. In at least one embodiment, the input interface208may also receive data from other devices besides the remote control110, such as a mobile telephone or personal digital assistant. For example, a mobile telephone may include an application allowing the mobile telephone to remotely control the DVR106similarly to the remote control110.

The control logic206is operable to control the operation of the DVR106A. The control logic206may be a single processing device or a plurality of processing devices that cooperatively operate to control the operation of the DVR106A. The control logic206may include various components or modules for processing and outputting audio/video content. Exemplary components or modules for processing audio/video content include a demodulator, a decoder, a decompressor, a conditional access module and a transcoder module.

The control logic206coordinates storage of the content212onto the storage medium204. More particularly, the control logic206operates responsive to recording timers configured on the DVR106A to command the communication interface202to receive content from a specified channel and coordinates storage of the content onto the storage medium204.

In at least one embodiment, the control logic206is operable to generate an audio/video output214based on the content212, e.g., pass through the signal for display by an associated presentation device108. The control logic206is also operable to retrieve stored video content from the storage medium204to generate an audio/video output214for display by the presentation device108. The presentation device108then presents the audio/video output214to the user. The control logic206may incorporate circuitry to output the audio/video streams in any format recognizable by the presentation device108, including composite video, component video, Digital Visual Interface (DVI), High-Definition Multimedia Interface (HDMI), 1394 and WiFi (e.g., streaming digital video over an internet connection). The control logic206may also incorporate circuitry to support multiple types of these or other audio/video formats. In at least one embodiment, as described above, the DVR106A may be integrated with the presentation device108, and the control logic206may be operable to control the presentation of the audio/video output214by the presentation device108.

To coordinate the storage of the content212, the control logic206is operable to receive user input requesting to record one or more television programs. For example, the user112may utilize the remote control110to select a program for recording via an electronic programming guide. Responsive to the user input requesting to record the program, the control logic206identifies an originator of the recording request. For example, a user112may provide identifying information in association with the request.

FIG. 3illustrates an embodiment of an electronic programming guide300outputted by the DVR106A ofFIG. 2. The electronic programming guide300includes a grid presenting a plurality of programs available for viewing across multiple channels in multiple time slots. In at least one embodiment, a user112(seeFIG. 1) utilizes a cursor302to select an upcoming program for recording. In the illustrated embodiment ofFIG. 3, the user112highlights the basketball game for recording and the control logic206generates a pop-up menu400, as illustrated inFIG. 4, soliciting additional information from the user regarding the recording timer.

As illustrated inFIG. 4, the pop-up menu400allows a user112(seeFIG. 1) to identify themselves using the list box402. It is to be appreciated that other data input techniques may also be utilized, such as a free-style text entry box or the like. Based upon the inputted data, the control logic206identifies the originator of the recording request, responsively sets a recording timer and associates the originator information with the timer for the event.

In at least one embodiment, the originator information for pending recording requests may be outputted for presentation to a user112.FIG. 5illustrates an embodiment of a pending timers menu500outputted by the DVR106A ofFIG. 2. As illustrated in menu500, each recording timer includes information identifying the originator of the request. For example, the “Basketball Game” events are associated with the user “Dad”, whereas the “Funny Guyz” event is associated with the user “Mom”. Likewise, the “Numbers” event is associated with the user “Billy” and the “Death of an Icon” event is associated with the user “Suzy”. While the originator information is presented in the main pending timers menu in the illustrated embodiment, it is to be appreciated that the information may alternatively be displayed in an extended display menu accessed by highlighting one of the timers illustrated inFIG. 5.

Returning toFIG. 2, responsive to the recording timers, the control logic206coordinates the recording of the content212into a file of the storage medium204. The control logic206is also operable to associate identifying information regarding the originator of the recorded event with the recorded file. The originator information may then be presented in association with the file metadata similarly toFIG. 5. For example, the control logic206may generate a list of files available for viewing and the list of files may include information identifying the originator of the recording (e.g., the user that requested storage of the file).

In at least one embodiment, the originator information is outputted by the control logic206in an extended data viewing screen. For example, a user112may request to view extended event information regarding a recording, e.g., a description of the program and the originator information may be presented in association therewith. It is to be appreciated that other possibilities for presenting the originator information may be utilized in accordance with the management techniques described herein.

Returning toFIG. 2, the DVR106A may include an optional network interface210connected to a communication network220. The network interface210provides bi-directional data transmission between the DVR106A and other devices on the communication network, such as mobile telephones, personal digital assistants, place shifting devices, computers and the like. For example, a user112may remotely access the DVR106A using any type of external device222to set recording timers, manage recorded files or access live or recorded content.

The network interface210may operate using any implementation of protocols or other features to support communication by the DVR106A on an appropriate communication network220. In various embodiments, network interface210supports conventional local area network (LAN), wide area network (WAN) or other protocols (e.g., the TCP/IP or UDP/IP suite of protocols widely used on the internet) to allow the DVR106A to communicate on the communication network220as desired. Network interface210typically interfaces with the communication network220using any sort of LAN adapter hardware, such as a conventional network interface card (NIC) or the like provided within television receiver DVR106A.

As described above, a user112may utilize the external device222to access the DVR106A. For example, a user112may log into the DVR106A using a computer located distally from the DVR106A. Through the computer, the user112may perform various functions, such as setting a new recording timer. In at least one embodiment, the user112provides identifying information when accessing the DVR106A via the external device222. Thus, the control logic206may identify the user as the originator of a particular recording timer in accordance with the teachings above. Additionally, the control logic206may track information indicating that the recording request was provided via an external device222, such as a mobile telephone or via a web accessible electronic programming guide.

However, if the control logic206is unable to identify the user, then the control logic may identify the device as the originator of the recording command. The device information may thus be presented in association with information regarding a recording timer or a recorded file. For example, a recorded event selection menu may specify that a file was recorded responsive to a timer set via a mobile telephone. Thus, even though the information does not explicitly specify who recorded the event, there is sufficient information for some users to ascertain the origin of the recording timer or the recorded file.

In at least one, the control logic206may be operable to maintain profiles associated with various users of the DVR106A. For example, each family member may have a profile associated with the DVR106A. In at least one embodiment, users may log in to access their profile using a password/pin number, biometric identification or the like. Different profiles may have varying access to features and content of the DVR106A. For example, a parent may be able to access all programming received by the DVR106A, whereas a child's access may be limited to kid friendly programming as designated by the parent. Similarly, each user may be restricted from accessing particular recorded content, depending on desired design criteria.

In at least one embodiment, recorded events may be associated with a particular user of the DVR106A. For example, the recorded event may be associated with an originator of an event. If the user logs into the DVR106A, then the originator of an event may be identified by the control logic206automatically based on which profile is currently logged into the DVR106A.

The control logic206may also be operable to track whether the originator of the event has viewed the recorded file. For example, the control logic206may coordinate the storage of information identifying whether a user using the particular profile that originated the event has actually viewed the event. This information may then be outputted by the control logic206for presentation to users. Thus, one user may be able to ascertain whether it is acceptable to delete a recorded file depending on whether the originator of the event has already viewed the content.

The control logic206may determine whether a user has actually viewed an event in several ways. For example, after viewing a particular event, a user may provide input to the control logic206indicating that they have completed viewing an event. The control logic206may also track whether an entire event or some majority thereof (e.g., 80%) has been played back by the DVR106A. If so, the control logic206may designate the event as being already viewed by the user112(seeFIG. 1). In at least one embodiment, a partially played back event which has been locked for deletion by the originator is designated as not already viewed, since it is likely that the user has not viewed important portions of the content. It is to be appreciated that any combination of the appropriate techniques for determining whether a user112has viewed an event may be utilized as appropriate depending on desired design and operational criteria of the control logic206.

In at least one embodiment, the control logic206may lock an unviewed event for deletion by users other than an originator of the event. For example, if a first user has requested recording of an event but has not yet viewed the recorded file, then the control logic206may prohibit a second user from deleting the event. In at least one embodiment, the control logic206unlocks the recorded file for deletion by the second user once the first user has viewed the event. Thus, the DVR106A may protect recorded events against inadvertent deletion by other users.

Often it is the case that multiple users may have an interest in the same programming but may not watch the program together. Typically, one user creates a recording timer to record the programming which is available for all users. However, it may be desirable that content cannot be deleted until each interested user has viewed the content. Thus, in some embodiments, a recorded event may be associated with multiple users and may be blocked from deletion until each associated user has viewed the recording. For example, the DVR106A may have four users (A, B, C and D) and user A may create a recording timer for an event. Further, the recorded event may be associated with users A and D. Thus, until both users A and D have viewed the recording, then other users may be unable to delete the event. This can be contrasted with the situation in which a recorded event is locked from deletion until the originator of the recording has viewed the event, which may result in an event being deleted before another interested user has viewed the content.

In at least one embodiment, a user may initially set up a recording and may indicate particular viewers that should be associated with the recorded event. For example, user A may record a program and believe that user C may have an interest in the program as well. Thus, user A may also associate the recording with user C during the timer set up process. In at least one embodiment, the DVR106A may provide a menu process that allows users to disassociate themselves for a recording. For example, user C may not actually have an interest in the program and may thus desire to be dissociated with the event such that the event can be deleted without user C previously viewing the event.

In other scenarios, a user may be associated with an event after a recording timer has been set or an event has been recorded. For example, user A may request to record a particular event and user B may subsequently see the pending recording timer or the recorded event and may desire to register an interest in the program. User C may thus provide input via an appropriate menu in order to register their interest in the program.

FIG. 6illustrates an embodiment of a process for recording television content. More particularly,FIG. 6illustrates a process for managing files associated with recorded content on any type of DVR, including set-top box DVRs, whole home DVRs or network DVRs. The process ofFIG. 6may include other operations not illustrated for the sake of brevity.

The process includes receiving a first request to record a television program transmitted over a television distribution system (operation602). The process further includes identifying an originator of the first request (operation604). For example, a user may provide input, via a remote control, requesting to record a particular program. A user may additionally provide input identifying themselves to the DVR106A.

The process further includes receiving and recording the television program into a file (operation606). The process further includes associating information identifying the originator with the file (operation608). For example, a DVR may store metadata describing the recorded file and the metadata may include information identifying the originator of the recording request associated with the recorded file.

The process further includes receiving a second request to view the identifying information associated with the file (operation610). For example, a user may desire to view extended event information, e.g., a description of the television program and the like via a graphical user interface. Responsive to the request, the process further includes outputting the identifying information for presentation by a presentation device (operation612).