ЛАБОРАТОРНА РОБОТА №4

Лабораторна робота "Статичне та динамічне відео"

         Мета роботи

         Дана лабораторна робота призначена для дослідження відео у цифрових форматах кодування MPEG-2 та MPEG-4 і отримання практичних навиків аналізу якості відеозображень та їх технічних параметрів.

         Загальна інформація про формати стиснення MPEG-2 та MPEG-4

         Відмінною особливістю відеоданих є їх надзвичайно великий обсяг. Фахівці в області стиснення даних, вже протягом багатьох років працюють над поліпшенням ефективності алгоритмів компресії відеозображень. На рубежі 21 століття з появою HDTV, назріла гостра необхідність передавати великі обсяги відеоінформації по супутникових і кабельних мережах, а також постало завдання оптимізації способів кодування відеоданих. На сьогоднішній день MPEG-2 – це стандарт цифрового кодування аудіо і відео сигналів, який використовується більшістю операторів супутникового телебачення для передачі сигналів абонентам. Даний стандарт був розроблений робочою групою Moving Pictures Experts Group та схвалений Міжнародною Організацією по Стандартизації в 1996 р. Cтандарт MPEG-4 –це представник наступного етапу розвитку алгоритмів стиснення зображення, який інтенсивно використовується для передачі відео в мережі Інтернет, кабельному телебаченні та знаходить все ширше застосування для трансляції наземного цифрового телебачення – DVB-T2. Даний стандарт було розроблено в 1999 р., пізніше він отримав ряд доповнень.

         Базові аспекти стандарту MPEG-2

         Робоча група MPEG описала загальні принципи компресії аудіо та відео інформації, а розробку деталей залишила для виготовлювачів кодеків. В основу даного алгоритму стиснення було покладено модель сприйняття людським оком відеозображень і особливості будови людського ока - його здатність сприймати варіації кольору і градації яскравості. Так, наприклад, людське око здатне краще сприймати градації яскравості, ніж кольоровості. Завдання зводиться до визначення на екранi нерухомого фону і рухомих об'єктів, на підставі цього можна виділити і передати інформацію про базовий кадр, а вже потім передавати кадри з інформацією про рухомі об'єкти. В процесі передачі даних відбувається відкидання малозначимой інформації, аналогічної принципам, які використовуються в графічному форматі JPEG. Реалізується цей процес шляхом розбиття потоку відеоінформації на групи відеозображень, кожна група складається з 3-х типів відеокадрів. Зазвичай використовуються потоки з 30 кадрів в секунду. Завдяки постійному вдосконаленню відео кодеків формату MPEG-2 оператори супутникового і кабельного мовлення отримали можливість передавати в 2 рази більший обсяг інформації при тій же пропускної здатності каналу, ніж колись, на початку еволюції цифрового мовлення. Стало з'являтися все більша кількість різних відео кодеків, але вони вже не відповідали існуючому формату MPEG-2, тому назріла необхідність подальшої уніфікації стандарту.

         Базові аспекти стандарту MPEG-4

         Цифрове супутникове телебачення використовує формат MPEG-2, де при роздільній здатності кадру в 720x576 пікселів, швидкість інформаційного потоку при 30 кадрах/сек становить близько 12 Мбіт/сек, практично ж використовується швидкість потоку близько 3 Мбіт/сек. При стандартній ширині смуги в 54МГц на одному транспондері супутника зазвичай вміщається 18 каналів. При мовленні в HDTV роздільна здатність зображення становить 1920x1080 пікселів, що в 5 разів більше в порівнянні зі звичайним телебаченням, і для мовлення одного HDTV каналу в стандарті MPEG-2 оператору потрібно було б орендувати мало не третину транспондера.

         Черговим витком у розвитку алгоритмів відеокомпресії став стандарт MPEG-4. Спочатку він призначався для передачі потокового відео по низькошвидкісних каналах, але так само знайшов застосування і в цифровому телебаченні. Компресії відео у форматі MPEG-4 здійснюється за тією ж схемою, що і в MPEG-2. При кодуванні вихідного відеозображення кодек шукає і зберігає більш значущі кадри, як правило, ті, на яких відбувається зміна сюжету. Замість збереження проміжних кадрів алгоритм обробляє і зберігає дані про зміни в поточному кадрі стосовно попереднього, тобто, диференційно. При цьому в процесі обробки зображення кодек оперує з об'єктами довільної форми, у відмінності від формату MPEG-2, який міг оперувати тільки прямокутними областями зображення. В результаті цього, людина, що пересувається по кімнаті, буде сприйнятий форматом MPEG-4, як окремий об'єкт, що переміщається щодо нерухомого об'єкту - заднього плану.

         Ідея стандарту MPEG-4 полягає в об'єднанні 22-х підстандартів, з яких постачальники можуть вибрати той, який більш точно відповідає їх завданням. Виділимо з них найбільш важливі: ISO 14496-3 – Аудіо: набір кодеків для стиснення звуку й мови, включаючи Advanced Audio Coding (AAC); ISO 14496-10 – Відео: просунуте кодування відео (Advanced Video Coding - AVC), технічно ідентичний і відомий як кодек H.264. При переході операторів супутникового телебачення на стандарт DVB-S2 і стиснення даних в MPEG-4 кодеком H.264 дозволило в стовбурі одного транспондера розмістити 8-10 HDTV каналів.

         Теоретична частина /MPEG – 1 та 2/

         Дані стандарти розроблені для стискання рухомих зображень. Стандарт MPEG – 1, який в основному використовують при запису відео програм на компакт-диски, був прийнятий 1993 р., а стандарт MPEG-2, призначений в першу чергу для телевізійного мовлення, затвердили 1994 р. Ці стандарти мають багато спільного, але є деякі різниці.

         Метод кодування рухомих зображень стандартів MPEG-1,2 називається гібридним – в ньому поєднується внутрішньо кадрове (intraframe) кодування, спрямоване на зменшення збитковості в окремих кадрах, та між- кадрове (interframe) кодування, що зменшує часову збитковість, яка зумовлена міжкадровою кореляцією. Міжкадрове кодування забезпечує значно більше стискання рухомих, ніж внутрішньо кадрове кодування окреми кадрів.

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

         Групи зображень.

         Зображенням в MPEG-1,2 може бути як цілий кадр, так і одне з полів кадра.

         Послідовність кадрів ділиться на групи, що називаються GOP (group of picture). В групі є кадри трьох типів:

         І – кадри (Іnfraframe - внутрішньо кадрові), які передаються тільки з внутрішньо кадровим кодуванням і є опорними для декодування інших кадрів групи;

         Р – кадри (Predictive - передбачені), для кодування яких використовують міжкадрове кодування шляхом передбачення з компенсацією руху по найближчому попередньому І або Р - кадру;

         В – кадри (Bidirectional – двоспрямовані), які передаються з між-кадровим кодуванням шляхом передбаченням з компенсацією руху по найближчим до них як спереду, так і с заду І та Р - кадрам, а самі на можуть бути використані для передбачення інших кадрів.

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

         1 2 3 4 5 6 7 8 9 10 11 12 13 …..

         І1 В2 В3 Р4 В5 В6 Р7 В8 В9 Р10 В11 В12 І13 ……

         Кадри з 1 по 12 утворюють групу кадрів. Кількість кадрів в групі може бути іншою, але вона завжди починається з І-кадру. Р4 – кадр передбачається по І1-кадру, Р7-кадр – по Р4-кадру і т.д. Кадри В2,3 передбачаються по І1 та Р4 кадрам, В5,6 - по Р4.7 – кадрам і т.д. Перед кодуванням порядок слідування кадрів змінюється, так як кожний В-кадр повинен йти після обох кадрів, по яким він передбачується. Для перестановки кадрів необхідний ЗП на мінімум 4 нестиснуті кадри.

         І1 Р4 В2 В4 Р7 В5 В6 Р10 ……..

         Макроблок – квадратний фрагмент зображення розміром 16*16 елементів. При використанні формату дискретизації 4:2:0 макроблок утворений 4 блоками 8*8 елементів сигналу яскравості Y, та по одному блоку 8*8 елементів сигналів CR та CB.

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

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

         Кодер відеоінформації

         Спрощена схема кодера надана на мал. 1 

