U.S. patent application number 10/912901 was filed with the patent office on 2005-01-13 for motion detecting web camera system.
Invention is credited to Needham, Bradford H..
Application Number | 20050007454 10/912901 |
Document ID | / |
Family ID | 33096804 |
Filed Date | 2005-01-13 |
United States Patent
Application |
20050007454 |
Kind Code |
A1 |
Needham, Bradford H. |
January 13, 2005 |
Motion detecting web camera system
Abstract
A camera system that includes a video camera and a processor,
which periodically uploads images captured by the video camera to a
web server in accordance with one of a plurality of motion
detection algorithms. A first motion detection algorithm captures a
current image frame when a pixel comparison between successive
image frames exceeds a predetermined threshold.
Inventors: |
Needham, Bradford H.; (North
Plains, OR) |
Correspondence
Address: |
BLAKELY SOKOLOFF TAYLOR & ZAFMAN
12400 WILSHIRE BOULEVARD
SEVENTH FLOOR
LOS ANGELES
CA
90025-1030
US
|
Family ID: |
33096804 |
Appl. No.: |
10/912901 |
Filed: |
August 6, 2004 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10912901 |
Aug 6, 2004 |
|
|
|
09399866 |
Sep 21, 1999 |
|
|
|
6803945 |
|
|
|
|
Current U.S.
Class: |
348/143 ;
348/E5.042; 348/E7.087 |
Current CPC
Class: |
H04N 5/23218 20180801;
G08B 13/19669 20130101; H04N 7/183 20130101; G08B 13/19602
20130101; A01K 39/00 20130101; G08B 13/19676 20130101 |
Class at
Publication: |
348/143 |
International
Class: |
H04N 007/18 |
Claims
1. A camera system for connection to a web server comprising: a
video camera; and a processor that periodically uploads images
captured by the video camera in accordance with a plurality of
motion detection algorithms, a first motion detection algorithm
capturing a current image frame when a pixel comparison between
successive image frames exceeds a predetermined threshold and a
second motion detection algorithm capturing a stable frame after a
certain duration has lapsed since the predetermined threshold has
been exceeded.
2. The camera system of claim 1 wherein the processor uploads the
current image frame at programmed intervals.
3. (Cancelled)
4. The camera system of claim 1 wherein the plurality of motion
detection algorithms further comprises a third motion detection
algorithm that captures a recent motion frame that occurs a
predetermined time period prior to the occurrence of a stable
frame, the stable frame occurring after a certain duration has
elapsed since the predetermined threshold has been exceeded.
5. (Cancelled)
6. The camera system of claim 4 wherein the processor includes a
circular buffer to successively store motion captured in image
frames in which the predetermined threshold is exceeded.
7.-20. (Cancelled)
Description
RELATED APPLICATION
[0001] This application is related to Application No. ______
entitled, "A Web Microphone System", filed concurrently herewith,
and application No. 09/124,179 entitled, "Digital Opaque Projector
for Easy Creation and Capture of Presentation Material", filed Jul.
28, 1998, which applications are assigned to the assignee of the
present application.
FIELD OF THE INVENTION
[0002] The present invention relates generally to the field of
video capture; more particularly, to video camera systems having
information processing capabilities for uploading pictures to a web
server.
BACKGROUND OF THE INVENTION
[0003] A web camera (i.e., "webcam") system consists of a video
camera plus software that runs on a personal computer to
periodically upload an image from the camera to a web page. The
basic purpose of a web camera system is to post a reasonably live
picture on a user-specified web page. Many webcam systems upload
images on a periodic basis; for example, uploading an image once
per hour.
[0004] FIG. 1 illustrates a web camera system 10, which is typical
of the prior art. System 10 includes a video camera 11 that outputs
a captured video image to a personal computer (PC) 12. Software
running on PC 12 functions to periodically upload the captured
video image to an Internet web page (i.e., a web server) shown in
FIG. 1 by block 13. Internet service providers (ISPs) commonly
provide their patrons with a certain allocation of web page space
for personal use. This allows the user to upload images onto their
web page periodically; with the frequency of uploading being
dependent on the particular type of connection offered by the
ISP.
[0005] Presently, there are two shareware products in existence
that relate to web cameras: Ispy.TM. and Webcam32.TM.. The Ispy
webcam software functions to grab video images, save them as JPEG
files, and then send the saved images automatically to a
user-specified home page via the connection provided by the users'
ISP. Ispy runs under Windows.TM.95, Windows 98 and Windows NT 4.0;
it also works with any video for Windows-compatible cameras and
frame grabbers. Webcam32 is a Windows 95, Windows 98 and Windows NT
application that allows video camera images to be displayed within
a web page. Like Ispy, Webcam32 software is able to upload images
to a web server to allow images to be obtained directly from the
page. Both of these products include various simple
image-processing features such as captioning of photos, day/time
stamping, and text additions.
[0006] Webcam32.TM. software also offers rudimentary motion
detection, which is of primary use in security surveillance
applications. For example, the Webcam32.TM. software allows images
to be uploaded when, say, 25% of the pixels in the image frame
change from one image frame to the next. Although this
motion-detecting feature of the software product is useful in
limited types of motion detection applications (e.g., security
surveillance), it is not useful for different applications. For
example, if the web camera system is intended for use in observing
and recording wildlife activity, then this type of rudimentary
motion detection does not work well.
[0007] Another problem with today's webcam systems is the conflict
between the desire to minimize the number of times the web camera
contacts the ISP and the need to capture "interesting" pictures
(i.e., those containing certain kinds of motion). Most security
surveillance type of web camera systems have a low threshold that
results in the taking of many pictures whenever activity is
detected. Uploading many pictures onto a web page presents a
serious bandwidth problem.
[0008] Furthermore, existing products such as Ispy and Webcam32
only provide the ability to capture images on a given schedule,
e.g., once per hour, or whenever motion occurs, regardless of how
often. If set to capture on a predetermined schedule, images that
may be of interest to the user may end up being ignored. On the
other hand, if the software is set to upload a video image whenever
motion is detected, scenes containing frequent motion can tie up
the user's phone lines.
[0009] Thus, there is a need for a web camera system that overcomes
the problems inherent in the prior art.
SUMMARY OF THE INVENTION
[0010] The present invention is a camera system for connection to a
web server. The system comprises a video camera and a processor
that periodically uploads images captured by the video camera in
accordance with one of a plurality of motion detection algorithms.
A first motion detection algorithm captures a current image frame
when a pixel comparison between successive image frames exceeds a
predetermined threshold.
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The present invention will be understood more fully from the
detailed description which follows and from the accompanying
drawings, which however, should not be taken to limit the invention
to the specific embodiments shown, but are for explanation and
understanding only.
[0012] FIG. 1 is a diagram of a prior art video capture system.
[0013] FIG. 2 is an example of an application of the present
invention.
[0014] FIG. 3 is a conceptual diagram of various motion-detecting
algorithms utilized in accordance with one embodiment of the
present invention.
[0015] FIG. 4 is a flowchart illustrating one of the
motion-detecting algorithms utilized in accordance with one
embodiment of the present invention.
DETAILED DESCRIPTION
[0016] A web camera system that operates in accordance with one of
a plurality of motion detection algorithms is described. In the
following description, numerous specific details are set forth,
such as specific operating modes, procedures, circuit elements,
etc., in order to provide a thorough understanding of the
invention. It will be obvious, however, to one skilled in the art,
that these specific details may not be needed to practice the
present invention.
[0017] The state-of-the-art of web camera systems is such that
there exists a conflict between the desire to minimize the number
of times the web camera system dials up the Internet service
provider and the desire to capture "interesting" pictures (e.g.,
those containing certain particular kinds of motion). As previously
discussed, existing software products utilized to capture video
images permit some rudimentary motion detection. These programs are
utilized in applications concerned primarily with uploading images
the instant motion is detected. While such programs are suitable
for use in applications such as security surveillance systems, they
suffer problems when used in different applications, e.g.,
observation of wildlife activity.
[0018] FIG. 2 illustrates three image frames 21-23 that may be
captured utilizing a web camera system. In this case, the picture
of interest is a bird feeding at a bird feeder station. The web
camera is directed at the station, and operates to upload captured
images either periodically, or in response to detected motion, or
both. The problem that exists with prior art web camera systems
that periodically upload images, say, every half-hour, is that a
bird may arrive and leave many times within that time interval. In
the event that a bird is not present at the scheduled image capture
time, the only picture that will be captured is one of an empty
bird feeder. By way of example, this is the situation represented
by image frame 21.
[0019] If a motion detecting feature is included in the web camera
system, the taking of a picture may be triggered each time movement
above a certain threshold is detected. In this case, when the
number of pixels between two successive pictures changes (above a
predetermined threshold) a new picture is captured and uploaded to
the user's specified web site. By way of example, frame 22 of FIG.
2 illustrates the arrival of a bird at the bird feeder, which
triggers the video capture of an image frame. Note that many web
camera systems in use today typically have low threshold settings
that result in the taking of many pictures when the slightest
activity is detected. This results in a bandwidth problem for the
connection to the Internet service provider.
[0020] Another concern relates to movement of the bird when it
takes flight to leave the bird feeder station. Existing web camera
systems with motion detecting features will trigger on this type of
motion. Unfortunately, the last video image captured as a result of
this type of motion is an empty bird feeder station, as represented
by frame 23. In other words, the most recently captured image for
uploading to the user's web site is that of the empty bird feeder,
rather than the desired image of wildlife activity.
[0021] The present invention solves the problem of motion detection
and timed update by uploading one image each predetermined
interval--selecting the best candidate video image that occurred
during any given interval. The camera system includes a video
camera coupled to a processor that operates in accordance with one
of a plurality of motion detection algorithms to select an image
for uploading to the user's web site.
[0022] The basic algorithm is as follows. Motion is first detected
by performing a pixel comparison between successive image frames.
When the pixel comparison between a current image frame and a
previous image frame exceeds a predetermined threshold level,
software running on the processor saves the current picture as a
candidate for uploading. A simple frame grabber technology may be
utilized for capture of the video image.
[0023] The processor may be programmed to periodically upload the
current or last candidate image. For example, a typical web camera
system may operate by uploading the last candidate image once every
hour. If no motion is detected in the past hour, there are two
options: either no uploading of any image, or upload a current
image captured by the camera regardless of whether motion is
detected.
[0024] FIG. 3 illustrates a conceptual diagram of various detecting
algorithms utilized in accordance with one embodiment of the
present invention. Details of this embodiment are provided below
and also in the attached Appendix, which contains a code listing of
a software program that implements these algorithms.
[0025] With reference to FIG. 3, a camera outputs a color image,
which is then converted to a black-and-white (B/W) pixel
representation of a current image frame. Three different modes of
motion detection are then provided to capture specific types of
events. In the basic mode of motion detection, the web camera
system selects the most recent image containing motion above a
certain threshold. This image represents the candidate image for
uploading to the user-specified web server. As previously
discussed, the basic mode of motion detection involves a
straightforward pixel-by-pixel comparison between a current frame
and a previously captured image frame.
[0026] A second type of motion detection mode of operation is
referred to as "stable-change" detection. The stable-change mode of
motion detection is designed to capture persistent changes in a
scene, while ignoring relatively simple motions. For example, the
stable-change mode of operation is useful in video conferencing
applications where the video camera is aimed at a desk or
whiteboard where a speaker is placing written subject matter or
other objects in front of the camera to facilitate discussion. In
such applications, it is useful to capture the notes written on a
board, or otherwise presented in front of the camera, while
ignoring extraneous motion such as writing on the board, finger
pointing, etc.
[0027] The stable-change mode of operation is aimed at detecting
stable changes to a particular scene and operates in accordance
with an algorithm that captures an image frame a certain time
period following a last detected motion event. The time duration
may be programmable, timed, or fixed depending on what is being
viewed and what is to be captured. In the video conferencing
application discussed above, software running on the processor
operates to capture a video image frame and copy or upload it to
remote sites whenever a new writing (or other object for
presentation) is placed in front of the video camera. The
stable-change mode of operation ignores constant ongoing activity
in the field of view.
[0028] As can be seen in FIG. 3, the stable-change algorithm
compares a current frame against a last stable frame and selects as
a candidate picture the last stable frame when no motion has been
detected for a certain duration (e.g., two seconds).
[0029] The third mode of motion detection operation is referred to
in this application as "novel" motion detection. The novel motion
detection mode of operation solves the problem that arises in
certain applications such as observation of wildlife activity
wherein the motion of a bird arriving at a feeder is very similar
to the motion of the bird departing from the feeder. A webcam
system operating in accordance with only a basic motion detection
algorithm--which simply saves the most recent image with
motion--cannot distinguish between these two types of events. In
other words, the basic motion detection algorithm captures the
image of the just vacated bird feeder for uploading to the web
server, rather than the picture of the bird that left, simply
because it triggers on the last motion detected.
[0030] In solving this problem, the novel motion detection
algorithm compares an image that contains motion against the most
recent stable image, as described above. Images that are not
substantially different from the stable image frame are
ignored.
[0031] FIG. 3 illustrates that novel motion detection involves not
only detection of motion, based on a pixel comparison of a current
frame against a previous frame, but also a comparison between the
current frame and a last stable frame. For example, as applied to
the empty bird feeder problem, the last stable frame is that of the
recently vacated bird feeder. According to this third algorithm,
motion is recorded instead of the absence of motion. That is, the
detection of motion, based on a pixel comparison between the
current frame and previous frame, triggers capture of a current
image frame in a buffer. The buffer may be any one of a variety of
buffers, such as a circular buffer, with a capacity to store a
sufficient number of image frames.
[0032] In this mode, each time motion is detected, the current
image is captured into a circular buffer. In other words, in the
novel motion detection mode of operation, pictures are captured
into a buffer at times other than the last stable frame. The
detection of a last stable frame triggers the uploading of an image
from the circular buffer that was captured some predetermined time
prior to the triggering event. In the bird feeder example, the
uploaded image might be an image frame captured several seconds
prior to the last detected motion, e.g., an image of the bird prior
to leaving.
[0033] In one embodiment of the present invention the selected
image represents a candidate picture that may be uploaded to a web
server at a predetermined interval. Generally speaking, the user
may set the interval for uploading the last candidate picture, as
well as the particular mode of motion detection to be utilized.
[0034] FIG. 4 is a flow chart illustrating the novel motion
detection algorithm in accordance with one embodiment of the
present invention. The flow chart begins at step 31, which
indicates the capture of a current image frame by the video camera.
If a colored video camera is utilized, the color image may be
transformed to a black and white pixel representation. At step 33,
a pixel comparison is made between the current frame and a
previously captured frame. If the pixel comparison indicates that
the number of pixels between the two frames exceeds a predetermined
threshold, then the algorithm proceeds to step 34. If the
predetermined threshold is not exceeded (i.e., no motion is
detected) the flow chart returns to step 31.
[0035] When basic motion is detected, the pixel comparison causes a
motion signal to be asserted by logic circuitry in the processor.
This is illustrated in FIG. 4 by step 34. Assertion of the motion
signal causes the current image to be loaded into a candidate
buffer which holds the most recent images for periodic uploading to
a web site.
[0036] Both the current image frame and the previous image frame
may be held in separate buffers after being captured by the video
camera. In this particular mode of operation, a circular buffer may
be utilized as a candidate buffer for holding the most recent
images captured responsive to the motion signal. The storing of the
image frames in the circular buffer is represented in FIG. 4 by
step 35.
[0037] Step 36 is a determination of whether a stable image frame
is detected. If not, the algorithm returns to the beginning step
31. On the other hand, if a stable frame is detected, then one of
the stored frames is selected for uploading to a web server. The
particular frame that may be chosen is the frame that occurred a
predetermined time prior to the detection of a stable frame. For
example, in the bird feeder example, it is useful to select an
image that was captured several seconds prior to the last detected
motion of the bird leaving the feeder.
* * * * *