Referring initially to
Additionally, the user computer 12 can include a local internal or external data store 22 such as but not limited to hard disk drive, optical disk drive, alone or in combination with solid state memory, etc. Digital photographs may be stored in the local data store 22. Also, the computer 12 may be engageable with a removable memory 24 such as but not limited a Sony Memory Stick® that may also bear digital photographs taken by a camera 26 with which the removable memory 24 can be engaged. A user computer processor 28 can execute logic stored in local memory to execute various steps described further below.
The camera 26 typically stores a digital photograph in file form, appending metadata to the file known as “Exchangeable Image File” (EXIF) data. In one non-limiting implementation, the EXIF data may include but may not be limited to file name, camera model name, shooting date/time, shooting mode, photo effect, shutter speed, aperture value, light metering, exposure compensation, ISO speed, lens type, focal length, whether zoom was used, IS mode, image size, image quality, and whether a flash was used and if so what type. Additional metadata that can be appended to a photo file either by the camera 26 or by the processor 28 can include the file size.
Completing the description of
Now turning to
The do loop proceeds to block 42 to obtain metadata of the file. In one non-limiting implementation, the data obtained is file name, file size, and other (or all of the above) EXIF data. In a particularly preferred implementation the file name, size, and other EXIF data are hashed.
Decision diamond 44 indicates that the metadata obtained at block 42 is compared to metadata in a table that is accessible to the processor 28 and that contains metadata of photo files that have already been stored on the local data store 22. When a hash is used, the table stores hash values, and at decision diamond 44 the processor 28 simply compares the hash obtained at block 42 with the values in the hash table. If no match is found, at block 46 the hash that was obtained at block 42 is added to the table and the photograph file is stored on the local data store 22. On the other hand, if the metadata of the photo file under test matches data in the table (e.g., if the hash from block 42 matches a hash in the table), the process flows from decision diamond 44 to block 48 wherein the photo file is not stored and, if desired, a message is returned to the user to the effect that “this photograph has already been stored.” Further, if desired the process can erase redundant photo files from the removable memory 24.
While the particular SYSTEM AND METHOD FOR AUTOMATIC DETECTION OF DUPLICATE DIGITAL PHOTOS is herein shown and described in detail, it is to be understood that the subject matter which is encompassed by the present invention is limited only by the claims.