Adaptive preprocessing method using feature-extracted video maps

A method and apparatus for preprocessing a video signal prior to its being encoded. During preprocessing, features are extracted from the video signal into feature planes which are each adaptively filtered in response to estimations of feature activity. After feature extraction the signal which remains is referred to as a “remaining signal”, which is then noise filtered to remove a substantial portion of the noise. The feature planes and remaining signal are recombined into a preprocessed output signal configured for receipt and processing by a video encoder. A video encoder receiving the preprocessed video signal can generate higher quality and/or lower bit rate encoded video than one receiving the original source video. Preprocessing according to the invention is particularly well suited for use with encoders adapted to remove temporal and/or spatial redundancy, such as those implemented according to the MPEG2/4, or AVC/H.264 standards.

CROSS-REFERENCE TO RELATED APPLICATIONS

Not Applicable

Not Applicable

Not Applicable

NOTICE OF MATERIAL SUBJECT TO COPYRIGHT PROTECTION

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention pertains generally to video coding, and more particularly to an adaptive preprocessing method using feature-extracted video maps.

2. Description of Related Art

Digital video technology is used in business, communication, education and entertainment, and from on-line video archives on the Internet to high-definition TV. The ability to communicate and store video, such as for mobile video, streaming video, video storage, video broadcast and video conferencing depends largely on the ability to encode the video with sufficient quality and at a sufficiently low bit rate for the desired application.

However, despite the significant advancements in video encoder design, improved coding apparatus and methods are fiercely sought after. Any enhancement(s) which promise to mitigate the tradeoff between bit rate and quality garner intense interest within the industry.

Accordingly, a need exists for enhanced coding apparatus and methods which increase video quality and/or reduce bit rate without introducing undue levels of processing overhead. These needs and others are met within the present invention which overcomes the deficiencies of previously developed coding apparatus and methods.

BRIEF SUMMARY OF THE INVENTION

The present invention is an apparatus (system) and method of applying a preprocessing paradigm to the video encoding problem, for example preprocessing the video signal before it is encoded by a video codec, such as according to the MPEG2/4 or AVC/H.264 standards.

The proposed method first extracts all information features, which are deemed important in the current context, from the original source video. The remaining video signal is then processed toward a different object. In one preferred embodiment, noise-removal filtering is applied to this remaining data after feature extraction is performed. Random noise in the original source is thus effectively removed, without impacting the important feature elements. The extracted features are then processed adaptively, such as preferably based on the level of feature activity. If the level of activity is high, stronger filtering is applied to further remove the unnecessary information. Since the unnecessary information is removed before the encoding process, the coding efficiency (or video quality at the same given bit rate) in the video encoder can thus be improved.

The following terms are generally described in relation to the specification, and are not to be interpreted toward constraining specific recitations of the specification.

The term “video encoder” (also referred to as video conversion) is used herein to refer to the process of preparing the video for storage or output by encoding the digital video according to a given video format so that the video can be stored, transmitted, received and finally decoded back into a video signal which closely approximates the original video within the confines of allowable bit rate. Typical video encoders work toward eliminating temporal and/or spatial redundancy to reduce video bit rates while maintaining a desired level of perceived video quality.

The term “codec” is an acronym for “compressor/decompressor”, and is also referred to as a “coder/decoder” as the term is used in the telecommunication arts. A codec is any technology for compressing and decompressing data, and may be implemented in software, hardware, or a combination thereof. Popular standards for codecs include MPEG (e.g., MPEG2, MPEG4), H.263/4, and the like. The present invention in particularly well suited for modern codecs which attempt to remove all temporal and/or spatial redundancies.

The invention is amenable to being embodied in a number of ways, including but not limited to the following descriptions.

One implementation of the invention is an apparatus for preprocessing a video signal prior to encoding, comprising: (a) means for extracting features from the source video into feature planes which are adaptively filtered; (b) means for noise reduction filtering of the remaining signal; and (c) means for recombining adaptively filtered feature planes with noise reduced versions of the remaining signal into a preprocessed video output configured for receipt by a video encoder.

An implementation of the present invention is a method of preprocessing a source video signal prior to encoding, comprising: (a) extracting features (e.g., edges, textures, gradient characteristics, activity, and so forth) from the source video and producing feature planes (feature mapping) and leaving a remaining signal which does not contain the extracted features; (b) noise reduction filtering of the remaining signal to remove at least a portion of the random noise within the remaining signal, such as using low pass filtering; (c) estimation of feature activity for the feature planes; (d) adaptive strength filtering on the feature planes (e.g., based on feature activity); and (e) combining adaptively filtered feature planes with the noise reduced version of the remaining signal to generate a preprocessed video output configured for receipt by a video encoder.

