Sistema y método para permitir la extracción rápida de datos de imagen entrelazados.

Método de procesado de una unidad de datos entrelazados que incluye una pluralidad de fragmentos de datos de un primer tipo y una pluralidad de fragmentos de datos de un segundo tipo, que comprende:

usar una unidad de microprocesador

(230) para copiar un primer fragmento de datos del primer tipo en la unidad de datos a una primera memoria intermedia (210);

usar hardware de acceso directo a memoria (240) para copiar un primer fragmento de datos del segundo tipo en la unidad de datos a una segunda memoria intermedia (220);

al completarse la copia del primer fragmento de datos del primer tipo, usar la unidad de microprocesador (230) para copiar el siguiente fragmento de datos del primer tipo en la unidad de datos a la primera memoria intermedia (210);

después de completarse la copia del primer fragmento de datos del segundo tipo, usar el hardware de acceso directo a memoria (240) para copiar el siguiente fragmento de datos del segundo tipo en la unidad de datos a la segunda memoria intermedia (220); y

continuar usando la unidad de microprocesador (230) y el hardware de acceso directo a memoria (240) para copiar fragmentos de datos subsiguientes del primer tipo y el segundo tipo, respectivamente, de la unidad de datos a la primera memoria intermedia (210) y la segunda memoria intermedia (220) hasta que se hayan copiado todos los fragmentos de datos de la unidad de datos.

Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/IB2007/000631.

Solicitante: Core Wireless Licensing S.a.r.l.

Nacionalidad solicitante: Luxemburgo.

Dirección: 16, avenue Pasteur 2310 Luxembourg LUXEMBURGO.

