# Patent

## Title
Block error compensating apparatus of image frame and method thereof

## Abstract

An apparatus and method are provided for compensating a block error in an image frame. This may include a video codec decoder for decoding an inputted image frame, and outputting a decoded image frame. An error concealment block may detect an error-generated block in the decoded image frame and compensate the detected error block through a median filter, and output the compensated image frame.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application is a continuation of (and claims the benefit of priority under 35 USC 120 to) U.S. application Ser. No. 13/759,123, filed Feb. 5, 2013, which is a continuation of U.S. application Ser. No. 11/682,402, filed Mar. 6, 2007, now U.S. Pat. No. 8,428,141, which is a continuation of U.S. application Ser. No. 10/815,669, filed Apr. 2, 2004, now U.S. Pat. No. 7,221,710, which claims the benefit of a foreign priority application filed in Korea as Serial No. 2003-0022018 on Apr. 8, 2003. The disclosures of the prior applications are considered part of (and are incorporated by reference in) the disclosure of this application.


FIELD
Embodiments of the present invention may relate to multimedia communication, and more particularly, to an apparatus for compensating a block error generated from an image frame and a method thereof.
BACKGROUND
Mobile communication includes communication systems primarily using a voice signal. However, as techniques for mobile communication are being developed and demands therefore are being increased, mobile communication is being developed as a multimedia communication including not only voice, but also data, as well as moving images. In multimedia communication, an amount of data to be processed may be large, and a bandwidth of an allocated channel or a data transmission speed may be limited. Techniques for transmitting/receiving a large amount of data with limited data transmission speed by compressing, for example, moving picture expert group (MPEG) techniques, have been developed.
MPEG techniques for compressing multimedia signals may reduce a data amount of the MPEG frame consecutively changed as a function of time, and transmit the multimedia signal by using an intra-coded frame (I-Frame) decoded only by information of an image frame, a predictive-coded frame (P-Frame) including only motion vector values from the I-Frame, etc. Herein, even if the I-Frame and the P-Frame have few differences by the MPEG method or other application methods, they may have a transmission ratio of about 1:15 per second.
When a block error is generated at the I-Frame, a receiving side may receive the I-Frame again, so as to compensate the block error. When a block error is generated at the P-Frame, the receiving side may perform a motion estimation process and a motion compensation process for the previous frame and the next frame of the P-Frame, so as to compensate the block error. An apparatus for compensating the block error of an image frame according to an exemplary arrangement will be explained with reference to FIG. 1.
FIG. 1 is a block diagram showing the block error compensating apparatus of an image frame according to an example arrangement.
As shown, the block error compensating apparatus of an image frame may include a video codec decoder 10 for decoding an inputted image frame, compensating an error-generated image frame among the decoded image frame, and thereby outputting. The apparatus may include a memory 12 for storing an image frame processed in the video codec decoder 10. The apparatus may include a window interface 14 for converting the image frame inputted from the video codec decoder 10 into a corresponding format for displaying and thereby outputting. The apparatus may include a display window 16 for displaying the image frame inputted from the window interface 14.
A block error compensating method of an image frame according to an example arrangement will be explained with reference to FIG. 2.
FIG. 2 is a flow chart showing the block error compensating method of an image frame according to an example arrangement.
As shown, a method for compensating a block error of an image frame may include detecting an error-generated block in a decoded image frame (S20). The method may include judging whether a frame including the detected block is a P-Frame (S22). The method may include compensating the generated block error based on the previous frame and the next frame when the frame including the detected block is the P-Frame. The method may include displaying the frame where the bock error has been compensated (S26), which may be repeated. In determining whether a frame including the detected block is a P-Frame (S22), when a frame including the detected block is an I-Frame, the I-Frame may be received again (S23) and the block error-generated image frame may be compensated by the re-received I-Frame.
A method for compensating a block error of an image frame according to an exemplary arrangement will be explained in more detail.
The video codec decoder 10 may receive an image frame from a transmitting side thus to decode, then store the decoded image frame in the memory, and then detect an error-generated block the decoded image frame (S20). Herein, the image frame may be composed of blocks having predetermined regions.
When an error-generated block is not detected in the decoded image frame, the video codec decoder 10 may output the image frame to the window interface 14. When an error-generated block is detected in the decoded image frame, the video codec decoder 10 may judge whether an image frame including the error-generated block is a P-Frame (S22).
When the image frame including the error-generated block is not the P-Frame but an I-Frame, the video codec decoder 10 may receive the I-Frame again (S23) and the block error-generated image frame may be compensated by the re-received I-Frame thereby to be outputted to the window interface 14.
On the other hand, when the image frame including the error-generated block is the P-Frame, the video codec decoder 10 may perform a motion estimation process and a motion compensation process for the previous frame and the next frame thereby to output the image frame in which the block error has been compensated to the window interface 14 (S24).
The window interface 14 may convert the inputted image frame into a corresponding format to be suitable for the display window 16, and output the converted image frame. The display window 16 may display the inputted converted image frame (S26).
As described above, in the block error compensating apparatus of an image frame, a block error-generated frame may be received again, or a motion estimation process and a motion compensation process for the previous frame and the next frame may be performed, thereby compensating the block error-generated frame.
However, in the block error compensating apparatus of an image frame, since a block error-generated frame may have to be received again, or the motion estimation process and the motion compensation process for the previous frame and the next frame may have to be performed, an additional memory for operating a large amount of data may be necessary and data may not be processed in real-time.
SUMMARY
Therefore, an embodiment(s) of the present invention may provide a block error compensating apparatus of an image frame capable of enhancing reliability by re-confirming an error generation for an error-generated block and a method thereof.
Another embodiment(s) of the present invention may provide a block error compensating apparatus of an image frame capable of compensating an error without need for additional memory by compensating a block error-generated image frame through a median filter and a method thereof.
Still another embodiment(s) of the present invention may provide a block error compensating apparatus of an image frame capable of compensating an error in real time by compensating a block error-generated image frame through a median filter and a method thereof.
To achieve these and other advantages and in accordance with the purpose of embodiments of the present invention, as embodied and broadly described herein, there is provided a block error compensating apparatus of an image frame including a video codec decoder for decoding an inputted image frame and outputting a decoded image frame. The block error compensating apparatus may include an error concealment block for detecting an error-generated block in the decoded image frame, compensating the detected error block through a median filter, and outputting a compensated image frame.
To achieve these and other advantages and in accordance with the purpose of embodiments of the present invention, as embodied and broadly described herein, there is provided a method for compensating a block error of an image frame including decoding an inputted image frame and thereby outputting a decoded image frame. The method for compensating a block error may include detecting a block error of the decoded image frame and compensating the detected block error through a median filter, and outputting a compensated image frame.
The foregoing and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when read in conjunction with the accompanying drawings, all forming a part of the disclosure of the present invention.
Additional advantages, objects, and features of the invention may be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention.



BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are included to provide a further understanding of the invention, are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention.
Embodiments of the present invention will be described in detail with reference to the following drawings in which like reference numerals refer to like elements and wherein:
FIG. 1 is a block diagram showing a block error compensating apparatus of an image frame according to an example arrangement;
FIG. 2 is a flow chart showing a block error compensating method of an image frame according to an example arrangement;
FIG. 3 is a block diagram showing a block error compensating apparatus of an image frame according to an example embodiment of the present invention; and
FIG. 4 is a flow chart showing a block error compensating method of an image frame according to an example embodiment of the present invention.



DETAILED DESCRIPTION
Reference will now be made in detail to exemplary embodiments of the present invention, examples of which are illustrated in the accompanying drawings.
Hereinafter, a block error compensating apparatus of an image frame that may compensate an error in real time and/or without an additional memory by compensating a block error-generated image frame through a median filter, and a method thereof will be explained with reference to the attached drawings.
FIG. 3 is a block diagram showing the block error compensating apparatus of an image frame according to an example embodiment of the present invention.
As shown, the block error compensating apparatus of an image frame or video according to an embodiment of the present invention may include a video codec decoder 30 for decoding an inputted image frame and outputting a decoded image frame. The apparatus may include a memory 32 for storing an image frame processed in the video codec decoder 30. The apparatus may include an error concealment block 33 for detecting a block error or video block error in the frame inputted from the video codec decoder 30, compensating the detected block error through a median filter, and outputting a compensated frame. The apparatus may include a window interface 34 for converting the frame inputted from the error concealment block 33 into a format suitable for a display device and outputting a converted frame. The apparatus may include a display window 36 for displaying the frame inputted from the window interface 34.
The error concealment block 33 may include an error detection block 331 for detecting an error-generated block in the inputted image frame. The error concealment block 33 may include an error refinement block 332 for averaging pixel values of one or more blocks adjacent (preceding and/or subsequent) to the detected error block to obtain a first average value or a confirmation average value, obtaining an absolute value for a difference between the average value and a pixel value of the detected error block, and comparing the absolute value with a predetermined value. The error concealment block 33 may include an error correction filter 333 for averaging pixel values of one or more blocks adjacent to the confirmed error block through a median filter to obtain a second average value or compensation average value, and outputting the compensation average value as a pixel value of the confirmed error block when the absolute value is greater than the predetermined value. The error concealment block 33 may include a frame generation block 334 for restoring a normal or error-free image frame based on the outputted pixel value, and outputting a restored image frame.
The block error compensating method of an image frame according to an embodiment(s) of the present invention will be explained in more detail with reference to FIG. 4.
FIG. 4 is a flow chart showing the block error compensating method of an image frame according to an exemplary embodiment(s) of the present invention.
As shown, the block error compensating method of an image frame may include detecting an error-generated block in the decoded image frame (S40). The method may include averaging pixel values of blocks adjacent to the detected error block to obtain a first average value or confirmation average value, obtaining an absolute value for a difference between the confirmation average value and a pixel value of the detected error block, and comparing the absolute value with a predetermined value (S42). The method may include compensating the detected error block through a median filter when the absolute value is greater than the predetermined value (S44). The method may include restoring an image frame including the block based on the compensated block (S46).
The block error compensating method of an image frame according to an embodiment(s) of the present invention will be explained in more detail.
First, the video codec decoder 30 may receive an image frame from a transmitting side. The video coder decoder 30 may decode the received image frame. A decoded image frame may be stored in the memory 32. The decoded image frame may be outputted to the error detection block 331. Herein, one image frame or video frame may be composed of video blocks or pixel blocks having predetermined regions.
The error detection block 331 may detect an error-generated block in the image frame inputted from the video codec decoder 30 (S40). The detected block may be outputted to the error refinement block 332.
The error refinement block 332 may average pixel values of one or more blocks adjacent (preceding and/or subsequent) to or contiguous with the detected error block to obtain a first average value or confirmation average value. An absolute value may be obtained for a difference between the confirmation average value and a pixel value of the detected error block. The absolute value may be compared with the predetermined value. According to the comparison result (S42), it may be determined whether or not an error is generated in the detected block.
An average value for pixel values of one or more blocks adjacent to the error block may be obtained by the following formula.

