DE102013017122A1 - Verfahren zum Herstellen automatischer Cinemagramme auf einer Bildgebungsvorrichtung - Google Patents

Verfahren zum Herstellen automatischer Cinemagramme auf einer Bildgebungsvorrichtung Download PDF

Info

Publication number
DE102013017122A1
DE102013017122A1 DE201310017122 DE102013017122A DE102013017122A1 DE 102013017122 A1 DE102013017122 A1 DE 102013017122A1 DE 201310017122 DE201310017122 DE 201310017122 DE 102013017122 A DE102013017122 A DE 102013017122A DE 102013017122 A1 DE102013017122 A1 DE 102013017122A1
Authority
DE
Germany
Prior art keywords
sequence
image
frame
frames
motion
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.)
Granted
Application number
DE201310017122
Other languages
English (en)
Other versions
DE102013017122B4 (de
Inventor
Ayelet Mashiah
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.)
Qualcomm Inc
Original Assignee
CSR Technology Inc
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 CSR Technology Inc filed Critical CSR Technology Inc
Publication of DE102013017122A1 publication Critical patent/DE102013017122A1/de
Application granted granted Critical
Publication of DE102013017122B4 publication Critical patent/DE102013017122B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/149Segmentation; Edge detection involving deformable models, e.g. active contour models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/38Registration of image sequences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20116Active contour; Active surface; Snakes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/142Edging; Contouring

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Ausführungsformen betreffen ein automatisches Herstellen eines Cinemagramms auf wenigstens einer Bildgebungsvorrichtung, wobei das Cinemagramm ohne zusätzliche Benutzerinteraktion über ein Erfassen einer Anfangssequenz von Bildern und einem Anzeigen hinaus, dass ein Cinemagramm aus einer Sequenz hergestellt werden soll, hergestellt werden kann. Das automatische Herstellen des Cinemagramms umfasst ein Wählen eines Ankerrahmens innerhalb der Sequenz und Ausrichten der anderen Rahmen auf den Ankerrahmen. Detektion und Segmentierung von sich bewegenden Objekten innerhalb der Sequenz bezüglich des Ankerrahmens werden durchgeführt. Eine Maske wird erzeugt und verfeinert. Die Segmentierungen von Masken werden dann vereinigt und mit einem Hintergrund von dem Ankerrahmen kombiniert, um eine animierte Sequenz zu erzeugen.

