Method and apparatus for deblocking-filtering video data

Provided are a method and an apparatus for filtering video data. The method includes determining whether a difference value of illumination change (DVIC) of a current image processing unit containing a current block is different from a DVIC of an image processing unit that is adjacent to the current image processing unit and based on the determining, adjusting a filtering strength of a deblocking filter and performing deblocking filtering on a boundary of the current block using the filter with the adjusted filtering strength.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method and apparatus for filtering video data, and more particularly, to a method and apparatus for deblocking-filtering video data containing a block encoded with illumination compensation.

2. Description of the Related Art

In video compression standards such as moving picture expert group (MPEG)-1, MPEG-2, MPEG-4, H.264/MPEG-4 AVC (Advanced Video Coding) standards, a picture is divided into the units of image processing, i.e., macroblocks, for video encoding. Each of the macroblocks is then encoded using interprediction or intraprediction.

These video compression methods perform decoding after performing compression encoding in units of macroblocks, resulting in blocking artifacts in the reconstructed video data. Discrete cosine transformation (DCT) and quantization are performed independently on each sub-block, e.g., each 4×4 block, included in each macroblock. In other words, each sub-block is independently Discrete Cosine Transformed and quantized regardless of correlation with its neighboring blocks, causing a loss in the original video data, and creating blocking artifacts in reconstructed video data.

A deblocking filter smoothes a block boundary error generated in block-based coding, thereby improving the quality of reconstructed video data, as will be described in detail with reference toFIGS. 1A,1B, and2.

FIG. 1Ais a block diagram of a video encoder according to a related art andFIG. 1Bis a block diagram of a video decoder according to the related art. The video encoder illustrated inFIG. 1Aperforms video encoding through interprediction according to the H.264 standard and the video decoder illustrated inFIG. 1Bdecodes the interpredicted video data.

Referring toFIG. 1A, a motion estimation unit110generates a motion vector of the current block to be encoded by referring to at least one reference picture stored in a frame memory unit122. A motion compensation unit112generates a prediction block of the current block based on the motion vector generated by the motion estimation unit110.

The generated prediction block is subtracted from the original current block, thereby generating a residue. A DCT and quantization unit114performs DCT and quantization on the generated residue. An entropy-coding unit116performs entropy-coding on the quantized residue. The coded residue, together with the motion vector, is inserted into a bitstream for transmission to a decoding side.

The residue quantized by the DCT and quantization unit114is inversely quantized and inversely DCTed by an inverse quantization and inverse DCT unit118in order to be used in prediction of the next picture to be coded.

The reconstructed residue is added to the prediction block and the addition result is stored in the frame memory unit122. The addition result is deblocking-filtered by a deblocking filtering unit120before being stored in the frame memory unit122because the blocking artifacts may occur if the addition result is stored in the frame memory unit122without being processed. The deblocking filtering according to the related art will be described later in detail with reference toFIG. 2.

FIG. 1Bis a block diagram of a video decoder for decoding a block that is interprediction-encoded by the video encoder illustrated inFIG. 1A.

Referring toFIG. 1B, a motion compensation unit128searches a reference picture stored in a frame memory unit132based on data about a motion vector included in a bitstream, thereby generating a prediction block of the current block.

An entropy-decoding unit124receives an encoded residue and performs entropy-decoding on the received residue. The entropy-decoded residue is inversely quantized and inversely DCTed by an inverse quantization and inverse DCT unit126. The residue reconstructed by inverse quantization and inverse DCT is added to the prediction block generated by the motion compensation unit128, thereby being reconstructed to the original block before encoding. Like in encoding, if the reconstructed block is stored in the frame memory unit132without being processed, the blocking artifacts may occur. For this reason, the reconstructed block is stored in the frame memory unit132after being deblocking-filtered by a deblocking filtering unit130.

FIG. 2is a flowchart of a deblocking filtering method according to the related art. InFIG. 2, the deblocking filtering unit120or130performs deblocking filtering according to the H.264 standard.

Referring toFIG. 2, the deblocking filtering unit120or130determines whether at least one of two adjacent blocks, p and q to be deblocking-filtered, has been intracoded in operation201.

