Стандарт стиснення відео H.265 в 1.5 рази ефективніше старого
У цьому році планується широкомасштабне впровадження нового стандарту стиснення відео H.265, який функціонує в півтора рази ефективніше за свого попередника.
В даний час стандартом кодування відео є H.264: незалежно від того, чи дивитеся ви суспільний канал або придбаний в інтернет-магазині фільм, програвайте файл формату MP4 або AVI - у всіх випадках стиснення відеоконтенту було виконано за допомогою кодека H.264, а вбудований декодер H.264 вашого пристрою дозволяє його відтворити. Однак з січня доступна нова версія стандарту - кодек H.265, або HEVC (High Efficiency Videocoding). Вона обіцяє на 50% збільшити ефективність кодування. Це означає, що, в порівнянні з H.264, для отримання аналогічного якості потрібно у півтора рази нижчий бітрейт чи що при однаковому бітрейті можна отримати в півтора рази більш високу якість.
Ефективніше, але складніше, ніж H.264По суті, кожен фільм - це послідовність окремих кадрів. При конвертуванні кожен кадр поділяється кодером на блоки великих розмірів. Значення яскравості і кольору кожного блоку перетворюються на частоти, які кодер при подальшій квантизації спрощує. На даному етапі відбувається скорочення даних.
З появою стандарту MPEG було введено дуже важливе вдосконалення - межкадровое передбачення. Враховуючи, що вміст наступних друг за іншому кадрів, як правило, не змінюється, кодери об'єднують короткі послідовності кадрів в групи. При цьому тільки перший кадр з групи зберігається у вигляді повного кадру зі значеннями частот, а всі наступні зображення отримують значення частот від повного кадру, визначаючи різницю по відношенню до нього. Кодер при кодуванні блоку виконує пошук блоку в попередньому або наступному кадрі, який має аналогічну вміст, так як в цьому випадку різниця зазвичай відсутня. Інформацію про те, де в іншому кадрі знаходиться отриманий таким чином блок, він зберігає у вигляді вектора руху.
Крім міжкадрового передбачення H.264 використовує також внутрикадровое передбачення: H.264 кодер визначає в повному кадрі не значення частоти, а тільки різницю по відношенню до сусідніх пікселях. Наприклад, велика ділянка блакитного неба дуже добре піддається стисненню, оскільки сусідні значення кольору і яскравості практично ідентичні. Для порівняння: H.264 стискає повні кадри на 50% ефективніше, ніж JPEG. Таким чином, завдання кодера полягає в пошуку як можна більшої кількості схожих фрагментів в тих же або сусідніх кадрах. Чим точніше він працює, тим краще результат і більше обсяг обчислень.
Новий кодек H.265 також використовує межкадровое і внутрикадровое передбачення, проте пошук схожих блоків він здійснює набагато точніше, ніж H.264. Для цього в H.265 були скасовані блоки фіксованих розмірів, тобто макроблоки розміром 16х16 точок, які використовуються з моменту появи відеокодування. Замість цього кодер вибирає розмір комірки дерева кодування. Доступні три варіанти - 16х16 (для відео низького дозволу), 32х32 і 64х64 точки (для HD-відео). Кожну клітинку дерева кодування кодер поділяє на клітинки кодування, які він стискає незалежно один від одного, використовуючи оптимальний метод (межкадровое або внутрикадровое передбачення). Клітинки кодування можуть мати розміри 64х64 і 8х8 точок, причому їх значення яскравості кодуються окремо від значень кольору (блоки, що містять значення яскравості і кольору, називають блоками кодування). Для передбачення кодер поділяє блоки кодування на блоки передбачення різних розмірів, оперуючи вісьмома шаблонами. Складний процес поділу дозволяє навіть в послідовності кадрів з високою деталізацією вибирати блоки, які одноманітні за своєю структурою, тобто складаються з невеликої кількості значень яскравості і кольору.
Оптимізація технології кодування
H.265 відрізняється від H.264 ступенем ефективності. Так, при внутрикадровом передбаченні кодер в цілях визначення різниці може застосовувати фрагменти великих розмірів із сусідніх кадрів. Завдяки цьому ефективність кодування підвищується на 20%. Для міжкадрового передбачення він може використовувати вектор руху сусідніх блоків передбачення (Merge Mode - режим з'єднання). Однак підвищена гнучкість при кодуванні вимагає жертв: новий кодек більш вибагливий в порівнянні з попередником. Для декодера H.265 передбачені технології паралельної обробки даних: алгоритм Wavefront Parallel Processing дозволяє одночасно декодувати окремі послідовності осередків дерева кодування певного кадру. У випадку з відео формату 1080p з осередками дерева кодування розміром 64х64 точки декодер може одночасно обробляти до 16 потоків.