A method for AWB (Automatic White Balance) compensation, performed by a processing unit, the method comprising: acquiring a frame 0; dividing the frame 0 into a plurality of blocks; obtaining block statistics information of each block of the frame 0; labeling said each block of the frame 0 as one of a plurality of types according to its block statistics information; 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; 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; fusing the compensated frame 0 with the compensated frame 1, 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; calculating a plurality of pixel weights of the frame 0 according to the block weights; and fusing the compensated frame 0 with the compensated frame 1 according to the pixel weights, 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; dividing the frame 0 into a plurality of blocks; obtaining block statistics information of each block of the frame 0; labeling said each block of the frame 0 as one of a plurality of types according to its block statistics information; 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; 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; fusing the compensated frame 0 with the compensated frame 1, 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; calculating a plurality of pixel weights of the frame 0 according to the block weights; and fusing the compensated frame 0 with the compensated frame 1 according to the pixel weights, 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.