Мал 1

         На схемі позначені: ДКП – блок прямого ДКП; ДКП-1 – блок зворотнього ДКП; Кв – квантователь; Кв-1 – деквантователь; ЗП – запам`ятовуючий пристрій; Перед – блок, що формує передбачений кадр, ОР – блок оцінки руху та формування векторів руху; КЗДС – блок кодування із змінною довжиною кодового слова; Мп – мультиплексом; БЗП – буферний запам`ятовуючий пристрій; ККС – блок блок керування коефіцієнтом стиснення зображення. Робота всіх блоків синхронізована тактовою частотою 27 МГц.

         Кодер реалізує два режими кодування: внутрішньо кадрове (перемикач у положенні 1 ) та між кадрове кодування з передбаченням та компенсацією руху (перемикач у положенні 2).

         Всі макроблоки І-кадрів кодуються в режимі внутрішньо кадрового кодування. Метод в основному аналогічний JPEG: розкладання на блоки 8*8 пікселів, поблочне ДКП, квантування коефіцієнтів, що отримані, зигзаг-сканування, кодування із змінною довжиною кодових слів.

         Квантування виконується у відповідності до співвідношення 

         де C (k,l) – коефіцієнти матриці ДКП, Q(k,l) – відповідні коефіцієнти матриці квантування, Cq (k,l) – квантовані коефіцієнти, f – масштабний коефіцієнт, що регулює ступінь стискання, який може приймати значення від 1 до 31.

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

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

