Дискретное косинусное преобразование как математическая основа компрессии изображения

Дискретное косинусное преобразование как математическая основа компрессии изображения

Для сжатия двумерных цифровых изображений используется одно из весьма известных в математике преобразований — дискретное косинусное преобразование (Discrete Cosine Transformation, DCT). Оно применяется почти во всех видах компрессии, используемых в видеонаблюдении, за исключением вейвлет-сжатия. Во всех алгоритмах JPEG, MPEG и H.26х использована та или иная разновидность DCT. Фактически ссылочный кадр во всех потоковых компрессиях представляет собой статическое изображение формата JPEG, сжатое путём дискретного косинусного преобразования. Поэтому DCT следует уделить как минимум немного внимания. Оно применяется почти во всех видах компрессии, используемых в видеонаблюдении, за исключением вейвлет-сжатия. Во всех алгоритмах JPEG, MPEG и H.26х использована та или иная разновидность DCT. Фактически ссылочный кадр во всех потоковых компрессиях представляет собой статическое изображение формата JPEG, сжатое путём дискретного косинусного преобразования. Поэтому DCT следует уделить как минимум немного внимания.

Преобразование Фурье

В основе дискретного косинусного преобразования лежит преобразование Фурье. Преобразование Фурье является одним из лучших методов анализа спектра сигнала. Единственная «проблема» состоит в том, что этот алгоритм работает в предположении, что сигнал является периодическим и  бесконечным. В реальности таких сигналов не существует, поэтому в 60-х годах прошлого века для спектрального анализа сигналов с конечной базой во времени или пространстве была предложена разновидность преобразования Фурье — быстрое преобразование Фурье (Fast Fourier Transformation, FFT). А дискретное косинусное преобразование, в свою очередь, основано на быстром преобразовании Фурье.

Как работает дискретное косинусное преобразование? В телевизионных изображениях — и  вещательного ТВ, и видеонаблюдения — неизменно присутствует некоторая избыточность. Если в пределах одного телевизионного поля находится объект достаточного размера, все пикселы, представляющие этот объект, имеют примерно одни и те же значения яркости и цвета. Это и есть избыточность, позволяющая уменьшить количество информации о каждом отдельном пикселе, определённым образом описав контуры объекта и указав средние значения яркости и цвета в пределах этого контура. Крупные объекты соответствуют низким пространственным частотам, а  мелкие — высоким. На верхнем уровне эти частоты одновременно не присутствуют. В цифровом видеосигнале может быть передан весь спектр пространственных частот, однако если провести частотный анализ изображения, то возможно оставить в сигнале лишь те частоты, что действительно в нём присутствуют. Следовательно, важным шагом в процессе сжатия изображений является анализ пространственных частот.

Как работает косинусное преобразование

Приведённая на рисунке иллюстрация показывает, как работает двумерное дискретное косинусное преобразование. Изображение обрабатывается поблочно — как правило, квадратами 8 × 8 пикселов. В результате преобразования возникает матрица из 64 коэффициентов. Коэффициент — число, которое описывает содержание в блоке определённой пространственной частоты. На рисунке показаны матрицы значений уровня сигнала для каждого пиксела и коэффициентов пространственных спектральных составляющих DCT. Верхний слева коэффициент представляет собой усреднённую яркость блока — среднее арифметическое по всем пикселам — или постоянную составляющую. При перемещении вправо по пикселам коэффициенты отражают увеличение пространственной частоты по горизонтали, при перемещении вниз — по вертикали. В настоящий момент никакой компрессии ещё не произведено. Фактически количество символов для описания значения спектральных коэффициентов блока 8 × 8 равно количеству отсчётов исходных значений пикселов. Однако очевидно, что дискретное косинусное преобразование конвертирует исходную информацию, содержащуюся в пикселах, в формат, в котором может быть выявлена избыточность. Поскольку не  все пространственные частоты присутствуют в сигнале одновременно, на выходе преобразования DCT будет наблюдаться набор значений коэффициентов, часть из которых будет равна нулю либо незначительно отличаться от нуля.

зигзагообразное сканирование матрицы

При нулевом значении пересылка коэффициента не  имеет смысла. При значении, близком к нулю, принятие коэффициента за ноль будет выражено в добавлении в сигнал той же самой пространственной частоты, но в противофазе. Решение об обнулении коэффициента зависит от того, насколько заметным должен быть этот нежелательный сигнал — а это регулируется заданием степени сжатия изображения. Если значение коэффициента слишком велико, чтобы им пренебречь, то компрессия всё равно может сделать своё дело, уменьшив количество данных для описания его значения. Визуально это выражается в добавлении к изображению небольшого «геометрического» шума. Артефактами компрессии, использующей дискретное косинусное преобразование, являются проявления пикселизации слишком «зажатых» изображений. Это происходит, как правило, на границах разбивки изображения на блоки 8 × 8 пикселов, а также на резких контрастных переходах

Следует заметить, что вейвлет-сжатие имеет иную математическую основу, чем сжатие, используемое в файлах JPEG: вейвлет-алгоритм обрабатывает всё изображение целиком, а не отдельные блоки. Поэтому артефакты вейвлет-компрессии заключаются не  в пикселизации изображения, а в его размытии. Вейвлет-компрессия использует дискретное вейвлет-преобразование (Discrete Wavelet Transformation, DWT). И в DCT, и в DWT имеются потери. Задача состоит в том, чтобы найти компромисс между высокой степенью компрессии, уменьшающей размеры файлов, и качеством изображения, деградирующим при слишком высокой степени сжатия. Современный стандарт сжатия видеоданных на основе вейвлет-преобразования называется JPEG-2000.

На видео: Обработка изображений. Алгоритм сжатия изображений JPEG

Роман
Оцените автора
Безопасник
Добавить комментарий