TL; DR : ошибки разрыва края между блоками 8 × 8, вызванные сжатием DCT, используемым в JPEG, увеличиваются вашим стеком изображений, поэтому «сетка» так заметна.
Если бы процесс укладки / сглаживания кадров не удался или не использовал достаточно кадров, я бы ожидал 8x8 блоков разных цветов, а не только их края.
Похоже, у вас небольшое недопонимание относительно сжатия, используемого в изображениях JPEG. Вы правы, что сжатие в (большинстве) JPEG выполняется на блоках 8 × 8 пикселей. Ваше ожидание было бы верным, если бы сжатие было таким же простым, как простая замена каждого блока 8 × 8 средним значением пикселя для каждого блока (тривиальное достижение коэффициента сжатия 64: 1).
Между прочим, это было бы идентично простой дискретизации вашего изображения (изображений) на 8 для каждого измерения, а затем «вздутию» уменьшенного изображения с коэффициентом 8 без интерполяции . Это приведет к получению некачественных изображений, поэтому этого не делается.
Сжатие JPEG использует преимущества дискретного косинусного преобразования (DCT) каждого блока 8 × 8. Как и любое подобное Фурье преобразование , DCT преобразует пространственную информацию (то есть изображения) (или информацию во временной области, такую как аудио) в информацию о частоте. DCT предпочтительнее сжатия JPEG по сравнению с другими преобразованиями (такими как дискретное синусоидальное преобразование (DST) или дискретное преобразование Фурье (DFT)) по 2 причинам:
Коэффициенты DCT (результат выполнения дискретного косинусного преобразования над данными) устанавливаются быстрее почти до нуля, чем другие преобразования; и
DCT "ведет себя хорошо" по краям выборки данных. Качественно это означает, что DCT вводит наименьший разрыв по краям между соседними блоками пикселей. Однако, хотя разрыв по краям мал (по сравнению с другими преобразованиями), наклон изменения сигнала по обе стороны от границы блока не является непрерывным.
Математически дискретное косинусное преобразование приведет к дробным числам, для которых потребуется точная математика для поддержания точности. Часть " discrete " в DCT означает, что коэффициенты были дискретизированы в целочисленные значения, которые могут быть сохранены в байте. Эта дискретизация является частью абсолютной ошибки между цифровым изображением и его эквивалентом в формате JPEG.
Другая часть ошибки и место, где происходит сжатие, заключается в усечении, буквально отбрасывании , высокочастотных коэффициентов DCT. Это аналогично представлению числа ⅓ в десятичном виде: 3 десятых (0,3), плюс 3 сотых (0,03), плюс 3 тысячных (0,003), до бесконечности . Это 0.3333 ... никогда не заканчивается. Для наших целей мы говорим, что 0,333 - это достойное приближение (погрешность составляет одну часть на 1000, или 0,1%).
Хотя ошибка невелика, тем не менее она есть. В частности, даже если DCT лучше на краях, чем другие преобразования, подобные Фурье, ошибка наиболее заметна на краях. Это то, что вы видите в вашем составном изображении.
Штабелирование / усреднение имеет свойство более или менее устранять случайный (стохастический) шум (то есть несмещенный шум датчика), поскольку шум имеет равную вероятность быть положительным или отрицательным. Когда вы бросите 200 000 справедливых кубиков, вы увидите, что статистически все числа выпадают примерно одинаково. Вот почему вы не видите усиленного сенсорного шума на вашем составном изображении.
Однако смещенные данные, независимо от того, присутствуют ли они по своей природе (то есть, изображение вашего ступенчатого держателя объектива) или вводятся извне, увеличиваются. Тот факт, что все ваши изображения были в формате JPEG, то есть каждый кадр был сжат DCT, увеличен в вашем стеке.
Причина, по которой вы видите ярко выраженную сетку, заключается в том, что сама природа сжатия DCT из-за ошибки квантования и низкочастотной фильтрации пространственных частот по блоку за раз увеличивает незначительные, но накапливающиеся ошибки разрыва границы между 8 × 8 блоками. .