Мал 2

 

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

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

         Для макроблоків В-кадрів пошук відповідної області здійснюється як в попередньому І- або Р-кадрі, так і в наступному Р-кадрі. В результаті пошуку відповідної області можливі настіпні варіанти:

1.макроблок кодується у внутрішньо кадровому режимі;

2.формується передбачений макроблок у вигляді відповідної області попереднього кадру;

3.формується макроблок у вигляді відповідної області наступного кадру;

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

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

         Для В-кадрів об`єм інформації, що передається буде найменшим, тому що при двоспрямованому передбаченні помилка передбачення буде мінімальна.

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

         Потік відеоданих. 

         Спрощена структура потока відеоданих на виході відеокодера MPEG-2 надана на мал. 3. 

Мал. 3

         Декодер відеоінформації.

         У відповідності до стандарту у відеокодері (мал. 4) виконується декодування кодів змінної довжини, деквантування, зворотнє ДКП, компенсація руху і відновлюється вихідна послідовність кадрів. Склад декодера: буферний ЗП, демультіплексор ДМп, декодери кодів із змінною довжиною кодових слів ДКЗДС, деквантователь Кв-1 , блок зворотнього ДКП -1 . Тактова частота 27 МГц відновлюється з використанням даних потоку, що декодується. 

 

Мал. 4

         Так само як і в кодері, в декодері є два режими роботи: в положенні перемикача 1 відбувається внутрішньо кадрове декодування, в положенні 2 – між кадрове декодування.

         Масштабування

         Масштабування є важливою особливістю стандарта MPEG-2, яке визначається як отримання зображення від частини повного потоку відеоданих. У разі наявності масштабування цей потік складається з двох або більше шарів. Базовий шар дає можливість отримати зображення з деякими початковими параметрами якості. Додаткові шари дають можливість отримати зображення покращеної якості. Стандарт передбачає можливість організації потоків відеоданих як з масштабованістю, так і без неї.

         Стандартом передбачені наступні види масштабованості:

1.по просторовому розрізненню (Spatial Scalable), коли від одного джерела відеоінформації формують два ТВ-сигнали з різною розрізнювальною здатністю – стандартного ТБ та HD ТБ. Базовий шар забезпечує отримання зображення звичайного ТБ, а додатковий шар доповнює цю інформацію для отримання HD ТБ;

2.по відношенню сигнал/ шум (SNR Scalable);

3.по часу – різні стандарти розгорток (черезрядкова та прогресивна);

4.по розподілу даних (наприклад, сигнали 2D+Z , який може використовуватись для передавання 3D сигналів).

         Рівні та профілі MPEG-2

         Стандарт встановлює різні варіанти ТВ систем та методи кодування ТВ-сигналів (таб. 1). Рядки таблиці відповідають чотирьом рівням просторового розрізнення, а стовбці – градаціям ТВ систем – профілям.

Таблиця 1

Рівні Профілі Простий(Simple) Основний(Main) Маштабований по відношенню сигнал-шум(SNR) Просторово маштабований (Spatia) Високий (High) Професійний 4:2:2 (Professional 4:2:2)
Типи кадрів I,P I,P,B I,P,B I,P,B I,P,B I,P,B
Дискретизація сигнала кольоровості 4:2:0 4:2:0 4:2:0 4:2:0 4:2:0 або 4:2:2 4:2:0 або 4:2:2
Високий (High) Число відліків на рядок   1920     1920 1920
Число рядків на кадр   1152     1152 1152
Частота кадрік, Гц   60     60 60
Швидкість потока, Мбіт/с   80     100 300
Високий 1440 (High-1440) Число відліків на рядок   1440   1440 1440  
Число рядків на кадр   1152   1152 1152  
Частота кадрік, Гц   60   60 60  
Швидкість потока, Мбіт/с   60   60 80  
Основний (Main) Число відліків на рядок 720 720 720   720 720
Число рядків на кадр 576 576 576   576 576
Частота кадрік, Гц 30 30 30   30 30
Швидкість потока, Мбіт/с 15 15 15   20 50
Низький (low) Число відліків на рядок   352 352      
Число рядків на кадр   288 288      
Частота кадрік, Гц   30 30      
Швидкість потока, Мбіт/с   4 4      

 
 
         Особливості MPEG-1 і MPEG-2
         MPEG-1 призначений для стискання рухомих зображень з прогресивною розгорткою, частотою кадрів до 30 Гц, кількість рядків до 576, кількістю елементів в рядку до 720 та обмеженою кількістю макроблоків, що обробляються. На практиці MPEG-1, в основному, використовують для стискання рухомих зображень розміром 360*240 елементів з прогресивною розгорткою для запису на компакт-диски.
         Стандарт MPEG – 4
         Стандарт MPEG – 4 розроблявся з метою забезпечення для глядача доступу до відео- та аудіопрограм через Интернет в інтерактивному режимі. При цьому необхідно було забезпечити високу якість при при дуже низьких швидкостях передавання різноманітних даних – текст, графіки, 2D і 3D зображення, натуральні та синтезовані відео та аудіо. Сумісність з протоколом MPEG – 2 забезпечується передаванням даних MPEG – 4 у вигляді транспортного потоку TS MPEG -2.
         На даний час стандарт MPEG -4 складається з 22 основних частин.
         Основна відзнака MPEG – 4 від інших стандартів – об`єктно орієнтоване надання медіа-інформації. В стандарті введено ключове поняття медіа-об`єкта – одиниці звукового, візуального або аудіовізуального контента.
         Будь-яка сцена розподіляється на об`єкти, які співвідносяться у просторі та часі і описуються окремими елементарними потоками. Об`єкти можуть бути натуральними, що записані з відеокамери, і синтезованими – синтезовані в комп`ютері.
