-
Diese Erfindung bezieht sich auf Codierer zum
Codieren von digitalen Signalen, wobei bestimmte Signalwerte
eine höhere Auftrittshäufigkeit als andere Werte aufweisen.
Übertragungssysteme für digitale Signale weisen eine Anzahl
von Signalverarbeitungsfunktionen auf, die unter anderem
Quantisierer, Vorhersagessysteme, Codierer zum Codieren von
digitalisierten Signalen, Puffer sowie Kontrollschaltkreise
enthalten. Manchmal bezieht sich der auf diesem Fachgebiet
benutzte Ausdruck "Codierer" auf das gesamte
Übertragungssystem, und ein ander Mal bezieht sich der Ausdruck
"Codierer" lediglich auf die Codierfunktion einer
Codierschaltung innerhalb des Übertragungssystems. Die
vorliegende Erfindung bezieht sich auf den letzteren Fall.
-
Wo die verfügbare Bandbreite im Übertragungskanal
begrenzt ist, ist es wünschenswert, zu übertragende
Videodaten in einem höchstmöglichen Ausmaß zu komprimieren.
Zahlreiche Systeme sind aufgekommen zum Erhöhen der
Effizienz einer solchen Kompression während der Übertragung, ohne
dabei eine starke Verminderung der Bildqualität einzubrin
gen. Beispielsweise benutzt ein als
Differenz-Pulscode-Modulation (DPCM) bekanntes System ein Vorhersageschema für
die Vorhersage der Pixelwerte eines Videobildes. Die
Vorhersageinformation wird auf der Basis von räumlichen oder
zeitlichen Beziehungen mit der aktuellen Information
verglichen und es wird ein Fehlersignal erzeugt, das die
Unterschiede zwischen den zwei Informationssignalen
repräsentiert. Die Fehlersignale werden weiter in ihrem
Informationsinhalt reduziert, indem man sie gröber quantisiert, d.h.
indem man sie in Bereichsvorräte (range bins)
klassifiziert.
Die gröbere Quantisierung wird so vorgenommen, daß
tendenziell der Bereichsvorrat, in den die digitalen
Signale mit dem niedrigsten Ausgangswert fallen, zu dem am
häufigsten selektierten Bereichsvorrat bei der
Klassifizierungsprozedur gemacht wird, und daß die Bereichsvorräte von
nachfolgenden Digitalsignalen mit einem höheren
Ausgangswert zu Bereichsvorräten gemacht werden, die weniger häufig
selektiert werden als die Bereiche mit niedrigen Werten.
Die gröber quantisierte Information wird sodann codiert un
ter Einsatz von Codeworten mit variabler Bitlänge, die so
gewählt werden, daß ihre Länge im umgekehrten Verhältnis
zur Häufigkeit steht, mit der die dadurch beschriebenen
Vorräte (bins) tendenziell während der Klassifizierung in
Bereichsvorräte selektiert werden. Diese Vorgehensweise ist
als statistische Codierung bekannt.
-
Huffman hat Prozeduren zum optimalen Beschreiben
von Codes init variabler Länge angegeben. Weitere
Verbesserungen hinsichtlich der Codiereffizienz können erzielt
werden, indem man bestimmte Abläufe von sukzessiven
Vorratswerten (bin values) behandelt, die alle gleichermaßen
unterschiedlich gegenüber anderen Vorratswerten sind. Abläufe
(runs) von bestimmter Länge und Wert, die wahrscheinlich
auftreten, können als Spezialfälle klassifiziert und in die
statistische Codierprozedur einbezogen werden, indem man
ihnen Codewörter mit kurzer Bitlänge zuordnet, die deren
Tendenz zum häufigen Auftreten widerspiegeln. Dies führt
dazu, daß Signale mit großen Lauflängen in relativ kurze
Codewörter umgesetzt werden, die drastisch die Effizienz
des Übertragungssystems erhöhen.
-
Bei Informationssignalen, bei denen ein relativ
großer Anteil der übertragenen Information redundant ist
und einen relativ kleinen Fehler von einem
Informationsblock
zu einem zweiten Block auftritt, tendieren die
Fehlersignale dazu, relativ lange Null-Lauflängen aufzuweisen.
Beispielsweise besitzt bei einem Videosignal zur
Übertragung von Bildinformation eine gegebene 2,2 MHz Bildabtast
zeile 240 aktive Pixel. Das resultierende Fehlersignal in
einem Vorhersagesystem kann somit Null-Lauflängen von bis
zu 240 Nullen für eine gegebene Abtastzeile mit der
Nachstellung eines ruhenden Bildes für diese Abtastzeile
aufweisen und n Nicht-Nullpegel, die von dem Quantisierer zur
Darstellung verschiedener Bewegungsgrade ausgegeben werden.
Das Ergebnis ist ein Potential von über 240 verschiedenen
erforderlichen Codewörtern, um das Informationssignal
akkurat darzustellen. Das Problem besteht nun darin, wie man
effektiv mit derartig zahlreichen Codes umgeht.
-
Eine Lösung für dieses Problem ist im US-Patent
4 420 771 angegeben, in dem mehrfache Tabellen je nach der
Lauflängencodierung des Informationssignals unter
Verwendung mehrfacher Wörterbücher vorgesehen werden. Die
mehrfachen Tabellen benutzen jedoch identische Codewörter bei der
Darstellung verschiedener Informationssignale. Die
Verwendung desselben Codeworts zur Darstellung verschiedener
Informationssignale erfordert zusätzlichen Aufwand für die
Anzeige an den Empfänger, welche Tabelle benutzt ist. Das
Hinzufügen von selbst einem Bit an zusätzlicher Information
als Aufwand im Rahmen des Übertragungssystems kann einen
nennenswerten Einfluß im Sinne einer Verminderung der
Effizienz der Übertragung bewirken.
-
Wird beispielsweise der am häufigsten auftretende
Abtastwert der Information (Pixel) mit einem 2-Bit Codewort
codiert, vermindert die Hinzufügung eines einzigen Bits für
dieses am häufigsten auftretende Codewort die
Übertragungseffizienz des betreffenden Codeworts um 50% und läuft damit
dem Zweck zuwider, die am häufigstens auftretenden
Codewörter so kurz wie möglich zu machen. Andere Systeme verwenden
verschiedene Versionen von variabler Längencodierung und
Lauflängencodierung beim Versuch, die Effizienz der
Datenübertragung zu erhöhen. Einige dieser Systeme leiden jedoch
an ähnlichen Nachteilen, indem sie ebenfalls einen
zusätzlichen Aufwand zwischen Sender und Empfänger erfordern, was
von der Systemeffizienz wegführt oder Codewörter erzeugt,
die übermäßig lang sein können. Die bei den zuletzt
genannten Systemarten verwendete Hardware tendiert zu einer
Zunahme der Kosten in dem Maße, wie die Anzahl der Bits in
einem Codewort zunimmt, und macht damit die Hardware beim
Sender und Empfänger komplexer und teurer.
-
Ein Ansatz zur Erhöhung der Leistungsfähigkeit des
Systems liegt darin, die Information vor dem
Codierungsprozeß adaptiv zu quantisieren. Der grobe Quantisierungsprozeß
weist jedoch per Definition eine Tendenz zur Verringerung
der Informationsqualität im Vergleich zur ursprünglichen
Informationssignal auf. Obwohl der Quantisierer die
Leistungsfähigkeit steigert, tendiert er zur dauernden
Eliminierung von Informationsbits aus dem Datensignal, was im
allgemeinen nach Möglichkeit vermieden werden soll. Es wird
daher ein Bedürfnis für eine Lösung des Problems der
Zunahme der Leistungsfähigkeit der Übertragung gesehen, das
heißt ein Bedürfnis nach einer erhöhten Kompression, ohne
Qualitätseinbuße beim Informationssignal und ohne
Verwendung übermäßig langer Codewörter.
-
Die US-A-4 121 259 beschreibt ein Verfahren zur
digitalen Lauflängencodierung mit Redundanzverminderung für
die Übertragung von binär codierter Bildinformation. Bei
den Verfahren werden kurze Codewörter für "weiße" und
"schwarze" Lauflängen zugeteilt, die oft auftreten, und
kurze Codewörter werden für Lauflängen zugeteilt, die
relativ selten sind.
-
Für "weiße" Lauflängen größer als z.B. 30 weist der
zugeordnete Code eine vorbestimmte Vorsilbe (1111) gefolgt
von einer Binärzahl größer 30 auf.
-
In diesem Umfang ist die vorliegende Erfindung auf
einen wirksameren Codierer gerichtet, der eine relativ hohe
Kompression liefert und unter Benutzung von Codewörtern von
minimaler Länge verglichen mit der gesamten Zahl von
verschiedenen zur Anwendung kommenden Codewörter.
-
Gemäß einem ersten Aspekt der vorliegenden Erfindung wird
eine Einrichtung zum Codieren eines digitalisierten Signals
zur Übertragung über einen Kanal geschaffen, wobei das
Signal mehrere unterschiedliche Werte aufweist, die jeweils
eine gegebene Wahrscheinlichkeit des Auftretens in dem
Signal haben, wobei die Einrichtung enthält eine
Speichereinrichtung zum Gruppieren einer Anzahl unterschiedlicher
Codewörter mit unterschiedlichen Codelängen in erste und
zweite Gruppen, wobei jedes Codewort einen
unterschiedlichen Signalwert darstellt, wobei die erste Gruppe der Code
wörter in einer ersten gegebenen Ordnung organisiert sind,
in der wenigstens im allgemeinen die kürzeste Codewortlänge
denjenigen Signalwert mit der höchsten Wahrscheinlichkeit
des Auftretens und die größte Codewortlänge wenigstens im
allgemeinen denjenigen Signalwert mit der kleinsten
Wahrscheinlichkeit des Auftretens manifestiert, wobei die
zweite Gruppe unterschiedlicher Codewörter ein Vorsilben-
Kennwort und einen Nachsilbencode aufweist, wobei jedes
Codewort eine gegebene Codelänge aufweist, dadurch
gekennzeichnet, daß das Vorsilbenkennwort der zweiten Gruppe eine
derartige Länge hat, daß die kombinierte Wahrscheinlichkeit
des Auftrittswertes von allen Signalwerten, die durch die
zweite Gruppe dargestellt sind, mit der ersten gegebenen
Ordnung organisiert ist im allgemeinen gemäß dem
kombinierten Wahrscheinlichkeitswert und abhängig von der relativen
Codewortlänge der zweiten Gruppe, die die Vorsilben- und
Nachsilbencodes enthält, im Vergleich zu der Codewortlänge
der nächst benachbarten Codes der ersten Gruppe; und eine
erste Einrichtung auf aufeinanderfolgende Werte des
digitalen Signals anspricht, das als ein Eingangssignal daran
angelegt ist, damit die Speichereinrichtung selektiert, um
entsprechende Codewörter auszugeben, die das digitalisierte
Signal beschreiben.
-
Gemäß einem zweiten Aspekt der Erfindung wird ein Verfahren
zum Codieren eines digitalen Signals zum Übertragen über
einen Kanal geschaffen, wobei das Signal mehrere
unterschiedliche Werte aufweist, die jeweils eine gegebene
Wahrscheinlichkeit des Auftretens in dem Signal haben, wobei
das Verfahren enthält Gruppieren einer Anzahl
unterschiedlicher Codewörter von unterschiedlichen Codelängen in erste
und zweite Gruppen, wobei jedes Codewort einen
unterschiedlichen Signalwert darstellt, wobei die erste Gruppe von
Codewörtern in einer ersten gegebenen Ordnung organisiert
sind, in der wenigstens im allgemeinen die kürzeste
Codewortlänge denjenigen Signalwert mit der größten
Wahrscheinlichkeit des Auftretens und die größte Codewortlänge
wenigstens im allgemeinen denjenigen Signalwert manifestiert,
der die kleinste Wahrscheinlichkeit des Auftretens hat,
wobei die zweite Gruppe von unterschiedlichen Codewörtern ein
Vorsilben-Kennwort und einen Nachsilbencode aufweist, wobei
jedes Codewort eine gegebene Codelänge hat, dadurch
gekennzeichnet, daß das Vorsilben-Kennwort der zweiten Gruppe
eine derartige Länge hat, daß die kombinierte
Wahrscheinlichkeit des Auftrittswertes von allen Signalwerten, die
durch die zweite Gruppe dargestellt sind, mit der ersten
gegebenen Ordnung im allgemeinen gemäß dem kombinierten
Wahrscheinlichkeitswert unabhängig von der relativen
Codewortlänge der zweiten Gruppe organisiert wird, die die
Vorsilben- und Nachsilbencodes enthält, im Vergleich zu der
Codewortlänge der nächst benachbarten Codes der ersten
Gruppe; und eine Speichereinrichtung als Antwort auf die
Werte des digitalen Signals, das als ein Eingangssignal
daran angelegt wird, veranlaßt wird, dasjenige Codewort
auszugeben, das den eingegeben digitalisierten Signalwerten
entspricht.
-
Figur 1 ist ein Blockschaltbild für ein
Übertragungssystem unter Verwendung eines Codierers entsprechend
einer Ausführungsform der vorliegenden Erfindung;
-
Figur 2 ist ein Blockschaltbild des Codierers, wie
er in der Ausführung nach Figur 1 verwendet wird;
-
Figur 3 ist ein Blockschaltbild des in der
Ausführung nach Figur 1 verwendeten Decodierers;
-
Figur 4 ist ein bei der Erläuterung einiger der
Prinzipien der vorliegenden Erfindung nützliches Diagramm;
und
-
Figur 5 ist ein Blockschaltbild, das zur Erklärung
eines Teils der Logik nach Figur 2 nützlich ist.
-
In Figur 1 enthält das System 10 einen Sender 12,
einen Kanal 14, über den der Sender 12 überträgt, sowie
einen Empfänger 16. Als Beispiel werden der Sender 12 sowie
der Empfänger 16 beschrieben als Bildcodierer mit
Vorhersagefunktion (predictive picture encoder) unter Verwendung
von Differenz-Pulscode-Modulation (DPCM). Die von dem
Codierer nach der vorliegenden Erfindung codierten Signale
können jedoch aus anderen Quellen als von den
Fehlersignalen in einem Vorhersagesystem abgeleitet sein.
-
In Figur 1 legt eine Quelle 18 von
Informationssignalen, zum Beispiel Videosignalen, die Information an
einen Analog-Digitalumsetzer (ADU) 20 an, der das
Informationssignal auf bekanntem Wege fein quantisiert, um ein
mehrstufiges Digitalsignal zu erzeugen. Der Ausgang des
Analog-Digitalumsetzers (ADU) wird auf der Leitung 22 als
ein 8-Bit Pixelsignal auf eine
Differenz-Pulscode-Modulatorschleife 24 (DPCM) geführt. Die DPCM-Schleife 24 ist
allgemein verfügbar und an sich bekannt. Sie enthält
beispielsweise ein Subtraktionsglied S zum Subtrahieren der
von einer Vorhersageeinrichtung erzeugten
Vorhersage-Informationssignale sowie eine Verzögerungsschleife PD von dem
fein quantisierten Informationssignal auf der Leitung 22,
um ein Fehlersignal zu erzeugen. Dieses Fehlersignal wird
an einen Quantisierer Q angelegt, der verschiedene Werte
des Eingangsfehlersignals für eine reduzierte Anzahl von
Ausgangswerten oder Vorräten zuordnet, die Null- und Nicht-
Nullwerte des Fehlersignals repräsentieren. Beispielsweise
kann der Quantisierer Q 32 Vorratswerte (bin values) und
einen Nullwert haben, das heißt 32 Nicht-Nullwerte für eine
Gesamtzahl von 33 verschiedenen Werten. Die Ausgangswerte
des Quantisierers werden an die Leitung 26 und den Addierer
A angelegt. Der Addierer A addiert die Ausgangssignale des
Quantisierers Q zum Ausgang der Vorhersageeinrichtung sowie
der Verzögerungsschleife PD und legt die addierten Signale
an die Vorhersageeinrichtung und die Verzögerungsschleife
PD an.
-
Eine solche DCPM-Schleife kann beispielsweise sein,
wie beschrieben im US-Patent 4 706 260 sowie in der vorher
erwähnten gleichzeitig anhängigen Anmeldung mit dem Titel
"DPCM System with Adaptive Quantizer Having Unchanging Bin
Number Ensemble" auf den Namen von A. A. Acampora, welche
beide Literaturstellen DPCM-Schleifen nach dem Stand der
Technik in größerem Detail beschreiben.
-
Es sollte ein Verständnis darüber bestehen, daß
Drähte, die hierin Leiter repräsentieren, entweder einzelne
Leiter oder mehrfache Leiter zur parallelen Übertragung von
Datensignale in bekannter Weise sein können. Das
eingangsseitige Informationssignal auf der Leitung 22 zur DPCM-
Schleife 24 kann beispielsweise ein Kabel mit acht
Leitungen zur Übertragung eines 8-Bit Signals sein.
-
Der Ausgang der DPCM-Schleife 24 wird auf die
Leitung 26 geführt und ist ein 8-Bit Signal, das irgendeinen
der 33 quantisierten Null- sowie Nichtnull-Werte des
Informationssignals darstellt. Der Ausgang der DPCM-Schleife 24
auf der Leitung 26 wird an den Codierer 28 nach der
vorliegenden Erfindung angelegt, der in größerem Detail in Figur
2 beschrieben wird.
-
Der Codierer 28 codiert die Ausgangswerte der
Schleife 24, um Codewörter mit variabler Länge auf der
Leitung 29 zu erzeugen. Die Codewörter werden an einen
Puffer(Speicher) 30 angelegt, auf den manchmal als
Geschwindigkeitspuffer (rate buffer) Bezug genommen wird. Der
Puffer 30 speichert die Codes für deren Übertragung über die
Leitung 32 und den Kanal 14. Wie bekannt ist, tendiert der
Puffer 30 zur Überfüllung und Unterfüllung als Reaktion auf
die über die Leitung 29 an seinen Eingang angelegten
Codewörter mit variabler Länge und weist eine feste
Ausgangsrate auf der Leitung 32 auf.
-
Eine Steuerung 34 fühlt den Füllungsgrad des
Puffers 30 ab und legt ein Steuersignal auf der Leitung 36 an
die DPCM-Schleife 24 an, um die Grobabstufung des
Quantisierers Q der Schleife 24 zu steuern. Wie in dem vorher
erwähnten US-Patent 4 706 260 beschrieben, kann der
Quantisierer Q die Zahl der auf der Leitung 24 erzeugten Nullen
erhöhen, das heißt den Kernbereich (coring region)
erweitern, um die an den Puffer 30 angelegte Datenrate im Falle
der Überfüllung zu reduzieren. Im Falle der Unterfüllung
des Puffers legt die Steuerung 34 ein Signal auf der
Leitung 36 zur Schleife 24 an, um in adaptiver Weise den
Quantisierer so zu verändern, daß er die Datenrate für den
Puffer 30 erhöht. Wie bekannt erfolgt der Ausgang des Puffers
30 auf der Leitung 32 bei einer konstanten Datenrate, und
die Information muß auf der Leitung 32 bei dieser
konstanten Rate gehalten werden, und zwar ungeachtet der Rate, mit
der sich der Puffer 30 füllt. All diese Information ist im
allgemeinen bekannt auf diesem Fachgebiet und wird im
größeren Detail beispielsweise beschrieben in dem vorher
erwähnten US-Patent 4 706 260 sowie in der anhängigen
Anmeldung.
-
Die Information auf der Leitung 32 wird über den
Kanal 14 zum Empfänger 16 übertragen, wo das Informations
signal vom Puffer 38 empfangen wird. Ein in größerem Detail
in Figur 3 beschriebener Decodierer 40 empfängt den Ausgang
des Puffers 38 auf der Leitung 42, um das empfangene
Informationssignal zu codieren. Das decodierte Signal wird über
die Leitung 43 auf die inverse DPCM-Schleife 44 geführt.
Der Ausgang der Schleife 44 wird über den Digital-Analog-
Umsetzer (DAU) 46 an einen Anzeigemonitor 48 angelegt, der
die von dem decodierten Informationssignal repräsentierte
Information anzeigt.
-
Wie oben erwähnt, wird oft ein Grob-Quantisierer,
wie zum Beispiel der Quantisierer Q, in einer DPCM-
Schleife, wie der Schleife 24, in den Ausgang der
Schleifensubtrahierer eingefügt. Der Quantisierer quantisiert
grob das digitalisierte Fehlersignal auf der Leitung 22.
Notwendigerweise wird das Fehlersignal vor dem
Quantisierungsvorgang des ADU 20 fein quantisiert. Das fein
digitalisierte Signal kann eine relativ große Zahl von
verschiedenen Stufen (levels) entsprechend der jeweiligen durch das
Signal von der Quelle 18 repräsentierten Information
aufweisen.
-
Für ein Videobild können bis zu 256 verschiedene
Helligkeitsstufen (Luminanzwerte) am Ausgang der ADU 20
auftreten. Der Grobquantisierer Q reduziert die 256 Stufen
des digitalisierten Signals auf eine signifikant kleinere
Zahl, zum Beispiel 33, wie oben erwähnt. Obwohl in der
vorliegenden Ausführungsform ein grob quantisiertes Signal mit
darstellungsgemäß wenigen Quantisierungsstufen an den
Codierer 28 angelegt wird, ist die vorliegende Erfindung
nicht in der Weise eingeschränkt und kann auf jegliche Art
von digitalisiertem Signal angewendet werden.
-
Beim Verarbeiten von Videosignalen ist es
charakteristisch für ein System, das eine Zwischenbild(Interframe)-
DPCM-Schleife verwendet, daß die am häufigsten auftretenden
quantisierten Werte unveränderte oder Null-Werte
repräsentieren. Es ist aus statistischer Sicht bekannt, daß für
bestimmte Videobilder, zum Beispiel in Telekonferenzsystemen,
die Mehrzahl der Bildinformationen sich von einem Bild zum
nächsten nicht ändert. Demzufolge tendiert bei einer
Zwischenbild-DPCM, bei der die verzögerten
Vorhersage-Abtastwerte vom vorhergehenden Bild für eine Bildzeit zur
Vorhersage entsprechender Abtastwerte im gegenwärtigen Bild
benutzt werden, das resultierende Fehlersignal dazu, relativ
lange Null-Lauflängen zu enthalten. Statistisch kann
gezeigt werden, daß Nullabläufe mit verschiedenen Längen
unterschiedliche Auftrittshäufigkeiten besitzen.
Berücksichtigt man eine Lauflänge von Nullen kürzer als eine volle
Zeile, weisen die größeren Lauflängen (beispielsweise
Lauflängen von etwa 239 Pixeln, die Nullwerte in einer
gegebenen Abtastzeile repräsentieren) eine relativ geringe
Auftrittshäufigkeit auf. Eine Lauflänge eines einzelnen
Null-Pixelwerts, bei dem die benachbarten Pixel Nichtnull-
Werte aufweisen, besitzt eine viel höhere
Auftrittswahrscheinlichkeit. Diese Beziehungen sind beispielsweise in
Figur 4 gezeigt, in der die Kurve p die
Auftrittswahrscheinlichkeit von Null-Lauflängen wiedergibt, die von
einer Null bis zu 240 Nullen in einer gegebenen Zeile eines
gegebenen Videobildes bei einem Telekonferenzsystem reicht.
Die Wahrscheinlichkeit des Auftretens einer einzelnen Null
zwischen zwei Nicht-Nullwerten besitzt den höchsten Wert,
während die Wahrscheinlichkeit von 239 Nullen zwischen
Nichtnull-Werten den geringsten Wert besitzt.
-
Die Wahrscheinlichkeit beziehungsweise die
Auftrittshäufigkeit einer nur Nullen aufweisenden Abtastzeile,
das heißt mit einer Lauflänge von 240 Nullen, ist größer
als die Auftrittswahrscheinlichkeit für einen Ablauf (run)
von 239 Nullen. Dies erzeugt eine Spitze p' in der Kurve p.
Die Spitze p' repräsentiert eine erhöhte Wahrscheinlichkeit
für das Auftreten von Lauflängen von 240 Nullen. Dies
bedeutet, daß Abtastzeilen, die ein unverändertes Bild dar
stellen, häufiger auftreten als Abtastzeilen, bei denen
eine kleine Anzahl von Abtastwerten, zum Beispiel ein oder
zwei Pixel, einen geänderten Wert aufweisen, während die
übrigen Pixel unverändert bleiben. Demnach ändert sich bei
einem typischen Videosignal die Häufigkeit des Auftretens
von Null-Lauflängen signifikant von einem Pixel, das
unverändert zwischen Nichtnull-Pixelwerten bleibt bis zu einer
gegebenen Abtastzeile mit 240 Pixeln, die bei
aufeinanderfolgenden Bildern unverändert bleibt.
-
Die Übertragung dieser Information über einen
Kanal, das heißt die Übertragung der Werte der
Null-Lauflängen für jede möglich auftretende Lauflänge, wird
normalerweise zu einer relativ schwierigen Aufgabe, wenn man kon
ventionelle Hardwaresysteme einsetzt. Eine konventionelle
Huffman-Codierung resultiert beispielsweise in Codewörtern,
die 20 oder mehr Bits aufweisen. Derart lange Codewörter
tendieren dazu, in der Hardware zur Codierung auf der
Senderseite sowie zur Decodierung auf der Empfängerseite Kom
plexität zu verursachen und führen dazu, daß größere
Bauteile benutzt werden müssen, was das System teurer und
ineffizient macht. Wenn beispielsweise ein System die meiste
Zeit über mit Codewörtern im Bereich von 2 bis 7 Bits
arbeitet, jedoch trotzdem gelegentlich mit 15- oder 20-Bit
Codewörtern arbeitet, muß die Hardware für den Sender sowie
für den Empfänger notwendigerweise die Fähigkeit aufweisen,
daß 20-Bit Codewort oder das Codewort mit der maximalen
Länge in dem System zu verarbeiten. Dieses Problem wird
noch durch die Tatsache erschwert, daß Vorhersagesysteme
ihrer Natur nach dazu tendieren, eine große Zahl von
Fehlersignalen zu erzeugen, die Werte bei oder in der Nähe von
Null aufweisen.
-
In Figur 2 enthält der ROM 200 eine
Codierer-Nachsuchtabelle, die entsprechend den Prinzipien der
vorliegenden Erfindung aufgebaut ist. Die im ROM 200 gespeicherte
Tabelle ist eine einzelne Tabelle für Übertragungszwecke;
sie wird jedoch weiter unten aus Gründen der Beschreibung
dargestellt als Tabellen I, II, III und IV. Eine einzelne
Tabelle bringt mit sich, daß jeder Teil der Tabelle ohne
zusätzlichen Aufwand zur Entschlüsselung der Tabelle zum
Empfänger übertragen werden kann. Das bedeutet, daß jedes
Glied der Tabelle Teil eines gegebenen Codierschemas ist,
bei dem die Regel der Codierung und somit auch der
Decodierung dem Empfänger ohne zusätzlichen Aufwand transparent
ist. Die vorliegende Codieranordnung verwendet
beispielsweise eine Huffman-ähnliche Codierregel, sie unterscheidet
sich jedoch von einem konventionellen Huffman-Code darin,
daß signifikant kürzere Codewörter für eine relativ große
Zahl von verschiedenen Codewörtern mit relativ geringer
Auftrittswahrscheinlichkeit benutzt werden.
-
Tabelle I ist eine Auflistung der von der DPCM-
Schleife 24 in Figur 1 erzeugten Nichtnull-Werte. Es gibt
32 Nichtnull-Werte, die 32 Ausgangsvorratswerte (output bin
values) des Quantisierers Q der DPCM-Schleife 24
repräsentieren. Der Nichtnull-Wert von -7 repräsentiert Nichtnull-
Werte des quantisierten Fehlersignals der DPCM-Schleife,
die beispielsweise in einem Bereich der Eingangswerte von -
6 bis -10 liegen, wobei ein Nullwert für
Eingangssignalwerte im Bereich von ±5 auftritt. Die Codierung für den
Nichtnull-Wert -7 ist als Code 1 bezeichnet. Der nächst
häufig auftretende Nichtnull-Wert weist einen Wert von +7
auf, und seine Codierung ist mit Code 1' bezeichnet. Code 1
hat eine Codelänge von zwei Bit, wogegen Code 1' eine
Codelänge von 3-Bits aufweist. Eine Untersuchung der Tabelle 1
zeigt, daß Nichtnull-Werte, die tendenziell weniger häufig
auftreten, ebenfalls tendenziell in ihrer Größe zunehmen
und größere Codelängen zugeordnet bekommen. Die Ausnahme
stellt das Codewort 16' dar, das eine höhere
Auftrittswahrscheinlichkeit als die längeren Codewörter 11 - 16 und 13'
- 15' aufweist. Deshalb ist die Codelänge für die Codierung
16' kürzer als diese zuletzt erwähnten Codierungen.
Tabelle I
Nichtnull-Werte
Code-Nr.
Code-Länge
Code-LSB Wert
Tabelle II
Null-Lauflängenwerte
Null-längen
Code-länge
Tabelle III
Reservierte und spezielle Codes
Code-Länge
Zugeord. Signal
Mark.
Kennwort
Tabelle VI
Tabelle IV
Null-Lauflängenwerte
Schlüsselwort -Codierungen
Länge der Nullen
Code-Länge
Code
Kennwort
Tabelle V
Nichtnull- und Null-Lauflängen
geordnet nach Auftrittswahrscheinlichkeit
Rangfolge
Auftrittswahrscheinlichkeit
Nichtnullwert (Quantisierer-Ausgang)
Lauflängenwert
Codelänge
Code
kennwort
Tabelle V - Fortsetzung
Rangfolge Auftrittswahrscheinlichkeit
Nichtnullwert (Quantisierer-Ausgang)
Lauflängenwert
Codelänge
Code
kennwort
-
In Figur 4 gibt die Kurve p die
Auftrittswahrscheinlichkeit von Null-Lauflängen wieder. Null-Lauflängen
mit Werten im Bereich von 1 - 35, vgl. den Teil p&sub4; in der
Kurve p, weisen beispielsweise eine relativ höhere
Auftrittswahrscheinlichkeit auf, verglichen mit Lauflängen von
36 - 239, vgl. Teil p&sub1; in der Kurve p. Die Lauflängen von 1
-35 haben einen Anteil an der Fläche unter der Kurve p im
Bereich P&sub4;, der etwa 85% der Fläche unter der gesamten
Kurve p beträgt. Die Auftrittswahrscheinlichkeit von Null-
Lauflängen zwischen 36 und 239 Nullen nimmt allmählich ab,
wie das im Kurventeil p&sub1; der Kurve p gezeigt ist. Die
kombinierte Auftrittswahrscheinlichkeit pp aller Lauflängen
entspricht der Fläche unter dem Kurventeil p&sub1; und ist ein
Bruchteil der Fläche unter der Kurve p. Die Wahrscheinlich
pp repräsentiert einen relativ kleinen Anteil der Fläche
unter der gesamten Wahrscheinlichkeitskurve p mit Ausnahme
der Null-Lauflänge 240. Die Fläche unter dem Kurventeil p&sub1;
repräsentiert beispielsweise etwa 15% der Fläche unter der
gesamten Kurve p.
-
Die Null-Lauflängen im Teil p&sub4; sind in der Tabelle
II und die Lauflängen des Bereichs p&sub1; sind in der Tabelle
IV veranschaulicht. Null-Lauflängen mit einer Auftritts
wahrscheinlichkeit kleiner als die kombinierte
Wahrscheinlich pp treten im Kurvenbereich p&sub3; auf. Die
Auftrittswahrscheinlichkeit pp irgendeines Gliedes der Gruppe im Bereich
p&sub1; der Kurve p ist größer als die
Auftrittswahrscheinlichkeit irgendeiner der Null-Lauflängen im Bereich p&sub3; der
Kurve p. Die Auftrittswahrscheinlichkeit von
Null-Lauflängenwerten im Bereich p&sub4; sind in der Tabelle V aufgelistet,
und zwar in diesem Beispiel in der Rangfolge der
Auftrittswahrscheinlichkeit für Nichtnull-Werte und für Null-
Lauflängen mit Werten von 1 - 35. Die Null-Lauflängenwerte
sowie die Nichtnull-Werte sind entsprechend der
Auftrittswahrscheihlichkeit in einer einzigen Tabelle organisiert.
Die Ordnungsposition (Zehner) der Gruppenwarscheinlichkeit
der Lauflängen im Bereich p&sub1; ist in der Tabelle V basie
rend auf der Ordnungsposition des Wertes pp relativ zu den
Auftrittswahrscheinlichkeiten aller anderen
Null-Lauflängen, vgl. Bereich p&sub4;, aufgelistet. Der Wert p&sub2;
repräsentiert jedoch alle Lauflängen im Bereich p&sub1;.
-
Ein Huffman-Codewort, welches ein statistisches
Codierungsschema ist, wird jedem Glied der Gruppe von Null-
Lauflängenwerten und Nichtnull-Werten mit einer Codelänge
entsprechend ihrer Ordnungsposition in Tabelle V zugeteilt,
und zwar basierend auf der Auftrittswahrscheinlichkeit für
jeden Wert. In Tabelle V sind die Null-Lauflängen der
Bereiche p&sub1; und p&sub4; in der Rangfolge der
Auftrittswahrscheinlichkeit aufgelistet. Für dieses Beispiel ist die
Auftrittswahrscheinlichkeit pp irgendeines Glieds der
Lauflängengruppe unter dem Bereich p&sub1; der Kurve p etwa 10 in der
Ordnungsposition.
-
Die Gruppenwahrscheinlichkeit pp ist in der Tabelle
V durch den Begriff "Kennwort" (keyword) angegeben. Der
Begriff Kennwort, wie er hier benutzt wird, bedeutet, daß ein
spezieller Code für jeden Null-Lauflängenwert für alle
Glieder der Gruppe im Bereich p&sub1; der Kurve p benutzt wird.
Bei einem Huffman-Code kann der Anfangsbereich irgendeines
Codes nicht einen vollständigen Code irgendeines anderen
Codeworts repräsentieren. Da die Gruppe von Null-Lauflängen
unter dem Bereich p&sub1; eine Gruppenwahrscheinlichkeit für das
Auftreten aufweist, die etwa der zehnten Stelle der Liste
der Auftrittswahrscheinlichkeit für alle Nichtnull- und
Null-Lauflängen entspricht, wird ein Huffman-Code mit einem
n-Bit Codewortsegment, in diesem Fall von fünf Bits, dem
Eingangs- oder Vorsilbenbereich aller Glieder der Gruppe
unter dem Segmentkurvenbereich p&sub1; zugeordnet, welches n-Bit
Codewort der zehnten Position in Tabelle V entspricht.
-
In Tabelle V wird beispielsweise dem n-Bitwort für
die Kennwortgruppe der Null-Lauflängen ein Vorsilbencode
01011 zugeordnet. Dieser n-Bitcode wird als Kennwort
bezeichnet und basiert auf der Huffman-Codierungsregel. Da
die Glieder der Gruppe unter den Bereich p&sub1; der Kurve p
eine relativ hohe Auftrittswahrscheinlichkeit basierend auf
der kombinierten Gruppenwahrscheinlichkeit aufweisen, wird
dann ein relativ kürzeres Codewort dieser Gruppe zugeordnet
als das anderenfalls entsprechend der Huffman-Codierung von
individuellen Lauflängen basierend auf individuellen
Wahrscheinlichkeiten erfolgen würde. Dies stellt sicher, daß
der Vorsilbenbereich des Codewortes (das Kennwort) für
jedes Glied der Gruppe die Huffman-Codierungsregel erfüllt.
Da die ersten fünf Stellen (digits) des Codeworts für jedes
Glied der relativ großen Gruppe von Codewörtern dasselbe
Huffman-Codewort darstellen, ist kein anderer vollständiger
fünfstelliger Code irgendeines anderen Codeworts in dem
Anfangsbereich des das Kennwort enthaltenden Codeworts
eingeschlossen.
-
Es verbleibt jedoch das Problem, für jedes Glied
der relativ großen Gruppe von Lauflängen im Bereich p&sub1; der
Kurve p ein unterschiedliches Codewort zuzuteilen. Der Weg,
auf dem dieses erfolgt, besteht darin, einen zusätzlichen
Code zuzuordnen, der als Nachsilbe nach dem n-Bit Kennwort
benutzt wird. Da 35 Lauflängen in diesem Bespiel durch
spezielle individuelle Codewörter repräsentiert werden,
verbleiben 204 Codewörter, die zu jeder der Null-Lauflängen im
Bereich p&sub1; zuzuordnen sind. Es ist bekannt, daß die
Zuordnung einer unterschiedlichen Binärzahl zu jedem Glied eine
aus 204 Gliedern bestehenden Gruppe in einen 8-Bitcode
resultiert. Dieser 8-Bitcode wird erzeugt durch übliche
Zählung der Zahl von Null-Lauflängengliedern in dem Bereich p'
und Zuordnen für jedes Glied einer binär codierten Zahl
entsprechend der Anzahl Nullen des betreffenden Gliedes.
Somit kann ein separater unterschiedlicher und einmaliger
8-Bitcode jedem Glied der Null-Lauflängengruppe unterhalb
dem Bereich der Wahrscheinlichkeitskurve p zugeordnet
werden. Dieser 8-Bitcode wird als Nachsilbe zu dem oben be
schriebenen n-Bit Kennwort addiert und erzeugt ein m-Bit
Codewort, zum Beispiel ein 13-Bit Codewort. Ein
unterschiedliches 13-Bit Codewort wird jedem der 204 Glieder
zugeordnet und ist in der Tabelle V durch das Codewort
01011x&sub1;. . . xn dargestellt. Jedes zufällig auftretende Glied
der Kennwort-Codegruppe weist eine
Auftrittswahrscheinlichkeit auf, die die zehnte in der Ordnungsposition in Tabelle
V ist, und zwar im Vergleich zu den Codewörtern aller
Nichtnull-Werte und der verbleibenden Lauflängenwerte des
Bereichs p&sub4;.
-
Zusätzliche reservierte und spezielle Codes sind in
der Tabelle III aufgeführt. Ein Codewort mit einer Länge 10
ist einem Markierungssignal 1 zugeordnet, um den Anfang
einer horizontalen Zeile in einem Videosignal anzuzeigen. Ein
zweites Markierungssignal 2 ist einem Code mit einer
Codelänge von 10-Bit zur Anzeige der Bildinitialisierung
zugeordnet. Einem dritten Codewort ist eine Codelänge von 7-Bit
zugeordnet, was die Lauflänge von 240 Nullen bei der Spitze
p' in Figur 4 repräsentiert. Da die Wahrscheinlichkeit der
Lauflänge mit 240 Nullen relativ hoch in der Rangfolge der
Auftrittswahrscheinlichkeiten liegt, wird dem ein
einzigartiger Code im Rahmen der Huffman Codierungsregel basierend
auf eine Ordnungsposition von Wahrscheinlichkeiten in
Tabelle V zugeordnet.
-
Zurückkehrend zu Figur 2 wird ein horizontales
Steuerungssignal über einen Puffer 221 an den Schalter 230
angelegt, um ein Codewort für die Markierung 1 auszuwählen,
das über den Schalter 230 an den ROM 200 angelegt wird. Die
Markierung kann für jede Zeile oder einen Satz von Zeilen
erzeugt werden. Ein vertikales Steuerungssignal wird über
den Puffer 223 an den Schalter 230 zur Selektion der
Markierung 2 angelegt. Die Markierung 2 zeigt den Beginn eines
Bildes an. Wenn die Adresse der Markierung 2 (Codewort)
nach der Tabelle III ausgewählt wird, wird diese Adresse
über den Schalter 230 an den ROM 200 angelegt. Die
Markierungsadresse zeigt dem Empfänger zu Beginn eines Bildes zu
Beginn bestimmter Zeilen Synchronisationsinformation an, um
den Empfänger mit dem Sender erneut zu synchronisieren,
falls während der Übertragung gelegentlich Daten
verlorengegangen sein sollten, was bei bestimmten atmosphärischen
Umständen oder dergleichen auftreten könnte.
-
In Figur 2 enthält der Festwertspeicher ROM 200
eine Wörterbuchtabelle mit der Information der Tabellen I,
II und III. In Figur 5 ist ein Beispiel für den ROM 200
gezeigt, bei dem der Tabelle von Nichtnull-Werten ein erster
Abschnitt 501 des ROM 200 und den Null-Lauflängen sowie
speziellen Codewörtern ein zweiter Abschnitt 502 des ROM
200 zugeqrdnet sind. Die Nichtnull-Tabelle im Abschnitt 501
wird über einen 10-Bitcode adressiert, der einen 9-Bit
Nichtnull-Code zur Darstellung des 9-Bit Nichtnull-Wertes
des Informationssignals mit einem 1-Bit Adresscode, zum
Beispiel mit einer binären Null, zum Adressieren des ROM
Abschnitts 501 enthält. Der Null-Lauflängenabschnitt 502
wird adressiert über einen 9-Bitcode, der die 9-Bit Null-
Lauflängenzahl repräsentiert, zusammen mit einer
hinzugefügten 1-Bit Adresse in Form einer binären Eins. Die 9-Bit
Null-Lauflängenadresse für den Abschnitt 502 enthält den
Kennwort-Code als eine Vorsilbe (prefix) zur aktuellen
Binärzahl der Nullen in einer gegebenen Lauflänge. Der Weg
zur Erzeugung dieser Adressen ist in Figur 2 gezeigt.
-
In Figur 2 wird an das Register 202 ein 9-Bit
Informationssignal angelegt, das einen Nichtnull- oder Null-
Wert eines gegebenen Pixels repräsentiert. Der Ausgang des
Registers 202 erscheint auf der Leitung 204 und wird auf
das Register 206 sowie auf ein UND-Glied 208 geführt. Der
Ausgang des Registers 206 wird an ein zweites UND-Glied 210
angelegt. Die Ausgänge der Glieder bzw. Gatter 208 und 210
sind binäre Null- und Eins-Werte entsprechend den an die
Register 202 und 206 angelegten Signalwert der
Pixelinformation. Wenn ein gegebenes, auf der Leitung 24 an das
Register 202 angelegtes Pixel einen Nullwert aufweist, wird der
Ausgang des Gatters 208 eine Null sein. Weist das auf der
Leitung 26 an das Register 202 angelegte Pixel einen
Nichtnull-Wert auf, dann wird der Ausgang des Gatters 208 eine
logische Eins sein. Das heißt, daß das Gatter 208 das
Eingangssignal des Registers 202 daraufhin überprüft, ob es
einen Null- oder Nichtnull-Wert darstellt und das
Ausgangssignal des Gatters 208 weist einen logischen Wert auf, der
entweder den Null- oder den Nichtnull-Pegel repräsentiert.
Wenn das Pixelinformationssignal im Register 202 an das
Gatter 208 angelegt wird, wird es ebenfalls an das Register
206 angelegt und bei der nächsten Taktzeit wird ein neues
Pixelinformationssignal auf der Leitung 26 an das Register
202 angelegt. Das Informationssignal im Register 206 wird
an das Gatter 210 angelegt, das wie das Gatter 208 einen
logischen Ausgangspegel von Null oder Eins aufweist, und
zwar abhängig davon, ob das Informationssignal im Register
206 einen entsprechenden Pixelwert von Null oder Nichtnull
repräsentiert. Somit repräsentieren die Ausgänge der Gatter
208 und 210 die Null- und Nichtnull-Werte von
aufeinanderfolgenden
Pixeln, die von der Leitung 26 an das Register
202 angelegt werden. Der Ausgang des Gatters 208 wird über
einen Invertierer 212 auf das UND-Glied 214, über den
Invertierer 216 auf das UND-Glied 218 sowie als Eingänge auf
das UND-Glied 220 sowie das UND-Glied 222 geführt. Der
Ausgang des UND-Glieds 210 wird angelegt als ein Eingang an
das UND-Glied 214, über den Invertierer 224 als ein Eingang
auf das UND-Glied 218, über den Invertierer 226 als ein
Eingang auf das UND-Glied 220 sowie als ein Eingang auf das
UND-Glied 222 geführt.
-
Der Ausgang des UND-Glieds 214 wird an den
Rücksetzeingang des Zählers 228 sowie über das ODER-Glied 232
als ein Eingang an den Schalter 230 angelegt. Der Ausgang
des Gatters 214 wird weiterhin über das ODER-Glied 242 als
Takteingang auf das Register 234 und die FIFO-Register
(first in first out) 236 und 238 sowie an den Zähler 240
angelegt. Der Ausgang des UND-Glieds 218 wird an den
Zählereingang des Zählers 228 sowie über die Leitung 231 als
ein Eingang an das UND-Glied 233 angelegt. Das UND-Glied
233 weist einen zweiten Eingang von den horizontalen
Steuerungssignal (HD) für die Synchronisation auf. Der Ausgang
des Gatters 233 wird über das ODER-Glied 235 an den
Schalter 230 angelegt. Der Ausgang des UND-Glieds 220 wird über
das ODER-Glied 232 als ein Eingang auf den Schalter 230
geführt sowie über das ODER-Glied 242 als Takteingang auf die
Register 234, 236 und 238 sowie den Zähler 240. Der Ausgang
des UND-Glieds 222 wird über das ODER-Glied 232 als ein
Eingang auf den Schalter 230 geführt sowie über das ODER
Glied 242 als Takteingang auf die Register 234, 236 und 238
sowie den Zähler 240. Der Schalter 230 steht repräsentativ
für komplexere elektronische Bauteile, zum Beispiel
Multiplexer (muxers), welche das aktuelle Schalten durchführen
und die zur Durchführung der aktuellen Schaltvorgänge
Bauelemente
mit drei Zuständen verwenden können. Solche
komplexeren Schalter sind wohl bekannt.
-
Die Gatter 208, 210, 214, 218, 220, 222 und die
Invertierer 212, 216, 224 und 226 leisten eine logische
Steuerungsfunktion basierend auf den logischen Werten der
Ausgangssignale an den Gattern 208 und 210 gemäß der
Wahrheitstafel der Tabelle VI. Nach der Tabelle VI weisen die
in der obersten Zeile der Tabelle aufgeführten UND-Glieder
die darunter aufgelisteten logischen Werte auf. Wenn somit
die Gatterausgänge von 208 und 210 Null sind, ist der
Ausgang des Gatters 218 eine logische Eins. In gleicher Weise
gilt, daß, wenn der Gatterausgang von 208 Null und von 210
eine logische Eins beträgt, der Gatterausgang von 214 eine
logische Eins beträgt usw.
-
Aus der Tabelle VI ist zu entnehmen, daß bei zwei
aufeinanderfolgenden Pixeln mit jeweils einem Null-Wert an
den Gattern 208 und 210 Ausgänge von Null erzeugt werden.
Diese Ausgänge erzeugen eine logische Eins am Ausgang vom
Gatter 218, was den Zähler 228 zum Zählen von Nullen
veranlaßt. Solange demnach von den hereinkommenden Pixeln am
Register 202 Nullen erzeugt werden, bleibt der Ausgang des
Gatters 208 auf Null, und der Zähler 228 setzt das Zählen
dieser Nullen fort.
-
Sollte ein Pixel einen Nichtnull-Wert aufweisen und
dieser Nichtnull-Wert wird im Register 206 empfangen, wird
das Gatter 210 eine logische Eins als Ausgang annehmen.
Nimmt man an, daß das nächstfolgende vom Register 202
empfangene Pixel einen Null-Wert besitzt, ist der Ausgang des
Gatters 208 eine Null und bewirkt, daß das Gatter 214 eine
logische Eins ausgibt. Diese logische Eins wird an den
Zähler 228 angelegt und setzt den Zähler auf Eins, um die
Nullen
zu zählen. Der anfängliche Zählerstand des Zählers 228
beträgt Eins. Weist das nächstfolgende Pixel einen
Nichtnull-Wert auf, werden die Ausgänge der Gatter 208 und 210
in der in der Tabelle VI gezeigten Form auftreten, wobei
das Gatter 220 eine logische Eins als Ausgang annimmt. Eine
logische Eins am Ausgang des Gatters 220 wird an den
Schalter 230 angelegt, der den Zählerstand im Zähler 228 als 10-
Bitcode an den ROM 200 ausgibt. Dieser 10-Bitcode ist in
der oben in Verbindung mit Figur 5 beschriebenen Weise
aufgebaut. Es ist daran zu erinnern, daß ein Bit des
10-Bitcodes den Nullabschnitt 502 des ROM 200 adressiert, und daß
die übrigen 9-Bits der Adresse den 9-Bit Zählwert der
Nullenabfolge des Informationssignals repräsentieren. Diese
10-Bitadresse wird an den ROM 200 angelegt. Diese Adresse
selektiert das entsprechende Codewort im ROM-Abschnitt 502,
vgl. Figur 5, wie das in der Null-Ablauflängentabelle nach
Tabelle II aufgeführt ist, oder sie selektiert eine
Kennwort-Lauflänge wie in Tabelle IV ausgeführt. Somit wird das
entsprechende Codewort aus den Tabellen II und IV gemäß der
über den Schalter 230 an den ROM 200 angelegten Adresse
selektiert.
-
Nimmt man an, daß das nächstfolgende
Pixelinformationssignal ebenfalls einen Nichtnull-Wert aufweist, werden
die Ausgänge der Gatter 208 und 210 nach der Tabelle VI
beide eine logische Eins aufweisen. Dieses veranlaßt das
Gatter 222, eine logische Eins auszugeben. Dieses Signal
wird über das Gatter 232 an den Schalter 230 angelegt, um
den Ausgang des Registers 206 als eine an den ROM 200
anzulegenden Adresse auszuwählen. Zu diesem Zeitpunkt
selektiert das 10. Bit der Adresse den Abschnitt 501 im ROM 200,
der die Nichtnull-Tafel nach der Tabelle 1 enthält. Man
erinnere sich an diesem Punkt, daß die Pixelinformation im
Register 206 vorher im Register 202 war, als der Schalter
230 vom Ausgang des Gatters 220 aktiviert wurde. Wenn ein
Signal vom Gatter 222 den Schalter 230 aktiviert,
repräsentiert nun das Informationssignal im Register 206 einen
neuen 10-Bitcode, der über den Schalter 230 als eine
Adresse an den ROM 200 angelegt wird. Der Ausgang des
Registers 206 wird vom Schalter 230 selektiert, wenn der
Ausgang des Gatters 232 oben ist. Diese vom Register 206
angelegte Adresse entspricht dem Codewort in der Tabelle des
ROM 200, das von dem Nichtnull-Wert des Pixelinformations
signals im Register 206 repräsentiert wird. Sollte das
nächste Pixelinformationssignal einen Null-Wert aufweisen,
erscheinen die Informationssignale in den Registern 202 und
206 in der in der Tabelle VI gezeigten Form, wobei der
Ausgang des Gatters 214 eine logische Eins darstellt. Dies
setzt den Zähler 228 in die Lage, die Nullen zu zählen. Der
Ausgang des Gatters 232 ist jedoch ebenfalls oben (hoch)
und veranlaßt, daß das Binärsignal im Register 206 als
Adresse an den ROM 200 angelegt wird.
-
Unter der Annahme, daß die folgenden Pixel alle
Null-Werte aufweisen, zählt der Zähler 228 diese Nullen.
Für den Fall von Lauflängen von 240 Nullen oder mehr, muß
der Schalter 230 zur Anzeige des Abschlusses einer Zählung
geschaltet werden, da der Zähler 228 automatisch am Ende
einer 240-Nullen-Zählung zurücksetzt. Wird jedoch die
folgende Zeile mit Nullen weitergeführt, bleibt der Ausgang
des Gatters 218 im oberen Zustand und der Schalter 230
diese Zählinformation in den ROM 200 schalten, bevor der
Zähler zurücksetzt. Um dies zu tun, wird das Zählsignal auf
der Leitung 231 durch das UND-Glied 233 an das ODER-Glied
235 an den Schalter 230 angelegt. Ein horizontales
Steuerungssignal wird als zweiter Eingang auf das Gatter 233
geführt. Das horizontale Steuerungssignal tritt am Beginn
jeder Abtastzeile oder am Beginn jeder 240-Nullen-Lauflänge
auf, wenn eine Abtastzeile sämtlich Nullen enthält. Wenn
das horizontale Steuerungssignal an das Gatter 233 angelegt
wird, gibt das Gatter 218 einen oberen Pegel mit der
Anzeige aus, daß Nullen gezählt werden; ein Signal wird
erzeugt, das den Schalter 230 dazu veranlaßt, den Zählerstand
aus den Zähler 228 in den ROM 200 zu schalten. Das
horizontale Steuerungssignal am Gatter 233 wird einmal pro Zeile
angelegt und danach wird der Zähler die erneute Zählung
beginnen, wenn seine 240er Zählung in den ROM 200 geladen
ist.
-
Der Zähler 228 setzt sich am Ende einer 240er
Zählung automatisch zurück, um erneut für die nächste
Abtastzeile Nullen zu zählen und fährt mit der Zählung von Nullen
fort, bis ein Nichtnull-Wert erzeugt wird. Wenn ein solcher
Nichtnull-Wert erzeugt wird, wird eine logische Eins am
Ausgang des Gatters 220 zustande gebracht. Dieser Pegel
veranlaßt den Schalter 230 dazu, den Zählerstand im Zähler
228 an den ROM 200 auszugeben und die Tabelle in den ROM
200 zu adressieren, um den dieser Null-Lauflängenzählung
entsprechenden Code zu selektieren.
-
Der Ausgang des ROM 200 über das Register 234 wird
an die Leitungen 246 und 248 angelegt. Die Leitung 246 kann
maximal M Bits parallel aufnehmen, um mindestens das 13-Bit
Codewort des Kennwort-Null-Lauflängencodes zu übertragen.
Die Leitung 248, die ein K Leiterkabel zum Transportieren
eines K-Bitcodes darstellt, überträgt die
Codelängeninformation mit dem Hinweis auf die Codelänge des auf der
Leitung 246 erscheinenden Codes. Demzufolge speichert der ROM
200 zwei Informationssätze in seiner Tabelle, die
Codewörter und die Länge dieser Codewörter. Die ein Codewort und
seine Länge repräsentierende Information wird nach Empfang
eines Signals durch das Gatter 242 an das Register 234
angelegt,
wobei man sich erinnert, daß das Taktsignal als
Reaktion auf eine logische Eins an irgendeinen der Gatter
214, 220 und 222 angelegt wird. Ein Codewort wird immer
dann im Register 234 verriegelt, wenn ein Nichtnull-Wert an
den Ausgängen von einem der Gatter 208 und 210 auftritt.
-
Ein auf das Register 234 geführtes Taktsignal wird
ebenfalls an die FIFO-Register 236, 238 sowie an den Zähler
240 angelegt. Der Ausgang des FIFO-Registers 236 wird an
den Parallel-Serienumsetzer 250 angelegt. Das Taktsignal an
den FIFO-Registern 236 und 238 taktet die Codewörter von
dort in den parallel-Serienumsetzer 250 beziehungsweise in
den Zähler 240. Das FIFO 238 nimmt die Codewortlängen auf,
während das FIFO 236 das dieser Länge entsprechende
Codewort empfängt. Der Ausgang des FIFO 238 wird an den Zähler
240 angelegt, um auf der Leitung 252 ein Parallel-Serien-
Taktsignal zu erzeugen, um dem Parallel-Serienumsetzer 250
die Codelänge des auf der Leitung 29 ausgegebenen Codeworts
anzuzeigen. Das Codewort auf der Leitung 29 wird an den
Puffer 30 in Figur 4 angelegt. Der Ausgang des Zählers 240
auf der Leitung 252 repräsentiert die Codelängeninformation
im Register 234. Der Ausgang des Zählers 240 taktet den
Parallel-Serienumsetzer 250, so daß die korrekte Codelänge
des gegebenen Codeworts auf der Leitung 29 ausgegeben wird.
Wenn man die Kennwortcodes der im Spezialfall
geltenden Null-Lauflängen als Gruppe bei einer höheren
Häufigkeit als normalerweise auswählen kann, wenn man ihnen einen
Huffman-Code entsprechend ihrer individuellen
Auftrittshäufigkeit entlang der Wahrscheinlichkeitskurve p in Figur 4
zuordnete, ist dies akzeptabel. Würde man den Lauflängen im
Bereich p&sub1; normal Huffman-Codewörter mit Längen basierend
auf der individuellen Wahrscheinlichkeit zuordnen, dann
würden einige dieser Lauflängen kürzere Huffman-Codewörter
aufweisen als die der gesamten Gruppe zugeordneten festen
Längen; die übrigen Huffman-Codewörter würden größere
Längen aufweisen als die feste Länge der Gruppe. Wenn im
ungünstigsten Fall die die Auftrittshäufigkeit
berücksichtigenden Lauflängen der Kennwort-Codes für solche
Huffman-Codewörter der Gruppe mit kürzerer Länge häufiger auftreten,
dann ergibt sich eine Abnahme des Wirkungsgrades der
Übertragung um schätzungsweise 2 - 4 % verglichen mit dem Fall
der Zuordnung solcher Kennwort-Codelängen in der normalen
Huffman-Codeanordnung.
-
In Figur 1 decodiert der Decodierer 40 das vom
Puffer 38 über die Leitung 42 erhaltene codierte Signal. Der
Ansatz für den Decodierer 40 in der Figur 3 besteht in der
Verwendung eines ROM 324, in dem die Codewörter sowie die
Nicht-Codewörter in aufeinanderfolgend adressierten
Speicherplätzen gespeichert sind. Jeder Speicherplatz enthält
einen Bereich für die Adresse eines nachfolgenden
Speicherplatzes, wobei der verbleibende Bereich ein Bit von dem
empfangenen codierten Signal enthält. Aufeinanderfolgende
Bits des empfangenen Signals werden mit entsprechenden
nachfolgenden Adreßbereichen im Speicher kombiniert, um
eine Suchadresse für einen neuen Speicherplatz zu bilden.
Ein unterschiedliches Codewort wird im Speicher an
verschiedenen gegebenen Plätzen gespeichert. Jeder Satz
entspricht einer gegebenen Folge von Binärwerten des
empfangenen codierten Signals, die in Kombination mit diesem
Adreßbereich, der sich auf ein gegebenes Glied von sukzessiven
Adressen im Speicher bezieht, eine Suchadresse für ein
Codewort bilden. Wenn ein komplettes Codewort empfangen ist,
gibt der ROM 324 das unter der entsprechenden Adresse
gespeicherte Codewort aus und die Adresse für den ROM wird
zurückgesetzt, um einen neuen Codewort-Suchvorgang mit dem
nächsten empfangenen codierten Bit zu beginnen.
-
Im einzelnen enthält der Decodierer 40 nach Figur 3
einen Parallel-Serienumsetzer 300, der ein 20-Bit breites
Signal auf der Leitung 42 vom Puffer 38 aufnehmen kann. Der
Parallel-Serienumsetzer 300 setzt die parallel einlaufenden
Bits auf der Leitung 42 um in einen seriellen Strom auf der
Leitung 304 und legt den seriellen Strom an ein Register
306 mit seriellem Eingang und seriellem Ausgang an. Das
Register 306 weist mehrfache Abgriffe auf, die durch eine
einzelne Leitung 308 dargestellt sind. Das Signal auf der
Leitung 308 wird an die UND-Glieder 310 und 312 angelegt,
die das Vorhandensein der Markierung 1 sowie der Markierung
2 feststellen. Die Signale für die Markierung 1 und für die
Markierung 2 sind an das ODER-Glied 314 angelegt. Der
Ausgang des Registers 306 mit seriellem Eingang und seriellem
Ausgang wird an das Register 315 angelegt, das ein manchmal
als Flipflop bezeichnetes 1-Bit Register ist. Das Register
315 erhält ein Taktsignal von einer Taktquelle an der
Leitung 316 sowie ein Löschsignal an der Leitung 318. Das von
ODER-Glied 314 empfangene Löschsignal auf der Leitung 318
wird weiterhin an das Register 320 angelegt. Der Ausgang
des Registers 315 wird über die Leitung 322 auf den
Decodierer-ROM 324 geführt. Der Ausgang des Register 320 wird
über die Leitung 326 an den Decodierer-ROM 324 angelegt.
Die Ausgänge der Register 315 und 320 bilden zusammen eine
Adresse für den ROM 324.
-
Das Register 320 ist ein n-Bit Register, in diesem
Beispiel mit 9 Bits, was sich mit dem einen Bit vom
Register 315 zur Bildung einer 10-Bit Adresse für den ROM 324
kombiniert. Jede Adresse im Decodierer-ROM 324 enthält drei
Informationsteile. Ein Teil der Information repräsentiert
die Daten oder den aktuellen Code, wenn ein Code als durch
die Information von den Registern 315 und 320 dargestellt
ermittelt wurde. Ein zweiter mit den Codedaten gekoppelter
Teil der Information ist ein Code für die nächste Adresse,
der die Bitstellen enthält, die einen Teil der Adresse für
das nächste zu adressierende Segment im ROM bilden. Weist
beispielsweise der erste Speicherplatz im ROM 324 eine
Adresse 000 auf, kann der nächste Speicherplatz im ROM 324
eine Adresse 001 und der folgende Speicherplatz eine
Adresse 010 usw. haben. Diese nächsten Adressen werden für
jeden der Speicherplätze des ROM binär hochgezählt Ein
dritter an jedem Speicherplatz im ROM 324 lokalisierter
Informationsteil enthält einen Binärwert, der das
Vorhandensein oder Fehlen eines Codes an dieser Adresse
repräsentiert. Wenn die durch den oben beschriebenen ersten
Informationsteil repräsentierten Daten ein aktuelles Codewort
darstellen, wird der binäre Pegel des dritten Informations
teil in jeder ROM-Position das Vorhandensein eines
Codeworts repräsentierenden Binärwert aufweisen, zum Beispiel
eine binäre Eins. Enthält der Datenbereich in der ROM
Position keinen aktuellen Code, wird der dritte dieser
ROM-Position zugeordnete Informationsteil einen Binärwert Null
aufweisen. Der ROM 324 enthält an jedem Speicherplatz eine
genügende Anzahl von Bitstellen, um jeden der drei
beschriebenen Informationsteile darzustellen.
-
Die Ausgangsbusleitung 334 des ROM 324 erhält die
nächste Adreßinformation vom ROM-Speicher. Die Leitung 330
erhält ein Informationsbit mit einer binären Eins im Fall
eines festgestellten Codes (und mit einer binären Null,
wenn kein Code festgestellt wurde). Die Ausgangsbusleitung
332 erhält den Datenbereich, das heißt das Codewort, von
einer gegebenen Adresse im ROM-Speicher. Die Leitung 330
erhält einen Einzelbit-Code und die Leitung 332 erhält ein
die Codeinformation repräsentierendes Signal mit n Bits,
vorzugsweise mit 10 Bits. Der nächste an die Leitung 334
angelegte Adreßcode enthält die Adresse der auf die erste
Speicherplatzadresse nacheinander folgenden Speicherplätze,
die beispielsweise alle Null sein können. Die Adresse für
den ROM auf der Leitung 334 wird abgeschlossen durch das
vom Register 315 auf der Leitung 322 ausgegebene einzelne
Bit. Das heißt, die Adresse an jedem Speicherplatz des ROM
324 wird durch ein auf der Leitung 322 erscheinendes Bit
abgeschlossen. Dieses eine Bit wird gebildet von den
sequentiell auftretenden Bitstellen eines gegebenen
empfangenen und durch die Register 306 und 315 verarbeiteten
Codeworts.
-
Der Datenbereich des ROM 324 enthält eine von zwei
Informationsarten. Die erste Informationsart ist ein Code,
der alle Nichtnull-Codewerte repräsentiert. Die zweite
Informationsart sind die Codewörter, welche die binären
Zählwerte von Nullen in einer Null-Lauflänge repräsentieren.
Nicht alle ROM-Speicheradressen enthalten wahre Codewörter
im Datenbereich eines gegebenen Speicherplatzes. Die im
Datenbereich gespeicherten Codes sind die Codewörter für die
Nichtnull-Werte der Tabelle 1, die Codewörter für die Null-
Lauflängen nach der Tabelle II sowie die Codewörter für die
Markierung 1, Markierung 2 und den 240 Code der Tabelle
III.
-
Beim Betrieb des soweit beschriebenen Decodierers
wird ein codiertes Signal vom Umsetzer 300 in einen
seriellen Bitstrom umgesetzt und an das Register 306 mit
seriellem Eingang und seriellem Ausgang angelegt, das seinerseits
die Bits jeweils ein Bit zu einem Zeitpunkt an ein 1-Bit
Register 315 anlegt. Ein Taktsignal auf der Leitung 316
taktet den Inhalt des Registers 315 über die Leitung 322
auf den ROM 324, und zwar in Verbindung mit dem Takten des
Inhalts vom Register 320 zur Bildung der n-Bit ROM-Adresse.
Ein Signal auf der Leitung 330 ist das
Codefeststellungssignal,
welches wiedergibt, ob ein Code festgestellt worden
ist oder nicht. Wenn irgendeines der Signale für die
Markierung 1, die Markierung 2 oder für das
Codefeststellungssignal auf dem oberen Pegel ist, wird ein Löschsignal auf
der Leitung 318 an das Register 320 angelegt, das eine
Null-Adresse für den ROM 324 zur Adressierung des ersten
Speicherplatzes liefert. Die Signale für die Markierung 1
und die Markierung 2 sind oben, wenn das Codewort im
Register 306 einen der Markierungscodes repräsentiert. Die Gat
ter 310 und 312 prüfen die Ausgänge des Registers 306 auf
solche Markierungscodes hin.
-
Weist das Register 315 einen Null-Ausgang auf der
Leitung 322 auf, dann wird die ursprüngliche Null-Adresse
des ROM 324 adressiert. Da das Register 320 gelöscht worden
ist und das Register 315 nur eine Bitstelle von einem
Codewort an den ROM 324 geliefert hat, und da die minimale
Codelänge nach den Tabellen I, II und III 2 beträgt für die
Code-Nummer 1, d.h. einen negativen Nichtnull-Wert (Tabelle
I), wird kein Codewort von dieser Adresse erkannt worden
sein und ROM 324 wird eine Null auf der
Codeerfassungsleitung 330 und auf der Busleitung 334 die Adresse des
nächstfolgenden gespeicherten Speicherplatzes im ROM 324
ausgeben. Diese nächste Adresse wird in das Register 320
getaktet. In Verbindung mit dem Ausgang vom Register 315 bildet
diese Adresse beim nächsten Takt auf der Leitung 316 eine
vollständige Adresse für den ROM 324.
-
Wenn die Adresse mit den Bitstellen auf den
Leitungen 326 und 322 kein Codewort repräsentiert, wird der
nächste zusätzliche Speicherplatz im ROM 324 auf der Leitung
330 ein Fehlanzeigesignal die Feststellung eines Codes
betreffend ausgeben, das heißt einen binären Nullwert, und
ebenfalls auf der Busleitung 334 eine nächste Adresse. Ob
oder ob nicht ein Code festgestellt ist, ist von Anfang an
aus der Kombination einer gegebenen Adresse und dem Ausgang
des Registers 315 bekannt. Jede gegebene Speicheradresse in
Kombination mit dem bekannten Codebit-Ausgang vom Register
315 kann als ein Codewort darstellend bestimmt werden. Wenn
diese Kombination als ein Codewort bildend bekannt ist,
dann wird diese vollständige Adresse denjenigen
Speicherplatz adressieren, der dieses Codewort enthält. Somit
repräsentiert eine gegebene Anzahl von Kreiszyklen einer
nächsten Adresse in Kombination mit einem gegebenen
Ausgangspegel vom Register 315 ein Codewort. Beim nächsten
Taktsignal auf der Leitung 316 werden die nächste Adresse
auf der Leitung 334 und die nächste Bitstelle im codierten
Signal vom Register 306 zur Adressierung des ROM 324
getaktet. Wenn diese Bitkombination auf den Leitern 326 und 322
ein Codewort repräsentiert, zum Beispiel einen Null- oder
Nichtnull-Wert, wird der ROM 324 ein
Codefeststellungssignal, einen Binärwert 1 auf der Leitung 330, zum Löschen
des Registers 320 ausgeben, und wird auf der Busleitung 332
das n-Bit Codewort ausgeben, das den festgestellten
Codewert entsprechend dieser Adresse darstellt.
-
Dieses n-Bit Codewort auf der Leitung 332 wird an
das Register 336 angelegt und unter der Annahme, daß ein
Code festgestellt wurde, wird das auf einen festgestellten
Code hinweisende Signal mit der binären 1 auf der Leitung
330 an das Register 336 zur Verriegelung eines Codes auf
der Leitung 332 vom Register 336 an die Ausgangsleitung 339
oder 346 angelegt, und zwar abhängig davon, ob ein
Nichtnull- oder Null-Lauflängenwert festgestellt wurde. Das n-
Bit Codewort auf der Leitung 332 enthält ein Bit mit der
Angabe, ob ein Nichtnull-Wert oder ein Null-Lauflängenwert
in einer ähnlichen Weise festgestellt worden ist, wie das
oben in Verbindung mit dem ROM 200 in Figur 5 diskutiert
wurde. Nimmt man an, daß ein Nichtnull-Wert festgestellt
wurde, dann wird das auf den festgestellten Code
hinweisende Verriegelungssignal mit dem Binärwert 1 auf der
Leitung 330 den Code auf der Leitung 332 in das Register 336
verriegeln und den Code über die Leitung 339 an den
Schalter 338 legen. Der Code wird von dem
Codefeststellungssignal auf der Leitung 330 im Speicher 340 verriegelt und
über das ODER-Glied 342 und die Leitung 344 an den
Takteingang des Speicher 340 angelegt. Der Code wird aus dem
Speicher 340 (Figur 1) herausgetaktet und auf den Eingang eines
DPCM-Schleifentakts von der DPCM-Schleife 44 hin über die
Leitung 43 an die Schleife 44 angelegt.
-
Wenn das am meisten signifikante bzw. höchstwertige
Bit (MSB) des festgestellten Codes auf der Leitung 332 eine
Null ist, wurde ein Null-Lauflängenwert festgestellt und im
Falle einer Eins wurde ein Nichtnull-Wert festgestellt. Die
Daten im ROM 324 repräsentieren für Codewörter mit Null-
Längen, die binäre Darstellung der Anzahl von Nullen in
dieser Lauflänge. Wenn eine Null-Lauflänge festgestellt
wird, wird das Register 336 durch das
Codefeststellungssignal auf der Leitung 330 verriegelt, um die binäre
Darstellung der Anzahl von Nullen in einer gegebenen Lauflänge in
den Zähler 345 zu laden. Das Taktsignal auf der Leitung 350
veranlaßt den Zähler 345 zum Abzählen und zum Anlegen des
Zählsignals auf der Leitung 352 an den Schalter 338. Danach
wird der Schalter 338 dazu veranlaßt, Nullen auf der
Leitung 354 auszuwählen und diese Nullen an den Speicher 340
anzulegen. Während der Zähler 345 die Anzahl von Nullen in
einer gegebenen Lauflänge abzählt, bewirkt jeder Zählwert
des Zählers 340 das Laden einer Null in den Speicher 340.
Erreicht der Zähler 345 das Ende der Zählung, wird das
Zählendesignal (EOC) an die Leitung 352 angelegt, um die
Nullen
von der Leitung 354 abzuschalten. Das Zählendesignal
(EOC) wird ebenfalls an das UND-Glied 356 angelegt.
-
Das UND-Glied 356 weist einen zweiten Eingang mit
einem Taktsignal auf, und legt nach Empfang des
Zählendesignals (EOC) vom Zähler 345 ein Taktsignal an das ODER-Glied
342 an, dessen Ausgang den Speicher 340 veranlaßt, die im
Speicher 340 gespeicherten Nullen auszugeben. Die Anzahl
der Nullen in jedem der Bereiche der Tabellen II und IV
wird nach Empfang eines DPCM-Taktsignals über die Leitung
43 an die inverse DPCM-Schleife angelegt.
-
Immer wenn die nächste Adresse auf der Leitung 334
eine Fehlanzeige betreffend die Feststellung eines Codes im
ROM 324 repräsentiert, ist das Codefeststellungssignal auf
der Leitung 330 im unteren Zustand und kein
Verriegelungssignal wird an das Register 336 oder den Speicher 340
angelegt. Auf diese Weise wird das Register 336 nicht
verriegelt und keine Information auf der Leitung 332 wird an den
Schalter 338 oder den Zähler 345 angelegt. Wenn auch die
nächste Adreßstelle im ROM 324 keinen Code enthält, wird
das nächste Bit des an das 1-Bit Register 315 angelegten
seriellen Eingangssignals zu der nächsten Adresse vom ROM
324 addiert, um eine neue Adresse für die nächste
ROM-Position zu liefern.
-
Werden beispielsweise zwei Nullen in einer Reihe
vom Register 315 empfangen, zeigt das an, daß ein Codewort
mit einem Nichtnull-Wert von der Tabelle 1 erhalten wurde.
Solche auf der Leitung 334 erscheinenden zwei Nullen in
Kombination mit der Folge von nächsten Adresen veranlassen
den ROM-Speicherplatz, den durch das Codewort 00
repräsentierten Wert -7 auszugeben und auf der Leitung 330
anzuzeigen, daß ein Code festgestellt worden ist. Wurde der Code
festgestellt, wird ein 10-Bit Wert auf der Leitung 332 vom
ROM 324 ausgegeben, der den Wert des betreffenden
festgestellten Codeworts repräsentiert, das heißt den aktuellen
Nichtnull-Wert nach Tabelle I. Das Register 336 enthält
zwei Gruppen von Informationen: Lauflängen- und Nichtnull-
Werte. In Abhängigkeit von den vom ROM 324 an die Leitung
332 angelegten Code repräsentiert ein Bit im Register 336,
ob oder ob nicht ein Lauflängen- oder ein Nichtnull-Wert
festgestellt worden ist, und dieses Bit wird auf der Lei
tung 346 bereitgestellt. Dieses Bit auf der Leitung 346
bestimmt, ob der Zähler 345 die codierte
Lauflängeninformation von der Leitung 336 erhalten soll oder nicht. Falls
nicht, legt der Schalter 338 den verriegelten Code vom
Register 336 direkt an den Speicher 340 an. Das
Zählendesignal (EOC) auf der Leitung 352 ist eine binäre Eins, wenn
der Zähler 340 zählt, und er weist einen Nullwert auf, wenn
der Zähler nicht zählt. Wenn der Zähler nicht zählt,
bedeutet dies, daß ein Nichtnull-Wert im Register 336 vorliegt
und das Signal auf der Leitung 352 veranlaßt das Register
336, seinen Inhalt über den Schalter 338 in den ROM 340
auszugeben.
-
In den Ansprüchen sollen die Begriffe "Wert" und
"Zustand" verschiedene Bedingungen oder Zustände des
Signals repräsentieren. Beispielsweise können "Wert" oder
"Zustand" Null- oder Nichtnull-Werte darstellen, oder
Lauflängengrößen oder beispielsweise unterschiedliche
Nulloder Nichtnull-Lauflängen oder andre durch ein gegebenes
Signal manifestierte Zustände.