-
Diese
Anmeldung beansprucht die Priorität der US Provisional Patent
Application mit der Nr. 60/791,068. Der Inhalt der Provisional Application wird
durch Bezugnahme hierauf eingebracht.
-
Hintergrund
-
Die
Erfindung bezieht sich auf eine Bildbearbeitung und insbesondere
auf ein Verfahren und System zur Bildüberlappungs/-Overlay-Bearbeitung.
-
Der
folgende Absatz beabsichtigt, den Leser in unterschiedliche Aspekte
des Stands der Technik einzuführen,
auf die sich wiederum unterschiedliche Aspekte der vorliegenden
Erfindung beziehen, die im Folgenden beschrieben und/oder beansprucht
werden. Diese Diskussion soll dienlich sein, um den Leser mit Hintergrundinformationen
zu versorgen, und um ein Verstehen in Bezug auf die unterschiedlichen Aspekte
der vorliegenden Erfindung zu verbessern. Entsprechend versteht
es sich, dass die folgenden Ausführungen
hierzu im Lichte dessen gelesen werden sollen und nicht als Zugeständnisse
zum Stand der Technik.
-
1 zeigt
eine schematische Ansicht eines Blockdiagramms eines konventionellen
Systems, dass einen Frame Overlay- Process/Rahmenüberlappungsprozess implementiert. 2A bis 2C zeigen
Bilder, die durch ein System nach 1 bearbeitet
wurden. Ein System 100 umfasst einen Bildsensor 110,
einen Resizer bzw. Größenanpasser 120,
einen Overlay- Frame- Buffer 130, einen Image-Frame- Buffer 140,
eine Image-Overlay-Engine
bzw. Bearbeitungseinheit 150 und einen überlagerten Image-Frame- Puffer 160.
Eine Bildeinheit 111 wird erzeugt und vom Bildsensor 110 gesendet.
Das Bild 111 wird empfangen und durch den Resizer bzw. Größenanpasser
bearbeitet und dabei wird das angepasste Bild 121 erzeugt.
Das von der Größe angepasste
Bild 121 wird in 2A gezeigt.
Das größenangepasste
Bild 121 wird gesendet an und gespeichert in einem Bildrahmen
bzw. Framebuffer 140. Ein Overlay- Rahmen bzw. Frame 131 wird
im Overlay- Frame- Buffer 130 gespeichert. Der Overlay-
Frame 131 wird in 2B gezeigt.
Wenn ein Overlay- Rahmen 131 zum Bild 121 zugefügt wird,
werden Bild 121 und Overlay- Rahmen 131 vom Bildrahmen-
Puffer 140 und vom Overlay- Rahmenpuffer 130 entsprechend
erlangt. Das erlangte Bild 121 und der Overlay- Rahmen 131 werden
in der Bild Overlay- Engine/Bearbeitungseinheit 150 bearbeitet
und das überlagerte
Bild 151 wird dabei erzeugt. Das überlagerte Bild 151 wird
in 2C gezeigt. Das überlagerte Bild 151 wird
im überlagerten
Bild- Rahmenpuffer 160 für die weitere Benutzung gespeichert.
-
Gemäß dem konventionellen Überlagerungsprozess
werden 3 Puffer benötigt,
um Bilder, Overlay- Rahmen und überlagerte
Bilder entsprechend zu speichern. Die benötigten Speicher- Ressourcen
steigen mit dem Wachsen der Bildauflösung.
-
Überblick über die
Erfindung
-
Gewisse
Aspekte, die dem Schutzumfang der ursprünglich eingereichten Erfindung
entsprechen, werden im Folgenden beschrieben. Es versteht sich,
dass diese Aspekte im Wesentlichen deswegen vorgestellt werden,
um den Leser mit einem kurzen Überblick
von gewissen Formen der Erfindung in Kontakt zu bringen und wobei
diese Aspekte nicht beabsichtigen, den Schutzumfang der Erfindung
zu beschränken.
Anstatt dessen soll die Erfindung eine Vielzahl von Aspekten abdecken,
die nicht alle im Folgenden aufgeführt werden.
-
Ein
Bildbearbeitungssystem wird bereitgestellt. Ein Bildbearbeitungssystem
umfasst ein erstes Interface, ein zweites Interface und einen Overlay- Prozessor.
Das erste Interface empfängt
ein erstes Pixel eines ersten Bildes. Das zweite Interface empfängt einen
zweiten Pixel eines zweiten Bildes. Der Overlay- Prozessor empfängt den
ersten Pixels und den entsprechenden zweiten Pixel, erzeugt ein
Auswahlsignal und schaltet zum ersten Pixel oder zum zweiten Pixel
gemäß dem Auswahlsignal.
-
Ferner
wird ein Verfahren zur Bildbearbeitung bereitgestellt. Ein erstes
Bild umfassend eine Vielzahl von ersten Pixeln wird bereitgestellt.
Ein zweites Bild wird bereitgestellt, umfassend eine Vielzahl von
zweiten Pixeln. Einer der ersten Pixel und ein entsprechender zweiter
Pixel werden erlangt. Ein Selektionssignal bzw. Auswahlsignal wird
erzeugt. Es wird zum ersten Pixel oder zum zweiten Pixel gemäß dem Auswahlsignal
geschaltet.
-
Kurze Beschreibung
der Zeichnungen
-
Die
Erfindung kann besser verstanden werden durch Lesen der folgenden
detaillierten Beschreibung und Beispiele, die Bezug nehmen auf die beigefügten Zeichnungen,
wobei:
-
1 eine
schematische Ansicht eines Blockdiagramms eines konventionellen
Systems ist, das einen Rahmenüberlagerungsprozess
implementiert;
-
2A bis 2C zeigen
bearbeitete Bilder durch das System der 1;
-
3 ist
eine schematische Ansicht eines Bildbearbeitungssystems;
-
4A und 4B sind
Flussdiagramme einer Ausführungsform
eines Verfahrens der Bildbearbeitung;
-
5 ist
eine schematische Ansicht einer Ausführungsform eines horizontalen
Skalierungsprozesses;
-
6 ist
eine schematische Ansicht einer anderen Ausführungsform eines vertikalen
Skalierungsprozesses; und
-
7 zeigt
eine Ausführungsform
eines vertikal und horizontal vergrößerten Rahmens.
-
Detaillierte
Beschreibung
-
Eine
oder mehrere spezifische Ausführungsformen
der Erfindung werden im Folgenden beschrieben. Der Ansatz, eine
detaillierte Beschreibung der folgenden Ausführungen zu geben, führt dazu, dass
nicht alle Merkmale einer aktuellen Implementierung in der Beschreibung
beschrieben werden. Es versteht sich, dass während des Entwicklungsprozesses
einer entsprechenden aktuellen Implementierung, wie in jeglichem
Engineering- oder Entwicklungsprojekt eine Vielzahl von implementationsspezifischen
Entscheidungen getroffen werden müssen, um spezifische Entwicklungsziele
zu erreichen, wie zum Beispiel Übereinstimmung
mit systembezogenen und geschäftsbezogenen
Vorgaben, die von einer Implementierung zur anderen variieren können. Es
sollte verstanden werden, dass ein solcher Entwicklungsaufwand sehr
komplex und Zeit konsumierend sein kann, aber trotz allem für einen
Fachmann auf diesem Gebiet, der sich mit der Offenbarung auseinandersetzt,
eine Routine beim Design bzw. bei der Entwicklung, bei der Herstellung
und beim Zusammenbau darstellt,,
-
In
der folgenden detaillierten Beschreibung wird Bezug genommen auf
die beigefügten
Zeichnungen, die einen Teil davon bilden, und die durch ihre grafische
Darstellung spezifische Ausführungsformen
darstellen. Diese Ausführungsformen
werden in ausreichenden Detail beschrieben, um einem Fachmann auf
diesem Gebiet in die Lage zu versetzen, die Erfindung auszuführen, und
es versteht sich, dass andere Ausführungsformen verwendet werden können, und
strukturelle logische und elektrische Änderungen vorgenommen werden,
ohne vom Geist und Schutzumfang der Erfindung abzuweichen. Die folgende
detaillierte Beschreibung ist somit nicht in einem limitierenden
Sinne aufzufassen. Die führenden
Ziffern der Bezugszeichen, die in den Figuren auftreten, korrespondieren
mit den Figurennummern mit der Ausnahme, dass die gleichen Bezugszeichen durchgängig benutzt
werden, um auf identische Komponenten zu verweisen, die in mehreren
Figuren auftauchen. Es sollte verstanden werden, dass viele Elemente,
die dargestellt wurden und durch die Beschreibung beschrieben werden,
von funktionaler Natur sind und in einer oder mehreren physikalischen Einheiten
aufgeteilt werden können,
oder andere Formen aufweisen können,
als diejenigen, die beschrieben oder grafisch dargestellt wurden.
-
3 ist
eine schematische Ansicht eines Bildbearbeitungssystems. Ein Bildbearbeitungssystem 300 umfasst
einen Bildsensor 310, einen Resizer 320, einen
Overlay-Frame Puffer 330,
ein Overlay-Bearbeitungssystem 350, ein Image DMA (Direct Memory
Access) Engine/Baueinheit 360.
-
Ein
Rahmen Image 331 bzw. Frame Image wird in einem Overlay-
Frame Puffer 330 gespeichert. Das Frame Bild 331 umfasst
eine Vielzahl von Pixel, jeder von diesen kann initiiert sein oder
nicht initiiert sein. So können
zum Beispiel die Pixel des Rahmenbildes 331 in einer sequenziellen
Reihenfolge arrangiert sein. Entsprechend kann jeder der Pixel gemäß einer
Speicherposition, in der er gespeichert ist, identifiziert werden.
Farbschlüssel,
die mit den Pixel korrespondieren, werden in der Speichereinheit 270 gespeichert.
-
Ein
Bild 311 wird erzeugt und von einem Bildsensor 310 gesendet.
Bild 311 umfasst eine Vielzahl von Pixel. Bild 311 wird
empfangen und durch einen Resizer 320 bearbeitet und ein
größenangepasstes
Bild 321 mit einer gewünschten
Auflösung wird
dadurch erzeugt. Pixel von dem größenangepassten Bild 321 werden
in einen Zeilenpuffer sequenziell gespeichert und einer der Pixel
wird zu einem Zeitpunkt gesendet an und bearbeitet durch das Overlay-
Bearbeitungssystem 350. Entsprechend gibt es keinen Bedarf,
um das gesamte größenangepasste
Bild im Vorhinein zu speichern. Wenn ein Pixel 321a des
größenangepassten
Bildes 321 durch das Interface 321 empfangen wird,
wird ein korrespondierender Pixel vom Bild 331 vom Overlay-
Frame- Provider 330 erlangt. Die Pixel der Bilder 331 werden
einer nach dem anderen durch das Interface 352 empfangen.
Falls die Pixel des Bildes 331 indiziert werden, wird ein
entsprechender Farbschlüssel 371a von
der Indextabelle 371, die in der Speichereinheit 370 gespeichert
wird, empfangen. Falls das Bild 331 nicht die gleiche Größe wie das
Bild 321 aufweist, wird ein Skalierungsprozess benötigt. Im
Allgemeinen ist die Größe des Rahmenbildes 331 gleich oder
kleiner als die Größe des Bildes 321.
Ein Vergrößerer 353 wird
deswegen benötigt,
um das Bild 331 auf das Bild 321 zu überlagern.
Die Operationen des Vergrößerers 353 werden
im Detail später
beschrieben, die in den 5 und 6 offenbart
werden. Nach der Bearbeitung durch den Vergrößerer 353 wird der
Farbschlüssel 353a,
der mit dem Pixel 321a korrespondiert, zum Vergleicher/Comperator 354 gesendet
und der korrespondierende Pixel 353b wird zum Schalter 356 gesendet.
Ein voreingestellter Farbschlüssel 355 wird
vom Komparator 354 erlangt und wird mit dem Farbschlüssel 353a verglichen.
Der voreingestellte Farbschlüssel 355 spezifiziert einen transparenten
Pixel im Bild 331. Wenn der Farbschlüssel 353a gleich zum
voreingestellten Farbschlüssel 355 ist,
wird ein Signal 3541 an Schalter 356 gesendet,
anderenfalls wird ein Signal 3543 gesendet. Beide Pixel 321a und 353b werden
zum Schalter 356 gesendet. Wenn der Schalter 356 das Signal 3541,
das anzeigt, dass der Pixel 353b transparent ist, empfängt, gibt
der Schalter 356 Pixel 321a zur DMA-Engine/Vorrichtung 360 aus.
Wenn der Schalter 356 das Signal 3543, das anzeigt,
dass der Pixel 353b nicht transparent ist, empfängt, so
gibt Schalter 356 Pixel 353b an die Bild DMA-Engine 360 aus.
-
Der
Pixel, der durch die Bild DMA-Engine 360 empfangen wurde,
wird dann zu anderen Einheiten für
die weitere Benutzung gesendet. So kann zum Beispiel der Pixel zum
Bildpuffer 372 für
die Videokodierung gesendet werden zum Bildpuffer 373 für die Kamera-Voransicht oder zum
JPEG- Zeilenpufferkodierer-375 für eine weitere JPEG-Kodierung.
-
4A und 4B sind
Flussdiagramme einer Ausführungsform
eines Verfahrens zur Bildbearbeitung. Das Verfahren wird in einem
Bildbearbeitungssystem (wie zum Beispiel einem Bildverarbeitungssystem 300 nach 3)
implementiert, das mit einem Startschritt (Schritt S400) beginnt.
Ein Rahmenbild (im Folgenden lediglich als Rahmen bezeichnet) wird
einem Overlay- Rahmenpuffer (Schritt S401) bereitgestellt. Der Rahmen
umfasst eine Vielzahl von Pixel, jede von diesen kann initiiert
werden oder nicht initiiert werden. Zum Beispiel kann der Rahmen
ein Rahmen 71 sein, wie er in 7 gezeigt wird.
So können
zum Beispiel Pixel von Rahmenbildern 331 in einer sequentiellen
Ordnung angeordnet sein. Entsprechend kann jeder der Pixel gemäß einer Speicherposition,
in der er gespeichert ist, identifiziert werden. Farbschlüssel, die
mit den Pixel korrespondieren, werden in einer Speichereinheit (Schritt S402)
gespeichert. Ein Bild wird bereitgestellt, das eine Vielzahl von
Pixel (Schritt S403) umfasst. Wenn der Rahmen, der in Schritt S401
bereitgestellt wird, durch ein Bild, das in Schritt S403 bereitgestellt
wurde, zu überlagern
ist, so fährt
das Verfahren mit Schritt S410 (wie in 4B gezeigt
ist) fort.
-
Ein
Pixel von dem Bild wird in Schritt S410 erlangt und ein korrespondierender
Pixel des Rahmens wird in Schritt S411 erlangt. Falls der Pixel
des Rahmens initiiert wird, wird ein entsprechender Farbschlüssel in
Schritt S412 erlangt. Wenn der Rahmen und das Bild von unterschiedlicher
Größe sind,
wird ein Skalierungsprozess (Schritt S413) ausgeführt. Im Allgemeinen
ist die Größe des Rahmens
gleich oder geringer als die Größe des Bildes.
Der Skalierungsprozess wird im Detail in den 5 und 6 beschrieben.
Nach dem Skalierungsprozess (falls einer durchgeführt wurde)
wird bestimmt, ob der Farbschlüssel,
der mit dem Rahmenpixel korrespondiert, mit einem vorangestellten
Farbschlüssel übereinstimmt
(Schritt S414). Der vorangestellte Farbschlüssel spezifiziert einen transparenten
Pixel. Wenn der Farbschlüssel
des Rahmenpixels mit dem vorangestellten Farbschlüssel übereinstimmt,
so geht das Verfahren weiter zu Schritt S415, anderenfalls zu Schritt
S416. In Schritt S415 ist der Pixel des Bildes eine Ausgabe. In
Schritt S416 ist der Pixel des Rahmens die Ausgabe. In Schritt 417 wird
der ausgegebene Pixel für
die weitere Benutzung gespeichert.
-
5 ist
eine schematische Ansicht einer Ausführungsform eines horizontalen
Skalierungsprozesses. Verwendet man 7 als ein
Beispiel, so wird Rahmen 71 horizontal vergrößert, um
den Rahmen 73 zu erzeugen. 5 zeigt
ein vereinfachtes Beispiel einer horizontalen Vergrößerung.
Rahmen 50 umfasst Pixels 51, 52, 53 und 54 und
jeder von ihnen wird erlangt und sequentiell bearbeitet in der Reihenfolge
der Pixels 51, 52, 53 und dann 54.
Hier wird Rahmen 50 zweifach horizontal vergrößert und
jeder Pixel wird zweimal gelesen. Wenn Rahmen 50 N-fach
horizontal vergrößert wird,
so wird jeder Pixel N-fach gelesen. Nach dem Vergrößerungsprozess wird
Rahmen 50 als Rahmen 520 präsentiert. Beim Überlagerungsprozess
wird, wenn jeder Rahmen 50 N-fach horizontal vergrößert wird,
jeder Pixel in Schritt S414 N-fach für den Vergleich verwendet.
-
6 ist
eine schematische Ansicht einer anderen Ausführungsform eines vertikalen
Skalierungsprozesses. Unter Verwendung von 7 als Beispiel,
wird Rahmen 71 vertikal vergrößert, um Rahmen 75 zu
erzeugen. 6 zeigt ein vereinfachtes Beispiel
einer vertikalen Vergrößerung.
Rahmen 60 umfasst Pixel 61, 62, 63 und 64.
Jeder von ihnen wird erlangt und sequenziell verarbeitet in der
Reihe der Pixel 61, 62, 63 und dann 64.
Hierbei wird Rahmen 60 zweifach vertikal vergrößert und
jede Zeile des Pixels wird zweimal gelesen. Wenn der Rahmen 60 N-fach
vergrößert wird,
wird jede Linie von Pixeln N-fach gelesen. Beim Overlaying- Prozess
wird jede Linie von Pixeln für
den Vergleichsschritt S414 N-fach verwendet, wenn der Rahmen 60 N-fach
vertikal vergrößert wird.
-
7 zeigt
ein Verfahren, bei dem der Rahmen 71 sowohl horizontal
als auch vertikal vergrößert wird,
so wird Rahmen 77 durch beide Prozesse von 5 und 6 implementiert.
-
Verfahren
und Systeme der Erfindung, oder bestimmte Aspekte oder Bereiche
davon, können
die Form von Programmcodes (im Allgemeinen Instruktionen) aufweisen,
die auf einem greifbaren Medium abgelegt sind, wie zum Beispiel
einer Floppy- Diskette, CD-ROMS,
Festplatten oder jegliche andere maschinenlesbare Speichermedien,
wobei, wenn der Programmcode geladen und durch eine Maschine ausgeführt wird,
wie zum Beispiel einem Computer, wird die Maschine eine Vorrichtung
zum Ausführen der
Erfindung. Das Verfahren und die Vorrichtung der vorliegenden Erfindung
können
ebenfalls in Form eines Programmcodes ausgebildet sein, der über ein Übertragungsmedium übertragen
wird, wie zum Beispiel eine elektrische Verkabelung oder durch Leiter, durch
Glasfaser oder durch jegliche andere Form von Übertragungsmedien, wobei, wenn
der Programmcode von einer Maschine empfangen und geladen wird wie
z.B. durch einen Computer ausgeführt
wird, wird die Maschine eine Vorrichtung zur Ausführung der
Erfindung. Wenn die Erfindung auf einem allgemeinen Prozessor implementiert
wurde, wird der Programmcode in Kombination mit dem Prozessor zu
einer einzigartigen Vorrichtung, die analog arbeitet zu einem spezifischen
Logik- Schaltkreis.
-
Auch
wenn die Erfindung durch Beispiele und mit Bezug auf bevorzugte
Ausführungsformen beschrieben
wurde, versteht es sich, dass die Erfindung hierauf nicht beschränkt ist.
Im Gegenteil, es ist beabsichtigt, eine Vielzahl von Modifikationen
und ähnlichen
Ausführungsformen
abzudecken (wie sie dem Fachmann auf diesem Gebiet ersichtlich sind). Daraus
ergibt sich, dass der Schutz der beigefügten Ansprüche der breitesten Interpretation
zugänglich sein
sollte, so dass all solche Modifikationen und ähnliche Ausführungsformen
davon abgedeckt werden.