Сжатие изображений может быть с потерями или без потерь . Сжатие без потерь предпочтительнее для архивных целей и часто для медицинских изображений, технических чертежей, клипартов или комиксов. Методы сжатия с потерями, особенно при использовании на низких скоростях передачи данных , приводят к появлению артефактов сжатия . Методы сжатия с потерями особенно подходят для естественных изображений, таких как фотографии в приложениях, где незначительная (иногда незаметная) потеря точности приемлема для достижения существенного снижения скорости передачи данных. Сжатие с потерями, которое приводит к незначительным различиям, можно назвать визуально без потерь.
Квантование цвета - сокращение цветового пространства до нескольких "представительных" цветов в изображении. Выбранные цвета указываются в цветовой палитре в заголовке сжатого изображения. Каждый пиксель просто ссылается на индекс цвета в цветовой палитре. Этот метод можно комбинировать с дизерингом, чтобы избежать постеризации .
Палитра всего изображения, обычно 256 цветов, используется в форматах файлов GIF и PNG.
Палитра блоков, обычно 2 или 4 цвета для каждого блока размером 4x4 пикселя, используется в BTC , CCC , S2TC и S3TC .
Подвыборка цветности . Это позволяет использовать тот факт, что человеческий глаз воспринимает пространственные изменения яркости более остро, чем изменения цвета, усредняя или отбрасывая часть информации о цветности в изображении.
Наилучшее качество изображения при заданной скорости сжатия (или битрейте ) является основной целью сжатия изображений, однако существуют и другие важные свойства схем сжатия изображений:
Масштабируемость обычно относится к снижению качества, достигаемому путем манипуляции битовым потоком или файлом (без декомпрессии и повторной компрессии). Другие названия масштабируемости — прогрессивное кодирование или встроенные битовые потоки . Несмотря на свою противоположную природу, масштабируемость также может быть обнаружена в кодеках без потерь, обычно в форме сканирования пикселей от грубого к тонкому. Масштабируемость особенно полезна для предварительного просмотра изображений во время их загрузки (например, в веб-браузере) или для предоставления доступа переменного качества, например, к базам данных. Существует несколько типов масштабируемости:
Прогрессивное качество или прогрессивное сложение слоев: поток битов последовательно улучшает реконструированное изображение.
Разрешение прогрессивное : сначала кодируем изображение с более низким разрешением; затем кодируем разницу с более высоким разрешением. [6] [7]
Компонентный прогрессивный : сначала кодируется версия в оттенках серого, затем добавляется полноцветная версия.
Кодирование области интереса . Определенные части изображения кодируются с более высоким качеством, чем другие. Это может сочетаться с масштабируемостью (кодировать эти части сначала, другие — позже).
Метаинформация . Сжатые данные могут содержать информацию об изображении, которая может использоваться для категоризации, поиска или просмотра изображений. Такая информация может включать статистику цвета и текстуры, небольшие изображения предварительного просмотра и информацию об авторе или авторских правах.
Мощность обработки . Алгоритмы сжатия требуют разного количества мощности обработки для кодирования и декодирования. Некоторые алгоритмы высокого сжатия требуют высокой мощности обработки.
Качество метода сжатия часто измеряется пиковым отношением сигнал/шум . Оно измеряет количество шума, вносимого сжатием изображения с потерями, однако субъективное суждение зрителя также рассматривается как важная мера, возможно, самая важная.
Стандарт JPEG 2000 разрабатывался с 1997 по 2000 год комитетом JPEG под председательством Тураджа Эбрахими (позднее президента JPEG). [18] В отличие от алгоритма DCT, используемого исходным форматом JPEG, JPEG 2000 вместо этого использует алгоритмы дискретного вейвлет-преобразования (DWT). Он использует вейвлет-преобразование CDF 9/7 (разработанное Ингрид Добеши в 1992 году) для своего алгоритма сжатия с потерями, [19] и вейвлет-преобразование Ле Галля–Табатабаи (LGT) 5/3 [20] [21] (разработанное Дидье Ле Галлем и Али Дж. Табатабаи в 1988 году) [22] для своего алгоритма сжатия без потерь. [19] Технология JPEG 2000 , включающая расширение Motion JPEG 2000 , была выбрана в качестве стандарта видеокодирования для цифрового кино в 2004 году. [23]
Кодирование Хаффмана
Кодирование Хаффмана — это фундаментальная техника, используемая в алгоритмах сжатия изображений для достижения эффективного представления данных. Названный в честь своего изобретателя Дэвида А. Хаффмана, этот метод широко используется в различных стандартах сжатия изображений, таких как JPEG и PNG.
Принцип кодирования Хаффмана
Кодирование Хаффмана — это форма энтропийного кодирования, которая назначает коды переменной длины входным символам на основе частоты их появления. Основной принцип заключается в назначении более коротких кодов более часто встречающимся символам и более длинных кодов менее частым символам, тем самым уменьшая среднюю длину кода по сравнению с кодами фиксированной длины.
Применение в сжатии изображений
При сжатии изображений кодирование Хаффмана обычно применяется после других преобразований, таких как дискретное косинусное преобразование (DCT) в случае сжатия JPEG. После преобразования данных изображения в представление частотной области кодирование Хаффмана используется для эффективного кодирования преобразованных коэффициентов.
Этапы кодирования Хаффмана для сжатия изображений
Частотный анализ: вычислите частоту появления каждого символа или комбинации символов в преобразованных данных изображения.
Построение дерева Хаффмана: Построение дерева Хаффмана на основе частот символов. Дерево строится рекурсивно путем объединения узлов с наименьшими частотами до тех пор, пока не будет сформирован один корневой узел.
Назначение кодовых слов: пройдите по дереву Хаффмана, чтобы назначить каждому символу кодовые слова переменной длины, при этом более короткие кодовые слова назначаются более частым символам.
Кодирование: замените исходные символы в данных изображения соответствующими им кодовыми словами Хаффмана для создания сжатого потока данных.
Преимущества кодирования Хаффмана при сжатии изображений
Сжатие без потерь: кодирование Хаффмана может использоваться в методах сжатия изображений как с потерями, так и без потерь, обеспечивая гибкость в балансе между степенью сжатия и качеством изображения.
Эффективность: назначая более короткие коды часто встречающимся символам, кодирование Хаффмана уменьшает среднюю длину кода, что приводит к эффективному представлению данных и снижению требований к хранению.
Совместимость: кодирование Хаффмана широко поддерживается и может быть легко интегрировано в существующие стандарты и алгоритмы сжатия изображений.
Заключение
Кодирование Хаффмана играет решающую роль в сжатии изображений, эффективно кодируя данные изображения в компактное представление. Его способность адаптивно назначать кодовые слова переменной длины на основе частот символов делает его важным компонентом современных методов сжатия изображений, способствуя сокращению пространства для хранения и полосы пропускания передачи при сохранении качества изображения.
Примечания и ссылки
^ «Сжатие данных изображений».
^ Ахмед, Н.; Натараджан, Т.; Рао, К. Р. (1974). «Дискретное косинусное преобразование» (PDF) . IEEE Transactions on Computers : 90–93. doi :10.1109/TC.1974.223784. S2CID 149806273. Архивировано из оригинала (PDF) 25.11.2011.
↑ Гилад Дэвид Мааян (24 ноября 2021 г.). «Сжатие изображений на основе искусственного интеллекта: современное состояние». На пути к науке о данных . Проверено 6 апреля 2023 г.
^ Бюльманн, Маттиас (2022-09-28). "Стабильное сжатие изображений на основе диффузии". Medium . Получено 2022-11-02 .
^ "High-Fidelity Generative Image Compression" . Получено 6 апреля 2023 г. .
^ Burt, P.; Adelson, E. (1 апреля 1983 г.). «Пирамида Лапласа как компактный код изображения». IEEE Transactions on Communications . 31 (4): 532–540. CiteSeerX 10.1.1.54.299 . doi :10.1109/TCOM.1983.1095851. S2CID 8018433.
^ Шао, Дэн; Кропач, Уолтер Г. (3–5 февраля 2010 г.). Шпачек, Либор; Франк, Войтех (ред.). «Неправильная пирамида графа Лапласа» (PDF) . Зимний семинар по компьютерному зрению 2010 . Нове Грады, Чехия: Чешское общество распознавания образов. Архивировано (PDF) из оригинала 27 мая 2013 г.
^ Клод Элвуд Шеннон (1948). Alcatel-Lucent (ред.). "Математическая теория связи" (PDF) . Bell System Technical Journal . 27 (3–4): 379–423, 623–656. doi :10.1002/j.1538-7305.1948.tb01338.x. hdl : 11858/00-001M-0000-002C-4314-2 . Архивировано (PDF) из оригинала 24.05.2011 . Получено 21.04.2019 .
^ Дэвид Альберт Хаффман (сентябрь 1952 г.), «Метод построения кодов с минимальной избыточностью» (PDF) , Труды IRE , т. 40, № 9, стр. 1098–1101, doi :10.1109/JRPROC.1952.273898, архивировано (PDF) из оригинала 08.10.2005 г.
^ Pratt, WK; Kane, J.; Andrews, HC (1969). «Кодирование изображений с преобразованием Адамара». Труды IEEE . 57 : 58–68. doi :10.1109/PROC.1969.6869.
^ Ахмед, Насир (январь 1991 г.). «Как я придумал дискретное косинусное преобразование». Цифровая обработка сигналов . 1 (1): 4–5. Bibcode : 1991DSP.....1....4A. doi : 10.1016/1051-2004(91)90086-Z.
^ "T.81 – ЦИФРОВОЕ СЖАТИЕ И КОДИРОВАНИЕ НЕПРЕРЫВНЫХ ТОНАЛЬНЫХ ИЗОБРАЖЕНИЙ – ТРЕБОВАНИЯ И РУКОВОДСТВО" (PDF) . CCITT . Сентябрь 1992. Архивировано (PDF) из оригинала 2000-08-18 . Получено 12 июля 2019 .
^ "Объяснение формата изображения JPEG". BT.com . BT Group . 31 мая 2018 г. Получено 5 августа 2019 г.
^ «Что такое JPEG? Невидимый объект, который вы видите каждый день». The Atlantic . 24 сентября 2013 г. Получено 13 сентября 2019 г.
^ Баранюк, Крис (15 октября 2015 г.). «Защита от копирования может появиться в JPEG». BBC News . BBC . Получено 13 сентября 2019 г. .
^ "Противоречие GIF: точка зрения разработчика программного обеспечения". 27 января 1995 г. Получено 26 мая 2015 г.
^ L. Peter Deutsch (май 1996 г.). DEFLATE Compressed Data Format Specification версии 1.3. IETF . стр. 1. раздел. Аннотация. doi : 10.17487/RFC1951 . RFC 1951. Получено 23.04.2014 .
^ Таубман, Дэвид; Марселлин, Майкл (2012). Основы, стандарты и практика сжатия изображений JPEG2000: Основы, стандарты и практика сжатия изображений. Springer Science & Business Media . ISBN9781461507994.
^ ab Unser, M.; Blu, T. (2003). "Математические свойства вейвлет-фильтров JPEG2000" (PDF) . IEEE Transactions on Image Processing . 12 (9): 1080–1090. Bibcode :2003ITIP...12.1080U. doi :10.1109/TIP.2003.812329. PMID 18237979. S2CID 2765169. Архивировано из оригинала (PDF) 2019-10-13.
^ Салливан, Гэри (8–12 декабря 2003 г.). «Общие характеристики и соображения по проектированию для временного поддиапазонного видеокодирования». ITU-T . Группа экспертов по кодированию видео . Получено 13 сентября 2019 г. .
^ Бовик, Алан С. (2009). Основное руководство по обработке видео. Academic Press . стр. 355. ISBN9780080922508.
^ Ле Галль, Дидье; Табатабай, Али Дж. (1988). «Кодирование поддиапазонов цифровых изображений с использованием симметричных фильтров с коротким ядром и методов арифметического кодирования». ICASSP-88., Международная конференция по акустике, речи и обработке сигналов . стр. 761–764 т.2. doi :10.1109/ICASSP.1988.196696. S2CID 109186495.
^ Шварц, Чарльз С. (2005). Понимание цифрового кино: профессиональный справочник. Тейлор и Фрэнсис . стр. 147. ISBN9780240806174.