Overall, the preprocessing technique aggressively processes areas of complicated texture that are not sensitive to the human eye while other feature areas are processed, from delicately to aggressively, in response to their level of activity. The preprocessing of the video source signal increases coding efficiency at a recipient video encoder allowing an increase in video quality and/or a lowered bit rate for a given encoded video quality. The method only requires the video signal to be received by an encoder, no additional information needs to be sent from the preprocessor to the encoder. However, it will be appreciated that if the encoder does not automatically adapt its encoding parameters in response to the clean (less noise) signal received from the preprocessor, then for optimum performance its encoding parameters should be externally modified. Preprocessing according to the present invention is compatible with a wide range of video encoders, and in particular with encoders operating according to MPEG2/4, AVC/H.264, or similar standards and combinations thereof.

Modes of the invention provide for selecting the features to be extracted in response to external control, or programming and/or data available to the preprocessor, or combinations thereof.

In one mode of the invention the block based adaptive strength filtering comprises steps of: (a) partitioning the feature plane into small blocks; (b) estimating activity within each block in response to a human perceptual model to output a degree of activity; (c) categorizing the block into one of multiple filter parameters; (d) deciding a set of filter parameters; and (e) performing the adaptive filtering on this feature plane.

An implementation can be executed from a computer processor in response to programming retrieved from a memory and executing on at least one computer processor. In one configuration at least one computer processor is integrated within a preprocessing module configured for connection to an encoder device. In one configuration at least one computer processor is integrated within an encoder device which is adapted to perform preprocessing and encoding. In one configuration at least a first computer processor performs preprocessing while at least a second computer processor performs encoding of the preprocessed video signal output. In one configuration at least one computer processor performs both preprocessing functions and encoding functions.

An implementation of the present invention is an apparatus for preprocessing video signals before receipt by an encoder, comprising: (a) a computer configured for processing received video signals; and (b) programming executable on the computer for, (b)(i) extracting features from the source video and producing feature planes and a remaining signal without the extracted features, (b)(ii) noise reduction filtering of the remaining signal, (b)(iii) estimation of feature activity for the feature planes, (b)(iv) adaptive strength filtering on the feature planes, and (b)(v) combining adaptively filtered feature planes with noise reduced version of the remaining signal to generate a preprocessed video output configured for receipt by a video encoder. The preprocessing of the video source signal increases coding efficiency at a recipient video encoder providing an increase in video quality increase and/or a lowered bit rate for a given encoded video quality.

An implementation of the present invention is a computer-readable media containing a computer program executable on a computer configured for processing a video signal and causing the computer to preprocess the video signal in preparation for receipt by an encoder, in response to steps, comprising: (a) extracting features from the video signal and producing feature planes and a remaining signal without the extracted features; (b) noise reduction filtering of the remaining signal; (c) estimation of feature activity for the feature planes; (d) adaptive strength filtering on the feature planes; and (e) combining adaptively filtered feature planes with noise reduced version of the remaining signal to generate a preprocessed video output configured for receipt by a video encoder. The preprocessing of the video source signal increases coding efficiency when received at a recipient video encoder providing an increase in video quality increase and/or a lowered bit rate for a given encoded video quality.

The present invention provides a number of beneficial aspects which can be implemented either separately or in any desired combination without departing from the present teachings.

An aspect of the invention is a preprocessing method which increases coding efficiency when the preprocessed video signal is encoded within a recipient video encoder.

Another aspect of the invention is to provide a method of increasing encoding efficiency which allows increasing video quality and/or lowering of the bit rate for a given encoded video quality.

Another aspect of the invention is a video preprocessing method which requires no additional information to be sent from the preprocessor to the encoder.

Another aspect of the invention is a video preprocessing method which increases encoding efficiency without the need of making alterations to the encoder, wherein standard encoders may be utilized.

Another aspect of the invention is a video preprocessing method which increases encoding efficiency of an encoder which can more aggressively encode the data in response to execution of the preprocessing stage.

Another aspect of the invention is a video preprocessing method in which a substantial portion of the random noise from the original source is effectively removed, without negative impact to features identified and extracted from the source video.

Another aspect of the invention is a video preprocessing method which performs the steps of feature extraction into feature planes, noise reduction filtering of a remaining signal, estimation of feature activity, adaptive strength filtering on feature planes, and then combines adaptively filtered feature planes with the noise reduced remaining signal to generate a preprocessed video output configured for receipt by a video encoder.

