Adaptive window-size selection in transform coding
AssigneeMicrosoft Corporation
InventorsWei-Ge Chen, Naveen Thumpudi, Ming-Chieh Lee
Life of this patent
Estimating the term…
Abstract
A transform coder adaptively configures window sizes for transform coding in a two-pass process to maximize coding efficiency, while achieving necessary time resolution to avoid pre-echo. In a first pass, the coder places small size windows over detected transient regions of an input signal in an open-loop window configuration process. In a second pass, the coder adjusts the window size configuration according to measurements of the achieved quality in a closed-loop window configuration process. Where quality measurement shows unacceptable quantization noise, the coder increases window size. Where pre-echo is detected, the coder reduces window size within coding bit rate constraints.
Claims40
A transform coder computer system for audio signal processing comprising:
- a transient detection component stored in computer system memory operating to process samples of an input signal to identify locations of transients in the input signal;
- an open-loop window configuration component stored in computer system memory operating in response to the identified transient location to configure a first configuration of sizes of a plurality of transform input windows over the input signal selected from at least a first window size, a second window size, and a third window size, so as to place one or more windows of the first window size to encompass a region of the input signal having at least one identified transient location and place windows of the second size in areas of the input signal having no identified transient locations;
- an encoding component stored in computer system memory for transform coding the input signal according to the first configuration of transform input window sizes, and for decoding to produce a reconstructed signal;
- a quality measurement component stored in computer system memory operating to measure achieved quality of the reconstructed signal;
- and
- a closed-loop window configuration component stored in computer system memory operating in response to the achieved quality measurement to adjust sizes of the transform input windows in the first configuration according to the achieved quality measurement to produce a second configuration of transform input windows for use in transform coding the input signal.
In a computer-enabled transform coder, a method of adaptively selecting transform window size for signal processing, the method comprising:
- detecting locations of transients in an input signal;
- for a frame of the input signal in which no transient location is detected, configuring size of a transform window to be a first window size;
- for a frame of the input signal in which at least one transient location is detected, configuring sizes of a plurality of transform windows in the frame to comprise a consecutive set of at least one second-size window substantially encompassing the transient locations in the frame and at least one third-size window before the transient, where the second window size is smaller than the first window size and where the third window size is intermediate to the first and second window sizes;
- transform encoding the input signal according to a first transform window configuration including the configured sizes of transform windows;
- measuring achieved perceptual quality of the transform-encoded signal;
- storing the measured perceptual quality in memory associated with the transform coder;
- retrieving the measured perceptual quality from memory;
- using the retrieved measured perceptual quality, re-configuring the size of at least some of the transform windows configured in the first transform window configuration according to the measured perceptual quality to produce a second transform window configuration;
- and
- transform encoding the input signal according to the second transform window configuration.
In a computer-enabled transform coder, a method of adaptively selecting transform window size for audio signal processing, the method comprising:
- detecting locations of transients in an input signal;
- for a frame of the input signal in which no transient location is detected, configuring size of a transform window to be a first window size;
- for a frame of the input signal in which at least one transient location is detected, configuring sizes of a plurality of transform windows in the frame to comprise a consecutive set of at least one second-size window substantially encompassing the transient locations in the frame and at least one third-size window before the transient, where the second window size is smaller than the first window size and where the third window size is intermediate to the first and second window sizes;
- transform encoding the input signal according to a first transform window configuration including the configured sizes of transform windows;
- measuring achieved perceptual quality of the transform-encoded signal for at least some of the configured transform windows;
- storing the measured perceptual quality in memory associated with the transform coder;
- retrieving the measured perceptual quality from memory;
- using the retrieved measured perceptual quality, increasing sizes of at least some transform windows in the first transform window configuration where the achieved perceptual quality of the transform-encoded signal exceeds an acceptable level to produce a second transform window configuration;
- transform encoding the input signal according to the second transform window configuration.
In a computer-enabled transform coder, a method of adaptively selecting transform window size for audio signal processing, the method comprising:
- detecting locations of transients in an input signal;
- for a frame of the input signal in which no transient location is detected, configuring size of a transform window to be a first window size;
- for a frame of the input signal in which at least one transient location is detected, configuring sizes of a plurality of transform windows in the frame to comprise a consecutive set of at least one second-size window substantially encompassing the transient locations in the frame and at least one third-size window before the transient, where the second window size is smaller than the first window size and where the third window size is intermediate to the first and second window sizes;
- transform encoding the input signal according to a first transform window configuration including the configured sizes of transform windows;
- increasing sizes of at least some transform windows in the first transform window configuration to produce a second transform window configuration when utilization of a rate control buffer exceeds a fullness threshold;
- storing the second transform window configuration in memory associated with the transform coder;
- retrieving the second transform window configuration from memory;
- and
- using the retrieved second transform window configuration, transform encoding the input signal according to the second transform window configuration.
In a computer-enabled transform coder, a method of adaptively selecting transform window size for audio signal processing, the method comprising:
- detecting locations of transients in an input signal;
- for a frame of the input signal in which no transient location is detected, configuring size of a transform window to be a first window size;
- for a frame of the input signal in which at least one transient location is detected, configuring sizes of a plurality of transform windows in the frame to comprise a consecutive set of at least one second-size window substantially encompassing the transient locations in the frame and at least one third-size window before the transient, where the second window size is smaller than the first window size and where the third window size is intermediate to the first and second window sizes;
- transform encoding the input signal according to a first transform window configuration including the configured sizes of transform windows;
- measuring achieved perceptual quality of the transform-encoded signal for at least some of the configured transform windows;
- storing the measured perceptual quality in memory associated with the transform coder;
- retrieving the measured perceptual quality from memory;
- using the retrieved measured perceptual quality, increasing sizes of transform windows in a frame in the first transform window configuration to an increased minimum size greater than the second window size where the achieved perceptual quality of the transform-encoded signal in the frame exceeds an acceptable level to produce a second transform window configuration;
- transform encoding the input signal according to the second transform window configuration.
In a computer-enabled transform coder, a method of adaptively selecting transform window size for audio signal processing, the method comprising:
- detecting locations of transients in an input signal;
- for a frame of the input signal in which no transient location is detected, configuring size of a transform window to be a first window size;
- for a frame of the input signal in which at least one transient location is detected, configuring sizes of a plurality of transform windows in the frame to comprise a consecutive set of at least one second-size window substantially encompassing the transient locations in the frame and at least one third-size window before the transient, where the second window size is smaller than the first window size and where the third window size is intermediate to the first and second window sizes;
- transform encoding the input signal according to a first transform window configuration including the configured sizes of transform windows;
- detecting pre-echo in the transform-encoded signal;
- decreasing sizes of at least some transform windows in the first transform window configuration in a portion of the transform-encoded signal where pre-echo is detected to produce a second transform window configuration;
- storing the second transform window configuration in memory associated with the transform coder;
- retrieving the second transform window configuration from memory;
- using the second transform window configuration, transform encoding the input signal according to the second transform window configuration.
In a computer-enabled transform coder, a method of adaptively selecting transform window size for audio signal processing, the method comprising:
- detecting locations of transients in an input signal;
- for a frame of the input signal in which no transient location is detected, configuring size of a transform window to be a first window size;
- for a frame of the input signal in which at least one transient location is detected, configuring sizes of a plurality of transform windows in the frame to comprise a consecutive set of at least one second-size window substantially encompassing the transient locations in the frame, where the second window size is smaller than the first window size;
- transform encoding the input signal according to a first transform window configuration including the configured sizes of transform windows;
- measuring achieved perceptual quality of the transform-encoded signal;
- storing the measured perceptual quality in memory associated with the transform coder;
- retrieving the measured perceptual quality from memory;
- using the retrieved measured perceptual quality, re-configuring the size of at least some of the transform windows configured in the first transform window configuration according to the measured perceptual quality to produce a second transform window configuration;
- and
- transform encoding the input signal according to the second transform window configuration.
In a computer-enabled transform coder, a method of adaptively selecting transform window size for audio signal processing, the method comprising:
- detecting locations of transients in a current frame of an input signal;
- measuring achieved perceptual quality of at least one prior transform-encoded frame of the input signal;
- storing the measured achieved perceptual quality in memory associated with the computer-enabled transform coder;
- using the stored measured achieved perceptual quality, determining a minimal window size for the current frame based on the measured achieved perceptual quality of the at least one prior transform-encoded frame;
- for a first case in which no transient location is detected in the current frame, configuring size of a transform window to be a first window size;
- for a second case in which at least one transient location is detected in the current frame of the input signal, configuring sizes of a plurality of transform windows in the frame to comprise a consecutive set of at least one second-size window substantially encompassing the transient locations in the frame, where the second window size is the minimal window size for the current frame;
- and
- transform encoding the current frame of the input signal according to the configured sizes of transform windows.
A computer readable medium having instructions that when executed on an audio processing device perform a method of adaptively selecting transform window size for audio signal processing, the method comprising:
- detecting locations of transients in an input signal;
- for a frame of the input signal in which no transient location is detected, configuring size of a transform window to be a first window size;
- for a frame of the input signal in which at least one transient location is detected, configuring sizes of a plurality of transform windows in the frame to comprise a consecutive set of at least one second-size window substantially encompassing the transient locations in the frame, where the second window size is smaller than the first window size;
- transform encoding the input signal according to a first transform window configuration including the configured sizes of transform windows,
- measuring achieved perceptual quality of the transform-encoded signal;
- re-configuring the size of at least some of the transform windows configured in the first transform window configuration according to the measured perceptual quality to produce a second transform window configuration;
- and
- transform encoding the input signal according to the second transform window configuration.
Dependencies are inferred from the claim text.