IP Library Granted Patent US 9,326,006
Granted Patent B2
US 9,326,006 · App. 11/514,723 · Granted Apr 26, 2016

Adaptive pre-filtering system

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 9,326,006
App. No.
11/514,723
Granted
Apr 26, 2016
Kind
B2
Abstract

A method, system and apparatus for adaptive pre-filtering includes: extracting tuning parameters from video data in a video encoding process; processing the tuning parameters to generate control parameters representative of properties of the video data; coupling the control parameters to a filter response; generating filter coefficients according to the filter response; and filtering the video data using the filter coefficients prior to video encoding. The filtering of video data may thus be adapted to one or more tuning parameters of the video data and the encoding process. The filtering may decrease the complexity of encoding by an attenuation of high frequency signals, effectively decreasing the quantization step and reducing compression artifacts.

Claims (69)

1. A method for adaptive pre-filtering of input video data for video encoding using a linear filter module, comprising:

receiving the input video data, wherein the input video data includes at least one tuning parameter of the group consisting of motion, quantization, variance, and mean square error prediction;

extracting the at least one tuning parameter according to a type of video encoding;

processing the at least one tuning parameter to generate at least one corresponding control parameter;

coupling the at least one control parameter to a predetermined filter response;

generating a plurality of filter coefficients based on the predetermined filter response;

filtering the input video data with the linear filter module having the applied plurality of filter coefficients; and

compensating for dynamic latency between the filtered input video data and a video encoding process.

2. The method according to claim 1 , wherein processing the at least one tuning parameter to generate at least one corresponding control parameter further comprises:

extracting a plurality of coarse motion vectors at a macroblock level to produce a plurality of macroblock coarse motion magnitudes;

accumulating the plurality of macroblock coarse motion magnitudes to produce a plurality of accumulated macroblock coarse motion magnitudes;

summing and averaging the plurality of accumulated macroblock coarse motion magnitudes at picture level to produce an average coarse motion magnitudes; and

averaging the average coarse motion magnitude over a predetermined period of most recently encoded pictures to produce moving average coarse motion magnitude control parameter.

3. The method according to claim 1 , wherein coupling the at least one control parameter further comprises:

selecting one of a plurality of predetermined filter responses corresponding to one of a plurality of predetermined threshold values;

wherein a value of the at least one control parameter matches the one of the plurality of predetermined threshold values.

4. The method according to claim 3 , wherein the filter response is incrementally changed by one step from a current filter response.

5. The method according to claim 1 , wherein compensating for the dynamic latency further comprises:

determining a maximum picture latency;

increasing time response of the filter module in a digital domain by inserting a plurality of transitions into the filter module; and

determining a plurality of intermediate filter responses corresponding to the plurality of transitions by using linear weighted distance average of two neighboring filter responses of each of the plurality of intermediate filter responses.

6. The method according to claim 1 , wherein the linear filter module is adapted for attenuation at high frequencies while retaining portions of the high frequency components.

7. The method according to claim 6 , wherein the linear filter module comprises a plurality of low pass filters having a range of step cut-off frequencies and a range of normalized magnitudes.

8. The method according to claim 7 , wherein the range of step cut-off frequencies range between normalized bandwidth values of 1.0 to 0.167.

9. The method according to claim 8 , wherein the range of normalized magnitudes range from 1.0 to 0.3.

10. A video processing system comprising:

an adaptive pre-filtering system configured to adaptively pre-filter an input video data for video encoding, the adaptive pre-filtering system comprising:

a filter module configured to receive and filter the input video data to produce a filtered video data, the filter module responsive to a plurality of predetermined filter responses, wherein the input video data includes at least one tuning parameter of the group consisting of motion, quantization, variance, and mean square error prediction;

a video encoder configured to encode and compress the filtered video data according to an encoding process;

an extraction module configured to extract the at least one tuning parameter from the input video data according to the encoding process;

a computation module configured to receive and process the at least one tuning parameter into at least one control parameter; and

an integration module configured to process the at least one control parameter and for selecting one of the plurality of filter responses;

wherein the at least one tuning parameter comprises one or more of the following: motion, quantization, variance and mean square error prediction; and