Description

  • TECHNISCHES GEBIET
  • Die vorliegenden Ausführungsformen betreffen allgemein Bildanimation und insbesondere, aber nicht ausschließlich, das automatische Herstellen eines Cinemagramms auf wenigstens einer Bildgebungsvorrichtung, wobei das Cinemagramm auf der Bildgebungsvorrichtung ohne zusätzliche Benutzerinteraktion über ein Erfassen einer Anfangssequenz von Bildern und einem Anzeigen hinaus, dass ein Cinemagramm aus einer Sequenz hergestellt werden soll, hergestellt werden kann.
  • HINTERGRUND
  • Kurz gesagt kann ein Cinemagramm als ein Standbild beschrieben werden, in dem eine gewisse wiederholte Bewegungsaktion innerhalb eines Abschnitts einer Szene innerhalb des Fotos auftritt. Cinemagramme können als etwas zwischen einem Foto und einem Video angesehen werden, das einen Moment der Aktion innerhalb eines ansonsten unbewegten Fotos zu erfassen versucht. In einigen Aspekten erscheint ein Cinemagramm dem Beobachter einem GIF-Bild (Graphics Interchange Format), einem JPEG-Bild (Joint Photographic Experts Group) oder einem anderen Videoformat zu ähneln. Bei diesen beispielhaften Bewegtbildern wird eine Bewegung eines bestimmten Aspekts des Bilds als eine sich wiederholende oder fortgesetzte Bewegung zwischen Bildern in der Sequenz von Bildern wahrgenommen.
  • Während Cinemagramme für interessante Animationen sorgen, erfordern gegenwärtige Ansätze oftmals, dass der Prozess des Compositing des Cinemagramms aus einer Videosequenz manuell unter Einsatz einer manchmal komplexen Bildeditiersoftware durchgeführt wird, die oftmals signifikante Benutzerinteraktionen beinhaltet; und/oder die Verwendung von Werkzeugen, die nur auf einem PC oder einem Server laufen können, was das Herunterladen des erfassten Videos von der Kamera oder der mobilen Vorrichtung auf den Computer erfordert – eine mühselige und zeitraubende Anforderung. Viele Leute sind möglicherweise dem Versuch abgeneigt, Cinemagramme herzustellen. Somit besteht ein Wunsch, verbesserte Mechanismen zum Herstellen von Cinemagrammen bereitzustellen, auf eine Weise, die sowohl automatisch als auch schnell ist, die dem Benutzer das Ergebnis ohne weitere Intervention sofort auf der Kamera präsentiert. Deshalb wurden bezüglich dieser Überlegungen und anderer die vorliegenden Innovationen gemacht.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Nicht begrenzende und nicht erschöpfende Ausführungsformen werden unter Bezugnahme auf die folgenden Zeichnungen beschrieben. In den Zeichnungen beziehen sich gleiche Bezugszahlen in den verschiedenen Figuren auf gleiche Teile, sofern nicht etwas anderes festgelegt ist.
  • Zum besseren Verständnis der vorliegenden Ausführungsformen wird nun auf die folgende ausführliche Beschreibung Bezug genommen, die zusammen mit den beiliegenden Zeichnungen zu lesen ist. Es zeigen:
  • 1 ein Systemschaltbild einer Ausführungsform einer Umgebung, in der die Ausführungsformen praktiziert werden können;
  • 2 eine Ausführungsform eines verbesserten Bildprozessors, der zum Praktizieren verschiedener Ausführungsformen verwendet werden kann;
  • 3 ein Systemschaltbild einer weiteren Ausführungsform einer Umgebung, in der die Ausführungsformen praktiziert werden können;
  • 4 einen Logikflussprozess, der allgemein eine Ausführungsform eines Prozesses zeigt, der zum automatischen Erzeugen eines Cinemagramms verwendet werden kann;
  • 5 einen Logikflussprozess, der allgemein eine Ausführungsform eines Prozesses zeigt, der zum Aufbauen eines einzelnen Ausgaberahmens innerhalb eines Cinemagramms verwendet werden kann; und
  • 6 einen Logikfluss, der allgemein eine Ausführungsform eines Prozessbeispiels zum Vereinigen von Segmentierungen zum Herstellen eines Cinemagramms zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Die vorliegenden Ausführungsformen werden nun im Folgenden unter Bezugnahme auf die beiliegenden Zeichnungen vollständiger beschrieben, die einen Teil hiervon bilden und die zur Veranschaulichung spezielle Aspekte zeigen, wie die Ausführungsformen praktiziert werden können. Diese Ausführungsformen können jedoch viele verschiedene Formen annehmen und sollten nicht so ausgelegt werden, dass sie die hier dargelegten Ausführungsformen beschränken; vielmehr werden diese Ausführungsformen vorgelegt, damit diese Offenbarung gründlich und vollständig ist und dem Fachmann den Schutzbereich vollständig vermittelt. Die vorliegenden Ausführungsformen können unter anderem Verfahren oder Vorrichtungen umfassen. Dementsprechend können die vorliegenden Ausführungsformen die Form von vollständig in Hardware oder einer Kombination aus Software- und Hardwareaspekten annehmen. Die folgende ausführliche Beschreibung ist daher nicht in einem einschränkenden Sinn zu verstehen.
  • In der Spezifikation und den Ansprüchen besitzen die folgenden Begriffe die explizit hier assoziierten Bedeutungen, sofern der Kontext nicht klar etwas anderes diktiert. Die Phrase ”in einer Ausführungsform”, wie hier verwendet, bezieht sich nicht notwendigerweise auf die gleiche Ausführungsform, wenngleich dies möglich ist. Ferner bezieht sich die Phrase ”in einer weiteren Ausführungsform”, wie hier verwendet, nicht notwendigerweise auf eine andere Ausführungsform, wenngleich dies möglich ist. Somit können, wie unten beschrieben, verschiedene Ausführungsformen der Erfindung ohne weiteres kombiniert werden, ohne vom Schutzbereich oder Wesen der Erfindung abzuweichen.
  • Außerdem ist, wie hier verwendet, der Begriff ”oder” ein inklusiver ”Oder”-Operator und ist äquivalent dem Begriff ”und/oder”, sofern der Kontext nicht deutlich etwas anderes diktiert. Der Begriff ”auf der Basis von” ist nicht abschließend und gestattet das Basieren auf zusätzlichen, nicht beschriebenen Faktoren, sofern der Kontext nicht deutlich etwas anderes diktiert. Außerdem umfasst in der Spezifikation die Bedeutung von ”ein/eine/einer” und ”der/die/das” Pluralreferenzen. Die Bedeutung von ”in” umfasst ”in” und ”auf”.
  • Der Begriff ”Bild” oder ”Bilddaten”, wie hier verwendet, bezieht sich auf Daten, die ein in wenigstens zwei Dimensionen anzuzeigendes Bild definieren, und kann die Form eines einzelnen Displays des Bilds oder eines zeitlich variierenden Displays einer Sequenz von Bildern annehmen, die mehrere Videorahmen umfassen, die zeitlich beabstandet sein können.
  • Der Begriff ”Cinemagramm”, wie hier verwendet, bezieht sich auf überwiegend bewegungslose Bilder, in denen eine wiederholte Bewegung innerhalb eines Abschnitts einer Szene innerhalb einer Bildsequenz vorkommt.
  • Der Begriff ”automatisiert”, wie hier verwendet, bezieht sich auf eine Sequenz von durch ein Rechensystem unternommenen Aktionen ohne Notwendigkeit für Benutzerinteraktionen mit der Rechenvorrichtung. Insbesondere beinhaltet die Automatisierung eine Herstellung eines Cinemagramms, was eine Bildgebungsvorrichtung umfasst, die Aktionen ohne zusätzliche Benutzerinteraktionen über das Erfassen einer Anfangssequenz von Bildern hinaus und das Anzeigen, dass ein Cinemagramm aus der Sequenz hergestellt werden soll, hinaus durchführt. Bei einer Ausführungsform könnten solche Benutzerinteraktionen ein Wählen auf der Bilderfassungsvorrichtung, wie etwa einer Kamera, eines Knopfs, eines Icons oder dergleichen, das Anzeigen, dass ein Cinemagramm hergestellt werden soll, und das Initiieren einer Bilderfassung umfassen. Bei einer Ausführungsform könnte das Initiieren einer Bilderfassung das Drücken eines Wahlindikators durch den Benutzer auf der Bilderfassungsvorrichtung, die zu einer Bildszene gerichtet ist, umfassen. Die Bilderfassungsvorrichtung kann dann ohne weitere Benutzerinteraktionen die Erfassung der Sequenz von Bildern durchführen und dann das Cinemagramm automatisch herstellen. Somit erfordert ”automatisiert”, wie hier verwendet, beispielsweise keine zusätzlichen Benutzereingaben, etwa zum Identifizieren und/oder anderweitigen Wählen von Gebieten der Bewegung, von Hintergrundgebieten oder dergleichen. Solche Bestimmungen können hier ohne Benutzerinteraktionen durchgeführt werden, wodurch die Herstellung eines Cinemagramms vereinfacht wird.
  • Folgendes beschreibt kurz die Ausführungsformen, um ein grundlegendes Verständnis einiger Aspekte zu vermitteln. Diese kurze Beschreibung ist nicht als ein umfassender Überblick gedacht. Sie soll keine wichtigen oder kritischen Elemente identifizieren oder den Schutzbereich umreißen oder anderweitig einengen. Ihr Zweck besteht lediglich darin, einige Konzepte in einer vereinfachten Form vorzulegen als Auftakt zu der ausführlicheren Beschreibung, die später vorgelegt wird.
  • Kurz gesagt betreffen Ausführungsformen das automatische Herstellen eines Cinemagramms auf wenigstens einer Bildgebungsvorrichtung, wobei das Cinemagramm ohne zusätzliche Benutzerinteraktion über ein Erfassen einer Anfangssequenz von Bildern und einem Anzeigen hinaus, dass ein Cinemagramm aus einer Sequenz hergestellt werden soll, hergestellt werden kann. Zudem umfassen, wie erwähnt, die vorliegenden Innovationen das automatische Herstellen des Cinemagramms auf der Bilderfassungsvorrichtung wie etwa einer Digitalkamera, einem Handy, einem mit einer Kamera oder ähnlichen Bildsensoren ausgestatteten Laptopcomputer, einer Webcam, einem Tablet mit einer Kamera und so weiter. Der Benutzer wählt eine Szene und nimmt mit der Vorrichtung eine Videosequenz auf und zeigt weiter an, dass aus der Sequenz ein Cinemagramm hergestellt werden soll. Der Rest des Prozesses wird dann von der Bilderfassungsvorrichtung ohne zusätzliche Benutzerinteraktionen automatisch durchgeführt. Bei einigen Ausführungsformen jedoch könnte ein Benutzer während der Erfassungssequenz angeleitet werden, um Verbesserungen vorzuschlagen. Beispielsweise könnte dem Benutzer über Menüoptionen gestattet werden, die Anwendung an die Präferenzen des Benutzers anzupassen.
  • Kurz gesagt wird eine geeignete Sequenz von Rahmen durch den Benutzer erfasst. Aus dieser Sequenz wird einer der Rahmen automatisch als ein Ankerrahmen gewählt. Dann wird jeder der anderen Rahmen in der Sequenz automatisch auf dem Ankerrahmen ausgerichtet (ein Prozess, der hier manchmal als ”Registrierung” bezeichnet wird). Eine Detektion und Segmentierung von sich bewegenden Objekten innerhalb der Rahmen bezüglich des Ankerrahmens wird durchgeführt. Die Detektion und Segmentierung der Rahmen umfasst das automatische Wählen eines oder mehrerer Bewegungsbereiche. Die Segmentierung begrenzt die Bewegungsbereiche in den Rahmen und kann als Maske verwendet werden. Bei einigen Ausführungsformen kann eine morphologische Dilatation automatisch auf der Maske durchgeführt werden, um Ränder hinzufügen, die einen glatten progressiven Übergang zwischen einem sich bewegenden Vordergrund und einem umgebenden Hintergrund innerhalb der Szene in den Rahmen gestatten. Die Maske für einen aktuellen Rahmen kann eine Vereinigung der berechneten Maske und eine Maske des Ankerrahmens sein. Grenzen zwischen dem sich nicht bewegenden Hintergrund und dem sich bewegenden Abschnitt des Bildrahmens können geglättet werden, um die Cinemagrammausgabesequenz zu erzeugen. Bei einer Ausführungsform kann die Sequenz auf sich selbst zurückgeschleift bzw. zurückgeloopt werden, um eine sich wiederholende Sequenz selektiver Animation zu erzeugen. Bei einer weiteren Ausführungsform kann eine ”Rückwärts”-Sequenz der Animation zum Ende der Sequenz hinzugefügt werden, um eine Wiederholung der Animation bereitzustellen.
  • Durch Bereitstellen eines automatisierten Prozesses zur Erzeugung von Cinemagrammen ohne Benutzereingabe zwischen einem Erfassen einer Sequenz und Anzeigen, dass ein Cinemagramm hergestellt werden soll, braucht der Benutzer die Videosequenz nicht von der Bilderfassungsvorrichtung herunterzuladen. Dies lässt somit zu, dass die Herstellung des Cinemagramms fast unmittelbar nach dem Erfassen der Bildsequenz erfolgt. Dies liefert dann eine sofortigere Befriedigung und sofortigeres Feedback. Durch das Empfangen eines solchen schnellen Feedbacks über die auf der Bilderfassungsvorrichtung sichtbaren Ergebnisse kann der Benutzer dann wählen, die Szene erneut aufzunehmen, einen Abschnitt der Szene, den Aufnahmewinkel oder dergleichen zu modifizieren und schnell neue Ergebnisse zu erhalten.
  • Veranschaulichende Arbeitsumgebungen
  • 1 zeigt Komponenten einer Umgebung, in der Ausführungsformen praktiziert werden können. Möglicherweise sind nicht alle Komponenten erforderlich, um die Ausführungsformen zu praktizieren, und Variationen hinsichtlich Anordnung und Typ der Komponenten können vorgenommen werden, ohne vom Wesen oder Schutzbereich der Erfindung abzuweichen. Zudem können verschiedene Implementierungen des Systems viel mehr oder weniger Komponenten als jene in 1 gezeigten umfassen. Die gezeigten Komponenten genügen jedoch, um eine veranschaulichende Ausführungsform zum Praktizieren der vorliegenden Erfindung offenzulegen.
  • Wie gezeigt, kann das System 100 von 1 eine Kamera oder eine beliebige einer Vielzahl anderer möglicher tragbarer Vorrichtungen darstellen, einschließlich Videokameras, Mobiltelefone, Smartphones, Display-Pagers, Hochfrequenzvorrichtungen (HF), Infrarotvorrichtungen (IR), PDAs (Personal Digital Assistants), handgehaltene Computer, Laptopcomputer, tragbare Computer, Tablet-Computer, integrierte Vorrichtungen, die eine oder mehrere der vorausgegangenen Vorrichtungen kombinieren, und dergleichen, die zum Empfangen und Verarbeiten von Bildern einschließlich Bildsequenzen ausgelegt sein können. Bei einer Ausführungsform kann das System 100 nicht gezeigte Komponenten wie etwa eine Linse oder andere optische Komponenten und einen/mehrere Bildsensoren zum Empfangen von Bildern umfassen, die in ein digitales Bild zur Speicherung innerhalb einer oder mehrerer Speichervorrichtungen konvertiert werden können.
  • Wie gezeigt, kann das System 100 Komponenten auf einem einzelnen integrierten Schaltungschip oder auf mehreren verschiedenen Schaltungschips umfassen. Jedenfalls umfassen in 1 gezeigte Komponenten eine Taktschaltung 102 zum Liefern von Taktsignalen an die Schaltungschips und andere Komponenten. Wenngleich als eine separate Komponente dargestellt, versteht sich, dass die Taktschaltung 102 auch auf einem verbesserten Bildprozessor (EIP) 200 oder dergleichen enthalten sein kann.
  • Ebenfalls gezeigt wird ein flüchtiger Direktzugriffsspeicher-(RAM)Schaltungschip 106, der an den EIP 200 gekoppelt sein kann, um eine temporäre Datenspeicherung bereitzustellen. Bei einigen Ausführungsformen kann der RAM 106 konfiguriert sein zum Empfangen und Speichern von Bilddaten wie etwa eines oder mehrere Rahmen von Bilddaten zur Verwendung durch den EIP 200 oder Ausgabe von Daten von dem EIP 200 sowie zum Speichern von Benutzerpräferenzen, Bildsequenzen, Masken, Segmentierungsdaten, Schwellwerten und dergleichen. Ein separater nichtflüchtiger Festwertspeicher-(ROM)Speicherchip 104 ist ebenfalls an den EIP 200 gekoppelt und kann zur Speicherung eines Prozessorprogramms, von Kalibrierungsdaten, Nachschlagetabellen (LUIS – Look-up Tables) nichtlinearen Funktionen, einer Vielzahl anderer durch das System 100 verwendbarer Daten und dergleichen verwendet werden. Bei einer Ausführungsform kann der ROM 104 ein Flash-Speicher sein, der erneut programmiert werden kann oder ein Speicher, der einmal programmiert werden kann, wie etwa ein programmierbarer Festwertspeicher (PROM), ein elektrisch programmierbarer Festwertspeicher (EEPROM) oder eine einer Vielzahl anderer Speichervorrichtungen.
  • Wenngleich nicht dargestellt, kann ein anderer Typ von Speicher oder physikalischen Speichervorrichtungen innerhalb des Systems 100 enthalten sein, einschließlich beispielsweise Speicherkarten, die einen elektrisch löschbaren und programmierbaren Flash-Halbleiterfestwertspeicher, eine entfernbare drehbare Magnetplattenspeicherung, entfernbare USB-Vorrichtungen (Universal Serial Bus) oder eine beliebige einer Vielzahl anderer Speichervorrichtungen beinhalten können. Bei einer Ausführungsform kann das System 100 auch durch eine Eingangs-/Ausgangs-Vorrichtung (E/A-Vorrichtung) 108 konfiguriert werden zum Zugreifen auf Speichervorrichtungen, die sich außerhalb des Systems 100 befinden können. Somit ist zu verstehen, dass der EIP 200 ausgelegt sein kann zum Empfangen eines oder mehrerer Rahmen von Bilddaten, Bearbeiten des oder der empfangenen einen oder mehreren Rahmen von Bilddaten zum Erzeugen eines Cinemagramms, Komprimieren der Cinemagrammdaten und Speichern oder anderweitig Senden eines sich ergebenden komprimierten (codierten) Bitstroms, der die Cinemagrammdaten darstellt, unter Verwendung einer Vielzahl von Speichervorrichtungen und/oder Kommunikationsmechanismen über jene hier beschriebenen hinaus.
  • Die E/A-Vorrichtung 108 enthält eine Schaltungsanordnung zum Koppeln des Systems 100 an eine oder mehrere externe Vorrichtungen, Netzwerke oder dergleichen und ist konstruiert zur Verwendung mit einem oder mehreren Kommunikationsprotokollen und einer oder mehreren Kommunikationstechnologien, einschließlich einem/einer einer Vielzahl von Kommunikationsprotokollen und -technologien, die zum Kommunizieren von Bildern verwendet werden können, einschließlich von Bildern zu und/oder vom System 100. Bei einer Ausführungsform ist die E/A-Vorrichtung 108 manchmal als Sendeempfänger, Sendeempfangsvorrichtung oder Netzwerkschnittstellenkarte (NIC – Network Interface Card) bekannt.
  • Die E/A-Vorrichtung 108 kann auch für verschiedene andere Kommunikationen sorgen, einschließlich zur Verwendung verschiedener Eingabeeinrichtungen wie etwa Tastaturpads, Touchscreens oder dergleichen, sowie Ausgabevorrichtungen einschließlich Bildschirmdisplays, Audioausgaben oder dergleichen. Wenngleich nicht gezeigt, kann das System 100 somit auch einen Lautsprecher und/oder ein Mikrofon umfassen, das an die E/A-Vorrichtung 108 gekoppelt sein kann, um Kommunikationen zu gestatten. Das System 100 kann auch ein Display umfassen, das ein Flüssigkristalldisplay (LCD – Liquid Crystal Display), ein Gasplasma, eine Leuchtdiode (LED) oder irgendeinen anderen Typ von Display umfassen kann, der zum Bereitstellen von Text und/oder eines Bilds zur Anzeige verwendet werden kann. Beispielsweise kann das System 100 ein Display umfassen, das zur Anzeige eines sich ergebenden Cinemagramms verwendet werden kann, wodurch der Benutzer ein fast sofortiges Feedback der Ergebnisse der automatischen Operationen erhält. Ferner kann das Display bei einer Ausführungsform auch einen berührungsempfindlichen Bildschirm umfassen, der ausgelegt ist zum Empfangen einer Eingabe von einem Objekt wie etwa einem Griffel oder einem Finger von einer menschlichen Hand.
  • Außerdem dargestellt sind Bildsensoren & Analog-Digital-Wandler (S & A/D) 110, die ausgelegt sein können zum Empfangen eines ein Bild darstellenden analogen Signals und zum Konvertieren des empfangenen Signals in digitale Bilddaten, die in einer Ausführungsform eine Sequenz einzelner Blöcke digitaler Bilddaten sein können, die eine Lichtintensität darstellen, die durch verschiedene Fotodetektoren eines Bildsensors und/oder Linsenanordnung (nicht gezeigt) empfangen werden können. Der S & A/D 110 kann dann die digitalen Daten zur Verarbeitung an den EIP 200 liefern.
  • Eine Ausführungsform des EIP 200 ist in 2 gezeigt. Der EIP 200 kann viel mehr oder weniger Komponenten als jene gezeigten umfassen. Die gezeigten Komponenten reichen jedoch aus, um eine veranschaulichende Ausführungsform zum Praktizieren verschiedener Ausführungsformen offenzulegen.
  • Wie in 2 gezeigt, kann der EIP 200 einen Bildprozessor 208 umfassen, der eine Allzweck- oder eine spezialisierte Computerverarbeitungseinheit (CPU), programmierbare Hardwareeinheiten oder eine beliebige Kombination darstellen kann, die ausgelegt ist zum Durchführen mehrerer Berechnungen an einem Bild und/oder einer Sequenz von Bildern und zum Steuern verschiedener Operationen des Systems 100 in Reaktion auf computerlesbare Anweisungen, die innerhalb eines der Speichervorrichtungen von 1, wie etwa des ROM 104 oder dergleichen, gespeichert sein können. Bei einer Ausführungsform können digitale Daten eines oder mehrerer Bildrahmen durch eine Eingangsschnittstellenschaltung 202 empfangen und durch eine Verbindung durch eine Speicherverwaltungsvorrichtung 206 an andere Komponenten kommuniziert werden. Bei einer Ausführungsform kann ein automatischer Cinemagramm-Generator (ACG) 201 wie weiter unten beschrieben verwendet werden, um eine Sequenz von Bildern zu empfangen und automatisch, ohne zusätzliche Benutzereingaben, ein Cinemagramm als Ausgabe zu erzeugen. Bei einigen Ausführungsformen kann die Ausgabe für Speicher- und/oder Übertragungsleistungen komprimiert werden. Die Ausgabe kann dann ein komprimierter Bitstrom sein, der das Cinemagrammbild darstellt, das durch eine Ausgangsschnittstellenschaltung 204 zu verschiedenen Speichervorrichtungen oder sogar über ein Netz, einschließlich einem drahtlosen und/oder verdrahteten Netz, zu einer anderen Vorrichtung ausgegeben werden kann. Bei einer Ausführungsform kann das Cinemagrammbild als unkomprimierte Bilddaten in einer Speichervorrichtung gespeichert werden.
  • Zudem kann der ACG 201 bei einer Ausführungsform in Software implementiert werden, die innerhalb des Bildprozessors 208 arbeitet. Bei einer anderen Ausführungsform jedoch kann der ACG 201 eine Hardwarekomponente, integrierte Schaltung oder dergleichen darstellen, die ausgelegt sind zum Durchführen von Aktionen, wie hier beschrieben.
  • Die Schnittstellen 210 können für verschiedene Mechanismen zum Kommunizieren mit dem Bildprozessor 208 und/oder einer Speicherverwaltung 206, anderen Komponenten, sorgen, um Modifikationen an verschiedenen Aktionen zu ermöglichen, einen Status einer Aktion oder dergleichen durch eine andere Vorrichtung, einen Endbenutzer oder dergleichen bereitzustellen.
  • Veranschaulichende Netzvorrichtung
  • 3 zeigt eine Ausführungsform einer weiteren Vorrichtung, die mit einer weiteren Ausführungsform des EIP verwendet werden kann. Die Netzvorrichtung 300 kann viel mehr oder weniger Komponenten als jene gezeigten enthalten. Die gezeigten Komponenten reichen jedoch aus, um eine veranschaulichende Ausführungsform zum Praktizieren der Erfindung offenzulegen. Die Netzvorrichtung 300 kann eine beliebige einer Vielzahl von Rechenvorrichtungen darstellen, unter anderem PCs, Desktoprechner, Multiprozessorsysteme, mikroprozessorbasierte oder programmierbare Elektronik, eine in einem Rack montierte Mehrfachverarbeitungskonfiguration, Netz-PCs, Fernsehgeräte, Kamerasysteme, Servervorrichtungen, Netzwerkgeräte und dergleichen. Bei einer Ausführungsform können, während eine einzelne Netzvorrichtung 300 dargestellt ist, bezüglich wenigstens des EIP und/oder des ACG erörterte Operationen auch über mehrere Rechenvorrichtungen verteilt werden, wie sie beispielsweise innerhalb einer Cloudarchitektur, einer Peer-to-Peer-Struktur, einer Clusterarchitektur oder anderen verteilten Architekturen auftreten könnten, wo eine Bildvorrichtung wie etwa eine Kamera mit der Netzvorrichtung 300 verbunden ist, um eine Bilderfassung zu ermöglichen.
  • Die Netzvorrichtung 300 enthält eine zentrale Verarbeitungseinheit 312, einen Videodisplayadapter 314 und einen Massenspeicher, alle über einen Bus 322 in Kommunikation miteinander. Der Massenspeicher umfasst allgemein den RAM 316, den ROM 332 und eine oder mehrere permanente Massenspeichervorrichtungen wie etwa ein Festplattenlaufwerk 328, ein Bandlaufwerk, ein CD-ROM-(Compact Disc Read Only Memory)/DVD-ROM-(Digital Versatile Disc-ROM) Laufwerk 326 und/oder ein Diskettenlaufwerk. Der Massenspeicher speichert ein Betriebssystem 320 zum Steuern der Operation der Netzvorrichtung 300. Es kann ein beliebiges Allzweckbetriebssystem oder Spezialbetriebssystem verwendet werden. Ein BIOS (Basis Input/Output System) 318 ist ebenfalls zum Steuern der Operation der Netzvorrichtung 300 auf niedriger Ebene vorgesehen. Wie in 3 gezeigt, kann die Netzvorrichtung 300 auch mit dem Internet oder mit irgendeinem anderen Kommunikationsnetz über die Netzschnittstelleneinheit 310 kommunizieren, die zur Verwendung mit verschiedenen Kommunikationsprotokollen einschließlich dem TCP/IP-Protokoll konstruiert ist. Die Netzschnittstelle 310 ist manchmal als ein Sendeempfänger, eine Sendeempfangsvorrichtung oder eine Netzschnittstellenkarte (NIC) bekannt.
  • Bildsensoren & Analog-Digital-Wandler (A/D) (S & A/D) 360 kann ausgelegt sein zum Empfangen eines ein Bild darstellenden analogen Signals und zum Konvertieren des empfangenen Signals in digitale Bilddaten, die in einer Ausführungsform eine Sequenz einzelner Blöcke digitaler Bilddaten sein können, die eine Lichtintensität darstellen, die durch verschiedene Fotodetektoren eines Bildsensors und/oder Linsenanordnung (nicht gezeigt) empfangen werden kann. Der S & A/D 3600 kann dann die digitalen Daten zur Verarbeitung an den Enhanced Image Processor (EIP) 358 liefern, wie hier näher beschrieben.
  • Der Massenspeicher, wie oben beschrieben, veranschaulicht einen anderen Typ von computerlesbarer oder prozessorlesbarer Vorrichtung, nämlich nicht-vorübergehende computerlesbare Speichermedien. Computerlesbare Speichermedien (Vorrichtungen) können flüchtige, nichtflüchtige, nicht-vorübergehende, entfernbare und nichtentfernbare Medien umfassen, die in einem beliebigen Verfahren oder einer beliebigen Technologie zur Speicherung von Informationen implementiert werden, wie etwa computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen oder anderen Daten. Zu Beispielen für nicht-vorübergehende computerlesbare Speichermedien zählen RAM, ROM, EEPROM (Electrically Erasable Programmable Read-Only Memory), Flash-Speicher oder eine andere Speichertechnologie, CD-ROM, DVD (Digital Versatile Disc) oder eine andere optische Speicherung, Magnetkassetten, Magnetband, Magnetplattenspeicherung oder andere magnetische Speichervorrichtungen oder irgendein anderes physisches Medium, das zum Speichern der gewünschten Informationen verwendet werden kann und auf das durch eine Rechenvorrichtung zugegriffen werden kann.
  • Wie gezeigt, können Datenspeicher 354 eine Datenbank, Text, Tabellenkalkulation, Ordner, Datei oder dergleichen enthalten, die ausgelegt sein können zum Pflegen und Speichern von Daten, die vom automatischen Cinemagramm-Generator (ACG) 301 verwendet werden können, einschließlich Schwellwertdaten, Funktionsverweise, Tabellen, Videobilder, einzelne Bilder, codierte Daten, rekonstruierte Rahmendaten, Referenzrahmendaten, Bewegungsvektoren, Dilatationsdaten, Segmentierungsdaten, Masken, eine oder mehrere Rahmendaten oder dergleichen. Die Datenspeicher 354 können ferner Programmcode, Daten, Algorithmen und dergleichen zur Verwendung durch einen Prozessor wie etwa eine zentrale Verarbeitungseinheit (CPU) 312 zum Ausführen und Durchführen von Aktionen umfassen. Bei einer Ausführungsform könnten wenigstens einige der Daten und/oder Anweisungen, die in Datenspeichern 354 gespeichert sind, auch auf einer anderen Vorrichtung der Netzvorrichtung 300 gespeichert sein, einschließlich unter anderem CD-ROM/DVD-ROM 326, Festplattenlaufwerk 328 oder einer anderen computerlesbaren Speichervorrichtung, die sich auf der Netzvorrichtung 300 befindet oder beispielsweise über die Netzwerkschnittstelleneinheit 310 durch die Netzvorrichtung 300 zugänglich ist.
  • Der Massenspeicher speichert auch Programmcode und Daten. Eine oder mehrere Anwendungen 350 werden in den Massespeicher geladen und laufen auf dem Betriebssystem 320. Zu Beispielen von Anwendungsprogrammen können Transcoder, Scheduler, kundenspezifische Benutzerschnittstellenprogramme, Sicherheitsprogramme usw. zählen. Der Speicher kann auch den EIP 358 umfassen, der ferner den ACG 301 umfassen kann. Es sollte zu erkennen sein, dass, während der EIP 358 und der ACG 301 innerhalb des RAM 316 dargestellt sind, andere Ausführungsformen den EIP 358 und/oder den ACG 301 innerhalb des ROM 332 und/oder innerhalb einer oder mehrerer nicht gezeigter separater Schaltungskarten innerhalb der Netzvorrichtung 300 umfassen können.
  • Der EIP 358 und der ACG 301 arbeiten im Wesentlichen ähnlich dem EIP 200 beziehungsweise ACG 201 der 12, um eine Sequenz von Bildern mit wenigstens einem Abschnitt mit Bewegung und einem anderen Abschnitt im Wesentlichen ohne Bewegung und automatischem Erzeugen eines Cinemagramms zu empfangen, wie unten ausführlicher beschrieben. Der Begriff ”im Wesentlichen ohne Bewegung”, wie hier verwendet, bezieht sich auf einen Abschnitt einer Bildsequenz, wo bestimmt wird, dass eine etwaige Bewegung, die detektiert werden kann, unter einem definierbaren Bewegungsschwellwert liegt.
  • Es sollte zu erkennen sein, dass der EIP 358 und der ACG 301 auf Bilddaten arbeiten können, die von Datenspeichern 354, Festplattenlaufwerken 328, CD-ROM-/DVD-ROM-Laufwerk 326, anderen Speichervorrichtungen oder sogar von einem Netz oder von einer anderen Vorrichtung durch die Netzschnittstelleneinheit 310 sowie von verschiedenen Bilderfassungsvorrichtungen wie etwa durch S & A/D 360 oder dergleichen erhalten werden.
  • Verallgemeinerter Betrieb
  • Der Betrieb bestimmter Aspekte der Erfindung wird nun bezüglich 412 beschrieben. Die Operationen der unten beschriebenen Prozesse können bei einer Ausführungsform innerhalb des EIP 200 und/oder ACG 201 von 12 und/oder innerhalb des EIP 358 und/oder ACG 301 von 3 durchgeführt werden.
  • Der Prozess 400 von 4 beginnt bei Block 402, Benutzerpräferenzen können empfangen werden. Beispielsweise kann der Benutzer bei einer Ausführungsform angeben, dass aus einer Sequenz von Bildern ein Cinemagramm erzeugt werden soll. Bei einigen Ausführungsformen könnte der Benutzer auch verschiedene Bilderfassungsparameter wählen, einschließlich unter anderem Beleuchtungsparameter, Brennpunktparameter und/oder dergleichen. Bei anderen Ausführungsformen jedoch können ein oder mehrere der Bilderfassungsparameter durch die Bilderfassungsvorrichtung automatisch gewählt werden.
  • Weiter zu Block 404 können die Benutzerpräferenzen und/oder automatisch gewählte Parameter dann zum Konfigurieren der Bilderfassungsvorrichtung verwendet werden. Vom Block 404 geht die Verarbeitung weiter zu Block 406, wo wenigstens ein erstes Bild erfasst wird. Bei einer Ausführungsform kann das erste Bild als ein Ankerrahmenbild bezeichnet werden. Es sei jedoch angemerkt, dass, während andere Bilder in einer Sequenz von Bildern später erfasst werden, ein anderes Bild in der Sequenz als das Ankerrahmenbild gewählt werden kann, wobei das Ankerrahmenbild als ein Referenzbild darstellend angesehen werden könnte, von dem verschiedene Vergleiche durchgeführt werden könnten, wie unten näher beschrieben.
  • Die Verarbeitung geht dann zum Entscheidungsblock 408, wo eine Bestimmung erfolgt, ob die Sequenz von Bildern erfasst werden soll. Bei einer Ausführungsform könnte das Erfassen des ersten Bilds auf einer Detektion eines teilweisen Drückens eines Erfassungsknopfs auf der Bilderfassungsvorrichtung basieren. Das Erfassen der Sequenz könnte auf der Detektion eines vollen Drückens des Erfassungsknopfs basieren. Das Erfassen könnte auch auf einer automatischen Detektion einer Bewegung in der Szene durch die Bilderfassungsvorrichtung basieren. Es können jedoch auch andere Kriterien verwendet werden. Jedenfalls kann, falls die Sequenz von Bildern nicht erfasst werden soll, die Verarbeitung zurück zu Block 404 gehen. Ansonsten kann die Verarbeitung zu Block 410 weitergehen, wo die Sequenz von Bildern erfasst werden kann, bis detektiert wird, dass der Erfassungsknopf oder dergleichen losgelassen ist. Während Block 410 wird eine geeignete Sequenz von Bildrahmen unter Verwendung der Bilderfassungsvorrichtung erfasst. Es ist wünschenswert, dass der Benutzer die Bilderfassungsvorrichtung während der Erfassung der Sequenz relativ still hält, um eine globale Bewegung über die erfassten Bilder zu minimieren, und wobei eine gewisse lokale Bewegung innerhalb der Bilder auftritt. Die Bilderfassungsvorrichtung kann dann über eine Zeitperiode eine Anzahl von Bildrahmen erfassen.
  • Bei einer Ausführungsform kann ein Bild ein Einzelrahmen innerhalb mehrerer Bilder sein. Wie hier verwendet, kann der Begriff Rahmen deshalb auch ein Einzelbild oder ein Einzelbild innerhalb einer Sequenz von Bildern darstellen. Jedenfalls kann ein Rahmen unter Verwendung einer beliebigen einer Vielzahl von Mechanismen codiert werden, einschließlich jenen, die durch das Joint Video Team (JVT) oder die ISO-IEC Moving Picture Expert Group (MPEG) und die ITU-T Video Coding Experts (VCEG) definiert sind. Es versteht sich jedoch, dass darin erörterte Ausführungsformen nicht auf einen bestimmten Typ von Codiermechanismus beschränkt sind und auch beliebige mehrerer anderer Formate, Normen oder dergleichen verwendet werden können.
  • Bei einer Ausführungsform kann ein Rahmen aus einer analogen Quelle erhalten werden und kann durch rote (R), grüne (G) und blaue (B) Linien dargestellt werden, die beispielsweise unter Verwendung verschiedener Prozesse zu Farbdifferenzkomponenten konvertiert werden können. Beispielsweise können bei einer Ausführungsform solche Farbdifferenzkomponenten auf der Basis der Rec. 601-(früher als CCIR-601 bekannt)Komponente der Farbfernsehnorm des Radiokommunikationssektors (ITU-R) der International Telecommunication Union (ITU) erhalten werden. Es kann jedoch eine mehrerer anderer Techniken verwendet werden, und Ausführungsformen sind nicht auf eine bestimmte Norm oder ein bestimmtes Format beschränkt. Jedenfalls können die Bilddaten lediglich beispielhaft durch drei Komponenten des Bildsignals definiert werden; nämlich eine Luminanzkomponente (Y) und zwei komplementäre Chrominanzkomponenten (Farbdifferenzen) (V = R – Y) und (U = B – Y). Für diese dreidimensionalen oder höherdimensionalen Bilder und/oder andere Typen von Bilddarstellungen können auch andere Komponenten aufgenommen werden. Bei einigen Ausführungsformen umfassen die Bilddaten ein Farbsignal, das ferner Farbinformationen in der Form von Chrominanzkomponenten Cb und Cr umfasst, wobei Cb und Cr die Blaudifferenzkomponente (U) beziehungsweise die Rotdifferenzkomponente (V) sind.
  • Verschiedene Mechanismen können eingesetzt werden, um die RGB-Datensignale in Farbdifferenzkomponenten zu konvertieren, einschließlich beispielsweise unter Einsatz einer Matrixschaltung zum Liefern der Komponentensignale für Luminanz (Y) und Chrominanz (Cb, Cr). Bei einer Ausführungsform können die Luminanzkomponente und die Chrominanzkomponenten als analoge Signale empfangen werden, die an jeweilige Tiefpassfilter (oder Filter gleicher Bandbreite) geliefert und durch Analog-Digital-Wandler geschickt werden, um ein digitales Datenformat zu erzeugen. Bei einer Ausführungsform können die gefilterten und digitalisierten Luminanz- und Chrominanzkomponenten bei einer Ausführungsform an eine Blockformungsschaltung geliefert werden, wo die beschriebenen Bildblöcke gebildet werden können.
  • Zudem können bei einigen Ausführungsformen während der oben beschriebenen Erfassungsphase Belichtungszeit-, Brennpunkt- und/oder Weißausgleichseinstellungen auf der Basis der bei Block 404 bestimmten und/oder auf der Basis einer Analyse des ersten, bei Block 406 erfassten Bilds blockiert werden. Bei anderen Ausführungsformen können jedoch verschiedene Parameter dynamisch bestimmt werden. Beispielsweise kann ein Intervall zwischen Rahmenerfassungen auf der Basis einer Analyse einer Geschwindigkeit einer Aktion innerhalb der Szene, die erfasst wird, eingestellt werden. Somit könnte bei einer Ausführungsform auf der Basis von zwei oder mehr Bildern die Bilderfassungsvorrichtung automatisch ohne zusätzliche Benutzereingabe über das Anweisen der Vorrichtung, die Sequenz zu erfassen, hinaus, Bewegungsvektoren von sich bewegenden Objekten innerhalb der Szene berechnen und eine Geschwindigkeit der Bewegung gemäß einer Länge der Bewegungsvektoren auswerten. Eine Zeit zwischen dem Erfassen von nachfolgenden Rahmen könnte dann auf der Basis der bestimmten Geschwindigkeit der Bewegung justiert werden.
  • Der Prozess 400 geht dann zu Block 412, wo bei einer Ausführungsform der Ankerbildrahmen möglicherweise auf der Basis einer Analyse der Sequenz verändert werden könnte. Während bei Block 406 der erste Rahmen möglicherweise anfänglich gewählt werden könnte, könnte somit bei einer anderen Ausführungsform ein anderer Rahmen möglicherweise als der Ankerrahmen gewählt werden. Eine derartige Wahl könnte auf einem in einem gegebenen Objekt zwischen Rahmen detektierten Änderungsausmaß basieren, wie unterschiedliche Objekte innerhalb eines gegebenen Rahmens bestimmt werden könnten oder auf der Basis mehrerer anderer Kriterien. Beispielsweise könnte bei einer Ausführungsform der Ankerrahmen als der Rahmen mit einem geringsten Ausmaß an Änderung von einem letzten Rahmen für ein bestimmtes Objekt in der Szene gewählt werden. Bei einer Ausführungsform könnte das bestimmte Objekt dasjenige Objekt mit einem detektierbaren größten Ausmaß an lokaler Bewegung sein. Bei einer weiteren Ausführungsform könnte der Ankerrahmen als der letzte Rahmen in der Sequenz gewählt werden. Natürlich können andere Kriterien verwendet werden, um ohne Benutzereingabe den Ankerrahmen zu wählen.
  • Zudem werden bei Block 412 alle Rahmen in der Sequenz von Rahmen dann auf den Ankerrahmen ausgerichtet oder registriert. Da Bilder im obigen unter Verwendung einer handgehaltenen Kamera oder einer anderen Bilderfassungsvorrichtung aufgenommen werden können, bewegt sich die Kamera möglicherweise zwischen Rahmen mit der Sequenz geringfügig. Dies kann bewirken, dass sich die Bilder zwischen den Rahmen unangemessen bewegen oder drehen. Um dies zu kompensieren, kann ein Schätzwert, wie ein Bild bewegt werden soll, um auf ein anderes ausgerichtet zu werden (manchmal als Registrierung bezeichnet), bestimmt werden, um Ausrichtungsungenauigkeiten zu kompensieren. Bei Abwesenheit solcher Ausrichtungen können sich ergebende Bilder ein unerwünschtes Jitter aufweisen, das sich zeigen kann. Dies kann durch eine automatische Detektion einer Bildausrichtung durchgeführt werden.
  • Eine Ausführungsform eines robusten Ansatzes zum Ausrichten der Bilder beinhaltet den Versuch des Schätzens einer parametrischen Funktion T: R2 → R2, was eine Beziehung zwischen Bildkoordinaten in einem Bild und Bildkoordinaten in einem zweiten Bild darstellt. Ein Beispiel beinhaltet die affine Funktion: x' = a11x + a12y + a13 y' = a21x + a22y + a23
  • Um die Transformation zu schätzen, können zuerst Bewegungsvektoren zwischen entsprechenden Pixeln in den beiden Bildern extrahiert werden und ein Schätzwert der globalen Bewegungstransformation kann abgeleitet werden. Dies kann beispielsweise durch Durchführen einer blockbasierten Bewegungssuche von jedem Rahmen zum Ankerrahmen erfolgen.
  • Zur Bewegungssuche können viele Techniken verwendet werden. Beispielsweise kann eine Ausführungsform ein Verfahren auf der Basis der mittleren normalisierten Summe der absoluten Differenzen (SAD) verwenden, bei dem eine Bewegung eines Blocks von Pixeln in jedem Rahmen durch den Ort des Blocks im Ankerrahmen bestimmt wird, aus dem die MNSAD minimal ist. Das heißt, Entsprechungen können zwischen den beiden Bildern gefunden werden, die Orte in einem Bild aufweisen, die Orten in einem anderen Bild entsprechen. Ein nichtbegrenzender Ansatz für Bewegungssuchen könnte ein Verfahren ähnlich dem verwenden, das in ”Techniques Of Motion Estimation When Acquiring An Image Of A Scene That May Be Illuminated With A Time Varying Luminance”, Meir Tzur, Victor Pinto und Eran Pinhasov, US-Patent 7,995097 , erteilt am 9. August 2011, das in seiner Gänze hier aufgenommen ist, beschrieben wird. Es können jedoch auch andere Ansätze verwendet werden.
  • Beispielsweise kann in einer anderen Ausführungsform die Bewegungssuche unter Verwendung einer mittleren reduzierten SAD (MRSAD) durchgeführt werden, wobei eine Bewegung eines Blocks von Pixeln in einem Rahmen durch den Ort des Blocks in dem anderen Rahmen bestimmt wird, für die die MRSAD als minimal bestimmt ist. Ein Rahmen kann als ”Ziel” – IT und der andere als ”Referenz” – IR bezeichnet werden. Dann gilt
    Figure DE102013017122A1_0002
    wobei:
    Figure DE102013017122A1_0003
    dann gilt:
    Figure DE102013017122A1_0004
    wobei BX, BY die Größe des Blocks definieren und AX und AY den Suchbereich definieren.
  • Die Bewegungssuche kann dann unter Verwendung eines beliebigen, auf einer integrierten Schaltung implementierten Spezialhardwarebeschleunigers durchgeführt werden, der das Referenz- und Zielbild akzeptiert und für jeden Block in den Bildern eine Liste von ”Bewegungsvektoren” zurückgibt. Außerdem kann die Bewegungssuche an einer niedrig aufgelösten Kopie der Bilder durchgeführt und dann durch Durchführen einer zusätzlichen Suche in einer höheren Auflösung verfeinert werden. Die Bewegungssuche kann durch Anwenden einer Eckdetektion an den Bildern weiter verbessert werden, da Ecken mit größerer Wahrscheinlichkeit zuverlässige Bewegungsvektoren zurückgeben. Bei einigen Ausführungsformen kann ein Robustheitsmaß extrahiert werden, indem die MRSAD-Karte als eine Funktion eines (u, v)-Bewegungsvektors beobachtet und nachgesehen wird, ob die Minima, die MV(x, y) erzeugten, eindeutig sind.
  • Nachdem Bewegungssuchen durchgeführt sind, wird eine Menge von Entsprechungen in jedem Bildpaar erhalten als (xi, yi) ↔ (xi', yi') = (xi + MVx(xi, yi), yi + MVy(xi, yi))
  • Beginnend beim zweiten Bild werden die innerhalb des Bereichs des sich bewegenden Objekts gefundenen Bewegungsvektoren (während der Bearbeitung eines vorausgegangenen Bilds in der Sequenz extrahiert) aus einer Menge von Entsprechungen ausgeschlossen.
  • Bei einer Ausführungsform kann ein RANSAC-Algorithmus (Random Sample Consensus) für die Schätzung der Transformation aus den verbleibenden Übereinstimmungen verwendet werden. Ein Prozess kann die Transformationsschätzwerte iterativ aufbauen und Ausreißer zurückweisen. Die finale Transformation kann berechnet werden, indem die Gruppe aller nichtabweichenden Werte (die als ”1” bezeichnet sein können) genommen wird und eine Transformation durch Gleichungen der kleinsten Quadrate (lineare Regression) geschätzt wird:
    Figure DE102013017122A1_0005
    wobei die Summierung über ∀i ∊ I und N = |I| erfolgt. Alle Summierungen können in einer Festkommaarithmetik durchgeführt werden, während die Matrixinversion unter Verwendung eines Fließkommas durchgeführt werden kann – zur Verbesserung der Geschwindigkeit. Es wird angemerkt, dass die affine Transformation zwar als ein Beispiel angegeben ist, auch andere parametrische Transformationen betrachtet werden können und somit Ausführungsformen nicht auf diesen Ansatz beschränkt sind.
  • Nachdem die Transformation gefunden ist, wird der Rahmen entsprechend verzogen, so dass er auf den Ankerrahmen ausgerichtet ist. Bei einigen Ausführungsformen kann auf der Basis der obigen Transformation ein hardwarebasierter Beziehungsmechanismus verwendet werden, um den Rahmen auf die Koordinaten des Ankerrahmens zu transformieren. Dies kann über jeden der Rahmen in der Sequenz von Rahmen durchgeführt werden.
  • Der Prozess 400 geht dann weiter zu Block 414, wo, nachdem die Rahmen auf den Ankerrahmen ausgerichtet sind, eine Detektion und Segmentierung von sich bewegenden Objekten innerhalb der Rahmen bezüglich des Ankerrahmens durchgeführt werden. Ein Ansatz zur Durchführung der Segmentierung des sich bewegenden Objekts kann als zwei Stufen aufweisend beschrieben werden.
  • In einer ersten Stufe kann eine anfängliche Detektion von Bewegungsbereichen durchgeführt werden, indem eine Schwellwertbildung an einem Bild von normalisierten Abständen (wie oben beschrieben) durchgeführt wird und dann die Segmentierung unter Verwendung aktiver Konturen verfeinert wird. Bei einer Ausführungsform können die Berechnungen an herunterskalierten Bildern durchgeführt werden. Dies ist auf das Einsparen von Rechenleistung sowie das Glätten des Bilds ausgerichtet, was das Vermeiden von Rauschstörungen unterstützen kann.
  • Anfängliche Detektion der Bewegung
  • Die anfängliche Detektion der Bewegung kann durchgeführt werden durch Berechnen eines normalisierten Abstands zwischen jedem Pixel eines aktuellen Rahmens in der Sequenz und dem Ankerrahmen im YUV-Raum, wobei beispielsweise die folgende Formel verwendet wird:
    Figure DE102013017122A1_0006
    wobei w1 und w2 Gewichte sind. Es kann wünschenswert sein, dass diese Gewichte kleiner oder gleich Ziffer 1 sind, so dass die Berechnung der Differenz zwischen den Bildern größtenteils auf der Luminanz basiert. Eine Normalisierung kann verwendet werden, um ein unterschiedliches Verhalten verschiedener Graupegel zu vermeiden.
  • Pixel mit normalisierten Abstandswerten, die einen vorbestimmten Schwellwert übersteigen, werden markiert. Diese Pixel können eine Grobabschätzung des Bewährungsbereichs darstellen. Der Bewegungsbereich enthält sowohl das sich bewegende Objekt als auch den Bereich, den er geräumt hat. Indem der Bewegungsbereich so definiert wird, wenn das sich bewegende Objekt von jedem Rahmen auf den Ankerrahmen umgesetzt wird, bedeckt der Fleck den Ort des sich bewegenden Objekts im Ankerrahmen; ansonsten kann das Objekt zweimal erscheinen. Diese Grobabschätzung dient dann als eine anfängliche Schätzung für eine verfeinertere Segmentierung.
  • In diesem Stadium können falsche Bewegungsbereiche detektiert und gelöscht werden, die aufgrund von Rauschen oder einer geringfügigen Fehlausrichtung detektiert wurden. Dies kann sich als sehr kleine Blobs zeigen, die beispielsweise durch morphologisches Öffnen entfernt werden können. Bewegungsbereiche, die nahe beieinanderliegen, können dann miteinander verbunden werden.
  • Das Endergebnis dieser Stufe ist eine Bewegungsmaske wie etwa eine Funktion M(x, y), die die Werte von 0 oder 1 annimmt, wobei M(x, y) = 1 einen Bewegungsbereich und ein Wert von 0 einen Nicht-Bewegungsbereich anzeigt.
  • Wählen eines oder mehrerer Bewegungsbereiche
  • Einer oder mehrere der Bewegungsbereiche können dann gewählt werden, wobei der Bewegungsbereich ein Gebiet in dem Bild ist, für die die Bewegung detektiert wird. Bei einer Ausführungsform, wenn der ausgewertete Rahmen ein erster Rahmen (z. B. der Ankerrahmen) ist, könnte eine Entscheidung auf vordefinierten Präferenzen basieren, die bei Block 402 durch den Benutzer eingestellt werden. Diese Präferenzen können den Bereich umfassen, in dem erwartet wird, dass die Bewegung erscheint (beispielsweise ein Viertel des Rahmens), eine Größe der erwarteten Bewegung (beispielsweise groß oder klein), eine Nähe zu der Brennebene oder ein beliebiges einer Vielzahl anderer Kriterien. Bei anderen Ausführungsformen jedoch, wo eine Vollautomatisierung gewünscht ist, so dass der Prozess Bestimmungen in Abwesenheit von vom Benutzer eingestellten Präferenzen durchführt, werden Standardwerte angewendet. Beispielsweise könnte ein Bereich in der Mitte des Rahmens mit einer gewissen Größe gewählt werden. Bei einer anderen Ausführungsform könnte der Bereich auf der Basis eines Brenngebiets gewählt werden, das durch die Bilderfassungseinrichtung gewählt wird. Bei einer Ausführungsform könnte ein Standardgebiet gewählt werden, wie etwa ein Drittel der Breite und/oder Höhe des Rahmens. Jedenfalls können die Präferenzen als M0 ausgedrückt werden, während die nachfolgenden Bewegungsbereiche – gemäß der jeweiligen Rahmennummer – als M1, M2, ... ausgedrückt werden.
  • Bei einigen Ausführungsformen wird für jeden Rahmen der gewählte Bewegungsbereich derjenige Bereich mit einer maximalen Überlappung mit der Maske des vorausgegangenen Rahmens sein. Dies stellt eine Kontinuität der Maske sicher.
  • Das heißt:
    Für jeden Rahmen i wähle bei gegebenem gewählten Bewegungsbereich des vorausgegangenen Rahmens Mi-1 und dem detektierten Bewegungsbereich M des aktuellen Rahmens Mi als die einzelne verbundene Komponente in M, die die größte Überlappung (Anzahl von üblicherweise markierten Pixeln) zu dem durch Mi-1 markierten Gebiet aufweist.
  • Verfeinerte Segmentierung
  • Für die in der anfänglichen Stufe bereitgestellte Segmentierung kann in einigen Fällen bestimmt werden, dass sie nicht genau genug ist. Ein möglicher Grund dafür kann darin liegen, dass die Segmentierung allein auf dem Vergleichen der Pixelwerte des sich bewegenden Objekts mit dem des Hintergrunds basiert, jedoch können die Pixelwerte von Hintergrund- und Vordergrundobjekten manchmal sehr ähnlich sein.
  • Deshalb kann es in dieser Stufe wünschenswert sein, die Segmentierung unter Verwendung eines Prozesses zu verfeinern, der auf ein Verbessern der Ausrichtung der Grenze des Entscheidungsgebiets auf die Grenzen des oder der relevanten Objekte abzielt. In einigen Situationen kann eine Segmentierung ohne irgendwelche Anhaltspunkte ein schwieriges und üblicherweise schlecht gestelltes Problem sein; wenn die anfängliche Grobsegmentierung bereits erhalten ist, kann das Verfeinern der Segmentierung ein verbessertes Ergebnis liefern.
  • Es gibt mehrere Verfahren für die Bildsegmentierungsverfeinerung, und beliebige dieser Verfahren können verwendet werden. Beispielsweise wird ein Verfahren, das verwendet werden kann, in "Fast approximate curve evolution" von James Malcolm, Yogesh Rathi, Anthony Yezzi und Allen Tannenbaum, Real-Time Image Processing 2008, Nasser Kehtarnavaz; Matthias F. Carlsohn, Editors, Proc. SPIE Vol. 6811, 68110L (2008) beschrieben, was hier durch Bezugnahme aufgenommen ist. Es können jedoch auch andere Verfahren verwendet werden, und als solches sind die hier beschriebenen vorliegenden Innovationen nicht auf ein bestimmtes Verfahren für die Segmentierungsverfeinerung beschränkt.
  • In diesem Verfahren werden die segmentierten Gebietsgrenzpixel markiert und als eine ”Kurve” bezeichnet. Die Pixel auf der Kurve sind mit '0' bezeichnet, während die Pixel innerhalb des Gebiets mit '–1' und die Pixel außerhalb des Gebiets mit '+1' bezeichnet sind. Natürlich können andere Werte gewählt werden. Der mittlere Pixelwert u aller Pixel innerhalb des Gebiets wird berechnet und auch der mittlere Pixelwert v aller Pixel außerhalb des segmentierten Gebiets.
  • Eine auf ein Grenzpixel wirkende Kraft kann dann definiert werden als: f = ||I(x) – u||2 – ||I(x) – v||2.
  • Es wird angezeigt, dass die Kraft stark positiv ist, falls der Pixelwert (um einen Schwellwert) sehr nahe an dem Hintergrundmittelwert v liegt, und stark negativ, falls er (um einen Schwellwert) sehr nahe am Objektmittelwert u liegt.
  • Der Algorithmus geht über jedes Grenzpixel und prüft die Kraft darauf. Falls die Kraft von null verschieden ist, wird das Pixel von der Grenze je nachdem, ob die Kraft positiv oder negativ ist, jeweils zur Außenseite oder Innenseite der Kurve bewegt; bei einer Ausführungsform wird die Kurve so gewählt, dass sie entlang der Nachbarn des Pixels läuft, das relativ zu dem gewählten Pixel eine Kraft mit entgegengesetztem Vorzeichen aufweist.
  • Dieser Algorithmus kann mehrmals wiederholt werden (beispielsweise einige wenige dutzende Iterationen), bis bestimmt wird, dass die Kurve sich nicht länger entwickelt, beispielsweise auf der Basis einer Bestimmung, dass die Größenänderung des segmentierten Gebiets kleiner als ein Schwellwert ist.
  • Der Prozess 400 von 4 bewegt sich als nächstes zu Block 416, wo die Segmentierung von der vorausgegangenen Stufe den bestimmten faszinierenden Bewegungsbereich in dem Rahmen begrenzt. Bei Block 416 kann dieses segmentierte Gebiet dann als eine Maske verwendet werden. Bei einer Ausführungsform kann eine morphologische Dilatation (beispielsweise unter Verwendung eines 7 × 7-Strukturierungselements) auf der Maske durchgeführt werden, um Ränder hinzuzufügen, die auf das Bereitstellen eines glatten progressiven Übergangs zwischen dem sich bewegenden Vordergrund und einem umgebenden Hintergrund abzielen.
  • Als nächstes weiter zu Block 418 kann die Maske des aktuellen Rahmens als eine Vereinigung der oben berechneten Maske und der Maske des ersten Rahmens (z. B. des Ankerrahmens) definiert werden. Dies soll Fälle behandeln, wo der vakante Ort, den das Objekt zurückgelassen hat, und der aktuelle Ort des Objekts losgelöst sind und somit als separate Blobs behandelt werden können. Bei einer Ausführungsform könnte dann möglicherweise nur einer gewählt werden. In diesen Situationen zielt das Hinzufügen der Maske des ersten Rahmens (z. B. des Ankerrahmens) darauf ab, sicherzustellen, dass, wenn der Hintergrund des aktuellen Rahmens mit entsprechenden Pixeln von dem ersten Rahmen (z. B. dem Ankerrahmen) ersetzt wird, das Objekt an seinem anfänglichen Ort nicht wieder erscheint.
  • Der Prozess 400 geht dann zu Block 420, wo Pixel außerhalb der Maske als der sich nicht bewegende Hintergrund bezeichnet werden. Diese Pixel können durch entsprechende Pixel von dem Ankerbildrahmen ersetzt werden. Die Grenze zwischen dem sich bewegenden Objekt und dem Hintergrund kann durch Gewichte weiter geglättet werden. Die sich ergebende Ausgabe ist dann die animierte Sequenz, Cinemagramm. Bei einer Ausführungsform kann die Sequenz verknüpft werden, wiederholt durch die Sequenz von Rahmen zu Schleifen, wobei eine beliebige mehrerer Schleifenbildungstechniken verwendet wird, um eine wiederholte nahtlose Ausführung der Sequenz zu ermöglichen.
  • Es wird angemerkt, dass in Prozess 400 in Situationen, wo bestimmt wird, dass die lokale Bewegung innerhalb eines kleinen Bereichs des Rahmens enthalten ist und sich beispielsweise nicht über den Rahmen verteilt, es angemessen sein könnte, optional eine Glätte zwischen dem Beginn und dem Ende der Sequenzschleife zu erhalten. Bei einer Ausführungsform kann dies durchgeführt werden, indem das gleiche Video, das rückwärts spielt (oder von der ersten Sequenz umgekehrt) am Ende der ersten Sequenz hinzugefügt wird.
  • Die Verarbeitung kann dann zu Block 422 gehen, wo das ausgegebene Cinemagramm als ein kurzes Video oder möglicherweise ein animiertes GIF gespeichert werden kann, das wiederholt abgespielt werden kann. Im erzeugten Cinemagramm kann ein größter Teil der beobachteten Szene als überwiegend unbewegt mit wenig bis keiner Bewegung angesehen werden, was als ein konstantes Bild erscheint; während zu sehen ist, dass ein anderer kleinerer Abschnitt der Szene – das sich bewegende Objekt – eine kleine Bewegung wiederholt. Bei einer Ausführungsform kann die Ausgabesequenz auch unter Einsatz mehrerer Mechanismen komprimiert werden, die auf eine effiziente Speicherung und/oder Übertragung der Ausgabesequenz abzielen. Der Prozess 400 kann dann zu einem Aufrufprozess oder dergleichen zurückgehen.
  • Außerdem wird angemerkt, dass die Verwendung der Bilderfassungsvorrichtung es dem Benutzer auch gestattet, das Cinemagramm sofort abzuspielen und die Sequenz innerhalb eines Suchers oder einer anderen Displaybildschirmkomponente auf der Eingangserfassungsvorrichtung zu betrachten. Indem ein derartiges sofortiges Feedback gestattet wird, erhält der Benutzer dann die Möglichkeit, die Sequenz wiederaufzunehmen sowie die Szene, einen Winkel der Aufnahme oder andere Parameter zu modifizieren, ohne warten zu müssen, bis er die Sequenz auf eine andere Vorrichtung herunterladen kann.
  • 5 veranschaulicht einen Logikflussprozess, der allgemein eine Ausführungsform eines Prozesses zeigt, mit dem ein einzelner Ausgangsrahmen innerhalb eines Cinemagramms errichtet werden kann. Der Prozess 500 von 5 kann viel mehr oder weniger Elemente als jene gezeigten umfassen. Die gezeigten Elemente reichen jedoch aus, um eine veranschaulichende Ausführungsform zum Praktizieren der vorliegenden Innovationen offenzulegen. Bei einer Ausführungsform soll der Prozess 500 ein dargestelltes rahmenweises nicht beschränkendes, nicht erschöpfendes Beispiel entsprechend den Blöcken von 4 bereitstellen.
  • Somit veranschaulicht 5, wie gezeigt, ein Beispiel eines Anfangsbildrahmens 502 mit einem Objekt 503, das innerhalb der Sequenz von Rahmen Bewegung aufweist. Der Rahmen 501 kann als der Ankerrahmen definiert werden. Wie oben in Verbindung mit Prozess 400 von 4 beschrieben, werden die Rahmen registriert, wodurch ein oder mehrere sich ergebende ausgerichtete Bildrahmen bereitgestellt werden, wie in 5 als ausgerichteter Bildrahmen 504 dargestellt. Es sei angemerkt, dass der Prozess 500 zwar einen Fluss eines einzelnen Rahmens veranschaulicht, oder Aktionen über die Sequenz von Rahmen ausgeführt werden. Somit kann der ausgerichtete Bildrahmen 504 die aus der Sequenz von erfassten Bildern erhaltenen mehreren ausgerichteten Bildrahmen umfassen.
  • Prozess 500 fließt zum Durchführen einer anfänglichen Bewegungsdetektion und Erzeugen einer als Maske 507 im Rahmen 506 gezeigten Anfangsmaske. Unter Fortsetzung des Flusses liefert die Segmentierung des gewählten Blobs, innerhalb der Maske 507 dargestellt, eine verfeinerte Maske 509 im Rahmen 508. Diese verfeinerte Maske 509 kann dann zum Zusammensetzen mit dem vom Ankerrahmen 501 erhaltenen Hintergrund verwendet werden, um die sich ergebende Sequenz von Rahmen 510 herzustellen, die das automatisch erzeugte Cinemagramm darstellt.
  • 6 zeigt einen Logikfluss, der allgemein eine Ausführungsform eines Prozessbeispiels des Vereinigens von Segmentierungen zum Herstellen eines Cinemagramms zeigt. Der Prozess 600 von 6 kann viel mehr oder weniger Elemente als jene gezeigten umfassen. Die gezeigten Elemente reichen jedoch aus, um eine veranschaulichende Ausführungsform zum Praktizieren der vorliegenden Innovationen zu offenbaren. Bei einer Ausführungsform soll der Prozess 600 ein dargestelltes rahmenweises nicht beschränkendes, nicht erschöpfendes Beispiel des Vereinigens von Segmentierungen in einer Situation von zerlegten Bewegungsgebieten bereitstellen. Wie im Prozess 600 dargestellt, ist zu sehen, dass das Objekt 602 des Ankerbilds 601 sich signifikant bewegt hat, wie durch das bewegte Objekt 603 in einem aktuellen ausgerichteten Bildrahmen 604 dargestellt. Diese Bewegung kann zu zwei zerlegten Bewegungsgebieten, in den Bewegungsgebietsbildern 606 gezeigt, führen. Bei einer Ausführungsform könnte eines dieser Gebiete auf der Basis eines beliebigen mehrerer Kriterien automatisch gewählt werden, einschließlich einem Ort des Gebiets innerhalb der Szene oder dergleichen. Bei einigen Ausführungsformen könnte die automatische Wahl auf dem Wählen des Gebiets aus dem Ankerbild 601 basieren (Objekt 602). Der Rahmen 608 veranschaulicht eine derartige sich ergebende Wahl. Dann zielt das Vereinen von Segmentierungen zwischen dem ersten und aktuellen Bildrahmen, wie im Bildrahmen 610 dargestellt, auf das Lösen dieses Problems von zerlegten Gebieten ab. Es sei jedoch angemerkt, dass eine Bildsequenz mehrere Bewegungsgebiete umfassen kann und als solche unter Verwendung des obigen Ansatzes als separate Objekte behandelt werden kann und nicht als zerlegte Gebiete betrachtet wird, die zu kombinieren oder anderweitig zu lösen sind.
  • Als eine Anmerkung zielt, wie oben beschrieben, die Segmentierung auf das ordnungsgemäße Identifizieren einer Bewegung innerhalb einer Bildsequenz ab, während die Aufnahme von zu vielen sich bewegenden Objekten oder nur Teilen eines sich bewegenden Objekts minimiert wird. Während mehrere sich bewegende Objekte gewählt werden können, kann somit bei einer Ausführungsform eine Schwellwertanzahl auf der Basis einer Größe, der Gebiete, eines Zählwerts der detektierten sich bewegenden Objekte oder auf der Basis mehrerer anderer Kriterien gewählt werden.
  • Es versteht sich, dass jede Komponente der Darstellungen und Kombinationen von Komponenten in diesen Darstellungen durch Computerprogrammanweisungen implementiert werden können. Diese Programmanweisungen können an einen Prozessor geliefert werden, um eine Maschine herzustellen, so dass die Anweisungen, die auf dem Prozessor laufen, Mittel erzeugen zum Implementieren der in der oder den Flusskomponenten spezifizierten Aktionen. Die Computerprogrammanweisungen können von einem Prozessor ausgeführt werden, um zu bewirken, dass vom Prozessor eine Reihe von Arbeitsschritten ausgeführt werden, um einen computerimplementierten Prozess herzustellen, so dass die Anweisungen, die auf dem Prozessor laufen, Schritte zum Implementieren der in der oder den Flusskomponenten spezifizierten Aktionen bereitstellen. Die Computerprogrammanweisungen können auch bewirken, dass wenigstens einige der in den Komponenten der Flüsse gezeigten Arbeitsschritte parallel ausgeführt werden. Zudem können einige der Schritte auch über mehr als einen Prozessor ausgeführt werden, wie dies in einem Mehrprozessorcomputersystem geschehen könnte. Außerdem können auch eine oder mehrere Komponenten oder Kombinationen von Komponenten in den Flussdarstellungen gleichzeitig mit anderen Komponenten oder Kombinationen von Komponenten oder sogar in einer anderen Sequenz als dargestellt ausgeführt werden.
  • Dementsprechend unterstützen Komponenten der Flussdarstellungen Kombinationen von Mitteln zum Durchführen der spezifizierten Aktionen, Kombinationen von Schritten zum Durchführen der spezifizierten Aktionen und Programmanweisungsmittel zum Durchführen der spezifizierten Aktionen. Es versteht sich auch, dass jede Komponente der Flussdarstellungen und Kombinationen von Komponenten in den Flussdarstellungen durch spezielle hardwarebasierte Systeme implementiert werden können, die die spezifizierten Aktionen durchführen, oder Kombinationen von speziellen Hardware- und Computeranweisungen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 7995097 [0054]
  • Zitierte Nicht-Patentliteratur
    • ”Fast approximate curve evolution” von James Malcolm, Yogesh Rathi, Anthony Yezzi und Allen Tannenbaum, Real-Time Image Processing 2008, Nasser Kehtarnavaz [0072]
    • Matthias F. Carlsohn, Editors, Proc. SPIE Vol. 6811, 68110L (2008) [0072]

