ES2361822T3 - SYSTEM AND PROCEDURE TO PROVIDE ACCESS TO PHOTOGRAPHIC IMAGES AND ITS CHARACTERISTICS FOR MULTIPLE DIFFERENT CUSTOMER DEVICES. - Google Patents

SYSTEM AND PROCEDURE TO PROVIDE ACCESS TO PHOTOGRAPHIC IMAGES AND ITS CHARACTERISTICS FOR MULTIPLE DIFFERENT CUSTOMER DEVICES. Download PDF

Info

Publication number
ES2361822T3
ES2361822T3 ES01913160T ES01913160T ES2361822T3 ES 2361822 T3 ES2361822 T3 ES 2361822T3 ES 01913160 T ES01913160 T ES 01913160T ES 01913160 T ES01913160 T ES 01913160T ES 2361822 T3 ES2361822 T3 ES 2361822T3
Authority
ES
Spain
Prior art keywords
target device
photographic image
specific
photo
copy
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.)
Expired - Lifetime
Application number
ES01913160T
Other languages
Spanish (es)
Inventor
Shekhar Kirani
Venkat Easwar
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.)
Syniverse ICX Corp
Original Assignee
Syniverse ICX Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Syniverse ICX Corp filed Critical Syniverse ICX Corp
Application granted granted Critical
Publication of ES2361822T3 publication Critical patent/ES2361822T3/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

En un sistema en línea, un procedimiento para proporcionar imágenes fotográficas digitales a dispositivos objetivo, cuyo procedimiento comprende: recibir (401) una petición para proporcionar a un dispositivo objetivo una copia de una imagen fotográfica específica, en el que dicha petición especifica un identificador fotográfico (ID de foto) y/o un identificador de usuario (ID de usuario); determinar (402) capacidades del dispositivo objetivo; basándose en las capacidades del dispositivo objetivo, determinar un formato deseado para proporcionar al dispositivo objetivo una copia de la imagen fotográfica específica, de manera que se determina, basándose por lo menos en parte en la clase del dispositivo para el dispositivo objetivo, la anchura de banda de comunicación disponible para transmitir una copia de la imagen fotográfica específica al dispositivo objetivo; determinar (403) si una copia registrada de la imagen fotográfica específica existe ya en dicho formato determinado; si existe una copia registrada, proporcionar (407) al dispositivo objetivo la copia registrada de la imagen fotográfica específica y, después de ello, terminar el procedimiento; si no existe copia registrada, traducir (405) la imagen fotográfica específica en una copia que tiene dicho formato determinado; y proporcionar al dispositivo objetivo la copia que tiene dicho formato determinado, caracterizado porque la traducción comprende descompresión de la imagen fotográfica específica para generar un mapa de bits en el espacio de color que se utilizó, convirtiendo el mapa de bits de la imagen fotográfica específica en un formato intermediario estándar y mapeando el formato intermediario de la imagen fotográfica específica a dicho formato determinado.In an online system, a procedure for providing digital photographic images to target devices, the method of which comprises: receiving (401) a request to provide a target device with a copy of a specific photographic image, wherein said request specifies a photographic identifier (Photo ID) and / or a user identifier (user ID); determine (402) capabilities of the target device; based on the capabilities of the target device, determine a desired format to provide the target device with a copy of the specific photographic image, so that it is determined, based at least in part on the class of the device for the target device, the width of communication band available to transmit a copy of the specific photographic image to the target device; determine (403) if a registered copy of the specific photographic image already exists in that particular format; if there is a registered copy, provide (407) to the target device the registered copy of the specific photographic image and, after that, finish the procedure; if there is no registered copy, translate (405) the specific photographic image into a copy that has that particular format; and provide the target device with the copy having said determined format, characterized in that the translation comprises decompression of the specific photographic image to generate a bitmap in the color space that was used, converting the bitmap of the specific photographic image into a standard intermediate format and mapping the intermediate format of the specific photographic image to that particular format.

Description

AVISO DE COPYRIGHT COPYRIGHT NOTICE

Una parte de la materia de este documento de patente contiene material que está sometido a protección de copyright. El propietario del copyright no tiene objeción a la reproducción por copia por cualquiera del documento de patente o de la materia de patente, tal como aparece en el archivo o registros de la Oficina de Patentes y Marcas, pero por lo demás se reservan todos los derechos del copyright. A part of the subject matter of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the copy reproduction by any of the patent document or the patent matter, as it appears in the file or records of the Patent and Trademark Office, but otherwise all rights are reserved of copyright.

ANTECEDENTES DE LA INVENCIÓN. BACKGROUND OF THE INVENTION

La presente invención se refiere al sector de la fotografía, y más particularmente, a un sistema en línea y métodos para mejorar el acceso en línea a imágenes fotográficas digitales y a informaciones con respecto a estas imágenes. The present invention relates to the photography sector, and more particularly, to an online system and methods for improving online access to digital photographic images and information regarding these images.

En la actualidad, la formación de imágenes digitales, en particular en forma de cámaras digitales, es una realidad extendida que permite una nueva forma de captar fotografías utilizando un sensor de imagen en estado sólido en vez de una película tradicional. Una cámara digital funciona al registrar la luz entrante en algún tipo de mecanismos detectores y a continuación procesa dicha información (básicamente, mediante conversión analógica a digital) para crear una memoria de imagen de la fotografía objetivo. La ventaja más importante de una cámara digital es que crea imágenes de forma digital haciendo fácil el transcribir imágenes entre cualesquiera tipos de dispositivos y aplicaciones. Por ejemplo, se pueden insertar fácilmente imágenes digitales en documentos de proceso de palabras, enviándolos por correo electrónico a amigos o enviándolos por correo a un lugar web en el que cualquiera a escala mundial los pueda ver. Además, se puede utilizar software para la edición de fotos para manipular imágenes digitales para mejorarlas o alterarlas. Por ejemplo, se pueden recoger, eliminar el efecto de ojos rojos, cambiar colores o contrastes e incluso añadir o borrar elementos. Las cámaras digitales proporcionan así mismo acceso inmediato a las imágenes de uno mismo evitando, por lo tanto, el engorro y retraso de proceso de películas. Como resumen, la fotografía digital está siendo cada vez más popular por la flexibilidad que proporciona al usuario cuando desea utilizar o distribuir una imagen. At present, the formation of digital images, particularly in the form of digital cameras, is an extended reality that allows a new way of capturing photographs using a solid-state image sensor instead of a traditional film. A digital camera works by recording the incoming light in some type of detection mechanisms and then processes that information (basically, by analog to digital conversion) to create an image memory of the target photograph. The most important advantage of a digital camera is that it creates images digitally making it easy to transcribe images between any types of devices and applications. For example, you can easily insert digital images into word processing documents, sending them by email to friends or sending them by mail to a web site where anyone worldwide can see them. In addition, software for photo editing can be used to manipulate digital images to improve or alter them. For example, you can pick up, eliminate the effect of red eyes, change colors or contrasts and even add or delete items. Digital cameras also provide immediate access to the images of oneself avoiding, therefore, the nuisance and delay of film processing. As a summary, digital photography is becoming increasingly popular because of the flexibility it provides to the user when they want to use or distribute an image.

A efectos de generar una imagen de calidad que es comparable aproximadamente a una fotografía convencional se debe captar y procesar una cantidad sustancial de información. Por ejemplo, una baja resolución de imagen de 640 x 480 tiene 307.200 píxels. Si cada píxel utiliza 24 bits (3 bytes) para color real, una imagen única absorbe aproximadamente un megabyte de espacio de almacenamiento. Al aumentar la resolución, también lo hacen las dimensiones del archivo de imagen. Para una resolución de 1024 x 768, cada imagen de 24 bits requiere 2,5 megabytes. A causa del gran tamaño de esta información, las cámaras digitales no almacenan habitualmente una imagen en su formato digital en bruto, sino que en vez de ello aplican técnicas de compresión a la imagen, de manera que puede ser almacenada en formato de imagen comprimida estándar tal como JPEG (Joint Photographic Experts Group). La compresión de imágenes permite al usuario ahorrar más imágenes en la “película digital” de la cámara, tal como memoria flash (disponible en una serie de formatos distintos) u otra copia de película. También permite al usuario descargar y visualizar dichas imágenes de manera más rápida. In order to generate a quality image that is roughly comparable to a conventional photograph, a substantial amount of information must be captured and processed. For example, a low image resolution of 640 x 480 has 307,200 pixels. If each pixel uses 24 bits (3 bytes) for real color, a single image absorbs approximately one megabyte of storage space. As the resolution increases, so do the dimensions of the image file. For a resolution of 1024 x 768, each 24-bit image requires 2.5 megabytes. Because of the large size of this information, digital cameras do not usually store an image in its raw digital format, but instead apply compression techniques to the image, so that it can be stored in standard compressed image format such as JPEG (Joint Photographic Experts Group). Image compression allows the user to save more images on the camera's "digital movie", such as flash memory (available in a number of different formats) or another copy of the movie. It also allows the user to download and view these images more quickly.

Una serie de productos de imágenes digitales se encuentran a disposición de los consumidores actualmente. Con independencia del número de imágenes que se han registrado digitalmente, más adelante, en cualquier momento, la información de la imagen debe pasar a disposición de otros dispositivos, es decir, pasar a disposición de una red grande de dispositivos digitales, de manera que las imágenes puedan ser enviadas (por ejemplo, impresas en forma de copias duras) o compartidas con otras personas. En la actualidad existen lugares Web en Internet con ordenadores servidores que tienen capacidad de organizar y visualizar fotografías. En una forma complementaria, existen múltiples dispositivos distintos de clientes con suficiente capacidad gráfica para visualizar potencialmente dichas fotografías. Por ejemplo, dichos dispositivos de cliente varían desde ordenadores de sobremesa que funcionan con software de navegador Web a dispositivos manuales (que funcionan según Palm o Windows CE), todos ellos conectados a Internet a través de TCP/IP, teniendo cada uno de ellos la capacidad de visualizar información. A series of digital imaging products are currently available to consumers. Regardless of the number of images that have been digitally registered, later, at any time, the image information must be made available to other devices, that is, made available to a large network of digital devices, so that Images can be sent (for example, printed in the form of hard copies) or shared with others. Currently there are Web sites on the Internet with computer servers that have the capacity to organize and view photographs. In a complementary way, there are multiple different devices of clients with sufficient graphic capacity to potentially visualize said photographs. For example, such client devices vary from desktop computers that work with Web browser software to manual devices (which work according to Palm or Windows CE), all of them connected to the Internet through TCP / IP, each of them having the ability to display information

En la actualidad, está entrando en el mercado una nueva clase de dispositivos, uno de ellos con capacidad de datos inalámbricos y también con capacidades sustanciales de visualización. Estos dispositivos se conectan a Internet típicamente a través de WAP (Wireless Application Protocol). El WAP es un protocolo de comunicaciones distinto a TCP/IP, que ha sido desarrollado por un consorcio de empresas de tecnología inalámbrica, incluyendo Motorola, Ericsson y Nokia, para transmitir datos por redes inalámbricas. Para una descripción de WAP ver, por ejemplo, la publicación de Mann, S, The Wireless Application Protocol, Dr. Dobb’s Journal, páginas 56-66, Octubre 1999. Más particularmente, el WAP comprende varios equivalentes de protocolos de Internet existentes. Por ejemplo, WML es una versión WAP del protocolo HTML. Otros ejemplos comprenden un navegador WAP que es un equivalente WAP de un navegador HTML y una pasarela WAP (en el lado del servidor) que es un equivalente WAP de un servidor HTTP. En la pasarela WAP se traslada HTTP de/hacia WAP. Currently, a new class of devices is entering the market, one of them with wireless data capability and also with substantial display capabilities. These devices typically connect to the Internet through WAP (Wireless Application Protocol). The WAP is a communications protocol other than TCP / IP, which has been developed by a consortium of wireless technology companies, including Motorola, Ericsson and Nokia, to transmit data over wireless networks. For a description of WAP see, for example, the publication of Mann, S, The Wireless Application Protocol, Dr. Dobb’s Journal, pages 56-66, October 1999. More particularly, the WAP comprises several equivalents of existing Internet protocols. For example, WML is a WAP version of the HTML protocol. Other examples include a WAP browser that is a WAP equivalent of an HTML browser and a WAP gateway (on the server side) that is a WAP equivalent of an HTTP server. On the WAP gateway, HTTP is moved from / to WAP.

Como resumen, en la actualidad existen múltiples dispositivos equipados de gráficos que pueden ser conectados a Internet a través de métodos inalámbricos (por ejemplo, 9600 baudios) como conexiones por cable (por ejemplo, 56k baudios, DSL y módem por cable). Estos dispositivos son capaces de visualizar gráficos incluyendo imágenes fotográficas digitales. No obstante, existe un problema fundamental con los enfoques actuales de visualizar imágenes de Internet en la totalidad de éstos dispositivos. Las fotografías personales de usuarios que se encuentran en Internet de manera corriente son accesibles solamente por una clase de dispositivos, los navegadores HTML. Al mismo tiempo, otras clases de dispositivos, tales como los que se han descrito anteriormente, incluyen no solamente la capacidad de conectarse a Internet, sino también la capacidad de producir gráficos complejos. No obstante, estos dispositivos no son capaces de visualizar fotografías de usuario en Internet dado que soportan formatos y protocolos de transporte de comunicaciones que son muy distintos de los utilizados por los navegadores HTML. As a summary, there are currently multiple devices equipped with graphics that can be connected to the Internet through wireless methods (for example, 9600 baud) such as wired connections (for example, 56k baud, DSL and cable modem). These devices are capable of displaying graphics including digital photographic images. However, there is a fundamental problem with current approaches to visualize images from the Internet in all of these devices. Personal photographs of users who are currently on the Internet are accessible only by a class of devices, HTML browsers. At the same time, other kinds of devices, such as those described above, include not only the ability to connect to the Internet, but also the ability to produce complex graphics. However, these devices are not capable of displaying user photographs on the Internet since they support communication transport formats and protocols that are very different from those used by HTML browsers.

Se considerará, por ejemplo, un dispositivo manual Palm. Se supondrá un usuario que tiene una fotografía de “color real” (por ejemplo, profundidad de 32 bits) 1024 por 768 de su familia en la red). Si el usuario se conecta a Internet utilizando el dispositivo Palm, el usuario no puede visualizar la fotografía. Por ejemplo, el dispositivo Palm puede soportar solamente escalas de grises de cuatro niveles o dieciséis niveles. Aunque la imagen pudiera ser visualizada, el tiempo de transmisión para descargar la imagen al dispositivo Palm sería poco práctico. Además, aunque la imagen pudiera ser descargada, la visualización por el Palm puede ser físicamente demasiado reducida para facilitar la imagen de forma aceptable para el usuario. It will be considered, for example, a Palm handheld device. A user who has a “real color” photograph (for example, 32-bit depth) 1024 by 768 of his family on the network will be assumed. If the user connects to the Internet using the Palm device, the user cannot view the photo. For example, the Palm device can only support gray scales of four levels or sixteen levels. Although the image could be displayed, the transmission time to download the image to the Palm device would be impractical. In addition, even if the image could be downloaded, the display by the Palm may be physically too small to facilitate the image acceptable to the user.

Este problema no está limitado solamente a datos de imagen sino que se aplica también a información de características de la imagen. Se supondrá, por ejemplo, que un usuario tiene una colección de fotografías en Internet (es decir, álbum de fotos en línea). No obstante, además de no ser capaz de visualizar la imagen, el usuario tampoco es capaz de descargar información de características a la mayor parte de dispositivos. Informaciones tales como título de la imagen, descripción y otras, simplemente no se pueden conseguir por la mayor parte de dispositivos. Este problema se origina por la anchura de banda limitada para los dispositivos inalámbricos y también por la incapacidad de los servidores fotográficos de Internet actuales en comprender las capacidades de un dispositivo específico que está conectado en este momento. Por lo tanto, este problema se puede resumir de la manera siguiente. En primer lugar, los dispositivos conocidos en la actualidad no son capaces de indicar muy bien al servidor cuales son sus capacidades. En segundo lugar, aunque dichos dispositivos pudieran indicar claramente sus capacidades, los servidores actuales no están diseñados para actuar en dicha información para limitar la información transmitida justamente a la que es significativa para el dispositivo del cliente. Al entrar en el mercado un número cada vez mayor de clases de dispositivos conectados a la red, incluyendo teléfonos con pantalla y cajas inteligentes de sobremesa (“set-top boxes), este problema se puede esperar que aumente al tener cada dispositivo sus características propias. This problem is not limited only to image data but also applies to image characteristic information. It will be assumed, for example, that a user has a collection of photographs on the Internet (ie online photo album). However, in addition to not being able to visualize the image, the user is also not able to download feature information to most devices. Information such as image title, description and others, simply cannot be obtained by most devices. This problem is caused by limited bandwidth for wireless devices and also by the inability of current Internet photo servers to understand the capabilities of a specific device that is currently connected. Therefore, this problem can be summarized as follows. First, the devices known today are not able to tell the server very well what their capabilities are. Second, although such devices could clearly indicate their capabilities, current servers are not designed to act on such information to limit the information transmitted just to what is significant for the client's device. When entering the market a growing number of classes of devices connected to the network, including phones with screen and smart desktops ("set-top boxes), this problem can be expected to increase with each device having its own characteristics .

El documento EP 0 992 922 da a conocer un sustituto (proxy) de transcodificación web que transforma un objeto de datos (imagen) en una versión de baja resolución del objeto de datos (imagen). La transcodificación es llevada a cabo al decodificar la imagen (que tiene una primera resolución) en un mapa de bits, y a continuación codificando nuevamente el mapa de bits para crear una versión de la imagen con menor resolución. EP 0 992 922 discloses a web transcoding substitute (proxy) that transforms a data object (image) into a low resolution version of the data object (image). The transcoding is carried out by decoding the image (which has a first resolution) into a bitmap, and then encoding the bitmap again to create a lower resolution version of the image.

RESUMEN DE LA INVENCIÓN SUMMARY OF THE INVENTION

Un Sistema Servidor Fotográfico (“Foto Servidor”) según la presente invención, implementa una metodología para proporcionar acceso a imágenes fotográficas y sus características para múltiples dispositivos de cliente distintos, es decir, para dirigirse a dispositivos de diferentes capacidades de hardware y software. El sistema posibilita el suministro de imágenes fotográficas a cualquier dispositivo con capacidad conectiva. Los dispositivos a los que se dirige la invención pueden incluir tanto dispositivos inalámbricos (por ejemplo, teléfonos móviles, PDA manual (asistente de datos personal), y paginadores) así como dispositivos por cable (por ejemplo, ordenadores de sobremesa y teléfono con vídeo). A Photographic Server System ("Photo Server") according to the present invention, implements a methodology to provide access to photographic images and their characteristics for multiple different client devices, that is, to target devices of different hardware and software capabilities. The system allows the provision of photographic images to any device with connective capacity. The devices to which the invention is directed can include both wireless devices (for example, mobile phones, handheld PDAs (personal data assistant), and pagers) as well as wired devices (for example, desktop computers and video phones) .

El Foto Servidor incluye los siguientes módulos: un Servidor Fotográfico (es decir, el “Foto Servidor” de núcleo), un gestor de datos, un gestor de perfil del dispositivo, un traductor de fotos, un dispositivo de registro de fotos (“cache”), y un almacenamiento de fotos (módulo). El Servidor Fotográfico es responsable de facilitar las fotos basándose en las capacidades de visualización del dispositivo objetivo. Las capacidades de visualización son comunicadas al Servidor Fotográfico por el dispositivo o la persona que posee/controla el dispositivo o que son deducidas por el sistema. Si el dispositivo está comunicando sus capacidades, lo hace durante el inicio o durante cada interacción; de manera alternativa sus capacidades están codificadas de manera permanente en el Servidor Fotográfico basado en el conocimiento anterior del dispositivo. El propietario del dispositivo puede realizar un afino de los ajustes basándose en los ajustes reales del dispositivo (tales como resolución, método preferente de traducción y similares). El Servidor Fotográfico que trabaja independientemente del mecanismo de transporte disponible (por ejemplo, sin cables o con cables) interaccionan con todos los demás módulos para traducir la foto solicitada en el formato objetivo apropiado. The Photo Server includes the following modules: a Photo Server (ie, the “Photo Server” core), a data manager, a device profile manager, a photo translator, a photo registration device (“cache ”), And a photo storage (module). The Photo Server is responsible for providing the photos based on the viewing capabilities of the target device. The visualization capabilities are communicated to the Photo Server by the device or the person who owns / controls the device or who are deducted by the system. If the device is communicating its capabilities, it does so during startup or during each interaction; alternatively its capabilities are permanently encoded in the Photo Server based on prior knowledge of the device. The device owner can refine the settings based on the actual device settings (such as resolution, preferred translation method and the like). The Photo Server that works independently of the available transport mechanism (for example, without cables or with cables) interacts with all other modules to translate the requested photo into the appropriate target format.

El sistema implementa un procedimiento para proporcionar acceso a imágenes fotográficas y características para múltiples dispositivos de clientes distintos que funciona de la manera siguiente. En primer lugar, el procedimiento procesa la solicitud de entrada recibida basada en un identificador de usuario (ID de usuario) o un identificador fotográfico (ID de foto) para las fotos de interés. El ID de foto es un indicador exclusivo para una fotografía específica que o bien (1) ha sido comunicada previamente al dispositivo objetivo (cliente) o (2) ha sido creada por el dispositivo objetivo (es decir, es el identificador único del dispositivo objetivo) en caso en el que el dispositivo objetivo está siendo conectado por primera vez. A continuación, el procedimiento construye un registro de información describiendo las capacidades del dispositivo objetivo. La información recogida de esta etapa permite al Foto Servidor entender exactamente qué capacidades puede soportar en el dispositivo objetivo. En particular, esta información indica al sistema qué transformación (en caso de que exista) se requiere para traducir la foto original en un formato adecuado para el dispositivo objetivo. The system implements a procedure to provide access to photographic images and features for multiple devices from different clients that works as follows. First, the procedure processes the input request received based on a user identifier (user ID) or a photographic identifier (photo ID) for the photos of interest. The photo ID is an exclusive indicator for a specific photograph that either (1) has been previously communicated to the target device (client) or (2) has been created by the target device (that is, it is the unique identifier of the target device ) in case where the target device is being connected for the first time. Next, the procedure builds an information record describing the capabilities of the target device. The information collected from this stage allows the Photo Server to understand exactly what capabilities it can support in the target device. In particular, this information tells the system what transformation (if any) is required to translate the original photo into a format suitable for the target device.

A continuación, el procedimiento está preparado para comprobar en el Foto Registro, si el registro almacena ya la foto de interés, es decir, almacena una versión de la foto que ha sido traducida de manera adecuada para este dispositivo objetivo específico. Si la foto (traducida para el dispositivo objetivo) existe ya en el Foto Registro, el procedimiento puede simplemente devolverla al dispositivo objetivo. No obstante, si no se encuentra en el registro, entonces el procedimiento pasa a las etapas adicionales. En primer lugar, los parámetros del ID de foto y del dispositivo objetivo son pasados al Traductor de Foto. La tarea del traductor de foto en este momento consiste en transformar la foto de su formato original al formato deseado para el dispositivo objetivo (basándose en las capacidades del dispositivo objetivo). Una vez que el traductor de foto ha llevado a cabo esta tarea, la versión que se ha transformado de la foto es copiada en el Foto Registro. Esta versión traducida de la foto es devuelta al dispositivo objetivo de manera continua. Next, the procedure is prepared to check in the Photo Registration, if the registration already stores the photo of interest, that is, it stores a version of the photo that has been translated in an appropriate manner for this specific target device. If the photo (translated for the target device) already exists in the Photo Registration, the procedure can simply return it to the target device. However, if it is not in the registry, then the procedure goes to the additional stages. First, the parameters of the photo ID and the target device are passed to the Photo Translator. The task of the photo translator at this time is to transform the photo from its original format to the desired format for the target device (based on the capabilities of the target device). Once the photo translator has carried out this task, the version that has been transformed from the photo is copied into the Photo Register. This translated version of the photo is returned to the target device continuously.

BREVE DESCRIPCIÓN DE LOS DIBUJOS BRIEF DESCRIPTION OF THE DRAWINGS

La figura 1 es un diagrama de bloques que muestra un ordenador digital adecuado para implementar partes del proceso distribuidas de la presente invención. Figure 1 is a block diagram showing a digital computer suitable for implementing distributed parts of the process of the present invention.

