Video codec

Video-codec  - et program/algoritme til at komprimere (det vil sige at reducere størrelsen) af videodata (videofil, videostream) og gendanne komprimerede data. Et codec  er en formelfil, der bestemmer, hvordan videoindhold kan "pakkes", og dermed video kan afspilles. Det er også muligt at indkode video- og lydinformation, tilføje undertekster, vektoreffekter osv.

Funktionsprincippet for den enkleste codec

Lad os først se på kodning af et statisk billede (eller en enkelt ramme ). Hvert kodet billede af videostrømmen består af prikker ( pixels ), der danner en matrix ( raster). Codec'et kan holde styr på lignende arrays af punkter med de samme attributter (f.eks. den blå baggrundsfarve i himmelbilledet), og i stedet for at gemme information om hvert punkt (lysstyrke og farve) i de følgende rammer separat, skal du kun optage første (nøgle) punkt og en tæller med antallet af gentagelser af dette punkt, indtil farven på dette punkt ændres. Det vil sige, at i stedet for at beskrive fx 1000 point, kan det være nok kun at beskrive 1 point + gentagelsestæller. Kvaliteten her kan styres ved at indstille en værdi, således at hvis forskellen mellem punkterne er mindre, så betragtes de som ens. Dette er den enkleste af komprimeringsmetoderne.

I JPEG udføres en blok-for-blok diskret cosinustransformation på en ramme, efterfulgt af kodning ved hjælp af Huffman-algoritmen eller aritmetisk kodning .

For at opbygge et dynamisk billede (videosekvens) bruges forskellige typer af frames  - foruden I-frames (som også kaldes key ( engelske  keyframes ) eller "reference"), som kun kan indeholde selvstændigt komprimerede makroblokke, tilføjet P- rammer ("forskel"-rammer) kan indeholde både uafhængigt komprimerede makroblokke og makroblokke med reference til en anden ramme.

Mere avancerede komprimeringsformater tager ud over den ovennævnte teknologi hensyn til principperne for at flytte arrays af prikker i billedet, segmentere billedet i "firkanter" med forskellig komprimeringskvalitet ved at bruge en sekvens af rammer kodet anderledes og vist i en bestemt rækkefølge. De nyeste codecs tager højde for de psykofysiske egenskaber ved opfattelsen af ​​video af det menneskelige øje og hjerne, hvilket giver dig mulighed for yderligere at reducere størrelsen af ​​data uden "synligt tab af kvalitet."

Algoritmerne bruger også ligheden mellem tilstødende frames i videosekvensen.

Bemærkelsesværdige codecs

Se også