• No results found

MPEG-4-Compatible Set-Top Box for IP-networks Based on Open Standards : A Systems Study

N/A
N/A
Protected

Academic year: 2021

Share "MPEG-4-Compatible Set-Top Box for IP-networks Based on Open Standards : A Systems Study"

Copied!
89
0
0

Loading.... (view fulltext now)

Full text

(1)

MPEG-4-kompatibel settop-box för IP-nät

baserad på öppna standarder

- en systemstudie

Examensarbete utfört i bildkodning

av

Magnus Andrén

LITH-ISY-EX-3328-2003

(2)
(3)

MPEG-4-kompatibel settop-box för IP-nät

baserad på öppna standarder

- en systemstudie

Examensarbete utfört i bildkodning

vid Linköpings tekniska högskola

av

Magnus Andrén

LITH-ISY-EX-3328-2003

Handledare:

Jonas Svanberg, Linköpings tekniska högskola

Examinator:

Robert Forchheimer, Linköpings tekniska högskola

(4)
(5)

Avdelning, Institution Division, Department Institutionen för Systemteknik 581 83 LINKÖPING Datum Date 2003-04-03 Språk Language Rapporttyp Report category ISBN X Svenska/Swedish Engelska/English Licentiatavhandling X Examensarbete ISRN LITH-ISY-EX-3328-2003 C-uppsats D-uppsats

Serietitel och serienummer

Title of series, numbering

ISSN

Övrig rapport ____

URL för elektronisk version

http://www.ep.liu.se/exjobb/isy/2003/3328/

Titel

Title

MPEG4kompatibel settopbox för IPnät baserad på öppna standarder -en systemstudie

MPEG4Compatible SetTop Box for IPnetworks Based on Open Standards -A Systems Study Författare Author Magnus Andrén Sammanfattning Abstract

The purpose of this thesis is to examine the possibilities of creating a MPEG-4-compatible set-top box for IP-networks based on open standards.

Existing alternatives for transporting MPEG-4 over IP are evaluated and ISMA is found to be an important actor within the area. ISMA is a non-profit corporation formed to provide a forum for the creation of specifications that define an interoperable implementation for streaming rich media over IP-networks.

Two different designs based on ISMA's recommendation are constructed and evaluated. The designs have different levels of complexity and the more complex design is found to be better due to its extended functionality.

During the design process a number of problems related to this kind of set-top box are discovered. It is believed, however, that many of these problems will be solved within the near future.

Nyckelord

Keyword

(6)
(7)

MPEG-4-kompatibel settop-box för IP-nät baserad på öppna standarder i Denna rapport beskriver ett examensarbete på civilingenjörsutbildningen i datateknik vid Linköpings tekniska högskola. Syftet med examensarbetet är att undersöka möjlig-heterna att skapa en settop-box för IP-baserade nätverk. Målsättningen är att presentera ett eller flera förslag på hur en sådan settop-box kan designas. Förutsättningarna är att settop-boxen ska hantera MPEG-4 och att den ska baseras på öppna standarder, det vill säga standarder som finns tillgängliga för allmänheten.

Tidigt insågs att ISMA är en betydande aktör inom områden relaterade till Internet och MPEG-4. ISMA är en industriorganisation vars målsättning är att sprida användandet av öppna standarder för multimediakommunikation över Internet. ISMA:s första arbete innefattar rekommendationer för hur MPEG-4 bör transporteras över Internet.

Efter att existerande alternativ för att transportera MPEG-4 över IP analyserats väljs ISMA:s specifikation som grund för design av en settop-box. Två olika designer konstru-eras; en tunn klient och en hybridklient. Syftet med den tunna klienten är att skapa en enkel och billig settop-box. Med hybridklienten är syftet att skapa en settop-box med många användbara funktioner utan att vara en komplett dator.

Det visar sig att den tunna klienten förlorar mycket funktionalitet på grund av kravet på enkelhet. Detta gör att hybridklienten anses vara det bästa alternativet.

I samband med att dessa två settop-boxar designas inses att det existerar flera problem med denna typ av settop-boxar. De flesta av dessa problem anses dock kunna lösas inom en snar framtid i samband med att tekniken utvecklas.

(8)
(9)

MPEG-4-kompatibel settop-box för IP-nät baserad på öppna standarder iii Jag vill tacka min examinator Robert Forchheimer och min handledare Jonas Svanberg vid bildkodningsgruppen på Linköpings tekniska högskola. Vi har haft många, långa och framförallt intressanta diskussioner som gjort arbetet ännu roligare.

Slutligen vill jag också tacka Anna för åtskilliga timmar av korrekturläsning, stöd och tålamod.

Linköping den 4 april 2003 Magnus Andrén

(10)
(11)

Innehållsförteckning

MPEG-4-kompatibel settop-box för IP-nät baserad på öppna standarder v

1

Inledning . . . 1

1.1 Introduktion till examensarbetet . . . 1

1.2 Bakgrund. . . 1 1.3 Förutsättningar. . . 1 1.4 Syfte . . . 2 1.5 Metod . . . 2 1.6 Målgrupp. . . 2 1.7 Läsanvisningar . . . 2 1.8 Ordförklaringar . . . 3

2

Användningsområde för en settop-box . . . 7

2.1 Dagens settop-boxar . . . 7

2.2 Motiv till en nätverksanpassad settop-box. . . 7

2.3 Exempel på användningsområden . . . 8 2.3.1 TV-sändningar . . . 8 2.3.2 Video-on-demand. . . 8 2.3.3 Webbåtkomst . . . 8 2.3.4 Datorspel . . . 8 2.4 Alternativt användningsområde . . . 9

3

Videokodning . . . 11

3.1 Bakgrund. . . 11 3.2 Grundläggande teori . . . 11

3.2.1 Ljud- och bildkodning . . . 12

3.2.2 Digitalisering av videosekvenser . . . 15 3.3 Videokompression . . . 16 3.3.1 Nedsampling av videosignaler . . . 16 3.3.2 Rörelsekompensation . . . 17 3.3.3 Hybridkodning . . . 18 3.3.4 Skalbar kodning . . . 19 3.4 MPEG . . . 19 3.4.1 MPEG-1/2 . . . 20

(12)

3.4.2 MPEG-4. . . 21

3.5 Senaste framstegen inom videokodning. . . 24

4

Datornät . . . 27

4.1 Introduktion . . . 27

4.2 Nätverksarkitekturer och begrepp. . . 27

4.2.1 Lager och protokoll . . . 28

4.2.2 OSI-modellen . . . 30

4.2.3 Bandbredd och fördröjning . . . 30

4.3 Paketswitchade nätverk. . . 31 4.3.1 Multicast . . . 31 4.3.2 Sammankopplade nätverk . . . 32 4.4 IP-nät. . . 32 4.4.1 IP-adresser . . . 33 4.4.2 Routing . . . 34

4.4.3 Address resolution protocol. . . 34

4.4.4 IP-multicast . . . 35

4.4.5 Internet. . . 35

4.5 Intressanta protokoll . . . 35

4.5.1 Transportprotokoll. . . 35

4.5.2 Applikations- och sessionsprotokoll . . . 37

5

MPEG-4 över IP . . . 39

5.1 Introduktion . . . 39

5.2 Transportmekanismer i MPEG-4. . . 40

5.2.1 MPEG-4 DMIF . . . 40

5.2.2 FlexMux . . . 41

5.3 MPEG-4 över IP enligt standarden . . . 42

5.3.1 MPEG-4 över MPEG-2 TS . . . 42

5.4 Transportformat från IETF . . . 42

5.4.1 Specialiserat format för ljud- och video-ES över RTP . . 42

5.4.2 Generellt format för ES över RTP. . . 43

(13)

Innehållsförteckning

MPEG-4-kompatibel settop-box för IP-nät baserad på öppna standarder vii

6

ISMA . . . 45

6.1 Introduktion till ISMA. . . 45

6.2 ISMA Technical specification . . . 45

6.2.1 Profile 0 . . . 46 6.2.2 Profile 1 . . . 46 6.2.3 Transport . . . 46

7

Systemdesign. . . 49

7.1 Introduktion . . . 49 7.2 Systemets funktion . . . 49 7.2.1 Krav på systemet . . . 49 7.2.2 Förutsättningar . . . 50 7.3 Design. . . 50

7.3.1 Designalternativ och avvägningar . . . 51

7.3.2 Tunn klient . . . 52 7.3.3 Hybridklient . . . 55 7.3.4 Krav på systemresurser . . . 57 7.4 Systemöversikt . . . 57

8

Slutsatser . . . 59

