ES2607214T3 - Métodos, aparatos y productos de programa informático para generar imágenes panorámicas usando datos de mapas de profundidad - Google Patents

Métodos, aparatos y productos de programa informático para generar imágenes panorámicas usando datos de mapas de profundidad Download PDF

Info

Publication number
ES2607214T3
ES2607214T3 ES12793279.6T ES12793279T ES2607214T3 ES 2607214 T3 ES2607214 T3 ES 2607214T3 ES 12793279 T ES12793279 T ES 12793279T ES 2607214 T3 ES2607214 T3 ES 2607214T3
Authority
ES
Spain
Prior art keywords
images
image
depth
panoramic
plane
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.)
Active
Application number
ES12793279.6T
Other languages
English (en)
Inventor
Gururaj Gopal Putraya
Pranav Mishra
Krishna Annasagar Govindarao
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.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
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 Nokia Technologies Oy filed Critical Nokia Technologies Oy
Application granted granted Critical
Publication of ES2607214T3 publication Critical patent/ES2607214T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/37Details of the operation on graphic patterns
    • G09G5/377Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4038Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0088Synthesising a monoscopic image signal from stereoscopic images, e.g. synthesising a panoramic or high resolution monoscopic image

Abstract

Un método, que comprende: generar al menos una imagen panorámica basada en parte en realizar un registro en al menos dos imágenes; determinar al menos una región de solapado (50, 51) entre las dos imágenes dentro de al menos un primer plano de profundidad y un segundo plano de profundidad, habiéndose dividido las imágenes en el primer y el segundo planos de profundidad usando datos de mapa de profundidad que proporcionan la profundidad asociada a cada píxel de las dos imágenes, en donde cada plano de profundidad incluye una imagen formada por píxeles que pertenecen a un cierto intervalo de valores de profundidad; generar al menos una costura virtual (54, 57) que conecta porciones de las dos imágenes en la región de solapado para generar una imagen compuesta (55, 80), estando asociada cada costura virtual a un solo plano de profundidad; y mezclar la al menos una costura virtual de la imagen compuesta (55, 80) para obtener la imagen panorámica generada.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Metodos, aparatos y productos de programa informatico para generar imageries panoramicas usando datos de mapas de profundidad.
Campo tecnologico
Un ejemplo de realizacion de la invencion se refiere en general al procesamiento de imagenes y, mas particularmente, se refiere a un metodo, un aparato y un producto de programa informatico para generar una o mas imagenes panoramicas basandose en parte en el uso de datos de mapas de profundidad.
Antecedentes
La era de las comunicaciones modernas ha dado lugar a una enorme expansion de las redes alambricas e inalambricas. Las redes de ordenadores, las redes de television y las redes de telefonfa estan experimentando una expansion tecnologica sin precedentes, alimentada por la demanda de los consumidores. Las tecnologfas de redes inalambricas y moviles se han ocupado de las demandas relacionadas con el consumidor, al tiempo que proporciona una mayor flexibilidad e inmediatez de transferencia de informacion.
Las tecnologfas de red actuales y futuras siguen promoviendo la facilidad de transferencia de informacion y la comodidad a los usuarios. Debido a la naturaleza ubicua actual de los dispositivos de comunicacion electronicos, personas de todas las edades y niveles de educacion estan utilizando dispositivos electronicos para comunicarse con otras personas o contactos, recibir servicios y/o compartir informacion, medios y otros contenidos. Un area en la que existe una demanda para aumentar la facilidad de transferencia de informacion se refiere a la generacion de imagenes, tales como imagenes panoramicas.
El objetivo del panorama es aumentar el campo de vision por la costura de una secuencia de imagenes (por ejemplo, en dos dimensiones (2D) o tres dimensiones (3D)). En la actualidad, las imagenes panoramicas se pueden utilizar para combinar varias imagenes para generar una unica imagen en una vista panoramica de 360°. Actualmente, las imagenes fusionadas se pueden coser juntas a lo largo de una costura y mezclarse para formar una transicion suave. En este sentido, tecnicas tales como registro y mezcla pueden ser utiles en la calidad de las imagenes panoramicas generadas. Aunque hay algunas herramientas de registro y mezcla existentes disponibles en la actualidad, estas herramientas a veces todavfa generan errores de registro y costuras cosidas ineficientes a traves de imagenes que se pueden utilizar para generar una(s) imagen(es) panoramica(s). Los registros erroneos y las ineficiencias en la generacion de costuras para unir las imagenes pueden resultar en imagenes panoramicas de baja calidad o imagenes panoramicas de una calidad indeseable.
En vista de los inconvenientes anteriores, puede ser beneficioso proporcionar una manera eficiente y fiable para generar una o mas imagenes panoramicas.
D1 divulga un algoritmo para generar una panoramica a partir de imagenes de multiples vistas, en la cual unas panoramicas frontal y de fondo se construyen por separado y luego se funden en una panoramica completa.
Breve sumario
La invencion se define mediante las reivindicaciones.
Una realizacion de la invencion puede proporcionar una mejor experiencia de usuario mediante la generacion de imagenes panoramicas de alta calidad utilizando datos de mapas de profundidad. Como tal, los usuarios de dispositivos pueden disfrutar de capacidades mejoradas con respecto a las imagenes generadas.
Breve descripcion de las diversas vistas de los dibujos
Habiendo asf descrito la invencion en terminos generales, se hara ahora referencia a los dibujos adjuntos, que no estan necesariamente dibujados a escala, y en los que:
la figura 1 es un diagrama de bloques esquematico de un sistema de acuerdo con una realizacion de ejemplo de la invencion;
la figura 2 es un diagrama de bloques esquematico de un aparato de acuerdo con una realizacion de ejemplo de la invencion;
la figura 3 es un diagrama que ilustra diferentes planos de profundidad de pares de imagenes para coser las imagenes de acuerdo con un ejemplo de realizacion de la invencion;
las figuras 4A, 4B y 4C son diagramas que ilustran el etiquetado y la mezcla de imagenes panoramicas generadas utilizando multiples planos de profundidad de acuerdo con un ejemplo de realizacion de la invencion; la figura 5 es un diagrama que ilustra el etiquetado y la mezcla de imagenes generadas panoramicas basadas en parte en la utilizacion de un unico plano de profundidad, entre multiples planos de profundidad, de acuerdo con
5
10
15
20
25
30
35
40
45
50
55
60
65
un ejemplo de realizacion de la invencion; y
la figura 6 ilustra un diagrama de flujo para la generacion de una o mas imagenes panoramicas de acuerdo con
un ejemplo de realizacion de la invencion.
Descripcion detallada
Algunos aspectos de la presente invencion se describiran ahora con mas detalle a continuacion con referencia a los dibujos adjuntos, en los que se muestran algunos, pero no todas las realizaciones de la invencion. De hecho, diversas realizaciones de la invencion pueden realizarse en muchas formas diferentes y no debe interpretarse como limitada a las realizaciones expuestas en el presente documento. Numeros de referencia iguales se refieren a elementos similares. Tal como se usa en el presente documento, los terminos "datos", "contenido", "informacion" y terminos similares se pueden usar indistintamente para referirse a datos que se pueden transmitir, recibir y/o almacenar de acuerdo con realizaciones de la presente invencion. Por otra parte, el termino "a modo de ejemplo", tal como se usa en este documento, no se proporciona para transmitir ninguna evaluacion cualitativa, sino en su lugar simplemente para transmitir una ilustracion de un ejemplo.
Ademas, tal como se utiliza aquf, el termino "circuitos" se refiere a (a) implementaciones de circuitos solo por hardware (por ejemplo, implementaciones de circuitos analogicos y/o circuitos digitales); (b) combinaciones de circuitos y producto(s) de programa informatico que comprenden instrucciones de software y/o firmware almacenadas en una o mas memorias legibles por ordenador que trabajan juntas para hacer que un aparato realice una o mas funciones descritas en el presente documento; y (c) circuitos, tales como, por ejemplo, un(os) microprocesador(es) o una porcion de un(os) microprocesador(es), que requiere software o firmware para la operacion, incluso si el software o firmware no esta ffsicamente presente. Esta definicion de "circuitos" se aplica a todos los usos de este termino en este documento, incluyendo cualquier reivindicacion. Como ejemplo adicional, tal como se utiliza aquf, el termino "circuitos" tambien incluye una implementacion que comprende uno o mas procesadores y/o porcion(es) de los mismos y software y/o firmware adjunto. Como otro ejemplo, el termino "circuitos" tal como se usa en este documento tambien incluye, por ejemplo, un circuito integrado de banda base o aplicaciones de procesador de circuito integrado para un telefono movil o un circuito integrado similar en un servidor, un dispositivo de red celular, otro dispositivo de red, y/u otro dispositivo de computacion.
Tal como se define en el presente documento un "medio de almacenamiento legible por ordenador", que se refiere a un medio de almacenamiento no transitorio, ffsico o tangible (por ejemplo, dispositivo de memoria volatil o no volatil), puede diferenciarse de un "medio de transmision legible por ordenador", que se refiere a una senal electromagnetica.
Tal como se define en el presente documento, un "punto(s) de vista" se puede referir a una(s) ubicacion(es) especffica(s) en la que una camara (por ejemplo, un(os) modulo(s) de camara) se coloca para capturar una(s) imagen(es). En este sentido, una escena puede ser capturada desde varios puntos de vista.
Como se menciona en el presente documento un "mapa(s) de profundidad" puede, pero no necesita, referirse a una imagen, canal de imagen, o uno o mas planos de profundidad que pueden incluir informacion relacionada con una distancia o un intervalo de valores de los artfculos u objetos de una(s) escena(s) capturada(s) desde un(os) punto(s) de vista de una camara (por ejemplo, un modulo de camara).
La figura 1 ilustra un diagrama de sistema generico en el que se muestra un dispositivo tal como un terminal movil 10 en un entorno de comunicacion de ejemplo. Como se muestra en la figura 1, una realizacion de un sistema de acuerdo con un ejemplo de realizacion de la invencion puede incluir un primer dispositivo de comunicacion (por ejemplo, terminal movil 10) y un segundo dispositivo de comunicacion 20 capaz de comunicacion entre si a traves de una red 30. En algunos casos, una realizacion de la presente invencion puede incluir ademas uno o mas dispositivos de comunicacion, uno de los cuales se representa en la figura 1 como un tercer dispositivo de comunicacion 25. En una realizacion, no todos los sistemas que emplean una realizacion de la presente invencion pueden comprender todos los dispositivos ilustrados y/o descritos en el presente documento. Aunque una realizacion del terminal movil 10 y/o segundo y tercer dispositivos de comunicacion 20 y 25 se pueden ilustrar y se describen a continuacion a modo de ejemplo, otros tipos de terminales, tales como asistentes digitales portatiles (PDA), buscapersonas, televisores moviles, telefonos moviles, dispositivos de juegos, ordenadores portatiles, camaras, grabadoras de video, reproductores de audio/vfdeo, radio, sistema de posicionamiento global (GPS), auriculares Bluetooth, dispositivos bus serie universal (USB) o cualquier combinacion de los antes mencionados, y otros tipos de sistemas de comunicaciones de voz y de texto, pueden emplear facilmente una realizacion de la presente invencion. Ademas, dispositivos que no son moviles, tales como servidores y ordenadores personales tambien pueden emplear facilmente una realizacion de la presente invencion.
La red 30 puede incluir una coleccion de varios nodos diferentes (de los cuales el segundo y tercer dispositivos de comunicacion 20 y 25 pueden ser ejemplos), dispositivos o funciones que pueden estar en comunicacion entre si a traves de interfaces cableadas y/o inalambricas correspondientes. Como tal, la ilustracion de la figura 1 debe entenderse por ser un ejemplo de una vision amplia de ciertos elementos del sistema y no una vision exhaustiva ni detallada del sistema o de la red 30. Aunque no es necesario, en una realizacion, la red 30 puede ser capaz de
5
10
15
20
25
30
35
40
45
50
55
60
65
soportar comunicacion de acuerdo con una cualquiera o mas de una serie de protocolos de comunicacion de primera generacion (1G), de segunda generacion (2G), 2,5G, de tercera generacion (3G), 3,5G, 3,9G, de cuarta generacion (4G), evolucion a largo plazo (LTE) o red de acceso de radio terrestre universal evolucionada (E- UTRAN), red de optimizacion/optimizacion automatica (SON) intra-LTE, red de tecnologfa de acceso de radio interna (RAT) y/o similares. En una realizacion, la red 30 puede ser una red de punto a punto (P2P).
Uno o mas terminales de comunicacion, tal como el terminal movil 10 y el segundo y tercer dispositivos de comunicacion 20 y 25 pueden estar en comunicacion entre si a traves de la red 30, y cada uno puede incluir una antena o antenas para la transmision de senales y para recibir las senales de uno o mas sitios de base. Los sitios de base podrfan ser, por ejemplo, una o mas estaciones base (BS), que es una parte de una o mas redes celulares o moviles o uno o mas puntos de acceso (APs) que pueden estar acoplados a una red de datos, tal como una red de area local (LAN), una red de area local inalambrica (WLAN), una red Wi-Fi, una red de area metropolitana (MAN), y/o una red de area amplia (WAN), tal como Internet. A su vez, otros dispositivos tales como elementos de procesamiento (por ejemplo, ordenadores personales, ordenadores de servidor o similares) pueden acoplarse al terminal movil 10 y al segundo y tercer dispositivos de comunicacion 20 y 25 a traves de la red 30. Mediante la conexion directa o indirectamente, el terminal movil 10 y el segundo y tercer dispositivos de comunicacion 20 y 25 (y/u otros dispositivos) a la red 30, el terminal movil 10 y el segundo y tercer dispositivos de comunicacion 20 y 25 se pueden habilitar para comunicarse con los otros dispositivos o entre si. Por ejemplo, el terminal movil 10 y el segundo y tercer dispositivos de comunicacion 20 y 25, asf como otros dispositivos, pueden comunicarse de acuerdo con numerosos protocolos de comunicacion, incluyendo el protocolo de transferencia de hipertexto (HTTP) y/o similares, para realizar de este modo diversas comunicaciones u otras funciones del terminal movil 10 y el segundo y tercer dispositivos de comunicacion 20 y 25, respectivamente.
Ademas, aunque no se muestra en la figura 1, el terminal movil 10 y el segundo y tercer dispositivos de comunicacion 20 y 25 pueden comunicarse de acuerdo con, por ejemplo, radiofrecuencia (RF), comunicacion de campo cercano (NFC), Bluetooth (BT), infrarrojos (IR) o cualquiera de un numero de diferentes tecnicas de comunicacion alambrica o inalambrica, incluyendo red de area local (LAN), LAN inalambrica (WLAN), interoperabilidad mundial para acceso por microondas (WiMAX), fidelidad inalambrica (Wi-Fi), banda ultra-ancha (UWB), tecnicas Wibree y/o similares. Como tal, el terminal movil 10 y el segundo y tercer dispositivos de comunicacion 20 y 25 pueden habilitarse para comunicarse con la red 30 y entre si mediante cualquiera de los numerosos mecanismos de acceso diferentes. Por ejemplo, los mecanismos de acceso movil, tales como acceso multiple por division de codigo de banda ancha (W-CDMA), CDMA2000, sistema global para comunicaciones moviles (GSM), servicio de radio de paquetes general (GPRS) y/o similares pueden estar soportados, asf como mecanismos de acceso inalambrico tales como WLAN, WiMAX, y/o similares, y mecanismos de acceso fijos, tales como lfnea de abonado digital (DSL), modems de cable, Ethernet y/o similares.
En una realizacion de ejemplo, el primer dispositivo de comunicacion (por ejemplo, el terminal movil 10) puede ser un dispositivo de comunicacion movil, tal como, por ejemplo, un telefono inalambrico u otros dispositivos tales como un asistente digital personal (PDA), dispositivo de computacion movil, camara, grabadora de video, reproductor de audio/vfdeo, dispositivo de posicionamiento, dispositivo de juego, dispositivo de television, dispositivo de radio, o varios otros dispositivos similares o combinaciones de los mismos. El segundo dispositivo de comunicacion 20 y el tercer dispositivo de comunicacion 25 pueden ser dispositivos de comunicacion moviles o fijos. Sin embargo, en un ejemplo, el segundo dispositivo de comunicacion 20 y el tercer dispositivo de comunicacion 25 pueden ser servidores, ordenadores remotos o terminales, tal como ordenadores personales (PCs) u ordenadores portatiles.
En una realizacion de ejemplo, la red 30 puede ser una red ad hoc o red distribuida dispuesta para ser un espacio inteligente. Por lo tanto, los dispositivos pueden entrar y/o salir de la red 30 y los dispositivos de la red 30 pueden ser capaces de realizar operaciones de ajuste sobre la base de la entrada y/o salida de otros dispositivos para tener en cuenta la adicion o sustraccion de respectivos dispositivos o nodos y sus capacidades correspondientes.
En una realizacion de ejemplo, el terminal movil, asf como el segundo y tercer dispositivos de comunicacion 20 y 25 pueden emplear un aparato (por ejemplo, el aparato de la figura 2) capaz de emplear una realizacion de la invencion.
La figura 2 ilustra un diagrama de bloques esquematico de un aparato para generar una o mas imagenes panoramicas. Una realizacion de ejemplo de la invencion se describira ahora con referencia a la figura 2, en la que se muestran ciertos elementos de un aparato 50. El aparato 50 de la figura. 2 se puede emplear, por ejemplo, en el terminal movil 10 (y/o el segundo dispositivo de comunicacion 20 o el tercer dispositivo de comunicacion 25). Alternativamente, el aparato 50 se puede realizar en un dispositivo de red de la red 30. Sin embargo, el aparato 50, alternativamente, se puede realizar en otros varios dispositivos, tanto moviles como fijos (tales como, por ejemplo, cualquiera de los dispositivos mencionados anteriormente). En algunos casos, una realizacion se puede emplear en una combinacion de dispositivos. Por consiguiente, una realizacion de la invencion puede realizarse totalmente en un solo dispositivo (por ejemplo, el terminal movil 10), mediante una pluralidad de dispositivos de una forma distribuida (por ejemplo, en uno o una pluralidad de dispositivos en una red P2P) o mediante dispositivos en una relacion de cliente/servidor. Ademas, debe tenerse en cuenta que los dispositivos o elementos descritos a continuacion pueden no ser obligatorios y, por lo tanto, algunos pueden omitirse en una cierta realizacion.
5
10
15
20
25
30
35
40
45
50
55
60
65
Con referencia ahora a la figura 2, el aparato 50 puede incluir o de otra manera estar en comunicacion con un procesador 70, una interfaz de usuario 67, una interfaz de comunicacion 74, un dispositivo de memoria 76, una pantalla 85, un modulo de generacion de panoramicas 78, un modulo de camara 36, un modulo de camara opcional 37, y un modulo de orientacion 79. En un ejemplo de realizacion, la pantalla 85 puede ser una pantalla tactil. El dispositivo de memoria 76 puede incluir, por ejemplo, una memoria volatil y/o no volatil. Por ejemplo, el dispositivo de memoria 76 puede ser un dispositivo de almacenamiento electronico (por ejemplo, un medio de almacenamiento legible por ordenador) que comprende puertas configuradas para almacenar datos (por ejemplo, bits) que se pueden recuperar mediante una maquina (por ejemplo, un dispositivo de computacion como el procesador 70). En un ejemplo de realizacion, el dispositivo de memoria 76 puede ser un dispositivo de memoria tangible que no es transitoria. El dispositivo de memoria 76 puede estar configurado para almacenar informacion (por ejemplo, ajustes de configuracion del dispositivo o de la red, etc.), datos, archivos, aplicaciones, instrucciones o similares para permitir que el aparato realice diversas funciones, de acuerdo con un ejemplo de realizacion de la invencion. Por ejemplo, el dispositivo de memoria 76 se podrfa configurar para almacenar de manera intermedia datos de entrada para su procesamiento mediante el procesador 70. Adicional o alternativamente, el dispositivo de memoria 76 se podrfa configurar para almacenar instrucciones para su ejecucion mediante el procesador 70. Como otra alternativa, el dispositivo de memoria 76 puede ser uno de una pluralidad de bases de datos que almacenan informacion y/o contenido de medios (por ejemplo, imagenes (por ejemplo, imagenes panoramicas), fotograffas, videos, etc.).
El aparato 50 puede, en una realizacion, ser un terminal movil (por ejemplo, el terminal movil 10) o un dispositivo de comunicacion fijo o dispositivo de computacion configurado para emplear una realizacion de ejemplo de la invencion. Sin embargo, en una realizacion, el aparato 50 se puede realizar como un chip o conjunto de chips. En otras palabras, el aparato 50 puede comprender uno o mas paquetes ffsicos (por ejemplo, chips), incluyendo materiales, componentes y/o cables en un conjunto estructural (por ejemplo, una placa base). El conjunto estructural puede proporcionar resistencia ffsica, conservacion de su tamano, y/o limitacion de la interaccion electrica para circuitos de componentes incluidos en el mismo. El aparato 50 puede, por lo tanto, en algunos casos, configurarse para implementar una realizacion de la invencion en un solo chip o como un solo "sistema en un chip". Como tal, en algunos casos, un chip o conjunto de chips pueden constituir medios para realizar una o mas operaciones para proporcionar las funcionalidades descritas en el presente documento. Adicional o alternativamente, el chip o conjunto de chips pueden constituir medios para permitir la navegacion de interfaz de usuario con respecto a las funcionalidades y/o servicios descritos en el presente documento.
El procesador 70 puede realizarse en un numero de diferentes maneras. Por ejemplo, el procesador 70 se puede realizar como una o mas de diversos medios de tratamiento, tal como un coprocesador, un microprocesador, un controlador, un procesador de senal digital (DSP), circuitos de procesamiento con o sin un DSP adjunto, o varios otros dispositivos de procesamiento, incluyendo circuitos integrados tales como, por ejemplo, un ASIC (circuito integrado de aplicacion especffica), una FPGA (matriz de puertas programable en campo), una unidad de microcontrolador (MCU), un acelerador de hardware, un chip de ordenador de proposito especial, o similares. En un ejemplo de realizacion, el procesador 70 puede estar configurado para ejecutar instrucciones almacenadas en el dispositivo de memoria 76 o de otro modo accesible al procesador 70. Como tal, si se configura mediante metodos de hardware o software, o mediante una combinacion de los mismos, el procesador 70 puede representar una entidad (por ejemplo, realizada ffsicamente en los circuitos) capaz de realizar operaciones de acuerdo con una realizacion de la invencion, mientras se configure en consecuencia. Asf, por ejemplo, cuando el procesador 70 se realiza como un ASIC, FPGA o similares, el procesador 70 puede hardware ser configurado especfficamente para la realizacion de las operaciones descritas en este documento. Alternativamente, como otro ejemplo, cuando el procesador 70 esta configurado como un ejecutor de instrucciones de software, las instrucciones pueden configurar especfficamente el procesador 70 para realizar los algoritmos y las operaciones descritas en el presente documento cuando se ejecutan las instrucciones. Sin embargo, en algunos casos, el procesador 70 puede ser un procesador de un dispositivo especffico (por ejemplo, un terminal movil o dispositivo de red) adaptado para el empleo de una realizacion de la invencion mediante una configuracion adicional del procesador 70 mediante instrucciones para realizar los algoritmos y las operaciones que se describen en el presente documento. El procesador 70 puede incluir, entre otras cosas, un reloj, una unidad logica aritmetica (ALU) y puertas logicas configuradas para soportar la operacion del procesador 70.
En una realizacion de ejemplo, el procesador 70 puede estar configurado para operar un programa de conectividad, tal como un navegador, navegador Web o similares. En este sentido, el programa de conectividad puede habilitar el aparato 50 para transmitir y recibir contenido web, tal como, por ejemplo, contenido basado en la ubicacion o cualquier otro contenido adecuado, de acuerdo con un protocolo de aplicacion inalambrica (WAP), por ejemplo.
Mientras tanto, la interfaz de comunicacion 74 puede ser cualquier medio, tal como un dispositivo o circuito realizado en hardware, un producto de programa informatico, o una combinacion de hardware y software que esta configurado para recibir y/o transmitir datos desde/a una de red y/o cualquier otro dispositivo o modulo en comunicacion con el aparato 50. A este respecto, la interfaz de comunicacion 74 puede incluir, por ejemplo, una antena (o antenas multiples) y hardware y/o software de soporte para habilitar comunicaciones con una red de comunicacion inalambrica (por ejemplo, la red 30). En entornos fijos, la interfaz de comunicacion 74 puede soportar, alternativamente o, ademas, comunicacion por cable. Como tal, la interfaz de comunicacion 74 puede incluir un modem de comunicacion y/u otro hardware/software para soportar comunicacion a traves de cable, lfnea de
5
10
15
20
25
30
35
40
45
50
55
60
65
abonado digital (DSL), bus serie universal (USB), Ethernet u otros mecanismos.
La interfaz de usuario 67 puede estar en comunicacion con el procesador 70 para recibir una indicacion de una entrada de usuario en la interfaz de usuario 67 y/o para proporcionar una salida audible, visual, mecanica o de otro tipo para el usuario. Como tal, la interfaz 67 de usuario puede incluir, por ejemplo, un teclado, un raton, una palanca de mando, una pantalla, una pantalla tactil, un microfono, un altavoz, u otros mecanismos de entrada/salida. En un ejemplo de realizacion en el que el aparato esta configurado como un servidor o algunos otros dispositivos de red, la interfaz de usuario 67 puede estar limitada, situada de manera remota, o eliminada. El procesador 70 puede comprender circuitos de interfaz de usuario configurados para controlar al menos algunas funciones de uno o mas elementos de la interfaz de usuario, tales como, por ejemplo, un altavoz, un timbre, un microfono, una pantalla, y/o similares. El procesador 70 y/o los circuitos de interfaz de usuario que comprende el procesador 70 pueden estar configurados para controlar una o mas funciones de uno o mas elementos de la interfaz de usuario a traves de instrucciones de programa informatico (por ejemplo, software y/o firmware) almacenados en una memoria accesible para el procesador 70 (por ejemplo, dispositivo de memoria 76, y/o similares).
El aparato 50 incluye uno o mas elementos de captura de medios, tal como un modulo de la camara 36 y, opcionalmente, un modulo de camara 37. El modulo de camara 36 y/o el modulo de camara 37 pueden incluir un modulo de camara, video y/o audio, en comunicacion con el procesador 70 y la pantalla 85. El modulo de camara 36 y/o el modulo de camara 37 pueden ser cualquier medio para la captura de una(s) imagen(es), de video y/o audio para el almacenamiento, visualizacion o transmision. El modulo de camara 36 y/o el modulo de camara 37 pueden, pero no necesitan, ser camaras estereoscopicos (tambien denominadas en este documento como estereo) o cualesquiera otras camaras adecuadas. En un ejemplo de realizacion, los modulos de camara 36, 37 pueden capturar automaticamente imagenes de la misma informacion (por ejemplo, una escena) desde dos puntos de vista diferentes. Por ejemplo, el modulo de camara 36 puede capturar una(s) imagen(es) de informacion desde un punto de vista y el modulo de camara 37 puede capturar una(s) imagen(es) de la misma informacion desde un punto de vista diferente. Como tal, el modulo de camara 36 y/o el modulo de camara 37 pueden capturar dos imagenes ligeramente diferentes de la misma informacion. El modulo de generacion de panoramicas 78 puede analizar los datos (por ejemplo, datos de imagenes) de estas dos imagenes para determinar datos de los mapas de profundidad para cada imagen, como se describe mas completamente a continuacion. En un ejemplo de realizacion alternativa, el modulo de camara 36 puede capturar automaticamente dos imagenes de la misma informacion desde dos puntos de vista diferentes.
En un ejemplo de realizacion, el modulo de camara 36 y/o el modulo de camara 37 pueden utilizar una o mas imagenes capturadas para generar una o mas imagenes panoramicas, como se describe mas completamente a continuacion. El modulo de camara 36 y/o el modulo de camara 37 pueden incluir una camara digital capaz de formar un(os) archivo(s) de imagen digital de una(s) imagen(es) capturada(s). Como tal, el modulo de camara 36 y/o el modulo de camara 37 pueden incluir todo el hardware, tal como una lente u otro(s) componente(s) optico(s), y el software necesario para la creacion de un archivo de imagen digital a partir de una imagen capturada. Alternativamente, el modulo de camara 36 y/o el modulo de camara 37 pueden incluir solo el hardware necesario para ver una imagen, mientras que un dispositivo de memoria (por ejemplo, el dispositivo de memoria 76) del aparato 50 almacena instrucciones para su ejecucion mediante el procesador 70 en la forma de software necesario para crear un archivo de imagen digital a partir de una imagen capturada. En un ejemplo de realizacion, el modulo de camara 36 y/o el modulo de camara 37 pueden incluir ademas un elemento de procesamiento, tal como un coprocesador, que ayuda a que el procesador 70 y/o el modulo de generacion de panoramicas 78 en el procesamiento de datos de imagenes y un codificador y/o decodificador para comprimir y/o descomprimir los datos de las imagenes. El codificador y/o decodificador pueden codificar y/o decodificar de acuerdo con un formato estandar de grupo de expertos fotograficos conjunto (JPEG) u otro formato similar. En algunos casos, el modulo de camara 36 y/o el modulo de camara 37 pueden proporcionar datos de imagen en vivo a la pantalla 85. En este sentido, el modulo de camara 36 y/o el modulo de camara 37 pueden facilitar o proporcionar una vista de la camara a la pantalla 85 para mostrar datos en tiempo real de imagenes, datos de imagenes fijas, datos de video, o cualquier otro dato adecuado. Ademas, en una realizacion de ejemplo, la pantalla 85 puede estar situada en un lado del aparato 50 y el modulo de camara 36 y/o el modulo de camara 37 puede incluir una lente colocada en el lado opuesto del aparato 50 con respecto a la pantalla 85 para permitir que el modulo de camara 36 y/o el modulo de la camara 37 capturen imagenes en un lado del aparato 50 y presentan una vista de tales imagenes al usuario colocado en el otro lado del aparato 50.
En un ejemplo de realizacion, el aparato 50 puede incluir ademas (o estar en comunicacion con) un modulo de orientacion 79. El modulo de orientacion 79 puede ser cualquier medio, tal como un dispositivo o circuito de realizado en hardware o una combinacion de hardware y software, que esta configurado para determinar la orientacion del aparato 50 y/o del campo de vision (por ejemplo, un(os) punto(s) de vista) del modulo de camara 36 y/o del modulo de camara 37 del aparato 50. El modulo de orientacion 79 puede estar en comunicacion con el modulo de generacion de panoramicas 78.
El modulo de orientacion 79 puede estar configurado para determinar la orientacion del aparato 50 respecto a una referencia. En algunos casos, la referencia puede ser una direccion particular, tal como el norte u otra direccion cardinal. Sin embargo, tambien se podrfan emplear otras referencias. Como tal, en una realizacion, el modulo de
5
10
15
20
25
30
35
40
45
50
55
60
65
orientacion 79 puede incluir una brujula u otro sensor de orientacion configurado para determinar el encabezado del aparato 50 o la direccion en la que la lente del modulo de camara 36 y/o del modulo de camara 37 esta apuntando. La direccion o encabezado puede determinarse en terminos de grados (por ejemplo, de 0 a 360 grados) de desplazamiento desde la referencia. En algunos casos, la referencia puede ser fija (por ejemplo, una referencia direccional fija), mientras que, en otros casos, la referencia puede ser una referencia de oportunidad como una caracterfstica destacada en una imagen captada por el modulo de camara 36 y/o el modulo de camara 37 o simplemente una orientacion inicial. En una realizacion, el modulo de orientacion 79 puede incluir una brujula electronica, un sensor de horizonte, un sensor de gravedad, un acelerometro, un giroscopio, un magnetometro y/o similares, o cualquier otro sensor que pueda ser util en la determinacion de la informacion de orientacion.
En una realizacion de ejemplo, el procesador 70 se puede realizar como que incluye, o controla de otro modo, el modulo de generacion de panoramicas 78. El modulo de generacion de panoramicas 78 puede ser cualquier medio tal como un dispositivo o circuitos que operan de acuerdo con software o realizado de otro modo en hardware o una combinacion de hardware y software (por ejemplo, el procesador 70 opera bajo control de software, el procesador 70 realizado como un ASIC o FPGA especfficamente configurado para realizar las operaciones descritas en el presente documento, o una combinacion de las mismas) configurando de esta manera el dispositivo o los circuitos para realizar las correspondientes funciones del modulo de generacion de panoramicas 78, como se describe a continuacion. Asf, en un ejemplo en el que se emplea software, un dispositivo o circuito (por ejemplo, el procesador 70 en un ejemplo) que ejecuta el software forma la estructura asociada a tales medios.
El modulo de generacion de panoramicas 78 puede analizar las imagenes captadas por el modulo de camara 36 y/o por el modulo de camara 37 para generar una o mas imagenes panoramicas correspondientes basadas en parte en la utilizacion de los datos de mapa de profundidad. En un ejemplo de realizacion, el modulo de generacion de panoramicas 78 puede determinar los datos del mapa de profundidad de una(s) imagen(es) capturada(s) basandose en una distancia desde un punto en el que se capturo la(s) imagen(es). Para fines de ilustracion y no de limitacion, en un caso en que el modulo de camara 36 puede capturar una imagen de un edificio con montanas en el fondo a una cierta distancia, el modulo de generacion de panoramicas 78 puede determinar que la imagen capturada tiene datos de mapa de profundidad en proporcion a la distancia desde el modulo de camara 36 a los elementos de informacion (por ejemplo, los datos de imagen digitales de la construccion y de las montanas) que se capturan mediante el modulo de camara 36. Como otro ejemplo, en un caso en el que un usuario del aparato 50 se mueve mas cerca de las montanas y utiliza el modulo de camara 36 para capturar otra imagen del edificio y de las montanas, el modulo de generacion de panoramicas 78 puede determinar que la imagen capturada tiene datos del mapa de profundidad diferentes basandose en parte en la proporcion de la distancia mas cerca del modulo de camara 36 a los elementos de informacion (por ejemplo, datos de imagen digitales de la construccion y las montanas) que se capturan mediante el modulo de camara 36. A este respecto, los datos del mapa de profundidad pueden, pero no necesariamente, referirse en parte a diferentes distancias desde objetos que se capturan mediante un modulo de camara (por ejemplo, el modulo de camara 36, el modulo de camara 37).
Adicional o alternativamente, el modulo de generacion de panoramicas 78 puede utilizar las dos imagenes ligeramente diferentes de la misma informacion (por ejemplo, una escena) que pueden ser captadas automaticamente por el modulo de camara 36 y/o el modulo de camara 37, respectivamente, para calcular los datos del mapa de profundidad basados en parte en los diferentes puntos de vista en los que se capturan las dos imagenes. Por ejemplo, en un caso en que el modulo de camara 36 captura una imagen de una escena utilizando un punto de vista, y el modulo de camara 37 captura una imagen de la misma escena desde un punto de vista diferente, el modulo de generacion de panoramicas 78 puede determinar datos del mapa de profundidad de las 2 imagenes capturadas.
El modulo de generacion de panoramicas 78 puede generar una o mas imagenes panoramicas basadas en parte en el analisis de una o mas imagenes cosidas y datos del mapa de profundidad de las imagenes capturadas correspondientes, como se describe con mas detalle a continuacion. Ademas, el modulo de generacion de panoramicas 78 puede generar las imagenes panoramicas basadas en parte en el rendimiento: (1) registro de pares de imagenes facilitadas por el mapa de profundidad de datos; (2) deformacion y correccion de color de los pares de imagenes; (3) facilitar el etiquetado de la(s) region(es) de solapado entre los pares de imagenes utilizando datos del mapa de profundidad; y (4) facilitar la fusion de las imagenes utilizando los datos de los mapas de profundidad para generar al menos una imagen de pares de imagenes (por ejemplo, dos imagenes).
Tal como se contempla en el presente documento, el registro puede ser una tecnica realizada por el modulo de generacion de panoramicas 78 en el que la perspectiva de las imagenes adyacentes (por ejemplo, pares de imagenes) puede calcularse e integrarse en una matriz (tambien denominada en este documento como matriz de registro), mediante el modulo de generacion de panoramicas 78. Sobre la base de esta matriz generada por el modulo de generacion de panoramicas 78, las dos imagenes pueden deformarse para alinear las imagenes en un colector. El modulo de generacion de panoramicas 78 puede reducir al mfnimo los errores que se pueden presentar mediante tecnicas convencionales, ya que un pequeno error en el calculo de la matriz de registro puede resultar en una mala calidad de la imagen de salida, ya que las dos imagenes se pueden encajar en coordenadas incorrectas. En un ejemplo de realizacion, para calcular la matriz de registro, el modulo de generacion de panoramicas 78 puede determinar una correspondencia entre puntos de esquina en las dos imagenes adyacentes en una o mas regiones
5
10
15
20
25
30
35
40
45
50
55
60
65
de solapado. El modulo de generacion de panoramicas 78 puede utilizar esta(s) correspondencia(s) para determinar los elementos de la matriz de registro para obtener la matriz de registro final.
En la realizacion del registro, el modulo de generacion de panoramicas 78 puede utilizar los datos del mapa de profundidad para proporcionar informacion de profundidad para cada pixel capturado en una o mas imagenes (por ejemplo, dos imagenes adyacentes) mediante el modulo de camara 36 y/o el modulo de camara 37. En este sentido, el modulo de generacion de panoramicas 78 puede realizar el registro basado en parte en la utilizacion del mapa de profundidad de las dos imagenes adyacentes (por ejemplo, pares de imagenes) capturadas por el modulo de camara 36 (o, alternativamente, el modulo de camara 37), en el que las imagenes pueden dividirse en multiples planos (por ejemplo, planos de profundidad), y en el que cada plano puede ser, o puede incluir, una imagen formada por pixeles que pertenecen a un intervalo de valores de profundidad, como se muestra en la figura 3. En la figura 3, la imagen 1 y la imagen 2 puede ser imagenes capturadas adyacentes con alrededor del 50 % de solapamiento entre las imagenes. Como se muestra en la figura 3, hay dos planos de profundidad (por ejemplo, el plano de profundidad 1, el plano de profundidad 2) para las imagenes que se muestran por separado, para ambas imagenes. En el ejemplo de realizacion de la figura 3, el modulo de generacion de panoramicas 78 puede determinar, por ejemplo, que el plano de profundidad 1 esta mas cerca de la camara (por ejemplo, del modulo de camara 36), en comparacion con el plano de profundidad 2. En el ejemplo de realizacion de la figura 3, la imagen 1 y la imagen 2 pueden ser, pero necesariamente, pares de imagenes adyacentes capturadas por el modulo de camara 36 (o, alternativamente, el modulo de camara 37). Por ejemplo, en respuesta a la recepcion de una indicacion para capturar una imagen, el modulo de camara 36 puede captar automaticamente una imagen de acuerdo con un punto de vista y el modulo de camara 37 puede captar automaticamente una imagen B, sustancialmente de manera simultanea con la captura de la imagen A, de acuerdo con un punto de vista diferente. En este sentido, el modulo de generacion de panoramicas 78 puede determinar los datos del mapa de profundidad (por ejemplo, el plano de profundidad 1 y el plano de profundidad 2), ya sea para la imagen A o la imagen B. Ademas, en el ejemplo de realizacion de la figura 3, el modulo de generacion de panoramicas 78 puede determinar que las imagenes (por ejemplo, las imagenes 1 y 2) asociadas al plano de profundidad 1 corresponden a los datos de la imagen de un edificio 71. Por otra parte, el modulo de generacion de panoramicas 78 puede determinar que las imagenes (por ejemplo, las imagenes 1 y 2) asociadas al plano de profundidad 2 corresponden a los datos de la imagen de una o mas montanas 73.
Para crear un panorama de la primera y segunda imagenes (por ejemplo, las imagenes 1 y 2), el modulo de generacion de panoramicas 78 puede identificar un(os) solapamiento(s) entre una primera imagen (por ejemplo, Imagen 1) y una segunda imagen (por ejemplo, Imagen 2) de un par de imagenes. A este respecto, en la realizacion del registro, el modulo de generacion de panoramicas 78 puede utilizar los datos asociados al solapamiento identificado para determinar o calcular una o mas correspondencias de esquina de las imagenes para cada uno de los planos de profundidad. Para fines de ilustracion y no de limitacion, con respecto al plano de profundidad 1, el modulo de generacion de panoramicas 78 puede determinar una region correspondiente de solapamiento (por ejemplo, la region de solapado 61 y la region de solapado 65) del edificio 71 en las imagenes 1 y 2 para el plano de profundidad 1 y puede determinar una correspondencia entre uno o mas puntos de esquina en las imagenes 1 y 2 (por ejemplo, dos imagenes adyacentes). Como se refiere en el presente documento, un "punto(s) de esquina" o una "correspondencia(s) de esquina" pueden referirse a una o mas esquinas en una region de solapado de dos imagenes adyacentes para un plano de profundidad correspondiente. Como tal, el modulo de generacion de panoramicas 78 puede determinar una o mas esquinas en una region de solapado de la imagen 1 para el plano de profundidad 1 que se ajustan o corresponden a las esquinas en la imagen 2 para el plano de profundidad 1. En este sentido, por ejemplo, el modulo de generacion de panoramicas 78 puede determinar que la coordenada 75 del edificio 71 corresponde a un punto de esquina en la imagen 1 y en la imagen 2 para el plano de profundidad 1. Adicional o alternativamente, por ejemplo, el modulo de generacion de panoramicas 78 puede determinar que el fondo 72 del edificio 71 corresponde a un punto de esquina en la imagen 1 y en la imagen 2 para el plano de profundidad 1. Cabe senalar que el modulo de generacion de panoramicas 78 puede determinar cualesquiera otros puntos de esquina adecuados para las imagenes 1 y 2 para el plano de profundidad 1.
De una manera similar, el modulo de generacion de panoramicas 78 puede determinar que una porcion 77 de las montanas 73 esta asociada a un(os) punto(s) de esquina en una region de solapado (por ejemplo, region de solapado 62) en la imagen 1 que se ajusta o se corresponde a punto(s) de esquina en la region de solapado (por ejemplo, region de solapado 64) en la imagen 2 para el plano de profundidad 2. Cabe senalar que el modulo de generacion de panoramicas 78 puede determinar cualesquiera otros puntos de esquina adecuados para las imagenes 1 y 2 para el plano de profundidad 2 sin apartarse del espiritu y del alcance de la invencion. En respuesta a la determinacion de las correspondencias de esquina para las imagenes 1 y 2 en los planos de profundidad 1 y 2, el modulo de generacion de panoramicas 78 puede utilizar las correspondencias de esquina determinadas para estimar o calcular la matriz de registro. Mediante el calculo de los puntos de esquina de pares de imagenes adyacentes en cada plano de profundidad separado del modulo de generacion de panoramicas 78, se pueden determinar correspondencias de esquina mas fiables que algunos mecanismos tradicionales/convencionales de calculo de correspondencias. Por ejemplo, algunos mecanismos tradicionales/convencionales que pueden no utilizar datos del mapa de profundidad para el calculo de las correspondencias de esquina, por ejemplo, pueden determinar que un punto de esquina del edificio 71 se refiere a un punto de esquina correspondiente de las montanas 73. Este tipo de error puede resultar en la generacion de una imagen panoramica con una calidad reducida.
5
10
15
20
25
30
35
40
45
50
55
60
65
En un ejemplo de realizacion alternativa, el modulo de generacion de panoramicas 78 puede determinar una o mas correspondencias de esquina de pares de imagenes adyacentes (por ejemplo, la imagen 1 y la imagen 2) sin utilizar ninguna informacion del mapa de profundidad (por ejemplo, datos del plano de profundidad 1 y/o datos del plano de profundidad 2). En este ejemplo de realizacion, las correspondencias de esquina determinadas por el modulo de generacion de panoramicas 78 pueden verificarse de manera cruzada para determinar si las correspondencias de esquina estan en el mismo plano de profundidad. En este sentido, en un caso en el que el modulo de generacion de panoramicas 78 puede determinar que las correspondencias de esquina calculadas (por ejemplo, un punto de correspondencia relativo al arco 75 del edificio 71 se ajusta a un punto de una porcion 77 de las montanas 73) no estan en el mismo plano de profundidad (por ejemplo, el plano de profundidad 1) y, como tal, el modulo de generacion de panoramicas 78 puede determinar que estos puntos de esquina pueden ser eliminados de procesamiento adicional mediante el modulo de generacion de panoramicas 78. Por otro lado, en un caso en el que el modulo de generacion de panoramicas 78 puede determinar que las correspondencias de esquina calculadas (por ejemplo, puntos de correspondencia relacionados con el arco 75 de las imagenes 1 y 2) estan en el mismo plano de profundidad (por ejemplo, el plano de profundidad 1), el modulo de generacion de panoramicas 78 puede verificar que los puntos de correspondencia calculados son validos y pueden usar los puntos de correspondencia calculados en la determinacion de la matriz de registro.
En un ejemplo de realizacion en el calculo de la matriz de registro, el modulo de generacion de panoramicas 78 puede identificar o determinar la deformacion de las imagenes asociadas a la distorsion de la imagen 1 con respecto a la imagen 2 del par de imagenes adyacentes. La deformacion identificada de las imagenes 1 y 2 puede estar basada en la distorsion asociada a las imagenes 1 y 2. La distorsion puede estar asociada a las imagenes 1 y 2 que se capturan. En un ejemplo de realizacion, la deformacion identificada/determinada puede ser utilizada por el modulo de generacion de panoramicas 78 para corregir la distorsion de la imagen asociada a las imagenes 1 y 2.
En la generacion de una o mas imagenes panoramicas, el modulo de generacion de panoramicas 78 tambien puede realizar una tecnica de etiquetado. Para realizar el etiquetado, el modulo de generacion de panoramicas 78 puede determinar o identificar una(s) costura(s) en una region de solapado entre dos imagenes adyacentes (por ejemplo, la imagen 1 y la imagen 2), que tienen una distorsion minima, y a traves de la cual las dos imagenes se pueden mezclar mediante el modulo de generacion de panoramicas 78.
En un ejemplo de realizacion, el modulo de generacion de panoramicas 78 puede utilizar datos del mapa de profundidad, en parte, para realizar el etiquetado y tecnicas de mezcla. Los datos del mapa de profundidad pueden proporcionar la profundidad asociada a cada pixel de las dos imagenes adyacentes en una(s) escena(s). El modulo de generacion de panoramicas 78 puede realizar la tecnica de etiquetado, en parte, mediante el uso de los datos del mapa de profundidad, en el que dos imagenes adyacentes (por ejemplo, pares de imagenes) (por ejemplo, las imagenes 1 y 2), se pueden dividir en varios planos (por ejemplo, planos de profundidad), donde cada plano (por ejemplo, plano de profundidad) puede ser o puede incluir una imagen formada por pfxeles que pertenecen a un intervalo de valores de profundidad, como se muestra en la figura 3. Como se describio anteriormente, la imagen 1 y la imagen 2 pueden ser imagenes adyacentes con alrededor del 50 % de solapamiento entre las imagenes 1 y 2. El modulo de generacion de panoramicas 78 tambien puede determinar la deformacion de las imagenes 1 y 2 y puede colorear las imagenes correctas 1 y 2.
El modulo de generacion de panoramicas 78 puede realizar el etiquetado en cada uno de los planos (por ejemplo, planos de profundidad 1 y 2) en la(s) region(es) de solapado entre las dos imagenes adyacentes, (por ejemplo, las imagenes 1 y 2), como se muestra en las figuras 4A y 4B, y tal como se describe mas completamente a continuacion. En un ejemplo de realizacion alternativa, el modulo de generacion de panoramicas 78 puede realizar el etiquetado en un plano o un menor numero de planos que los planos multiples que pueden estar disponibles, como se muestra en la figura 5 y como se describe mas completamente a continuacion.
Con referencia ahora a las figuras 4A, 4B y 4C, se proporciona un diagrama que ilustra el etiquetado y la mezcla de imagenes asociadas a planos de profundidad para generar una o mas imagenes panoramicas. En la realizacion de ejemplo de las figuras 4A, 4B y 4C, el modulo de generacion de panoramicas 78 pueden coser (o generar una(s) costura(s)) las dos imagenes adyacentes (por ejemplo, las imagenes 1 y 2) en un caso en que el modulo de generacion de panoramicas 78 puede realizar el etiquetado y la mezcla de ambos planos de profundidad 1 y 2 para generar una(s) imagen(es) panoramica(s) correspondiente(s). En este sentido, el modulo de generacion de panoramicas 78 puede determinar donde una porcion de la imagen 1 en termina la region de solapado correspondiente y donde se inicia una porcion de la imagen 2 en la region de solapado correspondiente para los planos de profundidad 1 y 2.
Para generar el cosido, el modulo de generacion de panoramicas 78 puede entrar (por ejemplo, superponer) un objeto geometrico (por ejemplo, una lfnea) que indica una costura 57 en un punto en el que el modulo de generacion de panoramicas 78 determina el final de los datos de la imagen 1 y el inicio de los datos de la imagen 2 en la region de solapado 51 correspondiente entre la imagen 1 y la imagen 2 para el plano de profundidad 1. Como tal, el modulo de generacion de panoramicas 78 puede determinar que toda la porcion de los datos a la izquierda de la costura 57 corresponden a la imagen 1 y que toda la porcion de los datos a la derecha de la costura 57 corresponden con la imagen 2. Como tal, el modulo de generacion de panoramicas 78 puede determinar que mediante el cosido de la
5
10
15
20
25
30
35
40
45
50
55
60
65
imagen 1 y de la imagen 2 a lo largo del objeto geometrico que indica la costura optima generada 57 (por ejemplo, una costura virtual), el modulo de generacion de panoramicas 78 puede generar una unica imagen (por ejemplo, una imagen compuesta de las imagenes 1 y 2) a partir de la imagen 1 y la imagen 2 correspondientes al plano de profundidad 1.
Para generar un cosido para las imagenes 1 y 2 en el plano de profundidad 2, el modulo de generacion de panoramicas 78 puede entrar un objeto geometrico (por ejemplo, una lfnea) que indica una costura 54 en un punto en el que el modulo de generacion de panoramicas 78 puede determinar el final de los datos de la imagen 1 y el inicio de los datos de la imagen 2 en la region de solapado 50 correspondiente entre la imagen 1 y la imagen 2 para el plano de profundidad 2. Como tal, el modulo de generacion de panoramicas 78 puede determinar que toda la porcion de los datos a la izquierda de la costura 54 corresponden a la imagen 1 y que toda la porcion de los datos a la derecha de la costura 54 corresponden con la imagen 2 para el plano de profundidad 2. En este sentido, el modulo de generacion de panoramicas 78 puede determinar que mediante el cosido de la imagen 1 y de la imagen 2 a lo largo del objeto geometrico que indica la costura optima generada 54 (por ejemplo, una costura virtual), el modulo de generacion de panoramicas 78 puede generar una unica imagen (por ejemplo, una imagen compuesta de las imagenes 1 y 2) a partir de la imagen 1 y la imagen 2 correspondientes al plano de profundidad 2. Cabe senalar que el(los) objeto(s) geometrico(s) utilizado(s) por el modulo de generacion de panoramicas 78 para generar una(s) costura(s) optima(s) puede ser una lfnea (por ejemplo, una lfnea vertical) o cualquier otro objeto geometrico adecuado (por ejemplo, un arco circular o cualquier curva de forma libre). En este sentido, el(los) objeto(s) geometrico(s), generado por el modulo de generacion de panoramicas 78 puede ser cualquier objeto(s) geometrico(s) que pueden abarcar una porcion superior de una(s) imagen(es) (por ejemplo, las imagenes 1 y 2 para el plano de profundidad 1) en una region de solapado (por ejemplo, la region de solapado 51) y que puede extenderse sobre una porcion inferior de la(s) imagen(es) correspondiente(s) (por ejemplo, las imagenes 1 y 2 para el plano de profundidad 1).
El modulo de generacion de panoramicas 78 puede utilizar los datos asociados a las costuras 57 y 54 para generar una imagen cosida finalizada, como se muestra en la figura 4C. A este respecto, la imagen final cosida 55 generada por el modulo de generacion de panoramicas 78 puede basarse en parte en datos del plano de profundidad 1 y del plano de profundidad 2. En la realizacion de ejemplo de la figura 4C, el modulo de generacion de panoramicas 78 puede determinar que todas las porciones de una region (por ejemplo, la region a) de datos de imagen a la izquierda de la costura 57 corresponden a la imagen 1 en el plano de profundidad 1. Ademas, el modulo de generacion de panoramicas 78 puede determinar que todas las porciones de una region (por ejemplo, la region b) de datos de imagen a la derecha de la costura 57 corresponden a la imagen 2 en el plano de profundidad 1. Ademas, el modulo de generacion de panoramicas 78 puede determinar que todas las porciones de una region (por ejemplo, la region c) de datos de imagen a la izquierda de la costura 54 corresponden a la imagen 1 en el plano de profundidad 2. El modulo de generacion de panoramicas 78 tambien puede determinar que todas las porciones de una region (por ejemplo, la region d) de datos de imagen a la derecha de la costura 54 corresponden a la imagen 2 en el plano de profundidad 2. En este sentido, el modulo de generacion de panoramicas 78 puede utilizar las costuras 54, 57 para generar la unica imagen finalizada cosida 55 para los planos de profundidad 1 y 2, como se muestra en la figura 4C.
En respuesta a la generacion de la imagen cosida acabada 55, el modulo de generacion de panoramicas 78 puede mezclar la costura 57 en el plano de profundidad 1 y la costura 54 en el plano de profundidad 2, de modo que las costuras 57 y 54 pueden no ser visibles. El modulo de generacion de panoramicas 78 puede mezclar las costuras mediante propagacion a traves de las costuras 57 y 54. En respuesta a la finalizacion de la mezcla de las costuras 57, 54, el modulo de generacion de panoramicas 78 puede generar (o emitir) la(s) correspondiente imagen(es) panoramica(s) generada(s) correspondientes a los dos pares de imagenes (por ejemplo, las imagenes 1 y 2) asociadas a los datos del mapa de profundidad relativos a los planos de profundidad 1 y 2. En este sentido, el modulo panoramico 78 puede generar una(s) imagen(es) panoramica(s) de alta calidad.
En una realizacion de ejemplo, el modulo de generacion de panoramicas 78 puede permitir el suministro de la visualizacion, a traves de la pantalla 85, de la(s) imagen(es) panoramica(s) generada(s), imprimiendo la(s) imagen(es) panoramica(s) generada (s), compartiendo la(s) imagen(es) panoramica(s) generada(s) con otros aparatos 50 o realizando cualquier otra(s) tarea(s) adecuada (s) o accion(es) asociada(s) a la(s) imagen(es) panoramica(s) generada(s).
Con referencia ahora a la figura 5, se proporciona un diagrama que ilustra el etiquetado y la mezcla realizada en uno de los dos planos de profundidad. En la realizacion de ejemplo de la figura 5, el modulo de generacion de panoramicas 78 puede seleccionar un plano de profundidad que tiene una calidad mas alta para unir al menos dos imagenes adyacentes (por ejemplo, la imagen 1 y la imagen 2) a traves de una costura. En la realizacion de ejemplo de la figura 5, el modulo panoramico 78 puede determinar que el plano de profundidad 2 tiene una calidad mejor/superior que el plano de profundidad 1. Por ejemplo, en este ejemplo de realizacion, el modulo de generacion de panoramicas 78 puede determinar que los datos de imagen de las montanas 73 en el plano de profundidad 2 se centran mas que los datos de imagen del edificio 71 en el plano de profundidad 1 y, como tal, el modulo de generacion de panoramicas 78 puede determinar que el plano profundidad 2 tiene una calidad mejor/superior que el plano de profundidad 1.
Mediante la determinacion de que la profundidad 2 tiene la mas alta calidad, el modulo de generacion de
5
10
15
20
25
30
35
40
45
50
55
60
65
panoramicas 78 puede utilizar la costura 54 del plano de profundidad 2 (vease, por ejemplo, la figura 4B) para generar una imagen final cosida correspondiente a imagenes adyacentes 1 y 2. Como tal, el modulo de generacion de panoramicas 78 puede determinar que la region (por ejemplo, region a) a la izquierda de la costura 54 corresponde a los datos de imagen de la imagen 1 con respecto al plano de profundidad 1, como se muestra en la figura 5. Ademas, el modulo de generacion de panoramicas 78 puede determinar que la region (por ejemplo, region b) a la derecha de la costura 54 se corresponde con la imagen 2 en el plano de profundidad 2. En este sentido, el modulo de generacion de panoramicas 78 puede utilizar la costura 54 para coser las imagenes 1 y 2 juntas para generar una imagen final cosida 80. En respuesta a la generacion de la imagen final cosida 80, el modulo de generacion de panoramicas 78 puede realizar la mezcla en la costura 54, de manera que la costura 54 puede no ser ya visible. Una vez completada la mezcla, el modulo de generacion de panoramicas 78 puede generar una(s) imagen(es) panoramica(s) correspondiente(s) a las imagenes 1 y 2 asociadas a los planos de profundidad 1 y 2.
Cabe senalar que en la imagen cosida final 80 del ejemplo de realizacion de la figura 5, el modulo de generacion de panoramicas 78 puede determinar que los datos de imagen 81 se corresponde con el suelo debajo del edificio 71 y que los datos de imagen 83 se corresponde con el cielo. Ademas, en un ejemplo de realizacion alternativo, el modulo de generacion de panoramicas 78 puede determinar que el plano de profundidad 1 tiene una calidad superior al plano de profundidad 2 y puede utilizar la costura 57 (vease, por ejemplo, la figura 4A) para generar una imagen cosida final. En este ejemplo de realizacion alternativo, por ejemplo, el modulo de generacion de panoramicas 78 puede determinar que los datos de la imagen del edificio 71 pueden estar mas centrados que los datos de imagen de las montanas 73 y en este sentido el modulo de generacion de panoramicas 78 puede utilizar la costura 57 del plano de profundidad 1 para generar la imagen final cosida de las imagenes 1 y 2.
Cabe senalar que, aunque se utilizaron dos planos de profundidad para realizar el registro, el etiquetado y la mezcla, en una realizacion de ejemplo, cualquier numero adecuado de planos de profundidad (por ejemplo, tres, etc.) puede ser utilizado para realizar el registro, el etiquetado y la mezcla.
Con referencia ahora a la figura 6, se proporciona un diagrama de flujo para permitir la generacion de una o mas imagenes panoramicas basandose en parte en los datos del mapa de profundidad de acuerdo con un ejemplo de realizacion. En la operacion 600, un aparato (por ejemplo, el modulo de generacion de panoramicas 78) puede generar al menos una imagen panoramica basada en parte en la realizacion del registro en al menos dos imagenes (por ejemplo, la imagen 1 y la imagen 2) asociadas a los elementos respectivos de los datos de los mapas de profundidad (por ejemplo, el plano de profundidad 1 y el plano de profundidad 2). En la operacion 605, un aparato (por ejemplo, el modulo de generacion de panoramicas 78) puede determinar al menos una region de solapado (por ejemplo, la region de solapado 51, la region de solapado 50) entre las dos imagenes dentro de un primer elemento (por ejemplo, el plano de profundidad 1) de los datos del mapa de profundidad y dentro de un segundo elemento (por ejemplo, el plano de profundidad 2) de los datos del mapa de profundidad.
En la operacion 610, un aparato (por ejemplo, el modulo de generacion de panoramicas 78) puede facilitar el etiquetado de la region de solapado (por ejemplo, la region de solapado 51, la region de solapado 50) dentro de al menos uno del primer elemento de datos del mapa de profundidad o el segundo elemento de datos del mapa de profundidad basandose en parte en la generacion de al menos una costura virtual (por ejemplo, la costura 57 o la costura 54) que conecta porciones de las dos imagenes (por ejemplo, las imagenes 1 y 2) para generar una imagen compuesta (por ejemplo, la imagen 55, la imagen 80). Las porciones (por ejemplo, las regiones a, b, c, d de la figura 4C, las regiones a, b de la figura 5) corresponden a elementos respectivos de los datos de imagen dentro del primer y segundo elementos de datos de los mapas de profundidad. En la operacion 615, un aparato (por ejemplo, el modulo de generacion de panoramicas 78) puede facilitar la mezcla de al menos la costura de la imagen compuesta para obtener la imagen panoramica. La costura (por ejemplo, la costura 57, la costura 54) puede corresponder al primer elemento (por ejemplo, el plano de profundidad 1) de datos del mapa de profundidad o el segundo elemento (por ejemplo, el plano de profundidad 2) de datos del mapa de profundidad. Por ejemplo, la(s) costura(s) se puede(n) obtener en el primer elemento (por ejemplo, el plano de profundidad 1) y/o el segundo elemento (por ejemplo, el plano de profundidad 2) de datos del mapa de profundidad.
Cabe senalar que la figura 6 es un diagrama de flujo de un sistema, un metodo y un producto de programa informatico de acuerdo con un ejemplo de realizacion de la invencion. Se entendera que cada bloque del diagrama de flujo, y combinaciones de bloques en el diagrama de flujo, pueden implementarse por diversos medios, tales como hardware, firmware, y/o un producto de programa informatico que incluye una o mas instrucciones de programa informatico. Por ejemplo, uno o mas de los procedimientos descritos anteriormente se pueden realizar mediante instrucciones de programa informatico. A este respecto, en un ejemplo de realizacion, las instrucciones de programa informatico que incorporan los procedimientos descritos anteriormente se almacenan mediante un dispositivo de memoria (por ejemplo, el dispositivo de memoria 76) y se ejecuta mediante un procesador (por ejemplo, el procesador 70, el modulo de generacion de panoramicas 78). Como se apreciara, cualquiera de dichas instrucciones de programa informatico puede cargarse en un ordenador u otro aparato programable (por ejemplo, hardware) para producir una maquina, de modo que las instrucciones que se ejecutan en el ordenador u otro aparato programable causan las funciones especificadas en los bloques del diagrama de flujo a implementarse. En una realizacion, las instrucciones de programa informatico se almacenan en una memoria legible por ordenador que puede dirigir un ordenador u otro aparato programable para funcionar de una manera particular, tal que las
5
10
15
20
25
30
35
instrucciones almacenadas en la memoria legible por ordenador producen un artfculo de fabricacion, incluyendo instrucciones que implementan la(s) funcion(es) especificada(s) en los bloques del diagrama de flujo. Las instrucciones de programa informatico tambien pueden cargarse en un ordenador u otro aparato programable para hacer que una serie de operaciones que se realizan sobre el ordenador u otro aparato programable produzcan un proceso implementado por ordenador tal que las instrucciones que se ejecutan en el ordenador u otro aparato programable implementen las funciones especificadas en los bloques del diagrama de flujo.
De acuerdo con ello, los bloques del diagrama de flujo soportan combinaciones de medios para realizar las funciones especificadas. Se entendera tambien que uno o mas bloques del diagrama de flujo, y combinaciones de bloques en el diagrama de flujo, pueden implementarse por sistemas informaticos de proposito especial basados en hardware que realizan las funciones especificadas, o combinaciones de instrucciones de hardware de proposito especial e informaticas.
En una realizacion de ejemplo, un aparato para realizar el metodo de la figura 6 anterior puede comprender un procesador (por ejemplo, el procesador 70, el modulo de generacion de panoramicas 78) configurado para realizar algunas o cada una de las operaciones (600 - 615) descritas anteriormente. El procesador puede, por ejemplo, configurarse para realizar las operaciones (600 - 615) mediante la realizacion de las funciones logicas implementadas en hardware, ejecutando las instrucciones almacenadas, o ejecutando algoritmos para realizar cada una de las operaciones. Alternativamente, el aparato puede comprender medios para realizar cada una de las operaciones descritas anteriormente. En este sentido, de acuerdo con un ejemplo de realizacion, los ejemplos de medios para realizar las operaciones (600 - 615) pueden comprender, por ejemplo, el procesador 70 (por ejemplo, como medios para realizar cualquiera de las operaciones descritas anteriormente), el modulo de generacion de panoramicas 78 y/o un dispositivo o circuito para ejecutar las instrucciones o ejecutar un algoritmo para el procesamiento de informacion como se describe anteriormente.
Muchas modificaciones y otras realizaciones de las invenciones expuestas en este documento vendran a la mente de un experto en la tecnica a la que pertenecen estas invenciones, que tienen el beneficio de las ensenanzas presentadas en las descripciones anteriores y en los dibujos asociados. Por lo tanto, debe entenderse que las invenciones no se limitan a las realizaciones especfficas divulgadas, y que modificaciones y otras realizaciones estan destinadas a incluirse dentro del alcance de las reivindicaciones adjuntas. Ademas, aunque las descripciones anteriores y los dibujos asociados describen ejemplos de realizacion en el contexto de ciertas combinaciones a modo de ejemplo de elementos y/o funciones, se debe apreciar que las diferentes combinaciones de elementos y/o funciones pueden proporcionarse mediante realizaciones alternativas sin apartarse del alcance de las reivindicaciones adjuntas. En este sentido, por ejemplo, tambien se contemplan diferentes combinaciones de elementos y/o funciones que las descritas anteriormente de manera explfcita, tal como puede establecerse en algunas de las reivindicaciones adjuntas. Aunque se emplean terminos especfficos en el presente documento, se utilizan en un sentido generico y descriptivo y no con fines de limitacion.

