HK1168485A - Media content delivery systems and methods - Google Patents
Media content delivery systems and methods Download PDFInfo
- Publication number
- HK1168485A HK1168485A HK12109186.1A HK12109186A HK1168485A HK 1168485 A HK1168485 A HK 1168485A HK 12109186 A HK12109186 A HK 12109186A HK 1168485 A HK1168485 A HK 1168485A
- Authority
- HK
- Hong Kong
- Prior art keywords
- media content
- real
- instance
- network
- processing device
- Prior art date
Links
Description
Cross Reference to Related Applications
This application claims priority to U.S. patent application No.12/478,255, filed on 6/4/2009, which is incorporated herein by reference in its entirety.
Background
Set top boxes ("STBs") have become an important device for end users (e.g., subscribers) that access media content services and the media content within those services. It is not uncommon for STBs to include or be used in conjunction with digital video recording ("DVR") technology, which can be used to record streamed media content to persistent storage (e.g., a hard disk) at the end user's home for later local access and playback.
One common problem experienced by users of conventional DVR technology is that of recording failures that may have various causes. For example, an end user may set a recording schedule that configures the end user device to locally record a particular media content stream during a scheduled transmission of that media content stream. However, at the scheduled transmission time, sufficient network and/or local resources may not be available to receive and/or record the media content stream. For example, sufficient network bandwidth may not be available to support the simultaneous transmission of media content streams to end-user devices. As another example, an end-user device may lack resources (e.g., a tuner) for simultaneously receiving and/or recording media content streams. Typically, the lack of such resources causes at least one of the conflicting scheduled recorded media content streams to be unrecorded.
Drawings
The accompanying drawings illustrate various embodiments and are a part of the specification. The illustrated embodiments are merely examples and do not limit the scope of the disclosure. The same reference numbers will be used throughout the drawings to refer to the same or like elements.
Fig. 1 illustrates an exemplary media content delivery system.
FIG. 2 illustrates an exemplary end user media content processing device.
Figure 3 illustrates an exemplary network record access method,
fig. 4 illustrates an exemplary media content recording method using the network recording access method of fig. 3.
Fig. 5 illustrates exemplary components of a media content delivery system.
Fig. 6 illustrates an exemplary network computing device.
Fig. 7 illustrates an exemplary media content delivery method.
Detailed Description
Exemplary media content delivery systems, methods, and devices are described herein. As described in more detail below, in certain exemplary embodiments, the media content delivery subsystem may receive a request from an end-user media content processing device via a network for recording a real-time transmission of a media content instance. The media content delivery subsystem may record a real-time transmission of the instance of media content and send data representing the real-time transmission of the recorded instance of media content to the end-user media content processing device via the network for local storage by the end-user media content processing device. In particular examples, the transmission of data to the end user media content processing device representing a real-time transmission of the recorded instance of media content may utilize fewer resources (e.g., network resources, such as network bandwidth and/or resources of the end user media content processing device, such as a tuner) than are used by the real-time transmission of the instance of media content (e.g., the real-time transmission of the instance of media content to the end user media content processing device via a network). In a particular example, the record may include: at least one media data file containing data representing a real-time transmission of the recorded instance of media content is generated, and the sending may include: at least one media data file is transmitted from the media content delivery subsystem to the end-user media content processing device via the network.
In certain exemplary embodiments, an end-user media content processing device may send a request to a media content delivery subsystem via a network to record a real-time transmission of a media content instance over the network. The end-user media content processing device may receive data representing a real-time transmission of the network-recorded instance of media content in response to the request. The end-user media content processing device may store data representing the real-time transmission of the network-recorded instance of media content to the local storage device and play back at least a portion of the instance of media content for experience by the user using the data representing the real-time transmission of the network-recorded instance of media content in the local storage device.
Other exemplary media content delivery systems, methods, and devices are also described herein.
The term "media content" as used herein may generally refer to content that is made accessible by a media content delivery subsystem to one or more end-user media content processing devices via a network. The term "media content instance" as used herein may generally refer to any television program, on-demand media program, pay-per-view media program, broadcast media program (e.g., broadcast television program), multicast media program, narrowcast media program, IPTV content, commercial, promotion, video, movie, song, or any segment, component, or combination of these or other forms of media content that may be viewed or experienced by a user. In particular embodiments, the media content instance may include a television program configured to be transmitted (e.g., broadcast, multicast, or narrowcast) to at least one end-user media content processing device during a scheduled transmission time slot.
The term "real-time transport" or "real-time transport format" as used herein may generally refer to the streaming of media content over a network to at least one end-user media content processing device in the following manner: enabling the end-user media content processing device to begin rendering (e.g., playback) the instance of media content carried by the real-time transport without having to first download the entire instance of media content. For example, a broadcast, multicast, or narrowcast television program may be streamed to an end user media content processing device in a real-time transmission and rendered by the end user media content processing device for experience by the end user while the broadcast, multicast, or narrowcast is in progress.
The term "non-real-time transport" or "non-real-time transport format" as used herein may generally indicate the transfer of data representing media content over a network to at least one end-user media content processing device in the following manner: end user media content processing devices are not typically enabled to begin rendering the media content without downloading the media content in its entirety, or to playback the media content at the same rate that was used to transmit the real-time transmission of the media content. For example, the non-real-time transmission of the instance of media content may include a file transfer, which may include transferring data representing the media content (e.g., one or more media data files) over a network using a lower rate than a rate used to send the real-time transmission of the instance of media content. Non-real-time transmission of media content may also include: during off-peak usage times when network resources are available, data representing media (e.g., one or more media data files) is communicated over the network using a higher rate than is used to send real-time transmissions of instances of media content.
The constituent parts and functions of exemplary media content delivery systems, methods and devices are now described in more detail with reference to the accompanying drawings.
Fig. 1 illustrates an exemplary media content delivery system 100 (or simply "system 100"). System 100 may include a media content delivery subsystem 102 and an end-user media content processing subsystem 104 in communication with each other via a network 106. As described herein, the media content delivery subsystem 102 may be configured to deliver media content to the end-user media content processing subsystem 104 in a plurality of transport formats, including real-time transport formats and non-real-time transport formats. Non-real-time transport formats may typically use less network resources and/or less end-user device resources than real-time transport formats. As described in further detail below, in particular embodiments, the non-real-time transport format may include a media file transfer from the media content delivery subsystem 102 to the end-user media content processing subsystem 104 via the network 106 (e.g., a file download of at least one media data file created from a recording of a real-time transmission of an instance of media content).
In particular embodiments, system 100 or one or more components of system 100 may include any computer hardware and/or computer-implemented instructions (e.g., software), or combination of computer-implemented instructions and hardware, configured to perform one or more of the processes described herein. In particular, it should be understood that the components of system 100 may be implemented on one physical computing device or may be implemented on more than one physical computing device. Thus, the components of system 100 may include any number of computing devices and may use any number of computer operating systems.
Thus, one or more of the processes described herein may be implemented, at least in part, as instructions executable by one or more computing devices. Generally, a processor (e.g., a microprocessor) receives instructions from a computer-readable medium (e.g., a memory, etc.) and executes those instructions, thereby performing one or more processes, including one or more of the processes described herein. Such instructions may be stored and/or transmitted using any of a variety of known computer-readable media.
A computer-readable medium (also referred to as a processor-readable medium) includes any medium that participates in providing data (e.g., instructions) that may be read by a computer (e.g., by a processor of a computer). Such a medium may take many forms, including, but not limited to, non-volatile media and/or volatile media. Non-volatile media may include, for example, optical or magnetic disks, and other persistent memory. Volatile media may include, for example, dynamic random access memory ("DRAM"), which typically constitutes a main memory. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip or cartridge, or any other medium from which a computer can read.
The end-user media content processing subsystem 104 and the media content delivery subsystem 102 may communicate over the network 106 using any communication platform and technology suitable for communicating media content and/or communication signals, including known communication technologies, devices, transmission media, and protocols that support remote data communications, examples of which include, but are not limited to, data transmission media, communication devices, transmission control protocol ("TCP"), internet protocol ("IP"), file transfer protocol ("FTP"), Telnet (Telnet protocol), hypertext transfer protocol ("HTTP"), hypertext transfer protocol security ("HTTPs"), session initiation protocol ("SIP"), simple object access protocol ("SOAP"), extensible markup language ("XML"), and variations thereof, simple mail transfer protocol ("SMTP") Real-time transport protocol ("RTP"), user Datagram protocol ("UDP"), Global System for Mobile communications (GSM) technology, code division multiple Access ("CDMA") technology, evolution-data optimized protocol ("EVDO"), time division multiple Access ("TDMA") technology, radio frequency ("RF") signaling technology, wireless communication technologies (e.g., Bluetooth, Wi-Fi, etc.), optical transmission and signaling technologies, real-time transmission technologies (e.g., media streaming technologies), media file transmission technologies, in-band and out-of-band signaling technologies, and other suitable communication technologies.
Network 106 may include one or more networks or one or more types of networks (and network links therewith) capable of carrying communication, media content, and/or data signals between media content delivery subsystem 102 and end-user media content processing subsystem 104. For example, network 106 may include, but is not limited to, one or more wireless networks (e.g., a satellite media broadcast network or a terrestrial broadcast network), a mobile phone network (e.g., a cellular phone network), a closed media network, an open media network, a subscriber television network (e.g., a broadcast, multicast, and/or narrowcast television network), a closed communication network, an open communication network, a satellite network, a cable network, a hybrid fiber-coax network, a fiber-optic network, a broadband network, a narrowband network, the internet, a wide area network, a local area network, a public network, a private network, a packet-switched network, and any other network capable of carrying data and/or communication signals between end-user media content processing subsystem 104 and media content delivery subsystem 102. Communications between media content delivery subsystem 102 and end-user media content processing subsystem 104 may be communicated using any one of the above networks or any combination or sub-combination of the above networks. In particular embodiments, network 106 includes a subscriber television network configured to deliver real-time and other transmissions (e.g., non-real-time transmissions) of media content from media content delivery subsystem 102 to end-user media content processing subsystem 104.
End-user media content processing subsystem 104 may include or be implemented in one or more end-user media content processing devices configured to communicate with media content delivery subsystem 102 via network 106. The end-user media content processing device may be associated with one or more end-users and may be located at one or more end-user's homes (e.g., at the subscriber's home).
FIG. 2 illustrates an exemplary end-user media content processing device 200 (or simply "processing device 200"). Processing device 200 may comprise any computing device configured to communicate with media content delivery subsystem 102 and to receive and process media content as described herein. Processing device 200 may include, but is not limited to, a set-top box, a media recording device (e.g., a digital video recording ("DVR") or personal video recording ("PVR") device), a television device, a telephone device, a mobile telephone device, a handheld device, a personal computer, a personal digital assistant device, a gaming device, an entertainment device, and/or any device or combination of devices configured to perform one or more of the processes and/or operations described herein. In certain exemplary embodiments, the processing device 200 comprises a set-top box configured to access media services and/or media content provided by the media content delivery subsystem 102. For example, the processing device 200 may include a set-top box configured to access at least one of a broadcast television service, a multicast television service, and a narrowcast television service over the network 106.
Exemplary components of the processing device 200 are now described. Although fig. 2 illustrates exemplary components of processing device 200, the components illustrated in fig. 2 are not intended to be limiting. Additional or alternative components may be used in other embodiments.
As shown in fig. 2, processing device 200 may include a communication interface 202, communication interface 202 configured to send and receive communication signals over network 106, including receiving content and/or data (e.g., streaming media content, program guide data, media content metadata, media data files) in any acceptable format from media content delivery subsystem 102 via network 106 or from any other suitable external source. Communication interface 202 may include any device, logic, and/or other technology suitable for receiving signals and/or data representing media content and/or other types of content or data. In particular embodiments, communication interface 202 may be configured to receive one or more real-time transmissions of media content and/or one or more non-real-time transmissions of a real-time transmission of a network recording of media content (e.g., media data file transfers) from media content delivery subsystem 102 via network 106.
The processing device 200 may include a receiver 204, the receiver 204 being configured to receive a user input signal from a user input device 206. The user input device 206 may include, for example, a remote control device or any other suitable input device, and may be configured to communicate with the receiver 204 via a wireless link, an electronic connection, or any other suitable communication link. User input device 206 may include one or more input mechanisms through which a user may use and/or control features and/or services provided by media content delivery subsystem 102 and/or processing device 200.
Processing device 200 may include a graphics engine 208 and an output driver 210. The graphics engine 208 may be configured to generate graphics to be provided to the output driver 210, and the output driver 210 may be configured to interface with the display 212 or drive the display 212. The output driver 210 may provide output signals to the display 212 that include graphical content (e.g., visual media content) generated by the graphics engine 208 and to be rendered by the display 212 for experience by a user. For example, the output driver 210 may provide data representing a graphical user interface ("GUI") including a media content presentation view to the display 212 for presentation to a user. The visual media content may be played back in such a media content presentation view. Graphics engine 208 and output driver 210 may include any combination of hardware, software, and/or firmware that may serve a particular application.
Storage 214 may include one or more data storage media, devices, or configurations, and may use any type, form, and combination of computer-readable storage media, including any of those described herein. Media content, program guide data, media content metadata, and/or other data may be temporarily and/or permanently stored in storage 214. For example, data representing media content may be temporarily stored (e.g., buffered) and/or more permanently stored (e.g., recorded) for subsequent processing by the processing device 200.
The storage device 214 is shown as part of the processing device 200 for illustrative purposes only. It will be appreciated that the storage device 214 may additionally or alternatively be located external to the processing device 200 (e.g., in a DVR device in communication with the processing device 200).
The processing device 200 may include a memory 216, which memory 216 may include, but is not limited to, flash memory, random access memory ("RAM"), dynamic RAM ("DRAM"), other suitable computer-readable media, or any combination or sub-combination thereof. In some examples, one or more software applications configured to run on processing device 200 may be located in memory 216.
The storage 214 may include one or more real-time cache buffers 218. The real-time cache buffer 218 may additionally or alternatively be located in the memory 216, or in a storage device external to the processing device 200. In some examples, the media content data may be temporarily stored in the real-time cache buffer 218 to facilitate playback and/or recording of media content streamed in real-time transmission from the media content delivery subsystem 102 to the processing device 200 via the network 106.
Processing device 200 may include one or more tuners 220. The tuner 220 may be configured to selectively receive real-time transmissions of streaming media content carried on particular content carrier channels so that the processing device 200 may process the media content. In some examples, processing device 200 may include multiple tuners 220 such that real-time transmissions of streaming media content carried on different content carrier channels may be received simultaneously for processing by processing device 200. For example, the processing device 200 may include: a first tuner configured to receive media content carried on an analog video signal; and a second tuner configured to simultaneously receive content carried on the digitally compressed signal.
Although one or more tuners 220 may be used to receive various types of content-bearing signals (e.g., real-time transmission of media content) transmitted by media content delivery subsystem 102, processing device 200 may additionally or alternatively be configured to receive other types of signals (e.g., other types of media content for bearing signals) from media content delivery subsystem 102 and/or from one or more other sources without the use of tuners 220. For example, the media content delivery subsystem 102 may transmit a digital stream of data packets (e.g., internet protocol ("IP") based data packets, such as may be included in an IP television ("IPTV") data stream) in a real-time transmission that may be received without the use of the tuner 220. For such types of signals, communication interface 202 may receive the signal and forward the signal directly to other components of processing device 200 (e.g., processor 224 and/or signal processing unit 222) without the signal passing through tuner 220. For an IP-based signal such as a real-time IPTV transport signal, for example, the signal processing unit 222 may function as an IP receiver. Thus, the processing device 200 may be configured to receive one or more types of real-time transmissions, including IPTV, QAM, and video on demand broadcast, multicast, and/or narrowcast.
The processing device 200 may also be configured to receive media content having other transmission formats. For example, the communication interface 202 may be configured to receive data representing media content (e.g., one or more media data files) in a non-real-time transmission for storage by the processing device 200 to the storage device 214. For example, the communication interface 202 may receive media content from the media content delivery subsystem 102 via data file transfer and store one or more data files representing the media content to the storage 214 for subsequent access and playback.
Processing device 200 may include at least one processor, such as processor 224, configured to control and/or perform one or more operations of processing device 200. The processing device 200 may also include a signal processing unit 222, the signal processing unit 222 being configured to process incoming media content and/or other signals. The signal processing unit 222 may be configured to, for example, demodulate and analyze the encoded digital media content. In some examples, processing device 200 may include one or more signal processing units 222 corresponding to each of tuners 220.
As described, the processing device 200 may include one or more software applications located in the memory 216 or another computer-readable medium and configured to be executed by the processor 224 of the processing device 200. In fig. 2, processing device 200 includes a program guide application 226 and a media recording application 228 located in memory 216.
Program guide application 226 may be configured to execute or direct one or more other components of processing device 200 to perform one or more program guide operations. For example, the program guide application 226 may direct one or more components of the processing device 200 to generate and provide data representing a program guide GUI to the display 212 for presentation to a user. The program guide GUI may provide data representing a media program guide and a transmission schedule for indicating the content carrier channels on which the real-time transmission of the media content is carried and the time slots during which the real-time transmission is available over the network 106. Accordingly, the program guide GUI may help a user of the processing device 200 identify desired media content and scheduled real-time transmission of the media content. The program guide GUI may also assist the user of the processing device 200 in initiating and/or scheduling the recording of real-time transmissions of media content.
The media recording application 228 may be configured to execute or direct one or more other components of the processing device 200 to perform one or more local media recording operations. For example, the media recording application 228 may direct one or more other components of the processing device 200 to record a real-time transmission of the instance of media content locally to the storage device 214. The processing device 200 may then use the locally stored recording to playback the media content instance for processing the user experience of the device 200.
The media recording application 228 may also maintain or direct one or more other components of the processing device 200 to maintain data to be recorded locally by the processing device 200 representing one or more local recording schedules for specifying scheduled time slots and channels for real-time transmissions. For example, the media recording application 228 may direct one or more components of the processing device 200 to generate and provide a recording schedule GUI to the display 212 for presentation to a user. A user of processing device 200 may utilize the recording schedule GUI and/or the program guide GUI to schedule local recording of one or more real-time transmissions of media content instances. The media recording application 228 may initiate a local media recording operation based on the local recording schedule. The media recording application 228 may also be configured to initiate a local media recording operation in response to a user input for directing the processing device 200 to initiate recording.
Instead of or in addition to initiating and/or performing local media recording operations, the media recording application 228 may be configured to execute or direct one or more other components of the processing device 200 to facilitate and/or access network media recording operations and/or services. For example, processing device 200 may request that a real-time transmission of the media content instance be recorded by media content delivery subsystem 102. To this end, the media recording application 228 may direct one or more components of the processing device 200 to generate and send a request to the media content delivery subsystem 102 via the network 106 for real-time transmission of the recorded media content instance. The media recording application 228 may initiate transmission of such a request in response to the occurrence of any predetermined event including, but not limited to, user input to direct the processing device 200 to request a network recording of an instance of media content, user input to schedule a recording of a real-time transmission of an instance of media content, and/or a predicted deficit of resources for one or more recordings (e.g., the processing device 200 predicts a lack of processing device resources to process scheduled recordings of an overlapping real-time transmission of media content).
Fig. 3 illustrates an exemplary network record access method 300. Although fig. 3 illustrates exemplary steps according to one embodiment, other embodiments may omit, add to, reorder, and/or modify any of the steps shown in fig. 3. In particular embodiments, one or more of the steps shown in FIG. 3 may be performed by end-user media content processing subsystem 104 and/or processing device 200.
In step 302, a request to record a real-time transmission of a media content instance is sent to the media content delivery subsystem 102 via the network 106. For example, the end-user media content processing subsystem 104 and/or the processing device 200 may send a request to the media content delivery subsystem 102 via the network 106 for real-time transmission of the recorded media content instance. The request may include data indicating the real-time transmission to be recorded, which may include, but is not limited to, a content channel identifier and a time slot associated with the real-time transmission. In a particular example, the request may include a particular request to record the real-time transmission. In other examples, the request may include a recording schedule indicating one or more scheduled recordings for one or more real-time transmissions of the media content. For example, the end-user media content processing subsystem 104 may send data representing at least a portion of a local recording schedule to the media content delivery subsystem 102 to request one or more network recordings of one or more real-time transmissions of media content.
As described in further detail below, the media content delivery subsystem 102 may perform one or more network recordings of one or more real-time transmissions of media content and provide data representing the network-recorded media content in response to one or more network recording requests sent to the media content delivery subsystem 102 at step 302.
At step 304, data representing a real-time transmission of the network recording of the media content instance requested at step 302 is received from the media content delivery subsystem 102. For example, end-user media content processing subsystem 104 and/or processing device 200 may receive data from media content delivery subsystem 102 representing a real-time transmission of a network recording of a media content instance. The data used to represent the network-recorded real-time transmission of the media content instance may be received by the end-user media content processing subsystem 104 in any suitable format, including non-real-time transmission formats that may generally be received using less resources than those used when receiving the real-time transmission of the media content instance. In particular embodiments, for example, the data is received in a non-real-time transport format, such as the transfer of one or more media data files from media content delivery subsystem 102 to end-user media content processing subsystem 104 and/or processing device 200.
In step 306, data representing a real-time transmission of a network recording of the instance of media content is stored to a local storage device. For example, end-user media content processing subsystem 104 and/or processing device 200 may store the data received at step 304 for representing the real-time transmission of the network recording of the media content instance to a local storage device, such as storage device 214. This data may be stored in the following manner: so that it may be subsequently accessed and used for playback of the media content instance by the end-user media content processing subsystem 104 and/or processing device 200. In certain embodiments, the storing at step 360 includes: before playback of the instance of media content can be initiated, a download of a complete media data file is stored to the local storage device, the complete media data file including data representing a real-time transmission of a network recording of the instance of media content.
In step 308, locally stored, real-time transmitted data representing a network recording of the instance of media content is used to playback the instance of media content. For example, the end-user media content processing sub-system 104 and/or processing device 200 may access and use locally stored data for real-time transmission representing a network recording of a media content instance to playback at least a portion of the media content instance for experience by a user of the end-user media content processing sub-system 104 and/or processing device 200. In certain embodiments, playback of the locally stored instance of media content is initiated only after the entire media data file is downloaded and stored at step 306.
In the manner described above or similar, end-user media content processing subsystem 104 and/or processing device 200 may request that network recording of media content be performed, and that network-recorded media content be received, stored, and used for subsequent playback.
The example network record access method 300 of fig. 3 may be used to extend the capabilities of the processing device 200 to receive media content carried in simultaneous and/or overlapping real-time transmissions (e.g., real-time transmissions associated with overlapping and/or simultaneous time slots) provided by the media content delivery subsystem 102 over the network 106. For example, when multiple overlapping real-time transmissions of media content are sent by the media content delivery subsystem 102 over the network 106, the processing device 200 may receive a subset of the multiple overlapping real-time transmissions in a real-time transmission format and perform one or more steps of the method 300 to request and receive data representing another subset of the multiple overlapping real-time transmissions in a non-real-time transmission format as described above. For example, if the processing device 200 includes a single tuner 220, the single tuner 220 may be used to receive one of the simultaneous real-time transmissions of the media content in a real-time transmission format. Processing device 200 may also perform one or more steps of method 300 to request and receive data representing at least another of the overlapping real-time transmissions in a non-real-time transmission format as described above. This may help the processing device 200 to prevent possible tuner conflicts, which may be caused, for example, by an over-scheduled recording of overlapping real-time transmissions of media content.
As an example of utilizing the local media content recording capability and the network media content recording service, in addition to performing the steps of method 300 as described above to request, receive, and store data representing a network recorded real-time transmission of a media content instance, processing device 200 may receive and record a separate real-time transmission of another media content instance even when the real-time transmission of the media content instance and the separate real-time transmission of the other media content instance are available via network 106 during overlapping time slots.
Fig. 4 illustrates an exemplary media content recording method 400 utilizing the network recording access method of fig. 3. Although fig. 4 illustrates exemplary steps according to one embodiment, other embodiments may omit, add to, reorder, and/or modify any of the steps shown in fig. 4. In particular embodiments, end-user media content processing subsystem 104 and/or processing device 200 may perform one or more of the steps shown in fig. 4.
At step 402, a recording schedule is maintained for indicating a plurality of real-time transmissions of media content to be recorded. For example, the processing device 200 may maintain a local recording schedule in the storage device 214 indicating a plurality of real-time transmissions of media content to be recorded. In a particular example, the plurality of real-time transmissions of media content indicated in the recording schedule includes at least a first real-time transmission of a first instance of media content and a second real-time transmission of a second instance of media content.
At step 404, a first real-time transmission of a first instance of media content is locally recorded. For example, the processing device 200 may receive the first real-time transmission of the first instance of media content in a real-time transmission format and locally record the first real-time transmission of the first instance of media content, as described above.
At step 406, a request to record a second real-time transmission of a second instance of media content is sent to media content delivery subsystem 102. For example, processing device 200 may send a request to media content delivery subsystem 102 to record a second real-time transmission of a second instance of media content, which media content delivery subsystem 102 may record as further described below.
At step 408, the network recorded data requested at step 406 for representing the second real-time transmission of the second instance of media content is received from the media content delivery subsystem 102. For example, processing device 200 may receive network recorded data representing a second real-time transmission of a second instance of media content from media content delivery subsystem 102.
At step 410, the data of the network record representing the second real-time transmission of the second instance of media content is stored to a local storage device. For example, processing device 200 may store the network recorded data received at step 408 for representing the second real-time transmission of the second instance of media content to storage device 214.
In step 412, the locally stored network recorded data representing the second real-time transmission of the second instance of media content is used to playback the instance of media content. For example, the processing device 200 may access and use locally stored network recorded data representing a second real-time transmission of a second instance of media content to playback at least a portion of the second instance of media content for experience by a user of the processing device 200.
Turning now to the media content delivery subsystem 102, FIG. 5 illustrates exemplary components of the media content delivery subsystem 102. As shown in fig. 5, the media content delivery subsystem 102 may include a media content real-time transmission facility 502, a network media content recording facility 504, a recorded media content delivery facility 506, and a network storage facility 508, which may communicate with one another using any suitable communication technology.
The media content real-time transmission facility 502 may be configured to send one or more real-time transmissions of media content over the network 106. An exemplary real-time transmission sent by the media content real-time transmission facility 502 over the network 106 is represented as arrow 510 in fig. 5. In particular embodiments, the real-time transmission facility 502 may transmit real-time transmissions of media content over the network 106 according to a transmission schedule specifying time slots during which the real-time transmissions are to be transmitted and a content carrier channel to be used to carry the media content associated with the real-time transmissions. Additionally or alternatively, in particular embodiments, real-time media content transmission facility 502 may send a real-time transmission of media content in response to a predefined event including, for example, receipt of a request for real-time transmission of media content (e.g., a request for video-on-demand content) from end-user media content processing subsystem 104.
The real-time transmission of media content sent by the media content real-time transmission facility 502 may include broadcast, multicast, and/or narrowcast real-time transmission of media content. For example, the media content real-time transmission facility 502 may broadcast and/or multicast one or more television programs over the network 106 according to a television broadcast and/or multicast schedule. As another example, the media content real-time transmission facility 502 may narrowcast one or more television programs over the network 106 in response to a request for a television program.
The network media content recording facility 504 may be configured to record real-time transmissions of media content, including real-time transmissions of media content sent by the media content real-time transmission facility 502. The network media content recording facility 504 may record the real-time transmission of the media content in real-time while the real-time transmission is being sent by the real-time media content transmission facility 502.
The network media content recording facility 504 may cause real-time transmission of the recorded media content to be stored as recorded media content 512 in the network storage facility 508. The recorded media content 512 may be stored in any suitable format, including as one or more media data files and/or libraries.
The network media content recording facility 504 may be configured to initiate recording of a real-time transmission of media content in response to a predefined recording event. In particular embodiments, for example, network media content recording facility 504 may initiate recording of a real-time transmission of media content in response to a request to record the real-time transmission of media content, including a request received from end-user media content processing subsystem 104. End-user media content processing subsystem 104 may send requests to media content delivery subsystem 102 via network 106 as described above and may include any data as described above.
In particular embodiments, the request for recording one or more real-time transmissions of media content may include a recording schedule received from end-user media content processing subsystem 104. The network media content recording facility 504 may store data representing one or more such recording schedules as recording schedule data 514 in the network storage facility 508. The network media content recording facility 504 may use the recording schedule data to determine when to start and stop network recording sessions to record real-time transmissions of media content during the appropriate time slots and on the appropriate content carrier channels.
The recorded media content delivery facility 506 may be configured to send data representing the recorded media content 512 to the end-user media content processing subsystem 104 via the network 106. An exemplary transmission of the recorded media content instance by the recorded media content delivery facility 506 over the network 106 is represented in fig. 5 as arrow 516.
The recorded media content delivery facility 506 may be configured to transmit data representing the recorded media content 512 in any suitable non-real-time transmission format, including any non-real-time transmission format that may generally use fewer resources of the network 106 and/or end-user media content processing subsystem 104 than real-time transmission of media content transmitted by the media content real-time transmission facility 502 over the network 106. In particular embodiments, for example, the recorded media content delivery facility 506 may be configured to initiate file transfer of one or more media data files from the media content delivery subsystem 102 to the end-user media content processing subsystem 104 via the network 106. In a particular example, such file transfers, such as media content instances, may use less network bandwidth than real-time transfers of media content instances by the media content real-time transfer facility 502 over the network 106.
For example, the real-time media content transmission facility 502 may send a real-time transmission 510 of instances of media content having a high definition moving picture experts group format ("HDMPEG-2") over the network 106 at a rate of 19 megabits per second (19Mbps) to support live, real-time playback of the instances of media content by the end-user media content processing subsystem 104. In contrast, the recorded media content delivery facility 506 sends a non-real-time transmission 516 (e.g., file transfer) of data representing the recorded real-time transmission of the media content instance to the end-user media content processing subsystem 104 over the network 106 at a lower transmission rate, thereby conserving network bandwidth. In a particular example, the transfer rate of the data representing the recorded instance of media content may be much less than the rate of real-time transfer of the instance of media content. In a particular example, the recorded media content delivery facility 506 may dynamically adjust (e.g., reduce) a transfer rate for transferring data representing the recorded media content instance based on network bandwidth available at the time of transfer.
The recorded media content delivery facility 506 may be configured to transmit the recorded media content 512 over the network 106 at any suitable time. In particular embodiments, for example, the recorded media content delivery facility 506 may be configured to automatically initiate the transfer of data representing the recorded instance of media content upon completion of network recording of the real-time transmission of the instance of media content by the network media content recording facility 504. As another example, in particular embodiments, recorded media content delivery facility 506 may be configured to automatically initiate transmission of data representing a recorded instance of media content at off-peak network usage times. For example, the recorded media content delivery facility 506 may automatically deliver any media content recorded by the media content recording facility 504 during the day at off-peak hours at the end of the day (e.g., late at night) when network bandwidth usage is low.
As another example, the recorded media content delivery facility 506 may be configured to automatically initiate transmission of data representing an instance of recorded media content based on operational attributes of the processing device 200. To this end, the recorded media content delivery facility 506 may be configured to communicate with the processing device 200 via the network 106 to determine one or more operational attributes of the processing device 200. When the operational attributes indicate a particular predefined operational state of the processing device 200, the recorded media content delivery facility 506 may transmit data representing the recorded instance of media content to the processing device 200. For example, the recorded media content delivery facility 506 may automatically initiate the transfer when the operational attributes of the processing device 200 indicate that the processing device 200 is powered off, in a standby mode, is not currently recording a real-time transmission of media content, or uses relatively minimal resources.
Thus, in any of the manners described above, the recorded media content delivery facility 506 may be configured to "drop" data representing a real-time transmission of a network recording of media content to one or more processing devices 200 of the end-user media content processing subsystem 104 via the network 106 in a manner that may generally conserve resources of the network 106.
In some examples, the recorded media content delivery facility 506 may be configured to automatically remove the recorded media content 512 from the network storage facility 508 after the recorded media content 512 has been successfully transmitted to the end-user media content processing subsystem 104. The removal, which may be done in any suitable manner, may also help to save network resources, particularly network data storage resources.
"drop-in" of data used to represent real-time transmission of a network recording of media content may also help conserve resources of the end-user media content processing subsystem 104. For example, as described above, the processing device 200 may receive data representing network recorded media content transmitted by the recorded media content delivery facility 506 over the network 106 without using the tuner 220. Accordingly, the tuner 220 is freed up to receive another real-time transmission of the media content sent by the media content real-time transmission facility 502. Accordingly, tuner conflicts (e.g., tuner conflicts resulting from over-scheduled recording of media content) may be minimized or eliminated, and a user may be able to schedule multiple network recordings of real-time transmission of media content and cause the network-recorded media content to be "dropped" to the processing device 200, as described above.
One or more components of media content delivery subsystem 102 may include or be implemented in one or more network computing devices. For example, fig. 6 illustrates an exemplary network computing device 600 in which components of media content delivery subsystem 102 are implemented. Network computing device 600 may comprise any suitable computing device configured to perform one or more operations of media content delivery subsystem 102, including communicating with end-user media content processing subsystem 104 via network 106. For example, the network computing device 600 may include a server device (e.g., a media server, an application server, or a video server).
As shown in fig. 6, the network computing device 600 may include a communication interface 602, a processor 604, a storage device 606, a media recording module 608, a recorded media delivery module 610, and a media real-time transport module 612 coupled to each other by a communication infrastructure 614. The components of system 100 may communicate with each other, including sending and receiving data to and from each other through communications infrastructure 614 using any suitable communications technology.
Communication interface 602 may be configured to communicate with one or more external computing devices, including one or more processing devices 200 of end-user media content processing subsystem 104. In particular, the communication interface 602 may be configured to send and/or receive communication signals, media content, and/or data to/from the end-user media content processing subsystem 104. In particular embodiments, communication interface 602 may be configured to send and receive real-time transmissions of media content (e.g., broadcast, multicast, and/or narrowcast of streaming media content) and non-real-time transmissions of media content (e.g., media data file transfers).
Processor 604 generally represents any type or form of processing unit capable of processing data or interpreting, executing, and/or directing the execution of one or more of the instructions, processes, and/or operations described herein. Processor 604 may direct the performance of operations according to computer-executable instructions, which may be stored in storage 606 or another computer-readable medium. For example, the processor 604 may be configured to process data, including modulating, encoding, and/or preparing data (e.g., media content data) for transmission by the communication interface 602.
Storage 606 may include one or more data storage media, devices, or configurations, and may use any type, form, and combination of data storage media and/or devices. For example, storage 606 may include, but is not limited to, a hard disk drive, a network drive, a flash drive, a magnetic disk, an optical disk, RAM, DRAM, other non-volatile and/or volatile data storage units, or a combination or sub-combination thereof. Electronic data, including data described herein, may be temporarily and/or permanently stored in storage 606. Data representing one or more executable applications or other computer-executable instructions configured to direct processor 604 to perform one or more of the operations described herein may be stored within storage 606. In some examples, the data may be arranged in one or more databases located within storage 606.
The media recording module 608, the recorded media delivery module 610, and the media real-time transport module 612 may be configured to perform one or more of the operations described above for the network media content recording facility 504, the recorded media content delivery facility 506, and the media content real-time transport facility 502, respectively. In particular embodiments, the media recording module 608, the recorded media delivery module 610, and the media real-time transport module 612 may be implemented as computer-executable instructions stored in the storage 606 and configured to direct the processor 604 and/or other components of the network computing device 600 to perform such operations.
Fig. 7 illustrates an exemplary media content delivery method 700. Although fig. 7 illustrates exemplary steps according to one embodiment, other embodiments may omit, add to, reorder, and/or modify any of the steps shown in fig. 7. In a particular embodiment, the media content delivery subsystem 102 and/or the network computing device 600 perform one or more of the steps shown in fig. 7.
In step 702, a request for recording a real-time transmission of a media content instance is received from an end-user media content processing device 200 via the network 106. For example, the media content delivery subsystem 102 may receive a request to record a real-time transmission of an instance of media content from the end-user media content processing device 200 via the network 106 in any of the manners described above. The request may have any format suitable for requesting a network recording and for indicating a real-time transmission to be recorded, as described above.
In step 704, a real-time transmission of the media content instance is recorded. For example, media content delivery subsystem 102 may receive and record a real-time transmission of an instance of media content in any of the manners described above. This network recording of the real-time transmission of the media content instance may include storing data representing the recorded real-time transmission of the media content instance to a network data repository (e.g., network storage facility 508). For example, media content delivery subsystem 102 may generate at least one media data file that includes data representing a recorded real-time transmission of a media content instance.
At step 706, data representing the recorded real-time transmission of the media content instance is sent to the end-user media content processing device 200 via the network 106 for local storage by the end-user media content processing device 200. For example, the media content delivery subsystem 102 may send data representing a recorded real-time transmission of a media content instance to the end-user media content processing device 200 via the network 106 in any of the manners described above. For example, at least one media data file containing data representing a recorded real-time transmission of a media content instance may be transmitted from the media content delivery subsystem 102 to the end-user media content processing device 200 via the network 106. As described above, in a particular example, the transmission of data representing a recorded real-time transmission of a media content instance to an end-user media content processing device 200 via the network 106 may include: the transfer rate is dynamically adjusted based on the available network bandwidth. As also described above, the transmission of data representing the recorded real-time transmission of the instance of media content to the end-user media content processing device 200 via the network 106 may use fewer resources of the network 106 than the real-time transmission of the instance of media content. The end-user media content processing device 200 may receive, store and use the recorded real-time transmitted data representing the media content instance in any of the manners described above.
The preceding description has been presented only to describe and illustrate exemplary embodiments with reference to the accompanying drawings. It will, however, be evident that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the scope of the invention as set forth in the claims that follow. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Claims (21)
1. A method, comprising:
receiving, by the media content delivery subsystem from the end-user media content processing device via the network, a request to record a real-time transmission of the instance of the media content;
recording, by the media content delivery subsystem, the real-time transmission of the instance of media content, the recording comprising: generating at least one media data file containing data representing said recorded real-time transmission of said instance of media content; and
sending, by the media content delivery subsystem to the end-user media content processing device via the network, the data representing the recorded real-time transmission of the instance of media content for local storage by the end-user media content processing device, the sending comprising:
transmitting said at least one media data file from said media content delivery subsystem to said end-user media content processing device via said network, and
dynamically adjusting a rate of said transfer of said at least one media data file from said media content delivery subsystem to said end user media content processing device via said network based on available network bandwidth.
2. The method of claim 1, wherein said sending of said data representing said recorded real-time transmission of said instance of media content to said end-user media content processing device uses fewer resources of said network than said real-time transmission of said instance of media content.
3. The method of claim 2, wherein the resource comprises a bandwidth of the network.
4. The method of claim 1, wherein the transmitting comprises: automatically initiating transmission of said data representing said recorded real-time transmission of said instance of media content from said media content delivery subsystem to said end-user media content processing device via said network at off-peak network usage times.
5. The method of claim 1, wherein the transmitting comprises: automatically initiating transfer of the data representing the recorded real-time transmission of the instance of media content from the media content delivery subsystem to the end-user media content processing device via the network based on operational attributes of the end-user media content processing device.
6. The method of claim 1, wherein,
the request includes data representing at least a portion of a recording schedule associated with the end-user media content processing device; and the number of the first and second electrodes,
the recording includes: initiating the recording at the scheduled time of the real-time transmission based on the data representing the at least a portion of the recording schedule.
7. The method of claim 1, wherein the recording comprises: storing the recorded real-time transmission of the instance of media content to a network storage facility, the method further comprising:
automatically removing, by the media content delivery subsystem, the recorded real-time transmission of the instance of media content from the network storage facility after sending the data representing the recorded real-time transmission of the instance of media content to the end-user media content processing device via the network.
8. The method of claim 1, further comprising:
receiving, by the end-user media content processing device, the data representing the recorded real-time transmission of the instance of media content;
storing, by the end-user media content processing device, the data representing the recorded real-time transmission of the instance of media content to a local storage device; and
playing back at least a portion of the instance of media content for experience by a user using the data in the storage device representing the recorded real-time transmission of the instance of media content.
9. The method of claim 1, wherein the real-time transmission of the instance of media content comprises: at least one of broadcast and multicast of the media content instance over the network by the media content delivery subsystem.
10. The method of claim 1, tangibly embodying computer-executable instructions on at least one computer-readable medium.
11. A method, comprising:
sending, by an end-user media content processing device, a request to a media content delivery subsystem via a network for recording a real-time transmission of a media content instance over the network;
receiving, by the end-user media content processing device in response to the request, data representing a real-time transmission of a network recording of the instance of media content;
storing, by the end-user media content processing device, the data representing a live transmission of the network recording of the media content instance to a local storage device; and
using the data in the local storage for real-time transmission of the network recording representing the instance of media content to playback at least a portion of the instance of media content for experience by a user.
12. The method of claim 11, further comprising:
receiving, by the end-user media content processing device, a separate real-time transmission of another instance of media content;
wherein the real-time transmission of the instance of media content and the separate real-time transmission of the other instance of media content are available via the network during overlapping time slots.
13. The method of claim 12, wherein said receiving by said end user media content processing device of said data for said network recorded real-time transmission representing said instance of media content uses less resources than said receiving by said end user media content processing device of said separate real-time transmission of said another instance of media content.
14. The method of claim 11, wherein:
the storing includes: storing, to the local storage device, a download of a complete media data file including the data for real-time transmission of the network recording representing the media content instance; and is
Completing the storing of the download of the complete media data file prior to the playback of the at least a portion of the instance of media content.
15. The method of claim 11, wherein the end-user media content processing device comprises a set-top box configured to access at least one of a broadcast television service, a multicast television service, and a narrowcast television service over the network.
16. A method, comprising:
maintaining, by an end user media content processing device, a recording schedule indicating a plurality of real-time transmissions of media content to be recorded, the plurality of real-time transmissions of media content including a first real-time transmission of a first instance of media content and a second real-time transmission of a second instance of media content scheduled for real-time transmission during overlapping time slots;
locally recording, by the end-user media content processing device, the first real-time transmission of the first instance of media content;
sending, by the end-user media content processing device, a request to a media content delivery subsystem via the network to record the second live transmission of the instance of media content;
receiving, by the end-user media content processing device, in response to the request, data representing a network record of the second live transmission of the second instance of media content;
storing, by the end-user media content processing device, the data of the network record representing the second live transmission of the second instance of media content to a local storage device; and
using the data recorded in the local storage for the network representing the second live transmission of the second instance of media content to playback at least a portion of the second instance of media content for experience by a user.
17. A system, comprising:
a real-time media content transmission facility configured to send a real-time transmission of a media content instance to at least one end-user media content processing device via a network according to a real-time transmission format;
a network media content recording facility configured to
Receiving a request from said at least one end-user media content processing device to record said real-time transmission of said instance of media content, and
recording the real-time transmission of the instance of media content in response to the request, including storing data representing the recorded real-time transmission of the instance of media content to a network storage facility; and
a media content delivery facility configured to send data representing the recorded real-time transmission of the instance of media content to the at least one end-user media content processing device via the network according to a non-real-time transmission format.
18. The system of claim 17, wherein the non-real-time transport format is configured to use fewer resources of the network than the real-time transport format.
19. The system of claim 18, wherein the non-real-time transport format uses a lower transmission rate than the real-time transport format.
20. The system of claim 17, wherein the media content delivery facility is configured to adjust a transmission rate of the data representing the recorded real-time transmission of the instance of media content to the at least one end-user media content processing device via the network based on available network bandwidth.
21. The system of claim 17, wherein the media content delivery facility is configured to transmit the data representing the recorded real-time transmission of the instance of media content to the at least one end-user media content processing device via the network by: transmitting at least one media data file comprising the data representing the recorded real-time transmission of the instance of media content from the network storage facility to the at least one end-user media content processing device via the network.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/478,255 | 2009-06-04 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| HK1168485A true HK1168485A (en) | 2012-12-28 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| USRE50355E1 (en) | Reducing unicast session duration with restart TV | |
| US10250659B2 (en) | Contextually aware client buffer thresholds | |
| US10250949B2 (en) | Broadcast content to HTTP client conversion | |
| US8930849B2 (en) | Enhanced media content tagging systems and methods | |
| US8272013B2 (en) | Methods, systems, and computer program products for delivering a program in advance of a scheduled broadcast time | |
| US20150113571A1 (en) | Methods and apparatus for content switching | |
| US8843977B2 (en) | Media content delivery systems and methods | |
| US10057543B2 (en) | Digital video recorder having live-off-disk buffer for receiving missing portions of buffered events | |
| US20150326814A1 (en) | Systems and method for timing commercial breaks | |
| US20140282786A1 (en) | Methods and apparatus for providing and uploading content to personalized network storage | |
| CN104053026A (en) | Method and system for receiving and playing boot video advertisements of digital television set-top boxes | |
| US10893338B1 (en) | Method for unified ad delivery to consumer devices within service provider networks | |
| US20160073149A1 (en) | Method and apparatus for improved network recording | |
| US8578406B2 (en) | Methods and systems for recovering from errors associated with advertisement streams | |
| US8347327B2 (en) | Dynamic advertisement insertion methods and systems | |
| US9215511B2 (en) | Methods and systems for dynamically adjusting at least one of a start and a stop of a recording based on an advertisement break | |
| US20220295127A1 (en) | Consolidating content streams to conserve bandwidth | |
| US9516357B2 (en) | Recording variable-quality content stream | |
| US9883221B1 (en) | System and method for optimizing real-time video-on-demand recording in a content delivery network | |
| HK1168485A (en) | Media content delivery systems and methods | |
| EP3759906B1 (en) | Apparatus, method and system for multiple audio-video streams reception | |
| WO2019132938A1 (en) | Reducing latency for streaming video |