PS(x,y)=[P(x−1,y−1)+P(x,y−1)+P(x+1,y−1)]/3+[P(x−1,y)+P(x+1,y)]/2+[P(x−1,y+1)+P(x,y+1)+P(x+1,y+1)]/3  (Formula 1)

In Formula 1, P(x,y) may denote a pixel value of the detected error block, and PS (x,y) may denote an average value of pixel values of one or more blocks adjacent to the detected error block. Formula 1 may be modified to include one or more successive blocks.
The error refinement block 332 may operate an average value of pixel values of one or more blocks adjacent to the detected error block. The error refinement block 332 may obtain an absolute value for a difference between P(x,y) and PS (x,y). The error refinement block 332 may compare the absolute value with the predetermined value.

abs[P(x,y)−PS(x,y)]α  (Formula 2)

When the absolute value is less than or equal to the predetermined value, the error refinement block 332 may determine the detected error block to be a normal or error-free block. The error refinement block 332 may output a block having no error to the frame generation block 334. When the absolute value is greater than or equal to the predetermined value, the error refinement block 332 may determine the detected error block to be a block in which a final or confirmed error is generated, i.e., a confirmed error block or error block. The error refinement block 332 may output an error block to the error correction filter (e.g., median filter) 334.
The error correction filter 333 may average pixel values of one or more blocks adjacent (preceding or subsequent) to or contiguous with the error block through the median filter to obtain an average value or compensation average value, thereby compensating the pixel value of the error block by the compensation average value (S44). The averaging process through the median filter may be performed according to the following formula.