La figura 2 es un diagrama de bloques de un sistema de software adecuado para controlar el ordenador de la figura Figure 2 is a block diagram of a software system suitable for controlling the computer of Figure

1. one.

Las figuras 3A-B son diagramas de bloques que muestran un entorno de Servidor Fotográfico que incluye un sistema Foto Servidor, según la presente invención. Figures 3A-B are block diagrams showing a Photo Server environment that includes a Photo Server system, according to the present invention.

La figura 3C es un diagrama de bloques que muestra almacenamiento de información en el sistema. Figure 3C is a block diagram showing information storage in the system.

Las figuras 4A-D son diagramas de flujo que muestran metodología de la presente invención para proporcionar acceso a imágenes fotográficas y características para múltiples dispositivos de cliente diferentes. Figures 4A-D are flow charts showing methodology of the present invention to provide access to photographic images and features for multiple different client devices.

DESCRIPCIÓN DETALLADA DE UNA REALIZACIÓN PREFERENTE DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT

La siguiente descripción se refiere a una realización de la presente invención en un entorno de servidor conectado a Internet, que es la realización actualmente preferente. No obstante, los técnicos en la materia apreciarán que la presente invención puede ser realizada en otros dispositivos capaces de almacenar, organizar y/o procesar de otro modo imágenes digitales. Además, la descripción se referirá a la implementación de partes de la invención en un entorno conectado a Internet incluyendo ordenadores de sobremesa y ordenadores servidores tales como un ordenador compatible con IBM que funciona según el sistema Microsoft Windows 2000. No obstante, la presente invención no está limitada a ninguna aplicación específica o ningún entorno particular. En vez de ello, los técnicos en la materia observarán que el sistema y procedimientos de la presente invención pueden ser utilizados de manera ventajosa en una serie de plataformas distintas incluyendo Macintosh, Linuz, BeOS, Solaris, UNIX, y similares. Por lo tanto, la descripción siguiente de realizaciones a título de ejemplo tiene solamente finalidad ilustrativa y no limitativa. The following description refers to an embodiment of the present invention in a server environment connected to the Internet, which is currently the preferred embodiment. However, those skilled in the art will appreciate that the present invention can be realized in other devices capable of storing, organizing and / or otherwise processing digital images. In addition, the description will refer to the implementation of parts of the invention in an environment connected to the Internet including desktop computers and server computers such as an IBM compatible computer operating according to the Microsoft Windows 2000 system. However, the present invention It is not limited to any specific application or any particular environment. Instead, those skilled in the art will note that the system and procedures of the present invention can be advantageously used on a number of different platforms including Macintosh, Linuz, BeOS, Solaris, UNIX, and the like. Therefore, the following description of embodiments by way of example is for illustrative and non-limiting purposes only.

Hardware y software básicos de soporte Basic hardware and software support

A. Hardware básico de ordenador (por ejemplo, para ordenadores de sobremesa y servidores). A. Basic computer hardware (for example, for desktop computers and servers).

Partes de la presente invención pueden ser implementadas en un sistema ordenador de tipo general o convencional, tal como un ordenador personal compatible con IBM (PC) o un ordenador servidor. La figura 1 es un diagrama de bloques muy general de un sistema 100 compatible con IBM. Tal como se ha mostrado, el sistema 100 comprende una unidad o unidades de proceso central (CPU) 101 acoplada a una memoria de acceso al azar (RAM) 102, una memoria solamente de lectura (ROM) 103, un teclado 106, un dispositivo de señalización (108), un adaptador de visualización o de video 104 conectado a un dispositivo visualizador 105, un dispositivo de almacenamiento (en masa) desmontable 115 (por ejemplo, un disco flexible), un dispositivo de almacenamiento (en masa) fijo 116 (por ejemplo, un disco duro), un puerto o puertos o interfaz o interfaces de comunicación 110, un módem 112 y una tarjeta de interfaz de red (NIC) o controlador 111 (por ejemplo, Ethernet). Si bien no se ha mostrado separadamente, se incluye un reloj de sistema en tiempo real con el sistema 100, de manera convencional. Parts of the present invention can be implemented in a general or conventional computer system, such as an IBM compatible personal computer (PC) or a server computer. Figure 1 is a very general block diagram of an IBM compatible system 100. As shown, the system 100 comprises a central processing unit (CPU) 101 coupled to a random access memory (RAM) 102, a read-only memory (ROM) 103, a keyboard 106, a device signaling (108), a display or video adapter 104 connected to a display device 105, a removable (mass) storage device 115 (for example, a floppy disk), a fixed (mass) storage device 116 (for example, a hard disk), a port or ports or interface or communication interfaces 110, a modem 112 and a network interface card (NIC) or controller 111 (for example, Ethernet). Although not shown separately, a real-time system clock is included with system 100, in a conventional manner.

La CPU 101 comprende un procesador de la familia de procesadores Intel Pentium. No obstante, se puede utilizar para implementar la presente invención cualquier otro microprocesador o microordenador adecuado. La CPU 101 comunica con otros componentes del sistema a través de un bus de sistema bidireccional (que incluye cualesquiera otros circuitos necesarios de controlador entrada/salida (I/O) y la lógica de “pegado” (glue)). El bus que comprende líneas de dirección para el direccionado de la memoria de sistema, proporciona transferencia de datos entre los diferentes componentes. La descripción de microprocesadores Pentium y su conjunto de instrucciones, arquitectura del bus y líneas de control, está a disposición de la empresa Intel Corporation de Santa Clara, CA. La memoria de acceso al azar 102 sirve como memoria de trabajo para la CPU 101. En una configuración típica, se utiliza una RAM de dieciséis megabytes o más. Se puede utilizar una magnitud mayor o menor de memoria sin salir del ámbito de la presente invención. La memoria solamente de lectura (ROM) 103 contiene el código de sistema básico de entrada y salida (BIOS), un conjunto de rutinas de bajo nivel en el ROM que pueden utilizar los programas de aplicación y los sistemas operativos para interaccionar con el hardware, incluyendo caracteres de lectura del teclado, caracteres a enviar a las impresoras y otros. The CPU 101 comprises a processor of the Intel Pentium processor family. However, any other suitable microprocessor or microcomputer can be used to implement the present invention. The CPU 101 communicates with other system components through a bi-directional system bus (which includes any other necessary input / output controller (I / O) circuits and the "glue" logic). The bus comprising address lines for addressing system memory provides data transfer between the different components. The description of Pentium microprocessors and their instruction set, bus architecture and control lines, is available to the Intel Corporation of Santa Clara, CA. Random access memory 102 serves as working memory for CPU 101. In a typical configuration, a RAM of sixteen megabytes or more is used. A greater or lesser amount of memory can be used without leaving the scope of the present invention. Read-only memory (ROM) 103 contains the basic input and output system code (BIOS), a set of low-level routines in the ROM that application programs and operating systems can use to interact with the hardware, including keyboard reading characters, characters to be sent to printers and others.

Los dispositivos de almacenamiento en masa 115, 116 proporcionan almacenamiento persistente en medios fijos y desmontables, tales como sistemas magnéticos, ópticos o magneto-ópticos, memoria flash o cualquier otra tecnología de almacenamiento en masa disponible. El almacenamiento en masa puede ser compartido en una red o puede ser almacenamiento en masa específico. Tal como se ha mostrado en la figura 1, el almacenamiento en masa fijo 116 almacena un cuerpo de programa y datos para dirigir el funcionamiento del sistema ordenador, incluyendo un sistema operativo, programas de aplicación de usuario, controlador y otros archivos de soporte, así como otros archivos de datos de cualquier tipo. De manera típica, el almacenamiento fijo 116 sirve como disco principal del sistema. Mass storage devices 115, 116 provide persistent storage on fixed and removable media, such as magnetic, optical or magneto-optical systems, flash memory or any other mass storage technology available. Mass storage can be shared on a network or it can be specific mass storage. As shown in Figure 1, fixed mass storage 116 stores a program body and data to direct the operation of the computer system, including an operating system, user application programs, controller and other support files, as well. like other data files of any kind. Typically, fixed storage 116 serves as the main disk of the system.

En funcionamiento básico, la lógica del programa (incluyendo la que implementa la metodología de la presente invención que se describe a continuación) se transfiere desde el dispositivo de almacenamiento o almacenamiento en masa 116 a la memoria principal (RAM) 102 para ejecución por la CPU 101. Durante el funcionamiento de la lógica del programa, el sistema 100 acepta entradas de un teclado 106 y de un dispositivo de señalización 108 y también entradas de voz de un sistema de reconocimiento de voz (no mostrado). El teclado 106 permite la selección de programas de aplicación, entrada de datos basados en teclado y selección y manipulación de objetos de datos individuales mostrados en la pantalla de visualización 105. De manera similar, el dispositivo de señalización 108, tal como un ratón, bola seguidora, dispositivo de lápiz o similar, permite la selección y manipulación de objetos en la pantalla de visualización. De esta manera, estos dispositivos de entrada soportan entradas manuales de usuario para cualquier proceso que se desarrolle en el sistema. In basic operation, the logic of the program (including that which implements the methodology of the present invention described below) is transferred from the storage or mass storage device 116 to the main memory (RAM) 102 for execution by the CPU 101. During the operation of the program logic, the system 100 accepts inputs from a keyboard 106 and a signaling device 108 and also voice inputs from a voice recognition system (not shown). The keyboard 106 allows the selection of application programs, keyboard-based data entry and selection and manipulation of individual data objects displayed on the display 105. Similarly, the signaling device 108, such as a mouse, ball follower, pencil device or similar, allows the selection and manipulation of objects on the display screen. In this way, these input devices support user manual inputs for any process that takes place in the system.

El sistema de ordenador 100 visualiza texto y/o imágenes gráficas y otros datos en un dispositivo de visualización The computer system 100 displays text and / or graphic images and other data on a display device

105. El dispositivo de visualización 105 es activado por el adaptador de vídeo 104 que está interpuesto entre el dispositivo de visualización 105 y el sistema. El adaptador de video 104 que incluye memoria de video, accesible a la CPU 101, proporciona circuitos que convierten datos de píxels almacenados en la memoria de video a una señal de trama adecuada para su utilización para un tubo de rayos catódicos (CRT) de trama o monitor de visualización de cristal líquido (LCD). Una copia permanente o “dura” de la información visualizada u otra información de dentro del sistema 100 se puede obtener mediante la impresora 107 u otro dispositivo de salida. La impresora 107 puede comprender, por ejemplo, una impresora HP Laserjet (de la empresa Hewlett Packard de Palo Alto, CA) para crear imágenes en forma de copias permanentes de salida del sistema. 105. The display device 105 is activated by the video adapter 104 which is interposed between the display device 105 and the system. The video adapter 104 that includes video memory, accessible to the CPU 101, provides circuits that convert pixel data stored in the video memory to a frame signal suitable for use for a frame cathode ray tube (CRT) or liquid crystal display monitor (LCD). A permanent or "hard" copy of the displayed information or other information within the system 100 can be obtained by the printer 107 or other output device. Printer 107 may comprise, for example, an HP Laserjet® printer (from Hewlett Packard of Palo Alto, CA) to create images in the form of permanent copies of system output.

El sistema comunica por su parte con otros dispositivos (por ejemplo, otros ordenadores) mediante una tarjeta de interfaz de red (NIC) 111 conectado a una red (por ejemplo, red Ethernet) y/o el módem 112 (por ejemplo, de 56k baudios, ISDN, DSL, o módem por cable), cuyos ejemplos se encuentran a disposición de la empresa 3Com de Santa Clara, CA. El sistema 100 puede comunicar también con dispositivos conectados de forma ocasional (por ejemplo, dispositivos enlazados por cable serie) con intermedio del interfaz de comunicación (“comm”) 110, que puede comprender un puerto serie RS 232, un interfaz de Bus Serie Universal (USB), o similar. Entre los dispositivos que se conectarán habitualmente de manera local al interfaz 110 se incluyen ordenadores portátiles, organizadores de mano, cámaras digitales y similares. The system communicates with other devices (for example, other computers) by means of a network interface card (NIC) 111 connected to a network (for example, Ethernet network) and / or modem 112 (for example, 56k baud, ISDN, DSL, or cable modem), whose examples are available to 3Com in Santa Clara, CA. The system 100 can also communicate with devices connected occasionally (for example, devices connected by serial cable) through the communication interface ("comm") 110, which can comprise an RS 232 serial port, a Universal Serial Bus interface (USB), or similar. Devices that will usually be connected locally to interface 110 include laptops, handheld organizers, digital cameras and the like.

