40
PROGRAMSKA PODR ŠKA U TELEVIZIJI I OBRADI SLIKE Primer složenog DTV softvera Middleware Aspekti povezivanja HAL nivoa

PROGRAMSKA ŠKA U TELEVIZIJI I OBRADI SLIKE · demultiplekser blok, potrebna je minimalna implementacija TS modula. Velika potreba za funkcionalnošću TS modula javlja se u složenim

Embed Size (px)

Citation preview

PROGRAMSKAPODRŠKA U TELEVIZIJI

I OBRADI SLIKE

Primer složenog DTV softvera

Middleware

Aspekti povezivanja HAL nivoa

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 2/40

Arhitektura DTV prijemnika

Tjuner

DVB T/S/C

modulisani signal

DVB demodulator

Blok za pristupprenosnom toku

(TS interface)

DVB

prenosni

tokDemultiplekserprenosnog toka

Filtrirani

prenosni

tok

Mrežni sprežni modul (NIM)

Radna memorija

PES

PSI/SI

Private

DataCentralni procesor (CPU)

Video dekoder

Audio dekoder

PSI/SI

Private

Data

Video

PES

Audio

PES

U/I podaci

D/A konverzija slike

D/A konverzija zvuka

Digitalna slika

Digitalni zvuk

Analogna

slika

Analogni

zvuk

U/I

A/D

slika

A/D

zvuk

Multimedijalni DTV čip (SoC)

U/I podsistem

Procesor prenosnog toka

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 3/40

Programska podrška DTV prijemnika

Fizička arhitektura DTV prijemnika (hardware)

Rukovaoci sistemskim spregama

(System drivers)

Rukovaoci DTV blokovima

(DTV drivers)

Rukovaoci blokovima za uslovni pristup

(CA drivers)

Abstrakcija fizičke arhitekture (HAL)

Operativni sistemProgramska podrška za

kontrolu DTV

Programska podrška za kontrolu uslovnog

pristupa

Srednji sloj – Middleware(Virtualna mašina za TV aplikacije)

Programska sprega za razvoj aplikacija (API)

EPG VoD ZapperTV-centric

IgriceHbbTV...

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 4/40

Primer složenog SW – srednji sloj

Srednji sloj – Middleware(Virtualna mašina za TV aplikacije)

Programska sprega za razvoj aplikacija (API)

Realizuje najvažnije operacije (raščlanjivanjeDVB podataka, kontrola pristupa i organizacijaservisa, prikupljanje EIT podataka, podrška zasnimanje, kontrola podsetnika, dekodovanjemultimedijalnih sadžaja)

Komunikacijom sa nižim slojevima programskepodrške se kontroliše fizička arhitektura

Obezbeđuje potrebne programske sprege ka višim programskim slojevima (grafičkojkorisničkoj sprezi)

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 5/40

Srednji sloj

Većina proizvođača DTV softvera koji se koristi u DTV prijemnicima ne ograničava svoje usluge samo na osnovne OS funkcije već se OS prodaje kao deo kompletnog paketa koji uključuje i tzv. middleware sloj.

Middleware obezbeđuje odgovarajući API koji apstrahuje funkcionalnost TV uređaja, HW platforme, kao i OS funkcija, čime je omogućeno da proizvođači aplikativnog DTV softvera ne moraju da poznaju hardverske specifičnosti DTV prijemnika. Ovim je omogućeno da se aplikacije koje koriste isti middleware API mogu izvršavati na različitim hardverskim platformama, tj. middleware formira virtuelnu mašinu.

Osnovni problem kod middleware-a je nepostojanje jedinstvenog standarda. Mnogi proizvođači softvera nude svoja rešenja koja su međusobno nekompatibilna.

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 6/40

Dostupna rešenja srednjeg sloja

Najpoznatija Middleware rešenja:

DVB-MHP

DVB-GEM

OpenTV

Frog by Wyplay

Zenterio

MediaHighway