Inventor/es: KAIKUMAA,TIMO.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • SECCION G — FISICA > COMPUTO; CALCULO; CONTEO > TRATAMIENTO DE DATOS DIGITALES ELECTRICOS (computadores... > Disposiciones para el control por programa, p. ej.... > G06F9/46 (Disposiciones para la multiprogramación)
  • SECCION G — FISICA > COMPUTO; CALCULO; CONTEO > TRATAMIENTO DE DATOS DIGITALES ELECTRICOS (computadores... > Interconexión o transferencia de información u... > G06F13/28 (utilizando la transferencia por ráfaga, p. ej. acceso directo a la memoria, robo de ciclo (G06F 13/32 tiene prioridad))

PDF original: ES-2527962_T3.pdf

 

google+ twitter facebook

Fragmento de la descripción:

Sistema y método para permitir la extracción rápida de datos de imagen entrelazados.

Campo de la invención

La presente invención se refiere en general al procesado de datos en dispositivos electrónicos. Más particularmente, la presente invención se refiere al desentrelazado de diferentes tipos de datos en dispositivos electrónicos móviles, tales como teléfonos móviles con módulos de cámara incorporados.

Antecedentes de la invención

En los últimos años, los teléfonos móviles vienen cada vez más equipados con módulos de cámara incorporados. Estos módulos de cámara permiten que un usuario saque una fotografía digital y que la transmita rápidamente a los amigos y la familia.

En la Figura 1 se muestra con la referencia 1 un sistema genérico de cámara digital que forma parte de un teléfono móvil u otro dispositivo electrónico. La cámara digital 1 incluye una caja 11 que contiene por lo menos una lente 12 y por lo menos un sensor de imágenes 18 el cual está conectado operativamente a una unidad de memoria 14 y a un procesador o controlador 16, estando situados los dos fuera del módulo de cámara 1 y dentro del teléfono móvil u otro dispositivo electrónico dentro del cual está alojado el módulo de cámara 1. La unidad de memoria 14 se puede usar para almacenar imágenes digitales y software de ordenador con el fin de llevar a cabo varias funciones en la cámara digital 1, así como para implementar la presente invención. El sensor de imágenes 18 puede ser un dispositivo acoplado por carga (CCD), un semiconductor complementario de óxido metálico (CMOS), u otro sistema.

Los módulos de cámara que se usan en teléfonos móviles se diseñan comúnmente de manera que sean de tamaño reducido y económicos por muchos motivos. Como consecuencia de este hecho, un sensor de imágenes típico 18 no incluye ninguna memoria de cuadro dentro del módulo de cámara 1. En su lugar, a los datos de imagen provenientes de una imagen capturada se les debe dar salida hacia el motor telefónico en cuanto son leídos del sensor. De lo contrario, los datos de imagen se perderían. El sensor de imágenes 18 se lee típicamente al estilo línea a línea, y los datos se envían en el mismo orden al motor telefónico, en donde existe suficiente memoria para almacenar los datos.

Para reducir el ancho de banda necesario para la transmisión de los datos de imagen entre el módulo de cámara 1 y el motor telefónico, frecuentemente el sensor de imágenes 18 comprime los datos antes de enviarlos a ningún otro sitio. Para reducir los requisitos de procesado en el motor telefónico, muchos módulos de cámara usan en estafase la compresión JPEG, ya que es probable que en cualquier caso las imágenes acaben en un formato JPEG de manera que el motor telefónico no necesita consumir tiempo adicional para la codificación JPEG.

Desde una perspectiva de la facilidad de utilización, no es suficiente que las imágenes de cámara únicamente sean procesadas y guardadas en memoria. Esto es debido a que al usuario final también le gustaría ver la imagen que acaba de sacar en la pantalla del teléfono, por ejemplo, para decidir si la imagen tenía o no una calidad satisfactoria. Es también deseable desde la perspectiva del usuario para que no se produzca ningún retardo adicional cuando se muestra al usuario la imagen de vista previa.

No obstante, desafortunadamente, la elaboración de una imagen de vista previa a partir de los datos comprimidos no es una operación inmediata, sino que, por el contrario, ocupa inevitablemente cierto tiempo adicional. Existen varias soluciones potenciales diferentes a esta cuestión, aunque cada una de ellas posee inconvenientes importantes en sí mismos. Una de estas soluciones implica permitir que el módulo de cámara 1 dé salida a los datos de la imagen capturada en un formato tal que permita la construcción rápida de la imagen de vista previa de tamaño menor que se va a mostrar en el dispositivo de visualización del teléfono. En la práctica, esto significa el uso de un formato no comprimido para los datos de imagen. No obstante, el problema de este planteamiento es que con cámaras de resolución mayor, podría no haber ancho de banda suficiente para transferir los datos.

Otra solución potencial a este problema es el uso de un módulo de cámara que incluya suficiente memoria de cuadro para permitir que la misma imagen se transmita dos veces, primero como una imagen con el tamaño adecuado para la visualización, y a continuación una imagen de resolución completa con el fin de guardarla. El problema de este planteamiento es que la memoria adicional es simplemente demasiado cara para implementar de manera práctica esta solución.

Otra solución potencial al problema antes descrito implica el entrelazado de una imagen comprimida para ser guardada y una imagen de vista previa no comprimida para ser visualizada. Aun cuando no haya memoria para un cuadro de imagen completo en el módulo de cámara, un codificador de JPEG de la cámara requiere que se disponga de memoria para ocho líneas de la imagen. Esto hace que resulte posible entrelazar los datos no comprimidos de imágenes de vista previa dentro de los datos comprimidos de imágenes de resolución completa. Puesto que los datos de vista previa están destinados al dispositivo de visualización (cuya resolución es

sustancialmente menor que la correspondiente de los sensores de cámara) del teléfono móvil, el entrelazado de la imagen de vista previa reducida en tamaño no hace que aumenten los requisitos de ancho de banda en una gran cantidad. En la Figura 2 se representa gráficamente el proceso de entrelazado, en el que dos tipos de datos se dividen en fragmentos y se envían uno después de otro. En la Figura 2, los rombos blancos y negros representan marcadores específicos que marcan el comienzo de cada tipo de fragmento. En la práctica, los marcadores se deben seleccionar de manera que no puedan aparecer en los propios datos. Alternativamente, se podría incluir en cada marcador información sobre la longitud del fragmento. No obstante, en la codificación JPEG, por ejemplo, no es posible en general conocer el tamaño de los datos de salida antes de que haya tenido lugar la codificación. Por lo tanto, la cámara debería estar equipada con memorias intermedias adicionales para este planteamiento.

La transmisión de todos los datos de un cuadro de imagen requiere la transmisión de varios fragmentos de datos de vista previa y datos comprimidos. Un fragmento puede contener tanta información como pueda almacenar temporalmente el módulo de cámara en cualquier momento dado. Por ejemplo, si un codificador de JPEG requiere que haya disponibles 8 líneas en una memoria intermedia de un tipo dado, entonces es posible usar fragmentos que contienen datos por lo menos para esas 8 líneas. Debería indicarse que en el módulo de cámara también podría haber cierta capacidad adicional de almacenamiento temporal.

La Figura 2 ilustra también cómo fragmentos de datos de imagen de vista previa tienen siempre la misma longitud, aunque la longitud de fragmentos de datos comprimidos puede variar. Esto es debido a que la eficiencia de la compresión depende del contenido de las imágenes y puede variar incluso dentro de una imagen individual. Por otro lado, los datos de vista previa no están comprimidos y existe siempre, por lo tanto, la misma cantidad de datos de vista previa a enviar en un fragmento. Por este motivo, los marcadores después de los fragmentos de datos de vista previa (en el comienzo de los fragmentos de datos comprimidos) no son obligatorios, en la medida en la que la longitud del fragmento de datos de vista previa es siempre conocida.

Aunque el entrelazado de datos comprimidos y no comprimidos aborda muchas de las... [Seguir leyendo]

 


Reivindicaciones:

1. Método de procesado de una unidad de datos entrelazados que incluye una pluralidad de fragmentos de datos de un primer tipo y una pluralidad de fragmentos de datos de un segundo tipo, que comprende:

usar una unidad de microprocesador (23) para copiar un primer fragmento de datos del primer tipo en la unidad de datos a una primera memoria intermedia (21);

usar hardware de acceso directo a memoria (24) para copiar un primer fragmento de datos del segundo tipo en la unidad de datos a una segunda memoria intermedia (22);

al completarse la copia del primer fragmento de datos del primer tipo, usar la unidad de microprocesador (23) para copiar el siguiente fragmento de datos del primer tipo en la unidad de datos a la primera memoria intermedia

(21);

después de completarse la copia del primer fragmento de datos del segundo tipo, usar el hardware de acceso directo a memoria (24) para copiar el siguiente fragmento de datos del segundo tipo en la unidad de datos a la segunda memoria intermedia (22); y

continuar usando la unidad de microprocesador (23) y el hardware de acceso directo a memoria (24) para copiar fragmentos de datos subsiguientes del primer tipo y el segundo tipo, respectivamente, de la unidad de datos a la primera memoria intermedia (21) y la segunda memoria intermedia (22) hasta que se hayan copiado todos los fragmentos de datos de la unidad de datos.

2. Método según la reivindicación 1, que comprende por lo menos una de entre:

la pluralidad de fragmentos de datos del primer tipo comprende fragmentos de datos comprimidos,

la pluralidad de fragmentos de datos del primer tipo comprende fragmentos de datos que tienen longitudes no uniformes,

la pluralidad de fragmentos de datos del segundo tipo comprende fragmentos de datos no comprimidos.

3. Método según la reivindicación 2, en el que los fragmentos de datos no comprimidos comprenden datos de vista previa de imágenes.

4. Método según la reivindicación 3, que comprende además, después de que todos los fragmentos de datos del segundo tipo en la unidad de datos se hayan copiado a la segunda memoria intermedia (22), usar los datos de vista previa de imágenes para visualizar una imagen para un usuario.

5. Método según cualquiera de las reivindicaciones anteriores, en el que la copia de fragmentos de datos del primer tipo en la unidad de datos a la primera memoria intermedia (21) incluye usar la unidad de microprocesador (23) para buscar un marcador que indique dónde comienza el siguiente fragmento de datos no copiados del primer tipo.

6. Método según cualquiera de las reivindicaciones anteriores, en el que la pluralidad de fragmentos de datos del primer tipo y el segundo tipo se copia a partir de una memoria intermedia de datos entrelazados (2).

7. Método según la reivindicación 6, en el que la memoria intermedia de datos entrelazados (2) comprende la primera memoria intermedia de datos (21), y siendo los fragmentos de datos individuales del segundo tipo sobrescritos en la memoria intermedia de datos entrelazados (2) durante la copia de fragmentos de datos del primer tipo.

8. Método según cualquiera de las reivindicaciones anteriores, en el que la unidad de datos se genera a partir de la captura de una imagen por parte de un módulo de cámara.

9. Producto de programa de ordenador para procesar una unidad de datos entrelazados que incluye una pluralidad de fragmentos de datos de un primer tipo y una pluralidad de fragmentos de datos de un segundo tipo, que comprende:

un código de ordenador para usar una unidad de microprocesador (23) con el fin de copiar un primer fragmento de datos del primer tipo en la unidad de datos a una primera memoria intermedia (21);

un código de ordenador para usar hardware de acceso directo a memoria (24) con el fin de copiar un primer fragmento de datos del segundo tipo en la unidad de datos a una segunda memoria intermedia (22);

un código de ordenador para, al completarse la copia del primer fragmento de datos del primer tipo, usar la unidad de microprocesador (23) para copiar el siguiente fragmento de datos del primer tipo en la unidad de datos a la primera memoria intermedia (21);

un código de ordenador para, después de completarse la copla del primer fragmento de datos del segundo tipo, usar el hardware de acceso directo a memoria (24) para copiar el siguiente fragmento de datos del segundo tipo en la unidad de datos a la segunda memoria intermedia (22); y

un código de ordenador para continuar usando la unidad de microprocesador (23) y el hardware de acceso directo a memoria (24) con el fin de copiar fragmentos de datos subsiguientes del primer tipo y el segundo tipo, respectivamente, de la unidad de datos a la primera memoria intermedia (21) y la segunda memoria intermedia (22) hasta que se hayan copiado todos los fragmentos de datos en la unidad de datos.

1. Producto de programa de ordenador según la reivindicación 9, que comprende por lo menos una de entre:

la pluralidad de fragmentos de datos del primer tipo comprende fragmentos de datos comprimidos,

la pluralidad de fragmentos de datos del primer tipo comprende fragmentos de datos que tienen longitudes no uniformes,

la pluralidad de fragmentos de datos del segundo tipo comprende fragmentos de datos no comprimidos.

11. Producto de programa de ordenador según la reivindicación 9 o 1, que comprende además un código de ordenador para, después de que todos los fragmentos de datos del segundo tipo en la unidad de datos se hayan copiado a la segunda memoria intermedia (22), usar los datos no comprimidos para visualizar una imagen a un usuario.

12. Producto de programa de ordenador según cualquiera de las reivindicaciones 9 a 11, en el que la copla de fragmentos de datos del primer tipo en la unidad de datos a la primera memoria intermedia (21) incluye usar la unidad de microprocesador (23) para buscar un marcador que indique dónde comienza el siguiente fragmento de datos no copiados del primer tipo.

13. Producto de programa de ordenador según cualquiera de las reivindicaciones 9 a 12, en el que la pluralidad de fragmentos de datos del primer tipo y el segundo tipo se copla a partir de una memoria Intermedia de datos

entrelazados (2).

14. Producto de programa de ordenador según la reivindicación 13, en el que la memoria Intermedia de datos entrelazados (2) comprende la primera memoria Intermedia de datos (21), y siendo los fragmentos de datos individuales del segundo tipo sobrescritos en la memoria Intermedia de datos entrelazados (2) durante la copla de fragmentos de datos del primer tipo.

15. Dispositivo electrónico, que comprende: una unidad de microprocesador (23);

una unidad de memoria conectada operativamente a la unidad de microprocesador (23), Incluyendo la unidad de memoria una primera memoria intermedia (21) y una segunda memoria Intermedia (22); y

hardware de acceso directo a memoria (24) conectado operativamente a la unidad de memoria,

Incluyendo la unidad de memoria un producto de programa de ordenador para procesar una unidad de datos entrelazados que Incluye una pluralidad de fragmentos de datos de un primer tipo y una pluralidad de fragmentos de datos de un segundo tipo, que comprende:

un código de ordenador para usar la unidad de microprocesador (23) con el fin de copiar un primer fragmento de datos del primer tipo en la unidad de datos a la primera memoria Intermedia (21);

un código de ordenador para usar el hardware de acceso directo a memoria (24) con el fin de copiar un primer fragmento de datos del segundo tipo en la unidad de datos a la segunda memoria Intermedia (22);

un código de ordenador para, al completarse la copla del primer fragmento de datos del primer tipo, usar la unidad de microprocesador (23) para copiar el siguiente fragmento de datos del primer tipo en la unidad de datos a la primera memoria intermedia (21);

un código de ordenador para, después de completarse la copia del primer fragmento de datos del segundo tipo, usar el hardware de acceso directo a memoria (24) para copiar el siguiente fragmento de datos del segundo tipo en la unidad de datos a la segunda memoria Intermedia (22); y

un código de ordenador para continuar usando la unidad de microprocesador (23) y el hardware de acceso directo a memoria (24) con el fin de copiar fragmentos de datos subsiguientes del primer tipo y el segundo tipo, respectivamente, de la unidad de datos a la primera memoria intermedia (21) y la segunda memoria intermedia (22) hasta que se hayan copiado todos los fragmentos de datos de la unidad de datos.

16. Dispositivo electrónico de la reivindicación 15, que comprende por lo menos una de entre:

la pluralidad de fragmentos de datos del primer tipo comprende fragmentos de datos comprimidos,

la pluralidad de fragmentos de datos del primer tipo comprende fragmentos de datos que tienen longitudes no uniformes,

la pluralidad de fragmentos de datos del segundo tipo comprende fragmentos de datos no comprimidos.

17. Dispositivo electrónico de la reivindicación 15 o 16, en el que el producto de programa de ordenador comprende además un código de ordenador para, después de que todos los fragmentos de datos del segundo tipo en la unidad de datos se hayan copiado a la segunda memoria intermedia (22), usar los datos no comprimidos para visualizar una imagen a un usuario.

18. Dispositivo electrónico según la reivindicación 15, 16, o 17, en el que la copia de fragmentos de datos del primer tipo en la unidad de datos a la primera memoria intermedia (21) incluye usar la unidad de microprocesador (23) para buscar un marcador que indique dónde comienza el siguiente fragmento de datos no copiados del primer tipo.

19. Dispositivo electrónico según la reivindicación 15, 16, 17, o 18, en el que la pluralidad de fragmentos de datos del primer tipo y el segundo tipo se copia a partir de una memoria intermedia de datos entrelazados (2).

2. Dispositivo electrónico según la reivindicación 19, en el que la memoria intermedia de datos entrelazados comprende la primera memoria intermedia de datos (21), y siendo los fragmentos de datos individuales del segundo tipo sobrescritos en la memoria intermedia de datos entrelazados durante la copia de fragmentos de datos del primer tipo.

21. Circuito integrado, que comprende: una parte de microprocesador;

una parte de memoria conectada operativamente a la parte de multiprocesador, incluyendo la parte de memoria una primera memoria intermedia (21) y una segunda memoria intermedia (22); y

una parte de hardware de acceso directo a memoria (24) conectada operativamente a la parte de memoria,

incluyendo la parte de memoria un producto de programa de ordenador para procesar una unidad de datos entrelazados que incluye una pluralidad de fragmentos de datos de un primer tipo y una pluralidad de fragmentos de datos de un segundo tipo, que comprende:

un código de ordenador para usar la parte de microprocesador con el fin de copiar un primer fragmento de datos del primer tipo en la unidad de datos a la primera memoria intermedia (21);

un código de ordenador para usar la parte de hardware de acceso directo a memoria (24) con el fin de copiar un primer fragmento de datos del segundo tipo en la unidad de datos a la segunda memoria intermedia (22);

un código de ordenador para, al completarse la copia del primer fragmento de datos del primer tipo, usar la parte de microprocesador para copiar el siguiente fragmento de datos del primer tipo en la unidad de datos a la primera memoria intermedia (21);

un código de ordenador para, después de completarse la copia del primer fragmento de datos del segundo tipo, usar la parte de hardware de acceso directo a memoria (24) para copiar el siguiente fragmento de datos del segundo tipo en la unidad de datos a la segunda memoria intermedia (22); y

un código de ordenador para continuar usando la parte de microprocesador y la parte de hardware de acceso directo a memoria (24) con el fin de copiar fragmentos de datos subsiguientes del primer tipo y el segundo

tipo, respectivamente, de la unidad de datos a la primera memoria intermedia (21) y la segunda memoria intermedia (22) hasta que se hayan copiado todos los fragmentos de datos en la unidad de datos.