Такий підхід має ряд переваг:
1.більш економно витрачаються біти для опису сцени, окремі об`єкти легко використовувати в інших сценах;
2.спрощується побудова об`єктів, що масштабуються;
3.з`являються широкі можливості взаємодії користувача з вибраними об`єктами, наприклад, отримання додаткової інформації про об`єкт, зміна його параметрів ( колір, текстура, гучність звучання або мова );
4.можливість виключення об`єкта із сцени, створення користувачем нових сцен із об`єктів, що отримані від різних джерел, або, що зберігаються у пам`яті терміналу.
         Всі ці операції вимагають лише зміни опису сцени процесором абонентського терміналу.
         Для опису сцени та її динамічної зміни в MPEG-4 розроблений спеціальна бінарна мова BIFS (Binary Format for Scenes).
         Об`єкти і описи сцен кодуються окремо і передаються у спільному потоці даних
         Для цілей ТВ мовлення використовується технологія компресії H.264/AVC стандарта MPEG-4, яка також має назву «Стандарт H.264/AVC/MPEG-4 Part 10», в якому існує тільки один об`єкт – кадр прямокутної форми. Цей стандарт забезпечує ступінь стискання більш ніж в два рази більшу, ніж у стандарті MPEG-2. Хоча концептуально новий стандарт використовує такі самі процедури компресії як і попередні стандарти, він має деякі особливості.
         Багатокадрове передбачення
1.використання раніше стиснутих кадрів у якості опорних – дозволяеться до 32 посилань на інші кадри (в MPEG-2 один або два кадри);
2.компенсація руху із змінним розміром блока ( від 16*16 до 4*4 пікселя)
3.вектори руху, що можуть виходити за межі зображення
         Просторове передбачення від меж сусідніх блоків для І-кадрів.
         Стискання макроблоків без втрат з використанням імпульсно-кодової модуляції (ІКМ), що дозволяє точно описувати визначені області.
         Точне цілочислене перетворення просторових блоків 4*4 та 8*8 - подібне ДКП, але спрощене і більш точне, адаптивний вибір кодеком розмірів блока 4*4 та 8*8.
         Квантування використовує адаптовані підходи.
         Ентропійне кодування квантова них коефіцієнтів. Використовуються більш ефективні методи, але складніші.
         Крім позначених, в стандарті передбачені і інші вдосконалення.
 
         Завдання до лабораторної роботи:
1.Вивчити алгоритми кодування відео MPEG 2 та MPEG 4 і підготуватись до відповідей на контрольні запитання.
2.За допомогою віртуальної реалізації алгоритмів MPEG 2 та MPEG 4 в середовищі інформаційно-комунікаційної системи "ПОЛІДАР" дослідити роботу методу стиснення відеофрагментів у різних форматах.
3.За результатами дослідження скласти звіт.
         Порядок виконання роботи:
1.Перейти в розділ "Статичне відео" натиснувши кнопку "Старт".
2.Із запропонованого переліку вибрати два відеофрагменти формату MPEG 2 з різними швидкостями передачі даних (наприклад, 192 кбіт за сек і 400 кбіт за сек) та натиснути кнопку "Порівняти вибрані відеофрагменти".
3.Проаналізувати вибрані відеофрагменти за якістю та їх розміром.
4.Повернутись до переліку відеофрагментів даного формату (MPEG 2) та виконати пункти 2,3 даного порядку виконання роботи для інших швидкостей передачі даних, щоб методом порівняння та аналізу показників вибрати відеофрагмент який матиме прийнятну якість при найменшому розміру відео файлу.
5.Скласти таблицю з розмірами відео файлів при різній швидкості передачі даних.
6.Із запропонованого переліку вибрати два відеофрагменти формату MPEG 4 з різними швидкостями передачі даних (наприклад, 192 кбіт за сек і 400 кбіт за сек) та натиснути кнопку "Порівняти вибрані відеофрагменти".
7.Проаналізувати вибрані відеофрагменти за якістю та їх розміром.
8.Повернутись до переліку відеофрагментів даного формату (MPEG 4) та виконати пункти 6,7 даного порядку виконання роботи для інших швидкостей передачі даних, щоб методом порівняння та аналізу показників вибрати відеофрагмент який матиме прийнятну якість при найменшому розміру відео файлу.
9.Скласти таблицю з розмірами відео файлів при різній швидкості передачі даних.
10.Вибрати із запропонованого списку два відеофрагменти різних форматів - MPEG 2 та MPEG 4 з однаковими швидкостями передачі даних (наприклад, 192 кбіт за сек) та натиснути кнопку "Порівняти вибрані відеофрагменти".
11.Проаналізувати вибрані відеофрагменти за якістю та їх розміром.
12.Повторити пункт 10,11 для решти швидкостей передачі даних різних форматів - MPEG 2 та MPEG 4.
13.На основі таблиць з даними що були складені в пунктах 5 та 9 про всі швидкості передачі даних різних форматів, побудувати графік залежності розміру відео файлу від швидкості передачі даних (Рекомендується це зробити в середовищі таких програм як MatLAB або Mathcad).
14.Зробити висновки.
15.Повернутись до попереднього меню, вибрати динамічне відео та повторити пункти 2-14.
16.На сторінці з динамічним відео біля назви відео формату натиснути посилання "Анімація".
17.Перейшовши за вказаним посиланням потрапимо на сторінку, де будуть циклічно з'являтися кадри динамічного відео. Потрібно переглянути повторення декілька раз (індикатор повторення знаходиться над кадром у вигляді бігучої лінії), а потім визначитись та вибрати відеофрагмент з оптимальною якістю, після чого натиснути кнопку "Стоп" та зняти показники його параметри під стоп кадром і занести їх в протокол.
18.Зробити висновки між статичним та динамічним відео.
 
Контрольні запитання
1.Які параметри потоку на виході кодерів JPEG та MPEG-2 є визначальними, і як вони забезпечуються?
2.На яких етапах кодування MPEG відбуваються невідновні втрати інформації?
3.В чому полягає різниця кодування І- та Р-,В-кадрів?
4.За рахунок чого у передбачених кадрах зменшуються похибки ДКП та квантування опорних кадрів?
5.Пояснити необхідність буферного ЗП у кодері.
6.В чому полягає операція компенсації руху?
7.Як забезпечується часова синхронізація стандарту MPEG?
8.В чому полягає структурна побудова стандарту MPEG?
9.В чому полягає різниця між програмним (PS) та транспортним (ТS) потоками?
10.Яким чином в декодері формується конкретна програма з транспортного потоку?