CISCO PowerTV

DASE

Cabot

IWEDIA

Situacija na tržištu

se stalno menja

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 7/40

Primer srednjeg sloja - Comedia

Primer realne implementacije srednjeg sloja softvera

je Comedia 3.0, rešenje kompanije iWedia

Arhitektura Comedia srednjeg sloja (MW) je

izuzetno dobra ilustracija opšte arhitekture srednjeg

sloja DTV platforme

Pokriva dva važna aspekta:

Emiterske funkcionalnosti (DVB) i priprema podataka za

korišćenje u aplikacijama, uključujući API sloj

Virtuelno okruženje za razvoj aplikacija, kroz Java plugin,

odnosno kroz Javascript plugin

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 8/40

Comedia okruženje

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 9/40

Arhitektura Comedia MW

Programska podrška za kontrolu DTV

Comedia

Sloj za abstrakciju fizičke arhitektureComedia Hardware Abstraction Layer - CHAL

TKEL TBOX TDAL

Comedia Core

StreamPlayer MSList Event Info

Time Date

CA

TerInstall

Sprega za abstrakciju srednjeg slojaComedia Middleware Abstraction Layer - MAL

Korisničke aplikacije

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 10/40

Comedia CHAL

CHAL je akronim od “Comedia Hardware Abstraction Layer”,

odnosno, sloj za abstrakciju fizičke arhitekture. Comedia MW jezgro

se oslanja na CHAL sloj.

CHAL sloj je zavisan od fizičke arhitekture DTV prijemnika. Da bi se

omogućila funkcionalnost Comedia MW, CHAL je sloj koji treba

preneti (port) na ciljnu platformu.

CHAL se sastoji od tri nezavisne celine:

TKEL je sloj za abstrakciju funkcionalnosti operativnog sistema

realnog vremena (RTOS).

TBOX je modul koji deklariše pomoćne funkcije i makroe i služi u

svrhu debagovanja programske podrške

TDAL je sloj za abstrakciju rukovalaca (drivers) i sastoji se od

mnoštva modula. Svaki blok fizičke arhitekture DTV prijemnika

poseduje odgovarajući TDAL rukovalac.

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 11/40

Apstrakcija operativnog sistema - TKEL

TKEL omogućava funkcionalnosti abstrakcije potrebnih primitiva

operativnog sistema (npr. Linux, FreeRTOS, OS21...). TKEL

obezbeđuje API za:

Rukovanje procesima i zadacima

Sinhronizaciju procesa

Kritične sekcije

Komunikaciju korišćenjem poruka i redova

Slanje događaja (event)

Upravljanje zauzimanjem i oslobađanjem memorije

Merače vremena (Timers)

TKEL API se tipično koristi iz Comedia jezgra.

Pre korišćenja, obavezno se poziva inicijalizaciona funkcija TKEL_Init. Rad sa TKEL se završava pozivom TKEL_Term funkcije.

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 12/40

TKEL osnovne apstrakcije

Zadatak (Task) u TKEL je ekvivalent niti, odnosno

procesu (npr. pthread u POSIX).

Sinhronizacija se obavlja korišćenjem TKEL apstrakcija

za semafore, odnosno događaje (event)

Komunikacija između zadataka obavlja se korišćenjem

redova čekanja (message queues).

Zaštita resursa obezbeđuje se korišćenjem kritičnih

regiona, odnosno kritičnih promenljivih (mutex)

Alokacija memorije je obezbeđena korišćenjem funkcija

za zauzimanje i oslobađanje (malloc, free) sa

mogućnošću alokacije memorijskih particija.

Podrška za merače vremena (timers)

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 13/40

TBOX

Osnovna uloga TBOX modula je da omogući

sprezanje srednjeg sloja sa sistemskim okruženjem

u svrhu obavljanja debug ispisa preko serijske ili

JTAG sprege

TBOX API se sastoji od skupa makroa koji imaju

efekat samo ukoliko je aktiviran debug režim. U

