Rammetyper

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 19. august 2018; checks kræver 6 redigeringer .

Rammetyper i en komprimeret videostrøm er metoder til kodning og lagring af information om det næste billede , der adskiller sig fra hinanden i nærvær eller fravær af afhængigheder af denne ramme til tidligere og efterfølgende.

En ramme er den grundlæggende kodningsstruktur. Følgende parametre er knyttet til en ramme: tid, rammetype, bufferinitialiseringsflag, opløsning af bevægelsesvektorer og deres rækkefølge og brugerdata

Typisk er en ramme opdelt i kvadratiske makroblokke , og linktypen for hver af makroblokkene bestemmes individuelt, men med en begrænsning givet af typen af ​​hele rammen:

Den nye MPEG-4 AVC/H.264-standard introducerer også konceptet med SI- og SP-rammer .

Beskrivelse af rammetyper

I-frames

I-frames er kodet på samme måde som JPEG -frames . I varianten af ​​algoritmen, hvor der kun er I-frames, konverteres videosekvensen til M-JPEG . I-frames kan bruges til vilkårlig adgang, fordi de ikke kræver yderligere information. I-frames har det laveste kompressionsforhold.

P-frames

P-rammer er kodet ved hjælp af tidligere I- og P-rammer. For eksempel bruger en ramme, der følger umiddelbart efter en I-frame, den uændrede information fra den I-frame og udfylder den med sin interframe-forskel. Hvis denne P-ramme efterfølges af en anden P-ramme, så tager den igen den uændrede information fra den tidligere P-ramme (som igen brugte den uændrede I-frame information) og supplerer den med sin inter-frame forskel.

B-frames

B-frames bruges som en interpolation mellem de foregående og følgende frames af både I- og P-typer.

D-frames

MPEG-1 har en unik rammetype, der ikke findes i senere videostandarder. D-rammer refereres aldrig til med I-, P- eller B-frames. D-frames bruges kun til hurtige videoforhåndsvisninger, såsom når du hurtigt søger efter et ønsket videosegment.

Med lidt bedre afkodningshardware kan forhåndsvisning udføres ved at afkode I-frames i stedet for D-frames. Dette giver en bedre forhåndsvisning, fordi I-frames er komprimeret med mindre tab. Hvis koderen kan antage, at hurtig afkodning af I-frames er tilgængelig i dekodere, kan den spare bits ved ikke at sende D-frames (og dermed forbedre videoindholdskomprimeringen). Af denne grund bruges D-frames sjældent i MPEG-1-videokodning, og D-frame-funktionen er ikke inkluderet i nogen senere videokodningsstandarder.

Rammegruppe

En gruppe billeder (GOP) er den mindste uafhængige kodningsstruktur i en videosekvens. Tilfældig adgang til videosekvensen er mulig op til en gruppe billeder. Den rammegrupperelaterede information inkluderer tidskode, lukket flag og brugerinformation.

GOP-strukturen er ofte angivet med to tal, såsom M = 3, N = 12. Det første tal angiver afstanden mellem to ankerrammer (I eller P). Den anden fortæller afstanden mellem to komplette billeder (I-frames): dette er størrelsen på GOP. For eksempel M = 3, N = 12, GOP-strukturen er IBBBPBBPBBPBBI. I stedet for M-parameteren kan du bruge det maksimale antal B-frames mellem to på hinanden følgende ankerframes.

For eksempel, i en sekvens med mønsteret IBBBPBBBBPBBBBBI, er GOP-størrelsen ( N-værdi ) 15 (længden mellem to I-rammer), og afstanden mellem to ankerrammer ( M-værdi ) er 5 (længden mellem I- og P-rammer, eller længden mellem to på hinanden følgende P-rammer).

Rammegruppetyper

I

I videostrømmens MJPEG- og DV - codecs er alle frames I-type.

IP

Familien af ​​MPEG4-codecs af den "tredje version" (den mest populære var DivX 3.11, DivX 4.12 og OpenDivX er også kendt) har to typer rammer - I og P. B-rammer er ikke leveret. Situationen er den samme i familien af ​​codecs fra On2 : VP3 , VP6 , VP8 .

Derudover har mange moderne codecs mulige indstillinger, der slår oprettelsen af ​​B-frames fra for at reducere omkostningerne ved processorkraft til realtidsbehandling.

Videokomprimeringsstandarderne , der er vedtaget af ITU-T VCEG og ISO / IEC MPEG , komprimerer typisk kun forskellen mellem billeder. For eksempel, i en scene, hvor en person går mod en baggrund af stationære objekter, er det kun nødvendigt at gemme information om skiftende områder (for eksempel ved at bruge bevægelseskompensation , som gemmer blokpositionsændringsvektoren eller, hvis et lignende område ikke er fundet i den forrige ramme, er dette område komprimeret som et selvstændigt billede). Dele af scenen, der ikke ændres, gemmes ikke i strømmen, hvilket i høj grad øger komprimeringsforholdet sammenlignet med formater, der bruger uafhængig komprimering af hvert enkelt billede.

For eksempel, for I- og P-frames i strømmen, dannes IPPPPPPPPPPPPP… -kæder, når den første ramme komprimeres uafhængigt, og efterfølgende komprimeres med reference til den første ramme. Dette er det enkleste eksempel på brug af forskellige typer rammer i en strøm.

Mens den største fordel ved at bruge P-frames er stigningen i kompressionsforholdet, er deres største ulempe den dramatisk stigende frame-adgangstid, da hele kæden af ​​frames fra den nærmeste I-frame skal være fuldstændig dekomprimeret for at opnå den ønskede frame. Især hvis komprimeringen er blevet indstillet til parametre, der maksimerer kompressionsforholdet, således at I-frames er sjældne, kan forsinkelsestiden for visning af en vilkårlig ramme i strømmen være meget mærkbar.

IPB

I en stream komprimeret af et video-codec i henhold til MPEG-2 , MPEG-4 , H.261 , H.263 og H.264 standarder bruges tre hovedtyper af frames : I-frames (fra engelsk  Intra pictures ), P -frames (fra forudsagte billeder ) og B-frames (fra bi-prædiktive billeder eller bi-direktionelle billeder ).

Brugen af ​​B-rammer betyder, at en given ramme refererer til to tilstødende I- eller P-rammer i strømmen, i hvilket tilfælde rammekæden kan se sådan ud: IBPBPBPBPBPBPBPBP . Mere almindeligt anvendte kæder er IBBBPBBPBBPBBPBBBBBPBBPBBP, hvor B-rammer stadig refererer til de to nærmeste nabo I- eller P-rammer og er uafhængige af hinanden.

Denne struktur gør det muligt at fremskynde tidspunktet for opnåelse af en vilkårlig ramme i strømmen med 2-3 gange, da det for at opnå det kun er nødvendigt at udpakke hver anden (tredje) ramme (som er en P-ramme ), startende fra I-rammen. Også hastigheden på "spol frem med showet" øges flere gange.

Funktioner ved implementeringer

Xvid - codec'et , med passende indstillinger, giver dig mulighed for at få 4 eller flere B-frames i træk. Og sådan en strøm vil blive korrekt gengivet af sig selv såvel som af ffdshow- dekoderen . Nogle dekodere er ikke i stand til korrekt at gengive mere end én B-frame i træk.[ betydningen af ​​det faktum? ]

Links