8.1 Utvärdering av design . . . 59 8.1.1 Fördelar . . . 59 8.1.2 Nackdelar . . . 59

8.1.3 Alternativ design och funktionalitet. . . 60

8.2 Problem med en IP-anpassad settop-box . . . 61

8.2.1 Problemet med bandbredd . . . 61

8.2.2 Problemet med multicast . . . 61

8.2.3 Problemet med att spola i filmen . . . 61

8.2.4 Problemet med licenser . . . 62

8.3 Fortsatt arbete. . . 62

8.4 Slutsatser dragna från arbetet. . . 62

9

Referenser . . . 65

(14)
(15)

1

MPEG-4-kompatibel settop-box för IP-nät baserad på öppna standarder

K

APITEL

1

1

I

NLEDNING

Detta kapitel beskriver hur examensarbetet ska genomföras samt vad som är målsättningen med projektet. Det innehåller också läsanvisningar samt några ordförklaringar.

1.1 Introduktion till examensarbetet

Detta examensarbete utförs vid Bildkodningsgruppen, Institutionen för systemteknik, på Linköpings tekniska högskola, som en obligatorisk och avslutande del i civil-ingenjörsutbildningen i datateknik.

1.2 Bakgrund

Internet har fått en alltmer framträdande roll i dagens samhälle. Det används till exempel för att söka information, för att kommunicera och för underhållning av olika slag. Sam-tidigt som nyttan med Internet blir större, vill också fler och fler ha tillgång till Internet. Den vanligaste formen av uppkoppling till Internet för privatpersoner är idag via telefon-ledningen, endera med modem eller så kallade DSL-tjänster, men också permanenta upp-kopplingar växer sig starkare. Med de senaste DSL-tjänsterna samt med de permanenta uppkopplingarna börjar något som liknar bredband att erbjudas och tjänster av en helt annan karaktär blir möjliga. Genom att den befintliga infrastrukturen utnyttjas kan tjänster som TV-sändningar, radiosändningar, filmuthyrning och datorspel erbjudas direkt i hemmet utan att det krävs alltför stora initiala investeringar.

En företeelse som redan funnits ett tag är den så kallade settop-boxen som man kopplar till TV-apparaten för att kunna ta emot digitala TV-sändningar. De flesta idag förekommande settop-boxar tar emot signalen via kabel-TV-nätet eller via satellit. Detta innebär givetvis ett mycket begränsat utbud då endast ett fåtal operatörer har tillgång till kabel-TV-nät eller till satellit. Om en settop-box istället utvecklades för den redan befintliga strukturen, som existerar genom Internet, skulle tillgängligheten öka eftersom vem som helst med tillgång till Internet skulle kunna distribuera och ta emot dessa sänd-ningar.

Detta examensarbete behandlar några av de frågeställningar och problem som är för-knippade med en sådan settop-box.

1.3 Förutsättningar

En rad standarder existerar redan för att sända video över nätverk. Nackdelen med många av dessa är att det är proprietära standarder vilket innebär att standarderna inte finns tillgängliga för allmänheten. Detta medför att produkterna endast fungerar till-sammans med andra produkter från samma tillverkare. För att uppnå kompatibilitet mellan produkter från olika tillverkare krävs att de använder samma standard. Med

(16)

öppna standarder kan vilken tillverkare som helst producera en kompatibel produkt. Det är därför önskvärt med system som baseras på öppna standarder. Med en öppen standard menas en standard som är publikt tillgänglig för vem som helst. Det är viktigt att komma ihåg att bara för att en standard är öppen behöver den inte vara gratis, varken att köpa eller använda.

MPEG-4 är en öppen standard för att komprimera video- och ljudmaterial. I detta arbete förutsätts att settop-boxen huvudsakligen använder MPEG-4. Det förutsätts också att settop-boxen kommunicerar med omvärlden via ett datornät kompatibelt med Internet.

1.4 Syfte

Syftet med detta examensarbete är att undersöka möjligheter och design av en settop-box anpassad för nätverk av typen Internet. Settop-boxen ska vara baserad på öppna standar-der. Målsättningen är att definiera ett eller flera förslag på hur en MPEG-4-kompatibel settop-box för IP-baserade nätverk kan utformas samt belysa vilka problem och fråge-ställningar som är relevanta i sammanhanget.

1.5 Metod

Tillgången på befintliga och öppna standarder kommer att undersökas. Ett antal av dessa standarder kommer att studeras för att avgöra om de passar för ändamålet. Om det är möjligt kommer några att väljas ut och ligga till grund för en design. Det kommer också att undersökas om liknande arbeten redan utförts och om dessa i så fall kan användas.

1.6 Målgrupp

Rapporten beskriver ett examensarbete på en civilingenjörslinje och riktar sig till mot-svarande målgrupp. Rapporten behandlar grundläggande teori för videokodning och datornät. Detta är dock kortfattat och en viss kunskap inom området är önskvärd för att läsaren ska tillgodogöra sig resten av rapporten.

1.7 Läsanvisningar

För att få en överblick över projektet bör kapitel 1, Inledning, läsas. Detta kapitel beskri-ver examensarbetet och dess bakgrund. Kapitel 2, Motiv till en nätbeskri-verksanpassad

settop-box, beskriver vilka användningsområden en nätverksanpassad settop-box har. Kapitel 3, Videokodning, och kapitel 4, Datornät, innehåller en grundläggande teoretisk bakgrund

och många av de begrepp som används förklaras. I kapitel 5, MPEG-4 över IP, beskrivs befintliga alternativ för att överföra MPEG-4 över IP-baserade nätverk. Kapitel 6, ISMA, ger en introduktion till industriorganisationen ISMA och kapitel 7, Systemdesign, ger ett förslag på hur ett system med en MPEG-4-kompatibel settop-box kan designas samt vilka krav som kan ställas på systemet. Rapporten avslutas med kapitel 8, Slutsatser, som diskuterar den design som gjorts samt vilka problem och alternativa lösningar som finns.

(17)

Inledning

MPEG-4-kompatibel settop-box för IP-nät baserad på öppna standarder 3

1.8 Ordförklaringar

Då många engelska uttryck och förkortningar standardmässigt används inom branschen dyker några sådana upp även i denna rapport. Några av de mest förekommande uttrycken förklaras därför nedan.

Ord Förklaring

AAC Advanced Audio Coding. Avancerad kodningsmetod för ljud baserad på transformkodning och psykoakustiska modeller. AU Access Unit. Den minsta enheten i en MPEG-4 Elementary

Stream. Motsvarar till exempel en bildruta.

BIFS Binary Format for Scene Descriptions. Ett språk som används för att beskriva scener i MPEG-4.

Browser En applikation för att hämta och presentera webbsidor.

Broadcast Används när någon i ett nätverk vill skicka ett meddelande till alla användare. Det görs genom att använda en speciell broad-cast-adress.

BPS Bitar per sekund. Ett mått på datatakt.

CELP Code Excited Linear Prediction. Avancerad metod för tal-kodning.

Codec Engelsk förkortning för coder - decoder, de två delar som krävs för att koda och sedan avkoda media.

Datatakt Hur fort data processas. Anges ofta i antal bitar per sekund. DCT Diskret cosinustransform. En transform som är mycket vanlig i

bildkodningssammanhang.

DHCP Dynamic Host Configuration Protocol. Ett protokoll för auto-matisk konfigurering av klienter i ett nätverk.

DMIF Delivery Multimedia Integration Framework. Ett sessionsbaserat protokoll i MPEG-4 för multimediaströmmar. Ansvarar för att abstrahera bort utseendet på transportkanalen.

DRM Digital Rights Management. Samlingsnamn för mekanismer som skyddar digital media från olovligt användande och spridande.

DSL Digital Subscriber Line. Samlingsnamn på några standarder för datakommunikation via telefonledningar. Den vanligaste är Asymmetric Digital Subscriber Line, ADSL.

(18)

DVB Digital Video Broadcasting. Standard för att distribuera digital video med hjälp av satellit, ett kabelbundet nät eller ett marksänt nät. Använder MPEG-2.

ES Elementary Stream. Den dataström som genereras av en MPEG-4-kodare. Består av en rad access units.

Gateway En server som agerar som en portal för andra klienter. GUI Graphical User Interface. Ett grafiskt användargränsnitt som

presenteras för användaren. Via detta gränssnitt kan sedan användaren kommunicera med datorn.

Header Inledande informationsdel av ett datapaket. Här finns informa-tion om vilken typ av paket det är och adresser till mottagare och avsändare.

HTTP Hypertext Transport Protocol. Det protokoll som används för kommunikation på webben.