release verziji oni su po automatizmu isključeni.

TBOX omogućava više nivoa ispisa, i to:

Kritični ispisi (critical)

Upozorenja (warning)

Praćenje hijerarhije poziva (function)

Opšti ispisi (normal), sa nivoima u opsegu [1,5]

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 14/40

Arhitektura Comedia MW - TDAL

Programska podrška za kontrolu DTV

Comedia

Sloj za abstrakciju fizičke arhitektureComedia Hardware Abstraction Layer - CHAL

TKEL TBOX TDAL

Comedia Core

StreamPlayer MSList Event Info

Time Date

CA

TerInstall

Sprega za abstrakciju srednjeg slojaComedia Middleware Abstraction Layer - MAL

Korisničke aplikacije

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 15/40

Comedia TDAL - Uvod

TDAL je sloj za apstrakciju rukovalaca, koji omogućuje

korišćenje fizičke arhitekture DTV prijemnika od strane

Comedia MW, bez potrebe za poznavanjem detalja

realizacije te arhitekture.

TDAL API je najobimniji API i najkompleksniji za

prenošenje na ciljnu platformu.

TDAL je specifičan za uređaje koji podržavaju

DVB/MPEG, odnosno za digitalne TV prijemnike.

TDAL je modularno organizovan, i to tako da u najvećem

broju slučajeva jedan TDAL modul odgovara jednom

bloku fizičke arhitekture. Jedan TDAL modul se može

posmatrati kao rukovalac fizičkom arhitekturom sa

stanovišta Comedia MW.

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 16/40

Modul TDAL Common

Ovaj modul je zadužen da obezbedi sledeće

funkcionalnosti:

Inicijalizacija i konfigurisanje rukovalacaa

Isključivanje (uklanjanje) rukovalaca

Resetovanje platforme

Izmena tačke izvršavanja programske podrške (zamena

izvršavanog programa)

Upravljanje režimom niske potrošnje (low power) sistema

Pristup sistemskom satu

Dodatne zajedničke funkcije po potrebi, poput:

Alokacija/Dealokacija memorije u memorijskom bazenu (pool)

Muteks sa semaforom

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 17/40

Modul TDAL DMD

Tjuner

DVB T/S/C

modulisani signal

DVB demodulator

Blok za pristupprenosnom toku

(TS interface)

DVB

prenosni

tokDemultiplekserprenosnog toka

Filtrirani

prenosni

tok

Mrežni sprežni modul (NIM)

Radna memorija

PES

PSI/SI

Private

DataCentralni procesor (CPU)

Video dekoder

Audio dekoder

PSI/SI

Private

Data

Video

PES

Audio

PES

U/I podaci

D/A konverzija slike

D/A konverzija zvuka

Digitalna slika

Digitalni zvuk

Analogna

slika

Analogni

zvuk

U/I

A/D

slika

A/D

zvuk

U/I podsistem

Pod kontrolom TDAL DMD

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 18/40

Modul TDAL DMD

Uloga ovog modula je da upravlja fizičkim mrežnim

sprežnim modulom - NIM (tjuner i demodulator).

Podešava parametre za demodulaciju zavisno od

korišćenog standarda / tipa NIMa (DVB-T/T2, DVB-S,

DVB-C)

Postavlja prijem na određenoj frekvenciji (tuning)

Obavlja pretraživanje zadatog frekvencijskog opsega

(scanning)

Obaveštava ostale module o važnim događajima vezano

za prijem signala (signal lock, izgubljen signal, progres

pretraživanja i sl)

Omogućava pristup i kontrolu parametara kvaliteta

signala (AGC, BER, SNR i sl)

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 19/40

TDAL TS moduli

Tjuner

DVB T/S/C

modulisani signal

DVB demodulator

Blok za pristupprenosnom toku

(TS interface)

DVB

prenosni

tokDemultiplekserprenosnog toka

Filtrirani

prenosni

tok