Los ordenadores personales compatibles con IBM y ordenadores servidores, se encuentran a disposición de una serie de suministradores. Entre los suministradores representativos se incluyen Dell Computers de Round Rock, TX, Compaq Computers de Houston, TX, y IBM de Armonk, NY. Otros ordenadores adecuados incluyen ordenadores compatibles con Apple (por ejemplo, Macintosh), que se pueden conseguir de la firma Apple Computer de Cupertino, CA, y estaciones de trabajo Sun Solaris, que se pueden conseguir de la empresa Sun Microsystems de Mountain View, CA. IBM-compatible personal computers and server computers are available to a number of suppliers. Representative suppliers include Dell Computers of Round Rock, TX, Compaq Computers of Houston, TX, and IBM of Armonk, NY. Other suitable computers include Apple-compatible computers (for example, Macintosh), which can be obtained from the Apple Computer firm of Cupertino, CA, and Sun Solaris workstations, which can be obtained from Sun Microsystems of Mountain View, CA .

El sistema anteriormente descrito 100 se ha presentado con el objetivo de ilustrar el hardware básico que subyace con los componentes de ordenador de sobremesa (cliente) y ordenador servidor que se pueden utilizar en el sistema de la presente invención. A efectos de explicación, la siguiente descripción presentará ejemplos en los que se supondrá que existe un aparato de cliente (por ejemplo, un PC de sobremesa) que tiene software de aplicación localmente que a su vez está conectado a un “servidor” o dispositivo remoto que tiene información y/o servicios de interés para el usuario final. La presente invención, no obstante, no está limitada a ningún dispositivo de entorno o configuración específicos. En particular, no es necesaria una distinción de cliente/servidor para la invención ni es siquiera deseable de manera necesaria sino que se utiliza para proporcionar una base para la explicación. En vez de ello, la presente invención puede ser implementada por cualquier tipo de sistema de ordenador o entorno de proceso capaz de soportar las metodologías de la presente invención que se explican a continuación de manera detallada. The system described above 100 has been presented with the aim of illustrating the basic hardware that underlies the desktop computer (client) and server computer components that can be used in the system of the present invention. For the purpose of explanation, the following description will present examples in which it will be assumed that there is a client device (for example, a desktop PC) that has application software locally which in turn is connected to a "server" or remote device which has information and / or services of interest to the end user. The present invention, however, is not limited to any specific environment or configuration device. In particular, a client / server distinction is not necessary for the invention nor is it even desirable as necessary but is used to provide a basis for the explanation. Instead, the present invention can be implemented by any type of computer system or process environment capable of supporting the methodologies of the present invention that are explained in detail below.

B. Software del sistema básico B. Basic system software

Se ha mostrado en la figura 2, un sistema de software de ordenador 200 para dirigir el funcionamiento del sistema de ordenador 100. El sistema de software 200, que está almacenado en la memoria del sistema (RAM) 102 y en almacenamiento fijo (por ejemplo, disco duro) 116, incluye un sistema de núcleo o sistema operativo (OS) 210. El OS 210 gestiona aspectos de bajo nivel del funcionamiento del ordenador, incluyendo la gestión de la ejecución de procesos, atribución de memoria para entrada y salida (I/O), y un dispositivo I/O. Uno o varios programas de aplicación, tales como software de aplicación de cliente o “programas” 201 (por ejemplo, 201 a, 201 b, 201 c, 201d) pueden ser “descargados” (es decir, transferidos desde almacenamiento fijo 116 a la memoria 102) para ejecución por el sistema 100. Por ejemplo, cuando el sistema de ordenador 100 es utilizado para el dispositivo cliente de sobremesa, el software de aplicación 201 b puede incluir un software 205 capaz de visionar o procesar de otro modo archivos de imágenes digitales tales como un navegador Web HTML. A computer software system 200 for directing the operation of the computer system 100 is shown in Figure 2. The software system 200, which is stored in the system memory (RAM) 102 and in fixed storage (for example , hard disk) 116, includes a kernel system or operating system (OS) 210. OS 210 manages low-level aspects of computer operation, including process execution management, memory allocation for input and output (I / O), and an I / O device. One or more application programs, such as client application software or "programs" 201 (for example, 201 a, 201 b, 201 c, 201d) can be "downloaded" (ie, transferred from fixed storage 116 to the memory 102) for execution by the system 100. For example, when the computer system 100 is used for the desktop client device, the application software 201 b may include software 205 capable of viewing or otherwise processing image files digital such as an HTML web browser.

El sistema 200 comprende un interfaz gráfico de usuarios (GUI) 215, para recibir instrucciones de usuario y datos en forma gráfica (por ejemplo, “punto y cliqueo”). Estas entradas pueden ser gestionadas a su vez por el sistema 100, de acuerdo con instrucciones procedentes del sistema operativo 210 y/o el módulo o módulos de aplicación de cliente 201. El GUI 215 sirve también para visualizar los resultados del funcionamiento del OS 210 y la aplicación o aplicaciones 201, después de lo cual el usuario puede suministrar entradas adicionales o puede terminar la sesión. De manera típica, el OS 210 funciona conjuntamente con activadores de dispositivo 220 (por ejemplo, un activador “Winsock”) y el microcódigo BIOS 230 (es decir, un microcódigo basado en ROM), particularmente en forma de interfaz con dispositivos periféricos. El OS 210 puede ser dispuesto en un sistema operativo convencional, tal como Microsoft Windows 9x, Microsoft Windows NT, o Microsoft Windows 2000, todos ellos de la firma Microsoft Corporation de Redmond, WA. De manera alternativa, el OS 210 puede también ser un sistema operativo alternativo, tal como los sistemas operativos anteriormente mencionados. The system 200 comprises a graphical user interface (GUI) 215, to receive user instructions and data in graphical form (eg, "point and click"). These inputs can be managed in turn by the system 100, in accordance with instructions from the operating system 210 and / or the client application module or modules 201. The GUI 215 also serves to display the operating results of the OS 210 and the application or applications 201, after which the user can provide additional entries or can terminate the session. Typically, OS 210 works in conjunction with device activators 220 (eg, a "Winsock" activator) and BIOS microcode 230 (ie, a ROM-based microcode), particularly in the form of an interface with peripheral devices. OS 210 can be arranged in a conventional operating system, such as Microsoft Windows 9x, Microsoft Windows NT, or Microsoft Windows 2000, all of them from the Microsoft Corporation of Redmond, WA. Alternatively, OS 210 may also be an alternative operating system, such as the aforementioned operating systems.

El sistema antes descrito 100 es explicado a efectos ilustrativos del hardware básico que subyace en a los componentes de ordenadores de sobremesa y de servidor que pueden ser utilizados en un sistema de la presente invención. A efectos de explicación, la siguiente descripción indicará ejemplos en los que se supondrá que existe un “servidor” o dispositivo similar conectados a clientes que mantiene información fotográfica de interés para el usuario final. La presente invención, no obstante, no está limitada a ninguna configuración al dispositivo de entorno específico. En particular, no es necesaria distinción de servidor para la invención, sino que es utilizada para proporcionar una base para la explicación. En vez de ello, la presente invención puede ser implementada en cualquier tipo de sistema de ordenador o de entorno de proceso capaz de soportar las metodologías de la presente invención que se explican a continuación de manera más detallada. The system described above 100 is explained for illustrative purposes of the basic hardware underlying the desktop and server computer components that can be used in a system of the present invention. For the purpose of explanation, the following description will indicate examples in which it will be assumed that there is a "server" or similar device connected to clients that maintains photographic information of interest to the end user. The present invention, however, is not limited to any configuration to the specific environment device. In particular, no server distinction is necessary for the invention, but is used to provide a basis for the explanation. Instead, the present invention can be implemented in any type of computer system or process environment capable of supporting the methodologies of the present invention, which are explained in more detail below.

Acceso mejorado en línea a imágenes fotográficas y características Improved online access to photographic images and features

A. Consideraciones generales del diseño A. General design considerations

En la actualidad, es fácil para un usuario determinado preparar un juego de sus fotografías disponibles en la Web. Por ejemplo, el usuario puede tener una cuenta en un lugar fotográfico compartido, de manera que el usuario pone sus fotografías en un servidor conectado a Internet. Al mismo tiempo existen varios dispositivos objetivo que son capaces de visualizar fotografías. Por lo tanto, el problema que se toma en consideración se puede resumir de la manera siguiente: dados los diferentes dispositivos objetivo disponibles y dado un conjunto de fotografías disponible en un formato específico a través de Internet, cómo se puede traducir dichas fotografías de manera adecuada para adicionarlas por los dispositivos objetivo de manera que cuando las fotografías son transmitidas a un dispositivo objetivo específico pueden ser observadas por los usuarios de manera satisfactoria. At present, it is easy for a particular user to prepare a set of his photographs available on the Web. For example, the user can have an account in a shared photographic place, so that the user puts his photographs on a server connected to the Internet. At the same time there are several target devices that are capable of viewing photographs. Therefore, the problem that is taken into consideration can be summarized as follows: given the different available target devices and given a set of photographs available in a specific format over the Internet, how can these photographs be translated appropriately to add them by the target devices so that when the photographs are transmitted to a specific target device they can be observed by the users satisfactorily.

Existen múltiples aspectos en cuanto a conseguir las preferencias de un dispositivo objetivo determinado. Por ejemplo, alguno de los dispositivos puede publicar sus capacidades mientras que otros no pueden. Para estos dispositivos que pueden publicar sus capacidades se requiere un mecanismo que pueda identificar estas capacidades en base a una petición y generar datos apropiados automáticamente sobre la marcha. En algunos casos, las capacidades del dispositivo son conocidas de antemano, por ejemplo, basándose en la identidad del propio dispositivo. Esto se puede lograr, por ejemplo, incluyendo una base de conocimiento que incluye información con respecto a dispositivos corrientes. No obstante, el conocimiento de las capacidades de un determinado dispositivo objetivo no es suficiente. Dado un dispositivo objetivo con múltiples capacidades, el propio usuario puede expresar una preferencia específica para utilizar una capacidad determinada del dispositivo objetivo. En este caso, el usuario del dispositivo objetivo puede determinar varias preferencias para este dispositivo. Esta información de preferencia por sí misma puede encontrarse disponible o no, bajo demanda, en el servidor. There are multiple aspects in terms of achieving the preferences of a specific target device. For example, some of the devices may publish their capabilities while others cannot. For these devices that can publish their capabilities, a mechanism is required that can identify these capabilities based on a request and generate appropriate data automatically on the fly. In some cases, the capabilities of the device are known in advance, for example, based on the identity of the device itself. This can be achieved, for example, by including a knowledge base that includes information regarding current devices. However, knowledge of the capabilities of a given target device is not enough. Given a target device with multiple capacities, the user can express a specific preference to use a specific capacity of the target device. In this case, the user of the target device can determine various preferences for this device. This preference information by itself may be available or not, on demand, on the server.

Una vez las preferencias han sido determinadas y dado un conjunto específico de fotografías, el sistema comprende inteligencia que permite reducir de manera óptima las fotografías (a partir de su formato original) el un formato adecuado para su utilización por el dispositivo objetivo específico. Si bien la traducción real de una imagen de un formato a otro se puede llevar a cabo utilizando técnicas disponibles, la traducción global o proceso de transformación se puede llevar a cabo de manera que conserve los criterios de comportamiento y escalabilidad deseados para el sistema. Once the preferences have been determined and given a specific set of photographs, the system comprises intelligence that optimally reduces the photographs (from their original format) in a format suitable for use by the specific target device. While the actual translation of an image from one format to another can be carried out using available techniques, the global translation or transformation process can be carried out in a way that retains the desired performance and scalability criteria for the system.

