Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Как математика Насира Ахмеда легла в основу почти каждого JPEG на Земле

Как математика Насира Ахмеда легла в основу почти каждого JPEG на Земле

В начале 1972 года ученый Насир Ахмед подал в Национальный научный фонд заявку на исследование косинусного преобразования, но получил отказ из-за того, что рецензент счел идею «слишком простой». Сегодня эта базовая математика применяется практически во всех файлах JPEG на наших устройствах, обеспечивая привычное сжатие снимков.

Я, Сергей Багров, подготовил подробный разбор этой исторической вехи и технических принципов. В этом материале мы проследим путь от университетских экспериментов до современных алгоритмов экспорта, которые использует каждый фотограф.

Лето, которое подавило сомнения и создало преобразование

Насир Ахмед преподавал в Канзасском государственном университете в период бурного развития методов кодирования изображений. Тогда исследователи активно внедряли ортогональные преобразования, оценивая их качество по стандартным тестовым картинкам. Золотым стандартом того времени считалось преобразование Карунена — Лоэва, обеспечивавшее минимальную среднеквадратичную ошибку, однако оно зависело от конкретной статистики данных и не имело быстрого фиксированного алгоритма вычисления.

Реклама

В поисках универсальной замены Ахмед обратился к математическим трудам по интерполяцонным полиномам Чебышева. Функции из этого семейства демонстрировали поразительное сходство с базисными функциями Карунена — Лоэва на тех диапазонах корреляции пикселей, которые характерны для реальных фотографий.

Как математика Насира Ахмеда легла в основу почти каждого JPEG на Земле
Nasir Ahmed photographed in 2012, forty years after the proposal was turned down. He took his doctorate at the University of New Mexico in 1966 under Shlomo Karni, on deriving transfer functions from time-delay specifications, and returned to the same department as a professor seventeen years later.

Эту идею научный фонд в итоге отклонил, посчитав банальной. Тем не менее, Ахмед продолжил работу вместе со своим аспирантом Т. Натараджаном и коллегой К. Р. Рао. Летом 1973 года они провели ключевые расчеты, результаты которых казались им невероятно успешными.

Как математика Насира Ахмеда легла в основу почти каждого JPEG на Земле
The two-dimensional discrete cosine transform as JPEG applies it to a single 8×8 tile. g(x,y) is the level-shifted sample at row x and column y, each running 0 to 7, after 128 has been subtracted from the 8-bit value. G(u,v) is the output coefficient at vertical frequency u and horizontal frequency

Оценив результаты по критерию искажений, разработчики убедились в их эффективности и передали материалы Гарри Эндрюсу из Южно-Калифорнийского университета. Его тестовая программа подтвердила лидерство разработки, после чего авторы опубликовали короткую заметку в январском выпуске журнала IEEE Transactions on Computers за 1974 год.

Реклама
Как математика Насира Ахмеда легла в основу почти каждого JPEG на Земле
All 64 basis patterns of the 8×8 discrete cosine transform, each one drawn at the eight-by-eight-pixel size it actually occupies. Horizontal frequency rises to the right and vertical frequency downward, so the pattern in any corner of a tile can be read off its position in this grid rather than comp

Что происходит с блоком 8 на 8 пикселей при сжатии

Современные цветные JPEG-файлы кодируются по отработанной схеме: изображение переводится в канал яркости и два цветовых канала, после чего каждый из них разбивается на сетку размером 8 на 8 пикселей. Перед началом математических операций кодер вычитает из каждого 8-битного значения 128, центрируя диапазон от -128 до 127.

Как математика Насира Ахмеда легла в основу почти каждого JPEG на Земле
What the quality slider is really doing. G(u,v) is the coefficient arriving from the transform, Q(u,v) is the divisor for that position in the quantization table, and B(u,v) is the whole number actually stored. The second line is how libjpeg derives the table it uses: Q-base is the value printed in

Затем применяется двумерное дискретное косинусное преобразование. На входе программа получает 64 числа, а на выходе формирует 64 коэффициента, каждый из которых отражает вес определенного фиксированного паттерна.

Как математика Насира Ахмеда легла в основу почти каждого JPEG на Земле
The Grand Place in Brussels saved at five settings, with 10:1 close-ups of the sky and the flower beds beside each full frame. The percentages here are compression strength rather than quality, so the bottom row is the harshest: at 2.1 KB, the sky has collapsed into flat eight-pixel squares and the

Первый паттерн представляет собой равномерный серый фон, а последующие задают плавные градиенты и более мелкие детали вплоть до тончайших шахматных узоров. Суммируя все паттерны с учетом их весов, кодер полностью восстанавливает исходный фрагмент изображения.

Как математика Насира Ахмеда легла в основу почти каждого JPEG на Земле
The order in which a JPEG encoder reads the 64 quantized coefficients out of a block. Each diagonal leg collects coefficients of roughly equal total frequency, horizontal and vertical counted together, which is why the path runs corner to corner instead of row by row. Diagram by Alex Khristov, relea

Верхний левый элемент матрицы называют DC-коэффициентом, который пропорционален среднему значению уровня тайла. Остальные элементы выступают в роли AC-коэффициентов, описывающих наличие мелких деталей и текстур в различных направлениях.

Поскольку реальные фотографии вроде неба, кожи или размытого фона содержат преимущественно плавные переходы, вся энергия сосредоточена в левом верхнем углу, а мелкие паттерны стремятся к нулю. Преобразование обратимо в пределах погрешности округления.

Выбор фиксированного блока 8х8 был закреплен комитетом JPEG в Копенгагене в 1988 году. Этот размер оказался оптимальным балансом между дешевизной вычислений на оборудовании тех лет и эффективностью сжатия.

Реклама

Ползунок качества как таблица делителей

Потеря данных происходит на следующем этапе, когда 64 коэффициента делятся на значения из специальной таблицы квантования, после чего результаты округляются до целых чисел. Человеческий глаз менее восприимчив к дефектам в мелких текстурах, чем к перепадам яркости, и эта особенность заложена в структуру матриц.

Каждый программный инструмент масштабирует базовую таблицу с помощью собственного алгоритма. Например, в библиотеке libjpeg при значении качества 50 таблица используется в исходном виде, при более высоких значениях делители уменьшаются, а при низких — возрастают в разы.

Коэффициенты, превратившиеся после деления в нули, собираются кодером с помощью зигзагообразного обхода в хвост массива, где алгоритмы сжатия легко удаляют их. В результате файл уменьшается в размерах ценой исчезновения мелких высокочастотных деталей.

Если выставить чрезмерно сильное сжатие, на границах блоков начинают проявляться квадратные артефакты, а тонкие цветные линии и мелкий текст размываются сильнее из-за особенностей работы с цветовыми каналами.

У дискретного косинусного преобразования есть конкретный автор

Долгое время дискретное косинусное преобразование воспринималось инженерами как нечто естественное и бесхозное, подобно законам природы. Однако у этой математики есть вполне конкретный авторский состав, история отказов, совместных обсуждений и публикаций.

После публикации в 1974 году признание приходило постепенно. Насир Ахмед продолжил академическую карьеру в Университете Нью-Мексико, где стал профессором и возглавил кафедру. Широкая общественность узнала его имя только в 2021 году после упоминания в телесериале, а в 2026 году он был избран членом Национальной инженерной академии США и удостоен премии IEEE за вклад в цифровую революцию.

Практические рекомендации по экспорту и сохранению файлов

Максимальное значение качества 100 в настройках экспорта не означает абсолютную безпотерьность. На этом уровне масштабирующий коэффициент равен единице, но само округление в ходе математического преобразования продолжается, а выбор субдискретизации цвета может дополнительно ухудшить насыщенность палитры.

Численные показатели качества не стандартизированы между разными приложениями. Шкалы в Photoshop, камерах и сторонних программах используют собственные таблицы, поэтому оценивать итоговый результат всегда стоит визуально при стопроцентном увеличении.

Каждое повторное сохранение готового файла JPEG приводит к пересчету уже квантованных коэффициентов и накоплению артефактов. Лучшей практикой остается работа с исходными RAW-файлами или несжатыми мастерами с последующим однократным экспортом финальной версии.

Уменьшение разрешения избыточного снимка перед экспортом в веб-формат часто дает более чистый и компактный файл, чем прямое сохранение гигантского кадра с высоким сжатием. Современные форматы вроде HEIC и JPEG XL сохранили развитие этой же концепции блоков, продолжая дело, заложенное инженерами более полувека назад.

01.