View
60
Download
0
Category
Preview:
Citation preview
UNIVERZITET U NOVOM SADU
FAKULTET TEHNIKIH NAUKA U NOVOM SADU
Nemanja Luki
Predlog proirenja Android operativnog sistema servisima digitalne televizije
DOKTORSKA DISERTACIJA
Mentor:
prof. dr Miodrag Temerinac
Novi Sad, 2014.
21000 , 6
, :
, :
, :
, :
, :
, : , . .
, : .
, :
, : /
, :
, :
, :
, : 2014.
, :
, : ; 6
, : (// ////)
8 / 181 a / 104 a / 29 / 73 e / 2
, :
, :
/ , : , , , , ,
, : ,
, :
, : . , . . . .
, : 29.05.2014.
, :
, : : , . .
: , . .
: ,
: , . .
, : , . .
UNIVERSITY OF NOVI SAD FACULTY OF TECHNICAL SCIENCES 21000 NOVI SAD, Trg Dositeja Obradovia 6
KEY WORDS DOCUMENTATION
Accession number, ANO:
Identification number, INO:
Document type, DT: Monographic publication
Type of record, TR: Textual printed material
Contents code, CC: Doctoral dissertation
Author, AU: Nemanja Luki
Mentor, MN: Miodrag Temerinac, PhD
Title, TI: One approach to the extension of Android operating system with digital TV services
Language of text, LT: Serbian
Language of abstract, LA: Serbian
Country of publication, CP: Republic of Serbia
Locality of publication, LP: Vojvodina
Publication year, PY: 2014.
Publisher, PB: Authors reprint
Publication place, PP: Novi Sad, Dositeja Obradovica sq. 6
Physical description, PD: (chapters/pages/ref./tables/pictures/graphs/appendixes)
8 chapters / 181 pages/ 104 references / 29 tables / 73 pictures / 2 appendixes
Scientific field, SF: Electrical Engineering
Scientific discipline, SD: Computer Engineering, Engineering of Computer Based Systems
Subject/Key words, S/KW: Android operating system, digital television, Java, digital television services, real-time embedded platforms
UC
Holding data, HD: The Library of Faculty of Technical Sciences, Novi Sad, Serbia
Note, N:
Abstract, AB: This PhD dissertation addresses the problem of integration of the digital TV services inside modern consumer electronic devices. The main focus of the dissertation is a development of systematic approach for extension of Android operating system with support for digital television. Combined with this, the dissertation describes solution in form of hardware platform with accompanying software that closely follows this approach and achieves real-time performance. Quality of proposed solution is benchmarked using metrics for measuring quality of object-oriented program code. The main contribution of the dissertation is unification of system software API for digital television on Android-based platforms. Proposed solution allows development of TV-centric software capable of real-time performance, and further native integration of data coming from DVB broadcast into Android ecosystem.
Accepted by the Scientific Board on, ASB: 29.05.2014.
Defended on, DE:
Defended Board, DB: President: dr Nikola Tesli, Professor
Member: dr Jovan orevi, Professor
Member: dr Itvan Papp, Assistant Professor Menthor's sign
Member: dr Milan Vidakovi, Associate Professor
Member, Mentor: dr Miodrag Temerinac, Professor
SAETAK
Saetak
Trenutno stanje potroake elektronike belei pojavu jedinstvenih digitalnih
servisa koji su korisniku raspoloivi kroz razliite ureaje, od televizijskih prijemnika
do mobilnih ureaja kao to su pametni telefoni ili tableti. Ta pojava je omoguena
kroz konvergenciju izmeu raunarskih mrea, mobilnih ureaja, ali i same digitalne
televizije. Ovu pojavu prati poveanje procesne moi ugraenih arhitektura koje danas
omoguuju razvoj modernih platformi sposobnih da izvre kompleksne aplikacije
pisane u programskim jezicima koji koriste paradigmu virtuelne maine. Osim ovog
trenda, primetno je da proizvoai TV ureaja sve vie koriste Android operativni
sistem, kao bazu za svoja reenja. Odabir ovog operativnog sistema proizvoaima
omoguuje da njihova reenja, osim standardnih TV servisa, prue korisniku i
napredne funkcije, kroz aplikacije koje se mogu preuzeti sa raspoloivog otvorenog
marketa i instalirati na krajnji TV ureaj. Mana upotrebe Android operativnog sistema
kao programske osnove za TV ureaje, se ogleda u nepostojanju sistemske programske
sprege za upravljanje podacima iz digitalnog televizijskog transportnog toka.
Cilj ove disertacije je da definie predlog za sistemsko proirenje Android
operativnog sistema servisima digitalne televizije i ponudi reenje koje omoguuje rad
u realnom vremenu. Kvalitet reenja je ocenjen odgovarajuim metrikama, preko
ocene kvaliteta implementirane Java objektno orijentisane sprege za TV servise.
Predloeno reenje omoguuje razvoj aplikacija optimizovanih za izvravanje na TV
ureajima i dalje sprezanje podataka TV servisa sa ostatkom Android ekosistema.
ABSTRACT
Abstract
Current trend in the consumer electronics market is the appearance of unique
digital services, which users can access through different kinds of available devices,
including TV sets, and mobile devices such as smart phones or tablets. This trend is
available due to convergence between computer networks, mobile devices and digital
television. Together with this, modern embedded architectures provide enough
processing power to execute complex applications written in programming languages
that use virtual machine paradigm. There is also noticeable increase in usage of
Android operating system amongst TV manufacturers. Utilization of this operating
system allows manufacturers to provide solutions, which beside standard TV services,
provide more advanced functions to users through downloadable applications from
available open market. The main flaw of Android operating system, as the base for
modern TV platforms, is that it doesnt contain system-level support for digital
television services.
The main goal of this dissertation is to develop a systematic approach for the
extension of Android operating system with support for digital television, and propose
real-time solution on existing hardware platform. Quality of proposed solution is
benchmarked using metrics for measuring quality of object-oriented program code and
compared with existing solutions on the market. Proposed solution allows development
of TV-centric software capable of real-time performance, and further native integration
of data coming from DVB broadcast into Android ecosystem.
ZAHVALNOST
eleo bih da se najiskrenije zahvalim mentoru prof. dr Miodragu Temerincu na strpljenju i motivaciji tokom doktorskih
studija, kao i iskrenoj podrci u nauno-istraivakom radu. Zahvalio bih se i svim lanovima komisije na ukazanoj panji, konstruktivnim komentarima i suvislim sugestijama.
Posebnu zahvalnost dugujem prof. dr Nikoli Tesliu za iskrenu podrku i inspiraciju prilikom istraivanja koje je rezultovalo ovom disertacijom.
SADRAJ
I
SADRAJ
POGLAVLJE 1.UVOD ................................................................................................ 1
POGLAVLJE 2.PREGLED RAZVOJA OBLASTI ISTRAIVANJA I
POSTAVKA CILJEVA ISTRAIVANJA ................................................................. 5
Postavka ciljeva istraivanja ....................................................................................... 16
POGLAVLJE 3.PREGLED RELEVANTNIH INFORMACIJA ........................... 17
Postojea industrijska reenja sa integrisanim digitalnim TV servisima bazirana na
Androidu ............................................................................................................................ 17
3.1.1 Google TV .................................................................................................................... 20
Pregled baze patenata ................................................................................................ 23
3.2.1 Patenti bazirani na Androidu ...................................................................................... 23
3.2.2 Drugi patenti od interesa ............................................................................................ 24
Nauna dostignua u oblasti integracije digitalnih TV servisa na ugraenim
platformama ...................................................................................................................... 27
3.3.1 JavaTV ......................................................................................................................... 28
3.3.2 Digitalni TV prijemnici bazirani na Android OS ........................................................... 28
POGLAVLJE 4.PREGLED MERA ZA OCENU KVALITETA PROGRAMSKE
SPREGE ZA DIGITALNE SERVISE .................................................................... 31
SADRAJ
II
Mere za ocenu kvaliteta objektno orijentisane programske sprege ............................ 32
4.1.1 Metrike na sistemskom nivou ...................................................................................... 32
4.1.2 Metrike na nivou sprege klasa ..................................................................................... 37
4.1.3 Metrike na nivou nasleivanja ..................................................................................... 38
4.1.4 Metrike na nivou klasa ................................................................................................. 41
4.1.5 Metrike na nivou metoda klasa ................................................................................... 44
Mera kompletnosti programske sprege za servise digitalne televizije ......................... 45
Mera kontrolabilnosti programske sprege za servise digitalne televizije ..................... 47
POGLAVLJE 5.PROIRENJE ANDROID OPERATIVNOG SISTEMA
SERVISIMA ZA DIGITALNU TELEVIZIJU ....................................................... 49
Neophodna proirenja jezgra Android operativnog sistema ........................................ 52
5.1.1 Proirenja MediaServer modula .................................................................................. 53
5.1.2 TVPlayer modul ............................................................................................................ 54
5.1.3 Jedinstveni TV identifikatori ........................................................................................ 55
5.1.4 Upravljanje resursima (RM) ......................................................................................... 56
Programska sprega za servise digitalne televizije bazirana na Java razvojnom
okruenju ........................................................................................................................... 60
5.2.1 Arhitektura predloene programske sprege (Android4TV) ......................................... 60
5.2.2 Prilagoenje IPC komunikacije sa stanovita nasleivanja kompleksnih objekata ...... 70
5.2.3 Pregled Android4TV programskih modula ................................................................... 74
Sprega servisa digitalne televizije sa ostatkom Android sistema ................................. 86
5.3.1 Pretraga TV baziranih podataka ................................................................................... 86
5.3.2 Predlog drugih potencijalnih tipova sprega ...............................................................103
Eksperimentalna potvrda predloenog programskog reenja .................................... 104
POGLAVLJE 6.REZULTATI MERENJA ........................................................... 109
Ocena kvaliteta reenja ............................................................................................. 109
6.1.1 Ocena kvaliteta reenja na sistemskom nivou ...........................................................111
6.1.2 Ocena kvaliteta reenja na nivou nasleivanja ..........................................................113
6.1.3 Ocena kvaliteta reenja na nivou klasa ......................................................................115
6.1.4 Ocena kvaliteta reenja na nivou metoda klasa ........................................................117
SADRAJ
III
Merenje performansi reenja ................................................................................... 118
Testiranje reenja od strane eksperata u oblasti potroake elektronike ................. 119
Poreenje sa drugim reenjima ................................................................................ 123
POGLAVLJE 7.ZAKLJUAK .............................................................................. 131
POGLAVLJE 8.LITERATURA ........................................................................... 135
DODATAK A:SERVISNE INFORMACIJE (SI) DVB STANDARDA ............ 143
Organizacija SI ...................................................................................................................... 144
Deskriptori ............................................................................................................................. 144
Prenos SI tabele ..................................................................................................................... 146
Informacije specifine za program ........................................................................................ 146
Informacije uslovnog pristupa .............................................................................................. 148
DVB Servisne informacije (SI) ................................................................................................ 149
Pronalaenje informacija o mrei .......................................................................................... 149
Kolekcije ................................................................................................................................. 152
Opisivanje servisa u DVB ........................................................................................................ 154
Opisivanje dogaaja............................................................................................................... 156
Odreivanje vremena ............................................................................................................ 159
Saetak ................................................................................................................................. 162
Optimizacija iskorienja protoka: Tabela opisa transportnog toka ...................................... 164
DODATAK B:PREGLED DTV JAVA PROGRAMSKE SPREGE ................... 167
Paket: com.android.server.................................................................................................... 169
Paket: android.dtv.audio ...................................................................................................... 170
Paket: android.dtv.ca ........................................................................................................... 170
Paket: android.dtv.epg ......................................................................................................... 171
SADRAJ
IV
Paket: android.dtv.io ............................................................................................................ 171
Paket: android.dtv.mheg....................................................................................................... 172
Paket: android.dtv.ondemand .............................................................................................. 172
Paket: android.dtv.parental .................................................................................................. 173
Paket: android.dtv.picture .................................................................................................... 173
Paket: android.dtv.pvr .......................................................................................................... 174
Paket: android.dtv.reminder ................................................................................................. 175
Paket: android.dtv.service .................................................................................................... 176
Paket: android.dtv.setup ....................................................................................................... 177
Paket: android.dtv.sound ...................................................................................................... 177
Paket: android.dtv.subtitle ................................................................................................... 178
Paket: android.dtv.swupdate ................................................................................................ 179
Paket: android.dtv.teletext ................................................................................................... 179
Paket: android.dtv.video ....................................................................................................... 180
Paket: android.os .................................................................................................................. 181
SPISAK SLIKA
V
SPISAK SLIKA
SLIKA 2.1 VREMENSKI PRIKAZ DOMINANTNIH PROIZVODA IZ OBLASTI POTROAKE ELEKTRONIKE
(IZVOR [PAPP]) ...................................................................................................................... 6
SLIKA 2.2 PORAST ZASTUPLJENOSTI HDTV UREAJA U DOMAINSTVIMA (PREUZETO IZ [NIELSEN]) ... 8
SLIKA 2.3 SLOJEVI PROGRAMSKE PODRKE ANDROID OPERATIVNOG SISTEMA SA AKCENTOM NA
PROGRAMSKI JEZIK U KOM SU PISANI .................................................................................... 11
SLIKA 2.4 RAZLIITI MEHANIZMI SINTEZE PROGRAMSKOG KODA: INTERPRETACIJA NA CILJNOJ
PLATFORMI (LEVO) I TIPINO PREVOENJE NA RAZVOJNOJ PLATFORMI (DESNO) ...................... 13
SLIKA 2.5 RAZLIITE IMPLEMENTACIJE JAVA VM U UGRAENIM SISTEMIMA ([NOERGAARD]) ............. 13
SLIKA 2.6 RASPODELA PROGRAMSKE PODRKE ZA DIGITALNE TV SERVISE U ANDROID OPERATIVNOM
SISTEMU ............................................................................................................................. 15
SLIKA 3.1 IPTV ANDROID BAZIRANI STB UREAJI: FORCETECH ANDROID HD STB [PRODANDRFT]
(LEVO) I PEERTV ETV SMARTTV STATION [PRODANDRPEERTV] (DESNO) ............................. 18
SLIKA 3.2 HIBRIDNI STB UREAJ BAZIRAN NA ANDROIDU: STRONG, SRTAN4 [PRODANDRSTRONG]19
SLIKA 3.3 GOOGLETV KORISNIKI SCENARIJI: STB POSREDNIK (LEVO) I INTEGRISANO REENJE
(DESNO) ............................................................................................................................. 21
SLIKA 3.4 GOOGLE TV INTEGRISANO REENJE: TV PRIJEMNIK - [PRODGTVSONY](LEVO) I STB
[PRODGTVSFR](DESNO) .................................................................................................... 22
SLIKA 3.5 GOOGLE TV UREAJI ZA PRIKAZ MULTIMEDIJALNOG SADRAJA (POSREDNIKI MEHANIZAM):
VISIO CO-STAR (LEVO) I NEOTV PRIME (DESNO) .................................................................. 22
SLIKA 4.1 PRIMER STABLA HIJERARHIJE NASLEIVANJA ................................................................. 39
SLIKA 4.2 ARHITEKTURA PROGRAMSKE PODRKE U SISTEMU BAZIRANOM NA ANDROID OS ............. 47
SLIKA 5.1 ANALIZA RELEVANTNIH INFORMACIJA (PREUZETO IZ [PAPP]) ............................................ 50
SLIKA 5.2 FORMIRANJE ZAHTEVA I OGRANIENJA .......................................................................... 51
SLIKA 5.3 POZICIJA TVPLAYER KLIJENTA U MEDIASERVER PROCESU ............................................. 53
SPISAK SLIKA
VI
SLIKA 5.4 PRIMER RM ALOKACIJE SA TRI REGISTROVANA KLIJENTA I RESURSIMA KOJE KORISTE ....... 59
SLIKA 5.5 ANDROID4TV BLOK DIJAGRAM ....................................................................................... 61
SLIKA 5.6 SADRAJ ANDROID.OS PAKETA ...................................................................................... 65
SLIKA 5.7 DVOSMERNI MEHANIZAM JNI SLOJA ............................................................................... 68
SLIKA 5.8 ARHITEKTURA MODULA ZA PRIKAZ DVB EMITOVANOG SIGNALA ....................................... 75
SLIKA 5.9 MEHANIZAM PRIKAZA TELETEKST STRANICE ................................................................... 77
SLIKA 5.10 MEHANIZAM PRIKAZA STRANICE PREVODA .................................................................... 79
SLIKA 5.11 PUTANJA PODATAKA KOD EMITOVANJA SERVISA UIVO .................................................. 81
SLIKA 5.12 PRIKAZ PUTANJE PODATAKA PRILIKOM SNIMANJA SERVISA ............................................ 82
SLIKA 5.13 PRIKAZ PUTANJE PODATAKA PRILIKOM ISTOVREMENOG SNIMANJA I GLEDANJA SERVISE
UIVO ................................................................................................................................. 83
SLIKA 5.14 PRIKAZ PUTANJE PODATAKA KORIENE PRILIKOM REPRODUKCIJE SNIMLJENOG SADRAJA
.......................................................................................................................................... 84
SLIKA 5.15 PRIKAZ PUTANJE PODATAKA KORIENE PRILIKOM ODLOENOG GLEDANJA SERVISA ...... 85
SLIKA 5.16 ARHITEKTURA PROGRAMSKE PODRKE ZA PRETRAGU PODATAKA U ANDROID OS .......... 89
SLIKA 5.17 IZGLED SA APLIKACIJE NA GOOGLE TV PLATFORMI ...................................................... 90
SLIKA 5.18 KOMUNIKACIJA IZMEU DTV SP I DTV MW MODULA ................................................... 91
SLIKA 5.19 UML DIJAGRAMI KLASA KOJE INE PREDLOENI DTV JAVA API (ANDROID4TV) ............. 92
SLIKA 5.20 PROIRENE KLASE ZA PRETRAGU ................................................................................ 92
SLIKA 5.21 NEOPHODNA PROIRENJA ZA PRETRAGU EPG I PVR PODATAKA................................... 93
SLIKA 5.22 NEOPHODNA PROIRENJA ZA PRETRAGU TELETEKST PODATAKA ................................... 94
SLIKA 5.23 MEHANIZAM IZVRAVANJA AKCIJE PO ODABIRU DTV PODATAKA IZ SA APLIKACIJE .......... 94
SLIKA 5.24 PRIMER IZGLEDA SA APLIKACIJE KADA KORISTI REZULTATE PRETRAGE OD DTV SP
MODULA ............................................................................................................................ 100
SLIKA 5.25 PRIMER JEDNE IMPLEMENTACIJE NAPREDNOG TV PROGRAMSKOG VODIA KOJI KORISTI
MOGUNOSTI SOCIJALNIH MREA ....................................................................................... 104
SLIKA 5.26 DIJAGRAM ZASTUPLJENOSTI RAZLIITIH VERZIJA ANDROID OS .................................... 106
SLIKA 5.27 IZGLED KORISNIKE SPREGE REALIZOVANE TV APLIKACIJE ZA EKSPERIMENTALNU
POTVRDU PREDLOENOG REENJA ..................................................................................... 108
SLIKA 6.1 PROGRAMSKI MODULI OD INTERESA ZA ANALIZU PREDLOENE PROGRAMSKE PODRKE .. 110
SLIKA 6.2 REZULTATI DIT METRIKE ZA PREDLOENO PROGRAMSKO REENJE U ODNOSU NA
MAKSIMALNI PRAG PREDLOEN U LITERATURI ...................................................................... 113
SLIKA 6.3 REZULTATI SIX METRIKE ZA PREDLOENO PROGRAMSKO REENJE U ODNOSU NA
MAKSIMALNI PRAG PREDLOEN U LITERATURI ...................................................................... 114
SLIKA 6.4 REZULTATI WMC METRIKE ZA PREDLOENO PROGRAMSKO REENJE U ODNOSU NA
MAKSIMALNE PRAGOVE PREDLOENE U LITERATURI ............................................................. 115
SLIKA 6.5 REZULTATI LCOM* METRIKE ZA PREDLOENO PROGRAMSKO REENJE .......................... 116
SLIKA 6.6 REZULTATI RFC METRIKE ZA PREDLOENO PROGRAMSKO REENJE .............................. 117
SLIKA 6.7 IZGLED [ARMADA 1500] BAZIRANE PLATFORME ............................................................ 121
SPISAK SLIKA
VII
SLIKA 6.8 IZGLED MAKETE POKAZANE NA SAJMU .......................................................................... 122
SLIKA 6.9 IZGLED KORISNIKE SPREGE TV APLIKACIJE POKAZANE NA MAKETAMA NA CES/IBC
SAJMOVIMA ....................................................................................................................... 123
SLIKA 6.10 GRAFIKI PRIKAZ ODNOSA BROJA OPTIH I DTV-BAZIRANIH DOGAAJA POJEDINIH JAVA
BAZIRANIH TV PROGRAMSKIH SPREGA ................................................................................ 128
SLIKA 6.11 DIJAGRAM RASPODELE DOGAAJA SPRAM TIPA .......................................................... 129
SLIKA A.1 TIPINA SI TABELA (PREUZETO IZ [MORRIS]) ............................................................... 145
SLIKA A.2 KOLEKCIJE SU LOGIKE GRUPE SERVISA KOJE MOGU DA DOLAZE IZ RAZLIITIH
TRANSPORTNIH TOKOVA (PREUZETO IZ [MORRIS]) ............................................................... 152
SLIKA A.3 ODNOS IZMEU RAZLIITIH SI TABELA (PREUZETO IZ [MORRIS]).................................... 162
SLIKA B.1 SADRAJ PAKETA COM.ANDROID.SERVER .................................................................... 169
SLIKA B.2 SADRAJ PAKETA ANDROID.DTV.AUDIO ........................................................................ 170
SLIKA B.3 SADRAJ PAKETA ANDROID.DTV.CA ............................................................................. 170
SLIKA B.4 SADRAJ PAKETA ANDROID.DTV.EPG ........................................................................... 171
SLIKA B.5 SADRAJ PAKETA ANDROID.DTV.IO .............................................................................. 171
SLIKA B.6 SADRAJ PAKETA ANDROID.DTV.MHEG ........................................................................ 172
SLIKA B.7 SADRAJ PAKETA ANDROID.DTV.ONDEMAND ................................................................ 172
SLIKA B.8 SADRAJ PAKETA ANDROID.DTV.PARENTAL.................................................................. 173
SLIKA B.9 SADRAJ PAKETA ANDROID.DTV.PICTURE .................................................................... 173
SLIKA B.10 SADRAJ PAKETA ANDROID.DTV.PVR ......................................................................... 174
SLIKA B.11 SADRAJ PAKETA ANDROID.DTV.REMINDER ............................................................... 175
SLIKA B.12 SADRAJ PAKETA ANDROID.DTV.SERVICE .................................................................. 176
SLIKA B.13 SADRAJ PAKETA ANDROID.DTV.SETUP ..................................................................... 177
SLIKA B.14 SADRAJ PAKETA ANDROID.DTV.SOUND .................................................................... 177
SLIKA B.15 SADRAJ PAKETA ANDROID.DTV.SUBTITLE ................................................................. 178
SLIKA B.16 SADRAJ PAKETA ANDROID.DTV.SWUPDATE .............................................................. 179
SLIKA B.17 SADRAJ PAKETA ANDROID.DTV.TELETEXT ................................................................ 179
SLIKA B.18 SADRAJ PAKETA ANDROID.DTV.VIDEO ...................................................................... 180
SLIKA B.19 SADRAJ PAKETA ANDROID.OS ................................................................................. 181
SPISAK TABELA
IX
SPISAK TABELA
TABELA 2.1 GENERALIZOVANA EVOLUCIJA PROGRAMSKIH JEZIKA (PREUZETO IZ [NOERGAARD]) ....... 12
TABELA 4.1 PREGLED IZDVOJENIH SERVISA DIGITALNE TELEVIZIJE .................................................. 46
TABELA 5.1 KOLIINA PODATAKA POTREBA ZA PRENOS SVAKOG TIPA PODATAKA. MAKSIMALAN BROJ
PODATAKA U OKVIRU JEDNOG IPC PRENOSA. ...................................................................... 101
TABELA 5.2 UTICAJ DUINE KRITERIJUMA PRETRAGE (SC) NA BROJ PRONAENIH REZULTATA U
ODNOSU NA UKUPAN BROJ PODATAKA KOJE JE MOGUE PRETRAITI .................................... 102
TABELA 5.3 ZASTUPLJENOST RAZLIITIH VERZIJA ANDROID OS NA TRITU POTROAKE
ELEKTRONIKE .................................................................................................................... 106
TABELA 5.4 ODABRANE PLATFORME ZA POTREBE EKSPERIMENTALNE POTVRDE PREDLOENE
PROGRAMSKE PODRKE .................................................................................................... 107
TABELA 6.1 REZULTATI MERENJA MOOD SKUPOM METRIKA ........................................................ 111
TABELA 6.2 MAKSIMALNE DOZVOLJENE VREDNOSTI METRIKA MOOD SKUPA PREDLOENE U
LITERATURI ....................................................................................................................... 112
TABELA 6.3 KARAKTERISTIKE PREDLOENE PROGRAMSKE PODRKE ............................................ 117
TABELA 6.4 IZMERENE PERFORMANSE SISTEMA NA EKSPERIMENTALNOJ PLATFORMI [ARMADA 1500
PRO] ................................................................................................................................ 118
TABELA 6.5 PREGLED MOGUNOSTI POJEDINIH REENJA ............................................................. 125
TABELA 6.6 PREGLED PERFORMANSI POJEDINIH REENJA ........................................................... 126
TABELA 6.7 PREGLED BROJA DOGAAJA PROGRAMSKE SPREGE POJEDINIH JAVA BAZIRANIH TV
PROGRAMSKIH SPREGA ..................................................................................................... 127
TABELA A.1 FORMAT PAT TABELE (IZVOR [MPEG-2]) ................................................................. 147
TABELA A.2 FORMAT PMT TABELE (IZVOR [MPEG-2]) ................................................................ 148
TABELA A.3 FORMAT CAT TABELE (IZVOR [MPEG-2]) ................................................................ 149
TABELA A.4 SI STANDARDI ZA DVB SISTEME (PREUZETO IZ [MORRIS]) ......................................... 150
SPISAK SLIKA
X
TABELA A.5 FORMAT NIT TABELE (IZVOR [ETSI2]) ...................................................................... 151
TABELA A.6 FORMAT BAT TABELE (IZVOR [ETSI2]) ..................................................................... 153
TABELA A.7 FORMAT SDT TABELE (IZVOR [ETSI2]) .................................................................... 155
TABELA A.8 FORMAT EIT TABELE (IZVOR [ETSI2]) ...................................................................... 157
TABELA A.9 FORMAT RST TABELE (IZVOR [ETSI2]) .................................................................... 159
TABELA A.10 FORMAT TDT TABELE (IZVOR [ETSI2]) ................................................................... 160
TABELA A.11 FORMAT TOT TABELE (IZVOR [ETSI2])................................................................... 160
TABELA A.12 FORMAT DESKRIPTORA LOKALNE PREDSTAVE VREMENA (IZVOR [ETSI2]) ................. 161
TABELA A.13 MINIMALNI PERIOD PONAVLJANJA DVB SI TABELA (PREUZETO IZ [MORRIS]) ............. 163
TABELA A.14 MINIMALNI PERIOD PONAVLJANJA EIT PODTABELA (PREUZETO IZ [MORRIS]) ............. 164
TABELA A.15 FORMAT TSDT TABELE (IZVOR [MPEG-2]) ............................................................ 164
TABELA B.1 MODULI DTV JAVA PROGRAMSKE SPREGE (ANDROID4TV) ........................................ 168
SKRAENICE
XI
SKRAENICE
A/V Audio/Video
AI Artificial Intelligence
ASHMEM Anonymous Shared Memory
ATSC Advanced Television Systems Committee
BCD Binary-Coded Decimal
CAM Conditional Access Module
CES Consumer Electronics Show
CI/CI+ Common Interface
CPU Central Processor Unit
CVBS Composite Video (Color, Video, Blanking, and Sync)
DLNA Digital Living Network Alliance
DVB Digital Video Broadcast
DVD Digital Video Disc
DP Dynamic Programming
EIT Event Information Tables
ES Elementary Stream
ETSI European Telecommunications Standard Institute
GPU Graphics Processing Unit
GUI Graphical User Interface
HAL Hardware Abstraction Layer
SKRAENICE
XII
HbbTV Hybrid Broadcast Broadband TV
HDMI High-Definition Multimedia Interface
HW Hardware
IBC International Broadcasting Convention
IC Integrated Circuit
IP Internet Protocol
IPC Inter-Process Communication
IPTV Internet Protocol TeleVision
JIT Just-In-Time
JNI Java Native Interface
MOOD Metrics for Object Oriented Design
MPEG Moving Picture Experts Group
TS Transpor Stream
TV Television
TVC TV-centric applications
TV MW TV Middleware
OO Object-Oriented
OS Operating System
PES Packetized Elementary Stream
PID Process Identifier
PiP Picture in Picture
PSI Program-Specific Information
PVR Personal Video Recorder
RGB Red-Green-Blue color space (synonym for VGA video interface)
ROM Read-Only Memory
SDK Software Development Kit
SoC System on Chip
STB Set-Top Box
S-Video Separate Video
TS Transport Stream
URI Unified Resource Identifier
UTC Coordinated Universal Time/Universel Coordonn
SKRAENICE
XIII
USB Universal Serial Bus
VM Virtual Machine
VoIP Voice over IP
ZIP Zone Improvement Plan
POGLAVLJE 1 - UVOD
1
POGLAVLJE 1. UVOD
Polje primenjene elektronike je danas obeleeno ponudom jedinstvenih digitalnih
servisa, koji su krajnjem korisniku raspoloivi na razliitim ureajima potroake
elektronike, od televizijskih prijemnika do mobilnih telefona. To je omogueno kroz
konvergenciju izmeu raunarskih mrea (Internet), mobilnih ureaja, kao i digitalne
televizije.
U isto vreme, sa tehnolokog aspekta, potroaka elektronika nastavlja da dobija
momentum razvojem i upotrebom ugraenih ureaja sa sve veom procesnom moi.
Ovo poveanje se ogleda kako u poveanju radnog takta, tako i u poveanju broja
procesorskih jezgara na jednom integrisanom kolu. Ovo za posledicu ima da su danas
ureaji potroake elektronike u mogunosti da izvre kompleksne aplikacije pisane u
programskim jezicima koji koriste paradigmu virtuelne maine.
Veina modernih TV ureaja prati ovaj trend i, osim to korisniku slue za
prikaz osnovnih digitalnih TV servisa, nude dovoljnu procesnu mo za izvravanje
naprednih aplikacija pisanih u Java programskom jeziku. Ove aplikacije obezbeuju
korisniku da na TV ureaju pristupa naprednim digitalnim servisima, kao to su
pregled socijalnih mrea, itanje vesti, pristup Internet servisima ili gledanje usluge
video na zahtev.
Trenutni trend na polju proizvoaa TV ureaja je korienje Android
operativnog sistema kao baze za svoja reenja. Android operativni sistem koristi Java
POGLAVLJE 1 - UVOD
2
programski jezik kao aplikativno okruenje za razvoj aplikacija. Odabir ovog
operativnog sistema proizvoaima omoguava da njihova reenja, osim standardnih
TV servisa, prue korisniku i napredne funkcije kroz aplikacije koje se mogu preuzeti
sa raspoloivog otvorenog marketa aplikacija i instalirati na krajnjem ureaju.
Mana Android operativnog sistema, sa stanovita razvoja aplikacija za TV
ureaje, jeste nepostojanje sistemske programske sprege za upravljanje podacima koji
dolaze iz TV prenosa. Ovo spreava razvoj Android aplikacija koje e implementirati
funkcionalnost standardne TV aplikacije. Ova funkcionalnost omoguuje prikaz TV
signala korienjem standardnih Android video komponenti, dobavljanje i prikaz EPG
podataka, teleteksta, prevoda, i sl. Takoe, nepostojanje sistemske podrke za digitalne
TV servise spreava sprezanje naprednih digitalnih servisa prisutnih u Android
operativnom sistemu sa informacijama dobijenim iz digitalnog transportnog toka.
Savremena tehnika reenja, koja integriu TV servise u Android platforme (ali i
druge operativne sisteme bazirane na Java programskom jeziku), zasnivaju se na
proirenju Java sistemskog nivoa, programskom spregom specifinom za TV
funkcionalnost.
Cilj disertacije je da istrai mogue pristupe za proirenje Android operativnog
sistema servisima digitalne televizije, i da predloi reenje koje postie rad u realnom
vremenu, zadovoljava zadate zahteve u pogledu sloenosti i kompletnosti proirenja,
ali je ujedno i nezavisno od platforme na kojoj se izvrava. Ovo reenje e predstavljati
operativni sistem za digitalne TV ureaje koji omoguuje implementaciju razliitih
digitalnih servisa (ne samo televizijskih). Kvalitet reenja e se oceniti odgovarajuim
metrikama preko ocene kvaliteta implementirane Java objektno orijentisane sprege za
TV servise. Kao kriterijum za poreenje, koristie se sledee tri metrike: metrike za
ocenu kvaliteta objektno orijentisane programske sprege, kontrolabilnost i kompletnost
(sa stanovita broja implementiranih servisa digitalne televizije).
U poglavlju 2, dat je pregled razvoja oblasti digitalne televizije u modernim
ureajima potroake elektronike, sa osvrtom na probleme koji se postavljaju pred
sistem i same okvire istraivanja.
Poglavlje 3 se bavi istraivanjem dosadanjih dostignua u oblasti i tu su, u cilju
postavljanja okvira sistema, analizirani postojei proizvodi na tritu. Baza patenata sa
jedne strane predstavlja veoma znaajan izvor naunih informacija, dok sa druge prua
POGLAVLJE 1 - UVOD
3
uvid u zatiena reenja koja su srodna ciljnom sistemu. Dat je i pregled savremenih
naunih dostignua integracije TV sistemske programske podrke sa stanovita
sloenosti i kvaliteta, sa ciljem da se odaberu najpogodniji postupci.
U poglavlju 4, opisane su mere koje se koriste za ocenu kvaliteta i performansi
razvijene programske podrke. Pojedine mere se koriste za ocenu funkcionalnosti
implementiranog sistema (npr. mera broja implementiranih servisa digitalne televizije),
dok ostale obezbeuju osnovu za merenje kvaliteta celokupnog sistema i pojedinih
blokova, kao i nivo njihove kontrolabilnosti od strane viih programskih nivoa.
U poglavlju 5, dat je detaljan opis sistema, kroz opis odgovarajue programske
podrke, kao i postupaka proirenja operativnog sistema servisima digitalne televizije.
Na kraju je prikazan i skup fizikih arhitektura sposobnih da izvre predloeno
programsko reenje u realnom vremenu, ime je potvrena platformska nezavisnost
predloenog reenja, a samim tim i ceo sistem zaokruen u jednu celinu.
Poglavlje 6 se bavi rezultatima merenja ranije opisanim metrikama za ocenu
kvaliteta predloenog reenja. Na kraju poglavlja, izloena je uporedna analiza
realizovanog reenja sa postojeim reenjima.
U poglavlju 7, dat je zakljuak istraivanja sa posebnim osvrtom na pravce
daljeg razvoja.
POGLAVLJE 2 PREGLED RAZVOJA OBLASTI ISTRAIVANJA
5
POGLAVLJE 2. PREGLED RAZVOJA OBLASTI ISTRAIVANJA I POSTAVKA CILJEVA ISTRAIVANJA
Pojam potroake elektronike se prvi put javlja 1920-ih godina kao posledica
masovne prodaje radio-prijemnika i elektronskih fonografa. Pojava tranzistora na
poetku 1950-ih, a posebno kasnija pojava integrisanih kola 1960-ih godina, dovela je
do mnogih novih, i to je jo vanije, poboljanih proizvoda, kao na primer prenosivih
radio-prijemnika [Papp]. Do kraja dvadesetog veka, potroaka elektronika je postala
jedan od vodeih sektora svetske ekonomije sa veoma raznovrsnom paletom
proizvoda, kao to su televizori, kamkorderi, video i DVD ureaji, video igre,
akustika oprema, mobilni telefoni, tableti, GPS sistemi, prenosivi i personalni
raunari, itd. Slika 2.1 prikazuje dominantne proizvode potroake elektronike u
proteklim decenijama. Poseban doprinos ubrzanom razvoju oblasti ureaja potroake
elektronike donela je upravo digitalizacija TV servisa.
Do kraja 1980-ih godina, mogunost emitovanja potpuno digitalizovanih TV
servisa korisnicima je bila nezamisliva, kako sa tehnolokog, tako i sa stanovita
ekonomske isplativosti ovakvog pristupa. Glavni razlog za ovo je velika bitska brzina
neophodna za emitovanje 525, odnosno 625 digitalizovanih linija ivog video toka (od
108 do 270 Mb/s nekompresovanih podataka). Drugi razlog je bio i taj to je u tom
momentu akcenat stavljan na poboljanje kvaliteta TV slike, u ta je uloena znaajna
POGLAVLJE 2 PREGLED RAZVOJA OBLASTI ISTRAIVANJA
6
koliina napora i sredstava. Ovi napori su rezultovali razvojem dva standarda za
unapreen kvalitet analogne televizije:
Televizija unapreene definicije (engl. Improved Definition TeleVision,
IDTV) sa brojem vertikalnih linija do 750.
Televizija visoke definicije (engl. High Definition TeleVision, HDTV) sa
brojem vertikalnih linija do 1125.
Slika 2.1 Vremenski prikaz dominantnih proizvoda iz oblasti potroake elektronike (izvor
[Papp])
Prosta digitalizacija HDTV slika bi zahtevala bitske brzine koje su bile i do 4
puta vee nego za slike standardne rezolucije, odnosno do 1 Gb/s. Ovo je razlog zato
su mnoge inicijative (MUSE, HD-MAC) u to vreme bile definisane kao analogni
sistemi sa digitalnom asistencijom i mogu se smatrati kao pretea potpuno digitalne
kompresije.
Poetkom 1990-ih godina, situacija na polju TV ureaja potroake elektronike
se menja iz korena. Izuzetno brz razvoj efikasnih algoritama za kompresiju slike, koji
su rezultovali prvo definicijom JPEG standardna za kompresiju nepominih slika, a
kasnije i MPEG standardom za kompresiju pominih slika, pokazao je potencijal za
drastino smanjenje koliine podataka potrebnih za emitovanje digitalnih slika. Bitske
brzine su iz domena 1 Gb/s, smanjene na raspon od 1.5 30 Mb/s, u zavisnosti od
izabrane rezolucije i sadraja same slike.
POGLAVLJE 2 PREGLED RAZVOJA OBLASTI ISTRAIVANJA
7
U isto vreme, kontinuirani razvoj integrisanih kola je dozvolio realizaciju
kompleksnih integrisanih kola po pristupanim cenama, sposobnih da izvre
dekompresiju ovako kompresovanih digitalnih slika u realnom vremenu. Za razliku od
procesora opte namene, ovakve fizike arhitekture postiu obradu u realnom vremenu
tako to obezbeuju paralelizam na nivou fizike arhitekture (kao to je pristup
memoriji [LPRS]), odnosno posebnim tehnikama prilikom razvoja programske
podrke (kao to su paralelizacija obrade [SPP], ili napredni algoritmi za digitalnu
obradu signala [AADSP1]).
Cene HDTV prijemnika su i dalje bile previsoke da bi bile pristupane veini
korisnika, i to ne toliko zbog trokova elektronskih komponenti, koliko zbog cene
ekrana visoke rezolucije. Ovo je rezultovalo pojavom da korisnici, i pored atraktivnosti
poveane rezolucije TV ureaja visoke definicije, postaju vie zainteresovani za nove
servise i aplikacije koje su im nudili emiteri. Digitalno emitovanje nudi mnogo vei
broj servisa koji nisu bili dostupni upotrebom analogne tehnike emitovanja. Ovi servisi
ukljuuju emitovanje dodatnih informacija koje se emituju u transportnom toku zarad
poboljanja doivljaja gledanja televizije, ali mogu i da ukljuuju dodatne aplikacije
koje je mogue preuzeti i pokrenuti. Ove aplikacije pruaju korisnicima nove vidove
interakcije sa svojim TV ureajem, koje nisu imali prilike do tada da iskuse. Ovi
vidovi interakcije mogu biti (detaljan spisak svih modernih digitalnih TV servisa se
nalazi u poglavlju Mera kompletnosti programske sprege za servise digitalne
televizije):
Jednostavna unapreenja ve ustaljenim TV servisima, kao to su
viejezini prevodi ili elektronski programski vodi (engl. Electronic
Program Guide, EPG) koji prua detaljne informacije o rasporedu
emisija.
Napredni informacioni servisi poput vesti, ili servisi vezani za emisije
koje se trenutno emituju (biografije, sportske statistike).
Nove aplikacije, kao to su elektronsko bankarstvo, interaktivne reklame
itd.
Ovo je dovelo do inicijative za definiciju sistema koji dozvoljava emitovanje
digitalnih slika sa istim ili boljim kvalitetom u odnosu na trenutno stanje analognih
standarda, ali sa dodatnim servisima omoguenim digitalizacijom prenosnog signala.
POGLAVLJE 2 PREGLED RAZVOJA OBLASTI ISTRAIVANJA
8
Jedni od prvih rezultata ove inicijative se vide u projektu DirectTV, zapoetog
sredinom 1994. godine u SAD.
U isto vreme, na evropskom tritu se 1991. godine prestaje sa radom na
analognoj HDTV tehnologiji (HD-MAC) i kreira se grupa za razvoj i standardizaciju
digitalnih TV sistema za emitovanje. Ovo je rezultovalo DVB projektom (engl. Digital
Video Broadcasting), baziranom na MPEG-2 internacionalnom standardu kompresije
slike. MPEG-2 takoe ostavlja mogunost budueg prelaska na HDTV korienjem
viih nivoa i profila. U periodu od 1994. do 1996. nastaju tri varijante DVB standarda,
podeljene po medijumu koji se koristi za transmisiju:
Satelitsko emitovanje (DVB-S)
Kablovsko emitovanje (DVB-C)
Zemaljsko emitovanje (DVB-T)
Kraj dvadesetog veka i prva decenija dvadeset prvog veka vide strm pad cena
velikih ravnih ekrana visoke definicije, sa rezolucijama koje su u skladu sa HDTV
zahtevima. Ovi ekrani sada postaju dostupni velikom broju korisnika, i zajedno sa
novim standardima kompresije pokretne slike (kao to su MPEG-4 AVC/H.264)
najzad omoguuju razvoj i popularizaciju digitalnog HDTV standarda irom sveta.
Slika 2.2 prikazuje poveanje zastupljenosti HDTV prijemnika na tritu potroake
elektronike u poslednjih nekoliko godina.
Slika 2.2 Porast zastupljenosti HDTV ureaja u domainstvima (preuzeto iz [Nielsen])
Na kraju, sa sve veim unapreenjem trita mobilnih telefona, gde su moderni
ureaji opremljeni ekranima visoke rezolucije, ali i razvojem standarda za emitovanje
0%
20%
40%
60%
80%
100%
2009 2011 2013
Pro
cen
at d
om
ain
stav
a ko
ja
po
sed
uju
HD
TV u
re
aj
Zastupljenost HDTV ureaja
POGLAVLJE 2 PREGLED RAZVOJA OBLASTI ISTRAIVANJA
9
digitalnih TV servisa prilagoenih mobilnim ureajima (kao to su DVB-H, T-DMB,
ISDB-T, itd.), nametnulo se i pitanje razvoja i implementacije digitalnih TV servisa na
ovakvim ureajima.
Trenutno jedan od najzastupljenijih operativnih sistema na polju trita mobilnih
ureaja, ali i ostatka potroake elektronike, jeste Android ([Gargenta], [Yaghmour],
[Ableson]). Ovaj operativni sistem otvorenog programskog koda, razvijan od strane
kompanije Google, prvi put je najavljen 2007. godine. Prvi komercijalno raspoloivi
telefon, praen i objavljivanjem prve verzije operativnog sistema, pojavio se na tritu
krajem 2008. godine. Osnovne karakteristike ovog operativnog sistema su:
Aplikativno radno okruenje: Aplikativno okruenje se koristi od strane
autora aplikacija prilikom razvoja aplikacija za ovaj operativni sistem
(Android aplikacije). Ovo okruenje je javno dostupno i izuzetno detaljno
dokumentovano [Ableson].
Dalvik virtuelna maina: Android OS poseduje svoju implementaciju
Java virtuelne maine (ne oslanja se na standardnu Sun Java VM). Dalvik
interpretira Java bajt-kod generisan od strane Java prevodioca.
Integrisan Internet pretraiva: Android ukljuuje internet pretraiva
baziran na [Webkit] kao deo standardne liste Android aplikacija. Ovaj
pretraiva je na raspolaganju autorima Android aplikacija kroz
standardne komponente aplikativnog radnog okruenja.
Optimizovana grafika sprega: Android u sebi sadri podrku kako za 2D
tako i 3D napredne grafike operacije.
SQLite: Standardna implementacija sprege baza podataka na raspolaganju
autorima Android aplikacija kroz standardne komponente aplikativnog
radnog okruenja.
Mrene sprege: Android ukljuuje podrku za veinu beinih
tehnologija, kao to su Bluetooth, EDGE, i 3G.
Bogato razvojno okruenje: Razvojno okruenje (engl. Software
Development Kit, SDK) je besplatno i dostupno autorima, i ukljuuje
emulator i alate za uklanjanje greaka i analizu programskog koda
[Android SDK].
POGLAVLJE 2 PREGLED RAZVOJA OBLASTI ISTRAIVANJA
10
Osim ovih karakteristika, Android operativni sistem poseduje nekoliko osobina
koje ga ine posebno interesantnim kao izbor platforme za ugraene sisteme:
irok ekosistem aplikacija: U vreme pisanja ove disertacije (januar 2014.
godine) Android market broji preko 1 000 000 raspoloivih aplikacija
Konzistentni aplikativni API: Sve programske sprege koje prua
aplikativno radno okruenje su namenjene tako da budu unapred-
kompatibilne. Drugim reima, sve prethodno razvijene Android
aplikacije e nastaviti da funkcioniu normalno i u buduim verzijama
operativnog sistema.
Zamenljivost komponenti: Poto je Android operativni sistem otvorenog
tipa, veinu podrazumevanih komponenti je mogue promeniti. Primeri
za ovaj princip su zamena osnovne aplikacije (engl. Home-screen
launcher) ili podrazumevanog multimedijalnog radnog okruenja
(Stagefright)
Proirivost: Druga prednost otvorenosti Android operativnog sistema je
mogunost proirenja karakteristika platforme i dodavanja podrke za
nove komponente fizike arhitekture. Ovo je mogue korienjem
Android HAL (engl. Hardware Abstraction Layer) nivoa.
Glavni razlog integracije virtuelne maine u ugraenim sistemima je u vezi sa
programskim jezikom koji je odabran za aplikativni razvoj. U ugraenim sistemima, ne
postoji jedan programski jezik koji je savreno reenje za svaki sistem, odnosno
platformu. Mnogi kompleksni ugraeni sistemi sadre viestruke nivoe programske
podrke pisanih u razliitim programskim jezicima. Ovo je sluaj i sa Android
operativnim sistemom, gde je nivo sistemskih usluilaca pisan u asemblerskom i C
programskom jeziku, sistemski nivo u C i C++, dok su nivoi aplikativnog radnog
okruenja i samih aplikacija pisani u Java programskom jeziku. Slika 2.3 prikazuje
razliite slojeve programske podrke Android operativnog sistema, sa posebnim
osvrtom na koriene programske jezike prilikom realizacije tih slojeva.
POGLAVLJE 2 PREGLED RAZVOJA OBLASTI ISTRAIVANJA
11
App0 App1 App2 App3 App4
Application layer
Activity manager
Frameworks layerWindow manager
Content providers
View systemNotification
manager
Package manager
Resource manager
XMPP service
Surface manager
Runtime layer
OpenGL/ES
SGL
Media framework
Freetype
SSL
SQLite
Webkit
libc
Libraries Android runtime
CoreLibraries
Dalvik Virtual Machine (DVM)
Kernel layer
Display driver
USB driver
Mouse driver
Keyboard driver
Ethernet driver
WiFi driver
Flash memory driver
Audio drivers
Binder (IPC) driver
Power management
Hardware
Java
C, C
++, n
ativ
e co
de
Ass
emb
ler,
C
Slika 2.3 Slojevi programske podrke Android operativnog sistema sa akcentom na programski
jezik u kom su pisani
Komponente fizike arhitekture u ugraenim sistemima mogu direktno da izvre
mainski programski kod, napisan mainskim jezikom sainjenim od nula jedinica. U
vreme nastanka raunarskih sistema, za programiranje se koristio iskljuivo mainski
jezik, to je razvoj kompleksnih aplikacija inilo gotovo nemoguim zadatkom. Da bi
se unapredio proces razvoja aplikacija, programerima je omoguen pristup mainskim
instrukcijama kroz poseban skup operacija, vezanih za fiziku arhitekturu, gde je svaka
operacija odgovarala jednoj ili vie mainskih instrukcija. Ovaj skup, zavistan od
fizike arhitekture, naziva se asemblerskim jezikom. Tokom vremena, drugi
POGLAVLJE 2 PREGLED RAZVOJA OBLASTI ISTRAIVANJA
12
programski jezici, kao to su C/C++/Java, dalje su unapredili operacijske skupove i
nainili ih nezavisnim od platforme. Ovi jezici su u literaturi poznati kao jezici visokog
nivoa jer su semantiki jo vie udaljeni od mainskog koda i nezavisni od
karakteristika fizike arhitekture. Ovo je u suprotnosti sa jezicima nieg nivoa, kao to
je asemblerski jezik, koji su zavisni od fizike arhitekture, to ujedno znai da postoje
jedinstveni operacijski skupovi za procesore sa razliitim arhitekturama. Tabela 2.1
prikazuje evoluciju programskih jezika.
Programski jezik Detaljniji opis
Peta generacija Prirodni jezici
Programski jezici slini konverzacionim jezicima, tipino korieni za programiranje i dizajn vetake inteligencije (AI)
etvrta generacija Neproceduralni
jezici veoma
visokog nivoa
Objektno-orijentisani programski jezici
veoma visokog nivoa, kao to su C++, C# i Java, jezici skripti (Perl i HTML), kao i
jezici za pristup bazama podatka (SQL)
Trea generacija Proceduralni jezici Programski jezici visokog nivoa, kao to su C ili Pascal. Portabilniji od jezika prve i
druge generacije
Druga generacija Asemblerski jezik Zavisni od fizike arhitekture, predstavljaju mainski kod
Prva generacija Mainski kod Zavisni od fizike arhitekture, binarne nule (0) i jedinice (1)
Tabela 2.1 Generalizovana evolucija programskih jezika (preuzeto iz [Noergaard])
Poto je mainski kod jedini jezik koji fizika arhitektura moe da izvrava, svi
drugi jezici zahtevaju mehanizam za sintezu mainskog koda. Ovaj mehanizam
najee ukljuuje korake kao to su pred-obrada, prevoenje i interpretiranje. U
zavisnosti od programskog jezika koji se izvrava, ovi mehanizmi se realizuju na
razvojnom raunaru (tipino neugraena arhitektura) ili na ciljnoj platformi (ugraeni
sistem koji se razvija). Slika 2.4 prikazuje dva najee zastupljena mehanizma za
sintezu mainskog koda na ugraenim platformama.
POGLAVLJE 2 PREGLED RAZVOJA OBLASTI ISTRAIVANJA
13
Source L1
Source L6
Source L2
Source L3
Source L4
Source L5
Target code for source L1
Target code for source L2
Target code for source L3
.
Source code
Preprocessing
Compiling
Target code
Compiler
Header file(s)
Slika 2.4 Razliiti mehanizmi sinteze programskog koda: Interpretacija na ciljnoj platformi (levo)
i tipino prevoenje na razvojnoj platformi (desno)
Bajt kod Java jezika je definisan tako da bude platformski nezavistan. Da bi Java
bajt kod mogao da se izvrava na ugraenim sistemima, potrebno je da na njima
postoji implementacija virtuelne maine (engl. Java Virtual Machine, JVM). Postojea
reenja na tritu implementiraju JVM na jedan od sledea tri naina, kao to prikazuje
Slika 2.5:
U fizikoj arhitekturi (ARM Gazelle integrisano kolo, AJile aj100)
Na sistemskom nivou (Ccc-J, Jeode, Jbed, Intent, KavaVM, Android)
Na aplikativnom nivou (JVM u okviru aplikacije, Jbed, KavaVM, IBM
J9)
Application layer
System software layer
Middleware
Operating system kernel
JVM processor support
Device drivers
Java processor
Hardware layer
Application layer
System software layer
Device driver layer
Operating system kernel
Hardware layer
Java virtual machine
Middleware
Application layer
Java virtual machine
Java application
System software layer
Device driver layer
Operating system kernel
Middleware
Hardware layer
Slika 2.5 Razliite implementacije Java VM u ugraenim sistemima ([Noergaard])
POGLAVLJE 2 PREGLED RAZVOJA OBLASTI ISTRAIVANJA
14
U Android operativnom sistemu, koristi se namenska implementacija virtuelne
maine pod nazivom Dalvik, koja je implementirana na sistemskom nivou, a osim
interpretera sadri i JIT prevodilac. Sa interpretacijom bajt koda u JVM, svaki bajt kod
se parsira i transformie u mainski kod. Takoe, svi redundantni delovi koda se
interpretiraju prilikom svakog izvravanja. JIT prevodioci reavaju ovaj problem time
to program interpretiraju samo jednom, a potom prevode i skladite mainski kod
tokom izvravanja, omoguavajui da se redundantni kod izvrava bez ponovnog
interpretiranja. Iako JIT prevodioci postiu bolje performanse za redundantni kod, oni
uvode dodatnu obradu u toku izvravanja programa, koja se odnosi na pretvaranje bajt
koda u mainski. Osim dodatne obrade, JIT alati za prevoenje zahtevaju i vie
programske memorije za skladitenje kako Java bajt koda, tako i izvornog, prevedenog
koda.
I pored svih optimizacija, Dalvik VM i Java programski jezik, iskljuivo, nisu
pravi izbor za implementaciju programskog koda koji implementira digitalne TV
servise na ugraenoj arhitekturi. Iako je aplikativno radno okruenje Android
operativnog sistema okrenuto Java programskom jeziku, implementacija servisa
digitalne televizije na aplikativnom nivou nije mogua iz sledeih razloga:
Uslov realnog vremena: Implementacija TV servisa mora da ispuni
stroga ogranienja sa stanovita odziva i koliine podataka koji treba da
se obrade u realnom vremenu. Implementacija korienjem Java
programskog jezika, bez degradacije performansi prilikom izvravanja,
predstavlja izazov.
Prava pristupa: Implementacija TV servisa se pre ili kasnije mora
osloniti na sistemske usluioce, kojima smeju da pristupe samo
privilegovane, odnosno sistemske biblioteke. Regularne Android
aplikacije imaju ograniena prava pristupa i nisu u mogunosti da
direktno komuniciraju sa komponentama fizike arhitekture.
ivotni vek: Od TV servisa na TV ureajima se oekuje da korisniku
uvek budu na raspolaganju. Uzimajui u obzir da su ugraene TV
platforme najee sa izuzetno ogranienim resursima, ne sme se dogoditi
da usled nedostatka memorije aplikacija koja implementira TV servis
POGLAVLJE 2 PREGLED RAZVOJA OBLASTI ISTRAIVANJA
15
bude zatvorena (zbog standardne politike Android operativnog sistema da
zatvara aplikacije ukoliko nema dovoljno memorije).
I pored ovih nedostataka, nije neuobiajeno da se Java programski jezik koristi
za razvoj DTV ureaja. U literaturi se ovakav pristup [Brandao], [Lucas] oslanja
putem JNI mehanizma na poseban sloj izvrnih biblioteka (engl. runtime libraries)
pisanih u C/C++ jeziku. Ovaj sloj je zaduen za vremenski kritinu obradu DTV-
baziranih podataka koji dolaze iz DVB transportnog toka. Ova reenja su bazirana na
Linux OS, sa zajednikim jezgrom na sistemskom nivou i Java VM na aplikativnom
nivou zaduenom za izvravanje aplikacija. Identian pristup je primenljiv i na
Android platforme, pri emu bi se programska podrka za servise digitalne televizije
morala raspodeliti u nekoliko programskih slojeva Android operativnog sistema. Slika
2.6 prikazuje potencijalnu raspodelu na primeru Android programske arhitekture:
TV app
Application layer
TV manager
Frameworks layer
Real-timeTV processing
Runtime layer
Libraries Android runtime
CoreLibraries
Dalvik Virtual Machine (DVM)
Kernel layer
Tuner driver FE driver V4L2 DVB I2C
Hardware
Java
C, C
++, n
ativ
e co
de
Ass
emb
ler,
C
Slika 2.6 Raspodela programske podrke za digitalne TV servise u Android operativnom sistemu
POGLAVLJE 2 PREGLED RAZVOJA OBLASTI ISTRAIVANJA
16
Postavka ciljeva istraivanja
Cilj disertacije je da predloi reenje integracije digitalnih TV servisa u Android
operativni sistem, na platformski nezavistan nain, pri emu je reenje po sloenosti
uporedivo sa postojeim reenjima na tritu i time primenjivo u ureajima potroake
elektronike. Digitalni TV servisi bitni za implementaciju su:
Prikaz i pretraivanje TV servisa
Elektronski programski vodi
Prevod
Teletekst
Podsetnik
Digitalni snima
Kontrolisani pristup video sadraju
Roditeljska kontrola
Video na zahtev
Kontrola ulaznih sprega
U okviru disertacije potrebno je istraiti raspoloive izvore informacija (baze
patenata, izvore naunih informacija, i postojea tehnika reenja), i na osnovu
dobijenih rezultata postaviti ogranienja i zahteve sistema u pogledu:
Sloenosti
Kvaliteta
Mogunosti
Potrebno je odabrati odgovarajuu platformu za realizaciju i potvrdu reenja,
koje treba da se uklapa u postavljena ogranienja. Disertacija e se eksperimentalno
potvrditi realizacijom programske podrke na skupu ugraenih platformi. Cilj
korienja veeg broja razliitih platformi za eksperimentalnu potvrdu je u analizi
stepena platformske nezavisnosti predloenog reenja.
Nova nauna dostignua, koja su rezultat istraivanja, potrebno je zatititi
odgovarajuim mehanizmima zatite intelektualne svojine.
POGLAVLJE 3 - PREGLED RELEVANTNIH INFORMACIJA
17
POGLAVLJE 3. PREGLED RELEVANTNIH INFORMACIJA
U cilju adekvatnog pozicioniranja teme istraivanja, potrebno je analizirati
aktuelna dostignua u razliitim domenima. Sa stanovita ove disertacije, smatra se da
su od vanosti sledee oblasti:
Postojea industrijska reenja (ureaji) sa integrisanim digitalnim TV
servisima bazirana na Androidu.
Baze patenata.
Nauna dostignua u oblasti integracije digitalnih TV servisa na
ugraenim platformama.
U daljem tekstu, dat je pregled relevantnih oblasti. Nakon analize, utvruju se
okviri istraivanja sa jasnim ciljem proirenje Android operativnog sistema
podrkom za servise digitalne TV, kao i predlog implementacije programske sprege
bazirane na Java programskom jeziku, koja implementira ove servise na nivou Android
aplikativnog radnog okruenja.
Postojea industrijska reenja sa integrisanim digitalnim
TV servisima bazirana na Androidu
U okviru disertacije, istrauju se mogunosti razvoja programske podrke za
digitalne TV servise u okviru Android operativnog sistema, namenjene irokom tritu
POGLAVLJE 3 - PREGLED RELEVANTNIH INFORMACIJA
18
potroake elektronike. Ta injenica namee odreene zahteve u pogledu rada u
realnom vremenu, kao i konkurentnosti sa postojeim reenjima u pogledu
funkcionalnosti, kvaliteta i sloenosti. Da bi se to postiglo, potrebno je analizirati
postojea industrijska reenja po vie aspekata. Ove aspekte moemo podeliti na
sledee kategorije:
Funkcionalnost/kompletnost: Broj podranih DTV servisa na ureaju.
Kompletna lista standardnih DTV servisa od interesa za istraivanje
prikazuje Tabela 4.1.
Sprega TV sveta sa Android eko-sistemom: Stepen integracije DTV
servisa sa naprednim sistemskim servisima koje prua Android OS
(pretraga podataka, sprega sa Internet pretraivaem, itd.)
Danas na tritu postoji niz proizvoda koji nude digitalne TV servise integrisane
u okviru Android operativnog sistema. Trite moemo podeliti u dve velike grupe:
TV/STB ureaji bazirani na originalnom Android operativnom sistemu.
TV/STB ureaji bazirani na Google TV platformi ([GoogleTV]).
Prvu grupu predstavljaju ureaji bazirani na originalnom Android operativnom
sistemu, koji je prilagoen od strane proizvoaa ureaja za ciljnu platformu. Za
razliku od njih, drugu grupu predstavljaju ureaji koji koriste specijalno prilagoenu
verziju Android operativnog sistema za TV okruenje od strane kompanije Google
(vie o ovome u posebnom poglavlju Google TV).
Slika 3.1 IPTV Android bazirani STB ureaji: ForceTech Android HD STB [ProdAndrFT] (levo)
i PeerTV eTV SmartTV station [ProdAndrPeerTV] (desno)
U poslednjih nekoliko godina primetan je trend korienja Android operativnog
sistema za ugraene TV/STB ureaje. Reenja moemo podeliti u dve grupe: IPTV
POGLAVLJE 3 - PREGLED RELEVANTNIH INFORMACIJA
19
reenja i hibridna reenja. IPTV reenja se oslanjaju na mrenu spregu kao jedini izvor
DVB transportnog toka koji se emituje putem IP protokola [Benoit]. Ovakav tip
prenosa TV signala ima svoja ogranienja, meu kojima je najvanije ogranienje da
se prema krajnjem korisniku u svakom momentu emituje samo jedan TV servis, i to
onaj koji je korisnik u tom trenutku izabrao. Takoe, transportni tokovi koji se koriste
za IPTV emitovanje imaju redukovan skup dodatnih TV servisa u sebi (najee
nedostaju EPG informacije, SUB, ili TTX). Ovo je razlog zato se ova reenja ne mogu
smatrati univerzalnim i integralnim reenjima integracije TV servisa u Android
operativni sistem. Druge digitalne TV karakteristike, kao to su video na zahtev, PVR,
ili kontrolni pristup, podrani su u ovim reenjima. Dva tipina primera ovakvog
pristupa su ureaji: Android HD STB [ProdAndrFT] kompanije ForceTech i eTV
SmartTV station [ProdAndrPeerTV] kompanije PeerTV koje prikazuje Slika 3.1.
Drugi pristup predstavljaju hibridna reenja. Ovi ureaji, osim IPTV dela,
poseduju komponentu fizike arhitekture tjuner - koja predstavlja primarni izvor DVB
transportnog toka. Primer ovakvog reenja je SRTAN4 [ProdAndrStrong] kompanije
Strong koga prikazuje Slika 3.2. Ovaj ureaj poseduje podrku za veinu standardnih
digitalnih TV servisa, izuzev uslovnog pristupa i roditeljske kontrole.
Slika 3.2 Hibridni STB ureaj baziran na Androidu: Strong, SRTAN4 [ProdAndrStrong]
Mnogi proizvodi iz domena TV/STB ureaja baziranih na Android OS pokrivaju
samo segment oblasti (podskup svih standardnih DTV servisa), kao i nizak stepen
integracije TV servisa u ostatak Android ekosistema. Ovo drugo se ogleda u injenici
da je TV aplikacija samo jedna od aplikacija instaliranih na sistemu, i ravnopravna u
odnosu na sve ostale. Osim toga, napredne funkcije Android operativnog sistema, kao
to su pretraga podataka, ne konsultuju podatke koji dolaze iz DTV sveta.
POGLAVLJE 3 - PREGLED RELEVANTNIH INFORMACIJA
20
3.1.1 Google TV
Google TV predstavlja platformu, razvijenu od strane kompanije Google, koja je
bazirana na Android operativnom sistemu koji proiruje odreenim TV
funkcionalnostima. Za razliku od Android operativnog sistema, programski kod
Google TV platforme nije otvorenog tipa. Iako ova platforma, na nivou aplikativnog
razvojnog okruenja, definie programsku spregu za digitalne TV servise pisanu Java
programskim jezikom, skup ovih servisa je dosta ogranien i svodi se na svega
nekoliko funkcija:
Pretraga (engl. scan) TV servisa
Promena kanala
Pojaavanje zvuka TV prijemnika
Ovaj skup funkcija svakako nije dovoljan za razvoj kompleksnih TV aplikacija,
koje su neophodne za moderne TV prijemnike. Sve druge standardne DTV funkcije
(kao to su EPG, TTX, SUB, PVR i sl.) Google TV platforma ostavlja na nivou
programske podrke specifine za ureaj na kojem se Google TV programski kod
izvrava. Ova platforma nastoji da standardizuje TV funkcionalnost u okviru Android
operativnog sistema, ali sa limitiranim skupom funkcija. Ovaj limitirani skup funkcija
je posledica korisnikih scenarija koje Google TV platforma pokriva.
Prvi Google TV ureaji koji su se nali na tritu, kao to su Logitech Revue
[ProdGTVLogitech] kompanije Logitech i Sony Internet TV Blu-ray Disc Player with
Google TV [ProdGTVSony2] kompanije Sony, zapravo i nisu prave TV/STB platforme
u punom smislu te rei. Ove platforme ne poseduju komponentu fizike arhitekture
tjuner - koja ujedno i predstavlja izvor DVB transportnog toka u modernim TV
ureajima. Ovi ureaji jedino poseduju ulaznu HDMI video spregu, kao jedinu
komponentu fizike arhitekture koja obezbeuje video signal. Iz ovog razloga, ove
platforme nemaju pristup dodatnim informacijama iz DVB transportnog toka, izuzev
audio i video podataka, i stoga nisu ni u mogunosti da prikau prethodno spomenute
napredne TV funkcije. Ovakav scenario upotrebe se u Google TV terminologiji zove
STB posrednik (engl. buddy box).
Osim ovog pristupa, Google TV platforma podrava i integrisano reenje, gde
TV/STB prijemnik, predstavlja TV platformu u punom smislu te rei, sa svim
oekivanim komponentama fizike arhitekture. Ali, iz razloga to je aplikativno
POGLAVLJE 3 - PREGLED RELEVANTNIH INFORMACIJA
21
razvojno okruenje isto za oba reenja (i za reenje sa STB posrednikom i za
integrisani Google TV prijemnik), ureaji kao to je Sony Internet TV with Google TV
[ProdGTVSony] kompanije Sony nude istu, limitiranu, podrku za digitalne TV
servise na Java aplikativnom nivou. Slika 3.3 prikazuje ova dva korisnika scenarija.
TV
GoogleTV
HDMI
HDMI
Cable/Sat box Internet
GoogleTV
Cable/Sat box
HDMI
Internet
WiFi /Ethernet
WiFi /Ethernet
Slika 3.3 GoogleTV korisniki scenariji: STB posrednik (levo) i integrisano reenje (desno)
Stoga, u zavisnosti od komponenti fizike arhitekture, Google TV ureaje
moemo podeliti na integrisane i posrednike. Integrisana Google TV reenja su
implementirana u sledeim ureajima:
Sony Internet TV with Google TV [ProdGTVSony], kompanije Sony
LG SmartTV with GoogleTV [ProdGTVLG], kompanije LG
SFR TV Decoder [ProdGTVSFR], kompanije SFR
Kod svih posrednikih reenja, arhitektura reenja je ista, pri emu se ureaji
razlikuju po koliini usluga koje nude, a koje nisu usko vezane za TV servise. Tipini
primeri ovih usluga su: video na zahtev, Internet radio, multimedijalne aplikacije i sl.
Najpoznatiji ureaji ovog tipa su:
Asus Cube [ProdGTVAsus], kompanije Asus
Hisence Pulse [ProdGTVHisense], kompanije Hisense
Logitech Revue [ProdGTVLogitech], kompanije Logitech
NeoTV Prime [ProdGTVNetGear], kompanije NetGear
Sony Internet TV Blu-ray Disc Player with Google TV [ProdGTVSony2],
kompanije Sony
POGLAVLJE 3 - PREGLED RELEVANTNIH INFORMACIJA
22
Internet Streaming Player Powered by Google TV [ProdGTVSony3],
kompanije Sony
Vizio Co-Star [ProdGTVVisio], kompanije Visio
Slika 3.4 Google TV integrisano reenje: TV prijemnik - [ProdGTVSony](levo) i STB
[ProdGTVSFR](desno)
Slika 3.5 Google TV ureaji za prikaz multimedijalnog sadraja (posredniki mehanizam): Visio
Co-Star (levo) i NeoTV Prime (desno)
Iako Google TV ureaji poseduju dobru integraciju DTV podataka sa naprednim
funkcijama Android operativnog sistema, kao to je pretraga, ovi podaci i dalje ne
dolaze iz DVB transportnog toka, ve od strane namenskih servera (koje obezbeuje i
za iju aurnost se brine kompanija Google) putem Interneta. Ovo je ogranienje
arhitekture programske podrke i kao posledicu ima potencijalnu neaurnost podataka
POGLAVLJE 3 - PREGLED RELEVANTNIH INFORMACIJA
23
(podaci u transportnom toku se znaajno ee osveavaju u odnosu na podatke koji
dolaze putem Interneta).
Pregled baze patenata
U dananjem poslovnom svetu tendencija svetski poznatih kompanija je da svoju
intelektualnu svojinu zatite patentima. Mnoga dostignua i reenja iz oblasti
integracije digitalnih servisa na ugraenim platformama, koje mogu biti i bazirane na
Android OS su takoe zatiena patentima, stoga je potrebno iscrpno istraiti i bazu
dostupnih meunarodnih patenata. Osim cilja da se otklone mogui problemi u
plasiranju proizvoda, patenti predstavljaju i znaajan izvor informacija korisnih za
istraivanje. Kao baze patenata, korieni su:
Ameriki patentni zavod (US Patent and Trademark Office - USPTO)
[USPTO].
Evropski patentni zavod (European Patent Office - EPO) [EPO].
Svetski patentna organizacija (World Intellectual Property Organization
- WIPO) [WIPO].
Bazu patenata moemo podeliti na patente koji su usko vezani za Android
operativni sistem i integraciju DTV servisa u isti, i na patente koji nisu usko vezani za
Android, ali reavaju problem integracije DTV servisa u Java baziranim sistemima i
sistemima sa arhitekturom programske podrke slinoj Android operativnom sistemu.
3.2.1 Patenti bazirani na Androidu
Patentna prijava [PatTcl] pod nazivom Method for integrating Android
application system in television system based on Android inner core, objavljena 07.
aprila 2012, opisuje osnovnu Android implementaciju sistema digitalne televizije.
Patentna prijava govori o Binder komunikacionom mehanizmu gde se formiraju novi
slojevi komunikacije: Binder driving sloj, Binder core sloj ali i Binder kodovi,
meutim patent ne opisuje potrebna prilagoenja Android operativnog sistema, niti
tehnike za optimizaciju i prilagoenje programske sprege za digitalne TV servise.
Patentna prijava [PatLg2] objavljena od strane Lg Cns Co Ltd. pod nazivom
Smart set-top box and operating method for smart service and digital television
service using single operating system, 2. avgusta 2012, godine predlae metod za
POGLAVLJE 3 - PREGLED RELEVANTNIH INFORMACIJA
24
upravljanje ureajem (engl. set top box) koji prua uslugu interaktivne, pametne
digitalne televizije koristei Android operativni sistem. Ureaj omoguava uitavanje
aplikativne programske sprege i komunikaciju izmeu aplikacija koje podrava
upotrebom Android Binder mehanizma. Patent ne opisuje potrebna prilagoenja
Android operativnog sistema, niti tehnike za optimizaciju i prilagoenje programske
sprege za digitalne TV servise Android platformi.
Patentna prijava [PatNine] objavljena od strane Nine of Technology Co. Ltd. pod
nazivom Android system of set top box (STB) predlae razliite nivoe programske
podrke potrebne za razvoj DTV baziranih aplikacija u Android STB ureaju. Osim
opisa funkcionalnosti ovih slojeva, patent ne daje dovoljno informacija potrebnih za
rekonstrukciju reenja, ali ukazuje na primenjeni pristup. Kao i prethodni patent, ovaj
patent takoe ne opisuje potrebna prilagoenja Android operativnog sistema, niti
tehnike za optimizaciju i prilagoenje programske sprege za digitalne TV servise
Android platformi.
Patent [PatTianjin] objavljen od strane Tianjin, pod imenom Android
application Loader download management system facing broadcast and TV service
providers, iako jeste vezan za temu Android baziranih TV ureaja, ne izlae predlog
integracije celokupnog reenja, ve se koncentrie na mehanizme kojima TV operateri
mogu da kontroliu nain instaliranja Android aplikacija na ciljni sistem, to ini samo
jedan aspekt Android TV ureaja.
3.2.2 Drugi patenti od interesa
Uzimajui u obzir da je tema ove doktorske disertacije integracija servisa
digitalne televizije u okviru Android operativnog sistema i definicija Java programske
sprege za TV servise u ovom okruenju, prilikom pregleda baze patenata pretraga se
moe proiti i sa generalnim principima, koji nisu usko vezani za Android operativni
sistem ili principe implementacije Java programske sprege. Poto se Android
aplikativni razvojni sloj iskljuivo oslanja na IPC komunikaciju (Binder mehanizam),
koja se u sutini koristi za razmenu kompleksnih Java objekata, pod optimalnom
implementacijom TV servisa moemo smatrati i:
Optimizovan model IPC komunikacije specijalizovan za ovu svrhu
Inkrementalni pristup IPC komunikaciji
POGLAVLJE 3 - PREGLED RELEVANTNIH INFORMACIJA
25
Optimizovan model IPC komunikacije, specijalizovan za digitalne TV servise,
predstavlja definiciju i optimizaciju IPC prenosa zarad to efikasnije komunikacije
izmeu slojeva programske podrke u ciljnom okruenju. Uzimajui u obzir da se
proces IPC razmene poruka u Android operativnom sistemu zasniva na serijalizaciji
kompleksnih Java objekata na predajnoj, odnosno deserijalizaciji istih na prijemnoj
strani, optimizovani model IPC komunikacije je onaj koji optimizuje koliinu podataka
koja se ovim putem razmenjuje za sluaj objekata digitalnih TV servisa.
Inkrementalni pristup je onaj koji uvodi zavisnost izmeu funkcionalnosti servisa
i postojeih baznih klasa na koje se dodaju, odnosno povlae dodatne potklase i
podaci. itav metod se zasniva na optimizovanoj komunikaciji izmeu aplikativnih
slojeva (pisanih u Java programskom jeziku) i izvrnih (engl. native) slojeva pisanih u
C/C++ jeziku. Osnovna ideja se ogleda u transportu osnovnog skupa podataka i
objekata koji se, u zavisnosti od aktivirane funkcionalnosti servisa digitalne televizije,
transportuju kroz Binder okruenje. Inkrementalni bazini skupovi se sastoje od skupa
podataka i skupa struktura i, takoe, skupa pravila koja se alju i optimizuju.
Patentna prijava [PatImerj] pod nazivom Cross-environment communication
framework, objavljena 05. aprila 2012, od strane kompanije Imerj Llc-a opisuje
metod za inter-procesnu komunikaciju izmeu servisa operativnog sistema i udaljenih
objekata. Operativni sistem je operativni sistem mobilnih telefona, a optimizacija u
inter-procesnoj komunikaciji nije spomenuta.
Patentna prijava [PatGoogle] pod nazivom Safe browser plugins using native
code modules, objavljena 13. maja 2010, opisuje kompjuterski sistem koji uvodi
plugin mehanizam za Internet pretraiva, pri emu sistem ukljuuje komunikaciju
izmeu izvrnog dela koda i samog Internet pretraivaa. Patentna prijava uvodi tzv.
prvi i drugi plugin most sprege, ali ne spominje pojam optimizacije, niti naine na koje
to radi. Takoe, inkrementalno funkcionisanje mehanizma komunikacije nije
spomenuto.
Patent [PatSun] pod nazivom Application programming interface for
connecting a platform independent plug-in to a web browser, objavljen 27. juna 2006,
od strane Sun Microsystems govori o implementaciji aplikativne programabilne sprege
za specifine plugin mehanizme koji su nezavisni od platforme. Takoe, inkrementalni
nain komunikacije, kao i optimizacija komunikacionog procesa nisu spomenuti.
POGLAVLJE 3 - PREGLED RELEVANTNIH INFORMACIJA
26
Patentna prijava [PatGoogle2] pod nazivom Method and system for executing
applications using native code modules, objavljena 21. januara 2010, od strane
Google-a govori o komunikaciji izmeu izvrnog programskog modula i Internet
aplikacije, ali ne spominje optimizacionu funkciju, niti specifinosti inkrementalnog
modela komunikacije.
Patent [PatYahoo] pod nazivom System for packaging native program
extensions together with virtual machine applications, objavljen 21. januara 2010, od
strane Google-a govori o inter-procesnoj komunikaciji izmeu sloja aplikacija i
izvrnog programskog koda, ali ne spominje optimizacionu funkciju, niti specifinosti
inkrementalnog modela komunikacije.
Patentna prijava [PatSichuan] pod nazivom Interaction method of browser and
hardware, objavljena 21. januara 2010, od strane Google-a govori takoe o inter-
procesnoj komunikaciji, ali ne spominje optimizacionu funkciju, niti specifinosti
inkrementalnog modela komunikacije.
Patentna prijava [PatLg] pod nazivom Multimedia device having operating
system capable of processing multiple graphic data and method for controlling the
same, objavljena 11. jula 2012, od strane LG-a govori takoe o inter-procesnoj
komunikaciji, spominje Binding, ali ne spominje optimizacionu funkciju, niti
specifinosti inkrementalnog modela komunikacije.
Patentna prijava [PatIBM] pod nazivom Batch dispatch of java native interface
calls, objavljena 23. decembra 2010, od strane International Business Machines
Corporation takoe govori o inter-procesnoj komunikaciji, spominje Binding, ali ne
spominje optimizacionu funkciju, niti specifinosti inkrementalnog modela
komunikacije.
Patent [PatHP] pod nazivom Method for mapping procedural C++ code to java
object-oriented classes, objavljen 05. aprila 2001, od strane Sun Microsystems-a
govori o specifinom sloju za mapiranje C++ koda u Java klase. Patent spominje i JNI
sloj, meutim inkrementalni model manipulacije podataka izmeu Java i izvrnog sloja
nije spomenut.
Patent [PatSun2] pod nazivom Inter-process communication using different
programming languages, objavljen 22. oktobra 2001, od strane HP-a govori o
specifinom sloju za mapiranje C++ koda u Java klase. Patent spominje i JNI sloj,
POGLAVLJE 3 - PREGLED RELEVANTNIH INFORMACIJA
27
meutim, inkrementalni model manipulacije podataka izmeu Java i izvrnog sloja nije
spomenut.
Patent [PatYahoo2] pod nazivom System for packaging native program
extensions together with virtual machine applications, objavljen 28. maja 2009, od
strane Yahoo-a je veoma slian predloenom reenju, meutim ne daje osvrt na
procedure optimizacije.
Patentna prijava [PatPhilips] pod nazivom Method for concurrently presenting
multiple content types in a tv platform, opisuje mehanizam istovremenog prikaza
razliitih sadraja na jednoj TV platformi. Pravila ukljuuju kombinovanje sadraja
tipa reklama sa standardnim TV sadrajima i nain njihove kompozicije prilikom
prikaza krajnjem korisniku.
Patentna prijava [PatBiap] pod nazivom Self-contained mini-applications
system and method for digital television, slino kao i [PatPhilips], opisuje mehanizam
istovremenog prikaza sadraja na Java baziranim TV platformama, pri emu je dodatni
sadraj u formi kartica (engl. widgets).
Nauna dostignua u oblasti integracije digitalnih TV
servisa na ugraenim platformama
Veina modernih DTV ureaja je bazirano na embeddedLinux operativnom
sistemu [Moon], [Miljkovic]. Mrene i multimedijalne aplikacije nastavljaju da se
razvijaju i obezbeuju dodatnu funkcionalnost TV ureajima, koji prestaju da slue
iskljuivo kao ureaji za gledanje TV servisa.
Jedan od prvih pokuaja integracije mrenih i multimedijalnih servisa u DTV
svet je bila pojava HbbTV [Lukac]. Ova tehnologija sakuplja korisne podatke sa
Interneta, dok u isto vreme prikazuje korisniku sadraj antenskog/kablovskog
digitalnog toka. Tipine HbbTV implementacije su bazirane na proirenju Internet
pretraivaa. Ova proirenja obezbeuju istovremeni prikaz sadraja transportnog toka
i podataka u CE-HTML formatu. Iako ova tehnologija jeste interaktivna i znaajno
unapreuje korisnikov doivljaj prilikom korienja DTV ureaja, ona nije standardna
platforma za razvoj i korienje ireg skupa TV aplikacija.
Sa ciljem poveanja interaktivnosti, [Hendrawan] je predloio hibridno reenje
koje koristi namenski server koji vri demodulaciju DTV sadraja i potom emitovanje
POGLAVLJE 3 - PREGLED RELEVANTNIH INFORMACIJA
28
istog korienjem IP protokola. Prijemnici ovakvih podataka su mobilni ureaji kao to
su mobilni telefoni, tableti, ali i personalni raunari, koji na sebi imaju instaliranu
klijentsku aplikaciju. Glavni cilj ovakvih sistema je da budu korieni u situacijama
gde jaina DVB transportnog signala nije zadovoljavajueg kvaliteta, dok drugi
mehanizmi za emitovanje podataka sa visokim protokom normalno funkcioniu
(veoma brze mobilne mree i Internet).
Neki proizvoai TV ureaja nude aplikacije koje se mogu instalirati na sam
ureaj, ali su ove aplikacije prilagoene iskljuivo odreenoj platformi. Ovo je i
dovelo do pojave da se na ovakvim ureajima pree sa tradicionalne platformski
zavisne programske sprege, na platformski nezavisnu. Trenutno aktuelan trend je
korienje Android operativnog sistema i Java programskog jezika.
3.3.1 JavaTV
U [Lucas] i [Brandao] je predloeno korienje [Java TV] standarda kao radnog
okruenja prilikom rada sa DTV sadrajem na ugraenim platformama. Ovaj pristup
reava problem platformski zavisne programske sprege poto se koristi Java
programski jezik za razvoj, dok se rad u realnom vremenu postie upotrebom
posebnog sloja izvrnih biblioteka koji je iskljuivo zaduen za parsiranje DTV
podataka. Izvrni sloj je dostupan Java programskoj podrci kroz upotrebu JNI
mehanizma. U ova dva rada je, takoe, predloen i skup razliitih DTV aplikacija koje
obezbeuju razliite servise kao to su mrena povezanost, ali nedostaje
standardizovano reenje koje je primenljivo na razliite ureaje, razliitih proizvoaa.
Glavna mana upotrebe Java TV standarda lei i u injenici da je on deo Java ME
(Micro Edition) razvojne platforme koja je samo podskup Java SE (Standard Edition)
platforme.
3.3.2 Digitalni TV prijemnici bazirani na Android OS
Iako je ova oblast relativno nova, postoje nauni radovi koji se bave
problematikom integracije digitalnih TV servisa u Android operativni sistem. U [Lu] i
[Kuzmanovic] prikazana su ovakva reenja, pri emu [Lu] predlae sistem koji je
specifian za jednu fiziku arhitekturu. [Kuzmanovic] opisuje sistematiniji pristup,
koji se bazira na sistemskoj izmeni grafikog sistema, koji omoguuje prikazivanje
DTV sadraja na odreenom delu ekrana TV prijemnika baziranom na Android OS.
POGLAVLJE 3 - PREGLED RELEVANTNIH INFORMACIJA
29
Oba reenja ne nude standardizovanu podrku za DTV servise i predstavljaju reenja
koja su prilagoena limitiranom skupu ureaja, a samim tim nisu dovoljno univerzalna
i kompletna.
Sa druge strane, u [Vidakovic] i [Vidakovic2], prikazan je drugaiji pristup DTV
integraciji u Android OS. Ovaj pristup ne zahteva izmene original
Recommended