Kvalitetsaspekter på videostreaming till mobiltelefoner E R I K O T T E R B E R G



Relevanta dokument
MANUAL FÖR VIDEOREDIGERING

P L A Y. Adobe Produktguide. Adobe Photoshop Elements 4.0 Adobe Premiere Elements 2.0

Alla presentationstekniker har olika behov; bandbredd, lagring samt bildkvalitet

Real-time requirements for online games

VIKTIG INFO GÄLLANDE OMKOPPLINGEN TILL DET ÖPPNA NÄTET

Instuderingsfrågor ETS052 Datorkommuniktion

IT för personligt arbete F2

Hur BitTorrent fungerar

MPEG-4 innehåller bl.a:

1. Använda MP3/WMA-spelaren

IT-körkort för språklärare. Modul 6: Video, del 2

TDDD80. Mobila och sociala applikationer Introduktion HTTP,SaaS. Anders Fröberg Institutionen för Datavetenskap (IDA)

Åtkomst och användarhandledning

Solowheel. Namn: Jesper Edqvist. Klass: TE14A. Datum:

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Installation av. Vitec Online

Installationsanvisningar

5 Internet, TCP/IP och Tillämpningar

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Att sända information mellan datorer. Information och binärdata

Läs detta innan du fortsätter, eller skriv ut det, klicka runt lite och läs samtidigt.

Android-app Användarmanual 1.0

Att använda bildhanteringsprogram, del 2

ViTex snabbguide. 1. Inläsning till ViTex från scanner eller PDF Läs in text via scanner Läs in text från en JPEG-bild eller ett PDF-dokument

Lära känna skrivbordet

Inspelning, redigering, publicering med Camtasia 7

Grundläggande nätverksteknik. F3: Kapitel 4 och 5

PCI ETHERNET CARD 100 MB

Tentamen i Signaler och kommunikation, ETT080

TTS är stolta över att ingå i

För installationer av SQL Server som inte görs från Hogias installation måste följande inställningar göras:

Kapitel 2 o 3. Att skicka signaler på en länk. (Maria Kihl)

Användarhandbok för Nero MediaStreaming för MCE

Kontakt: Mikael Forsman Användarmanual för VIDAR 4.0

1284_omslag.qxd :13 Sida 1 ECDL START OFFICE 2003 Allmän IT Windows XP Word 2003 Outlook 2003

RAPPORT: ATT UPPLEVA EN UTSTÄLLNING HELT I LJUD. FÖR UTSTÄLLNINGEN VÄRDEFULLT. BAKGRUND..s 2 METOD...s 2 RESULTAT...s 3 9 ANALYS AV WORKSHOP...

Systemkrav. Systemkrav för Hogia Approval Manager. Gäller från och med programversion

ELMIA WLAN (INTERNET)

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

Installations- och bruksanvisning för Gree Smart app: Hansol -seriens luftvärmepump med WiFi

Svensk version. Inledning. Installation av maskinvara. Installation av Windows XP. LW057V2 Sweex trådlösa LAN PCI-kort 54 Mbps

SNABBGUIDE för Windows Media Encoder (media kodaren) - Sänd live med din webbkamera

Manual Nedladdningsbara klienten NLK

Bilder... Dagens föreläsning. Objektgrafik. Objektgrafik. TNMK30, 2010 Föreläsning

55200 Inspelningsbar microfon

Inledning till Wavesurfer av Christine Ericsdotter (Lingvistik, Stockholms universitet)

Wilhelm Käll. Rapport Användarsupport

Datakommunikation vad är det?

Att köpa ny dator SeniorNet Lidingö Januari-2016

Användar Guide. är ett varumärke av Google Inc.

FÖRBEREDANDE INSTÄLLNINGAR INFÖR SKYPE MÖTE SAMORDNAD VÅRD- OCH OMSORGSPLANERING

Ett tryggare Sverige. Ett gemensamt system för mobil kommunikation

Distansutbildning. av Anders Andersson. Västanvik Resurs- och Utvecklingscenter

Beijer Electronics AB 2000, MA00336A,

Pulsmätare med varningsindikatorer

Manual Sportident Onlinekontroll via GPRS

Grafisk visualisering av en spårbarhetslösning

Op-förstärkarens grundkopplingar. Del 2, växelspänningsförstärkning.

Installationsguide. För att installera mjukvara och hårdvara, följ nedanstående anvisningar.

SCHOLA COMAI ELEV WEBBKALENDER / SCHEMA VERSION 1.1. [Skriv text]

Snabbgenomgång. Windows Live Movie Maker

Microsoft Windows 10 Grunder

9 Webbföreläsningar. 9.1 Streaming

Innehåll. 1 Dokumentbeskrivning 3. 2 Användarinformation 3. 3 Installations anvisning Starta upp enheten 5

Switch Driver 5. Programvara för Radio Switch, JoyBox och JoyCable. Sensory Software

CVI ANALYZER V X

Användarmanual HOIF.org

TRUST 120V WIRELESS DVD & VIDEO VIEWER

FileCentral Desktop. Användarhandledning Version

snabbmanual för installation av bredband och telefoni

MSR Gjutarevägen Stenkullen

L A B R A P P O R T 1

Idag. Streaming media. Översikt. Vad är det? Vad är streaming? Distributionsteknik Uppspelning och presentation Några exempel och demonstration

Data visualization on Android

Microsoft Habu. 1. Inledning. 2. Specifikation. Kringutrustning Kontakt Microsoft Skribent Herman Ulltin

D/A- och A/D-omvandlarmodul MOD687-31

Manual C3 BMS för Android-telefoner

Microsoft Windows 8 Grunder

The Pirate Bay-rättegången, dag 6 Fritt nedtecknat

Laboration i Fourieroptik

Introduktion. Markera den gröna bocken. Skriv in URL:en Klicka på knappen Platser.

Beskrivning av hur du ansluter en E-terminal från Beijer Electronics till HC900 via Ethernet så att denna kan visa och manipulera data i HC900.

Artiklar via UB:s sö ktja nst

GoTalk NOW. Liten lathund hur du redigerar i appen.

Den här texten ska förhoppningsvis underlätta en del av anpassningarna. Det kan säkert finnas en del fel och annat tok.

Ethernet-anslutning. För mer information om skrivarens Ethernet-funktion klickar du på avsnittet nedan: Ethernet-lampor. nätverkskonfigurationssida

Brandsäkerhet i hemmet SFI Handledarmanus

Projektrapport - Live commentary

A3-scanner. Svenska. Användarhandbok

Styra olika typer av objekt som animering, video, ljud och Flashfilm

Smartair System. TS1000 Version 4.23

Slutrapport för JMDB.COM. Johan Wibjer

Chalmers tekniska högskola EDA390 Datakommunikation och Distribuerade system

Falck 6709 Magnetkontakt sändare

SLALOMINGÅNGAR hur svårt kan det vara?

Lägg till bilder i Disgen

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8)

Instruktioner för dig som ska söka till Mattekollo 2016

Språkäventyret. Mål. Verktyg. Inledande arbete

Transkript:

Kvalitetsaspekter på videostreaming till mobiltelefoner E R I K O T T E R B E R G Examensarbete Stockholm, Sverige 2007

