-
HINTERGRUND
-
Gebiet der Erfindung
-
Diese Erfindung betrifft das Gebiet der Video- und Standbildframeaufnahme in tragbaren elektronischen Vorrichtungen.
-
Beschreibung des Stands der Technik
-
Verschiedene tragbare elektronische Vorrichtungen sind konzipiert, um Video- und/oder Standbilframes (Bilder) aufzunehmen. Zum Beispiel können solche tragbaren elektronischen Vorrichtungen handgehaltene Videokameras, Digitalkameras, persönliche digitale Assistenten, die mit Bildsensoren („Kameras“) ausgestattet sind, Mobiltelefone/Smartphones, die mit Kameras ausgestattet sind, Tablets, die mit Kameras ausgestattet sind, Laptops, die mit Kameras ausgestattet sind, usw. beinhalten.
-
Vorrichtungen, die sowohl Videoaufnahme als auch Standbildframeaufnahme unterstützen, werden üblich, einschließlich der obigen Vorrichtungen. Solche Vorrichtungen erlauben dem Benutzer oft, einen Standbildframe während einer Videoaufnahme aufzunehmen. Zum Beispiel können die Vorrichtungen das Video anzeigen, das auf einem Bildschirm aufgenommen wird, der in der Vorrichtung enthalten ist oder an der Vorrichtung angebracht ist, und die Vorrichtung kann eine Taste oder eine andere Benutzereingabevorrichtung beinhalten, die der Benutzer drücken kann, um den Standbildframe aufzunehmen. Die „Taste“ kann eine physische Taste auf der Vorrichtung oder eine virtuelle Taste auf dem Bildschirm sein, wenn der Bildschirm ein Touchscreen ist.
-
Es gibt mehrere Probleme beim Aufnehmen eines Standbildframes während einer Videoaufnahme. Erstens wird die Videoaufnahme oft mit einer niedrigeren Auflösung durchgeführt, als die Kamera unterstützt, und die höhere Auflösung der Kamera wird typischerweise für die Standbildframes verwendet, die aufgenommen werden, wenn kein Video aufgenommen wird. Zweitens beträgt das Seitenverhältnis des Videos typischerweise 16×9, während Standbildframes typischerweise mit einem 4×3-Seitenverhältnis aufgenommen werden. Dementsprechend können, wenn der Benutzer einen Standbildframe aufnimmt, die niedrigere Auflösung und das andere Seitenverhältnis des aufgenommenen Standbildframes für den Benutzer überraschend sein und können für den Benutzer unbefriedigend sein. Im Allgemeinen muss der Kamerasensor neu konfiguriert werden, wenn zwischen einem Standbildmodus mit hoher Auflösung und einem Videomodus mit niedrigerer Auflösung umgeschaltet wird, so dass man nicht einfach Modi umschalten kann, um ein Standbild mit höherer Auflösung während der Videoaufnahme aufzunehmen.
-
ZUSAMMENFASSUNG
-
In einer Ausführungsform kann eine elektronische Vorrichtung konfiguriert sein, um Standbildframes während der Videoaufnahme aufzunehmen, kann aber die Standbildframes im 4×3 Seitenverhältnis und mit höherer Auflösung als die 16×9 Seitenverhältnis-Videoframes aufnehmen. In einer Implementierung kann die Vorrichtung 4×3 Frames mit hoher Auflösung und 16×9 Frames mit niedrigerer Auflösung in der Videosequenz verschränken und kann das nächstgelegene 4×3 Frame mit höherer Auflösung aufnehmen, wenn der Benutzer die Aufnahme eines Standbildframes angibt. Die Vorrichtung kann das Video anzeigen, das auf einem Anzeigebildschirm aufgenommen wird, und kann auch eine Angabe des 4×3 Framing bereitstellen. Zum Beispiel kann das Video mit dem Rest des 4×3 Framing, das in transluzenter Form um die Letterbox herum gezeigt ist, geletterboxed sein. Auf diese Weise kann sich der Benutzer gleichzeitig des 4×3 Framing und des Video-Framing bewusst sein. In einer anderen Implementierung kann das Video, das aufgenommen wird, auf dem Anzeigebildschirm mit dem 16×9 Seitenverhältnis angezeigt werden. Wenn der Benutzer eine Verschlusstaste drückt, um ein Standbildframe aufzunehmen, kann das angezeigte Video auf 4×3 Seitenverhältnis erweitert werden (wobei die Skala und Platzierung des Videoframe innerhalb des 4×3 Frame beibehalten wird). Wenn der Benutzer die Verschlusstaste loslässt, kann das Standbild aufgenommen werden und die Anzeige kann zu dem 16×9 Seitenverhältnis zurückkehren.
-
Figurenliste
-
Die folgende detaillierte Beschreibung nimmt Bezug auf die begleitenden Zeichnungen, die nun kurz beschrieben werden.
- 1 ist ein Blockdiagramm einer Ausführungsform eines Systems.
- 2 ist ein Blockdiagramm, das Frames veranschaulicht, die über einen Zeitraum in einer Ausführungsform erfasst wurden.
- 3 ist ein Blockdiagramm einer Ausführungsform des Anzeigens von Frames auf einer Anzeige des in 1 gezeigten Systems.
- 4 ist ein Blockdiagramm einer Ausführungsform eines in 1 gezeigten Bildsignalprozessors (ISP).
- 5 ist ein Blockdiagramm einer anderen Ausführungsform des in 1 gezeigten ISP.
- 6 ist ein Flussdiagramm, das eine Videoframeaufnahme gemäß einer Ausführungsform des Systems veranschaulicht.
- 7 ist ein Flussdiagramm, das eine Standbildframeaufnahme gemäß einer Ausführungsform des Systems veranschaulicht.
- 8 ist ein Flussdiagramm, das eine Standbildframeaufnahme gemäß einer anderen Ausführungsform des Systems veranschaulicht.
- 9 ist ein Blockdiagramm einer anderen Ausführungsform des Systems.
-
Während die Erfindung für verschiedene Modifikationen und alternative Formen empfänglich ist, sind spezifische Ausführungsformen davon beispielhaft in den Zeichnungen gezeigt und werden hier im Detail beschrieben. Es versteht sich jedoch, dass die Zeichnungen und die detaillierte Beschreibung dazu nicht dazu gedacht sind, die Erfindung auf die bestimmte offenbarte Form zu beschränken, sondern im Gegenteil die Absicht ist, alle Modifikationen, Äquivalente und Alternativen abzudecken, die in den Geist und Umfang der vorliegenden Erfindung fallen, wie durch die angehängten Ansprüche definiert. Die hier verwendeten Überschriften dienen nur organisatorischen Zwecken und sollen nicht verwendet werden, um den Umfang der Beschreibung zu beschränken. Wie in dieser Anmeldung verwendet, wird das Wort „kann“ in einem permissiven Sinn verwendet (d. h. was bedeutet, dass es das Potenzial hat), anstatt im obligatorischen Sinn (d. h. was bedeuten muss). In ähnlicher Weise bedeuten die Wörter „einschließen“, „einschließend“ und „schließt ein“, einschließlich, aber nicht beschränkt auf.
-
Verschiedene Einheiten, Schaltungen oder andere Komponenten können als „konfiguriert“ beschrieben werden, um eine Aufgabe oder Aufgaben auszuführen. In solchen Kontexten ist „konfiguriert“ eine breite Rezitation der Struktur, die im Allgemeinen bedeutet „Schaltlogik aufweisen, die“ die Aufgabe oder Aufgaben während des Betriebs ausführt. Als solche kann die Einheit/Schaltung/Komponente konfiguriert sein, um die Aufgabe auszuführen, auch wenn die Einheit/Schaltung/Komponente derzeit nicht eingeschaltet ist. Im Allgemeinen kann die Schaltung, die die Struktur bildet, die „konfiguriert“ entspricht, Hardwareschaltungen und/oder Speicher einschließen, die Programmanweisungen speichern, die ausführbar sind, um den Betrieb zu implementieren. Der Speicher kann flüchtigen Speicher wie statischen oder dynamischen Direktzugriffsspeicher und/oder nichtflüchtigen Speicher wie optischen oder magnetischen Plattenspeicher, Flash-Speicher, programmierbare Nur-LeseSpeicher usw. einschließen. In ähnlicher Weise können verschiedene Einheiten/Schaltungen/Komponenten der Einfachheit halber in der Beschreibung als eine Aufgabe oder Aufgaben ausführend beschrieben werden. Das Nennen einer Einheit/Schaltung/Komponente, die konfiguriert ist, um eine oder mehrere Aufgaben auszuführen, soll sich ausdrücklich nicht auf 35 U.S.C. § 112, Absatz sechs Interpretation für diese Einheit/Schaltung/Komponente beziehen.
-
Diese Beschreibung beinhaltet Rückbezüge auf „eine Ausführungsform oder „eine Ausführungsform“. Das Auftreten der Ausdrücke „in einer Ausführungsform“ oder „in einer Ausführungsform“ bezieht sich nicht notwendigerweise auf dieselbe Ausführungsform, obwohl Ausführungsformen, die eine beliebige Kombination der Merkmale einschließen, im Allgemeinen in Betracht gezogen werden, sofern hierin nicht ausdrücklich ausgeschlossen. Bestimmte Merkmale, Strukturen oder Eigenschaften können auf eine beliebige geeignete Weise kombiniert werden, die mit dieser Offenbarung im Einklang steht.
-
DETAILLIERTE BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
-
Nun unter Bezugnahme auf 1 ist ein Blockdiagramm einer Ausführungsform eines Systems auf einem Chip (SOC) 10 gezeigt, das mit einem Speicher 12, einem oder mehreren Bildsensoren 26 und einer oder mehreren Anzeigen 20 gekoppelt ist. Wie durch den Namen impliziert, können die Komponenten des SOC 10 auf einem einzelnen Halbleitersubstrat als ein integrierter Schaltungs-„Chip“ integriert sein. In einigen Ausführungsformen können die Komponenten auf zwei oder mehreren diskreten Chips in einem System implementiert sein. Zusätzlich können verschiedene Komponenten auf einer beliebigen integrierten Schaltung integriert sein (d. h. es muss kein SOC sein). Jedoch wird das SOC 10 hier als ein Beispiel verwendet. In der veranschaulichten Ausführungsform beinhalten die Komponenten des SOC 10 einen Zentralverarbeitungseinheit(CPU)-Komplex 14, ein Anzeigepipe 16, Peripheriekomponenten 18A -18B (kurzer gesagt „Peripherien“), eine Speichersteuerung 22, einen Bildsignalprozessor (ISP) 24 und eine Kommunikationsstruktur 27. Die Komponenten 14, 16, 18A -18B, 22 und 24 können alle mit der Kommunikationsstruktur 27 gekoppelt sein. Die Speichersteuerung 22 kann während der Verwendung mit dem Speicher 12 gekoppelt sein. In ähnlicher Weise kann der ISP 24 während der Verwendung mit den Bildsensoren 26 gekoppelt sein und das Anzeigepipe 16 kann während der Verwendung mit den Anzeigen 20 gekoppelt sein. Somit können das SOC 10, die Bildsensoren 26, der Speicher 12 und die Anzeigen 20 alle Komponenten eines Systems sein, wie etwa einer tragbaren elektronischen Vorrichtung (Beispiele davon wurden oben erwähnt) oder eines beliebigen anderen Computersystems. In der veranschaulichten Ausführungsform beinhaltet der CPU-Komplex 14 einen oder mehrere Prozessoren 28 und einen Level-Zwei(L2)-Cache 30.
-
Der ISP 24 kann dazu konfiguriert sein, Bildsensordaten von den Bildsensoren 26 zu empfangen, und kann dazu konfiguriert sein, die Daten zu verarbeiten, um Bildframes zu produzieren, die z. B. zur Anzeige auf einer Anzeige 20 und/oder anderen Anzeigen geeignet sein können. Die Bildframes können Standbildframes und Videoframes beinhalten. Der ISP 24 kann dazu konfiguriert sein, die Bildframes in den Speicher 12 (durch die Speichersteuerung 22) zu schreiben.
-
Die Bildsensoren 26 können im Allgemeinen eine beliebige Vorrichtung beinhalten, die dazu konfiguriert ist, Licht abzutasten und eine Ausgabe bereitzustellen, die das abgetastete Licht darstellt. Die Bildsensoren 26 können Kameras (z. B. ladungsgekoppelte Vorrichtungen (charge coupled devices - CCDs), komplementäre Metalloxid-Halbleiter(complementary metal-oxide-semiconductor - CMOS)-Sensoren usw.) beinhalten. Die Bildsensoren 26 können in einigen Ausführungsformen ebenfalls verschiedene feste oder bewegliche optische Linsen beinhalten.
-
Insbesondere kann der ISP 24 in einer Ausführungsform dazu konfiguriert sein, eine Reihe von Frames über die Zeit vom Bildsensor 26 zu empfangen (z. B. mit einer spezifizierten Framerate, wie etwa 60 Frames pro Sekunde (fps), obwohl in verschiedenen Ausführungsformen eine beliebige Framerate verwendet werden kann). Die von einem gegebenen Bildsensor 26 empfangenen Frames können eine Auflösung und ein Seitenverhältnis aufweisen, das auf der maximalen Auflösung des gegebenen Bildsensors 26 und dem Seitenverhältnis des gegebenen Bildsensors 26 basiert. Zum Beispiel können die Frames in einer Ausführungsform mit der maximalen Auflösung und dem Seitenverhältnis des gegebenen Bildsensors 26 empfangen werden. In einer anderen Ausführungsform können die Frames mit einem anderen Seitenverhältnis empfangen werden, als der gegebene Bildsensor aufweist, und die maximale Auflösung kann mit diesem anderen Seitenverhältnis unterstützt werden. Zum Beispiel kann der gegebene Bildsensor 26 in einer Ausführungsform ein 4x3-Seitenverhältnis aufweisen, aber der ISP 24 kann Frames in einem 16x9-Seitenverhältnis empfangen. Die Auflösung der empfangenen Frames kann von der maximalen Auflösung reduziert werden, um den Verlust von 4×3 (16x12) auf 16×9 widerzuspiegeln. Alternativ kann der ISP 24 konfiguriert sein, um das Seitenverhältnis auf den empfangenen Frames in einer anderen Ausführungsform zu reduzieren.
-
In einer Ausführungsform kann der ISP 24 Frames von mehr als einem Bildsensor gleichzeitig empfangen. Zum Beispiel kann ein Videobildsensor für eine Videoaufnahme mit niedrigerer Auflösung zusammen mit einem Standbildframesensor mit höherer Auflösung eingesetzt werden. Der ISP 24 kann Daten von den Bildsensoren auf verschränkte Weise verarbeiten. Zum Beispiel kann der ISP 24 ein Videobildframe aufnehmen und verarbeiten und kann den Rest der Zeit verwenden, bis das nächste Videobild aufgenommen wird, um das Standbildframe mit höherer Auflösung (oder einen Teil des Frames mit höherer Auflösung) zu verarbeiten.
-
Der ISP 24 kann konfiguriert sein, um die empfangenen Frames zu verarbeiten, um eine aufgenommene Videosequenz zu produzieren. Die Verarbeitung kann in einer Ausführungsform das Ändern der Auflösung von mindestens einigen der Frames sowie des Seitenverhältnisses beinhalten. In einigen Ausführungsformen kann die Framerate ebenfalls geändert werden. In einer Ausführungsform kann der ISP 24 Frames bei der Auflösung und dem Seitenverhältnis, die vom Bildsensor 26 bereitgestellt werden, mit Frames bei einer niedrigeren Auflösung und einem anderen Seitenverhältnis verschränken. Zum Beispiel kann die niedrigere Auflösung die Auflösung eines Anzeigestandards sein, zu dem die Videosequenz aufgenommen wird. Der Anzeigestandard kann eine beliebige Standardeinstellung von Auflösung und Seitenverhältnis sein, die durch verschiedene Anzeigen implementiert werden kann. Da die Auflösung und das Seitenverhältnis Standard ist, kann die Videosequenz zur Anzeige auf vielen verschiedenen Arten von Anzeigevorrichtungen geeignet sein. Zum Beispiel können Anzeigestandards 720p, 720i, 1080p oder 1080i beinhalten. Der 1080p-Standard ist derzeit besonders beliebt und wird durch viele Videoanzeigevorrichtungen wie Fernseher und Computermonitore implementiert. Diese verschiedenen Anzeigestandards werden auch oft als High Definition Television (HDTV) bezeichnet. Der 1080p-Standard wird hier als ein Beispiel verwendet und spezifiziert ein 16×9-Seitenverhältnis und eine Auflösung von 1920×1080 oder 2 Megapixel. Andererseits kann die Auflösung des Bildsensors 26 8 Megapixel, 10 Megapixel, 12,5 Megapixel oder mehr (oder weniger in einer Ausführungsform, aber immer noch höher als die 1080p-Auflösung) betragen. Das Seitenverhältnis des Bildsensors 26 kann ebenfalls 4×3 betragen. Einzelbilder bei der Anzeigestandardauflösung und dem Seitenverhältnis können als Anzeigestandardframes oder 1080p-Frames für ein spezifischeres Beispiel bezeichnet werden. Frames bei der Auflösung und dem Seitenverhältnis, die vom Bildsensor 26 empfangen werden, können als „Vollauflösungs“-Frames bezeichnet werden, auch wenn in einigen Fällen die Auflösung möglicherweise nicht die maximale Auflösung der Bildsensoren 26 ist.
-
Durch Verschränken der 1080p-Frames und der Vollauflösungs-Frames in der Videosequenz kann der ISP 24 die Menge an Bandbreite und Leistung reduzieren, die beim Ausgeben der Videosequenz verbraucht wird (z. B. durch Schreiben derselben in den Speicher 12 über die Kommunikationsstruktur 27 und durch die Speichersteuerung 22). Zusätzlich kann die Existenz der Vollauflösungs-Frames in der aufgenommenen Videosequenz die Aufnahme eines Standbildframe erlauben, während das Video aufgenommen wird. Das Standbildframe kann die volle Auflösung und das Seitenverhältnis des Bildsensors 26 aufweisen (durch Auswählen eines der Vollauflösungs-Frames aus der Videosequenz, wenn der Benutzer angibt, dass ein Standbild aufgenommen werden soll), was ein wünschenswerteres Standbild bereitstellen kann (z. B. ähnlich denjenigen, die im Standbildmodus aufgenommen werden), ohne eine Änderung des Modus zu erfordern.
-
Das Verschränken der Frames mit hoher Auflösung und der Frames mit niedrigerer Auflösung kann Bildströme von Frames mit hoher Auflösung und Frames mit niedrigerer Auflösung produzieren, jeweils mit der Hälfte der Framerate, mit der Frames vom Bildsensor 26 aufgenommen werden. Die Framerates müssen jedoch nicht dieselben sein. Zum Beispiel kann die Framerate mit hoher Auflösung 1/4 der Frames im Strom oder 1/8 der Frames oder ein beliebiges anderes Muster des Verschränkens sein. Die Framerate mit niedrigerer Auflösung kann erhöht werden, um die gewünschte Gesamtframerate zu produzieren (z. B. kann das Frame mit niedrigerer Auflösung 3/4 der Frames sein, wenn die Frames mit hoher Auflösung 1/4 der Frames sind, oder kann 7/8 der Frames sein, wenn die Frames mit hoher Auflösung 1/8 der Frames sind).
-
In einer Ausführungsform kann der ISP 24 auch eine „Vorschau“-Videosequenz erzeugen, die durch das Anzeigepipe 16 auf der Anzeige 20 angezeigt werden kann. Die Vorschauvideosequenz kann eine Sequenz mit niedrigerer Auflösung sein (z. B. kann die Auflösung ähnlich der 1080p-Auflösung sein), aber das Seitenverhältnis kann das Seitenverhältnis des Bildsensors 26 sein. Das heißt, das Seitenverhältnis kann das Seitenverhältnis von Standbildern sein. Die Vorschausequenz kann für den Benutzer angezeigt werden, der das Video aufnimmt, so dass der Benutzer die Videosequenz wie gewünscht geframt halten kann. Darüber hinaus kann das Anzeigen des Standbildseitenverhältnisses dem Benutzer erlauben, zu sehen, wie das Standbild geframt wird, wenn ein Standbild aufgenommen wird. In einer Ausführungsform kann das Anzeigestandard-Seitenverhältnis auch in der Vorschausequenz angegeben werden, so dass der Benutzer sowohl das Videoframe als auch das Standbildframe auf der Anzeige 20 gleichzeitig sehen kann. In einer Ausführungsform kann die Framerate der Vorschauvideosequenz auch niedriger als die Framerate der aufgenommenen Videosequenz sein (z. B. 30 fps im Vergleich zu 60 fps).
-
Andere Ausführungsformen können die Vorschau auf andere Weisen anzeigen. Zum Beispiel kann die Vorschausequenz beim Anzeigestandard-Seitenverhältnis (z. B. 16x9) erzeugt werden, während Video aufgenommen wird. Der Benutzer kann einen Wunsch angeben, ein Standbild aufzunehmen (z. B. durch Drücken einer Verschlusstaste auf der Vorrichtung), und die Vorschau kann das Standbildseitenverhältnis um die Videosequenz herum anzeigen (Halten der Videosequenz in ihrer gleichen Position auf der Anzeige 20, aber auch Anzeigen des Rests des Standbildframe). Die Videoaufnahme kann fortgesetzt werden, während die Verschlusstaste gedrückt ist. Der Benutzer kann die Verschlusstaste loslassen, um das Standbild aufzunehmen und zur Nur-Video-Aufnahme zurückzukehren. Die Verschlusstaste kann eine physische Taste sein, die auf dem Gehäuse des Systems enthalten ist, oder kann eine virtuelle Taste auf dem Anzeigebildschirm sein (z. B. wenn die Anzeige 20 eine Touchscreen-Anzeige ist).
-
Das Anzeigepipe 16 kann Hardware einschließen, um einen oder mehrere statische Frames und/oder eine oder mehrere Videosequenzen zur Anzeige auf den Anzeigen 20 zu verarbeiten. Im Allgemeinen kann das Anzeigepipe 16 für jeden Quellframe oder jede Videosequenz dazu konfiguriert sein, Lesespeichervorgänge zu erzeugen, um die Daten, die die Frame-/Videosequenz darstellen, aus dem Speicher 12 durch die Speichersteuerung 22 zu lesen. Insbesondere in dieser Ausführungsform kann das Anzeigepipe 16 dazu konfiguriert sein, die Vorschausequenz aus dem Speicher 12 durch die Speichersteuerung 22 zu lesen. Somit kann der ISP 26 die Vorschausequenz in den Speicher 12 sowie die aufgenommene Sequenz und beliebige Standbildframes schreiben. Das Anzeigepipe 16 kann dazu konfiguriert sein, eine beliebige Art von Verarbeitung an den Bilddaten (statischen Frames, Videosequenzen usw.) durchzuführen. In einer Ausführungsform kann das Anzeigepipe 16 dazu konfiguriert sein, statische Frames zu skalieren und eine Farbraumumwandlung an den Frames einer Videosequenz zu dithern, zu skalieren und/oder durchzuführen. Das Anzeigepipe 16 kann dazu konfiguriert sein, die statischen Frames und die Videosequenzframes zu mischen, um Ausgabeframes zur Anzeige zu produzieren. Allgemeiner kann das Anzeigepipe 16 als eine Anzeigesteuerung bezeichnet werden.
-
Die Anzeigen 20 können eine beliebige Art von visuellen Anzeigevorrichtungen sein. Die Anzeigen können zum Beispiel Anzeigen im Touchscreen-Stil für mobile Vorrichtungen, wie etwa Smartphones, Tablets usw., beinhalten. Verschiedene Anzeigen 20 können Flüssigkristallanzeige (liquid crystal display - LCD), Leuchtdiode (light emitting diode - LED), Plasma, Kathodenstrahlröhre (cathode ray tube - CRT) usw. beinhalten. Die Anzeigen können in ein System integriert sein, das das SOC 10 (z. B. ein Smartphone oder Tablet) beinhaltet, und/oder können eine separat untergebrachte Vorrichtung, wie etwa ein Computermonitor, Fernseher oder eine andere Vorrichtung, sein.
-
Im Allgemeinen kann sich das Seitenverhältnis des Frame auf das Verhältnis von Pixeln in der horizontalen Richtung (wie durch den Benutzer gesehen) zu Pixeln in der vertikalen Richtung beziehen. Die tatsächliche Anzahl von Pixeln im Frame kann als die Auflösung des Frame bezeichnet werden. Je mehr Pixel im Frame vorhanden sind, desto feinkörniger kann das Bild sein und somit kann das Bild genauer sein.
-
Der CPU-Komplex 14 kann einen oder mehrere CPU-Prozessoren 28 beinhalten, die als die CPU des SOC 10 dienen. Die CPU des Systems beinhaltet den/die Prozessor(en), die die Hauptsteuerungssoftware des Systems ausführen, wie etwa ein Betriebssystem. Im Allgemeinen kann Software, die durch die CPU während der Verwendung ausgeführt wird, die anderen Komponenten des Systems steuern, um die gewünschte Funktionalität des Systems zu realisieren. Die CPU-Prozessoren 28 können auch andere Software ausführen, wie etwa Anwendungsprogramme. Die Anwendungsprogramme können Benutzerfunktionalität bereitstellen und können sich auf das Betriebssystem für eine Vorrichtungssteuerung auf niedrigerer Ebene stützen. Dementsprechend können die CPU-Prozessoren 28 auch als Anwendungsprozessoren bezeichnet werden. Der CPU-Komplex kann ferner andere Hardware beinhalten, wie etwa den L2-Cache 30 und/oder eine Schnittstelle zu den anderen Komponenten des Systems (z. B. eine Schnittstelle zu der Kommunikationsstruktur 27).
-
Die Peripherien 18A -18B können ein beliebiger Satz von zusätzlicher Hardwarefunktionalität sein, die im SOC 10 enthalten ist. Zum Beispiel können die Peripherien 18A -18B Videoperipherien beinhalten, wie etwa Videocodierer/-decodierer, Skalierer, Rotatoren, Mischer, Grafikverarbeitungseinheiten usw. Die Peripherien können Audioperipherien beinhalten, wie etwa Mikrofone, Lautsprecher, Schnittstellen zu Mikrofonen und Lautsprechern, Audioprozessoren, digitale Signalprozessoren, Mischer usw. Die Peripherien können Schnittstellensteuerungen für verschiedene Schnittstellen außerhalb des SOC 10 beinhalten (z. B. die Peripherie 18B), einschließlich Schnittstellen, wie etwa Universal Serial Bus (USB), Peripheral Component Interconnect (PCI), einschließlich PCI Express (PCIe), serielle und parallele Anschlüsse usw. Die Peripherien können Netzwerkperipherien beinhalten, wie etwa Medienzugriffssteuerungen (MACs). Ein beliebiger Satz von Hardware kann enthalten sein.
-
Die Speichersteuerung 22 kann im Allgemeinen die Schaltung zum Empfangen von Speicheranforderungen von den anderen Komponenten des SOC 10 und zum Zugreifen auf den Speicher 12 beinhalten, um die Speicheranforderungen abzuschließen. Die Speichersteuerung 22 kann dazu konfiguriert sein, auf eine beliebige Art von Speicher 12 zuzugreifen. Zum Beispiel kann der Speicher 12 statischer Direktzugriffsspeicher (static random access memory - SRAM), dynamischer RAM (DRAM), wie etwa synchroner DRAM (SDRAM), einschließlich DRAM mit doppelter Datenrate (double data rate - DDR, DDR2, DDR3 usw.) sein. Leistungsarme/mobile Versionen des DDR-DRAM können unterstützt werden (z. B. LPDDR, mDDR usw.).
-
Die Kommunikationsstruktur 27 kann eine beliebige Kommunikationszwischenverbindung und ein beliebiges Kommunikationsprotokoll zum Kommunizieren zwischen den Komponenten des SOC 10 sein. Die Kommunikationsstruktur 27 kann busbasiert sein, einschließlich gemeinsam genutzter Buskonfigurationen, Kreuzschienenkonfigurationen und hierarchischer Busse mit Brücken. Die Kommunikationsstruktur 27 kann auch paketbasiert sein und kann hierarchisch mit Brücken, Kreuzschiene, Punkt-zu-Punkt- oder anderen Zwischenverbindungen sein.
-
Es wird angemerkt, dass die Anzahl von Komponenten des SOC 10 (und die Anzahl von Teilkomponenten für die in 1 gezeigten, wie etwa innerhalb des CPU-Komplexes 14) von Ausführungsform zu Ausführungsform variieren kann. Es kann mehr oder weniger von jeder Komponente/Teilkomponente als die in 1 gezeigte Anzahl geben.
-
Nun unter Bezugnahme auf 2 ist ein Diagramm gezeigt, das aufeinanderfolgende Frames einer Videosequenz gemäß einer Ausführungsform veranschaulicht. Die Videosequenz beinhaltet Frames 40A -40D beim 4×3 Seitenverhältnis und Vollsensorauflösung, die mit Frames 42A -42D beim 16×9 Seitenverhältnis und der 1080p Auflösung verschränkt sind. Das heißt, abwechselnde Frames werden beim 4×3 Seitenverhältnis und der hohen Auflösung und beim 16×9 Seitenverhältnis und der niedrigeren Auflösung bereitgestellt. Die Framerate der Videosequenz kann in einer Ausführungsform dieselbe sein wie die Eingabeframerate vom Bildsensor 26 (z. B. 60 fps). Dementsprechend kann die effektive Framerate jedes Frametyps (volle Auflösung und 1080p Auflösung) 1/2 der Videosequenz-Framerate (z. B. 30 fps) betragen.
-
Wie oben erwähnt, muss die Framerate für die Vollauflösungs- und 1080p-Auflösungs-Frames nicht dieselbe sein. Abhängig von verschiedenen Faktoren, wie etwa der verfügbaren Bandbreite im System und im ISP selbst, können die effektiven Framerates variiert werden. Zum Beispiel können die Vollauflösungs-Frames bei 15 fps aufgenommen werden und die 1080p-Auflösungs-Frames können bei 45 fps aufgenommen werden, um 60 fps zu ergeben. Ein beliebiger Satz von Framerates kann verwendet werden.
-
3 ist ein Blockdiagramm, das eine Ausführungsform eines Frame 44 einer Vorschausequenz veranschaulicht, wie sie auf der Anzeige 20 während der Aufnahme der in 2 gezeigten Videosequenz angezeigt werden kann. Das Frame 44 kann das Videoframe 46 im 16×9 Format beinhalten, wie durch die Streben 48 und 50 angegeben. Zusätzlich können die Abschnitte des 4×3 (16x12) Frame, die sich über das Videoframe hinaus erstrecken, in transluzenter Letterbox-Form 52A -52B gezeigt sein, wobei das volle 4×3 (16x12) Frame über Streben 48 und 54 veranschaulicht ist.
-
Die transluzenten Letterboxen 52A -52B können eine sichtbare Angabe dessen sein, welcher Teil des Frame 44 in der Videosequenz aufgenommen wird (das Videoframe 46) und welcher Abschnitt für das Standbild verfügbar ist (das gesamte Frame 44). Die transluzenten Letterboxen 52A -52B können das Bild schattieren, um einen visuellen Effekt bereitzustellen, können aber auch ermöglichen, dass die darunterliegenden Pixel betrachtet werden, so dass der Benutzer die gewünschte Standbildaufnahme framen kann, während das Video noch aufgenommen wird. Andere Ausführungsformen können andere visuelle Indikatoren verwenden (z. B. Linien, die das Videoframe und Standbildframeabschnitte trennen, Häkchen auf der rechten und linken Seite des Frame 44 an den Punkten, an denen das Videoframe 46 beginnt und endet, usw.).
-
Der Letterboxing-Effekt kann durch den ISP 24 hinzugefügt werden, wenn die Videosequenz verarbeitet wird, oder kann durch das Anzeigepipe 16 hinzugefügt werden, wobei die transparente Überlagerung als ein statisches Bild auf die Videosequenz mit einem nicht einheitlichen Alpha-Wert gemischt wird, der ermöglicht, dass darunterliegende Pixelfarben teilweise sichtbar sind.
-
Eine virtuelle Verschlusstaste 56 wird auch auf dem Frame 44 angezeigt. In der veranschaulichten Ausführungsform wird die Taste 56 innerhalb des Videoframe 44 angezeigt, aber sie kann auch in den Letterbox-Bereichen 52A -52B angezeigt werden. Die Taste 56 kann in einer Ausführungsform verwendet werden, in der die Anzeige 20 eine berührungsfähige Anzeige ist. Der Benutzer kann die Taste 56 drücken, indem er einen Berührungskontakt mit dem Bildschirm an einem Punkt herstellt, an dem die Taste angezeigt wird, um einen Standbildframe aufzunehmen. In einer Ausführungsform bewirkt das Drücken der Taste, dass der Standbildframe aufgenommen wird. In einer anderen Ausführungsform kann das Loslassen der Taste nach dem Drücken die Aufnahme des Standbildframe bewirken. In der Zwischenzeit kann die Videosequenz fortgesetzt aufgenommen und angezeigt werden. Als Reaktion darauf, dass der Benutzer die Taste 56 drückt (oder loslässt), kann das SOC 10 konfiguriert sein, um den nächstgelegenen Vollauflösungsframe aus der aufgenommenen Videosequenz aufzunehmen. Das heißt, der Zeitpunkt, zu dem die Standbildframeaufnahme erfolgt, kann mit der Videosequenz synchronisiert werden und der nächstgelegene Vollauflösungsframe zu diesem Zeitpunkt kann ausgewählt werden.
-
Nun unter Bezugnahme auf 4 ist ein Blockdiagramm einer Ausführungsform des ISP 24 gezeigt. In der veranschaulichten Ausführungsform beinhaltet der ISP 24 eine Sensorschnittstelle 60, einen Frontend-Skalierer 62, einen Backend-Verarbeitungsblock 64 und einen Backend-Skalierer 66. Die Sensorschnittstelle 60 ist gekoppelt, um Frames vom/von den Bildsensor(en) 26 zu empfangen, und ist mit dem Frontend-Skalierer 62 gekoppelt. Der Frontend-Skalierer 62 ist gekoppelt, um skalierte Frames an die Speichersteuerung 22 zur Speicherung im Speicher 12 bereitzustellen. Der Backend-Verarbeitungsblock 64 ist dazu konfiguriert, die skalierten Frames aus dem Speicher 12 zu lesen (veranschaulicht durch die gepunktete Linie 68 in 4). Der Backend-Verarbeitungsblock 64 ist mit dem Backend-Skalierer 66 gekoppelt, der gekoppelt ist, um eine erfasste Videosequenz und eine Vorschauvideosequenz an die Speichersteuerung 22 zur Speicherung im Speicher 12 bereitzustellen. Die Vorschauvideosequenz kann durch das Anzeigepipe 16 aus dem Speicher 12 gelesen werden (veranschaulicht durch die gepunktete Linie 70).
-
Die vom Bildsensor 26 empfangenen Frames können Frames mit Vollsensorauflösung bei einer gewünschten Framerate (z. B. 60 fps, in diesem Beispiel) sein. Zusätzlich können die Frames das Sensorseitenverhältnis aufweisen (z. B. 4×3 in diesem Beispiel). Wie zuvor erwähnt, können in einigen Ausführungsformen mehrere Bildsensoren eingesetzt werden und Frames von jedem Bildsensor können empfangen werden. Die Framerates zum Empfangen von Bildern von jedem Sensor müssen nicht dieselben sein, in verschiedenen Ausführungsformen. Die Sensorschnittstelle 60 kann konfiguriert sein, um die Framedaten zu empfangen und die Daten an den Frontend-Skalierer 62 zu liefern. Der Frontend-Skalierer 62 kann abwechselnde Frames mit der vollen Sensorauflösung und dem Seitenverhältnis (d. h. unmodifizierte Frames) und Frames bei einer reduzierten Auflösung und einem 16×9 Seitenverhältnis ausgeben. Die reduzierte Auflösung kann die Anzeigestandardauflösung (z. B. 1080p) sein oder kann eine Zwischenauflösung sein. Zum Beispiel kann die Zwischenauflösung auf der Auflösung der Vorschauvideosequenz basieren. Insbesondere kann die Zwischenauflösung mit der horizontalen Auflösung der Vorschauvideosequenz übereinstimmen, in einer Ausführungsform. In anderen Ausführungsformen können die relativen Raten, bei denen Frames mit hoher Auflösung und Frames mit niedriger Auflösung erzeugt werden, variiert werden, wie oben besprochen.
-
Der Frontend-Skalierer 62 kann auf den Sensorrohpixeldaten arbeiten. Die Sensorpixeldaten können in einem beliebigen Format (z. B. Bayer-Format) bereitgestellt werden. Die Sensorrohpixeldaten können in Daten umgewandelt werden, die durch die anderen Komponenten des Systems verwendet werden (z. B. Rot-Grün-Blau(RGB)-Pixel oder Chrominanz/Luminanz(YCrCb)-Pixel). Der Backend-Verarbeitungsblock 64 kann \dazu konfiguriert sein, die Umwandlung durchzuführen, und der Backend-Skalierer 66 kann dazu konfiguriert sein, die resultierenden Frames zu skalieren. Der Backend-Skalierer 66 kann dazu konfiguriert sein, zwei Videoströme an den Speicher auszugeben: die aufgenommene Videosequenz, die die verschränkten 4×3 Vollsensorauflösung Frames beinhalten kann, die mit 1080p Auflösung 16×9 Frames verschränkt sind; und die Vorschauvideosequenz.
-
Die Vorschauvideosequenz muss nicht bei der vollen Framerate der aufgenommenen Videosequenz sein. Zum Beispiel kann in der veranschaulichten Ausführungsform die Vorschauvideosequenz 30 fps sein, wobei die aufgenommene Videosequenz 60 fps ist. Jeder Vorschauframe kann ein 4×3 Seitenverhältnis aufweisen und kann eine Auflösung aufweisen, die für die Anzeige 20 geeignet ist. Der vorherige Frame kann in einer Ausführungsform die Angabe des 16×9 Frame innerhalb des 4×3 Frame (z. B. das Letterboxing) beinhalten.
-
Der Backend-Verarbeitungsblock 64 kann dazu konfiguriert sein, beliebige andere gewünschte Bildverarbeitungs- oder Transformationsmechanismen zusätzlich zu der oben erwähnten Bayer-Pixelumwandlung zu implementieren. Zum Beispiel kann der Backend-Verarbeitungsblock 64 Rauscheinfügung, Farbverbesserung usw. beinhalten.
-
5 ist ein Blockdiagramm einer anderen Ausführungsform des ISP 24. Die Ausführungsform von 5 beinhaltet nicht den Frontend-Skalierer 62. Dementsprechend kann die Sensorschnittstelle 60 dazu konfiguriert sein, die Frames vom Bildsensor 26 zu empfangen und die Frames in den Speicher zu schreiben. Die empfangenen Frames können ein 4×3-Seitenverhältnis und die Vollsensorauflösung aufweisen, in der veranschaulichten Ausführungsform. Alternativ können die empfangenen Frames das 16×9-Seitenverhältnis aufweisen, in einer anderen Ausführungsform. Der Backend-Verarbeitungsblock 64 kann die empfangenen Frames aus dem Speicher lesen (gepunktete Linie 72) und kann die skalierte Videosequenz erzeugen, die 4×3-Seitenverhältnis Frames mit Vollsensorauflösung und 16×9-Seitenverhältnis Frames mit niedrigerer Auflösung verschränkt, die durch den Frontend-Skalierer in der Ausführungsform von 4 erzeugt wurden. Darüber hinaus kann der Backend-Verarbeitungsblock 64 dazu konfiguriert sein, die Bayer-zu-RGB/YCrCb-Verarbeitung und dergleichen durchzuführen, wie zuvor beschrieben. Der Backend-Skalierer 66 kann dazu konfiguriert sein, die erfasste Videosequenz und die Vorschauvideosequenz zu erzeugen, wie zuvor in Bezug auf 4 besprochen. Das Anzeigepipe 16 kann die Vorschauvideosequenz aus dem Speicher (gepunktete Linie 74) zur Anzeige auf der Anzeige 20 lesen.
-
6 ist ein Flussdiagramm, das den Betrieb einer Ausführungsform von Komponenten des SOC 10 zum Aufnehmen der Videosequenz und der Vorschauvideosequenz veranschaulicht. Während die Blöcke zur Vereinfachung des Verständnisses in einer bestimmten Reihenfolge gezeigt sind, können andere Reihenfolgen verwendet werden. Blöcke können parallel in kombinatorischer Logik in den Komponenten durchgeführt werden. Blöcke können auf verschiedenen Frames oder verschiedenen Teilen eines Frame arbeiten, ebenfalls parallel. Blöcke, Kombinationen von Blöcken und/oder das Flussdiagramm als Ganzes können über mehrere Taktzyklen gepipelinet werden. Die Komponenten des SOC 10 können konfiguriert sein, um den in 6 gezeigten Betrieb zu implementieren.
-
Der ISP 24 kann konfiguriert sein, um die Bildsensordaten mit der gewünschten Framerate zu empfangen (Block 80). Der ISP 24 kann konfiguriert sein, um die Sequenz von verschränkten Frames (4×3-Seitenverhältnis Frames mit Vollsensorauflösung und 16×9-Seitenverhältnis Frames mit niedrigerer Auflösung) zu erzeugen. Die Sequenzen von Frames jedes Typs können effektiv die Hälfte der Framerate der empfangenen Frames aufweisen, und somit kann die verschränkte Sequenz dieselbe Framerate wie die empfangenen Frames aufweisen (Block 82). Alternativ können unterschiedliche Framerate für die Frames mit niedriger Auflösung und die Frames mit hoher Auflösung unterstützt werden, wie zuvor besprochen. Der ISP 24 kann konfiguriert sein, um die aufgenommene Videosequenz zu erzeugen, die die Vollsensor 4×3-Seitenverhältnis Frames beinhaltet, die mit 1080p Frames verschränkt sind (Block 84). Zusätzlich kann der ISP 24 konfiguriert sein, um die 4×3-Seitenverhältnis Frames mit Vorschauauflösung der Vorschauvideosequenz zu erzeugen (Block 86). In einer Ausführungsform ist die Framerate der Vorschauvideosequenz kleiner als die der aufgenommenen Videosequenz. Zum Beispiel kann die Framerate die Hälfte der aufgenommenen Videosequenz sein. Frames der Vorschauvideosequenz können z. B. durch Zusammenführen eines 4×3-Frame (skaliert auf 1080p Auflösung) und eines benachbarten 16×9-Frame aus der aufgenommenen Videosequenz erzeugt werden. Das Anzeigepipe 16 kann die Vorschauvideosequenz mit transluzentem Letterboxing anzeigen, um den Video (16×9)-Abschnitt des Frame anzugeben (Block 88). Der Effekt des transluzenten Letterboxings kann Teil des Backend-Skalierers 66 sein, der die Vorschauvideosequenz bereitstellt, oder kann über das Mischen der Vorschauvideosequenz und eines statischen Letterbox-Bilds angewendet werden. Die aufgenommene Videosequenz und die Vorschauvideosequenz können in separaten Speicherbereichen im Speicher 12 gespeichert werden. Da die Vorschauvideosequenz für den Benutzer bereitgestellt wird, um zu sehen, während die Sequenz aufgenommen wird, kann ihre Region etwas kleiner sein, wenn gewünscht, und ältere Frames in der Videosequenz können durch neuere Frames überschrieben werden. Umgekehrt kann die aufgenommene Videosequenz zur Aufbewahrung bestimmt sein (z. B. zur späteren Verarbeitung/Ansicht, vielleicht zum Auslagern auf eine andere Vorrichtung usw.). Dementsprechend kann eine größere Region für die aufgenommene Videosequenz zugewiesen werden. In einigen Ausführungsformen kann die aufgenommene Videosequenz auf einen anderen Speicher (z. B. nichtflüchtigen Speicher im System, nicht gezeigt) übertragen werden.
-
Wenn unterschiedliche Framerate für die Frames mit hoher Auflösung und die Frames mit niedriger Auflösung verwendet werden, kann die Erzeugung von Frames mit hoher Auflösung in Slices zwischen der Erzeugung der Frames mit niedrigerer Auflösung durchgeführt werden. Wenn zum Beispiel Frames mit niedriger Auflösung bei 30 fps aufgenommen werden, kann der ISP 24 einen Frame mit niedriger Auflösung in weniger als 1/30 einer Sekunde aufnehmen. Die verbleibende Zeit bis zum Ablauf des 1/30 einer Sekunde kann verwendet werden, um ein Slice mit hoher Auflösung zu verarbeiten. Das Slice kann zum Beispiel eine Kachel oder mehrere Kacheln des Frames mit hoher Auflösung sein.
-
7 ist ein Flussdiagramm, das den Betrieb einer Ausführungsform von Komponenten des SOC 10 zum Aufnehmen eines Standbildframes während der Videoaufnahme veranschaulicht. Während die Blöcke zur Vereinfachung des Verständnisses in einer bestimmten Reihenfolge gezeigt sind, können andere Reihenfolgen verwendet werden. Blöcke können parallel in kombinatorischer Logik in den Komponenten durchgeführt werden. Blöcke, Kombinationen von Blöcken und/oder das Flussdiagramm als Ganzes können über mehrere Taktzyklen gepipelinet werden. Die Komponenten des SOC 10 können konfiguriert sein, um den in 7 gezeigten Betrieb zu implementieren.
-
Der Benutzer kann dem System anzeigen, dass ein Standbildframe aufgenommen werden soll (Entscheidungsblock 90). Zum Beispiel kann der Benutzer eine physische Verschlusstaste auf dem System oder eine virtuelle Verschlusstaste drücken, die auf der Anzeige 20 angezeigt wird (die in dieser Ausführungsform eine Touchscreen-Anzeige sein kann). Die Erkennung des Tastendrucks oder einer anderen Angabe kann durch einen der Prozessoren 28 durchgeführt werden, z. B. als Reaktion auf einen Interrupt von der Vorrichtung (Anzeige 20 oder die physische Taste). Wenn der Benutzer ein Standbild angegeben hat (Entscheidungsblock 90, „Ja“-Zweig), kann das System das nächstgelegene Vollsensorauflösung Frame mit 4×3 Seitenverhältnis, aus der aufgenommenen Videosequenz aufnehmen (Block 92). Das System kann den nächstgelegenen Frame bestimmen, indem es beispielsweise einen Zeitstempel des Tastendruckereignisses oder eines anderen Angabeereignisses mit Zeitstempeln der aufgenommenen Videosequenzframes vergleicht. Der Standbildframe kann von seinem Ort im aufgenommenen Video im Speicher 12 zu einem anderen Ort zur Speicherung als Standbild kopiert werden.
-
In einigen Ausführungsformen kann das System eine Bildqualitätsfilterung einsetzen, um ein Standbild zur Aufnahme auszuwählen, anstatt den nächstgelegenen hochauflösenden Frame streng aufzunehmen. Zum Beispiel können die Frames auf Schärfe überprüft werden, und ein schärferes Bild, das zeitlich weiter vom Tastendruck entfernt ist, kann gegenüber einem näheren Bild bevorzugt werden. Wenn das Subjekt des Bilds ein Mensch ist, kann ein Frame, in dem die Augen des Subjekts offen sind, gegenüber einem näheren Frame bevorzugt werden. Eine beliebige Art von Bildqualitätsfilterung kann in verschiedenen Ausführungsformen beinhaltet sein.
-
In einer anderen Ausführungsform kann die Vorschauvideosequenz bei der 16×9 Auflösung während der Videoaufnahme angezeigt werden. Wenn der Benutzer während der Videoaufnahme angibt, dass ein Standbild aufgenommen werden soll, kann die Vorschauvideosequenz auf das 4×3 Seitenverhältnis erweitert werden, so dass der Benutzer das Framing des Standbilds beobachten kann. Die Videoaufnahme kann während dieser Zeit fortgesetzt werden, wobei beim 16×9 Seitenverhältnis aufgenommen wird. Sobald das Standbild aufgenommen ist, kann die Vorschauvideosequenz zurück zum 16×9 Seitenverhältnis übergehen. Das Anzeigen nur der 16×9 Videoframes, wenn eine Standbildaufnahme nicht ausgeführt wird, kann in einer Ausführungsform die Bandbreite und den Leistungsverbrauch für die Videodaten weiter reduzieren, während das gewünschte Seitenverhältnis für Standbilder noch bereitgestellt wird.
-
8 ist ein Flussdiagramm, das den Betrieb einer Ausführungsform des Systems veranschaulicht, um den Übergang von 16×9 zu 4×3 und zurück zu implementieren. Während die Blöcke zur Vereinfachung des Verständnisses in einer bestimmten Reihenfolge gezeigt sind, können andere Reihenfolgen verwendet werden. Blöcke können parallel in kombinatorischer Logik in den Komponenten durchgeführt werden. Blöcke, Kombinationen von Blöcken und/oder das Flussdiagramm als Ganzes können über mehrere Taktzyklen gepipelinet werden. Die Komponenten des SOC 10 können konfiguriert sein, um den in 8 gezeigten Betrieb zu implementieren.
-
Das System kann im Videoaufnahmemodus sein, Videoframes aufnehmen und eine 16×9 Vorschau auf der Anzeige 20 anzeigen. Der Benutzer kann anzeigen, dass ein Standbildframe gewünscht wird, z. B. durch Drücken einer physischen oder virtuellen Verschlusstaste (Entscheidungsblock 94). Wie oben besprochen, kann das Drücken der Taste durch den Benutzer erkannt werden, z. B. durch einen Prozessor 28, der einen Interrupt empfängt. Wenn der Benutzer die Verschlusstaste nicht drückt (Entscheidungsblock 94, „Nein“-Zweig), kann das System das Anzeigen der 16×9 Frames fortsetzen (Block 96). Andererseits, wenn der Benutzer die Verschlusstaste drückt (Entscheidungsblock 94, „Ja“-Zweig), kann das System eine 4×3 Vorschau anzeigen (Block 98) und die 4×3 Vorschau weiter anzeigen, bis der Benutzer die Verschlusstaste loslässt (Entscheidungsblock 100, „Nein“-Zweig). Der Benutzer kann somit das Standbild framen, während die Taste gedrückt ist, wenn gewünscht.
-
Der Übergang von 16×9zu 4×3 kann auf eine Vielzahl von Weisen durchgeführt werden. Zum Beispiel kann der 4×3 Frame einblenden, wobei der 16×9 Frame in seiner gleichen Position und Skala innerhalb des 4×3 Frame beibehalten wird. Der Abschnitt des 4×3 Frame außerhalb des 16×9Frame kann transluzent geletterboxed sein, so dass sowohl das Videoframing als auch das Standbildframing gleichzeitig sichtbar sein können. Alternativ kann das Einblenden nicht die volle Helligkeit erreichen, wodurch eine visuelle Unterscheidung zwischen dem Videoframing und dem Standbildframing bereitgestellt wird.
-
Sobald der Benutzer die Verschlusstaste loslässt (Entscheidungsblock 100, „Ja“-Zweig), kann das System das Standbild in einem Speicherort separat von der Videosequenz aufnehmen und die Anzeige kann zur Anzeige des 16×9 Videoframe zurückkehren (Block 102). Zum Beispiel kann der 4×3 Frame ausblenden. Während des Framings und der Aufnahme des Standbildframe (z. B. während die Verschlusstaste gedrückt ist) kann die Videoaufnahme weiterhin erfolgen.
-
Es wird angemerkt, dass, während die obige Diskussion 16×9 als Videoseitenverhältnis und 4×3 als Standbildseitenverhältnis verwendet, andere Ausführungsformen andere Seitenverhältnisse für eines oder beide der Videoframes und Standbildframes einsetzen können.
-
Ähnlich wie bei der obigen Diskussion in Bezug auf 7 kann der in der Ausführungsform von 8 aufgenommene Standbildframe ein Frame sein, der zeitlich nahe an der Tastenfreigabe liegt, aber auch eine Bildqualitätsfilterung einsetzen kann.
-
Nun unter Bezugnahme auf 9 ist ein Blockdiagramm einer Ausführungsform eines Systems 150 gezeigt. In der veranschaulichten Ausführungsform beinhaltet das System 150 mindestens eine Instanz des SOC 10, die mit einer oder mehreren Peripherien 154 und dem externen Speicher 12 gekoppelt ist. Eine Stromversorgung 156 ist bereitgestellt, die die Versorgungsspannungen an das SOC 10 sowie eine oder mehrere Versorgungsspannungen an den Speicher 12 und/oder die Peripherien 154 liefert. In einigen Ausführungsformen kann mehr als eine Instanz des SOC 10 enthalten sein (und mehr als ein Speicher 12 kann ebenfalls enthalten sein).
-
Die Peripherien 154 können eine beliebige gewünschte Schaltung beinhalten, abhängig von der Art des Systems 150. Zum Beispiel kann das System 150 in einer Ausführungsform eine mobile Vorrichtung (z. B. persönlicher digitaler Assistent (PDA), Smartphone usw.) sein und die Peripherien 154 können Vorrichtungen für verschiedene Arten von drahtloser Kommunikation beinhalten, wie etwa WiFi, Bluetooth, Mobilfunk, globales Positionierungssystem usw. Die Peripherien 154 können auch zusätzlichen Speicher beinhalten, einschließlich RAM-Speicher, Festkörperspeicher oder Plattenspeicher. Die Peripherien 154 können Benutzerschnittstellenvorrichtungen beinhalten, wie etwa einen Anzeigebildschirm, einschließlich Touchscreens oder Multitouch-Anzeigebildschirme, Tastatur oder andere Eingabevorrichtungen, Mikrofone, Lautsprecher usw. In anderen Ausführungsformen kann das System 150 eine beliebige Art von Rechensystem sein (z. B. Desktop-Personal-Computer, Laptop, Workstation, Nettop usw.). Insbesondere können die Peripherien 154 den/die Bildsensor(en) 26 und die in 1 gezeigten Anzeigen 20 beinhalten.
-
Der externe Speicher 12 kann eine beliebige Art von Speicher beinhalten. Zum Beispiel kann der externe Speicher 12 SRAM, dynamischer RAM (DRAM), wie etwa synchroner DRAM (SDRAM), SDRAM mit doppelter Datenrate (double data rate - DDR, DDR2, DDR3 usw.), sein. Der externe Speicher 12 kann ein oder mehrere Speichermodule beinhalten, an denen die Speichervorrichtungen montiert sind, wie etwa einzelne Inline-Speichermodule (single inline memory modules - SIMMs), Dual-Inline-Speichermodule (dual inline memory modules - DIMMs) usw. Alternativ kann der externe Speicher 12 eine oder mehrere Speichervorrichtungen beinhalten, die auf dem SOC 10 in einer Chip-auf-Chip- oder Package-auf-Package-Implementierung montiert sind.
-
Zahlreiche Variationen und Modifikationen werden dem Fachmann ersichtlich, sobald die vorstehende Offenbarung vollständig verstanden ist. Es ist beabsichtigt, dass die folgenden Ansprüche so interpretiert werden, dass sie alle derartigen Variationen und Modifikationen einschließen.