DE102020202059A1 - Mehrdurchgangs-zusatzwerkzeug zur kohärenten und vollständigen ansichtssynthese - Google Patents

Mehrdurchgangs-zusatzwerkzeug zur kohärenten und vollständigen ansichtssynthese Download PDF

Info

Publication number
DE102020202059A1
DE102020202059A1 DE102020202059.0A DE102020202059A DE102020202059A1 DE 102020202059 A1 DE102020202059 A1 DE 102020202059A1 DE 102020202059 A DE102020202059 A DE 102020202059A DE 102020202059 A1 DE102020202059 A1 DE 102020202059A1
Authority
DE
Germany
Prior art keywords
view
views
synthesis
view synthesis
information
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.)
Pending
Application number
DE102020202059.0A
Other languages
English (en)
Inventor
Basel Salahieh
Sumit Bhatia
Jill Boyce
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE102020202059A1 publication Critical patent/DE102020202059A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • H04N13/117Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/122Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/156Mixing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/349Multi-view displays for displaying three or more geometrical viewpoints without viewer tracking
    • H04N13/351Multi-view displays for displaying three or more geometrical viewpoints without viewer tracking for displaying simultaneously
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • 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/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Generation (AREA)

Abstract

Eine Ausführungsform eines Bildprozessors für immersives Video enthält eine Technologie zum Umordnen von Gebieten aus mehreren Ansichten basierend auf einer oder mehreren auf relative Position und Orientierung bezogenen Informationen für eine gewünschte synthetisierte Ansicht, Auswählen einer Gruppe von Ansichten, die in jedem Ansichtssynthesedurchgang zu verwenden sind, Ausführen von zwei oder mehr Ansichtssynthesedurchgängen für die synthetisierte Ansicht, um zwei oder mehr Zwischenansichtssyntheseergebnisse bereitzustellen, und Maskieren und Zusammenführen der zwei oder mehr Zwischenansichtssyntheseergebnisse, um ein endgültiges Ansichtssyntheseergebnis bereitzustellen. Andere Ausführungsformen sind offenbart und beansprucht.

