A method for AWB (Automatic White Balance) compensation, performed by a processing unit , the method comprising: acquiring a frame 0 (S210); dividing the frame 0 into a plurality of blocks (S220); obtaining block statistics information of each block of the frame 0 (S230); labeling said each block of the frame 0 as one of a plurality of types according to its block statistics information (S240); employing a first AWB compensation to the frame 0 with an input of first-type blocks of the frame 0, wherein the first-type blocks of the frame 0 are blocks labeled as a first type (S250); employing a second AWB compensation to a frame 1 with an input of blocks of the frame 1 at the same locations as that of second-type blocks of the frame 0, wherein the second-type blocks of the frame 0 are blocks labeled as a second type (S270); fusing the compensated frame 0 with the compensated frame 1 (S280), wherein the step of fusing the compensated frame 0 with the compensated frame 1 comprises expanding the frame 0 based on a first expansion factor and the frame 1 based on a second expansion factor to HDR (High Dynamic Range) space; and setting a block weight according to the type of said each block (S317); calculating a plurality of pixel weights of the frame 0 according to the block weights (S319); and fusing the compensated frame 0 with the compensated frame 1 according to the pixel weights (S371), characterized in that the pixel weight is calculated by an W p = D 1 × D 2 × W UL + D 1 × D 4 × W UR + D 3 × D 2 × W LL + D 3 × D 4 × W LR , where W p indicates a pixel weight of one pixel of frame 0, W UL indicates a block weight of an upper-left block, W UR indicates a block weight of an upper-right block, W LL indicates a block weight of a lower-left block, W LR indicates a block weight of a lower-right block, D1 indicates a distance from the pixel to a lower edge, D2 indicates a distance from the pixel to a right edge, D3 indicates a distance from the pixel to an upper edge and D4 indicates a distance from the pixel to a left edge. acquiring a frame 0 (S210); dividing the frame 0 into a plurality of blocks (S220); obtaining block statistics information of each block of the frame 0 (S230); labeling said each block of the frame 0 as one of a plurality of types according to its block statistics information (S240); employing a first AWB compensation to the frame 0 with an input of first-type blocks of the frame 0, wherein the first-type blocks of the frame 0 are blocks labeled as a first type (S250); employing a second AWB compensation to a frame 1 with an input of blocks of the frame 1 at the same locations as that of second-type blocks of the frame 0, wherein the second-type blocks of the frame 0 are blocks labeled as a second type (S270); fusing the compensated frame 0 with the compensated frame 1 (S280), wherein the step of fusing the compensated frame 0 with the compensated frame 1 comprises expanding the frame 0 based on a first expansion factor and the frame 1 based on a second expansion factor to HDR (High Dynamic Range) space; and setting a block weight according to the type of said each block (S317); calculating a plurality of pixel weights of the frame 0 according to the block weights (S319); and fusing the compensated frame 0 with the compensated frame 1 according to the pixel weights (S371), characterized in that the pixel weight is calculated by an W p = D 1 × D 2 × W UL + D 1 × D 4 × W UR + D 3 × D 2 × W LL + D 3 × D 4 × W LR , where W p indicates a pixel weight of one pixel of frame 0, W UL indicates a block weight of an upper-left block, W UR indicates a block weight of an upper-right block, W LL indicates a block weight of a lower-left block, W LR indicates a block weight of a lower-right block, D1 indicates a distance from the pixel to a lower edge, D2 indicates a distance from the pixel to a right edge, D3 indicates a distance from the pixel to an upper edge and D4 indicates a distance from the pixel to a left edge. <EOS>