Claims (20)

  1. Prozessorbasiertes Verfahren, das innerhalb einer Bilderfassungsvorrichtung arbeitet, umfassend: Verwenden einer oder mehrerer Bildsensorvorrichtungen zum Erfassen einer Sequenz von Bildrahmen, wobei die Sequenz wenigstens etwas Bewegungs- und etwas Nicht-Bewegungsinhalt innerhalb einer erfassten Szene aufweist; und automatisches Durchführen von Aktionen auf der erfassten Sequenz ohne Benutzereingabe, wobei die Aktionen umfassen: Wählen eines Ankerrahmens aus innerhalb der Sequenz von Bildrahmen; Registrieren jedes der anderen Bildrahmen in der Sequenz auf dem Ankerrahmen; Detektieren einer lokalen Bewegung zwischen den registrierten Bildrahmen und dem Ankerrahmen; Segmentieren des Gebiets mit detektierter lokaler Bewegung in jedem Bildrahmen; und Ersetzen von Pixeln in jedem Bildrahmen, ausschließlich der Pixel, die mit dem Gebiet mit detektierter lokaler Bewegung assoziiert sind, durch entsprechende Pixel aus dem Ankerrahmen, um ein Cinemagramm zu erzeugen.
  2. Verfahren nach Anspruch 1, wobei das Erfassen der Sequenz von Bildrahmen ferner das automatische Wählen eines Brennparameters und/oder einer Erfassungsgeschwindigkeit durch die Bilderfassungsvorrichtung umfasst.
  3. Verfahren nach Anspruch 1, wobei das Wählen des Ankerrahmens das Wählen des Ankerrahmens als einen ersten Rahmen in der Sequenz der Bilder oder einen letzten Rahmen umfasst.
  4. Verfahren nach Anspruch 1, wobei das Registrieren jedes der anderen Bildrahmen auf dem Ankerrahmen ferner das Verwenden einer mittleren normalisierten Summe absoluter Differenzen umfasst zum Durchführen einer Bewegungssuche und Verwenden eines Ergebnisses zum Erzeugen einer Transformation, die auf jeden der anderen Bildrahmen angewendet wird.
  5. Verfahren nach Anspruch 1, wobei das Segmentieren der detektierten lokalen Bewegung ferner das Detektieren von Bewegungsbereichen innerhalb der Sequenz durch Schwellwertbildung an einem Bild von normalisierten Abständen und dann Verfeinern der Segmentierung unter Verwendung einer aktiven Konturierung umfasst.
  6. Verfahren nach Anspruch 1, wobei das Detektieren einer lokalen Bewegung ferner das Wählen eines Bewegungsbereichs auf der Basis einer größten Überlappung mit einer Maske umfasst, die anhand eines vorausgegangenen Bildrahmens in der Sequenz von Bildrahmen bestimmt ist.
  7. Verfahren nach Anspruch 1, wobei das Segmentieren des Gebiets mit detektierter lokaler Bewegung ferner das Untersuchen jedes als ein Grenzpixel identifizierten Pixels zum Gebiet mit lokaler Bewegung umfasst, um das Pixel der Außenseite des Gebiets mit lokaler Bewegung oder der Innenseite des Gebiets mit lokaler Bewegung zuzuordnen, auf der Basis eines Werts einer auf das Grenzpixel wirkenden berechneten Kraft.
  8. Bildsystem, umfassend: eine Bildsensorvorrichtung, die zum Erfassen einer Sequenz von Bildrahmen verwendet wird, und einen oder mehrere Prozessoren, die Aktionen auf der erfassten Sequenz ohne Benutzereingabe automatisch durchführen, wobei die Aktionen umfassen: Wählen eines Ankerrahmens aus innerhalb der Sequenz von Bildrahmen; Registrieren jedes der anderen Bildrahmen in der Sequenz auf dem Ankerrahmen; Detektieren einer lokalen Bewegung zwischen den registrierten Bildrahmen und dem Ankerrahmen; Segmentieren des Gebiets mit detektierter lokaler Bewegung in jedem Bildrahmen; und Ersetzen von Pixeln in jedem Bildrahmen, ausschließlich der Pixel, die mit dem Gebiet mit detektierter lokaler Bewegung assoziiert sind, durch entsprechende Pixel aus dem Ankerrahmen, um ein Cinemagramm zu erzeugen.
  9. Bildsystem nach Anspruch 8, wobei das Erfassen der Sequenz von Bildrahmen ferner das automatische Wählen eines Brennparameters und/oder einer Erfassungsgeschwindigkeit durch die Bilderfassungsvorrichtung umfasst.
  10. Bildsystem nach Anspruch 8, wobei die Aktionen ferner das Hinzufügen einer umgekehrten Sequenz von Rahmen in der Cinemagrammsequenz zu einem Ende des Cinemagramms umfasst.
  11. Bildsystem nach Anspruch 8, wobei das Registrieren jedes der anderen Bildrahmen auf dem Ankerrahmen ferner das Verwenden einer mittleren normalisierten Summe absoluter Differenzen umfasst zum Durchführen einer Bewegungssuche und Verwenden eines Ergebnisses zum Erzeugen einer Transformation, die auf jeden der anderen Bildrahmen angewendet wird.
  12. Bildsystem nach Anspruch 8, wobei das Segmentieren der detektierten lokalen Bewegung ferner das Detektieren von Bewegungsbereichen innerhalb der Sequenz durch Schwellwertbildung an einem Bild von normalisierten Abständen und dann Verfeinern der Segmentierung unter Verwendung einer aktiven Konturierung umfasst.
  13. Bildsystem nach Anspruch 8, wobei das Detektieren einer lokalen Bewegung ferner das Wählen eines Bewegungsbereichs auf der Basis einer größten Überlappung mit einer Maske umfasst, die anhand eines vorausgegangenen Bildrahmens in der Sequenz von Bildrahmen bestimmt ist.
  14. Bildsystem nach Anspruch 8, wobei das Segmentieren des Gebiets mit detektierter lokaler Bewegung ferner das Untersuchen jedes als ein Grenzpixel identifizierten Pixels zum Gebiet mit lokaler Bewegung umfasst, um das Pixel der Außenseite des Gebiets mit lokaler Bewegung oder der Innenseite des Gebiets mit lokaler Bewegung zuzuordnen, auf der Basis eines Werts einer auf das Grenzpixel arbeitenden berechneten Kraft.
  15. Vorrichtung zum Verwalten von Bilddaten, umfassend: eine oder mehrere physische Komponenten zum Erfassen einer Sequenz von Bildern; und eine oder mehrere Schaltungseinheiten, die Aktionen auf der erfassten Sequenz ohne Benutzereingabe automatisch durchführen, wobei die Aktionen umfassen: Wählen eines Ankerrahmens aus innerhalb der Sequenz von Bildrahmen; Registrieren jedes der anderen Bildrahmen in der Sequenz auf dem Ankerrahmen; Detektieren einer lokalen Bewegung zwischen den registrierten Bildrahmen und dem Ankerrahmen; Segmentieren des Gebiets mit detektierter lokaler Bewegung in jedem Bildrahmen; und Ersetzen von Pixeln in jedem Bildrahmen, ausschließlich der Pixel, die mit dem Gebiet mit detektierter lokaler Bewegung assoziiert sind, durch entsprechende Pixel aus dem Ankerrahmen, um ein Cinemagramm zu erzeugen.
  16. Vorrichtung nach Anspruch 15, wobei das Erfassen der Sequenz von Bildrahmen ferner das automatische Wählen eines Brennparameters und/oder einer Erfassungsgeschwindigkeit durch die Bilderfassungsvorrichtung umfasst.
  17. Vorrichtung nach Anspruch 15, wobei das Registrieren jedes der anderen Bildrahmen auf dem Ankerrahmen ferner das Verwenden einer mittleren normalisierten Summe absoluter Differenzen umfasst zum Durchführen einer Bewegungssuche und Verwenden eines Ergebnisses zum Erzeugen einer Transformation, die auf jeden der anderen Bildrahmen angewendet wird.
  18. Vorrichtung nach Anspruch 15, wobei das Segmentieren der detektierten lokalen Bewegung ferner das Detektieren von Bewegungsbereichen innerhalb der Sequenz durch Schwellwertbildung an einem Bild von normalisierten Abständen und dann Verfeinern der Segmentierung unter Verwendung einer aktiven Konturierung umfasst.
  19. Vorrichtung nach Anspruch 15, wobei das Detektieren einer lokalen Bewegung ferner das Wählen eines Bewegungsbereichs auf der Basis einer größten Überlappung mit einer Maske umfasst, die anhand eines vorausgegangenen Bildrahmens in der Sequenz von Bildrahmen bestimmt ist.
  20. Vorrichtung nach Anspruch 15, wobei die Aktionen ferner das Hinzufügen einer umgekehrten Sequenz von Rahmen in der Cinemagrammsequenz zu einem Ende des Cinemagramms umfassen.