Another aspect of the invention is a video preprocessing method in which features to be extracted are selected in response to external control or programming and/or data available to the preprocessor.

Another aspect of the invention is a video preprocessing method in which noise reduction filtering is configured to remove a substantial portion of the random noise within the remaining signal.

Another aspect of the invention is a video preprocessing method in which the noise reduction filtering on a remaining plane comprises a low pass filter.

Another aspect of the invention is a video preprocessing method in which extracted features are processed adaptively based on feature activity within each plane of extracted features.

Another aspect of the invention is a video preprocessing method in which areas of complicated texture that are not sensitive to the human eye are aggressively processed while other feature areas are processed in response to their level of activity from delicate to aggressive.

Another aspect of the invention is a video preprocessing method in which features to be extracted are selected from the group of video feature elements consisting essentially of edges, textures, gradient characteristics, and activity.

Another aspect of the invention is a video preprocessing method in which adaptive strength filtering is a block-based operation.

A still further aspect of the invention is a video preprocessing method which is compatible with various video encoders including those operating according to MPEG2/4 or AVC/H.264 standards.

DETAILED DESCRIPTION OF THE INVENTION

1. Introduction to Video Preprocessing

An apparatus and method are disclosed for preprocessing video signals before encoding by a video codec, such as according to MPEG2/4 or AVC/H.264 standards. The proposed method first extracts all information (features) deemed important from the original source video. It should be appreciated that what is deemed important may be application specific, and depend not only on the type of video being processed, but its quality, resolution, and other factors.

In this example, noise-removal filtering is applied to the remaining data after feature extraction. In this way, a substantial portion of the random noise from the original source can be effectively removed, while features in the video, having been extracted, are not subject to adverse filter impact.

The extracted features are processed adaptively based on feature activity. For example, if high levels of activity are discerned, then stronger filtering is applied to further remove unnecessary information. As a consequence of removing the unnecessary information before encoding, the coding efficiency (or video quality at a given encoding bit rate) for the video encoder can be improved.

FIG. 1depicts a conventional encoding arrangement in which video data is received by the encoder, encoded within the encoder, and then output.

FIG. 2illustrates, by way of example embodiment10, preprocessing performed according to the present invention in relation to the video encoder. Unlike conventional video encoding, in which input video12is directly transmitted to a video encoder, the present invention performs preprocessing14of the input video data12before it is encoded by video encoder16(e.g., codec).

Preprocessing in this manner can provide many benefits. One important aspect is that noise, in particular random noise, can be more effectively removed from the original video without affecting the features contained within the signal. It will be appreciated that since the random characteristics of noise (e.g., flat frequency characteristics) can not be efficiently encoded, video containing noise generates poor quality encoding, even when encoded at high bit-rates. Therefore, reducing the level of noise before encoding can significantly enhance the quality and allow for the use of lower bit rate encoding.

Another application of the preprocessing paradigm of the present invention is to manipulate the input video, so as to enhance the human-perceived quality of post-encoded video. By way of example and not limitation, areas of complicated texture that are not sensitive to human eyes can be processed in aggressive ways while some sophisticated areas such as flat or static areas are processed less aggressively, or even in a delicate manner.

The apparatus and method of the present invention performs preprocessing which can be applied to both of the above applications, or their combination, as well as to other related forms of processing, according to the teachings recited herein. The principle stages of the preprocessing method are described in the next sections.

2. Stages of Preprocessing

The input video is first processed to extract several predefined features. The features can be defined as (1) edges; (2) texture complexity; (3) gradient characteristic; (4) activity, and other features as practiced by those of ordinary skill in the art.

FIG. 3illustrates preprocessing14according to the present invention. It will be appreciated that before feature extraction takes place it must be determined which features are to be extracted. Embodiments of the present invention are not generally limited in the manner in which these features are defined. By way of example and not limitation, the features to be extracted can be defined within preprocessor coding, and/or within a data set coupled to the preprocessor. In addition, the feature set can be predetermined or varied in response to external control, and/or in response to determinations of the nature or character of the video to be encoded. It will be appreciated that the preprocessing of the present invention does not require any alterations in the encoding standard, nor does it require any additional information being entrained or otherwise communicated from the preprocessor to the encoder.

Video input20is received and feature extraction performed22from the original video data. Feature maps are represented as F#124a, F#224b, through F#N24n, with “N” representing any desired depth of feature mapping. Each of these features24a-24nfrom the video source is then subtracted in block28from original video source signal26to generate a remaining signal, also referred to as a remaining plane28.

2.2 Noise Reduction Filtering

