Abstract:
Noise reduction circuitry, in a video signal compression apparatus of the predictive DPCM compression type includes a simple nonlinear processing element within the DPCM loop to eliminate residues between predicted and real image signals, which are smaller than a predetermined value. Elimination of such residues dramatically reduces the amount of compressed data generated for signals including even modest amounts of noise.

Description:
This is a continuation of application Ser. No. 08/136,387, filed Oct. 13, 1993, now abandoned. 
    
    
     This application relates to noise reduction for differential pulse code modulation DPCM video signal compression apparatus, and more particularly to noise reduction apparatus for use within the DPCM loop. 
     BACKGROUND OF THE INVENTION 
     Predictive coding for compression of video signal functions best when current images are easily predicted from temporally adjacent images. However when the source images contain noise, accurate prediction becomes difficult and the compression efficiency declines or the reproduced image quality degrades or both. It is therefore desirable to minimize noise in the video signal to be compressed prior to the compression process. 
     Consider FIG. 1 which illustrates a prior art predictive image coding system. Elements 12-22 form the actual predictive coder which will be described herein after. Noise reduction, in such prior art systems typically include a recursive noise reduction filter 10 to preprocess the video signal prior to compression. Field or frame recursive filters tend to have been preferred because they can effectively reduce noise components within the bandwidth of the active signal. However, such filters are also very memory intensive and require relatively sophisticated processing circuitry in order to perform significant noise reduction without introducing undesirable artifacts around moving image features 
     It is an object of the present invention to provide a highly effective noise filter apparatus and method for predictive encoders with minimal additional hardware. 
     SUMMARY OF THE INVENTION 
     The present invention includes a predictive DPCM compression apparatus wherein a simple nonlinear processing element is included in the DPCM loop to eliminate residues between predicted and real image signals, which are smaller than a predetermined value. Elimination of such residues will dramatically reduce the amount of compressed data generated for signals including even modest amounts of noise. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of prior art DCPM compression apparatus. 
     FIGS. 2 and 4 are block diagrams of alternative compression apparatus including noise reduction apparatus according to the present invention. 
     FIGS. 3 and 5 are pictorial diagrams of exemplary nonlinear transfer functions for the noise reduction apparatus of FIGS. 2 and 4. 
    
    
     DETAILED DESCRIPTION 
     The present invention will be described in the context of video compression similar to that described in the standard being established by the Moving Picture Experts Group (MPEG) of the International Standardisatiom Organisation. Motion compensated predictive encoding, of the type described in the MPEG protocol, requires both intraframe encoding and interframe encoding. That is every N th  frame is intraframe encoded to insure regular temporal signal replenishment. Intervening frames are interframe or DPCM predictive encoded with compressed data in successive frames dependent upon prior frames. Intraframe encoded frames are designated I frames and interframe encoded frames are designated either P or B frames depending upon whether they are only forward predicted or both forward and backward predicted respectively. The process of predictive coding involves dividing respective images into small areas, and searching neighboring images to locate identical or nearly identical areas in a neighboring image. The location of the area in the neighboring image and the differences between the area of the current image and the corresponding identical or nearly identical area, of the neighboring image, are coded for transmission. Note that if the corresponding areas are in fact identical, all differences will be zero and an area may be coded with simply a vector identifying the location of the corresponding area and a code indicating that all differences are zero. Thus compressed identical or nearly identical images may be realized with relatively few codewords. Alternatively, if the image contains appreciable noise it will be appreciated that correlation of image areas frame to frame will deteriorate with a concomitant increase in residue data, and a corresponding increase in compressed codewords. 
     In FIG. 1, video signals generated by, for example, a cameras are applied to a recursive noise reducer 10 which conditions the video signals for compression. The remaining apparatus is of relatively well known configuration, hence only a general description will be provided. I frame pixel data from the noise reducer 10, are passed unaltered to the encoder 15 by the subtractor 12. The encoder 15 performs a discrete cosine transform DCT on the pixel data (in blocks of 8×8 pixels) to generate DCT coefficients. The coefficients are quantized to control the data rate and ordered in a predetermined sequence which tends to coalesce the majority of zero valued coefficients for efficient run-length coding. The encoder then run-length and statistically encodes the coefficients. The coded pixel representative data is applied to a formatter 19 which attaches information to indicate the source location of respective blocks within a frame, the coding type, (I, P, B), frame number, time stamps etc. according to the selected compression protocol, for example MPEG 2. The data from the formatter is applied to a transport processor 20 which segments the formatted data into payload packets of particular numbers of bits, generates identifiers to track the respective payloads, generates synchronization information and develops error correction/detection codes, and appends all of the latter to the respective payload packets to form transport packets. The transport packets are applied to an appropriate modem 22,via a rate buffer 21, for transmission. 
     The I compressed frames from the encoder 15 are applied to a decoder 16 which performs the inverse function of the encoder 15. For I compressed frames the output of the decoder 16 is a reproduced I frame. The decompressed I fame is passed unaltered by the adder 18 to the buffer memory 17 wherein it is stored for predictive compression of subsequent P and B frames. Predictive encoding of P and B frames is similar, and P frame compression will be discussed. The P image frame currently being compressed is applied to a motion estimator 14, which divides the frame into blocks of e.g., 16×16 pixels. The estimator 14 then searches the preceding I or P frame for a similar 16×16 block of pixels, and calculates a set of vectors which indicate the relative difference in spatial coordinates of the block in the current frame and the most nearly identical block in the frame being searched. Using this vector the corresponding block from the corresponding decompressed frame in buffer memory 17 is coupled to the subtractor 12 which subtracts the predicted block from memory 17, on a pixel by pixel basis, from the corresponding block of the current frame being decompressed. The differences or residues provided by the subtractor are applied to the encoder 15 wherein they are processed similar to the I frame pixel data. The vectors generated by the estimator 14 are coupled to the formatter 19 wherein they are included as a portion of the coded data associated with respective blocks. 
     The compressed P frames are decoded in the decoder 16 and applied to the adder 18. Concurrently the respective blocks of the image frame from which the frame was predicted are accessed from the buffer memory by the predictor 13 and applied to a second input of the adder 18 wherein the decoded residues or differences are added on a pixel by pixel basis to restore the actual image. The restored pixel P frame data from the adder 18 is stored in the buffer memory 17 for predictively encoding/decoding subsequent P and B frames. 
     It is important to note that when I frames are being processed, the predictor 13 applies zero values to both the subtractor 12 and the adder 18. I frames that are input are therefore passed unaltered by the subtractor 12, and decoded I frames from the decoder 16 are passed unaltered by the adder 18. 
     FIG. 2 illustrates a first embodiment of the invention. In FIG. 2 the compression apparatus is similar to the apparatus of FIG. 1 and elements designated with like numbers as those in FIG. 1 perform like functions. There are two primary differences which are the addition of the non linear element 500, and a slight additional function added to element 1333 which performs the function of element 13 in FIG. 1. 
     The non linear element 500 is connected between the subtractor 12 and the encoder 15. This element is arranged to pass only signal values above a predetermined value. Element 500 may be a simple coreing circuit which passes a zero value for all values below a predetermined value and the signal value minus the predetermined value for all values exceeding the predetermined value, as shown by the piecewise linear function (curve B) in FIG. 3. Alternatively it may take the form of a more typical coring circuit which passes a zero value for all signal values less than a predetermined value and the signal value for all signal values which exceed the predetermined value. A further alternative function for element 500 may be a more gently curving function such as the curve designated A in FIG. 3. All of these functions may be provided by programming the functions into respective address locations in memory which is arranged to be addressed by the signal to be processed. 
     Consider that the compressor performs two types of compression, intraframe and interframe. In the latter type the signal applied to the element 500 are residues resulting from taking pixel differences of two independent frames. In the former, the signal applied to the element 500 is the video signal unaltered. The noise power of the latter is the square root of two greater than the former, and the signal level of the latter is significantly less. Therefore the signal to noise ratio of the intraframe video signal is significantly greater than the signal to noise ratio of the interframe residues, regardless of the amount of noise contaminating the signal. 
     In view of the difference in signal to noise ratios, the nonlinear function applied during intraframe compression should be different than for interframe compression. For example, if the nonlinear function is piecewise linear coring, the predetermined value below which intraframe values will be cored may be significantly greater than for interframe residues. Alternatively, since the signal to noise ratio of intraframe signals will be relatively large compared to the residues, the nonlinear element may be conditioned to pass intraframe signals unaltered. The relative signal to noise ratios of B frame and P frame predictive coded frames may also be significantly different depending upon the number of B frames between P frames. Thus it may be appropriate to apply different nonlinear functions in element 500 for the different types of predictive coding. Adaptively controlling the nonlinear element is performed by the predictor 1333, which applies respective control signals for I, P and B frames being coded. 
     FIG. 4 shows an embodiment conducive to using a similar nonlinear function for all types of compression interframe and intraframe. In FIG. 4 elements designated with like numbers to elements in FIG. 1 are similar and perform like functions. The FIG. 4 circuit includes a nonlinear element 50 between the subtractor 12 and the encoder 15. The function of the nonlinear element may be similar to that shown in FIG. 5 (standard coring function) or a function as described for element 500. 
     During compression of interframe frames, the switches sw1 and sw2 are in the alternative position to the positions illustrated. With the switches in this position, the system is configured as and operates exactly as the system of FIG. 2 for interframe coding. Thus the nonlinear function of element 50 will be selected in accordance with performance expectations for interframe coding. 
     For intraframe coding it is necessary that the decoded intraframe signal from decoder 16 pass through the adder 18 unaltered. This is effected by employing switch sw1, which is conditioned by the prediction element 133, to pass a zero values during coding of I frames. Concurrently the switch SW2 is moved to the position shown in FIG. 4. 
     In order for the nonlinear element to have a beneficial effect on I frame signals, in view of their relatively high signal to noise ratio, the I frame signals are artificially reduced for noise processing and then restored after noise processing. Reduction of the I frame signal is accomplished by generating a predicted I frame and applying the predicted I frame to the subtracter 12. The differences generated by the subtracter will be of the same order of magnitude as the interframe residues, and therefore the nonlinear element will operate similarly thereon. The predicted signal provided from the predictor 133 is then added back to the signal provided from the nonlinear element to restore the input I frame signal to substantially its original value. 
     Several methods are available to generate predicted I frames. One method is simply to condition the predictor 133 to output blocks of pixels which are collocated with the current I frame, from the last decoded frame in the buffer 17 (which may not be an I frame). But a preferred method, which provides a much more accurate prediction of the I frame is to predict the I frame in a manner similar to predicting P or B frames. Note that prediction requires motion vectors which provide a spatial correspondence between similar blocks of pixels in temporally spaced frames. Coded I frames in general do not include motion vectors. However, since the encoder includes the motion vector generation apparatus for generating vectors for P and B frames, it is a simple matter to program such apparatus to generate motion vectors for I frames also. These motion vectors may be utilized, at the encoder to generate a predicted I frame for noise reduction purposes, and then discarded, i.e. not included in the coded bit stream. Alternatively the I frame motion vectors may be included in the coded bit stream for error concealment purposes as suggested in the MPEG protocol. 
     Assume the nonlinear element 50 is programmed to pass all signal samples having magnitudes greater than a value of T, which will be nominally quite small. Also assume that the signal provided from the predictor is S(n) and the input I frame signal is I(n). Ignoring the element 50, the signal provided to the upper contact of the switch SW2 is I(n)-S(n). This signal is coupled to one input of an adder 52 and the signal S(n) is applied to a second input of the adder 52. Adder 52 provides the signal I(n)-S(n)+S(n)=I(n). These values are coupled to the encoder 15, and are unchanged from the input values. Only those output values I(n) for which the differences provided by the subtractor 12 are within±T will be affected by the nonlinear element 12. Hence it will be beneficial if the I frame predictions provided by the predictor 133 are very accurate i.e. within a deviation of ±T, in which case the non linear element 50 will substantially only affect noise components. 
     The foregoing description assumes that frames are encoded in their entirety as intraframe coded frames or as interframe coded frames. In the MPEG standard , for example, the video signal is coded on a block-by-block basis, and provision is made to code certain blocks of P or B frames in the intraframe coding mode if a close match cannot be found for the block in the search frame. In these instances the predictors 13, 133, and 1333 will be programmed to switch the nonlinear processing elements 15, 50 and 500 respectively on a block-by-block basis in accordance with the current processing type. Thus, in the appended claims, if mention is made about compressing frames according to an interframe processing mode, it should be appreciated that ones of the blocks of pixels within such frames may be intraframe processed, and the claims are intended to apply to such mixed mode processed frames.