US7006701B2 - Sequential digital image compression - Google Patents

Sequential digital image compression Download PDF

Info

Publication number
US7006701B2
US7006701B2 US10/267,705 US26770502A US7006701B2 US 7006701 B2 US7006701 B2 US 7006701B2 US 26770502 A US26770502 A US 26770502A US 7006701 B2 US7006701 B2 US 7006701B2
Authority
US
United States
Prior art keywords
image
subsequent
images
sequence
reference image
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.)
Active, expires
Application number
US10/267,705
Other versions
US20040071353A1 (en
Inventor
Victor Emmanuel Stephanus van Dijk
Francesco Pessolano
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.)
Uniloc 2017 LLC
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Assigned to KONINKLIJKE PHILIPS ELECTRONCS N.V. reassignment KONINKLIJKE PHILIPS ELECTRONCS N.V. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DIJK, VICTOR EMMANUEL STEPHANUS VAN, PESSOLANO, FRANCESCO
Priority to US10/267,705 priority Critical patent/US7006701B2/en
Priority to JP2004542705A priority patent/JP2006502645A/en
Priority to KR1020057006079A priority patent/KR20050057632A/en
Priority to PCT/IB2003/004168 priority patent/WO2004034709A1/en
Priority to EP03807915A priority patent/EP1552705A1/en
Priority to AU2003260912A priority patent/AU2003260912A1/en
Priority to CNA03823954XA priority patent/CN1689337A/en
Publication of US20040071353A1 publication Critical patent/US20040071353A1/en
Publication of US7006701B2 publication Critical patent/US7006701B2/en
Application granted granted Critical
Assigned to IPG ELECTRONICS 503 LIMITED reassignment IPG ELECTRONICS 503 LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KONINKLIJKE PHILIPS ELECTRONICS N.V.
Assigned to PENDRAGON WIRELESS LLC reassignment PENDRAGON WIRELESS LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: IPG ELECTRONICS 503 LIMITED
Assigned to UNILOC LUXEMBOURG S.A. reassignment UNILOC LUXEMBOURG S.A. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PENDRAGON WIRELESS LLC
Assigned to UNILOC 2017 LLC reassignment UNILOC 2017 LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: UNILOC LUXEMBOURG S.A.
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/507Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction using conditional replenishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence

Definitions

  • the invention relates to an apparatus and method for compressing a sequence of digital images. It finds particular application in conjunction with compressing the sequence of digital images, such as from a surveillance camera or other video stream in which all or a portion of the images remain relatively static and will be described with particular reference thereto. However, it is to be appreciated that the invention is also amenable to other applications.
  • a video image when digitized, requires a large amount of storage.
  • a plurality of video images (as used hereinafter: “a video scene”), such as a movie, requires hundreds of megabytes or even gigabytes of storage, if not compressed.
  • One prior art method is to derive a parameter by principal component analysis for all the images of the video scene. An image value based upon the parameter chosen by principal component analysis is determined for each of the video images. The resultant storage requirement, for one parameter, is one image full of component values for that parameter (N values for an image with N pixels) and one image value associated with each video image. If more than one parameter is derived for the video images, the total amount of storage required is multiplied correspondingly.
  • Surveillance cameras often run at a slow frame rate. At regular video rates, e.g., thirty images per second, a two hour video has over 200,000 video images and uses about 50 gigabyte of storage.
  • the principal component analysis method for one parameter, derives N parameter component values for each image.
  • Another method of compression of the prior art is to choose initial images as a reference frame. Subsequent images are compared to the reference frame, and only the differences or changes are stored. Thus, complete data is stored for each reference frame, but the changes are stored for subsequent images.
  • the reference frames are chosen based upon every nth frame.
  • the choice of the reference frame is not optimized.
  • U.S. Pat. No. 6,009,204 to Ahmad discloses a method of compressing a plurality of video images for storing, displaying and searching the plurality of video images.
  • a video image characterized by a plurality of pixels, is compressed by deriving at least one parameter based upon principal component analysis.
  • An image value for each video image is then determined for the one parameter.
  • the image value associated with each video image is compared to an image value associated with another video image to determine a difference. When the difference between image values of compared video images is below a threshold, one of them is discarded.
  • the remaining video images are then stored.
  • this method of compression it becomes possible to search a video database to find a match between an inquiring video scene with a video database made up of a plurality of video scenes with each video scene having a plurality of video images.
  • Security cameras typically record incidents, e.g., a thief entering a shop, while non-relevant video images of the empty shop are discarded without being recorded. This reduces the storage requirement for image data at the loss of continuous recording.
  • a method of compressing a sequence of digital images is provided. At least a first portion of a reference image of the sequence of digital images is compared to at least a corresponding first portion of a subsequent image of the sequence of digital images. In response to the first portions of the reference and subsequent images being the same within a predetermined threshold, 1) a count of a number of first portions discarded is incremented, 2) the first portion of the subsequent image is discarded, and 3) the comparing step is repeated with at least a corresponding first portion of a next subsequent image. In response to the first portion of the reference and subsequent images not being within the predetermined threshold, 1) the count initialized and 2) the comparing step is repeated using the first portion of the subsequent image as the reference image.
  • a digital image processing system for compressing a sequence of digital images.
  • the digital image processing system includes a means for comparing at least a first portion of a reference image of the sequence of digital images to at least a corresponding first portion of a subsequent image of the sequence of digital images; b) in response to the first portions of the reference and subsequent images being the same within a predetermined threshold, a means for: 1) incrementing a count of a number of first portions discarded, 2) discarding the first portion of the subsequent image, and 3) repeating step a) with at least a corresponding first portion of a next subsequent image; and c) in response to the first portion of the reference and subsequent images not being within the predetermined threshold, a means for: 1) initializing the count and 2) repeating step a) using the first portion of the subsequent image as the reference image.
  • the digital image processing system includes: a) a comparator for comparing at least a reference image portion of the sequence of digital images with corresponding subsequent image portions of the sequence of digital images; b) a counter which is incremented each time a subsequent image portion matches the reference image portion within a predetermined threshold, in response to a subsequent image portion not matching within the predetermined threshold, the non-matching subsequent response portion becoming the reference image portion and the counter being initialized; and c)a storage buffer which stores each reference and the count from the counter of a number of matching subsequent image portions following each reference image portion.
  • One advantage of the invention is that a sequence of digital images is compressed, particularly where content of the digital images is relatively static. For example, a sequence of digital video images from a surveillance camera or other video stream.
  • An additional advantage is the reduced storage requirements associated with storing the compressed sequence of digital images.
  • Another additional advantage is the reduced bandwidth requirements associated with communicating the compressed sequence of digital images.
  • Another additional advantage is that while playing back the compressed video stream, time information is preserved. In other words, the video stream looks “non-compressed” in time.
  • FIG. 1 is a block diagram of a digital image processing system with an embodiment of a compression engine for compressing a sequence of digital images.
  • FIGS. 2A , B and C are diagrams of sequences of digital images showing several embodiments for comparing reference images to subsequent images.
  • FIG. 3 is a flowchart of an embodiment of a method for compressing a sequence of digital images for storage by identifying images that are repeated within the overall sequence.
  • FIG. 4 is a flowchart of an embodiment of a method for compressing a sequence of digital images for communication by identifying images that are repeated within the overall sequence.
  • FIG. 5 is a flowchart of another embodiment of a method for compressing a sequence of digital images for storage by identifying images at a selected interval that are repeated within the overall sequence.
  • FIG. 6 is a flowchart of another embodiment of a method for compressing a sequence of digital images for communication by identifying images at a selected interval that are repeated within the overall sequence.
  • FIG. 7 is a flowchart of yet another embodiment of a method for compressing a sequence of digital images for storage by identifying images that are repeated within the overall sequence.
  • FIG. 8 is a flowchart of yet another embodiment of a method for compressing a sequence of digital images for communication by identifying images that are repeated within the overall sequence.
  • FIGS. 9A and 9B taken together, are a flowchart of an embodiment of a method for compressing a sequence of digital images for storage by identifying sequences of images that are repeated within the overall sequence.
  • FIGS. 10A and 10B taken together, are a flowchart of an embodiment of a method for compressing a sequence of digital images for storage by identifying portions of images that are repeated within the overall sequence.
  • a digital image processing system 10 includes a compression engine 12 , a digital image input device 14 , and a storage device 16 .
  • the system 10 includes an analogous decompression/replay device 18 in place of or in addition to the storage device 16 .
  • the compression engine 12 includes a comparator 20 , a counter 22 , and a storage buffer 24 .
  • the digital image input device 14 includes a digital video camera, a digital still camera, a digital video recorder, a video player with a digitized output signal, a digital image multiplexer, a digital video server, or any device capable of communicating a sequence of digital images.
  • the comparator 20 receives the sequence of digital video images 30 from the digital image input device 14 .
  • the comparator 20 identifies a first reference image 32 at the beginning of the sequence of images and compares subsequent images 34 to the first reference image. As shown, the comparator 20 compares the reference image 32 to the next 36 subsequent image. If the subsequent images are similar (i.e., within a predetermined threshold) to the reference, the subsequent images are discarded as the counter 22 counts the number of discarded images.
  • the comparator When the comparator identifies a subsequent image that is different (i.e., outside the predetermined threshold) from the reference image, the number of times that the counter associated a subsequent image with the reference image and the reference image are stored in the storage buffer 24 .
  • the subsequent different image becomes a second reference image and subsequent images are now compared to the second reference image. This process continues until the last image in the sequence of digital video images 30 is encountered.
  • the storage buffer 24 stores one or more reference images interspersed with the values from the counter associated with each reference image. After a sequence of digital images 30 is processed, the one or more stored reference images and counter values are appended to form a compressed image file representing a compressed version of the sequence of digital images received from the digital image input device 14 . When a given image compression process is complete, the storage buffer 24 transfers the compressed image file to the storage device 16 .
  • the storage device 16 may include a digital video server, a hard disk drive, a memory storage area, a device with a portable magnetic or optical storage medium, or any device capable of storing the compressed image file.
  • the decompression/replay device 18 includes a decompression engine, a digital video player associated with a display or monitor, a digital video switch or router and one or more such digital video players, or any device capable of receiving a compressed image file, decompressing the file, and displaying the sequence of digital images 30 .
  • the decompression engine includes a counter which causes each reference image to be displayed in accordance with the corresponding stored count. In this way the compressed video stream is event triggered (i.e., containing reference images that are not similar), while in replay the video is restructured according to its original time domain (i.e., making it look like real-time video).
  • the decompression/replay device 18 retrieves each reference image and corresponding counter value directly from the storage buffer 24 during the compression process.
  • the decompression/replay device 18 is typically used to monitor the sequence of digital images 30 in real-time, subject to the inherent delays established by the equipment used and the compression process itself. Once compressed, each reference image is displayed for a time related to the associated counter value in the same manner as described above.
  • the second reference image and associated counter value should be available. This may lead to another embodiment in which a delay is established for releasing data from the storage buffer 24 to the decompression/replay device 18 . This essentially establishes a reference image queue to ensure a continuous display is achieved on the decompression/replay device 18 .
  • a maximum counter value, associated with the delay is also established. This causes subsequent images that are similar to the reference image to be cut off at a certain predetermined point associated with the delay. The next digital image, even when it is similar to the previous reference image, becomes the next reference image and, otherwise, the compression process continues in the same manner as described above.
  • the comparator 20 identifies the first reference image 38 and skips a predetermined amount of images (e.g., one) 40 before comparing the subsequent images 42 . This embodiment is described further in reference to FIGS. 5 and 6 .
  • the comparator 20 identifies the first sequence of reference images 44 , having a predetermined amount of consecutive images (e.g., a first reference image 46 and a second reference image 48 ). Next the comparator 20 compares the first sequence of reference images 44 to subsequent sets of images 50 (e.g., a first subsequent image 52 and a second subsequent image 54 ). The first reference image 46 is compared 56 to the first subsequent image 52 and the second reference image 48 is compared 58 to the second subsequent image 54 . This embodiment is described further in reference to FIGS. 9A and 9B .
  • a method 100 for compressing a sequence of digital images begins at a step 102 in which a plurality (N) of digital images are received.
  • the plurality of digital images are arranged in a sequence in which the digital images may be numbered from 1 to N beginning with the first digital image.
  • a reference image parameter is set to 1.
  • a next image parameter is set to 2 and a repetition counter parameter is set to 1, respectively.
  • the reference image and next image parameters contain values that point to a like-numbered image in the 1 through N sequence of images.
  • the repetition counter parameter contains a value associated with a quantity of times that a reference image is repeated in subsequent images of the overall sequence.
  • the next image is compared to the reference image. Then, a determination is made as to whether the next image is similar to the reference image in a step 112 based on a predetermined threshold. If the next image is similar to the reference image, a check is made to determine if the next image is equal to N (i.e., the next image is the last image in the overall sequence) in a step 114 . If there are more images to process, in a step 116 , the next image and repetition counter parameters are incremented by 1 and the process returns to the step 110 for another comparison. This loop continues comparing subsequent images to the reference image until the next image is not similar to the reference image or until the next image is the last image.
  • a step 118 stores the digital image associated with the reference image parameter and the value in the repetition counter, for example, in a storage buffer.
  • the reference image parameter is set to the current value in the next image parameter (step 120 ) and the next image parameter is incremented by 1 (step 122 ).
  • the process returns to the step 108 to reset the repetition counter parameter to 1 and begin the comparison loop for the new reference image.
  • a step 124 stores the digital image associated with the reference image parameter and the value in the repetition counter, for example, in the storage buffer.
  • the stored reference images and associated repetition counter values are appended and stored in a compressed image file, for example, in the storage buffer, on disc, on video tape, or the like.
  • the method is at its end (step 128 ).
  • the method returns to the step 110 rather than the step 108 .
  • the repetition counter is not reset to 1.
  • the repetition counter effectively becomes a digital image counter that tracks the number of the digital image being compared from 2 through N. Accordingly, the repetition counter values associated with reference images identify the last image associated with the reference image. Therefore, in order to identify the number of repetitions for a given reference image, a decompression/replay device subtracts the repetition counter value for the previous reference image plus 1 from the counter value for the given reference image.
  • the reference image parameter value may also be saved along with the digital image and the repetition counter value. In this variation of the alternative embodiment, to identify the number of repetitions for a given reference image, a decompression/replay device subtracts the reference image parameter value from the repetition counter value.
  • a method 150 for compressing a sequence of digital images performs steps 102 through 116 in the same manner as described above for method 100 of FIG. 3 .
  • the basic difference in the embodiment being described is that the reference image and associated counter value are communicated to a device for monitoring instead of being stored.
  • the method continues to a step 168 where the digital image associated with the reference image parameter and the value in the repetition counter are communicated, for example, to a decompression/replay device.
  • the steps 120 and 122 are performed in the same manner as described above for method 100 of FIG. 3 .
  • step 174 the digital image associated with the reference image parameter and the value in the repetition counter are communicated, for example, to the decompression/replay device. At this point, the method is at its end (step 178 ).
  • FIG. 5 another embodiment of a method 200 for compressing a sequence of digital images performs the steps 102 through 128 are generally in the same manner as described above for method 100 of FIG. 3 .
  • the basic difference in the embodiment being described is that the comparison loop of the method is incremented by two images instead of being incremented by one image.
  • next image parameter is initially set to 3 rather than to 2.
  • repetition counter parameter is initially set to 2 rather than to 1.
  • next image and repetition counter parameters are incremented by 2 rather than by 1.
  • next image parameter is incremented by 2 rather than by 1.
  • the comparison loop can by incremented by any number (I) rather than by 2.
  • the repetition counter parameter is initially set to I rather than to 2 and the next image parameter is initially set to I+1 rather than to 3.
  • the next image and repetition counter parameters are incremented, they are incremented by I rather than by 2.
  • FIG. 6 another embodiment of a method 250 for compressing a sequence of digital images performs steps 102 , 104 , 110 – 114 , and 120 are performed in the same manner as described above for method 100 of FIG. 3 , and steps 206 , 208 , 216 , and 222 are performed in the same manner as described above for method 200 of FIG. 5 .
  • the basic difference between method 200 of FIG. 5 and the embodiment being described is that the reference image and associated counter value are communicated to a device for monitoring instead of being stored, as in the embodiment of FIG. 4 .
  • step 112 If the next image is not similar to the reference image in the step 112 , the method continues to a step 268 where the digital image associated with the reference image parameter and the value in the repetition counter are communicated, for example, to a decompression/replay device.
  • step 114 the method continues to a step 274 where the digital image associated with the reference image parameter and the value in the repetition counter are communicated, for example, to the decompression/replay device. At this point, the method is at its end (step 278 ).
  • yet another embodiment of a method 300 for compressing a sequence of digital images performs steps 102 , 104 , 110 – 114 , 118 , 122 , and 124 – 128 in the same manner as described above for method 100 of FIG. 3 , and performs steps 206 , 208 , and 216 in the same manner as described above for method 200 of FIG. 5 .
  • next reference image when a “next image” is not similar to a current reference image, the next reference image is set to an image between the current “next image” and the current reference image rather than being set to the current “next image.”
  • the comparison loop skips an image by using an increment of 2
  • the next reference image becomes the last image that was skipped (i.e., the image prior to the current “next image”).
  • the differences between method 200 of FIG. 5 and the embodiment being described are reflected in the steps 320 and 122 . More specifically, after the digital image associated with the reference image parameter and the value in the repetition counter are stored in the step, the reference image parameter is set to the current value in the next image parameter minus 1 (step 320 ). Then, the next image parameter is incremented by 1 (step 122 ) and the process returns to the step 208 .
  • step 320 is adapted to set the reference image parameter to the current value of the next image parameter minus I and plus A and 2) step 122 is adapted to increment the next image parameter by A.
  • A is an integer value less than I. Typically A is 1 to avoid skipping images between “next images” that are not both similar to the reference image. However, any value for A will skip less images when selecting subsequent reference images than method 200 of FIG. 5 .
  • yet another embodiment of a method 350 for compressing a sequence of digital images performs steps 102 , 104 , 110 – 114 , and 122 in the same manner as described above for method 100 of FIG. 3 , steps 206 , 208 , and 216 in the same manner as described above for method 200 of FIG. 5 , and step 320 in the same manner as described above for method 300 of FIG. 7 .
  • the basic difference between method 300 of FIG. 6 and the embodiment being described is that the reference image and associated counter value are communicated to a device for monitoring instead of being stored.
  • the method continues to a step 368 where the digital image associated with the reference image parameter and the value in the repetition counter are communicated, for example, to a decompression/replay device.
  • the step 320 is performed in the same manner as described above for method 300 of FIG. 7 and the step 122 is performed in the same manner as described above for method 100 of FIG. 3 .
  • step 114 the method continues to a step 374 where the digital image associated with the reference image parameter and the value in the repetition counter are communicated, for example, to the decompression/replay device. At this point, the method is at its end (step 378 ).
  • a method 400 for compressing a sequence of digital images for storage a plurality (N) of digital images are received at a step 402 .
  • the plurality of digital images are arranged in sequence in which the digital images ordered starting at 1.
  • reference image sequence parameters are set to 1 and 2.
  • next image sequence parameters are set to 3 and 4.
  • a repetition counter parameter is set to 1.
  • the reference image sequence and next image sequence parameters contain sets of values. Both sets contain the same quantity of values.
  • the values in each set are sequential and the values for the next image sequence parameters follow in sequence with the values for the reference image sequence parameters.
  • the values point to like-numbered images that are in the 1 through N sequence of images.
  • the repetition counter parameter contains a value associated with a quantity of times that the reference image sequence is repeated in subsequent like-sized sequences of images in the overall sequence.
  • the sequence of next images is compared to the sequence of reference images. Then, a determination is made as to whether the sequence of next images is similar to the sequence of reference images in a step 412 . The determination is based on a predetermined threshold. If the sequence of next images is similar within the threshold to the sequence of reference images, a check is made to determine if the next image sequence parameters include N (i.e., the last image in the next image sequence is the last image in the overall sequence) in a step 414 . If the next image sequence parameters do not include N, in a step 416 , the next image sequence parameters are incremented by 2 and repetition counter parameter is incremented by 1 and the process returns to the step 410 for another comparison. This loop continues comparing subsequent sequences of images to the sequence of reference images until the sequence of next images is not similar to the sequence of reference images or until one of the next images is the last image.
  • N i.e., the last image in the next image sequence is the last image in the overall sequence
  • the method continues to a step 418 where the digital images associated with the reference image sequence parameter and the value in the repetition counter are stored, for example, in a storage buffer.
  • the reference image sequence parameter are set to the current values in the next image sequence parameters (step 420 ) and the next image sequence parameters are incremented by 2 (step 422 ).
  • the process returns to the step 108 to reset the repetition counter parameter to 1 and begin the comparison loop for the new sequence of reference images.
  • next image sequence parameters include N in the step 414 , the method continues to a step 424 where the digital images associated with the reference image sequence parameter and the value in the repetition counter are stored, for example, in a storage buffer.
  • step 426 the sequences of stored reference images and associated repetition counter values are appended and stored in a compressed image file, for example, in the storage buffer.
  • the method is at its end (step 428 ).
  • S reference image sequence parameters there may be S reference image sequence parameters and S next image sequence parameters rather than just 2 parameters.
  • the variable S is an integer value greater than 1.
  • the image sequence parameters are incremented by S rather than by 2.
  • the value for S may be changed any time a new reference image sequence is selected.
  • a method 500 begins at a step 502 where a plurality (N) of digital images are received, each image having multiple (K) portions.
  • the plurality of digital images are arranged in a certain sequence in which the digital images may be numbered from 1 to N beginning with the first digital image.
  • Each digital image is divided into portions (e.g., halves, quarters, peripheral boarder/central field, etc.) in which regions that are less likely to change are segregated from regions that are more likely to change, e.g. sky along the top, grass along the bottom, the periphery around a performer at center stage, and the like.
  • the regions can be dynamically changed. Based on the comparing steps, regions with more or less motion can be identified and the regions changed as the motion shifts within the frame.
  • the image portion can be processed sequentially or concurrently.
  • reference image parameter is set to 1.
  • a next image parameter is set to 2 and a repetition counter parameter is set to 1, respectively.
  • the reference image and next image parameters contain values that point to a like-numbered image in the 1 through N sequence of images.
  • the repetition counter parameter contains a value associated with a quantity of times that a portion of a reference image is repeated in subsequent images of the overall sequence.
  • a first portion of the next image is compared to a corresponding first portion of the reference image. Then, a determination is made as to whether the first portion of the next image is similar to the first portion of the reference image in a step 512 . The determination is based on a predetermined threshold. If the first portion of the next image is similar to the reference image, a check is made to determine if the next image is equal to N (i.e., the next image is the last image in the overall sequence) in a step 514 . If the next image is not the last image, in a step 516 , the next image and repetition counter parameters are incremented by 1 and the process returns to the step 510 for another comparison. This loop continues comparing the first portions of subsequent images to the first portion of the reference image until the first portion of the next image is not similar to the first portion of the reference image or until the next image is the last image.
  • next image is not similar to the reference image in the step 512 , the method continues to a step 518 where the first portion of the digital image associated with the reference image parameter and the value in the repetition counter are stored, for example, in a storage buffer.
  • the reference image parameter is set to the current value in the next image parameter (step 520 ) and the next image parameter is incremented by 1 (step 522 ).
  • the process returns to the step 508 to reset the repetition counter parameter to 1 and begin the comparison loop for a first portion of the new reference image.
  • next image is equal to N in the step 514 , the method continues to a step 524 where the first portion of the digital image associated with the reference image parameter and the value in the repetition counter are stored, for example, in the storage buffer.
  • a check is made to determine if the current portion being compared is equal to K (i.e., the current portion is the last portion to be compared). If the current portion is not equal to K, in a step 527 , the process is repeated using a next portion of the image in the steps 510 , 512 , 518 , and 524 by returning to the step 504 . This loop continues advancing through each portion of the image after each nested comparison loop is completed until the current portion is the last portion to be compared.
  • the stored reference image portions and associated repetition counter values are appended and stored in a compressed image file (step 526 ), for example, in the storage buffer. At this point, the method is at its end (step 528 ).
  • the method 500 operates on multiple portions of each image concurrently as if each image portion were a separate image. At least the steps 512 through 524 are performed in parallel for two or more of the K portions. After the step 524 is completed for each of the two or more K portions, step 525 performs as described above. In a minor adaptation to the embodiment being described, at least the steps 512 through 524 are performed in parallel for each of the K portions. In this adaptation, the steps 525 and 527 are not necessary and are removed from the process. It is to be appreciated that the various image portions select new reference frames independent of each other.
  • the method may return to the step 510 rather than step 508 .
  • the repetition counter is not reset to 1.
  • the repetition counter effectively becomes a digital image counter that tracks the number of the digital image being compared from 2 through N. Accordingly, the repetition counter values associated with reference images identify the last image associated with the reference image. Therefore, in order to identify the number of repetitions for a given reference image, a decompression/replay device subtracts the repetition counter value for the previous reference image plus 1 from the counter value for the given reference image.
  • the reference image parameter value may also be saved along with the digital image and the repetition counter value. In this variation of the alternative embodiment, to identify the number of repetitions for a given reference image, a decompression/replay device subtracts the reference image parameter value from the repetition counter value.
  • the comparison loop can by incremented by any number (I) rather than by 1.
  • the repetition counter parameter is initially set to I rather than to 1 and the next image parameter is initially set to I+1 rather than to 2.
  • the next image and repetition counter parameters are incremented by I rather than by 1.
  • step 520 is adapted to set the reference image parameter to the current value of the next image parameter minus I and plus A
  • step 522 is adapted to increment the next image parameter by A.
  • A is an integer value less than I. Typically A is 1 to avoid skipping images between “next images” that are not both similar to the reference image. However, any value for A will skip less images when selecting subsequent reference images than merely using the I increment between “next images.”