Description

  • ANSPRUCH AUF PRIORITÄT
  • Diese Anmeldung beansprucht die Priorität der vorläufigen US-Patentanmeldung Nr. 62/820,758 , eingereicht am 19. März 2019 mit dem Titel „HYBRID MULTI-PASS ADD-ON TOOL FOR COHERENT AND COMPLETE VIEW SYNTHESIS OF NATURAL CONTENT“, die hier durch Bezugnahme vollständig mit aufgenommen ist.
  • HINTERGRUND
  • Anordnungen von Kameras wie z. B. zwei oder mehr linear oder als Gitter ausgerichtete Kameras werden zunehmend in einer Vielzahl von Implementierungen von Vorrichtungen üblich, wie z. B. in Tablet-Vorrichtungen, Smartphone-Vorrichtungen, Laptop-Vorrichtungen, Anzeigevorrichtungen, Telepräsenzsystemen und Filmherstellungs- und Videoproduktionssystemen. Für synthetischen Computergrafikinhalt können diskrete virtuelle Kameragruppen verwendet werden, um sie zu sampeln. In dem Kontext einer Betrachtungserfahrung, die durch solche Kameraanordnungen erzeugt wird, werden virtuelle Zwischenansichten zwischen Kameraorten erzeugt und für einen Anwender zur Anzeige bereitgestellt.
  • In einigen Kontexten beruht die Mehrzahl der Ansichtssynthesetechniken auf Textur- und Tiefeninhalt anderer Ansichten, um eine neue Ansicht dazwischen zu synthetisieren. In dem Fall eines natürlichen Inhalts (d. h. Inhalt, der durch Kameras aufgenommen wird) werden die zugeordneten Tiefenkarten aus dem aufgenommenen Texturinhalt selbst geschätzt. Die meisten Tiefenschätzungstechniken verwenden Nachbaransichten (d. h. 2 oder mehr Ansichten), um Disparitäten (d. h. relative Verschiebungen entsprechender Pixel in unterschiedlichen Ansichten) zu finden. Da die Schätzung jedoch lokal vorgenommen wird, neigen die resultierenden Tiefenkarten dazu, dass Kohärenz über alle Ansichten fehlt, was problematisch ist, wenn das Aufnahmesystem aus vielen Kameras mit großen Basislinien (d. h. Abständen zwischen den Kameras) besteht.
  • Dieses Fehlen der Kohärenz in Tiefenkarten führt zu Artefakten (insbesondere in den verdeckten Bereichen), wenn alle verfügbaren Ansichten für die Synthese verwendet werden. Wenn mit anderen Worten alle Ansichten projiziert werden, um 3D-Inhalt unter Verwendung inkohärenter Tiefenkarten zu erzeugen, sind die entsprechenden Voxel nicht in denselben Tiefenebenen ausgerichtet, was während der Rückprojektion auf die gewünschte synthetisierte Ansicht zu vielen Artefakten führt. Darüber hinaus verursachen in Mehrfachansicht-Codierungsschemas, die Zwischenansichtssynthese einsetzen, um nur Schlüsselansichten zu streamen, die Artefakte, die von einem inkohärenten Tiefeninhalt herrühren, eine geringe Komprimierungseffizienz, da der Codierer Schwierigkeiten hat, die richtigen Bewegungsvektoren und passenden Blöcke zu finden. Das wiederum führt zu größerer Bandbreitennutzung, da die Mehrfachansicht-Redundanz nicht ausgenutzt werden kann.
  • In dem Fall von synthetischem Inhalt (d. h. Inhalt, der durch virtuelle Kameras gesampelt wird) sind die erzeugten Tiefenkarten ideal, sie können jedoch einen scharfen Übergang der Tiefenwerte für Randbereiche widerspiegeln, was zu Halo-Artefakten führt, wenn unter Verwendung aller verfügbaren Ansichten gerendert wird.
  • Angesichts dieser und anderer Überlegungen sind die vorliegenden Verbesserungen notwendig geworden. Solche Verbesserungen können kritisch werden, wenn sich der Wunsch, solche Bilder oder Videos in Implementierungen mit Kameraanordnungen und anderen Kontexten zu sammeln und anzuzeigen, weiter verbreitet.
  • Figurenliste
  • Das hier beschriebene Material ist als Beispiel und nicht zur Einschränkung in den begleitenden Zeichnungen dargestellt. Zur Vereinfachung und Verdeutlichung der Darstellung sind in den Figuren dargestellte Elemente nicht notwendigerweise maßstabsgerecht gezeichnet. Beispielsweise können die Abmessungen einiger Elemente zur Verdeutlichung im Vergleich zu anderen Elementen übertrieben sein. Ferner sind, wenn es als geeignet betrachtet wurde, Bezugszeichen unter den Figuren wiederholt worden, um entsprechende oder analoge Elemente anzugeben; es zeigen:
    • 1 ein Blockdiagramm eines Beispiels eines elektronischen Systems gemäß einer Ausführungsform;
    • 2A bis 2B Ablaufpläne eines Beispiels eines Verfahrens zum Verarbeiten eines Bilds gemäß einer Ausführungsform;
    • 3A ein Ablaufdiagramm, das einen Beispielprozess zum Ausführen von Mehrdurchgangs-Ansichtssynthese gemäß einer Ausführungsform darstellt;
    • 3B ein Blockdiagramm eines Beispiels eines Systems zum Ausführen von Mehrdurchgangs-Ansichtssynthese gemäß einer Ausführungsform;
    • 4 Beispielergebnisse von Mehrdurchgangs-Ansichtssynthese gemäß einer Ausführungsform;
    • 5 einen Beispiel-Codier- und Decodier-Kontext für Mehransichts-Video gemäß einer Ausführungsform;
    • 6 ein Ablaufdiagramm, das einen Beispielprozess zum Ausführen von Ansichtssynthese einer virtuellen Ansicht einer Szene gemäß einer Ausführungsform darstellt;
    • 7 ein erläuterndes Diagramm eines Beispielsystems zum Ausführen von Ansichtssynthese einer virtuellen Ansicht einer Szene gemäß einer Ausführungsform;
    • 8 ein Blockdiagramm eines weiteren Beispiels eines Systems zum Ausführen von Mehrdurchgangs-Ansichtssynthese gemäß einer Ausführungsform;
    • 9 ein erläuterndes Diagramm eines weiteren Beispielsystems; und
    • 10 eine Beispielvorrichtung, die insgesamt in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung ausgelegt ist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Eine oder mehrere Ausführungsformen oder Implementierungen sind jetzt mit Bezug auf die beigefügten Figuren beschrieben. Obwohl spezifische Konfigurationen und Anordnungen diskutiert sind, ist zu verstehen, dass das nur zu erläuternden Zwecken so gemacht ist. Fachleute der relevanten Technik werden erkennen, dass andere Konfigurationen und Anordnungen eingesetzt werden können, ohne von dem Geist und Schutzbereich der Beschreibung abzuweichen. Es wird für Fachleute der relevanten Technik offensichtlich, dass Techniken und/oder Anordnungen, die hier beschrieben sind, auch in einer Vielzahl anderer Systeme und Anwendungen, die nicht das hier Beschriebene, eingesetzt werden können.
  • Obwohl die folgende Beschreibung verschiedene Implementierungen darlegt, die in Architekturen wie beispielsweise als Ein-Chip-System- (SoC-) Architekturen manifestiert sein können, sind Implementierungen der Techniken und/oder Anordnungen, die hier beschrieben sind, nicht auf spezielle Architekturen und/oder Berechnungssysteme beschränkt und können durch irgendein/e Architektur und/oder Berechnungssystem zu ähnlichen Zwecken implementiert sein. Beispielsweise können verschiedene Architekturen, die beispielsweise Chips oder Baugruppen mit mehreren integrierten Schaltungen (IC) einsetzen, und/oder verschiedene Berechnungsvorrichtungen und/oder Unterhaltungselektronik- (CE-) Vorrichtungen wie z. B. Set-Top-Boxes, Smartphones usw. die Techniken und/oder Anordnungen, die hier beschrieben sind, implementieren. Ferner kann, obwohl die folgende Beschreibung zahlreiche spezifische Einzelheiten wie z. B. Logikimplementierungen, Typen und Wechselbeziehungen von Systemkomponenten, Wahlmöglichkeiten für logische Unterteilung/Integration usw. darlegen, kann der beanspruchte Gegenstand ohne solche spezifischen Einzelheiten praktiziert werden. In anderen Fällen kann ein Material wie beispielsweise Steuerstrukturen und vollständige Software-Anweisungssequenzen nicht im Einzelnen gezeigt sein, um das hier offenbarte Material nicht zu verdecken.
  • Das hier offenbarte Material kann in Hardware, Firmware, Software oder irgendeiner Kombination daraus implementiert sein. Das hier offenbarte Material kann auch als Anweisungen implementiert sein, die auf einem maschinenlesbaren Medium gespeichert sind, die durch einen oder mehrere Prozessoren gelesen und ausgeführt werden können. Ein maschinenlesbares Medium kann irgendeine/n Medium und/oder Mechanismus zum Speichern oder Übertragen von Informationen in einer durch eine Maschine (z. B. eine Berechnungsvorrichtung) lesbaren Form enthalten. Beispielsweise kann ein maschinenlesbares Medium Festwertspeicher (ROM); Direktzugriffsspeicher (RAM), Magnetplattenspeichermedien; optische Speichermedien; Flash-Speichervorrichtungen; elektrische, optische, akustische oder andere Formen verbreiteter Signale (z. B. Trägerwellen, Infrarotsignale, digitale Signale usw.) und andere enthalten.
  • Bezugnahmen in der Spezifikation auf „eine Implementierung“, „eine Beispielimplementierung“ usw. geben an, dass die beschriebene Ausführungsform ein/e spezielle/s Merkmal, Struktur oder Eigenschaft enthalten kann, jedoch nicht jede Ausführungsform diese/s spezielle Merkmal, Struktur oder Eigenschaft notwendigerweise enthalten muss. Außerdem beziehen sich solche Ausdrücke nicht notwendigerweise auf dieselbe Implementierung. Ferner ist, wenn ein/e spezielle/s Merkmal, Struktur oder Eigenschaft in Verbindung mit einer Ausführungsform beschrieben ist, mitgeteilt, dass es im Bereich der Kenntnisse eines Fachmanns ist, ein/e solche/s Merkmal, Struktur oder Eigenschaft in Verbindung mit anderen Implementierungen, seien sie hier ausdrücklich beschrieben oder nicht, zu bewirken.
  • Die Begriffe „im Wesentlichen“, „nahe“, „ungefähr“, „nahezu“ und „etwa“ beziehen sich allgemein darauf, dass sie innerhalb von +/- 10 % eines Zielwerts sind. Beispielsweise bedeuten, sofern in dem ausdrücklichen Kontext ihrer Verwendung nicht anders spezifiziert, die Begriffe „im Wesentlichen gleich“, „etwa gleich“ und „ungefähr gleich“, dass nicht mehr als eine zufällige Variation zwischen so beschriebenen Dingen vorhanden ist. In der Technik ist eine solche Variation typischerweise nicht größer als +/- 10 % eines vorbestimmten Zielwerts. Sofern nicht anders spezifiziert gibt die Verwendung der Ordnungsadjektive „erster“, „zweiter“ und „dritter“ usw., um ein gemeinsames Objekt zu beschreiben, lediglich an, dass auf unterschiedliche Instanzen gleicher Objekte Bezug genommen ist, und sie sind nicht dafür vorgesehen zu implizieren, dass die so beschriebenen Objekte in einer gegebenen Reihenfolge, entweder zeitlich, räumlich, in der Rangfolge oder auf irgendeine andere Weise, sein müssen.
  • Verfahren, Vorrichtungen, Einrichtungen, Berechnungsplattformen und Artikel sind hier in Bezug auf ein Mehrdurchgangs-Zusatzwerkzeug zur kohärenten und vollständigen Ansichtssynthese beschrieben.
  • Der Begriff „Gebiet“ [engl: Patch], auf den in diesem Dokument Bezug genommen wird, kann sich auf einen rechteckigen Bereich innerhalb eines Atlas beziehen, das einem rechteckigen Bereich innerhalb einer Ansicht entspricht, und es könnte auch die Gesamtansicht sein. Der Begriff „Atlas“, auf den in diesem Dokument Bezug genommen ist, kann sich auf ein Gebiet oder eine Zusammenstellung von Gebieten beziehen, die während einer immersiven / Mehrfachansicht-Codierungsstufe gebildet wird.
  • Mit Bezug auf 1 kann eine Ausführungsform eines elektronischen Systems 10 einen Speicher 12 zum Speichern mehrerer Ansichten, einen Prozessor 11, der mit dem Speicher 12 kommunikationstechnisch gekoppelt ist, und Logik 13, die mit dem Prozessor 11 und dem Speicher 12 kommunikationstechnisch gekoppelt ist, enthalten. Die Logik 13 kann konfiguriert sein, die mehreren Gebiete aus Ansichten basierend auf einer oder mehreren auf die relative Position und Orientierung bezogenen Informationen für die mehreren Ansichten mit Bezug auf die gewünschte synthetisierte Ansicht umzuordnen, zwei oder mehr Synthesedurchläufe auszuführen, um zwei oder mehr synthetisierte Zwischenansichten bereitzustellen, und die zwei oder mehr synthetisierten Zwischenansichten zu maskieren und zusammenzuführen, um ein endgültiges Ansichtssyntheseergebnis bereitzustellen. In einigen Ausführungsformen kann die Logik 13 konfiguriert sein, die mehreren Ansichten basierend auf einem Abstand zwischen jeder Ansicht und eines gewünschten synthetisierten Ansicht umzuordnen. Beispielsweise kann die Logik 13 konfiguriert sein, Informationen über überlappte Szenenabdeckung zwischen den mehreren Szenen und der gewünschten synthetisierten Ansicht basierend auf der einen oder mehreren auf relative Position und Orientierung bezogenen Informationen zu bestimmen und die mehreren Ansichten in einer Reihenfolge von einer relativ größten Überlappung zu einer relativ kleinsten Überlappung basierend auf den bestimmten Informationen über überlappte Szenenabdeckung umzuordnen.
  • In einigen Ausführungsformen kann die Logik 13 ferner konfiguriert sein, zwei oder mehr der Ansichtssynthesedurchgänge zueinander parallel auszuführen, und/oder eines oder mehrere aus einer Anzahl von Durchgängen und einer Anzahl von Ansichten für die ausgeführte Ansichtssynthese basierend auf einem oder mehreren durch einen Anwender bereitgestellten Parametern zu bestimmen. In einigen Ausführungsformen kann die Logik 13 konfiguriert sein, eine Binärmaske zu erzeugen, um fehlende Informationen (z. B. Löcher, Grenzen, Verdeckungen usw.) in einer Zwischenansicht zu identifizieren Beispielsweise kann die Logik 13 konfiguriert sein, zwei synthetisierte Zwischenansichten basierend auf einer Überlappung zwischen den zwei synthetisierten Zwischenansichten und der Binärmaske zusammenzuführen.
  • Ausführungsformen jedes aus dem vorstehenden Prozessor 11, dem Speicher 12, der Logik 13 und anderen Systemkomponenten können in Hardware, Software oder irgendeiner geeigneten Kombination daraus implementiert sein. Beispielsweise können Hardware-Implementierungen konfigurierbare Logik enthalten, wie beispielsweise programmierbare Logik-Arrays (PLAs), im Feld programmierbare Gatter-Arrays (FPGAs), komplexe programmierbare Logikvorrichtungen (CPLDs) oder Logik-Hardware mit fester Funktionalität unter Verwendung von Schaltungstechnologie wie beispielsweise anwendungsspezifische integrierte Schaltung (ASIC), komplementäre Metalloxidhalbleiter (CMOS) oder Transistor-Transistor-Logik- (TTL-) Technologie oder irgendeine Kombination daraus. Ausführungsformen des Prozessors 11 können einen Allzweckprozessor, einen Spezialprozessor, eine zentrale Prozessoreinheit (CPU), einen Grafikprozessor, eine Allzwecksteuereinheit, eine Ausführungseinheit, eine Spezialsteuereinheit, eine Allzwecksteuereinheit, eine Mikrosteuereinheit usw. enthalten.
  • In einigen Ausführungsformen kann sich die Logik 13 in verschiedenen Komponenten, die den Prozessor 11 enthalten, befinden oder sich am gleichen Ort mit ihnen befinden (z. B. auf demselben Baustein). Beispielsweise kann die Logik 13 auf einer Halbleitereinrichtung implementiert sein, die ein oder mehrere Substrate enthalten kann, wobei die Logik 13 mit dem einen oder den mehreren Substraten gekoppelt ist. In einigen Ausführungsformen kann die Logik 13 wenigstens teilweise in einer oder mehrere aus konfigurierbarer Logik und Hardware-Logik mit fester Funktionalität auf Halbleitersubstrat(en) (z. B. Silizium, Saphir, Gallium-Arsenid usw.) implementiert sein. Beispielsweise kann die Logik 13 eine Transistorgruppe und/oder andere Komponenten einer integrierten Schaltung enthalten, die mit dem/den Substrat(en) gekoppelt sind, mit Transistorkanalbereichen, die innerhalb des/der Substrat(e) positioniert sind. Die Schnittstelle zwischen den Logik 13 und dem/den Substrat(en) kann kein plötzlicher Übergang sein. Die Logik 13 kann außerdem so betrachtet werden, dass sie eine Epitaxieschicht enthält, die auf einem anfänglichen Wafer des/der Substrat(e) gewachsen ist.
  • Alternativ oder zusätzlich können alle Abschnitte dieser Komponenten in einem oder mehreren Modulen als eine Gruppe von Logikanweisungen, die in einer maschinen- oder computerlesbaren Speichervorrichtung wie z. B. einem Direktzugriffsspeicher (RAM), Festwertspeicher (ROM), programmierbaren ROM (PROM), Firmware, Flash-Speicher usw. gespeichert sind, um durch einen Prozessor oder eine Berechnungsvorrichtung ausgeführt zu werden, implementiert sein. Beispielsweise kann Computerprogrammcode zum Ausführen der Operationen der Komponenten in irgendeiner Kombination aus einer oder mehreren für das Betriebssystem (OS) anwendbaren/geeigneten Programmiersprachen geschrieben sein, die eine objektorientierte Programmiersprache wie z. B. PYTHON, PERL, JAVA, SMALLTALK, C++, C# oder dergleichen und herkömmliche prozedurale Programmiersprachen wie z. B. die „C“-Programmiersprache oder ähnliche Programmiersprachen enthalten. Beispielsweise können Firmware-Speicher, persistente Speichermedien oder anderer Systemspeicher eine Gruppe von Anweisungen speichern, die dann, wenn sie durch den Prozessor 11 ausgeführt werden, das System 10 veranlassen, eine oder mehrere Komponenten, Merkmale oder Aspekte des Systems 10 zu implementieren (z. B. die Logik 13, Umordnen der Ansichten, Ausführen mehrerer Ansichtssynthesedurchgänge und Maskieren und Zusammenführen der Zwischenergebnisse, um ein endgültiges Ergebnis bereitzustellen, usw.).
  • Jetzt weiter zu den 2A bis 2B kann eine Ausführungsform eines Verfahrens 20 zum Verarbeiten eines Bilds das Umordnen eines oder mehrerer Gebiete aus mehreren Ansichten basierend auf einer oder mehreren auf die relative Position und die Orientierung bezogenen Informationen für eine gewünschte synthetisierte Ansicht bei Block 21, Auswählen einer jeweiligen Gruppe von Ansichten, die für jeden aus zwei oder mehr Ansichtssynthesedurchgänge zu verwenden sind, bei Block 22, Ausführen des einen oder der mehreren Ansichtssynthesedurchgänge für die gewünschte synthetisierte Ansicht unter Verwendung nur von Gebieten, die zu der ausgewählten Gruppe von Ansichten gehören, für jeden Durchgang, um zwei oder mehr Zwischenansichtssyntheseergebnisse zu erzeugen, bei Block 23 und Maskieren und Zusammenführen der zwei oder mehr Zwischenansichtssyntheseergebnisse, um eine endgültiges Ansichtssyntheseergebnis zu erhalten, bei Block 24 enthalten. Einige Ausführungsformen des Verfahrens 20 können ferner das Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten basierend auf einem Abstand zwischen jeder Ansicht und der gewünschten synthetisierten Ansicht bei Block 25 enthalten. Beispielsweise kann das Verfahren Bestimmen von Informationen über überlappte Szenenabdeckung zwischen den mehreren Ansichten und der gewünschten synthetisierten Ansicht basierend auf der einen oder den mehreren auf die relative Position und Orientierung bezogenen Informationen bei Block 26 und Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten in einer Reihenfolge von einer relativ größten Überlappung zu einer relativ kleinsten Überlappung basierend auf den bestimmen Informationen über überlappte Szenenabdeckung zwischen den mehreren Ansichten und der gewünschten synthetisierten Ansicht bei Block 27 enthalten.
  • Einige Ausführungsformen des Verfahrens 20 können ferner das Ausführen von zwei oder mehr der Ansichtssynthesedurchgänge parallel zueinander bei Block 28 und/oder Bestimmen eines oder mehrerer aus einer Anzahl von Durchgängen und einer Anzahl von Ansichten für die ausgeführte Ansichtssynthese basierend auf einem oder mehreren durch einen Anwender bereitgestellten Parametern bei Block 29 enthalten. Einige Ausführungsformen des Verfahrens 20 können außerdem das Erzeugen einer Binärmaske, um fehlende Informationen in einer Zwischenansicht zu identifizieren, bei Block 30 enthalten. Beispielsweise kann das Verfahren 20 das Zusammenführen von zwei Zwischenansichtssyntheseergebnissen basierend auf der Binärmaske, so dass fehlende Informationen aus der synthetisierten Zwischenansicht eines höheren Durchgangs genommen werden und Informationen über kohärente Synthese aus der synthetisierten Zwischenansicht eines tieferen Durchgangs genommen werden, bei Block 31 und Wiederholen des Zusammenführens nacheinander für jedes Ergebnis einer synthetisierten Zwischenansicht bei Block 32 enthalten.
  • Ausführungsformen des Verfahrens 20 können in einem System, einer Einrichtung, einem Computer, einer Vorrichtung usw., beispielsweise wie in den hier beschriebenen, implementiert sein. Insbesondere können Hardware-Implementierungen des Verfahrens 20 konfigurierbare Logik wie beispielsweise PLAs, FPGAs, CPLDs oder Logik-Hardware mit fester Funktionalität unter Verwendung von Schaltungstechnologie wie beispielsweise ASIC-, CMOS- oder TLL-Technologie oder irgendeine Kombination daraus enthalten. Alternativ oder zusätzlich kann das Verfahren 20 in einem oder mehreren Modulen als eine Gruppe von Logikanweisungen, die in einer maschinen- oder computerlesbaren Speichervorrichtung wie z. B. RAM, ROM, PROM, Firmware, Flash-Speicher usw. gespeichert sind, um durch einen Prozessor oder eine Berechnungsvorrichtung ausgeführt zu werden, implementiert sein. Beispielsweise kann Computerprogrammcode zum Ausführen der Operationen der Komponenten in irgendeiner Kombination aus einer oder mehreren für das OS anwendbaren/geeigneten Programmiersprachen geschrieben sein, die eine objektorientierte Programmiersprache wie z. B. PYTHON, PERL, JAVA, SMALLTALK, C++, C# oder dergleichen und herkömmliche prozedurale Programmiersprachen wie z. B. die „C“-Programmiersprache oder ähnliche Programmiersprachen enthalten.
  • Beispielsweise kann das Verfahren 20 auf einem computerlesbaren Medium implementiert sein, wie im Zusammenhang mit den nachstehenden Beispielen 15 bis 21 beschrieben ist. Ausführungsformen oder Abschnitte des Verfahrens 20 können in Firmware, Anwendungen (z. B. über eine Anwendungsprogrammierschnittstelle (API)) oder Treiber-Software, die auf einem Betriebssystem (OS) abläuft, implementiert sein. Zusätzlich könnten Logikanweisungen Assembler-Anweisungen, Anweisungen nach der „Instruction Set Architecture“ (ISA), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Zustandseinstelldaten, Konfigurationsdaten für eine integrierte Schaltungsanordnung, Zustandsinformationen, die eine elektronische Schaltungsanordnung und/oder andere Strukturkomponenten, die für die Hardware (z. B. Host-Prozessor, zentrale Verarbeitungseinheit/CPU, Mikrosteuereinheit usw.) nativ sind, personalisieren, enthalten.
  • Die hier diskutierten Mehrdurchgangs-Techniken kombinieren Ergebnisse kohärenter Synthese, die von einer Teilmenge von Ansichten herrühren, und die vollständigen Informationen (um verdeckte Bereiche aufzufüllen und die Gesichtsfeldabdeckung zu erweitern), die von vielen oder allen Ansichten herrühren (z. B. wo jede Ansicht ein oder mehrere Gebiete enthalten kann). Dieses Mehrdurchgangs-Schema ermöglicht das Starten mit einer engen Teilmenge von Ansichten für sehr kohärente Synthese, dann Erweitern dieser Teilmenge, um mehr Informationen in einer gemäßigten kohärenten Ebene einzufüllen, und schließlich Verwenden aller Ansichten für ein vollständiges Füllen. Bei Verwendung solcher Techniken werden Artefakte, die von der Inkohärenz herrühren, minimiert oder eliminiert. In einigen Ausführungsformen ist die Mehrdurchgangs-Lösung ein Zusatzwerkzeug, das auf irgendeine Ansichtssynthesetechnik oder Mehrfach-Ansicht-Video-Codecs angewandt werden kann. Es ist in hohem Maße parallelisierbar und kann abgestimmt werden, um bei Bedarf Echtzeitaspekte beizubehalten. Diese Techniken werden zum Aufrechterhalten guter Bildqualität für natürlichen Inhalt, der von vielen Kameras mit großen Basislinie(n) herrührt. Diese Techniken können ferner Syntheseergebnisse für verfeinerte oder inkohärente Mehrfachansichtstiefenkarten verbessern. Sie verbessern außerdem die Syntheseergebnisse für synthetischen computererzeugten Inhalt durch Reduzieren von Artefakten, die aus scharfen Übergängen in Tiefenwerten resultierten, wenn mit vielen virtuellen Kameras gerendert wird. Beispielsweise können Ausführungsformen vorteilhafterweise fehlende Informationen vervollständigen, ob durch Füllen von Grenzen, Reduzieren von Artefakten und/oder Füllen von Verdeckungen, um die Syntheseergebnisse zu verbessern.
  • 3A enthält ein Ablaufdiagramm, das einen Beispielprozess 100 darstellt, und 3B enthält ein Blockdiagramm, das ein Beispielsystem 150 zum Ausführen von Mehrdurchgangs-Ansichtssynthese darstellt, ausgelegt in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung. Der Prozess 100 kann durch irgendeine geeignete Vorrichtung oder Plattform wie z. B. einen Personalcomputer, einen Laptop-Computer, ein Tablet, ein Phablet, ein Smartphone, eine Digitalkamera, eine Spielekonsole, eine tragbare Vorrichtung, eine Anzeigevorrichtung, eine Multifunktionsvorrichtung, eine Vorrichtung mit zwei Funktionen oder dergleichen ausgeführt werden, und/oder das System 150 kann dadurch implementiert sein. In einigen Ausführungsformen kann der mit Bezug auf die 3A und 3B diskutierte Mehrdurchgangs-Prozess ein Zusatzwerkzeug sein, das auf irgendeinem Ansichtssyntheseprozess oder Mehrfachansicht-Video-Codec-Prozess ablaufen kann.
  • Wie gezeigt ist Folgendes als Eingabe 101 bereitgestellt: N Ansichten (d. h. Texturvideos aller verfügbaren Ansichten zusammen mit ihren geschätzten Tiefenkarten, und wobei jede Ansicht ein oder mehrere Gebiete enthalten kann), N Ansichtsparameter (d. h. X-Y-Z-Position & Gierung-Neigung-Roll-Orientierung), Parameter der synthetisierten Ansicht und eine Mehrdurchgangs-Ansichtsauswahl, die die Anzahl von Durchgängen zusammen mit der Anzahl von eingegebenen Ansichten, die in jedem Durchgang zu verwenden sind, spezifiziert. Die Eingabe 101 kann außerdem zusätzliche Parameter enthalten, die sich auf die Ansichtssynthesetechnik beziehen (z. B. Maßstab, Auflösung, Mischfaktoren, Rauschunterdrückungsfaktor usw.).
  • Wie ebenfalls gezeigt ist, enthalten die Mehrdurchgangs-Techniken des Prozesses 100 die folgenden Operationen: Umordnen 102 der Ansichten, Mehrdurchgangs-Ansichtssynthese 103 und Maskierungs- & Zusammenführungsstufe 104. Die Mehrdurchgangs-Techniken des Prozesses 100 stellen ein endgültiges Syntheseergebnis 105 bereit, das eine kohärente Ansichtssynthese mit vollständigen Informationen ist. Jede der Operationen 102, 103, 104 ist wie folgt beschrieben.
  • Wie gezeigt empfängt ein Ansichtenumordnungsmodul 109 N Ansichten 108, so dass die Ansichten 108 Texturvideos aller verfügbaren Ansichten zusammen mit ihren geschätzten Tiefenkarten, N Ansichtsparameter 107 enthalten, so dass die N Ansichtsparameter 107 beispielsweise X-Y-Z-Position & Gierung-Neigung-Roll-Orientierung enthalten, und Parameter der synthetisierten Ansicht 106 enthalten. Wie ebenfalls gezeigt empfängt ein Mehrdurchgangs-Ansichtssynthesemodul 119 eine Mehrdurchgangs-Ansichtsauswahl 118.
  • Die Texturvideos der Ansichten 108 können beispielsweise über Bildaufnahmevorrichtungen wie z. B. Videokameras erhalten werden. Die Texturvideos können RGB-Bilddaten, die jeweils R (Rot-), G- (Grün-) und B- (Blau-) Werte für Pixels davon aufweisen können, oder Bilddaten in irgendeinem geeigneten Bildraum (z. B. YUV) sein. In einer Ausführungsform weisen die Texturvideobilder oder Rahmen eine Auflösung von 1920x1080 Pixel auf. Es kann jedoch irgendeine Auflösung verwendet sein. In einigen Ausführungsformen können Videokameras seitlich und/oder über- und untereinander angeordnet sein, um ein/e Kameraanordnung oder -gitter zu bilden. Solche Kameraanordnungen oder Gitter können irgendeine Anzahl von Kameras enthalten, wobei solche Kameras in der x-Richtung (um eine horizontale Kameraanordnung zu bilden), der y-Richtung (um eine vertikale Kameraanordnung zu bilden) oder beiden (um ein Kameragitter zu bilden) verteilt sein können, um irgendeine Anzahl von Videobildern zu erzeugen.
  • Die Tiefenkarten der Ansichten 108 können unter Verwendung irgendeiner geeigneten Techniken oder Techniken erhalten oder erzeugt werden, wie z. B. Blockabgleich zwischen benachbarten Videobildern, optischen Flusstechniken usw.
  • Das Ansichtenumordnungsmodul 109 bestimmt die überlappte Szenenabdeckung zwischen eingegebenen Ansichten 108 und der gewünschten synthetisierten Ansicht basierend auf ihren relativen Positionen und Orientierungen. Falls beispielsweise die Kameras alle die gleiche Orientierung aufweisen (d. h. ihre optischen Achsen parallel zueinander sind und in die gleiche Richtung zeigen), dann wird der physikalische Abstand zwischen ihren Positionen (d. h. die Kamerapositionen) die Überlappung bestimmen. In solchen Beispielen werden nahegelegene Kameras als erste geordnet. Andererseits wird, falls eine Kamera physikalisch neben der gewünschten virtuellen Kamera ist (die z. B. die synthetisierte Ansicht bereitstellen würde) jedoch in der entgegengesetzten Richtung orientiert ist, was zu einem geringeren gemeinsamen Gesichtsfeld führt, dann die Ansicht, die durch die Kamera aufgenommen wird, als eine Fernansicht betrachtet. Basierend auf den Überlappungen wird die Indexierung der eingegebenen Ansichten verändert, so dass nähere Ansichten zuerst aufgelistet sind und die am weitesten entfernten am Ende. Beispielsweise werden eingegebene Ansichten, die größere Überlappungen aufweisen, zuerst aufgelistet, und diejenigen mit kleineren Überlappungen werden in einer absteigenden Reihenfolge als Letzte angeordnet.
  • Wie gezeigt werden die umgeordneten Ansichten für das Mehrdurchgangs-Ansichtssynthesemodul 119 bereitgestellt. In einigen Ausführungsformen kann eine Anwender- oder Systemeinstellung dafür vorgenommen werden, wie viele Durchgänge ausgeführt werden sollen. Beispielsweise können der Anwender oder das System spezifizieren, wie viele Durchgänge gewünscht sind, und die Anzahl von eingegebenen Ansichten pro Durchgang in einer inkrementellen Reihenfolge (d. h. die Anzahl eingegebener Ansichten steigt bei Fortschreiten von Durchgang 1 zu Durchgang n an). In jedem Durchgang 110, 112, 116 usw. wird eine Ansichtssynthese aufgerufen, um auf den ausgewählten eingegebenen Ansichten abzulaufen und ein Zwischenansichtssyntheseergebnis zu produzieren. In einigen Ausführungsformen ist das Ablaufen der Durchgänge vollständig parallelisiert. Das heißt, jeder Durchgang kann ohne Eingabe aus anderen Durchgänge ausgeführt werden, und solche Durchgänge werden wenigstens teilweise gleichzeitig ausgeführt. Wie er hier verwendet ist, gibt der Begriff vollständig parallelisiert in Bezug auf die Verarbeitung an, dass jeder parallelisierte Prozess ohne Eingabe aus den Ergebnissen eines weiteren Prozesses ausgeführt wird, so dass die Prozesse wenigstens teilweise gleichzeitig ausgeführt werden. Es wird darauf hingewiesen, dass die Ansichtssynthese ohne „Padding“- oder „Inpainting“-Optionen ablaufen kann, da scharfe genaue Kanten wünschenswert sind, um Masken in den folgenden Operationen zu erzeugen.
  • Wie gezeigt werden die resultierenden Zwischenansichtssyntheseergebnisse für ein Maskierungs- und Zusammenführungsmodul 120 bereitgestellt. Beginnend mit der kohärentesten Synthese (Durchgang 1, svp1) wird eine Binärmaske b1 111 mit Werten gleich 1 für Löcher in der Zwischenansicht von Durchgang 1 und andernfalls 0 (oder umgekehrt in Bezug auf solche Binärmaskierung) erzeugt. In einigen Ausführungsformen ist die Reihenfolge von Maskieren und Zusammenführen von Zwischenansichtssyntheseergebnissen von am kohärentesten (z. B. der meisten Überlappung zwischen der virtuellen Ansicht und den Ansichten, die verwendet werden, um die Zwischenansichtssyntheseergebnisse zu erzeugen) zu weniger Überlappung. Das Überlappungsmaß kann auf einer mittleren Überlappung oder einem am wenigsten überlappenden Bild basieren. In einigen Ausführungsformen kann die Reihenfolge von Maskieren und Zusammenführen von Zwischenansichtssyntheseergebnissen außerdem das Verwenden von mehr Ansichten zum Erzeugen der Zwischenansichtssyntheseergebnisse enthalten (z. B. in einem monotonen Funktionsanstieg). Das heißt, frühere Maskierungs- und Zusammenführungsoperationen können auf Zwischenansichtssyntheseergebnissen aus Ansichten mit hoher Überlappung zu Zwischenansichtssyntheseergebnissen aus Ansichten mit weniger Überlappung und/oder aus weniger Ansichten mit hoher Überlappung zu mehr Ansichten mit weniger Überlappung gebildet werden. Beispielsweise können einige Abschnitte eines endgültigen Zwischenansichtssyntheseergebnisses durch Ansichten mit hoher Überlappung gut definiert sein, während fehlende Pixel und/oder Randpixel unter Verwendung von Ansichten mit weniger Überlappung aufgefüllt werden können.
  • Insbesondere kann die Binärmaske b1 111 rauschbehaftet und/oder mit Löchern gefüllt sein (da die Zwischensynthesen ohne „Inpainting“ ausgeführt wurden). In einigen Ausführungsformen werden, um die Kontinuität bei Zusammenführen beizubehalten, ein Filtern morphologischer Operationen (d. h. Erosion gefolgt von Dilatation) mit der gleichen Kerngröße ausgeführt, um Ränder beizubehalten. Die Kerngröße kann abgestimmt werden, beispielsweise abhängig von der Wiedergabetreue des Inhalts, und zusammen mit den Mehrdurchgangs-Ansichtsauswahlparametern weitergegeben werden.
  • Sobald die Binärmaske b1 111 erzeugt und gereinigt ist, kann ein „Inpainting“ oder „Padding“ auf der Zwischenansichtssynthese für homogene Zusammenführungsergebnisse durchgeführt werden. Wie gezeigt wird in einigen Ausführungsformen die Binärmaske b1 111 verwendet, um die Ergebnisse der Zwischenansichtssynthese von Durchgang 1 (svp1) und diejenige aus dem folgenden Durchgang (Durchgang 2; svp2) (nach dem „Inpainting“) in Übereinstimmung mit Gleichung (1) zusammenzuführen, um eine zusammengeführte Zwischenansichtssynthese mv1 113 zu erzeugen: mv 1 = sv p1 * ( 1 b 1 ) + sv p2 * b 1
    Figure DE102020202059A1_0001
    wobei mv1| die zusammengeführte Zwischenansichtssynthese 113 ist, svp1| die Zwischenansichtssynthese von Durchgang 1 ist, svp2| die Zwischenansichtssynthese von Durchgang 2 ist und b1| die Binärmaske b1 111 ist (unter Verwendung von 1 für Löcher und andernfalls 0).
  • Wie gezeigt wird dann eine neue Maske b2 114 unter Verwendung der zusammengeführten Zwischenansichtssynthese mv1 113 (z. B. der ersten zusammengeführten Ergebnisse) erzeugt, verfeinert und dann verwendet, um wiederum mit den Zwischenansichtssyntheseergebnissen von Durchgang 3 (svp3) in Übereinstimmung mit Gleichung (2) zusammengeführt zu werden: mv 2 = mv 1 * ( 1 b 2 ) + sv p3 * b 2
    Figure DE102020202059A1_0002
    wobei mv2| eine weitere zusammengeführte Zwischenansichtssynthese ist (in 3B nicht gezeigt), mv1| die zusammengeführte Zwischenansichtssynthese 113, ist, svp3| die Zwischenansichtssynthese von Durchgang 3 ist und b2| die Binärmaske b2 114 ist (unter Verwendung von 1 für Löcher und andernfalls 0).
  • Solche Operationen werden, bis zu einem Zusammenführen mit einer Zwischenansichtssynthese eines letzten Durchgangs (svpn) 117 fortgesetzt, das kohärente und vollständige Mehrdurchgangs-Ansichtssyntheseergebnisse (d. h. das endgültige Syntheseergebnis 105) bereitstellt. Es wird darauf hingewiesen, dass die gleichen Maskierungs- und Zusammenführungsoperationen auf die zugeordneten Tiefenkarten angewandt werden können, falls es das Ziel ist, auch die Tiefenkarte der gewünschten Ansicht auszugeben.
  • 4 stellt Beispielergebnisse von Mehrdurchgangs-Ansichtssynthese dar, ausgelegt in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung. In dem Kontext von 4 ist eine Testfolge von Inhalt repräsentiert, die aus 15 linearen Ansichten (v0, v1, ..., v14), die die gleiche Orientierung aufweisen (d. h. auf die Szene zeigen), zusammengestellt ist. Unter der Annahme einer Synthesebetriebsart mit zwei Durchgängen, wo es das Ziel ist, eine zentrale Ansicht, v7, zu synthetisieren, werden in dem ersten Durchgang nur zwei benachbarte Ansichten (d. h. v6 und v8) verwendet, und in dem zweiten Durchgang werden alle Seitenansichten (d. h. v0, ..., v6 und v8, ... ,v14) verwendet. In 4 stellt das Bild 201 die Zwischensyntheseergebnisse für den ersten Durchgang dar, und das Bild 202 stellt die Zwischensyntheseergebnisse für den zweiten Durchgang dar. Darüber hinaus stellt das Bild 203 die zusammengeführten Ergebnisse der Synthese mit zwei Durchgängen dar. Insbesondere ist der zentrale Teil 204 kohärent (stellt z. B. kohärente Syntheseergebnisse dar), und die Grenzen 205 weisen die vollständigen Informationen (z. B. die vollständige Gesichtsfeldabdeckung) auf. Beispielsweise stellt 4 ein Beispiel für eine Technik mit zwei Durchgängen dar, das Zwischenansichtssyntheseergebnisse, wenn eine Teilmenge der Ansichten (Bild 201) und alle Ansichten (Bild 202) verwendet werden, und endgültige Syntheseergebnisse nach Maskieren und Zusammenführen (Bild 203) zeigt. Das Bild 201 (unter Verwendung der Teilmenge der Ansichten) zeigt kohärente Syntheseergebnisse, weist jedoch ein begrenztes Gesichtsfeld (FOV) auf. Das Bild 202 weist ein großes Gesichtsfeld auf, zeigt jedoch einige Artefakte. Vorteilhafterweise weist das Bild 203 sowohl eine vollständige FOV-Abdeckung als auch kohärente Syntheseergebnisse auf.
  • 5 stellt einen beispielhaften Codier- und Decodier-Kontext 300 für Mehransicht-Video dar, ausgelegt in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung. Wie in 5 gezeigt ist, kann ein Codiersystem 310 ein Mehrdurchgangs-Ansichtssynthesemodul 311 und einen Mehrfach-Ansicht-Videocodierer 312 enthalten, und ein Decodiersystem 320 kann ein Mehrdurchgangs-Ansichtssynthesemodul 321 und einen Mehrfach-Ansicht-Videodecodierer 322 enthalten. Die Systeme 310, 320 können in irgendeinem geeigneten Formfaktor wie z. B. einem Personalcomputer, einem Laptop-Computer, einem Tablet, einem Phablet, einem Smartphone, einer Digitalkamera, einer Spielekonsole, einer tragbaren Vorrichtung, einer Anzeigevorrichtung, einer Multifunktionsvorrichtung, einer Vorrichtung mit zwei Funktionen oder dergleichen implementiert sein. Beispielsweise stellt 5 Anwendungen der Mehrdurchgangs-Ansichtssynthese für Mehrfach-Ansicht-Video-Codecs bereit. In einigen Ausführungsformen implementiert das Mehrdurchgangs-Ansichtssynthesemodul 311 und/oder das Mehrdurchgangs-Ansichtssynthesemodul 321 das System 150.
  • Insbesondere versuchen Mehrfach-Ansicht-Videocodierungen, Winkelredundanz über alle verschiedenen Ansichten des Mehrfach-Ansicht-Videos zusätzlich zu der räumlichen und zeitlichen Redundanz pro Ansicht auszunutzen. Eine Technik dafür enthält das Synthetisieren einer kleineren Teilmenge von Ansichten an Schlüsselpositionen und -orientierungen und Komprimieren und Streamen der Teilmenge anstelle der Verarbeitung aller eingegebenen Ansichten. Das Erzeugen einer kohärenten und vollständigen synthetisierten Teilmenge unter Verwendung der hier diskutierten Mehrdurchgangs-Techniken stellt ein wesentliches Einsparen von Bits und effiziente Komprimierung/Bandbreitennutzung bereit. Wie gezeigt empfängt das Mehrdurchgangs-Ansichtssynthesemodul 311 ein großes Volumen von Ansichten 313 (d. h. N Ansichten) und erzeugt eine begrenzte Anzahl von Ansichten 314 (d. h. M Ansichten, so dass M<N ist) unter Verwendung der hier mit Bezug auf die 3A und 3B diskutierten Techniken. Beispielsweise können die Ansichten 314 virtuelle Ansichten sein, wie hier diskutiert ist. Die begrenzte Anzahl von Ansichten 314 werden über den Mehrfach-Ansicht-Videocodierer 312 codiert, um einen Bitstrom 301 zu erzeugen, der zu dem Decodiersystem 320 transportiert wird.
  • Ähnlich decodiert in dem Decodiersystem 320 (z. B. der Konsumvorrichtung) der Mehrfach-Ansicht-Decodierer 322 die begrenzte Anzahl von Ansichten 314, und das Mehrdurchgangs-Ansichtssynthesemodul 321 erzeugt eine gewünschte virtuelle Ansicht 326 für einen Ansichtsbereich eines Anwenders. Das heißt, das Decodiersystem 320 synthetisiert eine gewünschte Ansicht aus nur der decodierten begrenzten Anzahl von Ansichten 314 (z. B. der Teilmenge der Ansichten) anstatt aus allen Ansichten. Wie gezeigt wird in dem Decodiersystem 320 eine gewünschte virtuelle Ansicht 326 gemäß einer Ansicht eines Anwenders (nicht gezeigt) in der Umgebung 327 erzeugt. Beispielsweise kann der Anwender eine am Kopf getragene Anzeigevorrichtung (HMD) 325 tragen, die eine Orientierung des Anwenders in Bezug auf 327 detektieren und die Orientierung als Ansichtsparameter 324 bereitstellen kann, so dass die Ansichtsparameter 324 die gewünschte virtuelle Ansicht für den Anwender repräsentieren. Insbesondere repräsentiert der Kontext 300 eine Notwendigkeit für Rekonstruktionen mit höherer Wiedergabetreue neuer Ansichten, wie sie durch die hier diskutierten Mehrdurchgangs-Techniken bereitgestellt werden.
  • In einigen Ausführungsformen laufen die Mehrdurchgangs-Techniken unabhängig in dem Codiersystem 310 und dem Decodiersystem 320. In anderen Ausführungsformen werden die Mehrdurchgangs-Techniken in dem Codiersystem 310 und dem Decodiersystem 320 in Übereinstimmung miteinander ausgeführt. Solche Techniken sind rechnerisch und in der Qualität vorteilhaft. In einer Ausführungsform kann in dem Codiersystem 310 und dem Decodiersystem 320 an den Bereichen oder Gebieten der zusammengeführten synthetisierten Mehrdurchgangs-Ansicht ein Flag angebracht sein, das die Nummer des Durchgangs, aus dem er/es kommt, während der Zusammenführungsprozesses spezifiziert. Diese Informationen können innerhalb von Metadaten 315 zu dem Decodiersystem 320 gesendet werden, so dass das Decodiersystem 320 den Prozess exakt umkehren kann, um die ursprünglichen individuellen Ansichten zu bestimmen, die zu diesen Gebieten beitragen, anstatt das einfach in einem blinden Mehrfachdurchgang in dem Decodiersystem 320 zu tun. Solche Techniken sparen an der Anzahl von Durchgängen und reduzieren die rechnerische Komplexität des Decodiersystems 320 (z. B. des Mehrfach-Ansicht-Decodierers), was ein Schlüsselmerkmal für die Unterstützung von großformatigem Mehrfach-Ansicht-Video in Konsumvorrichtungen ist.
  • Darüber hinaus kann das dynamische Ändern von Kamerapositionen während der Videoaufnahme dynamisches Ändern der Position der synthetisierten virtuellen Ansichten, die zum Streamen ausgewählt sind, erfordern, um die Szene auf der Codiererseite vollständig abzudecken. Das heißt, die Anzahl und die Positionen einer begrenzten Anzahl von Ansichten 314 können sich aufgrund sich ändernder Kamerapositionen ändern. Solche Änderungen erfordern häufiges Aktualisieren der Positionen dieser virtuellen Ansichten über Metadaten, so dass sich die Mehrdurchgangs-Synthese an die aktualisierten eingegebenen Teilmengen-Ansichtsparameteranpassen und immer noch kohärente Rekonstruktionen liefern kann.
  • Im Kontext 300 sind Bitraten, Qualität und geringere Komplexität in dem Decodiersystem 320 kritische Aspekte in Mehrfach-Ansicht-Videocodec-Implementierungen. Die diskutierten Mehrdurchgangs-Techniken liefern auf diesen Aspekten eine Vielzahl von Inhalten, die synthetischen Inhalt und echten oder natürlichen Inhalt (d. h. Inhalt, der über Bild- und Videoaufnahme einer Szene erlangt wird) enthalten.
  • Wie vorstehend beschrieben kann es vorteilhaft sein, virtuelle Ansichten zu verbessern, die versuchen, eine Ansicht für einen Ort zwischen Orten verfügbarer Bilder anzunähern. Beispielsweise werden, um eine immersive Erfahrung zum Betrachten von Inhalt, der in ebenen Kameraanordnungen oder anderen Mehrfach-Ansicht-Systemen erzeugt wird, bereitzustellen, effizient erzeugte virtuelle Ansichten hoher Qualität für Positionen zwischen Kamerapositionen benötigt. Hier diskutierte Techniken rendern realistische virtuelle Bilder an Positionen zwischen aufgenommenen Kameraansichten effizient, vollautomatisch und ohne oder mit minimalen sichtbaren Artefakten. Mehrfach-Ansicht-Vorrichtungen und insbesondere Kameraanordnungen werden zunehmend üblich in zahlreichen immersiven visuellen Anwendungen, die virtuelle Navigation einer Szene wie z. B. das Rendern von außen nach innen aus mehreren Ansichten eines Objekts (z. B. Volumenrendern), Erzeugung stereoskopischer Panoramas aus runden Konfigurationen von Kameraanordnungen (z. B. Rendern von innen nach außen für VR), interaktive Mehrfach-Ansicht-Videoanwendungen (z. B. Telekonferenz) usw. enthalten. Die hier diskutierten Techniken können in irgendeinem Kontext, in dem ein virtuelles Bild erzeugt werden soll, verwendet werden. Die eingegebenen Bilder können auf irgendeine geeignete Weise erlangt werden, wie z. B. Bildaufnahme über Kameras, Bild- oder Grafik-Rendern, oder solche eingegebenen Bilder können von dem Speicher oder einer anderen Vorrichtung zur Verarbeitung empfangen werden.
  • 6 ist ein Ablaufdiagramm, das einen Beispielprozess 400 zum Ausführen von Ansichtssynthese einer virtuellen Ansicht einer Szene darstellt, ausgelegt in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung. Der Prozess 400 kann eine oder mehrere Operationen 401-405 enthalten, wie in 6 dargestellt ist. Der Prozess 400 kann wenigstens einen Teil eines Erzeugungsprozesses für virtuelle Ansichten bilden. Als nicht einschränkendes Beispiel kann der Prozess 400 wenigstens einen Teil eines Erzeugungsprozesses für virtuelle Ansichten bilden, wie er durch das System 150 ausgeführt wird, wie hier diskutiert. In einigen Ausführungsformen wird der Prozess 400 durch das Codiersystem 310 ausgeführt. In einigen Ausführungsformen wird der Prozess 400 durch das Decodiersystem 320 ausgeführt. Darüber hinaus wird der Prozess 400 hier mit Bezug auf das System 450 von 7 beschrieben.
  • 7 ist ein erläuterndes Diagramm eines Beispielsystems 450 zum Ausführen von Ansichtssynthese einer virtuellen Ansicht einer Szene, ausgelegt in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung. Wie in 7 gezeigt ist, kann das System 450 einen zentralen Prozessor 451, einen Bildprozessor 452 und einen Speicher 453 enthalten. Wie ebenfalls gezeigt ist, kann der Bildprozessor 452 ein Ansichtenumordnungsmodul 109, ein Mehrdurchgangs-Ansichtssynthesemodul 119 und ein Maskierungs- und Zusammenführungsmodul 120 enthalten oder implementieren. In dem Beispiel von System 350 kann der Speicher 453 Bild- oder Rahmendaten, Daten synthetisierter Ansichten, Daten gefüllter Masken, Bitstromdaten oder irgendwelche anderen hier diskutierten Daten speichern.
  • Wie gezeigt sind in einigen Beispielen ein oder mehrere Abschnitte des Ansichtenumordnungsmoduls 109, des Mehrdurchgangs-Ansichtssynthesemoduls 119 und des Maskierungs- und Zusammenführungsmoduls 120 über den Bildprozessor 452 implementiert. In anderen Beispielen sind ein oder mehrere Abschnitte des Ansichtenumordnungsmoduls 109, des Mehrdurchgangs-Ansichtssynthesemoduls 119 und des Maskierungs- und Zusammenführungsmoduls 120 über den zentralen Prozessor 451, eine Bildverarbeitungseinheit, eine Bildverarbeitungs-Pipeline, einen Bildsignalprozessor oder dergleichen implementiert. In einigen Beispielen sind einige Abschnitte des Ansichtenumordnungsmoduls 109, des Mehrdurchgangs-Ansichtssynthesemoduls 119 und des Maskierungs- und Zusammenführungsmoduls 120 in Hardware als ein Ein-Chip-System (SoC) implementiert. In einigen Beispielen sind einige Abschnitte des Ansichtenumordnungsmoduls 109, des Mehrdurchgangs-Ansichtssynthesemoduls 119 und des Maskierungs- und Zusammenführungsmoduls 120 in Hardware über ein FPGA implementiert.
  • Der Bildprozessor 452 kann irgendeine/n Anzahl und Typ von Bild- oder Grafikverarbeitungseinheiten enthalten, die die Operationen wie hier diskutiert bereitstellen können. Solche Operationen können über Software oder Hardware oder eine Kombination daraus implementiert sein. Beispielsweise kann der Bildprozessor 452 eine Schaltungsanordnung enthalten, die dediziert ist, aus dem Speicher 453 erhaltene Bilder zu manipulieren und/oder zu analysieren. Der zentrale Prozessor 451 kann irgendeine/n Anzahl oder Typ von Verarbeitungseinheiten oder Modulen enthalten, die Steuerung und andere Funktionen hoher Ebene für das System 450 bereitstellen können und/oder irgendwelche Operationen bereitstellen können, wie hier diskutiert. Der Speicher 453 kann irgendein Typ eines Speichers sein, wie z. B. flüchtiger Speicher (z. B. statischer Direktzugriffsspeicher (SRAM), dynamischer Direktzugriffsspeicher (DRAM) usw.) oder nichtflüchtiger Speicher (z. B. Flash-Speicher usw.), und so weiter. In einem nicht einschränkenden Beispiel kann der Speicher 453 durch Cache-Speicher implementiert sein. In einer Ausführungsform sind ein oder mehrere Abschnitte des Ansichtenumordnungsmoduls 109, des Mehrdurchgangs-Ansichtssynthesemoduls 119 und des Maskierungs- und Zusammenführungsmoduls 120 über eine Ausführungseinheit (EU) des Bildprozessors 452 implementiert. Die EU kann beispielsweise programmierbare Logik oder Schaltungsanordnung enthalten, wie z. B. einen Logikkern oder Kerne, die eine große Gruppe programmierbarer Logikfunktionen bereitstellen können. In einer Ausführungsform sind ein oder mehrere Abschnitte des Ansichtenumordnungsmoduls 109, des Mehrdurchgangs-Ansichtssynthesemoduls 119 und des Maskierungs- und Zusammenführungsmoduls 120 über dedizierte Hardware wie z. B. eine Schaltungsanordnung mit fester Funktion oder dergleichen implementiert. Die Schaltungsanordnung mit fester Funktion kann dedizierte Logik oder Schaltungsanordnung enthalten und kann eine Gruppe von Eintrittspunkten für feste Funktionen bereitstellen, die auf die dedizierte Logik für einen festen Zweck oder eine feste Funktion abbilden können.
  • Zurück zur Diskussion von 6 beginnt der Prozess 400 mit Operation 401, wo N Ansichten einer Szene empfangen werden (wo z. B. jede Ansicht ein oder mehrere Gebiete enthalten kann). Die N Ansichten können irgendeine Anzahl von Bildern in irgendeinem geeigneten Format enthalten. Die Ansichten können Abbildungen oder Rahmen eines Mehrfach-Ansicht-Videos oder individuelle Abbildungen einer Szene sein. In einigen Ausführungsformen enthalten die N Ansichten Texturbilder von Video und entsprechende geschätzte Tiefenkarten. In einigen Ausführungsformen werden bei Operation 401 auch entsprechende N Ansichtsparameter (d. h. X-Y-Z-Position & Gierung-Neigung-Roll-Orientierung), synthetisierte Ansichtsparameter und eine Mehrdurchgangs-Ansichtsauswahl, die sie Anzahl von Durchgängen zusammen mit der Anzahl von eingegebenen Ansichten, die in jedem Durchgang verwendet werden sollen, spezifiziert, empfangen. In einigen Ausführungsformen werden die N Ansichten von entsprechenden N Kameras empfangen. In einigen Ausführungsformen werden die N Ansichten von einem Mehrfach-Ansicht-Videodecodierer empfangen.
  • Die Verarbeitung fährt mit Operation 402 fort, wo die N Ansichten bei Bedarf in absteigender Reihenfolge von Überlappung zwischen der gewünschten virtuellen Ansicht und jeder der N Ansichten umgeordnet. Die Überlappung zwischen der gewünschten virtuellen Ansicht und jeder der N Ansichten kann unter Verwendung irgendeiner geeigneten Technik oder Techniken bestimmt werden. Beispielsweise kann die überlappte Szenenabdeckung zwischen jeder der N Ansichten und der gewünschten synthetisierten Ansicht basierend auf ihren relativen Positionen und Orientierungen bestimmt werden. In einigen Ausführungsformen enthält die Überlappung den Abschnitt jeder Ansicht, die von den zwei Ansichten gemeinsam verwendet ist. Falls beispielsweise die Kameras alle die gleiche Orientierung aufweisen, dann wird der physikalische Abstand zwischen ihren Positionen (d. h. der Kamerapositionen) die Überlappung bestimmen, so dass Kameras nahe einer virtuellen Kamera (z. B. eine Position einer Kamera wie von der virtuellen Ansicht, die synthetisiert werden soll) als erste angeordnet werden. In einigen Ausführungsformen wird, falls eine Kamera physikalisch nahe der gewünschten virtuellen Kamera ist, jedoch in der entgegengesetzten Richtung orientiert ist, was in einem geringeren gemeinsam verwendeten Gesichtsfeld resultiert, wird dann die durch die Kamera aufgenommene Ansicht als Fernansicht (z. B. mit sehr geringer Überlappung) betrachtet. Basierend auf den Überlappungen wird die Indexierung der eingegebenen Ansichten verändert, so dass nähere Ansichten in Bezug auf die virtuelle Ansicht zuerst aufgelistet werden und die am weitesten entfernten Ansichten in Bezug auf die virtuelle Ansicht am Ende aufgelistet werden.
  • Die Verarbeitung fährt mit Operation 403 fort, wo mehrere Durchgänge der Ansichtssynthese basierend auf den umgeordneten N Ansichten ausgeführt werden. Es kann irgendeine Anzahl von Durchgängen ausgeführt werden. In einigen Ausführungsformen wird die Anzahl von einem Anwender oder einer Systemschnittstelle oder dergleichen empfangen. Beispielsweise können mehr Durchgänge eine höhere Qualität auf Kosten gesteigerter rechnerischer Komplexität und/oder Zeit bereitstellen. Darüber hinaus kann jeder der Durchgänge irgendeine Anzahl aus den N Ansichten verwenden, um jede virtuelle Ansicht zu erzeugen. Solche Anzahlen von Durchgängen, Anzahlen und Auswahl der umgeordneten N Ansichten können unter Verwendung irgendeiner geeigneten Technik oder Techniken vorgenommen werden. Wie für jeden der Durchgänge, die bei Operation 403 ausgeführt werden, zu erkennen ist, wird ein entsprechendes Zwischenansichtssyntheseergebnis erzeugt.
  • Die Verarbeitung fährt mit Operation 404 fort, wo die erzeugten Zwischenansichtssyntheseergebnisse maskiert und zusammengeführt werden, beginnend mit dem kohärentesten Zwischenansichtssyntheseergebnis. Das kohärenteste Zwischenansichtssyntheseergebnis kann unter Verwendung irgendeiner geeigneten Technik oder Techniken ausgewählt werden. In einer Ausführungsform entspricht das kohärenteste Zwischenansichtssyntheseergebnis einer Ansichtssynthese unter Verwendung der größten Überlappung, wie mit Bezug auf Operation 402 diskutiert ist. In einigen Ausführungsformen wird eine Binärmaske basierend auf dem kohärentesten Zwischenansichtssyntheseergebnis erzeugt, so dass die Maske einen Wert von 1 für Pixelorte aufweist, an denen das kohärenteste Zwischenansichtssyntheseergebnis ein Loch aufweist, und einen Wert für 0 für Pixelorte aufweist, an denen das kohärenteste Zwischenansichtssyntheseergebnis einen gültigen Pixelwert aufweist. Dadurch wird eine Lochmaske für das kohärenteste Zwischenansichtssyntheseergebnis erzeugt.
  • Die Binärmaske wird dann verwendet, um das kohärenteste Zwischenansichtssyntheseergebnis mit einem weiteren Zwischenansichtssyntheseergebnis (z. B. dem zweitkohärentesten Zwischenansichtssyntheseergebnis) zusammenzuführen, so dass dann, wenn die Maske einen Wert von 1 aufweist, ein Pixelwert des zweiten Zwischenansichtssyntheseergebnisses verwendet wird, und dann, wenn die Maske einen Wert von 0 aufweist, ein Pixelwert des kohärentesten Zwischenansichtssyntheseergebnisses verwendet wird, in Übereinstimmung mit Gleichung (1). Das zusammengeführte Zwischenansichtssyntheseergebnis wird dann auf die gleiche Weise maskiert, und die resultierende Maske wird verwendet, um das zusammengeführte Zwischenansichtssyntheseergebnis mit noch einem weiteren Zwischenansichtssyntheseergebnis (z. B. dem drittkohärentesten Zwischenansichtssyntheseergebnis) zusammenzuführen, und so weiter bis zu dem letzten Zwischenansichtssyntheseergebnis. Falls beispielsweise P Durchgänge bei Operation 403 verwendet werden, um P Zwischenansichtssyntheseergebnisse zu erzeugen, können P-1 Zusammenführungsoperationen verwendet werden, um das Zwischenansichtssyntheseergebnis, das das Zusammenführen des 1. mit dem 2., des 2. mit dem 3. und so weiter bis zum Zusammenführen des P-1-ten mit dem P-ten zusammenzuführen. Wie diskutiert weist das resultierende Zwischenansichtssyntheseergebnis (z. B. insofern dazwischenliegend, dass es zwischen Kamerapositionen ist) eine hohe Qualität und Kohärenz auf.
  • Die Verarbeitung fährt mit Operation 405 fort, wo das endgültige virtuelle Bild zur Präsentation für einen Betrachter und/oder zum Codieren bereitgestellt werden kann. Das endgültige virtuelle Bild kann zur Präsentation unter Verwendung irgendeiner geeigneten Technik oder Techniken bereitgestellt werden. In einer Ausführungsform enthält das Bereitstellen des endgültigen virtuellen Bilds zur Präsentation für den Betrachter das Senden des endgültigen virtuellen Bilds zu einer Empfangsvorrichtung, die einen Anzeigebildschirm aufweist. In einer Ausführungsform enthält das Bereitstellen des endgültigen virtuellen Bilds zur Präsentation für den Betrachter das Senden des virtuellen Bilds zu einem Speicher. Wie hier verwendet enthält das Bereitstellen eines Bilds zur Präsentation das Senden des Bilds zu einer Anzeigevorrichtung, Speichern des Bilds in einem Speicher zur späteren Anzeige und/oder Senden des Bilds zu einer weiteren Vorrichtung zur Anzeige an dieser Vorrichtung. Darüber hinaus kann das endgültige virtuelle Bild zum Codieren bereitgestellt werden, wie mit Bezug auf 5 diskutiert ist. Beispielsweise können mehrere endgültige virtuelle Bilder, von denen jedes eine aus einer begrenzen Anzahl von Ansichten 314 einer Szene repräsentiert, unter Verwendung des Mehrfach-Ansicht-Videocodierers 312 codiert werden, um einen Bitstrom 301 zu erzeugen.
  • Atlasbeispiele
  • In einigen Ausführungsformen können die Repräsentationen von Ansichten in einem oder mehreren Atlanten angeordnet sein. Ein Atlas kann sich auf eine Aggregation von Gebieten aus einer oder mehreren Repräsentationen von Ansichten nach einem Packprozess in ein Bilderpaar beziehen, das ein Texturkomponentenbild und ein entsprechendes Tiefenkomponentenbild beinhaltet. Ein Gebiet kann sich auf einen rechteckigen Bereich innerhalb eines Atlas beziehen, der einem rechteckigen Bereich innerhalb einer Repräsentation einer Ansicht entspricht. Der rechteckige Bereich, der durch ein Gebiet repräsentiert ist, kann so groß wie der Atlas oder wie die Repräsentation der Ansicht sein. Ein Gebietsdeskriptor kann sich auf eine Beschreibung des Gebiets beziehen, die seine Größe, den Ort innerhalb eines Atlas, die Drehung innerhalb eines Atlas und einen Ort innerhalb einer Darstellung einer Ansicht beinhaltet. Eine Atlasparameterliste kann definieren, wie Gebiete innerhalb des/der Atlas/Atlanten gepackt und auf spezifische Repräsentationen von Ansichten abgebildet werden, zusätzlich zu der Größe und Drehung der Gebiete innerhalb des/der Atlas/Atlanten. Eine Atlasgebietsbesetzungskarte kann sich auf eine zweidimensionale Anordnung beziehen, die einem Atlas entspricht, dessen Werte für jede Abtastpunktposition in dem Atlas angeben, welchem Gebiet der Abtastpunkt entspricht oder ob der Abtastpunkt ungültig ist. Kameraparameter können die Projektion definieren, die verwendet ist, um eine Repräsentation einer Ansicht aus einer 3D-Szene zu erzeugen, einschließlich intrinsischer und extrinsischer Parameter. Beispielsweise kann ein Atlas eine nützliche Art zum Organisieren von Bilddaten für immersives Video bereitstellen. In einigen Ausführungsformen kann ein Codierer für immersives Video ein Videooptimierungsmodul, ein Atlaskonstruktionsmodul und ein Videocodierer- und Metadatenzusammenstellungsmodul enthalten. Ähnlich kann der Decodierer für immersives Video einen Videodecodierer und ein Metadatenanalysemodul, ein Atlasgebietsbesetzungskartenerzeugungsmodul (das z. B. manchmal als eine Atlaszerlegungseinheit bezeichnet ist) und ein Rendermodul enthalten.
  • Mit Bezug auf 8 kann eine Ausführungsform eines Systems 500 eine Mehrdurchgangs-Steuereinheit enthalten, die einen oder mehrere Atlanten 508 als Eingaben verwendet, um mehrere Ansichten zu repräsentieren. Beispielsweise kann ein Videodecodierer HEVC-codierte Atlanten empfangen. Die Texturkomponente und die Tiefenkomponente können durch HEVC-Decodierer unabhängig decodiert werden. Eine Metadatenanalysiereinheit kann die empfangenen Metadaten in eine Kameraparameterliste 507 und eine Atlasparameterliste aufteilen. Die Atlasparameterliste kann durch ein Atlasgebietsbesetzungskartenerzeugungsmodul 530 verwendet werden. Die Kameraparameterliste 507 und die Betrachtungspositions- und Orientierungsinformationen 506 können durch das Ansichtsauswahlmodul 509 verwendet werden, um den angeforderten Ansichtsbereich (der z. B. einer ausgewählten Kameraparameterliste 518 entspricht) zu produzieren.
  • Das Atlasgebietsbesetzungskartenerzeugungsmodul 530 kann eine Besetzungskarte für jeden Atlas erzeugen. Die Besetzungskarte weist die gleiche Größe wie der Atlas auf und identifiziert für jeden Abtastpunkt die Nummer des Gebiets, zu dem der Abtastpunkt gehört. Die Karte kann durch Durchsuchen der Atlasparameterliste aus den analysierten Metadaten in genau derselben Reihenfolge wie während der Erzeugung des Atlas erzeugt werden, um irgendeine Überlappung aufzulösen. Die Besetzungskarte wird dann in einer Schleife auf den Abtastpunkten des Atlas verwendet, um die jeweiligen Gebietsbezeichner der Abtastpunkte zu identifizieren, die ihrerseits das Bestimmen der jeweiligen Kamerabezeichner ermöglichen und somit die Deprojektion und Rückprojektion auf den Ansichtsbereich ermöglichen.
  • Das System 500 kann eine Steuereinheit enthalten, um die Eingabedaten anzunehmen und das Synthesizer-Modul 519 und den „Inpainter“ 525 auf eine Mehrdurchgangs-Art aufzurufen und die ausgegebene Zielansicht 505 weiterzuleiten. Das Synthesizer-Modul 519 rückprojiziert, rastert und überblendet die Eingabedaten (z. B. unter Nutzung der hier beschriebenen Technologie). Der „Inpainter“ 525 ersetzt irgendwelche fehlenden Pixel (die z. B. durch den Pegel 0 in der Tiefenkarte angegeben sind) durch interpolierte Textur- und Tiefendaten. Beispielsweise ruft die Steuereinheit das Synthesizer-Modul 519 in mehreren Durchgängen auf, wobei die Anzahl der Durchgänge und die Anzahl der Ansichten pro Durchgang als Teil der Konfigurationsparameter abgestimmt werden können. Zuerst werden nur nahegelegene Ansichten (oder Gebiete, die zu nahegelegenen Ansichten gehören) für die Synthese verwendet, um kohärente Syntheseergebnisse auszugeben. Dann wird die Auswahl der Ansichten erweitert, um Ansichten, die weiter von der Zielansicht entfernt sind (oder Gebiete, die zu weiter entfernten Ansichten gehören), aufzunehmen, um vollständigere Syntheseergebnisse auszugeben. Der Prozess wird über die gewählte Anzahl von Durchgängen wiederholt. Wenn auf Atlanten gearbeitet wird, werden lokale Besetzungskarten pro Durchgang erzeugt, so dass sie nur die Gebietsbezeichner von Gebieten aus den ausgewählten Ansichten pro Durchgang enthalten. Dann werden die lokalen Besetzungskarten zu dem Synthesizer-Modul 519 weitergegeben, um nur diese ausgewählten Gebiete zu rendern. Danach werden die Syntheseergebnisse individueller Durchgänge durch ein Maskierungs- und Zusammenführungsmodul 502 sukzessive zusammengeführt, um ein kohärentes und vollständiges Syntheseergebnis auszugeben. Schließlich wird der „Inpainter“ 525 eingesetzt, um die fehlenden Bereiche vor dem Ausgeben der angeforderten Zielansicht 505 aufzufüllen.
  • Verschiedene Komponenten der hier beschriebenen Systeme können in Software, Firmware und/oder Hardware und/oder irgendeiner Kombination daraus implementiert sein. Beispielsweise können verschiedene Komponenten der hier diskutierten Vorrichtungen oder Systeme wenigstens teilweise durch Hardware eines Berechnungs-Ein-Chip-Systems Berechnungs-SoC) bereitgestellt werden, wie es z. B. in einem Berechnungssystem wie beispielsweise einem Smartphone zu finden ist. Fachleute werden erkennen, dass hier beschriebene Systeme zusätzliche Komponenten enthalten können, die in den entsprechenden Figuren nicht abgebildet worden sind. Beispielsweise können die hier diskutierten Systeme zusätzliche Komponenten enthalten, die im Interesse der Deutlichkeit nicht abgebildet worden sind.
  • Obwohl die Implementierung der hier diskutierten Beispielprozesse das Durchführen aller Operationen in der gezeigten Reihenfolge enthalten können, ist die vorliegende Offenbarung in dieser Hinsicht nicht eingeschränkt, und in verschiedenen Beispielen kann die Implementierung der Beispielprozesse hier nur eine Teilmenge der gezeigten Operationen, in einer anderen als der gezeigten Reihenfolge ausgeführte Operationen oder zusätzliche Operationen enthalten.
  • Zusätzlich kann irgendeine oder mehrere der hier diskutierten Operationen in Reaktion auf Anweisungen durchgeführt werden, die durch ein oder mehrere Computerprogrammprodukte bereitgestellt sind. Solche Programmprodukte können signalführende Medien enthalten, die Anweisungen bereitstellen, die dann, wenn sie beispielsweise durch einen Prozessor ausgeführt werden, die hier beschriebene Funktionalität bereitstellen können. Die Computerprogrammprodukte können in irgendeiner Form eines oder mehrerer maschinenlesbarer Medien bereitgestellt sein. Somit kann ein Prozessor, der eine oder mehrere Grafikverarbeitungseinheit(en) oder Prozessorkern(e) enthält, einen oder mehrere der Block der Beispielprozesse hier in Reaktion auf Programmcode und/oder Anweisungen oder Anweisungsgruppen, die durch ein oder mehrere maschinenlesbare Medien dem Prozessor zugeführt werden, durchführen. Allgemein kann ein maschinenlesbares Medium Software in der Form von Programmcode und/oder Anweisungen oder Anweisungsgruppen befördern, die irgendeine/s der Vorrichtungen und/oder Systeme, die hier beschrieben sind, veranlassen, wenigstens Abschnitte der Vorrichtungen oder Systeme oder irgendein/e andere/s Modul oder Komponente, wie hier diskutiert, zu implementieren.
  • Wie er in irgendeiner hier beschriebenen Implementierung verwendet ist, bezieht sich der Begriff „Modul“ auf irgendeine Kombination aus Software-Logik, Firmware-Logik, Hardware-Logik und/oder Schaltungsanordnung, die konfiguriert ist, die hier beschriebene Funktionalität bereitzustellen. Die Software kann als ein Software-Paket, Code und/oder Anweisungsgruppe oder Anweisungen verwirklicht sein, und „Hardware“, wie sie in irgendeiner hier beschriebenen Implementierung verwendet ist, kann beispielsweise einzeln oder in irgendeiner Kombination eine fest verdrahtete Schaltungsanordnung, programmierbare Schaltungsanordnung, Zustandsautomaten-Schaltungsanordnung, Schaltungsanordnung mit fester Funktion, Ausführungseinheit-Schaltungsanordnung und/oder Firmware, die Anweisungen speichert, die durch eine programmierbare Schaltungsanordnung ausgeführt wird, enthalten. Die Module können, gemeinsam oder individuell, als Schaltungsanordnung verwirklicht sein, die einen Teil eines größeren Systems bildet, beispielsweise eine integrierte Schaltung (IC), ein Ein-Chip-System (SoC) und so weiter.
  • 9 ist ein erläuterndes Diagramm eines Beispielsystems 600, das in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung ausgelegt ist. In verschiedenen Implementierungen kann das System 600 ein System einer mobilen Vorrichtung sein, obwohl das System 600 nicht auf diesen Kontext beschränkt ist. Beispielsweise kann das System 600 in einen Personalcomputer (PC), einen Laptop-Computer, einen Ultra-Laptop-Computer, ein Tablet, ein Touchpad, einen tragbaren Computer, einen Hand-Computer, einen Palmtop-Computer, einen persönlichen digitalen Assistenten (PDA), ein Mobiltelefon, eine Kombination Mobiltelefon/PDA, ein Fernsehgerät, eine intelligente Vorrichtung (z. B. ein Smartphone, ein Smarttablet oder ein intelligentes Fernsehgerät), eine Vorrichtung für mobiles Internet (MID), eine Nachrichtenübermittlungsvorrichtung, eine Datenkommunikationsvorrichtung, Kameras (z. B. Autofokuskameras, Super-Zoom-Kameras, digitale Einzelobjektiv-Reflex- (DSLR-) Kameras), eine Überwachungskamera, ein Überwachungssystem, das eine Kamera enthält, und so weiter integriert sein.
  • In verschiedenen Implementierungen enthält das System 600 eine Plattform 602, die mit einer Anzeigevorrichtung 620 gekoppelt ist. Die Plattform 602 kann Inhalt von einer Inhaltsvorrichtung wie z. B. der/den Inhaltsversorgungsvorrichtung(en) 630 oder Inhaltszustellvorrichtung(en) 640 oder anderen Inhaltsquellen wie z. B. Bildsensoren 619 empfangen. Beispielsweise kann die Plattform 602 Bilddaten wie hier diskutiert von Bildsensoren 619 oder irgendeiner anderen Inhaltsquelle empfangen. Eine Navigationssteuereinheit 650, die ein oder mehrere Navigationsmerkmale enthält, kann verwendet werden, um beispielsweise mit der Plattform 602 und/oder der Anzeigevorrichtung 620 zusammenzuwirken. Jede dieser Komponenten ist nachstehend genauer beschrieben.
  • In verschiedenen Implementierungen kann die Plattform 602 irgendeine Kombination aus einem Chipsatz 605, einem Prozessor 610, einem Speicher 612, einer Antenne 613, einer Speichereinrichtung 614, einem Grafikteilsystem 615, Anwendungen 616, einem Bildsignalprozessor 617 und/oder einer Funkeinrichtung 618 enthalten. Der Chipsatz 605 kann Kommunikation zwischen dem Prozessor 610, dem Speicher 612, der Speichereinrichtung 614, dem Grafikteilsystem 615, den Anwendungen 616, dem Bildsignalprozessor 617 und/oder der Funkeinrichtung 618 bereitstellen. Beispielsweise kann der Chipsatz 605 einen Speicheradapter (nicht abgebildet) enthalten, der zum Bereitstellen von Kommunikation mit der Speichervorrichtung 614 fähig ist.
  • Der Prozessor 610 kann als ein „Complex Instruction Set Computer“- (CISC-) oder „Reduced Instruction Set Computer“- (RISC-) Prozessor, mit dem x86-Befehlssatz kompatible Prozessoren, Mehrkern- oder irgendein anderer Mikroprozessor oder zentrale Verarbeitungseinheit (CPU) implementiert sein. In verschiedenen Implementierungen kann der Prozessor 610 Dual-Kern-Prozessor(en), Dual-Kern-Mobilprozessor(en) und so weiter sein.
  • Der Speicher 612 kann als flüchtige Speichervorrichtung wie z. B., ohne jedoch darauf beschränkt zu sein, ein Direktzugriffsspeicher (RAM), dynamischer Direktzugriffsspeicher (DRAM) oder statischer RAM (SRAM) implementiert sein.
  • Die Speichereinrichtung 614 kann als eine nichtflüchtige Speichervorrichtung wie z. B., ohne jedoch darauf beschränkt zu sein, ein Magnetplattenlaufwerk, ein optisches Plattenlaufwerk, ein Bandlaufwerk, eine interne Speichervorrichtung, eine angeschlossene Speichervorrichtung, Flash-Speicher, batteriegestützter SDRAM (synchroner DRAM) und/oder eine über ein Netz zugängliche Speichervorrichtung implementiert sein. In verschiedenen Implementierungen kann die Speichereinrichtung 614 eine Technologie enthalten, um den erweiterten Schutz der Speicherleistung für wertvolle digitale Medien zu erhöhen, beispielsweise wenn mehrere Festplatten enthalten sind.
  • Der Bildsignalprozessor 617 kann als ein spezialisierter digitaler Signalprozessor oder dergleichen implementiert sein, der zur Bildverarbeitung verwendet wird. In einigen Beispielen kann der Bildsignalprozessor 617 basierend auf einer Eine-Anweisung-mehrere-Daten- oder Mehrere-Anweisung-mehrere-Daten-Architektur oder dergleichen implementiert sein. In einigen Beispielen kann der Bildsignalprozessor 617 als ein Medienprozessor charakterisiert sein. Wie hier diskutiert kann der Bildsignalprozessor 617 basierend auf einer Ein-Chip-System-Architektur und/oder basierend auf einer Mehrkern-Architektur implementiert sein.
  • Das Grafikteilsystem 615 kann Verarbeitung von Bildern wie z. B. Standbild oder Video zur Anzeige ausführen. Das Grafikteilsystem 615 kann beispielsweise eine Grafikverarbeitungseinheit (GPU) oder eine „Visual Processing Unit“ (VPU) sein. Eine analoge oder digitale Schnittstelle kann verwendet sein, um das Grafikteilsystem 615 und die Anzeigevorrichtung 620 kommunikationstechnisch zu koppeln. Beispielsweise kann die Schnittstelle irgendeine aus einer Hochauflösenden Multimedia-Schnittstelle, DisplayPort, drahtlosem HDMI und/oder drahtlosen HD-konformen Techniken sein. Das Grafikteilsystem 615 kann in den Prozessor 610 oder den Chipsatz 605 integriert sein. In einigen Implementierungen kann das Grafikteilsystem 615 eine eigenständige Vorrichtung sein, die mit dem Chipsatz 605 kommunikationstechnisch gekoppelt ist.
  • Die Grafik- und/oder Videoverarbeitungstechniken, die hier beschrieben sind, können in verschiedenen Hardware-Architekturen implementiert sein. Beispielsweise kann die Grafik- und/oder Videofunktionalität innerhalb eines Chipsatzes integriert sein. Alternativ kann ein diskreter Grafik- und/oder Videoprozessor verwendet sein. Als noch eine weitere Implementierung können die Grafik- und/oder Videofunktionen durch einen Allzweckprozessor, der einen Mehrkernprozessor enthält, bereitgestellt sein. In weiteren Ausführungsformen können die Funktionen in einer Unterhaltungselektronikvorrichtung implementiert sein.
  • Die Funkeinrichtung 618 kann eine oder mehrere Funkeinrichtungen enthalten, die zum Senden und Empfangen von Signalen unter Verwendung verschiedener geeigneter drahtloser Kommunikationstechniken fähig sind. Solche Techniken können Kommunikation über ein oder mehrere Drahtlosnetze einbeziehen. Beispielhafte Drahtlosnetze enthalten (ohne jedoch darauf beschränkt zu sein) drahtlose lokale Netze (WLANs), drahtlose persönliche Netze (WPANs), drahtlose Regionalnetze (WMANs), Mobilfunknetze und Satellitennetze. Beim Kommunizieren über solche Netze kann die Funkeinrichtung 618 in Übereinstimmung mit einem oder mehreren anwendbaren Standards in irgendeiner Version arbeiten.
  • In verschiedenen Implementierungen kann die Anzeigevorrichtung 620 irgendeine/n Monitor oder Anzeigevorrichtung vom Fernsehtyp enthalten. Die Anzeigevorrichtung 620 kann beispielsweise einen Computer-Anzeigebildschirm, eine Anzeigevorrichtung mit berührungssensitivem Bildschirm, einen Videomonitor, eine fernsehgerätähnliche Vorrichtung und/oder ein Fernsehgerät enthalten. Die Anzeigevorrichtung 620 kann digital und/oder analog sein. In verschiedenen Implementierungen kann die Anzeigevorrichtung 620 eine holografische Anzeigevorrichtung sein. Außerdem kann die Anzeigevorrichtung 620 eine transparente Oberfläche sein, die eine sichtbare Projektion empfangen kann. Solche Projektionen können verschiedene Formen von Informationen, Bildern und/oder Objekten übermitteln. Beispielsweise können solche Projektionen eine visuelle Überlagerung für eine Anwendung für mobile erweiterte Realität (MAR) sein. Unter der Steuerung einer oder mehrerer Software-Anwendungen 616 kann die Plattform 602 auf der Anzeigevorrichtung 620 eine Anwenderschnittstelle 622 anzeigen.
  • In verschiedenen Implementierungen können Inhaltsversorgungsvorrichtung(en) 630 durch irgendeinen nationalen, internationalen oder unabhängigen Dienst gehostet und somit für die Plattform 602 beispielsweise über das Internet zugänglich sein. Inhaltsversorgungsvorrichtung(en) 630 können mit der Plattform 602 und/oder der Anzeigevorrichtung 620 gekoppelt sein. Die Plattform 602 und/oder die Inhaltsversorgungsvorrichtung(en) 630 können mit einem Netz 660 gekoppelt sein, um Medieninformationen zu und von dem Netz 660 zu kommunizieren (z. B. zu senden und/oder zu empfangen). Inhaltszustellungsvorrichtung(en) 640 können ebenfalls mit der Plattform 602 und/oder der Anzeigevorrichtung 620 gekoppelt sein.
  • Die Bildsensoren 619 können irgendwelche geeigneten Bildsensoren enthalten, die Bilddaten basierend auf einer Szene bereitstellen können. Beispielsweise können die Bildsensoren 619 einen auf einer ladungsgekoppelten Halbleitervorrichtung (CCD) basierenden Sensor, einen auf komplementärem Metalloxidhalbleiter (CMOS) basierenden Sensor, einen auf N-Typ-Metalloxidhalbleiter (NMOS) basierenden Sensor oder dergleichen enthalten. Beispielsweise können die Bildsensoren 619 irgendeine Vorrichtung enthalten, die Informationen einer Szene detektieren kann, um Bilddaten zu erzeugen.
  • In verschiedenen Implementierungen können die Inhaltsversorgungsvorrichtung(en) 630 eine Kabelfernseh-Box, einen Personalcomputer, ein Netz, ein Telefon, über das Internet aktivierte Vorrichtungen oder Geräte, die zum Zustellen digitaler Informationen und/oder Inhalt fähig sind, und irgendeine andere ähnliche Vorrichtung, die zum unidirektionalen oder bidirektionalen Kommunizieren von Inhalt zwischen Inhaltsanbietern und der Plattform 602 und/oder der Anzeigevorrichtung 620 über das Netz 660 oder direkt fähig sind, enthalten. Es ist zu verstehen, dass der Inhalt unidirektional und/oder bidirektional zu und von irgendeiner der Komponenten im System 600 und einem Inhaltsanbieter über das Netz 660 kommuniziert werden kann. Beispiele für Inhalt können irgendwelche Medieninformationen enthalten, die beispielsweise Video, Musik, medizinische oder Spielinformationen und so weiter enthalten.
  • Inhaltsversorgungsvorrichtung(en) 630 können Inhalt wie z. B. Kabelfernsehprogramme empfangen, die Medieninformationen, digitale Informationen und/oder anderen Inhalt enthalten. Beispiele für Inhaltsanbieter können irgendwelche Kabel- oder Satellitenfernsehen- oder Radio- oder Internet-Inhaltsanbieter enthalten. Die bereitgestellten Beispiele sollen die Implementierungen in Übereinstimmung mit der vorliegenden Offenbarung in keiner Weise einschränken.
  • In verschiedenen Implementierungen kann die Plattform 602 Steuersignale von der Navigationssteuereinheit 650, die ein oder mehrere Navigationsmerkmale aufweist, empfangen. Die Navigationsmerkmale der Navigationssteuereinheit 650 können verwendet werden, um beispielsweise mit der Anwenderschnittstelle 622 zusammenzuwirken. In verschiedenen Ausführungsformen kann die Navigationssteuereinheit 650 eine Zeigevorrichtung sein, die eine Computer-Hardware-Komponente (insbesondere eine Schnittstellenvorrichtung für einen Menschen) sein kann, die es einem Anwender ermöglicht, räumliche (z. B. kontinuierliche und mehrdimensionale) Daten in einen Computer einzugeben. Viele Systeme wie z. B. grafische Anwenderschnittstellen (GUI) und Fernsehgeräte und Monitore ermöglichen es dem Anwender, den Computer oder das Fernsehgerät unter Verwendung physikalischer Gesten zu steuern und Daten in ihn/es einzugeben.
  • Bewegungen der Navigationsmerkmale der Navigationssteuereinheit 650 können auf einer Anzeigevorrichtung (z. B. der Anzeigevorrichtung 620) durch Bewegungen einer Zeigevorrichtung, eines Cursors, eines Fokusrings oder anderer sichtbarer Kennzeichen, die auf der Anzeigevorrichtung angezeigt werden, repliziert werden, Beispielsweise können unter der Steuerung von Software-Anwendungen 616 die Navigationsmerkmale, die sich auf der Navigationssteuereinheit 650 befinden, auf virtuelle Navigationsmerkmale abgebildet werden, die beispielsweise auf der Anwenderschnittstelle 622 angezeigt werden. In verschiedenen Ausführungsformen kann die Navigationssteuereinheit 650 keine separate Komponente sein, sondern kann in die Plattform 602 und/oder die Anzeigevorrichtung 620 integriert sein. Die vorliegende Offenbarung ist jedoch nicht auf die Elemente oder den Kontext, die hier gezeigt oder beschrieben sind, beschränkt.
  • In verschiedenen Implementierungen können Treiber (nicht gezeigt) Technologie enthalten, um Anwendern zu ermöglichen, die Plattform 602 beispielsweise wie ein Fernsehgerät mit der Berührung einer Taste nach dem anfänglichen Hochlaufen sofort an und abzuschalten, falls aktiviert. Die Programmlogik kann es der Plattform 602 ermöglichen, Inhalt zu Medienadaptern oder anderen Inhaltsversorgungsvorrichtung(en) 630 oder Inhaltszustellungsvorrichtung(en) 640 zu streamen, selbst wenn die Plattform „abgeschaltet“ ist. Zusätzlich kann der Chipsatz 605 beispielsweise Hardware und/oder Software-Unterstützung für 5.1-Raumklang-Audio und/oder hochauflösendes 7.1-Raumklang-Audio enthalten. Treiber können einen Grafiktreiber für die integrierten Grafikplattformen enthalten. In verschiedenen Ausführungsformen können die Grafiktreiber eine „Peripheral Component Interconnect“- (PCI-) Express-Grafikkarte umfassen.
  • In verschiedenen Implementierungen können eine oder mehrere der im System 600 gezeigten Komponenten integriert sein. Beispielsweise können die Plattform 602 und Inhaltsversorgungsvorrichtung(en) 630 integriert sein, oder die Plattform 602 und Inhaltszustellungsvorrichtung(en) 640 können integriert sein, oder die Plattform 602, Inhaltsversorgungsvorrichtung(en) 630 und Inhaltszustellungsvorrichtung(en) 640 können beispielsweise integriert sein. In verschiedenen Ausführungsformen können die Plattform 602 und die Anzeigevorrichtung 620 eine integrierte Einheit sein. Beispielsweise können die Anzeigevorrichtung 620 und Inhaltsversorgungsvorrichtung(en) 630 integriert sein, oder die Anzeigevorrichtung 620 und die Inhaltszustellungsvorrichtung(en) 640 können integriert sein. Diese Beispiele sollen die vorliegende Offenbarung nicht einschränken.
  • In verschiedenen Ausführungsformen kann das System 600 als ein drahtloses System, ein drahtgebundenes System oder eine Kombination aus beidem implementiert sein. Wenn es als ein drahtloses System implementiert ist, kann das System 600 Komponenten und Schnittstellen enthalten, die zum Kommunizieren über ein drahtloses gemeinsam verwendetes Medium geeignet sind, wie z. B. eine oder mehrere Antennen, Sender, Empfänger, Sender/Empfänger, Verstärker, Filter, Steuerlogik und so weiter. Ein Beispiel für drahtlose gemeinsam verwendete Medien kann Abschnitte eines drahtlosen Spektrums wie z. B. des HF-Spektrums und so weiter enthalten. Wenn es als ein drahtgebundenes System implementiert ist, kann das System 600 Komponenten und Schnittstellen enthalten, die zum Kommunizieren über drahtgebundene Kommunikationsmedien geeignet sind, wie z. B. Eingabe/Ausgabe- (I/O-) Adapter, physikalische Verbindungselemente zum Verbinden des I/O-Adapters mit einem entsprechenden drahtgebundenen Kommunikationsmedium, eine Netzschnittstellenkarte (NIC), eine Plattensteuereinheit, eine Videosteuereinheit, eine Audiosteuereinheit und dergleichen. Beispiele für drahtgebundene Kommunikationsmedien können einen Draht, ein Kabel, Metallleitungen, eine Leiterplatte (PCB), eine Rückwandplatine, ein Vermittlungs-Fabric, Halbleitermaterial, Zweidrahtleitung, Koaxialkabel, Lichtwellenleiter und so weiter enthalten.
  • Die Plattform 602 kann einen oder mehrere logische oder physikalische Kanäle aufbauen, um Informationen zu kommunizieren. Die Informationen können Medieninformationen und Steuerinformationen enthalten. Medieninformationen können sich auf irgendwelche Daten beziehen, die für den Anwender bestimmten Inhalt repräsentieren. Beispiele für Inhalt können beispielsweise Daten aus einer Sprachkonversation, Videokonferenz, Streaming-Video, elektronische Post- („Email“-) Nachricht, Sprachnachricht, alphanumerische Symbole, Grafik, Bild, Video, Text und so weiter enthalten. Daten aus einer Sprachkonversation können beispielsweise Sprachinformationen, Stilleperioden, Hintergrundgeräusche, Beruhigungsgeräusche, Töne und so weiter enthalten. Steuerinformationen können sich auf irgendwelche Daten beziehen, die Befehle, Anweisungen oder Steuerwörter repräsentieren, die für ein automatisches System bestimmt sind. Beispielsweise können Steuerinformationen verwendet werden, um Medieninformationen durch ein System zu lenken oder einen Knoten anzuweisen, die Medieninformationen auf eine vorbestimmte Weise zu verarbeiten. Die Ausführungsformen sind jedoch nicht auf die Elemente oder den Kontext, die/der in 9 gezeigt oder beschrieben sind/ist, beschränkt.
  • Wie vorstehend beschrieben kann das System 600 in variierenden physikalischen Arten oder Formfaktoren verwirklicht sein. 10 stellt eine beispielhafte Vorrichtung 700 mit kleinem Formfaktor dar, die in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung ausgelegt ist. In einigen Beispielen kann das System 600 über die Vorrichtung 700 implementiert sein. In anderen Beispielen können andere Systeme, Komponenten oder Module, die hier diskutiert sind, oder Abschnitte davon über die Vorrichtung 700 implementiert sein. In verschiedenen Ausführungsformen kann beispielsweise die Vorrichtung 700 als eine mobile Berechnungsvorrichtung, die Drahtlosfähigkeiten aufweist, implementiert sein. Eine mobile Berechnungsvorrichtung kann sich auf irgendeine Vorrichtung beziehen, die ein Verarbeitungssystem und eine mobile Stromquelle oder -versorgung aufweist, wie beispielsweise eine oder mehrere Batterien.
  • Beispiele für eine mobile Berechnungsvorrichtung können einen Personalcomputer (PC), einen Laptop-Computer, einen Ultra-Laptop-Computer, ein Tablet, ein Touchpad, einen tragbaren Computer, einen Hand-Computer, einen Palmtop-Computer, einen persönlichen digitalen Assistenten (PDA), ein Mobiltelefon, eine Kombination Mobiltelefon/PDA, eine intelligente Vorrichtung (z. B. ein Smartphone, ein Tablet oder ein intelligentes mobiles Fernsehgerät), eine Vorrichtung für mobiles Internet (MID), eine Nachrichtenübermittlungsvorrichtung, eine Datenkommunikationsvorrichtung, Kameras (z. B. Autofokuskameras, Super-Zoom-Kameras, digitale Einzelobjektiv-Reflex- (DSLR-) Kameras) und so weiter enthalten .
  • Beispiele für eine mobile Berechnungsvorrichtung können außerdem Computer enthalten, die ausgelegt sind, um durch ein Kraftfahrzeug oder einen Roboter implementiert zu sein oder durch eine Person getragen zu werden, wie z. B. Handgelenkcomputer, Fingercomputer, Ringcomputer, Brillencomputer, Gürtelclipcomputer, Armbandcomputer, Schuhcomputer, Kleidungscomputer und andere tragbare Computer. In verschiedenen Ausführungsformen kann beispielsweise eine mobile Berechnungsvorrichtung als ein Smartphone implementiert sein, das zum Ausführen von sowohl Computeranwendungen als auch Sprachkommunikation und/oder Datenkommunikation fähig ist. Obwohl einige Ausführungsformen mit einer mobilen Berechnungsvorrichtung, die als ein Smartphone implementiert ist, als Beispiel beschrieben sein können, ist zu verstehen, dass andere Ausführungsformen auch unter Verwendung anderer drahtloser mobiler Berechnungsvorrichtungen implementiert sein können. Die Ausführungsformen sind in diesem Kontext nicht eingeschränkt.
  • Wie in 10 gezeigt ist, kann die Vorrichtung 700 ein Gehäuse mit einer Vorderseite 701 und einer Rückseite 702 enthalten. Die Vorrichtung 700 enthält eine Anzeigevorrichtung 704, eine Eingabe/Ausgabe- (I/O-) Vorrichtung 706, eine Farbkamera 721, eine Farbkamera 722 und eine integrierte Antenne 708.In einigen Ausführungsformen erlangen die Farbkamera 721 und die Farbkamera 722 ebene Bilder, wie hier diskutiert. In einigen Ausführungsformen enthält die Vorrichtung 700 die Farbkamera 721 und 722 nicht, und die Vorrichtung 700 erlangt eingegebene Bilddaten (z. B. irgendwelche hier diskutierten eingegebenen Bilddaten) von einer weiteren Vorrichtung. Die Vorrichtung 700 kann außerdem Navigationsmerkmale 712 enthalten. Die I/O-Vorrichtung 706 kann irgendeine geeignete I/O-Vorrichtung zum Eingeben von Informationen in eine mobile Berechnungsvorrichtung enthalten. Beispiele für die I/O-Vorrichtung 706 können eine alphanumerische Tastatur, ein numerisches Tastenfeld, ein Touchpad, Eingabetasten, Knöpfe, Schalter, Mikrofone, Lautsprecher, Spracherkennungsvorrichtung und -software und so weiter enthalten. Informationen können auch mit Hilfe eines Mikrofons (nicht gezeigt) in die Vorrichtung 700 eingegeben werden oder können durch eine Spracherkennungsvorrichtung digitalisiert werden. Wie gezeigt kann die Vorrichtung 700 Farbkameras 721, 722 und einen Blitz 710, die in die Rückseite 702 (oder an anderer Stelle) der Vorrichtung 700 integriert sind, enthalten. In anderen Beispielen können die Farbkameras 721, 722 und der Blitz 710 in die Vorderseite der Vorrichtung 700 integriert sein, oder sowohl vorderseitige als auch rückseitige Gruppen von Kameras können vorgesehen sein. Die Farbkameras 721, 722 und ein Blitz 710 können Komponenten eines Kameramoduls sein, um Farbbilddaten mit IR-Texturkorrektur zu erzeugen, die in ein Bild oder Streaming-Video verarbeitet werden können, das beispielsweise zu der Anzeigevorrichtung 704 ausgegeben wird oder entfernt von der Vorrichtung 700 über die Antenne 708 kommuniziert wird.
  • Das System 600 und/oder die Vorrichtung 700 können ein oder mehrere Merkmale oder Aspekte der verschiedenen hier beschriebenen Ausführungsformen enthalten, einschließlich derjenigen, die in den folgenden Beispielen beschrieben sind.
  • Zusätzliche Anmerkungen und Beispiele
  • Beispiel 1 enthält ein elektronisches System, das Speicher zum Speichern mehrerer Ansichten, einen Prozessor, der mit dem Speicher kommunikationstechnisch gekoppelt ist, und Logik, die mit dem Prozessor gekoppelt ist, umfasst, wobei die Logik zum Umordnen der mehreren Ansichten basierend auf einem oder mehreren aus auf relative Position und Orientierung bezogenen Informationen für die mehreren Ansichten, Ausführen von zwei oder mehr Ansichtssynthesedurchgängen für zwei oder mehr aus den mehreren Ansichten, um zwei oder mehr Zwischenansichtssyntheseergebnisse bereitzustellen, und Maskieren und Zusammenführen der zwei oder mehr Zwischenansichtssyntheseergebnisse, um ein endgültiges Ansichtssyntheseergebnis bereitzustellen, dient.
  • Beispiel 2 enthält das System von Anspruch 1, wobei die Logik ferner zum Umordnen der mehreren Ansichten basierend auf einem Abstand zwischen jeder Ansicht und einer gewünschten synthetisierten Ansicht dient.
  • Beispiel 3 enthält das System von Anspruch 2, wobei die Logik ferner zum Bestimmen von Informationen über überlappte Szenenabdeckung zwischen den mehreren Szenen und der gewünschten synthetisierten Ansicht basierend auf der einen oder den mehreren auf relative Position und Orientierung bezogenen Informationen und Umordnen der mehreren Ansichten in einer Reihenfolge von einer relativ größten Überlappung zu einer relativ kleinsten Überlappung basierend auf den bestimmten Informationen über überlappte Szenenabdeckung dient.
  • Beispiel 4 enthält das System eines der Ansprüche 1 bis 3, wobei die Logik ferner zum Ausführen von zwei oder mehr der Ansichtssynthesedurchgänge parallel zueinander dient.
  • Beispiel 5 enthält das System von Anspruch 4, wobei die Logik ferner zum Bestimmen eines oder mehrerer aus einer Anzahl von Durchgängen und einer Anzahl von Ansichten für die ausgeführte Ansichtssynthese basierend auf einem oder mehreren durch einen Anwender bereitgestellten Parametern dient.
  • Beispiel 6 enthält das System nach einem der Ansprüche 1 bis 5, wobei die Logik ferner zum Erzeugen einer Binärmaske zum Identifizieren von Löchern in einer Zwischenansicht dient.
  • Beispiel 7 enthält das System von Anspruch 6, wobei die Logik ferner zum Zusammenführen von zwei Zwischenansichtssyntheseergebnissen basierend auf einer Überlappung zwischen den zwei Zwischenansichtssyntheseergebnissen und der Binärmaske dient.
  • Beispiel 8 enthält ein Verfahren zum Verarbeiten eines Bilds, das Umordnen mehrerer Ansichten basierend auf einem oder mehreren aus auf die relative Position und Orientierung bezogenen Informationen für die mehreren Ansichten, Ausführen von zwei oder mehr Ansichtssynthesedurchgängen für zwei oder mehr aus den mehreren Ansichten, um zwei oder mehr Zwischenansichtssyntheseergebnisse bereitzustellen, und Maskieren und Zusammenführen der zwei oder mehr Zwischenansichtssyntheseergebnisse, um ein endgültiges Ansichtssyntheseergebnis bereitzustellen, umfasst.
  • Beispiel 9 enthält das Verfahren von Anspruch 8, das ferner Umordnen der mehreren Ansichten basierend auf einem Abstand zwischen jeder Ansicht und einer gewünschten synthetisierten Ansicht umfasst.
  • Beispiel 10 enthält das Verfahren von Anspruch 9, das ferner Bestimmen Informationen über überlappte Szenenabdeckung für die mehreren Szenen basierend auf der einen oder den mehreren von auf relative Position und Orientierung bezogenen Informationen und Umordnen der mehreren Ansichten in einer Reihenfolge von einer relativ größten Überlappung zu einer relativ kleinsten Überlappung basierend auf den bestimmten Informationen über überlappte Szenenabdeckung umfasst.
  • Beispiel 11 enthält das Verfahren eines der Ansprüche 8 bis 10, das ferner Ausführen von zwei oder mehr der Ansichtssynthesedurchgänge parallel zueinander umfasst.
  • Beispiel 12 enthält das Verfahren von Anspruch 11, das ferner Bestimmen eines oder mehrerer aus einer Anzahl von Durchgängen und einer Anzahl von Ansichten für die ausgeführte Ansichtssynthese basierend auf einem oder mehreren durch einen Anwender bereitgestellten Parametern umfasst.
  • Beispiel 13 enthält das Verfahren eines der Ansprüche 8 bis 12, das ferner Erzeugen einer Binärmaske zum Identifizieren von Löchern in einer Zwischenansicht umfasst.
  • Beispiel 14 enthält das Verfahren von Anspruch 13, das ferner Zusammenführen von zwei Zwischenansichtssyntheseergebnissen basierend auf einer Überlappung zwischen den zwei Zwischenansichtssyntheseergebnissen und der Binärmaske umfasst.
  • Beispiel 15 enthält wenigstens ein maschinenlesbares Medium, das mehrere Anweisungen umfasst, die in Reaktion darauf, dass sie auf einer Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung zum Umordnen mehrerer Ansichten basierend auf einer oder mehreren aus auf relative Position und Orientierung bezogenen Informationen für die mehreren Ansichten, Ausführen von zwei oder mehr Ansichtssynthesedurchgängen für zwei oder mehr aus den mehreren Ansichten, um zwei oder mehr Zwischenansichtssyntheseergebnisse bereitzustellen, und Maskieren und Zusammenführen der zwei oder mehr Zwischenansichtssyntheseergebnisse, um ein endgültiges Ansichtssyntheseergebnis bereitzustellen, veranlassen.
  • Beispiel 16 enthält das maschinenlesbare Medium von Anspruch 15, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf der Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung zum Umordnen der mehreren Ansichten basierend auf einem Abstand zwischen jeder Ansicht und einer gewünschten synthetisierten Ansicht veranlassen.
  • Beispiel 17 enthält das maschinenlesbare Medium von Anspruch 16, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf der Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung zum Bestimmen von Informationen über überlappte Szenenabdeckung für die mehreren Szenen basierend auf der einen oder den mehreren auf relative Position und Orientierung bezogenen Informationen und Umordnen der mehreren Ansichten in einer Reihenfolge von einer relativ größten Überlappung zu einer relativ kleinsten Überlappung basierend auf den bestimmten Informationen über überlappte Szenenabdeckung veranlassen.
  • Beispiel 18 enthält das maschinenlesbare Medium eines der Ansprüche 15 bis 17, das mehrere weitere Anweisungen umfasst, die dann in Reaktion darauf, dass sie auf der Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung zum Ausführen von zwei oder mehr der Ansichtssynthesedurchgänge parallel zueinander veranlassen.
  • Beispiel 19 enthält das maschinenlesbare Medium von Anspruch 18, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf der Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung zum Bestimmen eines oder mehrerer aus einer Anzahl von Durchgängen und einer Anzahl von Ansichten für die ausgeführte Ansichtssynthese basierend auf einem oder mehreren durch einen Anwender bereitgestellten Parameter veranlassen.
  • Beispiel 20 enthält das maschinenlesbare Medium eines der Ansprüche 15 bis 19, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf der Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung zum Erzeugen einer Binärmaske zum Identifizieren von Löchern in einer Zwischenansicht veranlassen.
  • Beispiel 21 enthält das maschinenlesbare Medium von Anspruch 20, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf der Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung zum Zusammenführen von zwei Zwischenansichtssyntheseergebnissen basierend auf einer Überlappung zwischen den zwei Zwischenansichtssyntheseergebnissen und der Binärmaske veranlassen.
  • Beispiel 22 enthält eine Bildverarbeitungseinrichtung, die ein oder mehrere Substrate und Logik, die mit dem einen oder den mehreren Substraten gekoppelt ist, umfasst, wobei die Logik zum Umordnen mehrerer Ansichten basierend auf einer oder mehreren auf die relative Position und Orientierung bezogenen Informationen für die mehreren Ansichten, Ausführen von zwei oder mehr Ansichtssynthesedurchgängen für zwei oder mehr Ansichten, um zwei oder mehr Zwischenansichtssyntheseergebnisse bereitzustellen, und Maskieren und Zusammenführen der zwei oder mehr Zwischenansichtssyntheseergebnisse, um ein endgültiges Ansichtssyntheseergebnis bereitzustellen, dient.
  • Beispiel 23 enthält die Einrichtung von Anspruch 22, wobei die Logik ferner zum Umordnen der mehreren Ansichten basierend auf einem Abstand zwischen jeder Ansicht und einer gewünschten synthetisierten Ansicht dient.
  • Beispiel 24 enthält die Einrichtung von Anspruch 23, wobei die Logik ferner zum Bestimmen Informationen über überlappte Szenenabdeckung für die mehreren Szenen basierend auf der einen oder mehreren auf relative Position und Orientierung bezogenen Informationen und Umordnen der mehreren Ansichten in einer Reihenfolge von einer relativ größten Überlappung zu einer relativ kleinsten Überlappung basierend auf den bestimmten Informationen über überlappte Szenenabdeckung dient.
  • Beispiel 25 enthält die Einrichtung eines der Ansprüche 22 bis 24, wobei die Logik ferner zum Ausführen von zwei oder mehr der Ansichtssynthesedurchgänge parallel zueinander dient.
  • Beispiel 26 enthält die Einrichtung von Anspruch 25, wobei die Logik ferner zum Bestimmen eines oder mehrerer aus einer Anzahl von Durchgängen und einer Anzahl von Ansichten für die ausgeführte Ansichtssynthese basierend auf einem oder mehreren durch einen Anwender bereitgestellten Parametern dient.
  • Beispiel 27 enthält die Einrichtung eines der Ansprüche 22 bis 26, wobei die Logik ferner zum Erzeugen einer Binärmaske zum Identifizieren von Löchern in einer Zwischenansicht dient.
  • Beispiel 28 enthält die Einrichtung von Anspruch 27, wobei die Logik ferner zum Zusammenführen von zwei Zwischenansichtssyntheseergebnissen basierend auf einer Überlappung zwischen den zwei Zwischenansichtssyntheseergebnissen und der Binärmaske dient.
  • Beispiel 29 enthält eine Bildverarbeitungseinrichtung, die Mittel zum Umordnen mehrerer Ansichten basierend auf einer oder mehreren aus auf relative Position und Orientierung bezogenen Informationen für die mehreren Ansichten, Mittel zum Ausführen von zwei oder mehr Ansichtssynthesedurchgängen für zwei oder mehr aus den mehreren Ansichten, um zwei oder mehr Zwischenansichtssyntheseergebnisse bereitzustellen, und Mittel zum Maskieren und Zusammenführen der zwei oder mehr Zwischenansichtssyntheseergebnisse, um ein endgültiges Ansichtssyntheseergebnis bereitzustellen, umfasst.
  • Beispiel 30 enthält die Einrichtung von Anspruch 29, die ferner Mittel zum Umordnen der mehreren Ansichten basierend auf einem Abstand zwischen jeder Ansicht und einer gewünschten synthetisierten Ansicht umfasst.
  • Beispiel 31 enthält die Einrichtung von Anspruch 30, die ferner Mittel zum Bestimmen Informationen über überlappte Szenenabdeckung für die mehreren Szenen basierend auf der einen oder den mehreren von auf relative Position und Orientierung bezogenen Informationen und Mittel zum Umordnen der mehreren Ansichten in einer Reihenfolge von einer relativ größten Überlappung zu einer relativ kleinsten Überlappung basierend auf den bestimmten Informationen über überlappte Szenenabdeckung umfasst.
  • Beispiel 32 enthält die Einrichtung eines der Ansprüche 29 bis 31, die ferner Mittel zum Ausführen von zwei oder mehr der Ansichtssynthesedurchgänge parallel zueinander umfasst.
  • Beispiel 33 enthält die Einrichtung von Anspruch 32, die ferner Mittel zum Bestimmen eines oder mehrerer aus einer Anzahl von Durchgängen und einer Anzahl von Ansichten für die ausgeführte Ansichtssynthese basierend auf einem oder mehreren durch einen Anwender bereitgestellten Parametern umfasst.
  • Beispiel 34 enthält die Einrichtung eines der Ansprüche 29 bis 33, die ferner Mittel zum Erzeugen einer Binärmaske zum Identifizieren von Löchern in einer Zwischenansicht umfasst.
  • Beispiel 35 enthält die Einrichtung von Anspruch 34, die ferner Mittel zum Zusammenführen von zwei Zwischenansichtssyntheseergebnissen basierend auf einer Überlappung zwischen den zwei Zwischenansichtssyntheseergebnissen und der Binärmaske umfasst.
  • Beispiel 36 enthält ein elektronisches System, das Speicher zum Speichern eines oder mehrerer Gebiete aus mehreren Ansichten, einen Prozessor, der mit dem Speicher kommunikationstechnisch gekoppelt ist, und Logik, die mit dem Prozessor gekoppelt ist, umfasst, wobei die Logik zum Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten basierend auf einer oder mehreren auf relative Position und Orientierung bezogenen Informationen für eine gewünschte synthetisierte Ansicht, Auswählen einer jeweiligen Gruppe von Ansichten, die für jeden aus zwei oder mehr Ansichtssynthesedurchgängen zu verwenden sind, Ausführen der zwei oder mehr Ansichtssynthesedurchgänge für die gewünschte synthetisierte Ansicht unter Verwendung nur von Gebieten, die zu der ausgewählten Gruppe von Ansichten für jeden Durchgang gehören, um zwei oder mehr Zwischenansichtssyntheseergebnisse bereitzustellen, und Maskieren und Zusammenführen der zwei oder mehr Zwischenansichtssyntheseergebnisse, um ein endgültiges Ansichtssyntheseergebnis bereitzustellen, dient.
  • Beispiel 37 enthält das System von Beispiel 36, wobei die Logik ferner zum Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten basierend auf einem Abstand zwischen jeder Ansicht und der gewünschten synthetisierten Ansicht dient.
  • Beispiel 38 enthält das System von Beispiel 37, wobei die Logik ferner zum Bestimmen von Informationen über überlappte Szenenabdeckung zwischen mehreren Ansichten und der gewünschten synthetisierten Ansicht basierend auf der einen oder den mehreren auf die relative Position und Orientierung bezogenen Informationen und Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten in einer Reihenfolge von einer relativ größten Überlappung zu einer relativ kleinsten Überlappung basierend auf den bestimmen Informationen über die überlappte Szenenabdeckung zwischen den mehreren Ansichten und der gewünschten synthetisierten Ansicht dient.
  • Beispiel 39 enthält das System eines der Beispiele 36 bis 38, wobei die Logik ferner zum Ausführen von zwei oder mehr der Ansichtssynthesedurchgänge parallel zueinander dient.
  • Beispiel 40 enthält das System von Beispiel 39, wobei die Logik ferner zum Bestimmen eines oder mehrerer aus einer Anzahl von Durchgängen und einer Anzahl von Ansichten für die ausgeführte Ansichtssynthese basierend auf einem oder mehreren durch einen Anwender bereitgestellten Parametern dient.
  • Beispiel 41 enthält das System eines der Beispiele 36 bis 40, wobei die Logik ferner zum Erzeugen einer Binärmaske zum Identifizieren fehlender Informationen in einer Zwischenansicht dient.
  • Beispiel 42 enthält das System von Beispiel 41, wobei die Logik ferner zum Zusammenführen von zwei Zwischenansichtssyntheseergebnissen basierend auf der Binärmaske, so dass fehlende Informationen aus der synthetisierten Zwischenansicht eines höheren Durchgangs genommen werden und Informationen über kohärente Synthese aus der synthetisierten Zwischenansicht eines tieferen Durchgangs genommen werden, und Wiederholen des Zusammenführens nacheinander für jedes Ergebnis einer synthetisierten Zwischenansicht dient.
  • Beispiel 43 enthält ein Verfahren zum Verarbeiten eines Bilds, das Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten basierend auf einer oder mehreren auf relative Position und Orientierung bezogenen Informationen für eine gewünschte synthetisierte Ansicht, Auswählen einer jeweiligen Gruppe von Ansichten, die für jeden aus zwei oder mehr Ansichtssynthesedurchgängen zu verwenden sind, Ausführen der zwei oder mehr Ansichtssynthesedurchgänge für die gewünschte synthetisierte Ansicht unter Verwendung nur von Gebieten, die zu der ausgewählten Gruppe von Ansichten für jeden Durchgang gehören, um zwei oder mehr Zwischenansichtssyntheseergebnisse bereitzustellen, und Maskieren und Zusammenführen der zwei oder mehr Zwischenansichtssyntheseergebnisse, um ein endgültiges Ansichtssyntheseergebnis bereitzustellen, umfasst.
  • Beispiel 44 enthält das Verfahren von Beispiel 43, das ferner Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten basierend auf einem Abstand zwischen jeder Ansicht und der gewünschten synthetisierten Ansicht umfasst.
  • Beispiel 45 enthält das Verfahren von Beispiel 44, das ferner Bestimmen von Informationen über überlappte Szenenabdeckung zwischen mehreren Ansichten und der gewünschten synthetisierten Ansicht basierend auf der einen oder den mehreren auf die relative Position und Orientierung bezogenen Informationen und Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten in einer Reihenfolge von einer relativ größten Überlappung zu einer relativ kleinsten Überlappung basierend auf den bestimmen Informationen über die überlappte Szenenabdeckung zwischen den mehreren Ansichten und der gewünschten synthetisierten Ansicht umfasst.
  • Beispiel 46 enthält das Verfahren eines der Beispiele 43 bis 45, das ferner Ausführen von zwei oder mehr der Ansichtssynthesedurchgänge parallel zueinander umfasst.
  • Beispiel 47 enthält das Verfahren von Beispiel 46, das ferner Bestimmen eines oder mehrerer aus einer Anzahl von Durchgängen und einer Anzahl von Ansichten für die ausgeführte Ansichtssynthese basierend auf einem oder mehreren durch einen Anwender bereitgestellten Parametern umfasst.
  • Beispiel 48 enthält das Verfahren eines der Beispiele 43 bis 47, das ferner Erzeugen einer Binärmaske zum Identifizieren fehlender Informationen in einer Zwischenansicht umfasst.
  • Beispiel 49 enthält das Verfahren von Beispiel 48, das ferner Zusammenführen von zwei Zwischenansichtssyntheseergebnissen basierend auf der Binärmaske, so dass fehlende Informationen aus der synthetisierten Zwischenansicht eines höheren Durchgangs genommen werden und Informationen über kohärente Synthese aus der synthetisierten Zwischenansicht eines tieferen Durchgangs genommen werden, und Wiederholen des Zusammenführens nacheinander für jedes Ergebnis einer synthetisierten Zwischenansicht umfasst.
  • Beispiel 50 enthält wenigstens ein maschinenlesbares Medium, das mehrere Anweisungen umfasst, die in Reaktion darauf, dass sie auf einer Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung zum Umordnen eines oder mehrerer Gebiete aus mehreren Ansichten basierend auf einer oder mehreren auf relative Position und Orientierung bezogenen Informationen für eine gewünschte synthetisierte Ansicht, Auswählen einer jeweiligen Gruppe von Ansichten, die für jeden aus zwei oder mehr Ansichtssynthesedurchgängen zu verwenden sind, Ausführen der zwei oder mehr Ansichtssynthesedurchgänge für die gewünschte synthetisierte Ansicht unter Verwendung nur von Gebieten, die zu der ausgewählten Gruppe von Ansichten für jeden Durchgang gehören, um zwei oder mehr Zwischenansichtssyntheseergebnisse bereitzustellen, und Maskieren und Zusammenführen der zwei oder mehr Zwischenansichtssyntheseergebnisse, um ein endgültiges Ansichtssyntheseergebnis bereitzustellen, veranlassen.
  • Beispiel 51 enthält das maschinenlesbare Medium von Beispiel 50, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf der Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung zum Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten basierend auf einem Abstand zwischen jeder Ansicht und der gewünschten synthetisierten Ansicht veranlassen.
  • Beispiel 52 enthält das maschinenlesbare Medium von Beispiel 51, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf der Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung zum Bestimmen von Informationen über überlappte Szenenabdeckung zwischen den mehreren Ansichten und der gewünschten synthetisierten Ansicht basierend auf der einen oder den mehreren auf die relative Position und Orientierung bezogenen Informationen und Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten in einer Reihenfolge von einer relativ größten Überlappung zu einer relativ kleinsten Überlappung basierend auf den bestimmen Informationen über die überlappte Szenenabdeckung zwischen den mehreren Ansichten und der gewünschten synthetisierten Ansicht veranlassen.
  • Beispiel 53 enthält das maschinenlesbare Medium eines der Beispiels 50 bis 52, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf der Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung zum Ausführen von zwei oder mehr der Ansichtssynthesedurchgänge parallel zueinander veranlassen.
  • Beispiel 54 enthält das maschinenlesbare Medium von Beispiel 53, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf der Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung zum Bestimmen eines oder mehrerer aus einer Anzahl von Durchgängen und einer Anzahl von Ansichten für die ausgeführte Ansichtssynthese basierend auf einem oder mehreren durch einen Anwender bereitgestellten Parametern veranlassen.
  • Beispiel 55 enthält das maschinenlesbare Medium eines der Beispiels 50 bis 54, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf der Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung zum Erzeugen einer Binärmaske zum Identifizieren fehlender Informationen in einer Zwischenansicht veranlassen.
  • Beispiel 56 enthält das maschinenlesbare Medium von Beispiel 55, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf der Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung zum Zusammenführen von zwei Zwischenansichtssyntheseergebnissen basierend auf der Binärmaske, so dass fehlende Informationen aus der synthetisierten Zwischenansicht eines höheren Durchgangs genommen werden und Informationen über kohärente Synthese aus der synthetisierten Zwischenansicht eines tieferen Durchgangs genommen werden, und Wiederholen des Zusammenführens nacheinander für jedes Ergebnis einer synthetisierten Zwischenansicht veranlassen.
  • Beispiel 57 enthält eine elektronische Einrichtung, die ein Substrat und Logik, die mit dem Substrat gekoppelt ist, umfasst, wobei die Logik zum Umordnen eines oder mehrerer Gebiete aus den mehreren Ansichten basierend auf einer oder mehreren auf relative Position und Orientierung bezogenen Informationen für eine gewünschte synthetisierte Ansicht, Auswählen einer jeweiligen Gruppe von Ansichten, die für jeden aus zwei oder mehr Ansichtssynthesedurchgängen zu verwenden sind, Ausführen der zwei oder mehr Ansichtssynthesedurchgänge für die gewünschte synthetisierte Ansicht unter Verwendung nur von Gebieten, die zu der ausgewählten Gruppe von Ansichten für jeden Durchgang gehören, um zwei oder mehr Zwischenansichtssyntheseergebnisse bereitzustellen, und Maskieren und Zusammenführen der zwei oder mehr Zwischenansichtssyntheseergebnisse, um ein endgültiges Ansichtssyntheseergebnis bereitzustellen, dient.
  • Beispiel 58 enthält die Einrichtung von Beispiel 57, wobei die Logik ferner zum Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten basierend auf einem Abstand zwischen jeder Ansicht und der gewünschten synthetisierten Ansicht dient.
  • Beispiel 59 enthält die Einrichtung von Beispiel 58, wobei die Logik ferner zum Bestimmen von Informationen über überlappte Szenenabdeckung zwischen mehreren Ansichten und der gewünschten synthetisierten Ansicht basierend auf der einen oder den mehreren auf die relative Position und Orientierung bezogenen Informationen und Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten in einer Reihenfolge von einer relativ größten Überlappung zu einer relativ kleinsten Überlappung basierend auf den bestimmen Informationen über die überlappte Szenenabdeckung zwischen den mehreren Ansichten und der gewünschten synthetisierten Ansicht dient.
  • Beispiel 60 enthält die Einrichtung eines der Beispiele 57 bis 59, wobei die Logik ferner zum Ausführen von zwei oder mehr der Ansichtssynthesedurchgänge parallel zueinander dient.
  • Beispiel 61 enthält die Einrichtung von Beispiel 60, wobei die Logik ferner zum Bestimmen eines oder mehrerer aus einer Anzahl von Durchgängen und einer Anzahl von Ansichten für die ausgeführte Ansichtssynthese basierend auf einem oder mehreren durch einen Anwender bereitgestellten Parametern dient.
  • Beispiel 62 enthält die Einrichtung eines der Beispiele 57 bis 61, wobei die Logik ferner zum Erzeugen einer Binärmaske zum Identifizieren fehlender Informationen in einer Zwischenansicht dient.
  • Beispiel 63 enthält die Einrichtung von Beispiel 62, wobei die Logik ferner zum Zusammenführen von zwei Zwischenansichtssyntheseergebnissen basierend auf der Binärmaske, so dass fehlende Informationen aus der synthetisierten Zwischenansicht eines höheren Durchgangs genommen werden und Informationen über kohärente Synthese aus der synthetisierten Zwischenansicht eines tieferen Durchgangs genommen werden, und Wiederholen des Zusammenführens nacheinander für jedes Ergebnis einer synthetisierten Zwischenansicht dient.
  • Beispiel 64 enthält eine Bildverarbeitungseinrichtung, die Mittel zum Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten basierend auf einer oder mehreren auf relative Position und Orientierung bezogenen Informationen für eine gewünschte synthetisierte Ansicht, Mittel zum Auswählen einer jeweiligen Gruppe von Ansichten, die für jeden aus zwei oder mehr Ansichtssynthesedurchgängen zu verwenden sind, Mittel zum Ausführen der zwei oder mehr Ansichtssynthesedurchgänge für die gewünschte synthetisierte Ansicht unter Verwendung nur von Gebieten, die zu der ausgewählten Gruppe von Ansichten für jeden Durchgang gehören, um zwei oder mehr Zwischenansichtssyntheseergebnisse bereitzustellen, und Mittel zum Maskieren und Zusammenführen der zwei oder mehr Zwischenansichtssyntheseergebnisse, um ein endgültiges Ansichtssyntheseergebnis bereitzustellen, umfasst.
  • Beispiel 65 enthält die Einrichtung von Beispiel 64, die ferner Mittel zum Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten basierend auf einem Abstand zwischen jeder Ansicht und der gewünschten synthetisierten Ansicht umfasst.
  • Beispiel 66 enthält die Einrichtung von Beispiel 65, die ferner Mittel zum Bestimmen von Informationen über überlappte Szenenabdeckung zwischen mehreren Ansichten und der gewünschten synthetisierten Ansicht basierend auf der einen oder den mehreren auf die relative Position und Orientierung bezogenen Informationen und Mittel zum Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten in einer Reihenfolge von einer relativ größten Überlappung zu einer relativ kleinsten Überlappung basierend auf den bestimmen Informationen über die überlappte Szenenabdeckung zwischen den mehreren Ansichten und der gewünschten synthetisierten Ansicht umfasst.
  • Beispiel 67 enthält die Einrichtung eines der Beispiele 64 bis 66, die ferner Mittel zum Ausführen von zwei oder mehr der Ansichtssynthesedurchgänge parallel zueinander umfasst.
  • Beispiel 68 enthält die Einrichtung von Beispiel 67, die ferner Mittel zum Bestimmen eines oder mehrerer aus einer Anzahl von Durchgängen und einer Anzahl von Ansichten für die ausgeführte Ansichtssynthese basierend auf einem oder mehreren durch einen Anwender bereitgestellten Parametern umfasst.
  • Beispiel 69 enthält die Einrichtung eines der Beispiele 64 bis 68, die ferner Mittel zum Erzeugen einer Binärmaske zum Identifizieren fehlender Informationen in einer Zwischenansicht umfasst.
  • Beispiel 70 enthält die Einrichtung von Beispiel 69, die ferner Mittel zum Zusammenführen von zwei Zwischenansichtssyntheseergebnissen basierend auf der Binärmaske, so dass fehlende Informationen aus der synthetisierten Zwischenansicht eines höheren Durchgangs genommen werden und Informationen über kohärente Synthese aus der synthetisierten Zwischenansicht eines tieferen Durchgangs genommen werden, und Mittel zum Wiederholen des Zusammenführens nacheinander für jedes Ergebnis einer synthetisierten Zwischenansicht umfasst.
  • Verschiedene Ausführungsformen können unter Verwendung von Hardware-Elementen, Software-Elemente oder einer Kombination aus beiden implementiert sein. Beispiele für Hardware-Elemente können Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktivitäten und so weiter), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (ASIC), programmierbare Logikvorrichtungen (PLD), digitale Signalprozessoren (DSP), im Feld programmierbares Gatter-Array (FPGA), Logikgatter, Register, Halbleitervorrichtung, Chips, Mikrochips, Chipsätze und so weiter enthalten. Beispiele für Software können Software-Komponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystem-Software, Middleware, Firmware, Software-Module, Routinen, Subroutinen, Funktionen, Methoden, Prozeduren, Software-Schnittstellen, Anwendungsprogrammschnittstellen (API), Anweisungssätze, Berechnungscode, Computercode, Codesegmente, Computercodesegmente, Wörter, Werte, Symbole oder irgendeine Kombination daraus enthalten. Das Bestimmen, ob eine Ausführungsform unter Verwendung von Hardware-Elementen und/oder Software-Elementen implementiert wird, kann in Übereinstimmung mit irgendeiner Anzahl von Faktoren variieren, wie z. B. gewünschter Berechnungsrate, Leistungspegel, Wärmetoleranzen, Verarbeitungszyklusbudget, Eingangsdatenraten, Ausgangsdatenraten, Speicherbetriebsmittel, Datenbusgeschwindigkeiten und anderen Konstruktions- oder Leistungseinschränkungen.
  • Ein oder mehrere Aspekte wenigstens einer Ausführungsform können durch repräsentative Anweisungen implementiert sein, die auf einem maschinenlesbaren Medium gespeichert sind, das verschiedene Logik innerhalb des Prozessors repräsentiert, die dann, wenn sie durch eine Maschine gelesen werden, die Maschine zum Herstellen von Logik zum Ausführen der hier beschriebenen Techniken veranlassen. Solche Repräsentationen, als IP-Kerne bezeichnet, können auf einem greifbaren, maschinenlesbaren Medium gespeichert sein und verschiedenen Kunden oder Produktionsanlagen zum Laden in die Produktionsmaschinen, die die Logik oder den Prozessor tatsächlich herstellen, zugeführt werden.
  • Obwohl spezielle Merkmale, die hier dargelegt sind, mit Bezug auf verschiedene Implementierungen beschrieben worden sind, ist diese Beschreibung nicht dafür vorgesehen, in einem einschränkenden Sinn gedeutet zu werden. Somit sollen sowohl verschiedene Modifikationen der Implementierungen, die hier beschrieben sind, als auch andere Implementierungen, die für Fachleute der Technik, zu der die vorliegende Offenbarung gehört, offensichtlich sind, als innerhalb des Geistes und des Schutzbereichs der vorliegenden Offenbarung liegend angesehen werden.
  • Es ist zu verstehen, dass die Ausführungsformen nicht auf die so beschriebenen Ausführungsformen beschränkt sind, sondern mit Modifikation und Veränderungen praktiziert werden können, ohne von dem Schutzbereich der beigefügten Ansprüche abzuweichen. Beispielsweise können die vorstehenden Ausführungsformen eine spezifische Kombination von Merkmalen enthalten. Die vorstehenden Ausführungsformen sind in dieser Hinsicht jedoch nicht eingeschränkt, und die vorstehenden Ausführungsformen können in verschiedenen Implementierungen das Durchführen nur einer Teilmenge solcher Merkmale, Durchführen einer anderen Reihenfolge solcher Merkmale, Durchführen einer anderen Kombination solcher Merkmale und/oder Durchführen zusätzlicher Merkmale als diejenigen Merkmale, die ausdrücklich aufgelistet sind, enthalten. Der Schutzbereich der Ausführungsformen sollte deshalb mit Bezug auf die beigefügten Ansprüche zusammen mit dem vollen Umfang von Äquivalenten, für die solche Ansprüche berechtigt sind, bestimmt werden.
  • 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 62820758 [0001]