IEC International Electrotechnical Commission. Internationellt standardiseringsorgan inriktat på elektroteknik.

IETF Internet Engineering Task Force. En organisation som arbetar med att standardisera kommunikationen över Internet.

IP Internet Protocol. Det protokoll som utgör kärnan i Internet. Protokollet skapar ett homogent nätverk av flera olika fysiska nätverk.

IPMP Intellectual Property Management and Protection. MPEG:s namn på DRM.

ISMA Internet Streaming Media Alliance. En industriell organisation som arbetar med att öka användandet av öppna standarder vid multimediakommunikation över Internet.

ISO International Organization for Standardization. Internationell organisation som arbetar med att skapa internationella standarder.

MPEG Moving Picture Experts Group. En arbetsgrupp inom ISO/IEC som arbetar med att skapa standarder för att koda digital media. Multicast Används när någon vill skicka ett meddelande till en delmängd

av användarna i ett nätverk. Görs genom att använda speciella multicast-adresser.

Ord Förklaring

(19)

Inledning

MPEG-4-kompatibel settop-box för IP-nät baserad på öppna standarder 5 Pixel Picture element. Ett bildelement som motsvarar den minsta

beståndsdelen i ett raster.

Rendera Datorgenerering av bild från en modell.

RTCP Real-time Control Protocol. Protokoll som används för att kontrollera en tillhörande RTP-ström.

RTP Real-time Transport Protocol. Protokoll som används för att transportera realtidsmedia. Används oftast ovanpå UDP. RTSP Real Time Streaming Protocol. Protokoll som används för att

styra och kontrollera realtidsströmmar. Kan till exempel styra RTP-strömmar.

RTT Round Trip Time. Den tid det tar att skicka data över ett nätverk från en klient till en annan och tillbaka.

SAP Session Announcement Protocol. Ett transportprotokoll för SDP som använder multicast för att annonsera multimediasessioner. SDP Session Description Protocol. Ett beskrivande protokoll för

multimediasessioner. Protokollet är inte ett transportprotokoll utan är endast beskrivande.

Settop-box Mottagare för digital-TV. Används tillsammans med en vanlig TV-apparat.

Smartcard Samlingsnamn för kort som innehåller information relaterad till en viss applikation. Informationen kan sparas i exempelvis en magnetremsa eller mikroprocessor.

Streaming server Server som kan skicka multimediaströmmar i realtid.

TCP Transmission Control Protocol. Protokoll som används för att transportera data över IP på ett tillförlitligt sätt. TCP skapar en förbindelse med mottagaren innan data skickas.

Texturer En yta med olika egenskaper som används för att bekläda olika strukturer i datorgrafik.

TwinVQ Transform-domain Weighted Interleave Vector Quantization. Kodningsmetod för ljud baserad på transformkodning och psykoakustiska modeller.

UDP User Datagram Protocol. Ett protokoll som används för att trans-portera data över IP. UDP är inte tillförlitligt och det skapar ingen förbindelse med mottagaren innan det skickar data.

Ord Förklaring

(20)

URL Universal Resource Locator. Adressystem för att ange webb-sidor. En URL är en teckensträng som unikt identifierar en resurs på webben.

USB Universal Serial Bus. Ett gränssnitt för att ansluta externa enheter till en dator.

Video-on-demand En videouthyrningstjänst som kunden kan använda från hemmet. Filmen leveras direkt.

Öppen standard Standard som finns publikt tillgänglig. Standarden behöver dock inte vara gratis att tillgå eller använda.

Ord Förklaring

(21)

7

MPEG-4-kompatibel settop-box för IP-nät baserad på öppna standarder

K

APITEL

2

2

A

NVÄNDNINGSOMRÅDE FÖR

EN SETTOP

-

BOX

Detta kapitel beskriver och motiverar några möjliga användningsområden för en nätverksanpassad set-top-box.

2.1 Dagens settop-boxar

De flesta av dagens settop-boxar är anpassade för Digital Video Broadcasting, DVB [25]. Det är ett system för att distribuera digitala TV-sändningar över marksända nät, kabel-bundna nät och satellit. Settop-boxen används för att konvertera och avkoda den digitala signalen till den analoga signal dagens TV-mottagare kräver. Dessa settop-boxar är alltså bundna till traditionella distributionskanaler och kan inte kopplas upp mot datornät.

2.2 Motiv till en nätverksanpassad settop-box

Det finns flera fördelar med att anpassa en settop-box för datornät:

• Nåbarhet

Idag nås nästan hela jorden via Internet. • Tillgänglighet

Tillgängligheten är stor eftersom många människor redan har tillgång till Internet.

• Infrastruktur

Genom att använda redan befintlig infrastruktur kan kostnaden för att sända video minskas betydligt.

• Dubbelriktad kommunikation

Till skillnad från befintlig infrastruktur erbjuder nätverk möjlighet till dubbel-riktad kommunikation, det vill säga interaktivitet.

Allt detta gör att den initiala kostnaden för att sända video dramatiskt minskar jämfört med de kostnader och svårigheter som uppkommer i samband med uppstarten av till exempel ett marksänt nät. Samtidigt ökar storleken på den potentiella publiken. Resul-tatet blir att konsumenterna får fler valmöjligheter och kan välja mellan utbud från hela världen. Samtidigt får fler producenter av material möjlighet att distribuera detta till en stor publik.

(22)

2.3 Exempel på användningsområden

Det finns ett antal specifika användningsområden för en Internetanpassad settop-box. Många av dem kräver en särskild operatör som kan erbjuda intressanta och användbara tjänster. Vissa av tjänsterna erbjuds redan idag, andra bör kunna implementeras med befintlig teknik.

2.3.1 TV-sändningar

Idag distribueras TV-sändningar via det marksända TV-nätet, via kabel-TV eller via satellit. Sändningarna kan vara analoga eller digitala. I det senare fallet krävs en settop-box som anpassar signalen till TV-mottagaren. I samtliga fall krävs det dyrbar infrastruk-tur för att det ska vara möjligt att distribuera signalen till konsumenterna.

Om TV-sändningarna skickades över Internet skulle en Internetanpassad settop-box kunna användas som TV-mottagare. Vem som helst skulle kunna producera material och med relativt billig teknik distribuera materialet över Internet. I förlängningen skulle detta kunna betyda att det vanliga uttaget för TV-signaler ej behövs. Det skulle också innebära att de TV-sändningar som redan finns på nätet i form av nyhetsklipp och filmklipp kan presenteras på TV-apparaten med hjälp av settop-boxen. Det krävs således inte en separat hemdator för detta.

2.3.2 Video-on-demand

Genom att Internet används som distributionskanal kan en mycket flexibel video-uthyrningstjänst skapas. Tjänster av det slaget, som kallas video-on-demand, innebär att konsumenten, när som helst på dygnet, kan beställa en film och få den distribuerad till sig omedelbart. För konsumenten innebär det ökad åtkomst eftersom tjänsten blir helt automatiserad. Hänsyn behöver inte längre tas till öppettider. Det medför också ökad till-gänglighet eftersom en film aldrig kan vara “uthyrd”.

2.3.3 Webbåtkomst

Eftersom settop-boxen redan är anpassad för Internet är det ett naturligt steg att även erbjuda möjligheten att använda webben. Med en inbyggd browser behövs inte längre en hemdator utan webben kan istället nås via TV-apparaten. Webben kan i detta fall använ-das som en avancerad text-TV funktion.

2.3.4 Datorspel

Möjligheten att spela spel på settop-boxen skulle göra den till en attraktiv och flexibel spelkonsoll. Det blir allt populärare att spela datorspel över Internet mot andra spelare och där kan settop-boxen vara ett alternativ. Genom att låta spelen ligga på en central server behöver konsumenten inte köpa spelen. Istället kan konsumenten erbjudas att köpa rätten att spela de spel som finns tillgängliga på servern eller betala för den tid spelet spelas. Centraliseringen förhindrar även olovlig kopiering av spel eftersom konsumenten inte längre har direkt tillgång till mjukvaran.

(23)

Användningsområde för en settop-box

MPEG-4-kompatibel settop-box för IP-nät baserad på öppna standarder 9

2.4 Alternativt användningsområde

I många av de användningsområden som beskrivs ovan förutsätts att settop-boxen är kopplad till Internet, men detta behöver inte gälla för att settop-boxen skall vara funktio-nell. Den enda förutsättningen är att den kopplas till ett nätverk baserat på samma infra-struktur som Internet. Till exempel kan en nätverksoperatör bygga ett lokalt nätverk i en stad, ett så kallat stadsnät. I detta nät kan operatören hyra in eller själv erbjuda några av ovanstående tjänster. Konsumenterna kan sedan betala utifrån vilka tjänster de använder. På detta sätt kan även webbåtkomst erbjudas genom att konsumenten betalar för tillgång till en webb-gateway som operatören tillhandahåller.

(24)
(25)

11

MPEG-4-kompatibel settop-box för IP-nät baserad på öppna standarder

K

APITEL

3

3

V

IDEOKODNING

Detta kapitel beskriver kortfattat utveckling, begrepp och grundläggande funktion hos några av de idag vanligaste videokodningsstandarderna. Tyngd-punkten ligger på MPEG-4 eftersom denna standard är en förutsättning i detta examensarbete.

3.1 Bakgrund

Redan under utvecklingen av de analoga TV-systemen genomfördes experiment för att minska storleken på videosekvenser. Videosignaler kräver generellt sett mycket stor bandbredd och det är ännu idag ett kostsamt och svårlöst problem. För att överföra en digital video med 30 bilder per sekund, en upplösning på 720 x 480 pixlar och varje pixel representerad med 24 bitar skulle det krävas en datatakt på över 248 Mbps! Vare sig det gäller satellit-, radio- eller kabelöverföring så kommer bandbredden alltid att vara begränsad, vilket innebär att lösningar måste sökas på annat håll. Exempel på detta kan vara att koda om videosekvensen så att mindre bandbredd krävs vid transmission.

En annan anledning till att koda om videosekvenser är det utrymme som krävs för att lagra dem. Antag att sekvensen i exemplet ovan är en 80 minuter lång spelfilm. Detta skulle innebära att det krävs ungefär

utrymme för lagra den. Även om lagringsutrymme blir allt billigare är det fortfarande önskvärt att få ner storleken och därmed kostnaden för att lagra digital video.

3.2 Grundläggande teori

En generell modell av ett digitalt ljud- och bildkodningssytem illustreras i figur 1.

Figur 1: Modell av ett digitalt ljud- och bildkodningssystem.

80 60 248

8

---⋅ ⋅ = 148.8GB

(26)

Systemet karaktäriseras av kodaren och avkodaren. Ofta benämns dessa med för-kortningen codec (eng: coder - decoder). Detta beror på att de två är hårt förknippade med varandra. En viss kodare producerar data som bara motsvarande avkodare kan avkoda, så det är inte intressant med endast den ena komponenten.

Alla komprimeringsalgoritmer kan delas in i två grupper, förlustfria och förstörande. Med ett förslustfritt system kan det ursprungliga materialet alltid återskapas exakt, se figur 2a, medan ett förstörande system endast kan återge en approximation av det ursprungliga materialet, se figur 2b. I bilden representerar funktionen K kodaren och funktionen A avkodaren.

Figur 2: a) Ett förlustfritt system. b) Ett förstörande system.

Genom att kontrollera hur stor del av det ursprungliga materialet som får gå förlorat kan olika grad av kompression uppnås.

Förlustfria algoritmer är en förutsättning för att komprimera binära filer och text efter-som varje bit måste återskapas exakt. En text skulle till exempel kunna få en helt annan innebörd genom att bara en bokstav ändras. Däremot kan förstörande kodning ofta användas inom ljud-, bild- och videokodning eftersom mindre fel då är svåra att uppfatta.

3.2.1 Ljud- och bildkodning

Några av de mest grundläggande begreppen inom ljud- och bildkodning är kvantisering och entropikodning. Den vanligaste metoden benämns transformkodning och bygger på att en bild eller en ljudsignal först transformeras med hjälp av en lämplig transform, sedan kvantiseras och till sist entropikodas. Dessa begrepp förklaras utförligare i föl-jande avsnitt.

3.2.1.1 Kvantisering

Kvantisering innebär att en viss mängd information i mediat bortses från. Det är kvanti-seringen som åstadkommer den största kompressionen och det är också den som distorderar bilden eller ljudet på ett sådant sätt att de inte kan återskapas exakt. Högre kompression innebär att mer information tas bort och att mediat avviker mer från det ursprungliga. Det existerar två olika typer av kvantisering; skalär kvantisering och

vektorkvantisering.

Skalär kvantisering innebär att alla tänkbara symboler, som kan vara en oändlig mängd om källan är analog, grupperas i en kvantiseringstabell. På detta sätt blir antalet kodord ändligt och färre än antalet möjliga symboler. Mängden kodord blir också diskret. Nack-delen är att flertalet symboler avrundas. Kvantiseringstabellen behöver inte vara lik-formigt uppdelad utan kan ha högre upplösning i vissa intervall. Ett exempel på en likformig kvantiseringstabell ges i tabell 2 där källan genererar symboler mellan 0 och 4.

K x( ) = yA y( ) = x K x( ) = yA y( )≈x

(27)

Videokodning

MPEG-4-kompatibel settop-box för IP-nät baserad på öppna standarder 13 Denna kvantiserare kallas för 2-bitars kvantiserare eftersom det krävs två bitar för att representera alla möjliga kodord.

Hur kodorden väljs är inte självklart. I exemplet ovan har de valts som medelvärdet av de möjliga symbolerna men det finns mer avancerade metoder [1].

Vektorkvantisering innebär ett liknande förfarande. Skillnaden är att symboler först grupperas i vektorer. De möjliga vektorerna grupperas sedan i kvantiseringstabellen.

3.2.1.2 Entropikodning

Entropikodning är det sista som utförs innan den komprimerade ljud- eller bildsekvensen skickas till mottagaren. Med hjälp av statistiska metoder kan mediainformationen repre-senteras på ett kompaktare sätt. Den vanligaste metoden kallas för Huffmankodning och innebär att symboler som förekommer med hög sannolikhet representeras med korta kodord och mindre sannolika symboler representeras med längre kodord.

Skurlängdskodning är en något annorlunda metod. Som namnet antyder anges längden av skurar med likadana symboler. Kodordet motsvaras då av en längd och typ av symbol. Denna typ av kodning är ineffektiv om symbolerna varierar ofta.

Samlingsnamnet för ovanstående typ av metoder är variabellängdskodning eftersom kodorden har olika längder. En annan vanlig metod för variabellängdskodning är

aritmetisk kodning [1].

3.2.1.3 Transformkodning

Genom att transformera en bild eller en ljudsekvens med lämplig transform erhålls en frekvensrepresentation av mediainformationen. Detta görs eftersom det då är lättare att separera viktiga och mindre viktiga delar. Vad som är viktigt och mindre viktigt beror på ögats och örats egenskaper och hur vi uppfattar bilder och ljud. En annan viktig fördel med transformen är att den underlättar entropikodningen. Frekvensrepresentationen av bilder visar sig vara utmärkt för skurlängdskodning, se nedan.

Den idag vanligast förekommande transformen för bildkodning är den diskreta cosinustransformen, DCT. Den ger nästan lika bra prestanda som den optimala Karhunen-Loéve-transformen, och har fördelen av att vara dataoberoende. Trans-formeringen går till på så sätt att bilden delas upp i så kallade transformblock. Varje sådant transformblock transformeras sedan för sig, för att underlätta beräkningarna och minska behovet av minne. Det visar sig även att detta inte är någon större nackdel

efter-Symbolintervall Kvantiserad symbol Kodord

0-1 0.5 00

1-2 1.5 01

2-3 2.5 10

3-4 3.5 11

(28)

som de statistiska egenskaperna bibehålls i de mindre blocken. Tvådimensionell DCT kan ses som en matrismultiplikation

där X är insignalen, Y är utsignalen och C är transformatrisen som ges av [1]:

Det har visat sig att ögat är mindre känsligt för förändringar bland de högre frekvens-komponenterna än de lägre frekvensfrekvens-komponenterna. Rent praktiskt innebär detta att ett antal av de högre frekvenserna skalas bort från bilden och att andra transformkomponen-ter avrundas. Ett exempel ges i figur 3.

Figur 3: f representerar originalbilden. F är bilden efter transform och kvantisering [5]. Y = CTXC

C

[ ]

i j,

1

N

----

(

2 j

+

1

)

i

π

2N

---

,

i

cos

=

0 j

,

=

0 1

, , ,

N

1

2

N

----

(

2 j

+

1

)

i

π

2N

--- i

,

=

1 2

, , ,

N

1 j

,

cos

=

0 1

, , ,

N

1

=

f 85 86 87 89 91 92 94 94 96 96 96 95 95 94 94 94 113 111 109 105 101 98 95 94 126 124 119 114 108 102 98 96 130 128 124 118 112 107 102 100 125 124 121 117 114 110 108 106 115 115 114 114 113 113 113 112 107 108 109 111 113 114 116 116 = F 854 31 0 0 0 0 –1 0 63 – 0 0 0 0 0 0 0 38 – –44 0 0 0 0 –1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 –1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 =

(29)

Videokodning

MPEG-4-kompatibel settop-box för IP-nät baserad på öppna standarder 15 I figuren ses varför transformeringen underlättar för entropikodningen. Genom så kallad

zig-zag scan, som innebär att matriskomponenterna läses i zick-zack-ordning med början

i det övre vänstra hörnet och slut i nedre högra hörnet, erhålls långa skurar av nollor. Se figur 4.

Figur 4: Principen för zig-zag scan.

Dessa skurar av likadana symboler är idealiska för skurlängdskodning och används där-för med gott resultat i många transformkodare.

För ljudkodning används en endimensionell transform och även här är DCT, eller någon variant av denna, vanlig [1]. För övrigt är principen densamma som för transform-kodning av bilder.

3.2.2 Digitalisering av videosekvenser

I många sammanhang förekommer videosekvenser som analoga signaler inspelade med till exempel en analog videokamera. För att kunna behandla dessa digitalt måste de först digitaliseras. Detta görs genom att signalen samplas. En vanlig representation av digitala videosignaler är RGB som står för Red-Green-Blue. Där representeras de diskreta signalvärdena, pixlarna, med ett värde för hur mycket rött, grönt och blått de innehåller. Ofta används en byte för varje färg, det vill säga 24 bitar per pixel.

Normalt sett används YUV-formatet, ibland kallat YCrCb, som insignal till video-kodningsalgoritmer och vid TV-sändningar. En YUV-signal är uppdelad i något som kallas luminans (Y) och krominans (U och V). Luminansen är bildens gråskalevärden, eller ljusstyrka, och krominansen är bildens färgvärden. Anledningen till att YUV är bättre än RGB är att YUV har vissa fördelar vid komprimering, se avsnitt 3.3.1. YUV-formatet kräver också mindre bandbredd än RGB eftersom alla tre delsignalerna i RGB innehåller luminans. Genom att separera denna ur RGB-signalerna behöver luminansen endast sändas en gång i stället för tre gånger. RGB-signalen konverteras till YUV genom en transformation som ser ut på följande sätt:

I samband med samplingen bestäms även bildens upplösning, det vill säga hur många pixlar som används för att representera bilden. Varje signalkomponent samplas för sig, ju fler sampel desto högre upplösning.

Y U V 0.299 0.587 0.114 0.147 – –0.289 0.436 0.615 –0.515 –0.100 R G B =

(30)

3.3 Videokompression

Komprimering av videosekvenser liknar komprimering av bilder eftersom video-sekvenser består av en lång sekvens med stillbilder. Skillnaden är att det finns en bety-dande redundans i en videosekvens eftersom det i allmänhet inte är mycket som ändras mellan två efterföljande bilder. Detta, som kallas temporal redundans, kan utnyttjas för att uppnå högre kompression. När en videosekvens ska komprimeras utnyttjas den temporala redundansen genom rörelsekompensation. Tillsammans med transform-kodningen kallas detta för hybridkodning. En viss grad av kompression kan också erhållas genom att videosignalen nedsamplas i samband med digitaliseringen. Dessa begrepp förklaras närmare i efterföljande avsnitt.

3.3.1 Nedsampling av videosignaler

Det mänskliga ögat är mindre känsligt för krominans än luminans och detta kan utnyttjas då en videosignal skall komprimeras. Genom att krominansen samplas med en lägre hastighet krävs det mindre data för att representera bilden. Hur denna nedsampling gjorts representeras ofta med en trippel av heltal. Innebörden av dessa tre siffror är tyvärr inte konsekvent men för de flesta formaten motsvarar det den samplingsfrekvens som använts för komponenterna, Y:U:V. Till exempel 4:2:2 innebär att luminans samplats med fyra gånger en grundfrekvens och krominanserna med två gånger denna grundfrekvens, se figur 5a. Nedsamplingen har enbart skett i horisontalled. Samma sak gäller för 4:1:1 där krominanserna samplats med grundfrekvensen.

Ett annat alternativ är att även nedsampla i vertikalled. Genom att sampla med två gånger grundfrekvensen i både vertikal- och horisontalled fås 4:2:0 formatet, se figur 5b. Detta format kräver således samma bandbredd som 4:1:1.

Figur 5: a) 4:2:2 formatet. b) 4:2:0 formatet.

(a) (b)

(31)

Videokodning

MPEG-4-kompatibel settop-box för IP-nät baserad på öppna standarder 17 Ett vanligt bildformat för digital video som använder 4:2:0 formatet är Common

Inter-mediate Format, CIF. I tabell 3 ges definitionen på CIF och fyra andra varianter.

3.3.2 Rörelsekompensation

Ofta är två efterföljande bilder i en videosekvens väldigt lika. Hur lika de är beror bland annat på hur snabba scenförändringar det är i scenen som bilderna representerar. Även vid snabba scenförändringar är ofta det huvudsakliga innehållet i bilden detsamma även om föremål kan ha förflyttats jämfört med föregående bild. Detta utnyttjas genom att bil-den först delas upp i mindre delar. Varje mindre del matchas sedan med delarna i nästa bild i sekvensen. När den bästa matchningen hittats beräknas en rörelsevektor som beskriver hur motsvarande delbild förflyttats mellan bilderna. Se figur 6.

Figur 6: Princip för rörelsekompensation.

Det faktum att sekvensen i många fall består av liknande bilder gör också att nästa bild i serien kan predikteras utifrån den nuvarande. Det som egentligen skickas till mottagaren är då skillnaden mellan den predikterade bilden och den korrekta bilden, det så kallade prediktionsfelet. I det enklaste fallet innebär predikteringen att nästa bild förutsätts vara likadan som nuvarande bild. Det ideala fallet är en scen där ingenting förändras och bild-erna är då ekvivalenta. Då stämmer predikteringen perfekt och prediktionsfelet blir noll. Istället för att koda hela bilden igen anges då att ingenting förändrats sedan föregående bild. I det andra extremfallet, som till exempel kan vara ett scenbyte, förändras scenen helt och ingenting är likt den föregående bilden. Prediktionsfelet blir då stort.

Sub-QCIF QCIF CIF 4CIF 16CIF

Antal pixel per linje

128 176 352 704 1408

Antal linjer 96 144 288 576 1152

Okomprimerad datatakt vid 30 Hz

4.4 Mbit/s 9.1 Mbit/s 37 Mbit/s 146 Mbit/s 584 Mbit/s

(32)

För att få en effektivare prediktering beaktas även rörelsevektorerna. Ett föremål som rört sig i en viss riktning innan förutsätts fortsätta i samma riktning. Denna vidare-utveckling ger i många fall en bättre prediktering och kallas för rörelsekompenserad

prediktion.

Ytterligare effektivitet kan erhållas genom så kallad global rörelsekompensation, GMC. Detta innebär att rörelse av hela bilden undersöks. Det är till exempel bra då bilden panorerar i någon riktning.

Förbättring kan också erhållas genom så kallad subpixel rörelsekompensation. Om detta används beräknas rörelser med högre nogrannhet än en pixel. En nackdel med detta är att det krävs relativt många och ibland komplicerade beräkningar.

3.3.3 Hybridkodning

Genom att kombinera transformkodning och rörelsekompensation fås det som kallas hybridkodning. I figur 7 presenteras ett blockschema över en videokodare av denna typ.

Figur 7: Blockschema för kodare.

Kodaren är relativt komplicerad och kräver att inverstransformen till DCT används. Nu för tiden finns dock hårdvarulösningar som med mycket gott resultat kan användas för kodningen.

+

+

Rörelse-estimering Entropi-kodning Entropi-kodning Prediktering DCT Kvantisering Invers-kvantisering Invers-DCT Multiplex Bitström In

(33)

Videokodning

MPEG-4-kompatibel settop-box för IP-nät baserad på öppna standarder 19 Till skillnad från kodaren är avkodaren enkel och rättfram till konstruktionen, se figur 8.

Figur 8: Blockschema för avkodare.

Efter att bitströmmen delats upp och entropiavkodats sker en inverskvantisering och inverstransformering. Skillnaden mellan bilden och föregående bild appliceras sedan på den med hjälp av rörelsevektorerna predikterade bilden. Ofta krävs att avkodaren är snabb och enkel för att systemet skall vara användbart.

3.3.4 Skalbar kodning

