1. FIELD OF THE INVENTION
The present invention relates to terminal devices. In particular, the present invention relates to a novel and improved method, system, computer programs, mobile terminal and storage system for synchronization of media items stored in the mobile terminal and the storage system.
2. DESCRIPTION OF THE RELATED ART
Mobile devices, e.g. mobile phones, have become versatile and offer much more functionalities in addition to the conventional communication purpose.
A mobile device may be able to record digital pictures, sound clips, video clips etc. that are stored on the mobile device. Often digital pictures, sound clips or video clips comprise also metadata connected to each media item. A digital camera typically stores metadata relating to each digital picture. In such a case metadata contains e.g. the model of the camera, date, shutter speed, aperture value etc.
Metadata may also help a user to locate the media item but may also be important as such. It helps to recall e.g. the following aspects:
Metadata information in one device can be managed and there exists solutions for this, such as different media management applications (e.g. Adobe Album). People may, however, want to use different devices, perhaps to carry the media items with them for sharing, and at the same time, for example, keep one version e.g. on a personal computer on which it is easy to store the media items.
Metadata is usually valuable for a user and means of inputting metadata (e.g. annotating and assigning categories) to the images and other media items is a significant investment of time for the enduser. Sometimes it is possible that when users input (metadata) information into some application tool, the input metadata information may not be available in a future time when the same software and hardware is no longer used. In other words, manual input of metadata information is an investment of an end-user time that has to be maximally leveraged for his or her convenience.
Some of the metadata can be embedded in the media items (e.g. Exchangeable Image File Format (EXIF), Digital Imaging Group DIG35 information). However, not all metadata is relevant to specific media items, but rather describes collections of media items, or even relations between metadata (e.g. a hierarchical categorization schemes). These types of metadata are difficult to embedded in individual media items in usable way.
At present, most of the mobile device, e.g. a digital camera or a mobile phone comprising a camera, owners are using a personal computer for longer term storing of their media items, e.g. image files. However, the memory capacity of the mobile devices is increasing rapidly and the amount of images taken is growing all the time. Already with several hundred images manual organization and transferring the images between different devices becomes rather inconvenient.
There is an obvious need for a messaging solution that would solve the aforementioned drawbacks.
The invention discloses a solution for synchronization of media items between a mobile terminal and another terminal device. The terminal device may be another mobile terminal, a computer etc. Particularly, the invention provides a way to synchronize media item databases of two devices, and use media item metadata to automatically organize media items in both ends. A media item refers e.g. to a digital picture, a sound clip, a video clip etc.
According to one aspect of the invention there is provided a method for management of media items stored in a mobile terminal and a storage system. The method comprises storing metadata about each media item on the mobile terminal and the storage system, transmitting metadata of media items between the mobile terminal and the storage system, and synchronizing media items in the mobile terminal and storage system based on the metadata transmitted between the mobile terminal and the storage system.
Metadata refers e.g. to information that provides further information about a media item. In other words, in the invention the metadata structure (and metadata associations to media items) in the mobile terminal is updated automatically based on the categorization work a user does in the storage system in assigning files to folders. Correspondingly, media items are rearranged in the storage system based on new metadata assignments in the mobile terminal.
In one embodiment of the invention, the method further comprises categorizing media items in the storage system and updating metadata of the categorized media items in the storage system based on the categorization of the media items.
In one embodiment of the invention, the method further comprises receiving metadata of at least one media item from the mobile terminal, determining, based on the received metadata of the at least one media item, that the storage system comprises at least one media item that does not exist in the mobile terminal, transmitting metadata of the at least one media item and the at least one media item to the mobile terminal and updating a categorization scheme of media items in the mobile terminal based on the metadata of the at least one media item.
In one embodiment of the invention, the method further comprises receiving metadata of at least one media item from the mobile terminal, determining, based on the received metadata of the at least one media item, that a particular media item does not exist in the storage system, requesting the media item from the mobile terminal, and categorizing the media item in the storage system based on the received metadata of the media item.
In one embodiment of the invention, the method further comprises receiving metadata of at least one media item from the mobile terminal, determining, based on the received metadata of the at least one media item, that a particular media item exists in the storage system and that a timestamp in the metadata of the media item received from the mobile terminal is newer than a timestamp of the media item in the storage system, updating the metadata of the media item in the storage system with the metadata received from the mobile terminal, and categorizing the media item in the storage system based on the updated metadata of the media item.
Metadata of a media item may comprise more than one timestamp. For example, metadata may comprise a plurality of metadata fields, each of which having a timestamp of its own. Furthermore, a media item (e.g. a picture) itself may have a timestamp (e.g. including time and date) indicating e.g. a creation or modifying moment of the media item.
In one embodiment of the invention, the method further comprises receiving metadata of at least one media item from the mobile terminal, determining, based on the received metadata of the at least one media item, that a particular media item exists in the storage system and that a timestamp in the metadata of the media item received from the mobile terminal is older than a timestamp of the media item in the storage system, transmitting the metadata of the media item in the storage system from the storage system to the mobile terminal, and categorizing the media item in the mobile terminal based on the received metadata of the media item.
In one embodiment of the invention, the method further comprises creating at least one index file in the storage system, an index file describing at least some of the media items in the storage system and metadata associated with the media items.
In one embodiment of the invention, the method further comprises creating at least a main index file in the storage system, the main index file describing all media items in the storage system and metadata associated with the media items.
In one embodiment of the invention, the method further comprises deleting a media item in the mobile terminal or storage system, updating metadata in the mobile terminal or storage system to include a piece of information that the media item has been deleted and in the synchronization phase, not synchronizing media items that have been deleted in the mobile terminal or storage system.
In one embodiment of the invention, the method further comprises deleting a media item in the mobile terminal or storage system, updating metadata in the mobile terminal or storage system to include a piece of information that the media item has been deleted and in the synchronization phase, deleting the media item also in the other end based on the updated metadata.
In one embodiment of the invention, metadata of a media item comprises at least one of the following: location information, at least one timestamp, user-specified categories, comments, storing location, media item status and a unique identifier.
According to another aspect of the invention there is provided a computer program for management of media items in a mobile terminal, wherein the computer program comprises code adapted to perform the following steps when executed on a data-processing device:
storing metadata about each media item in the mobile terminal, the metadata comprising additional information about each media item, at least one of receiving from a storage system and transmitting to a storage system at least one of media items and metadata of media items, and categorizing media items in the mobile terminal based on the received metadata of the at least one media item.
According to another aspect of the invention there is provided a computer program for management of media items in storage system, wherein the computer program comprises code adapted to perform the following steps when executed on a data-processing device: storing metadata about each media item in the storage system, the metadata comprising additional information about each media item, at least one of receiving from a mobile terminal and transmitting to a mobile terminal at least one of media items and metadata of media items, and categorizing the media items in the storage system based on the received metadata of the media items.
According to another aspect of the invention there is provided a mobile terminal for management of media items. The mobile terminal comprises a memory configured to store at least one media item and metadata about each media item, the metadata comprising additional information each media item, a transmitter configured to transmit at least one of media items and metadata of media items to a storage system, a receiver configured to receive at least one of media items and metadata of media items from the storage system, and categorizing means configured to categorize media items in the mobile terminal based on the received metadata of the at least one media item.
In one embodiment of the invention, the receiver is configured to receive a request for at least one media item, and the transmitter is configured to send the requested at least one media item to the storage system.
According to another aspect of the invention there is provided a storage system for management of media items. The storage system comprises a memory configured to store at least one media item and metadata about each media item on the storage system, the metadata comprising additional information about each media item, a receiver configured to receive from a mobile terminal at least one of media items and metadata of media items, a transmitter configured to transmit at least one of media items and metadata of media items to the mobile terminal, and categorizing means configured to categorize media items based on the received metadata of the media items.
In one embodiment of the invention, the categorizing means are configured to categorize media items in the storage system, and the storage system further comprises updating means configured to update metadata of the categorized media items based on the categorization of the media items.
In one embodiment of the invention, the receiver is configured to receive metadata of at least one media item from the mobile terminal, the storage system further comprises determining means configured to determine, based on the received metadata of media items, that a particular media item does not exist in the storage system, the transmitter is configured to request the media item from the mobile terminal, and the categorizing means are configured to categorize the media item based on the received metadata of the media item.
In one embodiment of the invention, the receiver is configured to receive metadata of at least one media item from the mobile terminal, the storage system further comprises determining means configured to determine, based on the metadata of the at least one media item, that a particular media item exists in the storage system and that a timestamp in the metadata of the media item received from the mobile terminal is newer than a timestamp of the media item in the storage system; the storage system further comprises updating means configured to update the metadata of the media item in the storage system with the metadata received from the mobile terminal, and the categorizing means are configured to categorize the media item in the storage system based on the updated metadata of the media item.
In one embodiment of the invention, the receiver is configured to receive metadata of at least one media item from the mobile terminal, the storage system further comprises determining means configured to determine, based on the received metadata of media items, that a particular media item exists in the storage system and that a timestamp in the metadata of the media item received from the mobile terminal is older than a timestamp of the media item in the storage system, and the transmitter is configured to transmit the metadata of the media item in the storage system to the mobile terminal.
In one embodiment of the invention, the storage system further comprises creating means configured to create a new directory in the memory based on the metadata received from the mobile terminal.
In one embodiment of the invention, the storage system further comprises creating means configured to create at least one index file in the storage system, an index file describing at least some of the media items in the storage system and metadata associated with the media items.
In one embodiment of the invention, the creating means are configured to create at least a main index file in the storage system, the main index file describing all media items in the storage system and metadata associated with the media items.
According to another aspect of the invention there is provided a system for management of media items, comprising a mobile terminal comprising a first memory configured to store at least one media item and metadata about each media item, the metadata comprising additional information each media item, a first transmitter configured to transmit at least one of media items and metadata of media items to a storage system, a first receiver configured to receive at least one of media items and metadata of media items from the storage system, and first categorizing means configured to categorize media items in the mobile terminal based on the received metadata of the at least one media item, and a storage system comprising second a memory configured to store at least one media item and metadata about each media item on the storage system, the metadata comprising additional information about each media item, a second receiver configured to receive from a mobile terminal at least one of media items and metadata of media items, a second transmitter configured to transmit at least one of media items and metadata of media items to the mobile terminal, and second categorizing means configured to categorize media items based on the received metadata of the media items.
As for further characteristics of the invention, reference in made to the claims.
The invention has several advantages over the prior-art solutions. The invention provides a simple solution to synchronize media item databases of two devices, and use media item metadata to automatically organize media items in both ends.
The accompanying drawings, which are included to provide a further understanding of the invention and constitute a part of this specification, illustrate embodiments of the invention and together with the description help to explain the principles of the invention. In the drawings:
Reference will now be made in detail to the embodiments of the present invention, examples of which are illustrated in the accompanying drawings.
a and 2b disclose one embodiment for synchronizing a mobile terminal and a computer according to the invention. This embodiment uses a digital picture as an example of a media item.
The mobile terminal comprises a camera application that is able to save metadata to a database, e.g. a Structured Query Language (SQL) database, along with taken images. The metadata may include one or more of the following pieces of information: location information (based on e.g. cell identifiers, location area codes and country codes)), timestamps (date and time of a media item), permanent storing location, user-specified categories, caption, comments, media item status and a unique 32-bit identifier for every snapped image.
Furthermore, the mobile terminal comprises an image management application that is able to leverage the use of image metadata in its features in querying and organizing images. Using the image management application, it is possible to group images by location, assign named locations to certain cell identifiers and location area codes, create and assign collections for images and search images with specific metadata information.
In order to synchronize a mobile terminal and a computer the mobile terminal and the computer comprise a synchronization application. In this embodiment, the synchronization application in the mobile terminal acts as a synchronization client and it utilizes Bluetooth communication protocol for sending and receiving images and metadata to/from the computer. The synchronization client is e.g. a Symbian application. The synchronization application in the computer acts as a synchronization server that has to be started before synchronization can occur.
In synchronization, the Bluetooth communication protocol is used with RFCOMM serial port profile to transfer images and metadata between the mobile terminal and the computer. The synchronization client establishes the connection with the computer to a certain serial port that is emulated by the RFCOMM protocol. The synchronization server in the computer listens the serial port and receiver/sends synchronization data.
A user of the mobile terminal starts the synchronization client in the terminal and selects the Bluetooth device to synchronize with, step 20. In this embodiment, this device is a computer. The synchronization client application detects that the synchronization server application is running in the computer. When the user starts the synchronization server application in the computer he/she also selects the synchronization folder that is used to store images. Changes in media items, e.g. images, in the storage system are preferably recognized before the synchronization starts.
Before the actual synchronization procedure starts, databases in the both ends are queried through and checked that the images actually exist, and a piece of information may be added to metadata if a media item has been deleted from the according database.
In one embodiment a media item has been deleted in the mobile terminal or storage system. The mobile terminal or storage system may comprise an index file that includes information, e.g. metadata, of media items. When a media item is deleted, metadata of the deleted media item is not deleted. The metadata is updated so that it indicates that the media item has been deleted (media item status). This piece of information can be used in the synchronization procedure. In the synchronization procedure media item status information may be utilized, and if the status information indicates that a media item has been deleted in one end, the media item is deleted also in the other end. Alternatively, in the synchronization procedure a media item is not to be synchronized if media item the status information indicates that the media item has been deleted earlier.
In addition, in the computer all images in the synchronization folder or in any subfolders under that are added to the database if they are not already included there. A 32-bit random identifier and a checksum from image pixels are generated for every image to be stored in the database. Using the checksum, it is possible to check whether the user has moved an image from one folder to another, and just update metadata information instead of adding the image to the database with a new unique identifier that would mess up the synchronization.
When adding images to the database or updating metadata information in the computer the name of the lowest subfolder of the image is saved to a collection field of the image metadata so that the image management application in the mobile terminal is able to use the metadata in the grouping of images in the mobile terminal. The term collection refers to a categorization scheme that is used in the mobile terminal. A collection may be regarded equal with a folder in the computer.
The image management application queries metadata of all images from the database in the mobile terminal, step 22. The metadata of each image is formulated to a separate string and the strings are sent to the computer, step 26.
When the synchronization application server in the computer receives the metadata strings from the mobile terminal it first checks the 32-bit unique identifier of the incoming image metadata, step 28. The identifier is queried from the database in the computer, step 200. In this embodiment, there are three possible results for query:
Furthermore, metadata of a media item may comprise more than one timestamp. For example, metadata may comprise a plurality of metadata fields, each of which having a timestamp of its own. Furthermore, a media item (e.g. a picture) itself may have a timestamp (e.g. including time and date) indicating e.g. a creation or modifying moment of the media item.
When the synchronization server application in the computer has received all the metadata from the mobile terminal (step 216) it queries metadata of all the identifiers that was not received from the mobile terminal from the database, step 220. The synchronization server application queries from the database also metadata that has newer timestamps in the computer. The queried metadata is sent to the mobile terminal in the same way as the mobile terminal sent metadata to the computer. The computer sends to the mobile terminal also image files that do not exist in the mobile terminal, steps 222 and 224.
If the image size is above a specified resolution (e.g. 640×480) in the computer application (or any specified resolution in the PC application) the image may be scaled down for sending to save memory space in the mobile terminal and for speeding up the transfer, steps 222 and 226.
In one embodiment of
Currently collections are synchronized to folders and vice versa. However, it is also possible to utilize location and time based metadata information when automatically organizing images in the computer. All users may not use collections in the mobile terminal and they want subfolders to be created according to locations and dates during the synchronization. Furthermore, images that are assigned to collections are typically placed in proper subfolders in the computer, and other images are placed at the main level in synchronization directory.
A mobile terminal 418 is e.g. a mobile phone, digital camera or Personal Digital Assistant (PDA). A storage system 420 refers e.g. to a personal computer. Storage system 420 may also refer to another mobile terminal.
Mobile terminal 418 comprises a central processing unit 40 that is connected to a memory 48, a transmitter 42 and a receiver 44. Memory 48 comprises at least a synchronization application 400 and a database 402. Transmitter 42 and receiver 44 refer e.g. to a Bluetooth device that is able to send and receive metadata information and media items to/from storage system 420. Database 402 comprises stored metadata along with media items. The metadata may include at least one of the following pieces of information: location information (based e.g. on cell identifier, location area codes and country codes), timestamps (date and time of a media item), permanent storing location, user-specified categories, caption, comments, media item status and a unique 32-bit identifier for every media item.
Mobile terminal 418 further comprises categorizing means 400 configured to categorize media items based on received metadata from storage system 420.
In one embodiment receiver 44 is configured to receive a request for at least one media item from storage system 420 and transmitter 42 is configured to send the requested at least one media item to storage system 420.
Storage system 420 comprises a central processing unit 404 that is connected to a memory 412, a transmitter 406 and a receiver 408. Memory 412 comprises at least a synchronization application 412 and a database 416. Transmitter 406 and receiver 408 refer e.g. to a Bluetooth device that is able to send and receive data metadata information and/or media items to/from mobile terminal 418. Database 416 comprises stored metadata along with media items. The metadata may include one or more of the following pieces of information: location information (based e.g. on cell identifier, location area codes and country codes), timestamps (date and time of a media item), permanent storing location, user-specified categories, caption, comments, media item status and a unique 32-bit identifier for every media item.
Storage system 420 further comprises categorizing means 414 configured to categorize media items based on the received metadata of media items from mobile terminal 418. In one embodiment, storage system 420 further comprises updating means 414 configured to update metadata of categorized media items based on the categorization of the media items.
In one embodiment receiver 408 is configured to receive metadata of at least one media item from mobile terminal 418. Storage system 420 further comprises determining means 414 configured to determine, based on the received metadata of media items, that a particular media item does not exist in storage system 420. Therefore, transmitter 406 is configured to request the media item from mobile terminal 148 and categorizing means 414 are configured to categorize the media item based on the received metadata of the media item.
In another embodiment receiver 408 is configured to receive metadata of at least one media item from mobile terminal 418. Storage system 420 further comprises determining means 414 configured to determine, based on the metadata of the at least one media item, that a particular media item exists in storage system 420 and that a timestamp in the metadata of the media item received from the mobile terminal is newer than a timestamp of the media item the storage system 420. Therefore, storage system 420 further comprises updating means 414 configured to update the metadata of the media item in storage system 420 with the metadata received from mobile terminal 418, and the categorizing means 414 are configured to categorize the media item in storage system 420 based on the updated metadata of the media item.
In another embodiment receiver 408 is configured to receive metadata of at least one media item from mobile terminal 418. Storage system 420 further comprises determining means 414 configured to determine, based on the received metadata of media items, that a particular media item exists in storage system 420 and that a timestamp in the metadata of the media item received from mobile terminal 418 is older than a timestamp of the media item in storage system 420. Transmitter 406 is configured to transmit the metadata of the media item in storage system 420 to mobile terminal 418.
In one embodiment storage system 420 further comprises creating means 414 configured to create a new directory in memory 412 based on-the metadata received from mobile terminal 418. Creating means 414 may be configured to create at least one index file in memory 412. An index file describes at least some of the media items in memory 412 and metadata associated with the media items. In another embodiment, creating means 414 may be configured to create at least a main index file in memory 412. The main index file describes all media items stored in memory 412 and metadata associated with the media items. The main index file may also include a piece of information that indicated whether a particular media item exists in the storage system or it has been deleted. In other words, although the actual media item may not be stored any more in the storage system, the corresponding metadata may still be preserved with the exception that the media item is marked as deleted.
Memories 48 and 412 may refer to a single memory or memory area or to a plurality memories or memory areas that may include e.g. random access memories (RAM), read-only memories (ROM) etc. Memory 412 may also include other applications or software components that are not described in more detail and also may include the computer program (or portion thereof), which when executed on the CPU 40 or 404 performs at least some of the steps of the method steps of the invention. CPU 40 or 404 may also include memory or a memory may be associated therewith which may include the computer program (or portion thereof) which when executed on CPU 40 or 404 performs at least some of the method steps of the invention.
It is obvious to a person skilled in the art that with the advancement of technology, the basic idea of the invention may be implemented in various ways. The invention and its embodiments are thus not limited to the examples described above, instead they may vary within the scope of the claims.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/FI04/00323 | May 2004 | US |
Child | 11604343 | Nov 2006 | US |