Kvalitetsaspekter på videostreaming till mobiltelefoner E R I K O T T E R B E R G Examensarbete i medieteknik om 30 högskolepoäng vid Programmet för medieteknik Kungliga Tekniska Högskolan år 2007 Handledare på CSC var Trille Fellstenius Examinator var Nils Enlund TRITA-CSC-E 2007:125 ISRN-KTH/CSC/E--07/125--SE ISSN-1653-5715 Kungliga tekniska högskolan Skolan för datavetenskap och kommunikation KTH CSC 100 44 Stockholm URL: www.csc.kth.se

Kvalitetsaspekter på videostreaming till mobiltelefoner Sammanfattning Det här examensarbetet är utfört på uppdrag av Moderna Filmer. Uppgiften var att undersöka videostreaming till mobiltelefoner ur ett kvalitetsperspektiv. Målet var att komma fram till hur video ska produceras och komprimeras för att ge så bra kvalitet som möjligt i användarens mobiltelefon. Arbetet innehåller en teknisk genomgång av streaming och komprimering. Studier gjordes på användare där olika parametrar och visuellt innehåll varierades för att undersöka deras uppfattning av kvaliteten på den video som visades. I arbetet utfördes användarstudierna för att kunna samla in subjektiva bedömningar från användarna. Studierna visar att snabba och ryckiga rörelser samt mycket detaljer bör undvikas om videon ska visas i en mobiltelefon. Resultaten visar också att man ska använda MPEG-4 som codec, en biterate på runt 100kbit/s, nyckelbild ungefär var 10 bild och en bildfrekvens på 12 bilder per sekund. Quality Aspects of Video Streaming to Mobile Phones Abstract This master thesis is done by assignment of Moderna Filmer. The task was to examine video streaming to mobile phone from a quality perspective. The goal was to get to know how to produce and compress video in order to get as good quality as possible in a mobile phone. There is a technical introduction of streaming and video compression in this thesis. Studies were made with end users to examine their perception of the quality of the video that was shown. I choose to use studies on users to be able to gather their subjective thoughts on the quality. The studies show that fast and fitful movements or a lot of details should be avoided if the video is to be shown in a mobile phone. The results also show that to achieve as good quality as possible you should use MPEG-4 as codec, a bitrate of about 100kbit/s, keyframe every 10:th frame and a framerate of 12 pictures per second.

Förord Det här examensarbetet är det sista momentet i min civilingenjörsutbildning i Medieteknik vid Kungliga Tekniska Högskolan, Stockholm. Jag vill tacka alla på Moderna Filmer; Kjell Ericsson, Magnus Hellander, Anthony Nyzell och Johan Lundberg för all hjälp jag har fått med mitt arbete och att de gjorde min tid där rolig. Jag vill också tacka min handledare Trille Fellstenius för all tid som han lagt ner för att hjälpa mig under arbetes gång.

Innehåll 1. Introduktion...1 1.1 Bakgrund... 1 1.2 Uppdragsgivare... 2 1.3 Syfte och problemformulering... 2 1.4 Avgränsningar... 2 1.5 Mål... 3 2. Teknisk introduktion...5 2.1 Streaming... 5 2.1.1 RTSP...5 2.1.2 RTP...7 2.1.3 RTCP... 7 2.1.4 TCP...8 2.1.5 UDP... 8 2.1.6 IP...8 2.2 Videokomprimering... 9 2.2.1 Analog till digital signal... 9 2.2.2 Transformation... 11 2.2.3 Entropikodning...12 2.2.4 JPEG...13 2.2.5 I, P och B-bilder... 15 2.2.6 MPEG...16 2.2.7 MPEG-2...18 2.2.8 MPEG-4...18 2.2.9 H.263... 19 2.2.10 H.264 / AVC...19 3. Metod... 21 3.1 Användarstudier... 21 3.1.1 Val av videoklipp... 22 3.1.2 Teknisk uppsättning...23 3.1.3 Kontroll av yttre variabler... 24 3.1.4 Bedömning... 24 3.1.5 Studerade egenskaper... 25 3.2 Genomförande...25 3.2.1 Användarstudie 1...25 3.2.2 Användarstudie 2...26 3.2.3 Användarstudie 3...27 3.2.4 Användarstudie 4...28 3.2.5 Användarstudie 5...29 3.2.6 Användarstudie 6...30 4. Resultat... 31 4.1 Användarstudie 1... 31 4.2 Användarstudie 2... 31 4.3 Användarstudie 3... 33 4.4 Användarstudie 4... 34 4.5 Användarstudie 5... 35 4.6 Användarstudie 6... 36 4.7 Sammanställning av resultaten...37 5. Slutsats... 39

5.1 Bitrate...39 5.2 Codec...40 5.3 Antal I-bilder per sekund... 41 5.4 Bildfrekvens... 42 5.5 Visuellt innehåll... 42 Referenser... 45 Böcker... 45 Webb... 45 Artiklar... 46 Kompendium...46 Bilaga 1 Förkortningar...47

1. Introduktion 1.1 Bakgrund Utvecklingen inom mobiltelefonin och 3G-tekniken har lett till att det idag går att skicka data snabbt till användarna. 3G, den tredje generationens mobiltelefoni är ett annat uttryck för UMTS, Universal MobileTelecommunications System (Post & Telestyrelsen n.d.). Denna teknik har öppnat upp för nya applikationer och nya sätt att använda mobiltelefonen. En möjlighet som kommit fram av denna utveckling är att titta på rörliga bilder via sin mobiltelefon. Dagens mobiltelefonerna är tillräckligt kraftfulla för att spela upp video och mobilnätens bandbredd är tillräckliga för att föra över video i realtid. Detta gäller dock inte alla mobiltelefoner men större delen av de telefonerna som klarar av 3G. 3G-nätet har idag en kapacitet på 384kbit/s i teorin och ny teknik som lanserats av operatören Tre klarar av överföring med 3,6Mbit/s (Tre Online, n.d.). Eftersom människor i stort sett alltid har med sig sin mobiltelefon finns här stora möjligheter att få fram sitt budskap med rörliga bilder. Det finns en mängd olika format för att komprimera och streama video. Dels finns det en mängd öppna standarder som alla kan ta del av och bygga verktyg för samt flera proprietära system från bland annat Real Systems, Microsoft och QuickTime. De mobiltelefoner som har stöd för video stöder en eller flera av alla dessa. Det finns en standard, 3GPP, som de allra flesta telefoner stöder. Det är en standard som är gjord av The 3rd Generation Partnership Project (3GPP) som är en organisation som arbetar med tekniska standarder för 3G (3GPP Online, n.d.). 3GPP utvecklas kontinuerligt och det släpps nya versioner av standarden. Idag, maj 2007, är standarden uppe i version, eller release, 8. Streaming innebär att man spelar upp någon typ media direkt från en server. Detta skiljer sig från till exempel nedladdning av media där man hämtar hem hela filen för att sedan se eller höra den i en spelare. Det finns idag system som klarar av att göra en blandning av dessa två tekniker, progressive download. Denna teknik laddar ner mediefilen och börjar spela upp den när den har nerladdat tillräckligt för att hinna ladda ner resten under tiden den spelar upp. 1

1.2 Uppdragsgivare Moderna Filmer är ett filmproduktionsbolag för rörliga bilder. De startade 2003 med ambitionen att producera rörliga bilder med inriktning på marknadsföring och säljstöd som kan utnyttja alla nya sätt att distribueras. De vill ligga i framkant av tekniken och kunna erbjuda sina kunder de senaste distributionsformerna, med mottot rörliga bilder överallt. De har länge producerat video anpassat för Internet. En naturlig förlängning av detta är att anpassa produktionen för mobiltelefoner. De har nu ett projekt på gång där de vill titta på möjligheterna att använda streaming av video till just mobiltelefoner. Med dessa förutsättningar startade jag mitt projekt. 1.3 Syfte och problemformulering Syftet med det här examensarbetet är att undersöka streaming till mobiltelefoner ur ett kvalitetsperspektiv. Jag ska undersöka de tekniska förhållanden som gäller vid streaming till mobiltelefoner och hur man ska hantera dessa för att få en så bra kvalitet som möjligt och ge användaren en bra upplevelse. Jag ska också undersöka hur det visuella innehållet i videon påverkas av komprimeringen och hur man kan utnyttja denna kunskap vid produktionen av de rörliga bilderna. Resultaten som jag kommer fram till bör svara på frågor som: Vilken codec ska användas? Hur ska filmen komprimeras? Vad bör man tänka på vid produktionen när det gäller färger, mönster, rörelser? För att svara på problemformulering kommer användarstudier att utföras. Detta beskrivs i kapitel 3. 1.4 Avgränsningar De videoklipp som jag kommer att använda i undersökningarna är gjorda i marknadsföringssyfte och har därför de egenskaper som följer med den typen av videoklipp. Jag har valt denna typ av filmer för att det är Moderna Filmers huvudsakliga inriktning. Jag kommer därför inte att undersöka andra typer av rörliga bilder som nyheter eller underhållning. 2

Eftersom ljud har helt egna egenskaper och kodas på andra sätt har jag valt att utelämna detta från det här examensarbetet. Detta arbete är inriktat på tekniken och kvaliteten på det visuella innehållet i de rörliga bilderna och jag har därför valt att inte ta upp beteendet hos användarna eller deras uppfattning om budskapet. Man kan dock aldrig vara säker på att användarna inte påverkas av innehållet vilket kan leda till att deras åsikter om kvaliteten speglas av detta. Arbetet bygger på de programvaror och teknisk utrustning som jag har haft tillgänglig eller kunnat skaffa. Längre fram i rapporten finns det beskrivet vilka programvaror och teknisk utrustning som använts. Resultaten förutsätter därför att denna tekniska uppsättning används. Om annan utrustning används kan resultaten skilja sig från de resultat som presenteras i denna rapport. Mobiltelefonernas displayer skiljer sig mycket åt i storlek. Jag har i det här arbetet använt videoklipp som är i storleken 176 x 144 pixlar för att det var det som var möjligt med den telefon som jag använde. Större displayer kräver mer av komprimeringen och artefakter och störningar kommer att synas tydligare. Slutsatserna från detta arbete bör dock kunna användas till en viss del även till mobiltelefoner som klarar av större videoklipp. 1.5 Mål Arbetet ska leda till att jag kan rekommendera för Moderna Filmer hur de ska hantera de rörliga bilder som de vill streama för att maximera kvaliteten och att de som tittar ska få en så bra upplevelse som möjligt med de tekniska förhållanden som gäller. Jag vill att de på Moderna Filmer ska ta del av det jag har kommit fram till och på så sätt kunna anpassa sin produktion så att innehållet lämpar sig för att se på en mobiltelefon. Förhoppningsvis kan mitt arbete hjälpa Moderna Filmer, så att de kan erbjuda sina kunder ytterligare en kanal för rörliga bilder i teknikens framkant. 3

4

2. Teknisk introduktion Den här delen av uppsatsen innehåller en teknisk introduktion till de två huvuddelarna streaming och komprimering. Detta för att ge en bra grund att stå på inför metoddelen, resultaten och diskussionen. Denna del innehåller många förkortningar, bilaga 1 innehåller en förteckning över dessa. 2.1 Streaming Streaming innebär att en server skickar en mediefil till en klient som i sin tur spelar upp mediefilen i realtid eller med endast en kort fördröjning (Montes, 2002:85). Mediefilen skickas i den hastighet som den är tänkt att spelas upp i. Mediefilen behöver på grund av detta förfarande inte lagras i klienten. När video streamas från en server till en mobiltelefon görs det med hjälp av en mängd olika protokoll. All kommunikation går via IP-protokollet i nätverkslagret. I transportlagret används både TCP och UDP och i applikationslagret används RTSP och RTP. Bild 1 visar översiktligt hur detta ser ut. I detta kapitel beskrivs hur streamingen går till och hur signalerna tar sig mellan de inblandade parterna. Bild 1. Protokollen som används vid streaming till mobiltelefonen 2.1.1 RTSP Real-Time Streaming Protocol (RTSP) är det protokoll som i streaming används för att sätta upp och stänga en kontakt mellan en klient och en server. Det är också detta 5

protokoll som kontrollerar uppspelningen av mediefilen men det används inte för själva överföringen. RTSP arbetar på applikationsnivå och kan liknas vid en fjärrkontroll för streamingen (IETF Online, n.d.). För att starta streamingen skickar klienten ett kommando som heter DESCRIBE till servern. För en användare av en mobiltelefon innebär det att man skriver in länken till mediefilen i sin webbläsare eller klickar på en länk i ett webbgränssnitt. Dessa länkar börjar med rtsp:// men liknar för övrigt webblänkar. Ett exempel på hur en adress till en streamad mediefil kan se ut är: rtsp://stream.modernafilmer.se/anv/f1.3gp Adressen stream.modernafilmer.se är den adress som streamingservern har. Den adressen är kopplad till serverns IP-adress. Servern är konfigurerad så att alla uppkopplingar via RTSP automatiskt kommer till en egen mapp på servern. I denna mapp finns undermappen anv och i den mappen ligger själva mediefilen f1.3gp. Undermappen anv har ingen funktion förutom att sortera filerna på servern. När servern tar emot kommandot DESCRIBE skickar den tillbaka information om den mediefil som efterfrågas till klienten. Denna information talar om vad filen är för typ av fil, mediefilens längd, vilka codecs som används, filens titel med mer (IETF Online, n.d.). Den här informationen används av klienten för att se om den kan spela upp filen. Mobiltelefonen som ansluter avgör i detta skede om den kan avkoda mediefilen och spela upp den. Om klienten klarar av att ta emot denna ström skickar den ett kommando till servern att starta en ny streamingsession. Detta kommando kallas SETUP. När servern får detta kommando ger den sessionen en unik identifierare för att klienten och servern ska kunna känna igen denna session. Den skickar denna information tillsammans med information om hur överföringen av mediefilen ska utföras till mobiltelefonen. Informationen visar vilka portar och vilket protokoll som ska användas. När klienten har fått tillbaka informationen som servern skickat och en kanal har öppnats mellan dem skickas kommandot PLAY. Detta startar strömmen över kanalen mellan servern och klienten. I mobiltelefonen spelas nu den efterfrågade 6