Claims (12)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    1. Un metodo, que comprende:
    generar al menos una imagen panoramica basada en parte en realizar un registro en al menos dos imagenes; determinar al menos una region de solapado (50, 51) entre las dos imagenes dentro de al menos un primer plano de profundidad y un segundo plano de profundidad, habiendose dividido las imagenes en el primer y el segundo planos de profundidad usando datos de mapa de profundidad que proporcionan la profundidad asociada a cada pixel de las dos imagenes, en donde cada plano de profundidad incluye una imagen formada por pixeles que pertenecen a un cierto intervalo de valores de profundidad;
    generar al menos una costura virtual (54, 57) que conecta porciones de las dos imagenes en la region de solapado para generar una imagen compuesta (55, 80), estando asociada cada costura virtual a un solo plano de profundidad; y
    mezclar la al menos una costura virtual de la imagen compuesta (55, 80) para obtener la imagen panoramica generada.
  2. 2. El metodo de la reivindicacion 1, en el que la al menos una costura virtual generada comprende una primera costura virtual (57) asociada al primer plano de profundidad y una segunda costura virtual (54) asociada al segundo plano de profundidad.
  3. 3. El metodo de la reivindicacion 1, en el que la generacion de la al menos una costura virtual comprende:
    seleccionar uno del primer y del segundo planos de profundidad basandose en la calidad de los datos de imagen en cada plano de profundidad; y
    generar una costura virtual asociada al plano de profundidad seleccionado.
  4. 4. El metodo de la reivindicacion 1, en el que antes de la generacion, el metodo tambien comprende:
    capturar las dos imagenes con diferentes puntos de vista o datos de imagen obtenidos desde diferentes distancias, en donde el contenido de la imagen de una primera imagen de las imagenes corresponde al contenido de imagen de una segunda imagen de las imagenes.
  5. 5. El metodo de la reivindicacion 1, en el que el registro comprende determinar una o mas correspondencias de esquina por separado para el primer y el segundo planos de profundidad, siendo las correspondencias de esquina relativas a uno o mas puntos de esquina en una primera imagen de las dos imagenes en la region de solapado que corresponde a uno o mas puntos de esquina en una segunda imagen de las dos imagenes en la region de solapado.
  6. 6. El metodo de la reivindicacion 5, que comprende, ademas:
    utilizar las correspondencias de esquina para calcular los elementos de una matriz de registro.
  7. 7. El metodo de la reivindicacion 1, en el que el registro comprende determinar una o mas correspondencias de esquina relativas a uno o mas puntos de esquina en una primera imagen de las dos imagenes en la region de solapado que corresponde a uno o mas puntos de esquina en una segunda imagen de las dos imagenes en la region de solapado, en donde el metodo tambien comprende:
    comparar respectivas correspondencias de esquina con uno o mas puntos de esquina en el primer y el segundo planos de profundidad para determinar si al menos una de las correspondencias de esquina se refiere a puntos de esquina que estan en el mismo plano de profundidad en la primera y en la segunda imagenes.
  8. 8. El metodo de la reivindicacion 7, que comprende, ademas:
    utilizar solamente un subconjunto de los puntos de esquina que se ha determinado que estan en el mismo plano de profundidad en la primera y en la segunda imagenes para calcular los elementos de una matriz de registro.
  9. 9. Un aparato configurado para:
    generar al menos una imagen panoramica basada en parte en realizar un registro en al menos dos imagenes; determinar al menos una region de solapado (50, 51) entre las dos imagenes dentro de al menos un primer plano de profundidad y un segundo plano de profundidad, habiendose dividido las imagenes en el primer y en el segundo planos de profundidad usando datos de mapa de profundidad que proporcionan la profundidad asociada a cada pixel de las dos imagenes, en donde cada plano de profundidad incluye una imagen formada por pixeles que pertenecen a un cierto intervalo de valores de profundidad;
    generar al menos una costura virtual (54, 57) que conecta porciones de las dos imagenes en la region de solapado para generar una imagen compuesta (55, 80), estando asociada cada costura virtual a un solo plano de profundidad; y
    mezclar la al menos una costura virtual de la imagen compuesta (55, 80) para obtener la imagen panoramica generada.
  10. 10. El aparato de la reivindicacion 9, en donde el aparato esta configurado ademas para realizar el metodo segun 5 cualquiera de las reivindicaciones 2 a 8.
  11. 11. El aparato segun cualquiera de las reivindicaciones 9 y 10, en donde el aparato comprende un dispositivo movil.
  12. 12. Un producto de programa informatico que comprende instrucciones de programa que, cuando se ejecutan 10 mediante un aparato, hacen que el aparato realice el metodo como se reivindica en cualquiera de las
    reivindicaciones 1 a 8.