Mrežni sprežni modul (NIM)

Radna memorija

PES

PSI/SI

Private

DataCentralni procesor (CPU)

Video dekoder

Audio dekoder

PSI/SI

Private

Data

Video

PES

Audio

PES

U/I podaci

D/A konverzija slike

D/A konverzija zvuka

Digitalna slika

Digitalni zvuk

Analogna

slika

Analogni

zvuk

U/I

A/D

slika

A/D

zvuk

U/I podsistem

Pod kontrolom TDAL TS

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 20/40

TDAL TS moduli

Uloga TS grupe modula je da upravljaju distribucijom

prenosnog toka od izvorišnog bloka (producer) do

potrošačkog bloka (consumer).

U slučaju najjednostavnije realizacije DTV prijemnika,

gde je jedino izvorište NIM modul, a potrošač jedan

demultiplekser blok, potrebna je minimalna

implementacija TS modula.

Velika potreba za funkcionalnošću TS modula javlja se u

složenim kontekstima upotrebe (npr. u PVR i IP

aplikacijama), gde izvorište može biti interna masovna

memorija ili mrežni stream, a odredište može biti

demultiplekser ili memorija za skladištenje.

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 21/40

TDAL TS moduli

TDAL_TSROUTE omogućava sledeće funkcionalnosti:

Omogućava povezivanje izvora prenosnog toka (NIM modul, memorijski

bafer) i demultipleksera.

TDAL_TSROUTE mora biti implementiran u svim realizacijama srednjeg

sloja.

TDAL_TSSOURCE omogućava sledeće funkcionalnosti:

Omogućava aplikaciji da obezbedi izvor prenosnog toka koji se fizički

dobavlja na drugačiji način (npr. sa demultipleksera, iz masovne memorije,

preko IP konekcije – stream i sl), odnosno da realizuje sve specifičnosti

konkretnog izvora.

Ukoliko se realizuje PVR aplikacija, implementacija ovog modula je

obavezna.

TDAL_TSSINK omogućava sledeće funkcionalnosti:

Omogućava aplikaciji da koristi prenosni tok koji stiže sa određenog izvora

(prethodno podešenog korišćenjem TDAL_TSSOURCE API poziva).

Modul omogućava korišćenje različitih potrošača, poput živog prikaza sa

dekodera, ili upisa u masovnu memoriju.

Takođe neophodan modul za realizaciju PVR.

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 22/40

Modul TDAL DMX

Tjuner

DVB T/S/C

modulisani signal

DVB demodulator

Blok za pristupprenosnom toku

(TS interface)

DVB

prenosni

tokDemultiplekserprenosnog toka

Filtrirani

prenosni

tok

Mrežni sprežni modul (NIM)

Radna memorija

PES

PSI/SI

Private

DataCentralni procesor (CPU)

Video dekoder

Audio dekoder

PSI/SI

Private

Data

Video

PES

Audio

PES

U/I podaci

D/A konverzija slike

D/A konverzija zvuka

Digitalna slika

Digitalni zvuk

Analogna

slika

Analogni

zvuk

U/I

A/D

slika

A/D

zvuk

U/I podsistem

Pod kontrolom TDAL DMX

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 23/40

Modul TDAL DMX

Uloga DMX modula je da upravlja demultiplekserom za

razdvajanje audio/video komponenti, PES paketa i

filtriranje SI sekcija

DMX modul omogućava rad sa više logičkih instanci

demultipleksera, što odgovara potrebama programske

podrške; instance se razrešavaju u okviru modula i može

se koristiti jedna fizička instanca demultipleksera.

DMX modul omogućava zauzimanje i oslobađanje

kanala, koji se koriste za isporuku podataka po tipu

kanala; kanali mogu biti različitih tipova (video tok, audio

tok, PCR tok, teletekst tok, tok za prevod, tok za sekcije

itd).

Svakom kanalu je pridružen odgovarajući identifikator.

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 24/40