If so, the deblocking filtering unit120or130determines whether the blocks, p and q to be deblocking-filtered, are located in a macroblock boundary in operation202. If so, the deblocking filtering unit120or130performs deblocking filtering after setting its filtering strength Bs to 4 in operation206. If the blocks, p and q to be deblocking-filtered, are not located in the macroblock boundary, the deblocking filtering unit120or130performs deblocking filtering after setting its filtering strength Bs to 3 in operation207.

If neither the block p nor the block q has been intracoded, the deblocking filtering unit120or130determines whether at least one of the block p and the block q has an orthogonal transformation coefficient, i.e., a DCT coefficient in operation203. If so, the deblocking filtering unit120or130performs deblocking filtering after setting its filtering strength Bs to 2 in operation208. If neither the block p nor the block q has an orthogonal transformation coefficient, the deblocking filtering unit120or130goes to operation204.

If neither the block p nor the block q has an orthogonal transformation coefficient in operation203, the deblocking filtering unit120or130determines whether reference frames for the blocks p and q are different from each other or the number of reference frames for the block p is different from that for the block q in operation204. If so, the deblocking filtering unit120or130performs deblocking filtering after setting its filtering strength Bs to 1 in operation209.

If reference frames for the block p and the block q are the same as each other and the number of reference frames for the block p is the same as that for the block q in operation204, the deblocking filtering unit120or130determines whether a motion vector of the block p is different from that of the block q in operation205. If so, the deblocking filtering unit120or130performs deblocking filtering after setting it filtering strength to a Bs of 1 in operation209. If the motion vector of the block p is not different from that of the block q in operation205, the deblocking filtering unit120or130sets it filtering strength to a Bs of 0 and thus does not perform deblocking filtering in operation210.

As set forth regarding operations201through210, the deblocking filtering method according to the prior art does not consider the case where the two adjacent blocks p and q have been encoded using illumination compensation. A discrete cosine (DC) value of the current block differs according to whether the current block has been encoded using illumination compensation or without using illumination compensation, and causes blocking artifacts, but the conventional deblocking filtering methods do not consider whether encoding has been performed using illumination compensation

Therefore, there is a need for a method and apparatus for deblocking filtering video data by considering the case where the video data has been encoded using illumination compensation.

SUMMARY OF THE INVENTION

The present invention provides a method and apparatus for deblocking filtering video data and a computer-readable recording medium having recorded thereon a program for executing the method.

According to one aspect of the present invention, there is provided a method of filtering video data. The method includes determining whether a difference value of illumination change (DVIC) of a current image processing unit containing a current block is different from a difference value of illumination change (DVIC) of a neighboring image processing unit that is adjacent to the current image processing unit and based on the determining, adjusting a filtering strength of a deblocking filter and performing deblocking filtering on a boundary of the current block, thereby preventing blocking artifacts that may occur when an image processing unit is encoded using illumination compensation.

The determining may include evaluating an absolute value of the difference between the difference value of illumination change (DVIC) of the current image processing unit and the difference value of illumination change (DVIC) of the neighboring image processing unit with a first threshold value.

The absolute value may be compared with a second threshold value that is less than the first threshold value if the absolute value is less than the first threshold value.

The determining may include setting the difference value of illumination change (DVIC) of one of the current image processing unit and the neighboring image processing unit to 0 which has been encoded without using illumination compensation, to 0 and evaluating whether the difference value of illumination change (DVIC) of the current image processing unit is different from that of the neighboring image processing unit based on the setting result.

According to another aspect of the present invention, there is provided an apparatus for filtering video data, the apparatus comprising. The apparatus includes a control unit for determining whether a difference value of illumination change (DVIC) of a current image processing unit containing a current block is different from a difference value of illumination change (DVIC) of a neighboring image processing unit that is adjacent to the current image processing unit and a filtering unit for performing deblocking filtering on a boundary of the current block after adjusting its filtering strength according to the determination result.

The control unit may evaluate an absolute value of the difference between the difference value of illumination change (DVIC) of the current image processing unit and the difference value of illumination change (DVIC) of the neighboring image processing unit with a first threshold value.

The control unit may evaluate the absolute value with a second threshold value that is less than the first threshold value when the absolute value is less than the first threshold value.

The control unit may set the difference value of illumination change (DVIC) of one of the current image processing unit and the neighboring image processing unit which has been encoded without using illumination compensation, to 0, and evaluates whether the difference value of illumination change (DVIC) of the current image processing unit is different from that of the neighboring image processing unit based on the setting result.

The image processing unit may be a macroblock.

