IP Library Granted Patent US 10,003,799
Granted Patent B2
US 10,003,799 · App. 14/912,291 · Granted Jun 19, 2018

Quality driven video re-encoding

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 10,003,799
App. No.
14/912,291
Granted
Jun 19, 2018
Kind
B2
Abstract

A method including obtaining a first plurality of decode-independent segments corresponding to an original video bit-stream, re-encoding each one of the first plurality of decode-independent segments according to a quality criterion, giving rise to a second plurality of decode-independent segments; and generating an output video bitstream including a third plurality of decode-independent segments, wherein each segment in the third plurality of decode-independent segments is selected from either the first plurality of decode-independent segments or from the second plurality of decode-independent segments using a selection criterion that is related at least to a segment's bit-rate.

Claims (42)

1. A method, comprising:

obtaining a first plurality of decode-independent segments corresponding to an original video bit-stream, wherein the first plurality of decode independent segments are a plurality of original decode-independent segments;

re-encoding each one of the first plurality of decode-independent segments according to a quality criterion, giving rise to a second plurality of decode-independent segments, wherein the quality criterion is a computable quality measure indicative of quality of the second plurality of decode-independent segments relative to the first plurality of decode-independent segments, and wherein the re-encoding comprises calculating a quality score for each one of the second plurality of decode-independent segments in accordance with the quality criterion; and

generating an output video bitstream comprising a third plurality of decode-independent segments, comprising selecting each decode-independent segment in the third plurality of decode-independent segments from either the first plurality of decode-independent segments or from the second plurality of decode-independent segments, as the decode-independent segment that has a lower bit-rate of a corresponding decode-independent segment in the first plurality of decode-independent segments and a corresponding decode-independent segment in the second plurality of decode-independent segments, wherein at least one decode-independent segment in the first plurality of decode-independent segments has a lower bit-rate than at least one corresponding decode-independent segment in the second plurality of decode-independent segments, and at least one decode-independent segment in the third plurality of decode-independent segments is selected as the at least one decode-independent segment in the first plurality of decode-independent segments.

2. The method according to claim 1 , wherein re-encoding each one of the first plurality of decode-independent segments, comprises:

re-encoding a decode-independent segment from said first plurality of decode-independent segments according to a plurality of different encoder control parameters, giving rise to a plurality of re-encoded versions of the decode-independent segment; and

selecting from the plurality of re-encoded versions of the decode-independent segment a version of the decode-independent segment which best matches the quality criterion.

3. The method according to claim 2 , wherein the quality criterion sets a target quality, and wherein selecting from the plurality of re-encoded versions of the decode-independent segment a version of the decode-independent segment, comprises selecting from the plurality of re-encoded versions of the decode-independent segment a version of the decode-independent segment which is closest to the target quality.

4. The method according to claim 2 , wherein the quality criterion sets a quality threshold, and wherein selecting from the plurality of re-encoded versions of the decode-independent segment a version of the decode-independent segment, comprises selecting from the plurality of re-encoded versions of the decode-independent segment a version of the decode-independent segment whose bit-rate is lowest among a plurality of re-encoded versions of the decode-independent segment whose quality value meets the quality threshold.

5. The method according to claim 2 , wherein the quality criterion is further associated with a bit-rate threshold, and wherein selecting from the plurality of re-encoded versions of the decode-independent segment a version of the decode-independent segment, comprises selecting from the plurality of re-encoded versions of the decode-independent segment a version of the decode-independent segment whose quality value is a highest among the plurality of re-encoded versions of the decode-independent segment whose bit-rate is below the bit-rate threshold.

6. The method according to claim 1 , wherein re-encoding each one of the first plurality of decode-independent segments, comprises:

re-encoding a decode-independent segment from said first plurality of decode-independent segments, giving rise to a first re-encoded version of the decode-independent segment; and

if a first re-encoded version of the decode-independent segment meets the quality criterion, including the first re-encoded version of the decode-independent segment in the second plurality of decode-independent segments, otherwise, re-encoding the decode-independent segment one or more additional times using respective, different, one or more encoder control parameters, giving rise to one or more additional re-encoded versions of the decode-independent segment, until one of the one or more additional re-encoded versions of the decode-independent segment meets the quality criterion or until a limit provided by a process control criterion is reached.

7. The method according to claim 6 , wherein re-encoding a decode-independent segment from said first plurality of decode-independent segments, includes for a first version of a decode-independent segment from said first plurality of decode-independent segments using encoder control parameters that were used to re-encode a previous decode-independent segment from said first plurality of decode-independent segments.

8. A method, comprising:

re-encoding each one of a plurality of original decode-independent segments according to a bit-rate criterion, giving rise to a first plurality of decode-independent segments;

separately re-encoding each one of the plurality of original decode-independent segments according to a quality criterion, giving rise to a second plurality of decode-independent segments, wherein the quality criterion is a computable quality measure indicative of quality of the second plurality of decode-independent segments relative to the first plurality of decode-independent segments, and wherein the re-encoding comprises calculating a quality score for each one of the second plurality of decode-independent segment in accordance with the quality criterion;

generating an output video bitstream comprising a third plurality of decode-independent segments, comprising selecting each decode-independent segment in the third plurality of decode-independent segments from either the first plurality of decode-independent segments or from the second plurality of decode-independent segments as the decode-independent segment that has a lower bit-rate of a corresponding decode-independent segment in the first plurality of decode-independent segments and a corresponding decode-independent segment in the second plurality of decode-independent segments, wherein at least one decode-independent segment in the first plurality of decode-independent segments has a lower bit-rate than at least one corresponding decode-independent segment in the second plurality of decode-independent segments, and at least one decode-independent segment in the third plurality of decode-independent segments is selected as the at least one decode-independent segment in the first plurality of decode-independent segments.

9. An apparatus, comprising:

a decoder configured to decode a first plurality of decode-independent segments corresponding to an original video bit-stream, wherein the first plurality of decode independent segments are a plurality of original decode-independent segments;

an encoder configured to re-encode each one of the first plurality of decode-independent segments according to a quality criterion, giving rise to a second plurality of decode-independent segments, wherein the quality criterion is a computable quality measure indicative of quality of the second plurality of decode-independent segments relative to the first plurality of decode-independent segments, and wherein the re-encoding comprises calculating a quality score for each one of the second plurality of decode-independent segments in accordance with the quality criterion;

an output bitstream generator configured to generate an output video bitstream comprising a third plurality of decode-independent segments by selecting each decode-independent segment in the third plurality of decode-independent segments from either the first plurality of decode-independent segments or from the second plurality of decode-independent segments, as the decode-independent segment that has a lower bit-rate of a corresponding decode-independent segment in the first plurality of decode-independent segments and a corresponding decode-independent segment in the second plurality of decode-independent segments, wherein at least one decode-independent segment in the first plurality of decode-independent segments has a lower bit-rate than at least one corresponding decode-independent segment in the second plurality of decode-independent segments, and at least one decode-independent segment in the third plurality of decode-independent segments is selected as the at least one decode-independent segment in the first plurality of decode-independent segments.

10. The apparatus according to claim 9 , wherein the decoder is configured to decode a plurality of original decode-independent segments, and wherein the encoder is configured to re-encode each one of the original decode-independent segments according to a bit-rate criterion, giving rise to the first plurality of decode-independent segments.

11. The apparatus according to claim 9 , wherein the encoder is configured to re-encode each one of the first plurality of decode-independent segments, and wherein re-encoding each one of the first plurality of decode-independent segments, comprises:

re-encoding a decode-independent segment from said first plurality of decode-independent segments according to a plurality of different encoder control parameters, giving rise to a plurality of re-encoded versions of the decode-independent segment; and

selecting from the plurality of re-encoded versions of the decode-independent segment a version of the decode-independent segment which best matches the quality criterion.

12. The apparatus according to claim 11 , wherein the quality criterion sets a target quality, and wherein the encoder is configured to select from the plurality of re-encoded versions of the decode-independent segment a version of the decode-independent segment which is closest to the target quality.

13. The apparatus according to claim 11 , wherein the quality criterion sets a quality threshold, and wherein the encoder is configured to select from the plurality of re-encoded versions of the decode-independent segment a version of the decode-independent segment whose bit-rate is lowest among a plurality of re-encoded versions of the decode-independent segment whose quality value meets the quality threshold.

14. The apparatus according to claim 11 , wherein the quality criterion is further associated with a bit-rate threshold, and wherein the encoder is configured to select from the plurality of re-encoded versions of the decode-independent segment a version of the decode-independent segment whose quality value is a highest among the plurality of re-encoded versions of the decode-independent segment whose bit-rate is below the bit-rate threshold.

15. The apparatus according to claim 9 , wherein the encoder is capable of re-encoding each one of the first plurality of decode-independent segments, by:

