-
"Verfahren und Schaltungsanordnung zur komprimierten Übertragung
binärcodierter Bildsignale" Die Erfindung betrifft ein Verfahren zur komprimierten
Ubertragung binärcodierter Bildsignale, bei dem sendeseitig von einer Bildabtasteinrichtung
eine Bildvorlage zeilenweise abgetastet und in binär getaktete Bildsignale umgewandelt
wird und binäre relevante Signale mit unterschiedlicher Codewortlänge in Form von
Runs codiert werden und empfangsseitig die codierten Runs durch einen in der Codewortlänge
der zu decodierenden Runs einstellbaren Runlängen-Decodierer decodiert werden und
eine Schaltungsanordnung zur Durchführung des Verfahrens.
-
Bekanntlich bietet zur redundanzreduzierenden Codierung von zweipegelig
quantisierten Bildsignalen die Runlängencodierung besondere Vorteile, da mit geringem
Aufwand gute Kompressionsfaktoren erreicht werden.
-
Es ist außerdem bekannt, daß höhere Kompressionsfaktoren dann erreichbar
sind, wenn die Bitlängen der Codewörter, die die länge von Bildelementenfolgen gleichen
Helligkeitspegels binär ausdrücken, jeweils umgekehrt proportional zur Auftrittshäufigkeit
der betreffenden Bildelementenfolgen gewählt werden (IRE Trans. Oomm. Syst., Sept.
1961, S. 215 - 222).
-
Die bekannten Verfahren mit ständig variabler Codewortlänge haben
jedoch den Nachteil, daß zur Decodierung eines Binärsignals aufwendige Schaltungen
notwendig sind, da die Codeworttrennung nicht automatisch durch Bit zählung erfolgen
kann. Ausserdem sind zur Xennzeichnung von Codewortanfang oder Codewortende in jedem
Codewort zusätzliche Binärzeichen erforderlich, die den Gewinn an Kompressionsfaktor
oft stark reduzieren.
-
Der Erfindung liegt die Aufgabe zugrunde, den Eompressionsfaktor der
Runlängencodierung durch Einführung einer adaptiven
Codewortlänge
zu erhöhen, ohne daß der dazu erforderliche Codierungs- und Decodierungsaufwand
den für übliche Runlängen Codierung notwendigen Aufwand wesentlich übersteigt. Die
Aufgabe wird durch das im Anspruch 1 angegebene Verfahren gelöst.
-
Es ist nunmehr möglich, ohne wesentlichen Mehraufwand; auch bei der
Codierung detailreicher Bildvorlagen, insbesondere von Schreibmaschinentext, einen
guten Kompressionsfaktor des Bildsignals zu erreichen. Die Reduzierung der Datenmenge
erlaubt bei der Ubertragung der Bildinformation eine dem Eompressionsfaktor entsprechende
Einsparung an Xanalbandbreite oder an Ubertragungszeit? Der erreichbare Eompressionsfaktor
liegt äe nach Bildvorlage zwischen 2,5 und 4.
-
Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen
angegeben. Gemäß der Erfindung werden binäre Bildsignale durch Steuersignale in
gleich große Signalabschnitte unterteilt. Diese Einteilung gestaltet sich besonders
einfach, wenn als konstante Signalabschnitte jeweils die binären Signale einer Zeile
der Bildvorlage gewählt werden. Sendeseitig lassen sich dann die Steuersignale aus
den Zeilenimpulsen ableiten und empfangsseitig können als abschnitts synchrone Steuersignale
zeilensynchrone Steuersignale verwendet werden.
-
Für jeden Signalabschnitt wird eine konstante, dem Signalabschnitt
angepaßte Codewortlänge für die Runs ermittelt.
-
Hierbei wird ein nahezu optimaler Eompressionsfaktor dadurch erzielt,
daß als konstante, dem Signalabschnitt angepaßte Codewortlänge die in eine Binärzahl
umgewandelte aufgerundete mittlere Runlänge des Signalabschnitts gewählt wird Anspruch
5 gibt eine vorteilhafte Schaltungsanordnung zur Durchführung des erfindungsgemäßen
Verfahrens.
-
Die Erfindung wird nun anhand eines Ausführungsbeispiels näher erläutert.
Es zeigen: Figur n ein Blockschaltbild eines Codierers zur Realisierung des erfindungsgemäßen
Verfahrens Figur 2 ein Blockschaltbild eines Decodierers zur Wiedergewinnung der
ursprünglichen Bildsignale.
-
Dem erfindungsgemäßen Verfahren liegt der Gedanke zugrunde, über gleichlange
Abschnitte des Bildsignals die Codewortlänge in Abhängigkeit des über den jeweiligen
Bildabschnitt im voraus festzustellenden Signalinhalts festzulegen. Dazu bietet
sich die über den jeweiligen Bildabschnitt ermittelte mittlere Runlänge als relevanter
Parameter zur günstigen Festlegung der für
den Bildabschnitt zu
verwendenden Codewortlänge an. Da die Bildelementanzahl der Bildabschnitte konstant
und bekannt ist, reicht es zur Ermittlung der mittleren Runlänge aus, die über gänge
von einem logischen Pegel zum anderen logischen Pegel des Bildsignals im jeweiligen
Signalabschnitt zu zählen. Aus der binärcodierten Anzahl relevanter Bildsignale
kanndann eine für den Signalabschnitt geltende Codewort länge ermittelt und die
Länge der binärcodierten Runs gesteuert werden.
-
Damit der Empfänger die Runlängen-Decodierung ordnungsgemäß ausführen
kann, ist es erforderlich, daß ihm am Anfang jedes Signalabschnitts die für den
jeweiligen Abschnitt vom Codierer festgelegte Codewortlänge mitgeteilt wird-. Die
dazu erforderliche Datenmenge ist jedoch, im Gegensatz zu den bekannten Verfahren
mit ständig variabler Codewortlänge, sehr gering und fällt im Hinblick auf den Kompressionsfaktor
kaum ins Gewicht.
-
Wenn beispielsweise die Codewortlänge zwischen 2 und 8 Bit gewählt
werden kann, müssen für einen Bildabschnitt,der Hunderte von Bildelementen umfassen
kann, als codierte Codewortlänge lediglich drei Kennbits übertragen werden.
-
Nach Durchführung der Zählung der in einem Abschnitt vorhandenen Runs
R wird im Codierer die zu verwendende Codewortlänge L nach
der folgenden
Gleichung festgelegt: L nENTIER (ld N/R + 1) ( 1) wobei N die Anzahl der Bildelemente
im Bildabschnitt ist. Es wird also die Codewortlänge der Runs auf die nächst größere
ganze Zahl aufgerundet. Die sich mit Gleichung 1 ergebende Codewortlänge führt zu
einem Kompressionsfaktor, der dem höchsten erreichbaren Kompressionsfaktor bei Verwendung
einer abschnittsweise konstanten Codewortlänge sehr nahe kommt. Die sich aus der
Gleichung ergebende Runlänge kommt der optimalen konstanten Runlänge für einen Signalabschnitt
desto näher, äe kleiner die Streuung der Runlängen eines Signalabschnitts um die
mittlere Runlänge ist. Besonders klein ist die Streuung bei lückenlosem Schreibmaschinentext.
-
In Figur 1 ist der Codierungsvorgang mit Hilfe eines Blockschaltbildes
weiter erläutert. Es wird der Einfachheit halber angenommen, daß die Bildabschnitte,
über die die Codewortlänge konstant gehalten wird, mit den Bildzeilen identisch
sind, sodaß die Signalabschnitte jeweils die Signale einer Bildzeile enthalten.
-
Eine Bildabtasteinrichtung 1 erzeugt ein binäres und zeitdiskretes
Bildsignal, das einem Relevanzdetektor 3 zugeführt wird. Der Relevanzdetektor gibt
jeweils ein Signal ab, wenn einrelevantes Bildsignal vorliegt, also wenn im Bildsignal
ein tbergang zwischen zwei in der Helligkeit unterschiedlichen Bildelementen auftritt.
Diese binären relevanten Bildsignale zur n^- Zeile werden in einem Schieberegister
4, welches so viele Stufen aufweist, wie eine Bildzeile Bildpunkte hat und welches
mit dem Bildpunkttakt T getaktet wird, gespeichert und von einem ersten Zähler 5
gezählt.
-
Das Schieberegister 4 hat die Aufgabe, die relevanten Bildsignale
um eine Zeilendauer zu verzögern, so daß während dieser Zeit die Ermittlung der
für den Signalabschnitt geeigneten Runlänge durchgeführt werden kann, bevor die
gespeicherten Bilds signale entsprechend ihrer Runlänge codiert werden.
-
Die den Zählerstand kennzeichnenaen Ausgänge des ersten Zählers 5
sind mit einer Halteschaltung 6 verbunden, die nach Einlauf der relevanten Signale
einer Bildzeile in das Schieberegister 4 den Zählerstand des ersten Zählers 5 übernimmt
und für die Dauer der Ausgabe der im Schieberegister 4 gespeicherten Signale eines
Signalabschnitts den Zählerstand speichert.
-
An die Halteschaltung 6 sind über die mit A...G bezeichneten Leitungen
ein erstes Gatterfeld 7 und ein zweites Gatterfeld 8 angeschlossen.
-
Das erste Gatterfeld erzeugt mit den Signalen der Halteschaltung eine
Binärzahl, die einer Codewortlänge entspricht, welche der Anzahl der im Schieberegister
4 enthaltenen relevanten Bildsignale eines Signalabschnittes angepaßt ist. Diese
Binärzahl wird einem am Ausgang des Codierers vorgesehenen Pufferspeicher 12 zugeführt.
-
Dem zweiten Gatterfeld werden außer den Signalen der Halteschaltung
6 die den Zählerstand eines Zählers 9 kennzeichnenden binären Signale a.,. .h zugeführt.
Das zweite Gatterfeld überwacht unter Verwendung der Signale A...G der Halteschaltung
6 den Zählerstand des Zählers 9 und gibt å jeweils dann ein Trennsignal s ab, wenn
der Zählerstand des Zählers 9 einen maximalen, durch die vom Gatterfeld 1 ermittelte
Codewortlänge bestimmten Zählwert erreicht hat.
-
Die den Zählerstand kennzeichnenden Ausgänge des zweiten Zählers 9
sind mit dem zweiten Gatterfeld 8 und,zur obergabe eines vom
zweiten
Zähler binärcodierten Runs,zusätzlich mit dem Pufferspeicher 12 verbunden.
-
Zur Codierung der im Schieberegister 4 gespeicherten relevanten Bildsignale
werden diese, ebenso wie die am Anfang jeder Bild zeile zur Synchronisation erzeugten
Zeilenispulse Z und die Trennimpulse s des zweiten Gatterfeldes 8 den Eingängen
an einer ODER-Schaltung 10 zugeführt, deren Ausgang/inen Schiebetakteingang des
Pufferspeichers 12 und über ein Verzögerungsglied 11 an den mit"reset"bezeichneten
Rückstelleingang des zweiten Zählers 9 angeschlossen ist.
-
Das Ausgangssignal der ODER-Schaltung bewirkt in Verbindung mit den
Zeilenimpulsen und der binär zugeführten Codewortlänge im Pufferspeicher 1. die
Ubernahme des Zeilenimpulses 2. die übernahme der binärcodierten Codewortlänge 3.
die übernahme der Codewörter aus dem zweiten Zähler 9.
-
Ferner bewirkt das über das Verzögerungsglied 11 geführte Aus gangssignal
der ODER-Schaltung 10, daß nach jeder Signalübernahme in den Pufferspeicher der
zweite Zähler 9 auf "O" gestellt wird. Die zeitliche Reihenfolge der Ausgangssignale
des Pufferspeichers 12 und damit des Codierers erfolgt in der oben angegebenen
Reihenfolge
der Signalübernahme in den Pufferspeicher.
-
Dabei wird zweckmäßigerweise die binärcodierte Codewortlänge noch
während der Zeilenlücke zweier aufeinanderfolgender Bildzeilen übertragen.
-
An der Bildabtasteinrichtung 1 ist ein Taktgenerator 2 angeschlossen,
der den Bildpunkttakt T und die Zeilenimpulse Z für den Codierer liefert. Der Taktgenerator
kann selbstverständlich auch in der Bildabtasteinrichtung 1 integriert enthalten
sein.
-
Als Relevanzdetektor ist im Ausführungsbeispiel ein zweistufiges Schieberegister
31 vorgesehen, an dessen Parallelausgängen eine EXCLUSIVE-ODER-Schaltung 32 angeschlossen
ist. Dadurch gibt dieser Relevanzdetektor lediglich bei Bildsignaländerungen ein
ein relevantes Bildsignal kennzeichnendes Signal ab. Für diesen detektor Zweck kann
auch ein ZeilendifferenzH77rim Falle, daß zusätzlich die Korelation der räumlich
benachbarten Bildpunkte der Bildvorlage ausgenutzt wird, ein planarer Prädiktor
verwendet werden. Derartige Prädiktoren sind beispielsweise in der D?-OS 2 046 974
beschrieben.
-
In Figur 2 ist das Blockschlatbild eines für das erfindungsgemäße
Verfahren
geeigneten Decodierers dargestellt, der aus den übertragenen codierten Signalen
des Codierers die ursprüngliche Folge von Binärzeichen des Originalsignals wiedergewinnt.
-
Die über den Kanal 13 empfangenen, jeweils durch Zeilenimpulse Z getrennten
Signalabschnitte, die im vorliegenden Ausführungsbeispiel einer Bild zeile entsprechen,
werden zunächst einem Pufferspeicher 21 zugeführt. Dieser leitet zunächst die Bits
der binärcodierten Codewortlänge einer Halteschaltung 22 zu, die von einem abschnittssynchronen
Steuersignal gesteuert ist. Die abschnittssynchronen Steuersignale werden beim Ausführungsbeispiel
aus den Zeilenimpulsen abgeleitet.
-
Die Halteschaltung 22 speichert für die Dauer der Decodierzeit eines
Signalabschnittes, also in diesem Fall für die Dauer einer Bildzeile die binärcodierte
Codewortlänge. An die Halteschaltung ist ein Gatterfeld 23 angeschlossen, das die
erforderlichen Steuersignale zur Einstellung der maximalen Runlänge im Runlängen-Decodierer
24 liefert. Der Runlängen-Decodierer ist ebenfalls an den Pufferspeicher 21 angeschlossen
und entnimmt diesem die zu decodierenden Codewörter. Ferner steuert der Runlängen-Decodierer
über die Steuerleitung 27 die Fortschaltung
des Pufferspeichers
während der Decodierung. Am Ausgang des Runlängen-Becodierers 24 steht das decodierte
Bildsignal zur Verfügung, das von einer Wiedergabeeinheit 25, beispielsweise einem
Faksimileschreiber, ausgewertet wird.
-
Die in den Figuren 1 und 2 dargestellten Gatterfelder bestehen aus
einer Verknüpfung logischer Schaltungen. Ist beispielsweise der Codierer ausgelegt
zur Codierung von Signalabschnitten die aus N - 256 Bildpunkten einer Zeile bestehen,
so kann ein acht-Ün Fig. 1) stelliger binärer Zähler 5/maximal 6 relevante Bildsignale
zahlen. An seinem Ausgang entsteht während des Einlaufens der Relevanzmeldungen
des Relevanzdetektors 3 in das Schieberegister 4 dadurch eine ld 256 = 8-stellige
Binärzahl, von der hier, nach Einlauf der Relevanzmeldungen in das SchieberegiSter
4 von der Halte schaltung 6 lediglich die binäre Information von sieben Stellen
entnommen wird. Erfahrungsgemäß kommen mehr als 128 Relevanzmeldungen pro Zeile
nur selten vor, sodaß der Aufwand durch die Verarbeitung von lediglich sieben Stellen
reduziert werden kann. Die Halteschaltung 7 hat daher lediglich sieben Eingänge
und sieben Ausgänge A...G.
-
Das erste Gatterfeld ermittelt aus den Signalen der Halteschaltung
die
binärcodierte Codewort länge cL, die parallel ausgegeben und in den Pufferspeicher
12 eingelesen wird.
-
Tabelle 1 zeigt die Zuordnung der aufgrund der Gleichung 1 ermittelten
Codewortlänge L(in Bit) und deren binäre Darstellung cL, wie sie das Gatterfeld
7 erzeugt, in Abhängigkeit von der Anzahl der je Bildzeile anfallenden Relevanzmeldungen
R und den dadurch bedingten Signalen A...G der Halteschaltung 6.
Lm = N/R L cL |
R A...G N=256 Bit x y z |
1 ABCDEFG 128<Lm#256 8 1 1 1 |
2.....3 ABCDEFG 64<Lm#128 7 0 1 1 |
4.....7 ABCDEF 32<Lm#64 6 1 0 1 |
8....15 ABCDE 16<Lm#32 5 0 0 1 |
16...31 ABCD 8<Lm#16 4 1 1 0 |
32...63 ABC 4<Lm#8 3 0 1 0 |
64..256 AB Lm#4 2 1 0 0 |
Lm = N/R = mittlere Runlänge Tabelle 1
Dabei bedeutet A ein binäres
Signal der einen Art, z. 3. B = 1 und A ein binäres Signal der anderen Art, z. B.
A = 0.
-
Für die Signale x, y und z, die vom Gatterfeld 7 parallel ausgegeben
werden, gilt die Boolsche Gleichung x = A B C D E F G + A B C D E F + A B C D +
A B y = A B C D E F G + A B C D E F G + A B C D + A B C (2) z = A B C D E F G +
A B C D E F G + A B C D E F + A B C D E worin die nebeneinander stehenden Buchstaben
eine UND-Verknüpfung und das zwischen den Buchstabengruppen stehende + eine ODER-Verknüpfung
bedeutet. Das Gatterfeld 7 kann unter Verwendung der Gleichung 2 in der an sich
bekannten Technik realisiert werden.
-
Das Gatterfeld 8 überwacht den Zählerstand des Zählers 9 derart, daß
stets dann ein Trennsignal s erzeugt wird, wenn in der ersten, durch die Codewortlänge
L definierten Stellenanzahl die maximal mögliche Binärzahl erreicht ist. Das bedeutet,
daß das Trennsignal s dann abgegeben wird, wenn beispielsweise bei R = 40 Relevanzmeldungen
und der festgelegten Codewortlänge L = 3 ein mehr als Run aus dem Schieneregister
4 ausläuft, der acht Bildpunkte
gleicher Helligkeit umfaßt. Hat
nun der Zähler 9 gerade acht Takte gezählt, so zeigt sein Zählerstand den Wert ll111fl
an, sodaß für die Abgabe des Signals s in diesem Fall die logische Gleichung gilt
s = A B C f g h Für das gesamte Gatterfeld 8 gilt die Boolsche Gleichung s - ABCDEFGabcdefgh
+ ABCDEFGbcdefgh + ABCDEFcdefgh + + ABCDEdefgh + ABCDefgh + ABCfgh + ABgh (3) Das
Trennsignal s bewirkt die übernahme der jeweiligen Signale a...h,entsprechend der
dem Pufferspeicher 12 übermittelten Codewortlänge,in den Pufferspeicher 12 und die
Rückstellung des Zählers 9.
-
Das Gatterfeld 23 des Decodierers (Figur 2) wird in gleicher Weise,
wie bereits beschrieben, ermittelt. Die dort erforderlichen Verknüpfungen richten
sich nach den für den Runlängen-Decodierer 24 erforderlichen Steuersignalen zur
Steuerung der zu decodierenden Codewortlängen.
-
Da beim erfindungsgemäßen Verfahren die binär codierten Daten entsprechend
dem Bildinhalt der Bildvorlage in unterschiedlicher Anzahl åe Zeiteinheit anfallen,
ist es von Vorteil, die Anordnung zur Durchführung des erfindungsgemäßen Verfahrens
wie in Anspruch 5 angegeben, weiterzubilden, da dadurch übertragungszeit eingespart
wird.