1. Standardy multimedialne

1.8. MPEG 7, czyli specyfika opisu

Standard MPEG-7 nie definiuje algorytmów kompresji audio i wideo (czy raczej dekompresji, jak poprzednie normy), ale normuje metadane multimedialne, a więc opisy danych  cyfrowych lub też zawartej w nich treści. Opisy te są wykorzystywane do efektywnej charakterystyki, selekcji, doboru czy wyszukania określonych materiałów multimedialnych lub ich fragmentów. 

Dokument systemowy określa narzędzia definiowania składni metadanych w języku XML oraz techniki kompresji postaci XML-owej do postaci binarnej BiM (Binary Format for MPEG-7). Informacja zawarta w schemacie XML, określającym składnię danego typu opisów, wykorzystywana jest do redukcji strukturalnej nadmiarowości informacji (nazwa elementu, nazwa atrybutu, itp.), natomiast dedykowane techniki kodowania służą do kompresji wartości elementów i atrybutów w dokumencie XML (IEEE 754 dla liczb zmiennoprzecinkowych, UTF8 dla kodu UNICODE, kodowanie listy wartości, itp.)

Metadane

W MPEG-7 zaproponowano wiele mechanizmów definiowania metadanych, ustalono przede wszystkim bogaty język definicji opisów treści multimedialnej DDL (Description Definition Language). Język DDL jest nieznacznym rozszerzeniem  XML Schema, który w MPEG-7 wykorzystywany jest w definiowaniu normowanych typów metadanych dla poszczególnych mediów cyfrowych. Aplikacja generująca metadane, przypisane określonemu strumieniowi danych musi generować opisy według składni zdefiniowanej w typach metadanych normy, a więc zgodnych z odpowiednimi schematami XML.

Główne atrybuty informacji o treści przypisanej obiektom (OCI) to: klasyfikatory treści, słowa kluczowe, opis w języku naturalnym, język strumienia audio, informacja o kontekście wytwórczym danego medium, kategoria przyzwolenia odbioru (np. ocena dopuszczalnego wieku widza danego programu). Metadane mogą być włączane do opisu obiektu audio-wizualnego (AV), do strumienia elementarnego lub też same mogą tworzyć strumień elementarny. W strumieniu OCI mogą się znajdować opisy wielu obiektów AV.

Typy metadanych zostały podzielone na następujące kategorie:

  • typy sygnałowe, odnoszące się do informacji zawartej w danych zarejestrowanego sygnału cyfrowego, np. tekstura czy kształt konturu obiektów obrazu, struktura kolorów, linia melodyczna audio; metadane tego typu są generowane automatycznie na podstawie zarejestrowanego sygnału określonego rodzaju;
  • typy semantyczne, dotyczące znaczenia obiektów, relacji między nimi i zrozumiałych zdarzeń świata rzeczywistego (naturalnego) zapisanych w sygnale;
  • typy strukturalne, normujące organizację metadanych w struktury danych i ich kolekcje;
  • typy kontrolne, nawiązujące do informacji niezbędnych w zarządzaniu i udostępnianiu medium cyfrowego, takich jak:  kontekst techniczny (typ nośnika, typ kompresji, format i rozmiar pliku), kontekst wytwórczy (autor, producent, typ narzędzia wytwórczego, klasyfikacja produktu, np. muzyka filmowa), kontekst dystrybucyjny (dystrybutor, prawa własności, koszty).

 Szereg technik automatycznej ekstrakcji cech z obrazów, ich sekwencji oraz z materiału dźwiękowego określono w dokumentach wideo i audio tego standardu.

Deskryptory wizualne