Abstract

A method for compressing a sequence of digital images includes: comparing a reference image of the sequence of digital images to a subsequent image of the sequence of digital images. In response to the reference and subsequent images being the same within a predetermined threshold, 1) a count of a number of images discarded is incremented, 2) the subsequent image is discarded, and 3) the comparing step is repeated with a next subsequent image. In response to the reference and subsequent images not being within the predetermined threshold, 1) the count is initialized and 2) the comparing step is repeated using the subsequent image as the reference image. Rather than comparing whole images corresponding portions of the images can be compared and compressed independently.

Description

BACKGROUND OF INVENTION
The invention relates to an apparatus and method for compressing a sequence of digital images. It finds particular application in conjunction with compressing the sequence of digital images, such as from a surveillance camera or other video stream in which all or a portion of the images remain relatively static and will be described with particular reference thereto. However, it is to be appreciated that the invention is also amenable to other applications.
As is well known in the prior art, a video image, when digitized, requires a large amount of storage. A plurality of video images (as used hereinafter: “a video scene”), such as a movie, requires hundreds of megabytes or even gigabytes of storage, if not compressed.
Various methods to compress a video scene are known in the prior art (e.g., MPEG1, MPEG2, etc). One prior art method is to derive a parameter by principal component analysis for all the images of the video scene. An image value based upon the parameter chosen by principal component analysis is determined for each of the video images. The resultant storage requirement, for one parameter, is one image full of component values for that parameter (N values for an image with N pixels) and one image value associated with each video image. If more than one parameter is derived for the video images, the total amount of storage required is multiplied correspondingly.
Surveillance cameras often run at a slow frame rate. At regular video rates, e.g., thirty images per second, a two hour video has over 200,000 video images and uses about 50 gigabyte of storage. The principal component analysis method, for one parameter, derives N parameter component values for each image.
Another method of compression of the prior art is to choose initial images as a reference frame. Subsequent images are compared to the reference frame, and only the differences or changes are stored. Thus, complete data is stored for each reference frame, but the changes are stored for subsequent images.
In such prior art method, the reference frames are chosen based upon every nth frame. Thus, the choice of the reference frame is not optimized.
U.S. Pat. No. 6,009,204 to Ahmad discloses a method of compressing a plurality of video images for storing, displaying and searching the plurality of video images. In the method, a video image, characterized by a plurality of pixels, is compressed by deriving at least one parameter based upon principal component analysis. An image value for each video image is then determined for the one parameter. The image value associated with each video image is compared to an image value associated with another video image to determine a difference. When the difference between image values of compared video images is below a threshold, one of them is discarded. The remaining video images are then stored. Using this method of compression, it becomes possible to search a video database to find a match between an inquiring video scene with a video database made up of a plurality of video scenes with each video scene having a plurality of video images.
Security cameras typically record incidents, e.g., a thief entering a shop, while non-relevant video images of the empty shop are discarded without being recorded. This reduces the storage requirement for image data at the loss of continuous recording.
As the use of video images to capture information becomes more prevalent and the continuous need for higher image quality leads to higher resolution and increased image parameters, it is increasingly advantageous to efficiently store and display a large plurality of video images, or the video scene with minimal storage space.
BRIEF SUMMARY OF INVENTION
In one aspect of the invention, a method of compressing a sequence of digital images is provided. At least a first portion of a reference image of the sequence of digital images is compared to at least a corresponding first portion of a subsequent image of the sequence of digital images. In response to the first portions of the reference and subsequent images being the same within a predetermined threshold, 1) a count of a number of first portions discarded is incremented, 2) the first portion of the subsequent image is discarded, and 3) the comparing step is repeated with at least a corresponding first portion of a next subsequent image. In response to the first portion of the reference and subsequent images not being within the predetermined threshold, 1) the count initialized and 2) the comparing step is repeated using the first portion of the subsequent image as the reference image.
In another aspect, a digital image processing system for compressing a sequence of digital images is provided. The digital image processing system includes a means for comparing at least a first portion of a reference image of the sequence of digital images to at least a corresponding first portion of a subsequent image of the sequence of digital images; b) in response to the first portions of the reference and subsequent images being the same within a predetermined threshold, a means for: 1) incrementing a count of a number of first portions discarded, 2) discarding the first portion of the subsequent image, and 3) repeating step a) with at least a corresponding first portion of a next subsequent image; and c) in response to the first portion of the reference and subsequent images not being within the predetermined threshold, a means for: 1) initializing the count and 2) repeating step a) using the first portion of the subsequent image as the reference image.
In another embodiment, the digital image processing system includes: a) a comparator for comparing at least a reference image portion of the sequence of digital images with corresponding subsequent image portions of the sequence of digital images; b) a counter which is incremented each time a subsequent image portion matches the reference image portion within a predetermined threshold, in response to a subsequent image portion not matching within the predetermined threshold, the non-matching subsequent response portion becoming the reference image portion and the counter being initialized; and c)a storage buffer which stores each reference and the count from the counter of a number of matching subsequent image portions following each reference image portion.
One advantage of the invention is that a sequence of digital images is compressed, particularly where content of the digital images is relatively static. For example, a sequence of digital video images from a surveillance camera or other video stream.
An additional advantage is the reduced storage requirements associated with storing the compressed sequence of digital images.
Another additional advantage is the reduced bandwidth requirements associated with communicating the compressed sequence of digital images.
Another additional advantage is that while playing back the compressed video stream, time information is preserved. In other words, the video stream looks “non-compressed” in time.
Other advantages will become apparent to those of ordinary skill in the art upon reading and understanding the following detailed description.
BRIEF DESCRIPTION OF DRAWINGS
The drawings are for purposes of illustrating exemplary embodiments of the invention and are not to be construed as limiting the invention to such embodiments. It is understood that the invention may take form in various components and arrangement of components and in various steps and arrangement of steps beyond those provided in the drawings and associated description. Within the drawings, like reference numerals denote like elements and similar reference numerals (e.g., 116, 216) denote similar elements.
FIG. 1 is a block diagram of a digital image processing system with an embodiment of a compression engine for compressing a sequence of digital images.
FIGS. 2A, B and C are diagrams of sequences of digital images showing several embodiments for comparing reference images to subsequent images.
FIG. 3 is a flowchart of an embodiment of a method for compressing a sequence of digital images for storage by identifying images that are repeated within the overall sequence.
FIG. 4 is a flowchart of an embodiment of a method for compressing a sequence of digital images for communication by identifying images that are repeated within the overall sequence.
FIG. 5 is a flowchart of another embodiment of a method for compressing a sequence of digital images for storage by identifying images at a selected interval that are repeated within the overall sequence.
FIG. 6 is a flowchart of another embodiment of a method for compressing a sequence of digital images for communication by identifying images at a selected interval that are repeated within the overall sequence.
FIG. 7 is a flowchart of yet another embodiment of a method for compressing a sequence of digital images for storage by identifying images that are repeated within the overall sequence.
FIG. 8 is a flowchart of yet another embodiment of a method for compressing a sequence of digital images for communication by identifying images that are repeated within the overall sequence.
FIGS. 9A and 9B, taken together, are a flowchart of an embodiment of a method for compressing a sequence of digital images for storage by identifying sequences of images that are repeated within the overall sequence.
FIGS. 10A and 10B, taken together, are a flowchart of an embodiment of a method for compressing a sequence of digital images for storage by identifying portions of images that are repeated within the overall sequence.
DETAILED DESCRIPTION
With reference to FIG. 1, a digital image processing system 10 includes a compression engine 12, a digital image input device 14, and a storage device 16. Preferably, the system 10 includes an analogous decompression/replay device 18 in place of or in addition to the storage device 16. Additionally, the compression engine 12 includes a comparator 20, a counter 22, and a storage buffer 24.
The digital image input device 14, for example, includes a digital video camera, a digital still camera, a digital video recorder, a video player with a digitized output signal, a digital image multiplexer, a digital video server, or any device capable of communicating a sequence of digital images.
With reference to FIGS. 1 and 2A–C, the comparator 20 receives the sequence of digital video images 30 from the digital image input device 14. In one embodiment (FIG. 2A), the comparator 20 identifies a first reference image 32 at the beginning of the sequence of images and compares subsequent images 34 to the first reference image. As shown, the comparator 20 compares the reference image 32 to the next 36 subsequent image. If the subsequent images are similar (i.e., within a predetermined threshold) to the reference, the subsequent images are discarded as the counter 22 counts the number of discarded images. When the comparator identifies a subsequent image that is different (i.e., outside the predetermined threshold) from the reference image, the number of times that the counter associated a subsequent image with the reference image and the reference image are stored in the storage buffer 24. The subsequent different image becomes a second reference image and subsequent images are now compared to the second reference image. This process continues until the last image in the sequence of digital video images 30 is encountered.
The storage buffer 24 stores one or more reference images interspersed with the values from the counter associated with each reference image. After a sequence of digital images 30 is processed, the one or more stored reference images and counter values are appended to form a compressed image file representing a compressed version of the sequence of digital images received from the digital image input device 14. When a given image compression process is complete, the storage buffer 24 transfers the compressed image file to the storage device 16. The storage device 16, for example, may include a digital video server, a hard disk drive, a memory storage area, a device with a portable magnetic or optical storage medium, or any device capable of storing the compressed image file.
From the storage device 16, the compressed image file is retrieved by a decompression/replay device 18. The decompression/replay device 18, for example, includes a decompression engine, a digital video player associated with a display or monitor, a digital video switch or router and one or more such digital video players, or any device capable of receiving a compressed image file, decompressing the file, and displaying the sequence of digital images 30. In one embodiment, the decompression engine includes a counter which causes each reference image to be displayed in accordance with the corresponding stored count. In this way the compressed video stream is event triggered (i.e., containing reference images that are not similar), while in replay the video is restructured according to its original time domain (i.e., making it look like real-time video).
In another embodiment, the decompression/replay device 18 retrieves each reference image and corresponding counter value directly from the storage buffer 24 during the compression process. In this embodiment, the decompression/replay device 18 is typically used to monitor the sequence of digital images 30 in real-time, subject to the inherent delays established by the equipment used and the compression process itself. Once compressed, each reference image is displayed for a time related to the associated counter value in the same manner as described above.
Since the compression process itself is sequential, when the first reference image display time expires, the second reference image and associated counter value should be available. This may lead to another embodiment in which a delay is established for releasing data from the storage buffer 24 to the decompression/replay device 18. This essentially establishes a reference image queue to ensure a continuous display is achieved on the decompression/replay device 18. Optionally, a maximum counter value, associated with the delay, is also established. This causes subsequent images that are similar to the reference image to be cut off at a certain predetermined point associated with the delay. The next digital image, even when it is similar to the previous reference image, becomes the next reference image and, otherwise, the compression process continues in the same manner as described above.
In another embodiment (FIG. 2B) of the digital image processing system 10, the comparator 20 identifies the first reference image 38 and skips a predetermined amount of images (e.g., one) 40 before comparing the subsequent images 42. This embodiment is described further in reference to FIGS. 5 and 6.
In still another embodiment (FIG. 2C) of the digital image processing system 10, the comparator 20 identifies the first sequence of reference images 44, having a predetermined amount of consecutive images (e.g., a first reference image 46 and a second reference image 48). Next the comparator 20 compares the first sequence of reference images 44 to subsequent sets of images 50 (e.g., a first subsequent image 52 and a second subsequent image 54). The first reference image 46 is compared 56 to the first subsequent image 52 and the second reference image 48 is compared 58 to the second subsequent image 54. This embodiment is described further in reference to FIGS. 9A and 9B.
With reference to FIG. 3, a method 100 for compressing a sequence of digital images begins at a step 102 in which a plurality (N) of digital images are received. The plurality of digital images are arranged in a sequence in which the digital images may be numbered from 1 to N beginning with the first digital image. In a step 104, a reference image parameter is set to 1. Similarly, in a step 106 and a step 108, a next image parameter is set to 2 and a repetition counter parameter is set to 1, respectively. The reference image and next image parameters contain values that point to a like-numbered image in the 1 through N sequence of images. The repetition counter parameter contains a value associated with a quantity of times that a reference image is repeated in subsequent images of the overall sequence.
At a step 110, the next image is compared to the reference image. Then, a determination is made as to whether the next image is similar to the reference image in a step 112 based on a predetermined threshold. If the next image is similar to the reference image, a check is made to determine if the next image is equal to N (i.e., the next image is the last image in the overall sequence) in a step 114. If there are more images to process, in a step 116, the next image and repetition counter parameters are incremented by 1 and the process returns to the step 110 for another comparison. This loop continues comparing subsequent images to the reference image until the next image is not similar to the reference image or until the next image is the last image.
If the next image is not similar to the reference image in the step 112, a step 118 stores the digital image associated with the reference image parameter and the value in the repetition counter, for example, in a storage buffer. The reference image parameter is set to the current value in the next image parameter (step 120) and the next image parameter is incremented by 1 (step 122). Next, the process returns to the step 108 to reset the repetition counter parameter to 1 and begin the comparison loop for the new reference image.
If the next image is equal to N the in the step 114, a step 124 stores the digital image associated with the reference image parameter and the value in the repetition counter, for example, in the storage buffer. Next, in a step 126, the stored reference images and associated repetition counter values are appended and stored in a compressed image file, for example, in the storage buffer, on disc, on video tape, or the like. At this point, the method is at its end (step 128).
In an alternate embodiment, after the step 122, the method returns to the step 110 rather than the step 108. In this alternate embodiment, the repetition counter is not reset to 1. Hence, the repetition counter effectively becomes a digital image counter that tracks the number of the digital image being compared from 2 through N. Accordingly, the repetition counter values associated with reference images identify the last image associated with the reference image. Therefore, in order to identify the number of repetitions for a given reference image, a decompression/replay device subtracts the repetition counter value for the previous reference image plus 1 from the counter value for the given reference image. In this alternative embodiment, the reference image parameter value may also be saved along with the digital image and the repetition counter value. In this variation of the alternative embodiment, to identify the number of repetitions for a given reference image, a decompression/replay device subtracts the reference image parameter value from the repetition counter value.
With reference to FIG. 4, a method 150 for compressing a sequence of digital images performs steps 102 through 116 in the same manner as described above for method 100 of FIG. 3. The basic difference in the embodiment being described is that the reference image and associated counter value are communicated to a device for monitoring instead of being stored.
More specifically, if the next image is not similar to the reference image in the step 112, the method continues to a step 168 where the digital image associated with the reference image parameter and the value in the repetition counter are communicated, for example, to a decompression/replay device. Next, the steps 120 and 122 are performed in the same manner as described above for method 100 of FIG. 3.
Additionally, if the next image is equal to N in the step 114, the method continues to a step 174 where the digital image associated with the reference image parameter and the value in the repetition counter are communicated, for example, to the decompression/replay device. At this point, the method is at its end (step 178).
With reference to FIG. 5, another embodiment of a method 200 for compressing a sequence of digital images performs the steps 102 through 128 are generally in the same manner as described above for method 100 of FIG. 3. The basic difference in the embodiment being described is that the comparison loop of the method is incremented by two images instead of being incremented by one image.
In a step 206, the next image parameter is initially set to 3 rather than to 2. In a step 208, the repetition counter parameter is initially set to 2 rather than to 1. In a step 216, the next image and repetition counter parameters are incremented by 2 rather than by 1. Similarly, in a step 222, the next image parameter is incremented by 2 rather than by 1.
In an additional alternative embodiment, the comparison loop can by incremented by any number (I) rather than by 2. In this alternative embodiment, the repetition counter parameter is initially set to I rather than to 2 and the next image parameter is initially set to I+1 rather than to 3. Of course, when the next image and repetition counter parameters are incremented, they are incremented by I rather than by 2.
With reference to FIG. 6, another embodiment of a method 250 for compressing a sequence of digital images performs steps 102, 104, 110114, and 120 are performed in the same manner as described above for method 100 of FIG. 3, and steps 206, 208, 216, and 222 are performed in the same manner as described above for method 200 of FIG. 5. The basic difference between method 200 of FIG. 5 and the embodiment being described is that the reference image and associated counter value are communicated to a device for monitoring instead of being stored, as in the embodiment of FIG. 4.
If the next image is not similar to the reference image in the step 112, the method continues to a step 268 where the digital image associated with the reference image parameter and the value in the repetition counter are communicated, for example, to a decompression/replay device.
Additionally, if the next image is equal to N in the step 114, the method continues to a step 274 where the digital image associated with the reference image parameter and the value in the repetition counter are communicated, for example, to the decompression/replay device. At this point, the method is at its end (step 278).
With reference to FIG. 7, yet another embodiment of a method 300 for compressing a sequence of digital images performs steps 102, 104, 110114, 118, 122, and 124128 in the same manner as described above for method 100 of FIG. 3, and performs steps 206, 208, and 216 in the same manner as described above for method 200 of FIG. 5. The basic difference between method 200 of FIG. 5 and the embodiment being described is that when a “next image” is not similar to a current reference image, the next reference image is set to an image between the current “next image” and the current reference image rather than being set to the current “next image.” In other words, while the comparison loop skips an image by using an increment of 2, when the “next image” compared is not similar to the reference image, the next reference image becomes the last image that was skipped (i.e., the image prior to the current “next image”).
The differences between method 200 of FIG. 5 and the embodiment being described are reflected in the steps 320 and 122. More specifically, after the digital image associated with the reference image parameter and the value in the repetition counter are stored in the step, the reference image parameter is set to the current value in the next image parameter minus 1 (step 320). Then, the next image parameter is incremented by 1 (step 122) and the process returns to the step 208.
For the alternative embodiment to method 200, where the comparison loop is incremented by any number (I): 1) step 320 is adapted to set the reference image parameter to the current value of the next image parameter minus I and plus A and 2) step 122 is adapted to increment the next image parameter by A. For this alternative embodiment, A is an integer value less than I. Typically A is 1 to avoid skipping images between “next images” that are not both similar to the reference image. However, any value for A will skip less images when selecting subsequent reference images than method 200 of FIG. 5.
With reference to FIG. 8, yet another embodiment of a method 350 for compressing a sequence of digital images performs steps 102, 104, 110114, and 122 in the same manner as described above for method 100 of FIG. 3, steps 206, 208, and 216 in the same manner as described above for method 200 of FIG. 5, and step 320 in the same manner as described above for method 300 of FIG. 7. The basic difference between method 300 of FIG. 6 and the embodiment being described is that the reference image and associated counter value are communicated to a device for monitoring instead of being stored.
If the next image is not similar to the reference image in the step 112, the method continues to a step 368 where the digital image associated with the reference image parameter and the value in the repetition counter are communicated, for example, to a decompression/replay device. Next, the step 320 is performed in the same manner as described above for method 300 of FIG. 7 and the step 122 is performed in the same manner as described above for method 100 of FIG. 3.
Additionally, if the next image is the last image, in the step 114, the method continues to a step 374 where the digital image associated with the reference image parameter and the value in the repetition counter are communicated, for example, to the decompression/replay device. At this point, the method is at its end (step 378).
With reference to FIGS. 9A and 9B, a method 400 for compressing a sequence of digital images for storage a plurality (N) of digital images are received at a step 402. The plurality of digital images are arranged in sequence in which the digital images ordered starting at 1. In a step 404, reference image sequence parameters are set to 1 and 2. Similarly, in a step 406, next image sequence parameters are set to 3 and 4. In a step 408, a repetition counter parameter is set to 1. The reference image sequence and next image sequence parameters contain sets of values. Both sets contain the same quantity of values. The values in each set are sequential and the values for the next image sequence parameters follow in sequence with the values for the reference image sequence parameters. The values point to like-numbered images that are in the 1 through N sequence of images. The repetition counter parameter contains a value associated with a quantity of times that the reference image sequence is repeated in subsequent like-sized sequences of images in the overall sequence.
At step 410, the sequence of next images is compared to the sequence of reference images. Then, a determination is made as to whether the sequence of next images is similar to the sequence of reference images in a step 412. The determination is based on a predetermined threshold. If the sequence of next images is similar within the threshold to the sequence of reference images, a check is made to determine if the next image sequence parameters include N (i.e., the last image in the next image sequence is the last image in the overall sequence) in a step 414. If the next image sequence parameters do not include N, in a step 416, the next image sequence parameters are incremented by 2 and repetition counter parameter is incremented by 1 and the process returns to the step 410 for another comparison. This loop continues comparing subsequent sequences of images to the sequence of reference images until the sequence of next images is not similar to the sequence of reference images or until one of the next images is the last image.
If the sequence of next images is not similar to the sequence of reference images in the step 412, the method continues to a step 418 where the digital images associated with the reference image sequence parameter and the value in the repetition counter are stored, for example, in a storage buffer. The reference image sequence parameter are set to the current values in the next image sequence parameters (step 420) and the next image sequence parameters are incremented by 2 (step 422). Next, the process returns to the step 108 to reset the repetition counter parameter to 1 and begin the comparison loop for the new sequence of reference images.
If the next image sequence parameters include N in the step 414, the method continues to a step 424 where the digital images associated with the reference image sequence parameter and the value in the repetition counter are stored, for example, in a storage buffer. Next, in a step 426, the sequences of stored reference images and associated repetition counter values are appended and stored in a compressed image file, for example, in the storage buffer. At this point, the method is at its end (step 428).
In an alternate embodiment, there may be S reference image sequence parameters and S next image sequence parameters rather than just 2 parameters. The variable S is an integer value greater than 1. In this alternate embodiment, the image sequence parameters are incremented by S rather than by 2. In further adaptations, the value for S may be changed any time a new reference image sequence is selected.
With reference to FIGS. 10A and 10B, a method 500 begins at a step 502 where a plurality (N) of digital images are received, each image having multiple (K) portions. The plurality of digital images are arranged in a certain sequence in which the digital images may be numbered from 1 to N beginning with the first digital image. Each digital image is divided into portions (e.g., halves, quarters, peripheral boarder/central field, etc.) in which regions that are less likely to change are segregated from regions that are more likely to change, e.g. sky along the top, grass along the bottom, the periphery around a performer at center stage, and the like. The regions can be dynamically changed. Based on the comparing steps, regions with more or less motion can be identified and the regions changed as the motion shifts within the frame. The image portion can be processed sequentially or concurrently.
In the sequential embodiment, in a step 504, reference image parameter is set to 1. Similar, in a step 506 and a step 508, a next image parameter is set to 2 and a repetition counter parameter is set to 1, respectively. The reference image and next image parameters contain values that point to a like-numbered image in the 1 through N sequence of images. The repetition counter parameter contains a value associated with a quantity of times that a portion of a reference image is repeated in subsequent images of the overall sequence.
At a step 510, a first portion of the next image is compared to a corresponding first portion of the reference image. Then, a determination is made as to whether the first portion of the next image is similar to the first portion of the reference image in a step 512. The determination is based on a predetermined threshold. If the first portion of the next image is similar to the reference image, a check is made to determine if the next image is equal to N (i.e., the next image is the last image in the overall sequence) in a step 514. If the next image is not the last image, in a step 516, the next image and repetition counter parameters are incremented by 1 and the process returns to the step 510 for another comparison. This loop continues comparing the first portions of subsequent images to the first portion of the reference image until the first portion of the next image is not similar to the first portion of the reference image or until the next image is the last image.
If the next image is not similar to the reference image in the step 512, the method continues to a step 518 where the first portion of the digital image associated with the reference image parameter and the value in the repetition counter are stored, for example, in a storage buffer. The reference image parameter is set to the current value in the next image parameter (step 520) and the next image parameter is incremented by 1 (step 522). Next, the process returns to the step 508 to reset the repetition counter parameter to 1 and begin the comparison loop for a first portion of the new reference image.
If the next image is equal to N in the step 514, the method continues to a step 524 where the first portion of the digital image associated with the reference image parameter and the value in the repetition counter are stored, for example, in the storage buffer. Next, in a step 525, a check is made to determine if the current portion being compared is equal to K (i.e., the current portion is the last portion to be compared). If the current portion is not equal to K, in a step 527, the process is repeated using a next portion of the image in the steps 510, 512, 518, and 524 by returning to the step 504. This loop continues advancing through each portion of the image after each nested comparison loop is completed until the current portion is the last portion to be compared.
If the current portion is equal to K in the step 526, the stored reference image portions and associated repetition counter values are appended and stored in a compressed image file (step 526), for example, in the storage buffer. At this point, the method is at its end (step 528).
In the concurrent embodiment, the method 500 operates on multiple portions of each image concurrently as if each image portion were a separate image. At least the steps 512 through 524 are performed in parallel for two or more of the K portions. After the step 524 is completed for each of the two or more K portions, step 525 performs as described above. In a minor adaptation to the embodiment being described, at least the steps 512 through 524 are performed in parallel for each of the K portions. In this adaptation, the steps 525 and 527 are not necessary and are removed from the process. It is to be appreciated that the various image portions select new reference frames independent of each other.
In another alternate embodiment, after step 522 the method may return to the step 510 rather than step 508. In this alternate embodiment, the repetition counter is not reset to 1. Hence, the repetition counter effectively becomes a digital image counter that tracks the number of the digital image being compared from 2 through N. Accordingly, the repetition counter values associated with reference images identify the last image associated with the reference image. Therefore, in order to identify the number of repetitions for a given reference image, a decompression/replay device subtracts the repetition counter value for the previous reference image plus 1 from the counter value for the given reference image. In this alternative embodiment, the reference image parameter value may also be saved along with the digital image and the repetition counter value. In this variation of the alternative embodiment, to identify the number of repetitions for a given reference image, a decompression/replay device subtracts the reference image parameter value from the repetition counter value.
In still another embodiment, the comparison loop can by incremented by any number (I) rather than by 1. In this alternative embodiment, the repetition counter parameter is initially set to I rather than to 1 and the next image parameter is initially set to I+1 rather than to 2. Of course, when the next image and repetition counter parameters are incremented, they are incremented by I rather than by 1. In an adaptation of this alternate embodiment, where the comparison loop is incremented by any number (I): 1) step 520 is adapted to set the reference image parameter to the current value of the next image parameter minus I and plus A and 2) step 522 is adapted to increment the next image parameter by A. For this alternative embodiment, A is an integer value less than I. Typically A is 1 to avoid skipping images between “next images” that are not both similar to the reference image. However, any value for A will skip less images when selecting subsequent reference images than merely using the I increment between “next images.”
While the invention is described herein in conjunction with exemplary embodiments, it is evident that many alternatives, modifications, and variations will be apparent to those skilled in the art. Accordingly, the embodiments of the invention in the preceding description are intended to be illustrative, rather than limiting, of the spirit and scope of the invention. More specifically, it is intended that the invention embrace all alternatives, modifications, and variations of the exemplary embodiments described herein that fall within the spirit and scope of the appended claims or the equivalents thereof.

