programska - university of novi sad · 2020. 6. 28. · dmx digital storage media (dsm-cc) xserv...

43
PROGRAMSKA PODRŠKA U TELEVIZIJI I OBRADI SLIKE Primer složenog DTV softvera Middleware Unutrašnji mehanizmi

Upload: others

Post on 07-Nov-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

PROGRAMSKA

PODRŠKA U TELEVIZIJI

I OBRADI SLIKE

Primer složenog DTV softvera

Middleware

Unutrašnji mehanizmi

Page 2: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

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

Page 3: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Mogućnosti Comedia Core

Comedia Core

Setup

MS List

Stream Player

Event Info

TerInstall & SatInstall

Subtitles

Timer & Reminder

Teletext

PVR

Software Update

CA MMI

MHEG Engine

Web On TVHbbTV Engine

Podešavanje / Konfiguracija DTV prijemnika

Upravljanje listom programa (Zapping)

Upravljanje audio / video prikazom

Pristup informacijama o emisijama

Upravljanje pristupom prenosnom toku

Podrška za prikaz prevoda

Podrška za zakazivanje akcija i podsetnike

Podrška za prikaz teleteksta

Podrška za PVR funkcionalnosti

Podrška za ažuriranje sistemske PP

Podrška za prikaz GUI za CA modul

Podrška za izvršavanje MHEG aplikacija

Podrška za prikaz HbbTV sadržaja

Page 4: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia Core arhitektura

CHAL

TDAL DMD

Comedia Core

Table

Program Information Database (PIDB)

Event information

management (EIM)

TDAL DMX

Digital Storage Media

(DSM-CC)

XSERV

Stream Player

MSList

Setup

EventInfo

TerInstallSatInstallCabInstall

Timer &

Reminder

Teletext&

Subtitles

Web on TV&

HbbTV

MHEG Engine

TDAL AV

TDAL DISP

TDAL PTSM

TDAL FLA

TDAL GFX

Page 5: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia Core moduli: Setup

CHAL

TDAL DMD

Comedia Core

Table

Program Information Database (PIDB)

Event information

management (EIM)

TDAL DMX

Digital Storage Media

(DSM-CC)

XSERV

Stream Player

MSListEventInfo

TerInstallSatInstallCabInstall

Timer &

Reminder

Teletext&

Subtitles

Web on TV&

HbbTV

MHEG Engine

TDAL AV

TDAL DISP

TDAL PTSM

TDAL FLA

TDAL GFX

Setup

Page 6: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia core moduli: Setup

Osnovna uloga Setup modula je da omogući

čuvanje korisničkih podešavanja DTV prijemnika

(preferences), njihovo učitavanje i odgovarajuću

primenu.

Modul obuhvata skup Set/Get funkcija za

postavljanje/učitavanje odgovarajućeg parametra

konfiguracije, kao i njegovu primenu (pri Set pozivu).

Modul omogućava registraciju povratnih funkcija

(callback) posredstvom kojih se klijent obaveštava o

promeni nekog od parametara.

Setup modul omogućava podešavanja parametara

za audio, video, lokalizaciju, kontrolu pristupa

funkcijama, izgled UI, i sl.

Page 7: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia Core moduli: Table

CHAL

TDAL DMD

Comedia Core

Program Information Database (PIDB)

Event information

management (EIM)

TDAL DMX

Digital Storage Media

(DSM-CC)

XSERV

Stream Player

MSListEventInfo

TerInstallSatInstallCabInstall

Timer &

Reminder

Teletext&

Subtitles

Web on TV&

HbbTV

MHEG Engine

TDAL AV

TDAL DISP

TDAL PTSM

TDAL FLA

TDAL GFX

Setup

Table

Page 8: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia core moduli: Table

Osnovna uloga Table modula je da obezbedi ostalim

Comedia modulima da pristupaju tačno određenim SI i

PSI sekcijama bez potrebe za direktnim pristupom

demultiplekseru.

Modul omogućava kreiranje zahteva (request) za

dobavljanjem jedne kompletne tabele, ili jedne njene

sekcije. Aktivnost po zahtevu se može pokrenuti i

zaustaviti.

Table modul omogućava pristup sledećim tabelama:

DVB tabele: NIT, SDT, TDT, TOT, EIT

ATSC tabele: MGT, VCT, STT, RRT, EIT, ETT

PSI tabele: PAT, PMT

SCTE tabele: EAS

MHP tabele: AIT

Page 9: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Table modul – Registracija klijenta

Da bi započeo rad sa Table modulom, klijent se

najpre mora registrovati. Ovo se postiže korišćenjem poziva TABLE_ClientRegister.

Nakon registracije, klijentu se dodeljuje identifikator

koji koristi za dalje korišćenje Table modula:

kreiranje i brisanje zahteva, pokretanje i

zaustavljanje isporuke tabela.

Klijent ne može izvršiti funkcije Table modula bez

navođenja identifikatora.

Nakon završetka rada sa Table modulom, klijent se

odjavljuje korišćenjem poziva TABLE_ClientUnregister.

Page 10: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Table modul - Realizacija

Table Modul

DMX 0 task

Klijentski Task

DMX 1 task

DMX n task

Task zahteva

Task zahteva

Task zahteva

Timer task

Tdal DMX

DMX Callback

Privremeno kreiran task namenjen registrovanom klijentu, odnosno

zahtevu koji je uspostavljen.

Trajno kreirani task do poziva Table_Terminate

EIT PF Filtering Task

EIT SC Filtering Task

Page 11: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Table modul – Parser funkcije

Table modul omogućava parsiranje specifičnih

sekcija, odnosno njihovo spremanje u pripremljene

strukture sa definisanim poljima, za jednostavan

pristup. Ovo je omogućeno za sledeće tabele:

DVB tabele: NIT, SDT

ATSC tabele: MGT, VCT, EIT

MPEG tabele: PAT, PMT

Za ostale tabele bafer se mora parsirati na višem

nivou.

Postoji veliki broj API funkcija za parsiranje zaglavlja

i velikog broja deskriptora navedenih tabela.

Obezbeđeni su tipovi u obliku struktura za sva

podržana zaglavlja i deskriptore.

Page 12: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia Core moduli: PIDB

CHAL

TDAL DMD

Comedia Core

Table

Event information

management (EIM)

TDAL DMX

Digital Storage Media

(DSM-CC)

XSERV

Stream Player

MSListEventInfo

TerInstallSatInstallCabInstall

Timer &

Reminder

Teletext&

Subtitles

Web on TV&

HbbTV

MHEG Engine

TDAL AV

TDAL DISP

TDAL PTSM

TDAL FLA

TDAL GFX

Setup

Program Information Database (PIDB)

Page 13: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia core moduli: PIDB

Osnovna funkcionalnost PIDB (Program Information

Database) modula je da obezbedi spregu između

aplikacije i demultipleksera u cilju kreiranja baze

dostupnih servisa i svih informacija u vezi sa tim

servisima.

U svrhu kreiranja baze servisa PIDB je jedan od klijenata

Table modula, gde registruje filter za prijem MPEG PSI i

DVB SI sekcija. PIDB modul se obaveštava o pristiglim

sekcijama korišćenjem povratne funkcije (callback).

Klijenti se takođe prijavljuju kod PIDB modula za

obaveštenja o promenama u bazi.

Page 14: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

PIDB modul – Mehanizam rada

Kreiranje baze servisa je složen postupak.

Za dodavanje servisa u bazu konsultuje se:

Minimalan skup uslova za dodavanje servisa zavisno od

tipa servisa (TS Satellite, TS Terrestrial, TSCable), koji

obuhvata, npr:

definisanje potrebnih tabela (npr. SDT i NIT),

definisanje potrebnih deskriptora tabela,

dvostruke provere (crosscheck) postojanja servisa npr. i u

NIT i u SDT, odnosno postojanja SDT navedenog u PAT,

izbora servisa sa boljim kvalitetom signala, ukoliko je isti

servis pronađen više puta.

Mehanizam pozicioniranja servisa (redni broj) koji se može

uskladiti sa LCN (Logical Channel Descriptor) navedenog

tipa (npr. po DBOOK, EACEM ili NORDIG standardima).

Page 15: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

PIDB modul – Arhitektura (1/3)

PIDB Builder

Table used DVB : NIT + SDT (+ PAT)Table used ATSC : VCT (+ PAT)

PIDB ATSC MGT

ETT ServiceTable monitored ATSC : MGT / ETT_0

PIDB Miscellaneous

TABLE PARSER API

Table API

TDAL DMX TKEL OS

ST PTI 3 / 4

PIDB Information

PIDB Cursor

PI_GetServiceCursor(-)

PI_ReleaseServiceCursor(-)

PI_SeekHeadServiceCursor(-)

PI_SeekNextServiceCursor(-)

PI_SeekPreviousServiceCursor(-)

PI_SeekLastServiceCursor(-)

PI_SeekServiceCursorByServiceIndexInDB(-)

PI_SeekServiceCursorByAccessKey(-)

PI_GetMultiplexInfo(-)

PI_GetMultiplexTable(-)

PI_ReleaseMultiplexTable(-)

PI_GetServiceInfoByCursor(-)

PI_GetServiceInfoByAccessKey(-)

PI_GetServiceNumber(-)

PI_GetMultiplexNumber(-)

PI_GetServiceMapping(-)

PI_GetMultiplexMapping(-)

PI_GetGeneralServMapDescTab(-)

PI_ReleaseGeneralServMapDescTab(-)

PI_GetESServiceMapDescTab(-)

PI_ReleaseESServiceMapDescTab(-)

TABLE Module API (see TABLE Spec)

OS20 / OS21

PI_DbaseInit(-)

PI_DbaseTerminate(-)

PI_CreateInstanceClient(-)

PI_DeleteInstanceClient(-)

PI_DeleteDBase(-)

PI_EnterStandByState(-)

PI_GetRevision(-)

PI_DisplayPidbDemuxCursorCtrlScreen(-)

PI_DisplayMultiplexListDatabase(-)

PI_DisplayServiceListDatabase(-)

PI_DisplayElementaryStreamDatabase(-)

PI_DisplayDescriptorContent(-)

PI_InstallServiceList(-)

PI_InstallSpecificServiceList(-)

PI_AbortInstallServiceList(-)

PI_AddMultiplexRecord(-)

PI_DeleteMultiplexRecord(-)

PI_AddServiceRecord(-)

PI_DeleteServiceRecord(-)

PI_SignalQualityInitialisation(-)

PI_AddPrivateServiceData(-)

PI_GetPrivateServiceDataSize(-)

PI_GetPrivateServiceDataArray(-)

PI_DeletePrivateServiceData(-)