According to another aspect of the present invention, there is provided a computer-readable recording medium having recorded thereon a program for executing the method of filtering video data.

Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that like reference numerals refer to like elements illustrated in one or more of the drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted for conciseness and clarity.

FIG. 3Ais a block diagram of a video encoder300using illumination compensation according to an exemplary embodiment of the present invention, andFIG. 3Bis a block diagram of a video decoder350using illumination compensation according to an exemplary embodiment of the present invention. The video encoder300encodes video data by performing interprediction using illumination compensation in relation to multi-view video encoding, and the video decoder350decodes video data interpredicted using illumination compensation in relation to multi-view video decoding.

Referring toFIG. 3A, the video encoder300includes a motion estimation unit302, a motion compensation unit308, a difference-value-of-illumination change (DVIC) calculation unit310, a DVIC prediction unit312, a DCT and quantization unit314, an entropy-coding unit316, an inverse quantization and inverse DCT unit318, a deblocking unit320, and a frame memory unit322. The deblocking unit320serves as an apparatus for deblocking filtering video data according to an exemplary embodiment of the present invention.

The DVIC calculation unit310calculates a DVIC by obtaining a difference value between a discrete cosine (DC) value of the current macroblock containing the current block to be encoded and a DC value of a macroblock containing a reference block to be used for interprediction of the current block. Here, a macroblock is an example of the unit of image processing and the following description will be made on the assumption that a macroblock is the unit of image processing. A DVIC is generated for each unit of image processing, i.e., each macroblock.

The DVIC is calculated by calculating the DC value of the current macroblock containing the current block and the DC value of the macroblock containing the reference block and calculating a difference value between the calculated DC values. A prediction DVIC predicted by the DVIC prediction unit312using neighboring blocks that are adjacent to the current macroblock, is subtracted from the DVIC calculated by the DVIC calculation unit310. The subtraction result is inserted into a bitstream, thereby performing prediction encoding.

The motion estimation unit302estimates a motion vector of the current block based on the DVIC calculated by the DVIC calculation unit310. To this end, the motion estimation unit302includes an illumination compensation unit304and a motion vector determination unit306. The illumination compensation unit304performs illumination compensation on the current block based on the calculated DVIC and the motion vector determination unit306estimates a motion vector of the current block by searching a reference picture stored in the frame memory unit322using the illumination-compensated current block.

The motion compensation unit308performs motion compensation using the DC value of the current macroblock, the DC value of the macroblock containing the reference block, and the estimated motion vector, in order to generate a prediction block of the current block. Motion compensation may be performed as follows:

where NewR(i, j) indicates a residue at coordinates (i, j), which is generated with illumination compensation, f(i, j) indicates a pixel value at coordinates (i, j) of the current block, r(i+x′, j+y′) indicates a pixel value at coordinates (i+x′, j+y′) of a reference picture, Mcur(m, n) indicates an average value of pixel values of the current macroblock, Mref(m+x′, n+y′) indicates an average value of pixel values of a macroblock containing a reference block, and (x′, y′) indicates a motion vector.

The DCT and quantization unit314orthogonally transforms the generated residue into a frequency domain and quantizes the transformed residue. The quantized residue is variable-length coded by the entropy-coding unit316and is then inserted into a bitstream.

The inverse quantization and inverse DCT unit318performs inverse quantization and then inverse DCT on the quantized residue, thereby reconstructing the original residue before coding. The reconstructed residue is added to the prediction block generated by the motion compensation unit308, to reconstruct the original block before coding.

The reconstructed block is stored in the frame memory unit322in order to be used as a reference block. In order to remove the blocking artifacts, the boundary of the reconstructed block is deblocking-filtered by the deblocking unit320before the reconstructed block is stored. Deblocking filtering according to the related art does not consider removing the blocking artifacts that occur when the current unit of image processing and/or another unit of image processing, which is adjacent to the current unit of image processing, has been encoded using illumination compensation. Therefore, a deblocking filtering method that removes the remaining blocking artifacts is described later with reference toFIGS. 4 through 6.

FIG. 3Bis a block diagram of the video decoder350according to an exemplary embodiment of the present invention. Referring toFIG. 3B, the video decoder350decodes video data that has been encoded by interprediction using illumination compensation.