Once all the desired features are extracted, the remaining data from the input video consists of a remaining signal or remaining plane28. In fact, if sufficient features are extracted, this remaining plane can in one sense represent information which is not important to human perception, wherein it can be considered as noise data. Therefore, a strong level of filtering30can be applied to the remaining plane without losing the most important information. By way of example, and not limitation, filter30can comprise a low-pass filter, or other practical filter types.

2.3 Adaptive Filtering on Feature Map (or Plane)

For each extracted feature plane24a-24n, adaptive filtering is applied to control the required information in various areas, such as preferably based on human perceptual models. In the figure are shown estimations32a-32nof feature activity followed by adaptive strength filtering34a-34n, which are performed for each feature plane.

2.4 Combining Signals and Output to Video Encoder

Each of the adaptively filtered feature elements is then combined36with the noise filtered remaining signal to generate a preprocessed output signal for receipt by encoder16.

The video data output from the preprocessor is then output as a video source for receipt (e.g., immediately or alternatively after storage) by a video encoder. There are several possible configurations for the video encoder which maximize the impact of preprocessing according to the present invention. For example, rate control can be adjusted to maximize the coding efficiency by allocating the optimal quantization parameters for a given preprocessing condition.

2.5 Detailed Description of Adaptive Filtering

FIG. 4illustrates more detail about the overall operation50of adaptive filtering. For simplicity, only one feature F#1is shown. The other feature planes can be generally considered to be processed in a similar manner.

Adaptive filtering is a block-based operation, in which the feature plane is partitioned into small blocks52, such as for example 16×16. For each block, the activity of the feature is estimated56in response to use of a human perceptual model54applied to determine the degree of activity.

Once the degree of activity of the block is decided, the block is categorized58into one of several predefined filter parameters62. By way of example, the filter strength can be defined for each category when performing adaptive filtering66. High strength filtering implies that the bulk of information in the feature plane can be modified without negatively impacting perceptual quality. Those blocks can be aggressively processed so that the consumed bits in the video encoder can be minimized. Therefore, bits saved from one area can be more efficiently used for more important and perceptually critical areas of the video.

2.6 Overview of Preprocessing Method

FIG. 5illustrates the general steps in the above preprocessing procedure. Features are extracted70, with noise reduction filtering performed on the remaining video72. Adaptive strength filtering74is then performed on each feature in the feature map, wherein filtering is optimized for each type of feature plane. Finally the non-adaptively filtered video from block30inFIG. 3, is merged with the adaptive strength filtering and sent to a video encoder76.

3. Implementation Example

FIG. 6illustrates an implementation90of the present invention in the context of a computer processor enabled preprocessing device94and encoder102. A video source92is received by the preprocessor94(depicted as surrounded by dashed lines) containing at least one computer processing element96(e.g., CPU, microprocessor, DSP, ASIC containing at least one processor core, and so forth) which has access to at least one memory98. The method described above is executed on the preprocessor94, such as described by the flowchart ofFIG. 3-5, and a compressed video output100generated to an encoder102(depicted as surrounded by dashed lines) which can be configured in any desired mix of hardware and software, such as similarly containing at least one computer processing element104(e.g., CPU, microprocessor, DSP, ASIC containing at least one processor core, and so forth) which has access to at least one memory106.

It should be appreciated that memories98,106can comprise any desired form(s) of memory, and combinations thereof, into which executable instructions may be received for processing by computer96,104, such as internal semiconductor memory (e.g., static random-access memory (SRAM), dynamic random-access memory (DRAM), FLASH, read-only memory (ROM), and other forms of digital memory), as well as receiving information from external memory sources including semiconductor memories, media devices, and so forth.

Similarly, instructions are executed from memory106by CPU104for performing any desired method of encoding, such MPEG2/4, or H.263/4. A decompressed video output108is generated which provides a higher quality signal at a given bit rate than operation of the decoder by itself. Signal108can be used in any desired application, such as displayed110, communicated over a network112, stored114, or operated upon in any desired manner116that conventional video signals are used.

It should be noted that the preprocessor may share the same CPU and/or memory with an encoder, or be integrated within other video equipment without departing from the teachings of the present invention.

The present invention provides a means for improving decoder performance in response to the inclusion of the preprocessing step. It should be appreciated that the preprocessor function can be selectively utilized, such as depending on the amount of available processing bandwidth available. For example, preprocessing can be performed by a processor that may be otherwise executing other functionality. In addition the extent of feature extraction within the preprocessor can be optimally modulated in response to the available processor bandwidth. Furthermore, it should be recognized that the preprocessor can be switched on or off, without impacting the integrity of the encoding process, however, of course a degradation in encoded video quality would result.