stringtranslate.com

Сжатие изображения

Сжатие изображений — это тип сжатия данных , применяемый к цифровым изображениям для снижения стоимости их хранения или передачи . Алгоритмы могут использовать преимущества визуального восприятия и статистических свойств данных изображений для обеспечения превосходных результатов по сравнению с общими методами сжатия данных , которые используются для других цифровых данных. [1]

Сравнение изображений JPEG , сохраненных в Adobe Photoshop с разным уровнем качества и с функцией «сохранить для Интернета» или без нее

Сжатие изображений с потерями и без потерь

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

Методы сжатия с потерями :

Методы сжатия без потерь :

Другие свойства

Наилучшее качество изображения при заданной скорости сжатия (или битрейте ) является основной целью сжатия изображений, однако существуют и другие важные свойства схем сжатия изображений:

Масштабируемость обычно относится к снижению качества, достигаемому путем манипуляции битовым потоком или файлом (без декомпрессии и повторной компрессии). Другие названия масштабируемости — прогрессивное кодирование или встроенные битовые потоки . Несмотря на свою противоположную природу, масштабируемость также может быть обнаружена в кодеках без потерь, обычно в форме сканирования пикселей от грубого к тонкому. Масштабируемость особенно полезна для предварительного просмотра изображений во время их загрузки (например, в веб-браузере) или для предоставления доступа переменного качества, например, к базам данных. Существует несколько типов масштабируемости:

Кодирование области интереса . Определенные части изображения кодируются с более высоким качеством, чем другие. Это может сочетаться с масштабируемостью (кодировать эти части сначала, другие — позже).

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

Мощность обработки . Алгоритмы сжатия требуют разного количества мощности обработки для кодирования и декодирования. Некоторые алгоритмы высокого сжатия требуют высокой мощности обработки.

Качество метода сжатия часто измеряется пиковым отношением сигнал/шум . Оно измеряет количество шума, вносимого сжатием изображения с потерями, однако субъективное суждение зрителя также рассматривается как важная мера, возможно, самая важная.

История

Энтропийное кодирование началось в конце 1940-х годов с введением кодирования Шеннона-Фано [8] , основы для кодирования Хаффмана , опубликованного в 1952 году. [9] Трансформационное кодирование берет свое начало в конце 1960-х годов с введением кодирования с быстрым преобразованием Фурье (БПФ) в 1968 году и преобразования Адамара в 1969 году. [10]

Важным достижением в сжатии данных изображений стало дискретное косинусное преобразование (DCT), метод сжатия с потерями, впервые предложенный Насиром Ахмедом , Т. Натараджаном и К. Р. Рао в 1973 году. [11] JPEG был представлен Объединенной группой экспертов по фотографии (JPEG) в 1992 году. [12] JPEG сжимает изображения до гораздо меньших размеров файлов и стал наиболее широко используемым форматом файлов изображений . [13] JPEG в значительной степени ответственен за широкое распространение цифровых изображений и цифровых фотографий , [14] с несколькими миллиардами изображений JPEG, создаваемых каждый день по состоянию на 2015 год. [15]

