Videokodek - Video codec

En videokodek er programvare eller maskinvare som komprimerer og dekomprimerer digital video . I konteksten for videokomprimering er kodek en portmanteau for encoder og decoder , mens en enhet som bare komprimerer vanligvis kalles en encoder , og en som bare dekomprimerer er en dekoder .

Det komprimerte dataformatet samsvarer vanligvis med et standard videokodingsformat . Komprimeringen er vanligvis tapende , noe som betyr at den komprimerte videoen mangler noe informasjon i den originale videoen. En konsekvens av dette er at dekomprimert video har lavere kvalitet enn den originale, ukomprimerte videoen fordi det er utilstrekkelig informasjon til å rekonstruere originalvideoen nøyaktig.

Det er komplekse forhold mellom videokvaliteten , mengden data som brukes til å representere videoen (bestemt av bithastigheten ), kompleksiteten til kodings- og dekodingsalgoritmene, følsomhet for tap av data og feil, enkel redigering, tilfeldig tilgang og ende-til-ende forsinkelse ( latens ).

Historie

Historisk sett ble video lagret som et analogt signal på magnetbånd . Rundt den tiden da CD-en kom på markedet som en digital-erstatning for analog lyd, ble det mulig å lagre og formidle video i digital form. På grunn av den store lagringsmengden og båndbredden som trengs for å ta opp og formidle råvideo, var det nødvendig med en metode for å redusere mengden data som ble brukt for å representere råvideoen. Siden den gang har ingeniører og matematikere utviklet en rekke løsninger for å nå dette målet som innebærer komprimering av digitale videodata.

I 1974 ble diskret cosinustransformasjon (DCT) introdusert av Nasir Ahmed , T. Natarajan og KR Rao . I slutten av 1980 -årene begynte en rekke selskaper å eksperimentere med DCT lossy -komprimering for videokoding, noe som førte til utviklingen av H.261 -standarden. H.261 var den første praktiske videokodingsstandarden, og ble utviklet av en rekke selskaper, blant annet Hitachi , PictureTel , NTT , BT og Toshiba . Siden H.261 har DCT -komprimering blitt vedtatt av alle de store videokodestandardene som fulgte.

De mest populære videokodingsstandardene som brukes for kodeker har vært MPEG -standardene. MPEG -1 ble utviklet av Motion Picture Experts Group (MPEG) i 1991, og den ble designet for å komprimere VHS -kvalitetsvideo. Det ble etterfulgt i 1994 av MPEG-2 / H.262 , som ble utviklet av en rekke selskaper, først og fremst Sony , Thomson og Mitsubishi Electric . MPEG-2 ble standard videoformat for DVD og SD digital TV . I 1999 ble det fulgt av MPEG-4 / H.263 , som var et stort sprang fremover for videokomprimeringsteknologi. Det ble utviklet av en rekke selskaper, først og fremst Mitsubishi Electric, Hitachi og Panasonic .

Det mest brukte videokodingsformatet, fra 2016, er H.264/MPEG-4 AVC . Det ble utviklet i 2003 av en rekke organisasjoner, først og fremst Panasonic, Godo Kaisha IP Bridge og LG Electronics . H.264 er hovedvideokodingsstandarden for Blu-ray-plater , og brukes mye av streaming internettjenester som YouTube , Netflix , Vimeo og iTunes Store , webprogramvare som Adobe Flash Player og Microsoft Silverlight og forskjellige HDTV- sendinger over bakkenett og satellitt -TV.

AVC har blitt etterfulgt av HEVC (H.265), utviklet i 2013. Det er sterkt patentert, med flertallet av patentene tilhørende Samsung Electronics , GE , NTT og JVC Kenwood . Adopsjonen av HEVC har blitt vanskeliggjort av den komplekse lisensstrukturen. HEVC etterfølges av Versatile Video Coding (VVC).

Det er også de åpne og gratis VP8 , VP9 og AV1 videokodingsformatene, som brukes av YouTube, som alle ble utviklet med involvering fra Google.

applikasjoner

Videokodeker brukes i DVD -spillere, internettvideo , video on demand , digital kabel , digital bakkenett -tv , videotelefoni og en rekke andre applikasjoner. Spesielt er de mye brukt i applikasjoner som tar opp eller sender video, noe som kanskje ikke er mulig med de høye datavolumene og båndbreddene til ukomprimert video. For eksempel brukes de på operasjonsstuer til å registrere kirurgiske operasjoner, i IP -kameraer i sikkerhetssystemer og i fjernstyrte undervannsbiler og ubemannede luftfartøyer .

Video codec design