Claims (25)

  1. Elektronisches System, das Folgendes umfasst: Speicher zum Speichern eines oder mehrerer Gebiete aus mehreren Ansichten; einen Prozessor, der mit dem Speicher kommunikationstechnisch gekoppelt ist; und Logik, die mit dem Prozessor gekoppelt ist, wobei die Logik dient zum: Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten basierend auf einer oder mehreren auf relative Position und Orientierung bezogenen Informationen für eine gewünschte synthetisierte Ansicht; Auswählen einer jeweiligen Gruppe von Ansichten, die für jeden von zwei oder mehr Ansichtssynthesedurchgängen zu verwenden sind; Ausführen der zwei oder mehr Ansichtssynthesedurchgänge für die gewünschte synthetisierte Ansicht unter Verwendung nur von Gebieten, die zu der ausgewählten Gruppe von Ansichten für jeden Durchgang gehören, um zwei oder mehr Zwischenansichtssyntheseergebnisse bereitzustellen; und Maskieren und Zusammenführen der zwei oder mehr Zwischenansichtssyntheseergebnisse, um ein endgültiges Ansichtssyntheseergebnis bereitzustellen.
  2. System nach Anspruch 1, wobei die Logik ferner dient zum: Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten basierend auf einem Abstand zwischen jeder Ansicht und der gewünschten synthetisierten Ansicht.
  3. System nach Anspruch 2, wobei die Logik ferner dient zum: Bestimmen von Informationen über überlappte Szenenabdeckung zwischen den mehreren Ansichten und der gewünschten synthetisierten Ansicht basierend auf der einen oder den mehreren auf relative Position und Orientierung bezogenen Informationen; und Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten in einer Reihenfolge von einer relativ größten Überlappung zu einer relativ kleinsten Überlappung basierend auf den bestimmten Informationen über überlappte Szenenabdeckung zwischen den mehreren Ansichten und der gewünschten synthetisierten Ansicht.
  4. System nach einem der Ansprüche 1 bis 3, wobei die Logik ferner dient zum: Ausführen von zwei oder mehr der Ansichtssynthesedurchgänge parallel zueinander.
  5. System nach Anspruch 4, wobei die Logik ferner dient zum: Bestimmen eines oder mehrerer aus einer Anzahl von Durchgängen und einer Anzahl von Ansichten für die ausgeführte Ansichtssynthese basierend auf einem oder mehreren durch einen Anwender bereitgestellten Parametern.
  6. System nach einem der Ansprüche 1 bis 3, wobei die Logik ferner dient zum: Erzeugen einer Binärmaske zum Identifizieren fehlender Informationen in einer Z wi schenansicht.
  7. System nach Anspruch 6, wobei die Logik ferner dient zum: Zusammenführen von zwei Zwischenansichtssyntheseergebnissen basierend auf der Binärmaske, so dass fehlende Informationen aus der synthetisierten Zwischenansicht eines höheren Durchgangs genommen werden und Informationen über kohärente Synthese aus der synthetisierten Zwischenansicht eines tieferen Durchgangs genommen werden; und Wiederholen des Zusammenführens nacheinander für jedes Ergebnis einer synthetisierten Z wi schenansicht.
  8. Verfahren zum Verarbeiten eines Bilds, das Folgendes umfasst: Umordnen eines oder mehrerer Gebiete aus mehreren Ansichten basierend auf einer oder mehreren auf relative Position und Orientierung bezogenen Informationen für eine gewünschte synthetisierte Ansicht; Auswählen einer jeweiligen Gruppe von Ansichten, die für jeden aus zwei oder mehr Ansichtssynthesedurchgängen zu verwendet sind; Ausführen der zwei oder mehr Ansichtssynthesedurchgänge für die gewünschte synthetisierte Ansicht unter Verwendung nur von Gebieten, die zu der ausgewählten Gruppe von Ansichten gehören, für jeden Durchgang, um zwei oder mehr Zwischenansichtssyntheseergebnisse bereitzustellen; und Maskieren und Zusammenführen der zwei oder mehr Zwischenansichtssyntheseergebnisse, um ein endgültiges Ansichtssyntheseergebnis bereitzustellen.
  9. Verfahren nach Anspruch 8, das ferner Folgendes umfasst: Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten basierend auf einem Abstand zwischen jeder Ansicht und der gewünschten synthetisierten Ansicht.
  10. Verfahren nach Anspruch 9, das ferner Folgendes umfasst: Bestimmen von Informationen über überlappte Szenenabdeckung zwischen den mehreren Ansichten und der gewünschten synthetisierten Ansicht basierend auf der einen oder den mehreren auf die relative Position und Orientierung bezogenen Informationen; und Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten in einer Reihenfolge von einer relativ größten Überlappung zu einer relativ kleinsten Überlappung basierend auf den bestimmten Informationen über überlappte Szenenabdeckung zwischen den mehreren Ansichten und der gewünschten synthetisierten Ansicht.
  11. Verfahren nach einem der Ansprüche 8 bis 10, das ferner Folgendes umfasst: Ausführen von zwei oder mehr der Ansichtssynthesedurchgänge parallel zueinander.
  12. Verfahren nach Anspruch 11, das ferner Folgendes umfasst: Bestimmen eines oder mehrerer aus einer Anzahl von Durchgängen und einer Anzahl von Ansichten für die ausgeführte Ansichtssynthese basierend auf einem oder mehreren durch einen Anwender bereitgestellten Parametern.
  13. Verfahren nach einem der Ansprüche 8 bis 10, das ferner Folgendes umfasst: Erzeugen einer Binärmaske zum Identifizieren fehlender Informationen in einer Z wi schenansicht.
  14. Verfahren nach Anspruch 13, das ferner Folgendes umfasst: Zusammenführen von zwei Zwischenansichtssyntheseergebnissen basierend auf der Binärmaske, so dass fehlende Informationen aus der synthetisierten Zwischenansicht des höheren Durchgangs genommen werden und Informationen über kohärente Synthese aus der synthetisierten Zwischenansicht des tieferen Durchgangs genommen werden; und Wiederholen des Zusammenführens nacheinander für jedes Ergebnis einer synthetisierten Z wi schenansicht.
  15. Maschinenlesbares Medium oder maschinenlesbare Medien, das bzw. die mehrere Anweisungen umfasst bzw. umfassen, die in Reaktion darauf, dass sie auf einer Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung veranlassen zum: Umordnen eines oder mehrerer Gebiete aus mehreren Ansichten basierend auf einer oder mehreren auf relative Position und Orientierung bezogenen Informationen für eine gewünschte synthetisierte Ansicht; Auswählen einer jeweiligen Gruppe von Ansichten, die für jeden aus zwei oder mehr Ansichtssynthesedurchgängen zu verwenden sind; Ausführen der zwei oder mehr Ansichtssynthesedurchgänge für die gewünschte synthetisierte Ansicht unter Verwendung nur von Gebieten, die zu der ausgewählten Gruppe von Ansichten für jeden Durchgang gehören, um zwei oder mehr Zwischenansichtssyntheseergebnisse bereitzustellen; und Maskieren und Zusammenführen der zwei oder mehr Zwischenansichtssyntheseergebnisse, um ein endgültiges Ansichtssyntheseergebnis bereitzustellen.
  16. Maschinenlesbares Medium nach Anspruch 15, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf der Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung veranlassen zum: Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten basierend auf einem Abstand zwischen jeder Ansicht und der gewünschten synthetisierten Ansicht.
  17. Maschinenlesbares Medium nach Anspruch 16, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf der Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung veranlassen zum: Bestimmen von Informationen über überlappte Szenenabdeckung zwischen den mehreren Ansichten und der gewünschten synthetisierten Ansicht basierend auf der einen oder den mehreren auf relative Position und Orientierung bezogenen Informationen; und Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten in einer Reihenfolge von einer relativ größten Überlappung zu einer relativ kleinsten Überlappung basierend auf den bestimmten Informationen über überlappte Szenenabdeckung zwischen den mehreren Ansichten und der gewünschten synthetisierten Ansicht.
  18. Maschinenlesbares Medium nach einem der Ansprüche 15 bis 17, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf der Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung veranlassen zum: Ausführen von zwei oder mehr der Ansichtssynthesedurchgänge parallel zueinander.
  19. Maschinenlesbares Medium nach Anspruch 18, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf der Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung veranlassen zum: Bestimmen eines oder mehrerer aus einer Anzahl von Durchgängen und einer Anzahl von Ansichten für die ausgeführte Ansichtssynthese basierend auf einem oder mehreren durch einen Anwender bereitgestellten Parametern.
  20. Maschinenlesbares Medium nach einem der Ansprüche 15 bis 17, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf der Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung veranlassen zum: Erzeugen einer Binärmaske zum Identifizieren fehlender Informationen in einer Z wi schenansicht.
  21. Maschinenlesbares Medium nach Anspruch 20, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf der Berechnungsvorrichtung ausgeführt werden, die Berechnungsvorrichtung veranlassen zum: Zusammenführen von zwei Zwischenansichtssyntheseergebnissen basierend auf der Binärmaske, so dass fehlende Informationen aus der synthetisierten Zwischenansicht eines höheren Durchgangs genommen werden und Informationen über kohärente Synthese aus der synthetisierten Zwischenansicht eines tieferen Durchgangs genommen werden; und Wiederholen des Zusammenführens nacheinander für jedes Ergebnis einer synthetisierten Z wi schenansicht.
  22. Elektronische Einrichtung, die Folgendes umfasst: ein Substrat; und Logik, die mit dem Substrat gekoppelt ist, wobei die Logik dient zum: Umordnen eines oder mehrerer Gebiete aus mehreren Ansichten basierend auf einer oder mehreren auf relative Position und Orientierung bezogenen Informationen für eine gewünschte synthetisierte Ansicht; Auswählen einer jeweiligen Gruppe von Ansichten, die für jeden aus zwei oder mehr Ansichtssynthesedurchgängen zu verwenden sind; Ausführen der zwei oder mehr Ansichtssynthesedurchgänge für die gewünschte synthetisierte Ansicht unter Verwendung nur von Gebieten, die zu der ausgewählten Gruppe von Ansichten für jeden Durchgang gehören, um zwei oder mehr Zwischenansichtssyntheseergebnisse bereitzustellen; und Maskieren und Zusammenführen der zwei oder mehr Zwischenansichtssyntheseergebnisse, um ein endgültiges Ansichtssyntheseergebnis bereitzustellen.
  23. Einrichtung nach Anspruch 22, wobei die Logik ferner dient zum: Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten basierend auf einem Abstand zwischen jeder Ansicht und der gewünschten synthetisierten Ansicht.
  24. Einrichtung nach Anspruch 23, wobei die Logik ferner dient zum: Bestimmen von Informationen über überlappte Szenenabdeckung zwischen den mehreren Ansichten und der gewünschten synthetisierten Ansicht basierend auf der einen oder den mehreren auf relative Position und Orientierung bezogenen Informationen; und Umordnen des einen oder der mehreren Gebiete aus den mehreren Ansichten in einer Reihenfolge von einer relativ größten Überlappung zu einer relativ kleinsten Überlappung basierend auf den bestimmten Informationen über überlappte Szenenabdeckung zwischen den mehreren Ansichten und der gewünschten synthetisierten Ansicht.
  25. Einrichtung nach einem der Ansprüche 22 bis 24, wobei die Logik ferner dient zum: Ausführen von zwei oder mehr der Ansichtssynthesedurchgänge parallel zueinander.
