H.264-videocodec

H.264-videocodec

H.264

Deze codec is ontwikkeld door de ITU (International Telecommunications Union) met de sobere naam h.26L. In 2001 hebben verschillende consortia en bedrijven hun krachten gebundeld en gezamenlijk verder ontwikkeld. Microsoft heeft ook meegewerkt aan de ontwikkeling van H.264.

H.264 CODEC

Deze videocodec is nu compatibel met tal van bedrijven en eindapparaten, waaronder Adobe en Apple. De H.264-codec is een van de videocodecs die ook de sprong heeft gemaakt naar codecs die compatibel zijn met Blu Ray en HD-DVD. Welnu, de kwaliteit van deze videocodec is verbluffend, maar er is een prijs voor. Zeer weinig videobloggers en kleine bedrijven zullen investeren in de duizelingwekkende licentiekosten.

H.264 technische kenmerken
CAVLC / CABAC-encoder
Meerdere referentiekaders
Intra frames: alle soorten macroblokken (16×16, 8×8 en 4×4)
B-kaders gebruiken als referentiekaders
adaptieve temporele transformatie (8 × 8 en 4 × 4)
Aangepaste kwantiseringsmatrices
Optimalisatie voor multi-core processors
Gemengde referentiekaders voor submacroblokken
Alfa- en bèta-ontgrendelingsfilters
Interlaced
Extra H.264-functies
Snelheidsregeling: constante kwantisering (CQP), constante snelheidsfactor (CRF)
Optimalisatie van nominale vervorming
Aanpasbare B-frames
Verschillende bewegingsdetectiemechanismen (Diamond, Hexagon, Desigual Multi-Hexagon)
Geoptimaliseerde kwantisering van nominale vervorming (trellis)

H.264-niveaus en profielen

In 2003 werden de eerste versies van de H.264-videocodec uitgebracht met de ITU-T H.264-standaard. In deze standaard zijn de eerste 3 profielen gedefinieerd voor H.264, de baseline, het hoofdprofiel en het high profile. In de loop van de tijd zijn de profielen High 10, High 4: 2: 2 en High 4: 4: 4 toegevoegd. Deze profielen bepalen de coderingsparameters die moeten worden gebruikt, aangezien volgens de standaard niet alle functies willekeurig kunnen worden gebruikt .

Er zijn ook verschillende H.264-niveaus gedefinieerd in de ITU-T H.264-standaard, die de maximale videoformaten, bitsnelheden en andere parameters definiëren, zoals het aantal macroblokken dat is toegestaan ​​in de H.264-videocodec. Om echte H.264-video’s te maken die aan de standaarden voldoen, gaat u naar het H.264-niveauoverzicht van Wikipedia en past u de parameters aan volgens uw gewenste niveau / profiel.

x264 is de meest wijdverspreide afgeleide van de H.264-codec onder de GPL en tegelijkertijd commandoregel-encoder voor het H.264 MPEG-4-AVC-videoformaat. Het is een open source-oplossing die beschikbaar is voor alle platforms zoals Windows, Linux en Unix.

Deze encoder is ontwikkeld als onderdeel van het VideoLAN-project en kan gratis worden gedownload vanaf de projectpagina’s op http://www.videolan.org/developers/x264.html.

Technische kenmerken x264
CAVLC / CABAC-encoder
Meerdere referentiekaders
Intra frames: alle soorten macroblokken (16×16, 8×8 en 4×4)
B-kaders gebruiken als referentiekaders
Adaptieve temporele transformatie (8×8 en 4×4)
Aangepaste kwantiseringsmatrices
Optimalisatie voor multi-core processors
Alfa- en bèta-ontgrendelingsfilters
Interlaced
Extra functies x264
Snelheidsregeling: constante kwantisering (CQP), constante snelheidsfactor (CRF), single-pass en multi-pass ABR
Gemengde referentiekaders voor submacroblokken
Verschillende bewegingsdetectiemechanismen (Diamond, Hexagon, Desigual Multi-Hexagon)
Geoptimaliseerde kwantisering van nominale vervorming (trellis)
De encoder ondersteunt zowel 32-bit als 64-bit en multi-threaded platforms, wat vooral interessant is voor multi-core processors zoals Xeon, Phenom of dual-core processors.

De Videcodec x264 ondersteunt ook de H.264-niveaus en -profielen die zijn gedefinieerd voor de H.264-codec in de ITU-T H.264-standaard, die de maximale videoformaten, bitsnelheden en andere parameters definiëren, zoals het aantal macroblokken dat is toegestaan ​​in de video. Om H.264 / x264-video’s te maken die aan de standaarden voldoen, gaat u naar Wikipedia’s H.264 / x264-niveauoverzicht en past u de parameters aan volgens uw gewenste niveau / profiel.