Videokodeker søker å representere et fundamentalt analogt datasett i et digitalt format. På grunn av utformingen av analoge videosignaler, som representerer luminans (luma) og fargeinformasjon (chrominance, chroma) separat, er et vanlig første trinn i bildekomprimering i codec -design å representere og lagre bildet i et YCbCr -fargerom . Konverteringen til YCbCr gir to fordeler: For det første forbedrer den komprimerbarheten ved å gi avkorrelasjon av fargesignalene; og for det andre skiller det luma -signalet, som er perceptuelt mye viktigere, fra chromasignalet, som er mindre perceptuelt viktig og som kan representeres ved lavere oppløsning ved hjelp av chroma -undersampling for å oppnå mer effektiv datakomprimering. Det er vanlig å representere forholdene mellom informasjon lagret i disse forskjellige kanalene på følgende måte Y: Cb: Cr. Ulike kodeker bruker forskjellige chroma undersamplingsforhold som passer til deres kompresjonsbehov. Videokomprimeringsordninger for web og DVD bruker et fargeprøvetakingsmønster på 4: 2: 1, og DV -standarden bruker samplingsforhold på 4: 1: 1. Profesjonelle videokodeker designet for å fungere med mye høyere bithastigheter og for å registrere en større mengde fargeinformasjon for etterproduksjonsmanipuleringsprøve i forholdene 4: 2: 2 og 4: 4: 4. Eksempler på disse kodekene inkluderer Panasonics DVCPRO50 og DVCPROHD kodeker (4: 2: 2), Sonys HDCAM-SR (4: 4: 4), Panasonics HDD5 (4: 2: 2), Apples Prores HQ 422 (4: 2) : 2).

Det er også verdt å merke seg at videokodeker også kan fungere i RGB -plass. Disse kodekene har en tendens til ikke å prøve de røde, grønne og blå kanalene i forskjellige forhold, siden det er mindre perseptuell motivasjon for å gjøre det - bare den blå kanalen kan være undersamplet.

En viss mengde romlig og tidsmessig nedprøvetaking kan også brukes til å redusere rådatahastigheten før den grunnleggende kodingsprosessen. Den mest populære kodingstransformen er 8x8 DCT. Kodeker som bruker en wavelet -transform, kommer også inn på markedet, spesielt i kameraets arbeidsflyter som involverer håndtering av RAW -bildeformatering i bevegelsessekvenser. Denne prosessen innebærer å representere videobildet som et sett med makroblokker . For mer informasjon om denne kritiske fasetten ved videokodek-design, se B-rammer .

Utgangen fra transformasjonen blir først kvantisert , deretter blir entropikoding påført de kvantiserte verdiene. Når en DCT har blitt brukt, blir koeffisientene vanligvis skannet ved hjelp av en sikksakk-skanningsrekkefølge , og entropikodingen kombinerer vanligvis et antall påfølgende nullverdige kvantiserte koeffisienter med verdien av den neste ikke-null kvantiserte koeffisienten til et enkelt symbol , og har også spesielle måter å indikere når alle de gjenværende kvantiserte koeffisientverdiene er lik null. Entropikodingsmetoden bruker vanligvis kodetabeller med variabel lengde . Noen kodere komprimerer videoen i en flertrinnsprosess kalt n-pass- koding (f.eks. 2-pass), som utfører en langsommere, men potensielt høyere kvalitetskomprimering.

Dekodingsprosessen består i å utføre, så langt det er mulig, en inversjon av hvert trinn i kodingsprosessen. Det ene stadiet som ikke akkurat kan inverteres, er kvantiseringstrinnet. Der utføres en best-approximation av inversjon. Denne delen av prosessen kalles ofte omvendt kvantisering eller dekvantisering , selv om kvantisering er en iboende ikke-inverterbar prosess.

Videokodek -design er vanligvis standardiserte eller blir til slutt standardiserte - dvs. spesifisert presist i et publisert dokument. Imidlertid trenger bare dekodingsprosessen å være standardisert for å muliggjøre interoperabilitet. Kodingsprosessen er vanligvis ikke spesifisert i det hele tatt i en standard, og implementatører står fritt til å designe koderen deres slik de vil, så lenge videoen kan dekodes på den angitte måten. Av denne grunn kan kvaliteten på videoen som produseres ved dekoding av resultatene til forskjellige kodere som bruker den samme videokodekstandarden, variere dramatisk fra en enkoderimplementering til en annen.

Vanlige videokodeker

En rekke videokomprimeringsformater kan implementeres på PCer og i forbrukerelektronikkutstyr. Det er derfor mulig at flere kodeker er tilgjengelige i det samme produktet, noe som reduserer behovet for å velge et enkelt dominerende videokomprimeringsformat for å oppnå interoperabilitet .

Standard videokomprimeringsformater kan støttes av flere kodere og dekoderimplementeringer fra flere kilder. For eksempel kan video som er kodet med en standard MPEG-4 del 2-kodek som Xvid, dekodes med andre standard MPEG-4 del 2-kodeker, for eksempel FFmpeg MPEG-4 eller DivX Pro Codec, fordi de alle bruker samme videoformat.

Codecs har sine kvaliteter og ulemper. Sammenligninger blir ofte publisert. Kompromissen mellom kompresjonskraft, hastighet og troskap (inkludert artefakter ) regnes vanligvis som den viktigste figuren av teknisk fortjeneste.

Codec pakker

Videomateriale på nettet er kodet av en rekke kodeker, og dette har ført til tilgjengeligheten av kodekpakker-et ferdig montert sett med vanlige kodeker kombinert med et installasjonsprogram som er tilgjengelig som en programvarepakke for PC-er, for eksempel K-Lite Codec Pack , Perian og Combined Community Codec Pack .

Se også

Referanser

Eksterne linker