mediefilen upp. Användaren har i det här skedet några alternativ: han kan titta på det som spelas upp till det tar slut, han kan pausa och han kan stoppa streamingen. Om användaren väljer att trycka på paus på sin mobiltelefon skickas just kommandot PAUSE till servern. Servern slutar då temporärt att skicka data till klienten men fortsätter att vara beredd att återuppta streamingen. Om ett nytt PLAY -kommando kommer till servern med samma identifierare upptas streamingen från den tidpunkt som den pausades. Om användaren väljer att trycka på stopp under tiden som streamingen pågår skickas kommandot TEARDOWN till servern. Detta kommando stoppar strömmen och avslutar sessionen. För att starta streamingen igen måste processen startas om från början. 2.1.2 RTP Real-time Transport Protocol (RTP) är en standard för att föra över ljud och bild över Internet (IETF RTP Online, n.d.). Det är det formatet som används för att skicka mediefilen från servern till mobiltelefonen. Mediefilen delas upp i ljud och bild och dessa skickas var för sig till mottagaren. Detta ger möjligheten att endast ta emot en av dem. Varje paket med ljud- eller bilddata innehåller information för att kunna identifiera och spela upp mediefilen i korrekt ordning. Synchronization source är en variabel som visar vilken källa datan tillhör. Sequence number är en variabel som har ett unikt nummer för varje paket som visar vilken ordning paketen skickats i. Timestamp användas för att mottagaren ska kunna veta när denna data ska spelas upp. Timestamp behöver inte var unikt i och med att flera paket kan till exempel innehålla data från samma frame i en video. RTP är ett protokoll som arbetar på applikationslagret och det kan använda både TCP och UDP för transporten mellan servern och mottagaren. UDP är det som oftast används på grund av att det är bättre än TCP på att hantera fördröjningar (IETF RTP Online, n.d.). 2.1.3 RTCP Real-Time Control Protocol (RTCP) är ett protokoll som arbetar vi sidan av RTP. Det skickar ingen mediedata själv utan skickar bara data för olika kontroller av 7

överföringen som görs genom RTP. Det kontrollerar hur mycket data som har sänts, förlorade paket, fördröjning och annan liknade information (IETF RTP Online, n.d.). 2.1.4 TCP Transmission Control Protocol (TCP) är det protokoll som används av RTSP för att kommunikationen mellan servern och klienten, mobiltelefonen. Det är ett protokoll som arbetar i transportlagret och upprättar en anslutning mellan två parter. TCP används i Internetsammanhang av många tillämpningar, till exempel; webb, e-mail och FTP. Protokollet ser till att datan förs över korrekt genom att ha olika felkontroller inbyggt. Varje paket får ett sekvensnummer som kontrolleras av mottagaren för att se att alla paket kommer fram samt att de levereras i rätt ordning till överliggande applikation. När ett paket kommit fram skickas en bekräftelse till sändaren. Om sändaren inte får en bekräftelse på ett paket förutsätts att det blivit fel och det skickas igen. Kontroll utförs också av varje byte i datan för att se så att inget blivit fel inne i paketen. (Gulliksson, 2002:216) 2.1.5 UDP User Datagram Protocol (UDP) arbetar likt TCP också i transportlagret. Det används av RTP för att skicka data från servern till mobiltelefonen. Till skillnad från TCP så finns inte samma kontroller i UDP. Paket kan försvinna utan att skickas på nytt eller innehålla fel. På grund av att dessa kontroller inte utförs är UDP snabbare och därför mer lämpligt till innehåll som är känsligt för variationer i tid, som streaming av video. (Gulliksson, 2002:220) 2.1.6 IP Internet Protocol (IP) är ett protokoll på nätverkslagret som används för att kommunicera på packet-switched-nätverk. Data från högre lager läggs i paket som skickas över IP. Dessa paket innehåller information om vart paketet ska och liknande. IP har inga garantier eller kontroller för överföringen, det kan därför förekomma paket med fel, förluster av paket eller paket som kommer i fel ordning. Kontroller får vid behov läggas i högre lager. (Gulliksson, 2002:213) 8

2.2 Videokomprimering Komprimering är vetenskapen kring att minska mängden data vid förmedling av information. (Symes P, 2004:2) Information är sällan helt slumpmässigt uppbyggd utan består ofta av mönster och ordningsföljder. Detta faktum gör det möjligt att få ner mängden data som behöver förmedlas och ändå behålla budskapet intakt. Det finns två typer av komprimering; förstörande och icke-förstörande. Icke förstörande komprimering gör mängden data mindre utan att någon information går förlorad. Datan kan i dekomprimeringen återställas exakt till dess ursprungliga utseende (Symes P, 2004:5). Denna typ ger en relativt låg grad av komprimering. För att minska mängden data som ska förmedlas krävs att viss del av datan offras. Målet med förstörande komprimering är att få så lite kvalitetsförluster som möjligt och samtidigt så stor datareduktion som möjligt (Symes P, 2004:9). I detta kapitel tas några metoder för komprimering upp och deras egenskaper beskrivs. Det finns en enorm mängd olika standarder och proprietära metoder för videokomprimering men de flesta bygger på liknande funktioner. Jag har försökt identifiera de mest använda metoderna och även gått igenom de grunder som de flesta metoderna bygger på. I och med att kapaciteten att föra över data i det mobila nätet är ganska begränsad är videokomprimering mycket viktig för att det över huvud taget ska vara möjligt att titta på streamad video i sin mobiltelefon. De metoder som beskrivs används i videokomprimering till användning inom både mobiltelefoni och till andra tillämpningar. Videokomprimering för användning i mobiltelefoner bygger på samma metoder som all annan videokomprimering. 2.2.1 Analog till digital signal Verkligheten är analog. Rörelser, färger och ljusstyrkor är kontinuerliga i sin natur. På grund av hur människans syn fungerar, att vi upplever stillbilder som visas i följd som kontinuerliga rörelser och att vi inte ser skillnad på färger om skillnaden är tillräckligt liten behöver vi inte spela in verkligheten kontinuerligt. Vi kan till exempel ta upp 24 bilder i sekunden som man gör vid filminspelning och ändå uppfatta rörelserna i 9

bilden som kontinuerliga. När man omvandlar de analoga, kontinuerliga, signalerna till digitala så använder man sig av sampling och kvantifiering. Sampling innebär att man undersöker en analog signal med ett givet intervall. Vid varje mättillfälle kan man mäta ett antal variabler. Ett enkelt exempel är vid fotografering av stillbilder. Samplingen innebär i detta fall det antal pixlar som registreras. För varje pixel kan man mäta ljusstyrka och/eller färg. När det gäller ljud används istället tidsintervall. Ljudets frekvens mäts med ett givet tidsintervall. Tanken med samplingen är att man sedan ska kunna ta fram originalsignalen med så god precision som möjligt. För att få ett resultat som stämmer bra med originalsignalen krävs att man samplar tillräckligt ofta. Nyquist-Shannons teorem säger att man ska sampla med minst två gånger så hög frekvens som den frekvens man vill mäta (Symes P, 2004:24). Annars kan fel uppkomma och frekvenser kan representeras fel. Dessa fel kallas vikning och beror på att signalen innehåller frekvenser som inte fanns med från början, falska frekvenser. I bilden visar sig sådana fel genom moirémönster samt ojämna och ostadiga diagonala kanter (Whitaker J, 2001:110). För att vara säker på att det inte bildas några falska frekvenser i utsignalen använder man ofta ett låg-passfilter innan insignalen går in i samplingen. Låg-passfiltret tar bort de delar av signalen som ligger ovanför halva samplingsfrekvensen. Kvantifiering innebär att man tilldelar sina mätvärden diskreta tal. Det gör att värdet avrundas till närmaste diskreta värde. Ju fler nivåer, bitar, man använder desto större mängd data blir det men avrundningsfelen blir på samma gång mindre och alltså blir kvaliteten bättre. Kvantifieringen tillför alltid brus till signalen på grund av avrundningen. Detta brus kallas kvantifieringsbrus (Symes P, 2004:18). Den analoga signalen som går in i AD-omvandlaren kommer ut i form av en bitström som är dess digitala representation. Det sätt att koda signaler som är beskrivet här kallas PCM-kodning (Pulse-code-modulated). Det finns fler sätt att koda signaler från analoga till digitala. Två vanliga andra metoder kallas successiv approximation och parallell kodning. I successiv approximation sätts bitarna en efter en med start på den mest signifikanta biten. Det görs genom att signalen jämförs med mittpunkten på sin möjliga spänning, om den är större sätts biten till 1 och 0 om den är mindre. Nästa bit sätts på samma sätt men med en ny mittpunkt. Denna process fortsätter till alla bitar 10

