EUROPESE DIGITALE UITZENDSTANDAARD MPEG-2 I. INLEIDING MPEG is de afkorting van 'Moving Pictures Expert Group' en de bijnaam voor de 'Working Group (WG)11' van de 'Sub Committee (SC)29' van de 'Joint Technical Committees (JTC)' van de 'International Standards Organisation (ISO)' en de 'International Electrotechnical Commission (IEC), ofwel ISO/IEC/JTC1/SC29/WG11. MPEG-2 is de opvolger van de MPEG-1 standaard, die de compressiestandaard is voor producten als CD-Video, CD-Karaoke, CD-I Full Motion Video. De MPEG-1-geluidscompressie (Layer-I) wordt toegepast in de 'Digital Compact Cassette (DCC)'. De Layer-II audiocodering wordt toegepast in het digitale geluidsomroepsysteem DAB (Digital Audio Broadcast, EU-147). De MPEG-1-videocompressiestandaard is gericht op een bitrate van maximaal 1,856Mbit/s, onder andere in verband met de capaciteit van de audio-CD.
Enige begrenzingen van de MPEG-1videocompressiestandaard MPEG-1 parameter Horizontale beeldgrootte Verticale beeldgrootte Beeldfrequentie Bitrate
Grenswaarde ? 768 pixels ? 576 pixels ? 30Hz ? 1.856.000bits/s
De MPEG-2-standaard is een verdere ontwikkeling van de MPEG-1-standaard. Tijdens het proces van het standaardiseren van MPEG-1 werd duidelijk, dat ook andere toepassingsgebieden geëxploiteerd konden worden met deze compressietechnieken. Zo is MPEG-2 in eerste instantie bedoeld voor omroeptoepassingen, gebaseerd op signalen volgens CCIR Rec. 601 en tevens ook met het kwaliteitsniveau. Ook een MPEG-3-standaard werd gepland voor de overdracht van HDTV-signalen, maar deze is er nooit gekomen, daar de MPEG-2-standaard ook dit toepassingsgebied bleek af te kunnen dekken. De MPEG-4-standaard mikt op het comprimeren van videosignalen voor zeer lage bitrates als 64kbits/s. De MPEG-2-standaard bestaat uit meerdere delen: 1. De systeem syntax. 2. De videocompressie. 3. De audiocodering. 4. Conformance Testing (wordt hier niet behandeld); waarmee kan worden aangetoond of een apparaat correct volgens de MPEG-standaard functioneert.
II. MPEG-2-VIDEOCOMPRESSIE 1. Inleiding De MPEG-1-standaard definieert een serie compressietechnieken, gebaseerd op de DCT-methode (Discrete Cosine Transform). Het is een generieke standaard, waarbij de uiteindelijke bitrate ingesteld kan worden en waarbij een encoderingsproces geoptimaliseerd kan worden door middel van de instelling van vele parameters. Zo kan voor het encoderen van een videofilm voor een
Satelliet technologie
-1-
MPEG-2
HS/V1 -2001
Video-CD de film twee maal door de encoder gevoerd worden, waarbij de eerste maal een analyse wordt uitgevoerd, welke beelden moeilijk en welke makkelijk te encoderen zijn. Hierna wordt dan een zo optimale encodering van beeld tot beeld uitgerekend, waarna de eigenlijke encodering dan in de tweede maal wordt doorgevoerd. Dit optimaliseringsproces kan alleen voor 'non-real time' toepassingen. Voor de belangrijkste toepassingsgebieden van MPEG-2, de digitale omroep via satelliet, kabel en aardse kanalen is zo'n optimaliseringsproces niet mogelijk. Het belangrijkste technische verschil tussen de doelstellingen van MPEG-1 en MPEG-2 is het kunnen encoderen van geïnterliniëerde beelden, zodat werkelijke TV-beelden gecomprimeerd kunnen worden. De MPEG-1-standaard gaat namelijk uit van niet-geïnterliniëerde beelden en vermijdt daarom deze additionele moeilijkheidsgraad. Verder is er een verschil in de beoogde bitrates: voor MPEG-1 is de bitrate van de videodatastroom geringer dan 1,85Mbit/s en voor de MPEG-2 ligt deze vanaf 2 tot en met 80Mbit/s. Om nu ook bij deze lage bitrates nog een aanvaardbare kwaliteit te kunnen bewerkstelligen met de extra moeilijkheid van de interliniering zijn de MPEG-1-technieken verder uitgebreid. De uitbreiding behelst onder andere de bewegingscompensatie over enige additionele geinterliniëerde beelden. Verder kan tijdens de encodering gekozen worden tussen een DCT gebaseerd op een raster (halfbeeld) of op een geheel beeld (equivalent met twee rasters). Tevens kan de volgorde van het uitlezen van de DCT-coëfficiënten veranderd worden, hetgeen voor geïnterliniëerde beelden optimaler is. Verder technische verschillen zijn de mogelijkheden voor het benutten van nietlineaire kwantisering van de coëfficiënten, het gebruik van 10bits voor een hogere nauwkeurigheid, de mogelijkheid voor het encoderen van de chromacomponenten in 4:2:2-verhouding en verdere technieken voor het versturen van extra informatie ter maskering van fouten. Voor deze wezenlijke parameters werd het bereik vergroot om aan de TV- en HDTV-toepassingen te kunnen voldoen. Daarom staat de MPEG-2-syntax grotere beeldmaten toe en grotere vectoren voor bewegingscompensatie. Verder kunnen er nog een grote verscheidenheid aan additionele parameters overgedragen worden, welke de configuratie van het display sturen, zoals informatie over de NTSC- en PAL-hulpdraaggolf, coëfficiënten voor de kleurenmatrix, gamma-coëfficiënten en 'pan-and-scan' vectoren. In verband met de HDTV-toepassingen werden nieuwe algoritmen ingebracht, die het mogelijk maakten, hiërarische encoderingen te realiseren. Een hiërarische encodering is bijvoorbeeld een encodering van een HDTV-signaal op een zodanige manier, dat een 'gewone' TV-decoder van een deel van de bit-stroom een TV-beeld maakt en een HDTV-decoder van de totale bit-stroom een HDTV-beeld kan maken. Deze hiërarische encoderingen zijn gebaseerd op filtertechnieken in de tijd en in het beeld, op 'sub-sampling' technieken (Spatial and Temporal Scalability), en op technieken om de coëfficiënten op een slimme manier op te splitsen (SNR Scalability). Deze laatste technieken kunnen bijvoorbeeld 'graceful degradation' mogelijk maken, dit is een graduele (in eindige stappen) verslechtering van de beeldkwaliteit naar mate er een geringere signaalsterkte wordt ontvangen. Door deze veelheid aan technieken, die een bitratebereik van 2-80Mbit/s mogelijk maken, ontstaat direct de vraag of elke decoder al deze technieken moet bevatten, aangezien dit dan direct prijsconsequenties heeft. En zo nee, hoe dan gewaarborgd wordt, dat een bit-stroom door elke decoder kan gelezen worden.Hiertoe werd een matrix opgesteld met niveau's (levels) en profielen (profiles). De niveaus hebben een direct verband met de grootte van het beeld en de profielen met de technieken, die gebruikt kunnen worden.
Satelliet technologie
-2-
MPEG-2
HS/V1 -2001
MPEG-2-Profiles and Levels.
Op de verticale as staan vier niveaus aangegeven, 'Low', 'Main', 'High 1440' en 'High', elk overeenkomend met een maximale bitrate een maximale beeldgrootte, plus bijbehorende beeldfrequentie, uitgedrukt in pixels per seconde. Op de horizontale as staan groepen technieken weergegeven, welke 'Simple', 'Main', 'SNR scalable', 'Spatial scalable' en 'High' genoemd worden. Deze groepen technieken corresponderen met deelverzamelingen van syntaxelementen, die door een bijbehorende decoder begrepen moeten kunnen worden. In de matrix kunnen niet alle velden leiden tot toegestane MPEG-2-decoders. De velden, welke gemarkeerd zijn met een punt zijn niet toegestaan. In de andere velden is steeds een afkorting aangegeven, welk profiel op welk niveau is bedoeld. Zo is 'MP@LL' te lezen als 'Main Profile en Low Level'. De afspraken van MPEG-2 zijn nu zo, dat elke decoder zich in één van deze toegestane velden moet bevinden en dan ook de functionaliteit van de toegestane velden links en beneden zijn eigen veld moet bevatten; Dus een 'SNRP@ML'-decoder moet ook bitstromen van 'MP@ML', 'SP@ML', 'SNRP@LL' en 'MP@LL' kunnen decoderen. Voor de eerste MPEG-2 toepassingen wordt het 'Main-Profile' gebruikt. Hierin bevinden zich alle noodzakelijke technieken om geïnterliniëerde beelden te kunnen comprimeren. Er zijn echter geen schaalbare (scalable) technieken opgenomen in dit profiel. In het 'Simple Profile' is een deelverzameling opgenomen van de technieken van het 'Main Profile'. Het enige verschil tussen beide profielen is, dat het 'Simple Profile' geen 'Bidirectional Prediction' bevat. Dit heeft tot gevolg dat er geen 'B pictures' kunnen worden gebruikt en dit scheelt vrij veel geheugen in de decoder, waardoor een goedkopere decoder verkregen kan worden. Het moge duidelijk zijn, dat door het gebruik van de techniek van 'Bidirectional Prediction' een efficiëntere encodering mogelijk is of anders gezegd, dat bij dezelfde bitrate een betere beeldkwaliteit met het 'Main profile' verkregen kan worden, dan met het 'Simple Profile'. Na het 'Main Profile' volgt het 'SNR Scalable Profile'. Dit profiel bevat de techniek van het opsplitsen van de coëfficiënten plus alle technieken van het 'Main profile'. Het volgend profiel is 'Spatial Scalable', welke aan het 'SNR Scalable Profile' de techniek toevoegt van het filteren in het plaatsdomein. Het 'High Profile' bevat alle genoemde technieken plus de mogelijkheid om de chromacomponenten met een hogere resolutie over te dragen (in de verhouding van 4:2:2 in plaats van 4:2:0 voor de standaard kleurkwaliteit).
Satelliet technologie
-3-
MPEG-2
HS/V1 -2001
Voor de eerste MPEG-2 toepassingen is het 'Main level' het belangrijkste. Dit niveau correspondeert met de beeldgrootte en resolutie van TV-beelden volgens CCIR/ITU-R Recommendatie 601. Het 'Simple-niveau' komt overeen met het 'SIF-niveau' van de MPEG-1standaard, hetgeen een kwart van de beeldelementen heeft van het 'Main level'. Voor de HDTV-toepassingen zijn er twee niveaus: 'High1440' en 'High'. Dit is gedaan om aan te sluiten bij de stapsgewijze introductie van HDTV. Het 'High1440'-niveau heeft 1440 beeldpunten op een lijn en heeft betrekking op een geïnterliniëerd beeld. Het sluit aan bij de interlace productiestandaarden 1250/50/2:1 (HDI) en 1125/60/2:1 met 1080 actieve lijnen. Het 'High'-niveau is bedoeld voor de ultieme HDTV-productiestandaard met 1920 beeldpunten op een lijn en met een progressieve scanning (1:1). 2. Main profile ??Beeldformaten De MPEG-2-standaard is erg flexibel in de beeldformaten, die verwerkt kunnen worden. Als eerste moet er een onderscheid worden gemaakt tussen het beeldformaat, dat aan de ingang van de decoder wordt aangeboden en dat aan de uitgang van de decoder uiteindelijk resulteert. De ingangsbeelden kunnen gefilterd worden en vervolgens gesubsampeld worden; er kunnen beeldpunten en lijnen weggelaten worden om een geheel aantal makroblokken te verkrijgen. De kleinste eenheid is namelijk een blok van 8 beeldpunten bij 8 lijnen. Dit is de basis waarop de DCT werkt. Een makroblok bestaat uit 4 luminantieblokken en 2 chrominantieblokken.
MPEG-2-makroblokstructuur.
De organisatie van makroblokken in een be eld voor MP.
Satelliet technologie
-4-
MPEG-2
HS/V1 -2001
Uit bovenstaand makroblokstructuur kan afgeleid worden dat de chrominantiesignalen eerst moeten worden gefilterd en gesubsampeld in 4:2:2 of 4:2:0 verhouding.
4:2:2- en 4:2:0-subsamplestructuren.
Verder is het mogelijk aan de displayzijde slechts een uitsnede van het beeld te laten zien of het beeld aan te vullen met beeldpunten en lijnen om weer tot een bepaald gewenst formaat te komen. Als voorbeeld kan dienen de '3-2 pull down'; dit is de omzetting van film met 24 beelden per seconde naar 60Hz TV-signalen. In dit geval is namelijk één van de vijf rasters een pure herhaling; dit raster wordt in de encoder geïdentificeerd en door een controlesignaal aan de decoder kenbaar gemaakt. De decoder dient dit raster dus tweemaal op de juiste tijden aan het display aan te bieden. Op deze manier wordt 20% van de transmissiecapaciteit bespaard; hetgeen bijvoorbeeld kan gebruikt worden om een betere beeldkwaliteit te realiseren of om een zo laag mogelijke bitrate te hebben. Een beeld ofwel 'picture' bestaat uit een hoeveelheid slices. Een 'picture' kan echter zowel een geïnterliniëerd beeld zijn met twee rasters (fields) of een progressief beeld (frame). Daarnaast wordt ook het begrip 'Group of Pictures' (GOP) gehanteerd, net als in de MPEG1-standaard. ??Compressie De MPEG-2-standaard bevat de volgende drie basistechnieken voor het comprimeren van het videoingangsignaal: de bewegingsgecompenseerde verschillen van opeenvolgende beelden met behulp van voorspelingen en interpolatie in de tijd, waardoor redundante, in de tijd niet veranderde, beelddetails geëlimineerd worden de tweedimensionale DCT toegepast op de overblijvende blokken van beeldpunten met een kwantisering van de transformatiecoëfficiënten om de statistische relaties met buurbeeldpunten op te heffen en om de voor de kijker niet zichtbare, irrelevante beelddetails weg te laten de Entropiecodering van de op juiste wijze gesorteerde en gekwantificeerde coëfficiënten en van de encoderingsparameters, waardoor het theoretisch bereikbare minimum van de bitrate benaderd wordt.
Satelliet technologie
-5-
MPEG-2
HS/V1 -2001
Er zijn vele encoderingsdetails en verscheidene mogelijkheden voor signaalvoorbewerkingen, welke het algoritme verder aanpassen aan de beeldinhoud en aan de toepassing. Enige technieken zijn basistechnieken, die in elke MPEG-2encodering gebruikt worden en andere kunnen naar keuze worden toegepast, afhankelijk van de complexiteit van de encoder. Het is namelijk zo dat de MPEG-2-standaard een syntax vastlegt met syntaxelementen, maar niet bepaalt hoe een encoder eruit dient te zien. Het encoderingsresultaat en dus de bitstroom met de gecomprimeerde data en de MPEG-2-decoder moeten met elkaar kunnen werken. Er zijn dus vele vrijheidsgraden en alternatieve implementaties voor een encoder. Dit betekent, dat de encoder een allesbepalende rol heeft in de uiteindelijke beeldkwaliteit. ??Voorspelling en interpolatie Een 'Groep of Picture' geeft een eenheid weer, waarvoor een bepaalde structuur voor voorspelling en interpolatie vastligt. Er zijn drie soorten beelden, welke de parameter 'picture-coding-type' in de 'picture-header' wordt meegegeven: - 'I - picture': deze beelden worden geheel zonder bewegingscompensatie gecodeerd, waarbij de 'I' staat voor 'Intraframe Coding' - 'P - picture': dit beeld wordt door middel van bewegingsvectoren voorspeld uit een 'I-picture', waarbij de 'P' staat voor ''Predicted interpolation' - 'B - picture': deze beelden worden door middel van bewegingsvectoren geïnterpoleerd uit vorige en volgende beelden, zijnde 'I-pictures' danwel 'Ppictures', waarbij de 'B' voor 'Bidirectional interpolation' staat. Volgende figuur geeft een aantal mogelijkheden voor deze GOP-structuren aan. Het 'P3-Frame' wordt verkregen uit het 'IO-Frame' door bewegingcompensatie. Het 'B1-Frame' wordt verkregen door een bi-directionale interpolatie van 'IO' en 'P3'. Het 'B2-Frame' wordt op dezelfde manier verkregen, maar met andere vectoren. Dit interpolatie proces wordt op dezelfde wijze gedaan op raster-basis.
Enige voorbeelden voor GOP (Groep of Picture) -structuren.
Satelliet technologie
-6-
MPEG-2
HS/V1 -2001
Voorbeelden van 'N'- en 'M'-parameter combinaties voor GOP-structuren.
De juiste volgorde en structuur wordt geïdentificeerd met behulp van twee parameters 'N' en 'M'. 'N' geeft de afstand aan tussen twee 'I - pictures' en 'M' de afstand tussen twee 'P - pictures'. Bovenstaand tabel geeft een aantal voorbeelden van deze 'N' - en 'M' - parameters met de volgorde bij de encoder en voor transmissie. In de eerste rij wordt het eenvoudigste voorbeeld gegeven, waarbij elk beeld een 'intraframe' beeld is, dus zonder enige vorm van bewegingscompensatie. In de tweede rij is N=9 en M=1, dit betekent, dat er geen 'B-pictures' worden gebruikt. Bij deze beide voorbeelden is er geen onderscheid tussen de volgorde van de beelden aan de ingang van de encoder en aan de uitgang. In de derde rij wordt het voorbeeld 'N=6' en 'M=2' gegeven. Nu is goed te zien, dat elk zesde beeld een 'I-picture' is en dat de afstand tussen twee 'P-picture' twee bedraagt, waarbij er hetzij een 'I-picture', hetzij een 'B-picture' tussen twee 'P-pictures' zit. In dit voorbeeld is ook goed te zien, dat de volgorde aan de uitgang van de encoder anders is, dan de beeldvolgorde aan de ingang van de encoder. De reden is, dat eerst de omliggende 'I-' en 'P-pictures' moeten worden ontvangen, dit alvorens de 'B-pictures' kunnen uitgerekend worden. Door deze methode wordt er geheugen bespaard in de decoders. Het laatste voorbeeld stelt 'N=12' en 'M=3'. De reden om deze drie soorten beelden te hebben ligt in de bitrate die elk vertegenwoordigt. Een 'I-picture' kost het grootst aantal bits, omdat geen gebruik gemaakt wordt van de krachtige techniek van bewegingscompensatie. Een 'P-picture' kost significant minder aan bits, maar een 'B-picture' het minst. Het mag duidelijk zijn, dat voor het gebruik van 'B-pictures' flink meer geheugen in elke decoder voorhanden moet zijn. Dit is het verschil tussen het 'Simple Profile' en het 'Main Profile'. Naast de hogere compressie, die 'B-pictures' mogelijk maken, zitten er natuurlijk ook nadelen aan vast. Zo wordt in het voorbeeld 'N=12' en 'M=3' pas na circa een halve seconde toegang tot een nieuwe 'GOP' verkrijgen Bij opslag op disks kan deze lange tijd een probleem veroorzaken in verband met de beperkte 'editing'-mogelijkheden. Bij transmissiefouten kunnen fouten in bewegingsvectoren flink doorwerken in de gehele 'GOP'. In 'P-' en 'B-pictures' wordt per makroblok besloten of een 'intra-' of een 'inter-frameencodering' gebruikt wordt. In het geval er niet een betrouwbare vector wordt gevonden, kan namelijk ook 'intra' gecodeerd worden.
Satelliet technologie
-7-
MPEG-2
HS/V1 -2001
In verband met de interliniëering zijn er twee mogelijkheden om de voorspelling te doen. Onderstaand figuur geeft als eerste de mogelijkheid om de voorspelling op een geheel beeld (twee samengestelde rasters) te doen met blokstructuren van 16 bij 16. Evenzo kan het op rasterbasis gebeuren met behulp van 16 bij 8 structuren. Deze laatste mogelijkheid kan benut worden, wanneer er een sterke bewegingscomponent in het makroblok aanwezig is.
Voorspelling op basis van 16x16 en 16x8 structuren.
Daarnaast is er nog een methode, waarbij elk raster als een apart beeld wordt bezien met elk zijn eigen 'picture-coding-type'. Er zijn nog meerdere verfijningen mogelijk, zoals de techniek, die 'Dual Prime' genoemd wordt, waarbij de bewegingsvectoren nauwkeuriger worden geschat (halfpixel search method), daarna elke tweede vector differentiëel codeert en een andere interpolatie-algoritme gebruikt. 'Dual Prime' kost meer processing in de encoder en ook in de decoder; echter het voordeel is bij gelijkmatige bewegingen van geïnterliniëerde beelden een lagere bitrate. ??Discrete Cosine Transform In de encoder wordt eerst het verschil bepaald tussen het ingangsbeeld en het voorgaande beeld, dat ontstaan is uit de terugkoppeling van de codeer decodeerschakeling in de encoder, waar de schatting en interpolatie in opgenomen is. Hierna volgt de 'Discrete Cosinus Transformatie' (DCT), die toegepast wordt op luminantie en chrominantie makroblokken van dit verschilsignaal. In de encoder wordt bepaald of de DCT wordt toegepast op een progressief beeld of op een geïnterliniëerd beeld. Per makroblok wordt dan een bit overgedragen om dit aan de decoder door te geven. Na de DCT vindt een kwantisering plaats van de DCT-coëfficiënten, waarvoor twee mogelijkheden zijn. De eerste is een globale kwantisering, waarbij alle coëfficiënten met de gelijke waarde geschaald worden. Daarnaast bestaat de mogelijkheid om de spectrale waarde mee te laten wegen volgens een kwantiseringsmatrix.
Satelliet technologie
-8-
MPEG-2
HS/V1 -2001
Deze methode is erop gebaseerd, dat onbelangrijke details niet of in mindere mate overgedragen behoeven te worden, maar dat die laagfrequente frequentiecomponenten, die bijvoorbeeld randen van objecten samenstellen, wel volledig overgedragen moeten worden. De kwantisering betreft dan ook met name de coëfficiënten van een hogere orde, die overeenkomen met de hoogfrequentie componenten. Aangezien de statische verdeling van de coëfficiënten ook samenhangt met de opbouw van het makroblok (progressief of geïnterliniëerd beeld), bepaalt het 'makro-block-type' mede, welke kwantiseringmatrix gebruikt wordt. MPEG-2 definiëert voor de spectrale bepaling van de kwantisering 'default' matrixwaarden voor 'intra' en 'niet-intra' gecodeerde makroblokken. De kwantisering heeft een duidelijke invloed op de uiteindelijke beeldkwaliteit; daarom zijn de in de encoder geïmplementeerde terugkoppel-algoritmen vanuit de 'rate-control'-parameter heel belangrijk. Deze parameter wordt hierna besproken. De coëfficiënten worden volgens een zig-zag-scanning na elkaar in een volgorde gezet. Er zijn twee methoden: de eerste is de 'ZigzagScan', die ook in MPEG-1 gedefiniëerd is en de tweede de 'Alternate Scan', die met name voor geïnterliniëerde signalen bedoeld is. Er zijn in MPEG-2 ook mogelijkheden gedefiniëerd om gehele makroblokken weg te laten, indien de coëfficiënten nauwelijks van nul afwijken. Dit wordt gesignaliseerd door de 'Codes Blok Pattern' (CBP)-parameter. ?? Variabele Lengte Codering De gesorteerde coëfficiënten worden tezamen met andere codeerparameters toegevoerd aan een variabele-lengte coder (VLC). Deze coderingstechniek, gebruikt een veelheid aan tabellen om de meest voorkomende codewoorden om te zetten in kortere codewoorden en bereikt op deze manier een datacompressie. De tabellen zijn aangepast aan de statistiek van de parameters: zo bestaan er genormeerde VLCtabellen voor de makroblok-adresteller, de makrobloktypen, voor de verschillende waarden van de CPB, voor de codering van de DC-coëfficiënten, … De VLC-codering is erop gebaseerd, dat er reeksen van meerdere 'nullen' achter elkaar komen en dat de nul-reeksen met kortste lengte het kortste codewoord toegewezen krijgen. De minder vaak voorkomende (langere) nul-reeksen krijgen dan een langer codewoord. Bij de codering moet speciaal gelet worden op de overgangen van luminantie en chrominantie makroblokken. Belangrijk is hierbij, dat de DC-coëfficiënten precies kloppen, want een kleine afwijking geeft direct een duidelijk zichtbaar makroblok-patroon in het gedecodeerde beeld. Om deze nauwkeurige waarde te bereiken, wordt aan het begin van een 'slice' een vaste DC-waarde aangenomen en worden de DCcoëfficiënten van alle makroblokken differentiëel gecodeerd. Ook de bewegingsvectoren worden differentiëel gecodeerd binnen een 'slice', hetgeen vooral bij uniforme bewegingen een grote besparing oplevert. De lengte van een bewegingsvector kan variëren voor het 'Main Profile' van +1023,5 tot -1024 pixels. (In het High1440-profile kan deze lengte verdubbeld worden). De horizontale en verticale bewegingsvectoren worden apart gecodeerd en ook differentieel ten opzichte van een vaste waarde.
Satelliet technologie
-9-
MPEG-2
HS/V1 -2001
??Rate Control Aan de uitgang van de encoder moet een constante bitstroom afgegeven worden. Anders worden de omroepkanalen niet optimaal benut. Daartoe is de 'Rate Control Function' gedefiniëerd, die de opdracht heeft hiervoor te zorgen. Aan de hand van een meting bij het uitgangsbuffer, wordt informatie ontleend voor de kwantiseringsfunctie. Deze terugkoppeling zorgt ervoor, dat indien het buffer bijna vol is, de kwantisering grover wordt, waardoor het aantal te genereren bits afneemt. Indien er voldoende lege ruimte in het uitgangsbuffer is, kan de kwantisering op een fijner niveau worden ingesteld, waardoor dus weer meer bits worden gegenereerd. In extrema worden ook 'Stuffing bits' aan het buffer toegevoerd, om te voorkomen, dat het buffer leegloopt en er dus geen signaal uit de encoder komt. Deze 'Rate Control Function' is niet door de MPEG-2-standaard vastgelegd. Het is aan de ontwerper van de encoder om dit algoritme vast te leggen. De eis is echter, dat geen enkele MP@ML -decoder problemen mag krijgen met zijn ingangsbuffer. Daarom is de minimale grootte van dit buffer vastgelegd op 1 835 008 bits voor MP@ML decoders. Voor elke ander 'Level' en Profile' combinatie is ook deze waarde vastgelegd. Deze waarde wordt in het begin van elke sequentie overgedragen als de 'VBV-buffer-size', zodat elke decoder direct weet, of hij de sequentie zonder bufferproblemen aan kan. 'VBV' staat voor 'Video Buffer Verifier' en betekent dat de encoder een model van het bufferniveau van de decoder volgt, als een soort inverse van zijn eigen uitgangsbuffer niveau.
Schematisch verloop van he t niveau van een ingangsbuffer.
In bovenstaand figuur wordt de eerste tijdsperiode 'VBV-delay' de tijdsvertraging genoemd, die nodig is om eerst voldoende bits te ontvangen om een eerste beeld te kunnen decoderen. Deze parameter wordt bij elk beeld opnieuw gegeven, zodat op die momenten decoders kunnen beginnen met het decoderen van de bit-stroom. Ook indien er een grote transmissiefout opgetreden is, is deze parameter van belang om zo snel mogelijk weer verder te kunnen gaan met decoderen.
Satelliet technologie
- 10 -
MPEG-2
HS/V1 -2001
Tot slot moet nog vermeld worden, dat in MP@ML ook een niet-constante uitgangsbitstroom kan worden opgewekt. In dit geval heeft de 'Video Buffer Verifier' geen betekenis meer. ?? Decoderen Een MPEG-2 decoder moet voldoen aan de voorwaarden van de MPEG-2 standaard. Dit is meer dan alleen de minimale grootte van het ingangsbuffer; zo zijn er ook eisen aan de rekensnelheid van de decoder, aan de nauwkeurigheid van de berekeningen en aan de grootte van het geheugen.
Principe blokschema van een MPEG-2-decoder.
Het bovenstaand blokschema geeft het principe van een MPEG-2-decoder. De echte implementatie kan van fabrikant tot fabrikant verschillend zijn. Er zijn ook software oplossingen, waarbij het programma alle functionaliteiten uitvoert. Als eerste is er de 'Header' detectie, waar de MPEG-2-bitstroomidentificatie plaatsvindt. Deze identificatie schakeling geeft de belangrijke 'instel'-parameters door aan de centrale stuureenheid, die het gehele decodeerproces bestuurt. De datastroom zonder de 'header' gaat door naar het ingangsbuffer en de variable lengtedecoder. De inverse kwantisering en de inverse DCT-operatie volgen dan. De DCT-coëfficiënten worden langs de inverse kwantisering geladen. Hierna volgt de bewegingscompensatie, die toegang heeft tot het grote beeldgeheugen. In dit geheugen worden ook de gereconstrueerde beelden opgeslagen, die na een laatste nawerkingsoperatie aan het display worden afgegeven. Voor een MP@ML -decoder is circa 16Mbit DRAM nodig en zijn de functies in IC's van diverse fabrikanten beschikbaar. 3. MPEG-2 op weg naar HDTV, middels hiërarische coderingen ??Inleiding De doelstellingen van MPEG-2 zijn eveneens uitgebreid om ook HDTV-toepassingen te omvatten. Er werden 'Profiles' en 'Levels' gedefinieerd om te kunnen omgaan met de tegenstrijdige eisen voor, aan de ene kant, een goedkope decoder, die TV-beelden met een bitrate van 4-8Mbit/s kan decoderen met bijbehorende kwaliteit en, aan de andere kant, een HDTV-decoder, waarbij de beeldkwaliteit boven alle kritiek verheven moet zijn en de kosten flink hoger zijn. Het probleem van de generieke standaard is dus opgelost, door de afspraak dat elke decoder de lagere 'Levels' en 'Profiles' ook moet kunnen decoderen. Op blz 3 zijn de twee profile 'SNR Scalable' en 'Spatial Scalable' geïntroduceerd. Wanneer een HDTV-bitstroom ook op een gewoon TV-scherm zichtbaar gemaakt moet worden, kan dit op drie verschillende manieren worden opgelost.
Satelliet technologie
- 11 -
MPEG-2
HS/V1 -2001
1. Eén complete HDTV-datastroom wordt overgedragen en volledig gedecodeerd, waarbij de decoder, die dan op een gewoon display (bijvoorbeeld 625 lijnen in plaats van 1250) is aangesloten, alle data decodeert tot een HDTV-beeld, waarna vervolgens dit beeld gesubsampeld wordt tot de gewenste resolutie.
Mogelijkheden van TV/HDTV-coderingen.
Deze aanpak is als eerste weergegeven in bovenstaand figuur. Dit betekent echter, dat de decoder, die op het gewone display is aangesloten, een HDTV-decoder moet zijn plus de subsamplingschakelingen. Dit is dus niet direct een voorbeeld van een goedkope decoder. 2. De overdracht van twee aparte bitstromen, waarbij de eerste geheel en al voor de HDTV-decoder is bestemd en de tweede geheel en al voor de 625-lijnen MP@ML decoder. Dit wordt 'digitale simulcast' genoemd ofwel beide signalen worden onafhankelijk van elkaar gecodeerd en uitgezonden. Op deze manier wordt er geen gebruik gemaakt van het feit, dat beide signalen veel gemeenschappelijke data bezitten ten opzichte van elkaar, want uiteindelijk vertonen beide decoders dezelfde scene of beelden op hun bijbehorend display. 3. Het benutten van bovenstaande redundantie. Als eerste wordt het HDTVingangssignaal gesubsampeld tot een ingangssignaal voor de 625-lijnen encoder. Deze encoder zendt een bitstroom uit naar de MP@ML -decoder, die dit kan vertonen op het 625-lijnen display. Tevens is er in de encoder een MP@ML -decoder ingebouwd, die ook dit beeld reconstruëerd. Vervolgens wordt dit signaal weer geconverteerd naar een HDTV-signaal, om aan de tweede encoder te worden aangeboden. Deze decoder neemt het verschil van het HDTV-ingangssignaal en het geconverteerde, gereconstrueerde MP@ML signaal en codeert de overgebleven verschillen. Op deze manier ontstaat een tweede bitstroom, die alleen de extra HDinformatie bevat. Deze manier is efficiënter in datacapaciteit, de HDTV-encoder en decoder zijn echter iets duurder. Deze techniek wordt vaak genoemd als 'hiërarchical coding'. ??SNR scalability Een ander voorbeeld van een hiërarchische encodering is de 'SNR scalability'-techniek. Hierbij wordt ook een reeds gecomprimeerd signaal als eerste stap gebruikt. 'SNR' staat voor 'Signal to Noise Ratio'; de signaalruisverhouding zegt iets over de kwaliteit van het uiteindelijke beeld. Bij deze techniek worden er twee kwaliteitsniveaus onderscheiden,
Satelliet technologie
- 12 -
MPEG-2
HS/V1 -2001
waarbij het eerste niveau door de basis datastroom geleverd wordt en de tweede door de toegevoegde tweede additionele datastroom. Een mogelijke toepassing kan zijn het gebruik van deze techniek voor aardse digitale TV. Bij digitale overdracht is er altijd sprake van ‘cliff-edge’-effect. Dit wil zeggen, dat, indien de veldsterkte onder een bepaald niveau komt, het gehele signaal adrupt verdwijnt. Bij de analoge PALtransmissie is dit niet het geval. Hier wordt het signaal langzaam minder en het beeld wordt langzaam slechter. Het beeld begint te ruisen, maar is nog herkenbaar en wanneer het beeld geheel verdwijnt, dan is het hoofd-geluidskanaal nog steeds te beluisteren. Dit wordt in de vakliteratuur ook wel 'graceful degradation' genoemd. Om bij een digitaal aards TV-kanaal nu ook meer dan één kwaliteitsniveau te hebben, kan de 'SNR scalability'-techniek worden gebruikt.
Principe blokdiagram SNR scalable -decoder.
In bovenstaand blokdiagram wordt het principe gegeven van een 'SNR' scalable-decoder. Deze decoder heeft twee ingangen. De eerste is voor de basisstroom, welke gedecodeerd wordt volgens de inverse VLC-tabellen en met een bepaalde inverse kwantisering. Deze kwantisering is grover, dan die van de tweede datastroom. Deze extra datastroom voedt de tweede parallelle sectie met een fijner ingestelde inverse kwantisatie. Het hieruit gereconstrueerde signaal wordt bij het eerste gereconstrueerde signaal opgeteld en vormt zo het ingangssignaal voor de inverse DCT. Het twee additionele signaal is alleen nodig voor die delen van het beeld waar de hoogfrequente componenten met een nauwkeurigere amplitude gereconstrueerd moeten worden. De datastroom van de beide niveaus lijken zeer op elkaar; beide dragen synchronisatieinformatie en algemene informatie over het MPEG-2 MP@ML -signaal. De extra datastroom heeft echter nog als extra de 'Sequence Scalable Extension', waarin de 'SNR scalable-techniek geïdentificeerd wordt. Het onderzoek naar de 'SNR-scalable'-techniek heeft aangetoond, dat bij een totale bitrate van 6 Mbit/s voor beide signalen deze techniek slechts 0,5 tot 1dB slechter is dan de directe enkelvoudige encodering van MP@ML. Wanneer de beeldkwaliteit ongeveer gelijk gehouden werd, dan bleek dat er circa 8Mbit/s nodig was (bijvoorbeeld 2,75 + 5,25Mbit/s) ten opzichte van de 6Mbit/s voor het directe, enkelvoudig gecodeerde MP@ML -signaal. ??Spatial scalability De volgende hiërarchische techniek 'Spatial Scalability' geeft de mogelijkheid om twee verschillende resoluties (oplossend vermogen in horizontale en/of verticale richting) in twee verschillende niveaus en datastromen over te dragen.
Satelliet technologie
- 13 -
MPEG-2
HS/V1 -2001
Principe blokdiagram van een 'Spatial scalable'-decoder.
In het basisdeel van de decoder wordt de eerste datastroom volledig gedecodeerd. Hierna wordt dit uitgangssignaal geconverteerd naar het HDTV-formaat (bijvoorbeeld van 625 lijnen naar 1250 lijnen). De tweede datastroom wordt gedecodeerd, met als basis het resultaat van de eerste decoder. In de bewerking moet rekening gehouden worden, dat zowel een geïnterliniëerd als een progressief beeldsignaal het gewenste uitgangssignaal kan zijn. Verder dient rekening gehouden te worden met een mogelijk verschil in aspectverhouding, bijvoorbeeld een 625 lijnen signaal in 4:3 en een HDTV 1250 lijnen signaal in 16:9 beeldverhouding.
III. MPEG-2 AUDIO COMPRESSIE Wanneer er een datastroom ter beschikking wordt gesteld van tenminste 192kbit/s dan kan met de MPEG-1-audiostandaard een stereosignaal met een prima geluidskwaliteit geëncodeerd en overdragen worden. Indien er een geringere datastroom ter beschikking wordt gesteld, dan is het mogelijk een bijkomende signaalafhankelijk encoderingsruis te horen. Hieruit volgde, dat het tot de doelstellingen voor de audiocodering van MPEG-2 behoorde om hier duidelijk een verbetering in aan te brengen. Onderzoek toonde aan, dat bij geringere bitrates de encoderingsruis ten gevolge van de grovere kwantisering als storender werd ervaren, dan het beperken van de bandbreedte. Daarom werd voor een compromis gekozen en werden de samplefrequenties gehalveerd tot 24, 22,05 en 16kHz. Deze sample frequenties zijn niet compatibel met bestaande MPEG-1-decoders. Daarom wordt deze nieuwe mode aangegeven door in de MPEG-1-'header' het ID-bit op '0' te zetten. Verder blijft het codeeralgoritme haast gelijk, de 32 deelbanden van de filterbank passen bij de nieuwe samplefrequenties. Onderstaand figuur geeft de indexering voor de bitrates voor zowel MPEG-1 en MPEG-2 met de halve sample frequenties.
Satelliet technologie
- 14 -
MPEG-2
HS/V1 -2001
De bitrates voor zowel MPEG -1 en MPEG-2 met de halve samplefrequenties.
Een tweede doelstelling van de audiocodering van MPEG-2 was de uitbreiding naar meerkanaals geluidsreproductie. Na lang onderzoek werd gekozen voor een opzet met 5 luidsprekers en kanalen, waarbij vooraan de kamer 3 luidsprekers staan; 'Links', 'Centrum' en 'Rechts'. Achteraan de kamer staan nog twee luidsprekers, 'Linksachter' en 'Rechtsachter'. Deze opzet wordt 'Surround sound' genoemd.
VI. MPEG-2-SYSTEEM Het eerste deel van de MPEG-standaard beschrijft de systeemspecificatie. MPEG-2 heeft als doelstelling gehad om niet alleen een codering voor audio en video te definiëren, maar ook de volgende laag van het ISO-model te definiëren, waarin de transportprincipes zijn vastgelegd. Dit wordt vaak ook de 'Transport Layer' genoemd. Daarom moesten de volgende aspecten gespecificeerd worden: ?? een protocol voor het overzenden van data in pakketten ?? de synchronisatie voorzieningen voor de datastromen aan zend- en ontvangstzijde ?? voorzieningen voor het kunnen samenvoegen van verschillende datastromen, alsmede het weer uit elkaar kunnen halen van diverse datastromen ?? de scrambling mogelijkheden voor versleuteling. Moderne digitale communicatie gaat via pakketten omdat: ?? er op die manier makkelijk meerdere datastromen samengevoegd en later weer gesplitst kunnen worden ?? er in een complex netwerk meerdere wegen gebruikt kunnen worden ?? de benodigde hoeveelheid geheugen in knooppunten van een netwerk te dimensioneren is. MPEG-2 heeft twee methoden voor het genereren van datastromen: ?? de programmastroom ('Program Stream') ?? de transportstroom ('Transport Stream').
Satelliet technologie
- 15 -
MPEG-2
HS/V1 -2001
De programmastroom is bedoeld voor een quasi foutvrije omgeving. Zo'n omgeving kan bijvoorbeeld de opslag van data zijn, of 'Digital Storage Media (DSM) genoemd. Een ander voorbeeld is de CD-i, waar ook de programmastroom wordt opgeslagen. De transportstroom is speciaal ontworpen voor het verzenden van data over distributienetwerken, zoals 'broadband' telecommunicatie netwerken en omroepnetwerken. Het is kenmerkend voor de transportstroom, dat de lengte constant is en dat er voorzieningen getroffen zijn om synchronisatie mogelijk te maken. Een vast en korte pakketlengte heeft het voordeel, dat bij een fout in het transmissiekanaal de gevolgen beperkt blijven tot dat ene pakket.
MPEG-2-datastromen.
MPEG definiëert een tussenstap voor het genereren van een pakketstroom, de 'Packetised Elementary Stream' (PES). Deze PES-stroom kan zowel als basis dienen voor de programmastroom als de transportstroom. Een PES-stroom kan van meerdere soorten encoders afkomen, zoals van een video-encoder of van een audio-encoder. De bitstroom uit de encoder wordt in relatief lange pakketten gesegmenteerd met een structuur die geschikt is voor beide soorten stromen. Ook wordt de PES-stroom gebruikt als een tussenstap in de overzetting van transportstroom in programmastroom en omgekeerd. a. Packetised Elementary Stream (PES) De PES-stroom bestaat uit op elkaar volgende pakketten, die een variabele lengte kunnen hebben. Elk pakket begint met een 'header' met vaste lengte van 6 bytes. Het volgende dataveld bevat hoofdzakelijk stuurinformatie 'Elementary Stream Specific Information' en is maximaal 259 bytes lang. Als laatste volgt dan de eigenlijke data met een maximale, variabele lengte van 65526 bytes.
Structuur van de PES-stroom.
Het eerste veld 'Flags' bevat statusbits voor bijvoorbeeld 'Scramblin', 'copy right', … voor meer gedetailleerde informatie. b. Program Stream
Satelliet technologie
- 16 -
MPEG-2
HS/V1 -2001
De programmestroom bestaat uit een serie PES-pakketten van één of meerdere basisstromen. Deze basisstromen hebben als kenmerk, dat zij tot één programma behoren. En dit betekent weer, dat deze basisstromen dezelfde tijdbasis hebben, die uitgedrukt wordt door de 'System Clock Reference’ (SCR) variabele. De tijdbasis wordt aan de ontvangstkant geregeneerd door middel van deze variabele, waardoor synchronisatie en frequentie terugwinning kan plaatsvinden. Structuur van de programmastroom.
Meerdere PES-paketten worden achter elkaar geplaatst met een 'Pack Header' en een 'System Header'. De 'Pack Header ' bevat de tijdbasis informatie, waaruit de synchronisatie en de klokfrequentie afgeleid worden. De 'System Header' bevat specifieke informatie over de volgende datastroom. De structuur van de 'Header' is zo gekozen als deze ook bij MPEG-1 vastligt, om zo een zo groot mogelijke overeenkomst tussen de programmastromen te verkrijgen. c. Transport Stream De MPEG-2-tranportstroom kent de meeste applicaties, zoals de overdracht van data in een omroepkanaal (hetzij een aards-, kabel- of satellietkanaal). De transportstroom is met name door de korte pakketlengte geschikt gemaakt voor deze kanalen. De pakketlengte van de MPEG-2-transportstroom is 188 bytes. De transportstroom structuur in relatie met de PES-stroom wordt gegeven in onderstaand figuur. De 'Transport Packet Header' is 4 bytes lang. De resterende 184 bytes zijn voor de data. De keuze van deze lengte volgde uit de overweging, dat een geheel aantal ATM (Asynchronous Transfer Mode)-pakketten van 47 bytes in een transportpakket moet passen en dat het totaal aantal bytes een veelvoud van 8 bytes moet zijn. Deze lengte van 8 bytes volgde uit de overweging, dat in netten vaak een versleuteling plaatsvindt met een basis van 8 bytes. ATM is een overdrachtsprotocol voor digitale datanetwerken, die gebruikt kunnen worden om bijvoorbeeld de digitale omroepsignalen van de studio naar de zender te vervoeren.
Samenhangende structuur van transportstroom en PES -stroom.
De PES-header volgt altijd direct de Transport header tenzij er een 'Adaptation Field' uitgezonden wordt. In dat geval volgt de PES-header direct daarna. Aan het einde van het PES-pakket wordt een aantal 'stuffing bits', die geen informatie representeren, toegevoegd.
Satelliet technologie
- 17 -
MPEG-2
HS/V1 -2001
Gedetailleerde structuurweergave van de transportstroom.
De pakketten, die een gelijke 'Packet Identification' (PID) hebben, behoren tot een gelijke basisstroom (PES-stroom). De 184 bytes bevatten alle data van de pakketstroom. Dit zijn alle programmacomponenten zoals audio, video en data, zoals teletekst, scramblinginformatie, ... Verder bevat de transportstroom meestal meerdere programmastromen en daarvoor is het belangrijk voor de decoder om onderscheid tussen deze stromen te kunnen maken. Hiervoor wordt de 'Program Specific Information' (PSI) gebruikt. Deze geeft aan uit hoeveel basisstromen een bepaald programma bestaat en ook welke het zijn. Verder geeft het aan onder welke PID's de decoder de pakketten weet te vinden. Verder kunnen een reeks tabellen overgedragen worden met behulp van deze PSIinformatie. Er zijn vier belangrijke tabellen gestandaardiseerd binnen MPEG-2: de 'Programme Association Table' de 'Program Map Table' de 'Network Information Table' de 'Conditional Access Table'. De 'Programma Association Table' geeft het aantal programma's aan, dat zich in de transportstroom bevindt. Verder wordt de relatie tussen de PID en de 'Programma Map Table' erdoor vast gelegd. De 'Programme Map Table' bevat een lijst van alle PID's van de basisstromen, die behoren bij dat programma. Daarnaast worden er beschrijvingen (Descriptors) mee gezonden als karakterisering van alle basisstromen. In de 'Network Information Table' worden alle karakteristieken van het transmissienetwerk vastgelegd, zoals de frequentieband, centrale frequentie, kanaalbandbreedte, transpondernummer … De tabel is door MPEG gedefiniëerd , maar niet verder gespecificeerd. MPEG-2 reserveert alleen een specifiek programmanummer (0) binnen de 'Programme Association Table'. In de paragraaf ‘DVB Service Information’ wordt aangegeven hoe het DVB-project hiermee omgaat en nog enige extra tabellen definiëert. De 'Conditional Access Table' staat in de hiërarchie van PSI-tabellen op gelijke voet met de 'Programme Association Table' en heeft de PID='01'. Deze tabel dient de benodigde informaties over te dragen, om het programma door een abonnee te laten decoderen. Onderstaand figuur geeft de structuur weer van de PSI. Een decoder moet als eerste de 'Programme Association Table' met de PID=0 uit de reeks pakketten van de transportstroom selecteren. In het geval programma 'i' gewenst wordt, dan moet de decoder de Programme Map met PID_i selecteren. In deze 'Programme Map' staat bijvoorbeeld het PID-nummer vermeld, waar
Satelliet technologie
- 18 -
MPEG-2
HS/V1 -2001
vandaan de tijdreferentie gehaald moet worden. Verder staan er diverse omschrijvingen van de verschillende basisstromen in.
Structuur van de PSI.
MPEG staat ook de overdracht van 'private data' toe door middel van deze tabellenstructuur. De omroeper moet zich alleen aan de MPEG-structuur en definities houden. Zo geldt, dat een tabelsegment niet langer mag zijn dan 1024 bytes. De privé-tabellen kunnen van de PSI-tabellen onderscheiden worden door de 'Table-ID', die het type van de tabel definiëert.
V. DVB-SERVICE INFORMATION Binnen het DVB-project heeft een werkgroep zich gebogen over de 'Service Information' (SI). Uitgaande van de MPEG-2-systeemspecificatie is er een kader van tabellen opgebouwd, deels verplicht en deels naar keuze, die de parameters voor het gebruik van DVB-diensten vastleggen. Dit is essentiëel, omdat alle programma's van verschillende omroeporganisaties volgens dezelfde structuur opgebouwd moeten worden, zodat een decoder moeiteloos van het ene programma naar het andere kan schakelen. Hierbij is de doelstelling, dat de decoder niet alleen binnen de multiplex van dezelfde omroeporganisatie moet kunnen schakelen, maar ook naar alle programma's op andere transponders van de satelliet. Ook in het geval een omroeporganisatie meerdere netwerken (bijvoorbeeld satelliet en kabel) gebruikt, moet het mogelijk zijn informatie over dit ‘bouquet’ te vinden in de SI-data. Hiertoe geeft onderstaande figuur een overzicht van het ‘DVB Service Delivery-model’.
DVB Service Delivery-model.
Het is de verwachting dat de SI-data de basis is, waarop omroeporganisaties hun 'Electronic Programme Guide' (EPG) baseren. De EPG is de elektronische programma gids, waarmee de consument geholpen wordt om de programmakeuze te maken uit de (bijvoorbeeld) 300 TVprogramma's.
Satelliet technologie
- 19 -
MPEG-2
HS/V1 -2001
De MPEG-2-PSI structuur definiëert en specificeert drie tabellen: - 'Programme Association Tabel’ (PAT) - 'Conditional Access Table’ (CAT) - 'Program Map Table' (PMT).
De SI-tabellen.
In bovenstaand figuur wordt een overzicht van alle SI-tabellen gegeven. De door het DVB-project gespecificeerde tabellen zijn de volgende: ?? ?? ?? ?? ?? ?? ??
'Network Information Table’ (NIT), de syntax wordt gedefinieerd in doc prETS 300468 (okt 94) 'Bouquet Association Table’ (BAT), deze tabel geeft informatie over 'bouquets' en verstrekt een lijst van diensten voor elk bouquet 'Service Description Table’ (SDT), deze tabel verstrekt informatie over de diensten, zoals de namen, de omroeporganisatie, … ‘Event Information Table' (EIT), hiermee worden de gegevens over de programmaonderdelen, zoals de naam van het programma, de starttijd, de duur, … 'Running Status Table’ (RTS), geeft de status weer van een programmaonderdeel (running/not running); deze tabel ververst de informatie om automatische programma aan/uitschakeling mogelijk te maken 'Time and Date Table' (TDT) deze tabel geeft informatie met betrekking tot de huidige tijd en datum 'Stuffing Table' (ST), deze tabel wordt gebruikt om bestaande secties ongeldig te maken.
Deze SI-tabellen en de MPEG-2-PSI tabellen worden gedeeld in één of meer secties en dan in de transportstroom opgenomen. De secties mogen verschillend zijn in lengte, waarbij de maximale lengte 1k byte bedraagt. De uitzonderingen op deze regel zijn de secties van de EIT-tabel, die maximaal 4k bytes mogen zijn. Elke sectie wordt geïdentificeerd door middel van de volgende variabelen: ?? ?? ?? ?? ??
'table_id': geeft aan tot welke tabel deze secties behoort 'tabel_id_extension': geeft aan welk deel van de tabel deze sectie is 'section_number': dit is het volgnummer van deze sectie 'version_number': in het geval de inhoud van een tabel verandert na verloop van tijd, dan wordt een sectie opnieuw uitgezonden. Deze nieuwe versie vervangt dan de vorige en wordt geïdentificeerd door middel van deze variabele 'current_next_indicator': elke sectie wordt geïdentificeerd als zijnde 'nu' geldig of geldig in de directe toekomst. Hierdoor is het mogelijk een op handen zijnde verandering aan te geven, waardoor de decoder de gelegenheid heeft zich voor te bereiden op deze verandering.
Satelliet technologie
- 20 -
MPEG-2
HS/V1 -2001
Overzicht van de PID-waarden.
Overzicht van tabel_id waarden.
Satelliet technologie
- 21 -
MPEG-2
HS/V1 -2001
Overzicht van tabel_id waarden (vervolg).
Voor systemen waarbij de toepassing toegang tot de informatie op willekeurige punten ('random access') vereist, moet de SI-informatie herhaald uitgezonden worden, ook al komen er geen veranderingen voor in de inhoud. Geen van de tabellen mag gescrambled worden op de EIT na. Scrambling kan op transportniveau plaatsvinden, waarbij dan headers en tabellen (behalve de EIT) niet gescrambeld mogen worden en de rest van de data wel. Er zal meestal 'stuffing’ moeten plaatsvinden om de overgang tussen wel en niet versleutelde data op een pakketovergang te laten doen plaatsvinden. Descriptor network_name_descriptor service_list_descriptor stuffing_descriptor satellite_delivery_system_descriptor cable_delivery_system_descriptor gereserveerd voor toekomstig gebruik gereserveerd voor toekomstig gebruik bouquet_name_descriptor service_descriptor country_availability_descriptor linkage_descriptor NVOD_reference_descriptor time_shifted_service_descriptor short_event_descriptor extended_event_descriptor time_shifted_event_descriptor component_descriptor mosaïc_descriptor + stream_identifier_descriptor + CA_identifier_descriptor content_descriptor parental_rating_descriptor teletext_descriptor + telephone_descriptor
Satelliet technologie
- 22 -
‘tag’waarde 0X40 0X41 0X42 0X43 0X44 0X45 0X46 0X47 0X48 0X49 0X4A 0X4B 0X4C 0X4D 0X4E 0X4F 0X50 0X51 0X52 0X53 0X54 0X55 0X56 0X57
NIT
BAT
SDT
EIT
* * * * * * -
* * * * * * -
* * * * * * * * *
* * * * * * * * * *
MPEG-2
HS/V1 -2001
gereserveerd voor toekomstig gebruik te definiëren door de gebruiker Verboden * mogelijke locatie + descriptors gebruikt in PMT
0X58 tot 0X7F 0X80 tot 0XFE 0XFF
-
-
-
-
-
-
-
-
-
-
-
Mogelijke locatie van de SI-'descriptors'.
De tabellen zijn gespecificeerd in document prETS 300468, Oktober 1994. Hierbij wordt eerst de syntax beschreven, wordt het aantal bits per syntax element vastgelegd en wordt ook de aard van het element gedefiniëerd. Daarna worden een groot aantal 'descriptors’ gedefiniëerd, welke gebruikt kunnen worden in de diverse SI-tabellen. Bovenstaande tabel geeft een overzicht van deze 'descriptors' en in welke tabellen ze gebruikt kunnen worden. In bovenstaand tabel wordt een 'tag value' gegeven, die elke 'descriptor' identificeerd en die conform de MPEG-2 specificatie is. Het DVB-project heeft een hulpdocument geschreven, dat 'Guidelines on Implementation and Usage of Service Information' noemt. Hierin wordt het gebruik van de SI-data verder uitgelegd. Ook worden een paar toepassingen gegeven, waarvan er hier één kort wordt toegelicht. a. Near Video On Demand Services Door de hoge compressie, die MPEG-2 realiseert, is het mogelijk om meerdere videoprogramma's tegelijkertijd over één transponder te sturen. Een 'Near Video On Demand' dienst zendt parallel meerdere versies uit van eenzelfde programma, maar elk met een bepaalde tijdsvertraging (bijvoorbeeld 15 minuten) ten opzichte van de vorige. Dit heeft als voordeel, dat een kijker even tussentijds iets kan doen, zoals de telefoon te beantwoorden en dan even later weer het programma verder zien zonder iets te missen, door af te stemmen op een vertraagde versie. Ook is het mogelijk zo een NVOD-service op een andere manier gestalte te geven om daarmee de videotheek te beconcurreren. Hierbij wordt bijvoorbeeld cyclisch de top 50 van de meest gevraagde films uitgezonden. Elke film heeft dan bijvoorbeeld zoveel versie's, dat er altijd één binnen een maximale wachttijd van bijvoorbeeld 15 minuten gaat beginnen. Hierbij is de gedachte, dat het minstens 15 minuten kost om naar een videotheek te rijden, de tape op te halen en weer terug te rijden. Een groot extra voordeel is dat bij een NVOD-service de film altijd te zien is, terwijl bij de videotheek speciaal de top 50 meestal reeds verhuurd is en dat de gewenste film vooraf moet gereserveerd worden.
Voorbeeld van een 'Near Video On Demand Service’.
Satelliet technologie
- 23 -
MPEG-2
HS/V1 -2001
SI-beschrijving van een 'Near Video On Demand Service '.
De SI-data kan nu gestructureerd worden volgens bovenstaand figuur. Er wordt een kunstmatige 'Reference Service' gedefiniëerd, die dient als een soort ingangspunt voor de werkelijke tijdsverschoven versie's. Bij de 'Reference Service' behoort een 'reference_service_id', die de verbinding vormt naar de gemeenschappelijke beschrijving van de tijdsvertraagde versie's. De EIT-tabel van de 'Reference Service' kan altijd gevonden worden in de transportstroom, waarin de NVOD-dienst zich bevindt. De tijdsverschoven versie's van het programma hebben elk een volledig stel variabelen in de NIT, zoals 'transport_stream_id', 'original_network', en 'service_id'. Elke tijdsverschoven service wordt beschreven door een 'time_shifted_service_descriptor', welke ook weer terug verwijst naar de 'reference descriptor'.
VI. DVB-IMPLEMENTATION GUIDELINES VOOR MPEG-2 De MPEG-2-standaard is zoals vermeld een generieke standaard. Het DVB-project besloot daarom voor de DVB-diensten, die gebaseerd waren op 'Main Profile at Main level', een richtlijn (Guideline) op te stellen. Deze richtlijn is bedoeld om een bepaald minimum functionaliteit te definiëren, die de DVB-decoder dient te bezitten. Een belangrijke overweging hierbij was, dat omroeporganisaties alleen dan bepaalde functies of 'features' kunnen gebruiken indien elke decoder dit ook aan kan. Indien, bijvoorbeeld een belangrijk deel van de decoder slechts volgens het 'Simple Profile' werken, dan kan er geen 'Main Profile' bitstroom uitgezonden worden. Een DVB-decoder volgens MP@ML, die voldoet aan de minimale functionaliteit, wordt een 'Baseline IRD' genoemd. Hieronder wordt de inhoud van de 'Implementation Guidelines' kort samengevat. a. Systems ??MPEG-2-Transport Streams worden gebruikt ??Service Information is gebaseerd op MPEG-2-Program Specific Information ??Scrambling wordt uitgevoerd, zoals gedefiniëerd door de 'DVB Conditional Access Technical Group' ??Conditional Access gebruikt de MPEG-2-'CA_descriptor' b. Video ??MPEG-2-'Main Profile at Main Level' wordt gebruikt ??De beeldfrequentie is 25Hz ??Geëncodeerde beelden kunnen als aspectverhouding 4:3, 16:9 of 2.21:1 hebben
Satelliet technologie
- 24 -
MPEG-2
HS/V1 -2001
??IRD's zullen de aspectverhoudingen 4:3 en 16:9 ondersteunen, en naar keuze 2.21:1 ??IRD's moeten het gebruik van pan-scan-vectoren ondersteunen, om een 4:3 monitor een beeldvullende uitsnede van een 16:9 beeld te geven ??IRD's moeten een volledig beeld met 720 of 567 actieve beeldelementen kunnen afgeven, verminderd met een marge tot minimaal 704 of 576 beeldelementen (nominaal vol beeld) ??IRD's moeten de corresponderende upconversie kunnen uitvoeren van 544 bij 576 en 480 bij 576 beeldelementen naar een volledig beeld en evenzo van 352 bij 576 en 352 bij 288 naar een nominaal vol beeld. c. Audio ??MPEG-2-Layer I en II moeten ondersteund worden door de IRD ??Het gebruik van Layer II wordt aanbevolen voor de geëncodeerde bitstroom ??IRD's moeten de volgende functies ondersteunen: een enkel kanaal, twee kanalen, 'joint stereo', stereo en de extractie van een stereopaar uit een MPEG-2 compatibel multikanaals audiosignaal ??De volgende bemonsteringsfrequenties moeten ondersteund worden: 32kHz, 44,1kHz en 48kHz ??Op de geëncodeerde bitstroom zal geen 'pre emfase' toegepast zijn. Ter illustratie is in onderstaande tabel de beeldformaten, de aspectverhoudingen en de overeenstemmende ‘pan and scan’-vertoren gedifiniëerd.
Beeldformaten, aspect verhoudingen en overeenstemmende 'pan and scan'-vectoren.
Satelliet technologie
- 25 -
MPEG-2
HS/V1 -2001