Skalbar kodning innebär att kodningen genomförs i så kallade lager [23]. Först skapas ett

grundläggande baslager som sedan kan utökas med förbättringslager. Baslagret mot-svarar vanlig oberoende kodning med låg datatakt. Beroende på tillgänglig bandbredd kan sedan ett antal förbättringslager läggas till för att uppnå högre kvalitet. Förbättrings-lagren är beroende av baslagret.

Fördelen med skalbar kodning är att komplexiteten kan anpassas efter hur stora resurser avkodaren har samt att vid transmission över bandbegränsade kanaler kan antalet lager väljas och prioriteras efter tillgänglig bandbredd.

3.4 MPEG

Moving Picture Expert Group, MPEG, bildades 1988 med syftet att utveckla en standard

för hur videosekvenser skall kodas vid olika datatakter. MPEG skapades som ett sam-arbete mellan International Organization for Standardization, ISO, och International Electrotechnical Commission, IEC, och de inriktade sig från början på tre olika data-takter, 1.5 Mbps, 10 Mbps och 40 Mbps [3]. Dessa benämndes MPEG-1, MPEG-2 och MPEG-3. Senare visade det sig att MPEG-2 kunde hantera datakter ända upp till 60 Mbps och MPEG-3 behövdes därför inte. Denna lades därför ned.

Några år senare bestämde sig MPEG-gruppen för att producera en ny standard inriktad på multimedia. Standarden benämndes MPEG-4 och målet var att skapa en gemensam bas för hur alla typer av ljud, video, bilder, 2D- och 3D-grafik och animeringar skall kodas och kombineras för att utgöra en hel presentation. I efterföljande avsnitt ges en kort beskrivning av den grundläggande funktionaliteten hos MPEG-1/2 och MPEG-4.

Bitström Ut Demultiplex Entropi-avkodning Entropi-avkodning Invers-DCT Invers-kvantisering Rörelse-kompensation

(34)

3.4.1 MPEG-1/2

En MPEG-kodad film är en sekvens bilder av tre olika typer. Dessa bilder kallas I-, P-och B-frames, se figur 9.

Figur 9: En MPEG-kodad videosekvens.

En I-frame, eller intra coded frame, är en bild som kan återskapas separat och helt utan referenser till andra bilder. En P-frame, eller predicted frame, är en bild som predikteras utifrån föregående I- eller P-frame. Den kräver alltså tillgång till en annan bild för att kunna återskapas. En B-frame, eller bidirectional frame, är en bild som predikteras med hjälp av föregående I- eller P-frame och nästkommande I- eller P-frame. Den behöver alltså två stycken andra bilder för att kunna återskapas. P- och B-frames kallas för inter

coded frames. En videosekvens startar alltid med en I-frame och sedan återkommer

dessa med jämna mellanrum. Ju större avstånd det är mellan dessa desto större kom-pression uppnås. En nackdel med för stora avstånd är att möjligheten att spola framåt eller bakåt i sekvensen försämras eftersom “spolningsupplösningen” minskar.

Videokodningsalgoritmerna i både MPEG-1 och MPEG-2 bygger på att bilden, som kan vara en originalbild om en I-frame skall kodas eller skillnaden mellan en bild och en predikterad bild om en P- eller B-frame skall kodas, delas upp i block på 8 x 8 pixlar. Varje sådant block transformeras med hjälp av DCT, se avsnitt 3.2.1.3. Fyra stycken luminansblock och ett antal krominansblock, beroende av vilket format som används, bildar ett macroblock. För 4:2:2 formatet motsvarar ett macroblock fyra luminansblock och två block av varje krominans typ. Rörelsekompenserad prediktering utförs på macro-block. Den generella strukturen för kodaren är samma som i figur 7.

MPEG-2 kan ses som en utbyggnad av MPEG-1 och varje MPEG-2 kompatibel avkodare kan även avkoda MPEG-1. En av de stora skillnaderna mellan MPEG-1 och MPEG-2 är införandet av profiler och nivåer. MPEG-2 standarden kan liknas vid en verktygslåda med många olika verktyg för att koda ljud och bild. Ett eller flera av dessa verktyg kan användas och olika grad av kvalitet och kompression uppnås. Genom att

(35)

Videokodning

MPEG-4-kompatibel settop-box för IP-nät baserad på öppna standarder 21 införa dessa profiler och nivåer går det att bestämma vilka av dessa verktyg som skall användas för att kodaren skall vara kompatibel med en viss profil och en viss nivå. Profilerna anger vilka algoritmer som skall användas och nivåerna begränsar vissa av parametrarna såsom datatakt och upplösning.

MPEG-2 är idag frekvent förekommande inom en rad tillämpningar. Till exempel DVD och digital television, DVB, använder MPEG-2 kodat material. För en DVD-film ligger normalt bithastigheten på 2-9.8 Mbps, vilket är vad som krävs för att få acceptabel filmkvalitet.

För en utförligare beskrivning av MPEG-1/2, inklusive ljudkodning, hänvisas till [6] och [7].

3.4.2 MPEG-4

Det ursprungliga målet med MPEG-4, som påbörjades 1993, var att skapa en flexibel standard som hanterar låga datatakter. Detta ändrades dock snart till en mer generell inriktning mot kodning av multimedia. Den första delen av standarden, version 1, färdig-ställdes 1999 och en utökning, version 2, blev klar 2000.

Med MPEG-4 introducerades ett nytt tänkande inom multimediakodningen. Scener och videosekvenser ses som en hierarkisk sammansättning av olika objekt. Ett objekt kan till exempel vara en bakgrund, en eller flera personer, en animerad figur, ett ljudspår eller helt enkelt en klassisk videosekvens. Varje objekt kodas för sig med metoder anpassade för det objektets struktur. En komplett scen innehåller en eller flera sådana objekt samt en object description, OD, som är en beskrivning av hur scenen är sammansatt, både i rum och i tid. För beskrivningen används ett speciellt språk som kallas Binary Format for

Scene Descriptions, BIFS. Den hierarkiska strukturen ges i figur 10.

Figur 10: Den hierarkiska strukturen för en MPEG-4 scen [22].

Video Session (VS)

Video Object (VO)

Video Object Layer (VOL)

Video Object Plane (VOP)

}

}

VS1 VS2

VO1 VO2

VOL1 VOL2

VOP1 VOP2 VOP1 VOP2

(36)

Video session är en komplett scen som kan bestå av ett eller flera video object. Ett video

object motsvarar ett objekt i scenen och är i enklaste fallet en fyrkantig bild. Varje video object består i sin tur av ett eller flera video object layer. Ett video objekt layer motsvarar icke-skalbar kodning och flera video object layer motsvarar skalbar kodning, se avsnitt 3.3.4. Slutligen består varje video object layer av flera video object plane. Dessa mot-svarar ett tidsampel och för bilder kan de liknas med de olika frames som finns i MPEG-2. Precis som för MPEG-2 finns också motsvarigheterna I-VOP, P-VOP och B-VOP och funktionen är densamma, se avsnitt 3.4.1.

Ett vanligt förekommande begrepp vid hantering av MPEG-4 kodat material är

elementary stream, ES. Detta begrepp används för att beskriva den egentliga bitström

som hanteras efter kodningen. Varje ES innehåller ett eller delar av ett kodat objekt, en scene description eller kontrollinformation. Till exempel kan en videoscen generera en ES som innehåller ljud, en ES som innehåller video och en ES som innehåller system-information i form av en OD.

Standarden är uppdelad i tio delar [8]. Några av de mest intressanta är: • Systems

Definierar hur olika objekt skall hanteras för att bygga upp en scen. Innehåller en beskrivning av BIFS och filformat. Beskriver även hur olika ES hanteras och modifieras.

• Visual

Definierar verktyg för att koda visuellt material i olika former. Stöd finns bland annat för vanliga bilder, syntetiska två- och tredimensionella bilder, skalbar kod-ning, ansiktskodning och texturkodning. Standarden hanterar både interlaced och progressivt material.

• Audio

Definierar verktyg för att koda ljud i olika former. Speciella verktyg finns bland annat för tal och syntetiskt ljud. Bland de metoder som stöds kan nämnas AAC, TwinVQ och CELP [24].

• Delivery Multimedia Integration Framework

DMIF definierar ett gränssnitt mellan applikationen och transportlagret. Detta gör att ingen hänsyn till detta behöver tas på applikationsnivå.

• 4 on IP framework

MPEG-4 definierar inte transportlagret men en del anpassningar till existerande transportlager har gjorts, till exempel MPEG-2 TS.

3.4.2.1 Profiler

Precis som i MPEG-2 finns ett antal profiler definierade [24]. Varje profil är en delmängd av MPEG-4 standarden. Därmed behöver inte alla avkodare implementera hela standarden utan kan begränsas till en eller flera profiler. Profilerna sätter alltså en begränsning på vilka funktioner som måste implementeras i avkodaren och komplexiteten kan hållas nere utan att kompatibiliteten förloras. Till varje profil hör också en nivå, eller level, även detta som i MPEG-2. Nivåerna används för att begränsa den nödvändiga datorkraften.

(37)

Videokodning

MPEG-4-kompatibel settop-box för IP-nät baserad på öppna standarder 23 Profiler finns definierade för ljud, video, grafik och scenbeskrivningar. De vanligaste profilerna för video är:

• Simple profile

Används för att koda rektangulära objekt och passar bra till mobila nätverk. • Advanced simple profile

Liknar simple profile men har några extra verktyg för att öka effektiviteten. Dessa är B-VOP, 1/4 pixel rörelsekompensation, några extra kvantiserings-tabeller och global rörelsekompensation.

Den vanligaste profilen för ljud är: • High quality audio profile

Använder CELP för talkodning och AAC för ljudkodning.

3.4.2.2 Feltolerans

Feltolerans, eller error resilience, är en förutsättning för överföring av bildsekvenser i miljöer där fel lätt uppkommer. Exempel på sådana kan vara mobila nätverk där data ofta skickas över radio. MPEG-4 Visual tillhandahåller fyra olika verktyg för att öka fel-toleransen:

• Resynchronization

Detta är det vanligaste sättet att göra data feltolerant. På vissa ställen i bit-strömmen placeras unika markeringar. Om avkodaren upptäcker fel väntar den på nästa synkroniseringsmarkering och fortsätter där [22].

• Data partitioning

Detta innebär att data med rörelser separeras från data med texturer. Om ett fel uppstår kan effektivare metoder användas för att åtgärda felet [22].

• Header extension code

Detta är binära koder som tillåter redundant header-information. På så sätt minskar sannolikheten för felaktig header [22].

• Reversible VLC:s

Variabellängdskoder som ytterligare minskar sannolikheten för fel. Dessa kod-ord kan avkodas både framifrån och bakifrån. Om ett fel upptäckts och avkodaren väntat på nästa synkroniseringsmarkering kan den även avkoda bakåt från markeringen för att minska felets inverkan [22].

(38)

3.4.2.3 Filformat

I MPEG-4 Systems definieras ett format för att lagra MPEG-4-kodat material i filer. For-matet är mycket flexibelt och är baserat på QuickTime-forFor-matet från Apple Computer [26]. En MPEG-4 fil har filändelsen .mp4 och benämns därför mp4-fil. Det generella utseendet på en mp4-fil ges i figur 11.

Figur 11: Generellt utseende på en mp4-fil [24].

Filen är uppbyggd av objektorienterade strukturer som kallas atoms. Varje atom identi-fieras med hjälp av en unik märkning och sin längd. Det finns flera olika typer av atoms; vissa innehåller information och pekare (t extrak) medan andra innehåller aktuell media (mdat). Alla dessa atoms är samlade i en huvudatom, moov, som kan ses som filen. Mediainformationen behöver inte finnas fysiskt i filen utan kan vara länkad från andra platser via URL:er [24].

För att göra det enkelt att skicka (strömma) media över nätverk finns möjlighet att skapa så kallade hint tracks. Det är metadata som sparas i filen som en speciell atom och som beskriver hur filen lämpligast delas upp i mindre delar. Vad som är lämpligaste upp-delningen är beroende av vilket transportprotokoll som används. För att möjliggöra transport över flera protokoll kan flera hint tracks skapas i samma fil. För mer information om protokoll, se kapitel 3, och för mer information om att strömma MPEG-4, se kapitel 5.

3.5 Senaste framstegen inom videokodning

I takt med nya tekniker utvecklas även effektivare metoder för videokodning. Den senaste standarden är utvecklad i ett gemensamt projekt mellan MPEG och ITU som kallas JVT, Joint Video Team. Standarden, som benämns H.264, skall även bli en del av MPEG-4 där den kommer att heta AVC, Advanced Video Coding [9].

mp4-fil moov

IOD trak (BIFS)

trak (OD) trak (video) trak (audio) mdat ...other atoms Interleaved, time-ordered, BIFS, OD,

video and audio

(39)

Videokodning

MPEG-4-kompatibel settop-box för IP-nät baserad på öppna standarder 25 I figur 12 presenteras resultatet av en jämförelse av prestanda för några olika video-kodningsstandarder [37]. Den videosekvens som använts är i CIF-format och i 30 Hz. Figuren visar erhållen signal-brus-nivå för olika datatakter.

(40)
(41)

27

MPEG-4-kompatibel settop-box för IP-nät baserad på öppna standarder

K

APITEL

4

4

D

ATORNÄT

Detta kapitel ger en kort introduktion till datornät. Tyngdpunkten ligger på IP-protokollet och protokoll relaterade till detta. IP är den viktigaste komponen-ten i Internet och måste därför stödjas av settop-boxen.

4.1 Introduktion

Intresset för datornät har ökat dramatiskt de senaste åren och en viktig anledning till detta är Internet. Från att ha varit ett av militären sponsrat forskningsprojekt på 1960-talet har det övergått till ett världsomspännande hjälpmedel för kommunikation och informationsförmedling. För att förstå grunderna i Internets uppbyggnad behövs även en viss förståelse för datornät och protokoll i allmänhet. Detta kapitel ger en kortfattad beskrivning av dessa.

4.2 Nätverksarkitekturer och begrepp

Det finns många olika typer av datornät. I den enklaste formen består ett datornät av två datorer, eller noder, som är direkt sammankopplade via en kabel. Något mer komplicerat blir det när fler än två noder behöver kopplas samman. Det finns olika sätt att göra detta. Ett sätt är att anslutna dem till en gemensam kanal, se figur 13.

Figur 13: Ett multiple-access-system.

Kanalen kan till exempel vara en kabel eller en radiokanal, om nätverket är trådlöst. I ett sådant, så kallat multiple-access-system, kan inte alla noder kommunicera samtidigt. Istället tillåts endast en nod i taget sända. Vilken nod som får sända bestäms på olika sätt i olika typer av system.

Villkoret att bara en nod i taget får sända medför att multiple-access-system är begrän-sade i storlek, både fysiskt och vad gäller antal noder. För att ett större antal datorer ska

(42)

kunna kopplas samman inses att en direkt kabel inte kan dras mellan alla datorer. Istället skapas ett så kallat switchat nätverk, se figur 14.

Figur 14: Ett switchat nätverk.

Det karaktäristiska för ett switchat nätverk är att en eller flera noder har fler än en anslutning. Dessa noder måste vara kapabla att vidarebefordra data från en nod till en annan.

De två vanligaste typerna av switchade nätverk är kretskopplade och paketbaserade. I ett kretskopplat nätverk skapas först en förbindelse mellan de två noder som vill kommunicera. Denna förbindelse upprätthålls så länge det finns data att skicka och sedan kopplas den ned. Eftersom kapaciteten över en förbindelse är begränsad innebär det att ett begränsat antal noder kan kommunicera. De som skapat en förbindelse har dock en förbindelse med garanterad kapacitet. På detta sätt fungerar till exempel dagens tråd-bundna telefonsystem.

I det paketswitchade nätverket, som är den vanligaste typen av datornät, delas den data som en nod ska skicka upp i diskreta delar, ofta benämnda paket. Dessa paket markeras med mottagarens adress och skickas till nästa nod. Noderna använder normalt en strategi som kallas store-and-forward. Detta innebär att när en nod får in ett paket sparar den paketet i internminnet och vidarebefordrar sedan paketet till nästa nod. Detta förfarande fortsätter till paketet nått mottagaren. Paketswitchade nätverk behandlas mer utförligt i avsnitt 4.3.

Nätverk som har en fysisk utsträckning på mindre än en kilometer kallas typiskt för

local area network, LAN, och de med större utsträckning för wide area network, WAN.

För att underlätta nätverksdesign införs ofta abstraktionsnivåer som kallas lager. Dessa lager, och hur de används, beskrivs i efterföljande avsnitt.

4.2.1 Lager och protokoll

För att hantera komplexa nätverk används ofta en abstrakt modell där funktionaliteten delas upp i lager. Fördelen med en modell uppdelad i lager är att problemen delas upp i mindre delar som är lättare att implementera. Det ger även en modulär design vilket gör det lätt att lägga till eller ta bort funktionalitet. En modulär design blir också lättare att överskåda.

