OV7670 в оконном режиме (не все 640x480)?
Вывод в RAW?
240*320=76800 на каждый цвет?
Тогда 240*320*3=230400
Алгоритм усреднения для результирующего пикселя?
Использовать FPGA для такой операции не проще?
Если уж решили херить так картинку, то сильно качественней будет усреднение по результирующему пикселю 16х16/8х8 с учетом цвета.
Или нужен просто серый результат?
У камеры 30fps и нужно принимать 8-битные параллельные данные на скорости ЕМНИП 9216000, если даже QVGA, то 2304000 byte/s
MCU должен ведь их еще успеть обработать - MIPS никто не отменял, а там примерная программа в командах займет примерно по 10…30 команд для чтения и для примитивного усреднения, плюс прерывания, плюс вывод сжатого кадра,…
Посчитали нужную производительность?
А с запасом на другой алгоритм обработки?
Если уж оставлять MCU/MPU, то может стоит выбрать с нормальным RAM (2 входных кадра + 2 выходных кадра) для нормальной организации конвейерной обработки ввода, кадра и вывода)?
При изменении алгоритма ресамплинга изображения идею с STM32F103 придется полностью переделывать.
PS На досуге подумал о бикубике

Если отмести усложнения, то для максимального сжатия нужен буфер поменьше
(240*16*3)+(240/16*3)=11*565, а для минимального (240*8*3)+(240/8*3)=5850
Это уже вполне реально для МК…
PPS STM32F103C8T6 (blue pill

) вполне подойдет. И уже на плате…