КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Опис алгоритму компресії
Базові технології стиску відео Технологія стиску відео в MPEG розпадається на дві частини: зменшення надмірності відеоінформації в тимчасовому вимірі, заснований на тім, що сусідні кадри, як правило, відрізняються не сильно, і стиск окремих зображень. Для того щоб задовольнити суперечливим вимогам і збільшити гнучкість алгоритму, розглядається чотири типи кадрів: - I-Кадри - кадри стислі незалежно від інших кадрів (I-Intra pictures), - P-Кадри - стислі з використанням посилання на одне зображення (P-Predicted), - B-Кадри - стислі з використанням посилання на два зображення (B-Bidirection), - DC-Кадри - незалежно стислі з великою втратою якості (використовуються тільки при швидкому пошуку). I-Кадри забезпечують можливість довільного доступу до будь-якого кадру, будучи своєрідними вхідними крапками в потік даних для декодера.P-Кадри використовують при архівації посилання на один I-I- або P-кадр, підвищуючи тим самим ступінь стиску фільму в цілому.B-Кадри, використовуючи посилання на два кадри, що перебувають спереду й за, забезпечують найвищий ступінь стиску. Самі як посилання використовуватися не можуть. Послідовність кадрів у фільмі може бути, наприклад, такий: IBBPBBPBBPBBIBBPBB... Або, якщо ми не заощаджуємо на ступені стиску, такий (мал. 15.1):
Рис. 15.1. I-Кадри - незалежно стислі (I-Intrapictures), P-Кадри - стислі з використанням посилання на одне зображення (P-Predicted), B-Кадри - стислі з використанням посилання на два зображення (B-Bidirection) Частота I-Кадрів вибирається залежно від вимог на час довільного доступу й надійності потоку при передачі через канал з помилками. Співвідношення P-P- і B-кадрів підбирається, виходячи з вимог до величини компресії й обмежень декодера. Як правило, декодування B-Кадрів вимагає більше обчислювальних потужностей, однак дозволяє підвищити ступінь стиску. Саме варіювання частоти кадрів різних типів забезпечує алгоритму необхідну гнучкість і можливість розширення. Зрозуміло, що для того, щоб розпакувати B-Кадр, ми повинні вже розпакувати ті кадри, на які він посилається. Тому для послідовності IBBPBBPBBPBBIBBPBB кадри у фільмі будуть записані так: 0**312645..., де цифри - номера кадрів, а зірочкам відповідають або В-Кадри з номерами -1 і -2, якщо ми перебуваємо в середині потоку, або порожні кадри (нічого), якщо ми на початку фільму. Подібний формат має досить велику гнучкість і здатний задовольняти всіляким наборам вимог. Одним з основних понять при стиску декількох зображень є поняття макроблоку. При стиску кадр із колірного простору RGB переводиться в колірний простір YUV. Кожна із площин стисливого зображення (Y, U, V) розділяється на блоки 8x8, з якими працює ДКП. Причому площини U і V, що відповідають компоненту кольоровості беруться з дозволом у два рази меншим (по вертикалі й горизонталі), чим вихідне зображення. Таким чином, ми відразу одержуємо стиск у два рази, користуючись тим, що око людини гірше розрізняє колір окремої крапки зображення, чим її яскравість (докладніше про ці перетворення дивитеся в описі алгоритму JPEG). Блоки 8x8 групуються в макроблоки. Макроблок - це група із чотирьох сусідніх блоків у площині яркостной компоненти Y (матриця пикселов 16x16 елементів) і два відповідних їм по розташуванню блоку із площин кольоровості U і V. Таким чином, кадр розбивається на незалежні одиниці, що несуть повну інформацію про частину зображення. При цьому розмір зображення повинен бути кратний 16. Окремі макроблоки стискуються незалежно, тобто в B-Кадрах ми можемо стиснути макроблок конкретний як I-Блок, P-блок з посиланням на попередній кадр, P-Блок з посиланням на наступний кадр і, нарешті, як В-Блок. Алгоритм стиску окремих кадрів в MPEG схожий на відповідний алгоритм для статичних зображень - JPEG. Якщо говорити коротко, то сам алгоритм стиску являє собою конвеєр перетворень. Це дискретне косинусное перетворення вихідної матриці 8x8, квантування матриці й витягування її у вектор v11,v12,v21,v31,v22,...,v88 (зигзаг-сканування), стиск вектора груповим кодуванням і, нарешті, стиск по алгоритму Хаффмана. Загальна схема алгоритму У цілому весь конвеєр перетворень можна представити так: - Підготовка макроблоків. Для кожного макроблоку визначається, яким образом він буде стислий. В I-Кадрах всі макроблоки стискуються незалежно. В P-Кадрах блок або стискується незалежно, або являє собою різниця з одному з макроблоків у попередньому опорному кадрі, на якому посилається P-Кадр. - Переклад макроблоку в колірний простір YUV. Одержання потрібної кількості матриць 8х8. - Для P-Блоків і B-блоків виробляється обчислення різниці з відповідним макроблоком в опорному кадрі. - ДКП - Квантування. - Зигзаг-сканування. - Групове кодування. - Кодування Хаффмана. При декодуванні весь конвеєр повторюється для зворотних перетворень, починаючи з кінця.
Дата добавления: 2014-01-07; Просмотров: 371; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |