BRIEF DESCRIPTION OF THE DRAWINGS
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as the preferred mode of use, and further objects and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawing(s), wherein:
FIG. 1 is block diagram of an image/video encoding and decoding system in accordance with certain embodiments of the invention.
FIG. 2 is block diagram of an image/video encoder in accordance with certain embodiments of the invention.
FIG. 3 is block diagram of an image/video decoder in accordance with certain embodiments of the invention.
FIG. 4 is a flow chart of a method for image/video encoding in accordance with certain embodiments of the invention.
DETAILED DESCRIPTION
While this invention is susceptible of embodiment in many different forms, there is shown in the drawings and will herein be described in detail one or more specific embodiments, with the understanding that the present disclosure is to be considered as exemplary of the principles of the invention and not intended to limit the invention to the specific embodiments shown and described. In the description below, like reference numerals are used to describe the same, similar or corresponding parts in the several views of the drawings.
FIG. 1 is block diagram of an image/video encoding and decoding system in accordance with certain embodiments of the invention. Referring to FIG. 1, the system 100 includes an image/video source 102, such as a camera or digital storage device that provides a data stream 104 of raw or uncompressed data. The data stream 104 is input to encoder 200. The encoder 200 compresses (encodes) the data stream to produce an encoded data stream 106. The encoded data stream is a compressed digital representation of the original image. The aim of the compression is to reduce the amount of data used to describe the image or sequence of images. The encoded data stream 106 may be stored for future display or transmitted over a communication link using a storage or transmission device 108. After being stored or transmitted, the encoded data stream 106 is input to a decoder 300. The decoder 300 decompresses (decodes) the encoded data stream 106 to recover a decoded data stream 110 that approximates the original data stream 104. The quality of the decoded image or sequence of images is determined by how closely the decoded data stream 110 matches the original data stream 104. The decoded image may be displayed on a display 112.
FIG. 2 is block diagram of an image/video encoder 200 in accordance with certain embodiments of the invention. The image/video encoder 200 receives a data stream 104 corresponding to an image or a sequence of images. The data stream 104 describing an original image is passed to a model estimation module 202 that analyzes the image to determine model parameters 204 for a specified model. For a face model, for example, the model parameters may include the size, position and orientation of the face, the positions of the eyes, nose and mouth, etc. From these model parameters 204, a rendering module 206 produces a synthetic image 208. The synthetic image 208 is an approximation of the original, uncompressed, image. The operation of the rendering module is specified, so that the image rendered from a particular set of model parameters is determined uniquely. The difference 212 between the synthetic image 208 and the original image 104 is computed in subtraction module 210. The difference may be calculated on a pixel-by-pixel basis.
The model parameters 204 are also input to a model compression module 214 where they are compressed using known techniques, to form compressed model parameters 216. In one embodiment of the invention, no parameter compression is performed, so the compressed model parameters are the model parameters themselves.
The difference image 212 is input to an image/video compression module 218. Various image/video compression modules, such as those described above, are well known to those of ordinary skill in the art. Other image/video compression modules may be used without departing from the present invention. Video compression may use information from previous images in the sequence of images (inter-frame information). A compressed difference image 220 is output from the image/video compression module 218. Generally, the difference image 212 contains substantially fewer components at high spatial frequencies than the original image and has a lower dynamic range. Thus, the difference image 212 can be compressed more efficiently than the original image.
Finally, the compressed model parameters 216 and the compressed difference image 220 are multiplexed together in multiplexer 222 to form the final compressed data stream 106.
The use of a model provides increased compression ratios, while the use of a difference image provides for more natural (higher quality) decompressed images.
FIG. 3 is block diagram of an image/video decoder 300 in accordance with certain embodiments of the invention. Referring to FIG. 3, the compressed data stream 106 is input to a de-multiplexer 302 that splits the data stream into compressed model parameters 304 and compressed difference image parameters 306. The compressed model parameters 304 are passed to a model decompression module 308 that recovers the model parameters 310. The module parameters 312 are used by rendering module 312 to generate a synthetic image 314. The operation of the rendering module 312 is the same as that of the rendering module 206 of the encoder.
The compressed difference image parameters 306 are input to image/video decompression module 316 that recovers a difference image 318.
The difference image 318 and the synthetic image 314 are added in adder 320 to produce an estimate 110 of the original image.
FIG. 4 is a flow chart of a method for image/video encoding in accordance with certain embodiments of the invention. Following start block 402, an encoder receives an image or a sequence of images and estimates model parameters at block 404. From these model parameters, a synthetic image is rendered at block 406. The synthetic image is an approximation of the original, uncompressed, image. The operation of the rendering module is specified, so that the image rendered from a particular set of model parameters is determined uniquely. At block 408 the difference between the synthetic image and the original image is computed by subtracting the rendered image from the original image (or vice versa). The model parameters are compressed at block 410, using known techniques, to form compressed model parameters. The difference image is compressed at block 412. Various image/video compression modules, such as those described above, are well known to those of ordinary skill in the art. Video compression may use information from previous images in the sequence of images (inter-frame information). At block 414 the compressed model parameters and the compressed difference image are multiplexed together to form the final compressed digital representation of the image.
Image/video coding and decoding has application in many areas, including video telephones, mobile telephones, video/still cameras and video transmission over networks.
The encoder and/or decoder may be implemented using general or special purpose hardware and/or dedicated processors, such as general purpose computers, microprocessor based computers, digital signal processors, microcontrollers, dedicated processors, custom circuits, ASICS and/or dedicated hard wired logic.
The encoder and/or decoder may be implemented in software as a sequence of programming steps to be executed on a processor. The software may be recorded on computer readable media such as, for example, disc storage, Read Only Memory (ROM) devices, Random Access Memory (RAM) devices, optical storage elements, magnetic storage elements, magneto-optical storage elements, flash memory and/or other equivalent storage technologies without departing from the present invention. Such alternative storage devices should be considered equivalents.
While the invention has been described in conjunction with specific embodiments, it is evident that many alternatives, modifications, permutations and variations will become apparent to those of ordinary skill in the art in light of the foregoing description. Accordingly, it is intended that the present invention embrace all such alternatives, modifications and variations as fall within the scope of the appended claims.