har fått sitt värde. I parallell kodning används 2n 1 spänningsjämförare (255 stycken vid 8 bitars kodning). Den ingående signalen jämförs samtidigt med alla spänningsjämförare och ger på så sätt ett digitalt värde på signalen. Den här metoden är snabb för att den gör hela jämförelsen i ett steg men också dyr eftersom den kräver så många komponenter. (Whitaker, 2001) 2.2.2 Transformation En transformation är en matematisk regel som kan användas för att göra om en matris eller funktion till en annan matris eller funktion. I många kompressionsmetoder använder man transformationer som gör om datan från tids- eller rumsvärden till frekvensvärden (Symes P, 2004:70). En transformation som är mycket viktig i komprimeringssammanhang är DCT (Discrete cosine transform). Den används bland annat i komprimering av stillbilder med JPEG (se nedan) samt av rörliga bilder med MPEG och DV. Formeln för DCT ser ut så här: F u,v = 1 7 4 C C u v x=0 7 y=0 C u = 1 2 för :u=0, C u=1 annars C v = 1 2 för :v=0, C v =1 annars f x, y cos[ 2x 1 uπ vπ ]cos[ 2y 1 16 16 ] F är värdet på platsen u,v i resultatmatrisen och f är värdet på platsen x, y i den matris som ska transformeras. Den här transformationen gör så att största delen av datan hamnar i övre högra delen av matrisen. Det första värdet i matrisen, högst upp till höger, kallas DC-koefficienten. Det är medelvärdet för intensiteten i det block som man transformerat. Ju längre höger man kommer i matrisen desto högre horisontal frekvens representeras av värdet. Går man neråt i matrisen blir det istället högre vertikal frekvens (Symes P, 2004:80). Många värden i den nedre högra delen av matrisen hamnar nära noll med den här transformationen. På grund av att människans syn inte är så känsligt mot ändringar i dessa höga frekvenser kan man avrunda dessa till noll och på så sätt få ner mängden data utan att det drabbar kvaliteten i någon större utsträckning (Symes P, 2004:80). 11

2.2.3 Entropikodning I många dataströmmar förekommer långa upprepningar av data. I till exempel digitala bilder med enfärgade partier representeras en rad med en viss blå som: blå, blå, blå, blå, blå, blå, blå och så vidare tills pixlarna är slut. Detta kan man istället representera med: 124 x blå, om det är 124 stycken pixlar. Denna komprimeringsmetod kallas Run Length Coding (Chen, 2002:42). En annan metod av entropikodning är Huffman-kodning. I den utnyttjas att olika tecken eller symboler förekommer olika ofta i den data som ska komprimeras. Om datan till exempel innehåller grupper om åtta bitar, bytes, kan varje byte inta ett värde mellan 0 och 255. Det enklaste sättet att koda datan är att varje byte representeras av sitt eget värde. Så att 0 representeras av 00000000, 255 av 11111111 och alla andra där emellan. Huffman-kodningen innebär att man tittar på hur ofta olika värden förekommer i datan och anpassar sedan representationerna så att de värden som förekommer mest frekvent har kortast representationer och de värden som förekommer mest sällan har längst representationer (Chen, 2002:40). Vissa värden kommer då att representeras av mindre än åtta bitar medan andra representeras av fler. Totalt blir det färre bitar i datan med denna metod. Morse-språket är konstruerat med hjälp av entropikodning. De bokstäver som förekommer oftast representeras med kortast kod. Morse gjordes för att föra över meddelanden på engelska vilket gör att det är anpassat efter förekomsten av bokstäver i engelska språket. Bokstaven e är den mest frekvent använda bokstaven i det engelska språket och har därför fått den kortaste koden; en punkt eller en kort. Bokstaven t kommer på nästa plats och har därför fått den näst kortaste koden; ett streck eller en lång (Symes P, 2004:7). All entropikodning är icke förstörande komprimeringsmetoder eftersom man efter dekomprimering får tillbaka exakt den data som man hade innan komprimeringen. Ett problem med den här typen av komprimering är att den endast ger en liten minskning i mängden data. Vissa typer av data kräver att man endast använder icke-förstörande komprimering, till exempel dokument eller program. Det duger inte att några tecken tas bort ur en text eller någon funktion ur ett program. Däremot kan man i rörliga 12

bilder utnyttja det faktum att människans syn inte är perfekt. Man kan därför använda komprimeringsmetoder som tar bort en del av informationen. 2.2.4 JPEG JPEG tas upp i denna rapport för att det i videokomprimering används i stort sätt samma metoder när bilderna komprimeras. JPEG står för Joint Photographic Experts Group och är en grupp som arbetar med standarder inom rörliga bilder. De har satt en standard som heter ISO/IEC IS 10918-1 som nästan alltid benämns just JPEG (The JPEG committee home page Online, n.d.). Det är en metod för att komprimera bilder. Den är anpassad för fotografiska bilder och lämpar sig inte för symbolbilder, ritningar eller liknande. När man komprimerar en bild med JPEG gör man om den från RGB till YUV. Det innebär att istället för att representera varje pixel med de tre grundfärgerna röd, grön och gul så används luminans (Y) samt krominans (U och V). Värdena på Y, U och V fås genom tre formler: Y = 0.299 * R + 0.587 * G + 0.114 * B U = -0.299 * R 0.587 * G + 0.886 * B V = 0.701 * R 0.587 * G 0.114 * B Bilden delas upp i block som består av 8 * 8 pixlar. Människans öga är känsligare för skillnader i luminans än skillnader i krominans och detta utnyttjas genom att luminansen samplas mer än krominansen. Man kan sampla ner olika mycket beroende på hur mycket färginformation man vill ha i signalen. 4:4:4 benämns det om man samplar färgsignalerna fullt. Om man halverar samplingen i horisontalled benämns det 4:2:2 och det vanligast 4:2:0 är att man halverar samplingen både vertikalt och horisontellt. Varje block om 8 * 8 pixlar representeras nu av matriser med värden för varje pixel. Varje värde i matrisen subtraheras med 128 för att de ska hamna närmare noll. Matrisen transformeras sedan med hjälp av en DCT-transformation. Som det beskrivs ovan koncentreras de höga värdena till den övre vänstra delen av matrisen. 13

