Digital image storage method

Abstract

A method of storing a digital image file, includes the steps of: storing a header defined by a standard; storing image data encoded according to the standard after the header; and storing an image tail containing non-standard meta-data at the end of the image data.

Claims

1. A method of detecting the existence of an image tail in an image data description having a header defined by a standard, image data encoded according to the standard after the header, and an image tail containing non-standard meta-data at the end of the image data, comprising the steps of: a) detecting the end of the image data; b) detecting an end of file; and c) comparing the location of the end of the meta data to the location of the end of the file to determine the existence of the image tail when the end of file occurs after the end of the image data. 2. The method of claim 1 , wherein the non-standard meta-data relates to the image content or the image capture, storage, transmission, processing, organization, display and printing conditions of a digital image contained in the digital image data. 3. The method claimed in claim 1 , wherein the image tail is digital audio data. 4. The method of claim 1 , wherein standard is selected from the group comprising JPEG, GIF, BMP, DIB, EXIF, PCD and TIFF. 5. The method of claim 3 wherein the digital audio data is in a format selected from the group comprising audio CD format, Microsoft wave format, MPEG audio format, Apple/SGI aiff format, and Sun/NeXT audio format. 6. The method of claim 3 wherein the digital audio data is data representing speech annotation, music, background sound, radio broadcasting or other audio content related to the image content or events of when, where, who. 7. The method of claim 1 wherein the image tail is data relating to a newer standard which can be used to make the newer standard backward compatible with the standard. 8. The method of claim 7 , wherein said newer standard is a digital audio description in EXIF, and said standard is selected from the group comprising JPEG, GIF, and BMP. 9. The method claimed in claim 1 , wherein the end of the image data is determined by a marker. 10. The method claimed in claim 1 , wherein the end of the image data is determined by size information of the image data in the image header. 11. The method claimed in claim 1 , wherein the image tail is image color space compression residue. 12. The method of claim 1 wherein said end of said image data has an end marker defined by said standard. 13. The method of claim 1 wherein said end of said image data is specified in said header. 14. The method of claim 1 wherein said end of said image data is specified by a starting address and size in said header. 15. A digital image decoding system, comprising: a standard image decoder for decoding a standard image header and image data encoded according to the standard; an image tail decoder for decoding an image tail having non-standard meta-data and occurring after the image data; and a detector detecting an end of the image data and an end of said image tail and responsive to said detecting, comparing locations of said ends to determine the existence of said image tail when said ends are separated. 16. The system claimed in claim 15 , wherein the image tail is digital audio data. 17. The system claimed in claim 15 , wherein the image tail is image data compression residue. 18. The system of claim 15 wherein said end of said image data is defined by the standard. 19. The system of claim 18 wherein said end of said image tail is an end of file.
FIELD OF THE INVENTION The invention relates generally to the field of digital image storage and more particularly to the representation and description used to store digital image data. BACKGROUND OF THE INVENTION There are a number of standardized descriptions for digital image data such as JPEG, GIF, BMP, EXIF, PCD, TIFF, etc. Every standard digital file format specifies a set of standard descriptions, such as image width, height, bits per pixel, number of layers, etc. A specific decoder is needed to decode image data that is encoded in each standard description. A standard specifies a set of standard descriptions such that all parties speak the same language and can communicate with each other. However, there is always a tradeoff between the standard complexity and the descriptive power of the standard. A simple standard such as PGM may only specify the image dimension and the magic number (a number of bytes indicating a PGM format), enough for decoding the raw data. While other standards, such as JPEG2000, may specify far more complicated descriptions and description schemes to enable more functionality. In practice, to limit the complexity of an image decoder, a standard with a limited number of descriptors is preferred. Any image descriptors outside the scope of a digital image standard are called non-standard descriptions. It is not possible to describe an image for every foreseeable task by only using a standard description. For example, many standard image file formats do not specify if there are human faces in the image. This data may be useful for some applications. For another example, the date and time information is part of the standard image header of a TIFF image, but it is a non-standard description for a BMP image. Also digital audio can be embedded as standard description in EXIF image files, but it is non-standard for JPEG, GIF, TIFF, BMP, etc. It will be appreciated that non-standard descriptions can be very helpful for many task-dependent and user-dependent applications. There has been great effort on standardizing image description. The goal is to come up with a set of standard descriptions for a still image so that the image is exchangeable across a variety of media and systems. JPEG and EXIF are the typical examples. New file formats are invented to accommodate more standard descriptions in image headers, such as the metadata encoded by XML in EXIF. The prior art fails to address how to use both standard and non-standard descriptions in a self-contained digital file for complete and enhanced image description and still make the non-standard descriptions compatible with the widely adopted standard image decoders. There is a need therefore for an improved image description method that can use both standard and non-standard descriptions in a self-contained digital file for complete and enhanced image description and still make the non-standard descriptions compatible with the widely adopted standard image decoders. SUMMARY OF THE INVENTION The need is met according to the present invention by providing a method of storing a digital image file that includes the steps of: storing a header defined by a standard; storing image data encoded according to the standard after the header; and storing an image tail containing non-standard meta-data at the end of the image data. ADVANTAGES The present invention has the following advantages. It provides self-contained extra description, called an image tail, after the image header and body. It is compatible with most of the widely adopted image file formats and decoders, as they will ignore the image tail, not reading or interpreting it. Therefore, there is no need of modification on the current imaging systems. The data contained within the image tail can be extracted by enhanced decoders, which are aware of the extra information embedded at the end of an image file and know how to interpret it. The image tail can be used to hold non-standard, optional and application-/user-dependent image description. The image tail can be used to build better imaging systems, from image taking, processing, rendering, description, management, organization to photo finishing. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram showing an image description including an image tail according to the present invention; and FIG. 2 is a block diagram of an enhanced image decoding system capable of decoding a non-standard description from an image tail according to the present invention. DETAILED DESCRIPTION OF THE INVENTION In the following description, a preferred embodiment of the present invention will be described in terms that would ordinarily be implemented as a software program. Those skilled in the art will readily recognize that the equivalent of such software may also be constructed in hardware. Because image manipulation algorithms and systems are well known, the present description will be directed in particular to algorithms and systems forming part of, or cooperating more directly with, the system and method in accordance with the present invention. Other aspects of such algorithms and systems, and hardware and/or software for producing and otherwise processing the image signals involved therewith, not specifically shown or described herein, may be selected from such systems, algorithms, components and elements known in the art. Given the system as described according to the invention in the following materials, software not specifically shown, suggested or described herein that is useful for implementation of the invention is conventional and within the ordinary skill in such arts. Still further, as used herein, the computer program may be stored in a computer readable storage medium, which may comprise, for example; magnetic storage media such as a magnetic disk (such as a hard drive or a floppy disk) or magnetic tape; optical storage media such as an optical disc, optical tape, or machine readable bar code; solid state electronic storage devices such as random access memory (RAM), or read only memory (ROM); or any other physical device or medium employed to store a computer program. As shown in FIG. 1 , an image description 10 according to the present invention includes an image header 12 and image data 14 as are known in a standard digital image representation. Image data 14 may be represented as raw or compressed data depending on the standard. The image header 12 , located at the beginning of the image data 14 indicates how to interpret the image data 14 . The image header 12 normally includes descriptions of image format, size, colormap, coding scheme, or other metadata. A standard decoder can read the image header 12 , extract the metadata from the header and decode the image data 14 accordingly, regardless of the image source and the implementation of the encoder. According to the present invention, extra information called an image tail 16 which contains non-standard meta-data is included in the image description 10 after the image data 14 . The image tail 16 can include any non-standard, optional and application-/user-dependent description, such as digital audio or image data compression residue, can be put in image tail 16 . The existence of an image tail 16 in the image description is compatible with most standard image file formats. When an image tail is embedded at the end of a standard image file, most of the popular image decoders will ignore the extra bits in the image tail, not reading or interpreting them. Many image formats have markers indicating the beginning and end of an image file. For example, a JPEG standard image starts with 0×FFD8 and ends with 0×FFD9. Any data after the end marker will be ignored. Similarly an EXIF standard image uses 0×FFE0 and 0×FFEF as the start and end markers, and any data after the end marker is ignored. Some image formats, such as BMP, specifies the starting address and the size of the image data. The standard decoders can stop reading as soon as the whole image data is read in and decoded, or can read the data in the image tail without any attempt to interpret it. Therefore most current standard imaging encoder/decoders are completely unaffected by the addition of an image tail. The additional information will not cause the image decoders to crash. Examples of standard decoders that are not affected by attaching an image tail include JPEG and GIF, the most popular image file formats used on the Internet. The image encoders/decoders contained in application programs such as ImageMagick, XV3.10, Adobe Photoshop and Paint Shop Pro 3.12-32 that are not affected by the existence of an image tail include: * BMP Microsoft Windows bitmap image file; * DIB Microsoft Windows bitmap image file; * EXIF Exchangeable Image File; * GIF CompuServe graphics interchange format; 8-bit color (including 87a); * JPEG Joint Photographic Experts Group JFIF format; * PCD Photo CD; and * TIFF Tagged Image File Format. Referring to FIG. 2 , an image description 10 having an image tail 16 according to the present invention can be decoded using either a standard image decoder 18 to produce image data and a standard description 19 , the image tail being ignored by the standard image decoder 18 . Alternatively, the image description 10 can be decoded using an enhanced decoder 20 that includes a standard image decoder 18 to produce the image data and standard description 19 , and an image tail decoder 22 to produce a non-standard meta-data 24 from the image tail 16 . Image tail decoder 22 can be, for example an audio or image data compression residue decoder. To detect the existence of a tail, such as digital audio or compression residue in the image description, the end of image data and end-of-file (EOF) are checked to see whether they are the same address or not. The end of image data is detected by a special marker/tag like 0×FFD9 in JPEG file, or by using metadata in the header 12 , such as image and colormap size, in a BMP file to compute the end of the image data. When a file stream comes to the end of a file, an end-of-file (EOF) is returned. If the end of image data appears before the EOF, we know that there is an image tail, such as a digital audio or compression residue data. Some standards also have extra space in the image header 12 . This extra space can also be used to set a flag or marker to indicate the existence of image tail. The image tail decoder 22 can check to see if this flag has been set to determine if an image tail is present in the image description. After locating the starting address of the image tail, the image tail decoder 22 decodes the image tail 16 . A lot of useful information, such as digital audio and image data compression residue can be embedded in an image tail and used for enhanced image description. The enhanced decoder 20 looks for information beyond the image header and image data, and interprets as much as possible from the image tail. To insure that the image tail decoder doesn't crash the system, whenever it fails to interpret a block of data, it ignores that block of data and moves on to the other parts of the image tail. In one embodiment of the present invention, the image tail contains digital audio data. Examples of digital audio data in an image tail can be speech annotation, background sound, music, radio broadcasting, or other audio signals associated with the image data. Speech annotations associated with an image might be captured with a digital camera, and may be conveniently stored in the same image file as non-standard descriptions of an event, such as who, when, where, etc. The audio data can be stored in any standardized audio format, such as Microsoft wave file, MPEG audio (mp3), Sun/NeXT au file, Apple/SGI aiff file, voc file etc. The image tail decoder, would therefore be a standard decoder for decoding the standard audio format. According to an alternative embodiment of the invention, the image tail contains image data compression data. The compression residue in the image tail can be used to improve image quality. Any differences between the original image and the compressed image can be stored there. It can be used to improve color gamut, quantization precision, pixel layers, etc. Users can easily decode the compressed data first, then extract the compression residue with some extra effort, all from a single image file. An image tail can also contain image color space compression residuals such as those described in commonly assigned U.S. Pat. No. 6,282,311, issued Aug. 28, 2001 to McCarthy et al. When an image tail contains such image color space residual information, conversion back to an original extended gamut color space, such as CIELAB, from a reduced gamut color space, such as video RGB, is possible using the information contained within the single enhanced image description shown in FIG. 1 . An image tail can also contain a description of a different file format. Using this data, digital audio and image data compression residue in an image tail can be used to make image files backward compatible by embedding a standard descriptions of the latest image file format (such as EXIF) in another relatively older image file format (such as JPEG and GIF). In other words, the standard description for one format can be non-standard data in another format. To make a newer format backward compatible with an older format, the description of the new format can be included as an image tail in an older format. For example, the standard description in the header of EXIF can be embedded in the image tail of JPEG or GIF as a non-standard description, which greatly enhances its description power. Digital audio or image data compression residue in an image tail can grow or be truncated depending on the applications. An application can choose to extract and truncate the digital audio or compression residue in image tail, therefore cut down the file size, or choose to embed more audio scripts in image tail. One possible data structure for an image tail is as follows: 1) The beginning and the end of image tail are specified by special markers (e.g. Oxabcd, Oxdcba). 2) The data inside image tail is divided into packets. 3) The first packet serves as the table of contents and is specified in XML syntax. The first line specifies the magic words, type and versions of the required parser, followed by the size, the addresses of the beginning and end of image tail, etc. 4) The rest of packets are self-contained with a header, data area and footer. A packet starts with a header, which specifies how to interpret the following data (text, binary, public, audio, video, segmentation map, thumbnail, hyperlink, programs, etc), followed by the data itself, and optionally ended by a footer with special markers. The packets can have fixed or variable sizes. For example, an audio clip can be fit into an audio packet and stored as wave format. 5) The end packet should address the links with image header, image data and/or other parts of the image file. The invention has been described in detail with particular reference to certain preferred embodiments thereof, but it will be understood that variations and modifications can be effected within the spirit and scope of the invention. Parts List 10 image description 12 image header 14 image data 16 image tail 18 standard image decoder 19 image data and standard description 20 enhanced image decoder 22 image tail decoder 24 non-standard meta data

