Multimedia transcoding based on remaining storage capacity
A first data storage requirement of a first multimedia data representative of a multimedia program to be stored at a storage device is determined. An available remaining storage capacity of the storage device is determined. The first multimedia data is transcoded to generate a second multimedia data having a second data storage requirement that is less than the first data storage requirement if the first storage requirement exceeds the available remaining storage capacity of the storage device. Alternately, a second multimedia data stored at the storage device and representative of a second multimedia program is selected based on user preference information. The second multimedia data is transcoded to generate a third multimedia data having a lower data storage requirement. The third multimedia data is stored at the storage device in place of the second multimedia data to increase the available remaining storage capacity of the storage device.
1 . A method comprising:
determining a first data storage requirement of a first multimedia data representative of a multimedia program to be stored at a storage device;
determining an available remaining storage capacity of the storage device; and
transcoding the first multimedia data to generate a second multimedia data having a second data storage requirement that is less than the first data storage requirement if the first storage requirement exceeds the available remaining storage capacity of the storage device.
2 . The method of claim 1 , further comprising:
receiving a size indicator for one or more characteristics of the first multimedia data; and
wherein the first data storage requirement is determined based on the size indicator.
3 . The method of claim 2 , wherein the one or more characteristics includes at least one of a bit rate of the first multimedia data, a frame rate of the first multimedia data, a resolution of the first multimedia data, a color depth of the first multimedia data, a content category associated with the first multimedia data, or a statistical representation of the first multimedia data.
4 . The method of claim 1 , wherein transcoding the first multimedia data comprises at least one of reducing a bit rate of the first multimedia data, reducing a resolution of one or more video frames of the first multimedia data, reducing a video frame rate of the first multimedia data, reducing a color depth of the first multimedia data, or reducing an audio bit rate of the first multimedia data.
5 . The method of claim 1 , further comprising providing the second multimedia data for storage at the storage device.
6 . The method of claim 5 , wherein the first multimedia data is received, transcoded and stored in segments.
7 . The method of claim 1 , wherein the storage device comprises at least one of a mass storage device of a set top box, a mass storage device of a portable multimedia device, a mass storage device of a personal video recorder, or a shared central storage device providing storage to a plurality of users.
8 . A system comprising:
a first interface to a storage device;
a second interface to receive a first multimedia data representative of a multimedia program;
a storage analysis module coupled to the first and second interfaces, the storage analysis module to:
determine a first data storage requirement of the first multimedia data;
determine an available remaining storage capacity of the storage device; and
determine whether the first data storage requirement exceeds the available remaining storage capacity; and
a transcoder coupled to the first and second interfaces and the storage analysis module, the transcoder to transcode the first multimedia data to generate a second multimedia data having a second data storage requirement that is less than the first data storage requirement in response to the determining that the first data storage requirement exceeds the available remaining storage capacity;
wherein the second multimedia data is provided to the first interface for storage at the storage device.
9 . The system of claim 8 , wherein the storage analysis determines the first data storage requirement based on a size indicator for one or more characteristics of the first multimedia data.
10 . The system of claim 9 , wherein the one or more characteristics includes at least one of a bit rate of the first multimedia data, a frame rate of the first multimedia data, a resolution of the first multimedia data, a color depth of the first multimedia data, a content category associated with the first multimedia data, or a statistical representation of the first multimedia data.
11 . The system of claim 8 , wherein a transcoding operation performed on the first multimedia data by the transcoder comprises at least one of a bit rate reduction operation, a video frame resolution reduction operation, a video frame rate reduction operation, a color depth reduction operation, or an audio bit rate reduction operation.
12 . The system of claim 8 , further comprising:
a buffer coupled to the second interface, the buffer to buffer at least a segment of the first multimedia data; and
wherein the first multimedia data is received, buffered, transcoded and stored on a segment-by-segment basis.
13 . The system of claim 8 , wherein the system comprises at least one of a set top box, a portable multimedia device, a personal video recorder, or a central storage device that provides storage to a plurality of users.
14 . A method comprising:
determining that a first multimedia data representative of a first multimedia program is to be stored at a storage device having an available remaining storage capacity that is insufficient for a first data storage requirement of the first multimedia data;
selecting a second multimedia data stored at the storage device based on user preference information, wherein the second multimedia data is representative of a second multimedia program and has a second data storage requirement;
transcoding the second multimedia data to generate a third multimedia data having a third data storage requirement that is less than the second data storage requirement;
storing the third multimedia data at the storage device in place of the second multimedia data to increase the available remaining storage capacity of the storage device; and
storing the first multimedia data at the storage device based on the increased available remaining storage capacity of the storage device.
15 . The method of claim 14 , further comprising:
selecting a fourth multimedia data stored at the storage device based on the user preference information, wherein the fourth multimedia data is representative of a third multimedia program and has a fourth data storage requirement;
transcoding the fourth multimedia data to generate a fifth multimedia data having a fifth data storage requirement that is less than the fourth data storage requirement; and
storing the fifth multimedia data at the storage device in place of the forth multimedia data to increase the available remaining storage capacity of the storage device.
16 . The method of claim 14 , further comprising:
receiving a size indicator for one or more characteristics of the first multimedia data; and
wherein the first data storage requirement is based on the size indicator.
17 . The method of claim 14 , wherein transcoding the second multimedia data comprises at least one of reducing a bit rate of the second multimedia data, reducing a resolution of one or more video frames of the second multimedia data, reducing a video frame rate of the second multimedia data, reducing a color depth of the first multimedia data or reducing an audio bit rate of the second multimedia data.
18 . The method of claim 14 , wherein the user preference information indicates that the second multimedia program represented by the second multimedia data is less preferred by a user than multimedia programs represented by other multimedia data stored at the storage device.
19 . A system comprising:
a first interface to a storage device having multimedia data representative of one or more multimedia programs;
a second interface to receive a first multimedia data representative of a first multimedia program, the first multimedia data having a first data storage requirement;
a user preference module to determine user preference information;
a storage analysis module coupled to the first and second interfaces and the user preference module, the storage analysis module to:
determine an available remaining storage capacity of the storage device is insufficient for the first data storage requirement of the first multimedia data;
select a second multimedia data stored at the storage device based on user preference information, wherein the second multimedia data is representative of a second multimedia program and has a second data storage requirement; and
a transcoder coupled to the first and second interfaces and the storage analysis module, the transcoder to transcode the second multimedia data to generate a third multimedia data having a third data storage requirement that is less than the second data storage requirement, wherein the third multimedia data replaces the second multimedia data at the storage device.
20 . The system of claim 19 , wherein the storage analysis module determines that the available remaining storage capacity of the storage device is insufficient based on a size indicator for one or more characteristics of the first multimedia data, and wherein the first data storage requirement is based on the size indicator.
21 . The system of claim 20 , wherein the one or more characteristics includes at least one of a bit rate of the first multimedia data, a frame rate of the first multimedia data, a resolution of the first multimedia data, a color depth of the first multimedia data, a content category associated with the first multimedia data, or a statistical representation of the first multimedia data.
22 . The system of claim 19 , wherein a transcoding operation performed on the first multimedia data by the transcoder comprises at least one of a bit rate reduction operation, a video frame resolution reduction operation, a video frame rate reduction operation, a color depth reduction operation, or an audio bit rate reduction operation.
23 . The system of claim 20 , wherein the user preference information indicates that the second multimedia program represented by the second multimedia data is less preferred by a user than other multimedia programs stored at the storage device.
24 . The system of claim 23 , wherein the user preference module determines the user preference information based on an analysis of previous user multimedia selections.
25 . The system of claim 23 , wherein the user preference module determines the user preference information based on multimedia program preferences provided by a user.