Nästa steg i JPEG-komprimeringen är att kvantifiera matrisen. Varje värde delas med en konstant som är specifik för just den positionen i matrisen. Dessa konstanter är inte med i JPEG-standarden men det finns vissa rekommenderade uppsättningar. Dessa är anpassade för hur det mänskliga seendet uppfattar olika frekvenser och gör därför grövre uppskattningar där ögat är mindre känsligt. För att få en ström av bitar från matrisen måste man läsa av den värde för värde. Eftersom värdena är relativt höga i övre vänstra hörnet och många nollor förkommer i nedre högra hörnet läser man av matrisen i ett sicksack mönster (se bild 2). Detta för att entropikodning ska bli effektiv. Bild 2. Avläsning av pixlarnas värden i ett sicksackmönster. Detta gör att man får en ström som slutar med en mängd nollor. Det gör att man kan använda run-length-coding för att beskriva resten nollor på ett kortare sätt. Till sist används Huffman-kodning för den bitström som är kvar. När bilden dekomprimeras görs alla dessa steg i omvänd ordning och med inverser av alla funktioner och matriser som använts i komprimeringen. (Symes P, 2001) 14

2.2.5 I, P och B-bilder I videokomprimering talar man ofta om komprimering i och mellan bilder, inter- och intrakodning. Intrakodning innebär att man komprimerar bilden i fråga, med till exempel JPEG, medan interkodning innebär att man utnyttjar likheter i efterföljande bilder för att förutse en annan bild. Mycket stor del av all information i en videobild är återkommande i en serie av bilder. Man kan därför i stället för att använda hela bilder, intrakodade bilder, använda skillnader mellan bilder. I interkodning finns tre typer av bilder: I, P och B-bilder (Le Gail, 1991:52). I-bilder, nyckelbilder, är referensbilder som endast är komprimerade med intrakodning. Dessa ger minst grad av komprimering. P-bilder, predicted pictures, är kodade med hjälp av en tidigare bild och hur den ändras. Denna typ av bild ger en högre grad av komprimering. B-bilder kodas genom att de tittar på både föregående och efterföljande bilder och interpolerar fram en bild. Dessa bilder ger högst grad av komprimering men kräver att det finns både I- och P-bilder att titta på. Man kan välja hur ofta och i vilken ordning dessa bilder ska förekomma och man kan på så sätt påverka hur stor och vilken kvalitet den komprimerade videon får. Ju fler I-bilder en video har desto bättre kvalitet och större fil blir det. En grupp med bilder som börjar och slutar med en I-bild kallas GOP (group of pictures). I streaming till mobiltelefon förkommer ofta fel eftersom kanalen är osäker vilket gör att I-bilder blir viktigare. Dock blir kvaliteten påverkad om man endast har en viss bandbredd att utnyttja. Detta problem tas upp i metoddelen längre fram i rapporten. En tidig version av interkodning använde en teknik som kallas conditional replenishment, CR (Sullivan, 2005:20). Det enda den gjorde var att istället för att skicka en hel bild till så skickades information om vilka områden i bilden som kunde upprepas helt. Denna metod kan vara effektiv om stora delar av bilden är oförändrade under lång tid. Dock är den mycket begränsad eftersom så fort något rör sig i bilden måste ny information skickas. För att förbättra CR kan man tillföra en till funktion som hanterar rörelser. Det bygger på att video ofta innehåller objekt, som sällan ändrar utseende, som rör sig i bilden. Trots att ungefär samma information finns i efterföljande bilder blir mängden data mycket stor eftersom datan inte har samma position som tidigare. Motion vectors, 15

MVs, hanterar detta fenomen genom att man för över information om hur delar av bilden flyttats. Denna metod kallas motion-compensated prediction, MCP (Sullivan, 2005:20). Det finns ett antal olika metoder som alla bygger på samma grund men har olika sätt att utföra det på. Generellt kan man säga att ju mer avancerad och effektiv en komprimering är desto mindre blir filen men samtidigt krävs mer prestanda till både komprimeringen och dekomprimeringen. Mobiltelefoner har begränsad datorkraft så detta är något man måste ta hänsyn till vid streamingen till mobiltelefoner. 2.2.6 MPEG MPEG (Movings Picture Experts Group) beskriver standarder som bestämmer hur en videosignal ska se ut (MPEG Home Page Online, n.d.). De säger alltså inte hur en kodare eller avkodare ska vara uppbyggd utan endast hur signalerna får se ut. Det gör att man kan göra egna kodare så länge signalen som kommer ut följer MPEGsyntaxen. För att en avkodare ska vara MPEG-godkänd måste den kunna avkoda alla signaler som följer MPEG-syntaxen. MPEG har beskrivit många standarder varav 3 stycken som handlar om videokomprimering; MPEG-1, MPEG-2 och MPEG-4. MPEG-1 var den första standarden som skrevs. Målet med den var att göra en ström med video och ljud med en bithastighet på ungefär 1,5Mbit/s. Videon skulle bestå av 352 pixlar horisontellt, 288 linjer vertikalt och en bildhastighet på 25 bilder i sekunden (Symes P, 2004:152). MPEG-1 har många likheter med JPEG men en stor skillnad är att MPEG-1 kan hantera kompression i tidsplanet. Detta gör att kodningen blir mycket mer krävande. Man har därför gjort MPEG-1 till ett asymmetriskt system där kodaren är mycket mer komplex och kräver mer datorkraft än avkodaren. Detta gör att MPEG-1 lämpar sig bäst för kommunikation från en till många. En MPEG-1-ström består av en sekvens bilder av godtycklig mängd. Sekvensen innehåller ett antal Group of Pictures (GOP). Nästa steg ner i hierarkin är en bild. Varje bild består av ett antal slices som i sin tur består av ett antal makroblock. Ett makroblock består i MPEG-1 av 16x16 pixlar. Bilderna i en GOP, I-, P- och B-bilderna som beskrivs ovan kodas i MPEG-1 på följande sätt: I-bilderna kodas utan någon referens till andra bilder. Kodningen av 16

dessa bilder är lik den som genomförs i JPEG-komprimering. I-bilden dekomprimeras sedan för att fungera som referensbild. Anledningen till att man gör detta är att i dekomprimeringen kommer bilden inte att se ut exakt som originalbilden. Referensbilden blir på detta sätt lika i komprimeringen och dekomprimeringen. För att komprimera en P-bild jämförs en bild längre fram i tiden med referensbilden. Referensbilden söks igenom, makroblock efter makroblock, för att se om det finns något objekt som har flyttat sig. De som hittas beskrivs med rörelsevektorer om detta leder till att det blir mindre information än om man skulle koda blocket med intrakodning. En P-bild består på grund av detta av en blandning av intra- och interkodade makroblock. Denna P-bild dekomprimeras av samma anledning som med I-bilden och används som referensbild. När man sedan ska ta fram B-bilderna tittar man både på redan kodade bilder bakom och framför. På detta sätt kan man hitta likheter i en stor del av alla makroblock vilket gör att graden av komprimering blir högst med B-bilder. Bilderna i en GOP sänds inte i samma ordning som de visas i videon. B-bilderna kräver att det finns en bild som ska visas senare i tiden att använda som referens. Bilden nedan visar exempel på hur det kan se ut. I bild 3 visas bilderna i den ordning som de visas i videon. Siffrorna längst ner i bild 3 visar i vilken ordning de måste skickas. Bild 3. I-, P- och B-bildernas visningsordning och sändningsordning 17

Användningen av I-, P- och B-bilder gör att komprimeringen blir effektivare med det medför också problem. Det skapas en fördröjning eftersom bilderna inte skickas i den ordning de visas. Ett annat problem är att om det uppkommer ett fel i en I- eller P-bild kommer detta fel att skapa fel i alla de B-bilder som använder denna bild som referens. Detta visas i användarstudie 1 i metoddelen. De flesta varianter av videokomprimering som finns idag bygger mer eller mindre på de egenskaper som MPEG-1 har. 2.2.7 MPEG-2 MPEG-2 blev standardiserad 1995 (Symes P, 2004:172). Det är en utveckling av MPEG-1 med en del förbättringar. I och med att MPEG-1 anpassades för en bitström på 1,5Mbit/s krävdes en ny standard för tillämpningar som krävde mer, till exempel i sändning av digital-tv och på DVD. 2.2.8 MPEG-4 1999 skrevs standarden för MPEG-4 (Symes P, 2004:196). Det ursprungliga målet med standarden var att anpassa video till en låg bandbredd. MPEG-4 har mycket möjligheter att anpassas och kan därför användas i alla bandbredder hela vägen upp till studiotillämpningar. Mycket kraft lades i utvecklingen av standarden på att göra bra felskydd för att videon ska klara av kanaler med hög felfrekvens. Standarden är därför mycket lämplig för användning i streaming till mobiltelefoner. MPEG-4 kan hantera objekt. Det innebär att man kan dela upp videon i olika delar, till exempel för- och bakgrund. Dessa olika objekt kan sedan komprimeras på det sätt som är mest effektivt för just den delen. Man kan lägga text i ett eget objekt vilket gör att de objekten inte behöver gå igenom DCT-transformation och kvantifiering. Dessa moment är olämpliga för text eftersom det är skarpa kanter. Text tar upp lite bandbredd även om den inte komprimeras. Texten skickas tillsammans med egenskaper om storlek, font, position, färg och liknande. MPEG-4 finns i ett stort antal olika utföranden, så kallade parts. Det som används inom video till mobiltelefoner är MPEG-4 part 2. Denna ingår i standarden 3GPP. 18

2.2.9 H.263 Denna standard skrevs i mars 1996 (ITU, H.263, n.d.) och var tänkt att användas med låg bithastighet i videokonferenser. H.263 ingår i standarden 3GPP och används därför ofta i mobiltelefoner. H.263 är uppbyggt av fyra hierarkiska lager (Chen J, 2002:88). Bildlagret innehåller start- och slutkoder för bilden, information som anger om bilden är en intra- eller interbild, annan information om bilden samt nästa hierarkiska lager, GOB. GOB, Groups of Blocks, är en rad med makroblock samt information om dessa. Makroblocklagret innehåller fyra block med luminansinformation och 2 block med motsvarande krominansinformation. Dessa block är 8 x 8 pixlar stora. Detta lager innehåller också information om dessa block. Det sista lagret är blocklagret. De 8 x 8 pixlar stora blocken komprimeras var för sig vilket kan leda till att blockkanterna framträder i videon. Generellt är H.263 och MPEG-4 ganska lika standarder. 2.2.10 H.264 / AVC H.264, eller AVC (Advanced Video Coding) som den också kallas, är idag en av de mest effektiva kompressionsmetoderna. Det är en utveckling av MPEG-4 och den heter därför också MPEG-4 Part 10. Det är en relativt ny standard, den första versionen blev klar i maj 2003 (ITU, H.264, n.d.). Standarden går att använda för komprimering av allt från mobila applikationer med låga bandbredder till högupplöst video med HD-kvalitet. I och med att den kan användas i ett så brett spektrum av applikationer samt att komprimeringen är så effektiv gör att intresset för standarden är stort i videokomprimeringsvärlden (Kalva, H. 2006). H.264 är mycket effektiv men det leder till att det krävs mycket datorkraft av den enhet som ska dekomprimera och spela upp materialet. Detta gör att många mobiltelefoner inte klarar av att stödja detta format. Dock börjar det idag komma mobiltelefoner som har tillräckligt bra prestanda för att klara av H.264. Mobiltelefoner som stödjer 3GPP release 6 och framåt klarar av H.264. H.264 är uppdelat i två lager, VCL (Video Coding Layer) och NAL (Network Abstraction Layer). VCL är anpassat för att innehålla videoinnehållet på ett effektivt 19

sätt. NAL enheterna innehåller i sin tur VCL-paket eller annan data som berättar hur videon är komprimerad. Dessa kallas VCL NAL eller non-vcl NAL. I non-vcl NAL-enheterna finns parametrar som säger vilket format video är komprimerad i, vilken typ av entropikodning som ska användas eller annan information som avkodaren behöver. En non-vcl NAL-enhet kan innehålla information som gäller för ett stort antal VCL-paket. Detta gör att man kan ha olika information till olika delar av videon utan att behöva skicka de olika parametrarna mer än en gång. I VCL-paketen finns endast en hänvisning till vilken uppsättning parametrar som ska användas. Det finns ingen ensam funktion i H.264 som gör att den är bättre än tidigare standarder utan ett flertal mindre förbättringar (Sullivan, 2005:23). En förbättring jämfört med tidigare standarder är att B-bilderna kan förutses på ett mer flexibelt sätt (Flierl, 2003). När rörelser ska förutses kan man i H.264 använda sig av olika stora block, mellan 16*16 och 4*4 pixlar (ITU, H.264, n.d.). Detta gör att man kan dela in rörelser med mycket exakt precision. Entropikodningen kan utföras med två metoder, CAVLC (context-adaptive variablelength coding) eller CABAC (context-adaptive binary arithmetic coding). CABAC är den mest effektiva men den är också mest komplex och kräver mer datorkraft. Tidigare standarder har använt statiska tabeller som är framtagna för generella fall i sin entropikodning medan H.264 anpassar dessa tabeller efter innehållet i videon (Kalva, 2006). I videokomprimering uppkommer ofta artefakter som ser ut som kvadratiska rutor i bilden. I de användarstudier som utfördes visade sig detta i vissa av videoklippen som användes. Dessa beror på uppdelningen av varje ruta till block. I H.264 används filter som minskar dessa artefakter. Filtret söker upp kanter på de kodade blocken och filtrera dessa. Det finns två metoder för att utföra denna filtrering: post filter och loop filter. Post filter utförs, som namnet antyder, efter att hela avkodningen är klar medan loop filter utförs inne i avkodningsprocessen. Post filter är inte skrivet i standarden för H.264 och är därför helt frivilligt att implementera i avkodaren. Tester visar att loop filter är mer effektivt och ger bättre resultat (List, 2003:614). Detta beror till stor del på att bilderna används som referens för andra bilder och om filtret inte används i processen så sprids dessa artefakter vidare till andra bilder. 20

