DE102008050345A1 - System und Methode für Datenbearbeitung in Speichern - Google Patents

System und Methode für Datenbearbeitung in Speichern Download PDF

Info

Publication number
DE102008050345A1
DE102008050345A1 DE102008050345A DE102008050345A DE102008050345A1 DE 102008050345 A1 DE102008050345 A1 DE 102008050345A1 DE 102008050345 A DE102008050345 A DE 102008050345A DE 102008050345 A DE102008050345 A DE 102008050345A DE 102008050345 A1 DE102008050345 A1 DE 102008050345A1
Authority
DE
Germany
Prior art keywords
data
format
compression
integrated circuit
storage device
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.)
Ceased
Application number
DE102008050345A
Other languages
English (en)
Inventor
Mikio Tsukuba Sakurai
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qimonda AG
Original Assignee
Qimonda AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qimonda AG filed Critical Qimonda AG
Publication of DE102008050345A1 publication Critical patent/DE102008050345A1/de
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Studio Devices (AREA)

Abstract

Beschrieben werden ein System und eine Methode, bei der eine Speichereinrichtung Daten in einem ersten Format empfängt, die Speichereinrichtung diese aus dem ersten Format in ein zweites Format umwandelt und in dem zweiten Format ausgibt. Einen Schaltkreis, der mindestens ein Datensegment und eine Logikschaltung für den Empfang und die Umwandlung von Daten von einem ersten Format in ein zweites Format aufweist.

Description

  • Datenkompression wird im Allgemeinen eingesetzt, um die Speicherung von verschiedenen Datentypen zu ermöglichen, die in ihrer unverarbeiteten und unkomprimierten Form übermäßig groß sind. Solche Datentypen können Bilder, Video-, Audio- und verschiedene andere Datentypen umfassen, bei denen eine Komprimierung wünschenswert ist.
  • Die Verwendung von Datenkompressionsalgorithmen kann zeitaufwendig sein, je nach eingesetztem Algorithmus und der Datenmenge. Des Weiteren erfordern die Datenkompressionsalgorithmen während der Ausführung eine erhebliche Prozessorleistung und Speicherkapazität, um korrekt durchgeführt werden zu können.
  • Beschrieben wird eine Methode, bei der eine Speichereinrichtung Daten in einem ersten Format empfängt, diese in ein zweites Format umwandelt und in dem zweiten Format ausgibt.
  • 1 zeigt eine beispielhafte Ausführungsform der vorliegenden Erfindung, die ein System beinhaltet, bei dem eine Speichereinrichtung unterstützend zur Durchführung von Datenverarbeitungsprozessen eingesetzt wird.
  • 2 zeigt eine alternative beispielhafte Ausführungsform einer Speichereinrichtung entsprechend der vorliegenden Erfindung.
  • 3a zeigt eine weitere beispielhafte Ausführungsform eines Systems, bei dem eine Speichereinrichtung unterstützend zur Durchführung von Datenverarbeitungsprozessen eingesetzt wird.
  • 3b zeigt eine weitere beispielhafte Ausführungsform eines Systems, bei dem eine Speichereinrichtung unterstützend zur Durchführung von Datenverarbeitungsprozessen eingesetzt wird.
  • 4 zeigt eine beispielhafte Ausführungsform einer Speichereinrichtung zur unterstützenden Durchführung von Datenverarbeitungsprozessen, die eine Kameraschnittstelle beinhaltet.
  • 5 zeigt eine beispielhafte Ausführungsform einer Speichereinrichtung zur Unterstützung bei der Durchführung von Datenverarbeitungsprozessen, die eine Kameraschnittstelle und eine JPEG-Bildverarbeitungs-Logik beinhaltet.
  • Die Ausführungsbeispiele der vorliegenden Erfindung können mithilfe der folgenden Beschreibung und den angefügten Zeichnungen nachvollzogen werden, wobei gleichartige Elemente mit gleichen Bezugszeichen gekennzeichnet sind. Die hier gezeigten Ausführungsformen der vorliegenden Erfindung beschreiben Systeme und Methoden zur Verbesserung der Effizienz verschiedener Datenkompressionsprozessen zu verbessern. Die beispielhaften Ausführungsformen führen einen Teil eines Kompressionsalgorithmus aus, der eine in einem Speicher integrierte Logik anstelle eines Prozessors verwendet, was auf diese Weise die Anforderungen an den Prozessor reduziert. Die beispielhaften Systeme und Methoden werden im Folgenden weiter im Detail beschrieben.
  • Auch wenn die beispielhaften Ausführungsformen unter Bezugnahme auf Datenkompressionsverfahren beschrieben sind, erkennt der Fachmann, dass die Ausführungsbeispiele nicht auf die Verwendung von Datenkompressionsverfahren beschränkt sind. Wie später detaillierter beschrieben, ermöglichen die beispielhaften Ausführungsformen die Bearbeitung (z. B. Neuordnung) von unverarbeiteten Daten in einem Speicher (z. B. während die Daten in den Speicher geschrieben und/oder Daten aus dem Speicher gelesen werden). Daher können die Ausführungsbeispiele der vorliegenden Erfindung als Teil einer beliebigen Datenbearbeitung eingesetzt werden, in deren Verlauf die in einem Speicher enthaltenen Daten bearbeitet werden. Darüber hinaus kann die Datenverarbeitung innerhalb des Speichers auch den gesamten Prozess umfassen. Das bedeutet, dass die Datenverarbeitung nicht notwendigerweise ein Teil eines übergeordneten Prozesses wie beispielsweise einer Datenkompression sein muss, sondern auch den eigentlichen Zweck darstellen kann (z. B. zur effizienten Datenspeicherung für eine mögliche Verwendung bei einer Vielzahl von Prozessen).
  • Ferner wird darauf verwiesen, dass die beispielhaften Ausführungsformen mit Bezug auf einen wahlfreien Zugriffsspeicher („RAM" Random Access Memories) beschrieben werden, insbesondere eines dynamischen wahlfreien Zugriffsspeichers („DRAN"). Dennoch erkennt der Fachmann, dass die vorliegende Erfindung in jeder Art von Speichereinrichtung eingesetzt werden kann.
  • Viele Datentypen, insbesondere Bild-, Video- und Audiodaten können eine beachtliche Menge Speicherplatz beanspruchen. Es ist daher erstrebenswert, solche Daten zu komprimieren, um den benötigten Speicherplatz zu reduzieren. Verschiedene Kompressionsalgorithmen sind zu diesem Zweck entwickelt worden. Solche Kompressionsalgorithmen sind beispielsweise JPEG, GIF und PNG für Bilddaten; MPEG-4, WMV und AVS für Videodaten, und MP3, AAC und WMA für Audiodaten. Die hier dargestellten Ausführungsbeispiele werden im Folgenden unter Bezugnahme auf JPEG Bild-Kompressionsalgorithmen beschrieben; die gleichen Prinzipien sind aber auch auf viele andere Kompressionsalgorithmen anwendbar.
  • Der JPEG Bild-Kompressionsalgorithmus, auf den sich die folgende Beschreibung über die beispielhaften Ausführungsformen bezieht, gruppiert Komponenten in 8 × 8 Blöcke und führt die Datenverarbeitung an jedem dieser 8 × 8 Blöcke aus. Die Bilddaten liegen in unverarbeiteter Form als YUV Format vor, wobei "Y" für die Luminanz (Helligkeit) und "U" und "V" für die Chrominanz (Farbe, die in blaue und rote Anteile aufgeteilt ist) stehen. Ein von einem Bildsensor (z. B. eine Kamera) kommender Datenstrom liegt beispielsweise in der Form "YUYVYUYVYUYV ..." vor. Die Daten werden verarbeitet, indem die Bildkomponenten einzeln gruppiert werden und Datenverarbeitungsprozesse an gleichartigen Komponenten durchgeführt werden. So werden alle Y Komponenten in einer Gruppe, alle U Komponenten in einer zweiten Gruppe und alle V Komponenten in einer dritten Gruppe verarbeitet. Auf diese Weise werden die Datenoperationen an 8 × 8 Blöcken durchgeführt, wobei jede Komponente innerhalb eines Blocks entweder eine Komponente Y, U oder V ist.
  • Werden Bilddaten verarbeitet, um sie normalerweise im JPEG Format zu speichern, werden sie von einer Quelle, wie z. B. eine digitalen Kamera, über eine Schnittstelle empfangen und an einen Systemprozessor weitergeleitet. Der Prozessor speichert die Daten vorübergehend in einem Speicher (z. B. DRAM Vorrichtung) in seinem Standardformat "YUYVYUYVYUYV ...", bis der Prozessor zur Datenverarbeitung bereit ist. Wenn der Prozessor zur Datenverarbeitung bereit ist, werden die Daten aus dem Speicher wieder zurück an den Prozessor übertragen. Im Prozessor werden die Daten sortiert und in der Form "YYYY", "UUUU" und "VVVV" neu gruppiert und in Blöcken von 8 × 8 aufgeteilt, an denen der verbleibende JPEG Algorithmus ausgeführt wird. Wenn der Algorithmus ausgeführt ist, kann an den 8 × 8 Blöcken die erzeugte JPEG Datei in einem flüchtigen Speicher (z. B. RAM, DRAM, synchrone DRAM ("SDRAM"), Extended Data Out RAM ("EDORAM"), Double Data Rate RAM ("DDRRAM"), DDR2RAM usw.) und/oder nicht-flüchtigem Speicher (z. B. Compact Flash ("CF") Karte, eine Secure Digital ("SD") Karte, ein Festplattenlaufwerk usw.) abgelegt werden.
  • In einer anderen Ausführungsform werden die Daten, nachdem sie von einer Bildquelle empfangen werden, vom Prozessor neu geordnet, noch bevor sie zwischenzeitlich in einer Speichereinrichtung abgelegt werden. Nachdem die Daten vom Speicher an den Prozessor übertragen worden sind, wird der verbleibende JPEG Algorithmus ausgeführt. In beiden Fällen werden alle Datenverarbeitungsprozesse zur Umsetzung des JPEG Kompressionsalgorithmus im Prozessor ausgeführt.
  • 1 zeigt eine beispielhafte Ausführungsform eines Systems 100, welches einen Bildsensor 140, eine Speichereinrichtung 110 und einen Prozessor 150 aufweist, wobei die Speichereinrichtung 110 die Daten bearbeitet, um die Ausführung des JPEG Kompressionsalgorithmus zu unterstützen. Die Speichereinrichtung 110 beinhaltet eine Neuordnungslogik 120 und Datensegmente 130, 132, 134. Die spezifische Anzahl von Datensegmente kann bei unterschiedlichen Ausführungen variieren. In dieser beispielhaften Ausführungsform werden aufgrund der Besonderheiten des JPEG Algorithmus acht Segmente 0–7 benutzt, von denen zur praktischen Darstellung nur drei gezeigt sind. In dieser beispielhaften Ausführungsform werden die Datensegmente 130, 132, 134 als physikalisch getrennte Komponenten gezeigt. Der Fachmann wird aber erkennen, dass die Datensegmente ebenso innerhalb einer einzigen Speicherkomponente auf einer virtuellen Trennung der Segmente basieren können, z. B. jedes Segment ist einem Bereich von Spaltenadressen innerhalb des Speichers zugeordnet.
  • Der Bildsensor 140 sammelt die Bilddaten, wie beispielhaft mit den Bilddaten 142 gezeigt ist. Der Bildsensor 140 kann eine beliebige Vorrichtung sein, das in der Lage ist, Bilddaten 142 zu sammeln, wie z. B. eine Kamera usw.. Die unverarbeiteten Bilddaten 142 werden zum Speicher 110 übertragen. Wie oben beschrieben, können die unverarbeiteten Bilddaten 142 mittels eines Prozessors 150 vom Bildsensor 140 zum Speicher 110 übertragen werden. Die vom Speicher 110 empfangenen Daten, liegen – wie vorgehend beschrieben – im Format 144 "YUYVYUYVYUYV ..." vor. Die Neuordnungslogik 120 teilt die empfangenen Daten 144 in getrennte Gruppen von Y-, U- und V-Komponenten ein.
  • Die Neuordnungslogik 120 kann jede Kombination von Hardware und/oder Software sein, die in den Speicher 110 integriert und zur Durchführung der hier beschriebenen Funktionalität konfiguriert ist. Zum Beispiel kann die Speichereinrichtung 110 eine oder mehrere Komponenten oder Schaltkreise aufweisen, die derart gestaltet sind, dass sie die Firmware, die in der Speichereinrichtung 110 enthalten ist, ausführen kann. Diese Schaltkreise und/oder Firmware können so verändert werden, dass sie die Funktionalität ausführen können, die für die Neuordnungslogik 120 beschrieben ist. Zudem kann die Neuordnungslogik 120 so ausgeführt sein, dass sie als Hardware und/oder Software außerhalb des Speichers 110 vorliegt, z. B. auf einer Hauptplatine oder einer anderen Komponente einer Vorrichtung, die ebenfalls den Speicher 110 aufweist.
  • Eine Gruppe von acht Y Komponenten wird in der ersten Zeile des ersten Segments 130 angeordnet. In diesem Beispiel basiert die Aufteilung von unverarbeiteten Daten in Komponentendaten auf der Zeilenadresse innerhalb der Speichereinheit. Demnach wird die erste Gruppe von acht Y Komponenten Y0 (0-7) so dargestellt, dass sie im ersten Segment 130, Zeilenadresse #0 gespeichert ist. Es wird angemerkt, dass andere Aufteilungsschemata ebenfalls angewendet werden können. Die nächste Gruppe von acht Y Komponenten (z. B. Y1 (0-7)) wird in der ersten Zeile vom zweiten Segment 132 (Zeilenadresse #0) platziert. Dieser Prozess setzt sich fort, bis die achte Gruppe der acht Y Komponenten (z. B. Y7 (0-7)) in der ersten Zeile (Zeilenadresse #0) des achten Segments 134 platziert worden ist.
  • Danach wird die nächste Gruppe von acht Y Komponenten (z. B. Y8 (0-7)) in der zweiten Zeile (Zeilenadresse #1) des ersten Segments 130 platziert, wobei der Prozess wie oben beschrieben weitergeführt wird und bei jeder achten Gruppe zum ersten Segment 130 zurückgekehrt wird. Die U und V Komponenten werden in derselben Weise angeordnet; da das „YUYV" Muster zwei Y Komponenten für jede einzelne U Komponente und V Komponente enthält, sind doppelt so viele Y Komponenten zu sortieren und demzufolge sind insgesamt doppelt so viele Zeilen mit Y Komponenten vorhanden. Dieser Prozess wird in 1 veranschaulicht. Es wird allerdings nochmals angemerkt, dass die Details dieses Prozesses, die den JPEG Algorithmus betreffen, als Beispiel dienen und es soll damit gezeigt werden, wie die Ausführungsbeispiele der vorliegenden Erfindung bei deren speziellen Datenkompressionsmethoden angewendet werden können.
  • Nachdem alle erhaltenen Daten sortiert wurden, können die sortierten Daten 152 an den Prozessor 150 gesendet werden, an dem die JPEG Verarbeitung fortgesetzt wird. In einem Beispiel werden die Daten vom Speicher 110 unter Anwendung einer „Burst Segment Interleave Method" gelesen. Andere Methoden, die Daten im Speicher 110 zu lesen, können ebenfalls angewendet werden. Zum Beispiel wird die erste Zeile (Zeilenadresse #0) des ersten Segments 130 gesendet (z. B. Y0 (0-7)), gefolgt von der ersten Zeile (Zeilenadresse #0) des zweiten Segments 132 (z. B. Y1 (0-7)); so wird fortgefahren bis zur ersten Zeile (Zeilenadresse #0) des achten Segments 134 (z. B. Y7 (0-7)). Diese acht Zeilen des achten Segments formen eine 8 × 8 Gruppe, wie oben beschrieben. Danach wird die zweite Zeile (Zeilenadresse #1) des ersten Segments 130 (z. B. Y7 (0-7)) gesendet, gefolgt von einer zweiten Zeile (Zeilenadresse #1) des zweiten Segments 132 (z. B. Y9 (0-7)) und so weiter. Auf diese Weise empfängt der Prozessor 150 eine sortierte Bilddatei 152, so dass die JPEG Kompression an einer geordneten Bilddatei 152 ausgeführt werden kann. Dadurch dass der Prozessor 150 von der Neuordnung der Daten entlastet wird, können Daten schneller vom Speicher 110 zum Prozessor 150 übertragen werden und der Prozessor 150 kann den verbleibenden Teil des JPEG Prozesses ebenfalls schneller ausführen.
  • Zum oben genannten Beispiel ist anzumerken, dass die unverarbeiteten Bilddaten 144 so dargestellt werden wie sie vom Bildsensor 140 empfangen wurden. Es wird angemerkt, dass die Speichereinrichtung 110 die unverarbeiteten Bilddaten 144 nicht direkt vom Bildsensor 140 erhalten muss. Zum Beispiel kann die Speichereinrichtung 110 ein Teil einer Vorrichtung sein, das mit einem Netzwerk verbunden ist. Die unverarbeiteten Bilddaten 144 können über das Netzwerk zur weiteren Verarbeitung an das Netzwerkendgerät übertragen werden, das die Speichereinrichtung 110 aufweist.
  • 2 zeigt eine weitere beispielhafte Ausführungsform einer Speichereinrichtung 210. Wie die Speichereinrichtung 110 der 1 beinhaltet der Speicher 210 eine Vielzahl von Datensegmenten 230, 232 und 234. Wie vorher für die Speichereinrichtung 110 dargestellt, kann die genaue Anzahl der Datensegmente in Abhängigkeit von der spezifischen Ausführung variieren. Die Speichereinrichtung 210 beinhaltet ebenfalls die Neuordnungslogik 220, die in einer entsprechenden Weise betrieben werden kann wie oben für die Speichereinrichtung 110 beschrieben.
  • Der Speicher 210 unterscheidet sich von der Speichereinrichtung 110 dadurch, dass die Datensegmente 230, 232, 234 in Neuordnungsbereiche 240, 242, 244 und in Nicht-Neuordnungsbereiche 250, 252 und 254 unterteilt werden. Daten, die von der Neuordnungslogik 220 sortiert wurden, werden in den Neuordnungsbereichen 240, 242, 244 gespeichert. Die Nicht-Neuordnungsbereiche 250, 252, 254 sind der Speicherung von Daten vorbehalten, die nicht von der Neuordnungslogik 220 geordnet wurden, sondern vielmehr anderen Aufgaben oder Daten vorbehalten sind.
  • Die Speichereinrichtung 210 kann zum Beispiel Teil einer digitalen Kamera sein. Zusätzlich zur Speicherung von Bilddaten, die von der digitalen Kamera gesammelt werden, kann die Speichereinrichtung 210 (z. B. DRAM Vorrichtung) ebenfalls den Betriebssystemkern für die Kamera speichern, während die Kamera in Betrieb ist. Der Betriebssystemkern kann verschiedene Kamerafunktionen steuern, wie z. B. das Zoomen sowie Benutzeroberflächen wie Bildschirm und Blitzsteuerung usw.. Die Daten des Betriebssystemkerns müssen nicht in derselben Weise geordnet werden wie die unverarbeiteten Bilddaten. Während der Betriebssystemkern auf der wie in 1 gezeigten beispielhaften Ausführungsform der Speichereinrichtung 110 gespeichert werden kann, kann es beim Speichern der Bilddaten notwendig werden, die Daten des Betriebssystemkerns innerhalb der Speichereinrichtung 110 zu ersetzen oder zu einer anderen Adresse zu verschieben. Diese beispielhafte Ausführungsform ermöglicht es, Betriebssystemdaten zu einer neuen Adresse zu verschieben, wobei der Prozessor gleichzeitig denselben Speicher 210 für vielfache Anwendungen verwenden kann, wie z. B. Betriebssystemspeicherung an Adressen, die dem Prozessor vorbehalten sind und zur vorübergehenden Speicherung von geordneten Bilddaten.
  • 3a zeigt ein alternatives Ausführungsbeispiel eines Systems 300 zur Verarbeitung von Daten in einem Speicher 310. Ähnlich zu der oben beschriebenen beispielhaften Ausführungsform können die Daten z. B. Bilddaten sein, die von einem Bildsensor 340 empfangen wurden. Wie schon oben beschrieben, sind die Ausführungsbeispiele der vorliegenden Erfindung nicht auf Bilddaten beschränkt. Der Speicher 310 kann eine Vielzahl von ersten Datensegmenten 330 und zweiten Datensegmenten 335 aufweisen. Wie vorhergehend beschrieben, kann die genaue Anzahl von den ersten und zweiten Datensegmenten 330 und 335 in Abhängigkeit von der spezifischen Anwendung des Speichers 310 variieren. Zu Illustrationszwecken sind in 3 nur ein einzelnes erstes Datensegment 330 und ein zweites Datensegment 335 dargestellt. In dieser beispielhaften Ausführungsform kann das erste Datensegment 330 zum Beispiel ein DRAM Bauteil sein, während das zweite Datensegment 335 zum Beispiel ein Static RAM („SRAM") Bauteil sein kann. Auf diese Weise kann in dieser beispielhaften Ausführungsform die Speichereinrichtung 310 zwei oder mehr Speichertypen umfassen. Der Fachmann wird verstehen, dass der Gebrauch von DRAM und SRAM lediglich beispielhaft ist und andere Speichertypen, wie z. B. SDRAM, EDORAM, DDRRAM, DDR2RAM usw. ebenso verwendet werden können.
  • Der Speicher 310 speichert zunächst die Bilddaten in der Reihenfolge, in der er sie empfängt. Auf diese Weise können die vom Bildsensor 340 erhaltenen unverarbeiteten Bilddaten im selben Format im ersten Datensegment 330 gespeichert werden. Anstatt die Daten bei Erhalt neu zu ordnen, sortiert eine Neuordnungslogik 320 die Daten, wenn sie aus dem Speicher 310 ausgelesen werden (z. B. von einem Prozessor).
  • Wenn der Speicher 310 in dieser beispielhaften Ausführungsform den Befehl zum Lesen der Bilddaten erhält, die im Datensegment 330 gespeichert sind, werden die Bilddaten in ein zweites Datensegment 335 kopiert. Die zu dem zweiten Datensegment 335 kopierten Bilddaten können ihr unverarbeitetes Bildformat behalten. Werden die Daten jedoch zu dem Prozessor ausgegeben, generiert die Neuordnungslogik 320 die Speicheradresse, an welcher die Daten ausgegeben werden sollen, um die neu sortierten Daten zu bilden, die zum Prozessor ausgegeben werden. Hierdurch sind die von dem Prozessor empfangenen Daten in einer ähnlichen Weise neu geordnet wie die oben unter Bezugnahme auf 1 beschriebenen neu geordneten Daten. Da der SRAM in diesem Beispiel sehr schnell ist, erscheint das Ausgeben der Daten für den Prozessor wie ein normaler „Burst" Lesevorgang und der Prozessor wird dann die neu geordneten Bilddaten zu weiteren Verarbeitung erhalten.
  • 3b zeigt eine weitere alternative Ausführungsform eines Systems 350 zur Verarbeitung von Daten in einem Speicher 310. Das System 350 weist dieselben Komponenten auf wie in 3b für das System 300 beschrieben. Der Unterschied zwischen den beiden beispielhaften Ausführungsformen besteht darin, dass innerhalb des Systems 350 die Neuordnungslogik 320 die neu geordneten Daten bildet und diese neu geordneten Daten in dem neu geordneten Format im zweiten Datensegment 335 speichert, sobald der Lesebefehl vom Speicher 310 erhalten wurde und die Daten vom ersten Datensegment 330 zum zweiten Datensegment 335 kopiert werden. Wenn die Daten aus dem zweiten Datensegment 335 ausgelesen werden, werden sie in demselben Format, d. h. dem neu geordneten Format, ausgegeben, wie sie in dem zweiten Datensegment 335 gespeichert sind.
  • Es wird angemerkt, dass in den beispielhaften Ausführungsformen der 3a und 3b die Daten aus dem Speichers 310 sowohl in dem neu geordneten Format als auch in dem unverarbeiteten Format ausgelesen werden können. Wie oben beschrieben, können die Daten in dem neu geordneten Format aus dem zweiten Datensegment 335 ausgelesen werden. Es ist ebenfalls möglich, die unverarbeiteten Daten aus dem ersten Datensegment 330 auszulesen, um diese dann in ihrem unverarbeiteten Format zu behalten. Das kann dann zum Beispiel nützlich sein, wenn die Daten unter Verwendung einer verlustreichen Kompression wie JPEG komprimiert wurden. Zum Beispiel könnte der Anwender den Wunsch haben, die im JPEG komprimierten Bilder zu speichern, gleichzeitig aber auch die ursprünglichen Daten für andere Anwendungen zu speichern. In diesem Fall können die im ersten Datensegment 330 gespeicherten unverarbeiteten Bilddaten zu einem anderen flüchtigen oder nicht-flüchtigen Typ einer Speichereinrichtung kopiert werden.
  • 4 zeigt eine weitere beispielhafte Ausführungsform einer Speichereinrichtung 410, die eine Kameraschnittstelle 415 beinhaltet. Die Speichereinrichtung 410 kann generell ähnlich wie die Speichereinrichtungen 110, 210 und 310 funktionieren, deren Funktionsweise bereits oben beschrieben ist, mit dem Ziel, die Datenverarbeitung zu unterstützen. Zusätzlich zu den oben beschriebenen Funktionsweisen beinhaltet die Speichereinrichtung 410 ebenfalls eine Kameraschnittstelle 415. In dieser beispielhaften Ausführungsform können daher die von der Kamera 440 gesammelten unverarbeiteten Bilddaten 445 direkt über die Kameraschnittstelle 415 zur Speichereinrichtung 410 übertragen werden. Grund hierfür ist, dass die unverarbeiteten Bilddaten 445 nicht notwendigerweise durch den Prozessor 450 übertragen werden müssen, um von der Speichereinrichtung 410 gespeichert zu werden. Damit kann die Auslastung des Prozessors 450 weiter reduziert werden, indem der Datenverkehr an unverarbeiteten Bilddaten, der durch den Prozessor 450 läuft, vermieden wird.
  • Die Kamera 440 wird, um mit diesem Beispiel fortzufahren, die unverarbeiteten Bilddaten 445 sammeln und diese zur Kameraschnittstelle 415 der Speichereinrichtung 410 senden. Die Kameraschnittstelle 415 kann eine in die Speichereinrichtung 410 eingebaute Komponente und/oder ein in die Speichereinrichtung 410 eingebauter Softwarecode sein, die zum Empfang der unverarbeiteten Bilddaten 445 von der Kamera konfiguriert worden ist und jeden notwendigen Schritt durchführen kann, so dass die Daten vom Speicher 410 angenommen werden.
  • In dieser beispielhaften Ausführungsform weist die Speichereinrichtung 410 die Neuordnungslogik 420 auf, die zur Neuordnung der unverarbeiteten Bilddaten 445 benötigt wird und speichert die neu geordneten Bilddaten in den Datensegmente(en) 430. Dieser Prozess zur Neuordnung der unverarbeiteten Bilddaten 445 in die neu geordneten Bilddaten kann jeder der oben unter Bezugnahme der beispielhaften Ausführungsformen in 13 beschriebenen Prozesse sein. Wenn also der (die) unter 12 beschriebene(n) Neuordnungsprozess(e) angewendet wird/werden, findet die Neuordnung dann statt, wenn die Daten in die Speichereinrichtung 410 geschrieben werden. Wenn im Gegensatz dazu der/die unter 3a–b beschriebene(n) Neuordnungsprozess(e) angewendet wird/werden, findet die Neuordnung dann statt, wenn die Daten vom Speicherbaustein 410 ausgelesen werden.
  • Wie in 4 gezeigt, weist die Speichereinrichtung 410 ebenfalls eine Standardspeicherschnittstelle 455 auf, die als Schnittstelle mit dem Prozessor 450 für jeden normalen Lese-/Schreibvorgang zwischen dem Prozessor 450 und der Speichereinrichtung 410 verwendet wird. Die Speichereinrichtung 410 weist weiterhin eine Steuerlogik auf, die ein Unterbrechungssignal auslösen kann, das zum Prozessor 450 gesendet wird, sobald die gesamten Bilddaten im Speicher 410 gespeichert sind. D. h. wenn die Speichereinrichtung 410 die Gesamtheit der Bilddaten gespeichert hat, dann sendet die Speichereinrichtung 410 das Unterbrechungssignal zum Prozessor 450. Dieses Unterbrechungssignal signalisiert dem Prozessor 450, dass die ganzen Bilddaten nun in der Speichereinrichtung 410 gespeichert sind und dass der Prozessor 450 mit einer beliebigen Bildverarbeitung der gespeicherten Daten beginnen kann (z. B. mit der verbleibenden JPEG Kompression). Hierbei ist es bis zum Abschluss der Datenspeicherung nicht erforderlich, dass der Prozessor 450 weder in die Datenspeicherung noch in die Übertragung der Daten auf die Speichereinrichtung 410 involviert ist.
  • Der Fachmann wird nachvollziehen können, dass in der obigen Beschreibung einer beispielhaften Ausführungsform als Schnittstelle eine Kameraschnittstelle 415 verwendet wird, um Daten von einer externen Quelle anzunehmen. Ausführungsbeispiele der vorliegenden Erfindung sind jedoch nicht beschränkt auf den Gebrauch von Kameraschnittstellen.
  • Die Schnittstelle kann eine beliebige Art von Schnittstelle sein, die von einer Speichereinrichtung verwendet wird, um Daten direkt von einer externen Quelle anzunehmen. Wie oben beschrieben, können diese Daten zum Beispiel Bild-, Video- oder Audiodaten sein, oder auch jede Art von Daten sein, bei der eine zusätzliche Verarbeitung stattfindet.
  • 5 zeigt eine weitere beispielhafte Ausführungsform einer Speichereinrichtung, die ein JPEG Modul 560 aufweist. Die Speichereinrichtung 510 weist dieselben Basiskomponenten auf wie für die oben beschriebene Speichereinrichtung 410, einschließlich einer Kameraschnittstelle 515, um die unverarbeiteten Bilddaten 545 direkt von der Kamera 545 anzunehmen, weiterhin (ein) Speichersegment(e) 530, eine Neuordnungslogik 520 und eine Standardspeicherschnittstelle 555. In dieser beispielhaften Ausführungsform wird die gesamte JPEG Kompression in der Speichereinrichtung 510 ausgeführt, da die Speichereinrichtung 510 auch ein JPEG Modul 560 umfasst. Das JPEG Modul 560 weist die erforderliche Logik auf, um die verbleibenden Schritte des JPEG Algorithmus auszuführen, die im Beispiel der 4 vom Prozessor 450 ausgeführt werden. Auf diese Weise wird der Neuordnungsschritt nicht nur innerhalb der Speichereinrichtung 510 ausgeführt, sondern alle Schritte der JPEG Kompression werden innerhalb der Speichereinrichtung 510 ausgeführt und das JPEG Bild kann im (in) dem(n) Speichersegment(en) 530 gespeichert werden. Auf diese Weise ist der Prozessor 550 von der Erstellung des JPEG Bildes vollständig befreit, wie im Ausführungsbeispiel der 5 dargestellt. Das JPEG Bild, das in der Speichereinrichtung 510 gespeichert ist, kann dann in jede Art von flüchtigen und/oder nicht-flüchtigen Speicher kopiert werden.
  • Der Fachmann wird nachvollziehen können, dass die Einbeziehung des JPEG Moduls lediglich beispielhaft ist. Das heißt, jeder Typ eines Datenverarbeitungsmoduls kann in einer Speichereinrichtung enthalten sein, um die Datenverarbeitung durchzuführen, die andernfalls vom Prozessor ausgeführt wird. Die Datenverarbeitung ist nicht auf JPEG oder Datenkompression beschränkt, sondern kann jede Funktionalität sein, um unverarbeitete Daten zu verarbeiten, die von der Speichereinrichtung empfangen werden.
  • Der Fachmann wird ebenfalls erkennen, dass das JPEG Modul 560 (oder ein anderes Datenverarbeitungsmodul) in der Speichereinrichtung als Hardwarekomponente und/oder Softwarecode implementiert werden kann, welches die Funktionalität ausübt, die vom Modul ausgeführt werden soll.
  • Die hierin beschriebenen beispielhaften Ausführungsformen verbesserte Effizienz der Datenbearbeitungsprozesse durchgeführt an Daten, die in einem Speicher gespeichert sind. Das heißt, dass einige (oder alle) Datenbearbeitungsprozesse vom Prozessor an die Speichereinrichtung übergeben werden. In den beispielhaften Ausführungsformen war die Form der Datenbearbeitung die Datenkompression (z. B. JPEG Kompression). Es ist dennoch aus der obigen Beschreibung ersichtlich, dass die Ausführungsbeispiele der vorliegenden Erfindung in Verbindung mit anderen Typen von Datenbearbeitungsverfahren eingesetzt werden können, bei denen einige (oder alle) der Verarbeitungsschritte von der Speichereinrichtung ausgeführt werden.
  • Der als Beispiel aufgeführte Speicher kann in einer Vorrichtung eingebaut werden, der für eine besondere Aufgabe bestimmt ist (z. B. eine digitale Kamera, ein Digitalvideorekorder, ein Digitalaudiorekorder). Wenn ein Teil der Datenverarbeitung in dem beispielhaften Speicher statt im Prozessor ausgeführt wird, kann der Prozessor daher so spezifiziert sein, dass er diese Funktionalität nicht notwendigerweise bereitstellen muss. Folglich wird ein Prozessor mit geringerem Leistungsumfang benötigt, was zu einer Kostenreduzierung der Vorrichtung führt.
  • Der beispielhafte Speicher kann ebenfalls in Universalrechnern eingebaut werden, die allgemein zweckdienlich sind, z. B. einem Personal Computer („PC"). In dieser Umgebung wird die beispielhafte Speichereinrichtung den Prozessor von bestimmten Verarbeitungsaufgaben entlasten, was wiederum dem Prozessor ermöglicht, für andere Aufgaben eingesetzt zu werden, so dass die Geschwindigkeit und die Effizienz des Rechners erhöht werden können.
  • Es wird für den Fachmann ersichtlich sein, dass bei der vorliegenden Erfindung verschiedene Abwandlungen gemacht werden können, ohne dabei vom Wesen oder dem Anwendungsbereich der Erfindung abzukommen. Es ist daher beabsichtigt, dass die vorliegende Erfindung die Abwandlungen und Variationen dieser Erfindung abdeckt, sofern sie sich innerhalb des Umfangs der angefügten Ansprüche und ihrer Entsprechungen befinden.

Claims (22)

  1. Ein Verfahren, aufweisend: Empfangen von Daten in einem ersten Format durch eine Speichereinrichtung; Umwandeln der Daten von dem ersten in ein zweites Format durch die Speichereinrichtung; und Ausgeben der Daten in dem zweiten Format.
  2. Das Verfahren des Anspruchs 1, wobei das Umwandeln die eine Neuordnung der Daten aufweist.
  3. Das Verfahren des Anspruchs 1, wobei das Umwandeln folgende Vorgänge aufweist: Schreiben der Daten in die Speichereinrichtung in dem ersten Format; und Lesen der Daten aus der Speichereinrichtung in dem zweiten Format.
  4. Das Verfahren des Anspruchs 1, wobei das Umwandeln das Schreiben der Daten in die Speichereinrichtung in das zweite Format aufweist.
  5. Das Verfahren des Anspruches 1, wobei die Daten Bilddaten, Videodaten oder Audiodaten sind.
  6. Das Verfahren des Anspruchs 1, wobei das Umwandeln der Daten für einen Datenkompressionsvorgang durchgeführt wird.
  7. Das Verfahren des Anspruchs 6, wobei der Datenkompressionsvorgang eine JPEG Kompression oder eine GIF Kompression oder eine PNG Kompression oder eine MPEG Kompression oder eine WMV Kompression oder eine AVS Kompression oder eine MP3 Kompression oder eine AAC Kompression oder eine WMA Kompression ist.
  8. Das Verfahren des Anspruchs 1, wobei die Daten Bilddaten sind, die Luminanzkomponenten und Chrominanzkomponenten aufweisen und das zweite Format ein neu geordnetes Format ist, das ein Gruppieren der Luminanzkomponenten und Chrominanzkomponenten aufweist.
  9. Das Verfahren des Anspruchs 1, wobei die Daten Bilddaten sind und das zweite Format ein JPEG Bildformat ist.
  10. Eine integrierte Schaltung, umfassend: mindestens ein Datensegment; und eine Logikschaltung, eingerichtet zum Empfangen und Umwandeln von Daten von einem ersten Format in ein zweites Format.
  11. Die integrierte Schaltung des Anspruchs 10, wobei die Logikschaltung die Daten in einem ersten Format während eines Schreibvorgangs empfängt, die Daten von dem ersten in das zweite Format umwandelt und die Daten in dem zweiten Format speichert.
  12. Die integrierte Schaltung des Anspruchs 10, wobei die Logikschaltung die Daten in dem ersten Format während eines Lesevorgangs empfängt, die Daten von dem ersten in das zweite Format umwandelt und die Daten in dem zweiten Format ausgibt.
  13. Die integrierte Schaltung des Anspruchs 10, wobei das mindestens eine Datensegment eine Vielzahl von Datensegmenten darstellt und wobei jedes Datensegment einen Teil der Daten speichert.
  14. Die integrierte Schaltung des Anspruchs 10, wobei das mindestens eine Datensegment einen ersten Bereich aufweist, in dem die Daten in dem zweiten Format gespeichert werden, und einen zweiten Bereich aufweist, in dem zusätzliche, nicht von der Logikschaltung umgewandelte Daten gespeichert werden.
  15. Die integrierte Schaltung des Anspruchs 10, weiterhin aufweisend: eine Schnittstelle zum Empfang der Daten in dem ersten Format.
  16. Die integrierte Schaltung des Anspruchs 10, wobei das erste Format ein Format von unverarbeiteten Daten und das zweite Format ein in einem Datenbearbeitungsprozess verwendetes Format ist.
  17. Die integrierte Schaltung des Anspruchs 16, wobei das Datenbearbeitungsvorgang ein Datenkompressionsvorgang ist.
  18. Eine Vorrichtung, aufweisend: eine Einheit zum Sammeln von Daten in einem ersten Format; eine Speichereinrichtung, die die Daten in einem Format, ausgewählt aus dem ersten Format und einem zweiten Format, speichert und in dem zweiten Format ausgibt; und ein Prozessor, der die Daten aus der Speichereinrichtung empfängt.
  19. Die Vorrichtung des Anspruchs 18, wobei die Speichereinrichtung die Daten in dem ersten Format empfängt und die Daten in mindestens einem Datensegment in dem zweiten Format speichert.
  20. Die Vorrichtung des Anspruchs 18, wobei die Speichereinrichtung die Daten von dem ersten in das zweite Format umwandelt.
  21. Eine Vorrichtung, aufweisend: ein Mittel zum Empfangen von Daten in einem ersten Format; und einem Mittel eingerichtet die Daten in einem ersten Format oder einem zweiten Format zu speichern und in dem zweiten Format auszugeben; und einem Mittel das eingerichtet ist die Daten aus dem Mittel zum Speichern zu empfangen.
  22. Eine integrierte Schaltung, aufweisend: mindestens ein Datensegment; und ein Mittel zum Empfang und zur Umwandlung von Daten von einem ersten Format in ein zweites Format.
DE102008050345A 2007-10-03 2008-10-02 System und Methode für Datenbearbeitung in Speichern Ceased DE102008050345A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/866,806 2007-10-03
US11/866,806 US20090094392A1 (en) 2007-10-03 2007-10-03 System and Method for Data Operations in Memory

Publications (1)

Publication Number Publication Date
DE102008050345A1 true DE102008050345A1 (de) 2009-04-16

Family

ID=40435718

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008050345A Ceased DE102008050345A1 (de) 2007-10-03 2008-10-02 System und Methode für Datenbearbeitung in Speichern

Country Status (2)

Country Link
US (1) US20090094392A1 (de)
DE (1) DE102008050345A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018004391A1 (de) * 2018-06-04 2019-12-05 Baumer Optronic Gmbh Verfahren, Vorrichtung und Kamerasystem zur Bildtransformation

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011075076A1 (en) * 2009-12-16 2011-06-23 T-Data Systems (S) Pte Ltd Method of converting digital data

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5359694A (en) * 1992-07-27 1994-10-25 Teknekron Communications Systems, Inc. Method and apparatus for converting image data
JP3203290B2 (ja) * 1994-03-31 2001-08-27 富士写真フイルム株式会社 ディジタル電子スチル・カメラおよびメモリ・カードへの記録方法
JPH1042286A (ja) * 1996-07-19 1998-02-13 Canon Inc 画像処理装置、方法及びコンピュータ可読メモリ装置
JP3762049B2 (ja) * 1997-06-27 2006-03-29 キヤノン株式会社 撮像装置及び撮像方法及びその撮像方法を記録した記録媒体
JP4131052B2 (ja) * 1998-07-17 2008-08-13 ソニー株式会社 撮像装置
JP4253881B2 (ja) * 1998-07-17 2009-04-15 ソニー株式会社 撮像装置
JP3532781B2 (ja) * 1999-02-12 2004-05-31 株式会社メガチップス 画像入力装置の画像処理回路
JP2001275029A (ja) * 2000-03-28 2001-10-05 Minolta Co Ltd デジタルカメラ、その画像信号処理方法及び記録媒体
DE60114520T2 (de) * 2000-07-14 2006-06-01 Matsushita Electric Industrial Co., Ltd., Kadoma Farbbildaufnahmegerät
JP3800192B2 (ja) * 2002-05-21 2006-07-26 カシオ計算機株式会社 撮像装置、画像合成方法及び画像合成プログラム
EP1530377A4 (de) * 2002-06-28 2006-05-10 Nokia Corp Informationsterminal
JP4169340B2 (ja) * 2002-11-25 2008-10-22 カシオ計算機株式会社 表示パネル用出力信号生成回路、デジタルカメラ及び表示パネル用出力信号生成方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018004391A1 (de) * 2018-06-04 2019-12-05 Baumer Optronic Gmbh Verfahren, Vorrichtung und Kamerasystem zur Bildtransformation
DE102018004391B4 (de) 2018-06-04 2022-12-01 Baumer Optronic Gmbh Verfahren, Vorrichtung und Kamerasystem zur Bildtransformation

Also Published As

Publication number Publication date
US20090094392A1 (en) 2009-04-09

Similar Documents

Publication Publication Date Title
DE3606869C2 (de) Vorrichtung zur Datenkompression
DE69834739T2 (de) Ausgleichen von daten die zwischen verschiedenen leitern fliessen die auf unterschiedlichen frequenzen operieren
EP0230437B1 (de) Verfahren zum komprimieren und dekomprimieren mehrerer strukturverwandter datenfolgen sowie einrichtungen zur durchführung des verfahrens
DE602004004442T2 (de) Kartenidentifikationssystem
DE10339225A1 (de) Speichereinrichtung mit optimierter Kompression
DE102017120787A1 (de) Verfahren und Vorrichtung zum Entladen von Datenverarbeitung in Hybrid-Speichervorrichtungen
WO2005091131A2 (de) Computersystem zur elektronischen datenverarbeitung
DE3015875A1 (de) Speicherzugriffssystem und verfahren fuer einen zugriff zu einem digitalen speichersystem
DE60224438T2 (de) Aggregation von hardwareereignissen in mehrfach knotensystemen
DE102013113262A1 (de) Auslöser-Leitwegeinheit
DE2517565A1 (de) Integrierte kombinationseinheit fuer ein datenverarbeitungssystem
DE112006003503T5 (de) Mehrfachanschluss-Speicher mit Banksätzen zugeordneten Anschlüssen
DE3049774T1 (de) Time sharing device for the access to a main memory connected to a single bus between a central computer and a plurality of peripheral computers
DE102019119746A1 (de) Bildsignalprozessor, Verfahren zum Betreiben des Bildsignalprozessors und Anwendungsprozessor mit dem Bildsignalprozessor
DE2703559A1 (de) Rechnersystem
DE4429969A1 (de) Verfahren für einen Programmpaketeaustausch in einem Mehrrechnersystem und Rechner dafür
DE102009004726A1 (de) Systeme und Verfahren zum Verfolgen von Befehlszeigern und Datenzugriffen
DE2458286A1 (de) Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen
DE69932524T2 (de) Verfahren zum handhaben von datenobjekten in vom benutzer definierten datentypen
DE102015203202A1 (de) Speicher-Subsystem mit auf ein Wrapped-Lesen folgendem kontinuierlichen Lesen
DE112017007865T5 (de) Netzgebundener shuffle-datenspeicher
DE2458525B2 (de) Speicheranordnung mit Haupt- und Pufferspeicher
DE102008050345A1 (de) System und Methode für Datenbearbeitung in Speichern
DE2749884C2 (de)
DE102005008778B4 (de) System und Verfahren zum Verändern einer Buskonfiguration

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20121106