Лекция 3. Архивация и сжатие данных.ppt
- Количество слайдов: 60
АРХІВАЦІЯ ТА СТИСНЕННЯ АУДІО ТА ВІДЕО ЗОБРАЖЕНЬ 1 Лекція 3 Методи і алгоритми матричних перетворень
ЗМІСТ ЛЕКЦІЇ 1. 2. 3. 4. 5. 6. Перетворення зображень. Матричні перетворення. Дискретне косинус-перетворення Перетворення Уолша-Адамара. Перетворення Хаара. Фрактальне стиснення. 2
1. ПЕРЕТВОРЕННЯ ЗОБРАЖЕНЬ Основна ідея перетворення Зміна математичної величини (числа, вектора, функції або іншого об'єкта) одного виду в іншу форми, зручну для подальшого використання. Далі, для повернення до початкової форми результат може відновлений шляхом зворотного перетворення. приклад: 3
Зображення можна стиснути, перетворюючи його корельовані пікселі у вигляд, в якому вони будуть декорельовані. За рахунок зворотного перетворення можна його відновити за допомогою декодера. Образ можна стиснути, якщо в ньому є певна надмірність. Надмірність виникає від 4 кореляції пікселей. При декореляції надмірності немає й образ відповідає повністю стислому.
Розглянемо це на прикладі розташування пікселей зображення у площині й відзначимо їх на графіку. Відомо, що точки виду (х, у) лежать на прямій з нахилом 45°, рівняння якої має вигляд y = х, тому можна чекати, що всі точки будуть сконцентровані біля цієї прямої. В якості графіку типового зображення оберемо точки виду (х, у), що лежать на прямій з 5 нахилом 45°, з рівнянням виду y = х, в інтервалі [0, 255].
ГРАФІК ТИПОВОГО ЗОБРАЖЕННЯ 6
Виконуємо перетворення Зворотне перетворення 7
ПЕРЕХРЕСНА КОРЕЛЯЦІЯ j= jxiyi Набір точок (5, 5), (6, 7), (12. 1, 13. 2), (23, 25), (32, 29) Набір точок після повороту на 45 (7. 071, 0), (9. 19, 0. 7071), (17. 9, 0. 78), (33. 9, 1. 41), (43. 13, -2. 12) 8 Перехресна кореляція до повороту 1729. 72 після повороту -23. 0846
ДИСПЕРСІЯ ПИКСЕЛОВ 9
ДОСЛІДЖЕННЯ НАД ТОЧКОЮ (4, 5) (6. 36396, 0. 7071) (4, 5)R = (9, l)/ Енергії точок 42 + 52 = 41 = (92 + 12)/2 Втрачаємо одну координату (наприклад, 4) Помилка 42/41 = 0. 39 Втрачаємо перетворювану координату Помилка 0. 70712/41=0. 012 Зворотне перетворення (9, l)/ (4, 5) Зворотне перетворення до (9, 0)/ (4. 5, 4, 5) 10
Таким чином, перетворення повороту дозволяє здійснювати стиск числових величин. Метод легко поширити на більш високі розмірності Результат стиску на основі повороту залежить від кореляції близьких пикселів 11 Кореляція пикселів зберігається до розмірності вісім
2. МАТРИЧНІ ПЕРЕТВОРЕННЯ 2. 1 Лінійні перетворення (векторні) Матриця ортогонального перетворення 12
початковий вектор (4, 6, 5, 2) Початкова енергія 42 + 62 + 52 + 22 = 81, 13 Енергія після перетворення 172+32+(-5)2+12=324
енергія першого компонента 8. 52/81 = 89% Відновлення вихідних даних W (17/2, 3/2, -5/2, 1/2)т= (4, 6, 5, 2) Квантування перетвореного вектора (8. 5, 1. 5, -2. 5, 0. 5) Округлення (9, 1, -3, 0) Зворотне перетворення (3. 5, 6. 5, 5. 5, 2. 5) 14 Видалення двох найменших чисел (8. 5, 0, -2. 5, 0) зворотне перетворення (3, 5. 5, 3)
МАТРИЧНІ ОРТОГОНАЛЬНІ ПЕРЕТВОРЕННЯ Вхідна матриця Результат перетворення 15
Виконаємо таку операцію С=C'WT=WDW У першому елементі матриці С зосереджено 89% від 16 загальної енергії, рівної 579, вихідної матриці D. Отже двустадійне перетворення матричних даних скорочує кореляцію в обох напрямках: по вертикалі й по горизонталі.
ДИСКРЕТНЕ КОСИНУС-ПЕРЕТВОРЕННЯ Розглянемо функцію w(f) = cos(f ) при 0 , f=0, 1, . . . , 7 17
ФОРМУЄМО БАЗИСНІ ВЕКТОРИ VF ЗА ЗНАЧЕННЯМИ 0. 196 0. 589 0. 982 1. 374 1. 767 2. 160 2. 553 2. 945 cos 0 1 1 1 1 cos 1 0. 981 0. 831 0. 556 0. 195 -0. 556 -0. 831 -0. 981 cos 2 0. 924 0. 383 -0. 924 -0. 383 cos 3 0. 831 -0. 195 -0. 981 -0. 556 0. 981 cos 4 0. 707 -0. 707 cos 5 0. 556 -0. 981 0. 195 0. 831 -0. 195 0. 981 cos 6 0. 383 -0. 924 -0. 383 0. 924 cos 7 0. 195 0. 556 -0. 831 -0. 981 0. 195 0. 924 -0. 831 -0. 556 -0. 924 0. 383 -0. 831 0. 556 -0. 195 18
ВИЗНАЧЕННЯ Одномірним дискретним косинусперетворенням (DCT) називається обертання у восьмимірному просторі, що є також ортогональним перетворенням. Двовимірне DCT можна також інтерпретувати як подвійне обертання. 19
ПРИКЛАД ЗАСТОСУВАННЯ Обираємо корельовані числа р=(0. 6, 0. 5, 0. 4, 0. 5, 0. 6, 0. 5, 0. 4, 0. 55) Вирішуємо рівняння р= iviwi Результат w 0=0. 506, w 1=0. 0143, w 2=0. 0115, w 3=0. 0439, w 4=0. 0795, w 5=-0. 0432, w 6=0. 00478, w 7=-0. 0077. Отримано стиснуті дані, які займають місце 20 менше ніж вхідні при запису у файл
ГРАФІЧНЕ УЯВЛЕННЯ ОДНОМІРНОГОDCT 21
ФОРМУЛИ РОЗРАХУНКУ ОДНОМІРНОГОDCT Зворотне DCT (inverse DCT, IDCT) 22
ПРИКЛАДИ р = (12, 10, 8, 10, 12, 10, 8, 11) DCT G = (28. 6375, 0. 571202, 0. 46194, 1. 757, 3. 18198, -1. 72956, 0. 191342, -0. 308709) Округляємо (квантуємо) G=(28. 6, 0. 5, 1. 8, 3. 2, -1. 8, 0. 2, -0. 3) застосовуємо IDTC і одержуємо P’=(12. 0254, 10. 0233, 7. 96054, 9. 93097, 12. 0164, 9. 99321, 7. 94354, 10. 9989) Округляємо (квантуємо) до цілих G=(28, 1, 1, 2, 3, -2, 0, 0) 23 IDCT наступний результат: P’= (12. 1883, 10. 2315, 7. 74931, 9. 20863, 11. 7876, 9. 54549, 7. 82865, 10. 6557)
G=(28, 0, 0, 2, 3, -2, 0, 0 ) IDCT P’=(11. 236, 9. 62443, 7. 66286, 9. 57302, 12. 3471, 10. 0146, 8. 05304, 10. 6842) Переваги 1) множина складається тільки із цілих чисел, 2) тільки чотири з них не дорівнюють нулю, 3) нульові коефіцієнти утворюють серії, 24 4) серед ненульових коефіцієнтів тільки перший має більшу величину; інші менше вихідних чисел.
ДВОВИМІРНЕ (МАТРИЧНЕ)DCT 25
ПОРЯДОК СТИСКУ ЗОБРАЖЕННЯ ЗА ДОПОМОГОЮ DCT 1. Розділити зображення на k блоків пікселів розміру п п (звичайно 8 x 8). 2. Застосувати DCT до кожного блоку тобто знайти вектори W(i) із компонентами wi, де і = 0, 1, . . . , 63. 3. Усі k векторів W(i) (i = 1, 2, . . . , k) розділити на 64 вектора коефіцієнтів С(j) з k компонентами wi. Вектор перших компонентів C(0) складається з k коефіцієнтів DC. 4. Зробити квантування кожного вектора коефіцієнтів C(j). Квантований вектор Q(j) записати 26 (після додаткової компресії по методу RLE, Хаффмана або іншим методом) у стислий файл.
4. ПЕРЕТВОРЕННЯ УОЛША-АДАМАРА. Двомірне пряме й зворотне перетворення Уолша. Адамара ( WHT і IWHT) для блоку N N пікселів Рху (N=2 n) визначаються наступними рівняннями 27
H(u, v) - результат перетворення (тобто, коефіцієнти WHT), bi(u) дорівнюють біту i у двійковому уявленні цілого числа u, Pi(u) визначається за допомогою bj(u) з таких рекурентних співвідношень 28
ПРИКЛАД, і=6=1102 b 0(6)=0, b 1(6)=1, b 2(6)=1 g(x, y, u, v) і h(x, y, u, v) - ядра (базисні зображення) WHT. Елементами матриць служать числа +1 і -1, які множаться на 1/N. Перетворення WHT складається із операцій множення пікселів на +1 або -1, додавання й ділення суми на N. Оскільки N=2 n, ділення можна робити, зробивши 29 зсув розрядів чисел вправо на n позицій.
УПОРЯДКОВАНІ ЯДРА WHT ПРИ N = 4. 30
Ядра WHT зображені в графічній формі при N = 4, де білий колір означає +1, а чорний — 1 (множник 1/N опущений). Рядки й стовпці в блоках занумеровані значеннями u і v; від 0 до 3, відповідно. Число змін знаків у рядку або в стовпці матриці називається частотністю рядка або стовпця. Рядки й стовпці на малюнку впорядковані за зростанням частотності. 31
БАЗИСНІ ЗОБРАЖЕННЯ 8 X 8 ДЛЯ WHT 32
5. ПЕРЕТВОРЕННЯ ХААРА Перетворення Хаара ґрунтується на функціях Хаара hk(x), які задаються при х [0, 1] і для k=0, 1, . . . , N - 1, N=2 п. Любе число представляється сумою k=2 Р+ q-1, де 0 р п-1, q=0 або 1 при р=0, 1 q 2 Р при р 0. Приклад для N=4=22, 0=20+ 0 -1 33 1=20+ 1 -1 2=21+ 1 -1 3=21+ 2 -1.
ФОРМУЛИ БАЗИСНИХ ФУНКЦІЙ ХААРА 34
ПРИКЛАД ПОБУДОВИ МАТРИЦІ АN [N N]ПЕРЕТВОРЕННЯ ХААРА Елемент матриці hi(j), де i = 0, 1, . . . , N-1, j=0/N, 1/N, . . . , (N-1)/N. 35
БАЗИСНІ ЗОБРАЖЕННЯ ПЕРЕТВОРЕННЯХААРА ПРИ N=8 36
МАТРИЦІ А 4 І A 8 37
Перетворення Хаара для блоку пикселей Р розміру N N, де N=2 nобчислюється за формулою G=АNРАN 38
6. ФРАКТАЛЬНЕ СТИСНЕННЯ засноване на тому, що зображення подається в компактнішій формі — за допомогою коефіцієнтів системи ітераційних функцій IFS (Iterated Function System). IFS є набором тривимірних афінних перетворень, які переводять одне зображення в інше в тривимірному просторі: х-координата, укоордината, яскравість. 39
ФОТОКОПІЮВАЛЬНА МАШИНА 40
ОСНОВНІ ПОНЯТТЯ Лінза – перетворювач, який змінює характеристики зображення. Ітерація роботи машини полягає в тому, що за початковим зображенням за допомогою проектування будується нове, після чого нове береться як початкове. В процесі ітерації зображення не змінюється, воно залежить тільки від розташування і характеристик лінз і не залежить від початкової картинки. 41 Атрактор (аttractоr) IFS - це нерухома точка зображення. Для кожної IFS існує рівно одна нерухома точка.
Відображення лінз є стиснутим, кожна лінза в явному вигляді задає самоподібні області в нашому зображенні. Завдяки самоподібності ми дістаємо складну структуру зображення за будь-якого збільшення. Система ітераційних функцій задає фрактал. 42
НАЙБІЛЬШ ВІДОМІ ЗОБРАЖЕННЯ, ОТРИМАНІ ЗА ДОПОМОГОЮ IFS: ТРИКУТНИК СЕРПІНСЬКОГО ПАПОРОТЬ БАРНСЛІ Трикутник Серпінського задається трьома афінними перетвореннями 43 І
ПАПОРОТЬ БАРНСЛІ Задається чотирма афінними перетвореннями 44
Фрактальна компресія — це пошук самоподібних областей в зображенні і визначення для них параметрів афінних перетворень 45
ВИЗНАЧЕННЯ І ТЕОРЕМИ ФРОНТАЛЬНОЇ КОМПРЕСІЇ Перетворення w: R 2, має такий вигляд: де а, b, с, d, e, f — дійсні числа і (х, у) R 2, називається двовимірним афінним перетворенням. 46
Перетворення w: R 3 > R 3 має такий вигляд: де а, b, с, d, e, f, р, q, r, s, t, u — дійсні числа і (х, у, r) R 3, називається тривимірним афінним перетворенням. 47
Нехай f: Х Х — перетворення в просторі X. Точка хf X така, що f(хf) = xf називається нерухомою точкою (атрактором) перетворення. Перетворення f: Х Х y метричному просторі (X, d) називається стиснутим, якщо існує число s: 0 s < 1 таке, що 48
Нехай f: Х Х — стиснуте перетворення в повному метричному просторі (X, d). Тоді існує точно одна нерухома точка хf X цього перетворення і для будь-якої точки х X послідовність {fn(х): n = 0, 1, 2. . . } збігається до xf. Зображенням називається функція S, визначена на одиничному квадраті, що приймає значення від 0 до 1 або S(х, у) [О… 1] 49 х, у [0. . . 1].
Нехай тривимірне афінне перетворення wi: R 3 записано у вигляді Поворот 50 и зсув (e, f)
Кінцева сукупність W стиснутих тривимірних афінних перетворень Wi, визначених на областях Di таких, що wі(Di)= Rі i Ri Rj = i, j, називається системою ітераційних функцій (ІFS). Системі ітераційних функцій однозначно ставиться у відповідність нерухома точка — зображення. Процес компресії полягає в пошуку 51 коефіцієнтів системи, а процес декомпресії — у проведенні ітерацій системи до стабілізації здобутого зображення (нерухомої точки ІFS).
ОБЛАСТІ RI НАДАЛІ НАЗИВАТИМЕМО РАНГОВИМИ, А ОБЛАСТІDI — ДОМЕННИМИ 52
ОСНОВНЕ ЗАВДАННЯ КОМПРЕСІЇФРАКТАЛЬНИМ АЛГОРИТМОМ ПОЛЯГАЄ У ЗНАХОДЖЕННІ ВІДПОВІДНИХ АФІННИХ ПЕРЕТВОРЕНЬ Обмеження на області 1. Усі області є квадратами зі сторонами, паралельними сторонам зображення. 2. При переведенні доменної області в рангову зменшення розмірів проводиться рівно в два рази. З. Усі доменні блоки — квадрати і мають фіксований розмір. 4. Доменні області вибираються «через точку» і по X і по Y, що одразу зменшує перебирання у чотири рази. 5. При переведенні доменної області в рангову поворот куба можливий тільки на 0, 90, 180 або 270°. Також 53 допускається дзеркальне відображення. Загальне число можливих перетворень (з урахуванням порожнього) — 8. 6. Масштабування (стискання) по вертикалі (яскравості) здійснюється фіксоване число разів — 0, 75.
МЕТОДИ РЕГУЛЮВАННЯ СТУПЕНЯ СТИСНЕННЯ Для фрактального алгоритму компресії, як і для інших алгоритмів стискання з утратами, дуже важливі механізми, за допомогою яких можна буде регулювати ступінь стискання і ступінь втрат. Нині розроблено достатньо великий набір таких методів. По-перше, можна обмежити кількість афінних перетворень, свідомо забезпечивши ступінь стискання не нижче фіксованої величини. По-друге, можна вимагати, щоб за ситуації, коли різниця між оброблюваним фрагментом і якнайкращим його наближенням буде вище певного порогового значення, цей фрагмент дробився обов'язково (для нього обов'язкова наявність декількох лінз). По-третє, можна заборонити дробити фрагменти розміром менше, припустимо, чотирьох точок. 54 Змінюючи порогові значення і пріоритет цих умов, ми дуже гнучко керуватимемо коефіцієнтом компресії зображення в діапазоні від побітової відповідності до будь-якого ступеня стискання.
ПИТАННЯ ДЛЯ МКР 1. Ентропія джерела та його оптимальне кодування. 2. Приклади обчислення ентропії джерела. 3. Дворівневий метод стиснення на основі моделювання та подальшого кодування. 4. Приклади обчислення середньої довжини коду. 5. Система ітераційних функцій (IFS). 6. Дискретне косінусне перетворення 55 7. Квантування даних.
8. Які фактори впливають на ступінь надлишковості даних? 9. Архівації та стиснення даних. 10. Стиснення аудіо ті відео файлів. 11. Поняття архіву даних. 12. Призначення архіваторів. 13. Характеристика програм архівації даних. 56 14. Види стиснення даних. 15. Форматів стиснення без втрат та з втратами інформації.
16. Стиснення без втрат. Стиснення з втратами. 17. Зворотне та незворотнє стиснення 18. Формати зберігання стиснених даних. 19. Коефіцієнту стиснення та ступеню стиснення при архівації. 20. Коефіцієнт стиснення та ефективністю методу стиснення. 21. Алгоритм кодування RLE. 57 22. Алгоритм кодування Хаффмена. 21. Характеристика програм Win. Zip і Win. RAR.
23. Характеристика Win. Zip. 24. Особливості використання Win. RAR. 25. Провести порівняльний аналіз програм Win. Zip і Win. RAR. 26. Створення багатотомного архіву у програмах Win. Zip і Win. RAR. 27. Створення SFX-архіву. 28. Дії, що можна виконувати з даними в архіві? 58 29. Захист даних, що знаходяться в архіві.
30. Кодування за Фано. 31. Арифметичне кодування. 32. Ортогональне перетворення. 33. Матричні перетворення. 34. Векторні перетворення. 35. Перетворення Уолша-Адамара. 36. Перетворення Хаара. 37. Фрактальне стиснення. 59 38. Утворення трикутника Серпінського. 39. Утворення папороті Барнслі.
СПАСИБО ЗА ВНИМАНИЕ КАКИЕ ЕСТЬ ВОПРОСЫ? 60
Лекция 3. Архивация и сжатие данных.ppt