Стиснення в кодере MPEG 2 - складний шестирівневий процес у вигляді ієрархічної структури: блок - макроблок - слайс (вирізка) - кадр - група кадрів - послідовність кадрів (рис. 4).
Малюнок 4 - Ієрархічна структура кодування MPEG 2
Спочатку обробляються фрагменти зображення - блоки - розміром 8x8 пікселів, що несуть інформацію про яскравість або кольоровості. Блок (основний об'єкт, до якого застосовується ДКП) є базовою структурною одиницею, над якою здійснюються всі основні операції кодування. Матриця блоку складається з 8x8 = 64 пікселів, т. Е. Має 64 відліку. У телевізійному кадрі по вертикалі розміщується 576/8 = 72 стовпців матриці, а по горизонталі 704/8 = 88 рядків матриці. У підсумку повне телевізійне зображення формується з (72x88) = 6336 блоків, т. Е. Матриць яскравості даних, на яких можливо провести ДКП.
Яскравості блоки Y організовуються в макроблоки (16x16 пікселів), що складаються з чотирьох блоків. Макроблок - це основний об'єкт для передбачення з компенсацією руху.
Один або більше суміжних макроблоків групуються разом і утворюють вирізку (слайс), в якій по вертикалі 16 пікселів, а по горизонталі 16n (де n - 1, 2, 3 і т.д.) пікселів.
Слайс є основним об'єктом для синхронізації і при відновленні даних, які формують зображення. Коли з'являється помилка в загальному потоці цифрових даних, декодер звертається до початку наступного макроблоку, що входить в слайс, що покращує ефективність відновлення і якість зображення. Черговість обробки макроблоків в слайсами така ж, як і при звичайному ході малої розгорнення, т. Е. Зліва направо і зверху вниз.
В області пошуку здійснюється пошук «свого» макроблоку в поточному кадрі, суміжному з опорним. Область пошуку включають в себе 64x64 пікселів, т. Е. Обмежена розмірами в 4x4 макроблоку.
Таким чином, кадр. що складається з групи слайсів, є первинною кодованої одиницею переданого зображення. Послідовність з 12. 15 кадрів становить групу кадрів (GoP - Group of Picture) трьох типів (I, Р, В), з яких тільки один I-кадр (Interframe) з внутрікадровим кодуванням є опорним для декодування інших кадрів (Р і В) групи, три або чотири Р-кадру (Predictive - передбачені) використовують міжкадрове кодування з компенсацією руху по найближчому попередньому I-кадру і 8. 10 В-кадрів (Bidirectional - двонаправлені) з міжкадрових кодуванням і пророкуванням по наступним і попереднім I- і Р -кадра.
Група кадрів GoP забезпечується заголовком, і отримана структура даних називається елементарним потоком даних.
Малюнок 5 - Типова послідовність I-, B- і P-кадрів P-кадр може посилатися тільки на попередні I- або P-кадри, тоді як B-кадр може посилатися і на попередні, і на наступні I- або P-кадри.
Малюнок 6 - Структура групи кадрів (зображень) при передачі по каналу зв'язку
Як видно з рис. 5, після певної кількості Р- і В- кадрів знову слід опорний I-кадр. Група кадрів повинна бути досить великою, якщо необхідно отримати високу ступінь стиснення інформації. З іншого боку, чим частіше слідують I-кадри, тим вище якість зображення, але тим більший обсяг інформації в реальному масштабі часу потрібно передати по каналу зв'язку, т. Е. Тим ширше повинна бути його частотна смуга. Вважається оптимальним, якщо на один I-кадр доводиться в середньому від 7 до 15 Р- і В-кадрів.
Р-кадри (Predicted Frames). Поточні кадри Р-типу кодуються або на основі попереднього опорного I-кадру, або попереднього опорного Р-кадру пророкуванням вперед. Порівняння і отримання разностной інформації між кадрами відбувається по макроблоків. У поточних Р-кадрах інформація порівнюється макроблоків з опорним I-кадром до тих пір, поки в будь-якому макроблоків поточного кадру не буде іншого фрагмент. З цього моменту кодування переключається на внутрікадрове, т. Е. Застосовується ДКП і формується новий Р-кадр, але вже як опорний. В опорних Р-кадрах скорочується просторова (за рахунок ДКП) і тимчасова надмірність (за рахунок межкадрового стиснення щодо опорних I-кадрів) і вони самі використовуються в якості опорних для В-кадрів. У цьому випадку необхідна висока точність їх відновлення. В Р-кадрах в порівнянні з I-кадрами досяжне стиснення інформації в три рази вище.
По-кадри (Bidirectional Interpolated Frames) кодуються в залежності від характеру переданих сюжетів телевізійного зображення наступними способами:
§ передбачити наступне найближчого В-кадру на основі попереднього опорного I- або Р-кадру (пророкуванням вперед з компенсацією руху).
§ Зворотним пророкуванням (пророкуванням тому з компенсацією руху). Опорним служить наступний, сусідній I- або Р-кадр. Такий прогноз реалізується при появі великих площ в зображенні (в кадрі), яких не було в попередньому кадрі.
§ двоспрямованістю предиктивно попереднього і наступного I- або Р-кадрів, т. Е. Використовується комбінація двох пророкувань - пророкування вперед і зворотне пророкування - пророкування назад з компенсацією руху. Опорними служать два кадри - один з них найближчий попередній I-або Р-кадр, а інший найближчий наступний I- або Р-кадр.
§ Внутрікадровий пророкуванням без компенсації руху тільки на основі I-кадрів. При цьому в поточному кадрі інформація порівнюється з макроблоків з опорним I-кадром і виділяється різницева інформація між ними. Такий прогноз використовується при різкій зміні сюжету або при великих швидкостях переміщення об'єкта зображення.