Modul TDAL DMX - Filtriranje

DMX modul omogućava korišćenje fiter funkcija za dodatno

filtriranje podataka iz prenosnog toka.

Podržana su dva režima filtriranja:

Pozitivni režim filtriranja: Klijent zahteva filtriranje po određenom

kriterijumu (TableId, ExtensionId, VersionNumber...), kada će dobiti

samo one sekcije koje zadovoljavaju dati kriterijum.

Negativni režim filtriranja: Klijent zahteva dobavljanje sekcija koje ne

sadrže određeni kriterijum (npr. različit VersionNumber od zadatog).

Ukoliko fizički DMX blok ne podržava oba režima filtriranja, DMX

modul mora da realizuje nedostajući režim u svojoj programskoj

podršci.

Za postavljanje filtera koriste se sledeće informacije:

Filter: Vrednosti koje se proveravaju

Maska: Bit maska koja odgovara bitima od interesa u okviru filtera

Režim (mode): Pozitivan ili negativan, koji se primenjuje na masku – bit

1 znači da se bit filter maske zahteva, bit 0 znači da se traže sekcije

koje nemaju bit naveden u bit masci.

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 25/40

Modul TDAL AV

Tjuner

DVB T/S/C

modulisani signal

DVB demodulator

Blok za pristupprenosnom toku

(TS interface)

DVB

prenosni

tokDemultiplekserprenosnog toka

Filtrirani

prenosni

tok

Mrežni sprežni modul (NIM)

Radna memorija

PES

PSI/SI

Private

DataCentralni procesor (CPU)

Video dekoder

Audio dekoder

PSI/SI

Private

Data

Video

PES

Audio

PES

U/I podaci

D/A konverzija slike

D/A konverzija zvuka

Digitalna slika

Digitalni zvuk

Analogna

slika

Analogni

zvuk

U/I

A/D

slika

A/D

zvuk

U/I podsistem

Pod kontrolom TDAL AV

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 26/40

Modul TDAL AV

Uloga TDAL AV modula je da u potpunosti kontroliše

postupak dekodovanja video i audio PES u okviru DTV

prijemnika (sa kontrolom fizičkih video i audio dekoder

blokova).

Dekoderi se kontrolišu u dva režima, zavisno od toga

odakle potiče tok za dekodovanje:

Spoljni audio/video tok (npr. od NIM modula ili IP sprege).

Interna memorija

Klijent se obaveštava događajima o izmenama stanja

procesa dekodovanja

AV modul omogućava kontrolu brzine dekodovanja sa

različitim trick režimima (ako je PVR omogućen).

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 27/40

Modul TDAL AV - Povezivanje

Povezivanje sa izvorom podataka

TDAL_AV zahteva pristup ulaznom toku koji obezbeđuje

demultiplekser, odnosno TDAL DMX modul. TDAL AV mora da zna

sa kog demultipleksera, odnosno sa kog kanala može da dobavi

ulazni tok za dekodovanje.

Za identifikaciju video i audio toka koji je dostupan AV modulu,

koristi se referenca na tok (stream handle), koja se može dobaviti

odgovarajućim pozivom DMX modula.

Referenca na tok se postavlja kao ulaz AV modulu, korišćenjem

poziva TDAL_AV_InputStreamSet.

Povezivanje sa modulima za prikaz podataka

TDAL AV zahteva pristup TDAL DISP modulu da sazna u koji video

grafički sloj treba da upiše dekodovani frejm.

Za identifikaciju grafičkih slojeva koristi se referenca na grafički sloj

(layer handle).

Referenca na grafički sloj se postavlja kao ulaz AV modulu,

korišćenjem poziva TDAL_AV_VideoDestinationSet

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 28/40

Modul TDAL GFX

TDAL GFX modul je grafička sprega koja se koristi

od strane aplikacija za prikaz GUI.

Funkcionalnosti GFX modula su:

Upravljanje grafičkim regionima

