DE3875334T2 - Verfahren zur synchronisierung fuer die uebertragung ueber einen asynchronen kanal einer folge von kodierten bildern, die mittels eines kodes mit variabler laenge kodiert sind und einrichtung zur durchfuehrung dieses verfahrens. - Google Patents
Verfahren zur synchronisierung fuer die uebertragung ueber einen asynchronen kanal einer folge von kodierten bildern, die mittels eines kodes mit variabler laenge kodiert sind und einrichtung zur durchfuehrung dieses verfahrens.Info
- Publication number
- DE3875334T2 DE3875334T2 DE8888403375T DE3875334T DE3875334T2 DE 3875334 T2 DE3875334 T2 DE 3875334T2 DE 8888403375 T DE8888403375 T DE 8888403375T DE 3875334 T DE3875334 T DE 3875334T DE 3875334 T2 DE3875334 T2 DE 3875334T2
- Authority
- DE
- Germany
- Prior art keywords
- block
- separator
- data
- separators
- inter
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000005540 biological transmission Effects 0.000 title claims abstract description 31
- 238000000926 separation method Methods 0.000 claims 1
- 230000015654 memory Effects 0.000 description 133
- 239000000872 buffer Substances 0.000 description 44
- 238000013139 quantization Methods 0.000 description 39
- 230000009466 transformation Effects 0.000 description 31
- 238000005070 sampling Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000000873 masking effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000009467 reduction Effects 0.000 description 5
- 230000001276 controlling effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000033764 rhythmic process Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N11/00—Colour television systems
- H04N11/04—Colour television systems using pulse code modulation
-
- 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/4302—Content synchronisation processes, e.g. decoder synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N11/00—Colour television systems
- H04N11/04—Colour television systems using pulse code modulation
- H04N11/042—Codec means
- H04N11/044—Codec means involving transform coding
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/115—Selection of the code volume for a coding unit prior to coding
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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/242—Synchronization processes, e.g. processing of PCR [Program Clock References]
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- 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
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Time-Division Multiplex Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Facsimile Transmission Control (AREA)
- Communication Control (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
- Die Erfindung betrifft ein Verfahren zur Synchronisierung für die Übertragung einer Folge kodierter Bilder über einen asynchronen Kanal, die mittels eines Kodes mit variabler Länge kodiert sind, und eine Einrichtung zum Ausführen dieses Verfahrens. Ein derartiges Verfahren erlaubt es, z. B. digitale Videobilder auf einem asynchronen Kanal zu übertragen, der die Bilder an Abonnenten verteilt.
- In Zukunft wird die Verteilung von Videobildern in digitaler Form über Kodierverfahren erfolgen, die eine sehr starke Verringerung des Informationsdurchsatzes erlauben, insbesondere mittels Kodierverfahren für Bildelementblöcke, die eine zweidimensionale Bildtransformation wie eine Cosinustranformation, ausführen, und eine Kodierung mit variabler Länge ausführen, wie eine Huffmann-Kodierung. Ein derartiges Verfahren ist z. B. in der Patentanmeldung EP-A-0 084 270 beschrieben. Eine Kanalsynchronisierung mit dem Samplingtakt von Videobildern ist in der Praxis nicht möglich, da es zahlreiche Videosignalquellen gibt, die voneinander und vom Übertragungskanal unabhängig sind. Daher ist es erforderlich, ein Synchronisierverfahren auszuführen, das es erlaubt, beim Dekodieren den Takt des Videosamplingvorgangs rückzugewinnen und Bilder wiederzugeben, in dem Verschlechterungen aufgrund von Übertragungsfehlern, die die Synchronisiersignale beeinflussen, soweit wie möglich begrenzt sind.
- Andererseits ist es erforderlich, die jedem Bild entsprechenden Daten und die jedem Block im Inneren eines Bildes entsprechenden Daten voneinander unterscheiden zu können.
- Die jedem Bildelementblock entsprechenden codierten Daten können mittels Inter-Block-Separatoren genannten Trenninformationen voneinander unterschieden werden, und die jedem Bild zugehörigen codierten Daten können mittels Bild-Separatoren genannten Trenninformationen voneinander unterschieden werden. Jedoch hat es die Verwendung von Codes mit variabler Länge zur Folge, daß diese Separatoren keine konstante Position im Fluß der übertragenen binären Daten aufweisen und daß es demgemäß nicht möglich ist, den Abtasttakt der Videobilder mit einem Filterverfahren rückzugewinnen. Ein erstes Ziel der Erfindung ist es daher, ein Synchronisationsverfahren vorzuschlagen, das es erlaubt, den Abtasttakt der Videobilder rückzugewinnen und das es erlaubt, die verschiedenen codierten Daten voneinander zu unterscheiden.
- Hochleistungsfähige Codierverfahren weisen im allgemeinen einen Schritt der Differenzcodierung für Bildelementblöcke auf, bei denen sich die Luminanz und die Farbdifferenzen wenig gegenüber dem entsprechenden Block im unmittelbar vorhergehenden Bild unterscheiden. Dieser Schritt der Differenzcodierung erlaubt eine starke Verringerung der zu übertragenden Informationsmenge, weist jedoch den Nachteil auf, daß ein Übertragungsfehler, der einen Block betrifft, sich katastrophal auswirkt. Wenn nämlich eine Folge entsprechender Blöcke in der Bildfolge mit dieser Differenzcodierung übertragen wird und ein Fehler den ersten Block der Folge beeinflußt, wird die ganze Folge der einander entsprechenden Blökke in fehlerhafter Weise wiedergegeben. Andererseits kann das Fehlen der Feststellung eines Inter-Block-Separators die Position aller Blöcke beeinflussen, die folgen, und kann so einen Versatz der Blöcke des wiedergegebenen Bildes bewirken. Wenn die folgenden Bilder mit einer Differenzcodierung kodiert sind, die sich auf das fehlerbehaftete Bild bezieht, werden auch sie in fehlerhafter Weise wiedergegeben. Ein weiteres Ziel der Erfindung ist es daher, ein Synchronisationsverfahren vorzuschlagen, mit dem vermieden werden kann, daß sich die Folgen eines Übertragungsfehlers in den Synchronisationsignalen von einem Block auf einen anderen im selben wiedergegebenen Bild fortpflanzen und sich in der Folge der wiedergegebenen Bilder fortpflanzen.
- Gemäß der Erfindung ist ein Verfahren zur Synchronisation einer Folge codierter Bilder für die Übertragung über einen asynchronen Kanal mittels eines Codes variabler Länge dadurch gekennzeichnet, daß bei ihm zusätzlich zu den Daten Inter- Block-Separatoren genannte Separatoren übertragen werden, um die Daten voneinander zu trennen, die verschiedenen Blöcken entsprechen, und Bild-Separatoren genannte Separatoren, um die Daten voneinander zu trennen, die aufeinanderfolgenden Bildern entsprechen, und daß bei ihm ferner erste Synchronisationsmuster mit der Zeilenfrequenz der Bilder und zweite Synchronisationsmuster mit der Bildfrequenz übertragen werden, indem die Übertragung der Daten und der Separatoren unterbrochen wird, wobei die Separatoren nicht durch zulässige Verkettungen von Daten und/oder von Separatoren nachahmbar sind.
- Die Erfindung wird mit Hilfe der nachfolgenden Beschreibung und der sie begleitenden Figuren deutlicher werden, und auch weitere Details werden erkennbar werden:
- - Fig. 1 zeigt die Synchronisationssignale einer Codiereinrichtung und einer Decodiereinrichtung bei einem Ausführungsbeispiel eines erfindungsgemäßen Verfahrens;
- - die Fig. 2 und 3 zeigen das Übersichtsschema eines Ausführungsbeispiels einer Codiereinrichtung mit einer Synchronisationseinrichtung zum Ausführen des erfindungsgemäßen Verfahrens;
- - die Fig. 4 und 5 zeigen das Übersichtsschema eines Ausführungsbeispiels einer Decodiereinrichtung mit einer Synchronisationseinrichtung zum Ausführen des erfindungsgemäßen Verfahrens.
- Bei einem Ausführungsbeispiel wird die Bildfolge durch eine Folge von farbigen Fernsehteilbildern gebildet, die abgetastet und digitalisiert sind. Jedes Bildelement wird durch einen Luminanzwert, einen Rot-Farbdifferenzwert und einen Blau-Farbdifferenzwert repräsentiert. Jedes zu codierende Fernsehbild wird aus zwei verschachtelten Teilbildern gebildet, die in herkömmlicher Weise von einer Fernsehkamera abgetastet worden sind. Die zwei Teilbilder werden getrennt codiert.
- Fig. 1 zeigt in ihrem oberen Teil das Format der Binärinformationen, die eine Folge von Bildern übertragen, die mit Hilfe einer zweidimensionalen Transformation und mit Hilfe von Codes variabler Länge in Bildelementblöcken codiert sind. Beispielsweise besteht das Codierverfahren in folgendem:
- - Unterteilen jedes Teilbildes in Bildelementblöcke, wobei jeder Block durch einen Block von 16·16 Luminanzwerten, einen Block von 16·8 Blau-Farbdifferenzwerten und einen Block von 16·8 Rot-Farbdifferenzwerten repräsentiert wird;
- - Ausführen der zweidimensionalen Cosinustransformation für jeden Werteblock, um einen Block von Transformationskoeffizienten des betrachteten Werteblocks zu erhalten;
- - Übertragen für jeden Werteblock: entweder des Wertes der Transformationskoeffizienten des Blocks oder der Wertedifferenz dieser Transformationskoeffizienten bezogen auf den Wert der Transformationskoeffizienten eines entsprechenden Blocks eines Teilbildes derselben Parität, das dem im Verlauf der Codierung befindlichen Teilbild vorangeht, um die Informationsmenge zu minimieren, die für den betreffenden Block zu übertragen ist, wobei die Codierung entweder eine Inter-Bild- oder eine Intra-Bild-Codierung genannt wird und wobei der Codierungstyp für die drei Wertetypen, die denselben Bildelementblock repräsentieren, verschieden sein kann.
- Die Codierung besteht ferner darin, daß die Transformationskoeffizienten und die Differenzen der Transformationskoeffizienten vor ihrer Übertragung mit einem Wichtungskoffizienten multipliziert werden, der die niedrigen räumlichen Frequenzen der Bilder begünstigt und der sich abhängig von der zu übertragenden Informationsmenge ändert. Die gewichteten Koeffizienten werden dann nach einem linearen Maßstab quantisiert, dessen Schrittweite abhängig von der zu übertragenden Informationsmenge veränderlich ist. Dies entspricht dem Multiplizieren der gewichteten Koeffizienten mit einem Quantisierungskoeffizienten, der sich abhängig von der zu übertragenden Informationsmenge ändert, wobei nur der ganzzahlige Teil des Multiplikationsergebnisses aufrechterhalten wird. Anschließend werden die Transformationskoeffizienten oder die Differenzen der Transformationskoeffizienten durch Huffmann- Codes übertragen, d. h. durch Codewörter variabler Länge, wobei die Codewörter der kleinsten Längen verwendet werden, um diejenigen Ereignisse zu codieren, die statistisch am häufigsten auftreten.
- Es ist zu beachten, daß die Blöcke der Transformationskoeffizienten und die Blöcke der Differenzen der Transformationskoeffizienten zahlreiche Nullwerte aufweisen. Insbesondere dann, wenn die Koeffizienten oder die Differenzen der Koffizienten in einer Reihenfolge abgetastet werden, in der die Transformationskoeffizienten statistisch abnehmende Werte aufweisen, bilden die letzten Koeffizienten oder Differenzen von Koeffizienten einen langen Bereich von Nullen. Um aus dieser Tatsache Nutzen zu ziehen, werden die Nullwerte bereichsweise codiert, und die Länge jedes Bereichs wird durch einen Huffmann-Code übertragen. Der letzte Bereich von Nullen in jedem Block wird nicht codiert, da die codierten Daten eines jeden Blocks voneinander durch einen Inter-Block-Separator voneinander getrennt sind, der es demgemäß erlaubt, das Ende der von Null verschiedenen Werte in einem Block festzustellen. Es ist auch zu beachten, daß der Wert des Koeffizienten oder der Differenz von Transformationskoeffizienten mit dem niedrigsten Zeilenindex und dem niedrigsten Spaltenindex in jedem Block nicht durch einen Huffmann-Code codiert wird, sondern uncodiert übertragen wird, da dieser Wert für eine gute Wiederherstellung der Bildelementblöcke besonders wichtig ist. Dadurch wird ein Quantisierungsfehler vermieden, der von der zu übertragenden Informationsmenge abhängt.
- Umgekehrt besteht die Decodierung für jeden Block in folgendem:
- - Erkennen jedes der Huffmann-Codewörter und Wiederherstellung eines Wertes eines Transformationskoeffizienten oder einer Differenz von Transformationskoeffizienten;
- - Multiplizieren jedes Wertes eines Transformationskoeffizienten oder einer Differenz von Transformationskoeffizienten mit einem Koeffizienten, der dem Inversen des beim Codieren verwendeten Wichtungskoeffizienten entspricht, und mit einem Koeffizienten, der dem Inversen des beim Codieren verwendeten Quantisierungskoeffizienten entspricht;
- - zum Wert jeder Differenz von Transformationskoeffizienten wird der Wert eines Transformationskoeffizienten addiert, der dem betreffenden Koeffizienten in einem Block entspricht, der dem betreffenden Block entspricht und zum Teilbild gleicher Parität gehört, das dem im Verlauf der Decodierung befindlichen Teilbild vorangeht;
- - Anwenden einer inversen zweidimensionalen Cosinustransformation auf jeden Transformationskoeffizienten, um einen Block von Luminanz- oder Farbdifferenzwerten zu erhalten, der einen decodierten Bildteil repräsentiert.
- Beim Beispiel des Codier- und des Decodierverfahrens, das hier betrachtet wird, um die Ausführung des Synchronisationsverfahrens zu illustrieren, sind der Wichtungskoeffizient und der Quantisierungskoeffizient ferner Funktionen eines Parameters, der Blockklasse genannt wird und der die Codierschwierigkeit für den betreffenden Block wiedergibt. Wenn ein Block schwierig zu codieren ist, d. h. wenn er gegenüber Codierfehlern sehr empfindlich ist, verlangt dieser Parameter eine Verringerung der Stärke der Wichtung und der Quantisierung, um die Fehler aufgrund der Codierung und Decodierung zu verringern. Die als schwierig zu codierend betrachteten Blöcke sind diejenigen, die eine ausgedehnte dunkle Zone aufweisen, die sich über die Grenze zwischen dem betreffenden Block und einem anderen Block erstreckt. In einer solchen dunklen Zone ist das Kornrauschen besonders gut sichtbar, und es macht die Grenze zwischen den zwei Blöcken deutlich, wenn die Codierung die Informationsmenge für Bilddetails zu sehr verringert.
- Fig. 1 zeigt die codierten Daten, die durch Anwendung des vorstehend beschriebenen Codierverfahren erhalten werden, und sie zeigt die Daten-Separatoren, die zwischen diese Daten eingefügt werden, um die Arten der verschiedenen codierten Datenpakete voneinander zu unterscheiden, die seriell übertragen werden.
- Zum Wiederfinden des Videotakt genannten Abtasttaktes der Bilder werden zwei Typen von Synchronisationsmustern unabhängig von den codierten Daten und ihren Separatoren übertragen, wobei die Übertragung dieser codierten Daten eingefroren wird. Ein Bildsynchronisationsmuster wird mit einer Frequenz von 25 Hz vor den codierten Daten jedes Teilbildpaares übertragen; ein Zeilensynchronisationsmuster wird mit einer Frequenz von 15625 Hz übertragen, um einen Taktgeber der Abtastfrequenz der Bildelemente nachzuregeln. Diese beiden Typen von Synchronisationsmustern haben keine feste Position in bezug auf die codierten Daten und sind in Fig. 1 nicht dargestellt.
- Es ist nicht erforderlich, daß die beiden Typen von Synchronisationsmustern nicht durch Verkettungen von Daten nachzuahmen sind, denn die Muster sind durch eine Bitzahl getrennt, die bis auf 1 Bit bestimmt ist. Ein Lernvorgang, der darin besteht, die Anwesenheit von aufeinanderfolgenden Mustern zu den vorgesehenen Zeitpunkten zu überprüfen, erlaubt es, sie von den Daten zu unterscheiden.
- In Fig. 1 geht den codierten Daten, die zwei Teilbildern entsprechen, ein Bildseparator voraus, der in diesem Beispiel 8 mal wiederholt wird. Jeder Bildseparator weist ein Radikal von 16 Bits mit 15 Nullen und 1 Eins auf, sowie ein Binärwort von 3 Bits, das die Ordnungszahl des Separators in den 8 Separatoren angibt. In der Praxis wird die Anzahl der Wiederholungen in Abhängigkeit von der Fehlerrate in dem Übertragungskanal gewählt. Das Präfix ist ein Binärwort, das durch eine erlaubte Verkettung der Huffmann-Codewörter und der Inter-Block-Separatorwörter nicht nachgeahmt werden kann. Die Wiederholung der Bildseparatoren erlaubt es, sie gegen isolierte Fehler und kleine Fehlerpakete zu schützen. Die Erfassung eines Bildseparators wird nur gültig gemacht, wenn sie mehrere Male durchgeführt worden ist, und wenn die genaue Position der Bildseparatoren dank der 3 Bits bekannt ist, die die Ordnungszahl jedes Bildseparators codieren.
- Die codierten Daten, die dem Block Nr. 1 entsprechen, werden nach dem achtmal wiederholten Bildseparator übertragen. Dann wird ein Inter-Block-Separator übertragen, der den für den Block Nr. 2 codierten Daten vorausgeht. Der Inter-Block-Separator weist ein Radikal aus 11 Bits auf, das aus 10 Nullen und 1 Eins besteht, ein Binärwort aus zwei Bits, das die Ordnungszahl des Blocks modulo 4 angibt, sowie ein Binärwort aus zwei Bits, das die Summe modulo 4 der Ordnungszahl des Blocks und der Anzahl der codierten Ereignisse in dem auf den Inter- Block-Separator folgenden Block wiedergibt. Das so gebildete Radikal kann nicht durch eine erlaubte Verkettung von Codewörtern nachgeahmt werden, die zu den acht Huffmann-Codierbäumen gehören. Hierzu weisen diese Codierbäume Codewörter auf, die mit höchstens 4 Nullen beginnen und auf höchstens 5 Nullen enden. Ein Codewort, das nur Nullen aufweist, ist verboten, denn würde es wiederholt, dann würde der Inter-Block- Separator nachgeahmt.
- Der untere Teil von Fig. 1 stellt das Format der für einen Block codierten Daten dar. Es weist auf: ein Binärwort aus drei Bits, das als Klasse des Blocks bezeichnet wird und einen Parameter darstellt, der in die Blockcodierung eingeht, wie weiter unten erläutert wird; ein Bit, das den Codiertyp der codierten Daten des Rot-Farbdifferenzsignals angibt, nämlich Inter-Bild oder Intra-Bild; dann diese Daten mit einer variablen Anzahl von Bits; dann einen Intra-Block-Separator, der durch ein Huffmann-Codewort gebildet ist; dann ein mit Inter-Intra bezeichnetes Bit, das den Codiertyp der codierten Daten für das Blau-Farbdifferenzsignal angibt; dann einen Intra-Block-Separator, der durch ein Huffmann-Codewort gebildet ist; dann ein Bit, das den Codiertyp für die codierten Daten des Luminanzsignals angibt; und schließlich die codierten Daten des Luminanzsignals.
- Es ist zu bemerken, daß die Bildseparatoren eine Redundanz einbringen, die aufgrund ihres seltenen Vorkommens zu vernachlässigen ist. Die Intra-Block-Separatoren sind unerläßlich, da der letzte Bereich von Nullen jedes Blocks nicht codiert wird. Sie sind nicht geschützt und bringen somit keine Redundanz ein. Dagegen besteht in den Inter-Block-Separatoren eine Redundanz. Die Inter-Block-Separatoren gehörten nach dem Stand der Technik zu den Inter-Bild- und Intra-Bild- Codierbäumen des Luminanzsignals und hatten eine Länge von 5 Bits. Der in diesem Ausführungsbeispiel verwendete hat eine Länge von 15 Bits, also eine Redundanz von 10 Bits. Andererseits weisen die Huffmann-Codierbäume der Farbdifferenzsignale ein reserviertes Wort auf, das aus fünf aufeinanderfolgenden Nullen gebildet ist, um den Wert 0+ zu codieren, was die mittlere Länge der Huffmann-Codes im Vergleich zu den beim Stand der Technik verwendeten erhöht. Die Informationsredundanz in den Inter-Block-Separatoren wird auf weniger als 1% der gesamten übertragenen Informationen geschätzt. Diese Redundanz ist gering, erlaubt es jedoch, den Schutz gegen Fehler bei den Inter-Block-Separatoren merklich zu verbessern.
- Es ist unerläßlich, daß die Inter-Block-Separatoren gut erfaßt werden, da der Verlust eines einzigen Bits der codierten Daten den vollkommenen Verlust der Synchronisation der Decodierung in bezug auf die Codierung hervorruft, und damit den Verlust eines ganzen Bildes.
- Falls ein Inter-Block-Separator fehlerhaft ist, läßt sich die Decodierung mittels eines Binärworts, das die Ordnungszahl des Blocks modulo 4 wiedergibt, wieder mit der Codierung synchronisieren.
- Es gibt wenigstens vier Möglichkeiten, einen Fehler in einem Block auf der Ebene der Inter-Block-Separatoren zu erfassen:
- - durch die Erfassung eines Inter-Block-Separators, bevor die beiden in jedem normalen Block enthaltenen Intra-Block-Separatoren erfaßt worden sind;
- - durch die Erfassung eines Inter-Block-Separators, dessen Anfang nicht mit dem Ende der Daten des vorhergehenden Blocks zusammenpaßt, wobei das Ende dieser Daten dank des Binärworts aus zwei Bits vorgesehen ist, das die Ordnungszahl des Blocks plus die Anzahl der Ereignisse modulo 4 angibt;
- - durch die Erfassung einer Blockordnungszahl modulo 4, die nicht gleich der Ordnungszahl des vorhergehenden Blocks inkrementiert um 1 ist;
- - durch die Erfassung einer Summe aus einer Blockordnungszahl und einer Anzahl von Ereignissen modulo 4, die nicht gleich der Summe der Ordnungszahl des Blocks und der Anzahl der empfangenen Ereignisse ist.
- Der Empfang eines Blocks wird nur gültig gemacht, wenn keine einzige dieser Bedingungen realisiert ist. Die Erfahrung zeigt, daß es die Verwendung der Ordnungszahl des Blocks modulo 4 und der Summe der Ordnungszahl des Blocks und der Anzahl der Ereignisse modulo 4, die in den Inter-Block-Separatoren übertragen werden, erlaubt, den größten Teil der Fehler zu erfassen, die die Blöcke berühren.
- Wenn ein Block als fehlerhaft erfaßt wird, dann besteht das Verfahren darin, ihn zu maskieren, indem er durch den entsprechenden Block in dem Teilbild ersetzt wird, das dem im Vorgang der Codierung befindlichen Teilbild unmittelbar vorausgeht. Es ist zu bemerken, daß ein isolierter Fehler an einem Inter-Block-Separator die Maskierung des vorausgehenden und des nachfolgenden Blocks nach sich zieht, da das Ende des ersten und der Anfang des zweiten nicht korrekt identifiziert werden können.
- Der störendste Fehler besteht aus Fehlerpaketen, die wenigstens vier aufeinanderfolgende Blöcke befallen, denn in diesem Fall ist es nicht möglich, die Decodierung wieder mit der Codierung zu synchronisieren, da die Ordnungszahl des Blocks modulo 4 übertragen wird. Alle folgenden Blöcke in dem gleichen Bild sind verschoben. Die Synchronisation wird erst am Anfang des folgenden Bildes wiedergefunden. Andererseits pflanzt sich der Fehler auf die folgenden Bilder in den Blöcken fort, die mit einer Inter-Bild-Codierung codiert worden sind. Die Fehlerbeständigkeit der Inter-Block-Separatoren läßt sich durch die Erhöhung des Modulo des Wortes steigern, das die Ordnungszahl des Blocks wiedergibt, sowie des Wortes, das die Summe der Ordnungszahl des Blocks und der Anzahl der Ereignisse wiedergibt.
- Fig. 2 stellt das Übersichtsschema eines Ausführungsbeispiels einer Codiervorrichtung mit einer Synchronisationsanordnung zur Durchführung des erfindungsgemäßen Verfahrens dar. Dieses Beispiel weist auf: einen Eingangseinschluß 1; einen Teilbildspeicher 2; einen ersten und einen zweiten Blockspeicher 3 bzw. 4; eine Einrichtung 5 zur Klassifizierung der Blöcke; eine Einrichtung 6 zur Codierung der Luminanz; eine Einrichtung 7 zur Codierung der Farbdifferenzen; eine Einrichtung 8 zum Berechnen des Quantisierungskoeffizienten und des Wichtungskoeffizienten; einen Speicher 9; eine Einrichtung 10, die ein Huffmann-Codierer und Generator von Separatoren ist; eine Ablaufsteuerung 11; ein Schieberegister 12; einen Bildsynchronisations- und Zeilensynchronisationsgenerator 13; eine Einrichtung 14 zum Berechnen der Füllung des Pufferspeichers, der aus dem Speicher 9, der Einrichtung 10 und dem Register 12 besteht; eine Einrichtung 15 zum Berechnen der übertragenen Informationsmenge sowie einen Ausgangsanschluß 19, der mit einem asynchronen Übertragungskanal verbunden ist, der einen konstanten Durchsatz von 10 Mb pro Sekunde aufweist.
- Der Eingangsanschluß 1 erhält in Form eines Tripels aus Binärwörtern parallel einen Luminanzwert Y, einen Rot-Farbdifferenzwert DR sowie einen Blau-Farbdifferenzwert DB. Jedes Tripel stellt ein Bildelement dar. Die betrachtete Bildfolge ist eine Folge von klassischen Fernsehbildern, worin jedes Bild aus zwei verschachtelten Teilbildern besteht; jedoch sind diese zwei Teilbilder unabhängig codiert. Das Luminanzsignal wird mit einer Frequenz von 10,125 MHz abgetastet, und jedes der Farbdifferenzsignale wird mit einer Frequenz von 5,06 MHz abgetastet. Die Codiereinrichtungen 6 und 7 arbeiten parallel. Während die Einrichtung 6 zwei Luminanzwerte codiert, codiert die Einrichtung 7 einen Rot-Farbdifferenzwert sowie einen Blau-Farbdifferenzwert.
- Ein Dateneingang des Teilbildspeichers 2 ist mit dem Eingangseinschluß 1 verbunden. Lese- und Schreibsteuereingänge dieses Speichers 2 sind über nicht dargestellte Verbindungen mit Ausgängen der Ablaufsteuerung 11 verbunden. Die Ablaufsteuerung 11 steuert die Speicherung der Werte Y, DR, DB nach ihrer Verfügbarkeit. Ein Datenausgang des Speichers 2 ist mit Dateneingängen der Blockspeicher 3 und 4 verbunden. Steuereingänge der Speicher 3 und 4 sind über nicht dargestellte Verbindungen mit Ausgängen der Ablaufsteuerung 11 verbunden. Die Ablaufsteuerung 11 steuert das Auslesen aus dem Speicher 2 und das Schreiben in den Speicher 3 von 16·16 Luminanzwerten, die für einen Block von 16·16 Bildelementen stehen. Gleichzeitig steuert sie das Auslesen aus dem Speicher 2 und das Schreiben in den Speicher 4 von 8·16 Rot-Farbdifferenzwerten und von 8·16 Blau-Farbdifferenzwerten, die für den gleichen Block von Bildelementen stehen.
- Ein Datenausgang des Blockspeichers 3 ist mit einem Eingangsanschluß 20 der Einrichtung 6 und mit einem Eingang der Klassifiziereinrichtung 5 verbunden. Ein Datenausgang des Blockspeichers 4 ist mit einem Eingang der Einrichtung 7 verbunden. Ein weiterer Eingang der Einrichtung 7 und ein Eingangsanschluß 21 der Einrichtung 6 sind mit einem Ausgang der Einrichtung 8 verbunden. Die Einrichtung 8 liefert den Wert eines Quantisierungskoeffizienten und eines Wichtungskoeffizienten, die so berechnet sind, daß der Durchsatz an auf dem Übertragungskanal übertragenen, codierten Informationen reguliert wird. Die Einrichtung 8 besitzt einen ersten Eingang, der mit einem Ausgang der Klassifiziereinrichtung 5 verbunden ist, sowie einen zweiten Eingang, der mit einem Ausgang der Recheneinrichtung 14 verbunden ist. Die Einrichtung 14 besitzt einen ersten Eingang, der mit einem Ausgang der Einrichtung 15 verbunden ist, einen zweiten Eingang, der mit einem Ausgangsanschluß 22 der Einrichtung 6 verbunden ist, sowie einen dritten Eingang, der mit einem ersten Ausgang der Einrichtung 7 verbunden ist.
- Der Speicher 9 besitzt: einen ersten Dateneingang, der mit einem Ausgangsanschluß 23 der Einrichtung 6 verbunden ist, sowie mit einem zweiten Ausgang der Einrichtung 7; einen zweiten Dateneingang, der mit einem Ausgangsanschluß 24 der Einrichtung 6 sowie mit einem dritten Ausgangsanschluß der Einrichtung 7 verbunden ist, und einen dritten Dateneingang, der mit einem Ausgang der Ablaufsteuerung 11 verbunden ist.
- Die Rolle des Speichers 9 besteht darin, die Werte der Cosinustransformationskoeffizienten oder der Cosinustransformations-Koeffizientendifferenzen oder die Längen von Bereichen von Nullen zu speichern, die die Luminanz- oder Farbdifferenzwerte repräsentieren, um eine Regelung des Durchsatzes der codierten Informationen zu ermöglichen, die in den Kanal geschickt werden. Die von dem ersten Dateneingang des Speichers 9 erhaltenen Daten sind Werte von Transformationskoeffizienten oder von Differenzen von Transformationskoeffizienten, oder von Längen von Bereichen von Nullen. Die von dem zweiten Dateneingang des Speichers 9 erhaltenen Daten sind Zeiger, die den an dem ersten Dateneingang anliegenden Daten entsprechen, um den Typ der Codierung (Inter- oder Intra-Bild) und den Datentyp anzugeben: Daten, die Luminanzwerten entsprechen, oder einer Blau- oder Rot-Farbdifferenz, und zur Angabe der Koeffizienten oder der Differenzen von Koeffizienten, die von Null verschieden sind, einerseits, und von Längen von Bereichen von Nullen andererseits.
- Die von dem dritten Dateneingang des Speichers 9 erhaltenen Daten entsprechen ebenfalls den von dem ersten Eingang erhaltenen Daten und geben den Anfang eines Blocks oder, im Inneren eines Blocks, den Anfang der Luminanzdaten oder den Anfang der Daten einer Rot-Farbdifferenz, oder aber den Anfang der Daten einer Blau-Farbdifferenz an. Diese zwei Zeiger werden in dem Speicher 9 gleichzeitig mit einem Datenwert gespeichert, der für die Luminanz oder eine Farbdifferenz steht, und sie bilden einen Befehl zur Steuerung der Huffmann-Codierer- und Separatoren-Generator-Einrichtung 10, so daß die Daten nach 8 verschiedenen Huffmann-Bäumen codiert werden und die Inter-Block-Separatoren, die Intra-Block-Separatoren und die Inter-Bild-Separatoren geliefert werden. Der Speicher 9 besitzt zwei Ausgänge, die jeweils mit einem von zwei Eingängen der Einrichtung 10 verbunden sind, um dieser parallel einen Datenwert und eine entsprechenden Befehl zu liefern.
- Der Speicher 9 besitzt außerdem Schreib- und Lesesteuereingänge, die über nicht dargestellte Verbindungen jeweils mit Ausgängen der Ablaufsteuerung 11 verbunden sind. Die Ablaufsteuerung 11 steuert das Auslesen der Daten und der entsprechenden Befehle nach der Codierung und Übertragung dieser Daten auf dem Kanal durch die Einrichtung 10. Die Einrichtung 10 signalisiert der Ablaufsteuerung 11 über eine nicht dargestellte Verbindung ihre Verfügbarkeit.
- Die Einrichtung 10 besitzt einen Ausgang, der mit einem parallelen Eingang des Schieberegisters 12 verbunden ist. Das Register 12 besitzt einen Ausgang, der mit dem Ausgangsanschluß 19 der Codiereinrichtung verbunden ist, und es besitzt einen Steuereingang, der ein Taktsignal HC empfängt, das den Übertragungstakt auf dem Kanal definiert. Der Bild- und Zeilensynchronisationsgenerator 13 besitzt einen Ausgang, der auch mit dem Ausgangsanschluß 14 verbunden ist, um Synchronisationsmuster mit der Bildfrequenz und der Zeilenfrequenz zu liefern. Der Generator 13 wird mittels einer nicht dargestellten Verbindung durch die Ablaufsteuerung 11 gesteuert. Die Übertragung der Synchronisationsmuster wird völlig unabhängig von der Übertragung der codierten Daten und ihrer Separatoren durchgeführt, indem periodisch die Übertragung dieser codierten Daten eingefroren wird, um die Synchronisationsmuster zu übertragen. Diese Muster erlauben es, nach der Decodierung den Bild- und Zeilentakt wiederzugewinnen, der im Verhältnis zum Takt des Kanals asynchron ist.
- Die Einrichtung 10 ist im wesentlichen durch eine Ablaufsteuerung und Festwertspeicher gebildet. Die Festwertspeicher erlauben es, ausgehend von den durch den Speicher 9 gelieferten Daten, eine Umcodierung durchzuführen; diese Umcodierung hängt vom Typ der Daten ab, und dieser wird durch den sie begleitenden Befehl angegeben. Die Ablaufsteuerung wird durch diese Befehle gesteuert, um einen Festwertspeicher auszuwählen, der einem für die umzucodierenden Daten geeigneten Huffmann-Code entspricht. Die Ablaufsteuerung liefert auch die Binärwörter, die die Inter-Block-, Intra-Block- und Bild- Separatoren bilden. Diese Ablaufsteuerung weist Zähler auf, um die Ordnungszahl jedes Bild-Separators, jedes Blocks modulo 4, sowie die Summe der Ordnungszahl jedes Blocks und der Anzahl der codierten Ereignisse in diesem Block modulo 4 zu bestimmen, um in Entsprechung zu dem oben beschriebenen Verfahren diese Werte in die Separatoren einzuschließen.
- Die Ablaufsteuerung 11 liefert der Gesamtheit der Elemente dieser Codiereinrichtung Taktsignale, und sie liefert insbesondere den Einrichtungen 6 und 7 Steuersignale mit einer Periode, die der Verarbeitung eines Blocks von 16·16 Bildelementen entspricht. Es ist zu beachten, daß die für die Bildelemente stehenden Werte in dem Teilbildspeicher 2 mit Haltezeitintervallen gespeichert werden, die der Zeilen- und Teilbildaustastung entsprechen. Diese repräsentativen Werte werden jedoch aus dem Speicher 2 mit einer etwas langsameren Geschwindigkeit wieder ausgelesen, so daß das Auslesen mit einem regelmäßigen Takt durchgeführt wird, ohne die Zeitintervalle der Zeilen- und Teilbildaustastung zu berücksichtigen.
- Ein Ausgang der Einrichtung 10 ist mit einem parallelen Eingang des Schieberegisters 12 verbunden, um ihm ein Binärwort zu liefern, das einem codierten Datenwert oder einem Separator entspricht. Das Schieberegister 12 überträgt die Bits dieses Binärwortes unter der Wirkung des Taktsignals HC, das dem Übertragungstakt auf dem betrachteten Kanal entspricht, nacheinander zu dem Ausgangsanschluß 19.
- Die Einrichtung 8 liefert einen Wichtungskoeffizienten, der für die Einrichtung 6 zum Codieren der Luminanz und für die Einrichtung 7 zum Codieren der Farbdifferenzen der gleiche ist; und sie liefert einen Quantisierungskoeffizienten, der bis auf einen Multiplikationskoeffizienten für die Einrichtungen 6 und 7 gleich ist. Diese beiden Koeffizienten stellen also eine gemeinsame Regelung für den Durchsatz der zu übertragenden Informationen sicher, die der Luminanz entsprechen, sowie für die zu übertragenden Informationen, die den Farbdifferenzen entsprechen. Der Speicher 9 speichert diese zwei Arten von zu übertragenden Informationen, sowie Zeiger, die es erlauben, diese unterschiedlichen Arten von Informationen zu identifizieren und die Befehle zum Steuern der Einrichtung 10 bilden.
- Da der Speicher 9 vor dem Huffmann-Codierer 10 angeordnet ist, besteht die Regelung des Bitflusses auf dem Kanal tatsächlich darin, durch die variable Wichtung und Quantisierung auf die Amplitude der Koeffizienten oder der Koeffizientendifferenzen einzuwirken, bevor sie mittels des Huffmann-Codierers codiert werden. Eine Reduzierung der Amplitude zeigt sich in einer Reduzierung der Bitzahl am Ausgang des Huffmann-Codierers. All dies läuft ab, als ob es anstelle des Speichers 9, der Einrichtung 10 und des Registers 12 nur einen Pufferspeicher gäbe, der die Binärdaten seriell speichert und sie seriell dem Kanal wiedergibt. Tatsächlich berechnet die Einrichtung 14 nicht die Füllung des Speichers 9, sondern die Füllung dieses Pufferspeichers. Die Füllung des Pufferspeichers ist gleich der Menge an Binärinformationen in der Form von Huffmann-Codes, die zum betrachteten Zeitpunkt noch zu übertragen sind. Es gibt keine mathematische Beziehung zwischen der Füllung des Speichers 9 und der Füllung des Pufferspeichers. Folglich wird die Kapazität des Speichers 9 unter Berücksichtigung der mittleren Länge der Huffmann-Codes gewählt. In diesem Beispiel ist die mittlere Länge gleich 2 Bits. Der Speicher 9 hat eine Kapazität von 32K Wörtern, wobei jedes Wort aus einem Datenwert und einem Befehl gebildet ist, und entspricht einer Kapazität von 64K Bits für den Pufferspeicher, wie er oben definiert worden ist.
- Die Einrichtung 15 liefert der Einrichtung 14 den Wert der auf dem Kanal übertragenen Informationsmenge. Die Einrichtungen 6 und 7 liefern der Einrichtung 14 den Codieraufwand jedes Koeffizienten oder jeder Differenz von Koeffizienten. Die Einrichtung 14 berechnet den Wert der Füllung des Pufferspeichers, indem sie die Codieraufwendungen kumuliert und die übertragene Menge subtrahiert. Dann liefert sie den Füllungswert an die Recheneinrichtung 8, die entsprechend den Formeln (3) bis (8) einen Quantisierungskoeffizienten und einen Wichtungskoeffizenten bestimmt, wobei die Stärke der Quantisierung und der Wichtung in Abhängigkeit von der Klasse des Blocks moduliert wird, die durch die Einrichtung 5 bestimmt worden ist.
- Die Einrichtung 8 kann durch einen Mikroprozessor und einen Programmspeicher gebildet sein, um die vorstehend beschriebenen Rechenabläufe auszuführen. Das Programmieren dieser Rechenabläufe stellt eine herkömmliche Arbeit dar, die im Vermögen des Fachmanns liegt.
- Die Wichtung erlaubt es, die Tatsache auszunutzen, daß ein Quantisierungsfehler in den den höheren räumlichen Frequenzen entsprechenden Koeffizienten keine zu große Verschlechterung im decodierten Bild nach sich zieht. Dagegen zieht ein Quantisierungsfehler in den den hohen Raumfrequenzen des Bildes zugeordneten Koeffizienten eine schlechtere Wiedergabe des decodierten Bildes nach sich. Die Wichtung wird so vorgenommen, daß die den tiefen räumlichen Frequenzen entsprechenden Koeffizienten bevorzugt werden. Der Wichtungskoeffizient für die Luminanz wird von der Einrichtung gemäß folgender Formel berechnet:
- worin u und v der jeweilige Spalten- bzw. Zeilenindex des Koeffizienten oder der Koeffizientendifferenz sind, auf die sich die Wichtung bezieht; worin R eine Konstante ist, die von der Größe des Blocks und der Bildabtastfrequenz abhängt und den Wert 1,4 für eine Abtastfrequenz von 10,125 Mhz und eine Blockgröße von 16·16 aufweist; und worin Nor ein konstanter Parameter ist, der jedoch eine Funktion von R ist und durch die folgende Formel gegeben ist:
- Nor = 0,42 für eine Abtastfrequenz von 10,125 MHz;
- und worin Pon ein variabler Parameter ist, der die Stärke der Wichtung festlegt. Sein Wert ist eine Funktion des Füllungsgrades des Pufferspeichers, der die zu übertragenden codierten Informationen speichert, die den drei Signalarten entsprechen, die für die Bildelemente repräsentativ sind. Diese Informationen sind diejenigen, die den Blöcken entsprechen, die dem Bildelementblock vorangehen, der gerade codiert wird. Die betrachtete Anzahl von Bits ist diejenige, die gemäß der Huffmann-Codierung der von Null verschiedenen Werte, der bereichsweisen Codierung der Nullwerte und nach dem Einfügen der Separatorwörter für die Daten erhalten wird. Die Stärke der Wichtung ist eine mit der Füllung des Pufferspeichers zunehmende Funktion, um dieser Auffüllung entgegenzuwirken.
- Bei diesem Ausführungsbeispiel ist die Kapazität des Pufferspeichers 64 Kilobits. Der Wert des Parameters Pon und das erhaltene Wichtungsverhältnis zwischen den hohen und tiefen räumlichen Frequenzen des Bildes sind in der nachfolgenden Tabelle angegeben: Füllung des Pufferspeichers Wert des Parameters Pon Für das Wichtungsverhältnis hohe/tiefe Frequenzen erhaltener Wert
- Diese Tabelle ist in dem in der Einrichtung 8 enthaltenen Festwertspeicher abgelegt.
- Der Wert der Transformationskoeffizienten oder der Differenzen von Transformationskoeffizienten für die Farbdifferenzsignale wird mit einem Koeffizienten gewichtet, der durch die folgende Formel gegeben ist:
- worin R' eine Konstante ist, die von der Größe des Blocks und der Abtastfrequenz für das Farbdifferenzsignal abhängt und für Blöcke der Größe 16·8 und eine Abtastfrequenz von 5,0625 MHz den Wert 0,7 hat; und worin Nor' eine Konstante ist, die durch die folgende Formel gegeben ist:
- Nor' = 0,59 für eine Abtastfrequenz von 5,0625 MHz.
- Der Wichtungskoeffizient Pch(u, v) ist über die Variable Pon ebenfalls von der Füllung des Pufferspeichers abhängig, damit er am Einstellablauf für den Durchsatz der zu übertragenden codierten Informationen teilnimmt. Der Wichtungskoeffizient ist derselbe für die Daten, die durch Inter-Bild- Codierung codiert wurden, und für die diejenigen, die durch Intra-Bild-Codierung codiert wurden.
- Der Regelungsvorgang besteht ferner darin, daß der Wert des Transformationskoeffizienten oder der Differenzen von Transformationskoeffizienten eines Blocks mit einem Quantisierungskoeffizienten multipliziert wird, der eine Funktion der Füllung des Pufferspeichers ist, der die codierten Daten enthält, die den Blöcken entsprechen, die dem Block vorausgehen, der gerade codiert wird.
- Die Quantisierungsoperation wird für die durch die Intra- Bild-Codierung erhaltenen Transformationskoeffizienten und für die durch die Inter-Bild-Codierung erhaltenen Differenzen von Transformationskoeffizienten nach dem Wichtungsablauf parallel ausgeführt. Für einen gegebenen Bildelementblock werden alle Transformationskoeffizienten und alle Differenzen von Transformationskoeffizienten, die der Luminanz entsprechen, mit demselben Quantisierungskoeffizientenwert multipliziert. Alle Transformationskoeffizienten und alle Differenzen von Transformationskoeffizienten, die den zwei Farbdifferenzsignalen entsprechen, werden mit einem Wichtungskoeffizienten multipliziert, der bis auf eine konstanten Multiplikationsfaktor denselben Wert wie derjenige für die Luminanz hat. Diese Konstante ist gleich 1,41, um einen konstanten Multiplikationsfaktor zu kompensieren, der im Verlauf der Berechnung der Cosinustransformationen eingeführt wurde und für Blöcke unterschiedlicher Größen geringfügig verschieden ist, wie dies einerseits für die Luminanz und andererseits für die Farbdifferenzen gilt.
- Der Quantisierungskoeffizient ist für eine Füllung Eb des Pufferspeichers, die kleiner ist als ein Schwellenwert, eine Konstante, und er nimmt exponentiell ab, wenn die Füllung Eb über diesem Schwellenwert liegt. Im vorliegenden Beispiel, bei dem die Kapazität des Pufferspeichers 64000 Bits entspricht, wird der Schwellenwert für die Füllung auf 56000 gesetzt. Für die Luminanz ist der Quantisierungskoeffizient durch die folgende Formel gegeben:
- Für die Farbdifferenzsignale ist der Quantisierungskoeffizient durch die folgende Formel gegeben:
- wobei die Konstanten Nor und Nor' die vorstehend definierten Werte haben.
- Die Werte der Transformationskoeffizienten oder der Differenzen von Transformationskoeffizienten werden nach der Wichtung und der Quantisierung abgeschnitten, um sie auf den nächstliegenden ganzzahligen Wert zu runden.
- Die Zähleinrichtung 15 bestimmt auf Grund des Taktsignals HC die Anzahl der übertragenen Bits, wobei ihr das Signal den Übertragungstakt auf dem Kanal angibt, der bekannt und konstant ist, der aber bezüglich des Abtasttakt der Bilder asynchron ist. Der Wert des Wichtungsverhältnisses der hohen Frequenzen zu den niedrigen Frequenzen entspricht den in Fig. 2 dargestellten Werten. Der Quantisierungskoeffizient der Luminanz weist einen konstanten Wert für eine Füllung des Pufferspeichers auf, die von 0 bis 56 Kb variiert, und er nimmt dann exponentiell für eine Füllung ab, die von 56 Kb bis 64 Kb variiert.
- Die Einrichtung 5 weist in Reihe zwischen ihrem Eingang und ihrem Ausgang auf: eine Einrichtung 16 zum Berechnen der mittleren Luminanz in Randzonen jedes Blocks von Bildelementen; eine Einrichtung 17 zum Bestimmen der minimalen Luminanz in jedem Block; sowie eine Einrichtung 18 zum Bestimmen der Klasse eines Blocks.
- Die Einrichtung 16 berechnet die mittlere Luminanz in 12 Unterblöcken mit 4·4 Bildelementen am Rande jedes Blocks; dann berechnet sie die mittlere Luminanz in 12 Zonen mit 4·8 Elementen, wobei jede Zone von zwei zusammenhängenden Unterblökken gebildet wird. Die Einrichtung 17 bestimmt unter den durch die Einrichtung 16 berechneten Mittelwerten den Minimalwert. Die Einrichtung 18 vergleicht diesen Mittelwert bezüglich 7 festgelegter Schwellwerte und leitet daraus ein Binärwort ab, dessen Wert von 0 bis 7 reichen kann, und das die Klassennummer des Blocks bildet, die die Schwierigkeit der Codierung und der Wiederherstellung dieses Blocks zum Ausdruck bringt. Die Einrichtung 5 wird durch die Ablaufsteuerung 11 über nicht dargestellte Verbindungen gesteuert. Die Einrichtung 5 kann in Form einer festverdrahteten Logikschaltung oder in Form eines Mikroprozessors und eines Programmspeichers realisiert sein. In beiden Fällen liegt ihre Realisierung im Vermögen des Fachmanns.
- Fig. 3 stellt das Übersichtsschema der Einrichtung 6 zur Codierung der Luminanz dar. Das Übersichtsschema der Einrichtung 7 entspricht vollkommen dem der Einrichtung 6. Bei diesem Ausführungsbeispiel weist die Einrichtung 6 auf: eine Einrichtung 43 zum Berechnen einer zweidimensionalen Cosinustransformation an Blöcken mit den Dimensionen 16·16. Die Einrichtung 43 besitzt einen Eingang, der mit dem Eingangsanschluß 20 verbunden ist, um nacheinander die Luminanzwerte zu empfangen, die einem Bildblock entsprechen. Die zweidimensionale Transformation wird in zwei Stufen berechnet, die zwei eindimensionalen Transformationen entsprechen, wobei der bekannte Algorithmus von Beyong Gi Lee angewendet wird. Die Einrichtung 43 kann beispielsweise nach der Beschreibung der französischen Patentanmeldung 2 581 463 ausgeführt sein.
- Die Codiereinrichtung 6 weist außerdem Mittel auf, die es erlauben, parallel die Transformationskoeffizienten eines Blocks von Luminanzwerten und die Differenzen zwischen diesen Koeffizienten und den Transformationskoeffizienten des entsprechenden Blocks in dem vorausgehenden Teilbild zu berechnen. Sie führt die Operationen der Wichtung, der Quantisierung und der Codierung der Bereiche von Nullen parallel an den Koeffizienten und an den Differenzen von Transformationskoeffizienten durch.
- Die durch die Einrichtung 43 berechneten Transformationskoeffizienten werden nacheinander durch eine Wichtungseinrichtung 45, eine Quantisierungseinrichtung 46 sowie eine Einrichtung 47 zum Codieren der Bereiche von Nullen verarbeitet. Letztere besitzt einen ersten und einen zweiten Eingang, die jeweils die codierten Daten sowie einen Zeiger liefern, der den Typ der gelieferten Daten angibt, d. h. Wert eines Transformationskoeffizienten oder Länge eines Bereichs von Nullen. Diese beiden Ausgänge sind jeweils mit zwei Eingängen eines Speichers 52 verbunden, der dazu dient, für einen Block von Bildelementen, der nach der Intra-Bild-Codierung codiert worden ist, Daten und die entsprechenden Zeiger zu speichern. Der Speicher 52 besitzt zwei Datenausgänge, die mit zwei Eingängen a&sub1; bzw. a&sub2; eines Multiplexers 51 verbunden sind, um ihm jeweils ein Datenwort und ein Zeigerwort zu liefern.
- Die Einrichtung 6 weist auch einen Subtrahierer 44 mit einem ersten Eingang auf, der mit dem Ausgang der Einrichtung 43 verbunden ist, um den Wert eines Transformationskoeffizienten zu empfangen, sowie mit einem zweiten Eingang, der mit einem Ausgang des Speichers 42 verbunden ist, der die Werte der Transformationskoeffizienten des dem gerade verarbeiteten entsprechenden Blocks in dem unmittelbar vorher codierten Teilbild speichert. Der Subtrahierer 44 berechnet also die Differenz zwischen einem Transformationskoeffizienten und dem entsprechenden Transformationskoeffizienten in dem vorhergehenden Teilbild. Diese Differenz wird dann nacheinander durch eine Wichtungseinrichtung 48, eine Quantisierungseinrichtung 49 sowie eine Einrichtung 50 zum Codieren der Bereiche von Nullen verarbeitet. Die Einrichtung 50 besitzt zwei Ausgänge, die jeweils einen codierten Datenwert liefern, der durch eine Differenz von Transformationskoeffizienten oder durch eine Länge von Bereichen von Nullen gebildet ist, sowie einen Zeiger, der diesem Datentyp entspricht.
- Diese beiden Ausgänge sind jeweils mit einem von zwei Dateneingängen des Blockspeichers 53 verbunden, der zum Speichern der Daten und der entsprechenden Zeiger für einen Block von Bildelementen dient, der nach der Inter-Bild-Codierung codiert worden ist. Der Speicher 53 besitzt zwei Datenausgänge, die jeweils mit einem von zwei Eingängen b&sub1; und b&sub2; des Multiplexers 51 verbunden sind, um ihm jeweils ein Datenwort und ein Zeigerwort zu liefern, wobei letzteres einen Befehl zum Steuern der Einrichtung 10 darstellt.
- Der Multiplexer 51 besitzt einen Steuereingang, der mit einem Ausgang einer Einrichtung 39 zum Auswählen des Codiertyps verbunden ist. Er besitzt darüberhinaus zwei Ausgänge, die mit den Ausgangsanschlüssen 23 bzw. 24 der Einrichtung 6 verbunden sind, um jeweils einen Befehl und ein Datenwort zu liefern, das durch den Wert eines Transformationskoeffizienten, den Differenzwert des Transformationskoeffizienten oder den Wert der Länge eines Bereichs von Nullen gebildet ist. Je nach dem Wert eines Steuersignals, das durch die Einrichtung 39 geliefert wird, verbindet der Multiplexer 51 jeweils die Eingänge a&sub1; und a&sub2; mit seinen beiden Ausgängen, oder er verbindet jeweils die Eingänge b&sub1; und b&sub2; mit seinen beiden Ausgängen, je nachdem, ob die durchzuführende Codierung eine Intra-Bild-Codierung oder eine Inter-Bild-Codierung ist.
- Die Wichtungseinrichtungen 45 und 48 sowie die Quantisierungseinrichtungen 46 und 49 besitzen Steuereingänge, die mit dem Eingangsanschluß 21 der Einrichtung 6 verbunden sind, um jeweils ein Binärwort zu empfangen, das den Wichtungskoeffizienten bzw. den Quantisierungkoeffizienten definiert, der auf die Transformationskoeffizienten und die Differenzen von Transformationskoeffizienten der Luminanzwerte angewendet wird. Der Eingangsanschluß 21 ist auch mit einem Eingang einer Einrichtung 30 zum Berechnen des Kehrwerts des Wichtungskoeffizienten und des Quantisierungskoeffizienten verbunden.
- Die Einrichtung 6 weist darüberhinaus eine Einrichtung 31 zum Decodieren der Bereiche von Nullen auf, die den Transformationskoeffizienten entsprechen, wobei die Einrichtung 31 zwei Eingänge aufweist, die jeweils mit den zwei Ausgängen der Einrichtung 47 verbunden sind, sowie einen Ausgang, der entweder einen von Null verschiedenen Transformationskoeffizienten liefert, der durch den ersten Ausgang der Einrichtung 47 abgegeben wird, oder eine Folge von Nullwerten, je nach dem Wert des Zeigers, der von dem zweiten Ausgang der Einrichtung 47 geliefert ist. Die Nullwerte oder die von Null verschiedenen Werte von Transformationskoeffizienten, die durch die Einrichtung 31 geliefert sind, werden dann nacheinander durch eine Einrichtung 32 zur inversen Quantisierung sowie durch eine Einrichtung 33 zur inversen Wichtung verarbeitet und werden danach zu einem ersten Eingang eines Multiplexers 34 geliefert.
- Die Einrichtung 6 weist außerdem eine Einrichtung 35 zum Decodieren der Bereiche von Nullen auf, die Differenzen von Transformationskoeffizienten entsprechen, deren zwei Eingänge mit dem ersten bzw. dem zweiten Ausgang der Einrichtung 50 verbunden sind, um jeweils Daten zu empfangen, die aus Differenzen von Transformationskoeffizienten oder Längen von Bereichen von Nullen bestehen, sowie Zeiger, die den Typ dieser Daten angeben. Die Einrichtung 35 überträgt die von Null verschiedenen Differenzen von Transformationskoeffizienten, ohne sie zu modifizieren, und sie liefert eine Folge von Nullwerten, um die Bereiche von Differenzen von Transformationskoeffizienten des Wertes Null wiederherzustellen. Diese Differenzwerte von Transformationskoeffizienten werden durch einen Ausgang der Einrichtung 35 geliefert und werden nacheinander durch eine Einrichtung 36 zur inversen Quantisierung und durch eine Einrichtung 37 zur inversen Wichtung verarbeitet, worauf sie an einen zweiten Eingang des Multiplexers 34 angelegt werden.
- Die Einrichtungen 33 und 37 zur inversen Wichtung sowie die Einrichtungen 32 und 36 zur inversen Quantisierung besitzen Steuereingänge, die mit einem Ausgang der Einrichtung 30 verbunden sind, um den inversen Wichtungskoeffizienten und den inversen Quantisierungskoeffizienten zu empfangen, die den Luminanzwerten des gerade verarbeiteten Blocks entsprechen und durch die Einrichtung 30 berechnet worden sind. Der Multiplexer 34 besitzt einen Ausgang, der entweder mit ihrem ersten Eingang oder mit ihrem zweiten Eingang verbunden ist, je nach dem Wert eines Binärsignals, das an einem Steuereingang anliegt, der mit dem Ausgang der Einrichtung 39 zum Auswählen des Codiertyps verbunden ist. Der Ausgang des Multiplexers 34 ist mit einem Dateneingang eines Speichers 41 verbunden, der die Werte der Transformationskoeffizienten aller Blöcke von Bildelementen des Teilbildes speichert, das unmittelbar vorher verarbeitet worden ist.
- Ein Datenausgang des Speichers 41 ist mit einem Dateneingang eines Speichers 42 verbunden, der ausschließlich die Transformationskoeffizienten des Blocks im vorhergehenden Teilbild speichert, der dem gerade verarbeiteten Block von Bildelementen entspricht. Die Speicher 41 und 42 besitzen Schreib- und Lesesteuereingänge, die über nicht dargestellte Verbindungen mit Ausgängen der Ablaufsteuerung 11 verbunden sind. Ein Dateneingang des Speichers 42 ist mit einem zweiten Eingang des Subtrahierers 44 verbunden, um ihm den Wert der Transformationskoeffizienten des entsprechenden Blocks in einer Reihenfolge zu liefern, die der Reihenfolge der Transformationskoeffizienten entspricht, die durch die Einrichtung 43 berechnet worden sind, wobei die Reihenfolge beispielsweise den in Fig. 1 dargestellten Zickzackverlauf nimmt. Der Speicher 42 und der Speicher 41 spielen die Rolle einer digitalen Verzögerungsleitung, die eine Verzögerung um ein Teilbild erzeugt.
- Darüberhinaus enthält die Einrichtung 6 eine Einrichtung 38 zum Berechnen des Intra-Bild-Codieraufwandes sowie eine Einrichtung 40 zum Berechnen des Inter-Bild-Codieraufwandes für den gleichen Block von Bildelementen. Die Einrichtung 38 besitzt zwei Eingänge, die jeweils mit einem von zwei Ausgängen der Einrichtung 47 verbunden sind, sowie einen Ausgang, der mit einem Eingang der Einrichtung 39 zum Auswählen des Codiertyps verbunden ist. Die Einrichtung 40 besitzt zwei Eingänge, die jeweils mit einem der beiden Ausgänge der Codiereinrichtung 50 verbunden sind, sowie einen Ausgang, der mit einem anderen Eingang der Einrichtung 39 verbunden ist. Die Einrichtungen 38 und 40 berechnen einen Codieraufwand unter Berücksichtigung der Inter-Block-, Intra-Block- und Inter- Bild-Separatoren sowie unter Berücksichtigung der Huffmann- Codewörter, die zum Codieren jedes Transformationskoeffizienten, jeder Differenz von Transformationskoeffizienten und jedes Bereiches von Nullen verwendet werden. Die Auswähleinrichtung 39 empfängt also gleichzeitig zwei Binärwörter, die den durch die Intra-Bild-Codierung und den durch die Inter- Bild-Codierung verursachten Aufwand angeben.
- Die Einrichtung 39 bestimmt, welches der geringste Aufwand ist und wählt im Prinzip den Codiertyp, der diesem Aufwand entspricht. Aber sie kann auch eine Intra-Bild-Codierung aufzwingen. Die Einrichtung 39 besitzt einen ersten Ausgang, der mit den Steuereingängen der Multiplexer 34 und 51 verbunden ist, um die Inter-Bild- oder die Intra-Bild-Codierung zu steuern; und sie besitzt einen zweiten Ausgang, der mit dem Ausgangsanschluß 22 verbunden ist, um den Codieraufwand des Blocks zu liefern. Dieser Aufwand wird zum Berechnen der Füllung des virtuellen Pufferspeichers verwendet.
- Die Einrichtung 39 kann zum Vergleichen der Codieraufwendungen und zum Erzwingen der Intra-Bild-Codierung in bestimmten Fällen aus einem Mikroprozessor und einem Festwertspeicher bestehen, der ein Programm enthält, um das Verfahren entsprechend durchzuführen.
- Das Verfahren des Erzwingens beinhaltet drei Kriterien. Ein erstes Kriterium besteht darin, die Differenz zwischen dem Aufwand für die Intra-Bild-Codierung und dem Aufwand für die Inter-Bild-Codierung zu berechnen; dann diese Differenz durch den Aufwand für die Inter-Bild-Codierung zu dividieren; dann das Ergebnis mit einem ersten, variablen Schwellwert zu vergleichen. Dieser erste Schwellwert wird berechnet, indem die Anzahl N(i,j) der Blöcke gezählt wird, die die Koordinaten (i,j) haben und mit einer Inter-Bild-Codierung codiert worden sind, seit zum letzten Mal ein Block von Koordinaten (i,j) mit einer Intra-Bild-Codierung codiert worden ist, und schließlich indem eine Funktion von N(i,j) dividiert durch eine Konstante berechnet wird. Diese Funktion kann beispielsweise N²(i,j) sein.
- Ein zweites Kriterium des Erzwingens besteht im Vergleich der Anzahl N(i,j) mit einem zweiten Schwellwert N&sub0;, der z. B. auf 30 festgelegt ist. Die Codierung in einer Intra-Bild- Codierung wird erzwungen, wenn N(i,j) 30 überschreitet.
- Ein drittes Kriterium, das die Operationen des Erzwingens zeitlich verteilen soll, besteht darin, die Nummer des betreffenden Blocks in dem betreffenden Bild mit einem Wert N&sub1; modulo 4 zu vergleichen. Der Wert N&sub1; ist ein ganzer Wert, der von 0 bis 3 variiert und sich bei jedem Teilbild ändert.
- Die Realisierung dieses Rechenprogramms für einen Mikroprozessor liegt im Vermögen des Fachmanns.
- Fig. 4 stellt das Übersichtsschema eines Ausführungsbeispiels eines Bild-Decodierers zur Durchführung des erfindungsgemäßen Verfahrens dar. Das Beispiel weist auf: einen Eingangsanschluß 57, der mit einem Übertragungskanal verbunden ist; einen Huffmann-Decodierer 58; einen Satz 59 von Synchronisationsregistern; einen Speicher 60; Mittel 80 zum Decodieren der Luminanz; Mittel 81 zum Decodieren der Farbdifferenzsignale; eine Einrichtung 64 zum Wiedergewinnen des Kanaltakt; eine Einrichtung 65 zum Erfassen der Inter-Block- Separatoren; eine Einrichtung 66 zum Erfassen der Inter-Bild- Separatoren; eine Einrichtung 67 zum Erfassen der Bildsynchronisationsmuster; eine Einrichtung 68 zum Erfassen der Zeilensynchronisationsmuster; einen Taktgeber 69 mit dem Rhythmus der Videosignale; einen Schreibadressenzähler 70 des Pufferspeichers; einen Zähler 71 für den Aufwand eines Blocks; einen Speicher 72 zum Speichern der Parameter eines Blocks; einen Leseadressenzähler 73 des Pufferspeichers; eine Einrichtung 74 zum Berechnen des inversen Quantisierungskoeffizienten und des inversen Wichtungskoeffizienten; einen Zähler 90 der Ausgangsfüllung; eine Einrichtung 91 zum Berechnen der Füllung des Pufferspeichers, der durch den Speicher 60, den Decodierer 58 und die Register 59 gebildet ist; einen Zähler 92 für die Anzahl der empfangenen Bits; einen Klassendecodierer 93; eine Ablaufsteuerung 94; einen Schreibadressenzähler 95 des Parameterspeichers; einen Leseadressenzähler 96 des Parameterspeichers sowie drei Ausgangsanschlüsse 83 bis 85, die einen Luminanzwert Y, einen Rot-Farbdifferenzwert DR bzw. einen Blau-Farbdifferenzwert DB liefern.
- Die Einrichtung 67 zum Erfassen der Bildsynchronisationsmuster und die Einrichtung 68 zum Erfassen der Zeilensynchronisationsmuster haben Eingänge, die mit dem Eingangsanschluß 57 verbunden sind, sowie Ausgänge, die jeweils mit einem von zwei Eingängen des Taktgebers 69 verbunden sind. Der Taktgeber 69 liefert ein Taktsignal HV, das den Takt der durch den Decodierer wiederhergestellten Luminanz- und Farbdifferenzwerte bestimmen wird.
- Die Ablaufsteuerung 94 liefert an alle Elemente der Decodiereinrichtung synchron zu dem Videotaktsignal Steuersignale. Zur Vereinfachung erwähnt das Übersichtsschema nur einen Typ des Videotaktsignals, das mit HV bezeichnet ist, aber tatsächlich sind mehrere Videotaktsignale vorgesehen, die subvielfache Frequenzen der Abtastfrequenz des Luminanzsignals aufweisen. Die Realisierung dieser Taktsignale liegt im Vermögen des Fachmanns.
- Die Einrichtung 64 zum Wiedergewinnen des Kanaltakt besitzt einen Eingang, der mit dem Eingangsanschluß 57 verbunden ist, sowie einen Ausgang, der ein Taktsignal HC liefert, das dem Takt der auf dem Kanal übertragenen Bits entspricht. Dieses Taktsignal liegt insbesondere an einem Takteingang des Zählers 71 für den Aufwand eines Blocks an, um die Anzahl der Bits zu zählen, die jedem empfangenen Block entsprechen.
- Der Huffmann-Decodierer 58 besitzt einen über den Eingangsanschluß 57 mit einem Übertragungskanal verbundenen Eingang, um eine Folge von Binärwerten mit einem konstanten Takt von 10 Mb pro Sekunde zu empfangen; die Folge wird durch eine Codiervorrichtung wie die oben beschriebene übertragen. Er besitzt auch einen Takteingang, der das Taktsignal HC empfängt, sowie einen Synchronisationseingang, der mit einem ersten Ausgang der Einrichtung 65 zum Erfassen der Inter- Block-Separatoren verbunden ist. Letztere liefert ein Signal, das den Decodierer 58 am Anfang der Übertragung der codierten Daten jedes Blocks reinitialisiert. Der Decodierer 58 kann ein einem Ereignis entsprechendes Codewort nur decodieren, wenn er das dem vorausgehenden Ereignis entsprechende Codewort korrekt decodiert hat. Bei einem Übertragungsfehler bleibt der Huffmann-Decodierer bis zur Erfassung des nächsten Inter-Block-Separators außer Synchronisation.
- Die Einrichtung 65 hat einen Eingang, der mit dem Eingangsanschluß 57 verbunden ist, um die übertragenen Bits zu empfangen, sowie einen Eingang, der mit dem Ausgang des Decodierers 68 verbunden ist, um jedesmal, wenn der Decodierer 58 ein Ereignis decodiert hat, ein logisches Signal zu empfangen.
- Die Funktion der Einrichtung 65 besteht darin, jeden Inter- Block-Separator dank des Musters zu erkennen, das das Radikal bildet, sowie dank der zwei Binärwörter, die dem Radikal folgen, zu überprüfen, daß kein Übertragungsfehler vorliegt. Hierzu vergleicht sie die Ordnungszahl des Blocks modulo 4, die in dem Inter-Block-Separator übertragen worden ist, und die Ordnungszahl des Blocks, die nach der Anzahl der vorher empfangenen Separatoren gezählt worden ist. Darüberhinaus überprüft die Einrichtung 65 die Anzahl der empfangenen Codewörter, d. h. die Anzahl der Ereignisse in dem vorausgehenden Block, indem sie den übertragenen Wert der Summe der Ordnungszahl des Blocks und der Anzahl der Ereignisse modulo 4 mit der berechneten Summe der Anzahl der vorher erfaßten Blöcke und der Anzahl der vorher erfaßten Ereignisse modulo 4 vergleicht. Ein Inter-Block-Separator wird durch die Einrichtung 65 als gültig anerkannt, wenn ihm zwei weitere Inter- Block-Separatoren folgen, die diese zwei Bedingungen bestätigen.
- Ergibt eine dieser drei Überprüfungen ein negatives Ergebnis, dann liefert ein zweiter Ausgang der Erfassungseinrichtung 65 einen Maskierungsbefehl, der durch ein Binärwort NBM gebildet ist, das die Anzahl der zu maskierenden Blöcke angibt, an einen ersten Eingang des Speichers 72. Die Verbindung aus dieser Fehlererfassung und dem Verfahren zum Maskieren fehlerhafter Blöcke erlaubt es in der Mehrzahl aller Fälle, fehlerhafte Übertragungen auszuschalten.
- Im allgemeinen sind an den Kanaltyp angepaßte Fehlerkorrektureinrichtungen jeweils zwischen den Ausgangsanschluß 19 der Codiereinrichtung und den Eingangsanschluß 57 der Decodiereinrichtung eingeschaltet. Diese Einrichtungen sind üblicher Art und in den Figuren nicht dargestellt. Sie erlauben es, mittels einer geringen Redundanz an übertragenen Bits die kleinen Fehlerpakete zu korrigieren. Die von der Einrichtung 65 zum Erfassen der Inter-Block-Separatoren durchgeführten Überprüfungen erlauben es, die noch verbleibenden Fehler zu erfassen. Diese können schwerwiegende Folgen für das wiederhergestellte Bild haben, dann sie können nicht nur die Luminanz oder die Farben eines Blocks verfälschen, sondern sie können auch die Position eines gesamten Blocks beeinträchtigen, wenn ein Inter-Block-Separator nicht erkannt wird. Die Überprüfung der Ordnungszahl jedes Inter-Block-Separators und die Überprüfung der Anzahl der decodierten Ereignisse erlauben die genaue Berechnung der Anzahl NBM der zu maskierenden Blöcke und ermöglichen es somit, die Blöcke zu maskieren und ein Bild mit einer deutlich besseren Qualität wiederherzustellen als dies der Fall wäre, wenn Blöcke an ungenauen Positionen wiederhergestellt würden.
- Der erste Ausgang der Einrichtung 65 ist auch mit einem Eingang zur Nullstellung des Zählers 71 für den Aufwand eines Blocks verbunden, sowie mit einem Takteingang des Zählers 95 für die Schreibadressen des Speichers 72 und über eine nicht dargestellte Verbindung mit einem Eingang der Ablaufsteuerung 94.
- Wenn ein Inter-Block-Separator gültig ist, dann reinitialisiert das von dem ersten Ausgang der Einrichtung 65 gelieferte Binärsignal den Huffmann-Decodierer 58, stellt den Zähler 71 für den Aufwand eines Blocks wieder auf Null, inkrementiert den Schreibadressenzähler 95 um eine Einheit und triggert die Ablaufsteuerung 94, damit dieser das Einschreiben der Parameter des als gültig anerkannten Blocks in den Speicher 72 steuert. Die in den Speicher 72 eingeschriebenen Parameter sind: die Adresse ADB für das Einschreiben des ersten Wortes der codierten Daten des Blocks in den Speicher 60; der Aufwand CB für diesen Block, d. h. die Anzahl der Bits zwischen den zwei Inter-Block-Separatoren, die diese Daten einrahmen; sowie der Wert MBN, der gleich der Anzahl der Blöcke ist, die eventuell zu maskieren sind, wobei diese Zahl Null ist, wenn kein Block zu maskieren ist. Diese drei Parameter werden durch den Ausgang des Schreibadressenzählers 70 des Pufferspeichers, den Ausgang des Zählers 71 für den Aufwand eines Blocks bzw. durch den dritten Ausgang der Erfassungseinrichtung 65 für die Inter-Block-Separatoren geliefert. Diese drei Ausgänge sind jeweils mit einem von drei Dateneingängen des Speichers 72 verbunden. Dieser besitzt einen ersten, einen zweiten und einen dritten Datenausgang, um jeweils die Werte dieser drei Parameter wiederherzustellen. Er besitzt auch Lese- und Schreibsteuereingänge, die über nicht dargestellte Verbindungen mit Ausgängen der Ablaufsteuerung 94 verbunden sind.
- Wird ein Inter-Block-Separator als gültig anerkannt, dann steuert die Ablaufsteuerung 94 das Einschreiben in den Speicher 72, um die Parameter des Blocks zu speichern, der diesem Separator folgt. Der Schreibadressenzähler 95 besitzt einen mit einem Schreibadresseneingang des Speichers 72 verbundenen Ausgang, um ihm jedesmal eine Schreibadresse der Parameter zu liefern, wenn ein Inter-Block-Separator gültig gemacht worden ist. Wenn einer oder mehrere Inter-Block-Separatoren nicht als gültig anerkannt werden, dann wird für die Daten mehrerer Blöcke ein einziger Satz von Parametern in den Speicher 72 eingeschrieben, denn dann läuft alles so ab, als ob die Daten einem einzigen Block entsprechen würden. Diese Daten werden in dem Pufferspeicher 60 gespeichert, obwohl sie fehlerhaft sind, und sie werden aus dem Speicher 60 ausgelesen, aber sie werden nicht zur Wiederherstellung eines Bildes verwendet. Der Zähler 95 besitzt auch einen Nullstelleingang, der mit dem Ausgang der Einrichtung 67 zum Erfassen der Bildsynchronisation verbunden ist, um am Anfang jedes Bildes wieder auf Null gesetzt zu werden.
- Der Ausgang des Schreibadressenzählers 70 ist auch mit einem Schreibadresseneingang des Pufferspeichers 60 verbunden. Ein Ladeeingang des Leseadressenzählers 73 ist mit dem ersten Datenausgang des Speichers 72 verbunden, um eine Blockanfangsadresse ADB zu empfangen; der Zähler besitzt außerdem einen Ausgang, der mit einem Leseadresseneingang des Pufferspeichers 60 verbunden ist. Der Zähler 70 besitzt einen Takteingang, der das Videotaktsignal HV empfängt, sowie einen Nullstelleingang, der mit dem Ausgang der Einrichtung 67 verbunden ist. Der Ausgang der Einrichtung 67 ist auch mit einem Nullstelleingang des Leseadressenzählers 73 des Pufferspeichers verbunden. Der Zähler 73 besitzt einen Takteingang, der über eine nicht dargestellte Verbindung mit einem Ausgang der Ablaufsteuerung 94 verbunden ist.
- Der zweite Ausgang des Speichers 72 ist mit einem Eingang der Einrichtung 91 zum Berechnen der Füllung des Pufferspeichers verbunden, um ihm den Aufwand CB eines Blocks zu liefern. Der dritte Ausgang des Speichers 72 ist mit einem Eingang der Ablaufsteuerung 94 und einem Eingangsanschluß 86 der Mittel 80 und 81 verbunden, um ihnen den Wert NBM der Anzahl der zu maskierenden Blöcke zu liefern.
- Der Huffmann-Decodierer 58 besitzt einen ersten und einen zweiten Ausgang, die jeweils mit einem von zwei Eingängen von Einrichtungen 59 verbunden sind, die Synchronisationsregister genannt werden, denn sie erlauben es, die codierten Daten nach dem Videotaktsignal HV zu synchronisieren, während der Huffmann-Decodierer 58 im Rhythmus des Taktsignals HC des Kanals arbeitet. Der Decodierer 58 besitzt einen dritten Ausgang, der einem Eingangsanschluß 75 der Mittel 80 und 81 ein Binärsignal zur Auswahl der Codierung liefert: Inter-Bild- oder Intra-Bild-Codierung. Zwei Ausgänge der Synchronisationsregister 59 sind jeweils mit zwei Dateneingängen des Pufferspeichers 60 verbunden, die den codierten Daten bzw. einem binären Befehlswort entsprechen, das den Typ der codierten Daten angibt. Der Pufferspeicher 60 besitzt einen ersten und einen zweiten Ausgang, die mit Eingangsanschlüssen 77 bzw. 76 der Mittel 80 und 81 verbunden sind, um ihnen codierte Daten bzw. ein binäres Befehlswort zu liefern.
- Der Speicher 60 besitzt darüberhinaus einen Schreibtakteingang sowie einen Lesetakteingang, die über nicht dargestellte Verbindungen jeweils mit zwei Ausgängen der Ablaufsteuerung 94 verbunden sind. Wenn ein Inter-Block-Separator als gültig anerkannt worden ist, dann steuert die Ablaufsteuerung 94 das Einschreiben der wenigstens einem Block entsprechenden codierten Daten in den Speicher 60, in einer Adressenfolge, die durch den Zähler 70 geliefert wird, im Anschluß an die Anfangsadresse ADB des Blocks, die als einzige in dem Speicher 72 gespeichert ist.
- Für das Auslesen der gespeicherten codierten Daten aus dem Speicher 60 steuert die Ablaufsteuerung 94 für jeden Block oder für eine Gruppe von Blöcken (falls ein Fehler erfaßt worden ist):
- - ein Auslesen der Adresse ADB, die dem Anfang des Blocks entspricht, aus dem Speicher 72;
- - ein Laden dieser Adresse in den Leseadressenzähler 73;
- - ein Lesen an der Adresse ADB in dem Pufferspeicher 60, wobei die Adresse ADB durch den Zähler 73 an den Leseadresseneingang geliefert wird;
- - eine Folge von Inkrementierungen des Inhalts des Zählers 73;
- - eine Folge von Auslesungen aus dem Pufferspeicher 60 an den durch den Zähler 73 gelieferten Adressen
- Da der Speicher 60 hinter dem Huffmann-Codierer 58 angeordnet ist, läuft alles so ab, als ob anstelle des Decodierers 58 und des Speichers 60 ein Pufferspeicher vorhanden wäre, der die durch den Kanal übertragenen binären Daten seriell speichert und sie seriell wiederherstellt. Tatsächlich berechnet die Recheneinrichtung 91 die Füllung dieses Pufferspeichers, die durch keine mathematische Beziehung an die Füllung des Speichers 60 gebunden ist, denn dieser enthält von dem Huffmann-Decodierer gelieferte Binärwörter. Die Füllung des Pufferspeichers ist gleich der Menge an Binärinformationen in Form von Huffmann-Codes, die zu dem betrachteten Zeitpunkt noch zu decodieren ist. Die Kapazität des Speichers 60 ist identisch mit der Kapazität des Speichers 9 der Codiereinrichtung und reicht für alle Fälle aus. Bei diesem Beispiel ist sie gleich 32K Wörter, wobei jedes Wort aus einem Datenwert und einem Befehl besteht.
- Die Einrichtung 74 zum Berechnen des Quantisierungskoeffizienten und des Wichtungskoeffizienten besitzt zwei Ausgänge, die mit Eingangsanschlüssen 78 bzw. 79 der Mittel 80 und 81 verbunden sind, sowie zwei Eingänge, die mit einem Ausgang der Recheneinrichtung 91 bzw. einem Ausgang des Klassifizierungsdecodierers 93 verbunden sind. Die Recheneinrichtung 91 besitzt einen ersten Eingang, der mit dem zweiten Datenausgang des Speichers 72 verbunden ist, der ein Binärwort CB für den Codieraufwand eines Blocks liefert; einen zweiten Eingang, der mit einem Ausgang des Zählers 90 der Ausgangsfüllung verbunden ist, der einen Wert OCI liefert; sowie einen dritten Eingang, der mit einem Ausgang des Zählers 92 verbunden ist, der die Anzahl NCANAL der empfangenen Bits liefert, und einen vierten Eingang (Nullstelleingang), der mit einem Ausgang der Einrichtung 67 zum Erfassen der Bildsynchronisation verbunden ist.
- Der Zähler 90 der Ausgangsfüllung besitzt einen Takteingang, der das Videotaktsignal HV empfängt; einen Stillsetzeingang, der mit dem Ausgang der Einrichtung 66 zum Erfassen der Inter-Bild-Separatoren verbunden ist, sowie einen Nullstelleingang, der mit dem Ausgang der Einrichtung 67 zum Erfassen der Bildsynchronisationsmuster verbunden ist. Der Zähler 90 zählt die Anzahl der Bits, die von dem Kanal an den Pufferspeicher zwischen dem Zeitpunkt, zu dem ein Bildsynchronisationsmuster erfaßt ist, und dem Zeitpunkt, zu dem ein Inter-Bild-Separator erfaßt ist, geliefert werden. Das Ergebnis dieser Zählung bildet den Wert OCI der Ausgangsfüllung des Pufferspeichers an Anfang jedes Bildes.
- Der Zähler 92 für die Anzahl der empfangenen Bits besitzt einen Eingang, der mit dem Eingangsanschluß 57 verbunden ist, sowie einen Eingang, der mit einem Ausgang der Ablaufsteuerung 94 verbunden ist. Der Zähler 92 mißt die genaue Anzahl der seit dem Anfang eines Blocks von dem Pufferspeicher empfangenen Bits, da diese Anzahl nicht im voraus genau bekannt ist, weil der Kanal asynchron ist. Der Zähler 92 wird im Prinzip am Anfang des Empfangs jedes Blocks durch ein von der Ablaufsteuerung 94 geliefertes Signal wieder auf Null gestellt, aber die Ablaufsteuerung 94 überspringt eine oder mehrere Nullstellungen, wenn das Binärwort NBM nicht Null ist, d. h., wenn wenigstens ein Block zu maskieren ist. Sind beispielsweise zwei Blöcke zu maskieren, dann befiehlt die Ablaufsteuerung 94 erst am Ende des zweiten maskierten Blocks das Zurückstellen des Zählers 92 auf Null.
- Der Klassendecodierer 93 besitzt einen Eingang, der mit dem Eingangsanschluß 57 verbunden ist, um ein Binärwort zu decodieren, das eine Klasse angibt und sich unmittelbar hinter jedem Inter-Block-Separator befindet. Er liefert dieses Binärwort an die Recheneinrichtung 74, die es für die Berechnung des Quantisierungskoeffizienten und des inversen Wichtungskoeffizienten auf die gleiche Weise wie die Einrichtung zum Berechnen der Quantisierungs- und Wichtungskoeffizienten in der oben beschriebenen Codiereinrichtung berücksichtigt.
- Die Einrichtung 74 zum Berechnen des inversen Quantisierungskoeffizienten und des inversen Wichtungskoeffizienten arbeitet analog zu der Einrichtung 30 zum Berechnen des Quantisierungs- und des Wichtungskoeffizienten, aber sie führt zusätzlich die Berechnung des Kehrwerts des Quantisierungskoeffizienten und des Kehrwerts des Wichtungskoeffizienten durch, die mittels der Formeln (3) bis (8) erhalten worden sind.
- In diesen Formeln ist die Füllung des Pufferspeichers der Codiervorrichtung durch einen Wert ersetzt, der gleich einer Konstanten minus der Füllung des Pufferspeichers der Codiereinrichtung ist.
- Die Summe der Füllungen dieser beiden Pufferspeicher ist nämlich gleich einer Konstanten, wenn die Regelung in der Codier- und der Decodiereinrichtung gut funktioniert, wobei diese Regelung zur Folge hat: jeder codierte Datenwert unterliegt ständig einer Verzögerung zwischen dem Zeitpunkt, zu dem er in den Pufferspeicher der Codiereinrichtung gelangt, und dem Zeitpunkt, zu dem er den Pufferspeicher der Decodiereinrichtung verläßt, da der Durchsatz des Kanals konstant ist. Diese Verzögerung entspricht dem konstanten Wert der Summe beider Füllungen.
- Diese Konstante wird dadurch bestimmt, daß die Ausgangsfüllung OCI des Pufferspeichers der Decodiereinrichtung mittels des Ausgangsfüllungs-Zählers 90 gemessen wird, der die Anzahl der Bits mißt, die in die Einrichtung 58 zwischen dem Zeitpunkt eintreten, zu dem die Einrichtung 67 das Bildsynchronisationsmuster erfaßt, das unabhängig von dem Strom der codierten Daten übertragen wird, und dem Zeitpunkt, zu dem die Einrichtung 66 die Anwesenheit eines Inter-Bild-Separators in den codierten Daten erfaßt, die am Eingang der Einrichtung 58 eintreffen. Dadurch, daß die zwei Pufferspeicher ständig komplementär gefüllt sind, ist es möglich, den inversen Quantisierungskoeffizienten und den inversen Wichtungskoeffizienten in dem Decodierer exakt zu berechnen. Keine einzige Information, die die Füllung des Pufferspeichers wiedergibt, wird in Klarschrift auf den Übertragungskanal geschickt; folglich wird diese Information nicht durch Fehler gestört.
- Fig. 5 zeigt ein detaillierteres Übersichtsschema der Mittel 80 zum Decodieren der Luminanz. Die Mittel 81 weisen ein entsprechendes Schema auf, und sie werden alternativ verwendet, um die Rot- und Blau-Farbdifferenzsignale zu decodieren. Die Mittel 80 weisen auf: eine Einrichtung 101 zur inversen Quantisierung; eine Einrichtung 102 zur inversen Wichtung; drei Multiplexer 103 bis 105 mit zwei Eingängen und einem Ausgang; einen Speicher 106, der einen Block von Transformationskoeffizienten speichert; einen Addierer 107; eine Ablaufsteuerung 108; ein Register 109 zum Speichern eines entsprechenden Koeffizienten; einen Speicher 110 zum Speichern der entsprechenden Koeffizientenblöcke des Teilbildes, das dem laufenden Teilbild vorausgeht; eine Einrichtung 111 zum Decodieren der Bereiche von Nullen; einen Teilbildspeicher 112, sowie eine Einrichtung 113 zum Berechnen der zweidimensionalen, inversen Cosinustransformierten.
- Die Einrichtung 101 besitzt einen Dateneingang, der mit dem Eingangsanschluß 77 verbunden ist, der die von dem Pufferspeicher 60 gelieferten, codierten Daten empfängt, sowie einen Steuereingang, der mit dem Eingangsanschluß 78 verbunden ist, der den Wert eines von der Einrichtung 74 berechneten, inversen Quantisierungskoeffizienten empfängt. Ein Ausgang der Einrichtung 101 ist mit einem Eingang der Einrichtung 102 verbunden. Diese besitzt auch einen Eingang, der mit dem Eingangsanschluß 79 verbunden ist, um den von der Einrichtung 74 berechneten Wert eines inversen Wichtungskoeffizienten zu empfangen, sowie einen Ausgang, der mit einem ersten Eingang des Multiplexers 103 verbunden ist. Der Multiplexer 103 besitzt einen zweiten Eingang, der ständig einen Nullwert empfängt, sowie einen Ausgang, der entweder mit dem ersten Eingang oder mit dem zweiten Eingang verbunden ist, je nach dem Wert eines an einem Steuereingang anliegenden Binärsignals, der mit einem Ausgang der Einrichtung 111 verbunden ist.
- Die Einrichtung 111 decodiert die Bereiche von Nullen auf Grund der Daten und eines Befehls, die an einem ersten bzw. an einem zweiten Eingang anliegen, die mit dem Eingangsanschluß 77 bzw. dem Eingangsanschluß 76 der Mittel 80 verbunden sind. Der Ausgang des Multiplexers 103 liefert also den Wert eines Transformationskoeffizienten oder einer Differenz von Transformationskoeffizienten. Er ist mit einem ersten Eingang des Multiplexers 104 und mit einem ersten Eingang des Addierers 107 verbunden. Ein zweiter Eingang des Addierers 107 ist mit einem Ausgang des Registers 109 verbunden, das ihm den Wert des Transformationskoeffizienten liefert, der dem gerade im Vorgang der Decodierung befindlichen Koeffizienten in dem Bild entspricht, das dem Bild vorausgeht, das sich gerade im Vorgang der Decodierung befindet.
- Der Ausgang des Addierers 107 liefert also den Wert eines Transformationskoeffizienten, wenn sein erster Eingang den Wert einer Differenz von Transformationskoeffizienten empfängt. Dieser Ausgang ist mit dem zweiten Eingang des Multiplexers 104 verbunden. Der Multiplexer 104 besitzt einen Steuereingang, der mit dem Eingangsanschluß 75 verbunden ist, um den Wert eines Steuerbits zu empfangen, das eine Inter- Bild- oder eine Intra-Bild-Decodierung auswählt, sowie einen Ausgang, der mit einem ersten Eingang des Multiplexers 105 verbunden ist. Ein zweiter Eingang des Mulitplexers 105 ist mit dem Ausgang des Registers 109 verbunden, um den Wert des Koeffizienten zu empfangen, der dem im Vorgang der Decodierung befindlichen Koeffizienten entspricht. Ein Steuereingang des Multiplexers 105 ist mit einem Ausgang der Ablaufsteuerung 108 verbunden, um gegebenenfalls ein Maskierungs-Steuersignal zu empfangen. Liegt dieses Maskierungssignal am Multiplexer 105 an, dann überträgt dieser den Wert des von dem Register 109 gelieferten, entsprechenden Koeffizienten, anstatt den von dem Multiplexer 104 gelieferten Wert des Transformationskoeffizienten zu übertragen.
- Der Ausgang des Multiplexers 105 ist mit einem Dateneingang des Speichers 106 verbunden. Der Speicher 106 besitzt Schreib- und Lesesteuereingänge, die jeweils mit Ausgängen der Ablaufsteuerung 108 verbunden sind, wobei dieser den Speicher 106 steuert, um alle Transformationskoeffizienten eines Blocks zu speichern, bevor die inverse Cosinustransformation dieser Koeffizienten befohlen wird. Die Ablaufsteuerung 108 besitzt einen Eingang, der das Videotaktsignal HV empfängt, einen Eingang, der mit dem Eingangsanschluß 76 verbunden ist, um einen Befehl zu empfangen, der vom Typ der zu decodierenden Daten abhängt, sowie einen Eingang, der mit dem Eingangsanschluß 86 verbunden ist, um den Wert NBM der Anzahl der zu maskierenden Blöcke zu empfangen. Ist NBM = 0, dann befiehlt die Ablaufsteuerung 108 keine Maskierung. Ist NBM verschieden von 0, dann befiehlt die Ablaufsteuerung 108 die Maskierung der angegebenen Anzahl von Blöcken.
- Der Speicher 110 besitzt eine Dateneingang, der mit einem Datenausgang des Speichers 106 verbunden ist, um alle Blöcke von Transformationskoeffizienten zu speichern, die sich aus der Decodierung eines Teilbildes ergeben, damit die Koeffizienten geliefert werden können, die den Transformationskoeffizienten des folgenden Teilbildes entsprechen. Der Speicher 110 besitzt einen Dateneingang, der mit einem Dateneingang des Registers 109 verbunden ist, sowie Lese- und Schreibsteuereingänge, die mit Ausgängen der Ablaufsteuerung 108 verbunden sind.
- Der Datenausgang des Speichers 106 ist auch mit einem Eingang der Recheneinrichtung 113 verbunden. Diese besitzt einen Nullstelleingang, der mit einem Ausgang der Ablaufsteuerung 108 verbunden ist, sowie einen Ausgang, der mit einem Dateneingang des Bildspeichers 112 verbunden ist. Der Teilbildspeicher 112 besitzt einen Lese- und Schreibsteuereingang, der mit Ausgängen der Ablaufsteuerung 108 verbunden ist, sowie einen Datenausgang, der mit dem Ausgangsanschluß 83 des Decodierers verbunden ist, um eine Folge von Luminanzwerten Y zu liefern. Der Teilbildspeicher 112 hat die Aufgabe, die Folge von Luminanzwerten in der üblichen Reihenfolge der Abtastung eines Teilbildes wiederherzustellen, während die Recheneinrichtung 113 die Luminanzwerte liefert, die in der Reihenfolge der Unterteilung der Blöcke im Teilbild decodiert sind. Die Recheneinrichtung 113 zum Durchführen der inversen Cosinustransformationen ist üblicher Art. Sie kann nach der Beschreibung realisiert sein, die in der französischen Patentanmeldung FR-A-2 581 463 gegeben ist.
Claims (6)
1. Verfahren zur Synchronisierung für die Übertragung einer
Folge von mittels eines Codes variabler Länge codierten
Bildern über einen asynchronen Kanal, dadurch gekennzeichnet,
daß bei ihm zusätzlich zu den Daten Inter-Block-Separatoren
genannte Separatoren übertragen werden, um die Daten
voneinander zu trennen, die verschiedenen Blöcken entsprechen, und
Bild-Separatoren genannte Separatoren, um die Daten
voneinander zu trennen, die aufeinanderfolgenden Bildern
entsprechen, und daß bei ihm ferner erste Synchronisationsmuster mit
der Zeilenfrequenz der Bilder und zweite
Synchronisationsmuster mit der Bildfrequenz übertragen werden, indem die
Übertragung der Daten und der Separatoren unterbrochen wird,
wobei die Separatoren nicht durch zulässige Verkettungen von
Daten und/oder von Separatoren nachahmbar sind.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß
jeder Bild-Separatoren mehrfach wiederholt wird und ein
festgelegtes Radikal aufweist, dem ein binäres Wort folgt, das
die Ordnungszahl des Separators in den Wiederholungen modulo
einer festen Zahl anzeigt.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß
jeder Inter-Block-Separator ein festgelegtes Radikal und ein
binäres Wort aufweist, das modulo einer festen Zahl die
Ordnungszahl
eines diesem Separator zugeordneten
Bildelementblocks wiedergibt, und ferner ein binäres Wort aufweist, das
modulo einer festen Zahl die Summe dieser Ordnungszahl und
der Anzahl von Ereignissen wiedergibt, die durch die Daten
codiert sind, die dem diesem Separator zugeordneten Block
entsprechen.
4. Einrichtung zur Synchronisierung einer Folge von mittels
eines Codes variabler Länge codierten Bildern für die
Übertragung über einen asynchronen Kanal, um das Verfahren von
Anspruch 1 auszuführen, dadurch gekennzeichnet, daß sie
folgendes aufweist:
- Mittel (10) zum Einfügen eines Inter-Block-Separator
genannten Separators zwischen zwei zu übertragende Datenpakete,
die zwei unterschiedlichen Bildelementblöcken entsprechen,
und zum Einfügen eines Bild-Separator genannten Separators
zwischen zwei zu übertragende Datenpakete, die zwei auf
einanderfolgenden Bildern entsprechen, wobei die Separatoren
nicht durch zulässige Verkettungen von Daten nachahmbar sind;
- Mittel (13) zum Unterbrechen der Übertragung der Daten
und der Trenninformationen und zum Einfügen von
Synchronisationsmustern mit der Bildfrequenz bzw. der
Bildzeilenfrequenz;
- Mittel (65, 66) zum Erkennen der Bild-Separatoren und
der Inter-Block-Separatoren unter den übertragenen Daten und
zum Abtrennen der Daten, die jedem Bildelementblock
entsprechen; und
- Mittel (67 und 68) zum Erkennen der
Synchronisationsmuster unter den übertragenen Daten und zur Wiederherstellung
eines Taktsignals mit der Bildfrequenz und eines Taktsignals
mit der Zeilenfrequenz.
5. Einrichtung nach Anspruch 4, dadurch gekennzeichnet, daß
die Mittel (10) zum Einfügen der Bild-Separatoren jeden Bild-
Separator mehrfach dadurch wiederholen, daß sie ihn aus einem
festgelegten Radikal bilden, dem sie ein Binärwort folgen
lassen, das die Ordnungszahl des Separators in den
Wiederholungen modulo einer festen Zahl anzeigt, und daß die Mittel
(66) zum Erkennen der Bild-Separatoren die Position eines
Bild-Separators in der Folge der Daten ab der Position jedes
erkannten Radikals bestimmen, abhängig vom Wert des binären
Worts, das jedes erkannte Radikal begleitet.
6. Einrichtung nach Anspruch 4, dadurch gekennzeichnet, daß
die Mittel (10) zum Einfügen der Inter-Block-Separatoren
Mittel zum Erstellen jedes Inter-Block-Separators aus einem
festgelegten Radikal aufweisen, dem ein erstes Binärwort folgt,
das modulo einer festgelegten Zahl die Ordnungszahl eines
Bildelement-Blocks wiedergibt, der diesem Separator zugeordnet
ist, und dem ein zweites Binärwort folgt, das modulo einer
festgelegten Zahl die Summe aus dieser Ordnungszahl und der
Anzahl von Ereignissen wiedergibt, die durch die Daten
codiert werden, die dem diesem Separator zugeordneten Block
entsprechen;
und daß die Mittel (65) zum Erkennen der
Inter-Block-Separatoren Mittel zum Verifizieren aufweisen, daß jede
Ordnungszahl eines erkannten Inter-Block-Separators dem Wert des
ersten Binärworts entspricht, das diesem Separator folgt, und
zum Verifizieren, daß die Summe aus der Ordnungszahl des
erkannten Separators und der Anzahl von Ereignissen, die durch
diejenigen Daten codiert sind, die dem dem erkannten
Separator zugeordneten Block entsprechen, dem Wert des zweiten
Binärworts entsprechen, das dem erkannten Separator folgt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR878718372A FR2625638B1 (fr) | 1987-12-30 | 1987-12-30 | Procede de synchronisation pour la transmission, sur un canal asynchrone, d'une suite d'images codees au moyen d'un code a longueur variable, et dispositif pour la mise en oeuvre de ce procede |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3875334D1 DE3875334D1 (de) | 1992-11-19 |
DE3875334T2 true DE3875334T2 (de) | 1993-03-04 |
Family
ID=9358443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE8888403375T Expired - Lifetime DE3875334T2 (de) | 1987-12-30 | 1988-12-30 | Verfahren zur synchronisierung fuer die uebertragung ueber einen asynchronen kanal einer folge von kodierten bildern, die mittels eines kodes mit variabler laenge kodiert sind und einrichtung zur durchfuehrung dieses verfahrens. |
Country Status (9)
Country | Link |
---|---|
US (1) | US5036391A (de) |
EP (1) | EP0323363B1 (de) |
JP (1) | JP2672382B2 (de) |
KR (1) | KR970003478B1 (de) |
AT (1) | ATE81575T1 (de) |
DE (1) | DE3875334T2 (de) |
ES (1) | ES2035353T3 (de) |
FR (1) | FR2625638B1 (de) |
WO (1) | WO1989006471A1 (de) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6563875B2 (en) * | 1987-12-30 | 2003-05-13 | Thomson Licensing S.A. | Adaptive method of encoding and decoding a series of pictures by transformation, and devices for implementing this method |
FR2653953A1 (fr) * | 1989-10-27 | 1991-05-03 | Philips Electronique Lab | Dispositif de codage comportant un codeur a mots de longueur variable et dispositif de decodage associe. |
GB8929152D0 (en) * | 1989-12-22 | 1990-02-28 | Gen Electric | A digital augmentation system for actv-ii |
EP0436251B1 (de) * | 1989-12-29 | 1995-09-27 | Laboratoires D'electronique Philips | System zur Kodierung/Dekodierung von digitalen Signalen zur Übertragung und/oder Speicherung |
FR2656754A1 (fr) * | 1989-12-29 | 1991-07-05 | Philips Electronique Lab | Systeme de codage de signaux numeriques destines a etre transmis et/ou stockes. |
NL9000424A (nl) * | 1990-02-22 | 1991-09-16 | Philips Nv | Overdrachtsysteem voor gedigitaliseerde televisiebeelden. |
BE1003827A4 (fr) * | 1990-02-26 | 1992-06-23 | Alcatel Bell Sdt Sa | Procede universel de codage de signaux d'image. |
EP0447269B1 (de) * | 1990-03-16 | 2000-05-31 | Fujitsu Limited | System zur Verarbeitung von Bilddaten |
DE4028731A1 (de) * | 1990-09-10 | 1992-03-19 | Thomson Brandt Gmbh | Digitales uebertragungs- und/oder aufzeichnungssystem fuer komponentencodierte farbfernsehsignale |
US5303058A (en) * | 1990-10-22 | 1994-04-12 | Fujitsu Limited | Data processing apparatus for compressing and reconstructing image data |
EP0498081B1 (de) * | 1991-01-21 | 1996-09-04 | Koninklijke Philips Electronics N.V. | Videokodierer und -dekodierer mit Verschiebungsverhinderung für korrekt dekodierte Signalblöcke |
EP1330129A3 (de) * | 1991-04-10 | 2006-03-15 | Mitsubishi Denki Kabushiki Kaisha | Kodierer und Dekodierer |
US5262964A (en) * | 1991-04-10 | 1993-11-16 | International Business Machines Corporation | Method and apparatus for variable playback speed of multimedia data interchange within a data processing system |
JPH04323960A (ja) * | 1991-04-23 | 1992-11-13 | Canon Inc | 画像符号化装置 |
US5260808A (en) * | 1991-04-23 | 1993-11-09 | Canon Kabushiki Kaisha | Image processing apparatus |
JPH04323963A (ja) * | 1991-04-23 | 1992-11-13 | Canon Inc | 画像処理方法及び装置 |
US5414527A (en) * | 1991-08-14 | 1995-05-09 | Fuji Xerox Co., Ltd. | Image encoding apparatus sensitive to tone variations |
JP3513160B2 (ja) * | 1991-12-06 | 2004-03-31 | キヤノン株式会社 | 動画像信号符号化装置及びその方法 |
GB2264603B (en) * | 1992-02-28 | 1995-08-23 | Sony Broadcast & Communication | Multiplexing and demultiplexing image data |
US5287178A (en) * | 1992-07-06 | 1994-02-15 | General Electric Company | Reset control network for a video signal encoder |
JP3381077B2 (ja) * | 1992-12-04 | 2003-02-24 | ソニー株式会社 | 動画像復号装置 |
US7075991B1 (en) | 1993-01-18 | 2006-07-11 | Sony Corporation | Apparatus for encoding and decoding header data in picture signal transmission |
US7558324B2 (en) * | 1993-01-18 | 2009-07-07 | Sony Corporation | Apparatus for encoding and decoding header data in picture signal transmission |
EP0613293B1 (de) * | 1993-02-22 | 1999-11-17 | Industrial Technology Research Institute | Blockübereinstimmungsarchitektur mit mehreren Modulen |
JP3163880B2 (ja) * | 1993-12-16 | 2001-05-08 | 松下電器産業株式会社 | 画像圧縮符号化装置 |
JP3058028B2 (ja) * | 1994-10-31 | 2000-07-04 | 三菱電機株式会社 | 画像符号化データ再符号化装置 |
US5543853A (en) * | 1995-01-19 | 1996-08-06 | At&T Corp. | Encoder/decoder buffer control for variable bit-rate channel |
EP0861001B1 (de) * | 1997-02-07 | 2012-05-23 | Texas Instruments Incorporated | Fehler resistente Videocodierung |
US7042942B2 (en) * | 2001-12-21 | 2006-05-09 | Intel Corporation | Zigzag in-order for image/video encoder and decoder |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3553362A (en) * | 1969-04-30 | 1971-01-05 | Bell Telephone Labor Inc | Conditional replenishment video system with run length coding of position |
CA1197005A (en) * | 1981-09-29 | 1985-11-19 | Norio Suzuki | System comprising a preliminary processing device controlled in accordance with an amount of information stored in a buffer |
US4541012A (en) * | 1982-01-04 | 1985-09-10 | Compression Labs, Inc. | Video bandwidth reduction system employing interframe block differencing and transform domain coding |
DE3366804D1 (en) * | 1982-07-23 | 1986-11-13 | British Telecomm | Improvements relating to data transmission |
FR2553954B1 (fr) * | 1983-10-21 | 1990-04-20 | Telecommunications Sa | Systeme de reception d'informations asynchrones transmises en mode synchrone |
JPH0620303B2 (ja) * | 1984-11-08 | 1994-03-16 | 日本電信電話株式会社 | フレ−ム間符号化方式におけるリフレッシュ処理方式 |
FR2575351B1 (fr) * | 1984-12-21 | 1988-05-13 | Thomson Csf | Procede adaptatif de codage et de decodage d'une suite d'images par transformation, et dispositifs pour la mise en oeuvre de ce procede |
-
1987
- 1987-12-30 FR FR878718372A patent/FR2625638B1/fr not_active Expired - Lifetime
-
1988
- 1988-12-30 AT AT88403375T patent/ATE81575T1/de active
- 1988-12-30 EP EP88403375A patent/EP0323363B1/de not_active Expired - Lifetime
- 1988-12-30 ES ES198888403375T patent/ES2035353T3/es not_active Expired - Lifetime
- 1988-12-30 DE DE8888403375T patent/DE3875334T2/de not_active Expired - Lifetime
- 1988-12-30 KR KR1019890701638A patent/KR970003478B1/ko not_active IP Right Cessation
- 1988-12-30 WO PCT/FR1988/000650 patent/WO1989006471A1/fr unknown
- 1988-12-30 JP JP1501055A patent/JP2672382B2/ja not_active Expired - Lifetime
- 1988-12-30 US US07/408,510 patent/US5036391A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH02504693A (ja) | 1990-12-27 |
KR900701127A (ko) | 1990-08-17 |
US5036391A (en) | 1991-07-30 |
FR2625638B1 (fr) | 1994-06-17 |
JP2672382B2 (ja) | 1997-11-05 |
WO1989006471A1 (fr) | 1989-07-13 |
EP0323363B1 (de) | 1992-10-14 |
KR970003478B1 (ko) | 1997-03-18 |
EP0323363A1 (de) | 1989-07-05 |
FR2625638A1 (fr) | 1989-07-07 |
DE3875334D1 (de) | 1992-11-19 |
ATE81575T1 (de) | 1992-10-15 |
ES2035353T3 (es) | 1993-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3875334T2 (de) | Verfahren zur synchronisierung fuer die uebertragung ueber einen asynchronen kanal einer folge von kodierten bildern, die mittels eines kodes mit variabler laenge kodiert sind und einrichtung zur durchfuehrung dieses verfahrens. | |
DE2640414C2 (de) | Schaltungsanordnung ung Verfahren für die Kompressionscodierung unter Verwendung einer Korrelation zwischen zweidimensionalen, aus zweiwertigen digitalen Bildern abgeleiteten Matrizen | |
DE69428979T2 (de) | Einrichtung und verfahren zur kodierung von bilddaten | |
DE3005775C2 (de) | Kodierverfahren für ein Farbbild | |
DE69022705T2 (de) | System zur Kodierung/Dekodierung von digitalen Signalen zur Übertragung und/oder Speicherung. | |
DE4339753C2 (de) | Vorrichtung zum Komprimieren und Dekomprimieren von Bilddaten | |
DE69333742T2 (de) | Verfahren und Vorrichtung zur Bildatenkodierung | |
DE69132017T2 (de) | Kodierungsvorrichtung | |
DE69229773T2 (de) | Statistischer Multiplexer für ein Multikanal-Bildkomprimierungssystem und Demultiplexer | |
DE69625945T2 (de) | Hierarchischer Bildkodierer und -dekodierer | |
DE69738502T2 (de) | Verfahren und system zum verstecken von daten | |
DE69323986T2 (de) | Vorrichtung und Verfahren zur Bildverarbeitung | |
DE69517856T2 (de) | Fernsehbildkodier- und Aufnahmevorrichtung und Fernsehbildkodier-, Aufnahme- und Wiedergabevorrichtung | |
DE3814627C2 (de) | ||
DE2550928C2 (de) | Einrichtung zur Komprimierung einer m·n-Matrix deltacodierter Punkte | |
DE69129653T2 (de) | Informationsaufzeichnungsgerät | |
DE69031638T2 (de) | System zum Übertragen von Bildinformation | |
DE2031646C2 (de) | Verfahren zur Kompression von Bildübertragungsdaten | |
DE3109795A1 (de) | Bandeinengungsverfahren fuer getoente bilder | |
DE2225652A1 (de) | Verfahren und Einrichtung zur Codie rung und Decodierung von Videosignalen | |
DE2558264C3 (de) | Verfahren zur Verdichtung binärer Bilddaten | |
DE2930903A1 (de) | Verfahren und vorrichtung zum uebertragen von faksimilesignalen | |
DE2946982C2 (de) | Verfahren zum Übertragen eines Faksimile-Signals | |
DE3613343A1 (de) | Hybrid-codierer | |
DE69620932T2 (de) | Verfahren zum Kodieren und Dekodieren von Bewegtbildsignalen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) |