asyan.org
добавить свой файл
  1 2 3

Зображення

Прогресивний кодер

Потік бітів

Рис.. Відтворення зображення різної якості
Стиск зображень з використанням методу кодування областей хвилькового перетворення
У цьому методі розглядаються області коефіцієнтів логарифмічного хвилькового перетворення зображення, які мають різні розміри. Ідея полягає в тому, щоб коефіцієнти в різних областях опрацьовувати (квантувати та кодувати) по-різному, бо кожна смуга може розглядатися як відмінний випадковий процес.

На рис. показано результат типового розподілу бітів для різних областей при загальній оцінці степеня стиску 1 біт на піксель. Компоненти кодуються по-різному залежно від частотної області, за яку відповідає конкретна компонента. Низькочастотні компоненти в лівому верхньому куті несуть більше інформації, ніж високочастотні компоненти в нижньому правому куті, тому вони кодуються більшою кількістю біт. Це нерівномірне квантування. У результаті після квантування отримуємо такий степінь стиску :

{[(8+6+5+5)/4+2+2+2]/4+1+0+0]}/4=1 біт/піксель.


рис.
Стиск зображень з використанням методу дерев нулів хвилькового перетворення
Хвильковий розклад зображення можемо мислити собі як просторову множину коефіцієнтів, яка складається з дерев. Дерево коефіцієнтів хвилькового перетворення означається як множина коефіцієнтів із різних областей, що описують ту саму просторову ділянку в зображенні.

На рис. показано трирівневий хвильковий розклад зображення Lena та структуру дерева хвилькових коефіцієнтів, які відповідають за ділянку ока в зображенні. Стрілки на рис. (б) показують співвідношення батьківські вершини – дочірні вершини в дереві; H позначає високу частоту, L - низьку частоту, 1,2,3 - рівні частот. Найбільш низькочастотна компонента хвилькового розкладу представляється кореневими вершинами дерева, які знаходяться у верхньому лівому куті. Найбільш високочастотна компонента хвилькового розкладу представляється кінцевими вершинами дерева, які знаходяться у нижньому правому куті. За винятком кореневої вершини, яка має лише три дочірніх вершини, кожна батьківська вершина має чотири дочірніх вершини, а саме ділянку розміру 2х2 з тим самим просторовим розташуванням у більш високочастотній компоненті.




(а) (б)

Рис. (а) Трирівневе хвилькове перетворення зображення. (б) Дерево коефіцієнтів
Методи стиску зображень з використанням дерев нулів (EZW, SPIHT) ґрунтуються на ідеї використання багатьох проходів для кодування дерев нулів, щоб передати найбільші хвилькові коефіцієнти спочатку.

Дерева нулів переглядаємо, користуючись змінними порогами.

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

У кожному проході суттєвість більшої множини в дереві аналізується спочатку. Якщо множина несуттєва, вона кодується відповідним символом, і при відтворенні всі множина заповнюється нулями. В іншому випадку множина розбивається на підмножини (дочірні множини) для подальшого аналізу на суттєвість. Після того, як в поточному проході проаналізовано всі коефіцієнти, поріг перед черговим проходом зменшується вдвоє.

Основне припущення при кодуванні за допомогою дерев нулів полягає в тому, що більшість зображень можуть бути змодельовані як такі, що мають спадаючі спектральні значення. Це конкретно означає: якщо батьківська вершина дерева коефіцієнтів хвилькового пертворення несуттєва, то дуже висока ймовірність, що її дочірні вершини також будуть несуттєвими. У цьому разі дуже ефективно працює для стиску кодовий символ для дерева нулів.

Далі детально розглядаємо як приклад алгоритм EZW на підставі дерев нулів коефіцієнтів хвилькового перетворення. Цей метод запропонований Шапіро в роботі, опублікованій у 1993р. Метод SPIHT є розвитком методу EZW.

Позначення EZW утворене від слів Embedded Zerotree Wavelet. Пояснимо значення кожного із слів у цьому методі.

Слово wavelet (хвилькове) означає, що метод працює з коефіцієнтами хвилькового перетворення.

Слово embedded (вкладене) означає, що кодер стискає зображення, утворюючи потік бітів із зростаючою точністю. Тобто, коли до потоку додати більше бітів, відтворене зображення буде точнішим.

Слово zerotree (дерево нулів) означає, що метод використовує поняття дерева нулів. Хвилькове перетворення дає представлення зображення, структуроване на дерева. Дерево нулів – це четвіркове (кожна вершина розгалужується на чотири дочірніх вершини) дерево, усі коефіцієнти якого менші від поточного порогу. Це дерево кодується одним символом, а декодер відтворює його як заповнене нулями четвіркове дерево.

Ми проходимо коефіцієнти хвилькового перетворення у порядку, який називається порядком Мортона. Цей порядок схематично показаний нижче.

На кожному етапі виконують головний та підрядний проходи.

Головний прохід.

Якщо коефіцієнт додатній і більший від порогу, то він кодується символом p.

Якщо коефіцієнт від’ємний і за абсолютною величиною більший від порогу, то він кодується символом n.

Символом t кодується корінь дерева нулів.

Символом z кодується ізольований нуль, тобто коефіцієнт менший за абсолютною величиною від порогу, але не є коренем дерева нулів.

Якщо коефіцієнт закодовний як p або n, то ми заміняємо його для подальших проходів нулями. Крім того, вносимо його в список для підрядного проходу.

Підрядний прохід.

Поріг для підрядного проходу отримується зменшенням порогу для відповідного головного проходу вдвоє.

Якщо коефіцієнт більший від порогу, то він кодується значенням 1, а якщо менший – значенням 0.

Коефіцієнти кодуються в послідовних проходах. Для кожного проходу вибирається поріг, з яким порівнюються коефіцієнти. Якщо коефіцієнт більший за абсолютною величиною від порогу, то він кодується та заміняється нулем. У протилежному випадку коефіцієнт залишається для чергового проходу. Коли ми пройшли всі коефіцієнти, поріг зменшується і ми знову проходимо коефіцієнти, щоб додати більше деталей до вже закодованого зображення.

Розглянемо просте трирівневе хвилькове перетворення зображення розміру 8Х8 елементів. Матриця значень цього хвилькового перетворення наведена нижче.



Оскільки найбільше абсолютне значення коефіцієнтів у цій матриці рівне 63, ми можемо вибирати початковий поріг з проміжку (31,5;63]. Нехай початковий поріг дорівнює 32. Табл.1 описує опрацювання коефіцієнтів на першому основному проході.
Табл.1 Опрацювання коефіцієнтів на першому основному проході з порогом рівним 32.


Підсмуга

Значення коефіцієнта

Кодуючий символ

Значення при відтворенні

Коментар

LL3

63

p

48

1)

HL3

-34

n

-48




LH3

-31

z

0

2)

HH3

23

t

0

3)

HL2

49

p

48




HL2

10

t

0

4)

HL2

14

t

0




HL2

-13

t

0




LH2

15

t

0




LH2

14

z

0

5)

LH2

-9

t

0




LH2

-7

t

0




HL1

7

t(z)

0

6)

HL1

13

t(z)

0




HL1

3

t(z)

0




HL1

4

t(z)

0




LH1

-1

t(z)

0




LH1

47

p

48

7)

LH1

-3

t(z)

0




LH1

-2

t(z)

0





Використовуються такі кодуючі символи: p – суттєвий додатній коефіцієнт, n – суттєвий від’ємний коефіцієнт, z – ізольований нуль, t – корінь дерева нулів.

Якщо маємо несуттєвий коефіцієнт без дочірніх коефіцієнтів, то в цьому разі ситуації t чи z не розрізняються. Ми ставимо символ t.

Далі наведені коментарі до табл.1.

1) Коефіцієнт має значення 63, яке більше від порогу 32 і додатнє. Тому використовується символ p. При декодуванні цього символа декодер замінить його на серднє значення проміжку [32,64), тобто на 48.

2) Хоча коефіцієнт 31 є несуттєвим відносно порогу 32, він має суттєве дочірнє значення на дві рівні нижче в смузі LH1 рівне 47. Тому цей коефіцієнт заміняється на символ z ізольованого нуля.

3) Величина 23 менша від 32 і всі дочірні значення (3,-12,-14,8) у смузі HH2 і всі коефіцієнти у смузі HH1 несуттєві. Коефіцієнт 23 заміняється на символ t дерева нулів, а для всіх коефіцієнтів у смугах HH2 та HH1 під час першого основного проходу не утворюються ніякі символи.

4) Величина 10 менша від 32 і всі її дочірні значення (-12,7,6,-1) також менші від порогу 32. Отже, утворюється символ t дерева нулів.

Зауважимо, що в цьому дереві порушується гіпотеза про “спадаючий спектр”, бо коефіцієнт –12 в підсмузі HL1 більший за абсолютною величиною від свого батьківського коефіцієнта 10. Проте ціле дерево має значення менші від порогу 32, а тому ще є деревом нулів.

5) Величина 14 несуттєва порівняно з 32. Її дочірні значення рівні (-1,47,-3,2). Оскільки її дочірнє значення 47 суттєве, то утворюється символ ізольованого нуля.

6) Зауважимо, що ніякі символи не були утворені для підсмуги HH2, яка при проходженні коефіцієнтів передує підсмузі HL1. Також зауважимо, що оскільки підсмуга HL1 не має дочірніх вершин, то між символами t чи z немає різниці. Ми використовуємо символ t.

7) Величина 47 суттєва порівняно з 32. Зауважимо, що для подальших основних проходів цей коефіцієнт буде замінений значенням 0; так що при черговому основному проході з порогом 16 батьківське значення 14 цього коефіцієнта буде замінене символом кореня дерева нулів.

Під час першого основного проходу, який використовує поріг 32, знайдено чотири суттєвих коефіцієнти. Ці коефіцієнти уточнюються під час першого підрядногопроходу. Перед першим підрядним проходом проміжок для всіх суттєвих коефіцієнтів – це проміжок [32,64). Перший підрядний прохід уточнить ці величини й віднесе їх до проміжку [32,48), що кодується символом 0, або до проміжку [48,64), що кодується символом 1. Тобто, межею для прийняття рішення є число 48.

Порядок дій при першому підрядному проході ілюструється в табл.2.
Табл.2 Опрацювання коефіцієнтів на першому підрядному проході.


Значення коефіцієнта

Кодуючий символ

Значення при відтворенні

63

1

56

34

0

40

49

1

56

47

0

40


Перший коефіцієнт рівний 63 і розміщується у верхньому проміжкому, центр якого дорівнює 56. Другий коефіцієнт рівний 34 і розміщується в нижньому проміжку. Третій коефіцієнт 49 є у верхньому проміжку, а четвертий коефіцієнт 47 – у нижньому проміжку.

Матриця, яка може бути відтворена декодером, виходячи з даних першого основного та підрядного проходів наведена далі.

56

56

40

-40

Опрацювання продовжується на другому основному проході з новим зменшеним вдвоє порогом 16. Під час цього проходу проглядаються лише ті коефіцієнти, які ще не були ідентифіковані як суттєві на першому проході. Крім того, ті коефіцієнти, які раніше були ідентифіковані як суттєві, заміняються нулями.

Видозмінена матриця значень хвилькового перетворення перед другим основним проходом наведена нижче

0

0

0

0

Таким чином, на другому основному проході коефіцієнт –31 у підсмузі LH3 кодується як суттєвий від’ємний, коефіцієнт 23 у підсмузі HH3 як суттєвий додатній, три коефіцієнти у підсмузі HL2, які раніше не були ідентифіковані як суттєві, всі кодуються як корені дерев нулів. Так само кодуються як корені дерев нулів усі чотири коефіцієнти у підсмузі LH2 та всі чотири коефіцієнти у підсмузі HH2. На цьому другий основний прохід завершується.

Список для другого підрядного проходу містить коефіцієнти (63,34,49,47,31,23), які перед цим проходом представляли три проміжки [48,64), [32,48) [16,32) кожен з шириною рівною 16.

Опрацювання уточнить кожне значення, утворивши два нових проміжки для кожного з трьох вказаних проміжків. Використовуючи середні значення проміжків як значення для відтворення, декодер утворить такі величини (60,36,52,44,28,20).

Матриця, яка може бути відтворена деклдером, виходячи з даних першого та другого основного та підрядного проходів наведена далі.

60

52

44

-36

20

-28


Опрацювання продовжується далі, чергуючи основний та підрядний проходи, і може бути зупинене у будь-який момент часу.

Усі етапи кодування та декодування ілюструються нижче, а текст програми кодування та декодування наведений у додатку.

Етапи роботи EZW кодера
поріг = 32
D = pnztpttttztttttttptt
S = 1 0 1 0
поріг = 16
D = ztnptttttttt
S = 1 0 0 1 1 0
поріг = 8
D = zzzzzppnppnttnnptpttnttttttttptttptttttttttptttttttttttt
S = 1 0 0 1 1 1 0 1 1 1 1 0

1 1 0 1 1 0 0 0
поріг = 4
D = zzzzzzztztznzzzzpttptpptpnptntttttptpnpppptttttptptttpnp
S = 1 1 0 1 1 1 1 1 0 1 1 0
0 1 0 0 0 0 0 1 1 1 0 1
1 0 1 0 0 0 1 0 0 1 0 1
0 1 1 0 0
поріг = 2
D = zzzzztzzzzztpzzzttpttttnptppttptttnppnttttpnnpttpttppttt
S = 1 0 1 1 1 1 0 0 1 1 0 1
0 0 0 1 0 1 1 1 1 1 0 1
0 1 1 0 1 1 0 0 1 0 0 0
0 0 0 0 0 1 1 0 1 1 0 1
1 0 0 1 1 0 0 0 1 1 1
поріг = 1
D = zzzttztttztttttnnttt

Етапи роботи EZW декодера
поріг = 16
рівень = 1

XX =
56 -40 56 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 40 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0
поріг = 8
рівень = 2
XX =
60 -36 52 0 0 0 0 0

-28 20 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 44 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0
поріг = 4
рівень = 3
XX =
62 -34 50 10 0 14 -14 0

-30 22 14 -14 0 0 0 0

14 14 0 -14 0 0 0 10

-10 0 -14 10 0 0 0 0

0 10 0 46 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 10 0 0 0 0 0 0
поріг = 2
рівень = 4
XX =
63 -35 49 11 7 13 -13 7

-31 23 15 -13 0 5 7 0

15 15 0 -13 5 -7 0 9

-9 -7 -15 9 5 0 0 0

-5 9 0 47 5 7 0 0

0 0 0 0 0 0 0 5

0 0 7 -5 0 7 0 7

5 11 5 7 0 0 -5 5
поріг = 1
рівень = 5
XX =
63 -34 49 10 7 13 -12 7

-31 23 14 -13 3 4 6 0

15 14 3 -12 5 -7 3 9

-9 -7 -14 8 4 -2 3 2

-5 9 0 47 4 6 -2 2

3 0 -3 2 3 -2 0 4

2 -3 6 -4 3 6 3 6

5 11 5 6 0 3 -4 4
поріг = 0.5
рівень = 6
XX =
63 -34 49 10 7 13 -12 7

-31 23 14 -13 3 4 6 -1

15 14 3 -12 5 -7 3 9

-9 -7 -14 8 4 -2 3 2

-5 9 -1 47 4 6 -2 2

3 0 -3 2 3 -2 0 4

2 -3 6 -4 3 6 3 6

5 11 5 6 0 3 -4 4
початкове зображення =
63 -34 49 10 7 13 -12 7

-31 23 14 -13 3 4 6 -1

15 14 3 -12 5 -7 3 9

-9 -7 -14 8 4 -2 3 2

-5 9 -1 47 4 6 -2 2

3 0 -3 2 3 -2 0 4

2 -3 6 -4 3 6 3 6

5 11 5 6 0 3 -4 4
відтворене зображення =
63 -34 49 10 7 13 -12 7

-31 23 14 -13 3 4 6 -1

15 14 3 -12 5 -7 3 9

-9 -7 -14 8 4 -2 3 2

-5 9 -1 47 4 6 -2 2

3 0 -3 2 3 -2 0 4

2 -3 6 -4 3 6 3 6

5 11 5 6 0 3 -4 4
різниця =
0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0
Наведений вище процес кодування продовжується з одного проходу до наступного, і може бути зупинений на будь-якому етапі. Для кращого представлення кодування може бути застосоване кодування Хафмена для подальшого стиску потоку на виході EZW шифратора.

Рис. нижче показує початкові зображення Lena та Barbara. Вони були стиснуті до 0,25 бітів/піксель (коефіцієнт стиску 32:1) за допомогою методів JPEG (з використанням дискретних косинусних перетворень) та EZW. Порівняємо відповідні відтворені зображення.

Для цього слід використати певні міри спотворення, які характеризують відхилення відтвореного зображення від початкового зображення.

Переважно в області опрацювання зображень використовують такі міри спотворення:

  1. середньоквадратична похибка (mean square error - MSE)

  2. відношення максимальний рівень сигналу -шум»

(peak signal –to- noise ration PSNR) .

Одиницею вимірювання для міри PSNR є децибели.

У верхній частині рисунку наведені початкові зображення Lena та Barbara.

Посередині рисунку даються відтворені після стиску методом JPEG зображення:

  • PSNR=31,6 дБ для зображення Lena

  • PSNR=25,2 дБ для зображення Barbara

У нижній частині рисунку даються відтворені після стиску методом EZW зображення:

  • PSNR=34,1 дБ для зображення Lena

  • PSNR=27,6 дБ для зображення Barbara

Як бачимо, метод EZW дає кращі характеристики для відтворених зображень.






Адаптивні хвилькові перетворення : Хвилькові пакети.
Слід зауважити, що традиційний підхід використання хвилькових перетворень з фіксованою частотною роздільною здатністю (логарифмічне хвилькове перетворення) є добрий лише в загальному для типового статистичного класу зображень. Цей клас добре узгоджується з характеристиками вибраного фіксованого перетворення. Виникає природнє питання : чи можна отримати кращі результати, підбираючи перетворення для особливого зображення, яке може не належати до типового ансамблю.

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

Але є важливі класи зображень, чиї властивості не узгоджуються з логарифмічним хвильовим розкладому, наприклад, зображення, що мають стійкі високочастотні компоненти. Добрим прикладом слугують текстури штанів, шарфа чи скатертини в зображенні Barbara.

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

Це спричинило пошук альтернативних хвилькових перетворень, які більш адаптивні у їх представленні і більш стійкі для великого класу зображень з невідомими або невідповідними просторово-частотними характеристиками. Хоча задача знаходження оптимального розкладу для кожного окремого зображення у світі є некоректно поставленою, ситуація стає більш цікавою, якщо ми розглядаємо велику, але скінчену бібліотеку бажаних перетворень, і підбираємо найкраще перетворення з цієї бібліотеки, адаптуючи до конкретного зображення. Щоб це було допустимим, є дві вимоги. Перша вимога: бібліотека має містити репрезентативну множину претворень (наприклад, було б добре, якби вона містила логарифмічний хвильковий розклад). Друга вимога: суттєво, щоб був швидкий спосіб пошуку в бібліотеці для знаходження найкращого для конкретного зображення перетворення.

Ці дві вимоги дають елегантне узагальнення логарифмічного хвилькового перетворення під назвою пакетний хвильковий розклад.

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

Переваги опрацювання, пов’язані з хвильковими пакетами, звичайно залежать від конкретного зображення. Для таких складних зображень як Barbara, показаний на рис. нижче хвильковий розклад з пакету дає кращу степінь стиску, ніж логарифмічний хвильковий розклад. Білі лінії на рис. представляють границі областей коефіцієнтів хвилькового перетворення. Характеристики стиску: 0,1825 бітів/піксель, міра спотворення відтвореного після стиску зображення PSNR=27,6 дБ.

Важливим практичним застосуванням хвилькових пакетів є стандарт ФБР для стиску зображень відбитків пальців.

Через складність, пов’язану з адаптивними перетвореннями хвилькового пакету, цей стандарт використовує фіксоване хвилькове перетворення. На рис. показано структуру цього перетворення згідно вказаним стандартом. Воно було розроблене для зображень відбитків пальців з роздільною здатністю 500 точок на дюйм з використанням спектрального аналізу та методу проб і помилок. 64 компоненти отримуємо в результаті п’ятирівневого хвилькового перетворення


рис.

Узагальнюючи адаптивні хвилькові пакети, можна ввести розбиття зображення на фрагменти і для кожного з фрагментів або групи фрагментів підбирати відповідне перетворення з пакету. Це показано на рис. нижче. Зліва маємо розбиття на фрагменти зображення, яке відділяє небо у фоні від висотного будинку та ставка на передньому плані. Справа маємо проілюстровані найкращі хвилькові перетворення з пакету для кожного фрагменту зображення. Чорні лінії представляють фрагменти зображення, а білі лінії – частотні компоненти вибраних хвилькових перетворень.



Стиск рухомих зображень
Для стиску рухомих зображень (відео) використовують формати MPEG (Motion Picture Experts Group). Степінь стиску – від 40:1 до 200:1.

На сьогодні використовуються стандарти MPEG-1, MPEG-2, MPEG-4.

MPEG-1 – 1992, цифрові відеоплеєри

MPEG-2 – 1995, цифрові телевізійні системи

Відрізняються лише швидкостями передачі даних :

MPEG-1 – менше 1,5 МБ/сек

MPEG-2 – 1,5-15 МБ/сек

У всіх цих стандартах регламентований лише процес декодування.

При використанні форматів MPEG при стиску додається ще один етап. Він полягає у врахуванні поблочної (блоки 8Х8 елементів) різниці між сусідніми зображеннями (кадрами).

Один з варіантів наступного етапу виглядає наступним чином. Перший кадр стискається цілий як описано раніше для нерухомих зображень. Далі порівнюємо якими блоками відрізняється кожен наступний кадр від попереднього. Стискаємо тільки ці блоки. На кожний повністю стиснутий кадр може бути від 7 до 15 частково стиснутих. Степінь стиску в MPEG порядку 40:1.

Кадри діляться на 3 групи :

1)Intra-coded (I-pictures) – кодуються без посилання на інші зображення.

2)Predictive-coded (P-pictures) – стискаються , враховуючи попередні I , P кадри.

Знаходимо різницю між кадрами поелементно. Розбиваємо зображення на блоки, запамятовуємо різницю між кадрами в блоках, запамятовуємо вектори переміщення.

IPP……..I

7-15

3)Bidirectionally predictive-coded pictures (B-pictures) .B-кадри стискаємо, використовуючи попередній і наступний кадри.

Наприклад, у фільмі послідовність кадрів така :

I B B P B B P B B P B B I B B P B B P

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

При передачі стиснутого фільму послідовність буде виглядати :

I P B B P B B P B B I B B P B B P B B

0 3 1 2 6 4 5 9 7 8 12 10 11 15 13 14 18 16 17
Фрагмент n-го–го кадру може отримуватися як результат інтерполяції між відповідними елементами відповідних фрагментів (n-1)-го та (n+1)-го кадру.

IPPPP…PBI


рис.22
Основне призначення MPEG – зберігання відеоданих на компакт-дисках для застосування в системах мультимедіа, зокрема файли з розширенням AVI в середовищі Microsoft Windows.

MPEG-3-стандарт стиску для звуку, що супроводжує фільм.
Стиск рухомих зображень у форматі МPEG-4. Стандарт MPEG-4 у 1999 став міжнародним стандартом. Він призначається для цифрового телебачення, інтерактивних мультимедіа, інтерактивної графіки. Базується на об’єктно-орієнтованій парадигмі. Зображення розглядаються як сукупність різних обєктів, які стискаються незалежно один від одного. На зображенні виділяються окремі обєкти, які і обробляються окремо.

Наприклад,фон - нерухоме зображення, яке стискаємо з використанням хвилькових перетворень. Текстури (фон), які розглядаються в форматі, близькі до нерухомих зображень. Алгоритм стиску цих текстур базується на дискретному хвильковому перетворенні (dyscrete wavelet transform (DWT)), скалярному квантуванні, кодуванні дерев нулів та кодуванні Хафмена.

Рухомі об’єкти стискаються за стандартами MPEG-1,2.

Також маає місце глобальна компенсація руху, передаємо лише 4-8 параметрів, що описують рух камери, яка знімає цей фон.

Важливою перевагою є те, що ефективність стиску може бути суттєво покращена для певних відео послідовностей використанням відповідних та спеціально призначених обєктно-орієнтованих “інструментів” передбачення руху для кожного об’єкту у сцені. Набір техніки передбачення руху може бути використаний для дозволу ефективного кодування та гнучкого представлення об’єктів :

  • стандартні 8*8 чи 16*16 пікселів поблочні обрахунки та компенсація руху.

  • Глобальна компенсація руху, що базується на трансляції статичного “спрайту”. Статичний спрайт – це можливо велике статичне зображення, що описує панорамний фон. Для кожного сусіднього зображення в послідовності тільки 8 параметрів глобального руху, що описують рух камери, кодуються для відтворення об’єкту. Ці параметри представляють відповідне афінне перетворення спрайту, переданого в першому кадрі.

Опрацювання звукових сигналів
Багато напрямків мовних технологій (опрацювання мовних сигналів з певною метою: стиск мовних сигналів, cинтез мови, зміна темпу мовлення, розпізнавання або визначення емоційного стану людини за голосом, діагностика степені певних захворювань, розпізнавання мови) на сьогодні інтенсивно розвиваються та знаходять усе більше застосування в різноманітних сферах.

Розпізнавання мови є одним з найскладніших напрямків мовних технологій, який можна застосувати в багатьох областях.

Важливим моментом при опрацюванні мовних сигналів у цифровому вигляді є вибір частоти дискретизації та розрядності відліків у бітах при переході за допомогою аналого-цифрового перетворювача від неперервного до дискретного мовного сигналу.

Загалом вважається, що для звукових сигналів (спів людини, музика, мова, інші звукові сигнали типу дзенькання кришталю) гранична частота не перевищує 22 КГц. Тому для дискретизації звукових сигналів беруть стандартні частоти 44,1 КГц або 48 КГц. Розрядність відліків цифрового звукового сигналу – 16 біт.

Проте мовні сигнали зокрема мають звужений діапазон частот – від 0 до 8 КГц. Тому при опрацюванні мови досить дискретизувати неперервні сигнали з частотою дискретизації 16 КГц та брати 16-бітові відліки.

У деяких часткових випадках основні спектральні складові сигналів знаходяться в ще вужчому діапазоні,й замість частоти дискретизації 16 КГц можна взяти частоту дискретизації 8КГц.
Мовні технології.


  1. Стиск мови (кодування мови)

  2. Синтез мови: (маємо текст, треба його озвучити)

    1. Компілятивний синтез

(Виділяються певні одиниці мови, звуки мови, після цього утворюють слова, речення)

    1. Формантний синтез

(Будують математичну модель, щоб отримати різні одиниці мови)


  1. Розпізнавання диктора за голосом.

    1. Верифікація

    2. Ідентифікація

  2. Визначення емоційного стану людини за голосом.

  3. Визначення хвороби,емоційного стану за голосом.

  4. Розпізнавання мови.

(Є мовний сигнал, треба отримати відповідний текст)
Ідея розпізнавання мови полягає в наступному :

    1. набрати множину мовних еталонів.

    2. порівнювати невідомий сигнал з кожним з еталонів

    3. знайти найближчий еталон.




Найпростіший розпізнавач мови.
Маємо сигнал х(n). Пропускаємо його через набір цифрових фільтрів (кількість фільтрів –16).Частотний діапазон сигналу від 0 до 8 кГц (для мовних сигналів) розбиваємо на 16 рівних смуг.

рис.32


В результаті отримуємо 16 сигналів. Ділимо число відліків на 16 рівних частин.



рис.33


На кожному відрізку знаходимо середнє значення . В результаті маємо 16*16=256 точок. Далі проводимо навчання системи розпізнавання, повторюючи по три рази слова :

Нуль нуль нуль

256 256 256
один один один

256 256 256
дев’ять дев’ять дев’ять

256 256 256

Обробляємо ці мовні сигнали , для кожної команди отримуємо по три вектори по 256 значень. Це будуть еталони. Далі диктор вимовляє невідоме слово, яке обробляється , в результаті отримується вектор довжиною 256 точок. Порівнюємо його по черзі зі всіма еталонами таким чином :



Відстань між цими двома векторами задаються таким чином :

Це Евклідова відстань між двома векторами. Рахуємо всі відстані. Де відстань буде мінімальною – там буде наше слово.

Якість розпізнавання залежить від процента правильно розпізнаних слів.

Проблема в тому, що навіть еталони одного слова різні – міняється спектральна складова. Є ще темпоральні відмінності (зміна темпу і т.п.).
Звуки є різні :

  1. вокалізовані (квазіперіодичні) – а, о, у, і, и, е, м, н, р, й ;

Такі звуки змінюються в протяжності :

рис.34


  1. невокалізовані

  2. вибухові - б, п, т, д.

Такі звуки виглядають так :



Використання динамічного розпізнавання.
Мовний сигнал параметризується – розбивається на відрізки по 25 мс. Потім отримуємо вектор з 24 спектральних значень.

Кількість таких векторів може бути різною. Вона залежить від мовного сигналу, який опрацьовувався.

Після цього будуємо матрицю відстаней між векторами сигналу, що хочемо розпізнати, і векторами еталону.




рис.35
Базуючись на отриманій таблиці, будуємо таблицю шляхів.

, i=1,2,….,I j=1,2,…,J



рис.36
Мета – встановити найкращу відповідність між векторами. Наприклад, вектору a1 може відповідати b1 або b2, ..., bj, і т.д. Кожен вектор еталону можемо повторити, а можемо перейти до наступного вектора. Але повторювати два рази забороняється.



рис.37



Користуючись цією моделлю, будуємо шляхи (або діагональні, або вертикальні відрізки, дивитися рис. вище). Це буде виглядати :


Вибираємо мінімальний шлях. Це і буде відстанню між сигналом і еталоном. По якому еталону відстань буде мінімальною, тому еталону і відповідає наш сигнал.


Формально рух по матриці буде виглядати наступним чином :


Будь-який під шлях оптимального шляху має бути оптимальним.

Модель може бути ускладненою :



рис.38
Тоді дозволені шляхи виглядатимуть :



рис.39
І матриця шляхів S буде мати ще третій запис.

Така система добре працює для обмеженого словника і одного диктора. Але виникає неприємний момент : в мовному сигналі можуть бути паузи спочатку і в кінці , а в еталоні пауз немає. В такому випадку в еталоні можна додати вектори пауз, які можна повторювати.

рис.40

Наприклад, число векторів сказаного слова “п’ять” та еталонів “0..9” :

“5”

0

1

2

3

4

5

6

7

8

9

98

23

38

23

23

45

34

46

39

39

60


Приклад :



рис.41




<< предыдущая страница   следующая страница >>