ARRANGEMENT FOR THE CONVERSION OF VARIABLE-LENGTH CODE WORDS INTO CONSTANT-LENGTH DATA WORDS

Abstract: 1. Arrangement for the conversion of codewords (CW) of varying length into datawords (DW) of constant length, characterized in that a demultiplexer (DMUX) is provided, to which the codewords (CW) are fed in parallel form, in that the outputs of the demultiplexer (DMUX) are connected to parallel inputs (EP) of a memory register (R2), in that the parallel outputs (AP) of the memory register (R2) are connected via a dataword-multiplexing device (MUX) to data inputs (E7) of a memory (ME) and in that control devices (ST1, ST2) are provided for the demultiplexer (DMUX), the dataword-multiplexing device (MUX) and for the memory (ME).

Description: Anordnung zur Umsetzung von Codewörtern mit unterschiedlicher Länge in Datenwörter gleicher Breite Die Erfindung betrifft eine Anordnung nach dem Oberbegriff des Patentanspruchs 1. Bei der Ubertragung von DPCM-codierten Farbbildkomponenten wird häufig eine Codierung mit variabler Wortlänge verwendet, die einen unregelmässigen Datenfluss erzeugt. Zur Durchführung einer Fehlersicherung, einer einfachen Weiterverarbeitung und zur Ubertragung ist erforderlich, dass ein kontinuierlicher Fluss von Datenwörtern konstanter Breite erzeugt wird. Es ist die Aufgabe der Erfindung, eine Anordnung zur Umsetzung von Codewörtern unterschiedlicher Länge in gleichlange Datenwörter anzugeben. Ausgehend vom einleitend angegebenen beschriebenen Stand der Technik wird diese Aufgabe durch die im kennzeichnenden Teil des Patentanspruchs 1 angegebenen Merkmale gelöst. Bei dieser Schaltung ist es vorteilhaft, dass die maximale Verarbeitungsgeschwindigkeit, also die Arbeitstaktfrequenz, der Codewortfrequenz entspricht. Hat das Speicherregister soviel Speicherplätze, wie sie dem kleinsten gemeinsamen Vielfachen der unterschiedlichen Wortlängen der Codewörter und des Datenwortes entspricht, vereinfacht sich der Schaltungsaufwand für die Multiplexer und für die Steuerung der Einschreib- und Auslesevorgänge erheblich. Durch die Umsetzung der Codewörter in Datenwörter, die das mehrfache der benötigten endgültigen Wortbreite aufweisen, wird die Verarbeitungsgeschwindigkeit nochmals herabgesetzt. Dies ist besonders bei der Codierung von Fernsehsignalen von Bedeutung. Ein Austührungsbeispiel,der Erfindung wird anhand der Fig. 1 bis 3 näher erläutert. Fig. 1 ein Prinzipschaltbild der erfindungsgemässen Anordnung, Fig. 2 ein Ausführungsbeispiel hierzu und Fig. 3 ein Prinzipschaltbild der Steuerung. Das in Fig. 1 dargestellte Prinzipschaltbild enthält die Reihenschaltung eines ersten Registers R1, eines Demultiplexers DMUX, eines Speicherregisters R2, einer Datenwort-Multiplexeinrichtung MUX und eines FIRST IN/FIRST OUT Speichers (FIFO) ME. An den zwei Eingängen El und E2 des ersten Registers liegen die Präambel P der Codewörter und ihr Informationsteil I an. Die entsprechenden Ausgänge sind mit Al, A2 bezeichnet. In diesem Ausführungsbeispiel wird angenommen, dass Codewörter CW mit zwei unterschiedlichen Längen vorhanden sind. Die kürzeren Codewörter weisen nur den Informationsteil I von drei Bits Länge auf, während die längeren Codewörter zusätzlich die Präambel P mit ebenfalls drei Bits aufweisen. Die Bitkombination der Präambel ist im Informationsteil nicht vorhanden. Der Demultiplexer DMUX weist zwei Eingänge mit jeweils drei Bits auf und ebenfalls zwei entsprechende Ausgänge, die beliebig an die Paralleleingänge EP - hier vier Eingänge EP1 bis EP4 mit jeweils drei Bits Breite - des Speicherregisters R2 anschaltbar sind. Ausserdem weist das Speicherregister R2 Parallelausgänge AP - hier drei Ausgänge AP1 bis AP3 mit jeweils vier Bits Breite auf, von denen jeweils ein Ausgang über einen Multiplexer MUX an den Dateneingang E7 des FIFO-Speichers ME angeschaltet ist. Am Ausgang A des FIFO-Speichers werden Datenwörter DW mit vier Bits Breite abgegeben. Zur Steuerung des Demultiplexers DMUX, der Datenwort-Multiplexeinrichtung MUX und des FIFO Speichers ME sind zwei Steuerungen ST1 und ST2 vorhanden. Der ersten Steuerung ST1 wird über einen Eingang E3 ein Längenmodus LM zugefflhrt, der die Länge der anliegenden Codewörter CW angibt. Drei Steuerausgänge A4, A5 und A6 greifen in den Demultiplexer DMUX, die Multiplexeinrichtung MUX und in den FIFO-Speicher ME über dessen Schreibtakt-Eingang E8 ein. Beide Steuerungen werden mit einem an einem Eingang E4 liegenden Zeilenimpuls ZI gestartet. Die erste Steuerung ST1 steuert in Abhängigkeit von dem Längenmodus LM über ihren Ausgang A4 den Demultiplexer DMUX, über ihren Ausgang A5 die Datenwort-Multiplexeinrichtung MUX und über den Ausgang A6 den Einschreibtakt TIN des FIFO Speichers. Der Zeilenimpuls ZI gelangt Ober eine Verzögerungsschaltung V zum Eingang E5 der zweiten Steuerung ST2, die über ihren Ausgang A7 einen konstanten Auslesetakt TOUT an den Lesetakt-Eingang E9 des FIFO-Speichers liefert und an ihrem Ausgang A8 weitere Takte und Impulse MS zur Multiplexbildung mit anderen Signalkomponenten bei der Ubertragung von Farbsignalen sowie die notwendigen Bildimpulse abgibt. Ein an den Ausgängen Al, A2 des ersten Registers R1 anliegendes Codewort mit 6 Bits Länge wird, wie in Fig. 1 dargestellt, beispielsweise über den zweiten und dritten Eingang EP2, EP3 in das Speicherregister R2 eingeschrieben. Das nächste am Ausgang A2 des ersten Registers R1 anliegenden Codewort soll nur drei Bits aufweisen; dies wird über den vierten Eingang EP4 in das Speicherregister R2 eingeschrieben. Anschliessend wird das nächste Codewort über den ersten Eingang EP1 des Speicherregisters eingeschrieben usw. Die Zahlen an den Verbindungen zwischen Bausteinen geben Jeweils die Breite des Verbindungsbusses an. Die erste Steuerung ST1 enthält eine Zählvorrichtung, die angibt, ob mindestens vier Bits im Speicherregister R2 eingeschrieben wurden. Ist dies der Fall, so wird ein Datenwort mit vier Bits Breite über die Datenwort-Multi plexeinichtung MUX aus dem Speicherregister R2 ausgelesen und in den FIFO-Speicher ME eingeschrieben. Anschliessend werden die nächsten vier Bits aus den Speicherregister R2 als neues Datenwort ausgelesen. Das Speicherregister R2 muss als Mindestlänge das kleinste gemeinsame Vielfache der unterschiedlichen Codewortlängen und der Wortbreite der ausgelesenen Datenwörter, in diesen Fall somit 12 Bits, aufweisen. Nach Jedem Zeileimpuls wird zunächst eine bestimmte Anzahl von Datenwörtern DW in den FIFO-Speicher ME eingeschrieben, bevor das erste Datenwort dieser Zeile ausgelesen wird. Hierdurch ist stets zur einen kontinuierlichen Datenfluss am Ausgang A des FIFO-Speichers ME, auch bei häufig auftretenden Codewörtern kleiner Länge, gesorgt. Uber die erste Steuerung wird zudem sichergestellt, dass innerhalb Jeder Fernsehzeile eine konstante Anzahl von Datenwörtern durch Einlesen von Leerkombinationen in den FIFO-Speicher.eingeschrieben wird. Durch die dieser beschriebenen Anordnung vorgeschalteten Codiereinrichtung ist bereits sichergestellt, dass Codewörter mit grosser Länge nicht zu häufig vorkommen und ein Uberlaufen des FIFO-Speichers ME verursachen können. In Fig. 2 ist eine realisierte Schaltungsanordnung des Demultiplexers DMUX, des Speicherregisters R2 und der Datenwort-Multiplexeinrichtung MUX sichergestellt. Der Demultiplexer DMUX wird durch acht Multiplexer M1 bis M8 realisiert, die jeweils entsprechend der Wortlänge a = 3 der Präambel P und des Informationsteils I zwei mal drei Eingänge und drei Ausgänge aufweisen. Die Multiplexer M1 bis M8 (74 LS 399 der Fa. Texas Instruments) enthalten Speicherstufen, die das Speicherregister R2 bilden. Nicht benötigte Eingänge der Bausteine werden an Masse gelegt, die nicht benötigten Ausgänge bleiben frei. Bei dieser Realisierung weist das Speicherregister 24 Speicherplätze auf. Dies hat den Vorteil, dass acht Bits breite Datenwörter ausgelesen und in den FIFO Speicher ME eingeschrieben werden. Die Datenwortmultiplexeinrichtung MUX enthält vier Multiplexerbausteine Mll bis M14 (74 LS 153 der Fa. Texas Instruments) mit jeweils zwei Datenwort-Multiplexern Mlll,M112 ... M142 mit vier (drei benötigten) Eingängen und einem Ausgang. Alle Ausgänge der Multiplexerbausteine Mll bis M14 bilden einen acht Bits breiten Datenbus, der über ein sechstes Register R6 mit dem Dateneingang E7 des FIFO-Speichers ME (TDC 1030 der Fa. TRW, LSI Products Division, La Jolla, Ca. 92038) verbunden ist, dessen Ausgang an die Eingänge eines weiteren Multiplexers M10 mit zweimal vier Eingängen und vier Ausgangsleitungen angeschlossen ist. In jeden der Multiplexer M1 bis M8 werden Jeweils drei Bits eines Codewortes (Präambel P oder Informationsteil I) eingelesen. Die Steuerung des Einschreibvorganges erfolgt über die zugehörigen Selekt-Eingänge S1 bis S8 und die Takteingänge CL1 bis CL8. Die acht ersten Ausgänge der das Speicherregister bildenden drei ersten Multiplexer M1 bis M3 sind jeweils mit dem ersten Eingang EM1 der acht Datenwort-Multiplexer (Mlll bis M142) der vier Multiplexerbausteine Mll bis M14 verbunden. Der erste acht Bits breite Datenwort wird aus den Registern der Multiplexer M1 bis M3 ausgelesen, indem über die zusammengeschalteten Selekt Eingänge SE der Datenwort-Multiplexer Mlll bis M142 je- weils der erste Eingang EM1 der Datenwort Multiplexer auf den Ausgang durchgeschaltet wird. In derselben Weise werden die folgenden in den Registern der Multiplexer M3 bis M8 gespeicherten zwei weiteren Datenwörter ausgelesen, indem jeweils alle zweiten bzw. jeweils alle zweiten bzw. dritten Eingänge EM2 bzw. EM3 der Datenwort-Multiplexer der Multiplexbausteine Mll bis M14 an die Ausgänge durchgeschaltet werden. Nach einer Zwischenspeicherung im sechsten Register R6 erfolgt das Einschreiben der Datenwörter in den FIFQ-Speischer ME. Aus diesem werden wiederum acht Bits breite Datenwörter ausgelesen, die durch; den weiteren Multiplexer M10 - gesteuert Ober dessen Selekteingang S - in vier Bits breite Datenwörter umgesetzt werden. Die Verwendung von acht Bits breiten Datenwörtern hat den Vorteil, dass die Verarbeitungsgeschwindigkeit entsprechend herabgesetzt wird. Entsprechend weisen die dem sechsten Register und dem FIFO-Speicher zugeführten Arbeitstakte TA/2, TIN und TOuT die halbe Frequenz des Arbeitstaktes TA auf, mit dem vier Bits breiten Datenwörter ausgesendet werden. Die Ausführung der ersten und zweiten Steuerung ST1, ST2 bereitet für den Fachmann keinerlei Schwierigkeiten. Es muss jedoch stets die bei der Codierung von Fernsehsignalen oder anderen Bildsignalen erforderliche Arbeitsgeschwindigkeit berücksichtigt werden. Die erste Steuerung ST1 kann nach Fig. 3 als Lesespeichersteuerung ausgeführt werden. Es sind drei Lesespeicher (EPROM, PROM, ROM) ROM1 bis ROM3 (Baustein 74 S 288 Fa. Texas Instr.) vorgesehen, deren Adresseneingänge mit dem Ausgang eines Adressenregisters AR und mit dem Eingang E3 für den Längenmodus LM verbunden sind. Die Codewörter werden im ersten Register R1 zwischengespeichert, so dass sie gegen über dem Längenmodus LM verzögert sind. Die Ausgänge des ersten Lesespeichers ROM1 sind über ein drittes Register R3 und ein nachgeschaltetes Register R13 auf die Takteingänge CL1 bis CLS der Multiplexer M1 bis M8 geführt. Dem dritten Register R3 wird der am Eingang E10 anliegende Arbeitstakt TA und dem nachgeschalteten Register R13 der invertierte Arbeitstakt TA zugeführt. Die Ausgänge des zweiten Lesespeichers ROM2 sind über ein viertes Register R4 an die Selekt-Eingänge S1 bis 58 der Multiplexer M1 bis M8 geführt. Ein Ausgang des dritten Lesespeichers ROM3 ist über ein fünftes Register R5 mit den zusammengeschalteten Selekt-Eingängen SE der Multiplexerschaltungen Mll bis M14 verbunden. Ausserdem enthält der dritte Lesespeicher ROM3 eine Additionseinrichtung AD. Die zugehörigen Datenausgänge A10 sind mit dem Eingang des Adressenregisters AR verbunden, dem ebenfalls der Arbeitstakt TA zugeführt ist. Der invertierte Arbeitstakt TA wird durch einen Inverter IN erzeugt. Der Ausgang A9 eines Binärzählers C1 ist mit dem Eingang eines UND-Gatters UN verbunden. Ein weiterer Eingang des UND-Gatters UN ist an das fünfte Register R5 angeschlossen; ausserdem wird dem UND-Gatter der Arbeitstakt TA zugeführt. Der Ausgang des UND-Gatters UN liefert den Einschreibtakt TIN für den FIFO-Speicher ME und ist ausserdem mit dem Takteingang des Binärzählers C1 verbunden. Die ROcksetzeingänge RE des Binärzählers C1 und des Adressenregisters AR sind mit dem Eingang E4 verbunden. Zu Beginn einer neuen Fernsehzeile werden das Adressenregister AR und der Binärzähler Bl in eine definierte Anfangslage gesetzt. Uber den zweiten Lesespeicher ROM2 und das vierte Register R4 werden zunächst in Abhängigkeit von dem Längenmodus LM die Selekt-Eingänge des ersten Multiplexer M1 und des zweiten Multiplexers M2 angesteuert. Ein drei Bits umfassendes Codewort wird in den ersten Multiplexer M1 eingespeichert; ein sechs Bits umfassendes Codewort wird in den ersten Multiplexer M1 und den zweiten Multiplexer M2 gesteuert durch die über das dritte Reter R3 und das nachgeschaltete Register R13 erzeugten erzeugten Taktimpulse CL1 bzw. CL1 und CL2 eingespeichert. Durch die am dritten Lesespeichers ROM3 anliegende Adresse wird an dessen Datenausgang A10 eine von der Breite des eingelesenen Codewortes, also des Längenmodus LM, abhängige neue Adresse ausgegeben und in das Adressenregister AR eingeschrieben. Durch diese wird über die Lesespeicher ROM1 und ROM2 der der nächste Multiplexer, beispielsweise M3 ausgewählt, in den ein drei Bits breites Codewort eingeschrieben wird. Da jetzt neun Bits in die Register der Multiplexer M1 bis M3 eingelesen wurden, kann anschliessend vom dritten Lesespeicher ROM3 Uber das fünfte Register R5 am Ausgang A5 ein Selektionssignal an die Datenwortmultiplexer abgegeben werden, das Jeweils den ersten Eingang der Multiplexer der Multiplexerbausteine Mil bis M14 durchschaltet und die ersten acht Bits aus dem Speicherregister in das sechste Register R6 übernimmt. Die folgenden Codewörter werden in die nächsten Multiplexer M4 bis M8 eingeschrieben und jeweils - sobald wie möglich durch Ansteuerung der Selekt-Eingänge SE der Multiplexerbausteine Mil bis M14 ausgelesen und die FIFO-Speicher ME eingeschrieben. Anschliessend beginnt das Einschreiben mit dem ersten Multiplexer M1 von neuem. Während bei richtiger Bemessung des FIFO-Speichers ME ein Uberlaufen durch Begrenzen der Anzahl von 6-Bit-Codewörtern durch den vorgeschalteten Codierer verhindert ist, wird durch den Binärzähler C1 dafür gesorgt, dass in Jeder Fernsehzeile dieselbe Anzahl von 4-Bit-Datenwörtern durch Ergänzung mit Leerkombinationen in den FIFO-Speicher eingeschrieben wird. Ist diese vorgegebene Anzahl erreicht, so werden über den Ausgang A9 des Binärzählers C1 und über das UND-Gatter UN die Einschreibimpulse TIN gesperrt. Da empfangsseitig die ursprünglichen Codewörter rekonstruiert werden, die für jede Fernsehzeile eine konstante Anzahl aufweisen, können beliebige Leerkombinationen zum Auffüllen des FIFO-Speichers ME verwendet werden. Wie bereits erwähnt, beginnt das Auslesen der Fernsehzeile verzögert. Entsprechend mussen auch die Bildimpulse verzögert ausgesendet werden und ebenfalls der Auslesevorgang aus dem FIFO-Speicher nach Beginn des ersten Einlesevorganges, beispielsweise nach Jedem Bildwechsel, verzögert beginnen. Dies wird durch das Verzögerungs- glied V erreicht, das der zweiten Steuerung ST2 vorgeschaltet ist. Nach Beginn des Auslesevorgangs aus dem FIFO-Speicher wird der Auslesetakt TOUT ständig von der Steuerung ST2 abgegeben. Das Auffullen der Fernsehzeilen mit Leerkombinationen ist notwendig, da sich Ein- und Auslesevorgänge bei aufeinanderfolgenden Fernsehzeilen uberschneiden. Da die zweite Steuerung ST2 im wesentlichen fur die vorliegende Erfindung unwesentliche Einrichtungen zur Bildung der Multiplexsignale MS und zur Verzögerung der Bidlimpulse enthält, braucht auf sie nicht weiter eingegangen zu werden. 10 Patentansprüche 3 Figuren

Claims: Patentansprüche 1. Anordnung zur Umsetzung von Codewörtern (CW) unterschiedlicher Länge in Datenwörter (DW) gleicher Breite, d a d u r c h g e k e n n z e i c h n e t , dass ein Demultiplexer (DMUX) vorgesehen ist, dem die Codewörter (CW) in paralleler Form zugeführt werden, dass die Ausgänge des Demultiplexers (DMUX) mit Paralleleingängen (EP) eines Speicherregisters (R2) verbunden sind, dass die Parallelausgänge (AP) des Speicherregisters (R2) über eine Datenwort-Multiplexeinrichtung (MUX) an Dateneingänge (E7) eines Speichers (ME) angeschlossen sind und dass Steuereinrichtungen (ST1 ST2) für den Demultiplexer (DMUX), die Datenwort-Multiplexeinrichtung (MUX) und für den Speicher (ME) vorgesehen sind. 2. Anordnung nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t , dass als Speicher (ME) ein FIRST IN/FIRST OUT-Speicher vorgesehen ist. 3. Anordnung nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t , dass die Codewörter (CW) ein ganzzahliges Vielfaches (1,2,3...) der Anzahl a (3) der Bits des kürzesteten Codewortes aufweisen und dass die Anzahl der Speicherstufen des Speicherregisters (R2) der Anzahl a der Bits des kürzesten Codewortes (CW) multipliziert mit der Anzahl der Bits eines Datenwortes (DW) oder einem ganzzahligen Vielfachen hiervon entspricht. 4. Anordnung nach Anspruch 3, d a d u r c h g e k e n n z e i c h n e t , dass die Codewörter (CW) zwei unterschiedliche Längen aufweisen, dass das kurze Codewort nur einen Informationsteil (I) der Länge von a (3) Bits aufweist und dass das längere Codewort (CW) ebenfalls einen Informationsteil (1) und zusätzlich eine Präambel (P) der Länge von ¯a" Bits aufweist. 5. Anordnung nach Anspruch 4, d a d u r c h g e k e n n z e ich n e t , dass als Demultiplexer (DMUX) mehrere Multiplexer (M1 bis M8) vorgesehen sind, von denen jeweils ein Dateneingang eines Multiplexers (M1) mit den entsprechenden Dateneingängen der übrigen Multiplexer (M2 bis M8) parallelgeschaltet ist, dass den Dateneingängen Jedes Multiplexers (M1 bis M8) die möglicherweise vorhandene Präambel (P) und seinen alternativ durchschaltbaren Dateneingängen der Informationsteil (I) des Codewortes (CW) zugeführt ist und dass die Selekt-Eingänge (51 bis S8) der Multiplexer (M1 bis M8) separat ansteuerbar sind. 6. Anordnung nach Anspruch 5, d a d u r c h g e-k e n n z e i c h n e t , dass die Multiplexer (M1 bis M8) taktgesteuerte Speicherstufen enthalten, die das Speicherregister (R2) bilden. 7. Anordnung nach Anspruch 5, d a d u r c h g e k e'n n z e i c h n e t , dass die Datenwort-Multiplexeinrichtung (MUX) Datenwort-Multiplexer (Mlll bis M142) mit jeweils na (3) Eingänge enthält von denen jeweils gleichrangige Eingänge (EM1) mit aufeinanderfolgenden Ausgängen des Speicherregisters (R2) verbunden sind und dass alle gleichrangigen Selekt-Eingänge (SE) der Datenwort-Multiplexer parallelgeschaltet sind. 8. Anordnung nach Anspruch 4, d a d u r c h g e k e n n z e ich n e t , dass Codewörter (CW) mit 3 oder 6 Bits Breite verwendet werden, dass ein Datenwort (DW) 4 Bits umfasst und dass das Speicherregister (R2) 24 Speicherstufen umfasst, dass 8 Datenwort Multiplexer (Mlll bis M142) zum gleichzeitigen Auslesen von jeweils 2 Datenwörtern (DW) vorgesehen sind. 9. Anordnung nach Anspruch 3, d a d u r c h g e k e n n z e i c h n e t , dass die erste Steuerung (ST1) ein Adressenregister (AR) enthält, dass die Ausgänge des Adressenregisters (AR) mit Adresseneingängen von Lesespeichern (ROM1 bis ROM3) verbunden sind, dass die Ausgänge der Lesespeicher (ROM1 bis ROM3) über Register (R4,R5,R3,Rl3) mit den Selekt-Eingängen (S,SE) der Multiplexer (M1 bis M8) der Datenwort-Multiplexer (Mlll bis M142) und mit den Takteingängen (CL) des Speicherregisters (R2) verbunden sind, dass ein weiterer Ausgang eines der Lesespeicher (ROM3) an den Eingang eines UND-Gatters (UN) zur Steuerung des Schreibimpulses (TIN) des Speichers (ME) geführt ist und dass die Ausgänge des Adressenregisters (AR) Ober eine Additionseinrichtung (AR), der auch der Längenmodus (LM) zugefuhrt ist, auf die Adresseneingänge des Adressenregisters (AR) zurückgekoppelt ist. 10. Anordnung nach Anspruch 9, d a d u r c h g e k e n n z e i c h n e t , dass die Additionseinrichtung (AD) in einem Lesespeicher (ROM3) beinhaltet ist, der als neues Datenwort eine Adresse ausgibt, die entsprechend der anliegenden Adresse und des anliegenden Längenmodus (LM) gebildet ist.

Inventors: GRALLERT, HANS-JOACHIM, DR.-ING., LIEGL, WERNER, DIPL.-ING.
Applicants: SIEMENS AKTIENGESELLSCHAFT
Application year: 1985
Main classification: G06F5
IPC codes: G06F5, H03M7