ES2897432T3 - Sistema y método para ajustar la orientación de video capturado - Google Patents

Sistema y método para ajustar la orientación de video capturado Download PDF

Info

Publication number
ES2897432T3
ES2897432T3 ES13798479T ES13798479T ES2897432T3 ES 2897432 T3 ES2897432 T3 ES 2897432T3 ES 13798479 T ES13798479 T ES 13798479T ES 13798479 T ES13798479 T ES 13798479T ES 2897432 T3 ES2897432 T3 ES 2897432T3
Authority
ES
Spain
Prior art keywords
orientation
video
capture device
captured
video capture
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
ES13798479T
Other languages
English (en)
Inventor
Wentao Xu
Gang Qiu
Xiaopeng Zhang
Xiaoming Zhou
Farrukh Qurashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2897432T3 publication Critical patent/ES2897432T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/683Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
    • 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/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6812Motion detection based on additional sensors, e.g. acceleration sensors

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Television Signal Processing For Recording (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Un método para codificar un video capturado en un dispositivo de captura de video, que comprende: leer datos de orientación para una primera orientación del dispositivo de captura de video a medida que se captura un video de una escena cuando el dispositivo de captura de video está en la primera orientación, en donde la primera orientación tiene una primera resolución; determinar que el dispositivo de captura de video se rota a una segunda orientación a medida que se captura el video de la escena, en donde la segunda orientación tiene una segunda resolución; leer datos de orientación del dispositivo de captura de video a medida que se captura un video de la escena cuando el dispositivo de captura de video está en la segunda orientación; generar una matriz de rotación basada en una relación entre la primera orientación y la segunda orientación; ajustar la orientación de los fotogramas del video capturado cuando el dispositivo de captura de video está en la segunda orientación para coincidir con la orientación del video capturado cuando el dispositivo de captura de video está en la primera orientación; recortar los fotogramas ajustados del video capturado cuando el dispositivo de captura de video está en la segunda orientación, teniendo los fotogramas recortados la primera resolución; y codificar los fotogramas recortados del video capturado.

Description

DESCRIPCIÓN
Sistema y método para ajustar la orientación de video capturado
ANTECEDENTES
Campo de la invención
La presente invención se refiere en general a sistemas y métodos para ajustar la orientación de video capturado de un objeto en una escena utilizando datos de acelerómetro incorporados en el dispositivo de grabación de video.
Antecedentes
Por lo general, en la vista previa de una videocámara o en la vista local de una aplicación de videotelefonía (VT), la orientación de imagen de objeto es siempre la misma que la orientación real del objeto en la escena, independientemente de la orientación del dispositivo.
Sin embargo, cuando se codifican los fotogramas, la orientación de imagen del objeto en cada fotograma depende de la orientación del dispositivo en el momento en que se capturó el fotograma, que no coincide necesariamente con la orientación real del objeto en la escena. Por tanto, si el dispositivo se rota un ángulo 0 cuando se captura un objeto, en el video grabado la vista del objeto también rotará el ángulo 0, en lugar de presentar la orientación real del objeto en la escena capturada. El documento de Patente US2011211082 (A1) desvela la estabilización de vídeo de obturador rodante utilizando análisis de movimiento tridimensional. En la estabilización del video de obturador rodante, puede determinarse o estimarse un movimiento tridimensional del dispositivo que captura la imagen. El movimiento tridimensional puede ser un movimiento puramente rotacional, un movimiento puramente traslacional o un movimiento rotacional y traslacional. El movimiento tridimensional estimado puede utilizarse para ajustar los píxeles de un fotograma de imagen para rectificar y estabilizar la imagen de vídeo.
SUMARIO
La invención se define en las reivindicaciones adjuntas a las que se hará referencia a continuación. En una realización, la invención proporciona un método para codificar un video capturado en un dispositivo de captura de video. El método comprende leer los datos de orientación del dispositivo de captura de video a medida que se captura un video de una escena. El método comprende además generar una matriz de rotación basada en los datos de orientación. El método comprende además ajustar la orientación del video capturado para coincidir con la orientación real de la escena. El método comprende además codificar el video capturado ajustado. En otra realización, la invención proporciona un sistema para codificar una captura de video en un dispositivo de captura de video. El sistema comprende un sensor de imagen configurado para capturar un video de una escena. El sistema comprende además una unidad de medición inercial configurada para proporcionar datos de orientación del dispositivo de captura de video. El sistema comprende además un módulo de rotación configurado para generar una matriz de rotación basada en los datos de orientación y ajustar la orientación del video capturado para coincidir con una orientación real de la escena. El sistema comprende además un codificador configurado para codificar el video capturado ajustado. En otra realización, la invención proporciona un sistema para codificar un video capturado en un dispositivo de captura de video. El sistema comprende además medios para leer datos de orientación del dispositivo de captura de video a medida que se captura un video de una escena. El sistema comprende además medios para generar una matriz de rotación basada en los datos de orientación. El sistema comprende además medios para ajustar la orientación del video capturado para coincidir con la orientación real de la escena. El sistema comprende además medios para codificar el video capturado ajustado.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La Figura 1 es una ilustración de una captura de escena y una transformación de imagen en una pantalla de visualización de acuerdo con una realización de la presente invención.
La Figura 2 es un diagrama de bloques de una visión de conjunto de nivel de sistema de acuerdo con una realización de la presente invención.
La Figura 3 es un diagrama de flujo que muestra una visión de conjunto de un proceso para el ajuste de orientación de video capturado.
La Figura 4 es un diagrama de flujo que muestra una visión de conjunto de un proceso para leer datos de una unidad de acelerómetro.
La Figura 5 es un diagrama de flujo que muestra la vista general de un proceso para ajustar la orientación de video basándose en una matriz de rotación.
DESCRIPCIÓN DETALLADA
Las realizaciones de la invención se refieren a sistemas y métodos para ajustar la orientación de un video capturado basándose en datos recopilados de sensores asociados al dispositivo de captura de video. Por ejemplo, la orientación de un video capturado puede ajustarse basándose en datos de orientación capturados por un sensor de gravedad o una unidad de acelerómetro incorporada en el dispositivo de captura de video. En particular, la mayoría de los teléfonos móviles modernos incluyen una cámara incorporada con capacidades de captura de imágenes y video. Por ejemplo, una cámara habitual de un teléfono móvil actual puede proporcionar la capacidad de grabar videos a una velocidad de hasta 30 fotogramas por segundo.
Además, los teléfonos móviles comprenden frecuentemente un acelerómetro incorporado en el dispositivo para control de interfaz de usuario. El acelerómetro mide la fuerza aplicada al dispositivo en un momento en el tiempo. Estas fuerzas pueden usarse para determinar en qué dirección mueve el usuario el dispositivo y proporcionar de ese modo datos de orientación. Un valor de aceleración se expresa como un vector tridimensional que representa los componentes de aceleración en los ejes X, Y y Z. La orientación de la aceleración puede ser con respecto al dispositivo de modo que se aplique -1g en el eje Z cuando el dispositivo está boca arriba en una mesa nivelada y se aplique -1g en el eje Y cuando el dispositivo está situado perpendicular a la parte superior de una mesa. El acelerómetro puede usarse para presentar vistas horizontales o verticales de imágenes o videos en la pantalla del dispositivo basándose en la orientación del teléfono, o cómo sostiene un usuario el dispositivo.
Durante la grabación de video, como se ha discutido anteriormente, la orientación del video capturado no coincide necesariamente con la "orientación real" del objeto capturado en la escena. Por ejemplo, si el dispositivo de grabación de video se inclina o rota un ángulo durante la grabación, el video capturado rotará el mismo ángulo a medida que se reproduce en el dispositivo. Como resultado, el video grabado puede parecer "inclinado" o "rotado" cuando el video se reproduce en la pantalla del dispositivo móvil mientras se mantiene en una orientación vertical u horizontal normal. Además, si el video se transmite o almacena para reproducirse en otro dispositivo (tal como una televisión), el video también parecería estar rotado o inclinado en el mismo ángulo en que se inclinó durante la grabación en el dispositivo móvil. Sin embargo, como se discute en el presente documento, las realizaciones pueden usar datos capturados por los sensores del dispositivo de video para orientar el dispositivo apropiadamente para reproducción. A modo de ejemplo, una vez se leen los datos del acelerómetro, esos datos pueden utilizarse para calcular una matriz de rotación para corregir la orientación de video inclinada de modo que el video se codifique de un modo tal que se reproduzca en una orientación normal.
La Figura 1 es una ilustración de una realización de una escena 100 que muestra una orientación rotada de un árbol 110 que se está grabando con un dispositivo de captura de video 120. El dispositivo de captura de video 120 puede comprender un teléfono móvil, una tableta, una cámara digital o cualquier dispositivo de grabación que comprenda un sensor de posición incorporado, tal como un acelerómetro o una unidad de medición inercial.
Como se muestra, el dispositivo de captura de video 120 está inclinado un ángulo mientras graba el árbol 110. El dispositivo de captura de video 130 puede ser el mismo dispositivo que el dispositivo de captura de video 120, u otro dispositivo, e incluye las realizaciones descritas en el presente documento que rotan las imágenes capturadas basándose en la posición del dispositivo de captura de video 120. Como se muestra, el dispositivo 130 muestra que el árbol 110 se está grabando sin ninguna inclinación, de modo que la orientación del dispositivo 130 coincide con la orientación real del árbol capturado en la escena 100. Como se muestra en la pantalla 125 del dispositivo de captura de video 120, la orientación del árbol 110 es tal que la parte superior del árbol mostrado en la pantalla 125 apunta, o está rotada, hacia la parte superior izquierda 128 de la pantalla de video 125. En ausencia del sistema de ajuste de orientación descrito en el presente documento, la imagen de la parte superior del árbol 110 continuaría apuntando hacia la parte superior izquierda del dispositivo 130 incluso cuando se mantenga en posición vertical.
De ese modo, las realizaciones corrigen este defecto de visualización mediante la lectura de datos del acelerómetro incorporado en el dispositivo de captura de video o la unidad de medición inercial. Los datos pueden usarse para derivar una matriz de rotación que rote el objeto capturado durante la codificación de video de modo que el video final coincida con la orientación real del objeto en la pantalla. Como se muestra en el dispositivo 130, después de la transformación de imagen, una pantalla 135 muestra la orientación del árbol apuntando hacia arriba a lo largo del eje vertical (en una posición a las 12 en punto), que coincide con la orientación real del objeto.
La Figura 2 es un diagrama de bloques del sistema 120 de la Figura 1. Una cámara 210 proporciona la capacidad de capturar una imagen de una escena, o vídeo, a diferentes velocidades de fotograma. Por ejemplo, la cámara 210 puede capturar vídeo a una velocidad de fotograma de 30 fotogramas por segundo. La cámara está conectada a un procesador 220 que trabaja conjuntamente con una unidad de acelerómetro 230 que mide las lecturas del acelerómetro del dispositivo de captura de video 120. La unidad de acelerómetro 230 también puede consistir en un giróscopo de 3 ejes en lugar de un acelerómetro para derivar la orientación espacial del dispositivo de captura de video y usarla para ajustar la orientación del video capturado.
El procesador 220 puede derivar una matriz cosenoidal de dirección, o matriz de rotación, para corregir la rotación del dispositivo de captura de vídeo durante la grabación. Se muestran un conjunto de módulos de sistema 240 que actúan conjuntamente en el sistema para proporcionar muchas de las funciones de ajuste de la orientación del video capturado. Un módulo estabilizador de movimiento 242 puede estabilizar la imagen o el vídeo durante la grabación y usar los datos de la unidad de acelerómetro 230 para la funcionalidad antidesenfoque. El módulo de captura de imágenes 244 puede procesar cada fotograma de vídeo capturado por la cámara 210 y trabajar conjuntamente con el módulo de rotación 246 para calcular una matriz de rotación para el ajuste de orientación del fotograma actual. El módulo de rotación 246 puede estar configurado para leer los datos del acelerómetro o la unidad de medición inercial de la unidad de acelerómetro 230 para derivar una matriz de rotación que ajuste la orientación del video capturado fotograma a fotograma. A continuación, un dispositivo de visualización 250 puede visualizar el vídeo capturado de orientación ajustada o visualizar el vídeo de orientación no ajustada.
La Figura 3 es un diagrama de flujo que muestra una realización de un proceso 300 para el ajuste de la orientación de video capturado, como se discute en el presente documento. El proceso 300 comienza en un bloque 310 en donde el vídeo a ajustar se captura o se proporciona al dispositivo. El video puede proporcionarse como una secuencia de fotogramas, o como imágenes estáticas de una escena. A continuación, el proceso 300 continúa con el bloque de proceso 320 para leer los datos de la unidad de acelerómetro. Como se ha discutido anteriormente, la unidad de acelerómetro también puede comprender un giróscopo de 3 ejes en lugar de un acelerómetro para derivar los datos usados para calcular una matriz de rotación. Las etapas realizadas en el bloque de proceso 320 se discutirán con mayor detalle posteriormente con respecto a la Figura 4.
Una vez se leen los datos del acelerómetro del dispositivo de captura de video en el bloque de proceso 320, el proceso 300 continúa con el bloque 330 para calcular una matriz de rotación para ajustar la orientación del video capturado. La matriz de rotación derivada puede actualizarse para cada fotograma de video, o cada cierto número de fotogramas, dependiendo del movimiento del dispositivo de captura de video durante la grabación. Las lecturas del sensor del acelerómetro también pueden filtrarse usando un filtro paso bajo para eliminar la fluctuación, y a continuación procesarse para derivar una matriz de rotación. A modo de ejemplo, los ejes del acelerómetro pueden definirse como sigue a continuación: el eje Y puede correr a lo largo de la dirección vertical del dispositivo de captura de video, con la dirección positiva hacia el norte (en una posición a las 12 en punto); el eje X puede correr a lo largo de la dirección horizontal del dispositivo de captura de video, con la dirección positiva hacia el este (en una posición a las 3 en punto); el eje Z puede correr a través del dispositivo de captura de video, con la dirección positiva hacia arriba a través de la parte superior del dispositivo (de modo que la rotación del dispositivo sería a lo largo del eje Z).
Cuando el usuario inclina el dispositivo de captura de vídeo durante la grabación, la presente invención solo implica la rotación a lo largo del plano de X e Y, y por tanto no es necesario incorporar las lecturas del acelerómetro del eje Z para derivar la matriz de rotación. Cuando el dispositivo de captura de video se mantiene en una posición normal, y suponiendo que el dispositivo de captura de video también está orientado para coincidir con la orientación del objeto capturado (véase la orientación del dispositivo de captura de video 130 en la Figura 1, que representaría una orientación "normal" y también coincidiría con la orientación del árbol capturado 110), el eje Y positivo corre a lo largo de la dirección de la gravedad.
De ese modo, el eje Y del acelerómetro de 3 ejes mediría la aceleración de la gravedad a lo largo de la dirección vertical (aproximadamente 9,8 m/s2). La medición a lo largo del eje X en una orientación normal, como la mostrada por el dispositivo de captura de video 130 en la Figura 1, sería 0 dado que no hay inclinación o rotación a lo largo del eje X. Por tanto, en una posición normal, la lectura del vector del acelerómetro sería (0, 9,8 m/s2) y, después de normalización (dividiendo los ejes X e Y por la aceleración gravitacional), sería (0, 1).
A continuación, cuando el dispositivo de captura de video se rota un ángulo 0 en sentido horario, la nueva orientación (como se muestra en el dispositivo de captura de video 120 en la Figura 1) tendría una lectura de acelerómetro a lo largo del eje X negativo. Después de la rotación un ángulo 0 por parte del usuario, el dispositivo de captura de video estaría ahora orientado de modo que puedan definirse nuevos ejes X e Y', donde X' corre a lo largo de la parte inferior del dispositivo de captura de video (rotado el ángulo 0 "por debajo" del eje X normal), e Y' corre a lo largo del lado izquierdo del dispositivo de captura de video (rotado el ángulo 0 a la "derecha" del eje Y normal). La relación entre la orientación normal inicial del dispositivo de captura de video en el plano X,Y en las coordenadas (X, Y) en la "posición normal" original, y una orientación rotada (como se muestra en 120 de la Figura 1) en las coordenadas (X', Y') puede ser la siguiente:
Figure imgf000004_0001
Figure imgf000004_0002
Por tanto, para una rotación inducida por el usuario un ángulo 0 en sentido horario a lo largo del plano X-Y, la matriz de rotación anterior puede usarse para ajustar la imagen o el fotograma capturado en una orientación "normal" o "real" para que coincida con la "orientación real" de la escena capturada o el objeto capturado. Además, la matriz anterior puede actualizarse fotograma a fotograma, dado que el ángulo de rotación 0 puede variar a medida que el dispositivo de captura de vídeo está grabando una escena. Además, puede calcularse una matriz similar utilizando un giróscopo de 3 ejes, que mide la velocidad angular, para derivar también una matriz para corregir la rotación durante la grabación del dispositivo de captura de vídeo.
El proceso 300 continúa a continuación con el bloque de proceso 340 para ajustar el video capturado basándose en la matriz de rotación calculada en el bloque 330. El proceso 340 se discutirá con mayor detalle posteriormente con respecto a la Figura 5.
A continuación, el proceso 300 pasa al bloque 350 y codifica el video usando la orientación ajustada del bloque de proceso 340. El video codificado puede guardarse en memoria local, o transmitirse a través de una red para decodificarse en el lado del receptor para aplicaciones de videotelefonía o con fines de visualización. A continuación, el proceso 300 pasa al bloque de decisión 370 para determinar si visualizar localmente el vídeo original (no ajustado) o no. Si se toma la determinación de no visualizar el video, entonces el proceso 300 pasa a un bloque 360 para almacenar o transmitir el video. Sin embargo, si en el estado de decisión 370 se toma la determinación de visualizar el video, el proceso 300 pasa al estado 380 en donde se visualiza en la pantalla de visualización incorporada del dispositivo de captura de video, o en un dispositivo de visualización externo antes de que el proceso 300 finalice en el bloque 390.
La Figura 4 muestra con más detalle el proceso 320 para leer datos de la unidad de acelerómetro. Durante la captura de cada fotograma de video, pueden obtenerse una o múltiples lecturas del acelerómetro. Para un acelerómetro de 3 ejes, una sola lectura producirá el vector aceleración con las componentes X, Y, Z. Como se muestra en la Figura 4, el eje X 420, el eje Y 430 y el eje Z 440 pueden leerse simultánea o individualmente. La dirección de cada eje es generalmente arbitraria, siempre que los tres ejes sigan la regla de la mano derecha. El acelerómetro mide la aceleración o cambio en la velocidad del dispositivo y calcula una componente X, Y y Z correspondiente para el vector aceleración. A menos que el dispositivo acelere únicamente a lo largo de un solo eje, es probable que el vector aceleración tenga componentes en cada una de las tres direcciones. El acelerómetro puede estar configurado para una frecuencia de muestreo tal que pueda obtenerse al menos una muestra de la aceleración durante la captura de un solo fotograma de video. Si están disponibles múltiples lecturas de aceleración durante el período de captura de un solo fotograma de video, puede aplicarse un filtro paso bajo a estas lecturas para retirar cualquier ruido de muestreo o fluctuación causado por los movimientos de la mano. Si también se dispone de un giróscopo, sus lecturas pueden usarse para retirar la aceleración aportada por el movimiento de la mano. A continuación, pueden promediarse múltiples muestras obtenidas durante la captura de un solo fotograma de video para generar el vector gravedad individual para ese fotograma de video. A continuación, el vector gravedad se proyecta sobre el plano X-Y del dispositivo (suprimiendo la componente Z) y se normaliza, de modo que el vector unitario resultante pueda usarse para calcular la matriz de rotación o ángulo de rotación. Como se ha discutido anteriormente, el componente de gravedad en el plano X-Y es normalmente el único dato necesario para calcular la matriz de rotación. En esta realización, la componente Z de la gravedad no es necesaria, dado que no se necesita para calcular la matriz de rotación usada para rotar los fotogramas de la imagen capturada. Normalmente, el vector unitario del eje X (bloque 420) será sin(0) y a lo largo del eje Y (bloque 430) será cos(0), donde 0 es el ángulo de rotación del dispositivo de captura de video rotado en sentido antihorario. A continuación, el proceso continúa con el bloque 450 en donde se determina si el vector unitario es suficientemente diferente del vector unitario del fotograma previo (el almacenado). Si la diferencia es menor que un umbral, el proceso 320 vuelve a la etapa 410. Si la diferencia es mayor que el umbral, el proceso 320 pasa al bloque 460 en donde los datos del vector unitario se almacenan en una memoria y la matriz de rotación se actualiza en consecuencia.
La Figura 5 proporciona más detalles del proceso 340 para el ajuste de la orientación de video basado en la matriz de rotación calculada. El proceso 340 comienza en el bloque 510 que lee la matriz de rotación para ajustar la orientación del fotograma visualizado actualmente. Como se ha discutido anteriormente, los datos de la matriz de rotación pueden variar fotograma a fotograma a medida que se captura el video, dado que la orientación del dispositivo de captura de video puede variar durante la grabación y, por tanto, la matriz de rotación correspondiente también puede variar fotograma a fotograma. A continuación, el proceso continúa con el bloque 520 para rotar el fotograma actual que se está capturando.
Para evitar la pérdida de resolución debido a la rotación, la cámara o el dispositivo de captura de video puede configurarse para capturar fotogramas con un margen adicional, de modo que pueda realizarse un recorte de cada fotograma después de la rotación sin perder información importante de la escena de interés. Por ejemplo, para capturar un fotograma con una resolución de (w, h), la cámara o el dispositivo de captura de video se configura para capturar fotogramas con una resolución de (c, c). Por tanto, el valor mínimo de c, o cmin puede calcularse como:
Figure imgf000005_0001
En la práctica, puede añadirse un margen adicional para el proceso de filtrado, donde m es el margen, de modo que c = cmin m. La rotación es alrededor del centro geométrico de la imagen. Una posible mejora es permitir que el origen de rotación se mueva alrededor de una cercanía próxima al centro de la imagen, de modo que las imágenes adyacentes puedan usar el mismo punto clave en la escena como origen de rotación tanto como sea posible. Potencialmente, esto puede retirar la fluctuación causada por el temblor de la mano. Tal algoritmo puede comenzar con el centro geométrico de la imagen y, cuando no se encuentre un punto clave coincidente, retroceda al centro geométrico de la imagen.
Para rotar una imagen el ángulo 0 en sentido antihorario, para cada punto (x', y') de la imagen resultante, se rota 0 en sentido antihorario para encontrar el punto (x, y) coincidente con la imagen original. Se usa un método de interpolación para estimar el valor de la imagen original en (x, y) y asignar ese valor al punto (x', y') en la imagen resultante. Este proceso puede implementarse usando bloques de hardware dedicado o unidades de procesamiento de uso general, tal como una unidad de procesamiento gráfico (GPU). Después de rotar cada fotograma basándose en los datos de la matriz de rotación, el proceso 340 pasa al bloque 530 para recortar la imagen o fotograma rotado de modo que aparezca en la orientación apropiada en una pantalla de visualización. Después de realizar el recorte, el fotograma actual puede tener la resolución de salida pretendida. Finalmente, después de haber rotado y recortado el fotograma, el proceso 340 es capaz de almacenar el fotograma actual con la orientación corregida, o ajustada, en la memoria en el bloque 540.
La tecnología es operativa con muchos otros entornos o configuraciones de sistemas de computación de uso general o uso especial. Algunos ejemplos de sistemas, entornos y/o configuraciones de computación bien conocidos que pueden ser adecuados para uso con la invención incluyen, pero no se limitan a, computadoras personales, servidores, dispositivos de mano o portátiles, sistemas multiprocesador, sistemas basados en procesadores, electrónica de consumo programable, PC en red, minicomputadoras, computadoras centrales, entornos de computación distribuida que incluyen cualquiera de los sistemas o dispositivos anteriores, y similares.
Como se usa en el presente documento, instrucciones se refiere a etapas implementadas por computadora para procesar información en el sistema. Las instrucciones pueden estar implementadas en software, firmware o hardware e incluir cualquier tipo de etapa programada realizada por los componentes del sistema.
Un procesador puede ser cualquier procesador convencional de uso general de uno o múltiples chips, tal como un procesador Pentium®, un procesador Pentium® Pro, un procesador 8051, un procesador MIPS®, un procesador Power PC® o un procesador Alpha®. Además, el procesador puede ser cualquier procesador convencional de uso especial, tal como un procesador de señales digitales o un procesador de gráficos. El procesador tiene habitualmente líneas de dirección convencionales, líneas de datos convencionales, y una o más líneas de control convencionales.
El sistema está comprendido por varios módulos, como se discute en detalle. Como puede entender un experto en la materia, cada uno de los módulos comprende diversas subrutinas, procedimientos, declaraciones de definición y macros. Habitualmente, cada uno de los módulos se compila por separado y se vincula en un solo programa ejecutable. Por tanto, la descripción de cada uno de los módulos se usa por conveniencia para describir la funcionalidad del sistema preferente. De ese modo, los procesos soportados por cada uno de los módulos pueden redistribuirse arbitrariamente a uno de los demás módulos, combinarse en un solo módulo, o estar disponibles, por ejemplo, en una biblioteca de enlaces dinámicos compartibles.
El sistema puede usarse en relación con diversos sistemas operativos tales como Linux®, UNIX® o Microsoft Windows®.
El sistema puede escribirse en cualquier lenguaje de programación convencional, tal como C, C++, BASIC, Pascal o Java, y ejecutarse en un sistema operativo convencional. C, C++, BASIC, Pascal, Java y FORTRAN son lenguajes de programación estándares de la industria para los que pueden usarse numerosos compiladores comerciales para crear código ejecutable. El sistema también puede escribirse usando lenguajes interpretados, tales como Perl, Python o Ruby.
Los expertos también entenderán que los diversos bloques lógicos, módulos, circuitos y etapas de algoritmo ilustrativos descritos en relación con las realizaciones desveladas en el presente documento pueden implementarse como hardware electrónico, software informático, o combinaciones de ambos. Para ilustrar claramente esta intercambiabilidad de hardware y software, se han descrito anteriormente diversos componentes, bloques, módulos, circuitos y etapas ilustrativos generalmente en términos de su funcionalidad. El hecho de que tal funcionalidad se implemente como hardware o software depende de la aplicación particular y las restricciones de diseño impuestas al sistema global. Los expertos pueden implementar la funcionalidad descrita de diversas formas para cada aplicación particular, pero tales decisiones de implementación no deberían interpretarse como una desviación del alcance de la presente divulgación.
Los diversos bloques, módulos y circuitos lógicos ilustrativos descritos en relación con las realizaciones desveladas en el presente documento pueden implementarse o realizarse con un procesador de uso general, un procesador de señales digitales (DSP), un circuito integrado específico de aplicación (ASIC), una matriz de puertas lógicas programable en campo (FPGA), u otro dispositivo lógico programable, compuerta discreta o lógica de transistor, componentes de hardware discretos, o cualquier combinación de los mismos diseñada para realizar las funciones descritas en el presente documento. Un procesador de uso general puede ser un microprocesador pero, alternativamente, el procesador puede ser cualquier procesador, controlador, microcontrolador o máquina de estado convencional. Un procesador también puede implementarse como combinación de dispositivos informáticos, por ejemplo, una combinación de un DSP y un microprocesador, una pluralidad de microprocesadores, uno o más microprocesadores en relación con un núcleo DSP, o cualquier otra de tales configuraciones.
En una o más realizaciones a modo de ejemplo, las funciones y métodos descritos pueden implementarse en hardware, software o firmware ejecutado en un procesador, o cualquier combinación de los mismos. Si se implementa en software, las funciones pueden almacenarse o transmitirse como una o más instrucciones o código en un medio legible por computadora. Los medios legibles por computadora incluyen tanto medios de almacenamiento como medios de comunicación informáticos, incluyendo cualquier medio que facilite la transferencia de un programa informático de un lugar a otro. Un medio de almacenamiento puede ser cualquier medio disponible al que pueda accederse mediante una computadora. A modo de ejemplo, y no de limitación, tales medios legibles por computadora pueden comprender RAM, ROM, EEPROM, CD-ROM u otro almacenamiento en disco óptico, almacenamiento en disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que pueda usarse para transportar o almacenar el código informático deseado en forma de instrucciones o estructuras de datos y al que pueda accederse mediante una computadora. Además, cualquier conexión se denomina adecuadamente medio legible por computadora. Por ejemplo, si el software se transmite desde un sitio web, servidor u otra fuente remota usando un cable coaxial, cable de fibra óptica, par trenzado, línea de suscriptor digital (DSL) o tecnologías inalámbricas tales como infrarrojos, radio y microondas, entonces el cable coaxial, cable de fibra óptica, par trenzado, DSL o tecnologías inalámbricas tales como infrarrojos, radio y microondas, se incluye en la definición de medio. Disco (incluyendo los términos disk y disc del inglés), como se usa en el presente documento, incluye disco compacto (CD), disco láser, disco óptico, disco versátil digital (DVD), disquete y disco Blu-ray, donde los discos (disks) generalmente reproducen datos magnéticamente, mientras que los discos (discs) reproducen datos ópticamente con láseres. Las combinaciones de los anteriores también deberían incluirse dentro del alcance de los medios legibles por computadora.
La descripción anterior detalla ciertas realizaciones de los sistemas, dispositivos y métodos desvelados en el presente documento. Sin embargo, se ha de entender que, sin importar cuán detallado aparezca lo anterior en el texto, los sistemas, dispositivos y métodos pueden ponerse en práctica de numerosas formas. Como también se ha indicado anteriormente, se ha de observar que el uso de terminología particular cuando se describen ciertas características o aspectos de la invención no se debería interpretar que implique que la terminología se esté redefiniendo en el presente documento para limitarse a incluir cualquier característica específica de las características o aspectos de la tecnología a la que está asociada esa terminología.
Los expertos en la materia entenderán que pueden realizarse diversas modificaciones y cambios sin apartarse del alcance de la tecnología descrita. Se pretende que tales modificaciones y cambios estén dentro del alcance de las realizaciones. Los expertos en la materia también entenderán que las partes incluidas en una realización son intercambiables con otras realizaciones; una o más partes de una realización descrita pueden estar incluidas en otras realizaciones descritas en cualquier combinación. Por ejemplo, cualquiera de los diversos componentes descrito en el presente documento y/o representado en las Figuras puede combinarse, intercambiarse o excluirse de otras realizaciones.
Con respecto al uso de básicamente cualquier término en plural y/o singular en el presente documento, los expertos en la técnica pueden traducir del plural al singular y/o del singular al plural según sea apropiado dependiendo del contexto y/o aplicación. En aras de la claridad, pueden exponerse expresamente diversas permutaciones singular/plural en el presente documento.
Los expertos en la materia entenderán que, en general, los términos usados en el presente documento se pretenden que sean generalmente "abiertos" (por ejemplo, el término "incluir" ha de interpretarse como "que incluye, pero no se limita a", el término "tener" ha de interpretarse como "tener al menos", el término "incluye" ha de interpretarse como "incluye, pero no se limita a", etc.). Los expertos en la materia entenderán además que, si se pretende un número específico de una enumeración de reivindicación introducida, tal pretensión se enumerará explícitamente en la reivindicación y, en ausencia de dicha enumeración, dicha pretensión no está presente. Por ejemplo, como ayuda para la comprensión, las siguientes reivindicaciones adjuntas pueden contener el uso de las expresiones introductorias "al menos uno" y "uno o más" para presentar las descripciones de las reivindicaciones. Sin embargo, el uso de tales expresiones no ha de interpretarse en el sentido de que la introducción de una enumeración de reivindicación mediante los artículos indefinidos "un" o "una" limite cualquier reivindicación particular que contenga dicha enumeración de reivindicación introducida a realizaciones que contengan solo una de dichas enumeraciones, incluso cuando la misma reivindicación incluya las expresiones introductorias "uno o más" o "al menos uno" y artículos indefinidos tales como "un" o "una" (por ejemplo, habitualmente "un" y/o "una" ha de interpretarse en el sentido de "al menos uno" o "uno o más"); lo mismo es válido para el uso de artículos definidos usados para introducir enumeraciones de reivindicación. Además, incluso si se enumera explícitamente un número específico de una enumeración de reivindicación introducida, los expertos en la materia reconocerán que dicha enumeración ha de interpretarse habitualmente en el sentido de al menos el número enumerado (por ejemplo, la simple enumeración de "dos enumeraciones", sin otros modificadores, significa habitualmente al menos dos enumeraciones, o dos o más enumeraciones). Además, en los casos en que se use una convención análoga a "al menos uno de A, B y C, etc.", en general, se pretende tal construcción en el sentido en que un experto en la técnica entendería la convención (por ejemplo, "un sistema que tiene al menos uno de A, B y C" incluiría, pero sin limitación, sistemas que tienen solo A, solo B, solo C, A y B juntos, A y C juntos, B y C juntos, y/o A, B y C juntos, etc.). En los casos en que se use una convención análoga a "al menos uno de A, B o C, etc.", en general, se pretende tal construcción en el sentido en que un experto en la materia entendería la convención (por ejemplo, "un sistema que tiene al menos uno de A, B o C" incluiría, pero sin limitación, sistemas que tienen solo A, solo B, solo C, A y B juntos, A y C juntos, B y C juntos, y/o A, B y C juntos, etc.). Los expertos en la materia entenderán además que prácticamente cualquier palabra y/o expresión disyuntiva que presente dos o más términos alternativos, ya sea en la descripción, las reivindicaciones o los dibujos, ha de entenderse que contempla las posibilidades de incluir uno de los términos, cualquiera de los términos, o ambos términos. Por ejemplo, se ha de entender que la expresión "A o B" incluye las posibilidades de "A" o "B" o "A y B".
Aunque en el presente documento se han desvelado diversos aspectos y realizaciones, otros aspectos y realizaciones serán evidentes para los expertos en la materia. Los diversos aspectos y realizaciones desvelados en el presente documento son con fines ilustrativos y no pretenden ser limitantes.

Claims (13)

REIVINDICACIONES
1. Un método para codificar un video capturado en un dispositivo de captura de video, que comprende:
leer datos de orientación para una primera orientación del dispositivo de captura de video a medida que se captura un video de una escena cuando el dispositivo de captura de video está en la primera orientación, en donde la primera orientación tiene una primera resolución;
determinar que el dispositivo de captura de video se rota a una segunda orientación a medida que se captura el video de la escena, en donde la segunda orientación tiene una segunda resolución;
leer datos de orientación del dispositivo de captura de video a medida que se captura un video de la escena cuando el dispositivo de captura de video está en la segunda orientación;
generar una matriz de rotación basada en una relación entre la primera orientación y la segunda orientación; ajustar la orientación de los fotogramas del video capturado cuando el dispositivo de captura de video está en la segunda orientación para coincidir con la orientación del video capturado cuando el dispositivo de captura de video está en la primera orientación;
recortar los fotogramas ajustados del video capturado cuando el dispositivo de captura de video está en la segunda orientación, teniendo los fotogramas recortados la primera resolución; y
codificar los fotogramas recortados del video capturado.
2. El método de la reivindicación 1, en donde los datos de orientación son datos de medición inercial de un acelerómetro o un giróscopo.
3. El método de la reivindicación 1, en donde el dispositivo de captura de video comprende un teléfono móvil o tableta.
4. El método de la reivindicación 1, que comprende además almacenar el video capturado ajustado en una memoria en el dispositivo de captura de video.
5. El método de la reivindicación 1, en donde el video capturado rotado se transmite a otro dispositivo con capacidad de visualización de video.
6. Un sistema para codificar un video capturado en un dispositivo de captura de video, que comprende: medios para leer datos de orientación para una primera orientación del dispositivo de captura de video a medida que se captura un video de una escena cuando el dispositivo de captura de video está en una primera orientación, en donde la primera orientación tiene una primera resolución;
medios para determinar que el dispositivo de captura de video se rota a una segunda orientación a medida que se captura el video de la escena, en donde la segunda orientación tiene una segunda resolución;
medios para leer los datos de orientación del dispositivo de captura de video a medida que se captura un video de la escena cuando el dispositivo de captura de video se rota a una orientación rotada;
medios para generar una matriz de rotación basada en una relación entre la primera orientación y la segunda orientación;
medios para ajustar la orientación de los fotogramas del video capturado cuando el dispositivo de captura de video está en la segunda orientación para coincidir con la orientación del video capturado cuando el dispositivo de captura de video está en la primera orientación;
medios para recortar los fotogramas ajustados del video capturado cuando el dispositivo de captura de video está en la segunda orientación, teniendo los fotogramas recortados la primera resolución; y
medios para codificar los fotogramas recortados del video capturado.
7. El sistema de la reivindicación 6, en donde los medios para leer datos de orientación comprenden una unidad de medición inercial configurada para proporcionar datos de orientación.
8. El sistema de la reivindicación 7, en donde la unidad de medición inercial comprende un acelerómetro o un giróscopo.
9. El sistema de la reivindicación 6, en donde el dispositivo de captura de video comprende un teléfono móvil o tableta.
10. El sistema de la reivindicación 6, en donde los medios para generar una matriz de rotación basada en los datos de la unidad de medición inercial comprenden un módulo de rotación configurado para operarse mediante un procesador.
11. El sistema de la reivindicación 6, en donde los medios para codificar el video capturado rotado comprenden un codificador de video.
12. El sistema de la reivindicación 6, que comprende además un transmisor para transmitir el video capturado ajustado a un segundo dispositivo con capacidad de visualización de video.
13. Un medio legible por computadora no transitorio configurado para almacenar instrucciones que cuando se ejecutan mediante un procesador realizan un método de acuerdo con una cualquiera de las reivindicaciones 1 a 5.
ES13798479T 2012-11-27 2013-11-13 Sistema y método para ajustar la orientación de video capturado Active ES2897432T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/686,466 US9516229B2 (en) 2012-11-27 2012-11-27 System and method for adjusting orientation of captured video
PCT/US2013/069860 WO2014085090A1 (en) 2012-11-27 2013-11-13 System and method for adjusting orientation of captured video

Publications (1)

Publication Number Publication Date
ES2897432T3 true ES2897432T3 (es) 2022-03-01

Family

ID=49679647

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13798479T Active ES2897432T3 (es) 2012-11-27 2013-11-13 Sistema y método para ajustar la orientación de video capturado

Country Status (11)

Country Link
US (1) US9516229B2 (es)
EP (1) EP2926546B1 (es)
JP (1) JP6219400B2 (es)
KR (1) KR101778420B1 (es)
CN (1) CN104838643A (es)
AP (1) AP2015008494A0 (es)
EC (1) ECSP15027581A (es)
ES (1) ES2897432T3 (es)
MA (1) MA38122B1 (es)
SA (1) SA515360486B1 (es)
WO (1) WO2014085090A1 (es)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9489717B2 (en) 2005-01-31 2016-11-08 Invention Science Fund I, Llc Shared image device
US9910341B2 (en) 2005-01-31 2018-03-06 The Invention Science Fund I, Llc Shared image device designation
US9325781B2 (en) 2005-01-31 2016-04-26 Invention Science Fund I, Llc Audio sharing
US9082456B2 (en) 2005-01-31 2015-07-14 The Invention Science Fund I Llc Shared image device designation
US9124729B2 (en) 2005-01-31 2015-09-01 The Invention Science Fund I, Llc Shared image device synchronization or designation
US9076208B2 (en) 2006-02-28 2015-07-07 The Invention Science Fund I, Llc Imagery processing
US9191611B2 (en) 2005-06-02 2015-11-17 Invention Science Fund I, Llc Conditional alteration of a saved image
US9451200B2 (en) 2005-06-02 2016-09-20 Invention Science Fund I, Llc Storage access technique for captured data
US9967424B2 (en) 2005-06-02 2018-05-08 Invention Science Fund I, Llc Data storage usage protocol
US20070222865A1 (en) 2006-03-15 2007-09-27 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Enhanced video/still image correlation
US9621749B2 (en) * 2005-06-02 2017-04-11 Invention Science Fund I, Llc Capturing selected image objects
US9819490B2 (en) 2005-05-04 2017-11-14 Invention Science Fund I, Llc Regional proximity for shared image device(s)
US10003762B2 (en) 2005-04-26 2018-06-19 Invention Science Fund I, Llc Shared image devices
DE102013224590B4 (de) * 2012-12-03 2019-07-18 Canon Kabushiki Kaisha Anzeigevorrichtung und deren steuerverfahren
JP6128389B2 (ja) * 2013-01-24 2017-05-17 パナソニックIpマネジメント株式会社 撮像装置
US9762848B2 (en) 2013-03-15 2017-09-12 Google Inc. Automatic adjustment of video orientation
CN104345872A (zh) * 2013-08-06 2015-02-11 鸿富锦精密工业(武汉)有限公司 移动设备智能横屏方法及系统
US20150244938A1 (en) * 2014-02-25 2015-08-27 Stelios Petrakis Techniques for electronically adjusting video recording orientation
US20170193845A1 (en) * 2015-12-30 2017-07-06 International Business Machines Corporation Detection of anomalous behavior in digital education settings based on portable device movement
CN105898594B (zh) * 2016-04-22 2019-03-08 北京奇艺世纪科技有限公司 控制虚拟现实视频播放的方法和装置
US11528402B2 (en) 2016-05-27 2022-12-13 Hanwha Techwin Co., Ltd. Terminal and method for setting data protocol for photographed image
CN106506940A (zh) * 2016-10-19 2017-03-15 天津奇幻岛科技有限公司 一种补偿相机在直线滑移云台上晃动的方法
EP3482286A1 (en) * 2016-11-17 2019-05-15 Google LLC Media rendering with orientation metadata
US10564425B2 (en) * 2017-02-27 2020-02-18 Snap Inc. Processing a media content based on device movement
US10735653B1 (en) * 2017-03-14 2020-08-04 Ambarella International Lp Electronic image stabilization to improve video analytics accuracy
US10547784B2 (en) * 2017-06-19 2020-01-28 SighTour Technologies, Inc. Image stabilization
US11050933B2 (en) * 2018-04-27 2021-06-29 Continenal Automotive Systems, Inc. Device and method for determining a center of a trailer tow coupler
EP3987763A4 (en) * 2019-06-21 2023-07-12 GoPro, Inc. VIDEO STABILIZATION SYSTEMS AND METHODS
CN110519507B (zh) * 2019-07-23 2021-03-19 影石创新科技股份有限公司 一种相机镜头平滑处理方法、装置及便携式终端
JP2023001629A (ja) * 2021-06-21 2023-01-06 キヤノン株式会社 撮像装置、情報処理装置及びその制御方法並びにプログラム
US20240005452A1 (en) * 2022-06-29 2024-01-04 Microsoft Technology Licensing, Llc Camera rotation for multi-posture computing devices

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08336069A (ja) * 1995-04-13 1996-12-17 Eastman Kodak Co 電子スチルカメラ
US6011585A (en) * 1996-01-19 2000-01-04 Apple Computer, Inc. Apparatus and method for rotating the display orientation of a captured image
US6597817B1 (en) * 1997-07-15 2003-07-22 Silverbrook Research Pty Ltd Orientation detection for digital cameras
US6262769B1 (en) * 1997-07-31 2001-07-17 Flashpoint Technology, Inc. Method and system for auto rotating a graphical user interface for managing portrait and landscape images in an image capture unit
JP4154025B2 (ja) * 1998-03-11 2008-09-24 キヤノン株式会社 撮像装置
US6286873B1 (en) * 1998-08-26 2001-09-11 Rufus Butler Seder Visual display device with continuous animation
US7554578B2 (en) * 2000-07-11 2009-06-30 Phase One A/S Digital camera with integrated accelerometers
GB0116113D0 (en) * 2001-06-30 2001-08-22 Hewlett Packard Co Tilt correction of electronic images
US8508643B2 (en) * 2003-01-17 2013-08-13 Hewlett-Packard Development Company, L.P. Method and system for processing an image
JP2005025268A (ja) * 2003-06-30 2005-01-27 Toshiba Corp 電子機器および表示制御方法
US20050093891A1 (en) * 2003-11-04 2005-05-05 Pixel Instruments Corporation Image orientation apparatus and method
US7583858B2 (en) 2004-10-12 2009-09-01 Eastman Kodak Company Image processing based on direction of gravity
JP2006148638A (ja) * 2004-11-22 2006-06-08 Victor Co Of Japan Ltd ビデオ撮影装置
EP1667418B1 (en) * 2004-12-03 2013-01-16 Nikon Corporation Digital camera having video file creating function
JP2007058031A (ja) * 2005-08-26 2007-03-08 Sony Corp ディスプレイ装置
KR100708178B1 (ko) * 2005-09-01 2007-04-16 삼성전자주식회사 영상 처리 방법, 장치 및 영상 정보를 기록한 정보저장매체
JP2007306500A (ja) * 2006-05-15 2007-11-22 Sanyo Electric Co Ltd 画像傾き補正装置及び画像傾き補正方法
JP2008160703A (ja) * 2006-12-26 2008-07-10 Sky Kk カメラ及びカメラ用プログラム
US9001047B2 (en) * 2007-01-07 2015-04-07 Apple Inc. Modal change based on orientation of a portable multifunction device
US20090040308A1 (en) 2007-01-15 2009-02-12 Igor Temovskiy Image orientation correction method and system
JP4930297B2 (ja) * 2007-09-10 2012-05-16 株式会社ニコン 撮像装置
JP2010147637A (ja) * 2008-12-17 2010-07-01 Nikon Corp 動画再生装置、動画再生方法、および、動画再生プログラム
US20110128350A1 (en) * 2009-11-30 2011-06-02 Motorola, Inc. Method and apparatus for choosing a desired field of view from a wide-angle image or video
KR20110061063A (ko) * 2009-12-01 2011-06-09 삼성전자주식회사 휴대 단말기의 이미지 촬영 방법 및 장치
US8687070B2 (en) 2009-12-22 2014-04-01 Apple Inc. Image capture device having tilt and/or perspective correction
WO2011100480A1 (en) * 2010-02-10 2011-08-18 Brian Lamb Automatic motion tracking, event detection and video image capture and tagging
US9124804B2 (en) 2010-03-22 2015-09-01 Microsoft Technology Licensing, Llc Using accelerometer information for determining orientation of pictures and video images
US8558903B2 (en) 2010-03-25 2013-10-15 Apple Inc. Accelerometer / gyro-facilitated video stabilization
US8743219B1 (en) * 2010-07-13 2014-06-03 Marvell International Ltd. Image rotation correction and restoration using gyroscope and accelerometer
CA2754841C (en) 2010-10-12 2016-11-01 Research In Motion Limited Method and apparatus for image orientation indication and correction
CN102162738B (zh) * 2010-12-08 2012-11-21 中国科学院自动化研究所 摄像头与惯性传感器组合定位定姿系统的标定方法
US8723890B2 (en) * 2010-12-23 2014-05-13 Blackberry Limited Handheld electronic device having sliding display and position configurable camera
US8964041B2 (en) 2011-04-07 2015-02-24 Fr Vision Ab System and method for video stabilization of rolling shutter cameras
CN103562791A (zh) * 2011-04-18 2014-02-05 眼见360股份有限公司 用于与移动计算设备一起进行全景视频成像的装置和方法
US8896713B2 (en) * 2011-08-15 2014-11-25 Apple Inc. Motion-based video stabilization
JP6155471B2 (ja) * 2013-03-11 2017-07-05 パナソニックIpマネジメント株式会社 画像生成装置、撮像装置および画像生成方法
TW201536050A (zh) * 2014-03-13 2015-09-16 Chicony Electronics Co Ltd 可修正偏移視角的影像擷取方法、電腦程式產品暨其影像擷取裝置

Also Published As

Publication number Publication date
US9516229B2 (en) 2016-12-06
KR20150091112A (ko) 2015-08-07
AP2015008494A0 (en) 2015-05-31
WO2014085090A1 (en) 2014-06-05
SA515360486B1 (ar) 2017-09-19
KR101778420B1 (ko) 2017-09-26
EP2926546A1 (en) 2015-10-07
JP2016502346A (ja) 2016-01-21
ECSP15027581A (es) 2016-01-29
MA20150432A1 (fr) 2015-11-30
EP2926546B1 (en) 2021-10-27
CN104838643A (zh) 2015-08-12
JP6219400B2 (ja) 2017-10-25
US20140146205A1 (en) 2014-05-29
MA38122B1 (fr) 2017-05-31

Similar Documents

Publication Publication Date Title
ES2897432T3 (es) Sistema y método para ajustar la orientación de video capturado
US10129527B2 (en) Camera pose estimation for mobile devices
US10084962B2 (en) Spherical video stabilization based on accelerometer data
US11647289B2 (en) Systems and methods for stabilizing videos
ES2726349T3 (es) Métodos, dispositivos y sistemas para hacer zoom automático cuando se reproduce una escena de realidad aumentada
US11257521B2 (en) Systems and methods for generating time-lapse videos
KR101707600B1 (ko) 멀티미디어 클립에 대한 비디오 안정화 적용
US11758084B2 (en) Systems and methods for generating panoramic visual content
US12081869B2 (en) Systems and methods for stabilizing videos
US11153489B2 (en) Systems and methods for stabilizing videos
US12088911B1 (en) Systems and methods for capturing visual content using celestial pole