IP Library Granted Patent US 8,743,954
Granted Patent B1
US 8,743,954 · App. 12/362,453 · Granted Jun 3, 2014

Architecture for adjusting bit rate based on measured quality

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,743,954
App. No.
12/362,453
Granted
Jun 3, 2014
Kind
B1
Abstract

A system and method includes adjusting bit rate based on measured quality in a video conversion module. The video conversion module may be, for example, an encoder or a transcoder. In one embodiment, the video conversion module receives an input stream in a first format and converts the input stream to an output stream in a second format. The video conversion module is coupled to a bit rate controller that controls the bit rate of the output stream. A bit rate controller compares the output quality of the output stream to a target quality, and adjusts the output bit rate responsive to the comparison having a difference greater than a predetermined value.

Claims (50)

1. A method for processing video comprising:

receiving an input video stream in a first format and a target quality;

generating an input comparison block including a first subset of macroblocks in a frame or field of the received input stream in a first mode by decoding the input video stream at a decoder;

converting the input stream in the first format to an output stream in a second format, the output stream having an output bit rate and an output quality;

generating an output comparison block including a second subset of macroblocks in a frame or field of the output stream in a second mode by decoding the output stream at the decoder;

measuring a quality difference between the input comparison block and the output comparison block;

generating a quality score representing an estimate of the output quality based on the measured quality difference; and

adjusting the output bit rate of the output stream based on the quality score and the target quality.

2. The method of claim 1 , wherein generating the quality score comprises determining a peak signal to noise ratio (PSNR).

3. The method of claim 1 , wherein generating the quality score comprises determining a mean squared error (MSE).

4. The method of claim 1 , wherein macroblocks having a fixed interval within the field or frame of the input stream are selected as the first subset of macroblocks and macroblocks having a fixed interval within the field or frame of the output stream are selected as the second subset of macroblocks.

5. The method of claim 1 , wherein the input stream is uncompressed and converting the input stream to a compressed output stream comprises encoding the input stream.

6. The method of claim 1 , wherein the input stream is in a compressed format and converting the input stream comprises transcoding the input stream.

7. The method of claim 1 , wherein adjusting the output bit rate comprises individually adjusting at least one of quantization, frame rate, and resolution of the output stream.

8. The method of claim 1 , wherein adjusting the output bit rate comprises increasing the output bit rate in response to the quality score being less than the target quality, and decreasing the output bit rate in response to the quality score being greater than the target quality.

9. A system for processing video comprising:

a video conversion module comprising at least one hardware component and configured to:

receive an input stream in a first format;

generate an input comparison block including a first subset of macroblocks in a frame or field of the received input stream in a first mode by decoding the input stream at a decoder of the video conversion module;

convert the input stream in the first format to an output stream in a second format, the output stream having an output bit rate and an output quality; and

generate an output comparison block including a second subset of macroblocks in a frame or field of the output stream in a second mode by decoding the output stream at the decoder;

a bit rate controller coupled to the video conversion module, the bit rate controller configured to:

compare a quality score to a target quality, the quality score representing an estimate of the output quality; and

adjust the output bit rate in response to the comparison having a difference greater than a predetermined value; and

a quality checker coupled to the video conversion module and the bit rate controller, the quality checker configured to:

receive the input comparison block and the output comparison block;

measure a quality difference between the input comparison block and the output comparison block;

generating the quality score based on the measured quality difference; and output the quality score to the bit rate controller.

10. The system of claim 9 , wherein generating the quality score comprises determining a peak signal to noise ratio (PSNR).

11. The system of claim 9 , wherein generating the quality score comprises determining a mean squared error (MSE).

12. The system of claim 9 , wherein the video conversion module is further configured to select macroblocks having a fixed interval within the field or frame of the input stream as the first subset of macroblocks and to select macroblocks having fixed interval within the field or frame of the output stream as the second subset of macroblocks.

13. The system of claim 9 , wherein the input stream is uncompressed or raw and converting the input stream comprises encoding the input stream.

14. The system of claim 9 , wherein the input stream is in a compressed format and converting the input stream comprises transcoding the input stream.

15. The system of claim 9 , wherein the bit rate controller is further configured to individually adjust at least one of quantization, frame rate, and resolution of the output stream.

16. The system of claim 9 , wherein the bit rate controller is further configured to increase the output bit rate in response to the quality score being less than the target quality, and decrease the output bit rate in response to the quality score being greater than the target quality.

17. A non-transitory computer readable storage medium structured to store instructions executable by a processor, the instructions when executed cause the processor to:

receive an input video stream in a first format and a target quality;

generate an input comparison block including a first subset of macroblocks in a frame or field of the received input stream in a first mode by decoding the input video stream;

convert the input stream in the first format to an output stream in a second format, the output stream having an output bit rate and an output quality;

generate an output comparison block including a second subset of macroblocks in a frame or field of the output stream in a second mode by decoding the output stream;

measure a quality difference between the input comparison block and the output comparison block;

generate a quality score representing an estimate of the output quality based on the measured quality difference; and

adjust the output bit rate of the output stream based on the quality score and the target quality.

18. The computer readable storage medium of claim 17 , wherein generating the quality score comprises determining a peak signal to noise ratio (PSNR).

19. The computer readable storage medium of claim 17 , wherein generating the quality score comprises determining a mean squared error (MSE).

20. The computer readable storage medium of claim 17 , wherein macroblocks having a fixed interval within the field or frame of the input stream are selected as the first subset of macroblocks and macroblocks having a fixed interval within the field or frame of the output stream are selected as the second subset of macroblocks.

21. The computer readable storage medium of claim 17 , wherein the input stream is uncompressed or raw and converting the input stream to a compressed output stream comprises encoding the input stream.

22. The computer readable storage medium of claim 17 , wherein the input stream is in a compressed format and converting the input stream comprises transcoding the input stream.

23. The computer readable storage medium of claim 17 , wherein adjusting the output bit rate comprises individually adjusting at least one of quantization, frame rate, and resolution of the output stream.

24. The computer readable storage medium of claim 17 , wherein adjusting the output bit rate comprises increasing the output bit rate in response to the quality score being less than the target quality, and decreasing the output bit rate in response to the quality score being greater than the target quality.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE LISTED CHANGE OF NAME SHOULD BE MERGER AND CHANGE PREVIOUSLY RECORDED AT REEL: 040652 FRAME: 0180. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME. Recorded Jan 12, 2017
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 041354/0148 →
CHANGE OF NAME Recorded Nov 8, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040652/0180 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
CHANGE OF NAME Recorded Jan 27, 2015
From: ZENVERGE, INC.
To: ZENVERGE, LLC
Reel/Frame 034817/0375 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: ZENVERGE LLC
To: FREESCALE SEMICONDUCTOR INC.
Reel/Frame 034766/0476 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2009
From: MASTERSON, ANTHONY D.
To: ZENVERGE, INC.
Reel/Frame 022346/0957 →