DE2425776A1 - Sequentiell lernender praediktor fuer ein bildverdichtungssystem - Google Patents
Sequentiell lernender praediktor fuer ein bildverdichtungssystemInfo
- Publication number
- DE2425776A1 DE2425776A1 DE19742425776 DE2425776A DE2425776A1 DE 2425776 A1 DE2425776 A1 DE 2425776A1 DE 19742425776 DE19742425776 DE 19742425776 DE 2425776 A DE2425776 A DE 2425776A DE 2425776 A1 DE2425776 A1 DE 2425776A1
- Authority
- DE
- Germany
- Prior art keywords
- tree
- prediction
- block
- test
- predictor
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
- H04N1/411—Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
- H04N1/413—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
- H04N1/417—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information using predictive or differential encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
Aktenzeichen der Anmelderin: YO 971 060
Die Erfindung betrifft die Datenverdichtung und insbesondere ein System zur Verdichtung segmentierter binärer Information, die
einen gewissen Redundanzgrad aufweist, wie z.B. digitalisierte Belegdaten.
Mit der wachsenden Anwendung von Kommunikationssystemen wurde die Begrenzung der Bandbreite oder der zur übertragung eines Datensatzes
erforderlichen Zeit immer wichtiger. Verschiedene Techniken wurden bisher zur Reduzierung der Zeit entwickelt, die zur
übertragung einer festen Nachricht binärer Bits benötigt wird.
Im Bereich der Faksimilekopierer ist es allgemein bekannt, digitalisierte
Belegdaten vor der übertragung zu komprimieren oder zu
verdichten. Ein mögliches Verfahren zur Datenverdichtung ist die vorhersagende Codierung. Eine ausgezeichnete Beschreibung dieser
Technik findet sich in "Entropy of Printed Matter" von R.B. Arps, Report 31, Stanford Electronics Laboratory, 19 69. Bei der vorhersagenden
Codiertechnik, wie sie in dem erwähnten Artikel von Arps beschrieben wird, wird der Wert eines Informationsbits aus
den Werten der Informationsbits an den vorherzusagenden Punkt umgebenden Bildpunkten vorhergesagt. Dann wird der Vorhersagewert mit dem tatsächlichen Wert des Informationsbits modulo 2
- addiert. Die Addition resultiert in einem Fehlermuster, das sehr wenige binäre Einsen enthält aufgrund der Tatsache, daß
die Belegdaten zu einem hohen Redundanzgrad neigen und die Mehr-
40 9881/0840
zahl der Vorhersagen richtig ist. Das Fehlermuster kann dann durch konventionelle Lauflängencodierung verdichtet werden.
Eine der Haupteinschränkungen der Vorhersagecodierung ist die praktische Überlegung, daß die Anzahl von bei der Festlegung
eines bestimmten Vorhersagewertes berücksichtigten Bildpunkten begrenzt sein muß. Aus der Offenlegungsschrift 2 340 230 ist
z.B. zu ersehen, daß bei einer steigenden Anzahl der vom Prädiktor berücksichtigten Punkte die Verarbeitungszeit und/ oder
die Bauteilkosten für den Prädiktor hinderlich werden. Während
man spezielle Logikschaltungen bauen kann zur Berücksichtigung aller Möglichkeiten in einem Entscheidungsbaum für eine feste Anzahl
von Punkten um den Vorhersagepunkt herum, so ist eine solche
Anlage insofern recht teuer, als sie eine große Anzahl von Schaltgliedern erfordert. Die Anzahl von logischen Schaltelementen
ist exponentiell proportional der Anzahl von bei der Bildung der Vorhersage berücksichtigen Punkten.
Der Erfindung liegt die Aufgabe zugrunde, ein System zur Verdichtung
eines Satzes digitaler Daten, die von einem Beleg stammen, anzugeben, bei dem die Vorhersage eines unbekannten Bildpunktes
basiert auf der Berücksichtigung der zweckdienlichsten umgebenden Bildpunkte.
Diese Aufgabe wird gelöst durch ein System der vorher genannten Art, das gekennzeichnet ist durch
a) einen Speicher zur Darstellung des Satzes digitaler Daten als binäres Muster, in dem jedes Informationsbit das Vorhandensein
einer Schwarz- oder Weißbedingung an jedem Bildpunkt des Beleges darstellt,
b) einen sequentiellen Prädiktor zum Empfangen der Informationsbits und zur Vorhersage des Binärwertes jedes Bildpunktes entsprechend
den Binärwerten einer Reihe bedeutsamer Bildpunkte, welche zu jedem Bildpunkt des Beleges in Beziehung stehen, bestimmt
werden durch Prüfen eines Satzes empirisch gewonnener Da-
971 060 A09881/0840
ten und angeordnet werden in einem Format, das einem sequentiellen
Entscheidungsbaum entspricht,
c) einen Modulo 2-Addierer zur Addition des vorhergesagten Binärwertes jedes Bildpunktes und dessen tatsächlichem Binärwert und
zur Bildung einer Summe, die den Strom binärer Ausgangsdaten bildet und
d) eine Codiervorrichtung, die die Ausgangssumme codiert zur Bildung
eines komprimierten Datenstromes.
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird anschließend näher beschrieben. Es zeigen:
Fig. 1 in einem Blockschaltbild ein vorhersagendes Co
diersystem, welches eine sequentielle Prädiktorbaumstruktur
benutzt
Fig. 2 ein konventionelles 3-Punkt-Prädiktorschema,
Fig. 3 ein Prädiktorschema mit 24 möglichen Prüfpunk-
. ten,
Fig. 4 symbolisch eine sequentielle Baumstruktur,
Fig. 5 symbolisch einen Standardprädiktor als Baum
struktur,
Fig. 6 symbolisch eine sequentielle Baumstruktur, in der
die Prüfpunkte eliminiert wurden, die die Vorhersagefehlerrate
nicht wesentlich beeinflussen,
Fign. 7A und 7B in Ablaufdiagrammen ein Verfahren zur Erzeugung
einer sequentiellen Vorhersagebaumstruktur,
Fign. 8A, 8B, 8C
8D in einzelnen Ablaufdiagrammen das in den Figuren
7A und 7B im großen gezeigte Verfahren 971 060 Λ09881/08Λ0
und
Fig. 9 ein detailliertes Ablaufdiagramm eines Verfahrens
zur Bildung eines Vorhersagemusters für einen Satz von einen digitalisierten Beleg darstellenden
Bildpunkten.
Fig. 1 zeigt ein Kommunikationssystem, welches mit der vorhersagenden
Codierungredundanz ausscheidet. Die Prinzipien eines solchen Systems sind beschrieben in der Offenlegungsschrift
2 340 230.
Um das Verständnis des Codes zu erleichtern, ist die nachfolgende
Beschreibung begrenzt auf die übertragung von Daten, die man
durch Digitalisierung eines zweidimensionalen Beleges erhalten hat. Der Beleg wird dargestellt durch eine zweidimensional Anordnung
IDATEN (I,J) mit den Indizes I,J so, daß 1<
I « NZEILE 1 < J _< NSPALTE ist, worin NZEILE und NSPALTE die Grenzen des Beleges
darstellen. Jeder Punkt IDATEN (I,J) kann die beiden Werte "0" (zur Darstellung von weiß) und "1" (zur Darstellung von
schwarz) annehmen. Es wird erwartet, daß der Wert des Punktes IDATEN (I,J) in enger Beziehung zu den Werten der benachbarten
Punkte steht. Demzufolge besteht die Funktion des Prädiktors in der Untersuchung einiger Punkte in der Nachbarschaft von IDATEN
(I,J) und der Vorhersage des Wertes von IDATEN (I,J). Wenn z.B.
der 3-Punkt-Prädiktor aus Fig. 2 verwendet wird, werden die Punkte IDATEN (I,J-i), IDATEN (I-l, J-I) und IDATEN (1-1, J), sogenannte
Prüfpunkte, die in Fig. 1 willkürlich mit 1, 2, 3 numeriert sind) untersucht, um einen Wert IVORH (I,J) vorherzusagen. Ein
Fehlermuster IDATEN (I,J) + IVORH (I,J) wird dann entwickelt und
das Fehlermuster codiert.
Bei einem vorhersagenden Fehlercodierer resultiert die höhere
Wahrscheinlichkeit der richtigen Voraussage in einer niedrigeren
XO 971 060 4 0 9 8 81 /0840
Wahrscheinlichkeit eines Voraussagefehlers, was zu einem höheren
Verdichtungsverhältnis führt. Je größer daher die Anzahl der Prüfpunkte ist, die ein Prädlktor untersucht, um so niedriger
ist die Wahrscheinlichkeit des Vorhersagefehlers. Die Komplexität
des Prädiktors wächst jedoch exponentiell mit der Anzahl von untersuchten Punkten. Für η Prüfpunkte ist die Komplexität des
Prädiktors 2n. Die Komplexität der Vorhersageschaltung ist proportional
2n und wenn die Vorhersage mittels eines Programms erfolgt/
ist der zum Speichern der Vorhersageregel benötigte Speicherplatz etwa 2n.
Anschließend wird eine Vorhersagestrategie betrachtet, die sich von der im Standard 3-Punkt-Prädiktor verwendeten unterscheidet.
Wie oben wird für jeden Belegpunkt IDATEN (I,J) ein Satz von benachbarten
Prüfpunkten vorgeschrieben, aus denen die Vorhersage
abgeleitet wird. In Fig. 3 ist ein Prädiktor mit 24 möglichen Prüfpunkten gezeigt. Ein Standardprädiktor, der alle diese Prüfpunkte
benutzt, wäre unpraktisch, da die Komplexität iii der Grö-
2 4
ßenordnung von 2 läge.
ßenordnung von 2 läge.
Die hier verwendete Vorhersagestrategie läßt sich am besten an einer Baumstruktur erklären, für die ein Beispiel in Fig. 4 gegeben
ist. Jeder kreisförmige Knotenpunkt bezeichnet den zu untersuchenden
Prüfpunkt. Die beiden den Knotenpunkt verlassenden Zweige entsprechen der Ausgabe der Prüfung (0 oder 1). Ein rechteckiger Knotenpunkt bezeichnet eine Entscheidung zur Beendigung
der Prüfung unter Vorhersage einer "0" oder einer "1".
Zur Illustration der Vorhersagestrategie dient folgendes Beispiel.
In Fig. 4 wird der Prüfpunkt 3 zuerst untersucht. Der nächste zu
prüfende Punkt hängt von der Ausgabe des Prüfpunktes 3 ab. Ist die Ausgabe eine "0", wird der O-Zweig gewählt und der nächste
zu untersuchende Prüfpunkt ist der Punkt 1. Wenn andererseits die Ausgabe eine "1" ist, wird der 1-Zweig gewählt und der nächste zu
untersuchende Prüfpunkt ist der Punkt 2. Nimmt man als Ausgabe der untersuchung des Prüfpunktes 3 eine Null an und daß der Punkt
γσ 9 71 060 409 881/08A0
1 eine "1" enthält, dann ist der nächste zu untersuchende Punkt der Prüfpunkt 13. Wenn der Prüfpunkt 13 eine "O" ist, lautet die
Vorhersage "0". Wenn der Prüfpunkt 13 jedoch eine "1" ist, lautet die Vorhersage 1.
Der obige Prozeß wird für den nächsten Belegdatenpunkt wiederholt und für jeden vorherzusagenden.Punkt wird eine Bahn durch den
Vorhersagebaum gezogen. Im betrachteten Beispiel werden genau drei Punkte geprüft, bevor eine Vorhersage erfolgt. Bei einer
Vorhersage kann man jedoch die Prüfunkte 3, 1 und 17 und bei einer anderen Vorhersage die Prüf punkte 3, 2 und 5 untersuchen. Im Gegensatz
zu dem Standard 3-Punkt-Prädiktor ändern sich die Punkte, auf denen die Vorhersage basiert, von einem Datenpunkt zum
anderen. Das gestattet, durch die Untersuchung der wichtigen Prüfpunkte (die sich ändern können) die letzte Vorhersageentscheidung
zu erreichen.
Die Komplexität des Prädiktors wird offensichtlich bestimmt durch die Anzahl von untersuchten Punkten bei der Erreichung einer Vorhersage. Diese Anzahl ist sowohl bei dem 3-Punkt-Standard-Prädiktor
als auch bei dem in Fig. 4 gezeigten sequentiellen Prädiktor 3. Beide Prädiktoren haben ungefähr dieselbe Komplexität. Der sequentielle
Prädiktor liefert jedoch eine bessere Leistung, da er seine Vorhersage auf den drei wichtigsten Prüfpunkten basieren
kann, wogegen der feste Prädiktor immer dieselben drei Prüfpunkte untersucht.
Aus pädagogischen Gründen kann der Festpunktprädiktor als eine
Baumentscheidungsstrategie betrachtet werden, wie sie in Fig. 5 gezeigt ist. Ein Vergleich.der Figuren 4 und 5 zeigt deutlich
den Unterschied zwischen dem sequentiellen Prädiktor und dem Standardprädiktor. Im sequentiellen Prädiktor hängt der nächste
Prüfpunkt jeweils von dem Ergebnis der vorhergehenden Prüfung,
ab, wodurch die Auswahl der wichtigsten Punkte bei der Entscheidung ermöglicht wird.
In dem hier betrachteten Beispiel wird eine feste Anzahl von YO 971 060 409881/08 40
Punkten (3) untersucht, bevor eine Vorhersage getroffen wird. Im
allgemeinen ist es jedoch angemessener, eine Strategie zu betrachten,
in der eine unterschiedliche Anzahl von Punkten untersucht wird, um eine Vorhersage zu treffen. Fig. 6 stellt ein
Beispiel einer solchen Strategie dar, die aus dem in Fig. 4 gezeigten Beispiel dadurch abgeleitet ist, daß die Prüfungen 17,
5 und 1 auf der Stufe 3 entfallen. Die Prüfung 17 auf der Stufe 3 ist kein wesentlicher Knotenpunkt, da sie die Endvorhersage
nicht beeinflußt, d.h. die Vorhersage der "0", wenn der Prüfpunkt 17 eine "0" enthält oder eine "1". Dieser Knotenpunkt kann weggelassen
werden, ohne daß die Wahrscheinlichkeit eines Vorhersagefehlers dadurch vergrößert wird. Die Prüfung 5 auf der Stufe
3 ist ebenfalls kein wesentlicher Punkt. Der Wegfall der Prüfung 1 auf der Stufe 3 erhöht die Wahrscheinlichkeit eines Vorhersagefehlers,
der Knotenpunkt kann aber weggelassen werden, wenn die Kosten bei einer erhöhten Fehlerwahrscheinlichkeit geringer
sind als die Verarbeitungskosten für die Durchführung der Prüfung.
Eine binäre Baumstruktur, wie sie z.B. durch den beschriebenen
sequentiellen Prädiktor benutzt wird, kann ganz einfach in einer
linearen Anordnung gespeichert werden. Ein Baum mit N-Stufen ent-
.N-I
hält 2 -Knotenpunkte und kann in einer linearen Anordnung der
hält 2 -Knotenpunkte und kann in einer linearen Anordnung der
N—1
Größe 2 nach einem sehr einfachen und allgemein bekannten Adressierschema gespeichert werden. Die Adresse des einzigen Knotenpunktes auf der Stufe 1 ist 1. Wenn S dann die Adresse eines Knotenpunktes im Baume ist, haben die hinter diesen beiden Knotenpunkten folgenden zwei Knotenpunkte die Adressen 2S und 2S+1. Die Knotenpunkte auf der Stufe K haben die konsekutiven Adressen 2K-1, 2K~1+1,...2K-1.
Größe 2 nach einem sehr einfachen und allgemein bekannten Adressierschema gespeichert werden. Die Adresse des einzigen Knotenpunktes auf der Stufe 1 ist 1. Wenn S dann die Adresse eines Knotenpunktes im Baume ist, haben die hinter diesen beiden Knotenpunkten folgenden zwei Knotenpunkte die Adressen 2S und 2S+1. Die Knotenpunkte auf der Stufe K haben die konsekutiven Adressen 2K-1, 2K~1+1,...2K-1.
Während der folgenden Beschreibung wird diese Baumadreßtechnik
implicit benutzt.
Jeder Knotenpunkt kann einen der folgenden Inhalte haben: YO 971 060 409881/0840
I. Eine Zahl zwischen NTEST (diese gibt den nächsten zu untersuchenden Prüfpunkt an);
II. O (diese bezeichnet eine Vorhersage von 0); III.-1 (diese zeigt eine Vorhersage von 1 an).
Daher hat ein Prädiktorbaum KSTOP Stufen die Prüfpunkte enthalten
und eine (KSTOP+i)-Pseudostufe zu der Anzeige der Vorhersage, worin KSTOP die Höchstzahl von zu untersuchenden Punkten
ist, bevor eine Vorhersage getroffen wird.
Die sequentielle Baumstruktur wird für eine Vorhersage während einer Lernphase konstruiert, die eine Probe der zu übertragenden
Daten benutzt. Der für den Aufbau des Baumes verwendete Algorithmus ist ein schrittweiser Optimalalgorithmus, in
dem die bestmögliche Prüfung für j^den Knotenpunkt im Baume
nach vorgeschriebenen Leistungskriterien ausgewählt wird. Der Algorithmus besteht aus zwei Stufen. In der Stufe 1 wird ein
Vorhersagebaum festgelegter Tiefe erzeugt und in der Stufe der erhaltene Baum verkürzt durch Weglassen im Grenzbereich
der Wirksamkeit liegender Knotenpunkte.
Um den Baum aufbauen zu können, muß der Benutzer eine Probe der
zu verarbeitenden Daten liefern (bezeichnet als IDATEN (I,J), 1I1I NZEILE, 1 £ J £ NSPALTE und die folgenden Punkte angeben;
I Die Gesamtzahl der vom Prädiktor zu benutzenden Prüf punkte (NTEST),
II die relative Lage der Prüfpunkte (ID(ITEST), JD (ITEST), ITEST = 1, NTEST);
III die Höchstzahl von nutzbaren Prüfungen vor einer Vorhersage (KSTOP);
IV die Stufe, über der das Leistungskriterium von YO 971 060 40988 1 /08A0
"Entropie" auf "Fehler" geschaltet wird (KSCHALT);
V eine von den Verarbeitungskosten und der Fehlerwahrscheinlichkeit
(C) abhängige Kostenfunktion.
Der hier benutzte Algorithmus erzeugt zu einem Zeitpunkt eine Baumstufe. Nimmt man an, daß K Stufen erzeugt worden sind, so
durchläuft während der Erzeugung der Stufe (K+l) jeder Datenpunkt IDATEN (I,J) eine Bahn durch den teilweise entwickelten
Baum. Die Anordnung IFLAG (I,J) speichert die Adresse des letzten
von jedem Datenpunkt angetroffenen Knotenpunktes. Wenn S irgendein Knotenpunkt der Stufe K+l ist, wird jede Prüfung 1,2....
NTEST für den Knotenpunkt S durchgeführt, wobei die beste Leistung ausgewählt wird.
Die Kriterien zur Leistungsmessung sind folgendermaßen definiert:
η = Gesamtzahl von den Knotenpunkt S erreichenden Datenpunkten.
Für jede Prüfung ITEST
η . «Gesamtzahl der den Knotenpunkt S erreichenden Datenpunkte,
für die der Prüfρunkt I DATEN (I" + ID(TEST), J + JD(ITEST) = a
und der Datenpunkt I DATEN (I,J) = b, wobei
a = 0,1 und b = 0, 1
a = 0,1 und b = 0, 1
p _ noo θ . noi
1OO nOl * l n00 n01
η10
Ρ10 - η10 +
Ρ10 - η10 +
Das "Entropie"-Kriterium ist dann definiert als
E1 = -po{poolog Poo + Pol10* P0I}
YO 971 060 40 9-8 81/0840
-P1(P10IOg p10 + Pn 11
Das nFehler"-Kriterlum ist definiert als
E2 = η (min(n00, nQ1) + min (n1Q, ηχχ)
Aus Erfahrungsdaten wird bestimmt, daß bei der Entscheidung über
die beste Prüfung für die ersten Stufen des Baumes am besten das "Entropie"-Kriterium gewählt und dann auf das "Fehler"-Kriterium
umgeschaltet wird. Daher wird an jedem Knotenpunkt des Baumes die Prüfung, die die beste Leistung ergibt, festgehalten. Im letzten
Schritt der Stufe 1 werden die zu jedem Knotenpunkt gehörenden Vorhersagen in der letzten Pseudostufe des Baumes gespeichert.
Eine Vorhersage von "O" wird gespeichert, wenn η 0 >^
η . ist, sonst wird eine Vorhersage "1" gespeichert.
Xn der Stufe zwei wird der Baum mit gleichmäßiger Tiefe KSTOP,
der in der Stufe 1 erzeugt wurde, in einem rückwärts beginnenden Verfahren gestützt. Ein Optimierungskriterium ist eingeschlossen,
um einen Baum mit einfacher veränderlicher Tiefe zu niedrigeren Kosten zu erhalten. Die Berechnungen erfolgen stufenweise
von rückwärts, beginnend mit der Stufe KSTOP. Für jeden Knotenpunkt wird die Zunahme der Fehlerwahrscheinlichkeit für den Fall
errechnet, daß der Knotenpunkt entfernt wird. Wenn die Zunahme
<_ C ist, (die vom Benutzer vorgeschriebene Kostenfunktion) wird
der Knotenpunkt entfernt, sonst wird er beibehalten.
In Fig. 1 ist in Form eines Blockdiagraitmes ein Faksimilesystem
gezeigt, welches einen sequentiellen Prädiktor benutzt. Die Originaldaten
10 werden in einen Speicher 12 geladen, der konventioneller Konstruktion und in der Lage sein kann, das einen Beleg
darstellende Muster von Einsen und Nullen festzuhalten. Das Muster wird durch die Originaldaten 10 zur Verfügung gestellt. Die
binären Daten im Speicher 12 werden an den sequentiellen Prädiktor 14 geleitet, der den binären Wert eines jeden Punktes im digitalisierten
Beleg vorhersagt. Der vorhergesagte binäre Wert
YO 971 060 4 0 9 8 81 /0840
eines jeden Punktes wird dann mit dem tatsächlichen binären Wert des betreffenden Punktes durch ein Antivalenzglied 16 verglichen,
um ein binäres Fehlermuster zu entwickeln, welches aus langen Reihen von Nullen und eingestreuten Einsen besteht. Dieses Muster
wird dann durch den codierer 18 codiert, der z.B. ein konventioneller
Lauflängencodierer ist. Die resultierende Ausgabe des Codierers
18 ist ein verdichteter.Datenstrom, der dann durch einen
entsprechenden Kanal 20 an ein Empfangsgerät übertragen wird, welches die Originaldaten nach einer identischen Vorhersageregel
decodieren und rekonstruieren kann, wie sie vom Prädiktor 14 benutzt wurde. Wenn die komprimierten Daten an der Empfangsstation
empfangen werden, rekonstruiert der Decodierer 20 das Vorhersagefehlermuster,
welches durch den Codierer 18 codiert wurde. Dieses decodierte Fehlervorhersagemuster wird mit der Ausgabe des
seguentioneIlen Prädiktors 24 durch ein Antivalenzglied 21 kombiniert.
Die Ausgabe dieses Antivalenzgliedes 21 wird dann in
den Speicher 22 geladen, der den Prädiktor 24 speist. Der Prädiktor
24 arbeitet nach einer Vorhersageregel, die mit der vom
Prädiktor 14 benutzten identisch ist. Durch Verwendung derselben Vorhersageregel kann der Prädiktor 24 die Originaldaten rekonstruieren
und sie dem Speicher 22 und/oder einer Druck- oder Anzeigeeinrichtung
26 zur Verfügung stellen.
In den Figuren 7A und 7B ist in einem Ab lauf diagramm ein Verfahren
dargestellt, das durch einen programmierten Vielzweckrechner zur Erzeugung eines Vorhersageentscheidungsbaumes ausgeführt
werden kann, um den binären Zustand eines Bit in einem Nachrichtenstrom mit einem bestimmten Redundanzgrad vorhersagen zu können.
Der Vorhersageentscheidungsbaum kann z.B. dazu benutzt werden, Bildpunkte in einem digitalisierten Beleg vorherzusagen.
Diese vorhergesagten Werte können mit den tatsächlichen Bildpunktwerten
summiert werden, um ein Fehlermuster mit wenigen binären Einsen zu entwickeln. Diese Art Fehlermuster eignet sich gut zur
Verdichtung in bekannter Technik wie z.B. der Lauflängencodie-
yo 971 060 409 881 /0840
Das Verfahren beginnt im Block 110, wo das in einer Zentraleinheit
arbeitende Programm vom Benutzer vorgeschriebene Parameter und Daten einliest. Die Parameter bestehen aus einem geordneten Satz
möglicher Bildprüfρunkte, der bei der Vorhersage eines unbekannten
Bildpunktes benutzt werden kann und den relativen Positionen der möglichen Bildprüfpunkte in bezug auf den vorherzusagenden
Punkt; einer Anzahl von Stufen, die der Entscheidungsbaum haben kann; einer Anzahl von Spalten und Zeilen von Bildpunkten, die
das digitalisierte Bild bilden. Die eingelesenen Daten bestehen aus einem Probe-Beleg, der die gemäß einem vollständigen
Entscheidungsbaum zu codierende Belegart darstellt. Aus diesem Probebeleg entwickelt das Verfahren einen nicht erschöpfenden Entscheidungsbaum.
Nachdem alle notwendigen Daten und Parameter eingelesen sind, setzt der Prozeß den Baumstufenindex im Block 112 auf "1". Dieser
Baumstufenindex zeigt auf die gerade berechnete Stufe des Baumes. Dann läuft der Prozeß weiter und setzt den Vorhersagepunktindex
im Block 114 auf "1". Dieser Index zeigt auf denjenigen Bildpunkt des geordneten Satzes von Bildpunkten, der möglicherweise
eine Vorhersageprüfung für den unbekannten Bildpunkt bilden könnte. Es wird angenommen, daß die Punkte in dem Satz
geordnet sind, das Ordnen dieser Punkte kann jedoch automatisch erfolgen und braucht nicht vom Benutzer vorgeschrieben zu werden.
Wenn einmal ein bestimmter Vorhersageprüfpunkt nach dem Vorhersageprüfpunktindex
gewählt ist, läuft der Prozeß weiter und wendet die laufende Vorhersageprüfung auf alle Bildpunkte in den
Prüfdaten an. Die Prüfergebnisse werden im Block 116 im Prozessorspeicher
zur weiteren Untersuchung gespeichert. Nachdem die Vorhersageprüfung auf alle Punkte angewandt wurde, geht das Verfahren
zum Block 118 weiter und setzt den Verzweigungsindex an
der laufenden Baumstufe auf "1". Der Verzweigungsindex bezeichnet
denjenigen Verzweigungspunkt auf der laufenden Baumstufe, der untersucht wird. Das Verfahren läuft dann im Block 120 weiter
und errechnet die Leistung der laufenden Vorhersageprüfung für
YO 971 060 409881 /08A0
den durch den Verzweigungsindex bezeichneten Verzweigungspunkt
und speichert die Ergebnisse der Berechnung im ZE-Speicher. Wenn
jetzt die Leistung der laufenden Vorhersage zur Untersuchung zur Verfügung steht, werden im Block 122 die laufenden Prüfergebnisse
und die besten vorhergehenden Vorhersageprüfergebnisse verglichen,
um die besseren Ergebnisse zu ermitteln. Wenn die laufende Prüfung kein besseres- Ergebnis bringt, wird der Nein-Zweig
zum Entscheidungsblock 126 gewählt, um festzustellen, ob alle Verzweigungspunkte untersucht wurden. Wenn jedoch die laufende
.. Prüfung ein besseres Ergebnis zeigt als die beste vorhergehende Prüfung, dann wird die laufende Vorhersageprüfung an die Stelle
der besten früheren Vorhersageprüfung gesetzt und die zur laufenden
Prüfung gehörenden Vorhersageentscheidung werden in einem Entscheidungsbaum innerhalb des ZE-Speichers gespeichert. Diese
Substitution erfolgt im Block 124.
Nachdem nun die Untersuchung der laufenden Vorhersageprüfung abgeschlossen
ist, stellt das Verfahren als nächstes im Entscheidungsblock
126 fest, ob alle Verzweigungspunkte untersucht wurden.
Wenn das nicht der Fall ist, wird der Nein-Entscheidungszweig gewählt,
der Verzweigungsindex um eins erhöht und dann kehrt das
Verfahren in einer Schleife zurück zum Schritt 120. Wenn jedoch
alle Verzweigungspunkte untersucht wurden, folgt der Prozeß dem Ja-Zweig des Blockes 126 zum Block 128, wo festgestellt wird, ob alle
Vorhersageprüf punkte benutzt wurden. Für diese Bestimmung untersucht
man den Vorhersagepruf ρunktindex darauf, ob er seinen
höchsten Wert erreicht hat. Wenn nicht alle Vorhersageprüfpunkte
benutzt wurden, wird der Nein-Zweig des Blockes 128 gewählt, der Vorhersagepunktindex um eins erhöht und dann verzweigt das Verfahren
zurück zum Block 116. Wenn jedoch alle Punkte geprüft wurden, läuft das Verfahren weiter zum Entscheidungsblock 130 und stellt
fest, ob die höchste Baumstufe erreicht wurde, d.h. das vom Be-, nutzer vorgeschriebene Maximum. Nimmt man an, daß diese höchste
Stufe noch nicht erreicht wurde, so verzweigt das Programm durch den Nein-Zweig des Entscheidungsblockes 130 und erhöht den Baumstufenindex um eins und kehrt zum Block 114 zurück. Wenn jedoch
Γιο 971 060 40988170840
der höchste Baumstufenindex erreicht wurde, was durch Untersuchung
des Baumstufenindex und Vergleich mit der vom Benutzer vorgeschriebenen höchsten Baumstufe festgestellt werden kann, dann
läuft der Prozeß weiter in einem Verfahren zum "Stutzen" des Entscheidungsbaumes. Der erste Schritt erfolgt im Block 132, wo
Verzweigungsstellen im Baum dadurch entfernt werden, daß man von der höchsten Baumstufe zur Wurzel vorschreitet. Die Elimination
erfolgt auf der Basis einer Kostenfunktion, die unwesentliche Verzweigungen und Verzweigungen mit geringem Einfluß auf die
Wahrscheinlichkeit einer falschen Vorhersage bezeichnet. Unwesentliche Verzweigungen sind Verzweigungen, die keinen Einfluß
auf die endgültige Entscheidung für eine bestimmte Vorhersage haben. Nach jeder Elimination im Block 132 wird mit einer Prüfung
im Block 134 festgestellt, ob die laufende Baumstufe zur Wurzel des Baumes zeigt, indem man den laufenden Baumstufenindex mit
2 vergleicht. Wenn die Prüfung einen Vergleich gleicher Größen ergibt, stoppt das Verfahren und wählt den Ja-Zweig des Entscheidungsblocks
134. Sonst wird die Elimination im Block 132 fortgesetzt, nachdem der Baumstufenindex im Block 136 um 1 erniedrigt
wurde.
In den Figuren 8A, 8B, 8C und 8D ist eine detaillierte Darstellung
eines Verfahrens zur Entwicklung des sequentiellen Entscheidungsbaumes, das durch den sequentiellen Prädiktor zur
Entwicklung eines Fehlermusters benutzt wird, in Form eines Ablauf diagrammes gezeigt. Die Notierung in den Blocks des Ablaufdiagrammes
basiert auf der Programmsprache FORTRAN, die genauer beschrieben ist von Frederic Stuart in FORTRAN Programming, New
York Wiley, 1969; und Daniel D. McCracken, FORTRAN with Engineering Application, New Yor Wiley, 1967.
Bevor die einzelnen Schritte des Verfahrens beschrieben werden, muß der Satz von m-dimensionalen Gruppen definiert werden, der
benutzt wird, wobei η gleich 1, 2, 3 ist. Jede Gruppe ist durch ihren Namen identifiziert und die Bezeichnung in den Klammern hin:
ter dem Gruppennamen gibt Anfangs- und Endindex der Gruppe an.
YO 971 060 409881/08 4 0
ID(I; NTEST) - Diese Gruppe enthält eine Liste der auf
den vorhergesagten Bildpunkt bezogenen Zeilenindizes.
JD(I: NTEST) - Diese Gruppe enthält eine Liste der auf
den vorhergesagten Bildpunkt bezogenen Spaltenindizes.
IDATCN(I: NZEILE, 1: NSPALTE) - Diese Gruppe enthält die
digitalisierten Belegdaten, auf denen der
sequentielle Vorhersagebaum basiert.
IFLAG(I: NZEILE, 1: NSPALTE) - Diese Gruppe enthält einen
Satz von Werten, die den Zustand des sequentiellen Baumes zu einem bestimmten Punkt in
der Entwicklung des Baumes angeben.
IZAHL(O: Nl-I, 0: 1, 0: 1) - Diese Gruppe enthält einen
Satz von Werten, mit denen die Entropie- und Fehlermessungen auf jeder Stufe innerhalb
des sequentiellen Baumes berechnet werden.
IC(1:6) -Diese Gruppe enthält ein Verzeichnis der IZÄHL-Gruppe in vereinfachter Form
PERF(O: N2-1) - Diese Gruppe enthält einen Satz von besten Messungen auf jeder Stufe des sequentiellen
Baumes.
IBAUM(I: N3-1) - Diese Gruppe enthält die Struktur des sequentiellen
Baumes, der im Prädiktor benutzt wird.
NER(O:1, l:Wl-l) - Diese Gruppe enthält den zu jedem Zweig
im sequentiellen Baum gehörenden Entscheidungswert.
V(1:N3-) - Diese Gruppe ist eine Arbeitsgruppe, die im Rechenprozeß des Programmes benutzt wird.
Nach dieser Definition der Gruppen beginnt das Programm im Block 200, wo mehrere vom Benutzer vorgeschriebene Informationen in
YO971O6° 409881/0840
Verbindung mit den Gruppen ID, JD und IDATEN eingelesen werden. Vom Benutzer werden folgende Daten vorgeschrieben:
NTEST gibt die Anzahl möglicher Prüfpunkte an, die für die Vorhersage eines Bildpunktes benutzt werden können. Die Menge
KSTOP ist die vom Benutzer vorgeschriebene oberste Stufe, die der Baum einnehmen kann. KSCHALT ist die vom Benutzer vorgeschriebene
Größe, die diejenige Stufe im Baum bezeichnet, an der die Leistungsmessung von "Entropie" auf "Fehler" umgeschaltet wird.
NZEILE und NSPALTE sind Zahlen, die die Zeilen und Spalten angeben, die in der IDATEN-Gruppe vorhanden sind. Auf Wunsch kann vom Benutzer
außerdem eine Kostenfunktion C vorgesehen werden, die von den Rechenkosten für eine jede Entscheidung im sequentiellen
Baum und eine Erhöhung der Fehlerwahrscheinlichkeit abhängt, wenn eine Entscheidung wegfällt. Mit dieser Kostenfunktion C in Verbindung
mit dem Wegfall unwesentlicher Verzweigungspunkte wird die Anzahl von Prüfungen reduziert, die der sequentielle Prädiktor
ausführen muß.
Nach dem Leseschritt im Block 200 wird die IFLAG-Gruppe im Block
202 dadurch initialisiert, daß alle Elemente auf "0" gesetzt werden. Dann werden die Variablen Nl, N2 und N3 nach den im Block
204 gezeigten Gleichungen berechnet. Auch der die Baumstufe angebende Wert K wird auf "1" gesetzt. Das Verfahren geht weiter zum
Block 206, wo die Variable M nach der im Block 206 gezeigten Gleichung errechnet wird. Dann ist die Variable M die niedrigste
Adresse auf der Stufe K des Baumes. Zusätzlich zur Errechnung von M wird im Block 206 noch ein Index ITEST auf "1" gesetzt.
Dann wird die ZÄHL-Gruppe durch Setzen auf null initialisiert
und die Indizes I und J werden im Block 208 auf eins gesetzt. Die Indizes I und J zeigen auf Elemente in IDATEN.
Die die Blocks 210 bis 226 umfassende iterative Routine berechnet die in der ZÄHL-Gruppe gespeicherten Werte. Die Berechnung
besteht aus einer Untersuchung eines Einserwertes oder Nullwertes für schwarz bzw. weiß in IDATEN (I,J) und IDATEN (II,JJ) und der
Fortschreibung des entsprechend in die ZfiHL-Gruppe gesetzten
YO 9 71 060 4 0 9 8 8 1 /08A0
Wertes. IDATEN (I,J) enthält den vorherzusagenden Bildpunkt und
IDATEN (II/JJ) enthält den Prüfpunkt. Im Block 214 wird mit einer
Prüfung festgestellt, ob der Prüfpunkt außerhalb der Kanten des
Beleges liegt. Wenn das der Fall ist, wird der Nein-Entscheidungszweig gewählt und L bleibt auf null gesetzt. Das heißt effektiv,
daß an diesem Prüfpunkt binäre Nulldaten stehen. Wenn die Prüfung im Entscheidungsblock 226 anzeigt, daß der Zeilenzeiger
I größer ist als die letzte Zeile in der IDATEN-Gruppe, heißt das, daß die IZÄHL-Gruppe vollständig ist und somit wird
der Ja-Entscheidungszweig gewählt. Die in der IZÄHL-Gruppe gespeicherten
Werte werden später im Programm zur Errechnung entweder des "Entropiemaßes11 oder des "Fehlermaßes" benutzt.
Wenn die IZÄHL-Gruppe jetzt fertig ist, läuft das Verfahren weiter
und errechnet die Leistung einer jeden ITEST-Prüfzahl auf
der Stufe K. Diese Berechnung erfolgt in dem die Blocks 228 bis 254 umfassenden Ünterprozeß. Im Block 228 wird die Veränderliche
IT auf null gesetzt. IT gibt die Verzweigungszahl auf einer bestimmten
Stufe der Baumstruktur an. Dann läuft der Prozeß zum Block 232 weiter, wo die Entropie- und Fehlermaße nach der dort
angegebenen Gleichung berechnet werden. Nach der Berechnung des Entropiemaßes El oder des Fehlermaßes E2 wird im Block 234 eine
Prüfung ausgeführt, deren Ergebnisse bestimmen, ob das Maß El oder
das Maß E2 zu verwenden ist. Wenn K größer als die durch KSCHALT bezeichnete Baumstufe ist, dann wird die Leistungsmessung E auf
die Fehlerleistung E2 gesetzt. Wenn K nicht größer als die durch KSCHALT angegebene Baumstufe ist, wird das durch den Block 232
bestimmte Leistungsmaß benutzt, welches E auf das Entropiemaß El
setzt.
Die gespeicherte PERF (I)-Gruppe enthält die frühere Leistungs·1-prüfung,
die bis zu diesem Zeitpunkt den niedrigsten Wert erreicht hat. Im Block 240 wird in einer Prüfung die gegenwärtige
Leistung E mit der in der Gruppe PERF (I) gespeicherten früheren Leistung verglichen. Die Prüfung mit dem niedrigsten Wert von E
ist die beste. Wenn die Leistung E daher eine niedrigere Punkt-
YO '971 060 4 0 9 88 1 / 0 8 k 0
zahl aufweist als die in der Gruppe PERF(I) enthaltene frühere
Leistung, wird die Gruppe auf den neuesten Stand gebracht, indem man PERF(I) gleichsetzt mit E und die entsprechenden Angaben
IBAUM, NER, NDEC entsprechend auf den neuesten Stand bringt. Die zu jedem Zweig des Baumes in den Elementen von NDEC gehörenden
Vorhersagewerte.werden ebenfalls gespeichert. Wenn jedoch die Leistung E keinen niedrigeren Wert aufweist als die vorhergehende beste Leistung, dann wird der Nein-Zweig des Blockes 240 gewählt und das Verfahren läuft weiter mit dem Block 252, der zu
dem nächsten Verzweigungspunkt im Baum fortschaltet, in dem die IB-Veränderliche um eins erhöht wird. Wenn die Prüfung im Block
254 ergibt, daß IB den Wert M erreicht hat und damit anzeigt, daß alle Verzweigungspunkte untersucht wurden, wird im Block
der Ja-Zweig gewählt, um mit dem nächsten Schritt von ITEST fortzufahren. Die obige Folge der Schritte 208 bis 256 wird für alle möglichen Pruf ρunkte wiederholt, d.h. die Schritte werden wiederholt, bis ITEST größer ist als NTST und damit anzeigt, daß alle möglichen Prüfpunkte berücksichtigt worden sind. Der Ja-Zweig
des Blockes 258 wird dann gewählt.
Die Beschreibung wird fortgesetzt mit dem Block 260, wo das Programm die komplette Baumstruktur entwickelt. Bei der Entwicklung
des Baumes muß die IFLAG (I,J) benutzt werden, die der Bezeichnung des in der letzten Stufe der Baumentwicklung für jeden Datenpunkt IDATEN (I,J) erreichten Verzweigungspunktes dient. Die
IFLAG-Gruppe wird mit den Indizes I, J, auf den neusten Stand gebracht, um den neuen IFLAG-Wert zu bestimmen, wird der alte
IFLAG-Wert mit zwei multipliziert und die Größe L zum Produkt addiert. Die Veränderliche. L zeigt an, ob die Verzweigung zum
"O"-Zweig oder zum "1"-Zweig für einen bestimmten Prüfpunkt erfolgt. Nach Berechnung des neuen IFLAG-Wertes im Block 274 läuft
das Verfahren weiter und wiederholt die Verfahrensschritte 260 bis 274 mit allen möglichen Werten von I und J. Im Block 286 wird
mit Prüfungen festgestellt, ob die höchste vom Benutzer vorgeschriebene Baumstufe K erreicht worden ist. Wenn das der Fall ist*
wird vom Block 286 aus der Ja-Zweig gewählt. Wenn die höchste Stu-
YO 971 060 A09881/0840
fe K noch nicht erreicht wurde, werden die vorhergehenden Schritte
wiederholt, bis der ganze Baum entwickelt ist.
Nimmt man an, daß der Baum vollständig entwickelt ist und der Ja-Zweig vom Block 2 86 gewählt wurde, so ist an diesem Punkt der
ganze Baum komplett und wird in der IBAUM-Gruppe gespeichert.
Wenn jetzt die ganze Baumstruktur vollständig entwickelt ist,
läuft der Prozeß weiter mit dem Schneiden des Baumes, um diejenigen Verzweigungspunkte zu eliminieren, die zur Fehlerwahrscheinlichkeit
der Vorhersage nicht wesentlich beitragen. Der IBAüM-Gruppe wird eine zusätzliche Stufe angehängt, die eigentlich
eine Pseudostufe ist und die letzte Entscheidung darstellt, die nach der letzten Verzweigung in der letzten Baumstaufe getroffen
wird, d.h. eine Reihe von Einsen und Nullen wird am Ende der IBAüM-Gruppe gespeichert, die die tatsächlichen Vorhersagen darstellen,
wobei mit 11^l" eine Vorhersage einer "1" dargestellt
wird. Im Block 288 wird die Veränderliche IBAD, die die erste
Adresse in der Pseudostufe in der IBAUM-Gruppe darstellt, gleichgestellt
mitNl, welches die erste Adresse der Pseudostufe ist.
Im Block 290 wird dann die nächste Adresse hinter IBAD, die durch IBADl dargestellt ist, gleichgesetzt mit IBAD + l. Die vorherige
Verzweigung, die mit dem jeweiligen IBAD-Element verbunden
ist, wird errechnet durch Division des IBAD durch zwei.
Nach dieser vorläufigen Verarbeitung werden die ITAD-Entscheidungen
am Ende der IBAUM-Anordnung gespeichert und eine zu jeder Entscheidung gehörende Kostenfunktion wird in einem Arbeitsbereich
gespeichert, der mit V bezeichnet ist. Diese Vorgänge laufen im Block 292 ab. Der Speicherprozeß wird fortgesetzt, bis
alle Vorhersagewerte und Kosten durch Ausführung der Schritte
294 und 296 gespeichert sind, die so lange ausgeführt werden, bis der IBAD-Wert gleich der letzten Adresse der mit N3 bezeichneten
Pseudogruppe ist.
Beginnt man mit der letzten Stufe K des Baumes, so wird eine Be-YO
971 060 40988 1/08A0
rechnung angefangen, um festzustellen, welche Verzweigungspunkte im Baum wenig zur Wahrscheinlichkeit einer Fehlervorhersage beitragen,
jedoch zu ihrer Vervollständigung einen wesentlichen Teil an Bearbeitungszeit benötigen. Hierzu werden zwei Kostenfunktionen
mit den Bezeichnungen Vl und V2 berechnet. Die Kostenfunktion Vl stellt die Kosten dar, die zum Belassen eines bestimmten Verzweigungspunktes
in der Baumstruktur gehören, wobei die Kosten sich aus Überlegungen bezüglich der Verarbeitungszeit zusammensetzen.
Die Kostenfunktion V2 stellt die Kosten dar, die zum Ausschalten dieses speziellen Ver zweigungs elenventes gehören. Die
Kosten sind das Ergebnis der Erhöhung der Fehlerwahrscheinlichkeit,
wenn dieses Element entfernt wird. Die Verfahrensschritte 300 bis 310 errechnen die Werte für Vl und V2. Im Entscheidungsblock 312 wird dann mit einer Prüfung bestimmt, ob die Kosten Vl
größer oder genauso groß sind wie die Kosten V2. Wenn die Kosten Vl größer oder genauso groß sind wie V2, dann ist es ganz klar von
Vorteil, wenn man dieses Verzweigungselement wegläßt und der Ja-Zweig
zum Block 314 wird gewählt, wo die zu der letzten Stufe des Baumes gehörende Entscheidung an der Stelle des entfernten
Verzweigungselementes gespeichert wird. Wenn andererseits Vl kleiner ist als V2, wird der Nein-Zweig direkt zum Prozeßschritt 316
gewählt. Im Prozeßschritt 316 werden die jeweils kleinsten Kosten von Vl oder V2 in der V-Gruppe gespeichert, um die zu dem
vorhergesagten Wert, der in dem letzten betrachteten Element gespeichert
ist, gehörende Kostenfunktion darzustellen. Die Prozeßschritte 318 bis 324 führen den obigen Prozeß für alle Stufen
des Baumes aus, bis der Wert K gleich 1 ist. Zu diesem Zeitpunkt endet der Prozeß durch Wahl des Ja-Zweiges des Entscheidungsblocks
324. Wenn der gestützte Baum jetzt vollständig ist, wird die IBAüM-Gruppe gespeichert, damit sie während der Operation
der sequentiellen Prädiktoren 14 und 2 8 der Fig. l für die Benutzung
zur Verfügung steht.
Anschließend wird der sequentielle Vorhersageprozeß beschrieben,
Yo-971060 409881/0840
der durch die in Fig. 1 gezeigten sequentiellen Prädiktoren 14
und 2 8 ausgeführt wird. Während der hier beschriebene Prozeß sich auf Universalrechner bezieht, kann er auch in Spezialmaschinen
implementiert werden.
Die in dem im Verfahrensschritt 400 in Fig. 9 dargestellten fünf Elemente werden in den Speicher eingelesen. Wenn die Zentraleinheit
nicht genügend Speicherplatz zur Aufnahme aller Daten hat, kann eine unabhängige Speichermöglichkeit für jedes der angegebenen
Elemente vorgesehen werden, um sie sequentiell einzulesen. Zur einfacheren
Beschreibung der Erfindung wird angenommen, daß die Zentraleinheit alle Informationen im internen Speicher des Prozessors
zur Verfügung hat. Der IDATEN-Fehler enthält eine binäre Darstellung
des Beleges, die zu verdichten und über eine Leitung an eine Verarbeitungseinheit zu übertragen ist. Entsprechend der
IDATEN-Gruppe ist eine weitere IVORH-Gruppe definiert, die von
ähnlicher Größe ist wie die IDATEN-Gruppe und eventuell die Vorhersagewerte
aus binären Einsen und Nullen enthält, die modulo 2 zur IDATEN-Gruppe zu addieren sind, um das Fehlermuster zu erhalten,
welches vor der übertragung an den Codierer 18 gegeben wird.
Im Block 402 werden die Indizes I, J auf "1" gesetzt, beginnend links oben in dem dargestellten Beleg, der in der IDATEN-Gruppe
enthalten ist. Die Veränderliche IBAD wird im Block 404 auf 1 gesetzt, um die Prüfung an der ersten Verzweigung am Baum zu beginnen.
Dann wird ein die Blocks 406 bis 416 umfassender Schleifenprozeß
ausgeführt, um die Baumstruktur zu durchlaufen, bis der Wert im ITEST entweder eine Eins oder eine Null ist und anzeigt,
daß eine Vorhersage gemacht wurde. An allen Zwischenschritten vor Erreichen des Vorhersagewertes wird der nächste Knotenpunkt im
Baum durch den Verfahrensschritt 416 errechnet, der die in IBAD
enthaltene Größe verdoppelt und L addiert. Wenn der in L enthaltene
Wert eine Null ist, wird der Nullzweig des Baumes gewählt, wenn der Wert in L eine Eins ist, wird der Einserzweig gewählt.
Nachdem die Vorhersage für einen bestimmten Punkt gemacht wurde,
verzweigt die Schleife über die Ja-Bahn vom Block 408 zum Verfah-
YO 971 060 4 0 9881 /08A0
rensschritt 418, wo der vorhergesagte Wert in positiver Form in
der IVORH-Gruppe gespeichert wird. Die Prozeßschritte 420 bis
426 laufen durch alle Bildpunkte im Beleg, so daß am Ende des Prozesses, wenn Index I größer ist als NZEILE, bekannt ist, daß
die IVOBH-Gruppe das ganze Vorhersagemuster enthält, welches zu
den in der IDATEN-Gruppe gehörenden Belegdaten gehört. Der Ja-Zweig des Blockes 426 wird dann gewählt und damit angezeigt, daß
die Vorhersage vollständig ist und das System kann dann das Vorhersagemuster und das tatsächliche Muster an das Antivalenzglied
16 leiten, um das an den Codierer 18 zu leitende Fehlermuster zu entwickeln.
YO 971 060 4 0 9 881 /08A0
Claims (1)
1. System zur Verdichtung eines Satzes digitaler Daten, die
von einem Beleg stammen, gekennzeichnet durch
von einem Beleg stammen, gekennzeichnet durch
a)ι einen Speicher (12) zur Darstellung des Satzes digitaler
Daten als binäres Muster, in dem jedes Informationsbit das Vorhandensein einer Schwarz- oder Weißbedingung
an jedem Bildpunkt des Beleges darstellt,
b) einen sequentiellen Prädiktor (14) zum Empfangen der Informationsbits
und zur Vorhersage des Binärwertes jedes Bildpunktes entsprechend den Binärwerten einer Reihe bedeutsamer
Bildpunkte, welche zu jedem Bildpunkt des Beleges in Beziehung stehen, bestimmt werden durch Prüfen
eines Satzes empirisch gewonnener Daten und angeordnet
werden in einem Format, das einem sequentiellen Entscheidungsbaum entspricht,
werden in einem Format, das einem sequentiellen Entscheidungsbaum entspricht,
c) einen Modulo 2-Addierer (16) zur Addition des vorhergesagten Binärwertes jedes Bildpunktes und dessen tatsächlichem
Binärwert und zur Bildung einer Summe, die den
Strom binärer Ausgangsdaten bildet und
Strom binärer Ausgangsdaten bildet und
d) eine Codiervorrichtung (18), die die Ausgangssumme codiert
zur Bildung eines komprimierten Datenstromes.
YO 971 060 409881/0840
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US36533573A | 1973-05-30 | 1973-05-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2425776A1 true DE2425776A1 (de) | 1975-01-02 |
Family
ID=23438437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19742425776 Pending DE2425776A1 (de) | 1973-05-30 | 1974-05-28 | Sequentiell lernender praediktor fuer ein bildverdichtungssystem |
Country Status (3)
Country | Link |
---|---|
JP (1) | JPS586341B2 (de) |
DE (1) | DE2425776A1 (de) |
GB (1) | GB1443651A (de) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2640157A1 (de) * | 1976-09-07 | 1978-03-16 | Philips Patentverwaltung | Verfahren und anordnung zum redundanzvermindernden codieren von bildern |
DE2740945A1 (de) * | 1977-09-10 | 1979-03-15 | Licentia Gmbh | Verfahren zum uebertragen von bildsignalen mit hilfe der differenz-puls- code-modulation (dpcm) und gesteuertem quantisierer |
DE2834533A1 (de) * | 1978-08-03 | 1980-02-14 | Mitsubishi Electric Corp | Faksimile-kommunikations bzw. uebertragungssystem |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS54113207A (en) * | 1978-02-23 | 1979-09-04 | Nec Corp | Forecasting coder |
JPS5658368A (en) * | 1979-10-17 | 1981-05-21 | Matsushita Electric Ind Co Ltd | Band compressing method |
-
1974
- 1974-04-24 JP JP49045593A patent/JPS586341B2/ja not_active Expired
- 1974-04-24 GB GB1792374A patent/GB1443651A/en not_active Expired
- 1974-05-28 DE DE19742425776 patent/DE2425776A1/de active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2640157A1 (de) * | 1976-09-07 | 1978-03-16 | Philips Patentverwaltung | Verfahren und anordnung zum redundanzvermindernden codieren von bildern |
DE2740945A1 (de) * | 1977-09-10 | 1979-03-15 | Licentia Gmbh | Verfahren zum uebertragen von bildsignalen mit hilfe der differenz-puls- code-modulation (dpcm) und gesteuertem quantisierer |
DE2834533A1 (de) * | 1978-08-03 | 1980-02-14 | Mitsubishi Electric Corp | Faksimile-kommunikations bzw. uebertragungssystem |
Also Published As
Publication number | Publication date |
---|---|
JPS5017715A (de) | 1975-02-25 |
GB1443651A (en) | 1976-07-21 |
JPS586341B2 (ja) | 1983-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68915886T2 (de) | System und verfahren zur hierarchischen bildkodierung und -dekodierung. | |
DE69735679T2 (de) | Verfahren zur Bilddecodierung | |
DE69125199T2 (de) | Geometrische Vektorquantifizierung | |
DE69127739T2 (de) | Bilddatenverarbeitungsgerät | |
DE3800634C2 (de) | ||
DE68927082T2 (de) | Verfahren und Vorrichtung für die Bilddatenkomprimierung | |
DE3855950T2 (de) | Entgegenwirkung gegen die Auswirkungen von Kanalrauschen in digitaler Informationsübertragung | |
DE69925774T2 (de) | Arithmetisches Kodierung- Dekodierung- sowie Warscheinlichkeitsschätzungsverfahren | |
DE2706080C2 (de) | Verfahren zur adaptiven Quantisierung von Transformationskoeffizienten eines Bildes und Anordnung zum Durchführen des Verfahrens | |
DE2550928C2 (de) | Einrichtung zur Komprimierung einer m·n-Matrix deltacodierter Punkte | |
DE3889943T2 (de) | Verfahren zur Kompression eines Bildsignals durch Vektorquantisierung. | |
DE2652459C2 (de) | Umsetzvorrichtung für Binärsignale variabler Länge | |
DE69123660T2 (de) | Datenkompressionsmethode und Gerät | |
DE2264090A1 (de) | Datenverdichtungssystem | |
DE2830924A1 (de) | Einrichtung zum aufzeichnen und/oder uebertragung von digitalen signalen | |
DE69932213T2 (de) | Verfahren zur Anpassung der Datenrate | |
DE2340230A1 (de) | Verfahren und vorrichtung zur vorhersage des signalpegelwertes eines nachrichtenelementes | |
DE69124210T2 (de) | Einrichtung zur Signalcodierung | |
EP0698316B1 (de) | Verfahren zum Übertragen von Bildern mit ungleichem Fehlerschutz | |
DE2805294C2 (de) | Codierende Übertragungsanlage für Faksimile-Signale | |
DE68923012T2 (de) | Kodierungs- und Dekodierungsverfahren variabler Länge, Kodierungs- und Dekodierungsvorrichtung zur Ausführung dieses Verfahrens. | |
DE3886804T2 (de) | Einrichtung und Verfahren zur Verminderung einer Verzerrung, die durch einen Bild-Kompressor mit prädiktiver Codierung eingeführt ist. | |
DE19802860A1 (de) | Verfahren und Vorrichtung zur kontext-basierten arithmetischen Codieren/Decodieren | |
DE69029288T2 (de) | Verfahren und Einrichtung zum digitalen Kodieren und Dekodieren für neuronale Netzwerke | |
DE4322364C2 (de) | Verfahren zum Erzeugen von Fontdaten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OHJ | Non-payment of the annual fee |