Modellen skapas genom att de tjänster som den underliggande hårdvaran erbjuder stu-deras. Utifrån detta skapas en rad ovanliggande lager med abstrakta tjänster. Ett lager på

(43)

Datornät

MPEG-4-kompatibel settop-box för IP-nät baserad på öppna standarder 29 en viss nivå implementeras med hjälp av de tjänster som de underliggande lagren erbjuder.

Funktionaliteten i varje lager implementeras i ett eller flera protokoll. Ett protokoll erbjuder alltså tjänster åt ovanliggande protokoll. Det definierar även ett gränssnitt för formen på den data som utbyts mellan två protokoll på samma nivå, men i olika noder, se figur 15.

Figur 15: Gränssnitt för ett protokoll [2].

När protokollet får data från ett ovanliggande lager lägger det till information i form av en header. Denna innehåller olika information beroende på vilken typ av protokoll det är men några exempel är adress, id-nummer och kontrollsumma. Efter detta används under-liggande protokolls tjänster för att skicka data vidare.

När ett protokoll får data från ett underliggande protokoll används informationen i headern för att avgöra var data ska ta vägen.

Denna struktur för protokoll, som skapas med en modell uppdelad i lager, kallas ofta för protokollstack. Host 1 Host 2 High-level object Protocol High-level object Protocol Peer-to-peer interface Service interface

(44)

4.2.2 OSI-modellen

1984 standardiserade ISO en modell för nätverk, se figur 16. Denna modell är uppdelad i sju olika lager och kallas Open Systems Interchange, OSI.

Figur 16: OSI-modellen.

Physical layer hanterar den egentliga transmissionen av bitar över den aktuella kanalen.

För ovanstående lager erbjuder det en möjlighet att skicka bitar över nätverket. Data link

layer koordinerar tillgången till kanalen med hjälp av olika accessmetoder. Det

abstra-herar också bort utseendet på kanalen för ovanliggande protokoll. Tre vanliga standarder för dessa två nedersta lager är Ethernet, FDDI och ATM [2].

Network layer hanterar routing i nätverket. Dessa tre nedersta lager implementeras

normalt i samtliga noder i ett nätverk. Lagren ovanför är till stor del applikationsbero-ende och behöver endast implementeras i start- och slutnoder. Transport layer och

session layer hanterar bland annat tillförlitlig överföring respektive sessionshantering. Presentation layer ansvarar för att data presenteras på rätt sätt beroende på vilken

datorarkitektur som används. Det kan även hantera viss kryptering. Överst i modellen finns application layer som är applikationsspecifikt.

4.2.3 Bandbredd och fördröjning

För att mäta kapacitet och prestanda i ett nätverk används en rad olika begrepp och definitioner. Två av de mest användbara begreppen är bandbredd och fördröjning. I sam-band med datornät definieras sam-bandbredd som det antal bitar som kan överföras under en viss tid. En förbindelse med en bandbredd på 10 Mbps kan således överföra 10 miljoner bitar varje sekund. Det är viktigt att skilja på kapaciteten över en viss förbindelse och på kapaciteten i hela nätverket. Även om en viss förbindelse har en viss bandbredd så behö-ver inte hela nätbehö-verket ha samma bandbredd.

Det andra viktiga måttet är fördröjning. Detta är ett mått på hur lång tid det tar för ett meddelande att färdas från en del av nätverket till ett annat. Även här kan fördröjningen gälla en viss förbindelse eller ett helt nätverk. Ofta är det mer intressant att veta hur lång tid det tar för ett meddelande att färdas både fram och tillbaka. Detta kallas för round-trip

(45)

Datornät

MPEG-4-kompatibel settop-box för IP-nät baserad på öppna standarder 31 Fördröjningen består huvudsakligen av tre komponenter; tiden för signalöverföring som är begränsad av ljusets hastighet, den tid det tar att sända data samt den köbildning som kan uppstå i nätet, se avsnitt 4.3.

4.3 Paketswitchade nätverk

När stora nätverk ska konstrueras är det inte längre möjligt att ha direkt koppling mellan alla noder. Istället används switchade nätverk. I datornät är paketswitchade nätverk det vanligaste tillvägagångssättet. Ett paketswitchat nätverk består av ett antal noder med en eller flera förbindelser, se figur 14. De noder som har fler än en förbindelse kan vidare-befordra, eller switcha, paket från en anslutning till en annan. Dessa noder kallas således för switchar. Med hjälp av switchar kan paket skickas via en eller flera noder.

Switchar kan ha en mängd olika funktioner. De kan dessutom arbeta på olika nivåer i OSI-modellen. De enklaste switcharna jobbar i de två lägsta lagren i modellen. De något mer avancerade switcharna jobbar i network layer. Det är inte självklart hur switcharna vet vilken mottagare som finns på vilken anslutning och det finns olika sätt att ta reda på detta [2].

Fördelen med switchade nätverk är att alla noder kan sända utan att skapa en för-bindelse. Detta leder till ökad effektivitet. De gör också nätverken lätta att bygga ut. En nackdel med switchade nätverk är att kapaciteten hos switcharna är av stor vikt. Ju fler noder som är anslutna till en switch desto större kapacitet måste den ha för att kunna lagra alla inkommande paket och sedan vidarebefordra dessa. Om denna buffert tar slut är switchen tvungen att slänga inkommande paket. Detta problem kallas ofta för

conges-tion. Ett annat problem som kan uppstå är när så många paket ska skickas på samma

anslutning att bandbredden inte räcker till. Detta problem, som kallas för contention, innebär att paketen måste läggas i en kö och i värsta fall leder detta till congestion.

4.3.1 Multicast

I de flesta fall vill en nod kommunicera med en mottagare, men det finns fall då en nod vill kunna nå alla andra noder i nätverket. Detta kallas för broadcast. Ett alternativ är att en nod vill kommunicera med en delmängd av de andra noderna. Detta kallas för

multi-cast. För att multicast skall fungera krävs att switcharna stöder detta. Broadcast är

rela-tivt enkelt och innebär att switchen vidarebefordrar paketet till alla andra anslutningar. Multicast är däremot komplicerat och många gånger implementeras det som broadcast.

(46)

4.3.2 Sammankopplade nätverk

Ibland kan det vara önskvärt att kunna koppla samman två nätverk av olika typ. Detta görs genom att en router införs mellan de två nätverken, se figur 17.

Figur 17: Två sammankopplade nätverk.

En router är en switch som kan vidarebefordra paket mellan olika typer av nätverk. För att ett sammankopplat nätverk skall fungera behöver alla noder använda samma sorts protokoll i network layer, som är den nivå paketen routas på. Det vanligaste protokollet i network layer är Internet protocol, IP. IP behandlas utförligare i avsnitt 4.4.

4.4 IP-nät

Internet protocol är en av grundstenarna i dagens sammankopplade nätverk. IP, som är ett protokoll i network layer, skapar ett logiskt homogent nätverk av flera olika fysiska nät-verk. Detta uppnås genom att alla noder i ett nätverk hanterar IP. På detta sätt abstraheras underliggande strukturer bort och nätverket kan ses som ett stort IP-nät, se figur 18.

Figur 18: Ett IP-nät skapat av olika fysiska nät.

Ethernet FDDI Router Host Host Router Router IP IP IP IP

Ethernet ATM ATM

High-level

Ethernet FDDI FDDI

High-level

References

Related documents

Detta medgav i sin tur att 9:e divisionen därigenom inte kunde åstadkomma ett avgö- rande till skillnad från striderna längs Raatevägen, då sovjetiska förband gav upp beroende på

By introducing a knowledge plane together with the knowledge-bound API and IoT proxies in the devices, different levels of application- or IoT provider-specific control can be

Five variables are tested to establish whether they influence the savings: number of participants (potential suppliers) in the e-auction, total value of the

The aim of this thesis work was to complete the requirements analysis by conducting user interviews, then redesigning and implementing the budget planning applica- tion. This

Under mina 20 år som lärare har det vuxit fram ett speciellt intresse för elever med Neuropsykiatriska funktionsnedsätt- ningar (NPF). Att ha en

Another vital resource has been our firm basis in three cooperating units – the Advanced Cultural Studies Institute of Swe- den (ACSIS), the Department of Culture Studies (Tema Q)

På grund av detta arbetssätt speglar inte denna rapport arbetet till fullo eftersom mycket irrelevant information rensats bort för att öka läsbarheten.. En viss mängd

Through calculating the number of CLS among total patients reported in clinical trials (or studies), we were able to estimate the pooled incidence of CLS when patients were treated