(*tPI_BuilderCallbackConversion(-)

(*tPI_NotifyServiceList(-))

(*tPI_NotifyTsInfoAvailable(-))

(*tPI_NotifyServiceMapping(-))

PI_EnableTsInformationAcquisition(-)

PI_DisableTsInformationAcquisition(-)

PI_EnableMappingServiceAcquisition(-)

PI_DisableMappingServiceAcquisition(-)

PI_RegisterMappingCallBackFunc(-)

PI_UnregisterMappingCallBackFunc(-)

PI_RegisterAtscMgtCbFunc(-)

PI_UnregisterAtscMgtCbFunc(-)

PI_RegisterAtscEttServiceCbFunc(-)

PI_UnregisterAtscEttServiceCbFunc(-)

PI_GetAtscMgtPidDatabase(-)

PI_GetAtscEttServiceInformation(-)

PI_ReleaseAtscEttServInformation(-)

(*tPI_NotifyAtscMgtAvailability(-))

(*tPI_NotifyAtscEttServiceAvailability(-))

Service List

Database

Multiplex List

DatabaseElementary Stream

Database

From VCT(only in case of ATSC)

Elementary Stream

Database

From PAT/PMT

Red : Need of PIDB Instance Client Handle

Bold : Need of Table Demux identification

x nb registred instance client

PIDB Access Key

PI_ResetAccessKey(-)

PI_CopyAccessKey(-)

PI_AccessKeyDiffer(-)

PI_HaskAccessKey(-)

PI_SerializeAccessKey(-)

PI_DeserializeAccessKey(-)

PI_AccessKeyToString(-)

PI_StringToAccessKey(-)

PI_GetMultiplexAccessKey(-)

PI_AccessKeySetPrivateValues(-)

PI_AccessKeyGetPrivateValue(-)

PI_DumpAccessKey(-)

(*tPI_ConvPrivMultiDataIntoPrimaryKey(-))

(*tPI_ComparePrivPrimaryKey(-))

PIDB ParserPIDB

ParserPIDB AK

DAE/ATAA/ANTW/...

PIDB Zapper

Table used DVB : PAT + PMTTable used ATSC : PAT + PMT + VCT

TABLE PARSER Module API (see TABLE_PARSER Spec)

MGT Pid Database (only in case of ATSC)

PIDB BACKUP & RESTORE

PI_LockPidbDatabase(-)

PI_UnlockPidbDatabase(-)

PI_GetSizeForDatabaseBackup(-)

PI_PidbDatabaseBackup(-)

PI_PidbDatabaseRestore(-)

PInfoDBase API

PIDB API

PIDB Temporal

MonitoringTable used DVB : SDTTable used ATSC : VCT

PIDB PermanentMonitoring

Table used DVB : NIT + SDT Table used ATSC : VCT

PIDB Toolbox

PI_EnablePermanentMonitoring(-)

PI_DisablePermanentMonitoring(-)

PI_NormalizeDatabase(-)

PI_ChangeStateFlagOfMultiplex(-)

PI_ChangeStateFlagOfService(-)

PI_EnableTemporalMonitoring(-)

PI_DisableTemporalMonitoring(-)

PI_RegisterMonitoringFuncForCursor(-)

PI_UnregisterMonitoringFuncForCursor(-)

PI_RemoveServicesAndMultiplex_ByTypes(-)

(*tPI_NotifyChangeForCursor(-)

(*tPI_NotifyTsMonitoringAvailable(-))

(*tPI_PermanentMonitoringCallback(-))

TBOX Module

used by all the PIDB API

Page 16: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

PIDB modul – Arhitektura (2/3)

Baza multipleksa i Baza servisa su baze podataka o multipleksima i

servisima koje PIDB modul održava.

PIDB Builder omogućava klijentima da pokrenu postupak kreiranja

liste multipleksa i liste servisa i da manipuliše servisima i

multipleksima u bazi (CRUD operacije).

PIDB Zapper obezbeđuje podršku klijentima koji žele da

implementiraju Zapping funkcionalnost. Klijent pokreće akviziciju

PAT i PMT i biva obavešten kada se dobave potrebne informacije o

mapiranju ES kako bi klijent mogao da pokrene dekodovanje servisa

kroz Stream Player.

PIDB Temporal Monitoring omogućava klijentima da se pretplate na

praćenje promene vrednosti određenih informacija o zadatom

servisu.

PIDB Permanent Monitoring omogućava obaveštavanje o bilo kojoj

izmeni u bazi servisa i multipleksa, bilo da je ona generisana od

strane nekog klijenta, ili od strane mreže.

Page 17: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

PIDB modul – Arhitektura (3/3)

PIDB Cursor omogućava kretanje (traversing) kroz bazu servisa (po

principu kretanja kroz listu), kao i dobavljanje servisa po indeksu ili

po pristupnom ključu.

PIDB Information omogućava klijentima da čitaju detaljne

informacije o multipleksima, servisima i mapiranju servisa na

elementarne tokove (ES).

PIDB AccessKey je skup alata za manipulaciju pristupnim

ključevima, koji koriste različiti klijenti pri korišćenju PIDB modula i

baze za pristup određenim servisima / multipleksima.

PIDB Backup and Restore omogućava čuvanje (backup) i učitavanje

(restore) kompletne baze servisa i multipleksa u jednom pozivu.

PIDB Toolbox je skup alata za pojednostavljeno manipulisanje

bazom (npr. funkcije za uklanjanje svih servisa određenog tipa,

dobavljanje svih servisa za određeni multipleks i sl).

PIDB Miscellaneous omogućava operacije najvišeg nivoa nad PIDB

modulom (inicijalizaciju i završetak rada, brisanje baze, kontrolne

ispise sadržaja baze po zadatom kriterijumu i sl).

Page 18: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia Core moduli: MSList

CHAL

TDAL DMD

Comedia Core

Table

Program Information Database (PIDB)

Event information

management (EIM)

TDAL DMX

Digital Storage Media

(DSM-CC)

XSERV

Stream Player

EventInfo

TerInstallSatInstallCabInstall

Timer &

Reminder

Teletext&

Subtitles

Web on TV&

HbbTV

MHEG Engine

TDAL AV

TDAL DISP

TDAL PTSM

TDAL FLA

TDAL GFX

Setup

MSList

Page 19: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia core moduli: MSList

Osnovna uloga MSList (Master Service List) modula je da

obezbedi pristup listi svih instaliranih servisa (programa)

uređenoj po broju programa.

Svaki servis sadrži sve potrebne atribute (naziv, broj kanala) i tip

(digitalni TV program, analogni TV program, radio servis, data

servis).

MSList modul omogućava podešavanje liste servisa i dobijanje

obaveštenja o promenama u listi. Numeracija servisa se obavlja

u skladu sa tipom sistema emitovanja (satelitski, kablovski,

zemaljski) i korisničkim podešavanjima.

Omogućeno je pretraživanje servisa korišćenjem kursora, čime

se omogućava enumeracija i iterativan prolazak kroz listu koja

zadovoljava zadati kriterijum (npr. lista radio programa).

Modul takođe omogućava izmenu naziva servisa.

Za pristup servisima i operacije nad njima MSList koristi PIDB

Page 20: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

MSList modul – Pristup servisima

Klijent cmMSList

cmMSList_AllocatePersistentCursor() Klijent dobija kursor

za dodate radio

servise.

cmMSList_GetSelectedService()

Klijent ponavlja postupak dok se ne izlistaju svi servisi …

Klijent dobavlja

indeks prvog

dodatog servisa.

cmMSList_GetServiceDescription() Klijent dobavlja

opis dobijenog

servisa.

cmMSList_ReleasePersistentCursor() Klijent dealocira

kursor.

cmMSList_SelectedNextService() Klijent dobavlja

indeks sledećeg

dodatog servisa.

cmMSList_GetServiceDescription() Klijent dobavlja

opis odabranog

servisa.

cmMSList_SelectedNextService() Klijent dobija “no

next” indeks.

Page 21: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia Core moduli: EIM

CHAL

TDAL DMD

Comedia Core

Table

Program Information Database (PIDB)

TDAL DMX

Digital Storage Media

(DSM-CC)

XSERV

Stream Player

MSListEventInfo

TerInstallSatInstallCabInstall

Timer &

Reminder

Teletext&

Subtitles

Web on TV&

HbbTV

MHEG Engine

TDAL AV

TDAL DISP

TDAL PTSM

TDAL FLA

TDAL GFX

Setup

Event information

management (EIM)

Page 22: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia core moduli: EIM

Osnovna uloga Event Information Manager (EIM) modula je

da klijentu obezbedi mogućnost da prima detaljne informacije

o događajima (emisijama) koji se emituju na određenim

servisima.

EIM modul koristi Table modul da pristupi EIT sekcijama koje

nose informacije o događajima i da parsira njihov sadržaj.

U slučaju IP servisa, EIM modul se oslanja na IP Service

Manager pozive da dobavi informacije o događajima na

određenom IP servisu.

EIM modul omogućava dobavljanje informacija o prethodno

snimljenom sadržaju koji se gleda, korišćenjem API-ja PVR

modula.

EIM modul obavlja keširanje podataka za zadati maksimalni

vremenski period.

Page 23: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

EIM modul – Korišćenje Window zahteva

Jedinstven način za dobavljanje događaja od strane EIM

modula je korišćenjem Window zahteva.

U okviru kreiranja zahteva (EIM_WindowRequestCreate)

zadaju se parametri:

Režim zahteva (EIT present/following, vreme početka emitovanja je

unutar zadatog intervala, emisija je potpuno ili delimično unutar

zadatog intervala ili za emisije koje se potpuno ili delimično emituju

u intervalu sa zadatim trajanjem, računato od ponoći)

Lista servisa za koje treba dobaviti događaje

Vremenski interval za koji se dobavljaju događaji, sa početnim

vremenom intervala i trajanjem intervala.

Klijent dobija EVENTS_READY notifikaciju povratnom funkcijom.

Klijent može da preuzme listu događaja korišćenjem funkcije EIM_WindowEventGet.

Page 24: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia Core moduli: Event Info

CHAL

TDAL DMD

Comedia Core

Table

Program Information Database (PIDB)

Event information

management (EIM)

TDAL DMX

Digital Storage Media

(DSM-CC)

XSERV

Stream Player

MSListTerInstallSatInstallCabInstall

Timer &

Reminder

Teletext&

Subtitles

Web on TV&

HbbTV

MHEG Engine

TDAL AV

TDAL DISP

TDAL PTSM

TDAL FLA

TDAL GFX

Setup

EventInfo

Page 25: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia Core moduli: Event Info

Event Info modul obezbeđuje javne mehanizme

dobavljanja informacija o događajima od strane

aplikacija.

Događaji obuhvataju:

Trenutno gledanu / sledeću emisiju

Emisije zakazane u određeno vreme

Emisije se u suštini razlikuju po tipu (digitalni TV servis,

radio servis, data servis) i žanru (vesti, film, sport i sl).

Svaki događaj je predstavljen početnim vremenom,

trajanjem, opisom (kratkim i proširenim), ocenom,

sadržajem itd.

Event Info modul enkapsulira funkcionalnosti EIM

modula

Page 26: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Event Info modul – Pristup događajima

Klijent cmEvtInfo

cmEvtInfo_CollectPresentFollowingEvents() Klijent počinje sa

prikupljanjem

događaja.

cmEvtInfo_NotifyFct_t() Klijent je obavešten

o napretku operacije

prikupljanja.

cmEvtInfo_GetEventList() Klijent dobavlja

listu već pristiglih

događaja.

cmEvtInfo_ReleaseEventList() Klijent oslobađa

listu događaja

cmEvtInfo_ReleaseCollectedEvents() Klijent prekida

prijem događaja.

cmEvtInfo_GetEventInformationData() Klijent dobavlja

informacije o prvom

događaju

cmEvtInfo_GetEventInformationData() Klijent dobavlja

informacije o

drugom događaju

Page 27: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia Core moduli: Timer & Reminder

CHAL

TDAL DMD

Comedia Core

Table

Program Information Database (PIDB)

Event information

management (EIM)

TDAL DMX

Digital Storage Media

(DSM-CC)

XSERV

Stream Player

MSListTerInstallSatInstallCabInstall

Teletext&

Subtitles

Web on TV&

HbbTV

MHEG Engine

TDAL AV

TDAL DISP

TDAL PTSM

TDAL FLA

TDAL GFX

Setup

EventInfo

Timer &

Reminder

Page 28: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia Core moduli: Timer & Reminder

Timer & Reminder modul (interni naziv Comedia Extended

Program Event Library, odnosno XPEL), omogućava kreiranje i

rukovanje vremenskim okidačima i podsetnicima.

Vremenski okidači (Timers) su čvrsto vezani za funkcionalnost

EIM modula. Moguće je podesiti okidač da počne snimanje

sadržaja određenog servisa na VCR target u trenutku kada EIT

present događaj postane jednak događaju zadatom u okidaču.

Dakle, Timeri nisu vođeni sistemskim vremenom, već

događajima sa EIM modula.

Podsetnik je obaveštenje klijentu kada se promeni stanje

vremenskog okidača. Klijent zadaje povratnu funkciju pri

registraciji kod XPEL modula.

XPEL modul obezbeđuje još i:

Otkrivanje okidača koji nisu uspešno izvršeni.

Otkrivanje okidača u konfliktu (npr. više istovremenih zakazanih

snimanja) i rešavanje konflikta.

Page 29: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia Core moduli: XSERV

CHAL

TDAL DMD

Comedia Core

Table

Program Information Database (PIDB)

Event information

management (EIM)

TDAL DMX

Digital Storage Media

(DSM-CC)

Stream Player

MSListEventInfo

TerInstallSatInstallCabInstall

Timer &

Reminder

Teletext&

Subtitles

Web on TV&

HbbTV

MHEG Engine

TDAL AV

TDAL DISP

TDAL PTSM

TDAL FLA

TDAL GFX

Setup

XSERV

Page 30: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia core moduli: XSERV

Osnovna uloga XSERV modula je da omogući

reprodukciju servisa DTV prijemnika (video, audio,

teletekst, subtitle i sl).

XSERV modul je u čvrstoj vezi sa PIDB modulom, od

koga dobavlja sve podatke o trenutno dostupnim

servisima. PIDB modulu se iz aplikacije može pristupati

posredstvom XSERV modula.

XSERV modul upravlja TDAL blokovima (TDAL DMD,

TDAL TS, TDAL DISP, TDAL AV, TDAL OUTPUT) da

omogući dekoderima da dekoduju odgovarajući PES i

prikaže rezultat na ekranu / reprodukuje zvuk.

Sa stanovišta korišćenja, upravljanje reprodukcijom

servisa obavlja se korišćenjem PIDB pristupnog ključa.

Page 31: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

XSERV modul mehanizmi rada (1/2)

Kreira se jedna instanca XSERV modula(XSERV_CreateInstance). Identifikator instance

se prosleđuje svim narednim XSERV pozivima.

Instanca se može kreirati u tri režima:

Režim za prikaz / reprodukciju

Režim za snimanje (ako je podržana PVR

funkcionalnost)

Režim za baferovanje (za podršku timeshift opciji)

Nakon inicijalizacije modula, pristupa se kursoru

za enumeraciju servisa iz PIDB baze (XSERV_InitPIDBAccess, XSERV_GetPIDBAccess).

Page 32: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

XSERV modul mehanizmi rada (2/2)

Korišćenjem PIDB kursora, pronalazi se željeni servis za

reprodukciju.

Obavlja se povezivanje na pronađeni servis na osnovu

pristupnog ključa (access key) korišćenjem poziva XSERV_ConnectSource.

Reprodukcija / prikaz se započinje pozivom XSERV_Start, a zaustavlja pozivom XSERV_Stop.

XSERV modul omogućava i sledeće funkcionalnosti:

Aktiviranje timeshift funkcionalnosti, posredstvom dve XSERV

instance (jedna za prikaz a druga za baferovanje) –XSERV_StartTimeshift

Privremeno zaustavljanje reprodukcije (XSERV_TogglePause)

Izmena brzine, odnosno trick režima (XSERV_SetSpeed)

Izmena pozicije u trenutno reprodukovanom mediju(XSERV_SetPosition)

Page 33: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia Core moduli: Stream Player

CHAL

TDAL DMD

Comedia Core

Table

Program Information Database (PIDB)

Event information

management (EIM)

TDAL DMX

Digital Storage Media

(DSM-CC)

MSListEventInfo

TerInstallSatInstallCabInstall

Timer &

Reminder

Teletext&

Subtitles

Web on TV&

HbbTV

MHEG Engine

TDAL AV

TDAL DISP

TDAL PTSM

TDAL FLA

TDAL GFX

Setup

XSERV

Stream Player

Page 34: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia core moduli: Stream Player

Stream Player modul enkapsulira XSERV za i

omogućava upravljanje reprodukcijom u okviru

Comedia MW.

Stream Player omogućava dobavljanje informacija o

komponentama koje se reprodukuju, na

jednostavniji i aplikaciji prilagođeniji način.

Ulazni tok (stream) koji se reprodukuje može biti

“živi” emitovani tok ili prethodno snimljeni tok.

Audio/Video izlaz može da bude osnovni izlaz

(ekran ili izlazna sprega) ili uređaj za snimanje.

Page 35: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Stream Player modul - Funkcionalnosti

Stream Player modul omogućava sledeće konkretne

funkcionalnosti:

Pokretanje i zaustavljanje reprodukcije ulaznih tokova

Pokretanje i zaustavljanje reprodukcije pojedinih

komponenti ulaznih tokova (višejezični audio, video,

teletekst, prevod)

Izbor komponenti u toku koje će biti uključene u

reprodukciju

Zamrzavanje slike

Izmena brzine reprodukcije (trick mode)

Promena formata (skaliranje) i pozicije izlazne slike.

Pozadinska boja izlazne slike

Upravljanje A/V izlazima

Page 36: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Stream Player modul - Događaji

Stream Player omogućava registrovanje za prijem događaja

koji se tiču izmene stanja reprodukcije, detekcije

komponenti u toku, promene SDT/PMT informacija i sl.

Klijent cmSPlayer

cmSPlayer_SubscribeEvent() Klijent se prijavljuje

za prijem događaja.

cmSPlayer_UnsubscribeEvent()

Klijent se odjavljuje.

Page 37: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Stream Player modul - Playback Klijent cmSPlayer

cmSPlayer_Start() Klijent započinje

reprodukciju toka

notif(eCM_SPLAYER_STATE, eCM_SPLAYER_STARTED)

cmSPlayer_StartComponents(…AUDIO|…VIDEO) Klijent počinje

reprodukciju audio i

video komponente

notif(eCM_SPLAYER_STATE, eCM_SPLAYER_STARTING)

Obaveštenje o početku

reprodukcije

cmSPlayer_StartComponents(…SUBTILTLES) Klijent aktivira

prikaz tekstova

prevoda.

cmSPlayer_GetStreamComponents()

Klijent dobija sve

moguće komponente

toka notif(eCM_SPLAYER_STREAM_COMPONENTS, …)

Page 38: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia Core moduli: TerInstall

CHAL

TDAL DMD

Comedia Core

Table

Program Information Database (PIDB)

Event information

management (EIM)

TDAL DMX

Digital Storage Media

(DSM-CC)

MSListEventInfo

Timer &

Reminder

Teletext&

Subtitles

Web on TV&

HbbTV

MHEG Engine

TDAL AV

TDAL DISP

TDAL PTSM

TDAL FLA

TDAL GFX

Setup

XSERV

Stream Player

TerInstallSatInstallCabInstall

Page 39: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia Core moduli: TerInstall

Osnovna uloga TerInstall modula je da omogući

instalaciju kanala zemaljskih standarda digitalnog TV

emitovanja (DVB-T, DVB-T2).

TerInstall modul je čvrsto povezan sa PIDB modulom, i u

sprezi sa njim obavlja popunjavanje baze servisa. U

nadležnosti samog TerInstall modula je pozicioniranje na

određenu frekvenciju sa zadatim modulacionim

parametrima i isporuka prenosnog toka. Za filtriranje

informacija iz SI sekcija i popunjavanje baze TerInstall

koristi PIDB.

Dodatno, TerInstall omogućava:

Upravljanje spiskom transpondera i skeniranje po listi

transpondera

Pozicioniranje na zadati testni signal

Page 40: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Arhitektura Comedia MW - MAL

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

Page 41: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

Comedia Middleware Abstraction Layer

Uloge MAL sprežnog sloja su:

Enkapsulacija svih funkcionalnosti srednjeg sloja u jedan API

Omogućavanje aplikacijama da koriste funkcionalnosti srednjeg

sloja bez poznavanja unutrašnjih detalja realizacije

Omogućavanje jednostavne izmene srednjeg sloja u slučaju

različite realizacije srednjeg sloja, bez potreba za izmenama u

TV aplikacijama

MAL je “tanak” sloj iznad već opisanih Comedia blokova

API je prilagođeniji konkretnim zahtevima korisničkih

aplikacija i slučajevima korišćenja

MAL kao parametre koristi proste tipove, kako bi se

omogućila laka integracija sa slojevima višeg nivoa,

realizovanim kao Java ili Javascript/HTML aplikacije.

Page 42: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

MAL API – Grupisanje funkcionalnosti (1/2)

MAL API je podeljen u grupe funkcija:

MAL Init – Inicijalizacija i završetak rada sa MAL

MAL Tuner – Upravljanje mrežnim sprežnim modulom

MAL Route – Podešavanje putanja

MAL Audio/Video – Audio/Video funkcionalnosti

MAL Picture – Upravljanje izlaznom obradom slike

MAL Sound – Upravljanje režimom izlaznog zvuka i

jačinom zvuka

MAL Input/Output – Upravljanje U/I spregama

MAL Graphics – Razmena grafičkih bafera

MAL Stream Component – Upravljanje prikazom

komponenti prenosnog toka (npr. teletekst, MHEG)

MAL Service Zapper – Upravljanje listom servisa

Page 43: PROGRAMSKA - University of Novi Sad · 2020. 6. 28. · DMX Digital Storage Media (DSM-CC) XSERV Stream Player MSList Event Info TerInstall SatInstall CabInstall Timer & Reminder

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

MAL API – Grupisanje funkcionalnosti (2/2)

MAL API je podeljen u grupe funkcija:

MAL EPG – Elektronski programski vodič

MAL PVR – Funkcionalnosti PVR

MAL Reminder – Funkcionalnosti podsetnika

MAL Parental Control – Upravljanje zaključavanjem od

strane roditelja

MAL Common Interface – DVB CI funkcionalnosti

MAL Software Update – Upravljanje verzijama SW i

ažuriranjem sotfvera

MAL System Manager – Upravljanje pripravnim režimom

(standby)

MAL User Settings – Konfiguracija DTV prijemnika