DE3417262A1 - Einrichtung zum decodieren von nach durchlauflaengen codierten daten - Google Patents
Einrichtung zum decodieren von nach durchlauflaengen codierten datenInfo
- Publication number
- DE3417262A1 DE3417262A1 DE19843417262 DE3417262A DE3417262A1 DE 3417262 A1 DE3417262 A1 DE 3417262A1 DE 19843417262 DE19843417262 DE 19843417262 DE 3417262 A DE3417262 A DE 3417262A DE 3417262 A1 DE3417262 A1 DE 3417262A1
- Authority
- DE
- Germany
- Prior art keywords
- output
- register
- signals
- transition
- run length
- 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.)
- Granted
Links
- 230000007704 transition Effects 0.000 claims description 33
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 241000725101 Clea Species 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
Daten.
Die Erfindung bezieht sich auf eine Einrichtung zum Decodieren von nach Durchlauflängen codierten Daten entsprechend dem
Oberbegriff des Anspruches 1.
Bei einem Durchlauflängen-Codierschema sind die zu codierenden
Daten in'Durchlaufe unterteilt, d.h. in Folgen won Signalen des
gleichen Wertes, und jeder Durchlauf wird durch einen Durchlauflängen-Code repräsentiert, der die Anzahl von Signalen im
Durchlauf anzeigt. Beispielsweise können die Signale 3innrziffern (Bits) sein. In diesem Fall repräsentiert der Durchlauflängen-Code
die Anzahl von binären Einsen oder Mullen im
Durchlauf.
Eine Durchlauflängen-Codierung wird beispielsweise häufig
verwendet, um digitalisierte Bilddaten, die Texte oder graphische Darstellungen wiedergeben, zu codieren. Derartige Daten
sind typischerweise durch große Durchlauflängen zwischen
Übergängen charakterisiert, und somit kann die Durchlauflängen-Codierung
eine wesentliche Kompression in der Anzahl von Signalen ergeben, die zur Wiedergabe eines Bildes erforderlich
sind. Diese Kompression führt zu entsprechenden Einsparungen an Speicher raum und/oder an Übertragungsdauer für die Daten.
Der herkömmliche Weg zum Decodieren eines nach Durchlauflängen
codierten Signales besteht darin, den Durchlauflängen-Code in einen Zähler einzuführen und dann nach abwärts bis Null zu
zählen, wobei bei jeder Zählung ein Signal des gewünschten Wertes ausgegeben wird. Wenn der Zähler Null erreicht, erfolgt
ein Übergang auf einen anderen Signalwert, in den Zähler wird der nächste Durchlauflängen-Code eingeführt, und der Vorgang
wird wiederholt.
Um eine Anzeige hoher Qualität (hohe Auflösung) in Echtzeit zu
erzielen, ist rs notwendig, die Daten in die Sichtanzeigeeinheit
(z.B. einen rast erabgetasteten Kathodenstrahlröhrenschirm) mit »ehr hoher Geschwindigkeit einzuführen. Der Durchlauflängen-Decodierer
im ι S deshalb in der Lage sein, die Daten mit einer
hohen Geschwindigkeit zu decodieren. Dies macht die Verwendung
von .'schnellen und dnmit teueren Schaltungen erforderlich.
Inisbesondere würde ein konventioneller Durchlauflängen-Decodierer
einen Zähler benötigen, der in der Lage ist, mit der
B i J rielemen tgeschwi ndigke i t der Sichtanzeige zu zählen.
In der GB-pS 1.598.343 wird eine Durch!auflängen-Deeodieranordnung
beschrieben, in der Gruppen von N Signalen parallel
ausgegeben werden, so dai3 die gewünschte Betriebsgeschwindigkeit
der Decodier schaltungen um einen Fa !et or N verringert wird.
Hierbei sind zusätzlich zu den normalen Durchlauflängen-Codes
Spezialcodes erforderlich, die als Übergangscodes bezeichnet
werden, um die T η h a 11 e d ηr Gruppen, in denen die Üb e r g ä η π e
auftreten, ;;u spezifizieren.
Aufgabe der Erfindung ist es, eine Durchlauflängen-Decodiereinrichtung
zu schaffen, in der die gewünschte Betriebsgeschwindigkeit
verringert wird, ohne daß spezielle Übergangscodes
erforderlich sind.
G email der Erfindung wird diese Aufgabe bei einer Einrichtung der
gattungsgemäHen Art gelöst durch
a) ein Positionsregister zur Speicherung einer Anzeige der
Position des letzten Überganges zwischen Signalwerten innerhalb einer Gruppe von Signalen,
b) eine Rechenschaltung zur Verwendung der Inhalte des Positionnregistnrs
und des aufgenommenen Durchlauf längen-Codes für die Berechnung der Anzahl χ von Gruppen, die vor dem nächsten
Übergang ausgegeben werden sollen, sowie der Position
innerhalb der Gruppe dieses nächsten Überganges, und
c) eine logische Schaltung zur Erzeugung des Überganges an der
berechneten Position, nachdem die berechnete Anzahl χ von Gruppen ausgegeben worden ist.
Mit der erfindungsgernäßen Einrichtung sind somit nur normale
Durchlauflängen-Codes als Eingang erforderlich, und es werden
keine speziellen Übergangs-Codes benötigt, um die Positionen der Übergänge innerhalb der Ausgangsgruppen anzuzeigen.
Nachstehend wird eine Ausführungsform der Erfindung in Verbindung
mit der Zeichnung erläutert. Bei dieser Ausf ührungsf orir
sind die Daten Binärdaten, die als Folge von aus acht Bits bestehenden Bytes (d.h. η = 8) ausgegeben werden. Es zeigt:
Fig. 1 ein Blockschaltbild einer digitalisierten Bildsichtanzeigeanordnung,
die einen Durchlauflängen-Decodierer nach der Erfindung aufweist,
Fig. 2 eine logische Schaltung des Durchlauflängen-Decodierers,
Fig. 3 eine logische Schaltung einer logischen Ausgangseinheit, die einen Teil des Durchlauflängen-Decodierers darstellt,
Fig. 4 ein Flußschaltbild, das die Arbeitsweise des Durchlauflängen-Decodierers
wiedergibt, und
Fig. 5 eine logische Schaltung eines Maskenschema-Decodierers,
der Teil des Durchlauflängen-Decodierers bildet.
In Fig. 1 ist eine Registriersichtanzeigeanordnung zur Aufnahme
von codierten Bilddaten gezeigt. Die Eingangsdaten können beispielsweise aus einer Speichervorrichtung stammen oder aus
einem Übertragungskanal aufgenommen werden.
Die Eingangsdaten sind doppelt codiert, erstens durch einen Durchlauflängen-Code und zweitens durch eine Huffmann-Codierung.
Die Huffmann-Codierung ist in der Technik bekannt und
.ist nicht Gegenstand vorliegender Erfindung, so daß auf sie hier
nicht näher Hingegangen wird.
Die Eingangsdaten werden zuerst mit Hilfe einer Huffmann-Decodierschaltung
10 decodiert, und die daraus resultierenden, nach Durchlauflängen codierten Daten werden in einen Pufferspeicher
11 eingegeben, bei dem die Daten in der Reihenfolge des Einganges ausgegeben werden. Der Ausgang des Pufferspeichers
wird einem Durchlauflängen-Decodierer 12 nach der Erfindung
zugeführt. Dieser Durchlauflängen-Decodierer 12 erzeugt ein
Steuersignal "Halten" für den Pufferspeicher 11: wenn das Signal
"Halten" hoch ist (d.h. "Halten" = 1), bewirkt dies, daß der Pufferspeicher 11 seinen Ausgang statisch halt, und wenn das
Signal "HaItRn" niedrig ist ("Halten" = 0), ermöglicht dies, daß der Pufferspeicher auf seinen nächsten Ausgang u/ei terschaltet.
Der decodierte Ausgang aus dem Durchlauflängen-Decodierer 12
wird in einen Bildwechsel-Pufferspeicher 13 zusammen mit einem
Steuersignal WAL eingeführt, das anzeigt, ob der Ausgang aus dem Decodierer 12 gültig ist oder nicht. Ist UAL = 1, wird der
Ausgang von dem Pufferspeicher 13 angenommen. Der Pufferspeicher
hält einen vollständigen Bildwechsel der Bilddaten für die Abgabe in eine rasterabgetastete Kathodßnstrahlröhren-Sichtan-
7. e i g e 14.
Da si Durchlauflängen-Codiorschema verwendet Co de Wörter zweier
unterschiedlicher Arten, nämlich Anschlußcodewörter und Ausstattungscodewörter.
Jedes Codewort hat sieben Bits, das erste Bit ist ein Steuerbit MUC, das angibt, ob es sich um ein AnschluS-Codeu/ort
(MLJC = D) oder um ein Austattungs-Codewort (MLJC = 1)
handelt. Die anderen sechs Bits stellen einen Längencode LEN dar.
Kurze Durchlauflängen, bis zu 63 Bits, werden durch ein einziges Anschluß-Codewort codiert, wobei ein Längencode gleich der
Anzahl von Bits im Durchlauf ist. Größere Durchlauflängen (64 Bits und darüber) werden durch ein Ausstattungs-Codewort
dargestellt, auf das ein Anschluß-Codewort folgt. Das Ausstattungs-Codewort
stellt eine Durchlauflänge in Mehrfachen von 64 Bits dar, während das Anschluß-Codewort den übrigen Teil
(möglicherweise Null) darstellt. Es sei darauf hingewiesen, daß auf ein Ausstattungs-Codewort stets ein Anschluß-Codewort folgt
und einen Durchlauf nicht beenden kann.
Beispielsweise wird eine Durchlauflänge von 201 Bits durch das
Ausstattungs-Codewort 1.000011 (3 χ 64 Bits) dargestellt, an das sich das Anschluß-Codewort ü.001001 (9 Bits) anschließt.
Fig. 2 zeigt den Durchlauflängen-Decodierer 12 im einzelnen. Der
Durchlauflängen-Decodierer enthält ein Ausgangsregister 20, das ein aus acht Bits bestehendes Byte hält. Dieses Register wird
bei jeder Schwebung eines 10 MHz-Taktsignales CLK mit einem Byte
aus einer logischen Ausgangsschaltung 21 gefüllt. Wenn das Steuersignal VAL echt ist, ist das Byte dann der Ausgang bei der
nächsten Taktschwebung zum Bildwechselpufferspeicher. Die
logische Ausgangsschaltung 21 ist im einzelnen in Verbindung mit Fig. 3 beschrieben.
Der Durchlauflängen-Decodierer weist ferner einen neunstufigen
Zähler 22 auf, der die Anzahl von Bytes hält, die aus dem Register 20 vor dem nächsten Übergang ausgegeben werden sollen.
Ein Register 23, das als das Bitspositionsregister bezeichnet wird, hält einen 3-Bit-Code, der die Bitposition innerhalb des
Bytes darstellt, bei welchem der nächste Übergang auftritt. Wenn beispielsweise das Bitpositionsregister 23 den Code 011 häjt
(dezimale 3), zeigt dies an, daß der nächste Übergang nach dem dritten Bit des in Frage kommenden Byte auftritt.
AIIr Stufen des Zählers 22 sind mit dinum NOR-Gatter 24 verbunden,
da53 ein Steuersignal CZ erzeugt; CZ = 1 gibt an, daß die
Inhalte des Zahlers alle Null sind. Dieses Signal wird invertiert, damit die Signale "Halten" und "VAL" in die Pufferspeicher
11 und 13 (Fig. 1) erzeugt werden.
Die Inhalte des Bitpositionsregisters 23 werden einem NOR-Gatter 25 zugeführt, um ein Steuersignal BZ zu erzeugen. BZ = 1 zeigt
an, daß die Inhalte des Registers 23 gleich Null sind, d.h., daß
der nächste Übergang an der Grenze zwischen zwei Bytes auftreten wird. Der Ausgang des Registers 23 wird ferner einer Decodierschaltung
26 zugeführt, die ein 8-Bit-Maskenscherna aus Nullen und Einsen erzeugt, wobei ein Übergang an der Bitposition durch
die Inhalte des Registers 23 angezeigt wird. Der Ausgang der Decodierschaltung ist in der nachstehenden Tabelle 1 gezeigt.
Register 23 Maskenschema
000 11111111
001 01111111
010 00111111
011 00011111
100 00001111
101 00000111
110 00000011
111 00000001
Die Decodierschaltung 26 wird weiter unten in Verbindung mit
Fig. 5 näher erläutert.
Im Betrieb wird der Zähler 22 normalerweise bei jeder Schwebung
clea Taktes CLK um Eins mit Hilfe eines Steuersignales COUNT
vermindert. Wenn der Zähler Null erreicht hat, wird das nächste
COUNT-Signal unterdrückt und ein LOAD-Signal stattdessen
erzeugt. Dies bewirkt, daß neue Werte in den Zähler 22 und das
Register 23 eingeführt werden. Diese neuen Vierte werden aus dem Eingangscodewort mit Hilfe von Multiplexern 27, 28 und einem
sechsstufigen Addierer 29 abgeleitet.
Die Multiplexer werden beide durch das Steuerbit MUC des Eingangscodewortes gesteuert. Wenn MUC = 0, wählt der Multiplexer
27 den jeweiligen Eingangslängencode LEN, und der Multiplexer
28 wählt einen Eingang mit sechs Bits, von denen die fünf Bits höchster Bedeutung an eine Spannung angeschlossen sind, die Null
repräsentiert, und das sechste Bit mit dem Übertragsausgang des Addierers 29 verbunden ist. Wenn MUC = 1, wählt der Multiplexer
27 einen Eingang mit sechs Bits, die alle Null sind, und der Multiplexer 28 wählt den Längencode LEN.
Der Ausgang des Multiplexers 27 wird einem Eingang des Addierers
29 zugeführt, dessen anderer Eingang den Ausgang des Bitpositionsregisters
23 aufnimmt. Die drei Bits geringster Bedeutung den Addiererausgangs werden dem Register 23 zugeführt, während die
drei Bits höchster Bedeutung in die drei Stufen geringster Bedeutung des Zählers 22 gehen. Der Ausgang des Multiplexers 28
wird den sechs Stufen höchster Bedeutung des Zählers 22 zugeführt.
Wenn somit das Eingangs-Codewort ein Anschluß-Codewort (MUC = 0)
ist, wird der Längencode LEN den vorhandenen Inhalten des Registers 23 hinzuaddiert. Dann werden bei dem nächsten LOAD-Signal
die drei Bits niedrigster Bedeutung des Resultats in das Register 23 eingeschrieben, und die vier Bits höchster Bedeutung
(einschließlich des Ubertragsbits C) werden in den Zähler 22 eingeschrieben. Wenn das Eingangs-Codewort ein Ausstattungs-Codewort
ist (MUC = 1), wird der Längencode LEN von dem Multiplexer 28 effektiv nach links um sechs Plätze verschoben (d.h.
mit 64 multipliziert), bevor er in den Zähler eingeschrieben wird, und in diesem Falle werden die Inhalte des Registers 23
nicht geändert.
Es ergibt sich daraus, daS die Multiplexer 27, 28 und der Addierer 29 das Eingangs-Codewort verwenden, um
: hy*
a) die Anzahl von Rytes, die vor dem nächsten übergang ausgegeben
werden sollen, und
b) die Bitposition innerhalb des Bytes, an der der Übergang
auftreten wird, zu berechnen.
Bei dem LOAD-Signal wird die berechnete Anzahl von Bytes in den
Zähler 22 eingeführt und die berechnete Bitposition in das Register 23 eingegeben.
Es sei beispielsweise angenommen, daß das Bitpositionsregister 23 den Wert 011 hält. Ferner sei angenommen, daß das nächste
Eingangs-Codewort 0.101011, d.h. ein Anschluß-Codewort ist, das eine Durchlauflänge von 43 Bits darstellt. Der Addierer 29 wird
damit die Addition 101011 + 011 = 101110 durchführen.
Bei dem LOAD-Signal werden die ersten drei Bits des Resultats (101) in den Zähler eingeführt, wodurch angezeigt wird, daß fünf
Bytes vorhanden sind, die vor dem nächsten Übergang ausgegeben werden sollen. Gleichzeitig werden die letzten drei Bits (110)
in das Register 23 eingeführt, wodurch angezeigt wird, daß der Übergang nach dem sechsten Bit des Bytes erfolgt.
Die Fig. 3 zeigt die logische Ausgangsschaltung 21 im einzelnen.
Die Schaltung weist einen herkömmlichen 3:8 Decodierer 30 auf, der von den drei Signalen MUC, BZ und CZ gesteuert wird. Nur
zwei der Ausgänge Dl und D3 dieses Decodierers werden verwendet. Diese beiden Ausgänge sind normalerweise hoch und repräsentieren
eine binäre Eins. Dl geht nach niedrig, wenn MUC = 0, BZ = 0 und
CZ = 1, während D3 nach niedrig geht, wenn MUC = 0, BZ = 1 und CZ = I.
Das Signal Dl steuert einen 2:1 Multiplexer 31; wenn Dl = O,
wählt der Multiplexer einen ersten Satz von acht Eingängen, die mit acht Exklusiv-ODER-Gattern 32 verbunden sind; ist Dl = 1,
wählt der Multiplexer einen zweiten Satz von Eingängen, die mit dem Ausgang eines einzigen A'quivalenzgatters 33 verbunden sind.
Die Exklusiv-ODER-Gatter 32 haben jeweils zwei Eingänge. Die
rechten Eingänge sind mit entsprechenden Bits des Ausgangsregisters 20 verbunden, während die linken Eingänge das 8-Bit-Maskenschema
aus dem Maskendecodierer 26 aufnehmen (Fig. 2).
Das Squivalenzgatter 33 hat zwei Eingänge, die das Bit geringster
Bedeutung des Ausgangsregisters 20 und das Signal D3 aus dem Decodierer 30 aufnehmen»
Der Ausgang des Multiplexers 31 ist der Ausgang der logischen Schaltung 21 und wird dem Ausgangsregister 20 zugeführt. Dieser
Ausgang hängt von den Zuständen der Steuersignale MUC, BZ und CZ, und auch von den vorhandenen Inhalten des Ausgangsregisters
in folgender Weise ab:
1. Wenn CZ = 0 oder MUC = 1, sind sowohl Dl als auch D3 hoch, so
daß der Multiplexer 31 den Ausgang des A'quivalenzgatters 33
auswählt, der in diesem Fall gleich dem Bit niedrigster Bedeutung des Ausgangsregisters 20 ist. Somit wird das
Ausgangsregister 20 mit einem Byte gefüllt, dessen Bits alle gleich dem Bit geringster Bedeutung der jeweiligen Inhalte
ist.
2. Wenn MUC = 0, BZ = 1 und CZ = 1, geht das Signal D3 nach niedrig. Dies bewirkt, daß das Ä'quivalenzgitter 33 das Bit
aus dem Ausgangsregister invertiert. Somit wird in diesem Fall das Ausgangsregister 20 mit einem Byte gefüllt, dessen
Bits alle gleich dem inversen Wert des Bits niedrigster Bedeutung der jeweiligen Inhalte ist.
3. Wonn MUC = 0, BZ = 0 und CZ = 1, geht das Signal Dl nach
niedrig. Dies bewirkt, daß der Multiplexer 31 die Ausgänge der Exklusiv-ODER-Gatter 32 auswählt. Das Ausgangsregister
wird somit mit einem Byte gefüllt, das durch ein bitweises Exklusiv-ODER der laufenden Inhalte des Ausgangsregisters mit
dem Maskenschema aus der Decodierschaltung 26 gebildet wird
(wie in Tabelle 1 oben angegeben). Dies bewirkt, daß alle Bits des Ausgangsregisters, die auf die Bitposition folgen,
die durch das Register 23 angezeigt wird, invertiert werden.
Wenn beispielsweise das Ausgangsregister 20 alle Einsen enthält, und das Bitpositionsregister 23 den Wert QIl (dezimale 3) hält,
ist das Exklusiv-ODER wie folgt:
Ausgangsregister 1111 1111
Maskenschema 0001 111.1
Exklusiv-ODER 1110 0000
Maskenschema 0001 111.1
Exklusiv-ODER 1110 0000
Daraus ergibt sich, daß alle Bits nach dem dritten invertiert sind.
Nachstehend wird die Arbeitsweise des Durchlauflängen-Decodierers
12 in Verbindung mit dem Flu0diagramm naeti Fig. 4 beschrieben.
In dieser Fig. 4 stellen die rautenförmigen Kästchen Steuerentscheidungen entsprechend den Werten der Steuersignale
MUC, BZ und CZ dar, während die rechteckförmigen Kästchen Arbeitsvorgänge darstellen.
Kästchen 41: Wenn der Zähler noch nicht Null (CZ = 0) erreicht
hat, ist das VAL-Signal hoch und damit werden die
laufenden Inhalte des Ausgangsregisters 20 in den Pufferspeicher mit der nächsten Taktschwebung
ausgegeben.
Kästchen 42: Das Ausgangsregister wird dann mit einem neuen Byte aus der Ausgangslogik 21 gefüllt. Da CZ = Q, sind
bei dem neuen Byte alle Bits gleich dem letzten (niedrigstwertigen) Bit des laufenden Bytes.
Kästchen 43: Gleichzeitig wird der Zähler 22 durch das COUNT-
Signal um Eins vermindert. Diese Schleife (Kästchen 41 - 43) wird bei jeder Taktschwebung wiederholt,
bis der Zähler 22 Null erreicht.
Kästchen 44: Hat der Zähler Null (CZ = 1) erreicht, wird, wenn das laufende Codewort ein Anschluß-Codewort ist
(MUC = 0) und wenn der nächste Übergang an der Grenze zwischen dem augenblicklichen Byte und dem
nächsten (BZ = 1) liegt, wird das Ausgangsregister 20 mit einem Byte gefüllt, dessen Bits alle gleich
dem inuersen Wert des letzten Bits des laufenden Bytes sind.
Kästchen 45: Wenn andererseits der übergang innerhalb des
nächsten Byte liegt (BZ = 0), wird das Ausgangsregister
20 mit dem Exklusiv-ODER der laufenden Inhalte und dem Maskenschema aus dem Decodierer
gefüllt. Dies erzeugt ein Bit mit einem Übergang in der gewünschten Position.
Kästchen 46: Wenn das laufende Codewort ein Ausstattungs-Codwort
ist (IiUC = 1), ist das Ende des Durchlaufes noch nicht erreicht, da einem Ausstattungs-Codewort
stets ein Anschluß-Codewort folgen muß. In diesem Fall ist das Ausgangsregister somit mit einem Byte
gefüllt, dessen Bits alle gleich dem letzten Bit des laufenden Byte sind.
Kästchen 47: Da der Zähler nunmehr Null erreicht hat, wird ein
LOAD-Signal erzeugt. Dies bewirkt, daß die Byte-und
Bit-Positionen des nächsten Überganges in den Zähler 22 und das Bit-Positionsregister 23 eingeführt
werden sollen.
Die Durchlauffolge wird anschließend wiederholt.
Die beschriebene Anordnung ist in der Lage, Situationen zu lösen, bei denen mehr als ein Übergang innerhalb des gleichen
ßyt.e auftritt. In diesem Fall bleibt der Zähler 22 mehr als eine
Taktschwebung lang auf Null. Bei jeder dieser Taktschwebungen
werden die Inhalte des Ausgangsregisters 20 in Exklusiv-ODER-Schaltung
mit dem Maskeηschema aus dem Decodierer 26 (Kästchen
45) gelegt, um einen weiteren übergang im Byte zu erzeugen,
Während dieser Zeit werden keine Bytes aus dem Register 20
ausgegeben, da der Zähler 22 auf Null steht. Schließlich wird ein Längencode aufgenommen, der bewirkt, daß der Zähler 22 auf
einen von Null abweichenden Wert gesetzt wird, worauf das Byte, das die Mehrfach-Übergänge enthält, ausgegeben wird (Kästchen
41).
Fig. 5 zeigt den Maskenschema-Decodierer im einzelnen. Der Decodierer bßsteht aus zwei 2:1 Multiplexern 50, 51. Der
Multiplexer 50 speist die vier Bits höchster Bedeutung des Haskenschemas, während der (invertierte) Ausgang des Multiplexers
5.1 die vier Bits geringster Bedeutung einspeist. Der Ausgang des Bitpositionsregisters 23 ist durch drei Bits Rl,
R2, R3 gezeigt. Das Bit Rl höchster Bedeutung steuert das
l'i rksamwerden der Multiplexer in der Weise, daß der Multiplexer
50 wirksam wird, wenn Rl = 0, und der Multiplexer 51 wirksam
wird, wenn Rl = 1. Das mittlere Bit R2 wird mit dem Auswähleinqang
beider Multiplexer so verbunden, daß dann, wenn R2 = 0, der
linksseitige Eingang gewählt wird, und wenn R2 = 1, der rechtsseitige
Eingang gewählt wird.
Die Eingänge der beiden Multiplexer sind so verdrahtet, daß sie Schemen von hohen (binäre 1) und niedrigen (binäre 0) Spannungen
sowie das Bit R3 geringster Bedeutung aufnehmen. Aus Fig. 5 ergibt sich, daß dies die gewünschten Ausgangsmaskenschemen nach
Tabelle 1 ergibt.
Claims (5)
- Patentansprüche:/1 Λ Einrichtung zum Decodieren von nach Durchlauflängen codierten Daten mit einem Eingang zur Aufnahme einer Folge von Durchlauflängen-Codes, deren jeder die Länge eines Durchlaufes von Signalen des gleichen Wertes repräsentiert, und einem Ausgang zum Ausgeben einer Folge von Gruppen von Signalen, deren jede eine bestimmte Anzahl η von Signalen enthält, die parallel ausgegeben u/erden, gekennzeichnet durcha) ein Positionsregister (23) zur Speicherung einer Anzeige der Position des letzten Überganges zwischen Signalu/erten innerhalb einer Gruppe von Signalen,b) eine Rechenschaltung (29) zur Verwendung der Inhalte des Positionsregir;ters (23) und des aufgenommenen Durchlauflängen-Codes (LEN) für die Berechnung der Anzahl χ von Gruppen, die vor dem nächsten Übergang ausgegeben werden sollen, sowie der Position innerhalb der Gruppe dieses nächsten Überganges, undc) eine logische Schaltung (21, 26) zur Erzeugung des Überganges an der berechneten Position, nachdem die berechnete Anzahl χ von Gruppen ausgegeben worden ist.
- 2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Rechenschaltung (29) einen Addierer zum Addieren des Durchlauflängen-Codes (LEN) zu den Inhalten des Positionsregisters (23) aufweist, um ein Resultat zu erzielen, dessen Teil höchster Wertigkeit die Anzahl χ von Gruppen anzeigt, die vor dem nächsten Übergang ausgegeben werden sollen, und dessen Teil geringster Wertigkeit die Position innerhalb der Gruppe des nächsten Überganges anzeigt.
- 3. Einrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die logische Schaltung (21, 26) aufweist:a) eine Decodierschaltung (26) zur Erzeugung eines binären Maskenmusters, das aus η Bits mit einem Übergang zwischen Binärwerten an der berechneten Position besteht, undb) eine lofjinche Ausgangsschaltung (21) zum Kombinieren des Haskenmusters mit der letzten auszugebenden Gruppe von Signalen .
- 4. Einrichtung nach einem der Ansprüche 1-3, gekennzeichnet durch ein Ausgangsregister (20) zum Halten einer Gruppen von η Signalen, und einen Zähler (22) zum Zählen der Anzahl x, sowie durch das Ausgeben der Inhalte des Ausgangsregisters (20) und anschließende Einstellen eines jeden Signales im Ausgangsregister (20) auf den gleichen Wert wie der des letzten Signales im Ausgangsregister bei jeder Zählung.
- 5. Einrichtung nach einem der Ansprüche 1-4, dadurch gekennzeichnet, daß die Signale Binärziffern sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB838313331A GB8313331D0 (en) | 1983-05-14 | 1983-05-14 | Decoding run-length encoded data |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3417262A1 true DE3417262A1 (de) | 1984-11-29 |
DE3417262C2 DE3417262C2 (de) | 1992-11-05 |
Family
ID=10542750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19843417262 Granted DE3417262A1 (de) | 1983-05-14 | 1984-05-10 | Einrichtung zum decodieren von nach durchlauflaengen codierten daten |
Country Status (7)
Country | Link |
---|---|
US (1) | US4551706A (de) |
JP (1) | JPH0669146B2 (de) |
AU (1) | AU559975B2 (de) |
DE (1) | DE3417262A1 (de) |
FR (1) | FR2545956B1 (de) |
GB (1) | GB8313331D0 (de) |
ZA (1) | ZA843381B (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62164317A (ja) * | 1986-01-14 | 1987-07-21 | Fujitsu Ltd | 符号化方式 |
US4707681A (en) * | 1986-04-24 | 1987-11-17 | International Business Machines Corporation | Method and apparatus for implementing optimum PRML codes |
US5055841A (en) * | 1991-02-01 | 1991-10-08 | Bell Communications Research, Inc. | High-speed feedforward variable word length decoder |
KR0141875B1 (ko) * | 1994-11-30 | 1998-06-15 | 배순훈 | 줄길이복호화기 |
EP2798476B1 (de) * | 2011-12-30 | 2018-09-19 | Intel Corporation | Anweisung für vektorerweiterungsfrequenz |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1598343A (en) * | 1977-04-04 | 1981-09-16 | Int Computers Ltd | Display systems |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE406407B (sv) * | 1975-11-25 | 1979-02-05 | Hell Rudolf Dr Ing Gmbh | Forfarande for digital loplengdkodning med redundansreduktion for overforande av binert kodade bildinformationer |
US4152697A (en) * | 1976-08-11 | 1979-05-01 | Xerox Corporation | Parallel run-length decoder |
JPS5564445A (en) * | 1978-11-08 | 1980-05-15 | Nec Corp | Code converter circuit |
GB2080584B (en) * | 1980-07-24 | 1984-05-23 | Int Computers Ltd | Binary-coded-decimal to binary converter |
-
1983
- 1983-05-14 GB GB838313331A patent/GB8313331D0/en active Pending
-
1984
- 1984-05-02 US US06/606,382 patent/US4551706A/en not_active Expired - Lifetime
- 1984-05-04 ZA ZA843381A patent/ZA843381B/xx unknown
- 1984-05-10 DE DE19843417262 patent/DE3417262A1/de active Granted
- 1984-05-11 AU AU27963/84A patent/AU559975B2/en not_active Ceased
- 1984-05-14 JP JP59094758A patent/JPH0669146B2/ja not_active Expired - Fee Related
- 1984-05-14 FR FR8407428A patent/FR2545956B1/fr not_active Expired
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1598343A (en) * | 1977-04-04 | 1981-09-16 | Int Computers Ltd | Display systems |
Also Published As
Publication number | Publication date |
---|---|
JPS59215117A (ja) | 1984-12-05 |
DE3417262C2 (de) | 1992-11-05 |
US4551706A (en) | 1985-11-05 |
GB8313331D0 (en) | 1983-06-22 |
FR2545956B1 (fr) | 1988-09-09 |
AU2796384A (en) | 1984-11-15 |
FR2545956A1 (fr) | 1984-11-16 |
AU559975B2 (en) | 1987-03-26 |
JPH0669146B2 (ja) | 1994-08-31 |
ZA843381B (en) | 1984-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69029725T2 (de) | Hybrides hierarchisches verfahren auf basis von resten, zur speicherung und anzeige von hochauflösenden digitalen bildern in einer mehrzweckumgebung | |
DE3587107T2 (de) | Drehungsverfahren und -geraet fuer binaere bilder. | |
DE2264090C3 (de) | Datenverdichtung | |
DE3687285T2 (de) | Verfahren und anordnung zur modifizierung eines lauflaengenbegrenzten codes. | |
DE3825960C2 (de) | ||
DE3525898C2 (de) | ||
DE2814084A1 (de) | Sichtanzeigeeinrichtung | |
DE4310347C2 (de) | Verfahren und Schaltkreis zum Erstellen von Zickzackadressen | |
DE3711200A1 (de) | Binaerdatenverdichtungs- und -dehnungs-verarbeitungsgeraet | |
DE2508706A1 (de) | Codieren und decodieren mit einem code variierbarer wortlaenge und gegebenem bitzahlverhaeltnis | |
DE69125424T2 (de) | Vorrichtung zur variablen Längenkodierung und Vorrichtung zur variablen Längendekodierung | |
DE2805294C2 (de) | Codierende Übertragungsanlage für Faksimile-Signale | |
DE3711201C2 (de) | ||
DE3786621T2 (de) | Verfahren und Vorrichtung zur Erzeugung von Bilddaten, die beim Gradationsbildaufzeichnen verwendet werden. | |
DE19625157A1 (de) | Datenkompressions- und -expansionsverfahren | |
EP0077089B1 (de) | Anordnung zum Speichern oder Übertragen von transformationskodierten Bildsignalen und zum Rückgewinnen dieser Bildsignale | |
DE2165893A1 (de) | Historische datenanzeige | |
DE3689893T2 (de) | Gerät zum Dekodieren eines Bildkodes. | |
DE3303269C2 (de) | ||
DE3876887T2 (de) | Erzeugung von linien in einem anzeigesystem. | |
DE2340250A1 (de) | Verfahren zum codieren eines eine bestimmte redundanz aufweisenden nachrichtenstromes | |
DE3417262A1 (de) | Einrichtung zum decodieren von nach durchlauflaengen codierten daten | |
DE3614143C2 (de) | Anordnung und Verfahren zur Codierung und Decodierung eines komprimierten Bildsignals | |
DE3706470A1 (de) | Binaerdatenverdichtungs- und -dehnungs-verarbeitungsgeraet | |
EP0769853B1 (de) | Logischer Block für einen Viterbi-Decoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |