The process 100 may further include computing average luma pixel group values for each pixel group of the image (130). In some examples, an average luma pixel group value may be computed by accumulating luma values for each pixel of a pixel group. In such examples, luma values may represent the brightness of an image (e.g., an achromatic portion of an image). In some examples, a luma value may be a representation of an image without a color component. For example, in a YUV colorspace, a luma value may be the Y. In some examples, a luma value is a weighted sum of gamma-compressed RGB components of an image. In such examples, the luma value may be referred to as gamma-corrected luma. In some examples, accumulation may be performed by software or hardware by adding up luma values for each pixel of the pixel group. Once the luma values for a pixel group are accumulated, the total number may be divided by the number of pixels in the pixel group to compute an average luma pixel group value for the pixel group. This process may be repeated for each pixel group in the image.
The process 100 may further include performing AEC (140). The AEC may take as input the average luma pixel group values for each pixel group of the image. In some examples, an AEC method may apply weights to the average luma pixel group values described above using a weight array. In such examples, the AEC may also take as input the weight array, which may identify a weight to apply to each pixel group of the image.