DE60008706T2 - Parallele datenverarbeitung und mischung - Google Patents

Parallele datenverarbeitung und mischung Download PDF

Info

Publication number
DE60008706T2
DE60008706T2 DE60008706T DE60008706T DE60008706T2 DE 60008706 T2 DE60008706 T2 DE 60008706T2 DE 60008706 T DE60008706 T DE 60008706T DE 60008706 T DE60008706 T DE 60008706T DE 60008706 T2 DE60008706 T2 DE 60008706T2
Authority
DE
Germany
Prior art keywords
processing
arrangement
tsmm1
data
wise
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
Application number
DE60008706T
Other languages
English (en)
Other versions
DE60008706D1 (de
Inventor
Jeff Hsieh
P. Richard KLEIHORST
Andre Van Der Avoird
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of DE60008706D1 publication Critical patent/DE60008706D1/de
Application granted granted Critical
Publication of DE60008706T2 publication Critical patent/DE60008706T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/762Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data having at least two separately controlled rearrangement levels, e.g. multistage interconnection networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Image Signal Generators (AREA)
  • Transforming Light Signals Into Electric Signals (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf ein Verfahren und ein Kamerasystem, wobei ein Signal in einer Anordnung von Verarbeitungselementen verarbeitet wird zum Erhalten paralleler Datenströme.
  • Die Produktinformation MAPP2200, Version 2.1, Datum 1998-02-01, IVP Integrated Vision Products AB, Technikringen 2C Schaltungselement-583 30 Linköping, Schweden beschreibt eine Kombination aus einem Sensor und einem Allzweck-Bildprozessor auf ein und demselben Halbleiter-Chip. Dabei handelt es sich um einen zweidimensionalen Smart Vision Sensor mit einer Voll-Matrix von 156 × 256 Sensoren und 256 Prozessoreinheiten. Die eingebaute Prozessoranordnung erledigt eine ganze Reihe von Pixeln parallel. Eine Analog-Digitalumwandlung wird parallel an den Graupegeln einer ganzen Bildzeile durchgeführt. Alle Pixel in einer Bildreihe oder ein adressiertes Register werden gleichzeitig verarbeitet. Die parallelen Vorgänge werden an den Bildregistern bitweise durchgeführt. Das Ergebnis einer Berechnung wird in dem Akkumulator gespeichert, oder wenn die Instruktion eine arithmetische Instruktion ist, auf in Drain-Elektrode, Carry-Register gespeichert. Der Inhalt dieser Register kann zu einem Speicherregister verlagert werden, kann als zweiter Operand der nächsten Instruktion wirksam sein, oder darauf kann von dem Controller aus über das Statusregister zugegriffen werden. Dieser bekannte Sensor wird benutzt zur Objekterkennung und ist nicht geeignet für Video-Kommunikation. Der bekannte Sensor beschreibt nicht eine parallele Implementierung eines Sensors für Farbbilder, die für Video-Kommunikation erwünscht ist.
  • Eine Kombination einer Anordnung von Verarbeitungselementen mit einem Misch-Bus ist in IEEE Journal of Solid State Circuits, Heft 23, Nr. 1, 02-1988, Seiten 98–104 beschrieben worden.
  • Es ist nun u.a. eine Aufgabe der vorliegenden Erfindung, eine Flexibilität paralleler Datenverarbeitung zu verbessern. Dazu schafft die vorliegende Erfindung eine Anordnung, ein Kamerasystem und ein Verfahren, wie in den Hauptansprüchen definiert. Vorteilhafte Ausführungsformen sind in den Unteransprüchen definiert.
  • Eine erste Ausführungsform der vorliegenden Erfindung weist das Kennzeichen auf, dass die Anordnung weiterhin Mittel aufweist zum Mischen der parallelen Datenströme auf eine blockartige Weise.
  • In weitgehend paralleler Verarbeitung ist Flexibilität, insbesondere in Termen von Datenfluss, wesentlich begrenzt. Die vorliegende Erfindung schafft Blockpegelberechnung, wie dies bei Videoverarbeitungsanordnungen weitgehend angewandt wird, kombiniert mit paralleler Datenverarbeitung.
  • In einer praktischen Ausführungsform umfassen die Datenmischmittel eine Anordnung adressierbarer Schaltspeichermatrizen, die je mit einer vorbestimmten Anzahl Verarbeitungselemente gekoppelt sind. Die Schaltspeichermatrizen sind imstande, die Daten blockweise zu mischen. Weil die Schaltspeicher parallel angeordnet sind, ist Steuerung sehr schwer.
  • Die vorliegende Erfindung schafft weiterhin ein Kamerasystem mit einem Sensor und einer Anordnung nach der vorliegenden Erfindung. Das Kamerasystem wird vorzugsweise für Video-Kommunikation eingesetzt. Applikationen für Video-Kommunikation erfordern zur Zeit einen riesigen Aufwand an Blockpegelberechnungen für beispielsweise Kompression. Die vorliegende Erfindung schafft eine Erweiterung einer weitgehend parallelen Architektur um beispielsweise Blockpegelberechnungen zu ermöglichen.
  • Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden im vorliegenden Fall näher beschrieben. Es zeigen:
  • 1 ein Kamerasystem mit einer weitgehend parallelen Verarbeitungsarchitektur und mit Datenmischmitteln nach der vorliegenden Erfindung,
  • 2 eine Farbfilteranordnung,
  • 3 eine Architektur einer linearen Verarbeitungsanordnung nach der vorliegenden Erfindung,
  • 4 eine Datenmischmittelarchitektur nach der vorliegenden Erfindung,
  • 5 bis 8 verschiedene Betriebsarten der Datenmischmittel nach 4, und
  • 9 und 10 Betriebsarten der Datenmischmittel, wobei zwei benachbarte Schaltmatrizen gekoppelt sind.
  • Die Zeichnung zeigt nur diejenigen Elemente, die zum Verständnis der vorliegenden Erfindung notwendig sind.
  • 1 zeigt eine bevorzugte Ausführungsform der vorliegenden Erfindung, d. h. ein Kamerasystem mit einer weitgehend parallelen Verarbeitungsarchitektur und mit Datenmischmitteln nach der vorliegenden Erfindung. Das Kamerasystem umfasst eine Bildsensoranordnung S mit einem parallelen Analog-Digitalwandler (ADC 1...320). Der Analog-Digitalwandler ist mit einer linearen Prozessoranordnung (LPA 1...320) sowie mit einem Zeilenspeicher (LM) gekoppelt. Die jeweiligen Teile des Kamerasystems werden von einer zentralen Verarbeitungseinheit (CPU) gesteuert. Das Kamerasystem benutzt vorzugsweise CMOS-Bilderzeugung, wobei Halbleiter-CMOS-Sensoren und digitale Signalverarbeitung (DSP) auf einem einzigen IC-Chip integriert sind.
  • Ohne die Datenmischmittel ist die Ausführungsform nach 1 bereits imstande, Pixelpegelbildverarbeitung und -filterung durchzuführen, wie Totpixelersatz, Autoweißeinstellung, Autobelichtungssteuerung.
  • Ein hoher Pegel der Parallelität fürt zu einer geringen Flexibilität zum Durchführen komplexerer Blockpegelalgorithmen, wie DCT und Zick-Zack-Abtastung. Die vorliegende Erfindung schafft dazu eine Erweiterung einer weitgehend parallelen Architektur, wodurch die Signalverarbeitungsanordnung imstande ist, auf effiziente Art und Weise Blockpegelvorgänge durchzuführen mit vereinzelbarer rekursiver "Discrete Cosine Transform" (DCT), Farbart-Unterabtastung, und Zick-Zack-Abtastung. Dazu ist das Kamerasystem mit Mitteln erweitert worden zum Mischen von Daten auf eine blockartige Weise. Die Datenmischmittel (TSMM 1...80) sind mit der LPA und dem Zeilenspeicher LM gekoppelt. In einer praktischen Ausführungsform umfassen diese Datenmischmittel eine Anordnung von Übertragungsschaltspeichermatrizen ("Transpose Switch Memory Matrices" TSMMs). Die TSMM ist eine zusätzliche Blockpegelspeichereinheit zu der ursprünglichen Architektur. Die TSMM ist entworfen worden zum Verbessern des Datenflusses zwischen den Verarbeitungselementen und dem Zeilenspeicher LM. Sie können als eine Erweiterung des Zeilenspeichers LM mit hinzugefügter Funktionalität betrachtet werden. Die TSMM bindet Verarbeitungselemente zusammen und ermöglicht Speicherung und Kommunikation zwischen denselben. Bei einer weiteren Ausführungsform bindet die TSMM eine benachbarte TSMM und ermöglicht Übertragung von Daten zu einer benachbarten TSMM. Andere Vorteile sind, dass die TSMM Daten überträgt und ermöglicht Zugriff auf die Ausgänge von vier Prozessoren, d. h. blockweise beliebige Adressierung. Weil die TSMMen mit je vier Prozessorelementen gekoppelt sind, ist die gesamte Anzahl TSMMen bei dieser Ausführungsform 80.
  • Wegen der massiv parallelen Architektur werden nicht nur hohe rechnerische Leistungen erzielt, sondern auch mit einen günstigen Energieverbrauch. Die Datenbandbreite der On-Chip-Speicher wird nicht durch die Anzahl I/O-Stifte begrenzt, wie bei den Off-Chip-Gegenstücken. Datenbandbreitenbegrenzungen können durch Zugriffslatenzanforderungen oder Übersprechen verursacht werden, aber diese Sachen können dadurch verringert werden, dass Taktanforderungen der Speichereinheiten reduziert werden. Dies geschieht mit ausreichender Parallelität und mit einem geeigneten Architekturentwurf. Mit einer ausreichend niedrigen Taktrate kann die Betriebsspannung verringert werden zum Erzielen weiterer Energieeinsparungen. Eine wesentliche Reduktion des Energieverbrauchs stützt auf das Prinzip, das die Daten parallel aus dem Zeilenspeicher LM erhalten werden. Speicherzugriff verbraucht einen wesentlichen Teil der Energie in sequentiellen Prozessoren. In einem sequentiellen Prozessor braucht man eine bestimmte Anzahl Zugriffe auf den Speicher je Pixel um einen Algorithmus laufen zu lassen. Erstens wird in der LPA die Anzahl Zugriffe je Pixel einfach reduziert, das vielfache Berechnungen mit einem einzigen Lese/Schreivorgang durchgeführt werden können, wobei alle gleichzeitig verfügbaren Pixelwerte vorhanden sind. Zweitens sind die Zeilenspeicher LM um einen Faktor 3 leistungseffizienter als ein vergleichbarer Zugriff auf Pixelspeicher. Ein Teil der Leistungseffizienz rührt von der parallelen Implementierung der ADC und der LPA her. Obschon es für die rechnerische Leistung nichts ausmacht, ob Berechnungen in Sequenz oder parallel durchgeführt werden, wird die Leistung durch langsame Elemente, wie Steuerdecodierungs- und Instruktionstricks wesentlich reduziert.
  • Das Kamerasystem ist anwendbar bei "Electronic Still Picture" (ESP/DSC), digitalen Videokameras, Desktop-Videokameras, Videophonen usw. Diese Produkte werden alle durch geringe Kosten und durch einen hohen Integrationspegel gekennzeichnet. Einige der Applikationen erfordern ebenfalls den geringen Energieverbrauch. Die Ausführungsform unterstützt typische Signalverarbeitungsaufgaben, wie: Analog-Digitalumwandlung (SDC), Bildverbesserung und Transformationen sowie viele Steuerfunktionen, wie Weiß-Balance- und Belichtungszeitsteuerung.
  • Es gibt im Wesentlichen zwei programmierbare digitale Prozessoren: die CPU für zeilenbasierte Algorithmen und die lineare Prozessoranordnung (LPA 1...320) für pixelbasierte Algorithmen. Die beiden Prozessoren erhalten ihre Instruktionen aus einem Programmspeicher (PM). Nicht programmierbare Prozessoren und Controller können verwendet werden zum Schaffen von Reihen- und Spaltenadressselektoren, eines ADC-Controllers, eines I2C Steuerprozessors und eines seriellen Prozessors (SP). Diese Prozessoren können Parameter von der CPU akzeptieren zur Unterabtastung, zur Selektion des betreffenden Gebietes, zur Spiegelung, Verstärkung, Schwarzpegel, Gamma und Videoausgangsformat. Der serielle Prozessor ist über einen Spaltenselektor (CS) mit dem Zeilenspeicher LM gekoppelt.
  • Der Bildsensor S kann eine VGA (640 zu 480) Matrix aktiver Pixel sein. Nachdem ein Pixel durch Anlegung einer bestimmten Spannung an den Kondensator zurückgestellt worden ist, wird eintreffendes Licht damit anfangen, diese Ladung zu reduzieren. Nach einer bestimmten Belichtungszeit wird die Restspannung an dem Kondensator ausgelesen, was die Beleuchtung oder "den Pixelwert" reflektiert. Die Belichtungszeit wird von der Verzögerung zwischen dem Zurückstellen und dem Auslesen des Pixels gesteuert. Der Sensor kann als großer analoger Speicher betrachtet werden, wobei die Bildreihen als beliebig adressierbare Worte wirksam sind. Dies bedeutet, dass obschon alle Pixel innerhalb einer ganzen Reihe (d. h. 640) gleichzeitig ausgelesen werden, eine beliebige Selektion eines betreffenden Gebietes (ROI) dennoch möglich ist.
  • Die Pixel können mit einer optischen Farbfilteranordnung überlagert werden, wie in 2 dargestellt. Dieses Filter ordnet jedem einzelnen Pixel entweder eine rote (R), eine grüne (G) oder eine blaue (B) Empfindlichkeit zu. Eine Reihe in der Filteranordnung enthält zwei abwechselnd verschiedene Farben. Weil nur eine einzige Farbe je Taktzyklus verarbeitet wird, ist es günstig, je Verarbeitungselement zwei Spalten gemeinsam zu haben, die den verschiedenen Farben entsprechen. Die parallele Prozessoranordnung LPA besteht deswegen aus 320 vorzugsweise identischen Verarbeitungselementen, d. h. ein Verarbeitungselement zu je zwei Spalten. Die Art der Teilung von Spalten, die verschiedenen Farben entsprechen, ist abhängig von dem verwendeten Farbfilter. Wenn beispielsweise ein Farbfilter drei verschiedene Farben in einer Reihe schafft, können drei Spalten je Verarbeitungselement geteilt werden.
  • Da der CMOS-Sensor auf Reihenbasis ausgelesen wird, ist ein paralleler ADC günstig. Alle Spalten werden gleichzeitig umgewandelt. Wegen der niedrigen Abtastrate, wegen der Tatsache, dass ein gemeinsamer Teil für alle ADCs geteilt werden kann und dass ein fester Offset erlaubt ist, kann der parallele ADC sehr leistungseffizient entworfen werden, dies im Vergleich zu ADCs mit Video-Geschwindigkeit. In dem ADC hat jede Spalte eine Vergleichsstufe, die einen Satz von Signalspeichern ermöglicht, in denen der Ausgangswert gespeichert werden soll. Ein Eingang jeder Vergleichsstufe ist mit dem zu digitalisierenden Signal verbunden. Das Eingangssignal ist nach wie vor stabil, während dem anderen Eingang der Vergleichsstufe von einem globalen Sägezahngenerator ein Sägezahnsignal zugeführt wird. Wenn das Sägezahnsignal den Eingangswert erreicht, wird die Vergleichsstufe den den Signalspeichern zu dem betreffenden Zeitpunkt zugeführten digitalen Wert umschalten und speichern. Dadurch, dass die Signalspeicher mit einem globalen Zähler verbunden werden, der zu dem Sägezahngenerator einigermaßen synchronisiert ist, kann die Schaltzeit (und folglich den analogen Eingangswert) auf einem digitalen Wert abgebildet und in den Speichern gespeichert werden. Ein Nachteil des parallelen ADCs ist, dass Parameterstreuung eine Reaktionsdifferenz zwischen Spalten für gleiche Intensitäten verursacht. Dies zeigt sich als ein spaltenbasierter "Fixed-Pattern Noise" (FPN) in dem Bildsignal. Dieser Spalten FPN wird von einem Auslösungsprogramm geschätzt und in einem der Zeilenspeicher zur Annulierung in der normalen Betriebsart gespeichert. Der Pixelpegel FPN wird von dem durchaus bekannten Verfahren der Doppelabtastung korrigiert, wozu analoge Subtraktion in dem ADC integriert ist. Wegen der Farbfilteranordnung können zwei Spalten sich ein einziges ADC-Element teilen. Auf diese Weise findet analoges Multiplexing statt. Wenn digitales Multiplexing erwünscht ist, ist nur ein ADC je Spalte erforderlich.
  • 3 zeigt eine praktische Implementierung einer Prozessoranordnung LPA 1...320. Über linke und rechte Kommunikationskanäle COMM und Multiplexer MUX 1...320 kann jedes Verarbeitungselement unmittelbar Daten aus sechs Spalten erhalten. Die aus dem Zeilenspeicher LM ausgelesenen Daten oder eine bestimmte TSMM können zu dem entsprechenden Verarbeitungselement oder zu dem Verarbeitungselement auf der linken oder rechten Seite zurückgeführt werden, wodurch eine beschränkte Kommunikation zwischen Verarbeitungselementen LPA1...320 geschaffen wird. Ein Datenwort kann in einem bestimmten Taktzyklus zu den benachbarten Verarbeitungselementen geschoben werden. Alle Verarbeitungselemente lassen identische Instruktionen an ihren örtlichen Daten laufen. Auch hier wird wieder im Vergleich zu einem sequentiellen Spaltenprozessor Energieverbrauch reduziert, weil die Steuerung und die Adressendecodierung nur einmal durchgeführt und von allen Verarbeitungselementen entsprechend einem "Single Instruction Multiple Data" (SIMD) Prinzip geteilt wird. Jeder Prozessor enthält einen Akkumulator ACC1...320, der das jüngste Ergebnis speichert, das als Operand für eine nächste Instruktion verwendet werden kann. Ein Addierer sowie ein Multiplizierer sind in der ALU1...320 implementiert worden und mit diesen Funktionen werden Vergleich, Addition, Subtraktion, Datengewichtung und Multiplizieren-Akkumulieren durchgeführt. Die Prozessoren enthalten einen Merker F, der entsprechend dem jüngsten Ergebnis gesetzt wird. Auf Basis dieses Merkers F sind bedingte Pass-Instruktionen möglich, wobei eine beschränkte Form von Datenabhängigkeit in dem Algorithmus erlaubt ist. Alle 320 Merker F1...F320 sind mit einer globalen Leitung EVT verbunden, die mit der CPU gekoppelt ist. Auf diese Weise können Wiederholungsprozesse mit einer bestimmten End-Bedingung über die parallele Prozessoranordnung LPA laufen oder die CPU kann auf Bildinhalt reagieren. Die CPU schafft dazu ein Steuersignal INSTR. An den Stellen P1...P4 werden resultierende Daten verfügbar. Daten aus dem Zeilenspeicher LM oder aus dem TSMM, der mit diesen Punkten P1...P4 gekoppelt ist, können in den betreffenden Verarbeitungselementen LPA1...320 verwendet werden.
  • Man kann den Akkumulator ACC, den Inhalt des Speichers LM oder eine globale Gewichtung WGHT als Operand verwenden. Das Gewicht WGHT, dass für alle Prozessoren LPA 1...320 gleich ist, wird verwendet zum Skalieren der Daten bei der Multiplikation und bei den Multiplizier-Akkumulier-Instruktionen. Das Gewicht WGHT kann von der CPU geliefert werden.
  • Aufgaben, für welche der parallele Prozessor LPA benutzt werden kann sind: Festmuster-Geräuschreduktion, das Verstecken fehlerhafter Pixel, Geräuschreduktion, Farbrekonstruktion und Farbdomäntransformation mit Vorfilterung für Unterabtastungszwecke.
  • Durch Verwendung eines Doppeltor-Prinzips für die Zeilenspeicher LM in einem einzigen Instruktionszyklus können Operanden aus dem Speicher ausgelesen werden und Ergebnisse können an gewünschten Stellen zurück geschrieben werden. In einer praktischen Ausführungsform umfasst der Zeilenspeicher (LM) 16 Zeilenspeicher zur einstweiligen Datenspeicherung. Weiterhin werden zusätzlich drei Zeilen verwendet, und zwar als Nur-Schreiben-Speicher zum Zusammenbringen der Endergebnisse der Berechnungen.
  • Die CPU ist im Dienste des ganzen Chips. Die Hauptaufgabe ist, den Programmzähler zu führen, Instruktionen hervorzubringen und zu decodieren und sie zu dem LPA weiter zu leiten. Außerdem kann sie globale Berechnungen durchführen zur Steuerung der Belichtungszeit, für die Weißbalance und dergleichen. Sie benutzt die statistischen Bilddaten, die aktualisiert werden (durch den seriellen Prozessor SP), in internen Registern. Eine Anzahl logischer und arithmetischer Instruktionen, die eine Multiplikation umfassen, sind verfügbar. Zur Programmsteuerung erledigt die CPU (bedingte) Sprünge in einem Programm und enthält dazu eine Anzahl (Programm) Zähler. Außerdem kann die CPU auf Ereignisse reagieren, die von dem parallelen Prozessor LPA erzeugt worden sind, und zu Subroutinen springen. Bestimmte Register der CPU sind über I2C zugänglich und bieten eine Kommunikationsweise zu und von einem Endbenutzer. So kann beispielsweise ein betreffendes Gebiet zu der CPU spezifiziert werden, die ihrerseits die selektierten Reihen und Spalten zur Verarbeitung selektiert. Der Programmspeicher enthält die Instruktionen für die CPU. Es sei bemerkt, dass dieser Speicher PM ebenfalls Instruktionen enthält für den parallelen Prozessor LPA. Die Instruktionen werden decodiert und danach wird entweder der LPA oder die CPU aufgerufen. Dieser sequentielle Instruktionstrick ermöglicht das Programmieren der Kombination der zwei Prozessoren aus einem einzigen Programm.
  • Vorzugsweise besteht der TSMM aus einem halbverbundenen Kreuzschienenschalter, der einer Matrix von Registern überlagert worden ist. Die vorgeschlagene Architektur des TSMMs ist in 4 dargestellt. Rechtecke MR stellen Register in der Speichermatrix dar. Der TSMM umfasst weiterhin steuerbare Schalter T, dargestellt durch Kreise. Ein voller Kreis bedeutet, dass der Schalter geschlossen und leitend ist. Ein offerener Kreis bedeutet, dass der Schalter offen und gesperrt ist. Der TSMM kann global adressiert werden und darauf kann unabhängig von dem Zeilenspeicher zugegriffen werden. In der Zeichnung ist eine Matrix von 4 × 4 Registern als Beispiel gegeben. Weil die Verarbeitungselemente mit zwei Spalten der Sensoranordnung gekoppelt sind, ist der TSMM im Endeffekt mit acht Spalten in der Sensoranordnung gekoppelt. Bei dieser Ausführungsform ist ein einziger TSMM im Endeffekt zum Verarbeiten eines Blocks von 8 zu 4 Pixeln vorgesehen. Bei einer praktischen Ausführungsform sind acht Busse, vier in der horizontalen Richtung (r1...r4) und vier in der vertikalen Richtung (c1...c4), die den Kreuzschienenschalter bilden 16 Bits breit. Die Busse sind mit den Verarbeitungselementen LPA, mit dem Zeilenspeicher LM, benachbarten TSMMn sowie den Registern MR der Matrix gekoppelt.
  • Weiterhin sind Schalter T an den Kreuzungen der horizontalen (r1...r4) und vertikalen Busse (c1...c4) vorgesehen zur Steuerung des Datenflusses zwischen den mit einander verbundenen Einheiten. Obschon ein Schalter an jeder Kreuzung vorgesehen sein kann, ist in 4 eine Anzahl von sieben Schaltern an Kreuzungen bei diesem Ausführungsbeispiel bevorzugt. Außerdem ist jedes Register MR mit dem entsprechenden horizontalen (r1...r4) und vertikalen Bus (c1...c4) verbunden, durchgeschaltet durch zwei Schalter T. Daten können über den horizontalen oder den vertikalen Bus zu und von den Registern MR fließen.
  • Die Registermatrix kann als vier Spalten (c1...c4) von vier Registern MR interpretiert werden, wobei jede Spalte einem bestimmten Verarbeitungselement LPA1...320 entspricht. Ein Verarbeitungselement hat begrenzten Zugriff auf andere Spalten innerhalb des TSMMs. Die Ausführungsform nach der vorliegenden Erfindung schafft die nachfolgenden Datenfluss-Konfigurationen: Zeilenspeicherzugriff, Registerzugriff, Überlagerung-Schreiben/Lesen, Verarbeitungselement-selektives Lesen/Schreiben, Längsblockübertragung. Diese Konfigurationen werden nachstehend noch näher beschrieben.
  • 5 zeigt eine Datendurchführungs-Betriebsart. Die Schalter T bei P1...P4 sind geschlossen, was zu einer direkten Datenstrecke zu dem Zeilenspeicher führt. Der TSMM ist transparent für den Prozessor LPA und die Zeilenspeicher MEM. In den Registern MR werden keine Daten gespeichert, weil alle Schalter, die mit den Registern verbunden sind, offen sind.
  • 6 zeigt eine Registerzugriffs-Betriebsart. In dieser Betriebsart wird der TSMM zur einstweiligen Speicherung verwendet. Daten können aus den Speicherregistern ausgelesen und in denselben eingeschrieben werden. Wie in 5 sind die Schalter bei P1...P4 geschlossen. Weiterhin sind die Schalter T der Register der dritten Reihe mit den betreffenden Spalten ebenfalls geschlossen. Auf diese Weise wird eine ganze Reihe ausgelesen oder eingeschrieben, und zwar in einer wort-artigen Weise in der dritten Registerreihe. Die vier Spalten sind unter einander exklusiv. Ein Spalt in dem TSMM ist mit dem entsprechenden Verarbeitungselement assoziiert und auf diesen Spalt kann nur von diesem direkt zugegriffen werden. Der TSMM kann zur einstweiligen Speicherung ähnlich wie die Speicherung in dem Zeilenspeicher LM verwendet werden. Ein Vorteil des TSMMs gegenüber dem LM ist, dass der TSMM viel näher bei dem LPA steht und mit einer geringeren Taktrate als LM laufen kann. Lokalisierung des Speichers kann leistungseffizienter sein.
  • 7 zeigt eine Übertragungs-Betriebsart. Daten, die in dem TSMM gespeichert sind, werden spaltenweise ausgelesen und den vertikalen Bussen zugeführt, indem die geeigneten Schalter T geschlossen werden zum Ausliefern eines horizontalen Wortes zurück zu den Verarbeitungselementen. Übertragungs-Lesen (und Schreiben, wenn in der entgegengesetzten Richtung angewandt) des TSMMs ist dadurch erzielt.
  • 9 zeigt eine Prozessor-selektive Zugriffs-Betriebsart. Diese Figur zeigt die Fähigkeit der Benutzung des TSMMs zum beliebigen Zugreifen auf einen der vier Ausgänge des Prozessors und zum beliebigen Speichern des Ausgangs in einem der vier Registern einer Spalte des TSMMs. So kann beispielsweise der Schalter T bei P2 geschlossen sein, wodurch nur erlaubt wird, dass die Daten von LPA2 in den TSMM eintreten. Durch Aktivierung der geeigneten Schalter T werden diese Daten dem vierten Register MR in der ersten Spalte des TSMMs zugeführt. Auf diese Weise wird der Ausgang aus dem LPA2 in das vierte Register der ersten Spalte c1 des TSMMs eingeschrieben. Das Auslesen durch ein Verarbeitungselement aus dem TSMM wird Probleme schaffen, weil die LPA1...320 nicht einzeln selektierbar sind. Alle Verarbeitungselemente werden dann versuchen eine bestimmte Verarbeitung auszulesen und durchzuführen, dies mit unsicheren Ergebnissen. Wenn die Akkumulatoren des LPA1...320 selektiv adressierbar sind, wird dieses Problem effektiv gelöst.
  • 9 und 10 zeigen Blockübertragungs-Betriebsarten. Bei diesen Betriebsarten sind TSMM je zwei und zwei miteinander gekoppelt. Auf diese Weise umfasst das Kamerasystem nach 1 eine Anordnung von 40 parallelen doppelten TSMMn. 9 und 10 zeigen mögliche Betriebsarten zur Übertragung von Daten aus dem einen Block in einen benachbarten Block. Es sei bemerkt, dass zum Ermöglichen einer Datenübertragung die Schalter T (hier aus als Übertragungsgatter bezeichnet), zwischen den TSMMn erforderlich sind um den Datenfluss an demselben horizontalen Bus zu einem benachbarten TSMM möglich zu machen. 9 zeigt eine Blockübertragung von oben nach links des TSMMs 2. Die Schalter T an den Kreuzungen der horizontalen und vertikalen Busse werden derart aktiviert, dass eine Reihe aus den mit P5...P8 gekoppelten Verarbeitungselementen spaltenweise nach Links übertragen wird. Die Übertragungsgatter T ermöglichen es, dass diese Daten in den TSMM1 hin eingehen. Die Schalter T an den Kreuzungen der horizontalen und vertikalen Busse von TSMM1 werden derart aktiviert, dass die Datenspalte auf eine reihenweise Art in dem TSMM verfügbar wird. Daten aus den mit dem TSMM2 gekoppelten Verarbeitungselementen werden auf diese Art und Weise in dem TSMM1 verfügbar, als kämen die Daten aus den Verarbeitungselementen, die mit dem TSMM1 gekoppelt sind. 10 zeigt eine Blockübertragungs-Betriebsart, wobei eine Reihe in dem TSMM1 zu dem TSMM2 übertragen wird. Diese Betriebsart ist vergleichbar mit der in 9 präsentierten Betriebsart, aber in der entgegengesetzten Richtung. Anstelle von Daten aus den Verarbeitungselementen sind die Betriebsarten aus den 9 und 10 auch auf Daten anwendbar, die aus den Zeilenspeichern LM erhalten worden sind. Weil die Daten aus dem Zeilenspeicher LM unten in die TSMM eintreten, werden in dem Fall die Schalter P1 bis P8 nicht verwendet. Ähnliche Ausleseprobleme können auftreten, die oben in Bezug auf 8 beschrieben worden sind, und zwar wegen der massiv parallelen Architektur der LPA. Auch in diesem Fall wird bevorzugt, dass man über selektiv adressierbare LPA Akkumulatoren verfügen kann, wenn die LPA Daten auslesen soll. Obschon 9 und 10 eine Illustration betreffs TSMM1 und TSMM2 geben, gilt dies auch für andere gekoppelte TSMM, beispielsweise TSMM3 + TSMM4 usw.
  • Die jeweiligen oben beschriebenen Betriebsarten ermöglichen es, dass die Anordnung mehrere Algorithmen auf eine effiziente Art und Weise durchführt, beispielsweise rekursive oder Matrix DCT, Farbart Unterabtastung und Zick-Zack-Abtastung. Diese Merkmale werden nachstehend näher beschrieben.
  • Block DCT wird auf vier Y Blöcke, einen U- und einen V-Block jedes Makroblocks angewandt. Ein günstiger Algorithmus ist ein trennbarer zweidimensionaler rekursiver DCT Algorithmus, wie bekannt aus dem Artikel von Aburdene u.a.: "Computation of discrete cosine transform using Clenshaw's recurrence formula", IEEE Signal Processing Letters, 2(8), Seiten 155–156, August 1995. Die Eingabe für den DCT Algorithmus ist eine Sequenz von 8 Pixeln, herrührend aus einer Spalte eines Blocks und zwei Gewichtungen. Die Gewichtungen bestimmen die Ordinate des resultierenden DCT Koeffizienten. Da jeder Block von vier Verarbeitungselementen bedient wird, werden vier DCT Koeffizienten parallel verarbeitet. Es sind sechzehn Schritte des DCT Algorithmus erforderlich zum Berechnen der horizontalen eindimensionalen DCT für eine komplette Block DCT. Der rekursive DCT Algorithmus ist günstig zum Minimieren des zur Zwischenspeicherung erforderlichen Gebietes. Zwei zwischenliegende Variablen sind erforderlich zum Verarbeiten eines einzigen DCT Koeffizienten. Schmetterling DCT Algorithmen, die schneller sind, erfordern acht zwischenliegende Variablen für jedes Verarbeitungselement. Da zwischenliegende Variablen eine hohe Präzision erfordern, würde dies mehr Raum erfordern um sie in Pixelpuffer, wie den Zeilenspeicher LM zu integrieren. Der TSMM schafft vier zwischenliegende Register MR hoher Präzision für jedes Verarbeitungselement. Weil zum Berechnen des DCT Koeffizienten nur zwei Stück erforderlich sind, können zwei Register für andere Zwecke verwendet werden. Wichtiger ist, dass DCT Koeffizienten, die in dem TSMM gespeichert sind transponiert werden können (siehe 7). Transposition ist erforderlich zur horizontalen Durchführung des rekursiven DCT Algorithmus.
  • Für die vorgeschlagene Architektur wird ein vier zu vier TSMM bevorzugt. Erstens ist es weniger als ein Viertel des Gebietes einer vollen acht zu acht Transpositionsmatrix, weil eine volle acht zu acht Transponiermatrix mehr Adressierungs-Overhead hat. Zweitens erzeugen die Verarbeitungselemente nur vier DCT Koeffizienten, während der Zeilenspeicher nur vier DCT Koeffizienten speichert.
  • Die Blockübertragungsbetriebsarten (siehe 9 und 10) bieten effiziente Betriebsarten zur Farbart-Unterabtastung. RGB-YW-Umwandlung wird vor der Unterabtastung der Farbartanteile in dem 4:2:2 Format durchgeführt. RGB-YUV-Umwandlung an sich ist ein Pixelpegelvorgang und erfordert Multiplikation konstanter Gewichtungen und Akkumulation der Produkte. Wenn das Pixel einmal in die YUV-Domäne umgewandelt worden ist, werden die U- und V-Anteile um einen Faktor 2 horizontal sowie vertikal vorabgetastet. In der Speicherzuordnung gibt es zum Speichern der U- und der V-Anteile ein wesentliches Problem. In dem 4:2:2 Format wird der U- und der V-Anteil in einem Makroblock von 16×16 Pixeln zu 8×8 Pixeln unterabgetastet und der Y-Anteil wird nicht unterabgetastet. Ein Makroblock überspannt zwei Blöcke (zwei 8 Pixel Spalten), d. h. zwei TSMM einheiten oder 8 Verarbeitungselemente. Wenn die Unterabtastblöcke unmittelbar in dem entsprechenden Zeilenspeicher gespeichert wären, wäre es weitgehend ineffizient den horizontalen DCT Durchgang durchzuführen. Es ist mehr erwünscht, den U Block auf der einen Hälfte des Makroblocks und den V Block auf der anderen zu speichern. Dies ermöglicht es, dass für alle Y-, U- und V-Blöcke derselbe 2-D DCT Code verwendet werden kann. Mit der Blockübertragungsbetriebsart bedeutet dies nur eine direkte Übertragung. Sogar falls in einer parallelen Struktur ist Kommunikation zwischen benachbarten Spalten möglich, diese Übertragung erfordert vier Zyklen mit Datenverschiebung. Die Overhead-Kosten dieser Ausführungsform im Vergleich zu der Ausführungsform nach 4 sind in den Schaltern, welche die Datenbusse zwischen den TSMMn umschalten. Auf das Blockdatenübertra gungsmerkmal kann verzichtet werden, wenn genügend Zyklen für Datenverschiebung zwischen Verarbeitungselementen übrig bleiben oder wenn die Schalter eine kapazitive Belastung einführen, welche die Leistung je Zeilenspeicherzugriff steigert. Diese Wechselwirkung kann zur Implementierung bewertet werden.
  • Beliebige Blockpegeladressierung (siehe 8) kann für mehrere Typen von Algorithmen verwendet werden, beispielsweise ZZ Abtastung. Akkumulatordaten von einem der Verarbeitungselemente kann selektiv adressiert werden und in einem der vier Register in der ersten TSMM Spalte eingeschrieben werden. Nach dem Einschreiben in allen vier den Registern kann die erste TSMM Spalte transponiert werden und in dem Zeilenspeicher LM geschrieben werden. Es sind nur zwei Bits erforderlich zum Adressieren des Ausgang der Verarbeitungselemente und zwei andere Bits zum Adressieren der Register. ZZ Abtastung, wie in der JPEG-Norm beschrieben, kann verschiedenartig implementiert werden. Es ist im Wesentlichen eine Aufzeichnung von Daten innerhalb eines acht zu acht Blocks. Das Kompromiss zwischen Durchführung einer ZZ Abtastung in der linearen Prozessoranordnung LPA und außerhalb der LPA ist in der Komplexität der Hardware. Das Durchführen einer ZZ Abtastung außerhalb der LPA würde einen Blockpuffer erfordern um zu gewährleisten, dass es genügend Daten gibt zum Aufzeichnen mit der spezifizierten Strömungsrate. Das Überwachen der Hardware wird erforderlich sein zum Schützen des Puffers vor Entleerung oder vor Überfluss. Synchronisation zwischen der Strömungseinheit und der LPA wird erforderlich sein, wodurch Komplexität in die LPA sowie in das Programm eingeführt wird. Anderseits, wenn ZZ Abtastung in der parallelen Hardware durchgeführt wäre, würde die Strömung konstant sein und es wäre nur ein Lauflängencodierer erforderlich.
  • Variable Länge Codierung kann nicht auf effiziente Weise in weitgehend parallelen ganzen ALUs implementiert werden, ohne dass dadurch eine große Komplexität eingeführt wird, und deswegen werden sie außerhalb der linearen Prozessoranordnung verarbeitet.
  • Zusammenfassend: eine Anordnung hoher Genauigkeit, Registermatrizen TSMM sind vorgeschlagen zum Lösen der Datenflussbegrenzungen weitgehend paralleler linearer Prozessoren sowie Zwischenspeicheranforderungen von Bildverarbeitungsalgorithmen. Diese Hierarchie von Prozessor- und Speichereinheiten ist notwendig zur Verbes serung der Flexibilität weitgehend paralleler Verarbeitungssystememe, wobei Flexibiliät, insbesondere in Termen des Datenflusses, wesentlich begrenzt wird.
  • Eine Anordnung einfacher spezieller Speichereinheiten TSMM wird mit einer weitgehend paralleler Pixelpegelverarbeitungsarchitektur kombiniert, was Bildfang und Bewegungs-JPEG Videokompression mit einer Videorate auf einem einzigen Chip ermöglicht.
  • Die vorliegende Erfindung schafft eine parallele Datenverarbeitungsanordnung mit einer Anordnung paralleler Verarbeitungselemente zum Verarbeiten eines Signals zum Erhalten paralleler Datenströme, und Mitteln zum Mischen der parallelen Datenströme auf eine blockartige Weise. Die Datenmischmittel haben eine Anordnung adressierbarer Schaltspeichermatrizen, die mit je einer vorbestimmten Anzahl Verarbeitungselemente gekoppelt sind. Die Anordnung von Schaltspeichermatrizen löst Datenflussbegrenzungen weitgehend paralleler linearer Anordnungsprozessoren, sowie Zwischenspeicheranforderungen von Bildverarbeitungsalgorithmen. In einem Kamerasystem wird die paralleler Datenverarbeitungsanordnung mit einer Sensoranordnung kombiniert.
  • Es sei bemerkt, dass die oben genannten Ausführungsformen die vorliegende Erfindung illustrieren statt begrenzen, und das der Fachmann imstande sein wird, im Rahmen der beiliegenden Patentansprüche viele alternative Ausführungsformen zu bedenken. Spalten und Reihen können im Rahmen der vorliegenden Erfindung vertauscht werden. In den Ansprüchen sollen die eingeklammerten Bezugszeichen nicht als den Anspruch begrenzend betrachtet werden. Das Wort "mit", "umfasst" oder "enthält" schließt das Vorhandensein anderer Elemente oder Schritte als diejenigen, die in einem Anspruch aufgelistet sind, nicht aus. Die vorliegende Erfindung kann mit Hilfe von Hardware mit verschiedenen einzelnen Elementen und mit Hilfe eines auf geeignete Art und Weise programmierten Computers implementiert werden. In einem Anordnungsanspruch, wobei mehrere Mittel nummeriert sind, können einige dieser Mittel in ein und demselben Hardwareteil einverleibt sein.

Claims (9)

  1. Parallele Datenverarbeitungsanordnung mit: einer Anordnung paralleler Verarbeitungselemente (LPA1...320), die je wenigstens eine Rechen- und Logikeinheit (1, 2,...320 3) aufweisen, zum Verarbeiten eines Signals zum Erhalten paralleler Datenströme, wobei die Anordnung dadurch gekennzeichnet ist, dass sie eine Anzahl Datenmischmittel (TSMM1...80) aufweist, die je mit einer vorbestimmten Anzahl Verarbeitungselemente gekoppelt sind zum Mischen der parallelen Datenströme auf eine blockartige Weise.
  2. Anordnung nach Anspruch 1, wobei die Anzahl Datenmischmittel (TSMM1...80) eine Anordnung adressierbarer Schaltspeichermatrices (TSMM1...80) aufweist, die je mit einer vorbestimmten Anzahl Verarbeitungselemente (LPA1...320) gekoppelt sind.
  3. Anordnung nach Anspruch 2, wobei jede Schaltspeichermatrix (TSMM1...80) Folgendes umfasst: – eine Matrix von Registern (MR); und – einen Kreuzschienenschalter mit reihenweisen Buchsen (r1...4) und spaltenweisen Buchsen (c1...4), wobei Kreuzungen der reihenweisen Buchsen (r1...4) und der spaltenweisen Buchsen (c1...4) mit Schaltern (T) versehen sind, wobei jedes Register (MR) mit einer einzigen reihenweisen Buchse (r1...4) und einer einzigen spaltenweisen Buchse (c1...4) des Kreuzschienenschalter gekoppelt ist, und wobei jede spaltenweise Buchse (c1...4) mit einem Verarbeitungselement (LPA1...320) gekoppelt ist.
  4. Anordnung nach Anspruch 2, wobei jede Schaltspeichermatrix (TSMM1...80) eine quadratische Matrix ist.
  5. Anordnung nach Anspruch 2, wobei die Schaltspeichermatrices (TSMM1...80) je zwei und zwei miteinander gekoppelt sind.
  6. Anordnung nach Anspruch 2, wobei jedes Verarbeitungselement (LPA1...320) einen Akkumulator (ACC1...320) aufweist, wobei die Akkumulatoren ACC(1...320) der vorbestimmten Anzahl Verarbeitungselemente (LPA1...320) selektiv adressierbar sind.
  7. Kamerasystem mit: – einer Sensoranordnung (S) zum Erhalten eines Signals; und – einer parallelen Datenverarbeitungsanordnung nach Anspruch 1 zum Verarbeiten des Signals.
  8. Kamerasystem nach Anspruch 7, wobei die Sensoranordnung (S) mit einer Farbfilteranordnung versehen ist und wobei eine Anzahl Spalten der Sensoranordnung (S), die mit verschiedenen Farben (R,G,B) übereinstimmen, von demselben Verarbeitungselement (LPA1...320) geteilt wird.
  9. Verfahren zum Verarbeiten eines Signals, wobei dieses Verfahren die nachfolgenden Verfahrensschritte umfasst: – das Verarbeiten des Signals in einer Anordnung von Verarbeitungselementen (LPA1...320), die je wenigstens eine Rechen- und Logikeinheit (1, 2,...320 – 3) aufweisen, zum Erhalten paralleler Datenströme, gekennzeichnet durch – Mischung (TSMM1...80) in einer Anzahl Datenmischmittel (TSMM1,...,TSMM80 – 1), die je mit einer vorbestimmten Anzahl Verarbeitungselemente gekoppelt sind, der parallelen Datenströme auf eine blockartige Weise.
DE60008706T 1999-12-10 2000-11-23 Parallele datenverarbeitung und mischung Expired - Lifetime DE60008706T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP99204181 1999-12-10
EP99204181A EP1107107A1 (de) 1999-12-10 1999-12-10 Parallele Datenverarbeitung und Mischung
PCT/EP2000/011652 WO2001042902A1 (en) 1999-12-10 2000-11-23 Parallel data processing and shuffling

Publications (2)

Publication Number Publication Date
DE60008706D1 DE60008706D1 (de) 2004-04-08
DE60008706T2 true DE60008706T2 (de) 2005-02-10

Family

ID=8240980

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60008706T Expired - Lifetime DE60008706T2 (de) 1999-12-10 2000-11-23 Parallele datenverarbeitung und mischung

Country Status (7)

Country Link
US (1) US20010041012A1 (de)
EP (2) EP1107107A1 (de)
JP (1) JP4733894B2 (de)
KR (1) KR100788179B1 (de)
CN (1) CN1199096C (de)
DE (1) DE60008706T2 (de)
WO (1) WO2001042902A1 (de)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139743B2 (en) 2000-04-07 2006-11-21 Washington University Associative database scanning and information retrieval using FPGA devices
FR2834397A1 (fr) * 2001-12-28 2003-07-04 St Microelectronics Sa Sous- echantillonnage de donnees images pixelisees
US20030167408A1 (en) * 2002-03-01 2003-09-04 Fitzpatrick Gregory P. Randomized bit dispersal of sensitive data sets
JP2003283719A (ja) * 2002-03-25 2003-10-03 Noritsu Koki Co Ltd 画像データ保存装置
US20040233294A1 (en) * 2003-05-20 2004-11-25 Mingjian Zheng System and method for USB compatible I-frame only MPEG image compression
US20040236920A1 (en) * 2003-05-20 2004-11-25 Sheaffer Gad S. Methods and apparatus for gathering and scattering data associated with a single-instruction-multiple-data (SIMD) operation
US10572824B2 (en) 2003-05-23 2020-02-25 Ip Reservoir, Llc System and method for low latency multi-functional pipeline with correlation logic and selectively activated/deactivated pipelined data processing engines
US7826664B2 (en) * 2004-05-24 2010-11-02 Xerox Corporation Systems and methods for efficient manual windowing operation
JP4599917B2 (ja) 2004-07-09 2010-12-15 ソニー株式会社 撮像装置
EP1859378A2 (de) 2005-03-03 2007-11-28 Washington University Verfahren und vorrichtung zur durchführung einer biosequenz-ähnlichkeitssuche
US8134619B2 (en) * 2007-07-02 2012-03-13 Samsung Electronics Co., Ltd. Column noise reduction device and method thereof
KR100947846B1 (ko) * 2008-02-28 2010-03-18 주식회사 티벳시스템 하드디스크 포멧장치의 접속단자 자동 절환장치
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
CA3184014A1 (en) 2008-12-15 2010-07-08 Exegy Incorporated Method and apparatus for high-speed processing of financial market depth data
KR101292668B1 (ko) * 2009-10-08 2013-08-02 한국전자통신연구원 멀티프로세서기반의 영상 복호화 장치 및 방법
KR20110055022A (ko) * 2009-11-19 2011-05-25 한국전자통신연구원 데이터 및 기능적 분할 방식에 기반한 동영상 복호화 장치 및 방법
US9323994B2 (en) 2009-12-15 2016-04-26 Micron Technology, Inc. Multi-level hierarchical routing matrices for pattern-recognition processors
JP4978719B2 (ja) * 2010-07-26 2012-07-18 ソニー株式会社 撮像装置
US9996500B2 (en) * 2011-09-27 2018-06-12 Renesas Electronics Corporation Apparatus and method of a concurrent data transfer of multiple regions of interest (ROI) in an SIMD processor system
KR20130097972A (ko) * 2012-02-27 2013-09-04 삼성전자주식회사 하드웨어 가속화를 통한 대규모 데이터의 분산 처리 장치 및 방법
CN103885984B (zh) * 2012-12-21 2018-05-04 国际商业机器公司 处理数据库查询结果集的方法和设备
KR101520723B1 (ko) * 2013-12-04 2015-05-15 크루셜텍 (주) 지문 검출 장치 및 이의 구동 방법
US10497089B2 (en) 2016-01-29 2019-12-03 Fotonation Limited Convolutional neural network
WO2017129325A1 (en) * 2016-01-29 2017-08-03 Fotonation Limited A convolutional neural network
US20180005059A1 (en) 2016-07-01 2018-01-04 Google Inc. Statistics Operations On Two Dimensional Image Processor
WO2018119035A1 (en) 2016-12-22 2018-06-28 Ip Reservoir, Llc Pipelines for hardware-accelerated machine learning
US20230229450A1 (en) * 2018-02-23 2023-07-20 Untether Ai Corporation Computational memory
US10868991B2 (en) 2018-03-25 2020-12-15 Ideal Industries Lighting Llc High density parallel proximal image processing
CN113875226A (zh) * 2019-07-18 2021-12-31 索尼半导体解决方案公司 固态摄像元件、摄像装置和固态摄像元件的控制方法
CN112132765A (zh) * 2020-09-28 2020-12-25 北京计算机技术及应用研究所 一种并行视频图像动态范围增强装置及方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4700320A (en) * 1985-07-09 1987-10-13 American Telephone And Telegraph Company, At&T Bell Laboratories Bitmapped graphics workstation
FR2617621B1 (fr) * 1987-07-03 1989-12-01 Thomson Semiconducteurs Memoire de transposition pour circuit de traitement de donnees
JPH03187585A (ja) * 1989-12-18 1991-08-15 Olympus Optical Co Ltd 固体撮像素子
JP2793867B2 (ja) * 1989-12-18 1998-09-03 オリンパス光学工業株式会社 固体撮像装置
US5153731A (en) * 1989-12-18 1992-10-06 Olympus Optical Co., Ltd. Solid state image pick-up device and apparatus capable of providing filtering output with direct and real time manner
SE9002558D0 (sv) * 1990-08-02 1990-08-02 Carlstedt Elektronik Ab Processor
EP0627855B1 (de) * 1993-05-31 2001-11-07 Sony Corporation Aufzeichnung von digitalen Videosignalen
KR100498752B1 (ko) * 1996-09-02 2005-11-08 소니 가부시끼 가이샤 비트메트릭스를 사용한 데이터 수신장치 및 방법
US6940541B1 (en) * 1997-04-04 2005-09-06 Eastman Kodak Company Printer parameter compensation by a host camera
US6115066A (en) * 1997-06-12 2000-09-05 International Business Machines Corporation Image sensor with direct digital correlated sampling
US6466265B1 (en) * 1998-06-22 2002-10-15 Eastman Kodak Company Parallel output architectures for CMOS active pixel sensors
US6714243B1 (en) * 1999-03-22 2004-03-30 Biomorphic Vlsi, Inc. Color filter pattern

Also Published As

Publication number Publication date
JP2003516700A (ja) 2003-05-13
CN1199096C (zh) 2005-04-27
CN1346460A (zh) 2002-04-24
EP1159672A1 (de) 2001-12-05
KR20010102055A (ko) 2001-11-15
DE60008706D1 (de) 2004-04-08
EP1159672B1 (de) 2004-03-03
US20010041012A1 (en) 2001-11-15
EP1107107A1 (de) 2001-06-13
WO2001042902A1 (en) 2001-06-14
JP4733894B2 (ja) 2011-07-27
KR100788179B1 (ko) 2007-12-26

Similar Documents

Publication Publication Date Title
DE60008706T2 (de) Parallele datenverarbeitung und mischung
DE69728247T2 (de) Pyramidenförmiger pipeline-prozessor für ein bildverarbeitungssystem
DE3751720T2 (de) Schaltung für die bildschirmwiedergabe von computern
DE69827589T2 (de) Konfigurierbare Verarbeitungsanordnung und Verfahren zur Benutzung dieser Anordnung, um eine Zentraleinheit aufzubauen
DE69214566T2 (de) Bildprediktor
DE69913500T2 (de) Mehrprozessor-Anordnung mit geteiltem Speicherzugriff unter Vorrang-Kontrolle
DE19722365B4 (de) Rekonfigurierbares Rechenbauelement
DE68909425T2 (de) Videoprozessorsystem sowie Abbildungssystem und Bildspeichersystem mit einem derartigen Videoprozessorsystem.
DE3631333C2 (de)
DE112009004320T5 (de) Speicher-Untersystem
DE68926043T2 (de) Mehrprozessor-Computersystem
DE102017113735B4 (de) Statistische Operationen auf einem zweidimensionalen Bildprozessor
DE112009004344T5 (de) Parallele Implementierung einer Rechenmaschine nach dem Pipelineverfahren auf einerintegrierten Schaltung
DE112009004408T5 (de) Videoaufzeichnungs- und verarbeitungssysteme
DE102006014632B4 (de) Bildabtastvorrichtung
DE4408522C2 (de) Vorrichtung zur Bilddatenverarbeitung und Verfahren zur Verarbeitung von Bilddaten
DE102019115130A1 (de) Vorrichtung und Verfahren für konservatives morphologisches Anti-Aliasing mit Mehrfachabtastung
DE3851264T2 (de) Bildverarbeitungsverfahren.
DE69633716T2 (de) Hochgeschwindigkeitssystem zur Skalierung von Bildern
EP1262060B1 (de) Verfahren und Vorrichtung zum teilweisen Auslesen der Bilddaten eines Bildsensors
DE4326740C1 (de) Architektur für eine Rechenanlage
DE3689093T2 (de) Gestaltbares paralleles Pipeline--Bildverarbeitungssystem.
DE69721373T2 (de) Quantisierer für ein Videokodierungssystem
DE68917363T2 (de) System zum Lesen von Bilddaten in einem digitalen Bildverarbeitungssystem.
DE69030705T2 (de) Netzwerk zur Kommunikation mit dem übernächsten Nachbarn in Vektorprozessorsystemen und Verfahren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition