WO2005112434A2 - Noise filter for video processing - Google Patents

Noise filter for video processing Download PDF

Info

Publication number
WO2005112434A2
WO2005112434A2 PCT/US2005/015402 US2005015402W WO2005112434A2 WO 2005112434 A2 WO2005112434 A2 WO 2005112434A2 US 2005015402 W US2005015402 W US 2005015402W WO 2005112434 A2 WO2005112434 A2 WO 2005112434A2
Authority
WO
WIPO (PCT)
Prior art keywords
cost
block
coefficient
filter
output
Prior art date
Application number
PCT/US2005/015402
Other languages
French (fr)
Other versions
WO2005112434A3 (en
Inventor
Weimin Zeng
Li Sha
Ping Zhu
Original Assignee
Wis Technologies, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wis Technologies, Inc. filed Critical Wis Technologies, Inc.
Priority to EP05744585A priority Critical patent/EP1792477A4/en
Priority to JP2007511525A priority patent/JP2008507161A/en
Publication of WO2005112434A2 publication Critical patent/WO2005112434A2/en
Publication of WO2005112434A3 publication Critical patent/WO2005112434A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/21Circuitry for suppressing or minimising disturbance, e.g. moiré or halo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation

Definitions

  • the present invention relates generally to video image processing, and more particularly, to a noise filter for use in video compression of images.
  • FIG. 1 illustrates a conventional approach 100 to coding audio-visual information into a digital compressed format.
  • a raw video signal is input on line 110 to a motion estimation unit 102 that generates the motion vectors that determine how each motion compensated prediction frame is created from the previous frame.
  • a discrete cosine transform (DCT) unit 104 converts the signal into elementary frequency components. This separates the image into parts (or spectral sub-bands) of differing importance (with respect to the image's visual quality).
  • quantization unit 106 processes the transformed vectors to produce indices representing the original image data on line 112.
  • the quantization unit 106 takes an input vector and outputs the index of the codeword that offers the lowest distortion. In this case, the lowest distortion is found by evaluating the Euclidean distance between the input vector and each codeword in the codebook. Once the closest codeword is found, the index of that codeword is sent through a channel 112.
  • the variable length coding (VLC) unit 108 receives the indices performs variable length coding to further compress the quantized image. The output of the VLC unit 108 is provide on line 114 and provided the compress image data.
  • any one of the couplings between the motion estimation unit 102, DCT unit 104, quantization unit 106, VLC unit 108 or input line 110 can be areas where noise can be introduced into the video signal.
  • the noise filter of the present invention is preferably coupled between the quantization unit and the VLC unit.
  • the noise filter preferably comprises a block selector, a cost calculator, a cost table, a cost comparator, and a coefficient filter.
  • the block selector is coupled to receive data from the quantization unit and selects blocks for additional filtering.
  • the selected blocks are provided to the cost calculator determines a cost for each of the coefficients in the block using the cost table and the costs are summed.
  • the cost comparator compares the total to a threshold, and filters the coefficients using the coefficient filter if the total is less than a preset threshold.
  • the noise filter to the VLC unit then outputs the filter data.
  • the present invention includes a method for filtering a video signal.
  • the method preferably comprises the steps of: selecting blocks with small coefficients, determining a total cost for the coefficients in the block, comparing to the total to a threshold and filtering the coefficients by setting them to zero if the total is less than a preset threshold.
  • Figure 1 is a block diagram of a video processing system according to the prior art.
  • Figure 2 is a block diagram of a video processing system including a noise filter according to an embodiment of the present invention.
  • Figure 3 is a block diagram of the noise filter according to one embodiment of the present invention.
  • Figure 4 is a flowchart of a first embodiment of a method for filtering noise according to the present invention.
  • Figures 5 A and 5B are a flowchart of second embodiment of the method for filtering noise according to the present invention.
  • a system 200 preferably comprises a motion estimation unit 102, a DCT unit 104, a quantization unit 106, a noise filter 202 and a VLC unit 108.
  • the motion estimation unit 102 is coupled to input line 110 to receive raw video data.
  • the motion estimation unit 102, DCT unit 104, and quantization unit 106 are coupled in series and perform conventional functions as will be understood by those skilled in the art.
  • the DCT unit covert the spatial image pixel values into transform coefficients.
  • the quantization unit 106 takes those coefficients and coarsely quantizes the less significant coefficients.
  • the quantization unit 106 has an output coupled to signal line 112.
  • the input of the noise filter is coupled to signal line 112.
  • the noise filter 202 advantageously filters and removes small values after quantization.
  • the noise filter checks the quantized matrix and determines whether all the coefficients are in a predefined range. If within the range and a coefficient cost is below a threshold, the signal is filtered before it is output by noise filter 202 on signal line 204.
  • the input of the VLC unit 108 is coupled to signal line 204 and receives the filtered signal.
  • the VLC unit 108 performs a variable length coding in a conventional manner before outputting the compressed video data on signal line 114.
  • the noise filter 202 of the present invention preferably comprises a block selector 302, a cost calculator 304, a cost table 306, a cost comparator 308, a coefficient filter 310, and a switch 312.
  • the present invention filters the signal on a block-by-block basis.
  • the blocks are preferably 8 by 8 DCT pixel blocks.
  • the block selector 302 is coupled to line 112 to receive data from the quantization unit 106 and selects blocks for additional filtering.
  • the present invention advantageously has filtering criteria on multiple levels. First, the blocks are selected for filtering by the block selector 302 and whether the filter is applied to the block is determined, as will be described below, by and in reference to the cost comparator 308. In an exemplary embodiment, the block selector 302 selects blocks for filtering only where all the coefficients in the block are in the range of -1 to 1.
  • the block selector 302 may use of a variety of other criteria to determine which blocks are filtered, and this range is just one example of a method that may be used.
  • the blocks that meet this first criterion for filtering are passed on to the cost calculator 304.
  • the cost calculator 304 determines and sums a cost value for all the coefficients in the block.
  • the cost calculator 304 is coupled to an output of the block selector 302, the cost table 306 and the cost comparator 308.
  • the cost is determined by looking it up in the cost table 306 for the coefficient.
  • the cost calculator 304 determines a cost for each non-zero coefficient value in the block.
  • the cost is related to the variable length coding, and is a value that is a function of the run length (number of successive zeros) following the zigzag scan order when coding pixel.
  • the table is programmable.
  • the cost for each nonzero coefficient value in the block are determined and the summed by the cost calculator 304. This value along with the coefficients for the block is then sent the cost comparator 308.
  • the cost comparator 308 compares the total costs for the block to a threshold.
  • the cost comparator 308 is coupled to a register 312 storing a threshold value, the cost calculator 304, the switch 312, and the coefficient filter 310.
  • the cost comparator 308 compares the total costs for the block as received from the cost calculator 304 to the threshold value stored in the register 312. If the total costs for the block are greater that the threshold, the coefficients are output by the cost comparator 308 unchanged and unfiltered. If the costs are greater than the threshold, the cost run is large and thus it is not likely that the coefficients represent noise, therefore they are not filtered. This effectively means that the filter does not filter out where there are many DCT low frequency components. By setting the threshold as desired, the user effectively has the ability or option not to filter.
  • the threshold values is preferably set using by testing on an exemplary video sample as will be understood by those skilled in the art.
  • the block is sent to the coefficient filter 310 where the block is filtered before being output to the switch 312.
  • the coefficient filter 310 has an input coupled to the cost comparator for receiving the coefficients for the block and an output for providing the filtered block.
  • the coefficient filter310 filters the signal by setting all the coefficients in the block to zero values (zero out the entire quantization matrix). Those skilled in the art will realize that there may be other method to filter the coefficients, such as by zeroing some or select ones of the coefficients to zero, all of which are include in the present invention.
  • the present invention is particularly advantageous because it reduces the bit rate without impacting the compressed video quality of the image.
  • step 402 by receiving input video data.
  • step 404 blocks of data with small coefficients are selected.
  • the method preferably selects blocks in which all the coefficients are in the range of 1 to -1 are selected.
  • step 406 the total costs for the coefficients in the selected block are determined. This total cost is then compared 408 to a threshold. If the total cost is greater that the threshold, the coefficients are output by the filter unchanged, however if the total cost is less than or equal to the threshold, all the coefficients for the block are set to zero and the output.
  • the process begins in step 502 when the filter 202 receives a first or next block of video data from the quantization unit 106. Then the values for all the coefficients in the block are determined 504. Then the method determines 506 whether all the coefficients for the block are within a predetermined range. For example, do all the coefficients for the block have values between 1 and -1? If not, the method outputs 508 the block without additional filtering, and the method continues in step 510 to determine if there are additional blocks to process. If there are additional blocks of video data to process the method returns to step 502 to begin processing them. If not the method is complete and ends.
  • step 506 determines that all the coefficients for the block are within a predetermined range, the block is eligible for filtering and the method continues in step 512.
  • the method selects a non-zero coefficient for the block and calculates the cost for the coefficient.
  • the cost is calculated by accessing a look up table for a value associated with the coefficient.
  • the cost is added to sum of costs, and then the method determines whether there are more coefficients 518 for which to calculate their costs. If so the method returns to step 512, and performs step 512, 514, 516 and 518 for non-zero coefficients.
  • the sum of costs, SUM is compared 520 to a preset threshold. If the sum is greater than the threshold, the SUM is reset 524 to zero, and the method continues in step 508 of Figure 5 A where the block of video data is output without filtering. If the sum is not greater than the threshold, the method resets 526 the SUM to zero, and the filters the block. More particularly, the method changes 528 all the coefficients for the block to zero, and then output 530 the block of video data with the changed coefficients. After step 530, the method returns to step 510 of Figure 5 A to determine if there are additional blocks to filter.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Picture Signal Circuits (AREA)

Abstract

A noise filter for a video processing system includes a block selector, a cost calculator, a cost table, a cost comparator, and a coefficient filter. The block selector is coupled to receive data from the quantization unit and selects blocks for additional filtering. The selected blocks are provided to the cost calculator determines a cost for each of the coefficients in the block using the cost table and the costs are summed. The cost comparator compares the total to a threshold, and filters the coefficients using the coefficient filter if the total is greater a preset threshold. The noise filter to the VLC unit then outputs the filter data.

Description

NOISE FILTER FOR VIDEO PROCESSING
INVENTORS: Weimin Zeng, Li-Sha Alpha and Ping Zhu
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Patent Application No.
60/568,892 filed on May 7, 2004, entitled " Video Processing System and Method, which is incorporated herein by reference.
BACKGROUND OF THE INVENTION
1. Field of the Invention
[0002] The present invention relates generally to video image processing, and more particularly, to a noise filter for use in video compression of images.
2. Background Art
[0003] With the advent of digital television and streaming media, a number of new techniques have been developed over the recent past to allow video images to be processed and compressed. Moreover, a number of standards have been developed such as those developed by the Moving Pictures Experts Group (MPEG) for coding audio-visual information in a digital compressed format. Various new standards such as MPEG-4 or Advanced Video Coding (AVC) H.264 have been recently developed or are being developed and provide additional parameters to define the processing of digital video data. Additionally, there are a number of different transformation types that are being used to process and compress video data.
[0004] One problem with existing approaches is that during the video processing noise is often introduced or added to the original signal. Figure 1 illustrates a conventional approach 100 to coding audio-visual information into a digital compressed format. A raw video signal is input on line 110 to a motion estimation unit 102 that generates the motion vectors that determine how each motion compensated prediction frame is created from the previous frame. Then a discrete cosine transform (DCT) unit 104 converts the signal into elementary frequency components. This separates the image into parts (or spectral sub-bands) of differing importance (with respect to the image's visual quality). Then quantization unit 106 processes the transformed vectors to produce indices representing the original image data on line 112. The quantization unit 106 takes an input vector and outputs the index of the codeword that offers the lowest distortion. In this case, the lowest distortion is found by evaluating the Euclidean distance between the input vector and each codeword in the codebook. Once the closest codeword is found, the index of that codeword is sent through a channel 112. The variable length coding (VLC) unit 108 receives the indices performs variable length coding to further compress the quantized image. The output of the VLC unit 108 is provide on line 114 and provided the compress image data. [0005] As can be seen from Figure 1, any one of the couplings between the motion estimation unit 102, DCT unit 104, quantization unit 106, VLC unit 108 or input line 110 can be areas where noise can be introduced into the video signal. Noise often occurs when the source video has background noise. This becomes problematic for a number of reasons. First, the addition of noise to the original signals produces effects on the video output that is displayed. For example, added noise may cause or add flicker to the video image. Second, the noise increased the computational resources required to process the image by introducing additional coefficients requiring additional bits during the encoding process.
[0006] Accordingly, there is a need for an improved video processing system that includes a noise filter to reduce the effects of background noise. More particularly there is a need for a noise filter that can modify the video signal between quantization and variable length coding such as under H.264.
SUMMARY OF THE INVENTION
[0007] The above needs are met by a system and method for filtering noise during the processing of video data. The noise filter of the present invention is preferably coupled between the quantization unit and the VLC unit. The noise filter preferably comprises a block selector, a cost calculator, a cost table, a cost comparator, and a coefficient filter. The block selector is coupled to receive data from the quantization unit and selects blocks for additional filtering. The selected blocks are provided to the cost calculator determines a cost for each of the coefficients in the block using the cost table and the costs are summed. The cost comparator compares the total to a threshold, and filters the coefficients using the coefficient filter if the total is less than a preset threshold. The noise filter to the VLC unit then outputs the filter data. The present invention includes a method for filtering a video signal. The method preferably comprises the steps of: selecting blocks with small coefficients, determining a total cost for the coefficients in the block, comparing to the total to a threshold and filtering the coefficients by setting them to zero if the total is less than a preset threshold.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Figure 1 is a block diagram of a video processing system according to the prior art.
[0009] Figure 2 is a block diagram of a video processing system including a noise filter according to an embodiment of the present invention.
[0010] Figure 3 is a block diagram of the noise filter according to one embodiment of the present invention.
[0011] Figure 4 is a flowchart of a first embodiment of a method for filtering noise according to the present invention.
[0012] Figures 5 A and 5B are a flowchart of second embodiment of the method for filtering noise according to the present invention.
DETAILED DESCRIPTION OF THE INVENTION
[0013] Referring now to Figure 2, an embodiment of the present invention in a video processing system 200 is shown. For convenience and ease of understanding like reference numbers are used to represent like components as compared with the prior art has been described above with reference to Figure 1. As shown in Figure 2, a system 200 according to the present invention preferably comprises a motion estimation unit 102, a DCT unit 104, a quantization unit 106, a noise filter 202 and a VLC unit 108. The motion estimation unit 102 is coupled to input line 110 to receive raw video data. The motion estimation unit 102, DCT unit 104, and quantization unit 106 are coupled in series and perform conventional functions as will be understood by those skilled in the art. In particular, the DCT unit covert the spatial image pixel values into transform coefficients. The quantization unit 106 takes those coefficients and coarsely quantizes the less significant coefficients. The quantization unit 106 has an output coupled to signal line 112. The input of the noise filter is coupled to signal line 112. The noise filter 202 advantageously filters and removes small values after quantization. The noise filter checks the quantized matrix and determines whether all the coefficients are in a predefined range. If within the range and a coefficient cost is below a threshold, the signal is filtered before it is output by noise filter 202 on signal line 204. The input of the VLC unit 108 is coupled to signal line 204 and receives the filtered signal. The VLC unit 108 performs a variable length coding in a conventional manner before outputting the compressed video data on signal line 114.
[0014] Referring now to Figure 3, the noise filter 202 of the present invention is shown in more detail. The noise filter 202 preferably comprises a block selector 302, a cost calculator 304, a cost table 306, a cost comparator 308, a coefficient filter 310, and a switch 312.
[0015] The present invention filters the signal on a block-by-block basis. The blocks are preferably 8 by 8 DCT pixel blocks. The block selector 302 is coupled to line 112 to receive data from the quantization unit 106 and selects blocks for additional filtering. The present invention advantageously has filtering criteria on multiple levels. First, the blocks are selected for filtering by the block selector 302 and whether the filter is applied to the block is determined, as will be described below, by and in reference to the cost comparator 308. In an exemplary embodiment, the block selector 302 selects blocks for filtering only where all the coefficients in the block are in the range of -1 to 1. In other words, if there is even a single coefficient in the block that is outside the range of-1 to 1, the block is not filtered and the coefficients are sent from the block selector 302 to the switch 312 for output on line 204 unfiltered. Noise typically results in small values for the coefficients after quantization. Therefore, this method for selecting blocks is effective at removing noise after quantization. Those skilled in the art will recognize that the block selector 302 may use of a variety of other criteria to determine which blocks are filtered, and this range is just one example of a method that may be used.
[0016] The blocks that meet this first criterion for filtering are passed on to the cost calculator 304. The cost calculator 304 determines and sums a cost value for all the coefficients in the block. The cost calculator 304 is coupled to an output of the block selector 302, the cost table 306 and the cost comparator 308. The cost is determined by looking it up in the cost table 306 for the coefficient. The cost calculator 304 determines a cost for each non-zero coefficient value in the block. In an exemplary embodiment, the cost is related to the variable length coding, and is a value that is a function of the run length (number of successive zeros) following the zigzag scan order when coding pixel. Those skilled in the art will recognize that various other methods may be used to calculate cost values so long as they are the related to the cost of variable length coding, and this is just one example of a method that may be used, hi the preferred embodiment, such cost are calculated for the coefficients and stored in the cost table 306. An exemplary table is const int g_MPEGCoef fCost [64] = {
2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1, 1,1, 1,1, 1,1, 1,0, 0,0, 0,0, 0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 };
Those skilled in the art will recognize that the table is programmable. The cost for each nonzero coefficient value in the block are determined and the summed by the cost calculator 304. This value along with the coefficients for the block is then sent the cost comparator 308.
[0017] The cost comparator 308 compares the total costs for the block to a threshold.
The cost comparator 308 is coupled to a register 312 storing a threshold value, the cost calculator 304, the switch 312, and the coefficient filter 310. The cost comparator 308 compares the total costs for the block as received from the cost calculator 304 to the threshold value stored in the register 312. If the total costs for the block are greater that the threshold, the coefficients are output by the cost comparator 308 unchanged and unfiltered. If the costs are greater than the threshold, the cost run is large and thus it is not likely that the coefficients represent noise, therefore they are not filtered. This effectively means that the filter does not filter out where there are many DCT low frequency components. By setting the threshold as desired, the user effectively has the ability or option not to filter. The threshold values is preferably set using by testing on an exemplary video sample as will be understood by those skilled in the art.
[0018] If the total costs for the block are not greater that the threshold, then the block is sent to the coefficient filter 310 where the block is filtered before being output to the switch 312. The coefficient filter 310 has an input coupled to the cost comparator for receiving the coefficients for the block and an output for providing the filtered block. In an embodiment, the coefficient filter310 filters the signal by setting all the coefficients in the block to zero values (zero out the entire quantization matrix). Those skilled in the art will realize that there may be other method to filter the coefficients, such as by zeroing some or select ones of the coefficients to zero, all of which are include in the present invention. If the total cost for the block is lower than the threshold, it is likely that the coefficients represent noise, and by making all the coefficients zero, you eliminate extra coefficients that require significant addition bits to code because they are not expected by a normal VLC. In other words, by eliminating the extra coefficients the coding efficiency for the VLC unit 108 is improved. The present invention is particularly advantageous because it reduces the bit rate without impacting the compressed video quality of the image.
[0019] Referring now to Figure 4, a first embodiment of the method for filtering according to the present invention will be described. The method begins in step 402 by receiving input video data. Then in step 404, blocks of data with small coefficients are selected. As noted above for the block selector 302, the method preferably selects blocks in which all the coefficients are in the range of 1 to -1 are selected. Next in step 406, the total costs for the coefficients in the selected block are determined. This total cost is then compared 408 to a threshold. If the total cost is greater that the threshold, the coefficients are output by the filter unchanged, however if the total cost is less than or equal to the threshold, all the coefficients for the block are set to zero and the output.
[0020] Referring now to Figures 5 A and 5B, a second embodiment for filtering according to the present invention will be described. As shown in Figure 5 A, the process begins in step 502 when the filter 202 receives a first or next block of video data from the quantization unit 106. Then the values for all the coefficients in the block are determined 504. Then the method determines 506 whether all the coefficients for the block are within a predetermined range. For example, do all the coefficients for the block have values between 1 and -1? If not, the method outputs 508 the block without additional filtering, and the method continues in step 510 to determine if there are additional blocks to process. If there are additional blocks of video data to process the method returns to step 502 to begin processing them. If not the method is complete and ends.
[0021] As shown in Figure 5B, if at step 506, the method determines that all the coefficients for the block are within a predetermined range, the block is eligible for filtering and the method continues in step 512. The method selects a non-zero coefficient for the block and calculates the cost for the coefficient. The cost is calculated by accessing a look up table for a value associated with the coefficient. The cost is added to sum of costs, and then the method determines whether there are more coefficients 518 for which to calculate their costs. If so the method returns to step 512, and performs step 512, 514, 516 and 518 for non-zero coefficients. If there are no more non-zero coefficients, then the sum of costs, SUM, is compared 520 to a preset threshold. If the sum is greater than the threshold, the SUM is reset 524 to zero, and the method continues in step 508 of Figure 5 A where the block of video data is output without filtering. If the sum is not greater than the threshold, the method resets 526 the SUM to zero, and the filters the block. More particularly, the method changes 528 all the coefficients for the block to zero, and then output 530 the block of video data with the changed coefficients. After step 530, the method returns to step 510 of Figure 5 A to determine if there are additional blocks to filter.
[0022] The above description is included to illustrate the operation of the preferred embodiments and is not meant to limit the scope of the invention. The scope of the invention is to be limited by only the following claims. From the above discussion, many variations will be apparent to one skilled in the relevant art that would yet to be encompassed by the spirit and scope of the invention.

Claims

WHAT IS CLAIMED IS:
1. A method for filtering noise from a video signal, the method comprising the steps of: receiving a plurality of blocks of video data; selecting a block for filtering; determining a total cost for the selected block; determining whether the total cost is greater than a predefined threshold; and filtering the selected block if the total cost is not greater than the predefined threshold.
2. The method of claim 1 wherein the step of selecting comprises selecting the block if coefficients for the block are small.
3. The method of claim 1 wherein step of selecting comprises the step of: determining a value for a coefficient in the block; determining whether the value of the coefficient is within a range; and selecting the block if the coefficient is within the range.
4. The method of claim 3 wherein the range is between 1 and -1.
5. The method of claim 3 wherein step of determining the value for the coefficient in the block, determines the values of a plurality of coefficients in the block and wherein the block is selected if all the values are within the range.
6. The method of claim 3 wherein step of determining the total cost for the selected block further comprises the steps of: calculating a cost for a first coefficient in the block; calculating a cost for a second coefficient in the block; summing the cost for the first coefficient with the cost for the second coefficient for a total cost.
7. The method of claim 1 wherein the cost is related to a cost for variable length coding the coefficient.
8. The method of claim 1 wherein the cost is a value that is a function of the run length (number of successive zeros) between coefficients.
9. The method of claim 6 wherein the step of calculating the cost comprises retrieving from a table a value associated with a coefficient.
10. The method of claim 1 wherein the step of filtering the selected block comprises changing at least one non-zero coefficient to zero.
11. The method of claim 1 wherein the step of filtering the selected block comprises changing a plurality of non-zero coefficients to zero.
12. The method of claim 1 wherein the step of filtering the selected block comprises changing all non-zero coefficients to zero.
13. A filter for video data comprising: a block selector for selecting blocks for filtering, the block selector having an input and an output, the input of the block selector coupled to receive video data; a cost calculator having an input and an output for determining a total cost for a block of video data, the cost calculator having an input coupled to the output of the block selector; a coefficient filter having an input and an output, for filtering the video data signal, the input of the coefficient filter coupled to the output of the cost calculator, and the output of the coefficient filter providing filtered video data.
14. The filter of claim 13 wherein the block selector selects blocks for filtering that if the block has small coefficients.
15. The filter of claim 13 wherein the block selector selects blocks for filtering that if the block has coefficients that are in a range of 1 to -1.
16. The filter of claim 13, wherein the cost calculator includes a cost table having a plurality of coefficient values and associated cost values, the cost table coupled to the cost calculator.
17. The filter of claim 13 wherein the cost calculator generates a cost value that is related to the cost of variable length coding the coefficient.
18. The filter of claim 13 wherein the cost calculator generates a cost value that is a function of the run length (number of successive zeros) between coefficients.
19. The filter of claim 13 further comprising a cost comparator having a first input, a second input and an output, the cost comparator for comparing a cost value to a predefined threshold and filtering if the cost value is less than the threshold, the first input of the cost comparator coupled to the output of the cost calculator, the second input of the cost comparator coupled to receive the threshold value and the output of the cost comparator coupled to the input of the coefficient filter.
20. The filter of claim 13 further comprising a switch having a plurality of inputs and an output for selecting an output from the plurality of inputs, a first input of the switch coupled to the output of the block selector, a second input of the switch coupled to the output of the cost calculator and third input of the switch coupled to the output of the coefficient filter.
21. The filter of claim 13 wherein the coefficient filter filters the video data by changing a least one coefficient value to zero.
22. The filter of claim 13 wherein the coefficient filter filters the video data by changing a plurality of coefficient values to zero.
23. The filter of claim 13 wherein the coefficient filter filters the video data by changing all the non-zero coefficient values to zero.
PCT/US2005/015402 2004-05-07 2005-05-03 Noise filter for video processing WO2005112434A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP05744585A EP1792477A4 (en) 2004-05-07 2005-05-03 Noise filter for video processing
JP2007511525A JP2008507161A (en) 2004-05-07 2005-05-03 Noise filter for video processing

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US56889204P 2004-05-07 2004-05-07
US60/568,892 2004-05-07
US10/959,333 US7366238B2 (en) 2004-05-07 2004-10-05 Noise filter for video processing
US10/959,333 2004-10-05

Publications (2)

Publication Number Publication Date
WO2005112434A2 true WO2005112434A2 (en) 2005-11-24
WO2005112434A3 WO2005112434A3 (en) 2007-09-27

Family

ID=35239431

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/015402 WO2005112434A2 (en) 2004-05-07 2005-05-03 Noise filter for video processing

Country Status (4)

Country Link
US (1) US7366238B2 (en)
EP (1) EP1792477A4 (en)
JP (1) JP2008507161A (en)
WO (1) WO2005112434A2 (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8081830B2 (en) * 2005-01-11 2011-12-20 Hewlett-Packard Development Company, L.P. Enhancement of digital images
US7672518B2 (en) * 2005-03-29 2010-03-02 Eastman Kodak Company Use of frequency transform in the analysis of image sensors
US7672519B2 (en) * 2005-03-29 2010-03-02 Eastman Kodak Company Use of frequency transforms in the analysis of image sensors
US8446964B2 (en) * 2005-07-18 2013-05-21 Broadcom Corporation Method and system for noise reduction with a motion compensated temporal filter
US7865030B2 (en) * 2006-09-13 2011-01-04 Broadcom Corporation Method and system for motion compensated temporal filtering using both FIR and IIR filtering
US8271566B2 (en) * 2007-08-29 2012-09-18 International Business Machines Corporation Apparatus and method for time-series storage with compression accuracy as a function of time
US8743954B1 (en) * 2008-02-01 2014-06-03 Zenverge, Inc. Architecture for adjusting bit rate based on measured quality
US8761253B2 (en) * 2008-05-28 2014-06-24 Nvidia Corporation Intra prediction mode search scheme
CN102273080A (en) * 2008-12-03 2011-12-07 诺基亚公司 Switching between DCT coefficient coding modes
US8831099B2 (en) * 2008-12-17 2014-09-09 Nvidia Corporation Selecting a macroblock encoding mode by using raw data to compute intra cost
US20100158105A1 (en) * 2008-12-19 2010-06-24 Nvidia Corporation Post-processing encoding system and method
US9432674B2 (en) 2009-02-02 2016-08-30 Nvidia Corporation Dual stage intra-prediction video encoding system and method
US9819966B2 (en) 2010-09-01 2017-11-14 Qualcomm Incorporated Filter description signaling for multi-filter adaptive filtering
US9247265B2 (en) * 2010-09-01 2016-01-26 Qualcomm Incorporated Multi-input adaptive filter based on combination of sum-modified Laplacian filter indexing and quadtree partitioning
US9432696B2 (en) * 2014-03-17 2016-08-30 Qualcomm Incorporated Systems and methods for low complexity forward transforms using zeroed-out coefficients
WO2023058254A1 (en) * 2021-10-06 2023-04-13 日本電気株式会社 Video encoding device, method, and program

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5294974A (en) * 1992-07-24 1994-03-15 Matsushita Electric Corporation Of America High-definition video encoding system having color-sensitive quantization
US5590064A (en) * 1994-10-26 1996-12-31 Intel Corporation Post-filtering for decoded video signals
US5880767A (en) * 1996-09-11 1999-03-09 Hewlett-Packard Company Perceptual image resolution enhancement system
US6005626A (en) * 1997-01-09 1999-12-21 Sun Microsystems, Inc. Digital video signal encoder and encoding method
US6188799B1 (en) * 1997-02-07 2001-02-13 Matsushita Electric Industrial Co., Ltd. Method and apparatus for removing noise in still and moving pictures
KR100281099B1 (en) * 1997-07-30 2001-04-02 구자홍 Method for removing block phenomenon presented by cording of moving picture
US7391812B2 (en) * 2002-07-14 2008-06-24 Apple Inc. Adaptively post filtering encoded video

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of EP1792477A4 *

Also Published As

Publication number Publication date
EP1792477A2 (en) 2007-06-06
US20050249293A1 (en) 2005-11-10
US7366238B2 (en) 2008-04-29
JP2008507161A (en) 2008-03-06
WO2005112434A3 (en) 2007-09-27
EP1792477A4 (en) 2009-09-16

Similar Documents

Publication Publication Date Title
EP1792477A2 (en) Noise filter for video processing
RU2702052C1 (en) Image encoding device, image decoding device, image encoding method and image decoding method
Furht et al. Motion estimation algorithms for video compression
EP1805994B1 (en) Deblocking filter
KR20130056190A (en) Methods and devices for encoding and decoding transform domain filters
JPWO2008084745A1 (en) Image coding apparatus and image decoding apparatus
KR19980076488A (en) Block based image processing method and apparatus
EP1143738A2 (en) DCT domain down conversion system that compensates for IDCT mismatch
US20050286628A1 (en) Human visual system (HVS) filter in a discrete cosine transformator (DCT)
JP6857973B2 (en) Image coding device and its control method
KR100229796B1 (en) Image decoding system including compensation at detoriorate image
US9264736B2 (en) Encoding method, decoding method, encoding device, and decoding device
US20230133895A1 (en) Image encoding apparatus and method for controlling the same and non-transitory computer-readable storage medium
WO1996005701A1 (en) Spatially adaptive blur filter
JPH07143483A (en) Adaptive post-processing filter
Miklós et al. Influence of block size on JPEG compression performance
EP1351517A2 (en) Data compression for multi-generation images
KR100229795B1 (en) Improved image decoding system
JPH06188742A (en) Conversion encoding and decoding device
CN117561713A (en) Data encoding and decoding
EP4364422A1 (en) Encoding resolution control
EP1351507A1 (en) Reduction of signal degradation in repetitive video coding
US8929433B2 (en) Systems, methods, and apparatus for improving display of compressed video data
GB2401739A (en) Data compression
JPH0522711A (en) Encoder

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2007511525

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 2005744585

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2005744585

Country of ref document: EP