Дискретное косинусное преобразование
Дискретное косинусное преобразование (ДКП, англ. Discrete Cosine Transform, DCT) — это одно из ортогональных преобразований сигналов, основанное на разложении исходной последовательности чисел (обычно отсчётов сигнала) в сумму косинусоид различных частот. В отличие от дискретного преобразования Фурье (ДПФ), ДКП использует только вещественные (действительные) числа и косинусные базисные функции, что обеспечивает более высокую энергетическую компактность: при преобразовании основная часть энергии сигнала сосредотачивается в небольшом количестве низкочастотных коэффициентов. Это свойство делает ДКП одним из ключевых инструментов в задачах сжатия данных, особенно в области обработки изображений и аудио.
История
Идея использования косинусных функций для представления сигналов восходит к работам французского математика Жана-Батиста Жозефа Фурье, который в начале XIX века показал, что произвольную периодическую функцию можно разложить в ряд синусов и косинусов. Однако дискретная форма, пригодная для цифровой обработки, была разработана значительно позже.
В 1974 году инженеры Насир Ахмед, Т. Натараджан и К. Р. Рао из Техасского университета (США) опубликовали статью «Discrete Cosine Transform», в которой впервые формально описали ДКП и его свойства. Они показали, что ДКП является дискретным аналогом преобразования Фурье для вещественных сигналов и обладает высокой степенью декорреляции данных, что критически важно для сжатия. В 1977 году Чен, Смит и Фрейкс предложили алгоритм быстрого вычисления ДКП, аналогичный быстрому преобразованию Фурье (БПФ), что сделало ДКП практичным для реальных применений.
Широкое распространение ДКП получило в конце 1980-х — начале 1990-х годов, когда Международная организация по стандартизации (ISO) и Международная электротехническая комиссия (IEC) приняли его в качестве основы для стандарта сжатия изображений JPEG (Joint Photographic Experts Group) и стандарта сжатия видео MPEG (Moving Picture Experts Group). С тех пор ДКП остаётся одним из наиболее часто используемых преобразований в цифровой обработке сигналов.
Математическое описание
Дискретное косинусное преобразование представляет собой линейное преобразование, которое отображает последовательность из N вещественных чисел x[0], x[1], ..., x[N-1] в последовательность из N коэффициентов X[0], X[1], ..., X[N-1]. Существует несколько вариантов ДКП, отличающихся граничными условиями и симметрией базисных функций. Наиболее распространённым является ДКП-II (DCT-II), используемое в JPEG и MPEG.
Формула прямого ДКП-II для последовательности x[n] (n = 0, 1, ..., N-1) имеет вид:
X[k] = c[k] Σ_{n=0}^{N-1} x[n] cos( (π k (2n + 1)) / (2N) ),
где:
- k = 0, 1, ..., N-1 — индекс коэффициента,
- c[0] = 1/√N,
- c[k] = √(2/N) для k > 0.
Обратное преобразование (ДКП-III) восстанавливает исходную последовательность:
x[n] = Σ_{k=0}^{N-1} c[k] X[k] cos( (π k (2n + 1)) / (2N) ).
Коэффициент X[0] называется постоянной составляющей (DC-коэффициент) и представляет собой среднее значение исходного сигнала, умноженное на √N. Остальные коэффициенты (X[1]...X[N-1]) называются переменными составляющими (AC-коэффициенты) и соответствуют различным частотам косинусоид.
Свойства
- Энергетическая компактность: ДКП концентрирует энергию сигнала в небольшом числе низкочастотных коэффициентов. Для типичных изображений и аудиосигналов более 90% энергии может содержаться в первых 5-10% коэффициентов.
- Декорреляция: ДКП снижает корреляцию между отсчётами сигнала, что позволяет эффективно применять последующее квантование и кодирование.
- Ортогональность: Базисные функции ДКП ортогональны, что обеспечивает обратимость преобразования без потерь (при условии использования вещественных чисел с достаточной точностью).
- Разделимость: Для двумерных сигналов (например, изображений) ДКП может быть выполнено последовательно по строкам и столбцам, что упрощает вычисления.
Классификация
Существует 8 стандартных типов дискретного косинусного преобразования (DCT-I — DCT-VIII), которые различаются граничными условиями и симметрией. На практике чаще всего используются:
- DCT-II (стандартное ДКП): применяется в сжатии изображений и видео (JPEG, MPEG, H.264, H.265).
- DCT-III (обратное ДКП): используется для восстановления сигнала из коэффициентов.
- DCT-IV: применяется в некоторых аудиокодеках (например, AAC) и в модифицированном дискретном косинусном преобразовании (MDCT).
- MDCT (Modified Discrete Cosine Transform): вариант ДКП-IV с перекрытием блоков, используется в современных аудиокодеках (MP3, AAC, Ogg Vorbis) для уменьшения артефактов на границах блоков.
Применение
Сжатие изображений (JPEG)
В стандарте JPEG (Joint Photographic Experts Group, принят в 1992 году) ДКП является основным этапом сжатия. Процесс включает:
- Разбиение изображения на блоки размером 8×8 пикселей.
- Преобразование цветового пространства из RGB в YCbCr (яркость и цветность).
- Выполнение двумерного ДКП для каждого блока.
- Квантование коэффициентов с использованием таблиц квантования, которые уменьшают точность высокочастотных компонент.
- Кодирование полученных коэффициентов с помощью кодирования длин серий (RLE) и кодирования Хаффмана или арифметического кодирования.
ДКП обеспечивает высокую степень сжатия (до 10-20 раз) с минимальными визуальными потерями. При сильном сжатии проявляются характерные артефакты — «блочность» (видимые границы между блоками 8×8).
Сжатие видео (MPEG, H.264, H.265)
В стандартах сжатия видео (MPEG-1, MPEG-2, MPEG-4, H.264/AVC, H.265/HEVC) ДКП применяется к остаточным сигналам после компенсации движения. Размер блоков может варьироваться от 4×4 до 32×32 (в H.265). ДКП позволяет эффективно удалять пространственную избыточность в видеокадрах.
Сжатие аудио (MP3, AAC, Ogg Vorbis)
В аудиокодеках используется модифицированное дискретное косинусное преобразование (MDCT) с перекрытием блоков. MDCT применяется к окнам сигнала длительностью 20-50 мс, что позволяет снизить артефакты на границах блоков. После MDCT выполняется квантование и кодирование с использованием психоакустической модели, которая учитывает особенности восприятия звука человеком.
Обработка сигналов и спектральный анализ
ДКП используется в задачах фильтрации, сглаживания, интерполяции и спектрального анализа, где требуется компактное представление сигнала. Например, в системах распознавания речи ДКП применяется для извлечения мел-частотных кепстральных коэффициентов (MFCC).
Криптография и стеганография
В некоторых методах цифровых водяных знаков и стеганографии ДКП используется для встраивания скрытой информации в коэффициенты преобразования, что позволяет сохранять устойчивость к сжатию и другим искажениям.
Примеры
Одномерное ДКП для последовательности
Пусть дана последовательность из 4 чисел: x = [1, 2, 3, 4]. Вычислим коэффициенты ДКП-II (N=4):
- c[0] = 1/√4 = 0.5
- c[k] = √(2/4) = √0.5 ≈ 0.7071 для k > 0
X[0] = 0.5 (1 + 2 + 3 + 4) = 0.5 10 = 5.0 X[1] = 0.7071 [1cos(π/8) + 2cos(3π/8) + 3cos(5π/8) + 4cos(7π/8)] ≈ 0.7071 (0.9239 + 0.3827 - 0.3827 - 0.9239) = 0 X[2] = 0.7071 [1cos(π/4) + 2cos(3π/4) + 3cos(5π/4) + 4cos(7π/4)] = 0.7071 (0.7071 - 0.7071 - 0.7071 + 0.7071) = 0 X[3] = 0.7071 [1cos(3π/8) + 2cos(9π/8) + 3cos(15π/8) + 4cos(21π/8)] ≈ 0.7071 (0.3827 - 0.9239 - 0.9239 + 0.3827) = 0.7071 * (-1.0824) ≈ -0.765
Результат: X = [5.0, 0, 0, -0.765]. Большая часть энергии сосредоточена в DC-коэффициенте (5.0), что демонстрирует энергетическую компактность.
Двумерное ДКП для блока изображения
Для блока 8×8 пикселей (например, в JPEG) двумерное ДКП вычисляется как:
X[k1][k2] = c[k1] c[k2] Σ_{n1=0}^{7} Σ_{n2=0}^{7} x[n1][n2] cos( (π k1 (2n1 + 1)) / 16 ) cos( (π k2 (2n2 + 1)) / 16 )
На практике ДКП выполняется раздельно: сначала по строкам, затем по столбцам (или наоборот). После квантования многие высокочастотные коэффициенты обнуляются, что позволяет сжимать изображение.
Интересные факты
- ДКП является вещественным аналогом дискретного преобразования Фурье (ДПФ). Если ДПФ использует комплексные экспоненты (синусы и косинусы), то ДКП — только косинусы, что даёт вдвое меньше коэффициентов для вещественного сигнала.
- В стандарте JPEG используется ДКП-II, а обратное преобразование — ДКП-III. В некоторых реализациях для ускорения вычислений применяются алгоритмы быстрого ДКП, основанные на БПФ.
- ДКП лежит в основе формата изображений JPEG, который является одним из самых распространённых в мире. По оценкам, ежедневно создаётся миллиарды JPEG-файлов.
- В 2019 году группа исследователей из Массачусетского технологического института (MIT) предложила альтернативу ДКП — нейросетевое преобразование, которое может адаптироваться к конкретным данным и обеспечивать более высокую степень сжатия. Однако ДКП остаётся стандартом де-факто благодаря своей простоте и эффективности.
Критика и ограничения
- Блочные артефакты: При сильном сжатии изображений (JPEG) на границах блоков 8×8 возникают видимые ступеньки и искажения, особенно заметные на однородных участках (например, небо, стена). Для борьбы с этим используются постфильтры и методы сглаживания.
- Неоптимальность для некоторых типов данных: ДКП хорошо работает для естественных изображений и аудиосигналов, но может быть менее эффективным для искусственных (текст, графика) или сильно зашумлённых данных.
- Зависимость от размера блока: Выбор размера блока (8×8, 16×16, 32×32) влияет на качество сжатия и вычислительную сложность. Слишком маленькие блоки увеличивают количество артефактов, слишком большие — снижают локальную адаптивность.
- Альтернативы: В современных стандартах сжатия (например, JPEG XL, AVIF) всё чаще используются вейвлет-преобразования или нейросетевые методы, которые могут превосходить ДКП по качеству при одинаковой степени сжатия.
Источники
- Ahmed, N., Natarajan, T., & Rao, K. R. (1974). Discrete Cosine Transform. IEEE Transactions on Computers, C-23(1), 90–93.
- Rao, K. R., & Yip, P. (1990). Discrete Cosine Transform: Algorithms, Advantages, Applications. Academic Press.
- Wallace, G. K. (1992). The JPEG Still Picture Compression Standard. IEEE Transactions on Consumer Electronics, 38(1), xviii–xxxiv.
- ISO/IEC 10918-1:1994 — Information technology — Digital compression and coding of continuous-tone still images: Requirements and guidelines.
- ITU-T Recommendation H.264 (2021) — Advanced video coding for generic audiovisual services.
- Britanak, V., Yip, P., & Rao, K. R. (2007). Discrete Cosine and Sine Transforms: General Properties, Fast Algorithms and Integer Approximations. Academic Press.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →