DE69516674T2 - Verfahren und vorrichtung zur aufzeichnung und wiedergabe von daten in einem speichersystem - Google Patents
Verfahren und vorrichtung zur aufzeichnung und wiedergabe von daten in einem speichersystemInfo
- Publication number
- DE69516674T2 DE69516674T2 DE69516674T DE69516674T DE69516674T2 DE 69516674 T2 DE69516674 T2 DE 69516674T2 DE 69516674 T DE69516674 T DE 69516674T DE 69516674 T DE69516674 T DE 69516674T DE 69516674 T2 DE69516674 T2 DE 69516674T2
- Authority
- DE
- Germany
- Prior art keywords
- coordinates
- data item
- memory
- length
- sets
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 43
- 230000015654 memory Effects 0.000 claims description 160
- 239000003550 marker Substances 0.000 description 16
- 238000006467 substitution reaction Methods 0.000 description 5
- 230000001627 detrimental effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Analysis (AREA)
- Image Input (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
- Die Erfindung betrifft ein Verfahren zum Einschreiben von Daten-Items in ein Speichersystem und zum Auslesen aus einem Speichersystem, wobei jedes Daten-Item eine zugehörige Menge von Koordinaten in einem Raum hat. Die Erfindung betrifft auch ein Verfahren zum Einschreiben von solchen Daten-Items in und ein Verfahren zum Auslesen von solchen Daten-Items aus dem Speichersystem.
- Die Erfindung betrifft auch eine Einrichtung, die ein Speichersystem umfasst, das zum Einschreiben und Auslesen solcher Daten-Items geeignet ist. Die Erfindung betrifft weiterhin Speichersysteme mit Schreibmitteln und Lesemitteln für eine Einrichtung, die zum Auslesen solcher Daten-Items geeignet ist.
- Bei Bildverarbeitungstechniken ist es beispielsweise häufig notwendig, Daten-Items zu speichern, die zu Orten gehören, die durch eine Menge von Koordinaten (x,y) angedeutet werden. Die Daten-Items können beispielsweise digitalisierte Lichtintensitäten in einem Kamerabild oder Farbvektoren oder Vektoren sein, die ein am Ort der betreffenden Koordinaten (x,y) erkanntes Muster repräsentieren oder zu dem betreffenden Ort gehörende ergänzende Daten sein.
- Die Druckschrift US-A-4.870.479 beschreibt eine Technik, die einen kurzen Standardwert für Normalfälle anstelle eines vollständigen Längendatensetzes, der keine Information enthält, verwendet.
- Herkömmlicherweise wird hierfür ein Daten-Item-Speicher verwendet, der mit der zugehörigen Menge von Koordinaten des Daten-Items adressiert werden kann. Beim Speichern wird das Daten-Item in der Speicherstelle gespeichert, die die zugehörige Menge von Koordinaten des Daten-Items als Adresse hat. Beim Auslesen wird diese Stelle mit der zugehörigen Menge von Koordinaten adressiert.
- Ein derartiger Daten-Item-Speicher erfordert einen großen Speicherraum, insbesondere wenn jedes Daten-Item eine größere Anzahl Bits umfasst und die Dimension des Raumes größer ist. Bei medizinischer "Bild"verarbeitung, wo Daten-Items beispielsweise aus einem Röntgenscanner stammen, der dreidimensionale tomographische Bilder liefert, wird der benötigte Speicherraum beispielsweise wesentlich größer sein, als wenn es sich um zweidimensionale Bilder handelt.
- Der Erfindung liegt u. a. als Aufgabe zugrunde, Verfahren zum Einschreiben und Speichern und Einrichtungen hierfür zu verschaffen, die weniger Speicherraum erfordern, ohne die mittlere Zeit, die zum Speichern und/oder Auslesen der Daten-Items benötigt wird, übermäßig zu verlängern.
- Die Erfindung verschafft ein Verfahren zum Einschreiben von Daten-Items in ein Speichersystem und zum Auslesen eines gesuchten Daten-Items aus dem Speichersystem, wobei jedes Daten-Item eine zugehörige Menge von Koordinaten in einem Raum hat, welches Verfahren einen Daten-Item-Speicher und einen Längenspeicher, der von der zugehörigen Menge von Koordinaten adressiert werden kann, nutzt und das zum Schreiben die folgenden Schritte für jede einer Reihe von Mengen zugehöriger Koordinaten umfasst:
- - Empfangen eines zugehörigen Daten-Items,
- - Bestimmen, aus dem zugehörige Daten-Item, eines jeweiligen Längencodes, der eine zur Speicherung des Daten-Items in dem Daten-Item-Speicher benötigte Datenlänge angibt, und Einschreiben des jeweiligen Längencodes in den Längenspeicher, adressiert mit der betreffenden zugehörigen Menge von Koordinaten,
- - Einschreiben, sofern der jeweilige Längencode nicht die Länge null angibt, des zugehörigen Daten-Items in den Daten-Item-Speicher bei einer jeweiligen Adresse, die einer Kumulation der Längencodes aller zugehörigen Mengen von Koordinaten entspricht, die der betreffenden zugehörigen Menge von Koordinaten in der Reihe vorhergehen, und das genannte Verfahren zum Auslesen für eine angebotene Menge von Koordinaten, zu denen das gesuchte Daten-Item gehört, die folgenden Schritte umfasst:
- - Auslesen eines adressierten Längencodes aus dem Längenspeicher, adressiert mit der angebotenen Menge von Koordinaten, und, wenn die von dem adressierten Längencode angegebene Länge größer als null ist,:
- - Auslesen der Längencodes der zugehörigen Mengen von Koordinaten, die der betreffenden zugehörigen Menge von Koordinaten in der Reihe vorausgehen, und Bestimmen einer Summe der dadurch angegebenen Längen,
- - Auslesen des gesuchten Daten-Items, das mit dieser Summe aus dem Daten- Item-Speicher indexiert ist.
- Die Erfindung verschafft auch eine Einrichtung mit einem Speichersystem, das zum Speichern von Daten-Items ausgebildet ist, wobei jedes Daten-Item eine zugehöri ge Menge von Koordinaten in einem Raum hat, und auch Schreibmittel und Lesemittel umfasst, die mit dem Speichersystem gekoppelt sind, wobei die Schreibmittel umfassen
- - einen Eingang zum Empfangen eines Daten-Items, das zu einer betreffenden Menge von Koordinaten gehört,
- - Längenbestimmungsmittel, die zum Bestimmen eines Längencodes, der eine zur Speicherung des Daten-Items in dem Daten-Item-Speicher benötigte Datenlänge angibt, aus dem Daten-Item ausgebildet sind,
- - einen Längenspeicher,
- - Längeneinschreibmittel zum Einschreiben des Längencodes in den Längenspeicher, wobei Einschreiben in den Längenspeicher bei einer der betreffenden Menge von Koordinaten entsprechenden Adresse erfolgt,
- - Daten-Item-Einschreibmittel zum Einschreiben des Daten-Items in den Daten- Item-Speicher bei einer eigenen Adresse, die einer Kumulation der Längencodes aller zugehörigen Mengen von Koordinaten entspricht, die der betreffenden zugehörigen Menge von Koordinaten in einer zuvor bestimmten Reihe von Mengen von Koordinaten vorhergeht, und wobei die Auslesemittel umfassen
- - einen Eingang zum Empfangen einer angebotenen Menge von Koordinaten, zu denen ein gesuchtes Daten-Item gehört,
- - Längenauslesemittel zum Auslesen eines gesuchten Längencodes aus dem Längenspeicher, adressiert mit der angebotenen Menge von Koordinaten,
- - Daten-Item-Auslesemittel zum Auslesen des gesuchten Daten-Items aus dem Daten-Item-Speicher, mit
- - Summenbestimmungsmitteln zum Bestimmen einer Summe aus Längen, die von Längencodes der zugehörigen Mengen von Koordinaten angegeben werden, die der angebotenen Menge von Koordinaten in der Reihe vorhergehen,
- - Indexierungsmittel, die ausgebildet sind zum Auslesen des gesuchten Daten- Items, indexiert mit der Summe aus dem Daten-Item-Speicher.
- Die Erfindung beruht auf der Erkenntnis, dass bei vielen Anwendungen zu den meisten Mengen von Koordinaten Daten-Items gehören, die keine Information enthalten oder einen Standardwert haben, der nicht gespeichert zu werden braucht. Wenn das Daten-Item gespeichert werden muss, wird eine zuvor bestimmte Länge eines Daten-Item- Speichers oder eine aus einer begrenzten Anzahl möglicher Längen benötigt. Für den Längencode wird dann nur ein einziges Bit oder eine kleine Anzahl Bits benötigt. Daher kann der Längenspeicher verhältnismäßig klein sein. Der Daten-Item-Speicher kann auch verhältnismäßig klein sein, weil nur eine kleine Anzahl Daten-Items gespeichert zu werden braucht, d. h. nur die Daten-Items, die Information enthalten oder die nicht den Standardwert haben.
- Beim Auslesen wird es normalerweise notwendig sein, nur den Längenspeicher auszulesen. Dies kann sehr schnell erfolgen, weil die Menge von Koordinaten den gewünschten Längencode direkt adressiert. Insbesondere wird es nicht mehr Zeit erfordern als das Suchen eines Daten-Items in einem Speicher, in dem die Daten-Items gespeichert sind, so daß sie mit Hilfe von Koordinaten adressierbar sind. Das Befragen des Daten-Item- Speichers wird mehr Zeit benötigen, weil es normalerweise notwendig sein wird, herauszufinden, welches gespeicherte Daten-Item zu der angebotenen Menge von Koordinaten gehört. Dies wird jedoch nur in Ausnahmefällen notwendig sein, so daß die mittlere zum Auslesen benötigte Zeit nur geringfügig größer wird.
- Das Verfahren kann jedoch bereits in Hinblick auf das Begrenzen von Speicherbelegung vorteilhaft sein, wenn nur zu einem geringen Prozentsatz (beispielsweise 2%) der Mengen von Koordinaten Daten-Items gehören, für die in dem Daten-Item-Speicher kein Raum benötigt wird. Eine Ausführungsform des erfindungsgemäßen Verfahrens umfasst die folgende Schritte zum Schreiben:
- - Bestimmen für jede Menge von Koordinaten, zu welcher Kategorie diese Menge innerhalb einer zuvor bestimmten Klassifikation der Mengen von Koordinaten gehört, die den Raum in Kategorien von Mengen von Koordinaten unterteilt, wobei die Mengen von Koordinaten in jeder Kategorie eine jeweilige Verkettung in der genannten Reihe bilden,
- - Speichern, für jede Kategorie in einem Verweisspeicher, eines jeweiligen Verweises auf eine jeweilige Teilmenge der in dem Daten-Item-Speicher gespeicherten und zu Mengen von Koordinaten in der betreffenden Kategorie gehörenden Daten-Items, welches Verfahren zum Auslesen die folgenden Schritte umfasst:
- - Bestimmen der Kategorie, zu der die angebotene Menge von Koordinaten gehört, wobei diese Summe auf die Längencodes der zugehörigen Mengen von Koordinaten innerhalb der betreffenden Kategorie beschränkt wird,
- - Auslesen eines Verweises aus dem Verweisspeicher, adressiert mit einer Angabe der Kategorie, und
- - Auslesen des gesuchten Daten-Items aus dem Daten-Item-Speicher, indexiert mit einer Kombination aus der Summe und dem Verweis.
- Weil es genügt, beim Auslesen von der Menge zugehöriger Koordinaten aus zu zählen, kann das Zählen schneller erfolgen. Der Verweisspeicher braucht nur eine Speicherstelle pro Kategorie zu enthalten, so daß er verhältnismäßig klein bleiben kann. Ein einfach ausführbares Klassifikationsverfahren besteht darin, einen Teil jeder Menge von Koordinaten zu nehmen und die Mengen von Koordinaten, für die dieser Teil gleich ist, ein und derselben Kategorie zuzuordnen. Für Mengen von (x,y,z)-Koordinaten können beispielsweise alle Mengen mit dem gleichen (y,z) einer einzigen Kategorie zugeordnet werden. In einer Ausführungsform betrifft der gemeinsame Teil alle Koordinaten bis auf eine. Zählen erfordert dann nur eine minimale Zeitdauer, aber der Verweisspeicher wird ziemlich groß sein. In einer anderen Ausführungsform betrifft der gemeinsame Teil nur eine der Koordinaten: der Verweisspeicher ist dann verhältnismäßig klein, aber Zählen erfordert mehr Zeit. Wenn die Daten-Items in der Reihenfolge von Koordinaten empfangen werden, betrifft außerdem der gemeinsame Teil vorzugsweise den Teil der Koordinaten, der sich beim Empfang am langsamsten ändert.
- Es gibt eine Version des erfindungsgemäßen Verfahrens zum Auslesen von Daten-Items, in dem der Längenspeicher in Blöcken zugänglich ist, von denen jeder zwei oder mehr Längencodes enthält, die von Mengen von Koordinaten adressiert werden, die einander in dieser Reihe direkt folgen, und in dem die Bestimmung der Summe die Bestimmung einer Teilsumme aus zwei oder mehr Längen auf der Basis des Auslesens eines einzigen Blockes beinhaltet. Somit ist die Anzahl Male, dass beim Aufsummieren Daten aus dem Längenspeicher gelesen werden müssen, kleiner als die Anzahl Längencodes, die für die Summieroperation ausgelesen werden müssen. Daher erfordert das Auslesen der Längencodes nur eine verhältnismäßig geringe Menge an Zeit, so dass das Aufsummieren beschleunigt wird.
- Das Verfahren zum Einschreiben und Auslesen wird vorzugsweise in kombinierter Form ausgeführt. Die Verfahren sind insbesondere vorteilhaft beim Verarbeiten von Daten-Items, die zu Mengen von Koordinaten in dreidimensionalen oder mehrdimensionalen Räumen gehören, wie es häufig beispielsweise bei medizinischer Bildverarbeitung auftritt, bei der Röntgenscanner, Kernspinresonanzabbildungsanlagen usw. beteiligt sind.
- Die Erfindung betrifft auch Einrichtungen, die zum Ausführen des Verfahrens ausgebildet sind.
- Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden im Folgenden näher beschrieben. Es zeigen:
- Fig. 1 eine Ausführungsform einer erfindungsgemäßen Einrichtung,
- Fig. 2a einen Ablaufplan einer Version des erfindungsgemäßen Verfahrens zum Einschreiben von Daten-Items,
- Fig. 2b einen weiteren Ablaufplan einer Version des erfindungsgemäßen Verfahrens zum Einschreiben von Daten-Items,
- Fig. 3 eine Ausführungsform einer erfindungsgemäßen Einrichtung und
- Fig. 4 einen Ablaufplan einer Version des erfindungsgemäßen Verfahrens zum Auslesen von Daten-Items.
- Fig. 1 zeigt eine Ausführungsform einer Einrichtung zum Einschreiben von Daten-Items gemäß der Erfindung. Die Einrichtung umfasst eine Bildquelle 20, beispielsweise einen Röntgenscanner, die mit einem Eingang einer Verarbeitungseinheit 22 gekoppelt ist. Die Verarbeitungseinheit 22 umfasst einen Koordinatenausgang 22a und einen Daten-Item-Ausgang 22b. Der Daten-Item-Ausgang 22b ist mit einem Dateneingang eines Daten-Item-Speichers DM 262 und mit einem Detektor 24 gekoppelt. Ein Ausgang des Detektors 24 ist mit einem Längenspeicher F 260 gekoppelt, der als Markierungsspeicher F 260 bezeichnet werden soll, und mit einem Verweiszähler 264. Der Verweiszähler 264 hat einen Verweisausgang, der mit einem Adresseneingang des Daten-Item-Speichers DM 262 und mit einem Dateneingang eines Verweisspeichers P 266 gekoppelt ist. Der Koordinatenausgang 22b der Verarbeitungseinheit 22 ist mit einem Adresseneingang des Markierungsspeichers F 260 und über eine Klassifikationseinheit 28 mit einem Adresseneingang des Verweisspeichers P 266 gekoppelt.
- Vor der Beschreibung der Funktionsweise der Einrichtung von Fig. 1 soll das Verfahren mehr allgemein anhand von Fig. 2a beschrieben werden.
- Fig. 2a zeigt einen Ablaufplan einer Version des erfindungsgemäßen Verfahrens zum Einschreiben von Daten-Items in ein Speichersystem. Der Ablaufplan nutzt den Verweisspeicher P 266 zur Speicherung von Verweisen, den Markierungsspeicher F 260 zur Speicherung von Markierungen ("Flags") und den Datenspeicher DM 262 zur Speicherung von Daten-Items. Als Beispiel verwendet der Ablaufplan Mengen von Koordinaten (x,y) und eingeschriebenen Daten-Items D, wobei angenommen wird, dass die Daten-Items in der Reihenfolge ansteigender Koordinatenwerten eintreffen, wobei die x- Koordinate am schnellsten ansteigt. Die Koordinaten (x,y) steigen von 1 bis xmax bzw. ymax.
- Der Ablaufplan hat einen Eintrittspunkt 9, wo eine erste der Koordinaten y einen Anfangswert 0 hat, und ein Verweis "p" einen Anfangswert hat (beispielsweise 1). Der Eintrittspunkt 9 führt zu einem Schritt 10. Darin wird der Wert der ersten Koordinate y erhöht, eine andere Koordinate x auf 0 initialisiert und der Verweis "p" an einer Stelle P(y), die mit der ersten Koordinate y adressiert ist, in den Verweisspeicher P 266 geschrieben.
- Der nächste Schritt im Ablaufplan ist der Schritt 12. Darin wird die zweite Koordinate x erhöht, und ein zur Menge von Koordinaten (x,y) gehöriges Daten-Item D wird eingeschrieben. Anschließend wird die Länge L(D) des zum Speichern des Daten- Items D im Daten-Item-Speicher benötigte Speicherraum bestimmt. Abhängig vom Daten- Item kann diese Länge beispielsweise 0 oder 40 Bytes betragen.
- Im Fall von Mustererkennung wird die Länge 0 beispielsweise verwendet, wenn mit der Menge von Koordinaten kein Muster erkannt worden ist; wenn ein Muster mit der Menge von Koordinaten erkannt worden ist, werden 40 Bits Information verwendet, wie zum Beispiel Intensitätswerte, Ableitungen von Intensitätswerten usw. Wenn die Länge nur eine begrenzte Anzahl von Werten annehmen kann, bildet L(D) vorzugsweise einen Längencode, der nicht eine direkte Binärdarstellung einer Zahl, sondern nur eine Auswahl zwischen möglichen Längen ist (im obigen Beispiel, wo die Länge 0 oder 40 Byte war, genügt ein Längencode von 1 Bit, wobei ein Bitwert 0 dann beispielsweise die Länge 0 und der Bitwert 1 die Länge 40 repräsentiert).
- Der Längencode L(D) wird in den Markierungsspeicher F 260 an einer Stelle F(x,y) eingeschrieben, die mit den Koordinaten (x,y) adressiert wird.
- Der nächste Schritt 14 sorgt für eine bedingte Ausführung des darauffolgenden Schrittes 16. Wenn der Längencode L(D) angibt, dass mehr als eine Länge 0 für das Daten-Item D zur Verfügung steht, wird das Daten-Item D an einer Stelle in den Daten- Item-Speicher DM 260 eingeschrieben, die von dem Verweis p angedeutet wird. Auf Wunsch wird nur ein relevanter Teil des Daten-Items D eingeschrieben oder das Daten- Item D wird beim Einschreiben durch zusätzliche Information ergänzt.
- Der Verweis p wird anschließend um die Länge erhöht, die für das Daten- Item verwendet wird. Wenn alle eingeschriebenen Daten-Items D die gleiche Länge haben, werden Adressen in dem Daten-Item-Speicher DM 262 vorzugsweise in Einheiten dieser Länge ausgedrückt; daher wird in diesem Fall der Verweis p um 1 erhöht.
- Anschließend wird getestet (Schritt 18), ob die x-Koordinate ihren maximalen Wert erreicht hat. Wenn dies nicht der Fall ist, wird das Verfahren von Schritt 12 wie derholt, indem die x-Koordinate erhöht wird und das Daten-Item D eingeschrieben wird. Wenn die x-Koordinate ihren maximalen Wert erreicht hat, wird geprüft (in Schritt 19), ob die y-Koordinate ihren maximalen Wert erreicht hat. Wenn dies nicht der Fall ist, wird das Verfahren vom ersten Schritt 10 an wiederholt.
- Wenn der Test 19 ergibt, dass die y-Koordinate ihren Maximalwert erreicht hat, kann die Ausführung des Verfahrens abgeschlossen werden. Der Markierungsspeicher F 260 wird dann mit Längencodes gefüllt, von denen jeder bei einer jeweiligen Speicherstelle gespeichert wird, die mit einer Menge von Koordinaten (x,y) adressiert sind. Der an der betreffenden Stelle gespeicherte Längencode gibt dann die Länge des Speicherraums an, der für das zu der betreffenden Stelle (x,y) gehörende Daten-Item verwendet worden ist. Der Daten-Item-Speicher DM 262 speichert dann die Daten-Items, für die mehr als eine Länge 0 zur Verfügung stehen, in einer zuvor bestimmten Reihenfolge von Koordinaten, das heißt in der Reihenfolge ansteigender y-Koordinaten und im Falle entsprechender y- Koordinaten in der Reihenfolge ansteigender x-Koordinaten. Der Verweisspeicher P 266 speichert Verweise auf Stellen in dem Daten-Item-Speicher DM 262, wobei jeder Verweis zu einer jeweiligen y-Koordinate gehört und einen Verweis auf die erste Stelle in dem Daten-Item-Speicher DM 262 bildet, in dem Daten-Items D mit dieser y-Koordinate gespeichert sind, falls es sie gibt.
- Fig. 2b zeigt einen weiteren Ablaufplan eines weiteren Beispiels des erfindungsgemäßen Verfahrens zum Einschreiben von Daten-Items in ein Speichersystem. Der Ablaufplan ist der Gleiche wie der von Fig. 2a, ausgenommen die Schritte 12, 14 von Fig. 2a. In Fig. 2b sind diese Schritte durch die Schritte 12a, 14a ersetzt worden.
- Der Unterschied besteht darin, dass in dem Ablaufplan von Fig. 2a der Wert des Daten-Items D entscheidet, ob das Daten-Item D in den Daten-Item-Speicher DM 262 eingeschrieben wird oder nicht. Wenn das Daten-Item D einen Standardwert 5 hat, wird es nicht eingeschrieben.
- In Schritt 12a wird eine Markierung, die angibt, ob das Daten-Item D einen Standardwert S hat, in den Markierungsspeicher F 260 an einer Stelle F(x,y) geschrieben, die mit den Koordinaten (x,y) adressiert ist.
- Schritt 14a sorgt für eine bedingte Ausführung des darauffolgenden Schrittes 16. Wenn das Daten-Item D nicht den Standardwert S hat, wird das Daten-Item D an einer durch den Verweis p angegebenen Stelle in den Daten-Item-Speicher DM 262 eingeschrieben. Der Verweis p wird anschließend erhöht.
- Das Vorhergehende beruht auf binären Markierungen, die ausschließlich angeben, ob das Daten-Item den Standardwert S hat oder nicht. Statt dessen können jedoch auch Markierungen verwendet werden, die mehr als zwei verschiedene Werte annehmen können. Die Markierung gibt dann den betreffenden Wert des Daten-Items aus einer Vielzahl von Standardwerten an oder, dass das Daten-Item in dem Daten-Item-Speicher DM 262 gespeichert ist. Beispielsweise könnte eine 2-Bit-Markierung angeben, beispielsweise mit dem Wert 0, dass das Daten-Item in dem Daten-Item-Speicher DM 262 gespeichert ist, und mit den Werten 1, 2 und 3, dass das Daten-Item einen ersten, zweiten oder dritten Standardwert hat. Die Verwendung einer solchen Markierung erfordert eine größere Kapazität für den Markierungsspeicher F 260, aber führt zu Einsparungen beim Daten-Item- Speicher DM 262. Dies ist insbesondere vorteilhaft, wenn die Daten-Items üblicherweise nur einen Wert aus einer begrenzten Anzahl von mehr als einem Standardwert haben.
- Im Prinzip werden nur die Daten-Items, die nicht den Standardwert haben, in den Daten-Item-Speicher DM 262 eingeschrieben; die dann in den Markierungsspeicher F 260 eingeschriebene Markierung gibt an, dass das Daten-Item nicht den Standardwert hat. Die Markierung dient jedoch insbesondere dazu, die für das Daten-Item in dem Daten-Item- Speicher DM 262 verwendete Länge anzugeben. Es ist daher auch nicht nachteilig, wenn ein Daten-Item mit Standardwert trotzdem in den Daten-Item-Speicher DM 262 eingeschrieben wird, vorausgesetzt, dass die zugehörige Markierung in dem Markierungsspeicher F 260 angibt, dass dies erfolgt ist. Solange die Mengen von Koordinaten, für die dieses stattfindet, viel kleiner ist als die Anzahl Mengen von Koordinaten, für das Daten-Item nicht den Standardwert hat, wird es kaum irgendwelche nachteiligen Auswirkungen auf die Leistungsfähigkeit der Einrichtung haben.
- Im Betrieb ist die Auswirkung der Einrichtung von Fig. 1 gleich der des Ablaufplans von Fig. 2. Die Daten-Items D und die Mengen von Koordinaten (x,y) werden von der Verarbeitungseinheit 22 gebildet, die auch für den größten Teil der Adressierung sorgt. Zusätzlich zum Daten-Item kann die Verarbeitungseinheit eine Vielzahl ergänzender Informationen berechnen, die zusammen mit dem Daten-Item in der betreffenden Stelle in dem Daten-Item-Speicher DM 262 gespeichert werden müssen; solche Informationen können beispielsweise Intensitätswerte, räumliche Ableitungen der Intensitätswerte, andere Merkmale wie beispielsweise örtlich gewichtete Momente, Identifikationen von lokal erkannter Muster usw. enthalten.
- Die Klassifikationseinheit 28 arbeitet in einfacher Weise, indem nur die y- Koordinate weitergeleitet wird. Der Test 14 wird von dem Detektor 24 ausgeführt; die bedingte Erhöhung des Verweises p wird vom Verweiszähler 264 ausgeführt, der den Verweis p dem Daten-Item-Speicher DM 262 und dem Verweisspeicher P 266 zuleitet. Die verschiedenen Teile von Fig. 1 werden von einem Takt synchronisiert (nicht abgebildet).
- Fig. 3 zeigt eine Ausführungsform einer Einrichtung zum Auslesen von Daten-Items gemäß der Erfindung. Die Einrichtung umfasst wiederum den Markierungsspeicher F 260, den Verweisspeicher P 266 und den Daten-Item-Speicher DM 262. Die Einrichtung umfasst einen Eingang T für Koordinaten. Der Eingang T ist mit einer Leseeinheit 40 gekoppelt, mit einer Klassifikationseinheit 48 und mit einer Empfangseinheit 46 (beispielsweise einer Wiedergabeeinrichtung). Ein Ausgang der Leseeinheit 40 ist mit dem Adresseneingang des Markierungsspeichers F 260 gekoppelt. Der Datenausgang des Markierungsspeichers F 260 ist mit der Leseeinheit 40 gekoppelt. Die Leseeinheit 40 umfasst einen weiteren Ausgang, der mit einem Steuereingang einer Substitutionseinheit 44 gekoppelt ist. Die Leseeinheit 40 umfasst auch einen Ausgang, der mit einem ersten Eingang eines Addierers 42 gekoppelt ist. Die Klassifikationseinheit 48 ist mit einem Adresseneingang des Verweisspeichers P 266 gekoppelt. Der Datenausgang des Verweisspeichers P 266 ist mit einem zweiten Eingang des Addierers 42 gekoppelt. Der Ausgang des Addierers 42 ist mit dem Adresseneingang des Daten-Item-Speichers DM 262 gekoppelt. Der Datenausgang des Daten-Item-Speichers DM 262 ist mit der Substitutionseinheit 44 gekoppelt.
- Ein Ausgang der Substitutionseinheit 44 ist mit der Empfangseinheit gekoppelt.
- Vor der Beschreibung der Funktionsweise der Einrichtung von Fig. 3 wird das Verfahren allgemeiner anhand von Fig. 4 beschrieben.
- Fig. 4 zeigt einen Ablaufplan einer Version des erfindungsgemäßen Verfahrens zum Auslesen von Daten-Items aus einem Speichersystem. Angenommen wird, dass der Markierungsspeicher F 260, der Daten-Item-Speicher DM 262 und der Verweisspeicher P 266 einen Inhalt haben, wie er mit dem anhand der Fig. 2a oder 2b beschriebenen Verfahren erhalten werden kann. Außerdem wird als Beispiel angenommen, dass am Eintrittspunkt 30 des Ablaufplans eine empfangene zweidimensionale Menge von Koordinaten (x,y) zur Verfügung steht und dass die Markierungn in dem Markierungsspeicher F 260 die Werte 0 und 1 annehmen können, dass eine Markierung mit dem Wert 0 bei einer von der Menge von Koordinaten (x,y) adressierten Adresse angibt, dass das Daten-Item, das zu dieser Menge von Koordinaten gehört, in dem Speicher nicht gespeichert ist, und dass eine Markierung mit dem Wert 1 angibt, dass das Daten-Item in dem Speicher in einer Speichereinheit von zuvor bestimmter Länge gespeichert worden ist.
- Während eines ersten Schrittes 32 des Ablaufplans wird geprüft, ob der Inhalt des Markierungsspeichers F 260 an der Stelle F(x,y), die mit der empfangenen Menge von Koordinaten (x,y) adressiert wird, null ist. Wenn das der Fall ist, setzt sich das Verfahren bei Schritt 39b fort, bei dem das Daten-Item D auf einen Standardwert S eingestellt wird, woraufhin der Ablaufplan seinen Endpunkt 39c erreicht und das Daten-Item D verfügbar wird.
- Wenn der Wert der Markierung F(x,y) nicht gleich null ist, was bedeutet, dass das zu der Menge von Koordinaten (x,y) gehörende Daten-Item in dem Daten-Item- Speicher DM 262 gespeichert ist, wird eine Anzahl nachfolgender Schritte 34, 36, 38 ausgeführt. Während dieser Schritte wird gezählt, wie viele Mengen von Koordinaten (xx,y) die gleiche y-Koordinate haben und eine kleinere x-Koordinate xx als die Menge von angebotenen Koordinaten (x,y), während im Markierungsspeicher F 260 die Markierung F(xx,y), die mit einer solchen Koordinate adressiert wird, angibt, dass das zugehörige Daten-Item in dem Daten-Item-Speicher DM 262 gespeichert ist.
- Zählen erfolgt folgendermaßen. Während eines nächsten Schrittes 34 wird eine Zählung N und eine Zählkoordinate xx initialisiert. Während eines zweiten darauffolgenden Schrittes 36 wird geprüft, ob die Zählkoordinate xx den Wert der x-Koordinate der Menge von Koordinaten (x,y) erreicht hat. Wenn dies nicht der Fall ist, wird während eines nachfolgenden Schrittes 36 die Zählung N um den Wert der Markierung erhöht, die im Markierungsspeicher F 260 zu der Menge von Koordinaten (xx,y) gehört, d. h. die Zählung N wird um 1 erhöht, wenn die Markierung F(xx,y) angibt, dass das zugehörige Daten-Item nicht den Standardwert hat; anderenfalls wird die Zählung N nicht erhöht. Anschließend wird die Zählkoordinate xx erhöht und das Verfahren wird von Schritt 36 an wiederholt, indem geprüft wird, ob die Zählkoordinate xx den Wert der x-Koordinate der Menge von Koordinaten erreicht hat.
- Wenn dies der Fall ist, wird ein nächster Schritt 39a ausgeführt. Darin wird ein Verweis A aus dem Verweisspeicher P 266 gelesen, d. h. aus einer Stelle P(y), die mit der y-Koordinate der Menge von angebotenen Koordinaten adressiert wird. Das Daten-Item D wird anschließend aus dem Daten-Item-Speicher DM 262 gelesen, das heißt aus einer Stelle, deren Adresse (A+N) die Summe aus dem gelesenen Verweis A und der Zählung N ist. Der Ablaufplan erreicht wiederum seinen Endpunkt 39c, wo das Daten-Item D verfügbar wird.
- Im Betrieb ist die Auswirkung der Einrichtung von Fig. 3 gleich der des Ablaufplans von Fig. 4. Die Leseeinheit 40 führt den Test 32 hinsichtlich des Wertes der Markierung aus und bestimmt nötigenfalls die Zählung N. Die Leseeinheit 40 führt die Zählung N dem Addierer 42 zu, in dem die Zählung N zur Adresse A addiert wird, die aus dem Verweisspeicher P 266 stammt. Die Leseeinheit 40 steuert die Substitutionseinheit 44, die der Empfangseinheit 46 den Standardwert S zuführt, wenn die Leseeinheit 40 signalisiert, dass der Markierungsspeicher F 260 angibt, dass der Standardwert zu den Koordinaten (x,y) gehört; wenn dies nicht der Fall ist, überträgt die Substitutionseinheit 44 das aus dem Daten-Item-Speicher DM 262 gelesene Daten-Item D. Die verschiedenen Teile von Fig. 3 werden mit Hilfe eines Taktes synchronisiert (nicht abgebildet).
- Für den Markierungsspeicher F 260 wird vorzugsweise ein Speicher verwendet, der in simultanen Blöcken gelesen werden kann, wobei ein Block beispielsweise ein 16-Bit-Wort ist. Die Markierungen werden in dem Markierungsspeicher F 260 vorzugsweise in einer Sequenz gespeichert, so dass eine Vielzahl von zu aufeinanderfolgenden Mengen von Koordinaten gehörenden Markierungen zum Zählen der Anzahl von Markierungen zusammen in ein und demselben Block gespeichert werden. Zum Zählen (Fig. 4) muss die Leseeinheit 40 eine Anzahl Blöcke aus dem Markierungsspeicher F 260 auslesen, um eine Anzahl von Markierungen von aufeinanderfolgenden Mengen von Koordinaten zu lesen, und jedes Mal muss sie die Anzahl Markierungen innerhalb jedes gelesenen Blockes zählen. Die Anzahl von zu lesenden Blöcken ist dann wesentlich kleiner als die Anzahl von zu zählenden Markierungn. Zählen kann somit schneller erfolgen, als wenn die Markierungn einzeln aus dem Markierungsspeicher F 260 gelesen werden müssen.
- Das Zählen der Anzahl von innerhalb eines Blockes gelesener Markierungn kann in einfacher Weise mit Hilfe einer Nachschlagetabelle (LUT: Look Up Table) erfolgen. Der Inhalt jedes Blockes dient dann Adresse für einen LUT-Speicher; bei einer von einem Inhalt adressierten Stelle enthält der LUT-Speicher die Anzahl von Markierungn in dem genannten Inhalt (beispielsweise Adresse 0 Nummer 0, Adresse 1 Nummer 1, Adresse 2 Nummer 1, Adresse 3 Nummer 2 usw.).
- Die Ausführungsformen der Fig. 1 bis 4 dienen ausschließlich zur Erläuterung eines vereinfachten Beispiels der Erfindung. In der Praxis ist eine große Zahl von Alternativen möglich. Beispielsweise können anstelle von zweidimensionalen Mengen von Koordinaten (x,y) mehrdimensionale Mengen verwendet werden, beispielsweise dreidimensionale Mengen (x,y,z). Diese Mengen können durch Weglassen von einer oder mehr Koordinaten klassifiziert werden; beispielsweise können alle Mengen von Koordinaten mit dem gleichen (y,z)-Wert ("gemeinsamer Faktor") als zu der gleichen Kategorie gehörend betrachtet werden, so dass der (y,z)-Wert als Adresse für den Verweisspeicher P 266 dient, oder nur die "z"-Koordinate kann als gemeinsamer Faktor einer Kategorie genommen werden. In beiden Fällen muss die Zählung 34, 36, 38 beim Auslesen modifiziert werden (Fig. 4), so dass sie über Markierungen verläuft, die zu Mengen von Koordinaten gehören, welche zur gleichen Kategorie gehören wie die angebotene Menge von Koordinaten (x,y,z). Im Fall einer Klassifikation, die (y,z) als gemeinsamen Faktor verwendet, können beispielsweise Markierungen für (xx,y,z) gezählt werden, mit xx = 1 bis x; für eine Klassifikation, die z als gemeinsamen Faktor verwendet, erfolgt Zählen über (xx,yy,z), mit yy = 1 bis y, und wenn yy = y xx = 1 bis x, und wenn y < y mit allen möglichen xx-Werten. Es wird deutlich sein, dass, je weniger Koordinaten pro Kategorie innerhalb einer Klassifikation gleich sind, desto mehr Zählarbeit und desto weniger Verweisspeicher P 266 benötigt wird.
- In einem extremen Fall, bei dem alle Mengen von Koordinaten als Teil der gleichen Kategorie betrachtet werden, kann ein Verweisspeicher sogar vollständig entfallen und die Operationen in diesem Speicher in den Fig. 2a, 2b und 4 können weggelassen werden, wenn auch auf Kosten von mehr Zählarbeit (über alle Mengen von Koordinaten (xx,yy,zz), wenn zz = 1 bis z; wenn zz < z, Zählen über alle möglichen xx und yy, und wenn zz = z Zählen über den gleichen Bereich, als wenn Kategorien mit der z-Koordinate als gemeinsamer Faktor verwendet werden). Zählen kann auch entfallen, indem beim Einschreiben entsprechend jedem in dem Daten-Item-Speicher DM 262 gespeicherten Daten- Item die zugehörige Menge von Koordinaten in einem Speicher gespeichert wird. Beim Auslesen, wenn die Markierung F(x,y, ...) für die angebotene Menge von Koordinaten (x,y, ...) angibt, dass das zugehörige Daten-Item nicht den Standardwert hat, kann das Daten-Item, dem die korrekten Koordinaten entsprechen, in dem Daten-Item-Speicher DM 262 gesucht werden.
- Weiterhin wird bei der Beschreibung der Fig. 1 bis 4 von binären Markierungn ausgegangen, die ausschließlich angeben, ob das Daten-Item den Standardwert S hat. Statt dessen können auch Markierungn verwendet werden, die mehr als zwei verschiedene Werte annehmen können. Die Markierung gibt dann den Standardwert des Daten- Items aus einer Vielzahl von Standardwerten an oder dass das Daten-Item in dem Daten- Item-Speicher DM 262 gespeichert ist. Mit Hilfe des Wertes 0 könnte beispielsweise eine 2-Bit-Markierung angeben, dass das Daten-Item in dem Daten-Item-Speicher DM 262 gespeichert ist und mit den Werten 1, 2 und 3, dass das Daten-Item einen ersten, zweiten oder dritten Standardwert hat. Die Verwendung einer solchen Markierung erfordert eine höhere Kapazität für den Markierungsspeicher F 260, aber führt zu Einsparungen beim Daten- Item-Speicher DM 262. Dies ist insbesondere vorteilhaft, wenn die Daten-Item normalerweise einen einzigen Wert aus einer begrenzten Zahl von mehr als zwei Standardwerten haben.
- Wenn die Längen der jeweiligen in den Daten-Item-Speicher DM 262 eingeschriebenen Daten-Items nur eine begrenzte Anzahl Werte annehmen können (beispielsweise 0, 40 oder 80 Bytes), kann es auch vorteilhaft sein, den Daten-Item-Speicher DM 262 in mehreren Daten-Item-Speicher aufzuteilen, wobei ein einziger Daten-Item-Speicher für jeden möglichen Längenwert gebildet wird (beispielsweise einer für Daten-Items von 40 Bytes und einer für Daten-Items von 80 Bytes). Daten-Items der gleichen Länge werden dann in den gleichen Daten-Item-Speicher geschrieben. Zum Auslesen des Daten-Items wird auf Basis des Längencodes erst der Daten-Item-Speicher bestimmt, aus dem Auslesen erfolgen muss (beispielsweise der 80-Bytes-Speicher oder 40-Bytes-Speicher), und unter Verwendung des Längenspeichers F 260 wird dann die Anzahl der dem gesuchten Daten- Item vorhergehenden Daten-Items in dem relevanten Daten-Item-Speicher gezählt. Dies bietet den Vorteil, dass die Längen nicht explizit aufsummiert zu werden brauchen, da die Summe der Längen in einfacher Weise durch Zählen bestimmt werden kann.
- Weiterhin beruht die Beschreibung der Fig. 1 bis 4 auch auf Kategorien von Mengen von Koordinaten, bei denen ein Teil der Koordinaten (beispielsweise die y- und z- Koordinaten) innerhalb einer Kategorie immer der gleiche ist. Andere Klassifikationen sind auch möglich, beispielsweise Kategorien, bei denen alle Mengen von Koordinaten den gleichen Wert von x + y haben. Allgemein gesagt werden die Klassifikationseinheiten 28, 48 eine Klassifikationsfunktion C(x,y) implementieren, die zu jeder Menge von Koordinaten die Nummer einer jeweiligen Kategorie hinzufügt. Die zu Mengen von Koordinaten innerhalb einer Kategorie gehörenden Daten-Items müssen dann jedoch, soweit sie in den Daten- Item-Speicher DM 262 geschrieben werden, hintereinander in den Speicher DM 262 geschrieben werden, das heißt ohne dass Daten-Items, die zu Mengen aus anderen Kategorien gehören, dazwischen geschrieben werden. Unter "Aufeinanderfolge" soll hier "Aufeinanderfolge des Einschreibens in den Daten-Item-Speicher DM 262" in einem logischen Sinn verstanden werden: es ist nicht notwendigerweise eine physikalische räumliche Aufeinanderfolge (beispielsweise könnte jedes Mal eine Speicherstelle übersprungen werden und die übersprungenen Stellen könnten für spätere Kategorien verwendet werden), sondern eine reproduzierbare logische Aufeinanderfolge.
- In der Praxis wird die Aufeinanderfolge üblicherweise dem wiederholten Erhöhen oder Erniedrigen einer einzigen Koordinate entsprechen (beispielsweise der x- Koordinate), gefolgt von einem Rücksetzen, wenn der maximale oder der minimale Wert erreicht ist; in Reaktion auf das Rücksetzen wird dann eine nächste Koordinate (beispielsweise die y-Koordinate) erhöht oder erniedrigt usw. Die Kiassifikationseinheit 28, 48 wird die Mengen von Koordinaten klassifizieren, indem zuvor bestimmte Koordinaten in einer solchen Aufeinanderfolge als Grenzen zwischen den Kategorien angewiesen werden und indem die Mengen von Koordinaten zwischen einem Paar von Grenzen als zu ein und derselben Kategorie gehörend betrachtet werden. Zählen (Schritt 34 von Fig. 4) beginnt dann mit dem Zählen von Koordinaten in der Aufeinanderfolge ausgehend von der nächst niedrigeren Grenze.
- Zur Einfachheit der Beschreibung der Zeichnung sind gesonderte Markierungsspeicher F 260, Verweisspeicher P 266 und Daten-Item-Speicher DM 266 verwendet worden. Diese Speicher können von unterschiedlicher Art sein (gesonderte Speicherchips, Plattenspeicher usw.) oder sie können auch verschiedenen Adressenbereichen in einem größeren physikalischen Speicher entsprechen, der beispielsweise vollständig als Halbleiterspeicher, als Magnetplattenspeicher usw. ausgeführt ist.
Claims (15)
1. Verfahren zum Einschreiben von Daten-Items in ein Speichersystem und
zum Auslesen eines gesuchten Daten-Items aus dem Speichersystem, wobei jedes Daten-
Item eine zugehörige Menge von Koordinaten in einem Raum hat, welches Verfahren einen
Daten-Item-Speicher und einen Längenspeicher, der von der zugehörigen Menge von
Koordinaten adressiert werden kann, nutzt und das zum Schreiben die folgenden Schritte für
jede einer Reihe von Mengen zugehöriger Koordinaten umfasst:
- Empfangen eines zugehörigen Daten-Items,
- Bestimmen, aus dem zugehörige Daten-Item, eines jeweiligen Längencodes, der
eine zur Speicherung des Daten-Items in dem Daten-Item-Speicher benötigte Datenlänge
angibt, und Einschreiben des jeweiligen Längencodes in den Längenspeicher, adressiert mit
der betreffenden zugehörigen Menge von Koordinaten,
- Einschreiben, sofern der jeweilige Längencode nicht die Länge null angibt, des
zugehörigen Daten-Items in den Daten-Item-Speicher bei einer jeweiligen Adresse, die
einer Kumulation der Längencodes aller zugehörigen Mengen von Koordinaten entspricht,
die der betreffenden zugehörigen Menge von Koordinaten in der Reihe vorhergehen,
und das genannte Verfahren zum Auslesen für eine angebotene Menge von Koordinaten, zu
denen das gesuchte Daten-Item gehört, die folgenden Schritte umfasst:
- Auslesen eines adressierten Längencodes aus dem Längenspeicher, adressiert mit
der angebotenen Menge von Koordinaten, und, wenn die von dem adressierten Längencode
angegebene Länge größer als null ist,:
- Auslesen der Längencodes der zugehörigen Mengen von Koordinaten, die
der betreffenden zugehörigen Menge von Koordinaten in der Reihe vorausgehen,
und Bestimmen einer Summe der dadurch angegebenen Längen,
- Auslesen des gesuchten Daten-Items, das mit dieser Summe aus dem Daten-
Item-Speicher indexiert ist.
2. Verfahren nach Anspruch 1, mit den folgenden Schritten zum Schreiben:
- Bestimmen für jede Menge von Koordinaten, zu welcher Kategorie diese Menge
innerhalb einer zuvor bestimmten Klassifikation der Mengen von Koordinaten gehört, die
den Raum in Kategorien von Mengen von Koordinaten unterteilt, wobei die Mengen von
Koordinaten in jeder Kategorie eine jeweilige Verkettung in der genannten Reihe bilden,
- Speichern, für jede Kategorie in einem Verweisspeicher, eines jeweiligen
Verweises auf eine jeweilige Teilmenge der in dem Daten-Item-Speicher gespeicherten und zu
Mengen von Koordinaten in der betreffenden Kategorie gehörenden Daten-Items,
welches Verfahren zum Auslesen die folgenden Schritte umfasst:
- Bestimmen der Kategorie, zu der die angebotene Menge von Koordinaten gehört,
wobei diese Summe auf die Längencodes der zugehörigen Mengen von Koordinaten
innerhalb der betreffenden Kategorie beschränkt wird,
- Auslesen eines Verweises aus dem Verweisspeicher, adressiert mit einer Angabe
der Kategorie, und
- Auslesen des gesuchten Daten-Items aus dem Daten-Item-Speicher, indexiert mit
einer Kombination aus der Summe und dem Verweis.
3. Verfahren nach Anspruch 1 oder 2, in dem der Längenspeicher in Blöcken
zugänglich ist, von denen jeder zwei oder mehr Längencodes enthält, die mit Mengen von
Koordinaten adressiert werden, die einander in dieser Reihe direkt folgen, und in dem die
Bestimmung der Summe die Bestimmung einer Teilsumme aus zwei oder mehr Längen auf
der Basis des Auslesens eines einzigen Blockes beinhaltet.
4. Verfahren nach einem der Ansprüche 1 bis 3, in dem alle Mengen von
Koordinaten innerhalb jeder Kategorie für einen zuvor bestimmten Teil identisch sind.
5. Verfahren nach einem der Ansprüche 1 bis 4, in dem der Raum und die
zugehörigen Mengen von Koordinaten zumindest dreidimensional sind.
6. Verfahren nach einem der Ansprüche 1 bis 5, in dem ein Längencode, der
eine Länge null angibt, gewählt wird, wenn das Daten-Item einen von mehreren
Standardwerten hat, wobei der Längencode in diesem Fall auch den betreffenden Standardwert des
Daten-Items angibt.
7. Verfahren zum Einschreiben von Daten-Items in ein Speichersystem, wie in
einem der Ansprüche 1 bis 6 beschrieben.
8. Verfahren zum Auslesen von Daten-Items aus einem Speichersystem, wie in
einem der Ansprüche 1 bis 6 beschrieben.
9. Einrichtung mit einem Speichersystem, das zum Speichern von Daten-Items
ausgebildet ist, wobei jedes Daten-Item eine zugehörige Menge von Koordinaten in einem
Raum hat, und auch Schreibmittel und Lesemittel umfasst, die mit dem Speichersystem
gekoppelt sind, wobei die Schreibmittel umfassen
- einen Eingang zum Empfangen eines Daten-Items, das zu einer betreffenden
Menge von Koordinaten gehört,
- Längenbestimmungsmittel, die zum Bestimmen eines Längencodes, der eine zur
Speicherung des Daten-Items in dem Daten-Item-Speicher benötigte Datenlänge angibt, aus
dem Daten-Item ausgebildet sind,
- einen Längenspeicher,
- Längeneinschreibmittel zum Einschreiben des Längencodes in den
Längenspeicher, wobei Einschreiben in den Längenspeicher bei einer der betreffenden Menge von
Koordinaten entsprechenden Adresse erfolgt,
- Daten-Item-Einschreibmittel zum Einschreiben des Daten-Items in den Daten-
Item-Speicher bei einer eigenen Adresse, die einer Kumulation der Längencodes aller
zugehörigen Mengen von Koordinaten entspricht, die der betreffenden zugehörigen Menge
von Koordinaten in einer zuvor bestimmten Reihe von Mengen von Koordinaten
vorhergeht, und wobei die Auslesemittel umfassen
- einen Eingang zum Empfangen einer angebotenen Menge von Koordinaten, zu
denen ein gesuchtes Daten-Item gehört,
- Längenauslesemittel zum Auslesen eines gesuchten Längencodes aus dem
Längenspeicher, adressiert mit der angebotenen Menge von Koordinaten,
- Daten-Item-Auslesemittel zum Auslesen des gesuchten Daten-Items aus dem
Daten-Item-Speicher, mit
- Summenbestimmungsmitteln zum Bestimmen einer Summe aus Längen, die
von Längencodes der zugehörigen Mengen von Koordinaten angegeben werden,
die der angebotenen Menge von Koordinaten in der Reihe vorhergehen,
- Indexierungsmittel, die ausgebildet sind zum Auslesen des gesuchten Daten-
Items, indexiert mit der Summe aus dem Daten-Item-Speicher.
10. Einrichtung nach Anspruch 9, in der das Speichersystem umfasst
- Klassifikationsmittel zum Klassifizieren der zugehörigen Menge von
Koordinaten, zu der das Daten-Item gehört, innerhalb einer zuvor bestimmten Klassifikation der
Mengen von Koordinaten, wobei die Klassifikation den Raum in Kategorien von Mengen
von Koordinaten unterteilt und wobei die Mengen von Koordinaten in jeder Kategorie eine
jeweilige Verkettung in der genannten Reihe bilden;
- einen Verweisspeicher,
- Verweiseinschreibmittel zum Einschreiben jeweiliger Verweise in den
Verweisspeicher, wobei jeder Verweis sich auf eine jeweiligen Teilmenge der in dem Daten-
Item-Speicher gespeicherten und zu Mengen von Koordinaten in der betreffenden
Kategorie gehörenden Daten-Items bezieht,
- Verweisauslesemittel zum Auslesen eines Verweises aus dem Verweisspeicher,
adressiert mit einer Angabe der Kategorie der angebotenen Menge von Koordinaten,
wobei die Indexierungsmittel ausgebildet sind, das Daten-Item, indexiert mit einer
Kombination aus der Summe und dem Verweis, aus dem Daten-Item-Speicher auszulesen.
11. Einrichtung nach Anspruch 9 oder 10, in der der Längenspeicher in Blöcken
zugänglich ist, von denen jeder zwei oder mehr Längencodes enthält, die mit Mengen von
Koordinaten adressiert werden, die einander in der genannten Reihe folgen, und in der die
Summenbestimmungsmittel ausgebildet sind, bei der Bestimmung der Summe auf der
Basis des Auslesens eines einzigen Blockes zwei oder mehr Längen aufzusummieren.
12. Einrichtung nach einem der Ansprüche 9 bis 11, in der alle Mengen von
Koordinaten innerhalb jeder Kategorie zum einem zuvor bestimmten Teil identisch sind.
13. Einrichtung nach einem der Ansprüche 9 bis 12, in der der Raum und die
zugehörigen Mengen von Koordinaten zumindest dreidimensional sind.
14. Speichersystem mit Schreibmitteln nach einem der Ansprüche 9 bis 13.
15. Speichersystem mit Lesemitteln nach einem der Ansprüche 9 bis 13.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP94203690 | 1994-12-20 | ||
PCT/IB1995/001011 WO1996019809A2 (en) | 1994-12-20 | 1995-11-16 | Method of and device for writing and reading data items in a memory system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69516674D1 DE69516674D1 (de) | 2000-06-08 |
DE69516674T2 true DE69516674T2 (de) | 2000-12-28 |
Family
ID=8217467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69516674T Expired - Lifetime DE69516674T2 (de) | 1994-12-20 | 1995-11-16 | Verfahren und vorrichtung zur aufzeichnung und wiedergabe von daten in einem speichersystem |
Country Status (5)
Country | Link |
---|---|
US (1) | US5809565A (de) |
EP (1) | EP0745256B1 (de) |
JP (1) | JP3789132B2 (de) |
DE (1) | DE69516674T2 (de) |
WO (1) | WO1996019809A2 (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NZ500202A (en) * | 1997-03-21 | 2001-11-30 | Canal Plus Sa | Updating of flash memory pages in computer memory system |
EP0872798A1 (de) * | 1997-03-21 | 1998-10-21 | CANAL+ Société Anonyme | Speicherorganisation eines Rechners |
GB9802379D0 (en) * | 1998-02-05 | 1998-04-01 | Hayes Stephen J | Method & means for adjustment of circadian rhythms |
US8566028B2 (en) * | 2006-11-27 | 2013-10-22 | International Business Machines Corporation | Apparatus, system, and method for autonomously determining a set of destinations |
JP6171816B2 (ja) * | 2013-10-04 | 2017-08-02 | 富士通株式会社 | データ管理プログラム、データ管理装置およびデータ管理方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5652454A (en) * | 1979-10-05 | 1981-05-11 | Hitachi Ltd | Input/output control method of variable word length memory |
JPS5856164A (ja) * | 1981-09-30 | 1983-04-02 | Toshiba Corp | デ−タ処理装置 |
JPS59148467A (ja) * | 1983-02-14 | 1984-08-25 | Canon Inc | デ−タ圧縮装置 |
US4958302A (en) * | 1987-08-18 | 1990-09-18 | Hewlett-Packard Company | Graphics frame buffer with pixel serializing group rotator |
US4870479A (en) * | 1988-05-02 | 1989-09-26 | Dubner Computer Systems, Inc. | Video graphics memory storage reduction technique |
US5214764A (en) * | 1988-07-15 | 1993-05-25 | Casio Computer Co., Ltd. | Data processing apparatus for operating on variable-length data delimited by delimiter codes |
EP0382246A3 (de) * | 1989-02-09 | 1991-09-11 | Nec Corporation | Bitadressierungsanordnung |
JP2605434B2 (ja) * | 1989-12-09 | 1997-04-30 | ヤマハ株式会社 | 電子楽器のデータ発生装置 |
JPH04220826A (ja) * | 1990-12-20 | 1992-08-11 | Fujitsu Ltd | 転送データ格納方式 |
JPH04328956A (ja) * | 1991-04-26 | 1992-11-17 | Dainippon Screen Mfg Co Ltd | 画像デ−タの読出し方法 |
US5465374A (en) * | 1993-01-12 | 1995-11-07 | International Business Machines Corporation | Processor for processing data string by byte-by-byte |
KR970006633B1 (ko) * | 1993-12-29 | 1997-04-29 | 현대전자산업 주식회사 | 가변길이 복호기용 데이타 출력장치 |
US5577219A (en) * | 1994-05-02 | 1996-11-19 | Intel Corporation | Method and apparatus for preforming memory segment limit violation checks |
-
1995
- 1995-11-16 WO PCT/IB1995/001011 patent/WO1996019809A2/en active IP Right Grant
- 1995-11-16 JP JP51962496A patent/JP3789132B2/ja not_active Expired - Fee Related
- 1995-11-16 DE DE69516674T patent/DE69516674T2/de not_active Expired - Lifetime
- 1995-11-16 EP EP95935554A patent/EP0745256B1/de not_active Expired - Lifetime
- 1995-12-19 US US08/574,797 patent/US5809565A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69516674D1 (de) | 2000-06-08 |
EP0745256A1 (de) | 1996-12-04 |
WO1996019809A3 (en) | 1996-09-26 |
WO1996019809A2 (en) | 1996-06-27 |
JPH09510037A (ja) | 1997-10-07 |
US5809565A (en) | 1998-09-15 |
EP0745256B1 (de) | 2000-05-03 |
JP3789132B2 (ja) | 2006-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69110912T2 (de) | Verfahren zum Lokalisieren der Adresse auf zu sortierenden Gegenständen, Adressenetikett und Vorrichtung zum Durchführen des Verfahrens. | |
DE3111027C2 (de) | ||
DE2551239C3 (de) | Datenverarbeitungsanlage | |
DE2723523A1 (de) | Kompression und dekompression von gespeicherten digitaldaten | |
DE2801536A1 (de) | Zeichenerkennungsvorrichtung | |
DE69231113T2 (de) | Speicherverfahren für bibliographische Information über Daten aus einer endlichen Textquelle, und insbesondere Dokumentverbuchungen zur Verwendung in einem Suchsystem für Ganztextdokumente | |
DE2909153A1 (de) | Einrichtung zur elektronischen verarbeitung von bild- und/oder zeichenmustern | |
DE3940302C2 (de) | ||
DE2055784A1 (de) | Datenverarbeitungssystem | |
DE19627472A1 (de) | Datenbanksystem | |
DE3718620C2 (de) | ||
DE3900248A1 (de) | Steuersystem fuer einen automatischen schaltungstester | |
DE69516674T2 (de) | Verfahren und vorrichtung zur aufzeichnung und wiedergabe von daten in einem speichersystem | |
DE2233193C3 (de) | Stapel-Speichersystem | |
EP0700544B1 (de) | Verfahren und einrichtung zur raumfilterung | |
DE10017551A1 (de) | Verfahren zur zyklischen, interaktiven Bildanalyse sowie Computersystem und Computerprogramm zur Ausführung des Verfahrens | |
DE60114465T2 (de) | Verbesserungen bei oder in verbindung mit indexierungssystemen für bilder | |
DE3026055A1 (de) | Schaltungsanordnung zur maschinellen zeichererkennung | |
DE3688737T2 (de) | Kontextadressierbarer umlaufspeicher. | |
EP1145113B1 (de) | Verfahren und anordnung zur erzeugung und ausführung von komprimierten programmen eines vliw-prozessors | |
EP1204917B1 (de) | Operandenstapelspeicher und verfahren zum betreiben eines operandenstapelspeichers | |
DE19956625C2 (de) | Echtzeit-Datensortierung und -reduktion | |
EP1145086A2 (de) | Verfahren und anordnung zur ermittlung eines ähnlichkeitsmasses einer ersten struktur mit mindestens einer vorgegebenen zweiten struktur | |
DE69132182T2 (de) | System und Verfahren zum Abruf von Zeichenreihen | |
DE19749221C2 (de) | Vorrichtung zum Bestimmen der physikalischen Eigenschaften von Dünger |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8320 | Willingness to grant licences declared (paragraph 23) | ||
8364 | No opposition during term of opposition | ||
8321 | Willingness to grant licences paragraph 23 withdrawn | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: QUALCOMM, INC., SAN DIEGO, CALIF., US |
|
8328 | Change in the person/name/address of the agent |
Representative=s name: WAGNER & GEYER PARTNERSCHAFT PATENT- UND RECHTSANW |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: QUALCOMM INCORPORATED (N.D.GES.D. STAATES DELA, US |