A method for processing digital still image data comprising: capturing a first image and a second image, wherein at least one of the first image and the second image is captured during an image preview; partitioning the first image of a scene of interest into a plurality of blocks of pixels, wherein four non-overlapping blocks of the plurality of blocks each define a unique quadrant of the first image, each unique quadrant comprising substantially one quarter of the first image and wherein the first image is partitioned with a fifth block that overlaps only a portion of each of the four non-overlapping blocks; computing, for each of the plurality of blocks, a motion vector that represents the offset between the block of the first image and a corresponding block of pixels within the second image of the scene of interest, wherein computing a motion vector comprises: computing, for each of the plurality of blocks, at least one of horizontal projections and vertical projections for the block, wherein the horizontal projections comprise a summation of pixel values along an x-axis within each block, and the vertical projections comprise summations of pixel values along a y-axis within each block; and computing, for each of the plurality of blocks, a motion vector based on the at least one of the horizontal and vertical projections for the block; estimating motion vectors for each of the pixels of the blocks based on the computed motion vectors; averaging pixel values for each of the pixels of the blocks of the first image with pixel values of corresponding pixels of the second image based on the estimated motion vectors; and storing the averaged pixel values. capturing a first image and a second image, wherein at least one of the first image and the second image is captured during an image preview; partitioning the first image of a scene of interest into a plurality of blocks of pixels, wherein four non-overlapping blocks of the plurality of blocks each define a unique quadrant of the first image, each unique quadrant comprising substantially one quarter of the first image and wherein the first image is partitioned with a fifth block that overlaps only a portion of each of the four non-overlapping blocks; computing, for each of the plurality of blocks, a motion vector that represents the offset between the block of the first image and a corresponding block of pixels within the second image of the scene of interest, wherein computing a motion vector comprises: computing, for each of the plurality of blocks, at least one of horizontal projections and vertical projections for the block, wherein the horizontal projections comprise a summation of pixel values along an x-axis within each block, and the vertical projections comprise summations of pixel values along a y-axis within each block; and computing, for each of the plurality of blocks, a motion vector based on the at least one of the horizontal and vertical projections for the block; estimating motion vectors for each of the pixels of the blocks based on the computed motion vectors; averaging pixel values for each of the pixels of the blocks of the first image with pixel values of corresponding pixels of the second image based on the estimated motion vectors; and storing the averaged pixel values. computing, for each of the plurality of blocks, at least one of horizontal projections and vertical projections for the block, wherein the horizontal projections comprise a summation of pixel values along an x-axis within each block, and the vertical projections comprise summations of pixel values along a y-axis within each block; and computing, for each of the plurality of blocks, a motion vector based on the at least one of the horizontal and vertical projections for the block; estimating motion vectors for each of the pixels of the blocks based on the computed motion vectors; averaging pixel values for each of the pixels of the blocks of the first image with pixel values of corresponding pixels of the second image based on the estimated motion vectors; and storing the averaged pixel values.