# 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
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,y) 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 block error compensating apparatus comprising:
a video codec decoder for decoding an inputted image frame and outputting a decoded image frame; and
an error concealment block for detecting an error-generated block in the decoded image frame based on a pixel value of the detected block and an average value of pixel values of blocks adjacent to the detected error block, the error concealment block further for compensating the detected error block through a median filter and outputting a compensated image frame.

2. The apparatus of claim 1, wherein the error concealment block comprises:
an error detection block for detecting the error-generated block in the inputted image frame;
an error refinement block for confirming whether the detected block is an error block based on the pixel value of the detected block and pixel values of blocks adjacent to the detected block;
an error correction filter for compensating the confirmed error block through the median filter to create a compensated block; and
a frame generation block for restoring an image frame including the compensated block.

3. The apparatus of claim 2, wherein the error refinement block confirms whether the detected block is the error block by averaging pixel values of blocks adjacent to the detected error block to obtain the average value, obtaining an absolute value for a difference between the average value and the pixel value of the detected error block, and comparing the absolute value with a predetermined value.

4. The apparatus of claim 3, wherein the error refinement block determines the detected error block as the error block when the absolute value is greater than the predetermined value, and determines the detected error block as a block having no error when the absolute value is less than the predetermined value.

5. The apparatus of claim 4, wherein the error refinement block outputs the error block to the error correction filter, and outputs the block having no error to the frame generation block.

6. The apparatus of claim 2, wherein the error correction filter averages pixel values of blocks adjacent to the detected error block through the median filter to obtain the average value, and compensates a pixel value of the detected block by the average value.

7. A block error compensating method of an image frame comprising:
decoding an inputted image frame and outputting a decoded image frame;
detecting a block error of the decoded image frame based on a pixel value of a block having the detected block error and pixel values of blocks adjacent to the block;
compensating the detected block error through a median filter; and
outputting a compensated image frame.

8. The method of claim 7, wherein detecting the block error is achieved by averaging pixel values of blocks adjacent to the block having the detected block error to obtain an average value, obtaining an absolute value for a difference between the average value and a pixel value of the block, and comparing the absolute value with a predetermined value.

9. The method of claim 8, wherein detecting the block error is further achieved by determining the block having the detected block error as an error block when the absolute value is greater than the predetermined value, and by determining the block as a block having no error when the absolute value is less than the predetermined value.

10. The method of claim 8, wherein the average value, Ps(x,y), is given by: 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, wherein P(x,y) denotes a pixel value of the detected error block.

11. The method of claim 7, wherein compensating is achieved by averaging pixel values of blocks adjacent to the block having the detected block error through the median filter to obtain an average value, and compensating a pixel value of the block by the average value.

12. The method of claim 10, wherein the average value, Pgen(x,y), is given by: 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, wherein P(x,y) denotes a pixel value of the detected error block.

13. A system to process moving image data, comprising:
an error detection member to detect a block having an error in a decoded image frame;
an error refinement member to determine whether the block detected by the error detection member is one of an error block and an error-free block based on a pixel value of the detected block and pixel values of blocks adjacent to the detected block;
an error correction filter to compensate the error block using a median filter to form a compensated block, the error-free block to bypass the error correction filter; and
a frame generation member to restore the decoded image frame from one of the compensated block and the error-free block.

14. The system of claim 13, wherein processing of the moving image data occurs in real time.

15. The system of claim 13, wherein processing of the moving image data occurs without re-receiving the decoded image frame to compensate the error block.

16. The system of claim 13, wherein processing of the moving image data occurs without performing a motion estimation process and a motion compensation process for image frames adjacent to the decoded image frame to compensate the error block.

17. The system of claim 13, wherein the decoded image frame comprises one of an I-Frame and a P-Frame.

18. The system of claim 13, further comprising a codec decoder to output the decoded image frame.

19. The system of claim 13, further comprising a window interface to convert the restored image frame.