Lempel–Ziv–Welch (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. После преобразования данных изображения в представление частотной области кодирование Хаффмана используется для эффективного кодирования преобразованных коэффициентов.

Этапы кодирования Хаффмана для сжатия изображений

  1. Частотный анализ: вычислите частоту появления каждого символа или комбинации символов в преобразованных данных изображения.
  2. Построение дерева Хаффмана: Построение дерева Хаффмана на основе частот символов. Дерево строится рекурсивно путем объединения узлов с наименьшими частотами до тех пор, пока не будет сформирован один корневой узел.
  3. Назначение кодовых слов: пройдите по дереву Хаффмана, чтобы назначить каждому символу кодовые слова переменной длины, при этом более короткие кодовые слова назначаются более частым символам.
  4. Кодирование: замените исходные символы в данных изображения соответствующими им кодовыми словами Хаффмана для создания сжатого потока данных.

Преимущества кодирования Хаффмана при сжатии изображений

Заключение

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

Примечания и ссылки

  1. ^ «Сжатие данных изображений».
  2. ^ Ахмед, Н.; Натараджан, Т.; Рао, К. Р. (1974). «Дискретное косинусное преобразование» (PDF) . IEEE Transactions on Computers : 90–93. doi :10.1109/TC.1974.223784. S2CID  149806273. Архивировано из оригинала (PDF) 25.11.2011.
  3. Гилад Дэвид Мааян (24 ноября 2021 г.). «Сжатие изображений на основе искусственного интеллекта: современное состояние». На пути к науке о данных . Проверено 6 апреля 2023 г.
  4. ^ Бюльманн, Маттиас (2022-09-28). "Стабильное сжатие изображений на основе диффузии". Medium . Получено 2022-11-02 .
  5. ^ "High-Fidelity Generative Image Compression" . Получено 6 апреля 2023 г. .
  6. ^ 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. 
  7. ^ Шао, Дэн; Кропач, Уолтер Г. (3–5 февраля 2010 г.). Шпачек, Либор; Франк, Войтех (ред.). «Неправильная пирамида графа Лапласа» (PDF) . Зимний семинар по компьютерному зрению 2010 . Нове Грады, Чехия: Чешское общество распознавания образов. Архивировано (PDF) из оригинала 27 мая 2013 г.
  8. ^ Клод Элвуд Шеннон (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 .
  9. ^ Дэвид Альберт Хаффман (сентябрь 1952 г.), «Метод построения кодов с минимальной избыточностью» (PDF) , Труды IRE , т. 40, № 9, стр. 1098–1101, doi :10.1109/JRPROC.1952.273898, архивировано (PDF) из оригинала 08.10.2005 г.
  10. ^ Pratt, WK; Kane, J.; Andrews, HC (1969). «Кодирование изображений с преобразованием Адамара». Труды IEEE . 57 : 58–68. doi :10.1109/PROC.1969.6869.
  11. ^ Ахмед, Насир (январь 1991 г.). «Как я придумал дискретное косинусное преобразование». Цифровая обработка сигналов . 1 (1): 4–5. Bibcode : 1991DSP.....1....4A. doi : 10.1016/1051-2004(91)90086-Z.
  12. ^ "T.81 – ЦИФРОВОЕ СЖАТИЕ И КОДИРОВАНИЕ НЕПРЕРЫВНЫХ ТОНАЛЬНЫХ ИЗОБРАЖЕНИЙ – ТРЕБОВАНИЯ И РУКОВОДСТВО" (PDF) . CCITT . Сентябрь 1992. Архивировано (PDF) из оригинала 2000-08-18 . Получено 12 июля 2019 .
  13. ^ "Объяснение формата изображения JPEG". BT.com . BT Group . 31 мая 2018 г. Получено 5 августа 2019 г.
  14. ^ «Что такое JPEG? Невидимый объект, который вы видите каждый день». The Atlantic . 24 сентября 2013 г. Получено 13 сентября 2019 г.
  15. ^ Баранюк, Крис (15 октября 2015 г.). «Защита от копирования может появиться в JPEG». BBC News . BBC . Получено 13 сентября 2019 г. .
  16. ^ "Противоречие GIF: точка зрения разработчика программного обеспечения". 27 января 1995 г. Получено 26 мая 2015 г.
  17. ^ L. Peter Deutsch (май 1996 г.). DEFLATE Compressed Data Format Specification версии 1.3. IETF . стр. 1. раздел. Аннотация. doi : 10.17487/RFC1951 . RFC 1951. Получено 23.04.2014 .
  18. ^ Таубман, Дэвид; Марселлин, Майкл (2012). Основы, стандарты и практика сжатия изображений JPEG2000: Основы, стандарты и практика сжатия изображений. Springer Science & Business Media . ISBN 9781461507994.
  19. ^ 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.
  20. ^ Салливан, Гэри (8–12 декабря 2003 г.). «Общие характеристики и соображения по проектированию для временного поддиапазонного видеокодирования». ITU-T . Группа экспертов по кодированию видео . Получено 13 сентября 2019 г. .
  21. ^ Бовик, Алан С. (2009). Основное руководство по обработке видео. Academic Press . стр. 355. ISBN 9780080922508.
  22. ^ Ле Галль, Дидье; Табатабай, Али Дж. (1988). «Кодирование поддиапазонов цифровых изображений с использованием симметричных фильтров с коротким ядром и методов арифметического кодирования». ICASSP-88., Международная конференция по акустике, речи и обработке сигналов . стр. 761–764 т.2. doi :10.1109/ICASSP.1988.196696. S2CID  109186495.
  23. ^ Шварц, Чарльз С. (2005). Понимание цифрового кино: профессиональный справочник. Тейлор и Фрэнсис . стр. 147. ISBN 9780240806174.