-
Die Erfindung bezieht sich auf ein
System zum Verarbeiten eines Signals für hochauflösendes Fernsehen, abgekürzt HDTV
(High Definition Television), und betrifft speziell eine Anordnung
zum Aufteilen komprimierter Videodaten in zwei Datenströme.
-
Digitale Videoinformation mit hoher
Auflösung
kann erfolgreich über
terrestrische Fernsehkanäle übertragen
werden, indem man, wie hier beschrieben, die Videodaten in vorrangige
und nachrangige Information (Information hoher und niedriger Priorität) unterteilt
und dann getrennten Trägern
aufmoduliert. Die modulierten Träger.
werden in ein 6 MHz breites Frequenzband gefügt, und dann wird das kombinierte
Signal frequenzmäßig umgesetzt, um
das Spektrum eines normgemäßen Rundfunkkanals
zu belegen. Die vorrangigen Daten werden mit relativ hoher Leistung
und die nachrangigen Daten mit geringerer Leistung übertragen.
Als vorrangig werden diejenigen Daten eingestuft, die für sich bereits
zur Wiedergabe eines Bildes genügen,
das aber noch nicht die Qualität
eines hochaufgelösten
Bildes hat.
-
Die Aufteilung komprimierter Videodaten
in einen vorrangigen und einen nachrangigen bzw. mehrere nachrangige
Datenströme
und die Zuordnung der komprimierten Videodaten zu diesen Datenströmen in Abhängigkeit
von einem vorbestimmten Wert ist aus der
US 4 853 779 bekannt. Die Einfügung zusätzlicher
bestimmter Codeworttypen in den jeweiligen Datenstrom ist aus der
JP 02-089 472 A bekannt,
und dass solche Codewörter
län genvariabel
sein können
und die wesentlichen Codeworttypen in den vorrangigen Datenstrom
eingefügt
werden können,
ist von M. Ghanbari im Aufsatz "Two-Layer Coding
of Video Signals for VBR Networks" im IEEE Journal on Selected Areas in
Communication vom Juni 1989, Band 7, Nr. 5, auf den Seiten 771 bis
781 beschrieben.
-
Die vorliegende Erfindung richtet
sich auf eine Schaltungsanordnung zum Trennen komprimierter Videodaten
in vorrangige und nachrangige Daten. Zum Zwecke der Erläuterung
sei angenommen, dass die Videodaten in einem sogenannten MPEG-ähnlichen
Format komprimiert sind. Mit der Bezeichnung "MPEG-ähnlich" sei hier ein Codierungsformat gemeint,
das dem genormten Codierungsformat ähnelt, wie es von der International
Organization for Standardization festgelegt ist. Diese Norm ist
beschrieben in dem Dokument "International
Organization for Standardization",
ISO-IEC JT(1/SC2/WG1), Coding of Moving Pictures and Associated
Audio, MPEG 90/176 Rev.2 vom 18. Dezember 1990. Auf dieses Dokument
sei hier zur Beschreibung des allgemeinen Codeformats verwiesen.
-
Beim MPEG-Standard werden 240 Zeilen (NTSC)
pro Vollbild ohne Zeilensprung übertragen, was
typischerweise dadurch geschieht, daß nur die ungeraden oder geraden
Teilbilder eines ursprünglich
im Zeilensprung verflochtenen Videosignals codiert werden. Um HDTV-Signale
zu übertragen,
wird der besagte Standard modifiziert, um z.B. 480 Zeilen pro Teilbild
zu liefern, und sowohl die geraden als auch die ungeraden Teilbilder
werden gesendet. Außerdem
wird die Anzahl von Bildpunkten (Pixels) pro Zeile auf beispielsweise
1440 erhöht.
Diese Änderungen
beeinflussen im Konzept nur die Datenrate und nicht die Philosophie
der Komprimierung.
-
Gegenstand der vorliegenden Erfindung
ist eine Anordnung zum Aufteilen komprimierter Videodaten in zwei
Datenströme,
deren einer vorrangige Daten und deren anderer nachrangige Daten
enthält. Die
Videodaten erscheinen als Codewörter
CW unterschiedlicher Typen, wobei diese Typen in einer vorbestimmten
Hierarchie der Ränge
klassiert sind. Die Anordnung enthält Schaltungen zur Lieferung
eines Parameters P, der angibt, in welchem Prozentanteil die Daten
dem vorrangigen bzw. nachrangigen Datenstrom zugeteilt werden. Ferner
sind Schaltungen vorgesehen, um Codewörter jeweils entsprechend vorbestimmter
Bildbereiche zu gruppieren und um abhängig vom Parameter P die Typen
von Codewörtern
in jeder Gruppe zu bestimmen, die, wenn ihre jeweiligen Bits entsprechend
der Typen-Hierarchie in der Reihenfolge absteigender Rangordnung
summiert werden, im wesentlichen gleich dem P-ten Prozentanteil
der Gesamtanzahl von Codewortbits in der Gruppe sind. Die Anordnung
enthält
ferner Schaltungen zum Einbringen der vorbestimmten Typen von Codewörtern in
den vorrangigen Datenstrom und zum Einbringen der restlichen Typen
von Codewörtern
in den nachrangigen Datenstrom.
-
Die Erfindung wird nachstehend an
einem Ausführungsbeispiel
anhand von Zeichnungen näher erläutert:
-
1 zeigt
ein Blockschaltbild eines die Erfindung verkörpernden HDTV-Codier/Decodiersystems.
-
1B–1C sind
bildliche, für
die Beschreibung der Erfindung hilfreiche Darstellungen von Folgen
der Vollbilder/Teilbilder eines codierten Videosignals.
-
2 ist
eine bildliche Darstellung der von der Kompressionsschaltung nach 3 gelieferten Datenebenen.
-
3 ist
ein Blockschaltbild einer Kompressionsschaltung für Videosignale.
-
3A ist
eine verallgemeinerte bildliche Darstellung des von der Kompressionsschaltung nach 3 gelieferten Datenformats.
-
4 ist
ein Blockschaltbild einer beispielgebenden Schaltungsanordnung,
die für
die Formatierungsschaltung 111 nach 3 verwendet werden kann.
-
5 ist
ein Blockschaltbild einer beispielgebenden Schaltungsanordnung,
die für
die Rangauswählschaltung
in 1 benutzt werden
kann.
-
5A ist
ein Flußdiagramm
der Arbeitsweise des Analysators in 5.
-
6 ist
ein Diagramm des vom Transportprozessor 12 in 1 gelieferten Signalformats.
-
8 ist
ein Blockschaltbild einer beispielgebenden Schaltungsanordnung,
die für
die Modems 17 und 20 in 1 verwendet werden kann.
-
Ein beispielgebendes HDTV-System,
das mit der vorliegenden Erfindung gestützt werden kann, arbeitet mit
einem 2:1-Zeilensprungsignal
von 1050 Zeilen bei 59,94 Vollbildern pro Sekunde. Das nominelle
aktive Bild hat 960 Zeilen mit jeweils 1440 Pixels und einem Bildseitenverhältnis von
16 × 9.
Das Signal wird unter Verwendung von zwei Trägern in 64-Quadratur-Amplitudenmodulation (64-QAM) übertragen,
im Frequenzmultiplex innerhalb eines 6-MHz-Übertragungsbandes. Die nominelle
Gesamtbitrate, einschließlich
Video-, Ton- und
Hilfsdaten, ist 26–29
Mb/s.
-
Das Videosignal wird zu Anfang entsprechend
einem MPEG-ähnlichen
Format komprimiert. Anschließend
werden die Codewörter
des MPEG-artigen Signals in zwei Bitströme aufgegliedert, entsprechend
der relativen Wichtigkeit der jeweiligen Codewort-Typen. Die beiden
Bitströme
werden unabhängig
voneinander verarbeitet, um informationslose Bits für die Federkorrektur
einzubringen, und dann werden sie zugeordneten Trägern in
QAM aufmoduliert. Die modulierten Träger werden für die Übertragung
kombiniert. Der Bitstrom höherer
Wichtigkeit wird als vorrangiger Kanal bezeichnet, wobei für den Begriff "vorrangig" im folgenden auch
die Abkürzung HP
(von "High Priority") verwendet wird.
Der Bitstrom geringerer Wichtigkeit wird als nachrangiger Kanal bezeichnet,
wobei für
den begriff "nachrangig" im folgen auch die
Abkürzung
LP (von "Low Priority") verwendet wird.
Der vorrangige (HP-) Kanal wird mit ungefähr der doppelten Leistung gegenüber dem
nachrangigen (LP-) Kanal übertragen.
Das Verhältnis
der vorrangigen zur nachrangigen Information ist ungefähr 1:4.
Die ungefähren
Gesamt-Datenraten
nach der Vorwärts-Fehlerkorrektur
sind 4,5 Mb/s für
den HP-Kanal und 18 Mb/s für
den LP-Kanal.
-
Die 1 veranschaulicht
ein Beispiel für
ein HDTV-Codier/Decodiersystem
gemäß der Erfindung. Die 1 zeigt das System in der
Verarbeitung eines einzigen Videoeingangssignals; es versteht sich
jedoch, daß die
Leuchtdichte- und Farbartkomponenten getrennt komprimiert werden
und daß die
Bewegungsvektoren der Leuchtdichte werden, um komprimierte Farbartkomponenten
zu erzeugen. Die komprimierten Leuchtdichte- und Farbartkomponenten werden
verschachtelt, um Makroblocks zu bilden, bevor die Rangaufteilung
der Codewörter
erfolgt.
-
Eine Folge von Teilbildern/Vollbildern,
wie sie in 1B gezeigt
ist, wird an eine Schaltung 5 gelegt, welche die Teilbilder/Vollbilder
entsprechend der 1C umordnet.
Die umgeordnete Folge wird an einen Kompressor gelegt, der eine
komprimierte Folge von Vollbildern erzeugt, die nach einem MPEG-ähnlichen
Format codiert sind. Dieses Format ist hierarchisch und in abgekürzter Form
in 3A dargestellt.
-
Wenn hier davon die Rede ist, daß das vorliegende
System ein MPEG-ähnliches
Signal erzeugt, dann ist damit gemeint, daß a) aufeinanderfolgende Teilbilder/Vollbilder
des Videosignals entsprechend einer Folge I-, P- und B-Codierungen codiert werden
und b) codierte Daten hierarchisch in Ebenen geschichtet werden,
zumindest eine "Bild"-Ebene, eine "Streifen"-Ebene und eine "Makroblock"-Ebene. I-Bilder sind Bilder, die durch
sogenannte "Intraframe"-Codierung komprimiert
sind; P-Bilder sind solche, die unter Extrapolation ("Prädiktion") in Vorwärtsrichtung
codiert sind; B-Bilder sind solche, die unter "bidirektionaler" Extrapolation codiert sind.
-
Das codierte Ausgangssignal des vorliegenden
Systems wird in Gruppen von Teilbildern/Vollbildern (GOF) unterteilt,
wie es durch die Kästchenreihe L1
veranschaulicht ist
3A).
Jede Gruppe GOF (Ebene L2) enthält
einen Vorsatz gefolgt von Abschnitten mit Bilddaten. Der GOF-Vorsatz
enthält
Daten bezüglich
der horizontalen und vertikalen Bildgröße, des Bildseitenverhältnisses,
der Teilbild/Vollbild-Frequenz, der Bitrate, usw..
-
Die einem jeweiligen Teilbild/Vollbild
entsprechenden Bilddaten (L3) enthalten einen Vorsatz, gefolgt von
Streifendaten (L4). Der Bild-Vorsatz enthält eine Teilbild/Vollbild-Nummer
und eine Bildcodetype. Jeder Streifen (L4) enthält einen Vorsatz, gefolgt von einer
Vielzahl von Datenblöcken
MBi. Der Streifen-Vorsatz enthält
eine Gruppennummer und einen Quantisierungsparameter.
-
Jeder Block MBi (L5) stellt einen
Makroblock (MBi) dar und enthält
einen Vorsatz, gefolgt von Bewegungsvektoren (MV) und codierten
Koeffizienten. Die MBi-Vorsätze
enthalten eine Makroblockadresse, eine Makroblock-Typenbezeichnung
und einen Quantisierungsparameter. Die codierten Koeffizienten sind
in der Ebene L6 dargestellt. Es sei bemerkt, daß jeder Makroblock aus sechs
Blöcken
besteht, nämlich
vier Leuchtdichteblöcke,
ein U-Farbartblock und ein V-Farbartblock, vgl. 2. Ein Block stellt eine Matrix von Pixels
dar, z.B. 8 × 8
Pixels, über
die eine diskrete Cosinustransformation (DCT) durchgeführt wird.
Die vier Leuchtdichteblöcke
sind jeweils eine 2-mal-2-Matrix benachbarter Leuchtdichteblöcke, die
z.B. eine Matrix von 16 × 16
Pixels darstellen. Die Farbartblöcke
(U und V) repräsentieren
dieselbe Gesamtfläche
wie die vier Leuchtdichteblöcke. Das
heißt,
vor der Komprimierung wird das Farbartsignal gegenüber der
Leuchtdichte horizontal und vertikal um einen Faktor 2 unterabgetastet.
Ein "Streifen" der Daten entspricht
den Daten, die einen rechteckigen Teil eines Bildes entsprechend
derjenigen Fläche
darstellen, welche einer Gruppe von benachbarten Makroblöcken entspricht.
-
Die Blockkoeffizienten werden, für jeden Block
auf einmal, mit der diskreten Cosinustransformation (DCT) geliefert,
wobei zuerst der DCT-Gleichstromkoeffizient (DC-Koeffizient) erscheint,
jeweils gefolgt von einzelnen DCT-Wechselstromkoeffizienten (AC-Koeffizienten)
in der Reihenfolge ihrer relativen Wichtigkeit. Am Ende eines jeden
der aufeinandefolgend erscheinenden Datenblöcke wird ein Blockende-Code
EOB angehängt.
-
Die Menge der vom Kompressor 10 gelieferten
Daten wird durch die Geschwindigkeits-Steuereinrichtung 18 bestimmt.
Wie allgemein bekannt, erscheinen komprimierte Videodaten mit variablen
Raten, zweckmäßigerweise
sollten die Daten aber mit einer der Kanalkapazität äquivalenten
konstanten Rate übertragen
werden, um den Kanal wirtschaftlich auszunutzen. Geschwindigkeitspuffer 13 und 14 sorgen
für die Überführung der
variablen Datenrate in eine konstante Rate. Es ist auch bekannt,
die Menge der vom Kompressor gelieferten Daten entsprechend dem
Belegungsgrad der Puffer einzustellen. Deswegen enthalten die Puffer 13 und 14 eine
Schaltungsanordnung zur Anzeige ihres jeweiligen Belegungsgrades.
Diese Anzeigen werden der Geschwindigkeits-Steuereinrichtung 18 zugeführt, um
die vom Kompressor 10 gelieferte mittlere Datenrate einzustellen.
Die Einstellung erfolgt typischerweise durch Einstellung der Quantisierung,
die bei den DCT-Koeffizienten angewandt wird. Die Quantisierungspegel können für verschiedene
Arten der Vollbildkompression unterschiedlich sein. Einzelheiten
einer beispielgebenden Methode zur Bestimmung von Quantisierungspegeln
finden sich in der US-Patentanmeldung Nr. 494,098, die am 15. März 1990
unter dem Titel "Digital
Signal Coding With Quantization Level Computations" eingereicht wurde
und auf die hier verwiesen wird.
-
Die komprimierten Videodaten, die
gemäß der 3A hierarchisch formatiert
sind, werden auf eine Rangauswähleinrichtung 11 gekoppelt,
welche die codierten Daten zwischen einem "vorrangigen" Kanal (HP-Kanal) und einem "nachrangigen" Kanal (LP-Kanal)
aufteilt (Rang-"Selektion"). Die vorrangige
(HP-) Information ist diejenige, deren Verlust oder Entstellung
zur größten Verschlechterung
in den wiedergegebenen Bildern führen
würde.
Umgekehrt ausgedrückt
sind es die erforderlichen Mindestdaten zur Schaffung eines Bildes,
wenn auch eines noch nicht perfekten Bildes. "Nachrangige" Information ist die restliche Information.
Die vorrangige Information enthält
im wesentlichen alle Vorsatzinformationen, die in den verschiedenen
hierarchischen Ebenen enthalten sind, plus die DC-Koeffizienten
der jeweiligen Blöcke
und einen Teil der AC-Koeffizienten der jeweiligen Blöcke (Ebene 6 in 3A).
-
Das Verhältnis der HP- zu den LP-Daten
am Sender ist ungefähr
gleich 1:4. Im Transportprozessor werden dem zu sendenden Signal
Zusatzdaten hinzugefügt.
Dieses Zusatzsignal kann ein digitales Tonsignal enthalten und z.B.
Daten für
Fernsehtext. Bei einer bevorzugten Ausführungsform wird zumindest das
digitale Tonsignal in den HP-Kanal eingefügt.
-
Die komprimierten HP- und LP-Videodaten werden
auf einen Transportprozessor 12 gekoppelt, der a) die HP-
und LP-Datenströme in Transportblöcke unterteilt,
b) an jedem Transportblock eine Paritätsprüfung durchführt und Paritätsprüfungsbits
daran anhängt
und c) die Zusatzdaten mit den HP- oder LP-Videodaten multiplexiert.
Die Paritätsprüfbits werden
vom Empfänger
benutzt, um Fehler zu verdecken. Jeder Transportblock enthält einen
Vorsatz mit Informationen, die den Typ der im Block enthaltenen Information
anzeigt, z.B. Videoton und Hinweismarken für die Anfangspunkte benachbarter
gleichartiger Daten.
-
Die HP- und LP-Datenströme vom Transportprozessor 12 werden
jeweils auf den zugeordneten Puffer 13 bzw. 14 gegeben, worin
die vom Prozessor 12 kommenden Videodaten variabler Geschwindigkeit
in Daten umgewandelt werden, die mit einer im wesentlichen konstanten
Rate oder Geschwindigkeit erscheinen, Die geschwindigkeitsjustierten
HP- und LP-Daten werden jeweils einer zugeordneten Vorwärts-Fehlercodier
einrichtung 15 bzw. 16 zugeführt, worin a) Datenblöcke verschachtelt werden,
um zu verhindern, daß große Fehlerbündel einen
großen
zusammenhängenden
Bereich eines wiedergegebenen Bildes entstellen, b) die betreffenden
Datenströme
unabhängig
voneinander jeweils eine REED-SOLOMON-Codierung
für Vorwärts-Fehlerkorrektur
erfahren, und c) den Daten z.B. Barker-Codes angehängt werden,
für die
Synchronisierung der Datenströme
am Empfänger.
Anschließend werden
die Signale auf ein Sende-Modem 17 gekoppelt, worin die
Daten des HP-Kanals in Quadratur-Amplitudenmodulation
einem ersten Träger
und die Daten des LP-Kanals in Quadratur-Amplitudenmodulation einem
zweiten Träger
aufmoduliert werden, der gegenüber
dem ersten Träger
um ungefähr 2,88
MHz versetzt ist. Die 6-dB-Bandbreite des modulierten ersten Trägers ist
ungefähr
0,96 MHz, und diejenige des zweiten Trägers ist ungefähr 3,84
MHz. Der modulierte erste Träger
wird mit einer um ungefähr
9 dB höheren
Leistung als der modulierte zweite Träger gesendet. Da die HP-Information
mit größerer Leistung
gesendet wird, ist sie weniger anfällig für Entstellung durch den Sendekanal.
Der HP-Träger liegt
in demjenigen Bereich des Frequenzspektrums eines Fernsehkanals
wie z.B. eines NTSC-Kanals, der
normalerweise vom Restseitenband eines Fernsehsignals z.B. der NTSC-Norm
belegt. Dieser Teil des Signalkanals wird in Standardempfängern normalerweise
durch die dort vorhandenen Nyquist-Filter stark gedämpft, so
daß HDTV-Signale
mit diesem Sendeformat keine Gleichkanalstörung einführen.
-
Im Empfänger wird das gesendete Signal durch
das Modem 20 demoduliert, so daß zwei Signale entsprechend
dem HP- und dem LP-Kanal geliefert werden. Diese beiden Signale
werden an jeweils einen zugeordneten REED-SOLOMON-Fehlerkorrekturdecoder 21 bzw. 22 gelegt.
Die fehlerkorrigierten Signale werden auf Geschwindigkeitspuffer 23 und 24 gegeben,
die Daten mit einer variablen Geschwindigkeit empfangen, entsprechend
den Erfordernissen der nachfolgenden Dekompressionsschaltung. Die
mit variabler Rate oder Geschwindigkeit erscheinenden HP- und LP-Daten
werden auf einen Transportprozessor 25 gegeben, der einem
gegenüber
dem Prozessor 12 inversen Prozeß durchführt. Außerdem bewirkt er eine gewisse
Fehlerkorrektur in Ansprache auf die in den einzelnen Transportblöcken enthaltenen
Paritätsprüfbits. Der
Transportprozessor 25 liefert voneinander getrennte Zusatzdaten, HP-Daten,
LP-Daten und ein Fehlersignal E. Die letztgenannten drei Signale
werden auf einen "Rückgliederungs"-Prozessor 26 gegeben,
der die HP- und LP-Daten wieder zurück in ein hierarchisch gegliedertes
Signal formatiert (Rang-"Deselektion"), das an einen Dekompressor 27 gelegt
wird. Der Dekompressor 27 führt die inverse Funktion des
Kompressors 10 durch.
-
Die 3 zeigt
ein Beispiel für
eine Kompressorvorrichtung, die für die Einrichtung 10 der 1 verwendet werden kann,
um hierarchisch gegliederte komprimierte Videodaten zu liefern.
Die gezeigte Vorrichtung enthält
nur die zur Erzeugung komprimierter Leuchtdichtedaten benötigte Schaltungsanordnung.
Eine ähnliche
Vorrichtung wird zur Erzeugung komprimierter U- und V-Farbartdaten
benötigt.
In der 3 sind die Elemente 104 und 105 zur
Berechnung der Vorwärts-
bzw. der Rückwärts-Bewegungsvektoren
bestimmt. Ob ein Bewegungsvektor vorwärts oder rückwärts gerichtet ist, hängt nur
davon ab, ob das laufende Teilbild bezüglich eines vorangehenden oder
eines nachfolgenden Teilbildes analysiert wird; daher werden beide
Elemente durch gleichartige Schaltungsmittel realisiert, und in
der Tat erzeugen beide Elemente 104 und 105, auf
Teilbild/Vollbild-Basis
abwechselnd, Vorwärts- und
Rückwärts-Vektoren.
Zur Realisierung der Elemente 104 und 105 können integrierte Schaltungen des
Typs STI 3220 MOTION ESTIMATION PROCESSOR verwendet werden, erhältlich von SGS-THOMSON
MICROELECTRONICS. Um die notwendigen Verarbeitungsgeschwindigkeiten
zu erzielen, weist jedes der Elemente 104 und 105 eine Mehrzahl
solcher integrierter Schaltungen auf, die gleichzeitig verschiedene
Bereiche der jeweiligen Bilder verarbeiten.
-
Das Element 109, das mit "DCT & Quantisierung" bezeichnet ist,
führt die
diskrete Cosinustransformation und die Quantisierung der Transformierten-Koeffizienten
durch und kann realisiert werden unter Verwendung integrierter Schaltungen
des Typs STV 3200 DISCRETE COSINE TRANSFORM, erhältlich von
SGS-THOMSON MICROELECTRONICS. Das Element 109 kann ebenfalls
durch eine Vielzahl dieser Schaltungen realisiert werden, die parallel
betrieben werden, um gleichzeitig verschiedene Bereiche des Bildes
zu verarbeiten.
-
Es sei die 1C betrachtet und angenommen, daß gerade
das Vollbild 16 ansteht. Das früher erschienene P-Vollbild 13 ist
ergriffen und im B-Pufferspeicher 101 gespeichert worden.
Außerdem
ist ein erzeugtes extrapoliertes Vollbild 13 in einem der Pufferspeicher 114 bzw. 115 gespeichert
worden. Wenn das Vollbild 16 erscheint, wird es im A-Pufferspeicher 102 gespeichert.
Außerdem
wird das Vollbild 16 an einen Arbeitspufferspeicher 100 gelegt. Wenn
das Vollbild 16 erscheint, werden zugehörige Bilddatenblöcke aus
dem Speicher 100 an den Minuendeneingang eines Subtrahierers 108 gelegt.
Während
der Komprimierung des I-Vollbildes
wird der Subtrahendeneingang des Subtrahierers 108 auf dem
Wert Null gehalten, so daß Daten
den Subtrahierer 108 unverändert durchlaufen. Diese Daten werden
an die DCT- und Quantisierungseinrichtung 109 gelegt, die
quantisierte Transformierten-Koeffizienten an Einrichtungen 110 und 112 liefert.
Die Einrichtung 112 führt
eine inverse Quantisierung und eine inverse DCT- Transformation der Koeffizienten durch,
um ein rekonstruiertes Bild zu erzeugen. Das rekonstruierte Bild
wird über
einen Addierer 113 an einen der Pufferspeicher 114 bzw. 115 gelegt
und dort gespeichert, um bei der Komprimierung nachfolgender B-
und P-Vollbilder benutzt zu werden. Während der Komprimierung der
I-Vollbilder wird den von der Einrichtung 112 gelieferten
rekonstruierten Bilddaten keine Information (vom Addierer 113)
hinzugefügt.
-
Die Einrichtung 110 führt während der
Komprimierung von I-Vollbildern
zwei Funktionen durch. Zuerst bewirkt sie eine Differenzcodierung
(DPCM) der vom Element 109 erzeugten EC-Koeffizienten. Dann codiert sie die
differenzcodierten Koeffizienten in einem längenvariablen Code (VLC) und
codiert die vom Element 109 erzeugten AC-Koeffizienten
in einem Code mit Zero-Run und variabler Länge. Die längenvariablen (VCL-)Codewörter werden
an einen Formatierer 111 gelegt, der die Daten in Abschnitte aufteilt
und jeweils Vorsatzinformationen anhängt, entsprechend den Ebenen
gemäß der 3A. Die codierten Daten
von der Einrichtung 111 werden dann zur Rangauswähleinrichtung
durchgelassen. Jede der Einrichtungen 109, 110 und 111 wird
durch ein System-Steuergerät 116 gesteuert,
um die jeweiligen Operationen zyklisch zu den passenden Zeiten durchzuführen.
-
Nach dem Vollbild 16 erscheint
ein "B"-Vollbild (14)
und wird in den Pufferspeicher 100 geladen. Daten aus dem
Vollbild 14 werden auf beide Einrichtungen 104 und 105 gekoppelt.
Die Einrichtung 104 spricht auf Daten aus dem Vollbild 14,
gegriffen aus dem Speicher 100, und auf Daten aus dem Vollbild 13,
gegriffen aus dem Speicher 101, an und berechnet Vorwärts-Bewegungsvektoren
für einzelne
Blöcke
von jeweils 16 × 16
Pixels der Bilddaten. Sie liefert außerdem ein Verzerrungssignal,
das die relative Genauigkeit der jeweiligen Vorwärts-Bewegungsvektoren anzeigt.
Die Vorwärts-Bewegungsvektoren
und die entsprechenden Verzerrungssignale werden auf einen Analysator 106 gekoppelt.
-
Die Einrichtung 105 spricht
auf Daten aus dem Vollbild 14, die im Speicher 100 enthalten
sind, und auf Daten des I-Vollbildes 16 aus
dem Speicher 102 an und erzeugt Rückwärts-Bewegungsvektoren und entsprechende
Verzerrungssignale, die ebenfalls auf den Analysator 106 gekoppelt
werden. Der Analysator 106 vergleicht die Verzerrungssignale
mit einem Schwellenwert, und wenn beide den Schwellenwert übersteigen,
liefert sie die Vorwärts-
und Rückwärts-Bewegungsvektoren
beide als den Bewegungsvektor und liefert außerdem ein entsprechendes Signal,
das zum Verhältnis
der Verzerrungssignale in Beziehung steht. Bei Rekonstruktion erfolgt dann
die Erzeugung extrapolierter Bilder unter Verwendung sowohl des
Vorwärts-
als auch des Rückwärts-Vektors
und entsprechender davon abgeleiteter Vollbilddaten. Aus den vor-
und rückwärts extrapolierten
Vollbildern wird ein entsprechend dem Verhältnis der Verzerrungssignale
interpoliertes Vollbild erzeugt. Falls die Verzerrungssignale für die Vorwärts- und
Rückwärts-Hewegungsvektoren
beide niedriger als die Schwelle sind, wird als Bewegungsvektor
für den
Block derjenige ausgewählt,
dem das Verzerrungssignal des niedrigeren Wertes entspricht.
-
Nachdem der Bewegungsvektor bestimmt ist,
wird er an einen bewegungskompensierten Datenextrapolator bzw. "Prädiktor" 107 gelegt,
der Zugriff auf das passende Exemplar der in den Speichereinrichtungen 114 und 155 gespeicherten
Datenblöcke nimmt,
das durch den Vektor aus einem oder beiden der zuvor regenerierten
Vollbilder 16 und 13 definiert ist. Dieser Datenblock
wird an den Subtrahendeneingang des Subtrahierers 108 gelegt,
worin er Pixel für Pixel
vom entsprechenden Pixeldatenblock aus dem laufenden Vollbild 14 subtrahiert
wird, der vom Pufferspeicher 100 geliefert wird. Die Differenzen
oder Reste werden dann in der Einrichtung 109 codiert, und
die Koeffizienten werden an die Einrichtung 110 gelegt.
Der entsprechende Blockvek tor wird ebenfalls an die Einrichtung 110 gelegt.
Für codierte
B- und P-Vollbilder werden die DC-Koeffizienten nicht differenzcodiert,
jedoch werden sowohl die DC- als auch die AC-Koeffizienten längenvariabel
codiert. Die Bewegungsvektoren werden differenzcodiert, und dann
werden die differenzcodierten Vektoren längenvariabel codiert. Die codierten
Vektoren und Koeffizienten werden dann an den Formatierer 111 übertragen.
Die codierten B-Vollbilder erfahren keine inverse Quantisierung
und inverse Transformation im Element 112, da sie für die nachfolgende
Codierung nicht verwendet werden.
-
P-Vollbilder werden in ähnlicher
Weise codiert, nur daß ausschließlich Vorwärts-Bewegungsvektoren
erzeugt werden. So erfolgt beispielsweise die Codierung des P-Vollbildes 19 mit
Bewegungsvektoren, die zu entsprechenden Blöcken des I-Vollbildes 16 und des P-Vollbildes 19 gehören. Während der
Codierung von P-Vollbildern liefert das Element 112 entsprechende
decodierte Restwerte, und die Einrichtung 107 liefert das
entsprechende extrapolierte P-Vollbild. Das extrapolierte Vollbild
und die Restwerte werden im Addierer 113 Pixel für Pixel
addiert, um das rekonstruierte Vollbild zu erzeugen, das in demjenigen
Exemplar der Speichereinrichtungen 114 und 116 gespeichert
wird, welches nicht die Vollbildinformation enthält, aus der das extrapolierte P-Vollbild erzeugt
wird. Das rekonstruierte und gespeicherte P-Vollbild wird für die Codierung
nachfolgender B-Vollbilder benutzt. Es sei erwähnt, daß sowohl für die P- als auch die B-Teilbilder/Vollbilder
diskrete Cosinustransformationen (DCT) auf Blockbasis durchgeführt werden
(z.B. auf der Basis einer Matrix von 8 × 8 Pixels), während die
Bewegungsvektoren auf Makroblock-basis errechnet werden (z.B. für eine Matrix
von 2 × 2
Blöcken
der Leuchtdichte oder eine Matrix von 16 × 16 Pixels).
-
Die 4 zeigt
in Blockform ein Beispiel für eine
Schaltungsanordnung, die verwendet werden kann, um die Funktion
der Einrichtungen 110 und 111 in 3 durchzuführen. Das Ausgangsformat dieser Schaltungsanordnung
Parallelbit-Wörter
variabler Länge.
Dieses Format wird gewählt,
um die Realisierung sowohl des Rangauswählprozessors als auch des Transportprozessors
zu vereinfachen. Außerdem
werden zwei Extrasignale geliefert, die den Codetyp CW eines jeden
Ausgangs-Codewortes, CW, und die Länge CL eines jeden Codewortes
definieren.
-
Bei der Schaltungsanordnung nach 4 werden die Bewegungsvektoren
aus dem Analysator 106 (3)
im DPCM-Element 127 auf
Streifenbasis differenzcodiert und über einen Pufferspeicher 133 auf
einen Multiplexer 129 gekoppelt. Die Transformierten-Koeffizienten
von der Transformationseinrichtung 109 werden auf einen
Multiplexer 132 und eine Differenzcodierungseinrichtung
(DPCM) 128 gekoppelt. Die differenzcodierten Koeffizienten
von der DPCM-Einrichtung 128 werden auf einen zweiten Eingang
des Multiplexers 132 gegeben. Während der Codierung von P-
oder B-Vollbildern werden alle Koeffizienten direkt vom Multiplexer 132 durchgelassen. Während der
Codierung von I-Vollbildern
werden die DC-Koeffizienten selektiv in der DCPM-Einrichtung 128 differenzcodiert.
Die differenzcodierten DC-Koeffizienten und die nicht-differenzcodierten
AC-Koeffizienten
werden vom Multiplexer 132 im Multiplex verschachtelt und über den
Pufferspeicher 133 auf einen zweiten Eingang des Multiplexers 129 gekoppelt.
Ein Formatsteuer- und Vorsatzgeber 126 koppelt Vorsatzinformation
auf einen dritten Eingang des Multiplexers 129. Die Einrichtung 126 enthält gespeicherte Information
und eine Steuerschaltung, um a) die erforderliche Vorsatzinformation
für die
verschiedenen Codeebenen (3A)
zu liefern, und um b) Steuersignale für die Zeitmultiplex-Verschachtelunq
der Vorsatzinformation, der Bewegungsvektoren und der Transformierten-Koeffizienten
im Multiplexer 129 zu liefern. Die Einrichtung 126 spricht über den
Steuerbus CB auf das System-Steuergerät an, um die passenden Vorsätze entsprechend
der Bildgröße, der Geschwindigkeit,
des Typs der Bildcodierung, der Quantisierungsparameter, usw, zu
liefern. Manche der Vorsatzinformationen werden von der Einrichtung 126 in
Verbindung mit einem Analysator 125 errechnet. Beim Format
des MPEG-Typs ist ein großer
Teil der Vorsatzinformation (z.B. Ebene 5 in 3A) variabel, so etwa der
Typ der Blockcodierung, der Typ der Bewegungsvektoren, ob ein Block
Bewegungsvektoren vom Wert Null hat und/oder ob alle Koeffizienten
in einem Block den Wert Null haben. Die Vektorinformation und die
Koeffizienteninformation wird an den Analysator 125 gelegt,
um diese Typen von Vorsatzinformation festzustellen. Ob ein Bewegungsvektor
vorwärts
oder rückwärts gerichtet
ist und/oder den Wert Null hat, läßt sich direkt durch Prüfung der Vektoren
bestimmen. Ob alle Koeffizienten in einem Block den Wert Null haben,
läßt sich
einfach dadurch bestimmen, daß man
die Werte der in einem Block enthaltenen Koeffizienten akkumuliert.
Sobald der Typ variabler Vorsatzdaten festgestellt ist, wird ein entsprechendes
Codewort zugeteilt und zu passender Zeit an den Multiplexer 129 geliefert.
Die Einrichtung 126 liefert außerdem Information über den
gerade in das Multiplex einzufügenden
Codeworttyp, d.h. Vorsatzinformation, Bewegungsvektor-Information, DC-Koeffizienten, AC-Koeffizienten.
-
Die im Zeitmultiplex verschachtelte
Information wird auf einen Codierer 130 für längenvariablen Code
(VLC) gekoppelt, der ebenfalls von der Einrichtung 126 gesteuert
wird. In der Figur ist der Fall gezeigt, daß die VLC-Steuerung durch das
Codetyp-Signal erfolgt. Die verschiedenen Codetypen sind längenvariable
Codes entsprechend verschiedenen VLC-Codetabellen, und daher ist
die Verwendung des Codetypsignals für diese Steuerung geeignet.
-
Der VLC-Codierer 130 kann
einen Zero-Run-Codierer zum Codieren von Zero-Runs der AC-Koeffizienten
enthalten und eine Vielzahl von Huffmann-Codetabellen, die durch jeweilige,
vom Multiplexer 129 durchgelassene Codewörter adressiert
werden, um die längenvariable
Codierung der Transformierten-Koeffizienten und der Bewegungsvektoren
vorzunehmen. Die jeweils benutzte Tabelle wird durch das Codetypsignal
aktiviert. Jede der Codetabellen kann entsprechende Tabellen enthalten, die
mit den Codelängen
der jeweiligen längenvariablen
Codewörter
programmiert sind. Die Codewörter CW
und die Codelängen
CL werden gleichzeitig auf getrennten Bussen im Parallelbit-Format
geliefert. Im allgemeinen ist die Vorsatzinformation nicht längenvariabel
codiert und wird unverändert
vom VLC-Codierer 130 durchgelassen.
Der VLC-Codierer 130 enthält jedoch Codelängen-Tabellen,
um in Abhängigkeit
vom Codetypsignal die Codelängen
der Vorsatz-Codewörter
zu liefern. Alternativ kann ein Bitzähler im VLC-Codierer enthalten
sein, um die Anzahl der Bits dieser Daten zu zählen.
-
Die Einrichtung 126 steuert
ferner das Einschreiben und Auslesen von Daten am Pufferspeicher 133.
-
Die 5 zeigt
ein Beispiel für
eine Vorrichtung zur Durchfhrung des Rangauswählvorganges. Diese Vorrichtung
kann in mehreren Betriebsarbeiten arbeiten. Beispielsweise kann
die Rangaufteilung der Daten für
die verschiedenen Teilbild/Vollbild-Typen auf einer gleichen Basis
oder auf ungleicher Basis erfolgen, Im letzteren Fall sei angenommen,
daß der HP-Kanal
20% der gesendeten Gesamtdaten durchläßt und daß 3% des HP-Kanals durch Zusatzdaten verbraucht.
Wenn die Videodaten für
maximalen Ausnutzungsgrad des Sendekanals quantisiert sind, können dem
HP-Kanal 17, 53 der Videodaten zugeordnet werden.
Im erstgenannten Fall können
die vorrangigen Daten für
die 2-, P- und B-Vollbilder
im Verhältnis α:β:1 zugeordnet
werden. Die Werte α und β können vom
Benutzer wählbar
sein und/oder in adaptiver Weise aus der Menge der codierten Daten vorheriger
Vollbilder oder Vollbild-Gruppen bestimmt werden.
-
Es sei nun die 5 betrachtet. Die Daten vom längenvariablen
Codierer 130 werden auf zugeordnete Eingangsanschlüsse zweier
Pufferspeicher 150A und 150B und auf einen Datenanalysator 152 gekoppelt.
Die beiden Puffer haben jeweils genug Speicherplatz, um z.B. einen
Streifen der Daten zu speichern. Die Puffer 150A und 150B werden
in einer "Ping-Pong"-Arbeitsweise betrieben,
um Datenstreifen abwechselnd einzuschreiben und auszulesen. Während also
der Puffer 150A Daten aus z.B. dem Streifen n einschreibt,
liest der Puffer 150B Daten aus dem Streifen n-1 aus.
-
Während
Daten in einen der Puffer eingeschrieben werden, erzeugt der Analysator 152 eine Codewortnummer
CW#i für
jedes Codewort und speichert sie in Verbindung mit dem betreffenden
Codewort. Der Analysator berechnet außerdem den Punkt bzw. das Codewort,
bei welchem die Daten zwischen dem vorrangigen und dem nachrangigen Kanal
aufgeteilt werden sollen. Die Berechnung ist für die Menge der im Puffer gespeicherten
Daten bestimmt. Es gibt vier allgemeine Typen von Daten, nämlich Vorsatzdaten,
Bewegungsvektoren, DC-Koeffizienten und AC-Koeffizienten. Die DC-
und AC-Koeffizienten über
einen Block erscheinen in einer derartigen Reihenfolge, daß zuerst
der DC-Koeffizient kommt und dann Codewörter, welche die AC-Koeffizienten
darstellen, in einer Reihenfolge gemäß absteigender Wichtigkeit.
Die Gesamtzahl der Bits für
alle Codewörter
im Puffer werden gezählt. Dann
wird das Codewort, bei welchem die Summe der Bits gleich dem Prozentanteil
der vorrangigen Daten ist, als ein Codewort der Nummer CW#j identifiziert.
Diese Nummer wird an eine Schalteinrichtung 153A (153B)
gelegt und zur Steuerung des Multiplexers 155A (155B)
benutzt. Nachdem die Codewortnummer CW#j identifiziert ist, werden
die Codewörter,
die Daten der Codelänge,
die Daten des Codeworttyps und die Codewornummern parallel aus dem Puffer 150A (150B)
ausgelesen. Die Codewörter
und die Daten der Codelängen
und der Codetypen werden an den Eingang des Multiplexers 155A (155B) gelegt,
und die Codewortnummern werden an einen Eingang der Schalteinrichtung 153A (153B)
gelegt. Während
die Daten aus dem Puffer ausgelesen werden, vergleicht die Schalteinrichtung 153A (153B) die
Codewortnummern mit der errechneten Zahl CW#j. Für alle Codewortnummern, die
gleich oder kleiner sind als CW#j, liefert die Schalteinrichtung
ein Steuersignal, welches den Multiplexer 155A (155B) so
einstellt, daß er
die entsprechenden Daten über einen
vierten Multiplexer 156 zum vorrangigen Kanal (HP-Kanal) durchläßt. Für Codewortnummern,
die größer sind
als CW#j, wird der Multiplexer 155A (155B) so
eingestellt, daß er
die entsprechenden Daten über
den Multiplexer 156 zum nachrangigen Kanal (LP-Kanal) durchläßt. Die
Steuerung des Multiplexers 156 erfolgt so, daß er vor-
und nachrangige Daten aus demjenigen der beiden Puffer 150A und 150b durchläßt, der
gerade ausgelesen wird.
-
Der Analysator 152 spricht
auf die Codelängen-Signale
und auf die Codetyp-Signale an. In Ansprache auf die Codetyp-Signale erzeugt der
Analysator Codewortzahlen für
jedes erscheinende Codewort. Beispielsweise wird jedem Codewort,
das Vorsatzinformation darstellt, die Zahl –2 zugeordnet. Jedem Codewort,
das einen Bewegungsvektor darstellt, wird die Zahl –1 zugeordnet,
und jedem Codewort, das einen DC-Koeffizienten
darstellt, wird die Zahl 0 zugeordnet. Aufeinanderfolgenden
AC-Codewörtern
werden von Block zu Block aufsteigende ganze Zahlen i von 1 bis
n zugeordnet.
-
Der Analysator 152 enthält außerdem einen Akkumulator,
der unter Steuerung durch die Codelängen- und Codetyp-Signale die
Anzahl der Bits der in den Puffer 150A (150B)
eingegebenen Codewörter
für jeden
Codetyp getrennt zählt.
Diese Summen werden addiert, um die Gesamtanzahl der im Puffer enthaltenen
Codewortbits zu liefern. Die Gesamtsumme wird mit dem dezimalen Äquivalent
des dem HP-Kanal zugeordneten Prozentanteils multipliziert, um eine
Prüfsumme
zu erhalten. Anschließend
werden die jeweiligen Codetyp-Summen sequentiell in absteigender
Reihenfolge der Codewortnummer CW#i addiert, um Teilsummen zu liefern.
Jeder Teilsumme wird mit der Prüfsumme
verglichen, bis die Teilsumme die Prüfsumme übersteigt. Die für die unmittelbar
vorhergehende Teilsumme geltende Codewortnummer CW#j ist das letzte
Codewort innerhalb eines Blockes für den HP-Kanal. Alle nachfolgenden Codewörter, d.h.
CW#j + 1 bis CW#n in jedem Block werden dem nachrangigen Kanal (LP-Kanal)
zugeteilt.
-
Die 5A ist
ein Flußdiagramm
des Betriebs des Analysators 152. Am Beginn eines jeden Daten-"Streifens" setzt der Analysator
die Zählwerte für die einzelnen
Typen von Codewörtern
zurück (Schritt
500). Dann, wenn Daten in den betreffenden Puffer geschrieben werden,
liest der Analysator den Codeworttyp und die entsprechende Codewortlänge L und
teilt abhängig
vom Codeworttyp eine Codewortnummer CW#i zu (Schritt 502). Der Analysator addiert
die Codewortlänge
L mit der Summe aller vorheriger Codewörter, denen dieselbe Codewortnummer
CW#i zugeteilt worden ist (Schritt 504). Anschließend erfolgt
eine Prüfung
(Schritt 506), um festzustellen, ob alle Daten für einen Streifen ausgewertet worden
sind. Dies kann durch Prüfung
der Codeworttypen für
den nächsterscheinenden
Streifen-Vorsatz geschehen. Wenn das Ende des Streifens nicht erschienen
ist, wird wieder mit dem Schritt 502 fortgefahren. Ist das Streifenende
erschienen, geht der Analysator zum Schritt 508, um den Bruchpunkt
zwischen HP- und LP-Daten festzustellen. Dieser Vorgang wird eingeleitet,
indem ein Teilsummenwert auf Null gestellt und dann begonnen wird,
die Bitsummen der jeweiligen Typen von Codewörtern zu akkumulieren, die
den zugeordneten Nummern CW#i entsprechen (Schritt 510); d.h. die
Bitsumme von CW#-3 wird mit der Bitsumme von CW#-2 addiert, um eine erste
Teilsumme zu liefern; dann wird die Bitsumme von CW#-1 mit der ersten
Teilsumme addiert, um eine weitere Teilsumme zu erzeugen, usw..
Bei jeder Erzeugung einer Teilsumme wird ein Vergleich durchgeführt (Schritt
512). Heim vorliegenden Beispiel erfolgt der Vergleich zwischen
einerseits dem Verhältnis
der laufenden Teilsumme zur Gesamtanzahl von Bits in dem Streifen
und andererseits dem dezimalen äquivalent
des Prozentsatzes der dem HP-Kanal zugeteilten Daten (%HP/100).
Ist der besagte Verhältniswert
kleiner, dann wird die Summe der Bits der Codewörter, die dem nächsthöheren CW#i
entsprechen, mit der vorherigen Teilsumme addiert (Schritte 514,
510). Ist der Verhältniswert
größer, dann
wird der Index i = j des letzten CW#i ausgegeben, d.h. CW#j wird
ausgegeben (Schritt 518). Es sei bemerkt, daß in dem MPEG-ähnlichen
Signal maximal 64 DC- und
AC-Koeffizientenwerte vorhanden sind. Für jeden Verhältniswert,
der kleiner ist als %HP/100, wird eine Prüfung durchgeführt (Schritt
516), um festzustellen, ob CW#64 erschienen ist, so daß die Berechnungen
angehalten werden, um zu verhindern, daß das System in eine Endlosschleife
eintritt.
-
Die vorrangigen und nachrangigen
Daten aus dem Rangauswähler
werden in Transportblöcken
angeordnet, um die Fehlerverdeckunq im Empfänger zu verbessern. Das Format
der Transportblöcke
ist in 6 gezeigt. Ein
exemplarischer HP-Transportblock enthält 1728 Bits, und ein LP-Transportblock
enthält
864 Bits. Die einzelnen Transportblöcke können mehr oder weniger als
die Daten eines Streifens enthalten. So kann es vorkommen, daß ein Transportblock
Daten vom Ende eines Streifens und Daten vom Anfang des nächstfolgenden
Streifens enthält.
Transportblöcke,
die Videodaten enthalten, können
mit Transportblöcken,
die andere Daten wie z.B. Toninformation enthalten, verschachtelt
sein. Jeder Transportblock enthält
einen Diensttyp-Vorsatz
ST, der den Typ der im betreffenden Transportblock enthaltenen Information
anzeigt. Heim vorliegenden Beispiel ist dieser ST-Vorsatz ein 8-Bit-Wort,
das anzeigt, ob die Daten vorrangige oder nachrangige Daten sind
und ob sie Toninformation, Videoinformation oder Zusatzdaten darstel len.
Vier Bits des 8-Bit-Wortes werden dazu benutzt, die ST-Information
darzustellen, und vier Bits werden für den Hamming-Paritätsschutz
der ST-Informationsbits verwendet.
-
Jeder Transportblock enthält einen
Transportvorsatz TH unmittelbar nach dem ST-Vorsatz. Für den LP-Kanal
enthält
der Transportvorsatz eine aus 7 Bits bestehende Makroblock-Hinweisadresse, einen
aus 18 Bits bestehenden Bezeichner und eine aus 7 Bits bestehende
Hinweisadresse auf das Satzanfangsetikett RH. Der Transportvorsatz
des HP-Kanals enthält
nur ein aus 8 Bits bestehendes Satzanfangsetikett RH. Die Makroblock-Hinweisadresse wird
für Fälle verwendet
in den Makroblöcke
oder Satzanfangsetiketten RH zerschnitten sind, und weist auf den
Beginn der nächsten
decodierbaren Komponente hin. Wenn z.B, der betreffende Transportblock
Makroblockdaten enthält,
die zum Ende des Streifens n und zum Beginn des Streifens n + 1 gehören, werden
die Daten aus dem Streifen n an den Transportvorsatz angrenzend
angesetzt, und die RH-Hinweisadresse zeigt an, daß die nächsten decodierbaren
Daten angrenzend am Transportvorsatz TH liegen. Wenn umgekehrt ein
Satzanfangsetikett RH an den Transportvorsatz TH angrenzt, bezeichnet
die erste Marke die dem Satzanfangsetikett RH folgende Byte-Position.
Eine Makroblock-Hinweisadresse mit dem Wert 0 zeigt an, daß der Transportblock
keinen Makroblock-Anfangspunkt hat.
-
Der Transportblock kann kein, ein
oder mehr als ein Satzanfangsetikett enthalten, und deren Positionen
sind innerhalb des Transportblockes veränderlich. Ein Satzanfangsetikett
erscheint am Beginn jedes Streifens von Makroblockdaten im HP-Kanal
und am Beginn jedes Makroblockes im LP-Kanal. Keine Satzanfanqsetiketten
haben diejenigen Transportblöcke,
die nur Videodaten-Vorsatzinformation enthalten. Die Satzanfangsetikett-Hinweisadresse
weist auf diejenige Byte-Position, die den Beginn des nächsten Satzanfangsetikettes
im Transportblock enthält.
Es sei erwähnt,
daß ein
Satzanfangsetikett, wenn es Makroblock daten folgt, an eine Byte-Grenze gesetzt
wird. Das heißt,
der letztvorherige längenvariable
Code kann mit Füllbits
versehen werden, um sicherzustellen, daß der Beginn des Satzanfangsetikettes
an einer Bitposition erscheint, die vom Beginn des Transportblockes
um eine ganze Anzahl von Bytes beabstandet ist. Die Satzanfattgsetiketten
RH werden an Bit-Grenzen gesetzt, damit sie der Decoder lokalisieren
kann, denn sie liegen eingebettet in einem Strom geketteter längenvariabler
Codewörter. Eine
RH-Hinweisadresse mit dem Wert 0 zeigt an, daß sich keine Satzanfangsetiketten
im Transportblock befinden. Wenn sowohl das RH-Hinweisadresse als
auch die Makroblock-Hinweisadresse den Wert 0 haben, zeigt dies
an, daß der
Transportblock nur Videodaten-Vorsatzinformation
enthält.
-
Der aus 18 Bits bestehende Bezeichner
im LP-Transportvorsatz identifiziert den Typ des laufenden Vollbildes,
die Vollbildnummer (Modulo 32), die laufende Streifennummer
und den ersten Makroblock, der im Transportblock enthalten ist.
-
Nach dem Transportvorsatz kommt entweder
ein Satzanfangsetikett, oder es folgen Daten. wie in 6 gezeigt, enthält das Satzanfangsetikett
für die
Videodaten im HP-Kanal
folgende Information: Ein aus einem Bit bestehendes "Kennzeichen", welches anzeigt,
ob eine Vorsatz-"Erweiterung" vorhanden ist. Nach
dem Kennzeichen kommt ein "Bezeichner", der erstens den
Teilbild/Vollbild-Typ ("Bildtyp") I, B oder P, zweitens
eine Teilbild/Vollbild-Nummer ("Bildnummer", Modulo 32)
und drittens eine "Streifennummer" (Modulo 64)
anzeigt. Nach diesem Bezeichner enthält die Satzanfangsetikett einen
Hinweis auf die "Rangwechselstelle
j" des Makroblocks. Dieser
Hinweis gibt die Codewortnummer CW#j an, die vom Analysator 152 des
Rangauswählers
geliefert wird, um die Codewörter
zwischen dem vorrangigen (HP) und dem nachrangigen (LP) Kanal aufzuteilen.
Als letztes kann wahlweise eine Vorsatz-"Erweiterung" in der HP-Satzanfangsetikett
enthalten sein.
-
Das in den LP-Kanal aufgenommene
Satzanfangsetikett RH enthält
nur einen "Bezeichner", der ähnlich wie
der Bezeichner im HP-Kanal ist.
-
Jeder Transportblock wird beendet
mit einer Folge von 16 Vollbild-Prüfbits FCS, die aus allen Bits im
Transportblock errechnet wird. Diese Prüfbitfolge FCS kann unter Verwendung
eines zyklischen Redundanzcodes erzeugt werden.
-
Die 7 zeigt
ein Ausführungsbeispiel
des Transportprozessors. Eine als "Schiedsrichter" fungierende Einrichtung 213 verschachtelt über einen Multiplexer 212 Transportblöcke von
Videodaten aus einem Multiplexer 211, Tondaten aus einem
Speicher 214 und Zusatzdaten aus einem Speicher 215.
Die Tondaten werden in Form von Transportblöcken von einer Quelle 216 geliefert
und einem chronologischen Speicher (FIFO-Speicher) 214 zugeführt. Die Zusatzdaten
werden in Form von Transportblöcken von
der Quelle 217 an einen FIFO-Speicher 215 geliefert.
Die Formate der Transportblöcke
für die
Ton- und Zusatzdaten können
anders sein als das Format der Video-Transportblöcke, jedoch enthalten alle Transportblöcke einen
vorangestellten Diensttyp-Vorsatz und haben vorzugsweise gleiche
Länge. Das
Schiedsrichtergerät 213 arbeitet
unter Berücksichtigung
des Belegungsgrades der Pufferspeicher 214, 215 und 207 in
einer Weise, die sicherstellt, daß keiner dieser Pufferspeicher überläuft.
-
Die Anordnung nach 7 verarbeitet eines der vorrangigen und
nachrangigen Signale, so daß für das jeweils
andere Signal eine ähnliche
Anordnung erforderlich ist. Wenn jedoch alle Bestandteile der Ton-
und Zusatzsignale vorrangige Daten sind, braucht man im Transportblockprozessor
der nachrangigen Signale keinen Schiedsrichter für die Verschachtelung von Transportblöcken vorzusehen,
und umgekehrt.
-
Gemäß der 7 werden Codewort-Daten CW, Codelängen-Daten
CL und Codetyp-Daten TYP vom Rangauswähler auf ein Transportsteuergerät 218 gekoppelt,
und die Codewort- und Codetyp-Daten werden außerdem einem Wortlängen-Umsetzer 201 zugeführt, der
variable Wortlängen
in eine feste Wortlänge
umwandelt. Der Umsetzer 201 paketiert längenvariable Codewörter z.B.
in 8-Bit-Bytes, um die erforderliche Menge an Speicherplatz für die Geschwindigkeitspuffer 13 und 14 zu
reduzieren. Der Umsetzer 201 kann von einem Typ sein, wie
er in der US-Patentschrift 4 914 675 beschrieben ist. Die vom Umsetzer 201 gelieferten
Wörter
fester Länge
werden im Puffer 207 zwischengespeichert.
-
Das Transportsteuergerät 218 spricht
auf die Daten CW, CL, TYP und CW#j an, um die Transportblock-Vorsätze (ST,
TH, RH) zu bilden, und legt diese Vorsätze an einen Vorsatzpuffer 208,
der Bestandteil des Steuergerätes 218 sein
kann. In Ansprache auf die Codelängen-,
Codetyp- und Codewortdaten erzeugt das Steuergerät 218 die erforderlichen
Zeitsteuersignale zur Verschachtelung (über den Multiplexer 209)
der Videodatenwörter
fester Länge
und der Transportblock-Vorsatzinformation in Transportblöcke mit
jeweils einer vorbestimmten Anzahl von Bits.
-
Die vom Multiplexer 209 gelieferten
Transportblöcke
werden auf einen Eingang eines Multiplexers 211 gekoppelt
und an den Eingang eines die Vollbild-Früffolge FCS liefernden Codierers 210 gelegt,
dessen Ausgang mit einem zweiten Eingang des Multiplexers 211 gekoppelt
ist. Der FCS-Codierer 210 spricht
auf die Daten der Transportblöcke
an und bildet 2-Byte-Fehlerprüfcodes
für die
jeweiligen Transportblöcke.
Der Multiplexer 211 wird so gesteuert, daß er einzelne
Transportblöcke
vom Multiplexer 209 durchläßt und dann jeweils an ihr
Ende den aus 16 Bits oder 2 Bytes bestehenden FSC-Code vom Codierer 210 anfügt.
-
Bei der vorstehenden Beschreibung
des Transportprozessors wurde. angenommen, daß die Gesamtheit der vom Kompressor 10 gelieferten
Vorsatzinformation in dem vom Transportprozessor gelieferten Videodatenstrom
enthalten ist. Es sei erwähnt,
daß ein
großer
Anteil der Vorsatzinformation der Videodaten auch in den Transportblock-Vorsätzen enthalten
ist und somit redundante Information darstellt. In einer alternativen
Anordnung kann das Steuergerät 218 den
Umsetzer 201 daran hindern, Video-Vorsatzdaten aufzunehmen,
die redundant in den Transportblock-Vorsätzen enthalten wären, so daß der Gesamt-Ausnutzungsgrad
der Codierung verbessert wird. Im Empfänger können die herausgeschnittenen
Video-Vorsatzdaten wieder aus der Transportblock-Vorsatzinformation rekonstruiert und in
den Strom der Videodaten eingefügt
werden.
-
Die 8 zeigt
Ausführungsbeispiele
von Modem-Schaltungen sowohl für
die Sendeseite als auch für
die Empfangsseite des Systems. HP- und LP-Daten von den Vorwärts-Fehlerkorrekturschaltungen 15 und 16 werden
an einen jeweils zugeordneten 64-QAM-Modulator 400 bzw. 401 gelegt.
Der Modulator 400 liefert ein analoges HP-Signal mit einer –6dB-Bandbreite
von ungefähr
0,96 MHz. Dieses Signal wird einem 1,5-MHz-Bandpaßfilter 402 angelegt,
um hochfrequente Harmonische zu unterdrücken, und dann auf einen analogen
Signalsummierer 405 gegeben. Der Modulator 401 liefert
ein analoges LP-Signal mit einer –6dB-Bandbreite von ungefähr 3,84
MHz. Dieses Signal wird einem 6-MHz-Bandpaßfilter 404 angelegt,
um hochfrequente Harmonische zu unterdrücken, und dann auf ein Dämpfungsglied 406 gegeben.
Das Dämpfungsglied 406 reduziert
die Amplitude des analogen LP-Signals um ungefähr 9 dB gegenüber dem
analogen HP-Signal. Das gedämpfte
LP-Signal wird dann auf den analogen Signalsummierer 405 gekoppelt,
wo es mit dem analogen HP-Signal summiert wird, um ein Signal mit einem
Frequenzspektrum ähnlich
dem in 1 gezeigten Signalspektrum
zu erzeugen. Das kombinierte Signal wird auf einen Mischer 407 gegeben, worin es
mit einem HF-Träger
multipliziert wird, um das kombinierte Signal in ein Frequenzband
umzusetzen, das zu einer normgemäßen Fernseh-Übertragungskanal
paßt.
Das umgesetzte Signal wird dann einem Bandpaßfilter 408 angelegt,
welches die Spektralcharakteristik des umgesetzten Signals so zuschneidet,
daß es
in den normgemäßen Kanal
paßt.
-
Im Empfänger wird das übertragene
Signal durch eine Tuner/ZF-Schaltung 410 herkömmlicher Bauart
demoduliert und auf eine PLL-Schaltung 413 und einen Analog/Digital-Wandler
(A/D-Wandler) 412 gegeben. Das digitalisierte Signal wird
zugeordneten 64-QAM-Demodulatoren 414 und 415 zugeführt. Die Demodulatoren 414 und 415 enthalten
Bandpaßfilter an
ihren jeweiligen Eingangsanschlüssen,
um eine Bandbegrenzung des Spektrums der zu verarbeitenden Signale
durchzuführen
und damit diese Signale dem nominellen Signalspektrum der HP- und
LP-Signale anzupassen. Die Demodulatoren 414 und 415 sind
herkömmliche
QAM-Demodulatorkonstruktionen und sprechen auf Taktsignale an, die
von der PLL-Schaltung 413 geliefert werden. Die PLL-Schaltung 413 erzeugt
die erforderlichen Taktsignale durch Phasensynchronisierung eines
von einem spannungsgesteuerten Oszillator entwickelten Signals mit einem
der beiden Träger,
die zu den QAM-Signalen gehören.
-
Die Erfindung wurde vorstehend als
eine ein MPEG-ähnliches
Signal verarbeitende Anordnung beschrieben; es sei jedoch erwähnt, daß sie auch
zur Verarbeitung von codierten Signalen anderer Typen verwendet
werden kann. So bilden z.B. Signale, die nach einem Pyramiden-Algorithmus
verarbeitet sind, einzelne Ebenen unterschiedlicher Wichtigkeit
für die Bildwiedergabe
und können
daher nach Rängen
unterteilt werden, so daß das
erfindungsgemäße Rangauswählkonzept
auch bei solchen Signalen angewandt werden kann.