Upravljanje paletama boja

Upravljanje nivoima prozirnosti (transparency)

Manipulacija i iscrtavanje bitmapa

Popunjavanje pravougaonog regiona bojom

Blit komanda za kombinovanje više bitmapa i više regiona

u jednu konačnu sliku

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 29/40

Modul TDAL GFX - Povezivanje

TDAL GFX povezan je sa TDAL DISP modulom koji

upravlja slojevima za prikaz slike (video, OSD,

teletekst, kursor i sl).

TDAL GFX pristupa slojevima TDAL DISP modula

da specificira u koji grafički sloj želi da smesti

rezultat kompozicije meni grafike.

Za pristup specifičnom grafičkom sloju koristi se

layer handle. Klijent povezuje izlaz GFX modula sa

odgovarajućim grafičkim slojem pozivanjem funkcije TDAL_GFX_RegionDestinationSet.

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 30/40

Modul TDAL DISP

TDAL DISP modul upravlja prikazom slike na video

izlazu.

Jedna od osnovnih uloga DISP modula je

upravljanje grafičkim slojevima (Layers) i funkcijama

za povezivanje (miksovanje) slojeva (Blenders).

Postoji veći broj grafičkih slojeva, zavisno od

mogućnosti fizičke arhitekture (video sloj, OSD sloj,

teletekst sloj i dr).

Blender omogućava konačni prikaz grafike. On

slaže sve dostupne grafičke slojeve na osnovu z-

indeksa koji se može podešavati.

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 31/40

Modul TDAL DISP - Blending

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 32/40

TDAL DISP – Z-order

TDAL DISP omogućava uređivanje redosleda prikaza

grafičkih slojeva korišćenjem Z-order liste. Z-order lista

predstavlja niz identifikatora grafičkih slojeva.

Maksimalan broj grafičkih slojeva u ovom nizu zavisi od

mogućnosti blendera. Prvi identifikator naveden u nizu

(sa indeksom 0) reprezentuje grafički sloj koji je

najudaljeniji od gledaoca. Sledeći identifikatori

predstavljaju grafičke slojeve koji su bliži gledaocu.

TDAL DISP omogućava dobavljanje liste svih mogućih

indeksa u Z-listi koje pojedinačni grafički sloj može da

zauzme.

Jedan grafički sloj u jednom trenutku može da pripada

samo jednoj Z-order listi jednog blendera.

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 33/40

TDAL DISP - Povezivanje

TDAL DISP modul je na usluzi TDAL AV modulu i

TDAL GFX modulu, koji zahtevaju identifikator

grafičkog sloja (layer handle) u koji obavljaju upis

rezultata rada.

Za pristup layer handle koristi se funkcija:

TDAL_DISP_LayerHandleGet()

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 34/40

Modul TDAL OUTPUT

Tjuner

DVB T/S/C

modulisani signal

DVB demodulator

Blok za pristupprenosnom toku

(TS interface)

DVB

prenosni

tokDemultiplekserprenosnog toka

Filtrirani

prenosni

tok

Mrežni sprežni modul (NIM)

Radna memorija

PES

PSI/SI

Private

DataCentralni procesor (CPU)

Video dekoder

Audio dekoder

PSI/SI

Private

Data

Video

PES

Audio

PES

U/I podaci

D/A konverzija slike

D/A konverzija zvuka

Digitalna slika

Digitalni zvuk

Analogna

slika

Analogni

zvuk

U/I

A/D

slika

A/D

zvuk

U/I podsistem

Pod kontrolom TDAL OUTPUT

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 35/40

TDAL OUTPUT

Kontroliše izlazni podsistem za sliku i zvuk u okviru

DTV prijemnika.

Sastoji se od nekoliko blokova, u zavisnosti od toga

koji fizički izlazni blokovi se kontrolišu:

Analogni video izlazi (DENC modul, HD DAC modul)

Digitalni video izlazi (HDMI, Video Digital Bus)