Coderingstheorie: datacompressie

Coderingstheorie: datacompressie

Data compression - Encoding

Datacompressie of -codering verwijst naar procedures om de vereisten voor gegevensopslag te verminderen. In principe moet een onderscheid worden gemaakt tussen 2 soorten datacompressie, verliesloze datacompressie en lossy / lossless datacompressie.

Encoding dTA COMPRESSION

Bij datacompressie met verlies wordt geprobeerd om irrelevante geluids-, beeld- of audio-informatie eruit te filteren die onder de drempel van menselijke waarneming valt. Dit omvat bijvoorbeeld bepaalde kleurwaarden en beeldruimten en tonen en frequenties die niet meer waarneembaar zijn in de audiodata.

In de audiosector kun je zonder gewetensbezwaren afzien van frequenties boven 20 kHz, wat overeenkomt met een samplefrequentie van 44.100 kHz, zonder een merkbaar hoorbaar verlies te merken (als volwassene!). We spreken hier van irrelevantievermindering of redundantievermindering. Zelfs zachte tonen na harde, plotselinge geluiden kunnen gedurende korte tijd niet door het menselijk oor worden waargenomen.

Deze thema’s kunnen worden samengevat onder de algemene term “psychoakoestische effecten van perceptie”. Lossy / non-lossy datacompressie wordt op het gehele mediagebied uitgevoerd. Anders zouden de enorme hoeveelheden gegevens niet langer beheersbaar zijn.

Als je te ver gaat met datacompressie, toont een video typische compressieartefacten of blokartefacten. Video ziet er korrelig uit, vaak vergezeld van wazige, wazige afbeeldingen en kleurstrepen. Het geluid is gedempt, piepend of heeft ook hoorbare compressieartefacten. Deze video kan op deze manier niet in de originele video worden gedecomprimeerd, omdat essentiële video- en audio-informatie gewoon ontbreekt.

Het tegenovergestelde van deze procedure is datacompressie zonder verlies. Gegevens die zonder verlies zijn gecomprimeerd, kunnen op elk moment 1: 1 worden gedecomprimeerd zonder gegevensverlies. Een bekend voorbeeld van compressie zonder verlies zijn ZIP- of RAR-bestanden. Wanneer u een bestand maakt op basis van een tekstbestand, wordt de bestandsgrootte niet verkleind door irrelevante gegevens weg te laten. Met verliesvrije compressie wordt terugkerende informatie door tellers gerouteerd en / of opgeslagen. Dit kan worden verklaard met een eenvoudig voorbeeld:

niet-gecomprimeerde tekst: vrijdag, vrijdag, altijd vrijdag

Methode A
gecomprimeerde tekst zonder verlies: vrijdag, -1 over en over -4
Informatie “vrijdag” die 3 keer wordt herhaald, wordt op een ruimtebesparende manier geadresseerd door de positie van de eerste definitie te specificeren.
Methode b
Verliesloze gecomprimeerde tekst: 3f, 3f meer dan 3f
De informatie “vrijdag”, die 3 keer wordt herhaald, wordt ruimtebesparend geadresseerd met de 2 tekens “3f”.

Het compromis: audiokwaliteit vs. Video kwaliteit

Een audio- en videoanalyse met betrekking tot de inhoud van de bronvideo is essentieel vóór het coderingsproces. Krijg een nauwkeurig beeld van de bronvideo die u heeft. Er moet een compromis worden gevonden tussen goede videokwaliteit / matige audiokwaliteit en matige videokwaliteit / goede audiokwaliteit. H.264 is een videocodec met een zeer hoge compressie, maar het moet elke bitrate die verstandig kan worden opgeslagen van tevoren verdelen.

Welke doelgroepbandbreedtegroepen zou ik willen bedienen?
Hoge / matige videokwaliteit van bronvideo?
Veel / weinig beweging in de bronvideo?
Hoge / matige audiokwaliteit van bronvideo?
Plan bijvoorbeeld een hogere bitsnelheid voor audiokwaliteit dan videokwaliteit voor een televisie-interview. Plan daarentegen voor een complexe documentaire die veel beweging vereist een hogere bitsnelheid voor videokwaliteit dan voor audiokwaliteit.

Met deze aanpak kunt u bitrates verstandig van tevoren verdelen en zo nodig opslagruimte besparen. Als u vaak met webvideo-codering te maken heeft, raden we u aan een checklist te gebruiken waarmee u kunt werken aan de bijbehorende video- en audioprioriteringen.