re-encoding a decode-independent segment from said first plurality of decode-independent segments, giving rise to a first re-encoded version of the decode-independent segment; and

if a first re-encoded version of the decode-independent segment meets the quality criterion, the encoder is configured to include the first re-encoded version of the decode-independent segment in the second plurality of decode-independent segments, otherwise the encoder is configured to re-encode the decode-independent segment one or more additional times using respective, different, one or more encoder control parameters, giving rise to one or more additional re-encoded versions of the decode-independent segment, until one of the one or more additional re-encoded versions of the decode-independent segment meets the quality criterion.

16. The apparatus according to claim 15 , for a first version of a decode-independent segment from said first plurality of decode-independent segments the encoder is configured to use encoder control parameters that were used to re-encode a previous decode-independent segment from said first plurality of decode-independent segments.

17. An apparatus, comprising:

a decoder configured to decode a plurality of original decode-independent segments corresponding to an original video bit-stream;

an encoder configured to re-encode each one of the plurality of original decode-independent segments according to a bit-rate criterion, giving rise to a first plurality of decode-independent segments;

the encoder is configured to separately re-encode each one of the plurality of original decode-independent segments according to a quality criterion, giving rise to a second plurality of decode-independent segments, wherein the quality criterion is a computable quality measure indicative of quality of the second plurality of decode-independent segments relative to the first plurality of decode-independent segments, and wherein the re-encoding comprises calculating a quality score for each one of the second plurality of decode-independent segments in accordance with the quality criterion;

an output bitstream generator configured to generate an output video bitstream comprising a third plurality of decode-independent segments, wherein the output bitstream generator is configured to select each decode-independent segment in the third plurality of decode-independent segments from either the first plurality of decode-independent segments or from the second plurality of decode-independent segments, as the decode-independent segment that has a lower bit-rate of a corresponding decode-independent segment in the first plurality of decode-independent segments and a corresponding decode-independent segment in the second plurality of decode-independent segments, wherein at least one decode-independent segment in the first plurality of decode-independent segments has a lower bit-rate than at least one corresponding decode-independent segment in the second plurality of decode-independent segments, and at least one decode-independent segment in the third plurality of decode-independent segments is selected as the at least one decode-independent segment in the first plurality of decode-independent segments.

18. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform a method, comprising:

obtaining a first plurality of decode-independent segments corresponding to an original video bit-stream, wherein the first plurality of decode independent segments are a plurality of original decode-independent segments;

re-encoding each one of the first plurality of decode-independent segments according to a quality criterion, giving rise to a second plurality of decode-independent segments, wherein the quality criterion is a computable quality measure indicative of quality of the second plurality of decode-independent segments relative to the first plurality of decode-independent segments, and wherein the re-encoding comprises calculating a quality score for each one of the second plurality of decode-independent segments in accordance with the quality criterion; and

generating an output video bit-stream comprising a third plurality of decode-independent segments, wherein each decode-independent segment in the third plurality of decode-independent segments is selected from either the first plurality of decode-independent segments or from the second plurality of decode-independent segments, as the decode-independent segment that has a lower bit-rate of a corresponding decode-independent segment in the first plurality of decode-independent segments and a corresponding decode-independent segment in the second plurality of decode-independent segments, wherein at least one decode-independent segment in the first plurality of decode-independent segments has a lower bit-rate than at least one corresponding decode-independent segment in the second plurality of decode-independent segments, and at least one decode-independent segment in the third plurality of decode-independent segments is selected as the at least one decode-independent segment in the first plurality of decode-independent segments.

Assignments (5)
LIEN Recorded Feb 18, 2025
From: SILICON VALLEY BANK
To: BEAMR IMAGING LTD.; BEAMR INC.
Reel/Frame 070244/0396 →
SECURITY INTEREST Recorded Feb 25, 2022
From: BEAMR IMAGING LTD.
To: SILICON VALLEY BANK
Reel/Frame 059097/0195 →
SECURITY INTEREST Recorded Feb 21, 2017
From: BEAMR IMAGING LTD
To: SILICON VALLEY BANK
Reel/Frame 041313/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2016
From: CARMEL, SHARON; GILL, DROR; SHOHAM, TAMAR
To: I.C.V.T LTD.
Reel/Frame 037742/0995 →
CHANGE OF NAME Recorded Feb 16, 2016
From: I.C.V.T LTD.
To: BEAMR IMAGING LTD
Reel/Frame 037827/0615 →