Como posso acelerar esta classe de histograma?

Isto supostamente calcula o histograma de uma imagem em escala de cinza de 8 bits. Com um bitmap de teste de 1024x770, o CreateTime termina em torno de 890ms. Como posso fazer isso de uma maneira mais rápida?

EDIT: devo mencionar que isso não realmente calcular o histograma ainda, ele só recebe os valores do bitmap. Então eu realmente deveria ter perguntado, qual é a maneira mais rápida de recuperar todos os valores de pixel de uma imagem em escala de cinza de 8 bits?

<code>public class Histogram {

    private static int[,] values;

    public Histogram(Bitmap b) {
        var sw = Stopwatch.StartNew();
        values = new int[b.Width, b.Height];

        for (int w = 0; w < b.Width; ++w) {
            for (int h = 0; h < b.Height; ++h) {
                values[w, h] = b.GetPixel(w, h).R;
            }
        }

        sw.Stop();
        CreateTime = (sw.ElapsedTicks /
            (double)Stopwatch.Frequency) * 1000;
    }

    public double CreateTime { get; set; }
}
</code>

questionAnswers(3)

yourAnswerToTheQuestion