3. Metod När det handlar om kvalitet av video är den subjektiva upplevelsen det som är viktigast. Det går att titta på hur videosignalerna påverkas av komprimeringen men om detta ändå inte uppfattas av den som tittar spelar det ingen roll. Den subjektiva upplevelsen kan dock skilja sig mellan olika personer. Jag valde på grund av detta att utföra användarstudier med 10 personer för att resultaten skulle bli någorlunda generaliserbara. Att resultaten är generaliserbara innebär att man kan anta att det gäller för liknande situationer trots att man inte undersökt dem (Stensmo, 2002:39). 3.1 Användarstudier För att komma fram till hur man ska utforma, komprimera och streama video utfördes användartester. Individerna i studien fick titta på ett antal videoklipp. Dessa videoklipp bedömdes och jämfördes för att se vad som upplevs bäst. Jag valde att utföra användarstudien i steg för att kunna anpassa vilka videoklipp som visades beroende på resultatet i tidigare steg. Det gick på grund av detta att undersöka frågor och detaljer som kommit upp under tidigare steg. Målgruppen för användarstudien är de personer som tittar på Moderna Filmers produktioner, alltså Moderna Filmers kunders kunder. Dessa personer har mycket skilda egenskaper. Målgruppen består av allt från barn som tittar på en video om fotbollsläger till personer inom verkstadsindustrin. Det är alltså svårt att begränsa målgruppen med några demografiska variabler. Jag valde därför att inte använda någon speciell grupp av försökspersoner men jag försökte samtidigt välja personer med olika demografiska egenskaper så att inte försöksgruppen blev för homogen. Alla tester gjordes med blind bedömning (Hansson, 2003:35), vilket innebär att användarna inte visste vilket av referensklippet och övriga klipp som var bättre eller sämre. Om användaren vet det förväntade resultatet är det stor risk att detta påverkar dennes åsikter vilket leder till skeva resultat. Med blind bedömning försvinner denna påverkan på användarna och resultaten blir därför bättre och mer tillförlitliga. I och med att denna rapport inte behandlar ljud gjordes testerna utan ljud. Ljudet togs bort för att inte påverka användarnas bedömning av det som var tänkt, bildkvaliteten. 21

Detta bör göra att validiteten i metoden blir bättre. Validitet innebär att det som mäts eller undersöks är det som är tänkt att mätas eller undersökas (Bell, 2006:117). 3.1.1 Val av videoklipp För att få en så generell bild som möjligt av vad som lämpar sig bäst när det gäller produktion och komprimering av video till mobiltelefoner valdes videoklipp med olika visuella egenskaper ut. Fem olika klipp valdes ut; QuickSearch, Oden Control, Nimbus, India och Fotboll. Tabell 1 visar de olika videoklippens visuella egenskaper. Tabell 1. Valda videoklipp till användartestet samt deras visuella egenskaper. Numme r Namn Visuell egenskap 1 QuickSearch Lite rörelser, person i bröstbild 2 Oden Control Animation i 3D 3 Nimbus Båt som åker över vatten i närbild och översiktsbild 4 India Svepande rörelser över färgrika objekt 5 Fotboll Mycket rörelser QuickSearch är en video som innehåller en person i bröstbild som talar. Bröstbild innebär att kameran får med personen från brösthöjd upp till strax över huvudet. Kameran är fixerad och personen i bilden rör sig endast lite. Bakgrunden är stundtals rörliga och stundtals fasta bilder som innehåller ganska mycket detaljer. Oden Control innehåller en animation av en cylinderformad pump. Kameran sveper runt objektet som samtidigt rör sig i lugna rörelser. Videon innehåller lite färger och få små detaljer. Nimbus innehåller en båt som åker över vattnet. Videon innehåller allt från bilder nära båten till fågelperspektiv. Delar av klippet har endast vatten som bakgrund medan det i andra delar syns strandområden med mer detaljer. India är en video som innehåller mycket färger. Kameran sveper över indiska kryddor i många starka färger. En kock rör runt i en panna och har i kryddor. 22

Fotboll är en video av en fotbollsträning. Det är mycket snabba rörelser. En animerad fotboll rör sig snabbt in och ut ur bilden vid ett par tillfällen. Mellan vissa av delarna i videon används en övergång som består av rutor som bildar den nya delen. 3.1.2 Teknisk uppsättning För att kunna utföra streaming till mobiltelefon krävs det en streamingserver och en mobiltelefon som klarar att spela upp strömmen samt kan hantera datatrafik via 3G. Till användarstudierna i det här arbetet sattes en streamingserver upp med open source-programvara från Apple, Darwin Streaming Server. Programvaran installerades på en bärbar dator med Windows Server 2003. Datorn hade en processor av typen AMD Athlon 64, 3200+, 1.99GHz och 1024MB ram-minne. På servern installerades även en serverprogramvara för FTP så att videoklippen lätt kunde laddas upp. Att använda en bärbar dator är inte så bra när det gäller tillförlitlighet men det går bra i dessa sammanhang och valdes på grund av att det inte fanns något bättre alternativ. Om man ska utveckla en kommersiell tjänst bör man använda en server som garanterar en bra upptid. Den bärbara datorn klarade inte av att stå igång någon längre tid och gick därför sönder. En annan lösning krävdes för att det skulle fungera. Det fanns en äldre stationär dator som inte användes och den blev därför nästa alternativ. Den hade inte lika bra prestanda men bör i stället vara mer stabil. Den hade en Pentium III processor på 850MHz och 256Mbyte i internminne. För att inte belasta datorn med ett krävande operativsystem installerades Linux, utan grafiskt gränssnitt, som operativsystem istället för Windows Server 2003. Distributionen Fedora Core 6 valdes för att den enligt specifikationen av Darwin Streaming Server var lämplig. Varken jag eller någon på Moderna Filmer har någon djupare kunskap inom Fedora så det krävdes ganska mycket tid innan de applikationer vi ville ha var installerade. Till slut var installationen klar, servern var online och klar att användas. Även på denna server installerades en FTP-server för att enkelt kunna lägga över videofilerna. Denna server verkade vara mycket stabil och klarade av att vara igång under långa perioder utan att gå ner. En kontroll av datorns resurser när man ansluter till en videofil visade att endast en knapp procent av processorns kraft användes. Det visar att denna server gott och väl klarar av att användas för detta ändamål. Ett till test 23

gjordes där tio klienter anslöts till servern för att se om servern klarade av det. Datorns resurser utnyttjades mycket lite även vid detta test vilket visar att den bör klara av ganska stor belastning och många anslutna användare. Mobiltelefonen som användes under testerna var en SonyEricsson Z1010. Det är en 3G-telefon som även klarar att spela videoströmmar i 3gp-format. Den klarar att spela upp H.263 och MPEG-4 men inte H.264. Telefonen var utrustad med ett abonnemang från operatören Djuice. För att komprimera de videoklipp som användes i användarstudierna användes QuickTime Pro, version 7.1.3. 3.1.3 Kontroll av yttre variabler För att resultaten i användarstudierna ska ge resultat som har god reliabilitet är det viktigt att det är få yttre variabler som spelar in. Reliabilitet innebär att man får samma mätresultat om man skulle utföra samma test vid ett annat tillfälle (Bell, 2006:117). I och med att man som användare i stort sett alltid har mobiltelefonen med sig finns det ingen enskild situation där de flesta tittar på video. Man kan titta på video i mobilen hemma, på tunnelbanan, på caféer eller i någon helt annan situation. Detta gör att det inte finns någon given situation som man ska utsätta användarna för. I användarstudierna skulle användarna få sitta i ett rum utan fönster eller med täckta fönster och med endast artificiell belysning. Användarna skulle få utföra testet en och en för att inte kunna påverka varandra. Jag skulle vara den enda som var i rummet samtidigt för att kunna svara på frågor och anteckna reflektioner och åsikter under testet. 3.1.4 Bedömning I varje del av användarstudien användes en referensvideo som de andra videoklippen bedömdes efter. Detta gjordes för att alla användare skulle ha en gemensam utgångspunkt att jämföra med. De fick sedan bedöma de övriga klippen med avseende på färger, skärpa, rörelser och ett helhetsbetyg. Betygen delades upp i fem steg, se tabell 2. 24