WO2005029833A2 - Deriving motion detection information from motion-vector-search type video encoders - Google Patents

Deriving motion detection information from motion-vector-search type video encoders Download PDF

Info

Publication number
WO2005029833A2
WO2005029833A2 PCT/IL2004/000867 IL2004000867W WO2005029833A2 WO 2005029833 A2 WO2005029833 A2 WO 2005029833A2 IL 2004000867 W IL2004000867 W IL 2004000867W WO 2005029833 A2 WO2005029833 A2 WO 2005029833A2
Authority
WO
WIPO (PCT)
Prior art keywords
motion
sad
frame
video stream
block
Prior art date
Application number
PCT/IL2004/000867
Other languages
French (fr)
Other versions
WO2005029833A3 (en
Inventor
Dror Heller
Yosef Rotman
Original Assignee
Servision Ltd.
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 Servision Ltd. filed Critical Servision Ltd.
Publication of WO2005029833A2 publication Critical patent/WO2005029833A2/en
Publication of WO2005029833A3 publication Critical patent/WO2005029833A3/en
Priority to US10/572,597 priority Critical patent/US20070230576A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/51Motion estimation or motion compensation

Definitions

  • the present invention relates to the field of video encoding in general and in particular to obtaining Video Motion Detection (VMD) from Motion-Vector-Search (MVS) video encoding.
  • VMD Video Motion Detection
  • MVS Motion-Vector-Search
  • Video encoding is based on Motion- Vector-Search (MVS) algorithms. These algorithms provide high image quality at lower bit-rate, enabling the distribution of the video stream over lower-bandwidth networks. Examples of such algorithms are MPEG-2, MPEG-4 and
  • VMD Video Motion Detection
  • motion detection data may be obtained from a digital surveillance system, for example.
  • US Patent Application Publication No: US 2003/0123551 to Kim performs motion detection by using a motion vector generated in the MPEG video compression process.
  • One of the disadvantages of these image processing algorithms is that they require a substantial amount of computing power. Reducing the computing power requirements would enable the adding of performance to existing systems and/or providing the same performance at a lower cost. There is thus a need for a method which for deriving motion detection information without adding processing power.
  • the present invention is directed to a method of adding a motion detection feature to existing motion-vector-search (MVS) based applications.
  • VMS motion-vector-search
  • the inventors have realized that by only utilizing the relevant data from the digital video stream which is needed for video motion detection, the VMD data may be calculated from MVS-based interim results instead of a full implementation of a VMD algorithm.
  • a method for detecting motion from a digital video stream is thus provided, according to an embodiment of the invention, a method for detecting motion from a digital video stream.
  • the method includes the steps of: inputting the digital video stream into an MPEG (Moving Picture Expert Group) encoder; abstracting the relevant video motion detection data from the digital video stream; estimating the amount of motion for each of the 16xl6-pixel macro-block, from the abstracted video motion detection data, of a current image frame relative to the corresponding 16x16-pixel macro-block of an image reference frame; and determining, from the estimated amount of motion, whether the current frame is a motion frame.
  • the step of estimating includes the steps of: calculating the Sum of Absolute Differences (SAD) for each 1 x16-pixel macro- block of the current image frame relative to image reference frame; and placing the SAD values of every macro-block in a designated table.
  • SAD Sum of Absolute Differences
  • SAD is defined as: SAD16(xc,yc,xr,yr) - Rju + yr jl; where C is the current image and R is the reference image.
  • the method further includes the step of applying a weighting function to each cell of the table.
  • the method further includes the step of calculating the Motion Vector (MV) for each of the 16x16-pixel macro- blocks of the image.
  • the method further includes the step of transferring the data associated with each of the motion frames together with the encoded video stream to a control center for further analysis.
  • apparatus for detecting motion from a digital video stream includes a motion estimator for receiving a digital video stream and abstracting the relevant data for video motion detection.
  • the motion estimator includes a calculator for calculating the Sum of Absolute Differences (SAD) for each 16x16-pixel macro-block of the current image frame relative to corresponding 16x16-pixel macro-block of an image reference frame from the abstracted video motion detection data. Furthermore, according to an embodiment of the invention, the apparatus further includes a tabular unit for compiling the calculate SAD values in tabular form, a weighting unit for applying a weighting function to each cell of the tabular unit, a summing unit for summing the weighted cells of the SAD table and a motion detector for determining whether the current image frame is to be designated as a motion frame. Furthermore, according to an embodiment of the invention, the motion detector includes an accumulator for summing the number of motion clocks.
  • Fig. 1 is a schematic block diagram illustration of prior art video streaming application using MPEG video compression together with Video Motion Detection (VMD);
  • Fig. 2 is schematic block diagram illustration of the MPEG encoder of Fig.1;
  • Fig. 3 is a schematic block diagram illustration of a video streaming application utilizing MPEG-4 video compression together with VMD, constructed and operative according to an embodiment of the invention;
  • Fig. 4 is a schematic block diagram illustration of MPEG-4 encoder of Fig.3; Fig.
  • FIG. 5 is schematic block diagram illustration showing the integration of the MPEG- 4 encoder of Fig.3 together with VMD module according to an embodiment of the invention
  • Fig. 6 is a schematic flow chart illustration of the method to determine motion detection from MPEG video compression
  • Figs.7A and 7B is an illustration of a 10x10 SAD (Sum of Absolute Differences) table calculated from the method of Fig.6.
  • SAD Sud of Absolute Differences
  • Fig. 1 is a schematic bock diagram illustration of a prior art video streaming application using MPEG-4 (Moving Picture Expert Group) video compression together with Video Motion Detection (VMD).
  • Fig. 2 is schematic block diagram illustration of the MPEG data processing flow.
  • the raw (uncompressed) video images 12 are input both to the MPEG (Moving Picture Expert Group) video compression encoder 14 and to the VMD calculator module 16.
  • Fig. 2 shows the data flow in a MPEG video streaming application.
  • a standard MPEG video compression device generally includes, inter alia, frame storage units 16 for the input image 15 and for the reference image 18, modules for motion estimation 20 and motion compensation 22.
  • Motion vectors are defined in the Moving Picture Expert Group (MPEG) standard specification. Briefly, when a digital image frame 15 is input, the motion estimation unit 20 estimates a motion vector on a macroblock by macroblock basis with reference to a reference image frame 18. The estimated motion vector is transmitted to the motion compensation unit 22, where an estimate of the movement of each macro block from the location of the current macro block is obtained. In parallel, the frame storage unit stores the input image frame 15 in storage unit 16. The difference in value between the macro block of the input image frame and the estimated motion vector is compressed in the discrete cosine transform (DCT) unit 24 and the quantization unit 26. The compressed data are transformed into an MPEG stream in the encoding unit 28.
  • DCT discrete cosine transform
  • the compressed data are restored and added to the motion compensated prediction data and stored in a reference frame storage unit 18 as a reference image frame for the next frame input.
  • the encoded video stream 30 is sent to the stream/event handler 32.
  • the VMD calculator module 16 uses algorithms on the digital video stream to detect motion in the field-of-view and issue alerts whenever a pre-defined event (such as an intrusion) occurs.
  • the motion detection data (alerts) 34 are also sent to the stream/event handler 32. Generally, the encoded video stream 30 and motion detection data (alerts) 34 are then sent to a control center (not shown) for decision making.
  • Fig. 3 is a schematic block diagram illustration of a video streaming application utilizing MPEG-4 video compression together with VMD, constructed and operative according to an embodiment of the invention.
  • the method uses the by products of the MVS encoding process to mathematically derive motion detection data.
  • the method was successfully implemented on MPEG-4, currently the de-facto standard for streaming video compression.
  • MPEG-4 currently the de-facto standard for streaming video compression.
  • other compression standards may also be used.
  • the raw (uncompressed) video images 50 are input directly to the MPEG-4 encoder module 52.
  • the relevant data needed for video motion detection is extracted from the digital video stream and transferred to the VMD module 54.
  • the size of this data portion is approximately 1/256 of the size of a regular image.
  • the SAD table is M/16xN/16 in size, and thus the size is (MxN)/256, compared with an MxN image for motion (the original image).
  • the extracted data is the SAD table, which is a table of M/16xN/16 elements, where each element represents the SAD value of a known macrocell of 16x16 pixels.
  • the VMD calculator module 56 uses an algorithm (as will be discussed
  • VMD data 54 to detect motion in the field-of-view and issue alerts.
  • VMD motion detection (alerts) data 58 and the compressed video stream 60 are both the VMD motion detection (alerts) data 58 and the compressed video stream 60.
  • Fig. 4 is a schematic block diagram illustration of
  • the motion estimation unit 70 estimates the amount of
  • the motion estimation unit 70 calculates the motion estimation unit 70
  • the two macro-blocks are in different locations.
  • the encoding process tries to find the best fit in the immediate area of the macro- block. When there is no motion, the best SAD occurs in the same location.
  • motion estimation unit 70 finds the best match and then determines the Motion Vector
  • (MV) 78 which describes the relocation vector from the previous location to the new one.
  • the motion estimation module performs the SAD and MV for every macro-block
  • the motion vectors (MVs) are passed to the motion compensation module 80 for further processing.
  • Compensation module 80 is similar to motion compensator 22 of Fig. 2. Similar
  • Fig. 5 is a schematic block diagram illustration showing the integration of the MPEG-4 encoder of Fig. 4 together with VMD module according to an embodiment of the invention.
  • Fig. 5 comprises the elements of Fig. 4 (which have been designated with similar numerals) and further comprises a SAD table 90.
  • the motion estimation module 70 places the SAD values of every macro-block in a designated table 90, and the table is then processed by the VMD module 92, to create the VMD data 54.
  • the VMD module 92 utilizes the SAD table 90 to determine the amount of motion in the complete current image 72, relative to the previous one 74.
  • Fig. 6, is a schematic flow chart illustration of the method to determine motion detection.
  • Each image is compressed and added to the SAD table (step 202). To minimize noise effects, the SAD table accumulates values over several frames. Since video is sampled at 25-30 frames per second, motion between one frame and the consecutive one should not be significant.
  • a weight function is applied (step 206) to emphasize the presence of large objects and minimize the effect of small isolated ones. This weight function intensifies the values of large blocks of non-zero values in the table by augmenting the cell values for every non-zero neighbor.
  • Figs.7A and 7B show a 10x10 SAD table that was produced using the above algorithm on a 160x160 stream of images, before and after weighting, respectively.
  • Fig. 7 A illustrates the SAD table before weighting while
  • Fig. 7B illustrates the SAD table after the weight function has been applied.
  • the italicized cells in Fig.7B represent isolated instances of local movement that may be due to local noise and should not trigger a motion alarm.
  • a comparison with the corresponding cells in Fig. 7 A shows that these cells were reduced significantly after the weight function was applied.
  • the table cells are then "summed" (step 208). Whether motion has occurred is determined from the summed cells of the processed table. This value is compared against a threshold for the existence of motion in the video stream (query box 210). If the value is above the alert threshold, a motion alert is triggered (step 212). It is thus possible to locate the main moving objects on this image and mark them. The steps 202-212 are repeated for the rest of the video stream.
  • An advantage of the algorithm (equation 2) of the present application, over the prior art, is that the use of SAD algorithm allows slow motion to be detected. Motion vectors may record slow motion as 0, where the motion between one image to another is smaller than the motion detection resolution (i.e.
  • the motion estimation step is 8 pixels, and there is movement of 4 pixels per frame on average. On a CIF image (320x240) at 30 frames per second a body that travels at that speed can traverse from top to bottom in 2 seconds (4 pixels by 30 frames per sec are 120 pixels per sec). Though this speed may be defined as "slow motion", it is fast enough and significant enough to be considered motion, which should be detectable.
  • a further advantage of the above algorithm is that there is a significant saving in processing time. Thus, less powerful (and consequently cheaper) processors maybe use for the same tasks. Furthermore, a motion detection feature may be added to existing MVS- based applications with minimum added processing power. The calculation and processing power needed is between NxM/256 and NxM/100, instead of 2xNxM, where N and M are the width and height of the image respectively.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A method and apparatus for detecting motion from a digital video stream using MPEG (Moving Picture Expert Group) compression is provided. The MPEG encoder abstracts the relevant video motion data from the digital video stream (76) and estimates the amount of motion for each of the 16x16 macro-block of a current image frame and determines (92), from the estimated amount of motion, whether the current frame is a motion frame.

Description

DERIVING MOTION DETECTION INFORMATION FROM MOTION- VECTOR-SEARCH TYPE VIDEO ENCODERS.
FIELD OF THE INVENTION
The present invention relates to the field of video encoding in general and in particular to obtaining Video Motion Detection (VMD) from Motion-Vector-Search (MVS) video encoding.
BACKGROUND OF THE INVENTION Digital video is usually compressed and encoded before it is distributed. Generally, video encoding is based on Motion- Vector-Search (MVS) algorithms. These algorithms provide high image quality at lower bit-rate, enabling the distribution of the video stream over lower-bandwidth networks. Examples of such algorithms are MPEG-2, MPEG-4 and
H.264. Developments from these algorithms has led many applications and tools including
Video Motion Detection (VMD), that is, the ability to use digital video for detecting motion in the field-of-view. VMD uses an algorithm that provides a motion detection sensor which is derived from the processing of the video images. Thus, motion detection data may be obtained from a digital surveillance system, for example. Various attempts have been made to detect motion from a digital video recording using MPEG video compression. For example, US Patent Application Publication No: US 2003/0123551 to Kim performs motion detection by using a motion vector generated in the MPEG video compression process. One of the disadvantages of these image processing algorithms is that they require a substantial amount of computing power. Reducing the computing power requirements would enable the adding of performance to existing systems and/or providing the same performance at a lower cost. There is thus a need for a method which for deriving motion detection information without adding processing power.
SUMMARY OF THE INVENTION
The present invention is directed to a method of adding a motion detection feature to existing motion-vector-search (MVS) based applications. The inventors have realized that by only utilizing the relevant data from the digital video stream which is needed for video motion detection, the VMD data may be calculated from MVS-based interim results instead of a full implementation of a VMD algorithm. There is thus provided, according to an embodiment of the invention, a method for detecting motion from a digital video stream. The method includes the steps of: inputting the digital video stream into an MPEG (Moving Picture Expert Group) encoder; abstracting the relevant video motion detection data from the digital video stream; estimating the amount of motion for each of the 16xl6-pixel macro-block, from the abstracted video motion detection data, of a current image frame relative to the corresponding 16x16-pixel macro-block of an image reference frame; and determining, from the estimated amount of motion, whether the current frame is a motion frame. Furthermore, according to an embodiment of the invention, the step of estimating includes the steps of: calculating the Sum of Absolute Differences (SAD) for each 1 x16-pixel macro- block of the current image frame relative to image reference frame; and placing the SAD values of every macro-block in a designated table. Furthermore, according to an embodiment of the invention, SAD is defined as: SAD16(xc,yc,xr,yr)
Figure imgf000005_0001
- Rju+yr jl; where C is the current image and R is the reference image. Furthermore, according to an embodiment of the invention, the method further includes the step of applying a weighting function to each cell of the table. The weighting function is defined as: W(i,j) = MAX(0, ST(i j) - Ktr + NUM_NBR(i j) * Kn); where ST(ij) is the SAD table cell value, NUMJSfBR is the number of it's nonzero members, Kn is a constant added per non-zero neighbor, and Ktr is a constant decremented from the cell. Furthermore, according to an embodiment of the invention, the step of determining includes the steps of summing the cells of the SAD table; and if the accumulated number of motion clocks is larger than a pre-determined threshold value designating the current image frame as a motion frame. Furthermore, according to an embodiment of the invention, the method further includes the step of calculating the Motion Vector (MV) for each of the 16x16-pixel macro- blocks of the image. In addition, according to an embodiment of the invention, the method further includes the step of transferring the data associated with each of the motion frames together with the encoded video stream to a control center for further analysis. Additionally, there is provided, according to an embodiment of the invention, apparatus for detecting motion from a digital video stream. The apparatus includes a motion estimator for receiving a digital video stream and abstracting the relevant data for video motion detection. The motion estimator includes a calculator for calculating the Sum of Absolute Differences (SAD) for each 16x16-pixel macro-block of the current image frame relative to corresponding 16x16-pixel macro-block of an image reference frame from the abstracted video motion detection data. Furthermore, according to an embodiment of the invention, the apparatus further includes a tabular unit for compiling the calculate SAD values in tabular form, a weighting unit for applying a weighting function to each cell of the tabular unit, a summing unit for summing the weighted cells of the SAD table and a motion detector for determining whether the current image frame is to be designated as a motion frame. Furthermore, according to an embodiment of the invention, the motion detector includes an accumulator for summing the number of motion clocks.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and other characteristics and advantages of the invention will be better understood through the following illustrative and non-limitative detailed description of preferred embodiments thereof, with reference to the appended drawings, wherein: Fig. 1 is a schematic block diagram illustration of prior art video streaming application using MPEG video compression together with Video Motion Detection (VMD); Fig. 2 is schematic block diagram illustration of the MPEG encoder of Fig.1; Fig. 3 is a schematic block diagram illustration of a video streaming application utilizing MPEG-4 video compression together with VMD, constructed and operative according to an embodiment of the invention; Fig. 4 is a schematic block diagram illustration of MPEG-4 encoder of Fig.3; Fig. 5 is schematic block diagram illustration showing the integration of the MPEG- 4 encoder of Fig.3 together with VMD module according to an embodiment of the invention; Fig. 6 is a schematic flow chart illustration of the method to determine motion detection from MPEG video compression; and Figs.7A and 7B is an illustration of a 10x10 SAD (Sum of Absolute Differences) table calculated from the method of Fig.6.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
Reference is now made to Figs 1 and 2. Fig. 1 is a schematic bock diagram illustration of a prior art video streaming application using MPEG-4 (Moving Picture Expert Group) video compression together with Video Motion Detection (VMD). Fig. 2 is schematic block diagram illustration of the MPEG data processing flow. The raw (uncompressed) video images 12 are input both to the MPEG (Moving Picture Expert Group) video compression encoder 14 and to the VMD calculator module 16. Fig. 2 shows the data flow in a MPEG video streaming application. As is known in the art, a standard MPEG video compression device generally includes, inter alia, frame storage units 16 for the input image 15 and for the reference image 18, modules for motion estimation 20 and motion compensation 22. Motion vectors are defined in the Moving Picture Expert Group (MPEG) standard specification. Briefly, when a digital image frame 15 is input, the motion estimation unit 20 estimates a motion vector on a macroblock by macroblock basis with reference to a reference image frame 18. The estimated motion vector is transmitted to the motion compensation unit 22, where an estimate of the movement of each macro block from the location of the current macro block is obtained. In parallel, the frame storage unit stores the input image frame 15 in storage unit 16. The difference in value between the macro block of the input image frame and the estimated motion vector is compressed in the discrete cosine transform (DCT) unit 24 and the quantization unit 26. The compressed data are transformed into an MPEG stream in the encoding unit 28. The compressed data are restored and added to the motion compensated prediction data and stored in a reference frame storage unit 18 as a reference image frame for the next frame input. The encoded video stream 30 is sent to the stream/event handler 32. The VMD calculator module 16 uses algorithms on the digital video stream to detect motion in the field-of-view and issue alerts whenever a pre-defined event (such as an intrusion) occurs. The motion detection data (alerts) 34 are also sent to the stream/event handler 32. Generally, the encoded video stream 30 and motion detection data (alerts) 34 are then sent to a control center (not shown) for decision making. The inventors have realized that by only utilizing the relevant data from the digital video stream which is needed for video motion detection, the VMD data may be calculated from MVS-based interim results instead of a full implementation of a VMD algorithm. Reference is now made to Fig. 3, which is a schematic block diagram illustration of a video streaming application utilizing MPEG-4 video compression together with VMD, constructed and operative according to an embodiment of the invention. The method uses the by products of the MVS encoding process to mathematically derive motion detection data. The method was successfully implemented on MPEG-4, currently the de-facto standard for streaming video compression. For the exemplary purposes only, reference is made to MPEG-4, but as will be appreciated by persons knowledgeable in the art, other compression standards may also be used. The raw (uncompressed) video images 50 are input directly to the MPEG-4 encoder module 52. The relevant data needed for video motion detection is extracted from the digital video stream and transferred to the VMD module 54. The size of this data portion is approximately 1/256 of the size of a regular image. The SAD table is M/16xN/16 in size, and thus the size is (MxN)/256, compared with an MxN image for motion (the original image). The extracted data is the SAD table, which is a table of M/16xN/16 elements, where each element represents the SAD value of a known macrocell of 16x16 pixels. The VMD calculator module 56 uses an algorithm (as will be discussed
hereinbelow) on the VMD data 54 to detect motion in the field-of-view and issue alerts.
Both the VMD motion detection (alerts) data 58 and the compressed video stream 60 are
transferred to the stream/event handler 62 (similar to stream event handler 32 in Fig. 1). Reference is now made to Fig. 4, which is a schematic block diagram illustration of
MPEG-4 encoder module 52. The motion estimation unit 70 estimates the amount of
motion in every 16x16-pixel macro-block of the new (current) image 72 relative to the
previous (reference) image 74.
In an embodiment of the invention, the motion estimation unit 70 calculates the
SAD (Sum of Absolute Differences) 76, according to the following formula:
SAD16(xc,yc,xr,yr) =
Figure imgf000011_0001
- Rχr+i,yr+j| Equation 1
Where C is the current image and R is the previous reference image. If xc=xτ and yc=yr the two macro-blocks are in the same location. Otherwise, if
xc≠xr and yc≠yr, the two macro-blocks are in different locations. The encoding process tries to find the best fit in the immediate area of the macro- block. When there is no motion, the best SAD occurs in the same location.
Whenever there is any motion, the best SAD will occur in another location. The
motion estimation unit 70 finds the best match and then determines the Motion Vector
(MV) 78, which describes the relocation vector from the previous location to the new one. The motion estimation module performs the SAD and MV for every macro-block
C(x,y) in the current image. The motion vectors (MVs) are passed to the motion compensation module 80 for further processing.
Compensation module 80 is similar to motion compensator 22 of Fig. 2. Similar
elements have been similarly designated and are not described further. The difference in
value between the macro block of the input image frame and the estimated motion vector is compressed in the discrete cosine transform (DCT) unit 24 and the quantization unit 26. The compressed data are transformed into an MPEG stream in the encoding unit 28. The compressed data are restored and added to the motion compensated prediction data and stored in a reference frame storage unit 74 as a reference image frame for the next frame input. The process continues and eventually the encoded video stream 82 is created. Fig. 5, to which reference is now made, is a schematic block diagram illustration showing the integration of the MPEG-4 encoder of Fig. 4 together with VMD module according to an embodiment of the invention. Fig. 5 comprises the elements of Fig. 4 (which have been designated with similar numerals) and further comprises a SAD table 90. The motion estimation module 70 places the SAD values of every macro-block in a designated table 90, and the table is then processed by the VMD module 92, to create the VMD data 54. The VMD module 92 utilizes the SAD table 90 to determine the amount of motion in the complete current image 72, relative to the previous one 74. Reference is now made to Fig. 6, which is a schematic flow chart illustration of the method to determine motion detection. Each image is compressed and added to the SAD table (step 202). To minimize noise effects, the SAD table accumulates values over several frames. Since video is sampled at 25-30 frames per second, motion between one frame and the consecutive one should not be significant. A check is made after each image is compressed (query box 204) and further images are compressed and added to the SAD table until a pre-determined number of images have been processed. To avoid irrelevant local image fluctuations, such as camera granularity and CCD quality, from appearing as movement, a weight function is applied (step 206) to emphasize the presence of large objects and minimize the effect of small isolated ones. This weight function intensifies the values of large blocks of non-zero values in the table by augmenting the cell values for every non-zero neighbor. The weight function is defined below (Equation 2), where ST(ij) is the SAD table cell value, NUM_NBR is the number of it's non-zero members, Kn is a constant added per non-zero neighbor, and Ktr is a constant decremented from the cell. W(i,j) = MAX(0, ST(i,j) - Ktr + NUM_NBR(i,j) * Kn) Equation 2
Figs.7A and 7B show a 10x10 SAD table that was produced using the above algorithm on a 160x160 stream of images, before and after weighting, respectively. Fig. 7 A illustrates the SAD table before weighting while Fig. 7B illustrates the SAD table after the weight function has been applied. The italicized cells in Fig.7B (referenced 101B-106B) represent isolated instances of local movement that may be due to local noise and should not trigger a motion alarm. A comparison with the corresponding cells in Fig. 7 A (referenced 101A-106A) shows that these cells were reduced significantly after the weight function was applied. The bolded cells in Fig. 7B, bounded by the double line, illustrate cells where the weight function was augmented significantly. These cells probably represent an object in motion. Examples, for comparison purposes, are illustrated by the cells referenced 110-118 (suffixes A and B refer to Figs 7A and 7B, respectively). Thus, cell 110A having an initial value of 3 was increased to a value of 8 (cell 110B) after weighting. Similarly, the values of cells 112-118 were increased. The examples are summarized in the table below:
Figure imgf000014_0001
The table cells are then "summed" (step 208). Whether motion has occurred is determined from the summed cells of the processed table. This value is compared against a threshold for the existence of motion in the video stream (query box 210). If the value is above the alert threshold, a motion alert is triggered (step 212). It is thus possible to locate the main moving objects on this image and mark them. The steps 202-212 are repeated for the rest of the video stream. An advantage of the algorithm (equation 2) of the present application, over the prior art, is that the use of SAD algorithm allows slow motion to be detected. Motion vectors may record slow motion as 0, where the motion between one image to another is smaller than the motion detection resolution (i.e. where the motion estimation search jumps 8 pixels, and the motion speed is one pixel per image). In this case, the motion vector will be 0. In contrast, SAD values will be non-zero and, when accumulated, as described above, will detect the motion. In other words, there can be significant motion with zero motion vectors. This feature may be demonstrated by the following example: The motion estimation step is 8 pixels, and there is movement of 4 pixels per frame on average. On a CIF image (320x240) at 30 frames per second a body that travels at that speed can traverse from top to bottom in 2 seconds (4 pixels by 30 frames per sec are 120 pixels per sec). Though this speed may be defined as "slow motion", it is fast enough and significant enough to be considered motion, which should be detectable. A further advantage of the above algorithm is that there is a significant saving in processing time. Thus, less powerful (and consequently cheaper) processors maybe use for the same tasks. Furthermore, a motion detection feature may be added to existing MVS- based applications with minimum added processing power. The calculation and processing power needed is between NxM/256 and NxM/100, instead of 2xNxM, where N and M are the width and height of the image respectively. The above examples and description have of course been provided only for the purpose of illustration, and are not intended to limit the invention in any way. It will be appreciated that numerous modifications, all of which fall within the scope of the present invention, exist. Rather the scope of the invention is defined by the claims that follow:

Claims

CLAIMSWe Claim:
1. A method for detecting motion from a digital video stream comprising the steps of: inputting the digital video stream into an MPEG (Moving Picture Expert Group) encoder; abstracting the relevant video motion detection data from said digital video stream; estimating the amount of motion for each of the 16x16-pixel macro- block, from said abstracted video motion detection data, of a current image frame relative to the corresponding 16x 16-pixel macro-block of an image reference frame; and determining, from the estimated amount of motion, whether the current frame is a motion frame.
2. The method according to claim 1, wherein said step of estimating comprises the steps of: calculating the Sum of Absolute Differences (SAD) for each 16x 16- pixel macro-block of the current image frame relative to image reference frame; and placing the SAD values of every macro-block in a designated table.
3. The method according to claim 2, wherein said SAD is defined as:
Figure imgf000016_0001
where C is the current image and R is the reference image.
4. The method according to claim 2, further comprising the step of: applying a weighting function to each cell of said table.
5. The method according to claim 4, wherein said weighting function is defined as: W(i j) = MAX(0, ST(i j) - Ktr + NUM_NBR(i j) * Kn); where ST(i,j) is the SAD table cell value, NUM_NBR is the number of it's non-zero members, Kn is a constant added per non-zero neighbor, and Ktr is a constant decremented from the cell.
6. The method according to claim 4, wherein said step of determining comprises the steps of: summing the cells of the SAD table; and if the accumulated number of motion clocks is larger than a pre- determined threshold value designating said current image frame as a motion frame.
7. The method according to claim 1, further comprising the step of: calculating the Motion Vector (MV) for each of the 16 16-pixel macro- blocks of said image.
8. The method according to claim 1, further comprising the step of: transferring the data associated with each of the motion frames together with the encoded video stream to a control center for further analysis.
9. Apparatus for detecting motion from a digital video stream comprising: a motion estimator for receiving a digital video stream and abstracting the relevant data for video motion detection, said motion estimator comprising a calculator for calculating the Sum of Absolute Differences (SAD) for each 16xl6-pixel macro-block of the current image frame relative to corresponding 16x16-pixel macro-block of an image reference frame from said abstracted video motion detection data.
10. The apparatus according to claim 9, further comprising: a tabular unit for compiling the calculate SAD values in tabular form; a weighting unit for applying a weighting function to each cell of said tabular unit; a summing unit for summing the weighted cells of the SAD table; and a motion detector for determining whether the current image frame is to be designated as a motion frame.
11. The apparatus according to claim 10, wherein said motion detector comprises an accumulator for summing the number of motion clocks.
PCT/IL2004/000867 2003-09-21 2004-09-20 Deriving motion detection information from motion-vector-search type video encoders WO2005029833A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/572,597 US20070230576A1 (en) 2003-09-21 2007-02-20 Deriving Motion Detection Information From Motion-Vector-Search Type Video Encoders

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IL158024 2003-09-21
IL15802403 2003-09-21

Publications (2)

Publication Number Publication Date
WO2005029833A2 true WO2005029833A2 (en) 2005-03-31
WO2005029833A3 WO2005029833A3 (en) 2005-05-26

Family

ID=34362353

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2004/000867 WO2005029833A2 (en) 2003-09-21 2004-09-20 Deriving motion detection information from motion-vector-search type video encoders

Country Status (2)

Country Link
US (1) US20070230576A1 (en)
WO (1) WO2005029833A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2048871A1 (en) * 2007-10-09 2009-04-15 Tektronix International Sales GmbH Image evaluation

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013147756A1 (en) * 2012-03-28 2013-10-03 Intel Corporation Content aware selective adjusting of motion estimation
US9344724B2 (en) * 2012-06-25 2016-05-17 Verint Americas Inc. System and method for improved video operations
TWI499283B (en) * 2012-07-05 2015-09-01 Ind Tech Res Inst Video compression method and device
IL224273B (en) * 2013-01-17 2018-05-31 Cohen Yossi Delay compensation while controlling a remote sensor
KR102290964B1 (en) 2014-02-19 2021-08-18 삼성전자주식회사 Video encoding device using adaptive search range and method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263025B1 (en) * 1996-12-26 2001-07-17 Nippon Steel Corporation Motion vector detecting apparatus
US20030067981A1 (en) * 2001-03-05 2003-04-10 Lifeng Zhao Systems and methods for performing bit rate allocation for a video data stream
US20030072374A1 (en) * 2001-09-10 2003-04-17 Sohm Oliver P. Method for motion vector estimation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6512537B1 (en) * 1998-06-03 2003-01-28 Matsushita Electric Industrial Co., Ltd. Motion detecting apparatus, motion detecting method, and storage medium storing motion detecting program for avoiding incorrect detection
JP4140202B2 (en) * 2001-02-28 2008-08-27 三菱電機株式会社 Moving object detection device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263025B1 (en) * 1996-12-26 2001-07-17 Nippon Steel Corporation Motion vector detecting apparatus
US20030067981A1 (en) * 2001-03-05 2003-04-10 Lifeng Zhao Systems and methods for performing bit rate allocation for a video data stream
US20030072374A1 (en) * 2001-09-10 2003-04-17 Sohm Oliver P. Method for motion vector estimation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2048871A1 (en) * 2007-10-09 2009-04-15 Tektronix International Sales GmbH Image evaluation
US9031134B2 (en) 2007-10-09 2015-05-12 Tektronix International Sales Gmbh System for detecting sequences of frozen frame in baseband digital video

Also Published As

Publication number Publication date
WO2005029833A3 (en) 2005-05-26
US20070230576A1 (en) 2007-10-04

Similar Documents

Publication Publication Date Title
KR100453714B1 (en) Apparatus and Method for Motion Detection in Digital Video Recording System Using MPEG Video Compression Technique
KR100683849B1 (en) Decoder having digital image stabilization function and digital image stabilization method
JP4140202B2 (en) Moving object detection device
JP4001400B2 (en) Motion vector detection method and motion vector detection device
KR950009699B1 (en) Motion vector detection method and apparatus
US20150373360A1 (en) Moving picture encoding apparatus, moving picture decoding apparatus, moving picture encoding method, moving picture decoding method, moving picture encoding program, and moving picture decoding program
KR100251548B1 (en) Apparatus of predicting motion for digital image and method thereof
US7599436B2 (en) Method of determining search region of motion vector and motion vector detection apparatus
US20070230576A1 (en) Deriving Motion Detection Information From Motion-Vector-Search Type Video Encoders
US20080025387A1 (en) Intelligent moving robot based network communication capable of outputting/transmitting images selectively according to moving of photographed object
US7280596B2 (en) Apparatus detecting motion of image data and detecting method thereof
KR20040089163A (en) Method and Apparatus for Determining Search Range for Adaptive Motion Vector for Use in Video Encoder
KR100575578B1 (en) Method for detecting motion in mobile device
KR20130039698A (en) Method and device for determining a saliency value of a block of a video frame block-wise predictive encoded in a data stream
JPH08265764A (en) Video signal encoding device
US8472523B2 (en) Method and apparatus for detecting high level white noise in a sequence of video frames
KR101582674B1 (en) Apparatus and method for storing active video in video surveillance system
Huang et al. An adaptively refined block matching algorithm for motion compensated video coding
JP3478836B2 (en) Method and apparatus for encoding digital image sequence
CN100469141C (en) Motion estimating method for video data compression
Hong et al. Scene change detection using edge direction based on intra prediction mode in H. 264/AVC compression domain
JPH11266459A (en) Moving image coder, moving object detector and motion prediction device employed for the devices
JPH10191347A (en) Motion detector, motion detecting method and storage medium
JP2000059786A (en) Device and method for detecting motion
JP4003149B2 (en) Image encoding apparatus and method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BW BY BZ CA CH CN CO CR CU CZ DK DM DZ EC EE EG ES FI GB GD GE GM HR HU ID IL IN IS JP KE KG KP KZ LC LK LR LS LT LU LV MA MD MK MN MW MX MZ NA NI NO NZ PG PH PL PT RO RU SC SD SE SG SK SY TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SZ TZ UG ZM ZW AM AZ BY KG MD RU TJ TM AT BE BG CH CY DE DK EE ES FI FR GB GR HU IE IT MC NL PL PT RO SE SI SK TR BF CF CG CI CM GA GN GQ GW ML MR SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
WWP Wipo information: published in national office

Ref document number: 10572597

Country of ref document: US