Vi på Attentec har varit intresserade av tekniken bakom TV-underhållning och streaming ända sedan vi startade företaget 2005 – händelsevis strax efter att YouTube drog igång.
Vi publicerar nu en artikelserie i fyra avsnitt där vi berättar om tekniken som idag gör det möjligt att se på TV och film när, var och hur som helst. För det finns en hel del spännande och innovativ teknik att berätta om. Och helt trivialt är det inte; det kan faktiskt till och med vara svårt! Vi kommer bland annat att beröra olika komprimeringstekniker, Cloud Computing, skalbarhet och kvalitetssäkring samt hur man använder maskininlärning och A/B-testning för att skapa träffsäkra rekommendationssystem. Här kommer del 1.
TV-tittande 2018 – hur svårt kan de va?
Det har ju hänt en del sedan televisionen, eller bildradion som det först hette, slog igenom och bilden här ovan togs. (TV:n är för övrigt inte ens påslagen!) TV-tittande idag kännetecknas av on-demand-tjänster. Borta är tablå-TV:ns tid när vi alla vackert bänkade oss framför Varuhuset på Kanal 1 på fredagskvällen klockan åtta. Vi tittar inte på TV i bemärkelsen “sitta alla samlade framför TV:n i vardagsrummet” längre – vi tittar på datorn, i mobilen, på surfplattan. Var som helst och när vi själva vill. Vi föredrar till och med nyheter live eller i videoformat numera – se bara på expressen.se och aftonbladet.se!
Och som vi älskar att kolla på video över internet! Enligt Cisco var mer än 75 % av den globala IP-baserade trafiken under 2017 film och video och andelen förväntas öka till 82% 2021. Det skulle ta mer än fem miljoner år att kolla igenom den mängd video som kommer att strömmas genom globala IP-nät varje månad 2021. Och en miljon minuter videomaterial i sekunden förväntas streamas igenom IP-nätverk 2021.
Dags att börja titta
Vi är alla bekanta med den berömda “laddningsbollen” eller “snurrande hjulet”. Alla har vi svurit åt den. Vad beror det på? Varför kan inte filmen bara sätta igång? Hur svårt ska de va?! För det första så ska vi komma ihåg att film kräver ganska mycket bandbredd. Det är bland det mest trafiktunga man kan ägna sig åt som privatperson.
Bara för att få lite perspektiv på det – låt oss titta på rå-video med högsta kvalitet av den typen som används vid inspelning i professionella sammanhang. De allra minsta kamerorna (som du som privatperson kan köpa på MediaMarkt t ex) är redan uppe 100 Mbps. I andra änden av skalan finns kameror som Phantom Flex som spelar in ofantliga 3.5 Gbps – ungefär 1500 GB video i timmen! Ska man streama den så står sig ett typiskt svenskt villa-bredband på 100 Mbps ganska slätt. Men denna rå-video streamas naturligtvis inte till konsumenter. Så vad göra?
Tack och lov så går det att få ned storleken på film avsevärt utan att nödvändigtvis behöva tumma på kvaliteten. Video är nämligen ganska tacksamt att komprimera. Detta kallas vanligen för encoding (på svenska) vilket innebär komprimering och att göra filmen mer transportvänlig över nätverk.
Hur komprimerar man?
För att komprimera kan vi rent tekniskt utnyttja redundansen av information i videomaterialet, dra ned upplösningen (vem behöver 4K på mobilen?), minska färgdjupet eller bildhastigheten (frame rate). Vi kan också utnyttja att ögat är mer känsligt för ljusstyrka (luminans) än färgmättnad (krominans) för att skala bort information utan att vi som tittare märker det. Vi kan utnyttja att vi inte spelar upp live och har därför tid att undersöka sekvenser av video istället för bildruta för bildruta och göra flera nivåer av komprimering – och byta codec (algoritm) från sekvens till sekvens, allt efter scenens komplexitet. Svåra och mycket rörliga bilder får mindre komprimering medan enklare och stilla bilder komprimeras mer.
Samtidigt måste vi ta hänsyn till vad det finns för utrustning på andra sidan. Hög komprimering är svårare att dekomprimera/tolka och ställer högre systemkrav på mottagaren. Det tar dessutom längre tid att komprimera hårt vilket inte passar lika bra till live.
Typisk förlustfri (lossless) kompression innebär 5-10 gångers förminskning. Om vi kan tänka oss att tumma lite på kvaliteten (lossy) så kan vi med t ex MPEG-4 få 20-200 gångers förminskning av materialet, beroende hur mycket vi vågar och vill minska den upplevda kvaliteten. För en mobil anslutning med uppspelning på en liten skärm kan vi vara ganska så generösa med komprimering utan att användaren egentligen märker någon skillnad, men på en stor bioduk skulle samma komprimering direkt bli uppenbar.
Ett exempel: En timmes okomprimerad råvideo i HD-upplösning 1080p med 24 bilder per sekund (fps) och 10 bitars färgdjup motsvarar ca 625Gb. Med H264-komprimering anpassad för dagens TV-apparater får vi ned denna video till ca 35Gb, vilket får plats på en Bluray-skiva och kan streamas över en hygglig bredbandsuppkoppling.
Gott så! Vi komprimerar alltså för att spara bandbredd och nedladdningstid och vi gör det med konsumentens skärmstorlek och anslutning i åtanke. Men då uppstår frågan: För vem ska vi komprimera?
- Lena som sitter med knackig 3G-anslutning på tåget och tittar med sin telefon?
- Bengt-Roland som sitter hemma med fiber-anslutning och tittar med sin 4K-projektor på 135-tumsskärm och 13.2.4-ljud?
- Gudrun med laptopen i knät i sin gamla lägenhet med ADSL?
Svaret är naturligtvis: För alla. Men hur löser vi det på smidigt sätt? Blir inte det en otrolig mängd videoklipp med olika kvalitet? Och hur byter man mellan dessa om förutsättningarna ändras?
I nästa avsnitt berättar vi hur Adaptive BitRate streaming (ABR) löser detta och erbjuder nästintill sömlös anpassning av video efter dina förutsättningar. Häng med!
Denna artikelserie är skriven av Attentecs medarbetare Martin Andersson, Stefan Sax, Mikael Silvén och Anders Weiland. För mer information om Attentec och streaming media, kontakta Stefan Sax, tel 070-6191250, eller Anders Weiland, tel 070-6191230.