MÉTODOS, DISPOSITIVOS ELECTRÓNICOS, Y PRODUCTOS DE PROGRAMAS
DE COMPUTADORA PARA PROCESAR IMÁGENES QUE UTILIZAN MEMORIAS
INTERMEDIAS MÚLTIPLES DE IMÁGENES
CAMPO DE LA INVENCIÓN La presente invención se relaciona con sistemas de procesamiento de imágenes, y, más particularmente, con los métodos, dispositivos electrónicos, y productos de programas de computadora para procesar imágenes que usan memorias intermedias o búferes múltiples de imágenes. ANTECEDENTES DE LA INVENCIÓN Las terminales móviles, tales como los teléfonos celulares, pueden equiparse con funcionalidad de cámara digital. Cuando un usuario apunta la cámara a una escena, la cámara puede operar en un modo de lente visor. En este modo, el tamaño de salida de la imagen puede ser menor y la calidad de imagen puede ser menos que la resolución y tamaño máximo, respectivamente, que pueden proporcionarse por la cámara. El formato de salida puede corresponder al tamaño de la imagen del lente visor en la pantalla. El formato menor puede indicar menos datos de imagen y puede utilizarse una mayor velocidad de cuadros, por ejemplo, aproximadamente 15 - 30 cuadros por segundo . Cuando un usuario presiona el botón de liberación en la cámara, la cámara se desplaza al modo de captura. En una
cámara convencional, puede tomar un cuadro de imagen extra para cambiar a resolución completa en tal tiempo que la cámara captura una imagen de resolución completa y envía la imagen de resolución completa a la pantalla. Desafortunadamente, el intervalo entre el tiempo que el usuario presiona el botón de liberación para capturar una imagen y el tiempo que la cámara captura un cuadro de imagen puede dar como resultado que el usuario no obtenga la imagen que desea. Por ejemplo, el sujeto pudo haberse movido durante ese periodo. Además, que la imagen se capture en un tiempo cuando se mueve la cámara, puede ser más severo. El usuario solo ha presionado el botón de liberación, lo cual puede causar que la cámara se mueva, y el usuario puede haber comenzado a mover la cámara pensando que la imagen ya se había capturado BREVE DESCRICPIÓN DE LA INVENCIÓN. De acuerdo a algunas modalidades de la presente invención, se opera un dispositivo electrónico proporcionando una pluralidad de memorias intermedias. Las imágenes consecutivas se almacenan en los respectivos de la pluralidad de memorias intermedias y una o más de las imágenes almacenadas se seleccionan para salidas que responden a la entrada del usuario.
En otras modalidades de la presente invención, almacenar las imágenes consecutivas comprende comprimir las imágenes consecutivas . En todavía otras modalidades de la presente invención, almacenar las imágenes consecutivas comprende además escalar las imágenes consecutivas antes de comprimir las imágenes consecutivas . En todavía otras modalidades de la presente invención, las imágenes consecutivas se escalan y las imágenes consecutivas escaladas se producen antes de seleccionar una o más de las imágenes almacenadas para salida. En todavía otras modalidades de la presente invención, la pluralidad de memorias intermedias comprende una cola circular . En todavía otras modalidades de la presente invención, seleccionar una de las imágenes almacenadas para salida comprende seleccionar la imagen que se almacenó en la pluralidad de memorias intermedias inmediatamente antes de la entrada del usuario que responde a la entrada del usuario. En todavía otras modalidades de la presente invención, seleccionar una o más de las imágenes almacenadas para salida comprende desplegar las imágenes almacenadas que responde s a la entrada del usuario y recibir una selección de una o más de
las imágenes almacenadas desde el usuario responsivo al despliegue de las imágenes almacenadas. En todavía otras modalidades de la presente invención, el dispositivo electrónico es una terminal móvil que comprende una cámara y/o un grabador de video. Aunque lo descrito anteriormente primordialmente es con relación a los aspectos del método de la presente invención, se entenderá que la presente invención puede incorporarse como métodos, dispositivos electrónicos, y/o productos de programas de computadora. BREVE DESCRIPCIÓN DE LOS DIBUJOS Otras características de la presente invención serán más fácilmente entendidas a partir de la siguiente descripción detallada de las modalidades específicas de la misma cuando se lean en conjunción con los dibujos acompañantes, en que: La FIGURA 1 es un diagrama de bloques que ilustra una terminal móvil de acuerdo con algunas modalidades de la presente invención; La FIGURA 2 es un diagrama de bloques que ilustra una arquitectura equipo físico/conjunto de programas
(hardware/software) que puede usarse en los dispositivos electrónicos, tal como la terminal móvil de la FIGURA 1, de acuerdo con algunas modalidades de la presente invención;
La FIGURA 3 es un diagrama de bloques de las memorias intermedias de imagen de acuerdo con algunas modalidades de la presente invención; y La FIGURA 4 es un diagrama de flujo que ilustra las operaciones para procesar los datos de imagen de acuerdo con algunas modalidades de la presente invención. DESCRIPCIÓN DETALLADA DE LAS MODALIDADES PREFERIDAS Mientras que la invención es susceptible a varias modificaciones y formas alternativas, las modalidades específicas de la misma se muestran a manera de ejemplo en los dibujos y se describirán aquí en detalle. Debería entenderse, sin embargo, que no existe intento por limitar la invención a las formas particulares descritas, sino por el contrario, la invención es para cubrir todas las modificaciones, equivalentes, y alternativas que caen dentro del espíritu y alcance de la invención como se define por las reivindicaciones. Número de referencia similares significan elementos similares a todo lo largo de la descripción de las figuras . Como se utiliza aquí, las formas singulares "un", "una", y "el" pretenden incluir también las formas plurales, a menos que expresamente se indique lo contrario. Debería entenderse además que los términos "comprende" y/o "comprender" cuando se usan en esta especificación se toman para especificar la
presencia de características, enteros, pasos, operaciones, elementos, y/o componentes indicados, pero no excluyen la presencia o la adición de una o más de otras características, enteros, pasos, operaciones, elementos, componentes, y/o grupos de los mismos. Se entenderá que cuando un elemento se refiere como que esta siendo "conectado" o "acoplado" a otro elemento, puede estar directamente conectado o acoplado al otro elemento o pueden estar presentes elementos interventores. Además, "conectado" o "acoplado" como se utiliza aquí puede incluir conectado o acoplado de manera inalámbrica. Como se utiliza aquí, el término "y/o" incluye cualquiera y todas las combinaciones de uno o más de los elementos asociados listados. A menos que se defina lo contrario, todos los términos (incluyendo los términos técnicos y científicos) utilizados aquí tienen el mismo significado como comúnmente se entiende por uno de habilidad ordinaria en el arte para el cual esta invención concierne. Se entenderá además que los términos, tal como aquellos definidos en los diccionarios comúnmente utilizados, deberían interpretarse como que tienen un significado que es consistente con su significado en el contexto del arte pertinente y no serán interpretados en un sentido idealizado o excesivamente formal a menos que expresamente se defina aquí .
La presente invención puede incorporarse como métodos, dispositivos electrónicos, y/o productos de programas de computadora. Consecuentemente, la presente invención puede incorporarse en hardware y/o en software (incluyendo firmware, software residente, micro-código, etc.). Además, la presente invención puede tomar la forma de un producto de programas de computadora en un medio de almacenamiento utilizable por computadora o legible por computadora que tiene un código de programas utilizable por computadora o legible por computadora incorporado en el medio para el uso por o en conexión con un sistema de ejecución de instrucciones. En el contexto de este documento, un medio utilizable por computadora o legible por computadora puede ser cualquier medio que pueda contener, almacenar, comunicar, propagar, o transportar el programa para el uso por o en conexión con el sistema, aparato o dispositivo de ejecución de instrucciones. El medio utilizable por computadora o legible por computadora puede ser, por ejemplo pero no limitado a, un sistema, aparato, dispositivo, o medio de propagación electrónico, magnético, óptico, electromagnético, infrarrojo, o semiconductor. Ejemplos más ejemplos (una lista no exhaustiva) del medio legible por computadora incluirían lo siguiente: una conexión eléctrica que tiene uno o más alambres, un disco flexible de computadora portátil, una
memoria de acceso aleatorio (RAM) , una memoria de sólo lectura (ROM) , una memoria de sólo lectura programable borrable (EPROM o memoria Flash) , una fibra óptica, y una memoria de sólo de lectura de disco compacto (CD-ROM) . Nótese que el medio utilizable por computadora o legible por computadora incluso podría ser papel u otro medio adecuado en el cual se imprime el programa, en tanto que el programa pueda ser capturado electrónicamente, vía, por ejemplo, escaneo óptico del papel u otro medio, después compilado, interpretado, o de otra manera procesado en una manera adecuada, si es necesario, y posteriormente almacenado en una memoria de computadora. Como se utiliza aquí, el término "terminal móvil" puede incluir un radioteléfono satelital o celular con o sin una pantalla multilínea; una terminal de Sistema de Comunicaciones Personal (PCS) que puede combinar un radioteléfono celular con procesamiento de datos, facsímil y capacidades de comunicaciones de datos; un PDA que puede incluir un radioteléfono, localizador, acceso a Internet /intranet, navegador de Internet, organizador, calendario y/o un receptor del sistema de posicionamiento global (GPS) ; y una computadora portátil convencional y/o un receptor de mano u otro aparato que incluya un transceptor del radioteléfono. Las terminales móviles también pueden referirse como dispositivos de "computación pervasiva" . Además, como se utiliza aquí, el
término "imagen" se refiere a los datos que comprende una representación de un objeto físico formado por un lente, espejo, u otro instrumento óptico. Para propósitos de ilustración, las modalidades de la presente invención se describen aquí en el contexto de una terminal móvil que comprende una cámara y/o un grabador de video. Será comprendido, sin embargo, que la presente invención no está limitada a tales modalidades y puede incorporarse generalmente como un dispositivo electrónico que comprende funcionalidad de procesamiento de imágenes. Refiriéndose ahora a la FIGURA 1, una terminal 100 móvil ejemplar, de acuerdo con algunas modalidades de la presente invención, incluye un teclado/teclado numérico 102, una pantalla 104, un transceptor 106, una memoria 108, un micrófono 110, y una bocina 112 que se comunican con un procesador 114. El transceptor 106 típicamente incluye un circuito 116 transmisor y un circuito 118 receptor que cooperan para transmitir y recibir señales de radiofrecuencia para los transceptores de la estación base vía una antena 122. La memoria 108 puede representar una jerarquía de memoria que puede incluir la memoria volátil y/o no volátil, tal como la memoria flash removible, magnética, y/o la memoria no volátil óptica re-escribible. Las señales de radiofrecuencia transmitidas entre la terminal 100 móvil y los transceptores de la estación base
pueden comprender ambas señales; de tráfico y de control (por ejemplo, señales de localización/mensajes para llamadas entrantes) , que se utilizan para establecer y mantener la comunicación con otra parte o destino. Las señales de radiofrecuencia también pueden comprender información de datos de paquetes, tal como, por ejemplo, información de datos de paquetes digitales celulares (CDPD) . La terminal 100 móvil puede comprender además un módulo 120 de cámara/video, el cual puede configurarse para capturar y desplegar imágenes de acuerdo con algunas modalidades de la presente invención. Los componentes anteriores de la terminal 100 móvil pueden incluirse en muchas terminales móviles convencionales y su funcionalidad es generalmente conocida para aquellos expertos en el arte . La FIGURA 2 es un diagrama de bloques que ilustra un módulo 200 de cámara/video que puede utilizarse, por ejemplo, para implementar el módulo 120 de cámara/video de la FIGURA 1, de acuerdo con algunas modalidades de la presente invención. El módulo 200 de cámara/video comprende un sensor o detector 205 de imagen, una unidad 210 de procesamiento de imágenes, una primer unidad 215 de escalamiento, una segunda unidad 220 de escalamiento, un motor 225 de compresión, una pluralidad de memoria intermedias 230, y una pantalla 235 que se configuran como se muestra. El sensor o detector 205 de imagen
proporciona datos de imagen en bruto a la unidad 210 de proceso de imágenes. La unidad 210 de proceso de imágenes puede configurarse para procesar los datos de imagen en bruto realizando tales funciones como, por ejemplo, interpolación de color, corrección gama, y enfoque. Si cámara/grabador de video tiene un modo de lente visor, entonces la salida de la imagen de la unidad 210 de proceso de imágenes puede reducirse en tamaño por la unidad 215 de escalamiento para desplegarse en la pantalla 235. En varias modalidades de la presente invención, el formato pequeño de imagen para el modo visor de imágenes puede obtenerse a través de un sub muestreo vía el sensor 205 de imagen y/o de la escala por la unidad 215 de escalamiento . De acuerdo a algunas modalidades de la presente invención, la salida de la imagen de la unidad 210 de procesamiento de imágenes se proporciona en paralelo a ambas; la unidad 215 de escalamiento asociada con el modo visor de imágenes así como también un motor 225 de compresión, el cual está asociado con la captura de una imagen que responde a la entrada del usuario. El motor 225 de compresión puede ser un motor de compresión JPEG de acuerdo con algunas modalidades de la presente invención. El motor 225 de compresión se configura para comprimir la salida de la imagen de la unidad 210 de procesamiento de imágenes. La salida de la imagen comprimida
del motor de compresión puede almacenarse entonces en la pluralidad de memorias 230 intermedias o búferes . Las memorias intermedias o búferes se ilustran, por ejemplo, en la FIGURA 3. Las memorias intermedias o búferes 230 pueden configurarse como una cola circular de memorias intermedias de imagen. En el ejemplo mostrado en la FIGURA 3, pueden almacenarse tres imágenes en las memorias intermedias 305, 310, y 315. Una salida de la imagen comprimida del motor 225 de compresión puede primero almacenarse en el memoria intermedia 305. Una imagen subsiguiente se almacena en el memoria intermedia 310. Una tercera imagen se almacena luego en la memoria intermedia 315. Cuando el motor 225 de compresión genera una cuarta imagen, se almacena en el memoria intermedia 305 sobrescribiendo por consiguiente la primer imagen que se almacenó allí. Aunque se ilustran tres memorias intermedias de imagen en la FIGURA 3, se entenderá que las memorias intermedias de imagen pueden comprender dos o más memorias intermedias de imagen. Si se desean capturar imágenes menores que la resolución máxima, entonces puede insertarse una unidad 220 de escalamiento opcional entre la unidad 210 de procesamiento de imágenes y el motor 225 de compresión. La pantalla 235 puede representar ambos; una pantalla y un controlador del microprocesador, tal como el procesador 114
de la FIGURA 1. Cuando la cámara/grabador de video está en el modo visor de imágenes, entonces la salida de la unidad 215 de escalamiento puede desplegarse en la pantalla 235. Cuándo un usuario proporciona una entrada para capturar una imagen, sin embargo, entonces la salida de una de las imágenes almacenas en las memorias intermedias 230 puede proporcionarse como salida en la pantalla 235 y puede también almacenarse en la memoria a fin de que pueda retenerse durante un período de tiempo más largo. Aunque la FIGURA 2 ilustra una arquitectura hardware/software ejemplar que puede utilizarse en las terminales móviles, dispositivos electrónicos, y similares para procesar datos de imagen, se entenderá que la presente invención no está limitada a tal configuración sino que pretende abarcar cualquier configuración capaz de llevar a cabo las operaciones aquí descritas. Además, la funcionalidad de la arquitectura hardware/software de la FIGURA 2 pueden implementarse como un sistema de un solo procesador, un sistema de múltiples procesadores, o incluso una red de sistemas de cómputo autónomos, de acuerdo con varias modalidades de la presente invención. El código de programas de computadora para llevar a cabo las operaciones de los dispositivos y/o de los sistemas anteriormente descritos con respecto a la FIGURA 2 puede
escribirse en un lenguaje de programación de alto nivel, tal como Java, C, y/o C++, para la conveniencia del desarrollo. Además, el código de programas de computadora para llevar a cabo las operaciones de las modalidades de la presente invención también puede estar escrito en otros lenguajes de programación, tal como, pero no limitado a, lenguajes interpretados. Algunos módulos o rutinas pueden escribirse en lenguaje de ensamble o incluso en micro-código para mejorar el desempeño y/o el uso de memoria. Se apreciará además que la funcionalidad de cualquiera o todos los módulos de programas también pueden implementarse utilizando componente de hardware discretos, uno o más circuitos integrados de aplicación específica (ASICs) , o un procesador o microcontrolador de señales digitales programadas. La presente invención se describe a partir de ahora con referencia al diagrama de flujo y/o las ilustraciones del diagrama de bloques de los métodos, terminales móviles, dispositivos electrónicos, sistemas de procesamiento de datos, y/o productos de programas de computadora de acuerdo con algunas modalidades de la invención. Estos diagramas de flujo y/o diagramas de bloques ilustran además las operaciones ejemplares del procesamiento de datos de imagen de acuerdo con varias modalidades de la presente invención. Será entendido que cada uno de los bloques
del diagrama de flujo y/o las ilustraciones del diagrama de bloques, y las combinaciones de los bloques en el diagrama de flujo y/o las ilustraciones del diagrama de bloques, puede implementarse por instrucciones de programas de cómputo y/o por operaciones de equipo físico o hardware. Estas instrucciones de programas de cómputo pueden proporcionarse para un procesador de una computadora de propósito general, una computadora de propósito especial, u otro aparato de procesamiento de datos programable para producir una máquina, tal que las instrucciones, que se ejecutan vía el procesador de la computadora u otro aparato de procesamiento de datos programable, crean medios para implementar las funciones especificadas en el diagrama de flujo y/o en el bloque o bloques del diagrama de bloques. Estas instrucciones de programas de cómputo también pueden almacenarse en una memoria utilizable por computadora o legible por computadora que pueda dirigir a una computadora o a otro aparato de procesamiento de datos programable para funcionar en una manera particular, tal que las instrucciones almacenadas en la memoria utilizable por computadora o legible por computadora produzcan un artículo de manufactura que incluya las instrucciones que implementen la función especificada en el diagrama de flujo y/o en el bloque o bloques del diagrama de bloques .
Las instrucciones de programas de cómputo también pueden cargarse en una computadora u otro aparato de procesamiento de datos programable para causar que una serie de pasos operacionales se realice en la computadora u otro aparato programable para producir un proceso implementado por computadora tal que las instrucciones que se ejecutan en la computadora u otro aparato programable proporcionan los pasos para implementar las funciones especificadas en el diagrama de flujo y/o en el bloque o bloques del diagrama de bloques. Refiriéndose ahora a las FIGURAS 4 y 2, las operaciones para procesar los datos de imagen, de acuerdo con algunas modalidades de la presente invención, comienzan en el bloque 400 donde las imágenes consecutivas se almacenan en los respectivos de la pluralidad de memorias intermedias 230 en el bloque 400. En el bloque 405, una de las imágenes almacenadas se selecciona para salida que responde a la entrada del usuario. La imagen seleccionada también puede almacenarse en la memoria para retener la imagen durante un período de tiempo más largo. Ventajosamente, de acuerdo con algunas modalidades de la presente invención, la imagen que se selecciona para desplegarse que responde a la entrada del usuario es la imagen que se almacenó en las memorias intermedias inmediatamente antes de la entrada del usuario. Esta imagen puede tener menor distorsión como si el usuario no estuviera presionando el botón de liberación o captura cuando
se obtiene esta imagen. En otras modalidades, las diversas imágenes almacenadas en las memorias intermedias 230 pueden desplegarse para el usuario y el usuario puede seleccionar una o más de esas imágenes como la imagen final que se va a salvar. El diagrama de flujo de la FIGURA 4 ilustra la arquitectura, la funcionalidad, y las operaciones de las modalidades de los métodos, dispositivos electrónicos, y/o productos de programas de computadora para el procesamiento de los datos de imagen. Al respecto, cada bloque representa un módulo, segmento, o una porción de código, que comprende una o más instrucciones ejecutables para implementar la(s) función (es) lógica (s) especificada (s) . Debería notarse también que en otras implementaciones, la(s) función (es) notada en los bloques puede ocurrir fuera del orden notado en la FIGURA 4. Por ejemplo, dos bloques mostrados en sucesión, de hecho, pueden ejecutarse sustancialmente concurrentemente o los bloques algunas veces pueden ejecutarse en el orden inverso, dependiendo de la funcionalidad envuelta. Pueden realizarse muchas variaciones y modificaciones a las modalidades preferidas sin apartarse sustancialmente de los principios de la presente invención. Todas tales variaciones y modificaciones pretenden estar incluidas aquí, dentro del alcance de la presente invención, como se enuncia en las siguientes reivindicaciones.