DE4245052B4 - Anordnung zum Rekombinieren von Fernsehdaten, die entsprechend einer Rangordnung zerteilt sind - Google Patents
Anordnung zum Rekombinieren von Fernsehdaten, die entsprechend einer Rangordnung zerteilt sind Download PDFInfo
- Publication number
- DE4245052B4 DE4245052B4 DE4245052A DE4245052A DE4245052B4 DE 4245052 B4 DE4245052 B4 DE 4245052B4 DE 4245052 A DE4245052 A DE 4245052A DE 4245052 A DE4245052 A DE 4245052A DE 4245052 B4 DE4245052 B4 DE 4245052B4
- Authority
- DE
- Germany
- Prior art keywords
- data
- codewords
- subordinate
- priority
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2365—Multiplexing of several video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4347—Demultiplexing of several video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/631—Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Gegenstand
der Erfindung ist eine Anordnung zur Decodierung eines z.B. für hochauflösendes Fernsehen
ausgelegten Fernsehsignals, dessen Bestandteile als vorrangige und
nachrangige Daten in einem vorrangigen bzw. nachrangigen Kanal geführt werden, wobei
die vorrangigen und nachrangigen Daten aus Blöcken hierarchisch codierter
komprimierter Videodaten kommen und wobei Daten aus jedem Block,
die für
die Bildwiedergabe größere Wichtigkeit
haben, dem vorrangigen Kanal zugeteilt und die übrigen Daten aus jedem Block
dem nachrangigen Kanal zugeteilt sind. Die Anordnung enthält Schaltungen
(20-25) zur Identifizierung und Unterteilung vorrangiger und nachrangiger
Daten für
entsprechende Blöcke
und zur Wiedervereinigung (26) der vorrangigen und nachrangigen
Daten zu einem Strom hierarchisch codierter komprimierter Videodaten
(Fig. 1).
Description
- 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 Rekombinieren gesendeter komprimierter und codierter Daten, die in einen vorrangigen Kanal und einen nachrangigen Kanal aufgeteilt sind.
- Aus
US 4 853 779 ist eine Anordnung zum Kombinieren komprimierter Videodaten aus einem vorrangigen Datenstrom und einem nachrangigen Datenstrom beschrieben. Der in dieser Druckschrift gezeigte Decoder verfügt dazu über einen Demultiplexer zum Zuordnen der Codewörter zu den vorrangigen und den nachrangigen Codewortfolgen sowie über entsprechende Decodiereinheiten, welche eine resultierende Codewortfolge ausgeben. Weiterhin sind ähnliche Anordnungen in den älteren, nachveröffentlichten PatentanmeldungenEP 0 448 491 A1 und WO 92/14343 A1 beschrieben. - Digitale Videoinformation mit hoher Auflösung kann erfolgreich über terrestrische Fernsehkanäle übertragen werden, indem man, wie hier beschrieben, die Videodaten in vorranginge 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 vorliegende Erfindung richtet sich auf eine Schaltungsanordnung zum empfängerseitigen Rekombinieren komprimierter Videodaten, die in vorrangige und nachrangige Videodaten aufgeteilt worden sind. 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 Codie rungsformat ä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.12.1990. Auf dieses Dokument sei hier zur Beschreibung des allgemeinen Codeformats verwiesen.
- Bei dem hier beschriebenen System wird das Videosignal in einer solchen Weise komprimiert, dass Blöcke von Daten-Codewörtern entstehen. Die Daten in den jeweiligen Blöcken werden zwischen einem vorrangigen und einem nachrangigen Übertragungskanal aufgeteilt, je nach der relativen Wichtigkeit der Codewörter für die Bildrekonstruktion. Die komprimierten Daten im vorrangigen und im nachrangigen Kanal enthalten, zumindest teilweise, codierte Daten variabler Länge ohne Demarkation der Codewörter.
- Am Empfänger werden, zum Zwecke der Dekomprimierung, die vorrangigen und nachrangigen Daten aus entsprechenden Blöcken rekombiniert. Die Tatsache, dass die übertragenen Daten-Codewörter keine definierten Grenzen haben, macht das Rekombinieren der vorrangigen und nachrangigen Daten kompliziert.
- Die vorliegende Erfindung bezieht sich auf eine Videosignal-Verarbeitungseinrichtung zum Verarbeiten digitaler komprimierter Videodaten, die, unterteilt in vorrangige und nachrangige Daten in einem vorrangigen bzw. einem nachrangigen Kanal übertragen werden. Die vor- und nachrangigen Daten werden aus codierten komprimierten Videodaten erzeugt, die als Blöcke von Codewörtern in einer nach Wichtigkeit für die Bildwiedergabe absteigenden Reihenfolge erscheinen. Die Daten bis jeweils durch zu einem j-ten Codewort einzelner Blöcke werden als vorrangige Daten behandelt, und die übrigen Code wörter für die betreffenden Blöcke werden als nachrangige Daten behandelt. Die Einrichtung enthält eine erste Schaltung, die auf die vorrangigen und nachrangigen Daten anspricht, um diese Daten zu decodieren und entsprechende Folgen von Codewörtern vorrangiger bzw. nachrangiger Daten zu liefern. Eine zweite Schaltung spricht auf die vorrangige und die nachrangige Folge von Codewörtern an, um in zyklischer Weise jeweils Codewörter der vorrangigen Folge bis zu einem ersten vorbestimmten Codewort zu liefern, und dann Codewörter der nachrangigen Folge bis zu einem zweiten vorbestimmten Codewort dieser nachrangigen Folge zu liefern und dann den Zyklus zu wiederholen.
- Die Erfindung wird nachstehend an einem Ausführungsbeispiel anhand von Zeichnungen näher erläutert:
-
1 zeigt Blockschaltbilder 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 eines Makroblocks der von der Kompressionsschaltung nach3 gelieferten Daten. -
3 ist ein Blockschaltbild einer Kompressionsschaltung für Videosignale. -
3A ist eine verallgemeinerte bildliche Darstellung des von der Kompressionsschaltung nach3 gelieferten Datenformats. -
4 ist ein Blockschaltbild einer beispielgebenden Schaltungsanordnung, die für die Formatierungsschaltung111 nach3 verwendet werden kann. -
5 ist ein Blockschaltbild einer beispielgebenden Schaltungsanordnung, die für die Rangauswählschaltung in1 benutzt werden kann. -
5A ist ein Flussdiagramm der Arbeitsweise des Analysators in5 . -
6 ist ein Diagramm des vom Transportprozessor12 in1 gelieferten Signalformats. -
7 ist ein Blockdiagramm eines Beispiels für eine Schaltung, die für den Transport-Prozessor in1 benutzt werden kann. -
8 ist ein Blockschaltbild einer beispielgebenden Schaltungsanordnung, die für den Transportprozessor25 in1 benutzt werden kann. -
9 ist ein Blockschaltbild einer beispielgebenden Schaltungsanordnung, die für die Rückgliederungsschaltung26 in1 verwendet werden kann. -
10 ist ein Blockschaltbild einer beispielgebenden Schaltung, die für die Dekompressionsschaltung27 in1 verwendet werden kann. -
10A ist ein Blockschaltbild einer Kombination einer alternativen Rückgliederungsschaltung und einer Dekompressionsschaltung. -
10B ist ein Flussdiagramm der Arbeitsweise der Rückgliederungsschaltung nach10A . -
11 ist ein Blockschaltbild einer beispielgebenden Schaltungsanordnung, die für die Modems17 und20 in1 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 Pixeln 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, jedoch unter Verwendung beider Teilbilder eines jeden Vollbildes und mit einer höheren Pixeldichte. 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 Fehlerkorrektur 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 Folgenden auch die Abkürzung LP (von "Low Priority") ver wendet 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. Die1 zeigt das System in der Verarbeitung eines einzigen Videoeingangssignals; es versteht sich jedoch, dass die Leuchtdichte- und Farbartkomponenten getrennt komprimiert werden und dass die Bewegungsvektoren der Leuchtdichte benutzt 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 Schaltung5 gelegt, welche die Teilbilder/Vollbilder entsprechend der1C 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 in3A dargestellt. - Das hierarchische MPEG-Format enthält eine Vielzahl von Ebenen mit jeweils einer zugehörigen Vorsatzinformation. Nominell enthält jeder Vorsatz einen Startcode, Daten bezüglich der jeweiligen Ebene und Vorkehrungen für die Hinzufügung von Vorsatzerweiterungen. Ein großer Teil der Vorsatzinformation (wie in dem oben erwähnten MPEG-Dokument angegeben) ist bei MPEG-Systemen für Synchronisierungszwecke erforderlich. Um ein komprimiertes Videosignal für ein digitales HDTV- Simultansendesystem zu schaffen, bedarf es nur beschreibender Vorsatzinformationen, d. h. Startcodes und optionale Erweiterungen können ausgeschlossen werden. Die einzelnen Ebenen des codierten Videosignals sind bildlich in
2 dargestellt. - Wenn hier davon die Rede ist, dass das vorliegende System ein MPEG-ähnliches Signal erzeugt, dann ist damit gemeint, dass a) aufeinanderfolgende Teilbilder/Vollbilder des Videosignals entsprechend einer Folge I-, P- und B-Codierungen codiert werden und b) codierte Daten auf der Bildebene in MPEG-ähnliche Gruppen von Blöcken, so genannte "Streifen" (slices), codiert werden, wenn auch die Anzahl der Streifen pro Teilbild/Vollbild und die Anzahl von Makroblöcken pro Streifen verschieden sein kann. I-Bilder sind Bilder, die durch so genannte "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 dar und enthält einen Vorsatz, gefolgt von Bewegungsvektoren 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, dass 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 Pixeln dar, z. B. 8×8 Pixeln, ü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 aufeinanderfolgend erscheinenden Datenblöcke wird ein Blockende-Code EOB angehängt.
- Die Menge der vom Kompressor
10 gelieferten Daten wird durch die Geschwindigkeits-Steuereinrichtung18 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. Geschwindigkeitspuffer13 und14 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 Puffer13 und14 eine Schaltungsanordnung zur Anzeige ihres jeweiligen Belegungsgrades. Diese Anzeigen werden der Geschwindigkeits-Steuereinrichtung18 zugeführt, um die vom Kompressor10 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.03.1990 unter dem Titel "Digital Signal Coding With Quantization Level Computations" eingereicht wurde und auf die hier verwiesen wird. - Die komprimierten Videodaten, die gemäss der
3A hierarchisch formatiert sind, werden auf eine Rangauswähleinrichtung11 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 (Ebene6 in3A ). - 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. Beim hier beschriebenen Beispiel wird zumindest das digitale Tonsignal in den HP-Kanal eingefügt. Die mittlere Menge der in den HP-Kanal eingefügten Zusatzdaten wird ausgerechnet und mit dem erwarteten statistischen Mittel der komprimierten Videoinformation verglichen. Hieraus wird das Verhältnis zwischen den vor- und nachrangigen komprimierten Videoinformationen ausgerechnet. Die Rangauswähleinrichtung teilt die vom Kompressor
10 gelieferten Daten entsprechend diesem Verhältnis auf. - 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äts- oder zyklische Redundanzprüfung durchführt und die betreffenden 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 in Verbindung mit synchronisierender Vorsatzinformation Fehler zu isolieren und um Fehler zu verdecken, falls unkorrigierbare Bitfehler in den empfangenen Daten enthalten sind. 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 Puffer13 bzw.14 gegeben, worin die vom Prozessor12 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-Fehlercodiereinrichtung15 bzw.16 zugeführt, worin a) die betreffenden Datenströme unabhängig voneinander jeweils eine REED-SOLOMON-Codierung für Vorwärts-Fehlerkorrektur erfahren, b) Datenblöcke verschachtelt werden, um zu verhindern, dass große Fehlerbündel einen großen zusammenhängenden Bereich eines wiedergegebenen Bildes entstellen, 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-Modem17 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 dass HDTV-Signale mit diesem Sendeformat keine Gleichkanalstörung einführen. - Im Empfänger wird das gesendete Signal durch das Modem
20 demoduliert, so dass zwei Signale entsprechend dem HP- und dem LP-Kanal geliefert werden. Diese beiden Signale werden an jeweils einen zugeordneten REED-SOLOMON-Fehlerkorrekturdecoder21 bzw.22 gelegt. Die fehlerkorrigierten Signale werden auf Geschwindigkeitspuffer23 und24 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 Transportprozessor25 gegeben, der einem gegenüber dem Prozessor12 inversen Prozess durchführt. Außerdem bewirkt er eine gewisse Fehlerkorrektur in Ansprache auf die in den einzelnen Transportblöcken enthaltenen Paritätsprüfbits. Der Transportprozessor25 liefert voneinander getrennte Zusatzdaten, HP-Daten, LP-Daten und ein Fehlersignal E. Die letztgenannten drei Signale werden auf einen "Rückgliederungs"-Prozessor26 gegeben, der die HP- und LP-Daten wieder zurück in ein hierarchisch gegliedertes Signal formatiert (Rang-"Deselektion"), das an einen Dekompressor27 gelegt wird. Der Dekompressor27 führt die inverse Funktion des Kompressors10 durch. - Die
3 zeigt ein Beispiel für eine Kompressorvorrichtung, die für die Einrichtung10 der1 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 der3 sind die Elemente104 und105 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 Elemente104 und105 , auf Teilbild/Vollbild-Basis abwechselnd, Vorwärts- und Rückwärts-Vektoren. Zur Realisierung der Elemente104 und105 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 Elemente104 und105 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 Element109 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, dass gerade das Vollbild16 ansteht. Das früher erschienene P-Vollbild13 ist erfasst und im B-Pufferspeicher101 gespeichert worden. Außerdem ist ein erzeugtes extrapoliertes Vollbild13 in einem der Pufferspeicher114 bzw.115 gespeichert worden. Wenn das Vollbild16 erscheint, wird es im A-Pufferspeicher102 gespeichert. Außerdem wird das Vollbild16 an einen Arbeitspufferspeicher100 gelegt. Wenn das Vollbild16 erscheint, werden zugehörige Bilddatenblöcke aus dem Speicher100 an den Minuendeneingang eines Subtrahierers108 gelegt. Während der Komprimierung des I-Vollbildes wird der Subtrahendeneingang des Subtrahierers108 auf dem Wert Null gehalten, so dass Daten den Subtrahierer108 unverändert durchlaufen. Diese Daten werden an die DCT- und Quantisierungseinrichtung109 gelegt, die quantisierte Transformierten-Koeffizienten an Einrichtungen110 und112 liefert. Die Einrichtung112 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 Addierer113 an einen der Pufferspeicher114 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 Einrichtung112 gelieferten rekonstruierten Bilddaten keine Information (vom Addierer113 ) 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 Element109 erzeugten EC-Koeffizienten. Dann codiert sie die differenzcodierten Koeffizienten in einem längenvariablen Code (VLC) und codiert die vom Element109 erzeugten AC-Koeffizienten in einem Code mit Zero-Run und variabler Länge. Die längenvariablen (VCL-) Codewörter werden an einen Formatierer111 gelegt, der die Daten in Abschnitte aufteilt und jeweils Vorsatzinformationen anhängt, entsprechend den Ebenen gemäß der3A . Die codierten Daten von der Einrichtung111 werden dann zur Rangauswähleinrichtung durchgelassen. Jede der Einrichtungen109 ,110 und111 wird durch ein System-Steuergerät116 gesteuert, um die jeweiligen Operationen zyklisch zu den passenden Zeiten durchzuführen. - Nach dem Vollbild
16 erscheint ein "B"-Vollbild14 und wird in den Pufferspeicher100 geladen. Daten aus dem Vollbild14 werden auf beide Einrichtungen104 und105 gekoppelt. Die Einrichtung104 spricht auf Daten des Vollbildes14 aus dem Speicher100 und auf Daten des Vollbildes13 aus dem Speicher101 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 Analysator106 gekoppelt. - Die Einrichtung
105 spricht auf Daten des Vollbildes14 aus dem Speicher100 und auf Daten des I-Vollbildes16 aus dem Speicher102 an und erzeugt Rückwärts-Bewegungsvektoren und entsprechende Verzerrungssignale, die ebenfalls auf den Analysator106 gekoppelt werden. Der Analysator106 vergleicht die Verzerrungssignale mit einem Schwellenwert, und wenn beide den Schwellenwert übersteigen, liefert sie sowohl die Vorwärts- als auch die Rückwärts-Bewegungsvektoren 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-Bewegungsvektoren 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 den passenden der in den Speichereinrichtungen114 und155 gespeicherten Datenblöcke nimmt, das durch den Vektor aus einem oder beiden der zuvor regenerier ten Vollbilder16 und13 definiert ist. Dieser Datenblock wird an den Subtrahendeneingang des Subtrahierers108 gelegt, worin er Pixel für Pixel vom entsprechenden Pixeldatenblock aus dem laufenden Vollbild14 subtrahiert wird, der vom Pufferspeicher100 geliefert wird. Die Differenzen oder Reste werden dann in der Einrichtung109 codiert, und die Koeffizienten werden an die Einrichtung110 gelegt. Der entsprechende Blockvektor wird ebenfalls an die Einrichtung110 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 Formatierer111 übertragen. Die codierten B-Vollbilder erfahren keine inverse Quantisierung und inverse Transformation im Element112 , da sie für die nachfolgende Codierung nicht verwendet werden. - P-Vollbilder werden in ähnlicher Weise codiert, nur dass 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-Vollbildes16 und des P-Vollbildes19 gehören. Während der Codierung von P-Vollbildern liefert das Element112 entsprechende decodierte Restwerte, und die Einrichtung107 liefert das entsprechende extrapolierte P-Vollbild. Das extrapolierte Vollbild und die Restwerte werden im Addierer113 Pixel für Pixel addiert, um das rekonstruierte Vollbild zu erzeugen, das in derjenigen der Speichereinrichtungen114 und116 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, dass 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 Makroblockbasis 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 Einrichtungen110 und111 in3 durchzuführen. Das Ausgangsformat dieser Schaltungsanordnung weicht ab von demjenigen, das normalerweise von einem MPEG-Codierer geliefert wird: Während ein MPEG-Ausgang ein bit-serieller Datenstrom ist, haben die vom Schaltungsbeispiel nach4 gelieferten Daten Wörter im Parallelbit-Format. 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 Analysator106 (3 ) im DPCM-Element127 auf Streifenbasis differenzcodiert und über einen Pufferspeicher133 auf einen Multiplexer129 gekoppelt. Die Transformierten-Koeffizienten von der Transformationseinrichtung109 werden auf einen Multiplexer132 und eine Differenzcodierungseinrichtung (DPCM)128 gekoppelt. Die differenzcodierten Koeffizienten von der DPCM-Einrichtung128 werden auf einen zweiten Eingang des Multiplexers132 gegeben. Während der Codierung von P- oder B-Vollbildern werden alle Koeffizienten direkt vom Multiplexer132 durchgelassen. Während der Codierung von I-Vollbildern werden die DC-Koeffizienten selektiv in der DCPM-Einrichtung128 differenzcodiert. Die dif ferenzcodierten DC-Koeffizienten und die nicht-differenzcodierten AC-Koeffizienten werden vom Multiplexer132 im Multiplex verschachtelt und über den Pufferspeicher133 auf einen zweiten Eingang des Multiplexers129 gekoppelt. Ein Formatsteuer- und Vorsatzgeber126 koppelt Vorsatzinformation auf einen dritten Eingang des Multiplexers129 . Die Einrichtung126 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-Verschachtelung der Vorsatzinformation, der Bewegungsvektoren und der Transformierten-Koeffizienten im Multiplexer129 zu liefern. Die Einrichtung126 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 Einrichtung126 in Verbindung mit einem Analysator125 errechnet. Beim Format des MPEG-Typs ist ein großer Teil der Vorsatzinformation (z. B. Ebene5 in3A ) 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 Analysator125 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ässt sich direkt durch Prüfung der Vektoren bestimmen. Ob alle Koeffizienten in einem Block den Wert Null haben, lässt sich einfach dadurch bestimmen, dass man die Beträge der in einem Block enthaltenen Vektoren akkumuliert. Sobald der Typ variabler Vorsatzdaten festgestellt ist, wird ein entsprechendes Codewort zugeteilt und zu passender Zeit an den Multiplexer129 geliefert. Die Einrichtung126 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 Einrichtung126 gesteuert wird. In der Figur ist der Fall gezeigt, dass 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 Multiplexer129 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-Codierer130 durchgelassen. Der VLC-Codierer130 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 Pufferspeicher133 . - Die
5 zeigt ein Beispiel für eine Vorrichtung zur Durchführung 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, dass der HP-Kanal 20 % der gesendeten Gesamtdaten durchlässt und dass 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 I-, P- und B-Vollbilder beispielsweise im Verhältnis α:β:1 zugeordnet werden. Die Werte α und β können vom Benutzer wählbar sein und/oder auf einer statistischen Basis aus der Menge der Codedaten vorheriger codierter Vollbilder bestimmt werden. - Es seien nun die
5 und5A betrachtet. Die Daten vom längenvariablen Codierer130 werden auf zugeordnete Eingangsanschlüsse zweier Pufferspeicher150A und150B und auf einen Datenanalysator152 gekoppelt. Die beiden Puffer haben jeweils genug Speicherplatz, um z. B. einen Streifen der Daten zu speichern. Die Puffer150A und150B werden in einer "Ping-Pong"-Arbeitsweise betrieben, um Datenstreifen abwechselnd einzuschreiben und auszulesen. Während also der Puffer150A Daten aus z. B. dem Streifen n einschreibt, liest der Puffer150B 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, dass 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 gerade größer ist als der Prozentanteil der vorrangigen Daten, als ein Codewort der Nummer CW#j identifiziert. Diese Nummer wird an eine Schalteinrichtung153A (153B ) gelegt und zur Steuerung des Multiplexers155A (155B ) benutzt. Nachdem die Codewortnummer CW#j identifiziert ist, werden die Codewörter, die Daten der Codelänge, die Daten des Codeworttyps und die Codewortnummern parallel aus dem Puffer150A (150B ) ausgelesen. Die Codewörter und die Daten der Codelängen und der Codetypen werden an den Eingang des Multiplexers155A (155B ) gelegt, und die Codewortnummern werden an einen Eingang der Schalteinrichtung153A (153B ) gelegt. Während die Daten aus dem Puffer ausgelesen werden, vergleicht die Schalteinrichtung153A (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 Multiplexer155A (155B ) so einstellt, dass er die entsprechenden Daten über einen vierten Multiplexer156 zum vorrangigen Kanal (HP-Kanal) durchlässt. Für Codewortnummern, die größer sind als CW#j, wird der Multiplexer155A (155B ) so eingestellt, dass er die entsprechenden Daten über den Multiplexer156 zum nachrangigen Kanal (LP-Kanal) durchlässt. Die Steuerung des Multiplexers156 erfolgt so, dass er vor- und nachrangige Da ten aus demjenigen der beiden Puffer150A und150b durchlässt, 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 (Schritt502 in5A ). 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 Puffer150A (150B ) eingegebenen Codewörter für jeden Codetyp getrennt zählt. Diese Summen werden addiert (Schritt504 ), 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 (Schritt512 ). Anschließend werden die jeweiligen Codetyp-Summen sequentiell in absteigender Reihenfolge der Codewortnummer CW#i addiert (Schritt508 ), um Teilsummen zu liefern. Jede Teilsumme wird mit der Prüfsumme verglichen (Schritt512 ), 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 (Schritte512 -518 ). Alle nachfolgenden Codewörter, d. h. CW#j + l bis CW#n in jedem Block werden dem nachrangigen Kanal (LP-Kanal) zugeteilt. - Die vorrangigen und nachrangigen Daten aus dem Rangauswähler werden in Transportblöcken angeordnet, um die Wiedergewinnung des Signals und die Fehlerverdeckung 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, dass 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 Servicetyp-Vorsatz ST, der den Typ der im betreffenden Transportblock enthaltenen Information anzeigt. Beim 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 darstellen. 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 denen 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 + l gehören, werden die Daten aus dem Streifen n an den Transportvorsatz angrenzend angesetzt, und die RH-Hinweisadresse zeigt an, dass 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, dass 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- und LP-Kanal. Keine Satzanfangsetiketten 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, dass das erste Satzanfangsetikett in einem Transportblock an eine Byte-Grenze gesetzt wird. Das heißt, wenn dem Satzanfangsetikett ein längenvariabler Code vorangeht, kann dieser Code mit Füllbits versehen werden, um sicherzustellen, dass der Beginn des Satzanfangsetikettes an einer Bitposition erscheint, die vom Beginn des Transportblockes um eine ganze Anzahl von Bytes beabstandet ist. Die Satzanfangsetiketten 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, dass sich keine Satzanfangsetiketten im Transportblock befinden. Wenn sowohl das RH-Hinweisadresse als auch die Makroblock-Hinweisadresse den Wert 0 haben, zeigt dies an, dass 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/VollbildNummer ("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 Analysator152 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 Einrichtung213 verschachtelt über einen Multiplexer212 Transportblöcke von Videodaten aus einem Multiplexer211 , Tondaten aus einem Speicher214 und Zusatzdaten aus einem Speicher215 . Die Tondaten werden in Form von Transportblöcken von einer Quelle216 geliefert und einem FIFO-Speicher214 zugeführt. Die Zusatzdaten werden in Form von Transportblöcken von der Quelle217 an einen FIFO-Speicher215 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 Servicetyp-Vorsatz und haben vorzugsweise gleiche Länge. Das Schiedsrichtergerät213 arbeitet unter Berücksichtigung des Belegungsgrades der Pufferspeicher214 ,215 und207 in einer Weise, die sicherstellt, dass keiner dieser Pufferspeicher überläuft. - Die Anordnung nach
7 verarbeitet eines der vorrangigen und nachrangigen Signale, so dass 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ät218 gekoppelt, und die Codewort- und Codetyp-Daten werden außerdem einem Wortlängen-Umsetzer201 zugeführt, der variable Wortlängen in eine feste Wortlänge umwandelt. Der Umsetzer201 paketiert längenvariable Codewörter z. B. in 8-Bit-Bytes, um die erforderliche Menge an Speicherplatz für die Geschwindigkeitspuffer13 und14 zu reduzieren. Der Umsetzer201 kann von einem Typ sein, wie er in der US-Patentschrift 4,914,675 beschrieben ist. Die vom Umsetzer201 gelieferten Wörter fester Länge werden im Puffer207 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 Vorsatzpuffer208 , der Bestandteil des Steuergerätes218 sein kann. In Ansprache auf die Codelängen-, Codetyp- und Codewort-Daten erzeugt das Steuergerät218 die erforderlichen Zeitsteuersignale zur Verschachtelung (über den Multiplexer209 ) 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 Multiplexers211 gekoppelt und an den Eingang eines die Vollbild-Prüffolge FCS liefernden Codierers210 gelegt, dessen Ausgang mit einem zweiten Eingang des Multiplexers211 gekoppelt ist. Der FCS-Codierer210 spricht auf die Daten der Transportblöcke an und bildet 2-Byte-Fehlerprüfcodes für die jeweiligen Transportblöcke. Der Multiplexer211 wird so gesteuert, dass er einzelne Transportblöcke vom Multiplexer209 durchlässt und dann jeweils an ihr Ende den aus 16 Bits oder 2 Bytes bestehenden FSC-Code vom Codierer210 anfügt. - Bei der vorstehenden Beschreibung des Transportprozessors wurde angenommen, dass die Gesamtheit der vom Kompressor
10 gelieferten Vorsatzinformation in dem vom Transportprozessor gelieferten Videodatenstrom enthalten ist. Es sei erwähnt, dass 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ät218 den Umsetzer201 daran hin dern, Video-Vorsatzdaten aufzunehmen, die redundant in den Transportblock-Vorsätzen enthalten wären, so dass 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. - Im Empfänger wird das demodulierte Signal an Schaltungen
21 und22 zur Vorwärts-Fehlerkorrektur gelegt, um Fehler in den vorrangigen Signalen und in den nachrangigen Signalen zu korrigieren. Die fehlerkorrigierten Daten werden dann über Geschwindigkeitspuffer23 und24 an den Transportprozessor25 gelegt. Obwohl die demodulierten Daten eine Fehlerkorrektur in den Schaltungen21 und22 erfahren haben, können während der Signalübertragung gewisse Fehler aufgetreten sein, die sich mit diesen Schaltungen nicht korrigieren lassen. Wenn man diese Fehler zur Dekompressionsschaltung durchlässt, können sehr störende Entstellungen im wiedergegebenen Bild auftreten. Um dies zu verhindern, enthält jeder Transportblock unabhängige Fehlererkennungscodes zur Erkennung des Auftretens von Fehlern, welche die Fehlerkorrekturschaltung durchdringen; auf diese Fehlererkennung hin kann das System geeignete Maßnahmen zur Fehlerverdeckung durchführen. - Die
8 zeigt den im empfangenden Teil des Systems enthaltenen Transportprozessor25 . Es werden zwei derartige Prozessoren benötigt, einer für den HP-Kanal und einer für den LP-Kanal. Falls es von vornherein bekannt ist, dass Ton- oder Zusatzdaten immer aus einem bestimmten Kanal ausgeschlossen sind, können die entsprechenden Elemente im Transportprozessor des betreffenden Kanals weggelassen werden. - Gemäß der
6 werden die Daten aus dem Geschwindigkeitspuffer23 oder24 an einen FCS-Fehlerdetektor250 und an ein Verzögerungselement251 gelegt. Das Verzögerungselement251 bringt eine Verzögerung entsprechend dem Intervall eines Transportblockes, um dem Detektor250 Zeit für die Feststellung zu lassen, ob irgendwelche Fehler im entsprechenden Transportblock enthalten sind. Der Detektor250 liefert ein Fehlersignal E, welches die Anwesenheit oder Abwesenheit von Fehlern im Transportblock anzeigt. Das Fehlersignal wird an den Eingangsanschluss eines Eins-auf-drei-Demultiplexers253 gelegt. Die verzögerten Transportblockdaten werden ebenfalls an den Eingangsanschluss des Multiplexers253 gelegt. Verzögerte Transportblockdaten gelangen ferner zu einem Servicetyp-Detektor252 , der den Servicetyp-Vorsatz (ST-Vorsatz) prüft und abhängig davon den Multiplexer253 so steuert, dass er die Transportblockdaten und das entsprechende Fehlersignal auf den jeweils zugeordneten Verarbeitungsweg für das Tonsignal, das Zusatzsignal oder das Videosignal gibt. Selbst wenn in einem Transportblock ein Fehler erkannt sein mag, kann man immer noch auf den ST-Code bauen, weil er einen unabhängigen Hamming-Codeschutz aufweist. - In den jeweiligen Verarbeitungswegen für das Tonsignal, das Zusatzsignal und das Videosignal kann das Fehlersignal in unterschiedlicher Weise verwendet werden, um Fehler zu verdecken. Im Verarbeitungsweg der Videosignale gibt es alternative Möglichkeiten für die Verwendung des Fehlersignals, je nachdem, welche Schaltungsanordnung zur Fehlerüberdeckung im Dekompressor
27 enthalten ist. Als einfachster Fall sei angenommen, dass der Dekompressor27 einen Bildwiedergabespeicher enthält, in welchem Informationen aktualisiert werden, wenn Information decodiert wird. Falls keine Information für einen bestimmten Teil eines Bildes empfangen wird, wird der entsprechende Teil des Bildwiedergabespeichers nicht aktualisiert. Die nicht aktualisierten Bildbereiche werden einfach in aufeinanderfolgenden Vollbildern wiederholt, bis neue Da ten empfangen werden. Wenn anzunehmen ist, dass eine Fehlerverdeckung durch vollbildweises Wiederholen von Information akzeptierbar ist, kann im Verarbeitungsweg der Videosignale das Fehlersignal benutzt werden, um einfach diejenigen Transportblöcke, die erkannte Fehler enthalten, aus dem Strom der Videodaten herauszuschneiden. Alternativ, für eine raffiniertere Art der Fehlerverdeckung, können die Transportblockdaten beibehalten und mit der Fehleranzeige markiert werden, um den Dekompressor aufzurufen, andere Funktionen zur Fehlerverdeckung durchzuführen. - Im Verarbeitungsweg des Videosignals werden die Transportblockdaten und das Fehlersignal auf eine Verarbeitungseinrichtung
256 gekoppelt, welche den FSC-Code und die Transportblock-Vorsätze ST, TH und RH aus dem Datenstrom herausschneidet. Sie kann ferner dazu ausgelegt sein, ganze Transportblöcke, in denen Fehler erfasst worden sind, auszulöschen. Die Einrichtung256 liefert über getrennte Busse die Videodaten mit herausgeschnittenen Transportblock-Vorsätzen, die Fehlerdaten und die Transportblock-Vorsätze an den Rückgliederungs-Prozessor26 . - Die Vorwärts-Fehlerkorrekturschaltungen
21 und22 liefern die empfangenden Daten in Wörtern fester Länge, entsprechend den Wörtern fester Länge, die an die Vorwärts-Fehlerkorrekturschaltungen15 und16 des Codierers geliefert werden. Somit erscheinen die Transportblock-Vorsatzdaten an Byte-Grenzen, die entweder vorbestimmt sind (ST, TH und FCS) oder durch den Transportblock-Vorsatz identifiziert sind (RH). Somit ist es eine relativ einfache Sache, die erforderlichen Transportblock-Vorsätze zu identifizieren und aus den jeweiligen Transportblöcken herauszuschneiden. - Die
9 zeigt ein Ausführungsbeispiel für den Rückgliederungs-Prozessor. Dieser Prozessor nimmt Daten vom Transportprozessor des Empfängers und bringt sie wieder in die Form, die dem Rangauswählprozessor11 des Codierers angelegt wurde. Um dies zu bewerkstelligen, müssen einzelne Codewörter des Datenstroms identifiziert werden, d. h. das Codewort CW#j in jedem Block muss erfassbar sein. Da die Daten in der Form aneinandergeketteter Codes variabler Länge vorliegen, müssen sie zumindest teilweise längenvariabel decodiert werden, um die Codewortgrenzen festzulegen. Sobald die Codewortgrenzen bestimmt sind, können die Codewörter gezählt werden, um das Codewort CW#j (im HP-Kanal) aufzufinden. Nach Identifizierung der Codewortgrenzen können die Codewörter leicht in längenvariable Parallelbit-Codeform gegliedert werden. - In der Anordnung nach
9 sind für die vorrangigen Daten (HP) und die nachrangigen Daten (LP) jeweils gleichartige Schaltungen (270 ,271 ,272 ,273 einerseits und276 ,277 ,278 ,279 andererseits) vorgesehen, welche die ankommenden Daten in längenvariable Parallelbit-Codewörter aufgliedern. Die HP- und die LP-Codewörter werden jeweils dem Multiplexer274 zugeführt, der unter Steuerung durch ein Rückgliederungs-Steuergerät275 die Daten zu einer Datenfolge ähnlich derjenigen kombiniert, die vom Kompressor10 geliefert wurde. - Es sei zunächst die Schaltungsanordnung
270 -273 für den HP-Kanal betrachtet. Die von der Einrichtung256 (8 ) kommenden Videodaten werden einem Pufferspeicher270 und einem Rückgliederungs-Steuergerät271 zugeführt. Diesem Gerät271 werden außerdem die Transportblock-Vorsatzdaten des HP-Kanals angelegt. Die Videodaten, ohne Fehler, erscheinen in vorbestimmten zyklischen Folgen. Bestimmte Punkte in einer Folge lassen sich anhand der Transportblock-Vorsatzinformation identifizieren. Sobald ein Anfangspunkt identifiziert ist, schreitet die Decodierung in der vorbestimmten Folge fort. Das Rückgliederungs-Steuergerät271 ist so programmiert, dass es einen längenvariablen Decoder (abgekürzt VLD) für einen Betrieb entsprechend dieser Folge konditioniert. Als Beispiel sei angenommen, dass der Transportblock-Vorsatz anzeigt, dass die laufenden Daten aus einem I-Teilbild stammen und dass ein Satzanfangsetikett beim Byte z erschienen ist. Das Satzanfangsetikett wurde an den Beginn eines Streifens gesetzt, so dass sich der Anfangspunkt eines Streifens bezüglich des Bytes z identifizieren lässt. An diesem Punkt ist der Streifen-Vorsatz bekannten Bit/Byte-Codeformats bekannt, und diesem Vorsatz folgt ein Makroblock-Vorsatz bekannten Bit/Byte-Codeformats, gefolgt von den Blockdaten in bekanntem Codeformat, usw.. Somit legt das Steuergerät271 aufgrund der Transportblock-Vorsatzinformation fest, welche Decodierfolge der VLD-Decoder272 nimmt, d. h. welche VLD-Decodiertabellen für welche Gruppierung von längenvariablen Codewörtern zu verwenden sind. Da z. B. der Streifen-Vorsatz im Datenstrom nicht längenvariabel codiert ist, kann das Steuergerät dazu ausgelegt sein, die gemeinsame Streifen-Vorsatzinformation mit der Transportblock-Vorsatzinformation zu vergleichen, um den Anfangspunkt zu bestätigen. - Die Videodaten aus dem Pufferspeicher
270 werden auf den VLD-Decoder272 gekoppelt, der eine Anzahl von Codewörtern fester Länge aneinanderfügt und die vorderen Bits der aneinandergefügten Codewörter auf ein erkennbares Codewort entsprechend dem Codierungstyp prüft, der gegenüber der normalen zyklischen Folge zu erwarten ist. Sobald eine bestimmte Anzahl vorderer Bits als gültiges Codewort erkannt worden ist, werden diese Bits als Parallelbit-Codewort CW an einen Pufferspeicher273 ausgegeben. Außerdem wird die Information über den erwarteten Codeworttyp T und die Codewortlänge CL geliefert und an den Pufferspeicher273 gelegt. Die Codewörter werden bei ihrer Eingabe in den Pufferspeicher273 vom Rückgliederungs-Steuergerät275 mit Index versehen. - Die Codewörter für die DC- und AC-Koeffizienten sind nach unterschiedlichen Statistiken codiert, und die Koeffizienten einzelner Blöcke innerhalb eines Makroblocks sind aneinandergereiht, ohne Block-Endmarken zu enthalten. Im Allgemeinen ist jedoch der DC-Koeffizient des ersten Blockes in einem Makroblock durch seine Position innerhalb des Bitstroms identifizierbar. Die längenvariable Decodierung kann nicht zwischen dem letzten AC-Koeffizienten eines Blocks und dem DC-Koeffizienten des nächsten Blocks unterscheiden. Die Identifizierung erfolgt durch CW#j, das in der Vorsatzinformation des Transportblockes enthalten ist. CW#j identifiziert das Codewort des letzten AC-Koeffizienten in jedem Block eines Streifens. Um das Codewort mit der Nummerierung j zu finden, überwacht das Rückgliederungs-Steuergerät
275 die vom VLD-Decoder gelieferte Codeworttyp-Information. Das Steuergerät275 zählt die Codes vom AC-Typ T, und wenn eine Anzahl solcher Codes aufgelaufen ist, setzt sich das Steuergerät275 mit dem VLD-Decoder272 in Verbindung, um den Zyklus auf die Decodierung eines DC-Koeffizienten zurückzusetzen. - Die Elemente
276 -279 im LP-Kanal arbeiten in einer ähnlichen Weise. Die nachrangigen LP-Daten enthalten jedoch erwartungsgemäß nur Codewörter für AC-Koeffizienten. Die AC-Codewörter für die einzelnen Blöcke innerhalb eines Makroblockes sind durch Blockende-Codes (EOB) voneinander getrennt, so dass hier keine Notwendigkeit besteht, Codewörter zu zählen. Die Arbeit des VLD-Decoders278 kann einfach darin bestehen, Wörter zu decodieren, die alle gemäß ein und derselben Codetabelle codiert sind. Die Position des ersten Makroblocks im Transportblock wird durch den jeweiligen Transportblock-Vorsatz identifiziert, und jeder nachfolgende Makroblock wird durch Satzanfangsetiketten identifiziert. Diese Information wird vom Rückgliederungs-Steuergerät277 ausgewertet, um den VLD-Decoder278 zu veranlassen, die Codewörter im Speicherpuffer279 mit Index zu versehen. - Aufgrund der in den Pufferspeichern
273 und279 gespeicherten Informationen, nämlich der mit Index versehenen Information und der Typ-Codewörter T, fügt das Rückgliederungs-Steuergerät275 die in den Speicherpuffern273 und274 gespeicherten HP- und LP-Codewörter über einen Multiplexer274 aneinander. Das Steuergerät identifiziert einen Makroblock, konditioniert den Multiplexer274 zum Durchlassen von Daten aus dem HP-Kanal und liest die einzelnen HP-Daten aus dem Speicherpuffer273 bis zum Codewort CW#j des Blockes 1 im Makroblock. Dann konditioniert es den Multiplexer zum Durchlassen von Daten aus dem LP-Kanal und liest die demselben Block 1 entsprechenden Codewörter der AC-Koeffizienten, bis der Blockende-Code EOB erscheint. Anschließend konditioniert das Steuergerät275 den Multiplexer274 zum Durchlassen von Daten aus dem HP-Kanal und beginnt mit der Auslesung von HP-Daten entsprechend dem Block 2 des Makroblocks. Nach dem Auslesen des Codewortes CW#j schaltet das Steuergerät wiederum auf die Auslesung von LP-Daten für den Block 2 aus dem LP-Kanal, USW.. - Wenn während der Datenauslesung aus dem vorrangigen HP-Kanal ein Blockende-Code auftritt, bevor das Codewort CW#j erscheint, wird das Steuergerät
275 zurückgesetzt, um den nächsten Block von Daten aus dem HP-Kanal auszulesen. - Die zyklische Natur erscheinender Codewörter kann variabel sein. Beispielsweise können manche Makroblöcke innerhalb eines Streifens nicht codiert sein und/oder manche Blöcke innerhalb eines Makroblocks können nicht codiert sein. Diese Information ist in dem betreffenden Streifen und den Makroblock-Vorsätzen enthalten. Um die passenden Decodierzyklen festzulegen und aufrechtzuerhalten, prüft das Steuergerät
275 anhand der Codeworttypen die Streifen- und Makroblock-Vorsatzcodewörter, um die Anzahl von Blöcken in den jeweiligen Makroblöcken und die Anzahl von Makroblöcken in den jeweiligen Streifen festzustellen. Unter Berücksichtigung dieser Zahlen stellt das Steuergerät275 unter Zählung spezieller Decodieroperationen fest, wann bestimmte Decodierfunktionen beendet sind, und startet einen Decodierzyklus neu. Wie weiter oben erwähnt, können in einem Transportblock mehr als ein Satzanfangsetikett enthalten sein, jedoch wird nur das erste Satzanfangsetikett vom Transportblock-Vorsatz identifiziert, so dass nur das erste Satzanfangsetikett in einem Transportblock von der Einrichtung276 herausgeschnitten werden kann. Um die Information aus diesen Satzanfangsetiketten zu identifizieren und zu extrahieren und um diese Satzanfangsetikette aus dem Datenstrom herauszuschneiden, zählt das Steuergerät275 die Anzahl der vom VLD-Decoder272 verarbeiteten Makroblöcke, und bei Beendigung des letzten Makroblockes in einem Streifen erkennt es die als nächstes erscheinenden Daten in einem Transportblock als Satzanfangsetikett. Anschließend liest es die Information im Satzanfangsetikett, um die nachfolgenden zyklischen Operationen einzustellen, und verhindert dessen Durchlass zum Puffer273 . - Die Steuergeräte
271 ,275 und277 sind in der Figur als drei getrennte Einrichtungen dargestellt; es sei jedoch erwähnt, dass sie auch in einer einzigen Steuereinrichtung zusammengefasst werden können. - Die Schaltungsanordnung nach
9 liefert keine längenvariabel-decodierten Daten, sondern teilt nur die einzelnen längenvariabel codierten Codewörter auf und liefert sie in einer Form ähnlich den Daten, die am Ausgang des Kompressors10 geliefert werden. So kann für den Dekompressor27 eine Schaltungsanordnung verwendet werden, die im Wesentlichen komplementär zum Kompressor10 ist. Es sei jedoch erwähnt, dass die Schaltungsanordnung nach9 auch so ausgelegt werden kann, dass sie längenvariable Codes decodiert, so dass sich ein VLD-Decoder in der Dekompressorschaltung erübrigt. - In der Anordnung nach
9 sind Vorkehrungen getroffen, um verschiedene Methoden der Fehlerverdeckung durchzuführen. Beispielsweise können, auch wenn ein Transportblock einen Fehler enthält, die Daten für diesen Block verarbeitet und zum Dekompressor durchgelassen werden. In diesem Fall wird eine Fehlermarke für jedes Datenwort des Transportblockes erzeugt und gemeinsam mit den an den Dekompressor gelegten Codewörtern befördert. Die Fehlermarken werden von den Rückgliederungs-Steuergeräten271 und277 geliefert und zu den Pufferspeichern273 und279 gegeben, worin sie an Plätzen gespeichert werden, die in Zuordnung zu den betreffenden fehlerbehafteten Codewörtern des Transportblockes stehen. - Für ein alternatives System, worin entstellte Transportblöcke nicht verarbeitet werden, sei angenommen, dass ein LP-Transportblock verloren wurde. Der LP-Kanal liefert Koeffizientendaten, die für die Rekonstruktion von Bildern weniger wichtig sind, und in der Tat können DCT-Blöcke ohne diese Koeffizienten dekomprimiert werden, wenn auch die so dekomprimierten Blöcke geringere räumliche Auflösung bringen. Wenn also fehlerbehaftete LP-Transportblöcke aus dem Datenstrom herausgeschnitten werden und Daten im Multiplexer
274 nach jedem Block-Codewort CW#j der HP-Daten rekonstruiert werden, wird ein Blockende-Code EOB an die Stelle der LP-Daten gesetzt. Der EOB-Code wird vom Steuergerät275 geliefert und über den Multiplexer274 in den Datenstrom eingefügt. Um an zuzeigen, dass der EOB-Code für die betreffenden Blöcke ein erzwungener oder künstlicher EOB-Code ist, kann ein Fehlerkennzeichen gemeinsam mit dem EOB-Signal übertragen werden. Das erzwungene EOB-Signal wird mit der Abkürzung EOBE bezeichnet. - Das Steuergerät
275 liefert die Transportblock-Vorsatzinformation für beide Kanäle und versieht die in den Speicherpuffern273 und279 verfügbare Blockinformation mit Index. Die Makroblock- und Blockdaten erscheinen in einer bekannten Folge, womit das Steuergerät in der Lage ist, Verluste von Daten zu erkennen und für verlorene LP-Daten EOBE-Codes zu erzeugen und an die HP-Daten anzuhängen. - Im Allgemeinen ist zu erwarten, dass im HP-Kanal wegen der Robustheit der Übertragungsstrecke nur sehr wenige Fehler auftreten. Wenn jedoch tatsächlich ein Fehler im HP-Kanal auftritt, werden diejenigen Daten im LP-Kanal, die verlorenen Datenblöcken im HP-Kanal entsprechen, bedeutungslos. Das Steuergerät
275 ist so programmiert, dass es einen Verlust von HP-Daten anhand einer Unterbrechung der normalen, durch die unverfälschten Transportblock-Vorsätze gekennzeichnete Informationsfolge erkennt. Wenn der Verlust von HP-Daten gefühlt wird, werden die entsprechenden LP-Daten aus dem Speicherpuffer279 weggespült, d. h. sie werden nicht zum Dekompressor weitergegeben. Außerdem kann das Steuergerät275 so ausgelegt sein, dass es Fehlerdaten an den Dekompressor gibt, und zwar in einer Form, welche die verlorene Information kennzeichnet, d. h. Makroblock- oder Streifen- oder Vollbild-Daten, die nicht vom Rückgliederungs-Prozessor geliefert werden. - Das Steuergerät
275 spricht über den Steuerbus CB auf das Steuergerät des Gesamtsystems an, um die Steuergeräte271 ,277 und die VLD-Decoder272 ,278 beim Start des Systems und bei Kanalwechseln usw. erstmalig oder wieder neu zu initialisieren. Außerdem kommuniziert das Steuergerät275 mit dem Transportprozessor25 und den Geschwindigkeitspuffern23 und24 , um die Geschwindigkeit oder Rate der zur Rückgliederungs-Schaltungsanordnung gelieferten Information zu steuern. - Die
10 zeigt ein Beispiel für die Anordnung der Dekompressionsvorrichtung27 . - Die Fehlerverdeckung wird bei der Beschreibung dieser Vorrichtung nicht näher behandelt, weil sie nicht Gegenstand der vorliegenden Erfindung ist. Es genügt, festzustellen, dass das Dekompressions-Steuergerät
302 Fehlerdaten vom Rückgliederungs-Prozessor empfängt, um die Aktualisierung von Bereichen des Bildwiedergabe-RAM318 , die fehlenden Datenblöcken entsprechen, zu verhindern, und dass die Vorrichtung auf erzwungene EOB-Codes so anspricht, als wären es normal erscheinende EOB-Codes. - Allgemein ist die Schaltungsanordnung nach
10 dazu ausgelegt, Videodaten zu dekomprimieren, die in MPEG-ähnlichem hierarchischem Format geliefert werden. Die vom Multiplexer274 des Rückgliederungs-Prozessors gelieferten Videodaten werden an einen Pufferspeicher300 gelegt. Diese Daten nimmt sich das Dekompressions-Steuergerät302 , worin Vorsatzdaten extrahiert werden, um das Steuergerät302 zu programmieren. Die den DCT-Koeffizienten entsprechenden längenvariablen Codewörter werden extrahiert und an einen längenvariable Codes verarbeitenden Decoder (VLD-Decoder)308 gelegt, und die den Bewegungsvektoren entsprechenden längenvariablen Codewörter werden an einen weiteren VLD-Decoder306 gelegt. Der VLD-Decoder308 enthält Einrichtungen, um unter Steuerung durch das Steuergerät in geeigneter Weise Variabel-Längen- Decodierung, inverse Run-Längen-Decodierung und inverse DPCM-Codierung durchzuführen. Die decodierten Daten vom VLD-Decoder308 werden an eine Schaltung310 zur inversen diskreten Cosinustransformation (inverse DCT) gelegt, die Schaltungsmittel zur inversen Quantisierung der jeweiligen DCT-Koeffizienten und zur Umsetzung der Koeffizienten in eine Matrix von Pixeldaten enthält. Die Pixeldaten werden dann an einen Eingang eines Addierers312 gelegt, dessen Ausgang mit dem Bildwiedergabe-RAM318 und mit Pufferspeichern314 und316 gekoppelt ist. - Der VLD-Decoder
306 enthält Schaltungsmittel, um unter Steuerung durch das Steuergerät302 in geeigneter Weise die längenvariabel codierten Bewegungsvektoren zu decodieren und die inverse DPCM-Codierung der Bewegungsvektoren durchzuführen. Die decodierten Bewegungsvektoren werden an einen bewegungskompensierten "Prädiktor"304 gelegt. In Ansprache auf die Bewegungsvektoren greift sich der Prädiktor entsprechende Blöcke von Pixels, die in einem (vorwärts) der Pufferspeicher314 und316 oder in beiden (vorwärts und rückwärts) Pufferspeicher gespeichert sind. Der Prädiktor liefert einen Datenblock (von einem der Pufferspeicher) oder einen interpolierten Datenblock (abgeleitet von entsprechenden Blöcken aus beiden Pufferspeichern) an einen zweiten Eingang des Addierers312 . - Die Dekompression geschieht auf folgende Weise: Wenn ein Teilbild/Vollbild der eingangsseitigen Videodaten in Intraframe-Codierung vorliegt, sind keine Bewegungsvektoren vorhanden, und die decodierten DCT-Koeffizienten entsprechen Blöcken von Pixelwerten. Daher legt der Prädiktor
304 im Falle von intraframe-codierten Daten einen Nullwert an den Addierer312 , und die decodierten DCT-Koeffizienten werden unverändert vom Addierer312 an den Bildwiedergabe-RAM durchge lassen, worin sie gespeichert werden, um entsprechend normaler Rasterabtastung ausgelesen zu werden. Die decodierten Pixelwerte werden ebenfalls in einem der Pufferspeicher314 und316 gespeichert, um sie für die Bildung extrapolierter Bildwerte und für die Decodierung bewegungskompensierter Vollbilder (B oder P) zu verwenden. - Wenn ein Teilbild/Vollbild der Eingangsdaten einem vorwärtsbewegungskompensierten P-Teilbild/Vollbild entsprechen, entsprechen die decodierten Koeffizienten den Restwerten oder Differenzen zwischen dem augenblicklichen Teilbild/Vollbild und dem letztvorherigen I-Vollbild. Der auf die decodierten Bewegungsvektoren ansprechende Prädiktor
304 greift sich den entsprechenden Block von I-Vollbilddaten, die in dem einen oder dem anderen der Pufferspeicher314 und316 gespeichert sind und liefert diesen Datenblock an den Addierer, worin jeweilige Böcke von Restwerten, welche die Invers-DCT-Schaltung310 liefert, mit dem entsprechenden, vom Prädiktor304 gelieferten Block von Pixeldaten addiert werden. Die vom Addierer312 erzeugten Summen entsprechen den Pixelwerten für die betreffenden Blöcke des P-Teilbildes/Vollbildes, und diese Pixelwerte werden an den Bildwiedergabe-RAM318 gelegt, um die betreffenden Speicherplätze zu aktualisieren. Außerdem werden die vom Addierer312 gelieferten Pixelwerte in demjenigen der Pufferspeicher314 und316 gespeichert, der das I-Teilbild/Vollbild von Pixeldaten, die zur Erzeugung der extrapolierten Pixeldaten verwendet werden, nicht speichert. - Für bidirektional codierte (B-)Teilbilder/Vollbilder ist die Arbeitsweise ähnlich, jedoch mit dem Unterschied, dass extrapolierte Werte aus den in den beiden Pufferspeichern
314 und316 gespeicherten I- und P-Pixeldaten gegriffen werden, je nachdem, ob die jeweiligen Bewegungsvektoren Vorwärts- oder Rückwärts-Vektoren oder beides sind. Die erzeugten Pixelwerte der B-Teilbilder/Vollbilder werden zur Aktualisierung des Bildwiedergabe-RAM318 angelegt, sie werden jedoch in keinem der Pufferspeicher gespeichert, weil B-Teilbild/Vollbilddaten nicht für die Erzeugung anderer Teilbild/Vollbilddaten verwendet werden. - Die
10A zeigt eine kombinierte Anordnung aus Rückgliederungs-Prozessor und Dekompressor. In der10A sind Elemente, die Elementen in der10 ähnlich sind und ähnliche Funktionen durchführen, mit den gleichen Bezugszahlen wie dort bezeichnet. Die VLD-Decoder308 und306 sind durch DPCM-Decoder409 und408 ersetzt, welche die geeignete Run-Längen-Decodierung und DPCM-Decodierung durchführen. Die HP- und LP-Daten vom Transportprozessor25 werden an zugeordnete Pufferspeicher400 bzw.402 gelegt. Die Transportblock-Vorsatzdaten aus den HP- und LP-Kanälen werden an ein Hilfssteuergerät404 gelegt, das mit dem Dekompressions-Steuergerät407 kommuniziert. Das Hilfssteuergerät kann eine Teilmenge der Instruktionen des Steuergerätes407 beinhalten. Unter dem Einfluss der Vorsatzdaten richtet das Hilfssteuergerät die Daten in den Pufferspeichern400 und402 so aus, dass sie denselben Datenstreifen entsprechen. Die Daten in den Pufferspeichern werden an Parallel/Serien-Umsetzer401 und403 gelegt, die jeweils einen seriellen Datenstrom an zugeordnete Eingänge eines Multiplexers405 liefern. Vom Multiplexer405 gelangen serielle Daten zu einem VLD-Decoder406 . Der VLD-Decoder406 nimmt Daten jeweils Bit nach Bit auf und erzeugt längenvariabel-decodierte Daten für das Dekompressions-Steuergerät407 . Decodierte Video-Vorsatzdaten werden im Steuergerät407 gespeichert, und decodierte Koeffizienten und Bewegungsvektoren werden vom Steuergerät an eine jeweils zugeordnete DPCM-Einrichtung409 bzw.408 gelegt. - Das Steuergerät
407 stellt den Multiplexer405 anfänglich auf Durchlass der HP-Daten, so dass als erstes Zugriff auf die Video-Vorsatzdaten erfolgt. Das Steuergerät407 liest decodierte Video-Vorsatzinformation und stellt abhängig davon die passende Decodierfolge her. Nachdem das Steuergerät beginnt, Daten entsprechend Makroblock-Koeffizienten aufzunehmen, zählt es die Anzahl decodierter Koeffizienten-Codewörter, und nach Decodierung von j solchen Codewörtern stellt es den Multiplexer405 so ein, dass er Daten aus dem LP-Kanal durchlässt. Beim Empfang eines EOB-Codewortes in den LP-Daten stellt das Steuergerät den Multiplexer wieder so ein, dass wiederum Daten aus dem HP-Kanal durchgelassen werden. Das Steuergerät407 ist so ausgelegt, dass es das Fehlen von LP-Daten erkennt und an deren Stelle EOB-Codes setzt, d. h. nach dem Zählen von j decodierten Koeffizienten-Codewörtern des HP-Kanals, um zum nächsten Block von HP-Daten zu gehen. - Gemäß der
10B führt das Steuergerät407 , wenn ein Kanalwechsel erfolgt oder wenn Signale vom System-Steuergerät ausbleiben, ein Initialisierungsverfahren (Schritt700 ) durch, bei welchem der VLD-Decoder406 zurückgesetzt, der Multiplexer405 auf Durchlass von HP-Daten eingestellt und das Hilfssteuergerät für die Prüfung von GOP-Daten konditioniert wird. Anschließend wird ein Signal gesendet, um z. B. einen Transportblock von Daten in den Puffer400 zu laden (Schritt702 ). Dann erfolgt eine Prüfung (Schritt704 ), um festzustellen, ob ein Fehler im HP-Transportblock erschienen ist, und falls ja, wird der nächste Transportblock geladen. Außerdem wird ein internes Fehlerkennzeichen gesetzt (Schritt703 ). Ist kein Fehlerkennzeichen gesetzt, werden HP-Daten zum VLD-Decoder geliefert und decodiert (Schritt709 ), bis entweder ein EOB-Code erscheint oder das j-te Codewort decodiert worden ist. Wenn für entsprechende Datenblöcke im LP-Kanal ein Fehler angezeigt worden ist, wird nach jedem j-ten deco dierten Codewort ein EOB-Code eingefügt, und das System fährt fort, HP-Daten zum VLD-Decoder zu liefern. Außerdem, wenn das System die Ausrichtung von LP-Daten mit HP-Daten verfehlt hat, werden nach jedem j-ten decodierten HP-Codewort EOB-Codes eingefügt. Alternativ, wenn LP-Daten mit HP-Daten ausgerichtet worden sind und kein LP-Fehlerkennzeichen gesetzt worden ist, wird nach Decodierung des j-ten HP-Codewortes eine Umschaltung durchgeführt, um LP-Daten zu verarbeiten (Übergang vom Schritt709 zum Schritt710 ). An diesem Punkt wird der Multiplexer so eingestellt, dass er LP-Daten zum VLD-Decoder durchlässt. Die LP-Daten werden decodiert (Schritt717 ), bis ein EOB-Code erscheint, und zu diesem Zeitpunkt wird die Decodierung zurück auf die HP-Daten geschaltet. - Wenn aber bei der obigen Prüfung (Schritt
705 ) ein Fehlerkennzeichen für die HP-Daten gesetzt worden ist, muss das System auf den nächstverfügbaren Datenanfangspunkt warten, der durch das Satzanfangsetikett RH identifiziert wird. Daher fragt das System nach einem verfügbaren RH (Schritt706 ). Ist kein RH verfügbar, kehrt der Prozess zum Schritt702 zurück, um mehr Daten zu bekommen. Ist ein RH verfügbar, wird der Transportblock-Vorsatz TH auf seine Lage geprüft (Schritt707 ), und die Daten im Puffer400 werden bis zur Byte-Grenze vorgerückt, die dem RH unmittelbar folgt. Dann werden im Satzanfangsetikett RH die Vollbildnummer, die Streifennummer und das zugehörige Codewort CW#j abgefragt (Schritt708 ). Anschließend beginnt die Decodierung der HP-Daten (Schritt709 ). - Während der Initialisierung des HP-Kanals wird der LP-Kanal in ähnlicher Weise initialisiert. Anschließend wird ein Streifen von LP-Daten in den Puffer
402 geladen (Schritt710 ), und es wird eine Prüfung auf einen Transportblockfehler durchgeführt (Schritt712 ). Bei Feststellung eines Fehlers wird ein LP-Fehlerkennzeichen gesetzt, und neue Daten werden geladen, bis kein Fehler vorhanden ist. Falls kein Fehlerkennzeichen gesetzt worden ist, erfolgt ein Sprung zum Schritt717 . Dieser Sprung zeigt an, dass das System in der normalen Folge arbeitet, und die Decodierung schreitet in passender Weise im Wechsel zwischen HP- und LP-Daten fort (Schritte709 ,717 ). Alternativ, wenn ein Fehlerkennzeichen gesetzt worden ist (Schritt713 ), muss das System nach dem nächsten gültigen Datenanfangspunkt suchen. Der laufende Transportblock-Vorsatz der LP-Daten wird nach einer Makroblockadresse oder einem Satzanfangsetikett RH abgefragt. Ist keines von beiden verfügbar, erfolgt ein Sprung zum Schritt710 , und neue Daten werden aufgegriffen. Ist eines verfügbar, werden die LP-Daten zu diesem Anfangspunkt vorgerückt (Schritt715 ). Es sei bemerkt, dass das System, wenn ein HP-Fehlerkennzeichen gesetzt ist, einen Makroblock-Anfangspunkt ignoriert und zu einem Anfangspunkt weiterrückt, der einem Satzanfangsetikett RH zugeordnet ist. Der Transportblock-Vorsatz wird nach den Vollbild- und Streifennummern befragt (Schritt716 ). An diesem Punkt werden die LP-Daten auf ihre Koinzidenz mit den HP-Daten überprüft. Wenn sie den HP-Daten nacheilen, erfolgt ein Sprung zum Schritt710 , um die LP-Daten vorzurücken. Liegt keine Nacheilung vor, wird die Ausrichtung der HP- und LP-Makroblöcke geprüft. Eilt der LP-Makroblock dem laufenden HP-Makroblock vor, wird eine Wartezeit eingeführt. Wenn umgekehrt der LP-Makroblock dem HP-Makroblock nacheilt, werden die Daten des LP-Makroblockes so weit vorgerückt, wie es der Lage des laufenden HP-Makroblockes entspricht. Der LP-Kanal wartet dann auf das j-te HP-Codewort des laufenden zu decodierenden Blockes. - Wie weiter oben erwähnt, kann es im Datenstrom eingebettete Satzanfangsetiketten geben, die nicht durch die Transport- Vorsätze identifiziert werden. Diese Satzanfangsetiketten werden gefunden, indem man die Anzahl von Makroblöcken, die decodiert werden, zählt (Schritte
709 ,717 ). In jedem Streifen befindet sich eine vorbestimmte Anzahl von Makroblöcken, und daher können, wenn diese Anzahl von Makroblöcken decodiert ist, die als nächstes erscheinenden Daten erkannt werden als z. B. zwei Bytes eines Satzanfangsetikettes. Diese Daten werden vom Steuergerät gelesen (Schritte708 ,716 ), und für die nächste Folge von Decodiervorgängen benutzt. Außerdem enthält ein Transportblock eine vorbestimmte Anzahl von Bytes, und diese Bytes werden gezählt (Schritte709 ,717 ), um anzuzeigen, wann die nächsten Transportblöcke ergriffen werden (Schritte702 ,710 ). - Das System nach der
10B ist so ausgelegt, dass es serielle Daten zum VLD-Decoder406 liefert. Es sei jedoch erwähnt, dass ein VLD-Decoder gewählt werden kann, der längenvariable Codewörter verarbeitet, die im Parallelbit-Format erscheinen. In diesem Fall können die Parallel/Serien-Umsetzer401 und402 fortgelassen werden. Vorzugsweise sind die von den Puffern gelieferten Daten 3-Zustands-Daten, und die Ausgangsanschlüsse der Puffer werden in verdrahteter oder Phantom-ODER-Schaltung zum Eingang dieses VLD-Decoders gegeben. - Die
11 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-Fehlerkorrekturschaltungen15 und16 werden an einen jeweils zugeordneten 64-QAM-Modulator400 bzw.401 gelegt. Der Modulator400 liefert ein analoges HP-Signal mit einer –6 dB-Bandbreite von ungefähr 0,96 MHz. Dieses Signal wird einem 1,5-MHz-Bandpassfilter402 angelegt, um hochfrequente Harmonische zu unterdrücken, und dann auf einen analogen Signal summierer405 gegeben. Der Modulator401 liefert ein analoges LP-Signal mit einer 6 dB-Bandbreite von ungefähr 3,84 MHz. Dieses Signal wird einem 6-MHz-Bandpassfilter404 angelegt, um hochfrequente Harmonische zu unterdrücken, und dann auf ein Dämpfungsglied406 gegeben. Das Dämpfungsglied406 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 Signalsummierer405 gekoppelt, wo es mit dem analogen HP-Signal summiert wird, um ein Signal mit einem Frequenzspektrum ähnlich dem in1 gezeigten Signalspektrum zu erzeugen. Das kombinierte Signal wird auf einen Mischer407 gegeben, worin es mit einem HF-Träger multipliziert wird, um das kombinierte Signal in ein Frequenzband umzusetzen, das zu einem normgemäßen Fernsehübertragungskanal passt. Das umgesetzte Signal wird dann einem Bandpassfilter408 angelegt, welches die Spektralcharakteristik des umgesetzten Signals so zuschneidet, dass es in den normgemäßen Kanal passt. - Im Empfänger wird das übertragene Signal durch eine Tuner/ZF-Schaltung
410 herkömmlicher Bauart demoduliert und auf eine PLL-Schaltung413 und einen Analog/Digital-Wandler (A/D-Wandler)412 gegeben. Das digitalisierte Signal wird zugeordneten 64-QAM-Demodulatoren414 und415 zugeführt. Die Demodulatoren414 und415 enthalten Bandpassfilter 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 Demodulatoren414 und415 sind herkömmliche QAM-Demodulatorkonstruktionen und sprechen auf Taktsignale an, die von der PLL-Schaltung413 geliefert werden. Die PLL-Schaltung413 erzeugt die erforderlichen Taktsignale durch Phasensynchronisierung eines von einem span nungsgesteuerten Oszillator entwickelten Signals mit einem der beiden Träger, die zu den QAM-Signalen gehören. - Die Erfindung wurde vorstehend in Verbindung mit einem MPEG-ähnlichen Signal beschrieben; es sei jedoch erwähnt, dass sie auch zur Verarbeitung von Signalen ausgelegt werden kann, die in anderen Formaten und durch andere Transformierte komprimiert sind. Die einzige Bedingung hinsichtlich des Typs der Komprimierung ist, dass sie Daten liefert, die in hierarchischen Ebenen rangmäßig geteilt werden können, z. B. Teilband- oder Pyramiden-Transformierte.
Claims (6)
- Anordnung zum Kombinieren vorrangiger und nachrangiger Daten in einem digitale komprimierte Videodaten verarbeitenden System, worin die vorrangigen und nachrangigen Daten in einem vorrangigen bzw. nachrangigen Kanal geführt werden und aus codierten komprimierten Videosignalen erzeugt werden, die als Blöcke von Codewörtern in einer Reihenfolge absteigend mit der Wichtigkeit hinsichtlich der Bildwiedergabe erscheinen, wobei die Codewörter bis zu jeweils einem j-ten Codewort einzelner Blöcke als vorrangige Daten und die übrigen Codewörter der jeweiligen Blöcke als nachrangige Daten behandelt werden, gekennzeichnet durch: eine erste Einrichtung (
20 -25 ), die auf die vorrangigen und nachrangigen Daten anspricht, um die Daten zu decodieren und zugeordnete Folgen von Codewörtern vorrangiger und nachrangiger Daten zu liefern; eine zweite Einrichtung (26 ), die auf die vorrangigen und nachrangigen Codewortfolgen anspricht, um zyklisch Codewörter der vorrangigen Folge bis zu einem ersten vorbestimmten Codewort und dann Codewörter der nachrangigen Folge bis zu einem zweiten vorbestimmten Codewort der nachrangigen Folge zu liefern und dann den Zyklus zu wiederholen. - Anordnung nach Anspruch 1, dadurch gekennzeichnet, dass das zweite vorbestimmte Codewort ein das Ende eines Blockes angebender Code (EOB) ist.
- Anordnung nach Anspruch 1, dadurch gekennzeichnet, dass das erste vorbestimmte Codewort jedes j-te Codewort in mindestens einem Teil der vorrangigen Folge von Codewörtern ist.
- Anordnung nach Anspruch 3, dadurch gekennzeichnet, dass die vorrangigen und nachrangigen Daten längenvariabel codiert sind und dass die erste Einrichtung eine Decodiervorrichtung zum Decodieren längenvariabler Codes enthält.
- Anordnung nach Anspruch 1, worin die vorrangigen und nachrangigen Videodaten in einander gegenseitig ausschließenden vorrangigen und nachrangigen Transportpaketen geführt werden, die jeweils eine vorbestimmte Anzahl von Bits und jeweils zugeordnete Transportpaket-Vorsätze enthalten, welche ihrerseits Angaben enthalten zur Identifizierung der in vorrangigen Transportpaketen geführten vorrangigen Videosignale und zur Identifizierung der in nachrangigen Transportpaketen geführten nachrangigen Videosignale, dadurch gekennzeichnet, dass die zweite Einrichtung auf die Angaben in den Vorsätzen der vorrangigen und nachrangigen Transportpakete anspricht, um die vorrangigen und nachrangigen Codewortfolgen miteinander auszurichten.
- Anordnung nach Anspruch 1, worin die vorrangigen und nachrangigen Videodaten aus einer Folge von Blöcken von Codewörtern abgeleitet sind, wobei das Ende jedes Blockes mit einem Blockende-Code versehen ist und die vorrangigen Videodaten eine als erstes erscheinende Anzahl von Codewörtern in den jeweiligen Blöcken umfassen und mit einem diese Anzahl anzeigenden Code geführt werden und wobei die nachrangigen Videodaten aus den übrigen Codewörtern in den jeweiligen Blöcken bestehen und den Blockende-Code enthalten, dadurch gekennzeichnet, dass die zweite Einrichtung beim Erreichen der besagten Anzahl anspricht, um von der Lieferung vorrangiger Codewörter auf die Lieferung nachrangiger Codewörter umzuschalten, und auf die Blockende-Codes anspricht, um von der Lieferung nachrangiger Codewörter auf die Lieferung vorrangiger Codewörter umzuschalten.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US661994 | 1991-02-27 | ||
US07/661,994 US5148272A (en) | 1991-02-27 | 1991-02-27 | Apparatus for recombining prioritized video data |
DE4205898A DE4205898B4 (de) | 1991-02-27 | 1992-02-26 | Anordnung zum Rekombinieren von gemäß einer Rangordnung aufgeteilten Fernsehdaten |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4245052B4 true DE4245052B4 (de) | 2007-10-11 |
Family
ID=38513737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4245052A Expired - Fee Related DE4245052B4 (de) | 1991-02-27 | 1992-02-26 | Anordnung zum Rekombinieren von Fernsehdaten, die entsprechend einer Rangordnung zerteilt sind |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4245052B4 (de) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4853779A (en) * | 1987-04-07 | 1989-08-01 | Siemens Aktiengesellschaft | Method for data reduction of digital image sequences |
EP0448491A1 (de) * | 1990-03-23 | 1991-09-25 | France Telecom | Verfahren zur Kodierung und Übertragung von digitalen Bildern einer Bildsequenz mit mindestens zwei Qualitätsniveaus und zugehörige GerÀ¤te |
WO1992014343A1 (en) * | 1991-02-04 | 1992-08-20 | General Electric Company | Modulator/demodulator for compatible high definition television system |
-
1992
- 1992-02-26 DE DE4245052A patent/DE4245052B4/de not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4853779A (en) * | 1987-04-07 | 1989-08-01 | Siemens Aktiengesellschaft | Method for data reduction of digital image sequences |
EP0448491A1 (de) * | 1990-03-23 | 1991-09-25 | France Telecom | Verfahren zur Kodierung und Übertragung von digitalen Bildern einer Bildsequenz mit mindestens zwei Qualitätsniveaus und zugehörige GerÀ¤te |
WO1992014343A1 (en) * | 1991-02-04 | 1992-08-20 | General Electric Company | Modulator/demodulator for compatible high definition television system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4205898B4 (de) | Anordnung zum Rekombinieren von gemäß einer Rangordnung aufgeteilten Fernsehdaten | |
DE69225164T2 (de) | Gerät zur Segmentierung von kodierten Videosignalen zur Übertragung | |
DE69217921T2 (de) | Komprimierungsanlage für hochauflösendes fernsehen | |
DE4205896B4 (de) | Anordnung zur rangmäßigen Aufteilung von Daten z. B. für eine Videosignal-Verarbeitungseinrichtung | |
DE69232913T2 (de) | Gerät zur Dekomprimierung von Video-Daten | |
DE4325032B4 (de) | Anordnung zur Aufteilung digitaler Fernsehdaten | |
DE4322356B4 (de) | Einrichtung zum Steuern der Rücksetzung in einem Videosignalcodierer | |
DE69333982T2 (de) | Verfahren zum Anordnen komprimierter Videodaten zur Übertragung über einen verrauschten Kanal | |
DE69331606T2 (de) | Datenwortindikator in einem system zur zusammenstellung von transportdatenpaketen. | |
DE69521102T2 (de) | Syntaxparser für einen Prozessor zur Videodekompression | |
DE69425010T2 (de) | Prioritätsverarbeitung von kodierten Bildsignalen | |
DE69318629T2 (de) | Übertragungsfehlerkorrektur in einem digitalen Kommunikationssystem | |
DE4305578B4 (de) | Fehlerverdeckung in decodierten Videosignalen | |
DE4233543B4 (de) | Vorrichtung zur Steuerung der Quantisierung von Videodaten | |
DE69628985T2 (de) | Empfänger mit analogen und digitalen Videobetriebsarten und Empfangsverfahren dafür | |
DE69225718T2 (de) | Vorrichtung zur fehlerverdeckung in einem digitalen videoverarbeitungssystem | |
DE69622644T2 (de) | Bildbewegungssignalkodierung und entsprechende Dekodierung | |
DE69231880T2 (de) | Verfahren zur Bildübertragung | |
DE4330040C2 (de) | Aufnahme- und/oder Wiedergabevorrichtung zum Aufnehmen und/oder Wiedergeben von Bilddaten, die gemäß unterschiedlicher Komprimierverfahren komprimiert sind | |
DE10033110A1 (de) | Verfahren, und System zur Übertragung digitalisierter Bewegtbilder von einem Sender zu einem Empfänger und zugehöriger Decoder | |
DE69834681T2 (de) | Verfahren und Vorrichtung zur Dekodierung komprimierter Bewegtbilddaten | |
DE4245052B4 (de) | Anordnung zum Rekombinieren von Fernsehdaten, die entsprechend einer Rangordnung zerteilt sind | |
DE69330917T2 (de) | Abgleichindikator für datenstrompakete in einem system zur zusammenstellung von transportdatenpaketen. | |
DE69614427T2 (de) | Signalverarbeitungsgerät | |
DE10296360T5 (de) | Video-Bitstrom-Reiniger |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
Q172 | Divided out of (supplement): |
Ref document number: 4205898 Country of ref document: DE Kind code of ref document: P |
|
8142 | Declaration for partition to be considered as not given as to paragraph 39 or 60 | ||
8110 | Request for examination paragraph 44 | ||
8170 | Reinstatement of the former position | ||
AC | Divided out of |
Ref document number: 4205898 Country of ref document: DE Kind code of ref document: P |
|
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20110901 |