ES12793279.6T 2011-05-31 2012-04-05 Métodos, aparatos y productos de programa informático para generar imágenes panorámicas usando datos de mapas de profundidad Active ES2607214T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN1856CH2011 2011-05-31
INCH18562011 2011-05-31
PCT/FI2012/050349 WO2012164148A1 (en) 2011-05-31 2012-04-05 Methods, apparatuses and computer program products for generating panoramic images using depth map data

Publications (1)

Publication Number Publication Date
ES2607214T3 true ES2607214T3 (es) 2017-03-29

Family

ID=47258422

Family Applications (1)

Application Number Title Priority Date Filing Date
ES12793279.6T Active ES2607214T3 (es) 2011-05-31 2012-04-05 Métodos, aparatos y productos de programa informático para generar imágenes panorámicas usando datos de mapas de profundidad

Country Status (5)

Country Link
US (1) US10102827B2 (es)
EP (1) EP2715449B1 (es)
ES (1) ES2607214T3 (es)
PL (1) PL2715449T3 (es)
WO (1) WO2012164148A1 (es)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9013543B1 (en) * 2012-11-14 2015-04-21 Google Inc. Depth map generation using multiple scanners to minimize parallax from panoramic stitched images
CN105530503A (zh) * 2014-09-30 2016-04-27 光宝科技股份有限公司 深度图建立方法与多镜头相机系统
KR102441328B1 (ko) * 2016-01-28 2022-09-08 삼성전자주식회사 이동 로봇이 전송한 화면을 표시하는 방법 및 그 전자장치
US10558881B2 (en) 2016-08-24 2020-02-11 Electronics And Telecommunications Research Institute Parallax minimization stitching method and apparatus using control points in overlapping region
KR102558473B1 (ko) * 2016-09-30 2023-07-25 삼성전자주식회사 이미지를 표시하기 위한 방법 및 그 전자 장치
US11652978B2 (en) * 2017-01-05 2023-05-16 Eys3D Microelectronics, Co. Depth map generation device
US10038894B1 (en) * 2017-01-17 2018-07-31 Facebook, Inc. Three-dimensional scene reconstruction from set of two dimensional images for consumption in virtual reality
CN110278366B (zh) 2018-03-14 2020-12-01 虹软科技股份有限公司 一种全景图像虚化方法、终端及计算机可读存储介质
US10694103B2 (en) * 2018-04-24 2020-06-23 Industrial Technology Research Institute Building system and building method for panorama point cloud
WO2020054949A1 (en) 2018-09-11 2020-03-19 Samsung Electronics Co., Ltd. Electronic device and method for capturing view

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078701A (en) 1997-08-01 2000-06-20 Sarnoff Corporation Method and apparatus for performing local to global multiframe alignment to construct mosaic images
US6359617B1 (en) 1998-09-25 2002-03-19 Apple Computer, Inc. Blending arbitrary overlaying images into panoramas
US6434265B1 (en) 1998-09-25 2002-08-13 Apple Computers, Inc. Aligning rectilinear images in 3D through projective registration and calibration
US7015954B1 (en) * 1999-08-09 2006-03-21 Fuji Xerox Co., Ltd. Automatic video system using multiple cameras
US6677982B1 (en) 2000-10-11 2004-01-13 Eastman Kodak Company Method for three dimensional spatial panorama formation
US7085409B2 (en) 2000-10-18 2006-08-01 Sarnoff Corporation Method and apparatus for synthesizing new video and/or still imagery from a collection of real video and/or still imagery
US7194112B2 (en) 2001-03-12 2007-03-20 Eastman Kodak Company Three dimensional spatial panorama formation with a range imaging system
US6781591B2 (en) 2001-08-15 2004-08-24 Mitsubishi Electric Research Laboratories, Inc. Blending multiple images using local and global information
US7006709B2 (en) * 2002-06-15 2006-02-28 Microsoft Corporation System and method deghosting mosaics using multiperspective plane sweep
JP2004086784A (ja) 2002-08-29 2004-03-18 Hitachi Ltd 画像接続方法及び装置
US7813589B2 (en) 2004-04-01 2010-10-12 Hewlett-Packard Development Company, L.P. System and method for blending images into a single image
KR100653200B1 (ko) 2006-01-09 2006-12-05 삼성전자주식회사 기하 정보를 교정하여 파노라마 영상을 제공하는 방법 및장치
US7778491B2 (en) * 2006-04-10 2010-08-17 Microsoft Corporation Oblique image stitching
US7839422B2 (en) * 2006-12-13 2010-11-23 Adobe Systems Incorporated Gradient-domain compositing
US8593506B2 (en) * 2007-03-15 2013-11-26 Yissum Research Development Company Of The Hebrew University Of Jerusalem Method and system for forming a panoramic image of a scene having minimal aspect distortion
CN102124320A (zh) 2008-06-18 2011-07-13 苏尔吉克斯有限公司 用于将多个图像拼接成全景图像的方法和系统
US8811771B2 (en) * 2008-08-22 2014-08-19 Adobe Systems Incorporated Content aware slideshows
CN101673395B (zh) 2008-09-10 2012-09-05 华为终端有限公司 图像拼接方法及装置
US8509565B2 (en) * 2008-12-15 2013-08-13 National Tsing Hua University Optimal multi-resolution blending of confocal microscope images
WO2010075726A1 (zh) * 2008-12-30 2010-07-08 华为终端有限公司 立体全景视频流生成方法、设备及视频会议方法和设备
CN101577795A (zh) 2009-06-17 2009-11-11 深圳华为通信技术有限公司 一种实现全景图像的实时预览的方法和装置
JP5347890B2 (ja) * 2009-10-09 2013-11-20 ソニー株式会社 画像処理装置および方法、並びにプログラム
CN101984463A (zh) * 2010-11-02 2011-03-09 中兴通讯股份有限公司 全景图合成方法及装置
US20120133639A1 (en) * 2010-11-30 2012-05-31 Microsoft Corporation Strip panorama
US8810626B2 (en) * 2010-12-20 2014-08-19 Nokia Corporation Method, apparatus and computer program product for generating panorama images
US9404764B2 (en) * 2011-12-30 2016-08-02 Here Global B.V. Path side imagery
EP2810247B1 (en) * 2012-01-31 2018-04-25 Sony Mobile Communications Inc. Method and electronic device for creating a combined image
US9275485B2 (en) * 2012-06-28 2016-03-01 The University Of Utah Research Foundation Seam network processing for panorama weaving
US9013543B1 (en) * 2012-11-14 2015-04-21 Google Inc. Depth map generation using multiple scanners to minimize parallax from panoramic stitched images

Also Published As

Publication number Publication date
US10102827B2 (en) 2018-10-16
EP2715449A1 (en) 2014-04-09
EP2715449A4 (en) 2015-01-07
EP2715449B1 (en) 2016-11-09
PL2715449T3 (pl) 2017-06-30
US20140184640A1 (en) 2014-07-03
WO2012164148A1 (en) 2012-12-06

Similar Documents

Publication Publication Date Title
ES2607214T3 (es) Métodos, aparatos y productos de programa informático para generar imágenes panorámicas usando datos de mapas de profundidad
US10692274B2 (en) Image processing apparatus and method
US10923004B2 (en) Information processing apparatus, information processing method, and computer program product for arranging a planar image within a panoramic image
US10685467B2 (en) Method and apparatus for transmitting and receiving virtual reality content
US10659685B2 (en) Control of viewing angles for 360-degree video playback
ES2834489T3 (es) Sistemas y procedimientos para producir una vista combinada de cámaras de ojo de pez
US11017598B2 (en) Method for processing omni-directional image using padding area and apparatus supporting the same
US10593014B2 (en) Image processing apparatus, image processing system, image capturing system, image processing method
US10375305B2 (en) Information processing device, imaging device, information processing method, and program
US10848669B2 (en) Electronic device and method for displaying 360-degree image in the electronic device
US9628706B2 (en) Method for capturing and displaying preview image and electronic device thereof
CN116134809A (zh) 用于传输3d xr媒体数据的方法和设备
JPWO2017014126A1 (ja) 画像管理システム、画像管理方法及びプログラム
US20220230275A1 (en) Imaging system, image processing apparatus, imaging device, and recording medium
JP7439398B2 (ja) 情報処理装置、プログラム及び情報処理システム
EP3367328A1 (en) A method, apparatus and computer program product for generating composite images with three-dimensional effects and reducing pole contraction lines
US20240087157A1 (en) Image processing method, recording medium, image processing apparatus, and image processing system
US11985294B2 (en) Information processing apparatus, information processing method, and program