Description

Topics

Download Full PDF Version (Non-Commercial Use)

Patent Citations (24)

    Publication numberPublication dateAssigneeTitle
    EP-0577327-A1January 05, 1994AT&T Corp.Efficient frequency scalable video encoding with coefficient selection
    US-3686641-AAugust 22, 1972Burroughs CorpMultiprogram digital processing system with interprogram communication
    US-4779265-AOctober 18, 1988Bell Communications Research, Inc.Multiple access communication system
    US-5659726-AAugust 19, 1997Sandford, Ii; Maxwell T., Handel; Theodore G.Data embedding
    US-5734119-AMarch 31, 1998Invision Interactive, Inc.Method for streaming transmission of compressed music
    US-5764987-AJune 09, 1998Apple Computer, Inc.Relocatable file format and method and apparatus for creating and loading same
    US-5784631-AJuly 21, 1998Discovision AssociatesHuffman decoder
    US-5799111-AAugust 25, 1998D.V.P. Technologies, Ltd.Apparatus and methods for smoothing images
    US-5805914-ASeptember 08, 1998Discovision AssociatesData pipeline system and data encoding method
    US-5875249-AFebruary 23, 1999International Business Machines CorporationInvisible image watermark for image verification
    US-5881301-AMarch 09, 1999Discovision AssociatesInverse modeller
    US-5915027-AJune 22, 1999Nec Research Institute, Nec CorporationDigital watermarking
    US-6006231-ADecember 21, 1999Warp 10 Technologies Inc.File format for an image including multiple versions of an image, and related system and method
    US-6016491-AJanuary 18, 2000International Business Machines CorporationGeneric file format for multiple security requirements
    US-6021250-AFebruary 01, 2000Sharp Kabushiki KaishaCoded data control device
    US-6037984-AMarch 14, 2000Sarnoff CorporationMethod and apparatus for embedding a watermark into a digital image or image sequence
    US-6072586-AJune 06, 2000Eastman Kodak CompanyComputer program product for storing preselected zoom and crop data
    US-6104826-AAugust 15, 2000Fujitsu LimitedMethod of watermark-embedding/extracting identification information into/from picture data and apparatus thereof, and computer readable medium
    US-6128736-AOctober 03, 2000Signafy, Inc.Method for inserting a watermark signal into data
    US-6282311-B1August 28, 2001Eastman Kodak CompanyUsing a residual image to represent an extended color gamut digital image
    US-6330666-B1December 11, 2001Discovision AssociatesMultistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto
    US-6574742-B1June 03, 2003Insite One, LlcMethod for storing and accessing digital medical images
    US-6809836-B1October 26, 2004Canon Kabushiki KaishaImage communication apparatus and its control method
    US-6816616-B2November 09, 2004Webex Communications, Inc.Header compression for image data stream