Referring toFIG. 3B, the video decoder350includes an entropy-decoding unit352, an inverse quantization and inverse DCT unit354, a DVIC prediction unit356, a motion compensation unit358, a deblocking unit360, and a frame memory unit362. InFIG. 3B, the deblocking unit360serves as the apparatus for deblocking-filtering of video data.

The entropy-decoding unit352entropy-decodes data corresponding to a residue of the current block included in a bitstream. The entropy-decoded data corresponding to the residue is inversely quantized and inversely discrete cosine transformed by the inverse quantization and inverse DCT unit354, thereby constructing the residue. The reconstructed residue is added to the prediction block generated by the motion compensation unit358, thereby reconstructing the current block.

The motion compensation unit358corresponds to the motion compensation unit308of the video encoder300. The motion compensation unit358uses a DVIC in order to generate a prediction block of the current block. A DVIC of the current block is generated by adding a DVIC predicted from neighboring blocks of the current macroblock containing the current block by the DVIC prediction unit356, to a prediction-encoded DVIC included in the bitstream.

A macroblock containing a reference block is specified by searching a reference picture stored in the frame memory unit362using a motion vector included in the bitstream and the generated DVIC is added to a DC value of the specified macroblock, thereby generating a DC value of the current macroblock. A prediction block of the current block is generated using the generated DC value of the current macroblock and the reference block.

The current block reconstructed by adding the residue to the prediction block generated by the motion compensation unit358is stored in the frame memory unit362in order to be used as a reference picture. In order to remove the blocking artifacts, the reconstructed current block is stored in the frame memory unit362after being deblocking-filtered by the deblocking unit360.

FIGS. 4 through 6are flowcharts for explaining a method of deblocking-filtering of video data according to exemplary embodiments of the present invention, in which the deblocking unit320illustrated inFIG. 3Aor the deblocking unit360illustrated inFIG. 3Bperforms deblocking filtering.

FIG. 4is a flowchart of a method of deblocking-filtering of video data according to an exemplary embodiment of the present invention. The method illustrated inFIG. 4will be described in detail with reference toFIG. 7.

Referring toFIG. 4, the deblocking unit320or360according to an exemplary embodiment of the present invention determines whether a DVIC of a current image processing unit710containing a current block711is different from that of another image processing unit720or730that is adjacent to the current image processing unit710in operation410. In the current exemplary embodiment, the current image processing unit710is a macroblock.

When the current image processing unit710and/or the neighboring image processing unit720or730have been encoded using illumination compensation, blocking artifacts may occur. However, the conventional deblocking filtering does not consider whether encoding has been performed using illumination compensation.

In operation410, the deblocking unit320or360determines whether the DVIC of the current image processing unit710is different from that of the neighboring image processing unit720or730.

When the DVIC of the current block711is compared with the DVICs of neighboring blocks712through715that are adjacent to the current block711, it is the same as those of the neighboring blocks712through715, if the current block711is located within the current image processing unit710as illustrated inFIG. 7. A DVIC is calculated for each image processing unit, i.e., each macroblock, and deblocking filtering is performed for each sub-block of the macroblock. As a result, the DVIC of the current block711is the same as those of the neighboring blocks712through715. Therefore, DVIC comparison is performed between the current image processing unit710and the image processing units720through730.

Preferably, when vertical boundary portions of the current block, i.e., a boundary portion between the current block711and a neighboring block713that is to the left of the current block711, and a boundary portion between the current block711and a neighboring block715that is to the right of the current block711, are deblocking-filtered, it is determined whether a DVIC of the current image processing unit710is different from that of the image processing unit720that is to the left of the current image processing unit710.

When horizontal boundary portions of the current block, i.e., a boundary portion between the current block711and a neighboring block712that is above the current block711, and a boundary portion between the current block711and a neighboring block714that is below the current block711, are deblocking-filtered, it is determined whether a DVIC of the current image processing unit710is different from that of the image processing unit730that is above the current image processing unit710.

If the DVIC of the current image processing unit710is different from that of the neighboring image processing unit720or730in operation410, the deblocking unit320or360performs deblocking filtering on the boundary of the current block after setting its filtering strength Bs to K1in operation420.

In contrast, if the DVIC of the current image processing unit710is not different from that of the neighboring image processing unit720or730in operation410, the deblocking unit320or360performs deblocking filtering on the boundary of the current block after setting its filtering strength Bs to K2in operation430.

