Сжатие изображения
Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( Апрель 2010 г. ) |
Сжатие изображений — это тип сжатия данных , применяемый к цифровым изображениям с целью снижения затрат на их хранение или передачу . Алгоритмы могут использовать преимущества визуального восприятия и статистические свойства данных изображения для обеспечения превосходных результатов по сравнению с обычными методами сжатия данных , которые используются для других цифровых данных. [1]
Сжатие изображений с потерями и без потерь [ править ]
Сжатие изображений может быть с потерями или без потерь . Сжатие без потерь предпочтительнее для архивных целей и часто для медицинских изображений, технических чертежей, картинок или комиксов. Методы сжатия с потерями, особенно при использовании на низких скоростях передачи данных , приводят к появлению артефактов сжатия . Методы с потерями особенно подходят для естественных изображений, таких как фотографии, в приложениях, где незначительная (иногда незаметная) потеря точности приемлема для достижения существенного снижения скорости передачи данных. Сжатие с потерями, которое дает незначительные различия, можно назвать сжатием без визуальных потерь.
Методы сжатия с потерями :
- Кодирование с преобразованием . Это наиболее часто используемый метод.
- Дискретное косинусное преобразование (DCT) – наиболее широко используемая форма сжатия с потерями. Это тип преобразования Фурье , первоначально разработанный Насиром Ахмедом , Т. Натараджаном и К. Р. Рао в 1974 году. [2] DCT иногда называют «DCT-II» в контексте семейства дискретных косинусных преобразований (см. дискретное косинусное преобразование ). Обычно это наиболее эффективная форма сжатия изображений.
- недавно разработанное вейвлет-преобразование Также широко используется , за которым следует квантование и энтропийное кодирование .
- Квантование цвета . Уменьшение цветового пространства до нескольких «репрезентативных» цветов изображения. Выбранные цвета указаны в цветовой палитре в заголовке сжатого изображения. Каждый пиксель просто ссылается на индекс цвета в цветовой палитре. Этот метод можно комбинировать с дизерингом, чтобы избежать постеризации .
- Подвыборка цветности . При этом используется тот факт, что человеческий глаз воспринимает пространственные изменения яркости более резко, чем изменения цвета, за счет усреднения или снижения некоторой информации о цветности в изображении.
- Фрактальное сжатие .
- Совсем недавно методы, основанные на машинном обучении были применены , с использованием многослойных перцептронов , сверточных нейронных сетей и генеративно-состязательных сетей . [3] Реализации доступны в OpenCV , TensorFlow , MATLAB ’s Image Processing Toolbox (IPT) и проекте с открытым исходным кодом High-Fidelity Generative Image Compression (HiFiC). [4]
Методы сжатия без потерь :
- Кодирование по длине — используется в методе по умолчанию в PCX и как один из возможных в BMP , TGA , TIFF.
- Сжатие изображения области
- Прогнозирующее кодирование - используется в DPCM.
- Энтропийное кодирование . Двумя наиболее распространенными методами энтропийного кодирования являются арифметическое кодирование и кодирование Хаффмана.
- Алгоритмы адаптивного словаря, такие как LZW , используются в GIF и TIFF.
- DEFLATE – используется в PNG , MNG и TIFF.
- Цепные коды
- Диффузионные модели [5]
Другая недвижимость [ править ]
Наилучшее качество изображения при заданной степени сжатия (или битрейте ) — основная цель сжатия изображений, однако существуют и другие важные свойства схем сжатия изображений:
Масштабируемость обычно означает снижение качества, достигаемое путем манипулирования битовым потоком или файлом (без распаковки и повторного сжатия). Другие названия масштабируемости — прогрессивное кодирование или встроенные потоки битов . Несмотря на свою противоположную природу, масштабируемость также можно обнаружить в кодеках без потерь, обычно в форме сканирования пикселей от грубого до мелкого. Масштабируемость особенно полезна для предварительного просмотра изображений во время их загрузки (например, в веб-браузере) или для обеспечения доступа с переменным качеством, например, к базам данных. Существует несколько типов масштабируемости:
- Прогрессивное качество или прогрессивное послойное воспроизведение: битовый поток последовательно совершенствует реконструированное изображение.
- Прогрессивное разрешение : сначала кодируйте изображение с более низким разрешением; затем закодируйте разницу в более высоком разрешении. [6] [7]
- Компонентный прогрессивный : первая версия кодирования в оттенках серого; затем добавляем полный цвет.
Кодирование области интереса . Некоторые части изображения кодируются с более высоким качеством, чем другие. Это можно комбинировать с масштабируемостью (сначала кодируйте эти части, а потом другие).
Метаинформация . Сжатые данные могут содержать информацию об изображении, которую можно использовать для категоризации, поиска или просмотра изображений. Такая информация может включать статистику цвета и текстуры, небольшие изображения предварительного просмотра , а также информацию об авторе или авторских правах.
Мощность обработки . Алгоритмы сжатия требуют разной вычислительной мощности для кодирования и декодирования. Некоторые алгоритмы высокого сжатия требуют высокой вычислительной мощности.
Качество метода сжатия часто измеряется пиковым отношением сигнал/шум . Он измеряет количество шума, возникающего в результате сжатия изображения с потерями, однако субъективное мнение зрителя также считается важной мерой, возможно, самой важной.
История [ править ]
Энтропийное кодирование началось в конце 1940-х годов с введением кодирования Шеннона-Фано . [8] основу кодирования Хаффмана , опубликованную в 1952 году. [9] Кодирование с преобразованием началось в конце 1960-х годов, с введением кодирования с быстрым преобразованием Фурье (БПФ) в 1968 году и преобразования Адамара в 1969 году. [10]
Важным достижением в области сжатия данных изображений стало дискретное косинусное преобразование (DCT), метод сжатия с потерями, впервые предложенный Насиром Ахмедом , Т. Натараджаном и К. Р. Рао в 1973 году. [11] JPEG был представлен Объединенной группой экспертов по фотографии (JPEG) в 1992 году. [12] JPEG сжимает изображения до файлов гораздо меньшего размера и стал наиболее широко используемым форматом файлов изображений . [13] JPEG во многом способствовал широкому распространению цифровых изображений и цифровых фотографий . [14] с несколькими миллиардами изображений JPEG, создаваемыми каждый день по состоянию на 2015 год. [15]
Лемпель-Зив-Велч (LZW) — алгоритм сжатия без потерь, разработанный Авраамом Лемпелем , Джейкобом Зивом и Терри Уэлчем в 1984 году. Он используется в формате GIF , представленном в 1987 году. [16] DEFLATE — алгоритм сжатия без потерь, разработанный Филом Кацем и указанный в 1996 году, используется в формате Portable Network Graphics (PNG). [17]
Стандарт 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 на компьютерах : 90–93. дои : 10.1109/TC.1974.223784 . S2CID 149806273 . Архивировано из оригинала (PDF) 25 ноября 2011 г.
- ^ Гилад Давид Мааян (24 ноября 2021 г.). «Сжатие изображений на основе искусственного интеллекта: современное состояние» . На пути к науке о данных . Проверено 6 апреля 2023 г.
- ^ «Высокоточное генеративное сжатие изображений» . Проверено 6 апреля 2023 г.
- ^ Бюльманн, Матиас (28 сентября 2022 г.). «Стабильное диффузионное сжатие изображения» . Середина . Проверено 2 ноября 2022 г.
- ^ Берт, П.; Адельсон, Э. (1 апреля 1983 г.). «Пирамида Лапласа как компактный код изображения». Транзакции IEEE в области коммуникаций . 31 (4): 532–540. CiteSeerX 10.1.1.54.299 . дои : 10.1109/TCOM.1983.1095851 . S2CID 8018433 .
- ^ Шао, Дэн; Кропач, Уолтер Г. (3–5 февраля 2010 г.). Шпачек, Либор; Франк, Войтех (ред.). «Неправильная пирамида графа Лапласа» (PDF) . Зимний семинар по компьютерному зрению 2010 . Нове Грады, Чехия: Чешское общество распознавания образов. Архивировано (PDF) из оригинала 27 мая 2013 г.
- ^ Клод Элвуд Шеннон (1948). Alcatel-Lucent (ред.). «Математическая теория связи» (PDF) . Технический журнал Bell System . 27 (3–4): 379–423, 623–656. дои : 10.1002/j.1538-7305.1948.tb01338.x . hdl : 11858/00-001M-0000-002C-4314-2 . Архивировано (PDF) из оригинала 24 мая 2011 г. Проверено 21 апреля 2019 г.
- ^ Дэвид Альберт Хаффман (сентябрь 1952 г.), «Метод построения кодов с минимальной избыточностью» (PDF) , Proceedings of IRE , vol. 40, нет. 9, стр. 1098–1101, doi : 10.1109/JRPROC.1952.273898 , заархивировано (PDF) из оригинала 8 октября 2005 г.
- ^ Пратт, ВК; Кейн, Дж.; Эндрюс, ХК (1969). «Кодирование изображений с преобразованием Адамара». Труды IEEE . 57 : 58–68. дои : 10.1109/PROC.1969.6869 .
- ^ Ахмед, Насир (январь 1991 г.). «Как я придумал дискретное косинусное преобразование» . Цифровая обработка сигналов . 1 (1): 4–5. Бибкод : 1991DSP.....1....4A . дои : 10.1016/1051-2004(91)90086-Z .
- ^ «T.81 – ЦИФРОВОЕ СЖАТИЕ И КОДИРОВАНИЕ НЕПРЕРЫВНЫХ СТАЦИОНАРНЫХ ИЗОБРАЖЕНИЙ – ТРЕБОВАНИЯ И РУКОВОДСТВА» (PDF) . ССИТТ . Сентябрь 1992 г. Архивировано (PDF) из оригинала 18 августа 2000 г. Проверено 12 июля 2019 г.
- ^ «Описание формата изображения JPEG» . BT.com . Группа БТ . 31 мая 2018 года . Проверено 5 августа 2019 г.
- ^ «Что такое JPEG? Невидимый объект, который вы видите каждый день» . Атлантика . 24 сентября 2013 года . Проверено 13 сентября 2019 г.
- ^ Баранюк, Крис (15 октября 2015 г.). «Защита от копирования может появиться в формате JPEG» . Новости Би-би-си . Би-би-си . Проверено 13 сентября 2019 г.
- ^ «Спор о GIF: взгляд разработчика программного обеспечения» . 27 января 1995 года . Проверено 26 мая 2015 г.
- ^ Л. Питер Дойч (май 1996 г.). DEFLATE Спецификация формата сжатых данных, версия 1.3 . IETF . п. 1. сек. Абстрактный. дои : 10.17487/RFC1951 . РФК 1951 . Проверено 23 апреля 2014 г.
- ^ Таубман, Дэвид; Марселлин, Майкл (2012). Основы, стандарты и практика сжатия изображений JPEG2000: Основы, стандарты и практика сжатия изображений . Springer Science & Business Media . ISBN 9781461507994 .
- ^ Jump up to: Перейти обратно: а б Унсер, М.; Блю, Т. (2003). «Математические свойства вейвлет-фильтров JPEG2000» (PDF) . Транзакции IEEE при обработке изображений . 12 (9): 1080–1090. Бибкод : 2003ИТИП...12.1080У . дои : 10.1109/TIP.2003.812329 . ПМИД 18237979 . S2CID 2765169 . Архивировано из оригинала (PDF) 13 октября 2019 г.
- ^ Салливан, Гэри (8–12 декабря 2003 г.). «Общие характеристики и соображения по проектированию временного поддиапазонного видеокодирования» . МСЭ-Т . Группа экспертов по видеокодированию . Проверено 13 сентября 2019 г.
- ^ Бовик, Алан С. (2009). Основное руководство по обработке видео . Академическая пресса . п. 355. ИСБН 9780080922508 .
- ^ Ле Галль, Дидье; Табатабай, Али Дж. (1988). «Поддиапазонное кодирование цифровых изображений с использованием симметричных фильтров с коротким ядром и методов арифметического кодирования». ICASSP-88., Международная конференция по акустике, речи и обработке сигналов . С. 761–764 т.2. дои : 10.1109/ICASSP.1988.196696 . S2CID 109186495 .
- ^ Шварц, Чарльз С. (2005). Понимание цифрового кино: Профессиональный справочник . Тейлор и Фрэнсис . п. 147. ИСБН 9780240806174 .