Claims (20)

1. A method of compressing a sequence of digital images comprising:
a) comparing at least a first portion of a reference image of the sequence of digital images to at least a corresponding first portion of a subsequent image of the sequence of digital images;
b) in response to the first portions of the reference and subsequent images being the same within a predetermined threshold, 1) incrementing a count of a number of first portions discarded, 2) discarding the first portion of the subsequent image, and 3) repeating step a) with at least a corresponding first portion of a next subsequent image; and
c) in response to the first portion of the reference and subsequent images not being within the predetermined threshold, 1) initializing the count and 2) repeating step a) using the first portion of the subsequent image as the reference image.
2. The method as set forth in claim 1 wherein the first portion is a fraction of each image.
3. The method as set forth in claim 2, further including performing steps a)–c) with at least a second portion of each image.
4. The method as set forth in claim 3, further including:
performing steps a)–c) for the second portion of each image concurrently with steps a)–c) for the first portion of each image.
5. The method as set forth in claim 1 wherein each image has a single portion such that the first portion is a full image.
6. The method as set forth in claim 1, further including:
storing at least the first portion of each reference image and the count of the number of first portions discarded.
7. The method as set forth in claim 6, further including:
retrieving the stored first portions and the counts;
displaying at least each first reference portion on a human viewable display;
repeating the displaying of each first portion a number of times corresponding to the count of the number of first portions discarded between the displayed reference image and a next subsequent reference image.
8. The method as set forth in claim 1, further including:
communicating at least the first portion of each reference image and the count of the number of first portions discarded.
9. The method as set forth in claim 8, further including:
displaying at least each first reference portion on a human viewable display;
repeating the displaying of each first portion a number of times corresponding to the count of the number of first portions discarded between the displayed reference image and a next subsequent reference image.
10. The method as set forth in claim 1 further including:
in step a), concurrently comparing at least a portion of a second reference image with a corresponding portion of another subsequent image.
11. The method as set forth in claim 10, further including:
storing at least the first portion of each reference image and the count of the number of first portions discarded.
12. The method as set forth in claim 11, further including:
retrieving the stored first portions and the counts;
displaying at least each first reference portion on a human viewable display;
repeating the displaying of each first portion a number of times corresponding to the count of the number of first portions discarded between the displayed reference image and a next subsequent reference image.
13. The method as set forth in claim 1 wherein:
in step a), the subsequent image is spaced I images from the reference image where I is an integer number;
in step b), the count is incremented by I and the next subsequent image is spaced I from the current subsequent image; and
in step c), the subsequent image used as the reference is spaced A images from the current reference image when repeating step a) where A is an integer number.
14. The method as set forth in claim 13 wherein the values for A and I are equal.
15. The method as set forth in claim 13 wherein the value for A is less than the value for I.
16. The method as set forth in claim 1 wherein the first portion is a 1/K fraction of each image where K is an integer number of portions per image.
17. The method as set forth in claim 16 further including performing steps a)–c) for each 1/K portion of each image.
18. The method as set forth in claim 17, further including:
performing steps a)–c) for each 1/K portion of each image concurrently.
19. A digital image processing system for compressing a sequence of digital images, comprising:
a) a means for comparing at least a first portion of a reference image of the sequence of digital images to at least a corresponding first portion of a subsequent image of the sequence of digital images;
b) a counter means for counting discarded image portions;
c) a means for:
in response to the first portions of the reference and subsequent images being the same within a predetermined threshold, 1) incrementing the counter means, 2) discarding the first portion of the subsequent image, and 3) causing the comparing means to compare with at least a corresponding first portion of a next subsequent image to the reference image first portion; and
in response to the first portion of the reference and subsequent images not being within the predetermined threshold, 1) initializing the counter means and 2) causing the comparing means to use the first portion of the subsequent image as the reference image in subsequent comparisons.
20. A digital image processing system for compressing a sequence of digital images, comprising:
a) a comparator which compares at least a reference image portion of the sequence of digital images with corresponding subsequent image portions of the sequence of digital images;
b) a counter which is incremented each time a subsequent image portion matches the reference image portion within a predetermined threshold, in response to a subsequent image portion not matching within the predetermined threshold, the non-matching subsequent response portion becoming the reference image portion and the counter being initialized; and
c) a storage buffer which stores each reference and the count from the counter of a number of matching subsequent image portions following each reference image portion.
US10/267,705 2002-10-09 2002-10-09 Sequential digital image compression Active 2024-08-20 US7006701B2 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
US10/267,705 US7006701B2 (en) 2002-10-09 2002-10-09 Sequential digital image compression
CNA03823954XA CN1689337A (en) 2002-10-09 2003-09-22 Sequential digital image compression
KR1020057006079A KR20050057632A (en) 2002-10-09 2003-09-22 Sequential digital image compression
PCT/IB2003/004168 WO2004034709A1 (en) 2002-10-09 2003-09-22 Sequential digital image compression
EP03807915A EP1552705A1 (en) 2002-10-09 2003-09-22 Sequential digital image compression
AU2003260912A AU2003260912A1 (en) 2002-10-09 2003-09-22 Sequential digital image compression
JP2004542705A JP2006502645A (en) 2002-10-09 2003-09-22 Sequential digital image compression

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/267,705 US7006701B2 (en) 2002-10-09 2002-10-09 Sequential digital image compression

Publications (2)

Publication Number Publication Date
US20040071353A1 US20040071353A1 (en) 2004-04-15
US7006701B2 true US7006701B2 (en) 2006-02-28

Family

ID=32068428

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/267,705 Active 2024-08-20 US7006701B2 (en) 2002-10-09 2002-10-09 Sequential digital image compression

Country Status (7)

Country Link
US (1) US7006701B2 (en)
EP (1) EP1552705A1 (en)
JP (1) JP2006502645A (en)
KR (1) KR20050057632A (en)
CN (1) CN1689337A (en)
AU (1) AU2003260912A1 (en)
WO (1) WO2004034709A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080285955A1 (en) * 2007-05-14 2008-11-20 Che-Sheng Yu Method for low data rate video image storage
US20090237526A1 (en) * 2007-06-04 2009-09-24 Trover Group Inc. Method and Apparatus for Segmented Video Compression

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1729529A1 (en) * 2005-06-02 2006-12-06 BRITISH TELECOMMUNICATIONS public limited company Video signal loss detection
JP4631792B2 (en) * 2006-05-10 2011-02-16 富士ゼロックス株式会社 Print record management apparatus, program and method
JP2011526013A (en) * 2008-06-24 2011-09-29 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Image processing
JP4760902B2 (en) * 2008-12-17 2011-08-31 ソニー株式会社 Information processing apparatus and method
FR2972828A1 (en) * 2011-03-18 2012-09-21 Norbert Beyrard Method for compressing e.g. digital mammography image, involves defining projections by sets of terms obtained by addition of values of light intensity of pixels on gray and color scales, along alignments oriented by projection directions
CN105025269A (en) * 2015-07-26 2015-11-04 杜春辉 Low-flow image transmission method
CN106303697B (en) * 2016-08-22 2019-07-02 青岛海信宽带多媒体技术有限公司 A kind of P frame processing method and equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4606069A (en) * 1983-06-10 1986-08-12 At&T Bell Laboratories Apparatus and method for compression of facsimile information by pattern matching
JPH09252448A (en) 1996-03-15 1997-09-22 Ricoh Co Ltd Digital still camera equipment
US6009204A (en) 1995-09-15 1999-12-28 Interval Research Corporation Method of compressing a plurality of video images for efficiently storing, displaying and searching the plurality of video images
US6097837A (en) * 1998-03-09 2000-08-01 Eastman Kodak Company Method and apparatus for removing temporal lighting variations from an image source
US6320378B1 (en) * 2000-03-31 2001-11-20 Brigham & Women's Hospital Continuous magnetic resonance line-scan imaging in the presence of motion and varying magnetic field inhomogeneities within the field of view
US20020044607A1 (en) 1995-05-26 2002-04-18 Shinichiro Koga Image processing apparatus and method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4606069A (en) * 1983-06-10 1986-08-12 At&T Bell Laboratories Apparatus and method for compression of facsimile information by pattern matching
US20020044607A1 (en) 1995-05-26 2002-04-18 Shinichiro Koga Image processing apparatus and method
US6009204A (en) 1995-09-15 1999-12-28 Interval Research Corporation Method of compressing a plurality of video images for efficiently storing, displaying and searching the plurality of video images
JPH09252448A (en) 1996-03-15 1997-09-22 Ricoh Co Ltd Digital still camera equipment
US6097837A (en) * 1998-03-09 2000-08-01 Eastman Kodak Company Method and apparatus for removing temporal lighting variations from an image source
US6320378B1 (en) * 2000-03-31 2001-11-20 Brigham & Women's Hospital Continuous magnetic resonance line-scan imaging in the presence of motion and varying magnetic field inhomogeneities within the field of view

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080285955A1 (en) * 2007-05-14 2008-11-20 Che-Sheng Yu Method for low data rate video image storage
US20090237526A1 (en) * 2007-06-04 2009-09-24 Trover Group Inc. Method and Apparatus for Segmented Video Compression
US9380256B2 (en) * 2007-06-04 2016-06-28 Trover Group Inc. Method and apparatus for segmented video compression
US10282952B2 (en) 2007-06-04 2019-05-07 Trover Group Inc. Method and apparatus for segmented video compression
US10847003B1 (en) 2007-06-04 2020-11-24 Trover Group Inc. Method and apparatus for segmented video compression