Wśród deskryptorów wizualnych można wyróżnić kilka zasadniczych grup:

  • opis struktur podstawowych
    • rozmieszczenie siatki (Grid Layout) -- kompozycja deskryptorów wizualnych obliczanych niezależnie w siatce bloków pokrywających dany obraz,
    • widok złożony w 2W-3W (2D-3D Multiple View) -- kompozycja deskryptorów wizualnych obliczanych niezależnie dla wielu obrazów 2W lub 3W tej samej sceny,
  • deskryptory koloru
    • dominujące kolory (Dominant Colors) -- informacje o dominujących kolorach, ekstrahowane z obiektu wizualnego (ramka, region ramki, sekwencja ramek, obszar czasowy),   
    • skalowalny kolor (Scalable Color) -- informacja o histogramie kolorów skalowalna ze względu na liczbę poziomów kwantyzacji koloru w przestrzeni HSV (Hue, Saturation, Value),
    • rozmieszczenie koloru (Color Layout) -- informacja o współczynnikach DCT w blokach ramki dla składowych Y (luminancja) oraz Cb i Cr (chrominancja),
    • struktura koloru (Color Structure) -- informacja o strukturalnym histogramie kolorów w przestrzeni kolorów HMMD (Hue, Min, Max, Difference),
  • deskryptory tekstury
    • jednolitość tekstury (Homogenous Texture) -- informacja o teksturze jednorodnej bazująca na analizie spektrum transformacji Radona z wykorzystaniem zestawu filtrów Gabora,
    • przegląd tekstury (Texture Browsing) -- zwarta informacja o teksturze na podstawie analizy kierunków dominujących w amplitudowym spektrum transformaty Gabora  obrazu oryginalnego,
    • histogram krawędzi (Edge Histogram) -- histogram dla elementarnych typów krawędzi liczonych w różnych konfiguracjach bloków,
  • deskryptory kształtu
    • kształt regionu (Region Shape) -- informacja o kształcie obszaru na podstawie momentów Zernicke (transformacja ART),
    • kształt konturu (Contour Shape) -- informacja o kształcie konturu na podstawie analizy CSS (transformacja do skalowalnej przestrzeni krzywizny),
    • trójwymiarowe widmo kształtu (3D Shape Spectrum),
  • deskryptory ruchu:
    • ruch kamery (Camera Motion) -- informacja o parametrach ruchomej kamery,
    • tor ruchu (Motion Trajectory) -- informacja o trajektorii ruchu obiektu interpolowanej funkcją kawałkami wielomianową, co najwyżej stopnia drugiego,
    • aktywność ruchu (Motion Activity) -- aktywność ruchu mierzona na podstawie estymacji ruchu w makroblokach 16\times 16.

Warto zwrócić uwagę przede wszystkim na trzy zdefiniowane w MPEG-7 deskryptory tekstury obiektów wizyjnych:

  • Homogeneous Texture Descriptor – HTD, który służy do opisu jednorodnych tekstur obiektów wizyjnych,
  • Texture Browsing Descriptor – TBD, który opisuje percepcyjne właściwości postrzegania tekstur,
  • Edge Histogram Descriptor – EHD, który nie opisuje regionów o danych teksturach, lecz rozkład i kierunkowość krawędzi pomiędzy regionami o różnych teksturach w obrazie.

Edge Histogram Description

Rys. 1.14 Pięc typów krawędzi ekstrahowanych w EHD

Histogram krawędzi opisuje rozkład przestrzenny obrazu za pomocą pięciu typów krawędzi pokazanych na rysunku (1.14): czterech kierunkowych i jednym bezkierunkowym. Ostatni typ krawędzi nie jest określony a priori w żaden sposób i jest częścią obrazu. Zostaje on z niego wydzielony za pomocą procedury pokazanej na rysunku 1.15. Obraz wejściowy jest dzielony na bloki, a następnie podbloki, w obrębie których wykonywana jest operacja detekcji krawędzi.


Rys. 1.15 Zasada składania bloków i definiowanie pod--bloków w EHD.

Krawędzie odgrywają ważną rolę w postrzeganiu obrazów, szczególnie obrazów naturalnych, dlatego też powyższy deskryptor uważany jest za najważniejszy przy porównywaniu grup obrazów za pomocą wzorca.

Homogeneous Texture Descriptor
Deskryptor homogennych tekstur służy do opisu jednorodnych tekstur obiektów wizyjnych. Metoda wykorzystywana do ekstrakcji tego deskryptora została zaproponowana w Manjunath'a i polega na wyznaczeniu parametrów statystycznych każdego z kanałów dwuwymiarowego widma obrazu statycznego. Podział widma na rozłączne podpasma odbywa się przy użyciu zastawu filtrów zamodelowanych funkcją Gabora:

G_{s,r}(\omega, \theta)=\exp[\dfrac{-(\omega-\omega_s)^2}{2\sigma_s^2}]\exp[\dfrac{-(\theta-\theta_r)^2}{2\tau_s^2}] (1.7)

gdzie s, r to indeksy podpasm, \omega, \theta to argumenty pulsacji i kąta, natomiast \sigma, \tau to odchylenie standardowe pulsacji i kąta.

Deskryptor HTD dzieli widmo obrazu na 30 kanałów o sześciu kierunkach orientacji i pięciu zakresach częstotliwości, tak jak pokazano na rysunku 1.16. Dla każdego z kanałów wyznaczana jest średnia energia składników widma oraz ich wariancja. Składnia deskryptora HTD jest następująca (MPEG75}:

HTD=[f_{DC},f_{SD},e_1,\dots e_{30},d_1,\dots d_{30}] (1.8)

gdzie [f_{DC} to jednorodnie skwantowana wartość średniej luminancji obrazu, f_{SD} to jednorodnie skwantowana wartość odchylenia standardowego luminancji punktów obrazu od średniej, e_i to średnia wartość energii i--tego kanału, natomiast d_i to wartość dewiacji energii i--tego kanału.

Rys. 1. 16 Podział widma na kanały dla obliczeń deskryptora HTD. Rysunek zaczerpnięto z literatury.

Texture Browsing Descriptor 
Percepcyjny deskryptor tekstury opisuje tekstury obiektów wizyjnych poprzez wyznaczenie parametrów odpowiadających ludzkiemu sposobowi postrzegania. Składnia opisu deskryptora TBD jest następująca:

TBD=[v_1,v_2,v_3,v_4,v_5] (1.9)

gdzie v_1 to parametr regularności bądź struktury tekstury (regularity), v_2, v_3 to parametry opisujące kierunkowość tekstury (directionality), natomiast v_4, v_5 to parametry opisujące ziarnistość tekstury (coarseness).

Algorytm ekstrakcji cech TBD został przedstawiony w i także opiera się na filtracji widma z użyciem funkcji Gabora (1.7). 

Deskryptor TBD ma na celu wyznaczenie opisu, który bardziej odpowiada percepcyjnym właściwościom postrzegania człowieka. Nie gwarantuje to jednak uzyskiwania zadowalających rezultatów wyszukiwania. Liczba parametrów deskryptora jest ograniczona do pięciu (1.9). Dodatkowo wartości poszczególnych parametrów są silnie kwantowane, co zapewnia bardzo ograniczoną objętość bitową deskryptora, co niekorzystnie wpływa na precyzję wyszukiwania z użyciem TBD i ogranicza zakres jego zastosowań. Dodatkowo, deskryptor TBD charakteryzuje się bardzo dużą złożonością obliczeniowa ekstrakcji opisu, co dyskwalifikuje zastosowanie tego deskryptora w aplikacjach działających w czasie rzeczywistym.

Deskryptory rozpoznawania twarzy

Zdefiniowano także specyficzne, bardziej zaawansowane deskryptory, m.in. rozpoznawania twarzy:

  • deskryptor rozpoznawania twarzy (Face Recognition) - informacja o obrazie twarzy uzyskana na podstawie skwantowanych do 5 bitów pierwszych 48 współczynników transformaty KLT,
  • zaawansowany deskryptor rozpoznawania twarzy (Advanced Face Recognition) -- informacja o obrazie twarzy uzyskana w wyniku hierarchicznej liniowej analizy dyskryminacyjnej LDA, dokonanej na informacji spektralnej globalnej i lokalnej w blokach, z opcjonalną wstępną normalizacją twarzy do pozy frontalnej.

Deskryptory wizualne oprócz formatu XML mają także zdefiniowaną formę binarną, bardziej upakowaną niż binarna postać BiM -- w oprogramowaniu referencyjnym zamieszczono kodeki postaci XML na postać binarną (rys. 1.17).

Rys. 1.17 Schemat blokowy kodeków deskryptorów wizualnych MPEG-7, zaczerpnięty z literatury.
 

Deskryptory audio

Wśród deskryptorów opisujących dźwięk i mowę warto wymienić przede wszystkim:

  • sygnatura audio (Audio Signature) - skalowalna informacja o lokalnych statystykach widma dźwięku,
  • deskryptory brzmienia instrumentów (Musical Instrument Timbre) -- szereg deskryptorów charakteryzujących brzmienie instrumentu w terminach bazowych charakterystyk widmowych, takich jak centroid widma harmonicznego, jego rozproszenie, itp.
  • deskryptor melodii (Melody) -- złożony deskryptor zawierający między innymi sygnaturę czasową i linię melodyczną w postaci ciągu zmian melodycznych.
  • deskryptory rozpoznawania i indeksowania dźwięku (General Sound Recognition and Indexing) -- szereg deskryptorów pozwalających dokonać rozróżnienia dźwięków na poziomie ogólnym, np. pomiędzy muzyką, mową, a szumem, lub bardziej szczegółowym, np. między głosem mężczyzny, kobiety i dziecka (podstawowym modelem jest ukryty łańcuch Markowa).