Менше даних.
Більше розуміння.
Досліджуйте, як DCT та вейвлет Хаара зберігають зображення.
Один оригінал, два перетворення, наочне порівняння.
DCT
КосинуснеDWT
Вейвлет ХаараЗмінюйте частку коефіцієнтів, щоб дослідити баланс якості та стиснення.
Експерименти для поточного зображення. Оберіть рядок, щоб побачити результат.
| Збережено | Коефіцієнтів | DCT, дБ | DWT, дБ |
|---|---|---|---|
| Обчислення експериментів… | |||
Однакова кількість вибраних позицій для обох методів.
Коефіцієнти ≠ розмір файлу. Частка показує кількість вибраних позицій після перетворення. Кодування, індекси та заголовки тут не враховуються. PNG використовується лише для збереження результатів.
Що відбувається всередині
DCT · блоки 8 × 8
Кожен блок множиться на власноруч побудовану ортонормовану матрицю косинусів. Після відкидання коефіцієнтів виконується обернене множення.
A = C · B · Cᵀ
B̂ = Cᵀ · Â · CDWT · вейвлет Хаара
Попарні суми й різниці рядків та стовпців виділяють наближення і деталі. Наступні рівні працюють з піддіапазоном LL.
a = (x + y) / √2
d = (x − y) / √2PSNR · вимірюємо якість
Похибка обчислюється між початковими та відновленими 8-бітними пікселями. Більше значення PSNR відповідає меншій середньоквадратичній похибці.
MSE = Σ(I − Î)² / (W · H)
PSNR = 10 log₁₀(255² / MSE)Умови експерименту та особливості реалізації
Обидва методи обробляють яскравість зі зсувом −128; після відновлення додається 128. Кольорові файли переводяться у відтінки сірого за формулою Y = 0,299R + 0,587G + 0,114B. Прозорість накладається на біле тло. Зображення масштабується зі збереженням пропорцій лише за потреби, до обраної максимальної сторони.
Розміри доповнюються крайовими пікселями до кратності max(8, 2ᴸ), однаково для DCT і DWT. Частка коефіцієнтів рахується від доповненого масиву; PSNR — лише для початкової області. Вибирається рівно K = round(N · p / 100) найбільших за модулем коефіцієнтів окремо для кожного методу, включно з можливими нульовими. Значущими вважаються |c| > 10⁻⁹.
Перед PSNR значення обмежуються діапазоном [0; 255] та округлюються. Якщо MSE = 0, PSNR = ∞. Вбудовані зразки синтетичні й детерміновані: вони дозволяють повторити експеримент без зовнішніх файлів. Реалізація не використовує готових функцій DCT/DWT.