NO-Patent Citations (1)

    Title
    Cox et al., "An Efficient Adaptive Circular Viterbi Algorithm for Decoding Generalized Tailbiting Convolutional Codes", IEEE, vol. 43 No. 1, Feb. 1994, pps. 57-68.

Cited By (41)

    Publication numberPublication dateAssigneeTitle
    CN-104517257-AApril 15, 2015上海中移通信技术工程有限公司Method for manufacturing and verifying anti-counterfeiting digital certificate
    CN-104517257-BNovember 14, 2017上海中移通信技术工程有限公司用于制作和验证防伪的数字凭证的方法
    EP-2770719-A2August 27, 2014Samsung Electronics Co., Ltd.Verfahren zur Erzeugung einer Verbunddatei und Datenspeicherungsvorrichtung mit Verbunddatei
    US-2004267819-A1December 30, 2004Mitsutoshi Shinkai, Yoshiaki ShibataInformation processing apparatus and method, program, and recording medium
    US-2006092294-A1May 04, 2006Lg Electronics Inc.Mobile terminal and operating method thereof
    US-2006212794-A1September 21, 2006Microsoft CorporationMethod and system for creating a computer-readable image file having an annotation embedded therein
    US-2006239590-A1October 26, 2006Microsoft CorporationImage frame abstraction model for image codecs
    US-2008130987-A1June 05, 2008Microsoft CorporationColor Management of RAW Content from Digital Capture Devices
    US-2008151284-A1June 26, 2008Xerox CorporationPS to PDF conversion with embedded job ticketing preservation
    US-2008158369-A1July 03, 2008Fujifilm CorporationImage generating apparatus and image regenerating apparatus
    US-2008306971-A1December 11, 2008Motorola, Inc.Method and apparatus to bind media with metadata using standard metadata headers
    US-2009041428-A1February 12, 2009Jacoby Keith A, Honsinger Chris W, Murray Thomas J, Nelson John VRecording audio metadata for captured images
    US-2009150147-A1June 11, 2009Jacoby Keith A, Murray Thomas J, Nelson John V, Gobeyn Kevin MRecording audio metadata for stored images
    US-2011064312-A1March 17, 2011Janky James M, Mccusker Michael V, Longaker Harlod L, France Peter GImage-based georeferencing
    US-2011141231-A1June 16, 2011Fujifilm CorporationImage generating apparatus and image regenerating apparatus
    US-2011235923-A1September 29, 2011Weisenburger Shawn D, France Peter G, Janky James MAccurate digitization of a georeferenced image
    US-2014241647-A1August 28, 2014Samsung Electronics Co., Ltd.Method of creating compound file and data storage device having the compound file
    US-7672542-B2March 02, 2010Microsoft CorporationImage frame abstraction model for image codecs
    US-7747558-B2June 29, 2010Motorola, Inc.Method and apparatus to bind media with metadata using standard metadata headers
    US-7920176-B2April 05, 2011Fujifilm CorporationImage generating apparatus and image regenerating apparatus
    US-7986350-B2July 26, 2011Lg Electronics Inc.Mobile terminal and operating method thereof
    US-8046341-B2October 25, 2011Sony CorporationInformation processing apparatus for reproducing metadata and method, program, and recording medium
    US-8384802-B2February 26, 2013Fujifilm CorporationImage generating apparatus and image regenerating apparatus
    US-8385588-B2February 26, 2013Eastman Kodak CompanyRecording audio metadata for stored images
    US-8638375-B2January 28, 2014Trimble Navigation LimitedRecording data with an integrated field-portable device
    US-8671741-B2March 18, 2014Trimble Navigation LimitedExtendable moisture content sensing system
    US-8693764-B2April 08, 2014Olympus CorporationImage file processing apparatus which generates an image file to include stereo image data and collateral data related to the stereo image data, and information related to an image size of the stereo image data, and corresponding image file processing method
    US-8731836-B2May 20, 2014Trimble Navigation LimitedWide-area agricultural monitoring and prediction
    US-8768667-B2July 01, 2014Trimble Navigation LimitedWater erosion management incorporating topography, soil type, and weather statistics
    US-8823970-B2September 02, 2014Xerox CorporationPS to PDF conversion with embedded job ticketing preservation
    US-8855937-B2October 07, 2014Trimble Navigation LimitedCrop characteristic estimation
    US-8897541-B2November 25, 2014Trimble Navigation LimitedAccurate digitization of a georeferenced image
    US-8942483-B2January 27, 2015Trimble Navigation LimitedImage-based georeferencing
    US-8989502-B2March 24, 2015Trimble Navigation LimitedImage-based georeferencing
    US-9042657-B2May 26, 2015Trimble Navigation LimitedImage-based georeferencing
    US-9058633-B2June 16, 2015Trimble Navigation LimitedWide-area agricultural monitoring and prediction
    US-9213905-B2December 15, 2015Trimble Navigation LimitedAutomatic obstacle location mapping
    US-9324003-B2April 26, 2016Trimble Navigation LimitedLocation of image capture device and object features in a captured image
    US-9471986-B2October 18, 2016Trimble Navigation LimitedImage-based georeferencing
    US-9514392-B2December 06, 2016Samsung Electronics Co., Ltd.Method of creating compound file and data storage device having the compound file
    US-9846848-B2December 19, 2017Trimble Inc.Exchanging water allocation credits