IP Library Granted Patent US 8,724,691
Granted Patent B2
US 8,724,691 · App. 12/761,169 · Granted May 13, 2014

Transcoding video data

Inventor: Peter Vassilev Sedeffow (London, GB)
Assignee: Saffron Digital Limited
H04N21/23H04N1/00H04N19/00H04N1/0083
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 8,724,691
App. No.
12/761,169
Granted
May 13, 2014
Kind
B2
Abstract

Video data is transcoded on the fly to produce a progressive download viewed while the data is being received while streaming and/or may be downloaded and played later. An analyzer analyzes a portion of an input video data file to determine coded characteristics of encoded input video and determines an expected data volume. A generator generates a file header for output video data that includes an indication of the expected volume thereof. A transcoder transcodes the input video data to produce encoded output video data. The output interface supplies the encoded output video data with the file header as a stream to a receiving device. In a first embodiment, the expected volume of data in the header is overestimated and blank video chunks added. In an alternative embodiment, the expected data of volume is underestimated and compression parameters are modified during the transcoding process.

Claims (56)

1. A method of transcoding encoded input video data to produce encoded output video data, comprising the steps of:

locating an input video data file;

analysing a portion of said input video data file to determine coding characteristics of encoded input video data contained within said input video data file;

estimating the amount of data that would be present in an output video data file created by transcoding said input video data file to generate an estimated data volume;

modifying said estimated data volume to produce an expected number of data chunks, wherein a data chunk is a sequence of consecutive frames selected from the group consisting of image frames and audio frames and the number of frames in a data chunk is zero or greater, such that said expected number of data chunks is dependent upon the size of said input video data file;

creating a file header for an output video data file, said header including said expected number of data chunks;

receiving the encoded input video data located by said locating step;

transcoding received encoded input video data to produce encoded output video data;

during said transcoding step, supplying chunks of said encoded output video data with said file header as a stream to a receiving device; and

monitoring the volume of output data being produced;

in response to said monitoring, modifying the remaining output data during the transcoding operation to ensure the output data contains precisely said expected number of data chunks;

such that said receiving device is adapted to at least one of:

view the output video data as it is received as a stream and

store the output video data with the file header as a downloaded file.

2. The method of claim 1 , wherein said step of locating an input video data file includes being notified of an internet location from a receiver and locating said input video data file at the location notified by the receiver.

3. The method of claim 1 , wherein said analysing step includes analysing a filename extension of the input video data file.

4. The method of claim 1 , wherein said analysing step includes analysing a file header.

5. The method of claim 1 , wherein said analysing step includes analysing portions of data contained within a body of the file.

6. The method of claim 1 , wherein said step of creating a file header includes creating an indication of the number of tracks present in the output video data.

7. The method of claim 1 , wherein said transcoding step transcodes input video data that has been configured for streaming to fixed location devices.

8. The method of claim 1 , wherein said transcoding step transcodes said input video data for at least one of:

streaming to mobile devices and

downloading to mobile devices.

9. The method of claim 1 , wherein said expected number of data chunks is made lower than a best estimate of the expected data volume and the data volume of the output data is reduced during the transcoding operation to make the output number of data chunks fit the expected number of data chunks.

10. The method of claim 9 , wherein the data volume of the output data is reduced by increasing data compression during a re-coding operation that forms part of the transcoding step.

11. The method of claim 1 , wherein the expected number of data chunks is made higher than a best estimate and redundant data are created at the end of the encoded output video data.

12. The method as claimed in claim 11 , wherein said redundant data includes one of:

blank data and

data conveying a message.

13. An apparatus for transcoding encoded input video data to produce encoded output video data, comprising:

a locator for locating an input video data file;

an analyser for analysing a portion of said input video data file to determine coding characteristics of encoded input video data contained within said input video data file, and for estimating the amount of data that would be present in an output video data file created by transcoding said input video data file to generate an estimated data volume, and for modifying said estimated data volume to produce an expected number of data chunks, wherein a data chunk is a sequence of consecutive image frames or audio frames and the number of frames in a data chunk is zero or greater, such that said expected number of data chunks is dependent upon the size of said input video data file;

a generator for generating a file header for an output video data file that includes an indication of said expected number of data chunks;

an input interface for receiving the input video data located by said locator;

a transcoder for transcoding the input video data to produce encoded output video data;

a monitoring device for monitoring the volume of output video data supplied as a stream to the receiving device; and

an output interface for supplying the encoded output video data with said file header as a stream to a receiving device;

wherein said transcoder modifies the remaining output data in response to data received from said monitoring device, to ensure that the output data contains precisely said expected number of data chunks;

such that said receiving device is adapted to at least one of:

view the output video data as it is received as a stream and

store the output video data with the file header as a downloaded file.

14. The apparatus of claim 13 , wherein the indication of the expected number of data chunks produced by the generator is made larger than a best estimate of output number of data chunks and said transcoder produces additional output video data to ensure consistency.

15. The apparatus of claim 13 , wherein the indication of the expected number of data chunks is made smaller than a best estimate and the transcoder controls data compression in response to an output from said monitoring device to ensure consistency.

16. A non-transitory computer-readable medium having computer-readable instructions executable by a computer such that when executing said instructions a computer will perform the steps of:

locating an input video data file;

analysing a portion of said input video data file to determine coding characteristics of encoded input video data contained within said input video data file;

estimating the amount of data that would be present in an output video data file created by transcoding said input video data file to generate an estimated data volume;

modifying said estimated data volume to produce an expected number of data chunks, wherein a data chunk is a sequence of consecutive frames selected from the group consisting of image frames and audio frames and the number of frames in a data chunk is zero or greater, such that said expected number of data chunks is dependent upon the size of said input video data file;

creating a file header for an output video data file, said header including said expected number of data chunks;

receiving the encoded input video data located by said locating step;

transcoding received encoded input video data to produce encoded output video data;

during said transcoding step, supplying chunks of said encoded output video data with said file header as a stream to a receiving device; and

monitoring the volume of output data being produced, and in response to said monitoring, modifying the remaining output data during the transcoding operation to ensure the output data contains precisely said expected number of data chunks;

such that said receiving device is adapted to at least one of:

view the output video data as it is received as a stream and

store the output video data with the file header as a downloaded file.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2016
From: SAFFRON DIGITAL LIMITED
To: NEULION, LIMITED
Reel/Frame 040164/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2010
From: SEDEFFOW, PETER VASSILEV
To: SAFFRON DIGITAL LIMITED
Reel/Frame 024249/0045 →
Priority Claims (1)
GB 0906721.6 · Apr 18, 2009 · national
Continuity (1)
Related Publication 20100266009A1 · Oct 21, 2010