Неграй О. В.
Одеська національна академія зв’язку імені О. С. Попова, Україна
РОЗРОБКА СИСТЕМИ МОНІТОРИНГУ КАНАЛІВ IPTV ПО ЗОБРАЖЕННЮ
Однією з важливих задач провайдера, що надає послуги інтерактивного телебачення IPTV є відстеження якості телевізійних каналів які транслюються в IP мережу. На практиці використовуються комбіновані системи моніторингу IPTV каналів, які здійснюють моніторинг за значенням бітрейту , відстежують помилки, що виникають у транспортному потоці TS і виконують моніторинг по зображенню. Кожен з перелічених видів моніторингу володіє своїми перевагами і недоліками. Моніторинг каналів по бітрейту надає тільки інформацію про швидкість передачі каналів і не несе інформації про стан зображення, що є недоліком, оскільки досить частими є випадки аварії каналів по зображенню, коли замість нормального зображення передається цифрове сміття або однокольорове поле. Така ситуація може виникнути, наприклад, у випадку якщо канал вішається в зашифрованому вигляді - цьому буде відповідати ситуація з одноколірним полем
Моніторинг помилок, що виникають в транспортному потоці TS зводиться як правило до відстеження найбільш критичних помилок безперервності TS discontinuities , виділенню з транспортного потоку елементарних потоків за допомогою таблиці PMT і їх аналізу, визначенню пошкоджених MPEG-TS пакетів, а також до визначення ситуацій пов'язаних з обривом мовлення (відсутність прийому пакетів). Дані помилки відстежуються за допомогою плеєрів вміючих працювати з транспортним потоком (наприклад mplayer ) і спеціального програмного забезпечення на сервері моніторингу, а також сервісної інформації (сервісних таблиць), яка міститься в самому транспортному потоці і дозволяє визначати наявність помилок. Однак відстеження помилок в транспортному потоці також не дає вичерпної інформації про якість переданих каналів з наступних причин. Транспортний потік в якому передається канал в зашифрованому виді не буде містити будь-яких помилок, однак при цьому буде спостерігатися однокольорове поле. У разі якщо програмний потік PES перед упаковкою в транспортний потік вже був пошкоджений, то ніяких помилок на приймальній стороні в транспортному потоці може бути не зафіксовано, але при цьому перегляд каналу може бути утруднений через помилки в програмному потоці PES. Останній спосіб моніторингу носить назву моніторингу каналів по зображенню. Даний спосіб моніторингу здійснюється шляхом послідовного взяття скріншотів IPTV каналів програмним плеєром встановленим на сервері моніторингу з подальшим аналізом отриманого на ньому зображенні. Після зняття плеєром скріншота необхідно виконати операції спрямовані на виділення ознак, що вказують на аварію каналу по зображенню. Як правило такими ознаками є наявність пошкоджених окремих макроблоків або цілих зрізів (рис. 1).
Рис. 1. Зображення,яке містить пошкоджені макроблоки і зрізи
Як видно з даного малюнка окремі пошкоджені макроблоки розміром 16х16 пікселів і зрізи, утворені кількома слідуючими один за одним макроблоками , характеризуються яскравістю і кольорами, які значно відрізняються від навколишнього їх фону і не є інформативними частинами сцени на зображенні.
Зображення реального світу, як правило, не містять різких строгих вертикальних або горизонтальних кордонів (перепадів) яскравості, тому для виділення таких кордонів можна скористатися фільтром виділення кордонів яскравості Собела . Після обробки неушкодженого зображення реального світу фільтром Собела суворо горизонтальних кордонів на зображенні міститися не буде. Якщо в програмному потоці присутні пошкоджені окремі макроблоки або слідуючи один за одним кілька макроблоків , що утворюють частину пошкодженого зрізу або цілком пошкоджений зріз, то після обробки фільтром виділення кордонів Собела скріншота , який зафіксував дані помилки, на зображенні будуть міститися строго горизонтальні кордони для окремих макроблоків або зрізів рис. 2.
Рис. 2. Результат фільтрації зображення маскою Собела
Їх довжина становитиме 13–16 пікселів , те що довжина кордону може бути трохи менше 16 пояснюється не ідеальністю фільтрації, а ширина кордону становить 1 піксель . У разі пошкодженого зрізу або його частини тривалий горизонтальний кордон буде приблизно кратний 16 пікселам . Таким чином послідовно підраховуючи кількість білих пікселів на ділянці строки зображення довжиною 16 пікселів , і потім підраховуючи загальну кількість зустрінутих в зображенні 16 елементних ділянок з 14–16 білими пікселями і потім порівнюючи отриману кількість ділянок з порогом, можна з високою ймовірністю визначити чи є пошкоджені макроблоки і зрізи. Наявність великої кількості таких ділянок буде сигналізувати про помилкові макроблі і зрізи в програмному потоці. Залежно від переданого сюжету на трансльованому каналі (випуску новин зі студії, студійної програми, кінофільму, рекламного ролика) можлива ситуація коли корисне зображення займає не всю частину знятого плеєром скріншота . Це може призвести до появи помилкових горизонтальних кордонів, що буде значно погіршувати роботу алгоритму і приводити до помилкового спрацьовування системи моніторингу і, як наслідок, до потрапляння робочого каналу в список аварійних. Також поява помилкових суворо горизонтальних кордонів можлива за наявності у верхній або в нижній частині зображення логотипів телевізійних каналів або програм. Дані логотипи створюються за допомогою комп'ютерної графіки і можуть містити строго геометричні форми і кордони. Щоб уникнути подібних ситуацій необхідно верхні неактивні строки зображення ( скріншота розміром 576х768 елементів) з 1 по 76 і нижні рядки з 500 по 576, на які якраз і доводиться розташування як ділянок постійної яскравості так і штучних логотипів, прирівняти до чорного фону після фільтрації.
Для відстеження ситуації коли зображення являє собою однокольорове поле, що може сигналізувати про шифрування каналу або про нульовий бітрейт , можна скористатися наступним підходом: для кожного зображення отриманого зняттям скріншота плеєром , обчислюється гістограма яскравості. Якщо динамічний діапазон яркостей зображення становить менше порогового значення і приблизно дорівнює нулю, то зображення являє собою однокольорове поле.