Method and apparatus for removing blocking effects in a motion picture decoder
Abstract
Methods and apparatus for removing blocking effect in a motion picture decoder. Boundary pixel values of a current block and corresponding adjacent block are extracted. A mean value for the resulting difference values between the extracted pixel values of the current and adjacent blocks is calculated. The calculated mean value is limited between - 12 and 12 quantization step size. The limited mean value is added to the each pixel values of the current block to generate a resulting output. In another aspect, absolute values for the resulting difference values between extracted pixel values of the current and adjacent block is calculated. The calculated absolute values are compared with the respective difference values and threshold level to determine whether the current block contains an edge. The current block without the edge is selected, filtered, and outputted, in which the blocking effect due to a quantization error is removed without having distortion to the original data.

Term
Term ended
Projected expiry passed 13 May 2017, 9.4 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
5 claims: 2 independent, 3 dependent
- 1A method for removing blocking effect in a motion picture decoder comprising the steps of:a) extracting boundary pixel values of a current block and each adjacent block to said current block, which exist between boundaries of said current block and said each adj acent block;b) calculating absolute values for difference values between boundary pixel values of said current block and boundary pixel values of said each adjacent block;c) detecting whether a boundary of said current block contains an edge or not, by comparing the difference values, the absolute values, and a threshold level;and d) extracting corrected pixel values by filtering one pixel value of boundary pixels of said current block and a plurality of upper and lower pixels referencing said boundary pixel value as a center if the boundary of said current block does not have an edge, whereas extracting directly boundary pixel values of said current block if the boundary of said current block has an edge.
- 3An apparatus for removing blocking effect in a motion picture decoder comprising:a) a frame memory for receiving and storing decoded image signals in frame units and a corrected feedback current block;b) a current block boundary pixel extracting means for extracting sequentially boundary pixel values of a current block stored in the frame memory;c) an adjacent block boundary extracting means for extracting sequentially boundary pixel values of adjacent blocks to said current block stored in the frame memory;d) an edge detecting means for outputting a first selection signal if the current block does not contain an edge, whereas outputting a second selection signal if said current block contain an edge after receiving pixel values of said current block and boundary pixel values of an adjacent block;e) a boundary pixel extracting means for extracting and outputting in parallel a pixel value and a plurality of upper and lower pixels referencing said pixel value as a center according to an output order of boundary pixel values of said current block from said frame memory;f) a selecting means for inputting pixel values from said boundary pixel extracting means to a boundary pixel filtering means according to the first selection signal, and inputting directly pixel values from said boundary pixel extracting means to said frame memory according to the second selection signal;and g) a boundary pixel filtering means for filtering pixel values form said selecting means and feeding back corrected boundary pixel values to said frame memory.
Independent claims2
43 paragraphs, as filed
The present invention relates to methods and apparatuses for removing blocking effect caused by quantization error in a motion picture decoder.
In general, the amount of data associated with visual information is so large that its storage would require enormous storage capacity. Although the capacities of utilizing several storage media are substantial, the access speeds are usually inversely proportional to the capacity. Storage and transmission of such data require large capacity and bandwidth. To eliminate the need for large storage capacity, there is an image data compression technique, which reduces the number of bits required to store or transmit image without any appreciable loss of data.
The image data compression removes redundancies contained in image signals. The redundancies comprises a spectral redundancy among colors, a temporal redundancy between successive screens, a spatial redundancy between adjacent pixels within the screen, and a statistical redundancy. Here, a method of image coding for removing the spatial redundancy is transform coding, which divides original input images into small size blocks and processes them individually.
In the transmitter, each blocks of original image is converted by the transform coding and transform coefficients are generated. The transform coefficients are quantized and transmitted to the receiver. In the receiver, the transform coefficients are inverse quantized and converted so that each blocks of original image is regenerated.
Fig. 1 shows a block diagram of a conventional digital motion picture coder/decoder, which is widely used in image processing system such as a High Definition Television (HDTV).
In Fig. 1, the motion picture coder comprises a differential image generator (DIG), a discrete cosine transform unit (DCT unit), a quantizer (Q), a variable length coding unit (VLC unit), an inverse quantizer (IQ), an inverse discrete cosine transform unit (IDCT unit), an adder (ADD), a frame memory, a motion estimator, and a motion compensator.
In DIG, a current image and a predicted image are inputted, and a differential image is generated. The generated differential image is outputted to the DCT unit to be divided into blocks. The DCT unit processes every block into DCT coefficients. The DCT coefficients are then quantized according to a quantization step size in the quantizer. The quantized coefficients are coded according to the Huffman Table in the VLC unit. The quantized coded coefficients are then transmitted to the channel.
The predicted image inputted to the DIG is obtained as following. First, quantized DCT coefficients from the quantizer are quantized inversely in the inverse quantizer. The inverse quantized DCT coefficients are converted to image data in the IDCT. The converted image data are inputted to the adder. In the adder, original images are regenerated by using the transformed image data and previous image data from the motion compensator. The regenerated images from the adder are stored in the frame memory. From the frame memory, the previous images are outputted by delaying them in frame units. In the motion estimator, the previous image signals from the frame memory and the current image signals are compared for difference between the two frames, and a motion vector is generated. In the motion compensator, the predicted image having a pixel value similar to the current frame is outputted by shifting the previous image signal outputted from the frame memory as much as the motion vector.
In the motion picture coder like the above, intra-mode frames are coded and transmitted. However, in the case of inter-mode frames, differential signals obtained through the motion estimation and the motion compensation should be coded and transmitted in order to decrease the transmission rate. To solve the above problem, a switch is disposed between the DIG and the motion compensator. Accordingly, the switch is opened when the intra-frames are inputted, and the switch is closed when the interframes are inputted.
The motion picture decoder comprises a variable length decoding unit (VLD unit), an inverse quantizer, an inverse discrete cosine transform unit (IDCT unit), an adder, a frame memory, and a motion compensator.
In the motion picture decoder, the input image signals are decoded by the VLD unit. The decoded signals are then quantized inversely by the inverse quantizer. The inverse quantized image data are converted inversely by the IDCT unit to be outputted to the adder. The image data from the adder are stored and delayed in the frame memory. The consequent stored delayed data from the frame memory are outputted to the motion compensator in order to be compensated with reference to the previous images. The compensated signals are then outputted to the adder.
The intra-mode frames and inter-mode frames are regenerated according to the switch disposed between the adder and motion compensator. Namely, in case of the intra-mode frames, the output data from the IDCT unit are directly outputted to the adder. However, in case of the inter-mode frames, the output data from the IDCT are added to the previous image data from the motion compensator and the resulting data are transmitted to the adder to regenerate a current image signal.
In the decoded digital images like the above, blocking effect occurs near to discontinuous boundary between blocks. The occurrence of this blocking effect is generated during the transform coding process of the divided blocks of digital images. Further, when the quantization step size is expanded during quantization, the quantization error increases and the blocking effect in the discontinuous boundary between blocks becomes even more apparent.
In view of the foregoing, it is an object of the present invention to provide methods and apparatuses for removing blocking effect due to a quantization error in a motion picture decoder having loss to the original image data.
In order to achieve the above object, the present invention provides a method for removing blocking effect in a motion picture decoder comprising the steps of extracting boundary pixel values of a current block; extracting boundary pixel values of each adjacent block; extracting difference values between boundary pixel values of the current block and boundary pixel values of each adjacent block; calculating the mean value for the difference values; limiting the mean value between - <maths id="math0001" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>2</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0001.tif" /></maths> quantization step size and <maths id="math0002" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>2</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0002.tif" /></maths> quantization step size; and adding the limited mean value to each pixel value of the current block to output an image.
In addition, an apparatus for removing blocking effect in the motion picture decoder of the present invention comprises a frame memory for simultaneously receiving and storing decoded image signals in frame units and a corrected feedback current block with removed blocking effect; a current block boundary pixel extracting means for extracting boundary pixel values of the current block of frames stored in the frame memory; an adjacent block boundary pixel extracting means for extracting boundary pixel values of adjacent blocks of frames stored in the frame memory; a mean value calculating means for calculating difference values between boundary pixel values of the current block and of the adjacent blocks, and a mean value of the difference values; a mean value limiting means for limiting the mean value between - <maths id="math0003" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>2</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0003.tif" /></maths> quantization step size and <maths id="math0004" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>2</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0004.tif" /></maths> quantization step size, and outputting the limited mean value; a current block extracting means for extracting current block of frames stored in the frame memory and outputting pixel values of the current block; and an adding means for adding the mean value from the mean value limiting means to each pixel value of the current block from the current block extracting means, outputting the corrected current block, and feeding back the corrected current block to the frame memory.
In another aspect, the present invention provides a method for removing blocking effect in a motion picture decoder comprising steps of extracting boundary pixel values within a current block and each adjacent block; calculating absolute values for difference values between boundary pixel values of the current block and boundary pixel values of each adjacent block; detecting whether a boundary of the current block is an edge or not, by comparing the difference values, the absolute values, and a threshold level to each other; and extracting corrected pixel values by filtering one pixel value of boundary pixels of the current block and a plurality of upper and lower pixels referencing the boundary pixel of the current block as a center if the boundary pixel values of the current block is uniform (not an edge), otherwise extracting directly boundary pixel values of the current block if the boundary pixel values of the current block is not uniform (an edge).
In still another aspect, the present invention provides an apparatus for removing blocking effect comprising a frame memory for receiving and storing decoded image signals in frame units and a corrected feedback current block with removed blocking effect; a current block boundary pixel extracting means for extracting sequentially boundary pixel values of the current block stored in the frame memory; an adjacent block boundary extracting means for extracting sequentially boundary pixel values of adjacent blocks stored in the frame memory; an edge detecting means for outputting a first selection signal if the boundary pixel values of the current block are not an edge, whereas outputting a second selection signal if the boundary pixel values of the current block are an edge after receiving pixel values of the current block and boundary pixel values of an adjacent block; an input pixel extracting means for outputting in parallel a boundary pixel value of the current block and a plurality of upper and lower pixel values referencing the boundary pixel value of current block as a center in accordance with an output order of boundary pixel values of the current block from the frame memory; a selecting means for inputting pixel values from the input pixel extracting means to a boundary pixel filtering means according to the first selection signal, and inputting directly pixel values from the input pixel extracting means to the frame memory according to the second selection signal; and a boundary pixel filtering means for feeding back corrected boundary pixel values to the frame memory by filtering the output pixel values from the selecting means.
The above and other objects, features, and advantages of the present invention will be apparent from the following detailed description of the preferred embodiments of the invention in conjunction with the accompanying drawings, in which: <ul id="ul0001" list-style="none" compact="compact"><li>Fig. 1 is a block diagram illustrating a conventional motion picture coder and decoder;</li><li>Figs. 2A to 2D are views illustrating loss of an information due to a quantization error;</li><li>Fig. 3 is a block diagram illustrating a motion picture decoder comprising an apparatus for removing blocking effect in accordance with the present invention;</li><li>Fig. 4 is a block diagram illustrating an apparatus for removing blocking effect in accordance with a first preferred embodiment of the present invention;</li><li>Fig. 5 is a view illustrating transformed 8 × 8 pixels of current block and upper, lower, left, right adj acent blocks;</li><li>Fig. 6 is a block diagram illustrating an apparatus for removing blocking effect in accordance with a second preferred embodiment of the present invention; and</li><li>Fig. 7 is a view illustrating a plurality of pixel extracted from boundary pixels of a current block for describing an operation of an input pixel extractor in Fig. 6.</li></ul>
Reference will now be made in detail to the present invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
Figs. 2A to 2D show a process of an information loss due to a quantization error. When a DCT coefficient is quantized according to a quantization step size, the quantized DCT coefficient is expressed by QF= [<maths id="math0005" num=""><math display="inline"><mrow><mfrac linethickness="0"><mrow><mtext mathvariant="italic">F</mtext></mrow><mrow><mtext mathvariant="italic">step</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0005.tif" /></maths> + <maths id="math0006" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>2</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0006.tif" /></maths> ] ( [ ] : Gaussian symbol ). For example, in Fig. 2B, the quantized DCT coefficient value is QF=1, if the range of the DCT coefficient F is <maths id="math0007" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>2</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0007.tif" /></maths> × step ≤ F < <maths id="math0008" num=""><math display="inline"><mrow><mfrac><mrow><mtext>3</mtext></mrow><mrow><mtext>2</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0008.tif" /></maths> × step. As shown in Fig.2D, the inversely quantized coefficient value F' is determined by expression F'=1 × step when the above quantized coefficient value QF=1 is quantized inversely. Accordingly, the difference (| F-F' | ) ) between the original DCT coefficient value F and the inversely quantized DCT coefficient F' may be <maths id="math0009" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>2</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0009.tif" /></maths> × step at its maximum. Namely, the quantization error that which cause the blocking effect in the digital image falls within 0 ≤ |F-F' |≤ <maths id="math0010" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>2</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0010.tif" /></maths> × step.
Fig. 3 shows a motion picture decoder comprising an apparatus for removing blocking effect 36 of the present invention, which is connected to an end portion of the decoder in Fig. 1. Decoded image signals and a quantized step size information are inputted into the apparatus for removing blocking effect 36 such that blocking effects in the image signals are removed and the corrected image signals are outputted.
Fig. 4 shows a first embodiment of the apparatus for removing blocking effect <b>36</b>. The apparatus for removing blocking effect <b>36</b> comprises a frame memory <b>40</b>; a current block boundary pixel extractor <b>41</b>; a adjacent block boundary pixel extractor <b>42</b>; a mean value calculator <b>43</b>; a mean value limiter <b>44</b>; a current block extractor <b>45</b>; and an adder <b>46.</b> The mean value limiter <b>44</b> comprises a multiply 44-1 for multiplying quantized step size by <maths id="math0011" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>2</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0011.tif" /></maths> ; a selector <b>44-2</b> for selecting and outputting a minimum <b>MIN;</b> a multiply <b>44-3</b> for multiplying the quantized step size by - <maths id="math0012" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>2</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0012.tif" /></maths>; and a selector <b>44-4</b> for selecting and outputting a maximum <b>MAX.</b>
Fig. 5 shows 8 × 8 pixel current block, adjacent upper, lower, left, and right blocks and boundary pixels between each block. Here, the current block for removal of blocking effect is illustrated. The boundary pixels <b>a</b><sub><b>0</b></sub><b>-a</b><sub><b>7</b></sub> of the current block correspond to the boundary pixels <b>A</b><sub><b>0</b></sub><b>-A</b><sub><b>7</b></sub> of the upper adjacent block <b>A</b>. The boundary pixels <b>b</b><sub><b>0</b></sub><b>-b</b><sub><b>7</b></sub> of the current block correspond to the boundary pixels <b>B</b><sub><b>0</b></sub><b>-B</b><sub><b>7</b></sub> of the left adjacent block <b>B.</b> The boundary pixels <b>c</b><sub><b>0</b></sub><b>-c</b><sub><b>7</b></sub> of the current block correspond to the boundary pixels <b>C</b><sub><b>0</b></sub><b>-C</b><sub><b>7</b></sub> of the lower adjacent block <b>C.</b> The boundary pixels <b>d</b><sub><b>0</b></sub><b>-d</b><sub><b>7</b></sub> of the current block correspond to the boundary pixels <b>D</b><sub><b>0</b></sub><b>-D</b><sub><b>7</b></sub> of the right adjacent block <b>D.</b>
In Fig. 4, the decoded image signals are inputted and stored in the frame memory <b>40</b> in frame units. In the current block boundary pixel extractor <b>41</b>, boundary pixels values of the current block, which lies between the current block and the adjacent blocks are extracted from the frame memory <b>40.</b> Namely, 32 boundary pixel values <b>a</b><sub><b>0</b></sub><b>-a</b><sub><b>7</b></sub><b>, b</b><sub><b>0</b></sub><b>-b</b><sub><b>7</b></sub><b>, c</b><sub><b>0</b></sub><b>-c</b><sub><b>7</b></sub><b>, d</b><sub><b>0</b></sub><b>-d</b><sub><b>7</b></sub> are outputted sequentially from the current block boundary pixel extractor <b>41.</b>
In addition, by the adjacent block boundary pixel extractor <b>42,</b> boundary pixels values <b>m</b> of the adjacent blocks, which lies between the current block and the adjacent blocks are extracted from the frame memory <b>40.</b> Namely, 32 boundary pixel values <b>A</b><sub><b>0</b></sub><b>-A</b><sub><b>7</b></sub><b>, B</b><sub><b>0</b></sub><b>-B</b><sub><b>7</b></sub><b>, C</b><sub><b>0</b></sub><b>-C</b><sub><b>7</b></sub><b>, D</b><sub><b>0</b></sub><b>-D</b><sub><b>7</b></sub> are outputted sequentially from the adjacent block boundary pixel extractor <b>42.</b>
In the mean value calculator <b>43,</b> the pixel values of the current block and the pixel values <b>m</b> of the adjacent blocks are sequentially inputted. Each difference value -<b>m</b> between the inputted pixel values is calculated by the mean value calculator <b>43.</b> Further, a mean value for each difference value is calculated and ouputted from the mean value calculator <b>43.</b> The mean value is obtained by the following expression.<maths id="math0013" num=""><img file="EP1469680A2_D0013.tif" /></maths>
The above equation 1 is applied when there are 4 adjacent blocks. However, when there are 2 or 3 adjacent blocks, the mean value is obtained by dividing all the added boundary pixel values by 24 or 16 respectively.
In the mean value limiter <b>44,</b> the mean value and a quantization step size are inputted. The inputted mean value is limited between the miflimum - <maths id="math0014" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>2</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0014.tif" /></maths> × step and maximum <maths id="math0015" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>2</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0015.tif" /></maths> × step by the mean value limiter <b>44,</b> and the limited mean value <b>LIM</b> is outputted. Namely, in the minimum selector <b>44-2,</b> the mean value is compared to maximum <maths id="math0016" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>2</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0016.tif" /></maths> × step to select a smaller value. In the maximum selector <b>44-4,</b> the smaller value obtained from the minimum selector <b>44-2</b> is compared to the minimum - <maths id="math0017" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>2</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0017.tif" /></maths> X step to select a bigger value. The limited mean value <b>LIM</b> from the maximum selector <b>44-4</b> is outputted to the adder <b>46</b>.
In the current block extractor <b>45,</b> the current block is extracted from the frame memory <b>40</b>. 64 pixel values of the extracted current block are sequentially outputted to the adder <b>46.</b>
In the adder <b>46</b>, the limited mean value <b>LIM</b> from the mean value limiter <b>44</b> is added to each pixel value of the current block outputted from the current block extractor <b>45.</b> The added and corrected current block is inputted into a display processor (not shown). In addition, the corrected current block is fed back to the frame memory <b>40.</b> In the frame memory <b>40</b>, the stored current block is replaced with the corrected currect block from the adder <b>46</b>. This corrected current block is used for removal of blocking effect in the next block.
Another method for calculating the mean value utilizes a threshold level <b>TH. TH</b> prevents a damage in edges of original image during the removal process of blocking effect. To obtain the mean value <b>M</b>, the threshold level is determined and an absolute value from the difference value between boundary pixels smaller than the threshold value is selected. For example, when a 256 level image is coded/decoded, the threshold value is obtained as the following. A range of quantization error falls within -4 to 4 when the quantization step size 8 is utilized, and a range of the absolute difference between boundaries of blocks can be predicted to be 0 to 8. Further, a mean absolute difference between the block boundary is determined to be 4 if the quantization error is an uniform distribution. Accordingly, the threshold level greater than 4 is selected since the threshold value must be greater than the differences of the boundary pixel values. Namely, when the determined threshold level is 4 and the absolute value | <sub>i</sub>- <b>m</b><sub>i</sub> | of differences between the boundary pixel values of less than or equal to 4 is selected to yield a mean value <b>M</b>. At this time, the mean value <b>M</b> is obtained by the following expression.<maths id="math0018" num=""><math display="block"><mrow><mtext>Equation 2.</mtext><mspace linebreak="newline" /><mtext> if( </mtext><mfenced open="|" close="|"><mrow><msub><mrow><mtext></mtext></mrow><mrow><mtext>i</mtext></mrow></msub><mtext>-mi</mtext></mrow></mfenced><msub><mrow><mtext> ≤ TH) {S=S+( </mtext></mrow><mrow><mtext>i</mtext></mrow></msub><msub><mrow><mtext>-m</mtext></mrow><mrow><mtext>i</mtext></mrow></msub><mtext> ) C=C+1}</mtext><mspace linebreak="newline" /><mtext>M = </mtext><mfrac><mrow><mtext mathvariant="italic">S</mtext></mrow><mrow><mtext mathvariant="italic">C</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0018.tif" /></maths> (S and C are initialized to "0" at each block)
The obtained mean value is inputted into the mean value limiter <b>44</b> for limiting the mean value within the range of quantization error.
Fig. 6 shows a second embodiment of the apparatus for removing blocking effect. When there is a drastic difference between the boundary pixel values of the current block and the boundary pixel values of the adjacent blocks, the difference is attributed by either quantization error, which is occurred during transform coding or non-uniform (containing edge) current block. It is not desirable to indiscriminately utilize blocking effect removal process in existence of this difference, since the current block containing an edge would be distorted by the process. The second embodiment of the apparatus for removing blocking effect provides system for differentiating non-uniform block form uniform block to selectively remove blocking effect caused by the quantization error. The apparatus for blocking effect comprises a frame memory <b>60</b>, a current block boundary pixel extractor <b>61</b>, an adjacent block boundary pixel extractor <b>62,</b> an edge detector <b>63,</b> a boundary pixel extractor <b>64,</b> a selector <b>65</b>, and a boundary pixel filter <b>66.</b>
In the frame memory <b>60</b>, the decoded image signals are stored in frame units. The stored pixel values in the frame memory <b>60</b> are corrected by boundary pixel values of the feedback current block. When corresponding blocks are corrected, the corrected frame is outputted from the frame memory <b>60</b> to a display processor (not shown).
A role and an operation of the current block boundary pixel extractor <b>61</b> and the adjacent block boundary pixel extractor <b>62</b> are same as the current block boundary pixel extractor <b>41</b> and the adjacent block boundary pixel extractor <b>42</b> of the first preferred embodiment.
In the edge detector <b>63,</b> boundary pixel values of the current block boundary and boundary pixel values <b>m</b> adjacent blocks are inputted. According to the quantization step size, a first selection signal is outputted if the boundary of the current block is uniform (not an edge), whereas a second selection signal is outputted if the boundary of the current block is not uniform (an edge). After extracting absolute difference values between the boundary pixel values of the current block and the boundary pixel values of the adjacent blocks, an edge is detected by the edge detector <b>63</b>, if all the absolute difference values are less than equal to the threshold level, the edge detector 63 determines that the current block is uniform (edge free) and the removal of the blocking effect is needed. If the absolute difference value is greater than the threshold value, the current block is determined to be non-uniform (containing edge) and the removal of the blocking effect is not needed.
For example, as in Fig. 3, consider that there are 4 adjacent blocks to the current block and the threshold level is 4. In the edge detector <b>63,</b> 32 boundary pixel values <b>I</b><sub><b>i</b></sub><b>, a</b><sub><b>0</b></sub><b>-a</b><sub><b>7</b></sub><b>, b</b><sub><b>0</b></sub><b>-b</b><sub><b>7</b></sub><b>, c</b><sub><b>0</b></sub><b>-c</b><sub><b>7</b></sub><b>, d</b><sub><b>0</b></sub><b>-d</b><sub><b>7</b></sub> are inputted sequentially from the current block boundary pixel extractor <b>61</b>. In addition, in the edge detector <b>63</b>, 32 boundary pixel values <b>m</b><sub><b>i</b></sub><b>, A</b><sub><b>0</b></sub><b>-A</b><sub><b>7</b></sub><b>, Bo-B</b><sub><b>7</b></sub><b>, C</b><sub><b>0</b></sub><b>-C</b><sub><b>7</b></sub><b>, D</b><sub><b>0</b></sub><b>-D</b><sub><b>7</b></sub> are inputted sequentially from the adjacent block boundary pixel extractor <b>62.</b> The absolute difference values | <sub>i</sub> - <b>m</b><sub><b>i</b></sub> | between each inputted pixel is obtained by the edge detector <b>63.</b> After comparing 32 absolute difference values to the threshold level respectively, the first selection signal is outputted when each of 32 absolute difference values is | <sub><b>i</b></sub><b> - m</b><sub><b>i</b></sub> | ≤ 4, whereas the second selection signal is outputted when any of 32 absolute difference values is | <sub>i</sub> - <b>m</b><sub><b>i</b></sub> | > 4.
In the boundary pixel extractor <b>64,</b> boundary pixel values <b>a</b><sub><b>0</b></sub><b>-a</b><sub><b>7</b></sub><b>, b</b><sub><b>0</b></sub><b>-b</b><sub><b>7</b></sub><b>, c</b><sub><b>0</b></sub><b>-c</b><sub><b>7</b></sub><b>, d</b><sub><b>0</b></sub>-d<sub>7</sub> of the current block from the frame memory <b>60</b> and upper and lower pixel values of the boundary pixel are extracted. The extracted pixel values are sequentially outputted in parallel. For example, as in Fig. 7, consider a boundary pixel value <b>A3</b> of the current block. Two upper pixels and two lower pixels are additionally extracted centering <b>A3</b>. Then, assuming <b>A3=n3,</b> total of 5 pixels <b>n1, n2, n3, n4, n5</b> are outputted in parallel.
In the selector <b>65,</b> the pixel values from the boundary pixel extractor <b>64</b> are inputted in the boundary pixel filter <b>66</b> according to the first selection signal. The pixel values outputted from the boundary pixel extractor <b>64</b> are directly fed back to the frame memory <b>60</b> in presence of second selection signal. Further, if the pixels are determined to not to have an edge, a plurality of adjacent pixels are outputted to boundary pixel filter <b>66</b>, whereas the pixels are fed back to the frame memory <b>60</b> if the pixels are determined to have an edge.
In the boundary pixel filter <b>66,</b> a plurality of boundary pixels outputted from the selector <b>65</b> are corrected. The corrected pixel values are inputted in the frame memory <b>60.</b> Namely, the boundary pixel values are multiplied by filter coefficients respectively, and the sum of the multiplied values is the corrected pixel values. For example, the boundary pixel functions as a low pass filter by utilizing a 5-tap mean filter having filter coefficients [<maths id="math0019" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>5</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0019.tif" /></maths>, <maths id="math0020" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>5</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0020.tif" /></maths>, <maths id="math0021" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>5</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0021.tif" /></maths>, <maths id="math0022" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>5</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0022.tif" /></maths>, <maths id="math0023" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>5</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0023.tif" /></maths>]. When the boundary pixel value <b>n3(=A3)</b> of the current block and pixel values <b>n1, n2, n4, n5</b> are extracted from the boundary pixel extractor <b>64</b>, the corrected boundary pixel values by the boundary pixel filter <b>66</b> are [<maths id="math0024" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>5</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0024.tif" /></maths><b>n</b><sub><b>1</b></sub>, <maths id="math0025" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>5</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0025.tif" /></maths><b>n</b><sub><b>2</b></sub>, <maths id="math0026" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>5</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0026.tif" /></maths><b>n</b><sub><b>3</b></sub>, <maths id="math0027" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>5</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0027.tif" /></maths><b>n</b><sub><b>4</b></sub>, <maths id="math0028" num=""><math display="inline"><mrow><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>5</mtext></mrow></mfrac></mrow></math><img file="EP1469680A2_D0028.tif" /></maths><b>n</b><sub><b>5</b></sub>].
As described above, the block not having an edge is filtered, whereas the block detected to have an edge is not filtered. Accordingly, the removal of the blocking effect is processed selectively without distorting the original images.
While this invention has been described in connection with what is presently considered to be the most practical and preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiment, but, on the contrary, it is intended to cover various modifications and equivalent arrangements included within the scope of the appended claims.
38 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29 Sheet 30 Sheet 31 Sheet 32 Sheet 33 Sheet 34 Sheet 35 Sheet 36 Sheet 37 Sheet 38
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| WO2006133613A1 | Cited by | World Intellectual Property Organization (WIPO) | Search report |
| US2008123988A1 | Cited by | United States of America | Pre-grant |
| US8131105B2 | Cited by | United States of America | Search report |
| US8131105B2 | Cited by | United States of America | Applicant |
| EP0502622A1 | Cites | European Patent Office (EPO) | Search report |
| EP0585573A2 | Cites | European Patent Office (EPO) | Search report |
| EP0723375A2 | Cites | European Patent Office (EPO) | Search report |
| EP0771116A2 | Cites | European Patent Office (EPO) | Search report |
| US5144688A | Cites | United States of America | Search report |
| US5367385A | Cites | United States of America | Search report |
21 members in 6 offices
Priority claims24
| Document | Office | Kind | Date |
|---|---|---|---|
| 19960016005 | Republic of Korea | A | |
| 19960016005 | Republic of Korea | A | |
| 19960016006 | Republic of Korea | A | |
| 19960016006 | Republic of Korea | A | |
| 19960016007 | Republic of Korea | A | |
| 19960016007 | Republic of Korea | A | |
| 19960016011 | Republic of Korea | A | |
| 19960016011 | Republic of Korea | A | |
| 9616005 | Republic of Korea | – | |
| 9616006 | Republic of Korea | – | |
| 9616007 | Republic of Korea | – | |
| 9616011 | Republic of Korea | – | |
| 97303246 | European Patent Office (EPO) | A | |
| 97303246 | European Patent Office (EPO) | A | |
| 9616005 | – | – | – |
| 9616006 | – | – | – |
| 9616007 | – | – | – |
| 9616011 | – | – | – |
| 97303246 | – | – | – |
| EP19970303246 | – | – | – |
| KR19960016005 | – | – | – |
| KR19960016006 | – | – | – |
| KR19960016007 | – | – | – |
| KR19960016011 | – | – | – |
Members21
| Document | Office | Kind | |
|---|---|---|---|
| EP0808068A2 | European Patent Office (EPO) | A2 | |
| KR970078643A | Republic of Korea | A | |
| KR970078644A | Republic of Korea | A | |
| KR970078645A | Republic of Korea | A | |
| KR970078648A | Republic of Korea | A | |
| JPH1051775A | Japan | A | |
| CN1174478A | China | A | |
| EP0808068A3 | European Patent Office (EPO) | A3 | |
| KR100230839B1 | Republic of Korea | B1 | |
| KR100230840B1 | Republic of Korea | B1 | |
| KR100230841B1 | Republic of Korea | B1 | |
| KR100230842B1 | Republic of Korea | B1 | |
| US6144700A | United States of America | A | |
| EP0808068B1 | European Patent Office (EPO) | B1 | |
| DE69730375D1 | Germany | D1 | |
| EP1469680A2This record | European Patent Office (EPO) | A2 | |
| CN1179575C | China | C | |
| DE69730375T2 | Germany | T2 | |
| EP1469680A3 | European Patent Office (EPO) | A3 | |
| EP1469680B1 | European Patent Office (EPO) | B1 | |
| DE69738787D1 | Germany | D1 |
34 legal events, as 5 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent expired after termination of 20 yearsExpiredPE20 | PE20 | GB | |
| Patent expired because of reaching the maximum lifetime of a patentExpiredMK | MK | NL | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal feeWithdrawnR119 | R119 | DE | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Fee paymentPLFP | PLFP | FR | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Transmission of propertyTP | TP | FR | |
| Change of applicant/patenteeR081 | R081 | DE | |
| Change of representativeR082 | R082 | DE | |
| Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)REGISTERED BETWEEN 20130404 AND 20130410732E | 732E | GB | |
| Change of representativeR082 | R082 | DE | |
| No opposition filedOpposition26N | 26N | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| Corresponds to:REF | REF | EP | |
| Divisional application: reference to earlier applicationAC | AC | EP | |
| Designated contracting statesAK | AK | EP | |
| European patent grantedGrantedFG4D | FG4D | GB | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Grant fee paidORIGINAL CODE: EPIDOSNIGR3GRAS | GRAS | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOSNIGR1GRAP | GRAP | EP | |
| First examination report despatched17Q | 17Q | EP | |
| First examination report despatched17Q | 17Q | EP | |
| Designation fees paidAKX | AKX | EP | |
| Designated contracting statesAK | AK | EP | |
| Search report despatchedORIGINAL CODE: 0009013PUAL | PUAL | EP | |
| Request for examination filed17P | 17P | EP | |
| Divisional application: reference to earlier applicationAC | AC | EP | |
| Designated contracting statesAK | AK | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 1469680
- Publication, DOCDB
- 1469680
- Publication, EPODOC
- EP1469680
- Application
- 4075207
- Application, DOCDB
- 04075207
- Application, EPODOC
- EP20040075207
Titles3
- German
- Reduzierung von Blockeffekten in einem Bewegtbilddekoder
- English
- Method and apparatus for removing blocking effects in a motion picture decoder
- French
- Appareil et méthode de réduction des effets de bloc dans un système de décodage d'images animées
Classification
- CPC, 10
- G06T5/20
- G06T2207/10016
- G06T2207/20021
- H04N19/176
- H04N19/61
- H04N19/117
- H04N19/14
- H04N19/527
- H04N19/86
- G06T5/70
- IPC, 9
- G06T5 00
- H04N19 102
- H04N19 167
- H04N19 196
- H04N19 423
- H04N19 44
- H04N19 60
- H04N19 625
- H04N19 86
Designated states1
- Contracting states, 1
- Netherlands (Kingdom of the)