Una consideración importante para este proceso es la velocidad de transporte subyacente disponible para transmitir una imagen a un dispositivo objetivo específico. Se tomará en consideración, por ejemplo, un dispositivo muy inteligente que soporta una representación completa en color. Si este dispositivo está conectado mediante una conexión de 9.600 baudios, no obstante, el servidor no debe transmitir la imagen entera, a todo color (por ejemplo, profundidad de 32 bits) para visualización en dicho dispositivo. De acuerdo con ello, el sistema debe tener en cuenta la capacidad de transporte que está en aquel momento a disposición para enviar imágenes fotográficas al dispositivo objetivo. En la realización preferente en el momento, la capacidad de transporte (es decir, ancho de banda disponible dinámicamente) para un determinado dispositivo objetivo, es tratado como una de las capacidades de dicho dispositivo objetivo. An important consideration for this process is the underlying transport speed available to transmit an image to a specific target device. For example, a very intelligent device that supports a full color representation will be taken into consideration. If this device is connected via a 9,600 baud connection, however, the server must not transmit the entire image, in full color (for example, 32-bit depth) for display on that device. Accordingly, the system must take into account the transport capacity that is currently available to send photographic images to the target device. In the preferred embodiment at the moment, the transport capacity (ie, dynamically available bandwidth) for a given target device is treated as one of the capabilities of said target device.

B. Descripción de alto nivel del sistema Servidor Fotográfico. B. High level description of the Photo Server system.

Las figuras 3A-B muestran un entorno fotográfico en línea 300, según la presente invención, para suministrar imágenes fotográficas a cualquier dispositivo con capacidad de conectividad. Tal como se ha mostrado en la figura 3A, el entorno 300 comprende conectividad a una serie de dispositivos objetivo (“clientes”); siendo cada uno de dichos dispositivos, capaz de conectarse a través de Internet (mostrado en 303) a un Sistema Servidor Fotográfico (Foto Servidor) 350, para acceder a foto álbumes en línea 361, de acuerdo con los perfiles de usuario y de dispositivo (respectivamente en 363 y 365). Por ejemplo, los dispositivos objetivo incluyen tanto dispositivos sin cables 310 (por ejemplo, un teléfono celular, un PDA manual (asistente de datos personal) y paginador), así como dispositivos con cables 320 (por ejemplo, un ordenador de sobremesa y teléfono con video). Figures 3A-B show an inline photographic environment 300, according to the present invention, for supplying photographic images to any device with connectivity capability. As shown in Figure 3A, the environment 300 comprises connectivity to a series of target devices ("clients"); each of said devices being able to connect via the Internet (shown in 303) to a Photographic Server System (Photo Server) 350, to access photo albums online 361, in accordance with the user and device profiles ( respectively in 363 and 365). For example, the target devices include both wireless devices 310 (for example, a cell phone, a handheld PDA (personal data assistant) and pager), as well as wired devices 320 (for example, a desktop computer and telephone with video).