DE102020202059.0A 2019-03-19 2020-02-19 Mehrdurchgangs-zusatzwerkzeug zur kohärenten und vollständigen ansichtssynthese Pending DE102020202059A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962820758P 2019-03-19 2019-03-19
US62/820,758 2019-03-19
US16/456,197 2019-06-28
US16/456,197 US10965932B2 (en) 2019-03-19 2019-06-28 Multi-pass add-on tool for coherent and complete view synthesis

Publications (1)

Publication Number Publication Date
DE102020202059A1 true DE102020202059A1 (de) 2020-09-24

Family

ID=68162216

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020202059.0A Pending DE102020202059A1 (de) 2019-03-19 2020-02-19 Mehrdurchgangs-zusatzwerkzeug zur kohärenten und vollständigen ansichtssynthese

Country Status (3)

Country Link
US (2) US10965932B2 (de)
CN (1) CN111726597A (de)
DE (1) DE102020202059A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10965932B2 (en) 2019-03-19 2021-03-30 Intel Corporation Multi-pass add-on tool for coherent and complete view synthesis
US11350074B2 (en) * 2019-03-20 2022-05-31 Electronics And Telecommunications Research Institute Method for processing immersive video and method for producing immersive video
US11575935B2 (en) * 2019-06-14 2023-02-07 Electronics And Telecommunications Research Institute Video encoding method and video decoding method
US11432009B2 (en) * 2019-07-02 2022-08-30 Intel Corporation Techniques for encoding and decoding immersive video
US11477429B2 (en) * 2019-07-05 2022-10-18 Electronics And Telecommunications Research Institute Method for processing immersive video and method for producing immersive video
US20220319105A1 (en) * 2019-07-10 2022-10-06 Sony Interactive Entertainment Inc. Image display apparatus, image display system, and image display method
JP2023518337A (ja) * 2020-04-15 2023-05-01 中興通訊股▲ふん▼有限公司 ボリュメトリック視覚的メディアプロセス方法および装置
US20220300688A1 (en) * 2021-03-17 2022-09-22 Synopsys, Inc. Fast synthesis of logical circuit design with predictive timing
US11979679B2 (en) 2021-07-09 2024-05-07 Rockwell Collins, Inc. Configurable low resource subsample image mask for merging in a distorted image space
CN117981296A (zh) * 2021-09-24 2024-05-03 苹果公司 使用多个相机的扩展视场

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6611268B1 (en) * 2000-05-30 2003-08-26 Microsoft Corporation System and process for generating 3D video textures using video-based rendering techniques
SE0302065D0 (sv) * 2003-07-14 2003-07-14 Stefan Carlsson Video - method and apparatus
US8106924B2 (en) * 2008-07-31 2012-01-31 Stmicroelectronics S.R.L. Method and system for video rendering, computer program product therefor
US8345956B2 (en) * 2008-11-03 2013-01-01 Microsoft Corporation Converting 2D video into stereo video
US8896668B2 (en) * 2010-04-05 2014-11-25 Qualcomm Incorporated Combining data from multiple image sensors
US8730302B2 (en) * 2010-08-27 2014-05-20 Broadcom Corporation Method and system for enhancing 3D effects for 3D video rendering
US9782012B2 (en) 2012-08-16 2017-10-10 John Zimmer Concealable bed system
US20140098100A1 (en) * 2012-10-05 2014-04-10 Qualcomm Incorporated Multiview synthesis and processing systems and methods
US9875543B2 (en) 2012-12-10 2018-01-23 Intel Corporation Techniques for rectification of camera arrays
US9407896B2 (en) * 2014-03-24 2016-08-02 Hong Kong Applied Science and Technology Research Institute Company, Limited Multi-view synthesis in real-time with fallback to 2D from 3D to reduce flicker in low or unstable stereo-matching image regions
US20150346812A1 (en) * 2014-05-29 2015-12-03 Nextvr Inc. Methods and apparatus for receiving content and/or playing back content
US11189043B2 (en) * 2015-03-21 2021-11-30 Mine One Gmbh Image reconstruction for virtual 3D
GB2551426B (en) * 2016-04-18 2021-12-29 Avago Tech Int Sales Pte Lid Hardware optimisation for generating 360° images
US20170347084A1 (en) * 2016-05-27 2017-11-30 Intel Corporation Virtual reality panoramic video system using scalable video coding layers
GB2556910A (en) * 2016-11-25 2018-06-13 Nokia Technologies Oy Virtual reality display
US10547823B2 (en) * 2018-09-25 2020-01-28 Intel Corporation View interpolation of multi-camera array images with flow estimation and image super resolution using deep learning
US10965932B2 (en) 2019-03-19 2021-03-30 Intel Corporation Multi-pass add-on tool for coherent and complete view synthesis

