© Ваврук Є.Я.
Курс лекцій
"Комп’ютерні засоби обробки сигналів та зображень"
Тема 10
Тема: Застосування хвилькових перетворень для стиску зображень
Питання.
1. Вимоги до перетворень, що використовуються для кодування зображень.
2. Характеристика відеокодеків ADV601:
- принцип роботи відеокодека ADV601;
- опис функціональної схеми відеокодека ADV601.
3. Відеокомпресор на базі відеокодека ADV601:
- блок схеми компресії і декомпресії сигналу на базі відеокодека ADV601.
Вимоги до перетворень, що використовуються для кодування зображень.
Для зберігання кольорової картинки розміром 512х512 необхідно 768 КБайт. Якщо передавати відео послідовність таких картинок зі швидкістю 25 кадрів/с. необхідна швидкість 188,7 МБіт/с. Є стиск зображення з втратами і без втрат. Хвилькові перетворення використовуються для обох методів.
Переважно, схема стиску зображень із втратами містить наступні процедури:
EMBED Visio.Drawing.6
Рис. 1.1 Схема стиску зображень із втратами
На практиці можуть використовуватись не всі процедури вказаної схеми стиску. Визначити необхідні процедури, - це і є завдання кожної окремої роботи. Наявність тієї чи іншої процедури залежить від ступеня стиску, якого необхідно досягнути, бажаної швидкості роботи пристрою та апаратної реалізації.
Необхідність тієї чи іншої процедури залежить також від сфери застосування системи стиску зображень. Наприклад, дана схема не може бути застосована при стиску медичних рентгенівських знімків, оскільки потрібна повна, тобто точна реконструкція зображення. Процедуру квантизації коефіцієнтів мусимо скасувати. Тобто, тут потрібна схема безвтратного стиску. Така схема зображена на рисунку 1.2.
EMBED Visio.Drawing.6
Рис. 1.2 Схема стиску зображень без втрат
Кодування із спектральним перетворенням, зазвичай, засноване на ортогональному лінійному перетворенні. Класичними прикладами такого перетворення є дискретне перетворення Фур’є (ДПФ), яке декомпонує сигнал на синусоідальні компоненти, дискретне косинусне перетворення (ДКП), перетворення Карунена-Лоева (ПКЛ), дискретне вейвлітне перетворення (ДВП).
З огляду літератури зрозуміло, що одним з найбільш поширених методів спектрального перетворення, що зстосовують для стиску зображень в мультимедії, є дискретне косинусне перетворення (використовують в стандарті стиску зображень JPEG) та дискретне вейвлітне перетворення (JPEG2000). ДКП та ДВП детально описані в наступних пунктах поточного розділу нашої роботи.
Спектральне перетворення Карунена-Лоева відоме як оптимальне в тому сенсі, що всі його коефіцієнти є некорельованими випадковими величинами. Зрозуміло, що кількість ненульових спектральних коефіцієнтів зображення в цьому випадку буде найменшою в порівнянні з іншими спектральними перетвореннями. Дане ствердження можна розуміти так, що ПКЛ, перетворюючи сигнал в спектральну область з меншою кількістю координат, автоматично пропонує найбільш компактне спектральне представлення сигналу. Наступна після ПКЛ прцедура стиску зображень без втрат на основі алгоритмів ентропійного кодування чи арифметичного кодування або інших, дасть найкращий результат. У вказаному сенсі ПКЛ є оптимальним спектральним перетворенням, тобто теоретичною границею. Незважаючи на теоретично гарні характеристики, ПКЛ реально не використовують при апаратному стиску зображень.
Насамперед потрібно розглянути властивості спектральних перетворень, що є важливі при кодуванні зображень.
Масштаб та орієнтація базисних функцій.
Для ефективного представлення зображення важливу роль відіграє масштаб. Зображення містить об’єкти відмінних розмірів. Тому спектральне перетворення повинно дозволяти аналізувати зображення одночасно (і незалежно) на різних масштабах. Для двовимірного сигналу деяка спектральна область відповідає певному масштабу та орієнтації. Орієнтація базисних функцій визначає здатність спектрального перетворення коректно аналізувати типові для зображення структури. Прикладом можуть бути контури та лінії. Тобто, для вирішення задачі аналізу бажано мати спектральне перетворення, яке б поділяло вхідний сигнал на локальні частотні області.
Просторова (часова) локалізація.
Базисні функції мають бути локалізовані не тільки по частоті. Бажано, щоб вони були локалізовані в просторі (часі). Ця особливість особливо важлива тоді, коли інформація про розташування деталей зображення є найважливішою. Але ця локальність, однак, не повинна бути “абсолютна”, блочна, як в ДКП, так як це призводить до втрати локальності в частотній області.
3. Ортогональність.
Ця властивість, вцілому, не є обов’язкова для кодування зображень [30]. Так, наприклад, ортогональність зазвичай не розглядають в контексті субполосного кодування, хоча спектральне вейвлітне перетворення, як правило, є ортогональним. Перевага застосування ортогонального перетворення полягає в тому, що ортогональність спрощує обчислення.
4. Швидкі алгоритми обчислення.
Наявність обов’язкова. Неможливість практичної реалізації спектрального перетворення в реальному масштабі часу, як правило, веде до неможливості його застосування.
Дискретне вейвлітне перетворення
Будь-яке спектральне перетворення, спектральне перетворення Фур’є чи вейвлітне спектральне перетворення, призначене для підготовки сигналу до кодування. Його мета – декорелювати сигнал. Відомо, що кореляція між пікселами зображення зменшується експоненціально із збільшенням відстані. Тобто EMBED Equation.3 ,
де EMBED Equation.3 - кореляція між пікселами,
EMBED Equation.3 - змінна відстані,
EMBED Equation.3 - кутова частота.
Відповідно спектральна густина потужності EMBED Equation.3 ,
де EMBED Equation.3 - спектральна густина потужності,
EMBED Equation.3 - кутова частота.
Цю функцію подає рис. 1.3. З рисунка видно, що для отримання пласких сегментів спектру потрібно точно ділити спектр на низьких частотах та грубо на високих. Субполоси, що будуть отримані в результаті такого поділу, будуть описуватись білим шумом із дисперсією, яка пропорційна спектру потужності в даному діапазоні. Cаме такий поділ спектру робиться з допомогою вейвлітного спектрального перетворення.
EMBED Visio.Drawing.6
Рис. 1.3 Спектральна густина потужності, що відповідає експоненціальній кореляції
Дамо математичне представлення вейвлітів. Зауважимо, що дискретне вейвлітне перетворення можна описати різними формулами. Велику різноманітність ДВП можна пояснити наявністю великого числа базисних вейвлітів, на основі яких будують ДВП. Для стиску зображень використовують певні з них. Нижче подамо ДВП, з базисним біортогональним вейвлітом (5,3).
На виході ДВП отримуємо апроксимуючу та деталізуючу послідовності коефіцієнтів, які подамо наступними аналітичними виразами:
EMBED Equation.3 (1.4)
EMBED Equation.3 (1.5)
де EMBED Equation.3 - піксели вхідного зображення,
EMBED Equation.3 - деталізуючі коефіцієнти,
EMBED Equation.3 - апроксимуючі коефіцієнти.
Формули (1.4), (1.5) відповідають вейвлітові (5,3).
Проаналізуємо ДВП відповідно до критеріїв описаних вище:
Вейвліти локалізовані у частотній та часовій областях (зрозуміло, не абсолютно, але з деяким наближенням) і тому можуть відображати локальну темпоральну кореляцію в спектрі. Це дозволяє коректно аналізувати типові для зображення структури та виділяти локальні особливості зображення; як приклад наведемо можливі дельтоподібні піки та заглибини в зображенні. Причому просторова локальність вейвлітів не є блочною, як в ДКП (зображення обробляється не цілим, а, як правило, блоками 8х8, 16х16, інколи 32х32, які не перекриваються). Вейвліти працюють над цілим зображенням.
Через компактність базису майже відсутні артефакти на відновленому зображенні – основний недолік блок-косинусного спектрального перетворення. Спектральне вейвлітне перетворення згладжує відновлене зображення, що вигідно при стиску зображень в мультимедії.
Спектральне вейвлітне перетворення, як правило, є ортогональне, що спрощує обчислення. Крім того, ДВП є сепарабельне, що дозволяє виконувати двомірні перетворення на основі одномірних [34].
Існує алгоритм швидкого спектрального вейвлітного перетворення - ШВП.
Компактність базису дає можливість швидкого обчислення вейвлітного спектру із допомогою простих у реалізації фільтрів зі скінченою імпульсною характеристикою (КІХ-фільтри).
Спектральне вейвлітне перетворення та спектральне блок-косинусне перетворення близькі за своїми властивостями. Спектральне вейвлітне перетворення, так само як і косинусне, є сепарабельним, що дозволяє виконувати двовимірне перетворення на основі одновимірного.
Проблеми, що виникають при стиску зображень за допомогою хвильових перетворень:
1. Вибір вейвлетів для стиску . Є критерії «хороших» вейвлетів: гладкість, точність апроксимації, величина області визначення, частотна вибірковість фільтра.
Для кодування зображень добре підходять сплайнові вейвліти, найкраще 7/9 (використовується в кодеках ADV6хх.
2. Для ефективного стиску необхідно обробляти границі зображень.
3. Квантування
4. Ентропійне кодування коефіцієнтів здійснюється за допомогою арифметичного кодування.
5. Розподілення біт.
2. Характеристика відеокодеків ADV601:
- принцип роботи відеокодека ADV601;
- опис функціональної схеми відеокодека ADV601;
- блок схеми компресії і декомпресії сигналу на базі відеокодека ADV601.
Відеокодек входить до складу відео компресора, в якому стискається Н/Ч-телевізійний сигнал в реальному часі, використовуючи Wavelet - перетворення.
Принципова відмінність Wavelet в тому, що він не є блоковим алгоритмом, він працює відразу над всім полем (напівкадром). За рахунок відсутності міжкадрового передбачення, завадостійкість формату Wavelet вища, ніж MPEG. (Серед Web-ресурсів, присвячених Wavelet, можна відзначити безкоштовний щомісячник HYPERLINK "http://www.wavelet.org/" \t "_new" http://www.wavelet.org/; вичерпну бібліографію можна знайти на HYPERLINK "http://www.mathsoft.com/wavelets.html" http://www.mathsoft.com/wavelets.html; а софтверні реалізації алгоритму на HYPERLINK "http://playfair.stanford.edu/~wavelab" \t "_new" http://playfair.Stanford.EDU/~wavelab).
У відеокодері застосовуються мікросхеми ADV601 і його спрощена модифікація - ADV601LC. Функціональна особливість кодека "безшовне" стиснення зображення. Відеокодек забезпечує високий коефіцієнт компресії (до 350) в поєднанні з хорошою якістю відновленого зображення. Докладний опис кодека можна знайти в HYPERLINK "ftp://ftp.analog.com/pub/dsp/adv601/" \t "_new" ftp://ftp.analog.com/pub/dsp/adv601/. Види зображення наведені на рис.2.1. та 2.2.
Високий ступінь стиснення дозволяє помістити відеосигнал в низькошвидкісний канал зв'язку (ISDN або телефонна лінія). Реально вдається передати відеосигнал по звичайній телефонній лінії, зберігаючи високу якість зображення, на відстань 2,5 км. Основні функціональні блоки кодека ADV601 показані на рис.2.3.
INCLUDEPICTURE "../../../2003-2004/KZOSZ/Видеокомпрессор%20на%20базе%20видеокодека%20ADV601.files/volod3.gif" \* MERGEFORMAT
Рис.2.3. Блок-схема відеокодека ADV601
Цифровий порт, порт вводу-виводу процесора і контроллер динамічної пам'яті є інтерфейсними блоками для зв'язку кодека, відповідно, з відеосигналом, процесором і зовнішньою пам'яттю. Решта блоків є обчислювальними, вони і здійснюють Wavelet-перетворення.
Як відбувається стиск?
Блок-схеми компресії і декомпресії сигналу показані на рис.2.4 і рис.2.5, відповідно.
Алгоритм роботи полягає в наступному: над напівкадром відеосигналу проводиться Wavelet-перетворення, подібно Фурье-перетворенню.
Результатом є набір частотних складових. Він адаптивно квантується і стискається кодером Хоффмана. Квантування побудовано на основі моделі зору людини, що дозволяє вибирати оптимальні рівні квантування на основі розподілу енергії і мінімаксних значень пікселів в блоках, отриманих з початкового зображення на виході фільтрів. Крім кодера Хоффмана, використовується і інший тип ентропійного кодера, так званий кодер довжин серій.
Ступінь стиску напівкадру регулюється коефіцієнтами квантування. Кожний напівкадр стискається незалежно. Тому різні напівкадри стискаються з різним ступенем компресії, залежно від сюжету зображення, при постійних параметрах стиснення. Для підтримки постійної швидкості вихідного потоку в пристрої реалізована схема автоматичного регулювання коефіцієнтів квантування (САР). Як параметр управління ступенем стиску використовується розмір, до якого повинен стискатися кожний напівкадр. Цю величину називають "Target". Залежно від необхідної швидкості вихідного потоку стислого відеосигналу і якості зображення, і задається Target.
Алгоритм роботи пристрою виглядає так:
ADV601 приймає чергове поле і стискає його;
САР підраховує одержану кількість стислого відеосигналу і порівнює з Target;
САР обчислює нові коефіцієнти для стиснення і завантажує їх в ADV601;
наступне поле стискається з новими коефіцієнтами.
Таким чином, швидкість вихідного потоку є змінною величиною. Вона міняється біля заданого значення залежно від змін сюжету. Середня швидкість вихідного потоку, що тому задається, повинна бути нижчою за пропускну спроможність каналу (принаймні, на 10%). Фізична ж швидкість потоку постійна і не залежить від кількості одержуваної стислої інформації. У разі, коли інформації менше ніж прокачує канал, пристрій пересилає більше службових пакетів. Інакше, частина кадрів втрачається. Візуально це виглядає як заморожування окремих кадрів.
3. Відеокомпресор на базі відеокодека ADV601:
Таблиця 3.1. Технічні характеристики відеокомпресора.
АЦП Philips SAA 7111, сигнальний процесор ADSP2183 і відеокодек встановлюються на поверхню комірки методом монтажу на поверхню. Компоненти монтуються на обидві сторони чотиришарової друкарської комірки з технологічною нормою 150 мкм (рис.3.1).
INCLUDEPICTURE "../../../2003-2004/KZOSZ/Видеокомпрессор%20на%20базе%20видеокодека%20ADV601.files/volod6.gif" \* MERGEFORMAT
Рис.3.1. Розміщення основних елементів відеокомпресора
Для відладки і експериментів відеокомпресор має інтерфейс управління, відповідний COM-порту. Без нього отримати працюючий пристрій було б проблематично. Компресор має цифровий вхід і вихід звуку, параметри яких сумісні з параметрами звукових кодеків сімейства ADSP. Наявність звукового каналу дозволить застосовувати пристрій не тільки в системах відеонагляду, але і в традиційних сферах телевізійної техніки.