Pgen(x,y)=[P(x,y−1)+P(x,y−3)+P(x+1,y−2)+P(x−1,y−2)+P(x,y+1)+P(x,y+3)+P(x+1,y+2)]/7  (Formula 3)

In Formula 3, Pgen(x,y) may denote an average value operated through the median filter, and P(x, y) may denote a pixel value of the error block. Formula 3 may be modified to include one or more successive blocks.
Next, the frame generation block 334 may restore an image frame including the compensated block on the basis of the block compensated from the error correction filter 333, thereby outputting the restored image frame to the window interface 34 (S46).
The window interface 34 may convert the inputted image frame into a corresponding format suitable for the display window 36, and thereby output the converted image frame. The display window 36 may display the inputted image frame. A liquid crystal display (LCD), for example, may be used as the display window 36.
As aforementioned, according to the block error compensating apparatus of an image frame and the method thereof according to embodiments of the present invention, whether an error generation exists or not for the error-generated block may be re-confirmed thereby to enhance reliability.
Also, according to the block error compensating apparatus of an image frame and the method thereof according to embodiments of the present invention, the block error-generated image frame may be compensated through the median filter thereby to be able to compensate a block error without an additional memory.
In addition, according to the block error compensating apparatus of an image frame and the method thereof according to embodiments of the present invention, the block error generated image frame may be compensated through the median filter thereby to be able to compensate a block error in real time.
As the present invention may be embodied in several forms without departing from the spirit or essential characteristics thereof, it should also be understood that the above-described embodiments are not limited by any of the details of the foregoing description, unless otherwise specified, but rather should be construed broadly within its spirit and scope as defined in the appended claims, and therefore all changes and modifications that fall within the metes and bounds of the claims, or equivalence of such metes and bounds are therefore intended to be embraced by the appended claims.
The foregoing embodiments and advantages are merely exemplary and are not to be construed as limiting the present invention. The present teaching can be readily applied to other types of apparatuses. The description of the present invention is intended to be illustrative, and not to limit the scope of the claims. Many alternatives, modifications, and variations will be apparent to those skilled in the art. In the claims, means-plus-function clauses are intended to cover the structures described herein as performing the recited function and not only structural equivalents but also equivalent structures.

## Claims

1. A method comprising:
decoding video frames comprised of an intra-coded frame and a predictive-coded frame, at least one video frame having at least one target pixel block to be filtered, said decoding comprising performing motion compensation on said predictive-coded frame;
filtering said target pixel block by using at least one pixel value of said target pixel block and multiple pixel values of one other pixel block adjacent to said target pixel block and
storing said filtered video frame in a decoded frame buffer,
wherein said filtering comprises:
obtaining an absolute value of a result from calculations using a difference between said at least one pixel value of said target pixel block and at least one of said multiple pixel values of said one other pixel block,
obtaining, based on a comparison of said absolute value with a particular value, a compensation value calculated by using said at least one pixel value of said target pixel block and said multiple pixel values of said one other pixel block, and
applying said compensation value to compensate for said target pixel block.

2. The method of claim 1, wherein said target pixel block and said one other pixel block are separated by a pixel block boundary.

3. The method of claim 2, wherein said filtering step is additionally performed with respect to another pixel block, said another pixel block being different from said one other pixel block and adjacent to said target pixel block.