In order to perform deblocking filtering with different filtering strengths according to the determination result of operation410, K1and K2are set to different values. If the DVIC of the current image processing unit710is different from that of the neighboring image processing unit720or730, it is desirable to increase a filtering strength. In other words, K1may be set higher than K2.

One of the current image processing unit710and its neighboring image processing unit720or730may not have been encoded using illumination compensation. Blocking artifacts introduced by illumination compensation may also occur in a case where an image processing unit that has been encoded using illumination compensation is adjacent to an image processing unit that has been encoded without using illumination compensation. Thus, in order to perform deblocking filtering by considering this case, the deblocking unit320or360according to an exemplary embodiment of the present invention sets a DVIC of the image processing unit that has been encoded without using illumination compensation to 0 and performs the determination in operation410.

When neither the current image processing unit710nor the neighboring image processing unit720or730have been encoded without using illumination compensation, their DVICs are all ‘0’. In this case, the deblocking unit320or360determines that the DVIC of the current image processing unit710is the same as that of the neighboring image processing unit720or730in operation410, and performs deblocking filtering on the boundary of the current block711after setting its filtering strength Bs to K2in operation430.

However, when one of the current image processing unit710and the neighboring image processing unit720and730has been encoded using illumination compensation, the DVIC of the image processing unit that has been encoded using illumination compensation is not ‘0’ and thus the deblocking unit320or360determines that the DVIC of the current image processing unit710is different from that of the neighboring image processing unit720or730in operation410. Thus, the deblocking unit320or360performs deblocking filtering on the boundary of the current block711after setting its filtering strength Bs to K1in operation420.

FIG. 5is a flowchart of a method of deblocking filtering of video data according to another exemplary embodiment of the present invention.

Operation510is the same as operation410ofFIG. 4, in which the deblocking unit320or360determines whether the DVIC of the current image processing unit710containing the current block711is different from that of the image processing unit720or730that is adjacent to the current image processing unit710.

If the DVIC of the current image processing unit710is different from that of the image processing unit720or730in operation510, the deblocking unit320or360compares an absolute value of a difference between the DVIC of the current image processing unit710and the DVIC of the adjacent image processing unit720or730with a first threshold value T1in operation520.

If the absolute value is less than the first threshold value T1, the deblocking unit320or360compares the absolute value with a second threshold value T2in operation530. The second threshold value T2is less than the first threshold value T1. The number of threshold values that are compared with the absolute value is not limited and thus the absolute value may be compared only with the first threshold value T1. In this case, if the absolute value is less than the first threshold value T2, the deblocking unit320or360performs deblocking filtering after setting its filtering strength Bs to K3in operation560.

If the absolute value is greater than the second threshold value T2in operation530, i.e., if the absolute value is between the first threshold value T1and the second threshold value T2, the deblocking unit320or360performs deblocking filtering after setting its filtering strength Bs to K2in operation550.

For different filtering strengths in operations540and550, K1and K2may be set to different values. However, in operations560and570, a filtering strength may be adjusted using a conventional deblocking filtering method without assigning separate filtering strength values to K3and K4, as will be described with reference toFIG. 6.

FIG. 6is a flowchart of a method of deblocking filtering of video data according to another exemplary embodiment of the present invention, in which the method described with reference toFIG. 5is applied to a related art deblocking filtering method.

Referring toFIG. 6, operations603through605correspond to operations510,520, and530described inFIG. 5. It is assumed that the current block711is a block p and the neighboring block712,713,714, or715of the current block711is a block q. Hereinafter, a method of deblocking-filtering the boundary of the current block711, i.e., a boundary between the current block711and its neighboring block712,713,714, or715, will be described.

Operation601is the same as operation201ofFIG. 2, in which the deblocking unit320or360determines whether at least one of the two adjacent blocks p and q has been intracoded.

If so, the deblocking unit320or360determines whether the boundaries of the blocks p and q are included in a macroblock boundary in operation602. The deblocking unit320or360performs deblocking filtering with different filtering strengths in operation609and610according to the determination result of operation602.

If neither the block p nor the block q has been intracoded, the deblocking unit320or360determines whether the DVIC of the current image processing unit710containing the block p, i.e., the current block711, is different from that of the neighboring image processing unit720or730in operation603.

