IP Library Granted Patent US 11,184,650
Granted Patent B1
US 11,184,650 · App. 16/917,458 · Granted Nov 23, 2021

Automatic transcoding of media data in a data storage device

Inventor: Ramanathan Muthiah (Karnataka, IN)
Assignee: Western Digital Technologies, Inc.
H04N21/234309H04N21/2181H04N21/64738H04N21/6582
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,184,650
App. No.
16/917,458
Granted
Nov 23, 2021
Kind
B1
Abstract

Devices and methods are disclosed that receive a request from a client device for a media file, determine compatibility of the media file with the requesting client device, and, if appropriate, transcode the media file into a compatible form which is then transmitted to the requesting client device. To determine whether a media file is compatible with the client request, the storage device can analyze a portion of the requested media file and compare that information with parameters of the client request. Transcoded data can be stored alongside the original file as a new file, stored in place of the original file, or stored in the same container as the original file so that the new file includes both the original version and the transcoded version of the media file.

Claims (41)

1. A storage device comprising:

non-volatile memory configured to store a media file;

a network interface configured to communicate with a client device over a network; and

control circuitry coupled to the non-volatile memory and the network interface, the control circuitry configured to:

receive a request for the media file from the client device, the request including parameters associated with a codec, a bit rate, a frame rate, or a resolution of the media file;

determine compatibility of the media file with the parameters included in the request;

select a codec from a listing of codecs in the request based at least in part on storage bandwidth available to the storage device;

transcode the media file to generate a transcoded file responsive to determining that the media file is not compatible with one or more of the parameters included in the request; and

transmit the transcoded file to the client device.

2. The storage device of claim 1 , wherein the control circuitry is further configured to store the transcoded file as a new stream in the media file to generate an updated media file.

3. The storage device of claim 1 , wherein the control circuitry is further configured to analyze a header of the media file to determine compatibility of the media file with the parameters included in the request.

4. The storage device of claim 1 , wherein the parameters include a prioritized list of preferred codecs.

5. The storage device of claim 1 , wherein the parameters include a bandwidth specified by the client device.

6. The storage device of claim 5 , wherein the control circuitry is further configured to select transcode parameters to eliminate buffering issues based on the bandwidth specified by the client device.

7. The storage device of claim 1 , wherein the transcoded file has a different bit rate from the media file.

8. The storage device of claim 1 , wherein the transcoded file has a different video codec from the media file.

9. The storage device of claim 1 , wherein the request includes a hardcoded requirement for transcoding.

10. The storage device of claim 1 , wherein the request includes a maximum bit rate.

11. The storage device of claim 1 , wherein the control circuitry is further configured to transmit the media file to the client device without transcoding the media file responsive to determining that the media file is compatible with the parameters included in the request.

12. A method for automatically transcoding a media file, the method comprising:

receiving a request for the media file from a client device, the request including parameters associated with a codec, a bit rate, a frame rate, or a resolution of the media file;

determining compatibility of the media file with the parameters included in the request;

selecting a codec from a listing of codecs in the request based at least in part on storage bandwidth available for transcoding the media file;

transcoding the media file to generate a transcoded file responsive to determining that the media file is not compatible with one or more of the parameters included in the request; and

transmitting the transcoded file to the client device.

13. The method of claim 12 , further comprising storing the transcoded file as a new stream in the media file to generate an updated media file.

14. The method of claim 12 , further comprising analyzing a header of the media file to determine compatibility of the media file with the parameters included in the request.

15. The method of claim 12 , further comprising selecting transcode parameters to eliminate buffering issues based on a bandwidth specified by the client device.

16. The method of claim 12 , further comprising transmitting the media file with the transcoded file to the client device.

17. The method of claim 12 , wherein the parameters include a prioritized list of preferred codecs.

18. The method of claim 12 , wherein the transcoded file has a different bit rate from the media file.

19. The method of claim 12 further comprising transmitting the media file to the client device without transcoding the media file responsive to determining that the media file is compatible with the parameters included in the request.

20. A storage device comprising:

non-volatile memory means for storing a media file;

network interface means for communicating with a client device over a network; and

control circuitry means coupled to the non-volatile memory means and the network interface means, the control circuitry means configured to:

receive a request for the media file from the client device, the request including parameters associated with a codec, a bit rate, a frame rate, or a resolution of the media file;

determine compatibility of the media file with the parameters included in the request;

select a codec from a listing of codecs in the request based at least in part on storage bandwidth available to the storage device;

transcode the media file to generate a transcoded file responsive to determining that the media file is not compatible with one or more of the parameters included in the request; and

transmit the transcoded file to the client device.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2025
From: SANDISK TECHNOLOGIES, INC.
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 070776/0307 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 053926 FRAME 0446 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058966/0321 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2020
From: MUTHIAH, RAMANATHAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 054183/0887 →
SECURITY INTEREST Recorded Sep 29, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 053926/0446 →