Also Published As

Publication number Publication date
EP1552705A1 (en) 2005-07-13
JP2006502645A (en) 2006-01-19
KR20050057632A (en) 2005-06-16
CN1689337A (en) 2005-10-26
US20040071353A1 (en) 2004-04-15
AU2003260912A1 (en) 2004-05-04
WO2004034709A1 (en) 2004-04-22

Similar Documents

Publication Publication Date Title
CN101843099B (en) Apparatus and method of storing video data
US5493345A (en) Method for detecting a scene change and image editing apparatus
CN101077001B (en) Apparatus and method of storing video data
EP1119200A2 (en) Image transmitting method, image processing method, image processor, and data storage medium
JP2003061030A (en) System and method for detecting border of recorded video data
US6434320B1 (en) Method of searching recorded digital video for areas of activity
US7006701B2 (en) Sequential digital image compression
US6947660B2 (en) Motion picture recording/reproduction apparatus
US7343088B2 (en) Disc apparatus, disc recording method, disc playback method, recording medium, and program
JP2006528862A (en) Optimizing stored video data
EP1148722A1 (en) Video searching method and video searching apparatus
EP1643764A1 (en) Video reproducing apparatus
JP5023784B2 (en) Video surveillance device
WO2008129544A1 (en) A novel interface for previewing records of a network video recorder
JP2003061042A (en) System and method for scene detection information storage
JPH0646368A (en) Animation data recording system
JP2000138900A (en) Dynamic image recording and reproducing method
KR20030085671A (en) Image file format and method for creating and playing image files
JP2001257984A (en) Computer system
JP2001103429A (en) Signal processor

Legal Events

Date Code Title Description
AS Assignment

Owner name: KONINKLIJKE PHILIPS ELECTRONCS N.V., NETHERLANDS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DIJK, VICTOR EMMANUEL STEPHANUS VAN;PESSOLANO, FRANCESCO;REEL/FRAME:013384/0650

Effective date: 20021007

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: IPG ELECTRONICS 503 LIMITED

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KONINKLIJKE PHILIPS ELECTRONICS N.V.;REEL/FRAME:022203/0791

Effective date: 20090130

Owner name: IPG ELECTRONICS 503 LIMITED, GUERNSEY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KONINKLIJKE PHILIPS ELECTRONICS N.V.;REEL/FRAME:022203/0791

Effective date: 20090130

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: PENDRAGON WIRELESS LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:IPG ELECTRONICS 503 LIMITED;REEL/FRAME:028594/0224

Effective date: 20120410

FPAY Fee payment

Year of fee payment: 8

FEPP Fee payment procedure

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553)

Year of fee payment: 12

AS Assignment

Owner name: UNILOC LUXEMBOURG S.A., LUXEMBOURG

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PENDRAGON WIRELESS LLC;REEL/FRAME:045338/0601

Effective date: 20180131

AS Assignment

Owner name: UNILOC 2017 LLC, DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:UNILOC LUXEMBOURG S.A.;REEL/FRAME:046532/0088

Effective date: 20180503