Analogni audio izlaz

Digitalni audio izlaz (SPDIF)

RF modulator (remodulator, za utiskivanje audio i video

signala u analogni UHF/VHF modulisani signal)

Svakom izlazu je pridružen tačno jedan identifikator

posredstvom kog se pristupa izlazu (npr.

eTDAL_OUTPUT_HDMI_ID_0).

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 36/40

Modul TDAL FLA

TDAL FLA modul je zadužen za omogućavanje

pristupa Flash non-volatile memoriji

Flash memorija je podeljena u blokove, odnosno

sektore, unapred definisane veličine koja može da

se razlikuje od bloka do bloka.

Moguće je kreiranje više različitih particija, od kojih

svaka particija obuhvata grupu blokova i poseduje

sledeće atribute:

Adresa početka particije

Adresa kraja particije

Prava pristupa (Read Only, Write Only, Read/Write)

TDAL FLA modul omogućava rad nad nizovima

particija

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 37/40

Modul TDAL KBD

Uloga KDB modula je da obezbedi prijem korisničkih

upravljačkih događaja sa IR daljinskog upravljača.

Za svaku akciju korisnika na daljinskom upravljaču,

TDAL KBD modul generiše događaj koji je moguće

primiti i obraditi u cilju aktiviranja odgovarajuće

akcije.

TDAL KBD modul podržava sledeće događaje na

tasterima na daljinskom upravljaču:

Taster pritisnut (PRESSED)

Taster otpušten (RELEASED)

Taster zadržan (HELD DOWN)

Fizički kodovi se transliraju u Comedia Key kodove

korišćenjem konfiguracionih datoteka

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 38/40

Tipična interakcija u TDAL za HD/SD

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 39/40

CHAL Validator (1/2)

CHAL Validator je alat koji omogućava ispitivanje ispravnosti

realizacije CHAL modula, kako bi se osigurao ispravan rad viših

nivoa programske podrške srednjeg sloja.

CHAL Validator je konzolna aplikacija koja omogućava izvršavanje

testnih slučajeva organizovanih u obliku stabla.

CMD>list

Display from root.

root (0)

TestTKEL(0 0)

TestTask(0 0 0)

TestCreateTask(0 0 0 0)

TestDeleteTask(0 0 0 1)

TestSelfDeleteTask(0 0 0 2)

TestPriority(0 0 0 3)

TestGetCurrentTask(0 0 0 4)

TestSuspendResumeTask(0 0 0 5)

TestMutex(0 0 1)

TestBasicMutex(0 0 1 0)

TestMutexMultipleLockPerThread(0 0 1 1)

TestMutexTryLockSimple(0 0 1 2)

TestMutexTryLockMultiple(0 0 1 3)

TestMutexDeletionOnLockedMutex(0 0 1 4)

TestSemaphore(0 0 2)

TestBasicSemaphore1 (0 0 2 0)

Programska podrška u televiziji i obradi slike 2015/2016 (E1) 40/40

CHAL Validator (2/2)

Testovi se izvršavaju unošenjem naziva čvora koji odgovara testu ili

grupi testova. Npr.

CMD>TestTKEL

Izvršava sve TKEL testove

Takođe se test može izvršiti unošenjem broja testa:

CMD>0 0

Pojedini testovi zahtevaju interakciju sa korisnikom, bilo da se

aktivira određena akcija, ili da se verifikuje izlaz na ekranu.

Rezultati testiranja mogu se videti naredbom result: CMD>result

Display from Test_TDAL_AV.

Test_TDAL_AV(0) : PARTIALLY EXECUTED. OK (416) FAILED (7)

TDAL_AV Unitary Tests (0 0) : FULLY EXECUTED. OK (416) FAILED (7)

TestAudioConfig(0 0 0) : OK (6) FAILED (1)

TestVideoConfig(0 0 1) : OK (6) FAILED (1)

UnitTestVideoInWindow(0 0 2) : OK (50) FAILED