Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Компресія відеоданих у MPEG




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

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

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

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

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

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

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

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

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

3. Bi-directional Interpolated (B) - двонаправлені кадри, що містять тільки найістотнішу частину інформації про відмінності від попереднього і наступного зображень (тільки I чи P) у вигляді посилання до попереднього чи наступних зображень з врахуванням переміщень окремих фрагментів зображення. B-кадри забезпечують найбільший коефіцієнт стиснення, але при цьому для їхньої прив'язки до відеопослідовності необхідно використовувати не тільки попереднє, але і наступне зображення. Самі B-кадри ніколи не використовуються для порівняння.

Варто відмітити, що перш ніж декодувати B-кадр, потрібно декодувати два I- чи P-кадри.

Кадри I-типу виступають у вигляді перших кадрів послідовності. З них починається новий відеоряд. Існують різні стандарти на частоту, за яким повинні йти I-кадри: приблизно 1-2 у секунду. Зазвичай між двома I-кадрами може знаходитися не більш 12 кадрів інших типів Відповідні стандарти є і для P-кадрів (кожен третій кадр повинен бути P-кадром).

Зображення кадрів поєднуються в групи (GOP - Group of Pictures), що представляють собою мінімальний набір послідовних зображень, що повторюються.

Зазвичай послідовність виглядає в такий спосіб:

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

Кадри P-типу, чи передбачені кадри, зазвичай йдуть через два B-кадри. Для збільшення степеня стиснення вони не містять інформації, що може бути отримана з попереднього P- чи I- кадру з використанням алгоритму компенсації руху.

Кадри B-типу містять посилання як на попередні, так і на наступні кадри I- чи P-типу й обробляються методом двонаправленого передбачення. Вони мають найбільший рівень стиснення і не вносять додаткових помилок, оскільки на них не посилаються ніякі кадри.

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

· кодування без компенсації руху;

· компенсація з прямим передбаченням;

· компенсація зі зворотним передбаченням;

· компенсація з двонаправленим передбаченням.

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

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

Метод кодування блоків (або різниці, одержуваної при методі Передбачення руху) містить у собі:

· DCT - дискретно-косинусне перетворення (Discrete Cosine Transforms;

· перетворення даних із неперервної форми в дискретну (Quantization);

Для скорочення статичної надмірності в MPEG застосовуються різні методи й алгоритми. Найчастіше використовуються два методи: кодування ТБ позицій із передбаченням і дискретно-косинусне перетворення.

Кодування з передбаченням реалізується за допомогою диференціальної імпульсно-кодової модуляції (ДІКМ). При кодуванні з передбаченням обчислюється різниця між дійсним і передбаченим значеннями позиції. Потім різниця квантуєтся за рівнем.

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

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

Перші два способи передбачень, на думку розроблювачів, характеризуються відносно низкою ефективністю.

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

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

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

Компресія звуку в MPEG. Повноцінні відеофрагменти вимагають використання звукової інформації. Вважається, що звук CD-якості вимагає оцифровки з частотою 44, 1 кГц при глибині 16 біт на канал, що відповідає потоку в 706 Кбіт/с на канал (1, 4 Мбіт/с - для стерео). При підвищенні якості сигналу використовується частота оцифровки 48 кГц (смуга частот 4-24000 Гц), що збільшує потік до 768 Кбіт/с на канал.

 

Формати кодування звуку поділяються на три рівні: Layer I, Layer II, Layer III (прообразом для Layer I і Layer II став стандарт MUSICAM, цим ім'ям зараз іноді називають Layer II). Layer III досягає найбільшого стиснення але вимагає більше ресурсів на кодування.

Рівень Layer I використовує найбільше простий алгоритм із мінімальною компресією, що припускає швидкість передачі звукової інформації 192 Кбіт/с на канал.

Алгоритм Layer II більш складний, однак і степінь компресії більше (необхідна швидкість 128 Кбіт/с на канал). Могутній алгоритм стиснення цифрового звуку CD-якості (у 11 разів без утрат, що розрізняються людським вухом, ) Layer III забезпечує максимально можлива якість звуку при жорстких обмеженнях потоку (швидкість - не більш 64 Кбіт/с на канал). Цей формат в основному використовується в Internet. Слід зазначити, що в середовищі користувачів він одержав скорочене найменування MP3 (MPEG Layer III).

Принципи кодування засновані на тому факті, що в нестисненому звуці (CD-audio) передається багато надлишкової для нашої слухової системи інформації. Методи стиснення, що застосовуються, використовують ефект маскування деяких звуків для слухового аналізатора людини (наприклад, якщо надходить сильний звук на частоті 1000 Гц, то більш слабкий звук на частоті 1100 Гц уже не буде чутний людині, також буде ослаблена чутливість людського вуха протягом 100 мс після і 5 мс до виникнення сильного звуку).

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

У Layer III найменші частини спектра, які розбиваються, що забезпечує найвище стиснення.

MPEG Audio підтримує інформаційну сумісність рівнів знизу нагору, тобто декодер (decoder) для Layer II буде також розпізнавати Layer I.

Синхронізація й об'єднання звуку і відео здійснюються за допомогою системи (System Stream), що містить у собі:

- системний блок, який містить часову та іншу інформацію, щоб розділити і синхронізува-ти відео- і аудіопотоки;

- компресійний блок, який містить відео- і аудіопотоки.

Відеопотік містить заголовок, потім декілька груп кадрів. Цим досягається доступ до кадрів у групі незалежно від їхнього порядку.

Звуковий потік складається з пакетів, кожний з який включає заголовок і декілька звукових кадрів (audio-frame).

Для синхронізації аудіо- і відеопотоків у системному потоці використовується спеціальний таймер (що працює з частотою 90 кГц). Як синхронізуючі сигнали використовуються SCR-мітки (System Clock Reference), за допомогою яких змінюється стан лічильника декодеру, і PDS-мітки (Presentation Data Stamp), що вбудовуються у відео- чи звуковий кадр для синхронізації їхнього відтворення.

Розрядність PDS-мітки складає 33 біт, що забезпечує можливість представлення будь-якого тимчасового циклу тривалістю до 24 ч.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...