DE102013017122.9A 2012-10-19 2013-10-15 Verfahren zum Herstellen automatischer Cinemagramme auf einer Bildgebungsvorrichtung Active DE102013017122B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/656,442 2012-10-19
US13/656,442 US9082198B2 (en) 2012-10-19 2012-10-19 Method for creating automatic cinemagraphs on an imagine device

Publications (2)

Publication Number Publication Date
DE102013017122A1 true DE102013017122A1 (de) 2014-04-24
DE102013017122B4 DE102013017122B4 (de) 2024-03-07

Family

ID=49397218

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013017122.9A Active DE102013017122B4 (de) 2012-10-19 2013-10-15 Verfahren zum Herstellen automatischer Cinemagramme auf einer Bildgebungsvorrichtung

Country Status (4)

Country Link
US (1) US9082198B2 (de)
JP (1) JP6305719B2 (de)
DE (1) DE102013017122B4 (de)
GB (1) GB2507172B (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013113985A1 (en) * 2012-01-31 2013-08-08 Nokia Corporation Method, apparatus and computer program product for generation of motion images
CN104125392B (zh) * 2013-04-24 2017-10-10 株式会社摩如富 图像合成装置及图像合成方法
KR102090105B1 (ko) * 2013-07-16 2020-03-17 삼성전자 주식회사 카메라를 구비하는 장치의 이미지 처리장치 및 방법
KR102127351B1 (ko) * 2013-07-23 2020-06-26 삼성전자주식회사 사용자 단말 장치 및 그 제어 방법
GB2520319A (en) * 2013-11-18 2015-05-20 Nokia Corp Method, apparatus and computer program product for capturing images
WO2015100518A1 (en) 2013-12-31 2015-07-09 Google Inc. Systems and methods for converting static image online content to dynamic online content
JP6516478B2 (ja) * 2015-01-16 2019-05-22 キヤノン株式会社 画像処理装置及び画像処理装置の制御方法
US10154196B2 (en) * 2015-05-26 2018-12-11 Microsoft Technology Licensing, Llc Adjusting length of living images
US9443316B1 (en) * 2015-07-21 2016-09-13 Sony Corporation Semi-automatic image segmentation
US9959880B2 (en) * 2015-10-14 2018-05-01 Qualcomm Incorporated Coding higher-order ambisonic coefficients during multiple transitions
US9858965B2 (en) 2015-10-23 2018-01-02 Microsoft Technology Licensing, Llc Video loop generation
KR101698314B1 (ko) 2015-12-09 2017-01-20 경북대학교 산학협력단 영상 통계정보에 기반한 정지장면 분할장치 및 그 방법
EP3206163B1 (de) * 2016-02-11 2018-12-26 AR4 GmbH Bildverarbeitungsverfahren, mobile vorrichtung und verfahren zur erzeugung einer videobilddatenbank
US20180025749A1 (en) * 2016-07-22 2018-01-25 Microsoft Technology Licensing, Llc Automatic generation of semantic-based cinemagraphs
US10062410B2 (en) 2016-09-23 2018-08-28 Apple Inc. Automated seamless video loop
US9934818B1 (en) 2016-09-23 2018-04-03 Apple Inc. Automated seamless video loop
US10062409B2 (en) 2016-09-23 2018-08-28 Apple Inc. Automated seamless video loop
US10176845B2 (en) 2016-09-23 2019-01-08 Apple Inc. Seamless forward-reverse video loops
US10122940B2 (en) 2016-09-23 2018-11-06 Apple Inc. Automated seamless video loop
US10262208B2 (en) 2016-09-23 2019-04-16 Microsoft Technology Licensing, Llc Automatic selection of cinemagraphs
KR101804844B1 (ko) 2016-12-20 2017-12-05 재단법인대구경북과학기술원 시네마그래프 생성 장치 및 그 방법
US10586367B2 (en) * 2017-01-04 2020-03-10 Samsung Electronics Co., Ltd. Interactive cinemagrams
US10734025B2 (en) 2017-05-16 2020-08-04 Apple Inc. Seamless output video variations for an input video
US10904607B2 (en) 2017-07-10 2021-01-26 Dolby Laboratories Licensing Corporation Video content controller and associated method
US10573052B2 (en) * 2018-02-13 2020-02-25 Adobe Inc. Creating cinemagraphs with virtual long-exposure images
US10796421B2 (en) * 2018-02-13 2020-10-06 Adobe Inc. Creating selective virtual long-exposure images
JP6572500B1 (ja) * 2018-03-14 2019-09-11 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd 画像処理装置、撮像装置、移動体、画像処理方法、及びプログラム
US10701279B2 (en) 2018-10-02 2020-06-30 Adobe Inc. Utilizing alignment models and motion vector path blending to generate a long exposure digital image from a sequence of short exposure digital images
WO2020137524A1 (ja) * 2018-12-25 2020-07-02 キヤノン株式会社 電子機器
KR20210098239A (ko) * 2020-01-31 2021-08-10 삼성전자주식회사 콘텐츠를 형성하기 위한 전자 장치 및 그의 동작 방법
WO2022056817A1 (en) * 2020-09-18 2022-03-24 Qualcomm Incorporated Anchor frame selection for blending frames in image processing

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7995097B2 (en) 2007-05-25 2011-08-09 Zoran Corporation Techniques of motion estimation when acquiring an image of a scene that may be illuminated with a time varying luminance

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4689683B1 (en) * 1986-03-18 1996-02-27 Edward Efron Computerized studio for motion picture film and television production
US5594554A (en) 1993-10-04 1997-01-14 Zoran Corporation Image compression coder having improved scale factor control
US7982796B2 (en) 2001-03-21 2011-07-19 Apple Inc. Track for improved video compression
US6625310B2 (en) 2001-03-23 2003-09-23 Diamondback Vision, Inc. Video segmentation using statistical pixel modeling
JP2005277916A (ja) * 2004-03-25 2005-10-06 Seiko Epson Corp 動画像処理装置、画像処理システム、動画像処理方法およびそのプログラム、記録媒体
KR100782811B1 (ko) * 2005-02-04 2007-12-06 삼성전자주식회사 영상의 주파수 특성에 따라 포맷을 달리하는 스테레오 영상 합성 방법 및 장치와, 그 영상의 송신 및 수신 방법과, 그 영상의 재생 방법 및 장치
US7702131B2 (en) 2005-10-13 2010-04-20 Fujifilm Corporation Segmenting images and simulating motion blur using an image sequence
US7609271B2 (en) * 2006-06-30 2009-10-27 Microsoft Corporation Producing animated scenes from still images
JP2009124618A (ja) * 2007-11-19 2009-06-04 Hitachi Ltd カメラ装置、画像処理装置
US8406491B2 (en) 2008-05-08 2013-03-26 Ut-Battelle, Llc Image registration method for medical image sequences
JP2011035636A (ja) * 2009-07-31 2011-02-17 Casio Computer Co Ltd 画像処理装置及び方法
DE102009038364A1 (de) * 2009-08-23 2011-02-24 Friedrich-Alexander-Universität Erlangen-Nürnberg Verfahren und System zur automatischen Objekterkennung und anschließenden Objektverfolgung nach Maßgabe der Objektform
US9049447B2 (en) * 2010-12-30 2015-06-02 Pelco, Inc. Video coding
US9473702B2 (en) * 2011-12-23 2016-10-18 Nokia Technologies Oy Controlling image capture and/or controlling image processing
US8872850B2 (en) * 2012-03-05 2014-10-28 Microsoft Corporation Juxtaposing still and dynamic imagery for cliplet creation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7995097B2 (en) 2007-05-25 2011-08-09 Zoran Corporation Techniques of motion estimation when acquiring an image of a scene that may be illuminated with a time varying luminance

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Fast approximate curve evolution" von James Malcolm, Yogesh Rathi, Anthony Yezzi und Allen Tannenbaum, Real-Time Image Processing 2008, Nasser Kehtarnavaz
Matthias F. Carlsohn, Editors, Proc. SPIE Vol. 6811, 68110L (2008)

Also Published As

Publication number Publication date
GB2507172A (en) 2014-04-23
DE102013017122B4 (de) 2024-03-07
GB201315659D0 (en) 2013-10-16
GB2507172B (en) 2018-07-18
US9082198B2 (en) 2015-07-14
JP2014102820A (ja) 2014-06-05
JP6305719B2 (ja) 2018-04-04
US20140111662A1 (en) 2014-04-24

Similar Documents

Publication Publication Date Title
DE102013017122B4 (de) Verfahren zum Herstellen automatischer Cinemagramme auf einer Bildgebungsvorrichtung
Li et al. Low-light image and video enhancement using deep learning: A survey
Li et al. Detail-enhanced multi-scale exposure fusion
DE112018002228B4 (de) Konfigurierbare faltungsmaschine für verschachtelte kanaldaten
DE102011078662B4 (de) Erfassen und Erzeugen von Bildern mit hohem Dynamikbereich
DE112006001017B4 (de) Verfahren und Vorrichtung zum Eingliedern von Irisfarbe in eine Rotes-Auge-Korrektur
DE102016115292B4 (de) Verfahren und Vorrichtung zur automatischen Belichtungswerterfassung für High Dynamic Range Imaging
DE102012023299A1 (de) Einrichtung und Algorithmus zum Erfassen von HDR-Video (High Dynamic Range - hoher Dynamikumfang)
CN106462955B (zh) 具有时间平滑和用户超驰的自动视频质量增强
DE102017010210A1 (de) Bild-Matting mittels tiefem Lernen
DE102014010152A1 (de) Automatikeffektverfahren für Fotografie und elektronische Vorrichtung
DE202013012272U1 (de) Einrichtung zur Steuerung einer Kamera
US20190335077A1 (en) Systems and methods for image capture and processing
SE1150505A1 (sv) Metod och anordning för tagning av bilder
DE102007025670A1 (de) Intelligente Bildqualitäts-Funktionseinheit
DE202015009148U1 (de) Automatische Bearbeitung von Bildern
DE202015003717U1 (de) "System zur dynamischen Wahl der Kompressionsrate"
DE102014117895A1 (de) Hinweis-basierte Spot-Healing-Techniken
DE112019007550T5 (de) Automatisches segmentieren und anpassen von bildern
CN104969240A (zh) 用于图像处理的方法和系统
DE102016122790A1 (de) Unterstützter automatischer Weißabgleich
JP5676610B2 (ja) 画像シーケンスの関心領域に基づくアーティファクト低減のためのシステム及び方法
Florea et al. Directed color transfer for low-light image enhancement
Sitohang Reduction Eye Red Digital Image Effect With Algorithm Intensity Color Checking
Fu et al. Learning an adaptive model for extreme low‐light raw image processing

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: OLSWANG GERMANY LLP, DE

R081 Change of applicant/patentee

Owner name: QUALCOMM INC. (N.D.GES.D. STAATES DELAWARE), S, US

Free format text: FORMER OWNER: CSR TECHNOLOGY INC., SUNNYVALE, CALIF., US

Effective date: 20141112

Owner name: QUALCOMM TECHNOLOGIES, INC. (N.D.GES.D. STAATE, US

Free format text: FORMER OWNER: CSR TECHNOLOGY INC., SUNNYVALE, CALIF., US

Effective date: 20141112

R082 Change of representative

Representative=s name: MAUCHER JENKINS, DE

Effective date: 20141112

Representative=s name: OLSWANG GERMANY LLP, DE

Effective date: 20141112

Representative=s name: MAUCHER JENKINS PATENTANWAELTE & RECHTSANWAELT, DE

Effective date: 20141112

R081 Change of applicant/patentee

Owner name: QUALCOMM INC. (N.D.GES.D. STAATES DELAWARE), S, US

Free format text: FORMER OWNER: QUALCOMM TECHNOLOGIES, INC. (N.D.GES.D. STAATES DELAWARE), SAN DIEGO, CALIF., US

R082 Change of representative

Representative=s name: MAUCHER JENKINS, DE

Representative=s name: MAUCHER JENKINS PATENTANWAELTE & RECHTSANWAELT, DE

R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division