La arquitectura del Foto Servidor 350 se ha mostrado en mayor detalle en la figura 3B. Tal como se ha mostrado, el Foto Servidor 350 incluye los siguientes módulos: un Servidor Fotográfico (es decir, el núcleo “Foto Servidor”) 351, un Gestor de Datos de Usuario 353, un gestor de perfil del dispositivo 355, un Foto Traductor 357, un Foto Registro 359, y un Foto Almacenamiento (módulo) 360. El Servidor Fotográfico 351 es responsable de facilitar las fotos, basándose en las capacidades de visualización del dispositivo objetivo. Las capacidades de visualización son comunicadas al Servidor Fotográfico 351 por el dispositivo o la persona que posee o controla el dispositivo o son deducidos por el sistema. Si el dispositivo está comunicando sus capacidades, lo hace durante el inicio o durante cada interacción; de manera alternativa, sus capacidades son codificadas de forma estable en el Servidor Fotográfico 351, basándose en el conocimiento previo del dispositivo. El poseedor del dispositivo puede afinar los ajustes basándose en los ajustes reales del dispositivo (tales como resolución, método de traducción preferente, y similares). El Servidor Fotográfico 351, que funciona independientemente de los mecanismos de transporte disponibles (por ejemplo, sin cables o con cables), interacciona con todos los demás módulos para traducir la foto solicitada en un formato objetivo apropiado. The architecture of Photo Server 350 has been shown in greater detail in Figure 3B. As shown, Photo Server 350 includes the following modules: a Photo Server (ie, the "Photo Server" core 351, a User Data Manager 353, a device profile manager 355, a Photo Translator 357, a Photo Record 359, and a Photo Storage (module) 360. Photo Server 351 is responsible for providing the photos, based on the display capabilities of the target device. The display capabilities are communicated to the Photo Server 351 by the device or the person who owns or controls the device or is deducted by the system. If the device is communicating its capabilities, it does so during startup or during each interaction; alternatively, its capabilities are stably encoded on Photo Server 351, based on prior knowledge of the device. The device holder can fine tune the settings based on the actual settings of the device (such as resolution, preferred translation method, and the like). Photo Server 351, which operates independently of the available transport mechanisms (for example, without cables or with cables), interacts with all other modules to translate the requested photo into an appropriate target format.

Los otros módulos funcionan del modo siguiente. El Gestor de Datos de Usuario 353 gestiona toda la información de usuario, preferencias del usuario y tipos de dispositivo poseídos por los usuarios. También hace la lista de todos los ajustes preferentes optativos para estos dispositivos que soportan ajustes de preferencia. El Gestor de Perfil de Dispositivo 355 gestiona todos los dispositivos conocidos (que el sistema soporta), sus capacidades, mecanismos de transporte disponibles y preferencias opcionales. Cada vez que se encuentra un nuevo dispositivo, se introduce su perfil en el Gestor de Perfil de Dispositivo 355. El Foto Servidor 351 consulta el gestor de perfil del dispositivo 355 antes de traducir las fotos. El Foto Traductor 357 traduce la foto de un formato (por ejemplo, JPEG) a otro (por ejemplo, GIF) basándose en los parámetros enviados. En efecto, este módulo contiene varios métodos de traducción internos incorporados en el sistema. The other modules work as follows. User Data Manager 353 manages all user information, user preferences and device types owned by users. It also lists all optional preferred settings for these devices that support preference settings. Device Profile Manager 355 manages all known devices (which the system supports), their capabilities, available transport mechanisms and optional preferences. Each time a new device is found, its profile is entered in Device Profile Manager 355. Photo Server 351 consults the profile manager of device 355 before translating the photos. Photo Translator 357 translates the photo from one format (for example, JPEG) to another (for example, GIF) based on the parameters sent. In effect, this module contains several internal translation methods incorporated into the system.

El Foto Almacenamiento 360 proporciona un subsistema completo de foto almacenamiento. Este es el lugar en el que se almacenan todas las fotografías, estando identificadas cada una de ellas por un identificador único (ID de la foto). En una realización preferente, el Foto Almacenamiento 360 es implementado como red de área de almacenamiento que soporta almacenamiento de datos en masa, del orden de terabytes. Cada fotografía digital es almacenada en un archivo individual, utilizando el sistema de archivo UNIX. Por otra parte, se almacenan metadatos para cada fotografía en una tabla de datos relacionales basada en un sistema de base de datos relacionado, soportando de esta manera la consulta de la información. Se dispone de sistemas de base de datos relacionales procedentes de diferentes suministradores, incluyendo Oracle Corporation de Redwood Shores, California y Sybase, Inc. de Emeryville, California. Photo Storage 360 provides a complete photo storage subsystem. This is the place where all the photographs are stored, each of them being identified by a unique identifier (photo ID). In a preferred embodiment, Photo Storage 360 is implemented as a storage area network that supports mass data storage, in the order of terabytes. Each digital photograph is stored in an individual file, using the UNIX file system. On the other hand, metadata for each photograph is stored in a relational data table based on a related database system, thus supporting the information query. Relational database systems are available from different suppliers, including Oracle Corporation of Redwood Shores, California and Sybase, Inc. of Emeryville, California.

La figura 3C muestra una estructura de almacenamiento a título de ejemplo. Los datos de usuario son mantenidos en una tabla separada, Tabla de Información de Usuario 371, que es controlada por el Gestor de Datos de Usuario Figure 3C shows an example storage structure. User data is maintained in a separate table, User Information Table 371, which is controlled by the User Data Manager

353. Tal como se ha mostrado, cada uno de los usuarios está asociado con un ID de usuario que identifica de manera exclusiva dicho usuario específico. De manera similar, cada fotografía está asociada con un ID de foto que identifica de manera exclusiva dicha fotografía específica. Un ID único puede ser creado de manera convencional, tal como creándolo a partir de un contador que se autoincrementa, tal como un contador de 128 bytes o de un sistema de marca de tiempo; en la realización actualmente preferente, se utiliza un contador de 128 bytes. Cada usuario “posee” un conjunto de fotos. La información respecto a qué fotos pertenecen a un usuario determinado está almacenada en una tabla separada, la Tabla de Posesión de Fotos 373. La tabla identifica quién posee (mediante ID de usuario) las fotografías determinadas (mediante ID de foto). Esta tabla, a su vez, referencia una Tabla de Información de Foto 375 en la que se almacena información con respecto a fotografías individuales. La Tabla de Información de Foto 375, que está codificada por ID de foto (es decir, clave primaria) almacena metadatos con respecto a cualquier foto, así como información con respecto al lugar en el que la propia foto (datos de imagen) están almacenados por el Sistema de Archivo Unix 377. Los propios metadatos incluyen un título, descripción, dimensiones de la foto, resolución de la foto, dónde ha sido creada y cómo ha sido descargada en el sistema (incluyendo, por ejemplo, información con respecto a los dispositivos objetivo, ID de foto propia, si existe). Tanto la fotografía como sus metadatos correspondientes pueden ser destinados a un dispositivo objetivo bajo demanda, mediante la metodología que se describe más adelante. 353. As shown, each of the users is associated with a user ID that uniquely identifies said specific user. Similarly, each photograph is associated with a photo ID that uniquely identifies that specific photograph. A unique ID can be created in a conventional manner, such as by creating it from a self-incrementing counter, such as a 128-byte counter or a timestamp system; In the presently preferred embodiment, a 128-byte counter is used. Each user "owns" a set of photos. The information regarding which photos belong to a specific user is stored in a separate table, the Photo Possession Table 373. The table identifies who owns (by user ID) the determined photographs (by photo ID). This table, in turn, references a Photo Information Table 375 in which information regarding individual photographs is stored. Photo Information Table 375, which is encoded by photo ID (i.e. primary key) stores metadata with respect to any photo, as well as information regarding the place where the photo itself (image data) is stored by Unix File System 377. The metadata itself includes a title, description, dimensions of the photo, resolution of the photo, where it was created and how it was downloaded into the system (including, for example, information regarding the target devices, own photo ID, if any). Both photography and its corresponding metadata can be assigned to an objective device on demand, using the methodology described below.

Soporte del Foto Almacenamiento 60 es el Foto Registro 359. Éste es un registro con la amplitud del sistema, basado en disco, de fotos transformadas, basándose en parámetros suministrados al foto traductor 357. El Foto Registro puede aumentar o disminuir basándose en las dimensiones impuestas por el administrador del sistema. Las fotos previamente transformadas son mantenidas en este registro. Este registro es objeto de búsqueda, en primer lugar, en cuanto a la disponibilidad de la foto y si se encuentra a disposición una foto transformada, entonces la foto es devuelta al propio registro. Photo Storage Support 60 is Photo Registration 359. This is a record with the breadth of the system, based on disc, of transformed photos, based on parameters supplied to the photo translator 357. The Photo Registration can be increased or decreased based on the dimensions imposed by the system administrator. Previously transformed photos are kept in this register. This record is searched, first of all, for the availability of the photo and if a transformed photo is available, then the photo is returned to the record itself.

C. Funcionamiento detallado C. Detailed operation

1.one.
Generalidades  Generalities

De acuerdo con la presente invención, el Foto Servidor 350 incorpora un procedimiento que proporciona acceso a imágenes fotográficas y características, incluyendo anotaciones (por ejemplo, anotaciones de texto o de voz) para múltiples dispositivos de cliente distintos. El procedimiento es utilizado como respuesta a una petición de cualquier dispositivo objetivo sobre una fotografía o fotografías y/o información alrededor de dicha fotografía o fotografías. In accordance with the present invention, Photo Server 350 incorporates a method that provides access to photographic images and features, including annotations (eg, text or voice annotations) for multiple different client devices. The procedure is used in response to a request from any target device about a photograph or photographs and / or information about said photograph or photographs.

2.2.
Funcionamiento de alto nivel  High level performance

La figura 4A muestra las etapas de alto nivel involucradas en el procedimiento general 400. Tal como se ha indicado por la etapa 401, el procedimiento 400 procesa la petición recibida basada en un identificador de usuario (ID de usuario) o un identificador de fotografía (ID de foto) para las fotos de interés. El ID de foto es un identificador exclusivo para una fotografía específica que (1) o bien ha sido creada por el sistema y ha sido comunicada anteriormente al dispositivo objetivo (cliente) o bien (2) ha sido creada por el dispositivo objetivo (es decir, es el identificador exclusivo del dispositivo objetivo), en el caso en que el dispositivo objetivo está conectando por primera vez. En la etapa 402, el procedimiento construye un registro de información que describe las capacidades del dispositivo objetivo. La información reunida a partir de esta etapa permite que el Foto Servidor 350 pueda comprender exactamente qué capacidades puede soportar en el dispositivo objetivo. En particular, esta información indica al sistema qué operación u operaciones de traducción o transformación específicas se requieren para traducir la foto original en un formato adecuado para el dispositivo objetivo. Figure 4A shows the high-level stages involved in the general procedure 400. As indicated by step 401, the procedure 400 processes the request received based on a user identifier (user ID) or a photo identifier ( Photo ID) for the photos of interest. The photo ID is a unique identifier for a specific photograph that (1) has either been created by the system and has been previously communicated to the target device (client) or (2) has been created by the target device (i.e. , is the unique identifier of the target device), in the case where the target device is connecting for the first time. In step 402, the procedure constructs an information record describing the capabilities of the target device. The information gathered from this stage allows the Photo Server 350 to understand exactly what capabilities it can support in the target device. In particular, this information indicates to the system what specific translation or transformation operation or operations are required to translate the original photo into a format suitable for the target device.

A continuación, el procedimiento está dispuesto para comprobar en el Foto Registro 359 para observar si el registro almacena ya la foto de interés, es decir, almacena una versión de la foto que ha sido traducida de manera adecuada para este dispositivo objetivo específico. Esta etapa se ha indicado en la etapa 403. Si la foto (traducida para el dispositivo objetivo) existe ya en el Foto Registro, comprobado en la etapa 404, el procedimiento puede simplemente devolverla al dispositivo objetivo, tal como se ha indicado por el salto de la etapa 407. No obstante, si no se encuentra en el registro (es decir, “falso” en la etapa 404), entonces el procedimiento pasa a la etapa 405. En la etapa 405 los parámetros del ID de foto y del dispositivo objetivo son pasados al Foto Traductor 357. La tarea del Foto Traductor en este momento consiste en transformar la foto de su formato original al formato deseado para el dispositivo objetivo (basándose en las capacidades del dispositivo objetivo). Una vez que el traductor de foto ha llevado a cabo esta tarea, la versión que se acaba de transformar de la foto es copiada en el Foto Registro, tal como se ha mostrado en la etapa 406 y esta versión traducida de la foto es devuelta al dispositivo objetivo, tal como se ha indicado por la etapa 407, en forma de envío. Next, the procedure is arranged to check in the Photo Register 359 to see if the register already stores the photo of interest, that is, it stores a version of the photo that has been properly translated for this specific target device. This stage has been indicated in step 403. If the photo (translated for the target device) already exists in the Photo Registration, checked in step 404, the procedure can simply return it to the target device, as indicated by the jump of step 407. However, if it is not in the register (ie "false" in step 404), then the procedure goes to step 405. In step 405 the parameters of the photo ID and the device objective are passed to the Photo Translator 357. The task of the Photo Translator at this time is to transform the photo from its original format to the desired format for the target device (based on the capabilities of the target device). Once the photo translator has carried out this task, the version that has just been transformed from the photo is copied into the Photo Register, as shown in step 406 and this translated version of the photo is returned to the target device, as indicated by step 407, in the form of shipping.

3. Formación de las capacidades del dispositivo objetivo 3. Training of the capabilities of the target device

La figura 4B muestra la etapa de alto nivel 402 en detalle adicional, en forma de etapas de subrutina 421-426. En el inicio, en la etapa 421, se recibe una petición de entrada, por transporte inalámbrico o por cables, La petición en sÍ misma es transmitida utilizando un protocolo de comunicación, tal como una petición utilizando HTTP (Hypertext Transport Protocol) o WAP (Wireless Application Protocol). Tal como se ha indicado de la etapa 422, la información con respecto a las capacidades del dispositivo objetivo pueden ser enviadas como parte de la petición de entrada. Basándose en las capacidades del dispositivo objetivo, se pueden acompañar también a la petición de fotos un ID de sesión, un ID de usuario y/o un ID de foto. Para un navegador HTTP y el dispositivo objetivo, por ejemplo, solamente un ID de sesión acompaña a la petición enviada al Foto Servidor. En este caso, el ID de sesión es utilizado para determinar quién es el usuario (ID del usuario) y qué fotos tiene dicho usuario en el Foto Servidor. Para un navegador WAP en el dispositivo objetivo, como contraste, se puede facilitar más información, incluyendo el ID de usuario y el ID real de foto. En el extremo inferior de la escala, un simple dispositivo manual puede no tener capacidad para almacenar información de estado, en cuyo caso la petición no comprende información adicional. Figure 4B shows the high level stage 402 in additional detail, in the form of subroutine stages 421-426. At the beginning, in step 421, an input request is received, by wireless or cable transport, the request itself is transmitted using a communication protocol, such as a request using HTTP (Hypertext Transport Protocol) or WAP ( Wireless Application Protocol). As indicated in step 422, information regarding the capabilities of the target device can be sent as part of the input request. Based on the capabilities of the target device, a session ID, user ID and / or photo ID can also be attached to the photo request. For an HTTP browser and the target device, for example, only a session ID accompanies the request sent to the Photo Server. In this case, the session ID is used to determine who the user is (user ID) and what photos the user has in the Photo Server. For a WAP browser on the target device, as a contrast, more information can be provided, including the user ID and the actual photo ID. At the lower end of the scale, a simple manual device may not have the capacity to store status information, in which case the request does not include additional information.

De manera adicional, las capacidades del propio dispositivo objetivo son enviadas como parte de la petición (tipos MIME) o bien, de manera alternativa, en el momento en que se envía información sobre la clase del dispositivo, tal como se ha indicado por la etapa 423. Por ejemplo, un navegador HTTP puede indicar el nombre del navegador (por ejemplo, “Netscape Navigator” o “Microsoft Internet Explorer”), la versión del navegador y el tipo de gráficos que soporta. Esta información es de interés en casos en los que el soporte gráfico es limitado, por ejemplo, en un navegador que funciona en una caja de sobremesa que tiene un soporte gráfico muy limitado (por ejemplo, soporte JPEG solamente). En el caso de que el dispositivo objetivo no es capaz de indicar sus capacidades, indicará, como mínimo, su clase de dispositivo tal como dispositivo manual de mano, caja de sobremesa (“set-top box”), como teléfono con navegador WAP o similar. En caso de enviar información sobre la clase del dispositivo, esta información es utilizada siendo utilizada esta información para conseguir parámetros apropiados del Gestor de Perfil de Dispositivo tal como se ha indicado por la etapa 424. Basándose en la clase de dispositivo, el Gestor de Perfil de Dispositivo, devolverá información con respecto a cuáles son las capacidades del dispositivo. Por ejemplo, la clase del dispositivo puede ser un dispositivo manual “Palm” de un modelo determinado. Basándose en ello, el Gestor de Perfil de Dispositivo puede discernir, basándose en su base de conocimiento, las capacidades del dispositivo tal como capacidad de visualización (por ejemplo, color 16), dispositivo de memoria (por ejemplo, 4-8 MB), dimensiones de visualización (por ejemplo 3’’ x 5’’), y un módem de 56K. Si solamente se envía información de usuario (es decir, los ID de foto no se transmiten como parte de la petición), entonces el método determina una lista de ID de foto pertenecientes al usuario utilizando el Gestor de Datos de Usuario 353 tal como se ha indicado por la etapa 425. A continuación, el método ha identificado una lista de ID de foto (una o varias fotos), resolución de visualización y dimensiones físicas, capacidad de color y formato de foto recomendado para el dispositivo objetivo, tal como se ha indicado por la etapa 426. Additionally, the capabilities of the target device itself are sent as part of the request (MIME types) or, alternatively, at the time when information about the device class is sent, as indicated by the stage 423. For example, an HTTP browser may indicate the name of the browser (for example, "Netscape Navigator" or "Microsoft Internet Explorer"), the browser version and the type of graphics it supports. This information is of interest in cases where graphic support is limited, for example, in a browser that works in a desktop that has very limited graphic support (for example, JPEG support only). In the event that the target device is not able to indicate its capabilities, it will indicate, at a minimum, its kind of device such as a handheld handheld, a set-top box, such as a phone with a WAP browser or Similary. In case of sending information about the device class, this information is used by using this information to obtain appropriate parameters of the Device Profile Manager as indicated by step 424. Based on the device class, the Profile Manager Device, will return information regarding what the capabilities of the device are. For example, the device class may be a "Palm" manual device of a particular model. Based on this, the Device Profile Manager can discern, based on its knowledge base, the capabilities of the device such as display capacity (for example, color 16), memory device (for example, 4-8 MB), display dimensions (for example 3 '' x 5 ''), and a 56K modem. If only user information is sent (i.e., photo IDs are not transmitted as part of the request), then the method determines a list of photo IDs belonging to the user using User Data Manager 353 as it has been indicated by step 425. Next, the method has identified a list of photo ID (one or several photos), display resolution and physical dimensions, color capacity and recommended photo format for the target device, as described indicated by step 426.

Si bien no se ha mostrado como etapa específica en lo anterior, el transporte de comunicación subyacente puede ser deducido de la clase o tipo de dispositivo. Por ejemplo, si el dispositivo objetivo es un teléfono celular, el sistema puede deducir que el transporte de comunicación subyacente es inalámbrico. Otro ejemplo, si el dispositivo objetivo es un paginador que comunica utilizando WAP, el sistema puede deducir que el dispositivo objetivo utiliza comunicación inalámbrica con ancho de banda limitado (en comparación con un teléfono celular). Basándose en la clase de dispositivo y de la solicitud entrante, el sistema puede discernir usualmente si el transporte de comunicación es inalámbrico o con cable. Además, muy pocos dispositivos tienen capacidad inalámbrica y por cable. Las conexiones típicas mediante cables incluyen T1, DSL, módem por cable y conexiones de marcado. Dentro de los inalámbricos, las conexiones típicas comprenden una llamada de datos de 9600 baudios conmutada por circuito, llamada de datos de 9600 baudios conmutada por paquete o la nueva llamada GPR de 64K baudios. Although it has not been shown as a specific stage in the foregoing, the underlying communication transport can be deducted from the class or type of device. For example, if the target device is a cell phone, the system can deduce that the underlying communication transport is wireless. Another example, if the target device is a pager that communicates using WAP, the system can deduce that the target device uses wireless communication with limited bandwidth (compared to a cell phone). Based on the device class and the incoming request, the system can usually discern whether the communication transport is wireless or wired. In addition, very few devices have wireless and wired capability. Typical cable connections include T1, DSL, cable modem and dial-up connections. Within the wireless, typical connections comprise a 9600 baud data call switched per circuit, 9600 baud data call switched per packet or the new GPR call of 64K baud.

4.Four.
Proceso de Foto Registro  Photo Registration Process

La figura 4C muestra la etapa de alto nivel 403 de manera más detallada como etapas de sub-rutinas 431, 435. Basándose en los datos de la etapa 426, el Foto Registro es objeto de búsqueda en la etapa 431 para comprobar si existe una foto previamente tratada por ordenador. En otras palabras, si se ha llevado a cabo esta misma operación de traducción anteriormente exactamente la misma foto para el mismo dispositivo (o un dispositivo que requiera la misma traducción), y la foto traducida permanezca en el registro. En la realización preferente en la actualidad, cada entrada de registro es identificada por segmentación en primer lugar del ID de la foto (por ejemplo, íntegro largo) y a continuación del tipo de dispositivo (por ejemplo, cadena de texto) en una resolución de dispositivo específica (por ejemplo, cadena de texto), tal como ha sido indicado por la etapa 432. En el caso de un acierto de registro (es decir, el valor de segmentación resuelve un nombre de archivo temporal para la foto registrada) comprobado en la etapa 433, el valor de retorno para la sub-rutina se dispone en “Verdadero”, tal como se ha indicado en la tapa 434. De otro modo, el valor de retorno se dispone “Falso”, tal como se ha indicado en la etapa 435. Después de ello, la sub-rutina puede volver. Figure 4C shows the high-level stage 403 in more detail as sub-routine stages 431, 435. Based on the data of step 426, the Photo Registration is searched in step 431 to check whether a photo exists. previously treated by computer. In other words, if this same translation operation has been performed before exactly the same photo for the same device (or a device that requires the same translation), and the translated photo remains in the register. In the preferred embodiment at present, each registry entry is identified by first segmentation of the photo ID (for example, full length) and then the type of device (for example, text string) in a device resolution specific (for example, text string), as indicated by step 432. In the case of a registration success (that is, the segmentation value resolves a temporary file name for the registered photo) verified in the step 433, the return value for the sub-routine is set to "True", as indicated in cover 434. Otherwise, the return value is set to "False", as indicated in the step 435. After that, the sub-routine may return.

5.5.
Proceso de Foto Traducción  Photo Translation Process

La figura 4D muestra la etapa de alto nivel 405 en mayor detalle, en forma de etapas de sub-rutina 451- 453. Si existe un fallo en el registro, entonces, la foto deseada debe ser traducida. Por lo tanto, en la etapa 451, el ID de la foto es pasado al Foto Almacenamiento (módulo) 360 para recuperar la versión de resolución completa de la foto. La foto recuperada y los detalles de visualización del objetivo se pasan al Foto Traductor, en la etapa 452. El Foto Traductor lleva a cabo la necesaria traducción acudiendo a la traducción independiente del dispositivo que se describe más adelante. Finalmente, el Foto Traductor devuelve la foto en un formato binario apropiado para el dispositivo objetivo específico, en la etapa 453. Después de ello, la sub-rutina puede volver. Figure 4D shows the high level stage 405 in greater detail, in the form of sub-routine stages 451-453. If there is a failure in the register, then, the desired photo must be translated. Therefore, in step 451, the photo ID is passed to the Storage Photo (module) 360 to retrieve the full resolution version of the photo. The recovered photo and the visualization details of the objective are passed to the Translator Photo, in step 452. The Translator Photo carries out the necessary translation by going to the independent translation of the device described below. Finally, the Translator Photo returns the photo in a binary format appropriate for the specific target device, at step 453. After that, the sub-routine may return.

Durante esta operación, el Foto Traductor implementa “traducción independiente del dispositivo”. En este caso, los datos de imagen son convertidos, en primer lugar, en un formato intermediario, es decir, independiente del dispositivo. Después de ello, rutinas dependientes del dispositivo convierten el formato intermediario en un formato de dispositivo apropiado para el dispositivo objetivo. El Foto Traductor recibe como entrada lo siguiente: During this operation, the Photo Translator implements "device independent translation". In this case, the image data is converted, first of all, into an intermediate format, that is, independent of the device. After that, device-dependent routines convert the intermediate format into an appropriate device format for the target device. The Photo Translator receives the following as input:

Foto en formato Clikpix o JPEG; Photo in Clikpix or JPEG format;

Dimensiones de salida (anchura y altura); Output dimensions (width and height);

Tipo de dispositivo de salida; Type of output device;

Espacio de color (por ejemplo, RGB o escala de grises); Color space (for example, RGB or grayscale);

Paleta de colores (por ejemplo, color real o indexado); y Técnica de compresión. Color palette (for example, real or indexed color); and compression technique.

A partir de estas entradas, el Foto Traductor puede enviar una imagen en el formato de salida especificado con las dimensiones especificadas. Se debe observar que algunos dispositivos pueden ser caracterizados de manera distinta que sus características originales. Por ejemplo, un dispositivo con una pantalla LCD de 16 colores puede ser preferible su caracterización como dispositivo de color real. Entonces, es responsabilidad del dispositivo el convertir la imagen en modalidad de color real transmitida por el Foto Servidor a su modalidad interna de 16 colores utilizando el software/hardware interno. El sistema de compresión puede ser propio o normal en la industria tal como JPEG, JBIG, GIF o similares. Ver, por ejemplo, la Compresión de Imagen tipo JPEG (partes 1 y 2), Dr. Dobb’s Journal, julio 1995 y agosto 1995, respectivamente (disponibles en CD ROM como Dr. Dobb’s/ CD Release 6 del Dr. Dobb’s Journal de San Mateo, CA) From these entries, the Photo Translator can send an image in the specified output format with the specified dimensions. It should be noted that some devices may be characterized differently than their original characteristics. For example, a device with a 16-color LCD screen may be preferable to characterize it as a real color device. Then, it is the responsibility of the device to convert the image into real color mode transmitted by the Photo Server to its internal 16-color mode using the internal software / hardware. The compression system can be its own or normal in the industry such as JPEG, JBIG, GIF or the like. See, for example, JPEG Image Compression (parts 1 and 2), Dr. Dobb's Journal, July 1995 and August 1995, respectively (available on CD ROM as Dr. Dobb's / CD Release 6 of Dr. Dobb's Journal of San Mateo, CA)

El funcionamiento específico del Foto Traductor es el siguiente. En primer lugar, la imagen de entrada es descomprimida para generar un mapa de bits en el espacio de color utilizado. Por ejemplo, Clikpix utiliza espacio de color GUV, JPEG soporta un espacio de color múltiple incluyendo YUV y RGB. El espacio de color GUV se describe en la solicitud propiedad del mismo solicitante actual número 09/489.511, presentada en 21 de enero de 2000; también se puede encontrar en dicha solicitud una descripción de los espacios de color habituales en la industria. La imagen es convertida a continuación en un formato intermediario “estándar” típicamente en uno de los espacios de color estándar de la industria. Entre los ejemplos se incluyen: The specific operation of the Translator Photo is as follows. First, the input image is decompressed to generate a bitmap in the color space used. For example, Clikpix uses GUV color space, JPEG supports a multiple color space including YUV and RGB. The GUV color space is described in the application owned by the same current applicant number 09 / 489,511, filed on January 21, 2000; a description of the usual color spaces in the industry can also be found in said application. The image is then converted into a "standard" intermediate format typically in one of the industry standard color spaces. Examples include:

L, a, b 16 bits/píxel/canal (por ejemplo, utilizado en Adobe Photoshop); L, a, b 16 bits / pixel / channel (for example, used in Adobe Photoshop);

SRGB 8bits/píxel/canal (por ejemplo, utilizado por Microsoft, HP y otros); y SRGB 8bits / pixel / channel (for example, used by Microsoft, HP and others); Y

YUV YUV

El formato intermediario es mapeado, a continuación, al formato requerido por el dispositivo de salida con el proceso siguiente: The intermediate format is then mapped to the format required by the output device with the following process:

1.one.
Escalado de la imagen, para escalar la imagen a las dimensiones de salida deseadas.  Image scaling, to scale the image to the desired output dimensions.

2.2.
Si se desea solamente información monocromática, entonces se genera una versión monocromática de la imagen utilizando métodos de conversión estándar (por ejemplo, utilizando las recomendaciones de la International Telecommunication Union (ITU) para generar la señal de luminancia Y a partir de señales R, G, B, ver por ejemplo: ITU-Recommendation BT. 601-1 (“Encording parameters of Digital Television for studio”).  If only monochromatic information is desired, then a monochromatic version of the image is generated using standard conversion methods (for example, using the recommendations of the International Telecommunication Union (ITU) to generate the luminance signal Y from signals R, G , B, see for example: ITU-Recommendation BT. 601-1 (“Encording parameters of Digital Television for studio”).

3.Si el bits/píxel es menor de 8 entonces, se pueden utilizar técnicas variables (“dither”) (tales como difusión de error, enmascarado de sonido azul, o similares, ver por ejemplo: “Recent Progress in Digital Halftoning”, 1994, The Society of Imaging Science and Technology, reunido y editado por Reiner Eschbach, ISBN 0892080-181-3). 3.If the bits / pixel is less than 8 then, variable techniques (“dither”) (such as error diffusion, blue sound masking, or the like) can be used, see for example: “Recent Progress in Digital Halftoning”, 1994, The Society of Imaging Science and Technology, collected and edited by Reiner Eschbach, ISBN 0892080-181-3).

4.Four.
Si el dispositivo de salida tiene una paleta de colores (por ejemplo, soportando solamente 256 colores) entonces se utilizan los sistemas de oscilación de color. Estos sistemas se explican en cierto detalle en “Computer Graphics-Principles and Practice”, segunda edición, 1990, Foley, van Dam, y otros de Addison-Wesley, Reading, MA, ISBN 0-201-12110-7.  If the output device has a color palette (for example, supporting only 256 colors) then the color oscillation systems are used. These systems are explained in some detail in "Computer Graphics-Principles and Practice", second edition, 1990, Foley, van Dam, and others of Addison-Wesley, Reading, MA, ISBN 0-201-12110-7.

5.5.
La compresión es llevada a cabo opcionalmente antes de la salida de los datos. Para imágenes en color real, el sistema de compresión preferente es JPEG. Para imágenes indexadas los métodos preferentes son GIF, PNG. Para imágenes en tonos medios el sistema preferente sería compresión JBIG.  Compression is optionally carried out before the data is output. For real color images, the preferred compression system is JPEG. For indexed images the preferred methods are GIF, PNG. For images in medium tones the preferred system would be JBIG compression.

Finalmente, la imagen generada es enviada, y está preparada para emitir hacia un dispositivo objetivo para ultimar la traducción en la pantalla del dispositivo. Finally, the generated image is sent, and is ready to be broadcast to a target device to finalize the translation on the device screen.

D. Anotaciones de Foto. D. Photo Annotations.

Además de las características de la foto (por ejemplo, dimensiones, color, profundidad y otras) los metadatos incluyen también anotaciones suministradas por el usuario. Cuando los usuarios llegan en línea a visionar fotografías, frecuentemente desean visionar las anotaciones asociadas con estas fotos. Las anotaciones incluyen, por ejemplo, descripciones de texto o de voz creadas por diferentes usuarios incluyendo el propietario de la foto o los usuarios con los que comparte las fotos el propietario. In addition to the characteristics of the photo (for example, dimensions, color, depth and others) the metadata also includes annotations supplied by the user. When users arrive online to view photographs, they often want to view the annotations associated with these photos. Annotations include, for example, text or voice descriptions created by different users including the owner of the photo or the users with whom the owner shares the photos.

De la misma manera que los dispositivos objetivos tienen diferentes niveles de capacidad para visualizar fotos, estos dispositivos tienen también diferentes niveles de capacidad para traducir las anotaciones. Muchos dispositivos objetivo potenciales no pueden incluir la capacidad de visualizar tanto la imagen como las anotaciones acompañantes en la misma pantalla, requiriendo, por lo tanto, la utilización, por ejemplo, de pantallas “próxima” y “previa”. Otros dispositivos, por otra parte, pueden incluir capacidades avanzadas para visualizar imágenes y anotaciones simultáneamente sobre la misma pantalla. Dado que se detectan las capacidades de cada clase de dispositivo, el sistema conoce exactamente cuál es la capacidad de un dispositivo objetivo específico. Por lo tanto, de acuerdo con la presente invención, el sistema es capaz de formatear las anotaciones dinámicamente (es decir, sobre la marcha), de manera que es apropiado para el dispositivo objetivo específico. En caso necesario, por ejemplo, el sistema puede formatear anotaciones en páginas múltiples de la forma apropiada para el dispositivo objetivo. No obstante, si existen anotaciones de voz para una foto y el dispositivo objetivo soporta datos de voz, estas anotaciones pueden ser enviadas a un dispositivo objetivo. Por lo tanto, igual que en el caso de los datos de In the same way that the target devices have different levels of ability to view photos, these devices also have different levels of ability to translate the annotations. Many potential target devices cannot include the ability to display both the image and the accompanying annotations on the same screen, therefore requiring the use, for example, of "next" and "previous" screens. Other devices, on the other hand, may include advanced capabilities to display images and annotations simultaneously on the same screen. Since the capabilities of each device class are detected, the system knows exactly what the capacity of a specific target device is. Therefore, according to the present invention, the system is able to format the annotations dynamically (i.e., on the fly), so that it is appropriate for the specific target device. If necessary, for example, the system can format annotations on multiple pages in the appropriate way for the target device. However, if there are voice annotations for a photo and the target device supports voice data, these annotations can be sent to a target device. Therefore, as in the case of data from

5 imagen, el sistema de la presente invención puede formatear o traducir las anotaciones de una foto de manera adecuada para el dispositivo objetivo o dispositivo de destino. In the image, the system of the present invention can format or translate the annotations of a photo in a manner suitable for the target device or target device.

Si bien la invención ha sido descrita en cierto detalle con referencia específica a una realización preferente única y ciertas alternativas, no existe propósito de limitar la invención a esta realización específica o a las alternativas específicas. Por ejemplo, los técnicos en la materia apreciarán que se pueden introducir modificaciones en la While the invention has been described in some detail with specific reference to a single preferred embodiment and certain alternatives, there is no purpose of limiting the invention to this specific embodiment or to specific alternatives. For example, those skilled in the art will appreciate that modifications can be made to the

10 realización preferente sin salir de las enseñanzas de la presente invención. 10 preferred embodiment without leaving the teachings of the present invention.

Claims (14)

REIVINDICACIONES 1. En un sistema en línea, un procedimiento para proporcionar imágenes fotográficas digitales a dispositivos objetivo, cuyo procedimiento comprende: 1. In an online system, a procedure for providing digital photographic images to target devices, the procedure of which comprises: recibir (401) una petición para proporcionar a un dispositivo objetivo una copia de una imagen fotográfica específica, en el que dicha petición especifica un identificador fotográfico (ID de foto) y/o un identificador de usuario (ID de usuario); receive (401) a request to provide a target device with a copy of a specific photographic image, in which said request specifies a photographic identifier (photo ID) and / or a user identifier (user ID); determinar (402) capacidades del dispositivo objetivo; determine (402) capabilities of the target device; basándose en las capacidades del dispositivo objetivo, determinar un formato deseado para proporcionar al dispositivo objetivo una copia de la imagen fotográfica específica, de manera que se determina, basándose por lo menos en parte en la clase del dispositivo para el dispositivo objetivo, la anchura de banda de comunicación disponible para transmitir una copia de la imagen fotográfica específica al dispositivo objetivo; based on the capabilities of the target device, determine a desired format to provide the target device with a copy of the specific photographic image, so that it is determined, based at least in part on the class of the device for the target device, the width of communication band available to transmit a copy of the specific photographic image to the target device; determinar (403) si una copia registrada de la imagen fotográfica específica existe ya en dicho formato determinado; determine (403) if a registered copy of the specific photographic image already exists in that particular format; si existe una copia registrada, proporcionar (407) al dispositivo objetivo la copia registrada de la imagen fotográfica específica y, después de ello, terminar el procedimiento; if there is a registered copy, provide (407) to the target device the registered copy of the specific photographic image and, after that, finish the procedure; si no existe copia registrada, traducir (405) la imagen fotográfica específica en una copia que tiene dicho formato determinado; y if there is no registered copy, translate (405) the specific photographic image into a copy that has that particular format; Y proporcionar al dispositivo objetivo la copia que tiene dicho formato determinado, provide the target device with the copy that has that particular format, caracterizado porque characterized because la traducción comprende descompresión de la imagen fotográfica específica para generar un mapa de bits en el espacio de color que se utilizó, convirtiendo el mapa de bits de la imagen fotográfica específica en un formato intermediario estándar y mapeando el formato intermediario de la imagen fotográfica específica a dicho formato determinado. The translation comprises decompression of the specific photographic image to generate a bitmap in the color space that was used, converting the bitmap of the specific photographic image into a standard intermediate format and mapping the intermediate format of the specific photographic image to This particular format.
2. 2.
Procedimiento, según la reivindicación 1, en el que dicha etapa de determinar capacidades del dispositivo objetivo comprende: preguntar al dispositivo sus capacidades. Method according to claim 1, wherein said step of determining capabilities of the target device comprises: asking the device for its capabilities.
3. 3.
Procedimiento, según la reivindicación 1, en el que dicha etapa de determinar las capacidades del dispositivo objetivo comprende: determinar las capacidades a partir una base de conocimiento, basada en la clase del dispositivo para el dispositivo objetivo. Method according to claim 1, wherein said step of determining the capabilities of the target device comprises: determining the capabilities from a knowledge base, based on the class of the device for the target device.
4. Four.
Procedimiento, según la reivindicación 1, en el que dicha etapa de determinación del formato deseado comprende la determinación de las preferencias del usuario, si existen, para traducir imágenes en el dispositivo objetivo. Method according to claim 1, wherein said step of determining the desired format comprises determining user preferences, if any, to translate images on the target device.
5. 5.
Procedimiento, según la reivindicación 1, que comprende además: basándose en las capacidades del dispositivo objetivo, determinar metadatos para la imagen fotográfica específica que puede ser proporcionada al dispositivo objetivo. Method according to claim 1, further comprising: based on the capabilities of the target device, determining metadata for the specific photographic image that can be provided to the target device.
6. 6.
Procedimiento, según la reivindicación 5, en el que dichos metadatos incluyen información de características para la imagen fotográfica específica. Method according to claim 5, wherein said metadata includes characteristic information for the specific photographic image.
7. 7.
Procedimiento, según la reivindicación 6, en el que dichos metadatos incluyen anotaciones de la imagen fotográfica específica. Method according to claim 6, wherein said metadata includes annotations of the specific photographic image.
8. 8.
Sistema Servidor Fotográfico en línea para proporcionar imágenes fotográficas digitales a dispositivos objetivo, cuyo sistema comprende: Online Photo Server System to provide digital photographic images to target devices, whose system comprises:
un módulo de almacenamiento (360, 359) para almacenar imágenes fotográficas digitales para compartir entre usuarios; y a storage module (360, 359) for storing digital photographic images for sharing among users; Y un Servidor Fotográfico (351): a Photo Server (351): para procesar una petición para proporcionar un dispositivo objetivo con una copia de una imagen fotográfica específica, de manera que cada imagen fotográfica digital almacenada por dicho módulo de almacenamiento está asociada con un identificador fotográfico (ID de foto) y dicha petición incluye el ID de foto para dicha imagen fotográfica específica, de manera que dicha petición especifica un identificador de usuario (ID de usuario) y en el que dicho sistema almacena información que asocia cada usuario con una o varias imágenes fotográficas digitales específicas; to process a request to provide a target device with a copy of a specific photographic image, so that each digital photographic image stored by said storage module is associated with a photographic identifier (photo ID) and said request includes the photo ID for said specific photographic image, so that said request specifies a user identifier (user ID) and in which said system stores information that each user associates with one or more specific digital photographic images; para determinar automáticamente capacidades del dispositivo objetivo; y para proporcionar al dispositivo objetivo una copia de la imagen fotográfica específica, siendo traducida automáticamente dicha copia en un formato específico basado en las capacidades del dispositivo objetivo, de manera que dicho formato específico es seleccionado basándose en la anchura de banda de comunicación disponible para transmitir una copia de la imagen fotográfica específica al dispositivo objetivo, de manera que la anchura de banda de comunicación disponibles es determinada, por lo menos en parte, basándose en la clase de dispositivo para el dispositivo objetivo, to automatically determine capabilities of the target device; and to provide the target device with a copy of the specific photographic image, said copy being automatically translated into a specific format based on the capabilities of the target device, such that said specific format is selected based on the communication bandwidth available to transmit a copy of the photographic image specific to the target device, so that the available communication bandwidth is determined, at least in part, based on the device class for the target device, caracterizado por characterized by un traductor de foto (357) para traducir la copia en el formato específico por descompresión de la imagen fotográfica específica para generar un mapa de bits en el espacio de color utilizado, convirtiendo el mapa de bits de la imagen fotográfica específica en un formato intermediario estándar, y mapeando el formato intermediario de la imagen fotográfica específica a dicho formato específico. a photo translator (357) to translate the copy into the specific decompression format of the specific photographic image to generate a bitmap in the color space used, converting the bitmap of the specific photographic image into a standard intermediate format , and mapping the intermediate format of the specific photographic image to that specific format.
9. 9.
Sistema, según la reivindicación 8, en el que dicho Servidor Fotográfico comprende la capacidad de preguntar al dispositivo objetivo sus capacidades. System according to claim 8, wherein said Photo Server comprises the ability to ask the target device its capabilities.
10. 10.
Sistema, según la reivindicación 8, en el que dicho Servidor Fotográfico comprende una base de conocimiento para determinar las capacidades del dispositivo objetivo. System according to claim 8, wherein said Photo Server comprises a knowledge base to determine the capabilities of the target device.
11. eleven.
Sistema, según la reivindicación 8, en el que dicho formato específico es seleccionado, por lo menos en parte, basándose en preferencias del usuario, en caso de que existan, para traducir imágenes en el dispositivo objetivo. System according to claim 8, wherein said specific format is selected, at least in part, based on user preferences, if any, to translate images on the target device.
12. 12.
Sistema, según la reivindicación 8, en el que el sistema de almacenamiento almacena metadatos para cada una de las imágenes fotográficas digitales, y en el que el Servidor Fotográfico es capaz de determinar metadatos para la imagen fotográfica específica que puede ser proporcionada al dispositivo objetivo. System according to claim 8, wherein the storage system stores metadata for each of the digital photographic images, and wherein the Photo Server is able to determine metadata for the specific photographic image that can be provided to the target device.
13. 13.
Sistema, según la reivindicación 12, en el que dichos metadatos incluyen información de características para la imagen fotográfica específica. System according to claim 12, wherein said metadata includes characteristic information for the specific photographic image.
14. 14.
Sistema, según la reivindicación 12, en el que dichos metadatos incluyen anotaciones para la imagen fotográfica específica. System according to claim 12, wherein said metadata includes annotations for the specific photographic image.
ES01913160T 2000-05-11 2001-02-28 SYSTEM AND PROCEDURE TO PROVIDE ACCESS TO PHOTOGRAPHIC IMAGES AND ITS CHARACTERISTICS FOR MULTIPLE DIFFERENT CUSTOMER DEVICES. Expired - Lifetime ES2361822T3 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US20350700P 2000-05-11 2000-05-11
US203507P 2000-05-11
US588875 2000-06-06

Publications (1)

Publication Number Publication Date
ES2361822T3 true ES2361822T3 (en) 2011-06-22

Family

ID=44123083

Family Applications (1)

Application Number Title Priority Date Filing Date
ES01913160T Expired - Lifetime ES2361822T3 (en) 2000-05-11 2001-02-28 SYSTEM AND PROCEDURE TO PROVIDE ACCESS TO PHOTOGRAPHIC IMAGES AND ITS CHARACTERISTICS FOR MULTIPLE DIFFERENT CUSTOMER DEVICES.

Country Status (1)

Country Link
ES (1) ES2361822T3 (en)

Similar Documents

Publication Publication Date Title
US6535228B1 (en) Method and system for sharing images using a digital media frame
EP1384166B1 (en) System and method to provide access to photographic images and attributes for multiple disparate client devices
US8019897B2 (en) Method for viewing, on a client-side device, documents requested from a server-side device
US6509910B1 (en) Method and system for interfacing with a digital media frame network
CN100499596C (en) Instant messaging object store
US7010144B1 (en) Associating data with images in imaging systems
JP2005527881A (en) System and method for delivering media to a number of different client devices based on their capabilities
AU2001277080A1 (en) Method and system for sharing images using a digital media frame
AU2001277956A1 (en) Method and system for accessing a service available on a second network by a member of a first network
JP2001523421A (en) Electronic communication system for electronic messages
JP2003271602A (en) Image management system
ES2361822T3 (en) SYSTEM AND PROCEDURE TO PROVIDE ACCESS TO PHOTOGRAPHIC IMAGES AND ITS CHARACTERISTICS FOR MULTIPLE DIFFERENT CUSTOMER DEVICES.
JP3462145B2 (en) Image server
US20170289630A1 (en) Image management device
KR20020095756A (en) Memory management method for mobile communication device
JPH11328075A (en) Internet terminal equipment
Dunckley et al. Oracle 10g developing media rich applications
JP2004128649A (en) Portable information processor, computer systems, and their processing methods
EP1632861A1 (en) User terminal, server, and data providing method
JP2004140590A (en) Method, system and program for compositing image
JP2003248612A (en) Outline image file and image processing device
JP2004194096A (en) Moving picture distribution system, moving picture distribution device, and moving picture reproducing device