Содержание
- 2. Часть вторая: СЖАТИЕ ИЗОБРАЖЕНИЙ
- 3. 08/19/2023 Благодарности Автор выражает признательность Александру Жиркову (Graphics&Media Lab) за помощь в подготовке этих лекций (разделы
- 4. 08/19/2023 Сжатие изображений Будут рассмотрены алгоритмы: RLE LZW Хаффмана (CCITT G3) JPEG JPEG-2000 фрактальный алгоритм
- 5. 08/19/2023 Типы изображений Изображения Растровые Векторные В
- 6. 08/19/2023 Типы изображений Векторные Растровые Палитровые Безпалитровые В системе цветопредставления RGB, CMYK, … В градациях серого
- 7. 08/19/2023 Восприятие цвета Чувствительность 400 нм 500 нм 600 нм 700 нм
- 8. 08/19/2023 Пространство RGB RGB (Red, Green, Blue)
- 9. 08/19/2023 Пространство CMYK CMYK (Cyan, Magenta, Yellow, blacK).
- 10. 08/19/2023 Расчет RGB, CMYK, CMY RGB ? CMY С = 255 – R M = 255
- 11. 08/19/2023 Пространство HSV Модель HSV (Hue, Saturation, Value). Построена на основе субъективного восприятия цвета человеком.
- 12. 08/19/2023 Модель YUV Y = 0.299R + 0.587G + 0,114B U = – 0.147R – 0.289G
- 13. 08/19/2023 Модель YIQ Y = 0.299*R + 0.587*G + 0.114*B I = 0.596*R – 0.275*G –
- 14. 08/19/2023 Модель YCbCr (SDTV) Y = 0.299*R + 0.587*G + 0.114*B Cb = – 0.172*R –
- 15. 08/19/2023 Классы изображений Класс 1. Изображения с небольшим количеством цветов (4-16) и большими областями, заполненными одним
- 16. 08/19/2023 Требования приложений к алгоритмам Высокая степень компрессии Высокое качество изображений Высокая скорость компрессии Высокая скорость
- 17. 08/19/2023 Критерии сравнения алгоритмов Невозможно составить универсальное сравнительное описание известных алгоритмов. Худший, средний и лучший коэффициенты
- 18. 08/19/2023 Алгоритм RLE Данный алгоритм необычайно прост в реализации. Групповое кодирование — от английского Run Length
- 19. 08/19/2023 RLE – Первый вариант Initialization(...); do { byte = ImageFile.ReadNextByte(); if(является счетчиком(byte)) { counter =
- 20. 08/19/2023 RLE – Первый вариант (схема)
- 21. 08/19/2023 RLE – Второй вариант Initialization(...); do { byte = ImageFile.ReadNextByte(); counter = Low7bits(byte)+1; if(если признак
- 22. 08/19/2023 RLE – Схемы вариантов
- 23. 08/19/2023 Коэффициенты компрессии: Первый вариант: 32, 2, 0,5. Второй вариант: 64, 3, 128/129. (Лучший, средний, худший
- 24. 08/19/2023 Алгоритм LZW Название алгоритм получил по первым буквам фамилий его разработчиков — Lempel, Ziv и
- 25. 08/19/2023 Схема алгоритма LZ
- 26. 08/19/2023 LZW / Сжатие InitTable(); CompressedFile.WriteCode(СlearCode); CurStr=пустая строка; while(не ImageFile.EOF()){ //Пока не конец файла C=ImageFile.ReadNextByte(); if(CurStr+C
- 27. 08/19/2023 LZW / Пример Пусть мы сжимаем последовательность 45, 55, 55, 151, 55, 55, 55. “45”
- 28. 08/19/2023 LZW / Добавление строк
- 29. 08/19/2023 Таблица состоит из 4096 строк. 256 и 257 являются служебными. 258 … 4095 содержат непосредственно
- 30. 08/19/2023 Кол-во считываемых байт: Пример – цепочка нулей Общее число считанных байт: Информация заносится в стр.:
- 31. 08/19/2023 Степень сжатия цепочки нулей Рассчитываем арифметическую прогрессию:
- 32. 08/19/2023 Наихудший случай ’13’ ’21’ Последовательность : 121314151617… Мы видим, что у нас нет одинаковых цепочек
- 33. 08/19/2023 Степень сжатия наихудшего случая ’13’ ’21’ Происходит увеличение файла в 1.5 раза. Т.к. мы ни
- 34. 08/19/2023 .. 1 13 2 45 0 0 2 3 7 76 9 32 Таблица дерево
- 35. 08/19/2023 Пример Последовательность: 45, 55, 55, 151, 55, 55, 55. “45” – есть в таблице; “45,
- 36. 08/19/2023 Пример Последовательность: 45, 55, 55, 151, 55, 55, 55. Итого в потоке: , , ,
- 37. 08/19/2023 code=File.ReadCode(); while(code != СodeEndOfInformation){ if(code = СlearСode) { InitTable(); code=File.ReadCode(); if(code = СodeEndOfInformation) {закончить работу};
- 38. 08/19/2023 LZW / Характеристики Коэффициенты компрессии: Примерно 1000, 4, 5/7 (Лучший, средний, худший коэффициенты). Сжатие в
- 39. 08/19/2023 Алгоритм Хаффмана Использует только частоту появления одинаковых байт в изображении. Сопоставляет символам входного потока, которые
- 40. 08/19/2023 Алгоритм Хаффмана-2
- 41. 08/19/2023 Алгоритм Хаффмана-3 Коэффициенты компрессии: 8, 1,5, 1 (Лучший, средний, худший коэффициенты). Класс изображений: Практически не
- 42. 08/19/2023 CCITT Group 3 Последовательности подряд идущих черных и белых точек в нем заменяются числом, равным
- 43. 08/19/2023 Примеры факсов
- 44. 08/19/2023 Алгоритм CCITT G3 Последовательности подряд идущих черных и белых точек заменяются числом, равным их количеству.
- 45. 08/19/2023 Алгоритм компрессии: For (по всем строкам изображения) { Преобразуем строку в набор длин серий; for
- 46. 08/19/2023 В терминах регулярных выражений для каждой строки изображения выходной битовый поток вида: (( )*[ ]
- 47. 08/19/2023 Таблица кодов завершения
- 48. 08/19/2023 Проблемы при сжатии Пример, когда часть страницы идет под косым углом + разворот книги темный
- 49. 08/19/2023 Проблемы при сжатии Пример факса (часть текста рекомендаций стандарта CCITT) на японском (?) языке.
- 50. 08/19/2023 CCITT Group 3 / Характеристики Коэффициенты компрессии: лучший коэффициент стремится в пределе к 213.(3), средний
- 51. Сжатие изображений с потерями
- 52. 08/19/2023 Качество изображений Не существует метода оценки качества изображения, полностью адекватного человеческому восприятию
- 53. 08/19/2023 PSNR Базовые метрики – Y-PSNR, U-PSNR, V-PSNR Хорошо работают только на высоком качестве.
- 54. 08/19/2023 Как интерпретировать PSNR Разные размеры кадров для разных алгоритмов Преимущество для синей линии Линия одинакового
- 55. 08/19/2023 Тестовое изображение «Барбара» Много полосок (высоких частот) в разных направлениях и разной толщины
- 56. 08/19/2023 Тестовое изображение «Boat» Много тонких деталей и наклонных границ в разном направлении
- 57. 08/19/2023 Задача тестовых наборов Основные задачи тестовых наборов Обеспечить единую базу сравнения разных алгоритмов (в статьях
- 58. 08/19/2023 Алгоритм JPEG Алгоритм разработан в 1991 году группой экспертов в области фотографии (JPEG — Joint
- 59. 08/19/2023 Алгоритм JPEG / RGB в YUV Изначально при сжатии изображение переводится в цветовое пространство YUV.
- 60. 08/19/2023 Алгоритм JPEG
- 61. 08/19/2023 Алгоритм JPEG / Примеры DCT
- 62. 08/19/2023 Алгоритм JPEG / Примеры DCT
- 63. 08/19/2023 Алгоритм JPEG / Характеристики Коэффициенты компрессии: 2-100 (Задается пользователем). Класс изображений: Полноцветные 24 битные изображения
- 64. 08/19/2023 Фрактальная компрессия — алгоритм с потерей информации, появившийся в 1992 году Он использует аффинные преобразования
- 65. 08/19/2023 Пример самоподобия Папоротник Барнсли Состоит задается четырьмя аффинными преобразованиями Изображение имеет четыре области, каждая из
- 66. 08/19/2023 Идея фрактального алгоритма Сжатие осуществляется за счет поиска самоподобных участков в изображении
- 67. 08/19/2023 Идея фрактального алгоритма Для перевода участков один в другой используется аффинное преобразование
- 68. 08/19/2023 Аффинное преобразование Определение. Преобразование , представимое в виде где a, b, c, d, e, f
- 69. 08/19/2023 Аттрактор и теорема о сжимающем преобразовании Определение. Пусть — преобразование в пространстве Х. Точка такая,
- 70. 08/19/2023 Изображение и IFS Определение. Изображением называется функция S, определенная на единичном квадрате и принимающая значения
- 71. 08/19/2023 Мы записываем в файл коэффициенты Если размер коэффициентов меньше размера исходного файла, мы получаем алгоритм
- 72. 08/19/2023 Поиск соответствий
- 73. 08/19/2023 Декомпрессор Читаем из файла коэффициенты всех блоков, и создаем изображение нужного размера (обычно черного цвета)
- 74. 08/19/2023 Декомпрессия: Шаг 1
- 75. 08/19/2023 Декомпрессия: Шаг 2
- 76. 08/19/2023 Декомпрессия: Шаг 3
- 77. 08/19/2023 Декомпрессия: Шаг 4
- 78. 08/19/2023 Декомпрессия: Шаг 5
- 79. 08/19/2023 Примеры восстановления
- 80. 08/19/2023 Пример восстановления Исходное изображение Первый шаг восстановления
- 81. 08/19/2023 Фрактальное сжатие / Характеристики Коэффициенты компрессии: От 2 до 100 раз. Класс изображений: 24-битные и
- 82. СЖАТИЕ ИЗОБРАЖЕНИЙ JPEG-2000 Сравнение с JPEG
- 83. 08/19/2023 JPEG 2000 Алгоритм JPEG 2000 разработан той же группой экспертов в области фотографии, что и
- 84. 08/19/2023 JPEG 2000 / Идея алгоритма Базовая схема JPEG-2000 очень похожа на базовую схему JPEG. Отличия
- 85. 08/19/2023 JPEG 2000 / Схема Конвейер операций, используемый в JPEG-2000
- 86. 08/19/2023 JPEG 2000 / RGB в YUV Этот шаг аналогичен JPEG (см. матрицы преобразования в описании
- 87. 08/19/2023 JPEG 2000 / DWT В одномерном случае применение DWT – это «обычная фильтрация». Из строки
- 88. 08/19/2023 JPEG 2000 / DWT коэффициенты коэффициенты ‘9/7’ DWT при сжатии с потерями
- 89. 08/19/2023 JPEG 2000 / DWT коэффициенты (без потерь) Коэффициенты ‘5/3’ DWT при сжатии без потерь
- 90. 08/19/2023 JPEG 2000 / DWT без потерь Поскольку большинство hL(i), кроме окрестности i=0, равны 0, то
- 91. 08/19/2023 JPEG 2000 / DWT – края Симметричное расширение изображения (яркости АБ…Е) по строке вправо и
- 92. 08/19/2023 JPEG 2000 / DWT – Пример Пусть мы преобразуем строку из 10 пикселов. Расширим ее
- 93. 08/19/2023 JPEG 2000 / Изменение качества областей Когда практически достигнут предел сжатия изображения в целом и
- 94. 08/19/2023 Сравнение этапа сжатия без потерь JPEG и JPEG-2000
- 95. 08/19/2023 JPEG-2000 / Кодирование битовых плоскостей Разбиение DWT-пространства на одинаковые блоки, по умолчанию размером 64х64 Каждый
- 96. 08/19/2023 JPEG-2000 / Кодирование битовых плоскостей Для каждого прохода используется бинарное адаптивное арифметическое кодирование и контекстное
- 97. 08/19/2023 JPEG-2000 / Кодирование битовых плоскостей Кодирование старших бит Кодирование предсказанных и при подтверждении гипотезы, кодирование
- 98. 08/19/2023 JPEG-2000 / Кодирование битовых плоскостей Уточняющий проход: Кодирование существенных битов расположенных ниже первого Контекст для
- 99. 08/19/2023 JPEG-2000 / Кодирование: Внешний цикл Цель: записать в поток результаты кодирования битовых плоскостей Единица потока
- 100. 08/19/2023 JPEG-2000 / Изменение качества областей В JPEG-2000 используется неявное представление бинарной маски, внутри которой точность
- 101. 08/19/2023 JPEG-2000 / Алгоритм изменения качества областей Изменение качества выделенных областей При кодировании: Разделение битовой маски
- 102. 08/19/2023 JPEG-2000 / Пресеты квантования Адаптированный пресет, лучше качество Стандартный пресет, больше PSNR
- 103. 08/19/2023 JPEG 2000 / Отличия от JPEG Лучшее качество изображения при сильной степени сжатия. Поддержка кодирования
- 104. 08/19/2023 JPEG 2000 / Отличия от JPEG (2) на уровне формата поддерживаются включение в изображение информации
- 105. 08/19/2023 JPEG / JPEG-2000: ‘Лена’ Сравнение JPEG & JPEG-2000 при сжатии в 30 раз
- 106. 08/19/2023 JPEG / JPEG-2000: Сжатие в 130 раз JPEG: сохранено больше деталей JPEG-2000: отсутствие блочных артефактов
- 107. 08/19/2023 Алгоритм JPEG-2000 / Характеристики Коэффициенты компрессии: 2-200 (Задается пользователем), возможно сжатие без потерь. Класс изображений:
- 108. 08/19/2023 Сравнение алгоритмов (1)
- 109. 08/19/2023 Сравнение алгоритмов (2)
- 110. СЖАТИЕ ТЕКСТУР Специфика Обзор форматов S3TC, FXT1, CD, CTF-8, CTF-12
- 111. 08/19/2023 Компрессия текстур: Специфика Требования: Прямой доступ к пикселям (текселям) из сжатого представления Эффективность аппаратной реализация
- 112. 08/19/2023 Компрессия текстур: Алгоритм S3TC* Идея: Четыре цвета на блок 4х4, но хранения только двух базовых,
- 113. 08/19/2023 Компрессия текстур: Алгоритм S3TC*
- 114. 08/19/2023 Компрессия текстур: Формат FXT1* Идея/Цель Улучшение S3TC (альфа-канал, больше блок, несколько адаптивных алгоритмов) Алгоритм Для
- 115. 08/19/2023 Компрессия текстур: Оценка формата FXT1* Плюсы Большая степень компрессии чем у S3TC при компрессии 32-битовых
- 116. 08/19/2023 Компрессия текстур: Формат CD* Идея: Использование зависимости между блоками 2-х битовая индексная плоскость, но в
- 117. 08/19/2023 Компрессия текстур: Форматы CTF-8*, CTF-12* Идеи: Улучшение геометрии интерполяции палитры Адаптивное подразбиение блока 8х8 на
- 118. 08/19/2023 Компрессия текстур: Форматы CTF-8, CTF-12 Плюсы (vs S3TC): CTF-8 лучше по качеству (в среднем на
- 119. 08/19/2023 24 бита 8 пикселей Индексы: Палитра: 8 цветов на блок 8х8, сжатие в 4.8 раза
- 120. 08/19/2023 Увеличение сжатие при сопоставимом качестве Базовые идеи: Сжатие индексов палитры (с потерями): Разбиение блока на
- 121. 08/19/2023 4 кластера, 8/16 цветов в палитре, 4 цвета на текстель Метод CTF-8: 8-кратное сжатие
- 122. 08/19/2023 2-х кратное сжатие цветов палитры 3 кратное сжатие индексов палитры Метод CTF-8: 12-кратное сжатие 4
- 123. 08/19/2023 Палитризация и кластеризация Source block Local pallete CTF8: 16 color pallete 4 color in cluster
- 124. 08/19/2023 Компрессия текстур: Форматы CTF-8, CTF-12 CTF-12: CTF-8:
- 125. 08/19/2023 CTF-12: Два типа палитр Используется в однородных блока и во всех не цветных блоках Аппроксимация
- 126. 08/19/2023 Алгоритм декомпрессии для CTF-12
- 127. 08/19/2023 Блочный эффект и цветовое распределение Исходный блок (12х12) CTF-8 (блоки 8х8) CTF-12 (блоки 8х8) S3TC
- 128. 08/19/2023 Граничный эффект Исходный JPEG (12раз) CTF-12 (12раз) S3TC (6раз)
- 129. 08/19/2023 Сравнение S3TC с CTFs по объективным метрикам
- 130. 08/19/2023 Тестовое изображение Source S3TC CTF-12
- 131. 08/19/2023 Эффективность работы кэша при реальном алгоритме рендеринга Хранение всех мип-мэпов Генерация мип-мэпов ‘на лету’ Сжатые
- 132. СЖАТИЕ ТЕКСТУР: Генерация текстур Наиболее компактный метод представления текстур – их генерация
- 133. 08/19/2023 Типы генерации текстур Процедурные текстуры: Алгоритмическая генерация текстур Для каждой физической модели свой алгоритм Генерация
- 134. 08/19/2023 Генерация мип-мэпов Требования: Реалистичность в не зависимости от типа и разрешения текстуры Высокая скорость и
- 135. 08/19/2023 A = α B +β, α= N(0,σ), β= N(0,σ') После 8 итераций Рекурсивное фрактально-каскадное подразбиение
- 136. 08/19/2023 Фрактально-каскадный метод генерации Увеличение без применения генерации С генерацией 3-х дополнительных мип-мэпов
- 137. 08/19/2023 Примеры
- 138. 08/19/2023 Многомасштабная генерация с использованием шаблонов Многомасштабные Шаблоны Различные уровни детализации сгенерированных текстур
- 139. 08/19/2023 4n операций/текстель (n – количество масштабных уровней) Многомасштабная генерация с использованием шаблонов
- 141. Скачать презентацию