If the DVIC of the current image processing unit710containing the current block711is not different from that of the neighboring image processing unit720or730, the deblocking unit320or360adjusts its filtering strength through operations606through608like in a conventional deblocking filtering method.

If the DVIC of the current image processing unit710containing the current block711is different from that of the neighboring image processing unit720or730, the deblocking unit320or360compares an absolute value of a difference between the DVIC of the current image processing unit710and the DVIC of the neighboring image processing unit720or730, with predetermined threshold values in operations604and605.

If the absolute value is greater than the first threshold value T1, the deblocking unit320or360performs deblocking filtering after setting its filtering strength Bs to K1in operation611. If the absolute value is between the first threshold value T1and the second threshold value T2that is less than the first threshold value T1, the deblocking unit320or360performs deblocking filtering after setting its filtering strength Bs to K2in operation612.

If the absolute value is less than the first threshold value T1and the second threshold value T2, the deblocking unit320or360adjusts its filtering strength Bs according to a conventional deblocking filtering method. In other words, the deblocking unit320or360performs the same operations as operations203through205illustrated inFIG. 2, i.e., operations606through608.

A combination of the method of deblocking filtering of video data according toFIG. 5and a conventional deblocking filtering method is illustrated inFIG. 6. However, this is only an example and various combinations thereof will be obvious to those of ordinary skill in the art.

FIG. 8illustrates the syntax of a slice header according to an exemplary embodiment of the present invention.

Referring toFIG. 8, a slice header according to an exemplary embodiment of the present invention includes the syntax of a first threshold value T1and/or a second threshold value T2. An encoding side inserts information about the first threshold value T1and/or information about the second threshold value T2into the slice header. ‘slice_ic_th1_mvc’ is the information about the first threshold value T1and ‘slice_ic_th2_mvc’ is the information about the second threshold value T2. A decoding side sets the first threshold value T1and the second threshold value T2by referring to the slice header and performs deblocking filtering on the boundary of the current block using the method for deblocking filtering of video data illustrated inFIGS. 4 through 6.

When the information about the first threshold value T1and/or the second threshold value T2is not included in the slice header, the deblocking unit320or360may perform deblocking filtering using a default threshold value. For example, the first threshold value T1may be set to ‘3’ when the information about the first threshold value T1is not included in the slice header, and the second threshold value T2may be set to ‘1’ when the information about the second threshold value T2is not included in the slice header.

FIG. 9is a block diagram of the deblocking unit320or360according to an exemplary embodiment of the present invention.

Referring toFIG. 9, the deblocking unit320or360includes a control unit910and a filtering unit920.

The control unit910determines whether the DVIC of the current image processing unit710containing the current block711is different from that of the neighboring image processing unit720or730of the current image processing unit710. If so, the control unit910compares an absolute value of a difference between the DVICs with at least one predetermined threshold value.

When the current image processing unit710and/or its neighboring image processing unit720or730has not been encoded using illumination compensation, the control unit910sets the DVICs of the current image processing unit710and/or its neighboring image processing unit720or730to ‘0’ and determines whether the DVIC of the current image processing unit710containing the current block711is different from that of the neighboring image processing unit720or730.

The filtering unit920adjusts its filtering strength based on the determination or comparison result of the control unit710and performs deblocking filtering with the adjusted filtering strength.

The filtering unit920performs deblocking filtering on the boundary of the current block711by using different filtering strengths according to whether the DVIC of the current image processing unit710is different from that of the neighboring image processing unit720or730.

The filtering unit920also performs deblocking filtering by using different filtering strengths according to the result of comparison between the absolute value of the difference value between the DVICs with at least one threshold value.

As described above, according to exemplary embodiments of the present invention, deblocking filtering is also performed for a case where the current image processing unit and/or its neighboring image processing unit has been encoded using illumination compensation, thereby removing blocking artifacts that may occur due to illumination compensation.

Moreover, during deblocking filtering, consideration may also be given to whether sub-blocks located within an image processing unit as well as sub-blocks located within the boundary of the image processing unit have been encoded using illumination compensation.

Meanwhile, an exemplary embodiment of the present invention can be embodied as a program stored on a medium that is readable by a computer. The computer-readable medium may include all kinds of recording devices storing data that is readable by a computer system. Examples of the computer-readable medium include read-only memory (ROM), random access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, etc. The computer readable medium can also be distributed over network coupled computer systems so that the computer readable program is stored and executed in a distributed fashion.