wherein the adaptive pre-filtering system is also configured to compensate for dynamic latency between the filtered input video data from the filter module and the video encoder.

11. The video processing system according to claim 10 , wherein the adaptive pre-filtering system further comprises a filter coefficient generator configured to generate filter coefficients according to the filter response.

12. The video processing system according to claim 10 , wherein the filter module is adapted for attenuation at high frequencies while retaining pollions of the high frequency components.

13. The video processing system according to claim 12 , wherein the filter module comprises a plurality of low pass filters having a range of step cut-off frequencies and a range of normalized magnitudes.

14. The video processing system according to claim 13 , wherein the range of step cut-off frequencies range between normalized bandwidth values of 1.0 to 0.167.

15. The video processing system according to claim 13 , wherein the range of normalized magnitudes range from 1.0 to 0.3.

16. The video processing system according to claim 10 , wherein the video processing system comprises a DVD reader.

17. The video processing system according to claim 10 , wherein the video processing system comprises a DVD writer.

18. The video processing system according to claim 10 , wherein the video processing system comprises a server application for real time video streaming.

19. A method for adaptive pre-filtering of input video data for video encoding using a linear filter module, comprising:

receiving the input video data, wherein the input video data includes at least one tuning parameter of the group consisting of motion, quantization, variance, and mean square error prediction;

extracting the at least one tuning parameter according to a type of video encoding;

processing the at least one tuning parameter to generate at least one corresponding control parameter;

coupling the at least one control parameter to a predetermined filter response;

generating a plurality of filter coefficients based on the predetermined filter response; and

filtering the input video data with the linear filter module having the applied plurality of filter coefficients;

wherein processing the at least one tuning parameter to generate at least one corresponding control parameter further comprises:

extracting a plurality of coarse motion vectors at a macroblock level to produce a plurality of macroblock coarse motion magnitudes,

accumulating the plurality of macroblock coarse motion magnitudes to produce a plurality of accumulated macroblock coarse motion magnitudes,

summing and averaging the plurality of accumulated macroblock coarse motion magnitudes at picture level to produce an average coarse motion magnitude, and

averaging the average coarse motion magnitude over a predetermined period of most recently encoded pictures to produce moving average coarse motion magnitude control parameter.

20. The method according to claim 19 , wherein generating the plurality of filter coefficients further comprises:

extracting, summing and normalizing a plurality of fine motion vectors at the macroblock level to produce a plurality of macroblock fine motion magnitudes;

accumulating the plurality of macroblock fine motion magnitudes to produce a plurality of accumulated macroblock fine motion magnitudes;

summing and averaging the plurality of accumulated macroblock fine motion magnitudes at picture level to produce an average fine motion magnitude;

averaging the average fine motion magnitude over a predetermined period of most recently encoded pictures to produce the control parameter: moving average fine motion magnitude.

21. The method according to claim 19 , wherein generating the plurality of filter coefficients further comprises:

extracting a plurality of macroblock quantizers;

accumulating the plurality of macroblock quantizers to produce a plurality of accumulated macroblock quantizers;

averaging and normalizing the plurality of accumulated macroblock quantizers at picture level to produce an average macroblock quantizer; and

averaging the average macroblock quantizer over a predetermined period of most recently encoded pictures to produce the control parameter: moving average quantizer.

22. The method according to claim 19 , wherein generating the plurality of filter coefficients further comprises:

computing a plurality of block variances at the macroblock level;

accumulating the plurality of block variances to produce a plurality of accumulated block variances;

averaging the plurality of accumulated block variances at picture level to produce an average block variance; and

averaging the average block variance over a predetermined period of most recently encoded pictures to produce the control parameter: moving average block variance.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2024
From: STMICROELECTRONICS ASIA PACIFIC PTE LTD
To: STMICROELECTRONICS INTERNATIONAL N.V.
Reel/Frame 068434/0215 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2006
From: CHIANG, PATRICIA; HUI, LUCAS
To: STMICROELECTRONICS ASIA PACIFIC PTE., LTD.
Reel/Frame 018626/0498 →