Also Published As

Publication number Publication date
US20210329220A1 (en) 2021-10-21
US11722653B2 (en) 2023-08-08
CN111726597A (zh) 2020-09-29
US20190320164A1 (en) 2019-10-17
US10965932B2 (en) 2021-03-30

Similar Documents

Publication Publication Date Title
DE102020202059A1 (de) Mehrdurchgangs-zusatzwerkzeug zur kohärenten und vollständigen ansichtssynthese
DE102020123304A1 (de) Tiefes lernen für engmaschige semantische segmentierung in video mit automatisierter interaktivität und verbesserter zeitlicher kohärenz
DE102020129800A1 (de) Interaktive segmentierung mit hoher wiedergabetreue für videodaten mit tief faltenden tessellationen und kontextsensitiven skip-verbindungen
DE69634962T2 (de) Extrapolation von Pixelwerten eines in einem Block enthaltenen Videoobjektes
DE112018002228B4 (de) Konfigurierbare faltungsmaschine für verschachtelte kanaldaten
DE102020125612A1 (de) Kontinuierliche lokale 3d-rekonstruktionsverfeinerung in video
DE69831961T2 (de) Bildobjekterzeugungsverfahren für objektbasierte kodierungssysteme unter verwendung von masken und gerundeten mittelwerten
DE69723550T2 (de) Kodierung und dekodierung von grafischen symbolen
DE112018000280T5 (de) Entblockungsfilterung für 360-video
DE112013004778T5 (de) Kodierung von Bildern unter Verwendung eines 3D-Netzes von Polygonen und entsprechenden Strukturen
DE102020123396A1 (de) Verfahren und system für inhaltsadaptives entrauschen zum videocodieren
DE102015107872A1 (de) Neu beleuchtbare Textur zur Verwendung beim Rendern eines Bildes
US20230052483A1 (en) Super resolution using convolutional neural network
DE102020128896A1 (de) Echtzeit-holographie durch verwenden von gelerntem fehler-feedback
DE102020200310A1 (de) Verfahren und System zur Dunstreduzierung für die Bildverarbeitung
DE102019216979A1 (de) Oberflächenrekonstruktion für interaktive augmented reality
DE102019218316A1 (de) 3d-renderer-zu-videocodierer-pipeline für verbesserte visuelle qualität und geringe latenz
DE112016005482T5 (de) Objektdetektion mit adaptiven Kanalmerkmalen
DE102021109050A1 (de) Durch ein neuronales generative adversarial netzwerk unterstützte videokompression und -übertragung
DE102019215387A1 (de) Zirkularfischaugenkameraarrayberichtigung
CN113610707B (zh) 一种基于时间注意力与循环反馈网络的视频超分辨率方法
CN116977191A (zh) 画质提升模型的训练方法和视频会议***画质的提升方法
DE102019122181B4 (de) Generalisierte niedriglatenzbenutzerinteraktion mit video auf verschiedenen transporteinrichtungen
CN114170082A (zh) 视频播放、图像处理和模型训练方法、装置以及电子设备
DE102021109501A1 (de) Durch erzeugendes gegnerisches neuronales netzwerk unterstützte videorekonstruktion

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: HGF EUROPE LLP, DE

Representative=s name: HGF EUROPE LP, DE