WO1999060788A1 - Locating an audio source - Google Patents

Locating an audio source Download PDF

Info

Publication number
WO1999060788A1
WO1999060788A1 PCT/US1999/010667 US9910667W WO9960788A1 WO 1999060788 A1 WO1999060788 A1 WO 1999060788A1 US 9910667 W US9910667 W US 9910667W WO 9960788 A1 WO9960788 A1 WO 9960788A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
image
audio
face
signals
Prior art date
Application number
PCT/US1999/010667
Other languages
French (fr)
Other versions
WO1999060788A9 (en
WO1999060788A8 (en
Inventor
Steven L. Potts
Hong Wang
Wendi Beth Rabiner
Peter L. Chu
Original Assignee
Picturetel Corporation
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 Picturetel Corporation filed Critical Picturetel Corporation
Priority to AU63087/99A priority Critical patent/AU6308799A/en
Priority to JP2000550274A priority patent/JP4450508B2/en
Priority to DE69920138T priority patent/DE69920138T2/en
Priority to EP99925630A priority patent/EP1004204B1/en
Publication of WO1999060788A1 publication Critical patent/WO1999060788A1/en
Publication of WO1999060788A8 publication Critical patent/WO1999060788A8/en
Publication of WO1999060788A9 publication Critical patent/WO1999060788A9/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S3/00Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received
    • G01S3/78Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received using electromagnetic waves other than radio waves
    • G01S3/782Systems for determining direction or deviation from predetermined direction
    • G01S3/785Systems for determining direction or deviation from predetermined direction using adjustment of orientation of directivity characteristics of a detector or detector system to give a desired condition of signal derived from that detector or detector system
    • G01S3/786Systems for determining direction or deviation from predetermined direction using adjustment of orientation of directivity characteristics of a detector or detector system to give a desired condition of signal derived from that detector or detector system the desired condition being maintained automatically
    • G01S3/7864T.V. type tracking systems
    • G01S3/7865T.V. type tracking systems using correlation of the live video image with a stored image
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S3/00Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received
    • G01S3/80Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received using ultrasonic, sonic or infrasonic waves
    • G01S3/802Systems for determining direction or deviation from predetermined direction
    • G01S3/808Systems for determining direction or deviation from predetermined direction using transducers spaced apart and measuring phase or time difference between signals therefrom, i.e. path-difference systems
    • G01S3/8083Systems for determining direction or deviation from predetermined direction using transducers spaced apart and measuring phase or time difference between signals therefrom, i.e. path-difference systems determining direction of source
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • H04R3/005Circuits for transducers, loudspeakers or microphones for combining the signals of two or more microphones
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S3/00Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received
    • G01S3/80Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received using ultrasonic, sonic or infrasonic waves
    • G01S3/86Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received using ultrasonic, sonic or infrasonic waves with means for eliminating undesired waves, e.g. disturbing noises
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2430/00Signal processing covered by H04R, not provided for in its groups
    • H04R2430/20Processing of the output signals of the acoustic transducers of an array for obtaining a desired directivity characteristic

Definitions

  • This invention relates to systems, including video conferencing systems, which determine a direction of an audio source relative to a reference point.
  • Video conferencing systems are one variety of visual display systems and commonly include a camera, a number of microphones, and a display. Some video conferencing systems also include the capability to direct the camera toward a speaker and to frame appropriate camera shots. Typically, users of a video conferencing system direct the camera and frame appropriate shots .
  • the invention features a system which includes an image pickup device, an audio pickup device, and an audio source locator.
  • the image pickup device generates image signals representative of an image
  • the audio pickup device generates audio signals representative of sound from an audio source.
  • the audio source locator processes the image signals and audio signals to determine a direction of the audio source relative to a reference point.
  • the invention features a system including an image pickup device and a face detector.
  • the image pickup device generates image signals representative of an image.
  • the face detector processes the image signals to detect a region in the image having flesh tone colors, and determines, based on the detection, whether the image represents a face.
  • the invention features a video conferencing system including microphones, a camera, a positioning device, a processor, and a transmitter.
  • the microphones generate audio signals representative of sound from an audio source and the camera generates video signals representative of a video image.
  • the positioning device is capable of positioning the camera, for example, for tilting, panning, or zooming the camera.
  • the processor processes the video signals and audio signals to determine a direction of a speaker relative to a reference point and supplies control signals to the positioning device for positioning the camera to include the speaker in the field of view of the camera, the control signals being generated based on the determined direction of the speaker.
  • the transmitter transmits audio and video signals, which can be the same as the audio and video signals used for locating the audio source, for video- conferencing.
  • the invention features a system including microphones, a camera, a positioning device, a processor, and a transmitter.
  • the microphones generate audio signals representative of sound from an audio source and the camera generates video signals representative of a video image.
  • the positioning device is capable of positioning the camera, for example, for tilting, panning, or zooming the camera.
  • the processor processes the audio signals to determine a direction of a speaker relative to a reference point and supplies control signals to the positioning device for positioning the camera to include the speaker in the field of view of the camera, the control signals being generated based on the determined direction of the speaker.
  • the transmitter transmits audio and video signals, which can be the same as the audio and video signals used for locating the audio source, for video-conferencing.
  • Preferred embodiments may include one or more of the following features.
  • the image pickup device includes a positioning device for positioning the image pickup device.
  • the audio source locator supplies control signals to the positioning device for positioning the image pickup device based on the determined direction of the audio source.
  • the positioning device can then pan, tilt, and optionally zoom the image pickup device in response to the control signals.
  • the audio source locator supplies control signals to the positioning device for positioning the image pickup device.
  • An integrated housing for an integrated video conferencing system incorporates the image pickup device, the audio pickup device, and the audio source locator, where the integrated housing is sized for being portable.
  • the housing can incorporate the microphones, the camera, the positioning device, the processor, and the transmitter.
  • An image of a face of a person who may be speaking is detected in a frame of video.
  • the image of the face is detected by identifying a region which has flesh tone colors in the frames of video and may represent a moving face which is determined, for example, by comparing the frame of video with a previous frame of video. It is then determined whether size of the region having flesh tone colors corresponds to a pre-selected size, the preselected size representing size of a pre-selected standard face. If the region having flesh tone .colors corresponds to a flesh tone colored non-human object, the region is determined not to correspond to an image of a face. The direction of the face relative to the reference point is also determined.
  • the audio source locator includes an audio based locator for determining an audio based direction of the - A - audio source based on the audio signals and a video based locator for determining a video based location of an image in one of the frames of video.
  • the image may be the image of the audio source which may be an object or a face of a speaking person.
  • the audio source locator determines the direction of the audio source relative to the reference point based on the audio based direction and the video based location.
  • the audio source locator detects the image of the face of a speaking person by detecting a speaking person based on the audio signals, detecting images of the faces of a plurality of persons based on the video signals, and correlating the detected images to the speaking person to detect the image of the face of the speaking person.
  • the audio source locator determines an offset of the video based location of the image from a predetermined reference point in a frame of video and modifies the audio based direction, based on the offset, to determine the direction of the audio source relative to the reference point. In this manner, the audio source locator can, for example, correct for errors in determining the direction of the audio source because of mechanical misalignments in components of the system.
  • the audio source locator uses a previously determined offset of a video based location of an image in a previous frame of video and modifies the audio based direction to determine the direction of the audio source. In this manner, the audio source locator can, for example, prevent future errors in determining the direction of the audio source because of mechanical misalignments in components of the system.
  • the audio source locator detects movements of a speaker and, in response to those movements, causes an increase in the field of view of the image pickup device. In this manner, audio source locator can, for example, provide for the image pickup device capturing a shot of the person as the person moves without necessarily moving the image pickup device to follow the person.
  • Audio source locator correlates the audio based direction detected based on the audio signals to the stored video based location of the image in a frame of video and modifies the audio based direction, based on the results of the correlation, to modify audio based direction to determine the direction of the audio source relative to the reference point. To do so, for example, audio source locator modifies its processing to improve its accuracy.
  • a memory unit stores a previously determined direction of an audio source based on the audio signals and a previously determined video based location of an image of a face of a non-speaker person in a previous one of the frames of video.
  • the audio source locator uses the stored audio based direction and video based location to cause an adjustment in the field of view of the image pickup device to include, in the field of view, the audio source and the previously determined video based location.
  • the audio source locator can, for example, provide for room shots which include both speaking persons and nonspeaking persons .
  • the audio based locator detects a plurality of audio sources and uses at least one parameter to determine whether to validate at least one of the plurality of audio sources to use in producing the control signals for the image pickup device, where changing the parameter in one direction increases a likelihood of the audio based locator validating at least one of the plurality of audio sources and changing that parameter in another direction decreases the likelihood of validating at least one of the plurality of audio sources.
  • the audio source locator correlates the audio based direction of the audio source with the stored video based location of the image in the some frame to determine whether the image in that video frame corresponds to the audio source. If the image in the that frame of video corresponds to the audio source, the audio based locator changes the parameter in the direction which increases the likelihood of validation. If the image does not correspond to the audio source, the audio based locator changes the parameter in the direction which decreases the likelihood of validation. In this manner, for example, the response time of the audio source locator is dynamically monitored and improved.
  • the audio source locator correlates the audio based direction of the audio source with the video based location of the image in a frame of video to determine whether the image corresponds to the audio source. If the audio source locator determines that the image fails to correspond to the audio source, the audio source locator causes an adjustment in the field of view of the image pickup device to include, in the field of view, the audio source and the video based location of the image in the frame of video. In this manner, for example, the audio source locator can allow for preventing gross camera pointing errors.
  • the audio source locator can also determine the distance from the reference point to the audio source.
  • the audio based locator determines a distance from the reference point to the audio source based on the audio signals while the video based locator determines another distance from the reference point to the audio source based on an image associated with audio source. Audio source locator then determines a finalized distance based on the audio based distance and the video based distance.
  • the video based locator determines a video based location of the image by detecting a region representing a moving person and determining, in part or in whole, a contour of an image of the moving person.
  • the video based locator uses a parameter in detecting the contour of the image, where changing the parameter in one direction increases a likelihood of detecting contours of images and changing that parameter in another direction decreases the likelihood.
  • the video based locator changes the parameter, when detecting the contour of the image, to increase or decrease the likelihood.
  • the video based locator determines a noise level where an increase in the noise level decreases the likelihood of detecting contours representative of the persons in a video image and the video based locator changes the parameter based on the noise level.
  • the audio source locator supplies control signals to the positioning device for positioning the image pickup device.
  • the control signals include signals, based on the audio based direction detected based on the audio signals, for causing the positioning device to pan the image pickup device and signals, based on the video based location detected based on video, for tilting the image pickup device .
  • Embodiments of the invention include one or more of these advantages.
  • Determining the direction and/or location of an audio source relative to a reference point based on both audio and video provides for a system of checks and balances improving the overall performance of the automatic camera pointing system.
  • a low complexity and scaleable combination of common image processing blocks can be used to implement embodiments of the invention. Such embodiments can advantageously have low computational and memory requirements and at the same time deliver robust performance for various applications, such as video conferencing .
  • errors in some visual systems such as video conferencing systems, which locate speakers based on audio signals can be corrected for and possibly prevented.
  • the corrected for errors include mechanical pan and tilt misalignment errors, range measurement and associated zoom errors, and gross pointing errors.
  • the errors which can be prevented include gross pointing errors. Additionally, the response time of such visual systems can be decreased.
  • the performance of systems and algorithms for automatically setting up camera shots in such audio and visual systems are improved.
  • a better "room shot” can be obtained by including non-speaking persons detected based on video images.
  • a moving speaker, such as one giving a presentation, can be tracked by tracking his image.
  • audio based locator can find the audio based direction of the audio source and cause the camera positioning device pan the camera. Video based locator can then detect an image of the speaker and cause the camera positioning device tilt the camera. In this manner, an already available resource in the system (that is, video signals) is used to provide an otherwise unavailable feature, tilt.
  • Embodiments of the invention include integrated and portable video conferencing units. In these units, video images can be used for providing tilt information and possibly zoom information while the audio signals can be used for providing panning information.
  • audio based locators are typically less computationally intensive than video based locators. Therefore, it is faster to locate the speaker using audio based detection, to move an image pickup device based on the audio based detection, and then to use the results from the video based locator to correct the camera positioning and framing.
  • embodiments of the audio based locator can be implemented using components which are not as precise as they may otherwise have to be.
  • Figure 2 schematically shows components of the video conferencing system.
  • Figure 3 shows the various functional modules of a camera pointing module in the video conferencing system.
  • Figure 4 is a flow chart of the operation of the camera pointing module.
  • Figure 5 is a flow chart of detailed steps performed by a video face location module.
  • Figure 6 is the pseudocode for an algorithm for creating a flesh tone binary map.
  • Figure 7 is the pseudocode for an algorithm for detecting pixels in a current video frame corresponding to objects which have moved since the previous video frame .
  • Figure 8 is the pseudocode for an algorithm for rejecting face segments based on their spatial luma variances and temporal luma difference variances.
  • Figure 9 shows a flow chart of the steps taken by a face location tracking module.
  • Figure 10 is the pseudocode for a prediction algorithm for estimating, for a current video frame, the location of the images of faces which were detected in a previous video frame .
  • Figure 11 is the pseudocode for an association algorithm for associating the detected faces in the current video frame to existing track files.
  • Figure 12 is the pseudocode for an algorithm for updating the track files.
  • Figure 13 shows a flow chart of the steps taken by a speaker validation and framing module.
  • Figure 14 illustrates an error in framing a camera shot due to a misalignment between the camera and a microphone arr y.
  • Figure 15 shows a flow chart of the steps taken by a camera control module to correct for an error in framing a camera shot due to a misalignment between the camera and a microphone array.
  • Figure 16 illustrates an error in framing a camera shot due to a gross pointing error.
  • Figure 17 shows a flow chart of the steps taken by a camera control module to correct for a gross pointing error.
  • Figure 18 illustrates an error in framing a camera shot due to a range finding error.
  • Figure 19 shows a flow chart of the steps taken by a camera control module to correct for a range finding error.
  • Figure 20 shows a flow chart of the steps taken by a speaker validation and framing module to prevent gross pointing errors.
  • Figure 21 shows a flow chart of the steps taken by a speaker validation and framing module to reduce the response time of the video conferencing system of Figure 1.
  • Figure 22 shows a flow chart of the steps taken by a speaker validation and framing module to frame a group shot.
  • Figure 23A-C show top views of the position of a moving speaker relative to the field of view of a camera.
  • Figure 24 shows a flow chart of the steps taken by a speaker validation and framing module to adjust the field of view of a camera for a moving speaker.
  • Figure 25 shows an alternative embodiment of a video conferencing system.
  • Figure 26 is a flow chart of detailed steps performed by a video face location module to detect contours of speaking persons.
  • Video conferencing system 10 includes a video camera 14 and an array of microphones 12 which includes microphones 12A, 12B, 12C, 12D positioned a predetermined distance from one another in a predetermined geometry.
  • Video camera 14 is mounted on a camera positioning device 16 capable of panning, tilting, and zooming video camera 14.
  • video conferencing system 10 receives sound waves from a human speaker and converts them to audio signals.
  • Video conferencing system also captures video images of the speaker.
  • Video conferencing system 10 uses the audio signals and video images to determine a location of the speaker (s) relative to a reference point, for example, camera 14 or the center of rotation of camera positioning device 16. Based on that direction, video conferencing system 10 can then pan, tilt, or zoom in or out camera 14 to obtain a better image of the speaker (s).
  • a location of the speaker relative to camera 14 can be characterized by two values: a direction of the speaker relative to camera 14, which may be expressed by a vector, and a distance of the speaker from camera 14.
  • the direction of the speaker relative to camera 14 can be used for pointing camera 14 toward the speaker by panning or tilting camera 14 and the distance of the speaker from camera 14 can be used for zooming camera 14.
  • Fig. 2 schematically shows components of video conferencing system 10.
  • Microphones 12 and camera 14 respectively supply audio signals 22 and video signals 24 to an audio and video signal processing unit 20.
  • Audio and video signal processing unit 20 includes an audio source locator 28 which analyzes the audio signals 22 and video signals 24 to determine the location of a speaker.
  • Audio source locator 28 supplies camera control signals 26 to camera positioning device 16 and camera 14 for panning, tilting, and zooming camera 14.
  • Audio and video signal processing unit 20 also supplies a coder/decoder 30 with audio signals 22 and video signals 24.
  • Coder/decoder 30 compresses the audio and video signals and then supplies the compressed video signals and the audio signals to a network interface 40 which transmits the signals across a telecommunication network 42 to a receiving video conference system (not shown) .
  • a control and user interface layer 50 allows a user to interact with and control the operation of the various components of video conferencing system 10 including audio and video signal processing unit 20, coder/decoder 30, and network interface 40.
  • Fig. 3 shows the various functional modules of audio source locator 28. These modules can be implemented, for example, by an appropriately programmed processor such as a microprocessor having suitable memories such as read only memory (ROM) , random access memory (RAM) and/or other forms of memory. Alternatively, suitable processors for performing the functions of the modules in Fig. 3 include programmable digital signal processors, minicomputers, microcontrollers, programmable logic arrays and application specific integrated circuits. In other embodiments, some or all of the modules in Fig. 3 can be implemented to run on a processor which is not a part of video conferencing system 10.
  • a processor such as a microprocessor having suitable memories such as read only memory (ROM) , random access memory (RAM) and/or other forms of memory.
  • suitable processors for performing the functions of the modules in Fig. 3 include programmable digital signal processors, minicomputers, microcontrollers, programmable logic arrays and application specific integrated circuits.
  • some or all of the modules in Fig. 3 can be implemented
  • video conferencing system 10 the various components and circuits constituting video conferencing system 10 are housed within an integrated housing 10A shown in Fig. 1.
  • Integrated housing 10A is designed to be able to house all of the components and circuits of video conferencing 10. Additionally, integrated housing 10A can be sized to be readily portable by a person. In such an embodiment, the components and circuits can be designed to withstand being transported by a person and also to have "plug and play" capabilities so that video conferencing system can be installed and used in a new environment quickly.
  • microphone array 12, camera 14, camera positioning device 16, and audio source locator 28 may be separated from other components and included in an automatic camera positioning device.
  • a host video conferencing device incorporates the other components of video conferencing system 10. The automatic camera positioning device and the host video conferencing device then together constitute a video conferencing system.
  • An audio based locator (or audio based detector) 70 receives audio signals 22 and determines the location of a speaker (i.e an audio source) relative to the microphone array. Audio based locator 70 then generates a series of camera positioning directives with respect to panning, tilting, and zooming camera 14. These directives can be partly based on face detection and location analysis performed by a video based locator (or video based detector module) 60. Audio based locator 70 then supplies a camera control module 80 with these camera positioning directives.
  • video based locator 60 analyzes the images in video frames 24 received as digital signals and stored as digital data in a memory storage unit (not shown) .
  • Video based locator 60 detects human faces in the images and determines their position relative to a reference point in the frame of video in which they are detected.
  • Camera control module 80 then correlates a detected video face with the detected audio speaker and uses that correlation to correct or prevent camera framing errors .
  • Fig. 4 is a flow chart of the operation of audio source locator 28.
  • Video based locator 60 includes processing modules 102-110, while audio based locator 70 includes processing modules 112-118. Each of these processing modules will be described in detail below.
  • a video face location module 102 analyzes video signals 24 to detect faces in a single video frame.
  • a video offset/error measurement module 104 measures the offset of the location of the detected faces from some pre-determined and static reference point (for example, the center of the video image) and/or a dynamic reference point (for example, the currently detected speaker) .
  • a face location tracking module 106 correlates the detected faces from the current video frame to the detected faces in the previous video frames and hence tracks the detected faces through a series of frames. This tracking allows for obtaining a proper position of a speaker in a video frame who may be moving, as will be described below. To perform this tracking, face location tracking module 106 creates and maintains a track file for each detected face.
  • Modules 102-108 compute various measurements relative to a video coordinate system which is based on the video frame.
  • the video coordinate system applies to each frame captured by camera 14.
  • the video coordinate system has a horizontal or x-axis and a vertical or y- axis.
  • modules 102-108 determine that position relative the x-axis and the y-axis of that pixel's or image's video frame.
  • Camera control module 80 and audio based locator 70 in turn use an audio coordinate system which indicates a location of a speaker based on pan, tilt, and zoom angles which describe the direction of the speaker relative to camera 14 and range or distance from camera 14 to the speaker.
  • a transform to audio coordinates module 108 converts coordinate measurements expressed in the video coordinate system to coordinate measurements expressed in the audio coordinate system using the pan, tilt, and zoom values of camera 14 when the frame was captured by camera 14.
  • a transform to video coordinates module 112 of audio based locator 70 converts coordinate measurements expressed in the audio coordinate system to coordinate measurements expressed in the video coordinate system, also by using the pan and tilt values of camera 14 when the frame was captured by camera 14.
  • a face location memory module 110 stores in memory the results of the processing in modules 102-108, as will be described below.
  • audio speaker location module 114 determines the location of a speaker based on audio signals 22. The results of this location determination is typically a set of pan, tilt, and range coordinate measurements.
  • a speaker validation and framing module 116 determines whether the detected location of the speaker is a valid detection . Based on the results of the current and previous detections, speaker validation and framing module 116 then determines the most appropriate camera pan, tilt, and zoom (that is, the most appropriate camera shot or framing) . Speaker validation and framing module 116 can use the measurements obtained in video based locator 60 to improve the appropriate camera shot, as will be described below.
  • An audio location memory 118 stores the results of the processing in modules 114-116.
  • Camera control module 80 acquires from speaker validation and framing module 116 the desired camera framing directives. Camera control module 80 also acquires from video based locator 60 the offset and/or error measurements between the speaker locations detected based on the video signals and the audio signals. Camera control module 80 then uses the values acquired from video based locator 60 to adjust the desired camera framing acquired from audio based locator 70 to correct for mechanical misalignment errors, as will be described below in detail .
  • video face location module 102 analyzes current and previous frames of video images from camera 14 and determines the position of the faces in the current frame.
  • Fig. 5 is a flow chart of the detailed steps performed by video face location module 102. Briefly, video face location module 102 identifies regions or segments in a frame which may contain a face based on detecting pixels which have flesh tone colors and which represent pixels which have moved.
  • Video face location module 102 first retrieves current and previous video frames 132 which are stored in memory.
  • video frames for face detection are captured in 420 YUV format at 3-5 frames per second with a resolution of 320x240 pixels for luminance (luma) and 160x120 pixels for chrominance (chroma) .
  • the luma values are then down sampled to a lower resolution of 160x120.
  • QCIF video with a resolution of 172x144 for luma and chroma can be used.
  • other video formats, resolution, etc. can be used.
  • Video face location module 102 then reduces, in step 134, the image in the retrieved frame to a flesh tone binary map, where each pixel that has a chroma value corresponding to flesh tone colors is assigned a value of "1" in the flesh tone binary map (hereinafter, referred to as a "flesh tone pixel”) .
  • Fig. 6 is the pseudocode for an algorithm 600 for creating fclie flesh tone binary map.
  • video face location module 102 tests the chroma value of the pixel against chroma threshold values for flesh tone colors .
  • These chroma or flesh tone threshold values can, for example, be set at -50 ⁇ Cb ⁇ -5 and 7 ⁇ Cr ⁇ 60.
  • video face location module 102 next analyzes, in step 136, the frame to detect which flesh tone pixels in the flesh tone binary map correspond to objects which have moved since the previous frame (hereinafter, "motion pixels").
  • motion pixels A human face is usually moving. Therefore, by identifying pixels which do not correspond to moving objects, video face location module 102 rejects a high percentage of falsely detected flesh tone pixels.
  • Fig. 7 is the pseudocode for an algorithm 700 for detecting motion pixels. For each pixel (step 705) , if the flesh tone binary map value for that pixel is '1' (step 710), then video face location module 102 determines whether the pixel is also a motion pixel.
  • video face location module 102 tests the luma value of that pixel against the luma value of the same pixel in the previous frame. If the absolute difference of the luma values is less than to a motion threshold value (in the described embodiment, the value of the motion threshold value is 5 for an 8 bit luma) , then video face location module 102 determines that the pixel corresponds to a non-moving object and reassigns the flesh tone binary map value for that pixel to '0' (steps 715-720) .
  • a motion threshold value in the described embodiment, the value of the motion threshold value is 5 for an 8 bit luma
  • video face location module 102 in step 138, applies a filter to the flesh tone detection to reduce false detections resulting from noise (step 138) .
  • filters can be used for filtering out or reducing the effect of noise.
  • video face location module 102 uses a linear two dimensional filter, namely a 5X5 box car filter with unity coefficients.
  • Video face location module 102 applies this filter to a particular pixel by adding the number of positive flesh tone and motion detections in a 5X5 square of pixels surrounding the pixel being filtered. If the sum is above a pre-determined threshold value, then the flesh tone binary map value for that pixel is set to "1".
  • video face location module 102 sets the flesh tone binary map value for that pixel to ' 0' .
  • Video face location module 102 then, in step 140, segments the flesh tone binary image map into rectangle segments (or boxes) surrounding regions which contain contiguous areas of flesh tone pixels and therefore may contain images of faces (hereinafter, referred to as a "face segments").
  • face segments segments the flesh tone binary image map into rectangle segments (or boxes) surrounding regions which contain contiguous areas of flesh tone pixels and therefore may contain images of faces (hereinafter, referred to as a "face segments").
  • face segments images of faces
  • video face location module 102 determines the difference between the location and average chroma value of the set and the location and average chroma values of all the previously identified face segments in the current frame. Video face location module 102 then attaches the set of pixels to the face segment for which the calculated difference was within a predetermined threshold value and was also the minimum difference calculated for all previously identified face segments. Video face location module 102, if necessary, adjusts the size of the face segment to include the new set of pixels. Additionally, video face location module 102 recalculates the average chroma value for that face segment within the additional new set of pixels. Video face location module 102 in this manner assigns each flesh tone pixel to a face segment.
  • video face location module 102 uses the set of pixels to create a new face segment .
  • segment/face classification step 142 video face location module 102 then examines all of the detected face segments and rejects those face segments which do not likely represent a face.
  • Video face location module 102 uses two methods to determine whether a face segment likely represents a face. According to the first method, video face location module 102 determines whether the size of the face segment corresponds to a default size of the image of a typical or preselected standard head given the camera range value.
  • video face location module 102 determines that the face segment likely does not represent a face. Additionally, if the proportions of a face segment are not within a range for a typical head (for example, width to height ratio of 1.5), video face location module 102 determines the face segment likely does not represent a face. According to the second method, video face location module 102 rejects face segments which have been detected because of shadows moving over flesh tone colored backgrounds or because of objects moving over flesh tone colored background.
  • video face location module 102 rejects face segments having spatial luma variance or temporal luma difference variance below predetermined threshold values.
  • Fig. 8 is the pseudocode for an algorithm 800 for rejecting face segments based on spatial luma variance and temporal luma difference variance.
  • the temporal luma difference variance of a face segment is the variance of the difference between the luma value of the pixel between the current and previous frames from a mean difference, between the current and previous frames, of all luma values for the pixels in that face segment.
  • the difference in the luma values varies significantly from the mean difference and hence the temporal luma difference variance is relatively large.
  • Steps 805-825 in algorithm 800 in Fig. 8 use the temporal luma difference variance to detect face segments which have been classified as face segments but more likely represent stationary objects subject to moving shadows.
  • video face location module 102 calculates the mean difference in the luma values for that face segment between the current frame and the previous frame (step 810) . To do so, for each pixel in the face segment, video face location module 102 computes the difference in the luma values from the previous frame. Video face location module 102 then adds these differences and divides the sum by the size of the face segment to obtain the mean difference in luma values. Video face location module 102 then determines, for each pixel, the squared difference between the mean difference in luma values computed in step 810 and the difference in luma values between the current frame and the previous frame (step 815) .
  • Video face location module 102 adds these squared differences and divides the sum by the size of the face segment to determine the temporal luma difference variance for the face segment (step 815) . If the temporal luma difference variance for the face segment is below a predetermined threshold value (step 820) , video face location module 102 determines that the face segment is likely not an image of a face (step 825) .
  • video face location module 102 uses spatial luma variances to reject face segments which represent uncovered, flesh-tone background. For example, when a person moves in front of a flesh tone colored door, video face location module 102 identifies the trailing edge of the image of the person as moving pixels. Similarly, video face location module 102 may identify hands which move over a flesh-colored table as moving pixels. To identify these false face segments, video face location module 102 uses the fact that uncovered flesh tone colored objects are typically smooth, while faces have multiple edges and are not smooth. Therefore, video face location module 102 calculates the spatial luma variance of each face segment and rejects the face segments which have variances less than a pre-determined threshold value.
  • the spatial luma variance for a face segment is the sum of the squared differences between luma values for all pixels in a face segment from the mean luma value for that face segment divided by the size of the face segment.
  • Steps 805 and 830-845 in algorithm 800 in Fig. 8 use the spatial luma variances for the detected face segments to reject false face segments which more likely represent flesh tone background.
  • video face location module 102 computes the mean luma value for that face segment (step 830) . To do so, video face location module 102 adds the luma values of all of the pixels in that face segment and divides the sum by the size of the face segment.
  • Video face location module 102 determines the sum of the squared differences of the luma value of each pixel in the face segment from the mean difference in luma values computed in step 830. Video face location module 102 divides the sum by the size of the face segment to determine the spatial luma variance of that face segment (step 835) .
  • video face location module 102 determines the face segment being examined is not an image of a face (step 845) . At this point, video face location module 102 assumes that all remaining face segments represent faces. After segment/face classification step 142, video face location module 102 reduces the flesh tone binary map to a map 144 having a number of face segments representing detected faces.
  • video offset/error measurement module 104 determines the offset of detected faces in the camera view from a video coordinate reference point.
  • the reference point can be a fixed reference point (for example, the center of the camera image or a frame of video) or a dynamic reference point (for example, location of a speaker detected by audio based locator 70) .
  • video offset/error measurement module 104 computes the offset by determining the X-axis and Y-axis difference between the center of the detected face and reference point.
  • audio based locator 70 first converts the coordinates of the reference point from the audio coordinate system to the video coordinate system (step 112) .
  • Video offset/error measurement module 104 uses these converted values to calculate the offset.
  • face location tracking module 106 is performed.
  • face location tracking module 106 associates detected faces in the current frame (that is, currently detected faces) to previously detected faces in existing track files.
  • Face location tracking module 106 then updates the existing track files.
  • Face location tracking module 106 also creates new track files for those currently detected faces that can not be associated with existing track files.
  • the results of face location tracking module 106 are typically used for framing camera shots in the cases where the video conferencing system 10 moves camera 14 to track a moving speaker, as will be described below.
  • Each track file corresponds to one detected face and stores parameters for that face.
  • the stored parameter values not only include those associated with the current video frame but also, if required, those associated with the previous video frames in which the face was detected.
  • the parameters include location, size, and parameters associated with movement.
  • the track files can also store the audio coordinate pan, tilt, and range values associated with detected faces for the particular frames in which the faces were detected. Additionally, the track files can store the values for the number of frames in which the face has been detected (hereinafter, "update_count” ) and the number of frames since the last time the face was detected (hereinafter, "noupdate_count”) .
  • the track files also can store a confidence measurement of the accuracy of any estimated, or predicted location based on the values stored in the track file.
  • Fig. 9 shows a flow chart 900 of the steps taken by face location tracking module 106.
  • face location tracking module 106 For each video frame processed for face detection (step 901) , face location tracking module 106 first determines whether the frame of video was captured at the start of a new camera move (step 902) . If so, face location tracking module 106 initializes the initial set of track files (step 905) .
  • the initial set of track files can be either a set of new track files or all of the existing track files. Face location tracking module 106 determines which initial set of track files to use based on how the track files will be used. If the initial set of files includes only new track files, then face location tracking module 106 creates a new track file for each detected face in the current frame.
  • These track files are then populated with the pan, tilt, and range values or audio location of the face and the parameters associated with the detected faces in the current frame such as video coordinates size, location, offset, motion, and other measurements from modules 104 (Fig. 4) , as needed.
  • Face location tracking 106 does not use the video frame at the start of a new camera move for face tracking (step 930) and the face tracking processing for this video frame ends (step 925) .
  • face location tracking module 106 determines whether the video frame was captured when a camera move was in progress (step 907) . If a camera move was in progress, face location tracking module 106 does not use the video frame for face tracking processing (steps 907, 930) and the face tracking processing for this video frame ends (step 925) . If the video frame was captured when a camera move was not in progress, face location tracking module 106 in step 910 determines whether the camera was settled when the video frame was captured, that is, whether all camera movements which affect the video face location processing had stopped) .
  • Face location tracking module 106 determines whether camera 14 had settled by either sampling camera settling signals 25 (Figs. 3 and 4) until the signals stop changing or by waiting for some pre-determined time period after a camera move starts.
  • face location tracking module 106 does not use the video frame in face location tracking (steps 910, 930) and the face tracking processing for this video frame ends (step 925) . If face location tracking module 106 determines that camera 14 had settled (step 910) , face location tracking module 106 attempts to associate the location of detected faces in the video frame with the existing track files (step 915) . (In the case where the existing track files are not used in step 905, face location tracking module 106 does not perform steps 915 and 920.) Associating the location of the detected faces involves the following steps, described here in general terms:
  • this step involves, based on the track files associated with the previous frame, predicting estimates of the locations in the current video frame of the faces detected in the previous video frame. This step also involves calculating a confidence value for that estimation.
  • Ordered association of the current detected faces and the track files associated with the previous frame involves, for each track file, determining the likelihood that each currently detected faces corresponds to the track file. Face location tracking module 106 then determines which of the detected faces passes a minimum threshold of likelihood and also has the highest measure of likelihood. Face location tracking module 106 then associates that detected face to the track file. - Deletion of old files based on the value of noupdate_count variable .
  • Fig. 10 is the pseudocode for a prediction algorithm 1000.
  • face location tracking module 106 uses a fixed gain filter to predict the new values.
  • face location tracking module 106 can use more complex filters such as variable gain filters as in Kalman filters.
  • face location tracking module 106 predicts the horizontal or x-axis location of a pixel that represents the center of a detected face (hereinafter, the center pixel) corresponding to a track file (step 1010) .
  • face location tracking module 106 adds the estimated location of the center pixel in the previous frame (x ⁇ (n-l) ) to the horizontal value of the estimated pixel motion associated with the previous frame (k i (n-l) ) .
  • Face location tracking module 106 computes the predicted value of the pixel motion when updating the track files, as will be described below. In step 1015, face location tracking module 106 computes the predicted horizonal value of the pixel motion associated with the current frame ki n) ) by multiplying the horizontal value of the estimated pixel motion of the previous frame ⁇ (n-l) ) by a predetermined fixed gain value (g md ) . Face location tracking module 106 then performs steps 1020 and 1025 which are similar to steps 1010 and 1015 and calculates the vertical axis (y- axis) values .
  • face location tracking module 106 computes the value of the confidence parameter for the current prediction ci fn) ) by multiplying the confidence value in the track file ( c ⁇ (n-l) ) by a fixed gain value (g ca ) .
  • face location tracking module 106 attempts to associate the detected faces in the current video frame to the existing track files.
  • Fig. 11 is the pseudocode for an association algorithm 1100 for associating the detected faces in the current video frame to the existing track files.
  • face location tracking module 106 compares each track file to all detected faces. Face location tracking module 106 associates a detected face to a track file, if the distance along the x- and y-axes between the position of the detected face and the predicted position of the face associated with that track file is smaller than the difference for all other detected faces.
  • face location tracking module 106 determines whether the track file is an initialized and active track file (step 1107) . If the track file is an initialized and active track file, then face location tracking module 106 determines for each detected face j whether the distance along the x- and y- axes between the position of the detected face and predicted position values for the track file is less than the maximum distance threshold values (steps 1110-1112) .
  • the maximum distance threshold values are statistical bounds based on two variances, measured in each of the x- and y-axes : variance of the position of a typical pixel from one frame to the next ( ⁇ 2 ⁇ and ⁇ 2 ⁇ ) and the variance in the measurement of pixel locations in the current frame due to various errors in measurement ( ⁇ 2 - ⁇ and ⁇ ) .
  • the statistical bound assumes that both variances have a constant value for a given camera zoom setting.
  • the variances may be unique for each frame based on previous measurements or based on input from sensors monitoring the operation of the equipment.
  • the statistical bound is computed as three times the standard deviations calculated as the sum of each of the variances in each of the x- and y -axes:
  • ⁇ 2 ⁇ is the horizontal position variance
  • ⁇ 2 ⁇ is the vertical position variance
  • ⁇ 2 ⁇ is the horizontal measurement variance
  • ⁇ 2 ⁇ is the vertical measurement variance
  • face location tracking module 106 For all face candidates for associations with track file i in the current frame, face location tracking module 106 next attempts to find a candidate face that is closest to the predicted value for the track file (steps 1117-1122) and selects that face for association with track file i. In step 1117, face location tracking module 106 first determines whether any of the detected faces were marked as a possible candidate for association with track file i. If so, for each such candidate j (step 1120) , face location tracking module 106 calculates the distance (d ⁇ j ) between the center pixel of the detected face and the center pixel in the track file i (step 1122) .
  • Face location tracking module 106 finds the minimum of these calculated distances (d i;j ) (step 1125) and marks the corresponding detected face as being associated to track file i (step 1127) .
  • face location tracking module 106 marks the track file as having been associated to a detected face in the current video frame and, in step 1132, resets the value of variable noupdate_count .
  • Face location tracking module 106 then populates the track file i with the values associated with the matching detected face, namely the location of the center pixel (steps 1135-1137) and the dimensions of the detected face (steps 1140-1142) .
  • face location tracking module 106 If, in steps 1110-1115, face location tracking module 106 does not find any suitable candidates for association among the detected faces in the current video frame, face location tracking module 106 marks track file i as not having been associated to a detected face (step 1147) . Face location tracking module 106 then increments the variable noupdate_count (step 1150) .
  • face location tracking module 106 deletes track files which for more than a predetermined number of frames have not been associated with a detected face. Face location tracking module 106 deletes a track file by marking the track file as not being initialized and resetting the variables in the track file.
  • the values associated with the detected face are populated in a new track file.
  • the value of the confidence parameter ( c ⁇ (n) ) for the current frame is set to a predetermined value (for example, 0.5) .
  • the horizontal and vertical pixel motion variables (k i (n) and y i (n) ) are set to a predetermined value (for example, zero) .
  • face location tracking module 106 updates the various parameters in the track files based on whether a track file has been associated with a detected face in the current video frame (measurement update step 920) .
  • each parameter is updated based on the value for that parameter in the current and previous frames, the predicted value for that parameter, and a gain value that represents an estimate of errors due to various equipment imperfections.
  • Fig. 12 is the pseudocode for an algorithm 1200 for updating the track files.
  • face location tracking measurement update module 920 For each track file i which has been associated with a detected face in the current frame (step 1202) , face location tracking measurement update module 920 updates a number of variables in the track file.
  • face location tracking module 920 computes the horizontal and vertical center pixel values for the track file i (Xi (n) and y ⁇ (n) , respectively). To determine these values, face location tracking module 920 first subtracts the corresponding predicted center pixel value (x ⁇ (n) and y (n) ) from the center pixel value of the associated detected face measurement (x mj (n) and y mj (n) ) .
  • Face location tracking module 920 then adds the result of this multiplication to the corresponding predicted center pixel value (x ⁇ (n) and y (n) ) .
  • face location tracking module 920 computes the horizontal and vertical pixel motion values for the track file i (x ⁇ (n) and y (n) , respectively) .
  • face location tracking module 106 first subtracts the corresponding predicted pixel position value (x i (n) and y ⁇ (n) ) from the horizontal and vertical center pixel values for the track file i (x ⁇ (n) and y (n) ) calculated in steps 1205-1207. The result is then multiplied by a gain value (g m ) compensating for an expected average error due to various equipment defects. Face location tracking module 106 then adds the result of this multiplication to the corresponding predicted pixel motion value (x i (n) and h In) ) .
  • face location tracking module 106 computes the horizontal and vertical size values for the track file i (x si (n) and y si (n) , respectively) . To determine these values, face location tracking module 106 first subtracts the corresponding size value in the track file from the previous frame (x si (n-l) and y si (n-l) ) from the size values for the associated detected face (x sj (n) and y sj (n) ) . The result is then multiplied by a gain value (g s ) compensating for an expected average error due to various equipment defects. Face location tracking module 106 then adds the result of this multiplication to the corresponding size value in the track file from the previous frame (x si (n-1) and y si (n-1) ) .
  • a gain value g s
  • Face location tracking module 106 next calculates the confidence value for the values that now populate the track file (step 1220) . Face location tracking module
  • Face location tracking module 106 first subtracts the predicted confidence value ( c ⁇ (n) ) from one and multiplies the result by a gain value (g c ) . Face location tracking module 106 then adds the result to the the estimated confidence value for the previous frame ( c ⁇ (n-1) ) .
  • Face location tracking module 106 then validates the track files in steps 1225-1232. Generally, face location tracking module 106 assumes a track file is invalid until it is validated. In step 1225, if a track file with which a face detection is associated is marked as invalid, face location tracking module 106 increments the value of the update_count variable (step 1227) . If the value of the update_count variable and the value of the confidence variable of the track file are each greater than a corresponding threshold value required from a valid frame (step 1230) , then face location tracking module 106 validates the track file by marking it as such (step 1232) .
  • face location tracking module 106 For each track file i which has not been. associated with a detected face in the current video frame (step 1235) , face location tracking module 106 also updates a number of variables in the track file. Face location tracking module 106 populates the horizontal and vertical center pixel values for the track file i x ⁇ (n) and y i (n) , respectively) , the horizontal and vertical pixel motion values for the track file i (x (n) and y ⁇ (n) , respectively), and the confidence variable (c-jfnj) with the predicted values (steps 1237-1245 and 1252) . Face location tracking module 106 sets the horizontal and vertical size values for the current video frame (x si (n) and y si (n) , respectively) with the values associated with the previous video frame in which the detected face measurements were updated.
  • transform to audio coordinates module 108 converts the tracked location values to audio coordinate system.
  • face location memory module 110 stores the values of the various parameters associated with the detected faces in the current video frame in files associated with the detected faces. Generally, face location memory module 110 stores the result of the analysis in the previous modules for future access when the camera view may not contain a particular region of interest. Which of the results are stored depends on how the data will be used in the future.
  • the stored data can include location and size of detected faces. Additionally, the stored data can be organized by unique numbers assigned to each face or by spatial sectors.
  • the data also includes the results of face location tracking after being converted into the audio coordinate system. At this point, video based locator 60 finishes its analysis.
  • Audio speaker location module 114 of audio based locator 70 detects the location of a speaker based on audio signals from microphone array 12.
  • a method of locating a speaker based on audio signals from a plurality of microphones is described in detail in the commonly assigned application, incorporated herein by reference, entitled “Method and Apparatus for Localization of an Acoustic Source", serial no. 08/663,670, filed on June 14, 1996 (hereinafter, “the '670 application”). Briefly, the method in the '670 application uses at least two microphones spaced from one another.
  • audio speaker location module 114 processes the audio signals by determining whether signals acquired during a particular time frame represent the onset or beginning of a sequence of audio signals from the sound source. Audio speaker location module 114 identifies received audio signals representative of the sequence of signals when the data represents the beginning of the sequence. Audio speaker location module 114 then determines the location of the source based upon the received audio signals.
  • the onset or beginning of a sequence of audio signals from the source is detected on a frequency-by- frequency basis.
  • Data associated with those frequency components of acquired signals which satisfy the following two conditions are deemed to be representative of signals occurring at the onset of a sequence of audio signals from the source.
  • the magnitude of the frequency component should preferably be greater than the background noise energy for that frequency by at least a predetermined amount.
  • the magnitude of the frequency component should preferably be greater, by at least a predetermined amount, than the magnitude, of corresponding frequency component acquired during a predetermined number of preceding time frames.
  • a cross-spectrum for the audio signals acquired by the pair of microphones during the time frame is generated with respect to each such frequency component, and a cross-spectrum for the noise at each such frequency is subtracted to identify the audio received signals representative of the sequence of signals from the audio source.
  • the audio cross-spectrum is accumulated during a predetermined length of time. If at the end of the predetermined time period, non-zero values for at least a specified number of frequencies have been accumulated, the accumulated cross-spectrum values are then used to compute cross-correlation values.
  • the cross-correlation values in turn are used to determine the time delay between signals arriving at the pair of microphones from the common source. These time delays are then used to determine the direction and bearing angle of the audio source with respect to the microphones which are used to determine a location of the audio source (i.e. a direction and a distance to the audio source from a predetermined reference point such as the camera) .
  • audio speaker location module 114 By using an array of microphones 12, audio speaker location module 114 provides both tilt and pan information with respect to the detected audio source. Audio speaker location module 114 also uses this information to determine the distance (that is, range) to the audio source .
  • Audio speaker location module 114 also provides a pair of normalized cross-correlation values, one for the horizontal microphones (that is, the pan microphones) and one for the vertical microphones (that is, the tilt microphones) .
  • speaker validation and framing module 116 determines whether the detected speaker should be validated and how the camera shot for the detected speaker should be framed.
  • Fig. 13 shows a flow chart 1300 of the steps taken by speaker validation and framing module 116. Briefly, speaker validation and framing module 116 first determines, based on a set of criteria, whether the results from audio speaker location module 114 (Fig. 4) represent a valid speaker location.
  • the criteria for validating a detected speaker are as follows : a detection from the same location or the vicinity of the same location is made a predetermined number of times (reference number 1320 in Fig.
  • pan and tilt values for the location of the audio speaker are those supported by camera 14 (reference number 1315 in Fig. 13) ; each of the normalized cross-correlation values is greater than a corresponding predetermined threshold value (reference number 1317 in Fig.
  • speaker validation and framing module 116 uses a set of rules to ascertain an appropriate camera shot . In determining the appropriate camera shot, speaker validation and framing module 116 can use the data stored in the detected face (ref 110) files to frame the camera shot. Speaker validation and framing module 116 then supplies camera control module 80 with appropriate pan, tilt, and zoom directives.
  • speaker validation and framing module 116 first determines whether audio speaker location module 114 has detected an active audio source, which is a speaker for whom audio speaker location module 114 detects the onset of speech across a predetermined number of frequencies . If no active audio sources has been detected for a predetermined period of time, speaker validation and framing module 116 provides instructions to camera positioning device 16 to show a room shot (step 1307) . Speaker validation and framing module 116 can in this step use the results of face detection stored in memory to frame an appropriate group shot, as will be described below.
  • Speaker validation and framing module 116 determines whether the detected location corresponds to the same location as the one detected immediately prior to the current detection. If not, speaker validation and framing module 116 deletes the temporary file associated with the previous detection (step 1310) . If speaker validation and framing module 116 determines that an active audio source is detected, it then determines whether the detected speaker should be validated based on the above described criteria (step 1312) . It should be noted that the threshold values used to determine whether to validate a detection (Ref 1312) can be changed based on the results of video based locator 60 stored in the detected face files, as described below. If the speaker location is not valid, speaker validation and framing module 116 finishes processing.
  • speaker validation and framing module 116 stores the speaker location in a new temporary file (step 1322) .
  • speaker validation and framing module 116 selects an appropriate camera shot.
  • the camera shot can frame a single speaker or a group of speakers.
  • a set of rules may, for example, indicate that if a speaker is the dominant speaker based on the number of times he or she has spoken recently, then the camera shot should only include him or her.
  • the set of rules can also state that if two more or speakers have spoken recently, then the camera shot should include all participants in the conversation taking into account limitations of camera 14 for the available field of view.
  • speaker validation and framing module 116 can use the results of video based locator 60 to properly frame a camera shot, as will be described below. Based on this determination, speaker validation and framing module 116 provides camera control module 80 with camera framing instructions. Referring back to Fig. 4, after validating a detected speaker, audio location memory module 118 either adds the new speaker to an existing speaker file to which the detected speaker was matched or creates a new speaker file. Such speaker files can store the speaker location and the number of times the speaker has spoken. Additionally, the speaker files are kept in order, with most recent speaker being at the top of the order. These files can be used for framing the camera based on some camera framing logic .
  • audio based locator 70 first uses the audio data to determine the location of the speaker and based on that determination supplies camera pointing control module 80 with directives as to how to move camera 14. Audio based locator 70 can also use results of video based locator 60 to appropriately frame a camera shot, as will be described in detail below. After the camera is moved, video based locator 60 captures frames of video images from camera 14 and detects the location of any faces in the video image. Camera pointing control module 80 then can use the results of both audio and video detection to adjust the tilt, pan, and range of camera 14 to correct for any errors in framing the camera, as will be described in detail below.
  • camera control module 80 and speaker validation and framing module 116 use the detection results from video based locator 60 and audio based locator 70 to properly frame camera shots.
  • the manner in which camera control module 80 uses the face detection results to correct errors in camera positioning device 16 will first be described.
  • speaker validation and framing module 116 uses the face detection results to supplement the results of audio speaker detection module 116 to prevent errors in camera pointing directives and to better frame camera shots will be described.
  • one error for which camera control module 80 can correct is the error due to misalignment between camera 14 and microphone array 12.
  • audio based locator 70 uses an array of microphones 12 to determine the location of a speaker relative to an audio reference point. The accuracy of this determination partly depends on the accuracy of the alignment of camera 14 with array of microphones 12 through camera positioning device 16. However, camera 14 and array of microphones 12 may be misaligned because of mistakes during the manufacturing process or as a matter of regular use of the system. Therefore, the camera pointing directives from audio based locator 70 can result in an image in which the speaker is offset from a desired position on the frame (for example, the center of the frame), as shown in Fig. 14.
  • Camera control module 80 uses the results of face detection from video based locator 60 to correct for the offset.
  • Fig. 15 shows a flow chart 1500 of the steps taken by camera control module 80 to correct for the video offset. If face is not located at a desired position in the captured video image (step 1505) , video based locator 60 determines that the camera shot is not centered on the speaker. Video based locator 60 then determines which of the detected faces is located closest to the desired position in the captured video image and assumes that this face corresponds to the detected speaker (step 1510) . Video based locator 60 calculates the amount by which the closest face is offset from the desired position.
  • Video based locator 60 then accesses, in step 1515, the previously calculated offset values and calculates a smoothed offset value, for example, by averaging the values (step 1515) .
  • a smoothed offset value is used to replace any previously stored smoothed offset values and the new value is used from now on to correct camera positioning instructions (step 1525) .
  • video based locator 60 checks from time to time (for example, every time camera 14 is moved) whether the image is offset and recalculates the smoothed offset value.
  • video based locator 60 calculates the offset values for a predetermined number of frames and then compares them to find a cluster of offset values which are close in value to one another. Video based locator 60 then calculates an offset value based on the cluster of offset values (for example, by averaging the values) . In this manner, video based locator 60 filters out those offset values which resulted from other factors prior to sending them to camera control module 80.
  • audio speaker detection module 116 can correct for gross pointing errors, which are caused by the results from audio based locator 70 being incorrect for a variety of reasons.
  • audio based locator 70 can detect non-speech sounds as speech and therefore confuse a non-human acoustic source with a human speaker. Additionally, reflection from large surfaces such as walls and tables can confuse audio based locator 70 as to the true source of the audio. In these cases, audio based locator 70 may detect the source of the audio as the reflection point from the surface (for example, a table surface in front of the speaker) . Additionally, if array of microphones 12 is performing tilt measurements, one tilt measurement microphone may receive acoustic waves mainly from the reflection point and while another may receive audio waves from the speaker.
  • Fig. 17 shows a flow chart 1700 of the steps taken by audio speaker and validation module 116 to correct for such gross pointing errors.
  • Audio speaker and validation module 116 first determines whether a gross pointing error has occurred. To do so, audio speaker and validation module 116 determines whether a detected face is located in an area 1605 in the video frame (Fig. 16) where the image of the speaker's face is expected (step 1705) . If a face is not located at a desired position (i.e. area 1605) of the captured video image (step 1705), video based locator 60 determines that the captured video image is not centered.
  • Video based locator 60 determines which of the detected faces is located closest to the desired position in the captured video image and assumes that this face corresponds to the detected speaker (step 1710) . Video based locator 60 calculates the amount by which the closest face is offset from the desired position. Video based locator 60 then accesses, in step 1715, the previously calculated offset values and calculates a smoothed offset value, for example, by averaging the values (step 1715) . After a predetermined number of offset values have been used to calculate the smoothed offset value (step 1720) , the smoothed offset value is used to determine corrective camera instructions to compensate for any gross camera pointing errors (step 1725) . Camera control module 80 then transforms this offset value into camera instructions which are provided to camera position device 16 (step 1730) .
  • audio speaker and validation module 116 can also use the data from video based locator 60 to correct errors in determining the distance from camera 14 to the speaker (that is, range finding errors) .
  • range is a difficult dimension for audio speaker source location systems to measure accurately. The accuracy of the measurement depends on at least two factors. The first factor is the size of the microphone array 12, where larger arrays yield more accurate results. The second factor is the duration and quality of the audio speech being processed, where longer durations and higher utterance counts yield more accurate results. Since the range value is used to zoom camera 14, errors in the value of the range can.lead to errors in framing the speaker by making a camera shot either too tight or too wide, as shown in Fig. 18.
  • Fig. 19 shows a flow chart 1900 of the steps taken by audio speaker and validation module 116 to correct for range finding errors.
  • Audio speaker and validation module 116 first determines which of the detected faces is located closest to the expected position in the image and assumes that this face corresponds to the detected speaker (step 1905) . If the size of the closest detected face is within a predetermined face size value, then audio speaker and validation module 116 assumes that the range is correct (step 1910) . If not, audio speaker and validation module 116 computes a range value which would adjust the size of the detected face to fall within the predetermined face size threshold value (step 1915) . Audio speaker and validation module 116 transforms this offset value into camera framing directives which are supplied to camera 14 and camera positioning device 16 (step 1920) .
  • speaker validation and framing module 116 can use the face detection results to appropriately frame a camera shot.
  • speaker validation and framing module 116 of audio based locator 70 can use the results from video based locator 60 to dynamically change the variables controlling the speaker validation process. Speaker validation and framing module 116 changes these variables to achieve two goals: prevent gross pointing errors and reduce the response time of camera 14 and video conferencing system 10.
  • Fig. 20 shows a flow chart 2000 of the steps taken by speaker validation and framing module 116 to prevent gross pointing errors.
  • Speaker validation and framing module 116 first determines whether the location of a previously detected face matches the location of the detected speaker (step 2005) .
  • speaker validation and framing module 116 determines that the detected speaker is a valid speaker. However, if there is no matching detected face and this is the first detection of this speaker, speaker validation and framing module 116 decreases the sensitivity of the validation process so that there is less likelihood of validating the detected speaker (steps 2010-2015) . To do so, speaker validation and framing module 116 increases three threshold values: the cross- correlation threshold value (1317 in Fig 13) , the number of consecutive detections of a speaker location before the speaker location is validated (1320 in Fig. 13) , and the threshold value for speech detection (1318 in Fig. 13) . By increasing these threshold values, speaker validation and framing module 116 reduces the likelihood of validating a speaker which does not match a detected face .
  • speaker validation and framing module 116 changes the camera framing rules to mitigate gross pointing errors (step 2020) .
  • Speaker validation and framing module 116 can change the rules in a number of ways: increasing the field of view to include a larger area, increasing the field of view to include a nearby detected face, or defaulting to a group shot which includes all detected faces.
  • Fig. 21 shows a flow chart 2100 of the steps taken by speaker validation and framing module 116 to reduce the response time of video conferencing system 10 for detecting speakers and pointing the camera. If the location of a previously detected face matches the location of the detected speaker (step 2105) , then speaker validation and framing module 116 increases the sensitivity of the audio based locator 70 (step 2110) . Therefore, the likelihood of detection and validating a speaker is increased. To do so, speaker validation and framing module 116 performs the following function: lowering the correlation threshold value (1317 in Fig. 13) ; lowering the required number of consecutive detections required of a speaker location before the speaker location is validated (1320 in Fig.
  • speaker validation and framing module 116 can use the face detection results for range finding, further reducing the processing time, the required number of microphones, and the required accuracy of microphone mounting, which are typically required for performing audio speaker location module 114.
  • speaker validation and framing module 116 uses the data from video based locator 60 to frame shots of all the participants in a meeting.
  • Fig. 22 shows a flow chart 2200 of the steps taken by speaker validation and framing module 116 to frame a group shot.
  • speaker validation and framing module 1.16 can only capture those participants who have spoken .
  • speaker validation and framing module 116 can frame the camera to capture all participants in the group shot. To frame the camera for such a group shot, speaker validation and framing module 116 first determines whether the participants have stopped speaking (step 2205) for a period of time. If so, speaker validation and framing module 116 uses the detected speaker files and the data stored in the detected face files to frame a group shot (step 2210) . In some embodiments, speaker validation and framing module 116 first uses the detected speaker files to frame a group shot and then uses the data stored in the detected face files to adjust the group shot .
  • the group shot preferably includes the most recently detected speaker based on audio.
  • the group shot also preferably includes as many of the speakers which are detected based on the audio signals and as many of the faces detected based on the video signals as are possible given the pan, tilt, and zoom limitations of camera 14 and camera positioning device 16.
  • Camera control module 80 transforms the adjusted room shot values into camera instructions which are provided to camera positioning device 16 (step 2215) .
  • speaker validation and framing module 116 uses the video track files to identify a moving speaker and then adjusts the field of view of camera 14 to better capture the moving speaker.
  • Figs. 23A, 23B, and 23C show top views of the position of a moving speaker 2300 relative to camera 14 and the field of view of camera 14.
  • speaker 2300 is stationary relative to camera 14.
  • Fig. 23B as the speaker moves from location A to location B, he or she moves out of field of view 2305 and into a field of view 2310.
  • speaker 2300 moves out of field of view 2310 and into field of view 2310.
  • One method of ensuring that a proper image of the speaker is captured is for camera 14 to use a relatively broad field of view 2315. This has the advantage of avoiding continual camera movement to follow a moving speaker. Such continual camera movements can make the video images appear as discontinuous, especially when compressed for transmission over a telecommunication network.
  • Fig. 24 shows a flow chart 2400 of the steps taken by speaker validation and framing module 116 to adjust the field of view of camera 14 for a moving speaker.
  • Flow chart 2400 uses the video based tracking detected speakers, described in detail above.
  • speaker validation and framing module 116 identifies the speaker as a newly detected speaker. If a new speaker is not detected, audio speaker validation and framing module 116 continues with video based tracking. However, if a new speaker location is detected (step 2405) , speaker validation and framing module 116 checks to see if two consecutive speaker locations have been matched to a single track file by video based locator 60 (step 2410) . If so, the speaker is assumed to be a moving speaker.
  • Speaker validation and framing module 116 sets the camera for tracking a moving speaker by increasing the field of view of camera 14 to encompass both the previous location and the current location of the speaker (that is, zoom out camera 14) (step 2415) . As long as there are two consecutive matches, camera 14 will have the broad field of view and video based tracking continues (step 2430) . However, if there are no consecutive matches, camera 14 is reset and returned to its original field of view, (step 2420) . In that case, the video based tracking is reset and starts anew (step 2425) .
  • Fig. 25 shows an integrated, portable video conferencing system 2500.
  • Video conferencing system 2500 is portable and integrated in a similar manner as video conferencing system 10 and can have similar features, design, and construction as video conferencing systems described in the commonly assigned U.S. patent application "Integrated Portable Videoconferencing," application serial no. 08/694,324, filed on November 5, 1997, incorporated in its entirety by reference.
  • video conferencing system 2500 has substantially similar components as video conferencing system 10, except to the extent described here.
  • components having the same reference numeral as those in previous Figs, (such as Fig. 1) have been previously described and will not be described here.
  • video conferencing system 2500 also includes a directed microphone array 12', such as those described in U.S. serial No. 08/657,636, filed May 30, 1996, and issued as U.S. patent no. 5,715,319, contents of which are incorporated herein in their entirety by reference.
  • Video conferencing system 2500 can be operated in two modes of operation.
  • audio based locator 70 of video conferencing system 10 provides camera positioning directives for panning the camera as described above.
  • video based locator 60 does not perform any functions.
  • this mode of operation is the only mode of operation of video conferencing system 2500 and video based locator 60 is not included in video conferencing system 2500.
  • audio based locator 70 provides instructions for panning camera 14 while speaker validation and framing module 116 uses the data from video based locator 60 to tilt camera 14.
  • video conferencing system 2500 does not require microphones for providing tilt information (such as microphones 12C and 12D in Fig. 1) . Since at least one microphone for tilt must be offset from the plane in which the pan microphones lie, by eliminating the need for tilt microphones, video conferencing system 2500 can be implemented as a limited dimension system and also be designed to be portable.
  • video based locator 60 can use an alternative method of face detection in video face location module 102 (Fig. 4), which will now be described. Referring to Fig.
  • video face location module 102 detects the upper contour of moving objects in the video frames, which in most cases are humans, using luma values only (although in other embodiments chroma values may also be used) . Since contour detection is not as computationally intensive as the previously described face detection technique and uses luma values only, it is particularly suitable for applications where the underlying system does not have significant processing power. This has the advantage of enabling designing integrated, portable and less expensive video conferencing systems.
  • Fig. 26 shows a flow chart 2600 of the steps taken by video face location module 102 to detect contour of speakers using an adaptive contour detection technique.
  • step 2605 after retrieving a new and a previous video frame, video face location module 102 first initialize an adaptive motion detection threshold (MD_THD) by setting it to have a minimum initial value (MD_THD_MIN) .
  • the adaptive motion detection threshold is used in detecting the motion pixels in the captured video frames.
  • Video face location module 102 processes current and previous video frames to detect the motion pixels in the current video frame in order to generate a binary motion map (or mask) in a similar manner as described previously in reference to flow chart 700 in Fig. 7 (step 2610) . It should be noted, however, that here only luma values are used.
  • video face location module 102 determines that the detected motion pixels are due to a camera move. If the total number of motion pixels in the binary motion map is not more than the predetermined proportion of the total number of pixels in the video frame (step 2615) , then video face location module 102 determines whether the total number of motion pixels is less than a predetermined threshold (MIN_MP_NUM) (step 2620) . If so, video face location module 102 determines that the number of motion pixels are less than that typically expected from a frame having an image of a moving person.
  • MIN_MP_NUM predetermined threshold
  • video face location module 102 determines whether the total number of motion pixels is not less than a predetermined threshold (MIN_MP_NUM) (step 2620) , then video face location module 102 performs a morphological operation on the binary motion map to fill any pixels which are detected to be static but are surrounded by motion pixels (step 2625) .
  • the morphological operation can, for example, be a 3x3 operator dilation and erosion operation.
  • Video face location module 102 detects the contours of the shapes in the binary motion map (step 2630) . The contour detection proceeds as follows. In each column, from top to bottom, video face location module 102 evaluates each moving pixel by looking at the 5x5 pixel block to the lower left or lower right of the pixel.
  • video face location module 102 identifies the pixel as a contour pixel . Since the contours are used for providing camera directives for tilting camera 14, only the upper contours of the detected persons are needed. Hence, as soon as video face location module 102 encounters a contour pixel in a column, video face location module 102 finishes analyzing that column.
  • Video face location module 102 then calculates the noise level (step 2635) .
  • the noise level is defined as the total number of noise pixels divided by the total number of pixels above the detected contours.
  • Noise pixels are motion pixels in the binary motion map which are above the detected contours, that is, motion pixels which are assumed not to correspond to any human speaker. If the noise level is not below a predetermined noise threshold (step 2640) , then it is determined that a less sensitive motion detection is to be performed on the frame to reject motion pixels detected because of noise. The motion detection to be performed is less sensitive in the sense that the likelihood of detecting motion pixels is decreased. To do so, video face location module 102 increases the adaptive motion detection threshold by a predetermined value (step 2645) . If the adaptive motion detection threshold is more than a maximum allowable noise threshold value (step 2650) , then video face location module 102 determines that the noise level is above a level where reliable contour can be detected.
  • step 2650 video face location module 102 performs a new motion detection on the motion pixels in the binary motion map using the new value of the adaption motion detection threshold (step 2655) . This process likely reclassifies some of the motion pixels as non-motion pixels .
  • steps 2620-2655 are repeated until either the maximum allowable noise threshold value is reached (step 2650) or the detected noise level is below the predetermined noise threshold (step 2640) .
  • Video face detection module 102 then applies a five point median filter to smooth out the contour and to further filter out any motion pixels detected due to noise (step 2660) . Then, in step 2665, to reduce the amount of stored data, video location module 102 quantizes the detected contours (for example, to 16 levels) .
  • Speaker validation and framing module 116 uses this information to determine an appropriate tilt angle and supplies camera positioning device 16 with appropriate directives. To do so, speaker validation and framing module 116 selects the highest contour point and determines how camera 14 should be tilted so that this highest contour point is located at a predetermined position in the captured video images. In some embodiments, other methods of face detection such as neural net or color histogram distribution based face detection algorithms and techniques can be used for determining the location of faces of persons in video face location module 1.02. It should be noted that in the above described embodiments, before modifying the camera framing directives based on the results of video detection module 60, camera pointing control 80 or speaker validation and framing module 116 first analyzes a predetermined number of frames. The values for all those frames are then validated to ensure that erroneous corrections are not performed. After the results are validated, they can then be used to modify the camera framing. In this manner, the accuracy of the framing modifications is increased.

Abstract

A system, such as a video conferencing system, is provided which includes an image pickup device (14), an audio pickup device (12), and an audio source locator (10). The image pickup device (14) generates image signals representative of an image, while the audio pickup device (12) generates audio signals representative of sound from audio source, such as speaking person. The audio source locator (10) processes the image signals and audio signals to determine a direction of the audio source relative to a reference point. The system can further determine a location of the audio source relative to the reference point. The reference point can be a camera (14). The system can use the direction or location information to frame a proper camera shot which would include the audio source.

Description

LOCATING AN AUDIO SOURCE Background This invention relates to systems, including video conferencing systems, which determine a direction of an audio source relative to a reference point.
Video conferencing systems are one variety of visual display systems and commonly include a camera, a number of microphones, and a display. Some video conferencing systems also include the capability to direct the camera toward a speaker and to frame appropriate camera shots. Typically, users of a video conferencing system direct the camera and frame appropriate shots .
Summary In one general aspect, the invention features a system which includes an image pickup device, an audio pickup device, and an audio source locator. The image pickup device generates image signals representative of an image, while the audio pickup device generates audio signals representative of sound from an audio source. The audio source locator processes the image signals and audio signals to determine a direction of the audio source relative to a reference point.
In another general aspect, the invention features a system including an image pickup device and a face detector. The image pickup device generates image signals representative of an image. The face detector processes the image signals to detect a region in the image having flesh tone colors, and determines, based on the detection, whether the image represents a face.
In yet another general aspect, the invention features a video conferencing system including microphones, a camera, a positioning device, a processor, and a transmitter. The microphones generate audio signals representative of sound from an audio source and the camera generates video signals representative of a video image. The positioning device is capable of positioning the camera, for example, for tilting, panning, or zooming the camera. The processor processes the video signals and audio signals to determine a direction of a speaker relative to a reference point and supplies control signals to the positioning device for positioning the camera to include the speaker in the field of view of the camera, the control signals being generated based on the determined direction of the speaker. The transmitter transmits audio and video signals, which can be the same as the audio and video signals used for locating the audio source, for video- conferencing.
In another general aspect, the invention features a system including microphones, a camera, a positioning device, a processor, and a transmitter. The microphones generate audio signals representative of sound from an audio source and the camera generates video signals representative of a video image. The positioning device is capable of positioning the camera, for example, for tilting, panning, or zooming the camera. The processor processes the audio signals to determine a direction of a speaker relative to a reference point and supplies control signals to the positioning device for positioning the camera to include the speaker in the field of view of the camera, the control signals being generated based on the determined direction of the speaker. The transmitter transmits audio and video signals, which can be the same as the audio and video signals used for locating the audio source, for video-conferencing. Preferred embodiments may include one or more of the following features.
The image pickup device includes a positioning device for positioning the image pickup device. The audio source locator supplies control signals to the positioning device for positioning the image pickup device based on the determined direction of the audio source. The positioning device can then pan, tilt, and optionally zoom the image pickup device in response to the control signals. The audio source locator supplies control signals to the positioning device for positioning the image pickup device.
An integrated housing for an integrated video conferencing system incorporates the image pickup device, the audio pickup device, and the audio source locator, where the integrated housing is sized for being portable. In other embodiments, the housing can incorporate the microphones, the camera, the positioning device, the processor, and the transmitter. An image of a face of a person who may be speaking is detected in a frame of video. The image of the face is detected by identifying a region which has flesh tone colors in the frames of video and may represent a moving face which is determined, for example, by comparing the frame of video with a previous frame of video. It is then determined whether size of the region having flesh tone colors corresponds to a pre-selected size, the preselected size representing size of a pre-selected standard face. If the region having flesh tone .colors corresponds to a flesh tone colored non-human object, the region is determined not to correspond to an image of a face. The direction of the face relative to the reference point is also determined.
The audio source locator includes an audio based locator for determining an audio based direction of the - A - audio source based on the audio signals and a video based locator for determining a video based location of an image in one of the frames of video. The image may be the image of the audio source which may be an object or a face of a speaking person. The audio source locator then determines the direction of the audio source relative to the reference point based on the audio based direction and the video based location.
The audio source locator detects the image of the face of a speaking person by detecting a speaking person based on the audio signals, detecting images of the faces of a plurality of persons based on the video signals, and correlating the detected images to the speaking person to detect the image of the face of the speaking person. The audio source locator determines an offset of the video based location of the image from a predetermined reference point in a frame of video and modifies the audio based direction, based on the offset, to determine the direction of the audio source relative to the reference point. In this manner, the audio source locator can, for example, correct for errors in determining the direction of the audio source because of mechanical misalignments in components of the system. The audio source locator uses a previously determined offset of a video based location of an image in a previous frame of video and modifies the audio based direction to determine the direction of the audio source. In this manner, the audio source locator can, for example, prevent future errors in determining the direction of the audio source because of mechanical misalignments in components of the system.
The audio source locator detects movements of a speaker and, in response to those movements, causes an increase in the field of view of the image pickup device. In this manner, audio source locator can, for example, provide for the image pickup device capturing a shot of the person as the person moves without necessarily moving the image pickup device to follow the person.
Audio source locator correlates the audio based direction detected based on the audio signals to the stored video based location of the image in a frame of video and modifies the audio based direction, based on the results of the correlation, to modify audio based direction to determine the direction of the audio source relative to the reference point. To do so, for example, audio source locator modifies its processing to improve its accuracy.
A memory unit stores a previously determined direction of an audio source based on the audio signals and a previously determined video based location of an image of a face of a non-speaker person in a previous one of the frames of video. The audio source locator uses the stored audio based direction and video based location to cause an adjustment in the field of view of the image pickup device to include, in the field of view, the audio source and the previously determined video based location. In this manner, the audio source locator can, for example, provide for room shots which include both speaking persons and nonspeaking persons . The audio based locator detects a plurality of audio sources and uses at least one parameter to determine whether to validate at least one of the plurality of audio sources to use in producing the control signals for the image pickup device, where changing the parameter in one direction increases a likelihood of the audio based locator validating at least one of the plurality of audio sources and changing that parameter in another direction decreases the likelihood of validating at least one of the plurality of audio sources. The audio source locator correlates the audio based direction of the audio source with the stored video based location of the image in the some frame to determine whether the image in that video frame corresponds to the audio source. If the image in the that frame of video corresponds to the audio source, the audio based locator changes the parameter in the direction which increases the likelihood of validation. If the image does not correspond to the audio source, the audio based locator changes the parameter in the direction which decreases the likelihood of validation. In this manner, for example, the response time of the audio source locator is dynamically monitored and improved.
The audio source locator correlates the audio based direction of the audio source with the video based location of the image in a frame of video to determine whether the image corresponds to the audio source. If the audio source locator determines that the image fails to correspond to the audio source, the audio source locator causes an adjustment in the field of view of the image pickup device to include, in the field of view, the audio source and the video based location of the image in the frame of video. In this manner, for example, the audio source locator can allow for preventing gross camera pointing errors.
The audio source locator can also determine the distance from the reference point to the audio source. The audio based locator determines a distance from the reference point to the audio source based on the audio signals while the video based locator determines another distance from the reference point to the audio source based on an image associated with audio source. Audio source locator then determines a finalized distance based on the audio based distance and the video based distance. In some embodiments, the video based locator determines a video based location of the image by detecting a region representing a moving person and determining, in part or in whole, a contour of an image of the moving person. The video based locator uses a parameter in detecting the contour of the image, where changing the parameter in one direction increases a likelihood of detecting contours of images and changing that parameter in another direction decreases the likelihood. The video based locator changes the parameter, when detecting the contour of the image, to increase or decrease the likelihood. For example, the video based locator determines a noise level where an increase in the noise level decreases the likelihood of detecting contours representative of the persons in a video image and the video based locator changes the parameter based on the noise level. For example, for a high noise level , the video based locator changes the parameter so as to increase the likelihood of detecting contours of images. In these embodiments, the audio source locator supplies control signals to the positioning device for positioning the image pickup device. The control signals include signals, based on the audio based direction detected based on the audio signals, for causing the positioning device to pan the image pickup device and signals, based on the video based location detected based on video, for tilting the image pickup device .
Embodiments of the invention include one or more of these advantages.
Determining the direction and/or location of an audio source relative to a reference point based on both audio and video provides for a system of checks and balances improving the overall performance of the automatic camera pointing system. A low complexity and scaleable combination of common image processing blocks can be used to implement embodiments of the invention. Such embodiments can advantageously have low computational and memory requirements and at the same time deliver robust performance for various applications, such as video conferencing .
Various types of errors in some visual systems, such as video conferencing systems, which locate speakers based on audio signals can be corrected for and possibly prevented. The corrected for errors include mechanical pan and tilt misalignment errors, range measurement and associated zoom errors, and gross pointing errors. The errors which can be prevented include gross pointing errors. Additionally, the response time of such visual systems can be decreased.
In some embodiments, the performance of systems and algorithms for automatically setting up camera shots in such audio and visual systems are improved. For example, a better "room shot" can be obtained by including non-speaking persons detected based on video images. A moving speaker, such as one giving a presentation, can be tracked by tracking his image.
Also, in some embodiments of video conferencing systems, it is impractical to provide for a microphone array to provide tilt information, for example, because of the desired cost or size of the system. In such embodiments, audio based locator can find the audio based direction of the audio source and cause the camera positioning device pan the camera. Video based locator can then detect an image of the speaker and cause the camera positioning device tilt the camera. In this manner, an already available resource in the system (that is, video signals) is used to provide an otherwise unavailable feature, tilt. Embodiments of the invention include integrated and portable video conferencing units. In these units, video images can be used for providing tilt information and possibly zoom information while the audio signals can be used for providing panning information.
Additionally, audio based locators are typically less computationally intensive than video based locators. Therefore, it is faster to locate the speaker using audio based detection, to move an image pickup device based on the audio based detection, and then to use the results from the video based locator to correct the camera positioning and framing.
Because the results from the audio based locator are not used by themselves but in combination with the video technology, embodiments of the audio based locator can be implemented using components which are not as precise as they may otherwise have to be.
Brief Description of the Drawing Figure 1 shows an exemplary video conferencing system.
Figure 2 schematically shows components of the video conferencing system.
Figure 3 shows the various functional modules of a camera pointing module in the video conferencing system. Figure 4 is a flow chart of the operation of the camera pointing module.
Figure 5 is a flow chart of detailed steps performed by a video face location module.
Figure 6 is the pseudocode for an algorithm for creating a flesh tone binary map.
Figure 7 is the pseudocode for an algorithm for detecting pixels in a current video frame corresponding to objects which have moved since the previous video frame . Figure 8 is the pseudocode for an algorithm for rejecting face segments based on their spatial luma variances and temporal luma difference variances.
Figure 9 shows a flow chart of the steps taken by a face location tracking module.
Figure 10 is the pseudocode for a prediction algorithm for estimating, for a current video frame, the location of the images of faces which were detected in a previous video frame . Figure 11 is the pseudocode for an association algorithm for associating the detected faces in the current video frame to existing track files.
Figure 12 is the pseudocode for an algorithm for updating the track files. Figure 13 shows a flow chart of the steps taken by a speaker validation and framing module.
Figure 14 illustrates an error in framing a camera shot due to a misalignment between the camera and a microphone arr y. Figure 15 shows a flow chart of the steps taken by a camera control module to correct for an error in framing a camera shot due to a misalignment between the camera and a microphone array.
Figure 16 illustrates an error in framing a camera shot due to a gross pointing error.
Figure 17 shows a flow chart of the steps taken by a camera control module to correct for a gross pointing error.
Figure 18 illustrates an error in framing a camera shot due to a range finding error.
Figure 19 shows a flow chart of the steps taken by a camera control module to correct for a range finding error. Figure 20 shows a flow chart of the steps taken by a speaker validation and framing module to prevent gross pointing errors.
Figure 21 shows a flow chart of the steps taken by a speaker validation and framing module to reduce the response time of the video conferencing system of Figure 1.
Figure 22 shows a flow chart of the steps taken by a speaker validation and framing module to frame a group shot.
Figure 23A-C show top views of the position of a moving speaker relative to the field of view of a camera.
Figure 24 shows a flow chart of the steps taken by a speaker validation and framing module to adjust the field of view of a camera for a moving speaker.
Figure 25 shows an alternative embodiment of a video conferencing system.
Figure 26 is a flow chart of detailed steps performed by a video face location module to detect contours of speaking persons.
Description Figs. 1 schematically shows an exemplary video conferencing system 10. Video conferencing system 10 includes a video camera 14 and an array of microphones 12 which includes microphones 12A, 12B, 12C, 12D positioned a predetermined distance from one another in a predetermined geometry. Video camera 14 is mounted on a camera positioning device 16 capable of panning, tilting, and zooming video camera 14. Briefly, during operation, video conferencing system 10 receives sound waves from a human speaker and converts them to audio signals. Video conferencing system also captures video images of the speaker. Video conferencing system 10 uses the audio signals and video images to determine a location of the speaker (s) relative to a reference point, for example, camera 14 or the center of rotation of camera positioning device 16. Based on that direction, video conferencing system 10 can then pan, tilt, or zoom in or out camera 14 to obtain a better image of the speaker (s).
Generally, a location of the speaker relative to camera 14 can be characterized by two values: a direction of the speaker relative to camera 14, which may be expressed by a vector, and a distance of the speaker from camera 14. As is readily apparent, the direction of the speaker relative to camera 14 can be used for pointing camera 14 toward the speaker by panning or tilting camera 14 and the distance of the speaker from camera 14 can be used for zooming camera 14.
Fig. 2 schematically shows components of video conferencing system 10. Microphones 12 and camera 14 respectively supply audio signals 22 and video signals 24 to an audio and video signal processing unit 20. Audio and video signal processing unit 20 includes an audio source locator 28 which analyzes the audio signals 22 and video signals 24 to determine the location of a speaker. Audio source locator 28 supplies camera control signals 26 to camera positioning device 16 and camera 14 for panning, tilting, and zooming camera 14.
Audio and video signal processing unit 20 also supplies a coder/decoder 30 with audio signals 22 and video signals 24. Coder/decoder 30 compresses the audio and video signals and then supplies the compressed video signals and the audio signals to a network interface 40 which transmits the signals across a telecommunication network 42 to a receiving video conference system (not shown) . A control and user interface layer 50 allows a user to interact with and control the operation of the various components of video conferencing system 10 including audio and video signal processing unit 20, coder/decoder 30, and network interface 40.
Fig. 3 shows the various functional modules of audio source locator 28. These modules can be implemented, for example, by an appropriately programmed processor such as a microprocessor having suitable memories such as read only memory (ROM) , random access memory (RAM) and/or other forms of memory. Alternatively, suitable processors for performing the functions of the modules in Fig. 3 include programmable digital signal processors, minicomputers, microcontrollers, programmable logic arrays and application specific integrated circuits. In other embodiments, some or all of the modules in Fig. 3 can be implemented to run on a processor which is not a part of video conferencing system 10.
It should be noted that, in video conferencing system 10, the various components and circuits constituting video conferencing system 10 are housed within an integrated housing 10A shown in Fig. 1.
Integrated housing 10A is designed to be able to house all of the components and circuits of video conferencing 10. Additionally, integrated housing 10A can be sized to be readily portable by a person. In such an embodiment, the components and circuits can be designed to withstand being transported by a person and also to have "plug and play" capabilities so that video conferencing system can be installed and used in a new environment quickly.
In some alternative embodiments, microphone array 12, camera 14, camera positioning device 16, and audio source locator 28 may be separated from other components and included in an automatic camera positioning device. In such embodiments, a host video conferencing device incorporates the other components of video conferencing system 10. The automatic camera positioning device and the host video conferencing device then together constitute a video conferencing system.
Having described in general terms video conferencing system 10, the operation of audio source locator 28 of audio and video signal processor 20 will now be described in detail. An audio based locator (or audio based detector) 70 receives audio signals 22 and determines the location of a speaker (i.e an audio source) relative to the microphone array. Audio based locator 70 then generates a series of camera positioning directives with respect to panning, tilting, and zooming camera 14. These directives can be partly based on face detection and location analysis performed by a video based locator (or video based detector module) 60. Audio based locator 70 then supplies a camera control module 80 with these camera positioning directives. After camera control module 80 moves camera 14 according to these camera positioning directives, video based locator 60 analyzes the images in video frames 24 received as digital signals and stored as digital data in a memory storage unit (not shown) . Video based locator 60 detects human faces in the images and determines their position relative to a reference point in the frame of video in which they are detected. Camera control module 80 then correlates a detected video face with the detected audio speaker and uses that correlation to correct or prevent camera framing errors .
Fig. 4 is a flow chart of the operation of audio source locator 28. Video based locator 60 includes processing modules 102-110, while audio based locator 70 includes processing modules 112-118. Each of these processing modules will be described in detail below. Briefly, a video face location module 102 analyzes video signals 24 to detect faces in a single video frame. A video offset/error measurement module 104 measures the offset of the location of the detected faces from some pre-determined and static reference point (for example, the center of the video image) and/or a dynamic reference point (for example, the currently detected speaker) . A face location tracking module 106 correlates the detected faces from the current video frame to the detected faces in the previous video frames and hence tracks the detected faces through a series of frames. This tracking allows for obtaining a proper position of a speaker in a video frame who may be moving, as will be described below. To perform this tracking, face location tracking module 106 creates and maintains a track file for each detected face.
Modules 102-108 compute various measurements relative to a video coordinate system which is based on the video frame. The video coordinate system applies to each frame captured by camera 14. The video coordinate system has a horizontal or x-axis and a vertical or y- axis. When determining a position of a pixel or an image, modules 102-108 determine that position relative the x-axis and the y-axis of that pixel's or image's video frame. Camera control module 80 and audio based locator 70 in turn use an audio coordinate system which indicates a location of a speaker based on pan, tilt, and zoom angles which describe the direction of the speaker relative to camera 14 and range or distance from camera 14 to the speaker. A transform to audio coordinates module 108 converts coordinate measurements expressed in the video coordinate system to coordinate measurements expressed in the audio coordinate system using the pan, tilt, and zoom values of camera 14 when the frame was captured by camera 14. Conversely a transform to video coordinates module 112 of audio based locator 70 converts coordinate measurements expressed in the audio coordinate system to coordinate measurements expressed in the video coordinate system, also by using the pan and tilt values of camera 14 when the frame was captured by camera 14.
A face location memory module 110 stores in memory the results of the processing in modules 102-108, as will be described below.
In audio based locator 70, audio speaker location module 114 determines the location of a speaker based on audio signals 22. The results of this location determination is typically a set of pan, tilt, and range coordinate measurements. A speaker validation and framing module 116 determines whether the detected location of the speaker is a valid detection . Based on the results of the current and previous detections, speaker validation and framing module 116 then determines the most appropriate camera pan, tilt, and zoom (that is, the most appropriate camera shot or framing) . Speaker validation and framing module 116 can use the measurements obtained in video based locator 60 to improve the appropriate camera shot, as will be described below. An audio location memory 118 stores the results of the processing in modules 114-116.
Camera control module 80 acquires from speaker validation and framing module 116 the desired camera framing directives. Camera control module 80 also acquires from video based locator 60 the offset and/or error measurements between the speaker locations detected based on the video signals and the audio signals. Camera control module 80 then uses the values acquired from video based locator 60 to adjust the desired camera framing acquired from audio based locator 70 to correct for mechanical misalignment errors, as will be described below in detail .
The operation of various modules of video based locator 60 will now be described in detail. In video based locator 60, video face location module 102 analyzes current and previous frames of video images from camera 14 and determines the position of the faces in the current frame. Fig. 5 is a flow chart of the detailed steps performed by video face location module 102. Briefly, video face location module 102 identifies regions or segments in a frame which may contain a face based on detecting pixels which have flesh tone colors and which represent pixels which have moved.
Video face location module 102 first retrieves current and previous video frames 132 which are stored in memory. In the described embodiment, video frames for face detection are captured in 420 YUV format at 3-5 frames per second with a resolution of 320x240 pixels for luminance (luma) and 160x120 pixels for chrominance (chroma) . The luma values are then down sampled to a lower resolution of 160x120. Alternatively, QCIF video with a resolution of 172x144 for luma and chroma can be used. In other embodiments, other video formats, resolution, etc. can be used. Video face location module 102 then reduces, in step 134, the image in the retrieved frame to a flesh tone binary map, where each pixel that has a chroma value corresponding to flesh tone colors is assigned a value of "1" in the flesh tone binary map (hereinafter, referred to as a "flesh tone pixel") . Fig. 6 is the pseudocode for an algorithm 600 for creating fclie flesh tone binary map. For each pixel (step 6O5) , video face location module 102 tests the chroma value of the pixel against chroma threshold values for flesh tone colors . These chroma or flesh tone threshold values can, for example, be set at -50 < Cb < -5 and 7 < Cr < 60. These values result in detecting a high percentage of flesh tone pixels irrespective of the skin tone or the lighting. However, these threshold values also result in some falsely detected pixels which correspond to non-face objects whose color falls within the flesh tone threshold values. If the chroma value of the pixel being tested falls within the flesh tone threshold values (step 610) , then video face location module 102 assigns a value of '1' to that pixel in the flesh tone map (step 615) . If the chroma value of the pixel does not fall within the flesh tone threshold values (step 620) , then video face location module 102 assigns a value of '0' to that pixel in the flesh tone map (step 625) . Referring back to Fig. 5, video face location module 102 next analyzes, in step 136, the frame to detect which flesh tone pixels in the flesh tone binary map correspond to objects which have moved since the previous frame (hereinafter, "motion pixels"). A human face is usually moving. Therefore, by identifying pixels which do not correspond to moving objects, video face location module 102 rejects a high percentage of falsely detected flesh tone pixels. Fig. 7 is the pseudocode for an algorithm 700 for detecting motion pixels. For each pixel (step 705) , if the flesh tone binary map value for that pixel is '1' (step 710), then video face location module 102 determines whether the pixel is also a motion pixel. To do so, video face location module 102 tests the luma value of that pixel against the luma value of the same pixel in the previous frame. If the absolute difference of the luma values is less than to a motion threshold value (in the described embodiment, the value of the motion threshold value is 5 for an 8 bit luma) , then video face location module 102 determines that the pixel corresponds to a non-moving object and reassigns the flesh tone binary map value for that pixel to '0' (steps 715-720) .
Referring back to Fig. 5, after motion detection step 136, video face location module 102, in step 138, applies a filter to the flesh tone detection to reduce false detections resulting from noise (step 138) . Various types of filters can be used for filtering out or reducing the effect of noise. In the described embodiment, video face location module 102 uses a linear two dimensional filter, namely a 5X5 box car filter with unity coefficients. Video face location module 102 applies this filter to a particular pixel by adding the number of positive flesh tone and motion detections in a 5X5 square of pixels surrounding the pixel being filtered. If the sum is above a pre-determined threshold value, then the flesh tone binary map value for that pixel is set to "1". Otherwise, video face location module 102 sets the flesh tone binary map value for that pixel to ' 0' . Video face location module 102 then, in step 140, segments the flesh tone binary image map into rectangle segments (or boxes) surrounding regions which contain contiguous areas of flesh tone pixels and therefore may contain images of faces (hereinafter, referred to as a "face segments"). To segment the image, video face location module 102 scans each row of the flesh tone binary map to determine the start and end of each set of contiguous flesh tone pixels in the row where each pixel in a set has a chroma value close to the average chroma value for that entire set. When video face location module 102 finds such a set, video face location module 102 determines the difference between the location and average chroma value of the set and the location and average chroma values of all the previously identified face segments in the current frame. Video face location module 102 then attaches the set of pixels to the face segment for which the calculated difference was within a predetermined threshold value and was also the minimum difference calculated for all previously identified face segments. Video face location module 102, if necessary, adjusts the size of the face segment to include the new set of pixels. Additionally, video face location module 102 recalculates the average chroma value for that face segment within the additional new set of pixels. Video face location module 102 in this manner assigns each flesh tone pixel to a face segment. If a set of pixels does not match a previously detected face segment, then video face location module 102 uses the set of pixels to create a new face segment . In segment/face classification step 142, video face location module 102 then examines all of the detected face segments and rejects those face segments which do not likely represent a face. Video face location module 102 uses two methods to determine whether a face segment likely represents a face. According to the first method, video face location module 102 determines whether the size of the face segment corresponds to a default size of the image of a typical or preselected standard head given the camera range value. If the size of a face segment is less than the default image size at that range (or a scaled default image size at that range, such as 125% of the default image size) , video face location module 102 determines that the face segment likely does not represent a face. Additionally, if the proportions of a face segment are not within a range for a typical head (for example, width to height ratio of 1.5), video face location module 102 determines the face segment likely does not represent a face. According to the second method, video face location module 102 rejects face segments which have been detected because of shadows moving over flesh tone colored backgrounds or because of objects moving over flesh tone colored background. To do this, briefly, video face location module 102 rejects face segments having spatial luma variance or temporal luma difference variance below predetermined threshold values. Fig. 8 is the pseudocode for an algorithm 800 for rejecting face segments based on spatial luma variance and temporal luma difference variance.
Generally, movement of shadows over flesh tone colored stationary objects cause the pixels for the flesh tone colored stationary objects to be detected as flesh tone pixels and motion pixels. In these face segments, because of the movement of shadows, all luma values of the face pixels are generally reduced by the same amount from the corresponding luma values in the previous frame . Therefore, the temporal luma difference variance for a face segment between the current and the previous frame is relatively small. (The temporal luma difference variance of a face segment is the variance of the difference between the luma value of the pixel between the current and previous frames from a mean difference, between the current and previous frames, of all luma values for the pixels in that face segment.) In the case of most other moving objects which are not subject to shadows, the difference in the luma values varies significantly from the mean difference and hence the temporal luma difference variance is relatively large. Steps 805-825 in algorithm 800 in Fig. 8 use the temporal luma difference variance to detect face segments which have been classified as face segments but more likely represent stationary objects subject to moving shadows. For each face segment (step 805), video face location module 102 calculates the mean difference in the luma values for that face segment between the current frame and the previous frame (step 810) . To do so, for each pixel in the face segment, video face location module 102 computes the difference in the luma values from the previous frame. Video face location module 102 then adds these differences and divides the sum by the size of the face segment to obtain the mean difference in luma values. Video face location module 102 then determines, for each pixel, the squared difference between the mean difference in luma values computed in step 810 and the difference in luma values between the current frame and the previous frame (step 815) . Video face location module 102 adds these squared differences and divides the sum by the size of the face segment to determine the temporal luma difference variance for the face segment (step 815) . If the temporal luma difference variance for the face segment is below a predetermined threshold value (step 820) , video face location module 102 determines that the face segment is likely not an image of a face (step 825) .
Additionally, as stated above, video face location module 102 uses spatial luma variances to reject face segments which represent uncovered, flesh-tone background. For example, when a person moves in front of a flesh tone colored door, video face location module 102 identifies the trailing edge of the image of the person as moving pixels. Similarly, video face location module 102 may identify hands which move over a flesh-colored table as moving pixels. To identify these false face segments, video face location module 102 uses the fact that uncovered flesh tone colored objects are typically smooth, while faces have multiple edges and are not smooth. Therefore, video face location module 102 calculates the spatial luma variance of each face segment and rejects the face segments which have variances less than a pre-determined threshold value. The spatial luma variance for a face segment is the sum of the squared differences between luma values for all pixels in a face segment from the mean luma value for that face segment divided by the size of the face segment. Steps 805 and 830-845 in algorithm 800 in Fig. 8 use the spatial luma variances for the detected face segments to reject false face segments which more likely represent flesh tone background. For each face segment (step 805) , video face location module 102 computes the mean luma value for that face segment (step 830) . To do so, video face location module 102 adds the luma values of all of the pixels in that face segment and divides the sum by the size of the face segment. Video face location module 102 then determines the sum of the squared differences of the luma value of each pixel in the face segment from the mean difference in luma values computed in step 830. Video face location module 102 divides the sum by the size of the face segment to determine the spatial luma variance of that face segment (step 835) .
If the spatial luma variance of the face segment is below a predetermined threshold value (step 840) , video face location module 102 determines the face segment being examined is not an image of a face (step 845) . At this point, video face location module 102 assumes that all remaining face segments represent faces. After segment/face classification step 142, video face location module 102 reduces the flesh tone binary map to a map 144 having a number of face segments representing detected faces.
Referring back to Fig. 4, after video face location module 102 finishes executing, video offset/error measurement module 104 determines the offset of detected faces in the camera view from a video coordinate reference point. The reference point can be a fixed reference point (for example, the center of the camera image or a frame of video) or a dynamic reference point (for example, location of a speaker detected by audio based locator 70) . In either case, for each detected face, video offset/error measurement module 104 computes the offset by determining the X-axis and Y-axis difference between the center of the detected face and reference point. Where the reference point is a location of a speaker detected by audio based locator 70, audio based locator 70 first converts the coordinates of the reference point from the audio coordinate system to the video coordinate system (step 112) . Video offset/error measurement module 104 then uses these converted values to calculate the offset. After video offset/error measurement module 104, face location tracking module 106 is performed. Generally, face location tracking module 106 associates detected faces in the current frame (that is, currently detected faces) to previously detected faces in existing track files. Face location tracking module 106 then updates the existing track files. Face location tracking module 106 also creates new track files for those currently detected faces that can not be associated with existing track files. The results of face location tracking module 106 are typically used for framing camera shots in the cases where the video conferencing system 10 moves camera 14 to track a moving speaker, as will be described below.
Each track file corresponds to one detected face and stores parameters for that face. The stored parameter values not only include those associated with the current video frame but also, if required, those associated with the previous video frames in which the face was detected. The parameters include location, size, and parameters associated with movement. The track files can also store the audio coordinate pan, tilt, and range values associated with detected faces for the particular frames in which the faces were detected. Additionally, the track files can store the values for the number of frames in which the face has been detected (hereinafter, "update_count" ) and the number of frames since the last time the face was detected (hereinafter, "noupdate_count") . The track files also can store a confidence measurement of the accuracy of any estimated, or predicted location based on the values stored in the track file.
Fig. 9 shows a flow chart 900 of the steps taken by face location tracking module 106. For each video frame processed for face detection (step 901) , face location tracking module 106 first determines whether the frame of video was captured at the start of a new camera move (step 902) . If so, face location tracking module 106 initializes the initial set of track files (step 905) . The initial set of track files can be either a set of new track files or all of the existing track files. Face location tracking module 106 determines which initial set of track files to use based on how the track files will be used. If the initial set of files includes only new track files, then face location tracking module 106 creates a new track file for each detected face in the current frame. These track files are then populated with the pan, tilt, and range values or audio location of the face and the parameters associated with the detected faces in the current frame such as video coordinates size, location, offset, motion, and other measurements from modules 104 (Fig. 4) , as needed. Face location tracking 106 does not use the video frame at the start of a new camera move for face tracking (step 930) and the face tracking processing for this video frame ends (step 925) .
If face location tracking module 106 determined that the video frame was captured at the start of a new camera move (step 902) , face location tracking module 106 next determines whether the video frame was captured when a camera move was in progress (step 907) . If a camera move was in progress, face location tracking module 106 does not use the video frame for face tracking processing (steps 907, 930) and the face tracking processing for this video frame ends (step 925) . If the video frame was captured when a camera move was not in progress, face location tracking module 106 in step 910 determines whether the camera was settled when the video frame was captured, that is, whether all camera movements which affect the video face location processing had stopped) . These movements include camera pan, tilt, zoom, auto-focus, auto-white balance, and auto-exposure. Face location tracking module 106 determines whether camera 14 had settled by either sampling camera settling signals 25 (Figs. 3 and 4) until the signals stop changing or by waiting for some pre-determined time period after a camera move starts.
If the video frame was captured when camera 14 had not settled, then face location tracking module 106 does not use the video frame in face location tracking (steps 910, 930) and the face tracking processing for this video frame ends (step 925) . If face location tracking module 106 determines that camera 14 had settled (step 910) , face location tracking module 106 attempts to associate the location of detected faces in the video frame with the existing track files (step 915) . (In the case where the existing track files are not used in step 905, face location tracking module 106 does not perform steps 915 and 920.) Associating the location of the detected faces involves the following steps, described here in general terms:
Propagation or prediction of position, confidence, and search bounds: In general terms, this step involves, based on the track files associated with the previous frame, predicting estimates of the locations in the current video frame of the faces detected in the previous video frame. This step also involves calculating a confidence value for that estimation.
Ordered association of the current detected faces and the track files associated with the previous frame: In general terms, this step involves, for each track file, determining the likelihood that each currently detected faces corresponds to the track file. Face location tracking module 106 then determines which of the detected faces passes a minimum threshold of likelihood and also has the highest measure of likelihood. Face location tracking module 106 then associates that detected face to the track file. - Deletion of old files based on the value of noupdate_count variable .
Creation of new files for detected faces in the current frame not associated with existing track files.
Each of these steps will now be described in detail. Fig. 10 is the pseudocode for a prediction algorithm 1000. In the described embodiment, face location tracking module 106 uses a fixed gain filter to predict the new values. In other embodiments face location tracking module 106 can use more complex filters such as variable gain filters as in Kalman filters.
For all track files i (step 1005) , face location tracking module 106 predicts the horizontal or x-axis location of a pixel that represents the center of a detected face (hereinafter, the center pixel) corresponding to a track file (step 1010) . To compute the predicted value of the horizontal location of the center pixel (k± (n) ) , face location tracking module 106 adds the estimated location of the center pixel in the previous frame (x± (n-l) ) to the horizontal value of the estimated pixel motion associated with the previous frame (ki (n-l) ) . (The unit of measurement used for the various motion variables is a unit of speed expressed in terms of number of pixels per video frame.) Face location tracking module 106 computes the predicted value of the pixel motion when updating the track files, as will be described below. In step 1015, face location tracking module 106 computes the predicted horizonal value of the pixel motion associated with the current frame ki n) ) by multiplying the horizontal value of the estimated pixel motion of the previous frame {^ (n-l) ) by a predetermined fixed gain value (gmd) . Face location tracking module 106 then performs steps 1020 and 1025 which are similar to steps 1010 and 1015 and calculates the vertical axis (y- axis) values . In step 1030, face location tracking module 106 computes the value of the confidence parameter for the current prediction ci fn) ) by multiplying the confidence value in the track file ( c± (n-l) ) by a fixed gain value (gca) .
After the prediction step, face location tracking module 106 attempts to associate the detected faces in the current video frame to the existing track files. Fig. 11 is the pseudocode for an association algorithm 1100 for associating the detected faces in the current video frame to the existing track files. Generally, face location tracking module 106 compares each track file to all detected faces. Face location tracking module 106 associates a detected face to a track file, if the distance along the x- and y-axes between the position of the detected face and the predicted position of the face associated with that track file is smaller than the difference for all other detected faces.
For each track file i (step 1105) , face location tracking module 106 determines whether the track file is an initialized and active track file (step 1107) . If the track file is an initialized and active track file, then face location tracking module 106 determines for each detected face j whether the distance along the x- and y- axes between the position of the detected face and predicted position values for the track file is less than the maximum distance threshold values (steps 1110-1112) . In the described embodiment, the maximum distance threshold values are statistical bounds based on two variances, measured in each of the x- and y-axes : variance of the position of a typical pixel from one frame to the next (σ2 ^ and σ2^) and the variance in the measurement of pixel locations in the current frame due to various errors in measurement (σ2-^ and σ^) . In the described embodiment, the statistical bound assumes that both variances have a constant value for a given camera zoom setting. However, in other embodiments, the variances may be unique for each frame based on previous measurements or based on input from sensors monitoring the operation of the equipment. The statistical bound is computed as three times the standard deviations calculated as the sum of each of the variances in each of the x- and y -axes:
Figure imgf000031_0001
Figure imgf000031_0002
where σ2 ^ is the horizontal position variance; σ2^ is the vertical position variance; σ2 ^ is the horizontal measurement variance; and σ2^ is the vertical measurement variance . If the distance between the detected face j and the predicted values for the track file are less than the maximum distance threshold values (steps 1112) , the detected face j is marked as a possible candidate for association with the track file (step 1115) .
For all face candidates for associations with track file i in the current frame, face location tracking module 106 next attempts to find a candidate face that is closest to the predicted value for the track file (steps 1117-1122) and selects that face for association with track file i. In step 1117, face location tracking module 106 first determines whether any of the detected faces were marked as a possible candidate for association with track file i. If so, for each such candidate j (step 1120) , face location tracking module 106 calculates the distance (d±j) between the center pixel of the detected face and the center pixel in the track file i (step 1122) . Face location tracking module 106 then finds the minimum of these calculated distances (di;j) (step 1125) and marks the corresponding detected face as being associated to track file i (step 1127) . In step 1130, face location tracking module 106 marks the track file as having been associated to a detected face in the current video frame and, in step 1132, resets the value of variable noupdate_count . Face location tracking module 106 then populates the track file i with the values associated with the matching detected face, namely the location of the center pixel (steps 1135-1137) and the dimensions of the detected face (steps 1140-1142) . If, in steps 1110-1115, face location tracking module 106 does not find any suitable candidates for association among the detected faces in the current video frame, face location tracking module 106 marks track file i as not having been associated to a detected face (step 1147) . Face location tracking module 106 then increments the variable noupdate_count (step 1150) .
As stated above, after associating the detected faces to the track files, face location tracking module 106 deletes track files which for more than a predetermined number of frames have not been associated with a detected face. Face location tracking module 106 deletes a track file by marking the track file as not being initialized and resetting the variables in the track file.
In some cases, after attempting to associate the detected faces with the existing track files, some detected faces in the current video frame remain as not associated with any existing track file. In that case, the values associated with the detected face are populated in a new track file. Additionally, the value of the confidence parameter ( c± (n) ) for the current frame is set to a predetermined value (for example, 0.5) . Also, the horizontal and vertical pixel motion variables (ki (n) and yi (n) ) are set to a predetermined value (for example, zero) .
Referring back to Fig. 9, at this point, face location tracking module 106 updates the various parameters in the track files based on whether a track file has been associated with a detected face in the current video frame (measurement update step 920) . Generally, each parameter is updated based on the value for that parameter in the current and previous frames, the predicted value for that parameter, and a gain value that represents an estimate of errors due to various equipment imperfections.
Fig. 12 is the pseudocode for an algorithm 1200 for updating the track files. For each track file i which has been associated with a detected face in the current frame (step 1202) , face location tracking measurement update module 920 updates a number of variables in the track file. In steps 1205-1207, face location tracking module 920 computes the horizontal and vertical center pixel values for the track file i (Xi (n) and y± (n) , respectively). To determine these values, face location tracking module 920 first subtracts the corresponding predicted center pixel value (x± (n) and y (n) ) from the center pixel value of the associated detected face measurement (xmj (n) and ymj (n) ) . The result is then multiplied by a gain value (gp) compensating for an expected average error due to various equipment defects. Face location tracking module 920 then adds the result of this multiplication to the corresponding predicted center pixel value (x± (n) and y (n) ) . In steps 1210 and 1212, face location tracking module 920 computes the horizontal and vertical pixel motion values for the track file i (x± (n) and y (n) , respectively) . To determine these values, face location tracking module 106 first subtracts the corresponding predicted pixel position value (xi (n) and y± (n) ) from the horizontal and vertical center pixel values for the track file i (x± (n) and y (n) ) calculated in steps 1205-1207. The result is then multiplied by a gain value (gm) compensating for an expected average error due to various equipment defects. Face location tracking module 106 then adds the result of this multiplication to the corresponding predicted pixel motion value (xi (n) and h In) ) .
In steps 1215 and 1217, face location tracking module 106 computes the horizontal and vertical size values for the track file i (xsi (n) and ysi (n) , respectively) . To determine these values, face location tracking module 106 first subtracts the corresponding size value in the track file from the previous frame (xsi (n-l) and ysi (n-l) ) from the size values for the associated detected face (xsj (n) and ysj (n) ) . The result is then multiplied by a gain value (gs) compensating for an expected average error due to various equipment defects. Face location tracking module 106 then adds the result of this multiplication to the corresponding size value in the track file from the previous frame (xsi (n-1) and ysi (n-1) ) .
Face location tracking module 106 next calculates the confidence value for the values that now populate the track file (step 1220) . Face location tracking module
106 first subtracts the predicted confidence value ( c± (n) ) from one and multiplies the result by a gain value (gc) . Face location tracking module 106 then adds the result to the the estimated confidence value for the previous frame ( c± (n-1) ) .
Face location tracking module 106 then validates the track files in steps 1225-1232. Generally, face location tracking module 106 assumes a track file is invalid until it is validated. In step 1225, if a track file with which a face detection is associated is marked as invalid, face location tracking module 106 increments the value of the update_count variable (step 1227) . If the value of the update_count variable and the value of the confidence variable of the track file are each greater than a corresponding threshold value required from a valid frame (step 1230) , then face location tracking module 106 validates the track file by marking it as such (step 1232) .
For each track file i which has not been. associated with a detected face in the current video frame (step 1235) , face location tracking module 106 also updates a number of variables in the track file. Face location tracking module 106 populates the horizontal and vertical center pixel values for the track file i x± (n) and yi (n) , respectively) , the horizontal and vertical pixel motion values for the track file i (x (n) and y± (n) , respectively), and the confidence variable (c-jfnj) with the predicted values (steps 1237-1245 and 1252) . Face location tracking module 106 sets the horizontal and vertical size values for the current video frame (xsi (n) and ysi (n) , respectively) with the values associated with the previous video frame in which the detected face measurements were updated.
Referring back to Fig. 4, after face location tracking module 106, transform to audio coordinates module 108 converts the tracked location values to audio coordinate system.
After transform to audio coordinates module 108, face location memory module 110 stores the values of the various parameters associated with the detected faces in the current video frame in files associated with the detected faces. Generally, face location memory module 110 stores the result of the analysis in the previous modules for future access when the camera view may not contain a particular region of interest. Which of the results are stored depends on how the data will be used in the future. The stored data can include location and size of detected faces. Additionally, the stored data can be organized by unique numbers assigned to each face or by spatial sectors. The data also includes the results of face location tracking after being converted into the audio coordinate system. At this point, video based locator 60 finishes its analysis.
Having described the operation of video based locator 60, the operation of the audio based locator 70 will now be described. Audio speaker location module 114 of audio based locator 70 detects the location of a speaker based on audio signals from microphone array 12. A method of locating a speaker based on audio signals from a plurality of microphones is described in detail in the commonly assigned application, incorporated herein by reference, entitled "Method and Apparatus for Localization of an Acoustic Source", serial no. 08/663,670, filed on June 14, 1996 (hereinafter, "the '670 application"). Briefly, the method in the '670 application uses at least two microphones spaced from one another. According to the method in the '670 application, generally, audio speaker location module 114 processes the audio signals by determining whether signals acquired during a particular time frame represent the onset or beginning of a sequence of audio signals from the sound source. Audio speaker location module 114 identifies received audio signals representative of the sequence of signals when the data represents the beginning of the sequence. Audio speaker location module 114 then determines the location of the source based upon the received audio signals.
The onset or beginning of a sequence of audio signals from the source is detected on a frequency-by- frequency basis. Data associated with those frequency components of acquired signals which satisfy the following two conditions are deemed to be representative of signals occurring at the onset of a sequence of audio signals from the source. First, the magnitude of the frequency component should preferably be greater than the background noise energy for that frequency by at least a predetermined amount. Second, the magnitude of the frequency component should preferably be greater, by at least a predetermined amount, than the magnitude, of corresponding frequency component acquired during a predetermined number of preceding time frames.
If the two conditions are met for a particular frequency component during a particular time frame, then it is assumed that an onset condition is met with respect to that frequency. A cross-spectrum for the audio signals acquired by the pair of microphones during the time frame is generated with respect to each such frequency component, and a cross-spectrum for the noise at each such frequency is subtracted to identify the audio received signals representative of the sequence of signals from the audio source. The audio cross-spectrum is accumulated during a predetermined length of time. If at the end of the predetermined time period, non-zero values for at least a specified number of frequencies have been accumulated, the accumulated cross-spectrum values are then used to compute cross-correlation values. The cross-correlation values in turn are used to determine the time delay between signals arriving at the pair of microphones from the common source. These time delays are then used to determine the direction and bearing angle of the audio source with respect to the microphones which are used to determine a location of the audio source (i.e. a direction and a distance to the audio source from a predetermined reference point such as the camera) .
By using an array of microphones 12, audio speaker location module 114 provides both tilt and pan information with respect to the detected audio source. Audio speaker location module 114 also uses this information to determine the distance (that is, range) to the audio source .
Audio speaker location module 114 also provides a pair of normalized cross-correlation values, one for the horizontal microphones (that is, the pan microphones) and one for the vertical microphones (that is, the tilt microphones) .
After audio speaker location module 114 determines the location of a speaker, speaker validation and framing module 116 determines whether the detected speaker should be validated and how the camera shot for the detected speaker should be framed. Fig. 13 shows a flow chart 1300 of the steps taken by speaker validation and framing module 116. Briefly, speaker validation and framing module 116 first determines, based on a set of criteria, whether the results from audio speaker location module 114 (Fig. 4) represent a valid speaker location. The criteria for validating a detected speaker are as follows : a detection from the same location or the vicinity of the same location is made a predetermined number of times (reference number 1320 in Fig.
13) ; the pan and tilt values for the location of the audio speaker are those supported by camera 14 (reference number 1315 in Fig. 13) ; each of the normalized cross-correlation values is greater than a corresponding predetermined threshold value (reference number 1317 in Fig.
13) ; and - the detected audio sequence was determined to have been speech (reference number 1318 in Fig. 13) . If a detected speaker location is validated, speaker validation and framing module 116 then uses a set of rules to ascertain an appropriate camera shot . In determining the appropriate camera shot, speaker validation and framing module 116 can use the data stored in the detected face (ref 110) files to frame the camera shot. Speaker validation and framing module 116 then supplies camera control module 80 with appropriate pan, tilt, and zoom directives.
The operation of speaker validation and framing module 116 will now be described in detail. In step 1305, speaker validation and framing module 116 first determines whether audio speaker location module 114 has detected an active audio source, which is a speaker for whom audio speaker location module 114 detects the onset of speech across a predetermined number of frequencies . If no active audio sources has been detected for a predetermined period of time, speaker validation and framing module 116 provides instructions to camera positioning device 16 to show a room shot (step 1307) . Speaker validation and framing module 116 can in this step use the results of face detection stored in memory to frame an appropriate group shot, as will be described below.
Speaker validation and framing module 116 determines whether the detected location corresponds to the same location as the one detected immediately prior to the current detection. If not, speaker validation and framing module 116 deletes the temporary file associated with the previous detection (step 1310) . If speaker validation and framing module 116 determines that an active audio source is detected, it then determines whether the detected speaker should be validated based on the above described criteria (step 1312) . It should be noted that the threshold values used to determine whether to validate a detection (Ref 1312) can be changed based on the results of video based locator 60 stored in the detected face files, as described below. If the speaker location is not valid, speaker validation and framing module 116 finishes processing. If the speaker location is valid, speaker validation and framing module 116 stores the speaker location in a new temporary file (step 1322) . In step 1325, based on the speaker location in the temporary file, and on a set of framing rules, speaker validation and framing module 116 selects an appropriate camera shot. For example, the camera shot can frame a single speaker or a group of speakers. A set of rules may, for example, indicate that if a speaker is the dominant speaker based on the number of times he or she has spoken recently, then the camera shot should only include him or her. The set of rules can also state that if two more or speakers have spoken recently, then the camera shot should include all participants in the conversation taking into account limitations of camera 14 for the available field of view. Additionally, speaker validation and framing module 116 can use the results of video based locator 60 to properly frame a camera shot, as will be described below. Based on this determination, speaker validation and framing module 116 provides camera control module 80 with camera framing instructions. Referring back to Fig. 4, after validating a detected speaker, audio location memory module 118 either adds the new speaker to an existing speaker file to which the detected speaker was matched or creates a new speaker file. Such speaker files can store the speaker location and the number of times the speaker has spoken. Additionally, the speaker files are kept in order, with most recent speaker being at the top of the order. These files can be used for framing the camera based on some camera framing logic .
As described previously, audio based locator 70 first uses the audio data to determine the location of the speaker and based on that determination supplies camera pointing control module 80 with directives as to how to move camera 14. Audio based locator 70 can also use results of video based locator 60 to appropriately frame a camera shot, as will be described in detail below. After the camera is moved, video based locator 60 captures frames of video images from camera 14 and detects the location of any faces in the video image. Camera pointing control module 80 then can use the results of both audio and video detection to adjust the tilt, pan, and range of camera 14 to correct for any errors in framing the camera, as will be described in detail below.
The manner in which camera control module 80 and speaker validation and framing module 116 use the detection results from video based locator 60 and audio based locator 70 to properly frame camera shots will now be described in detail. The manner in which camera control module 80 uses the face detection results to correct errors in camera positioning device 16 will first be described. Then, the manner in which speaker validation and framing module 116 uses the face detection results to supplement the results of audio speaker detection module 116 to prevent errors in camera pointing directives and to better frame camera shots will be described.
In some embodiments, one error for which camera control module 80 can correct is the error due to misalignment between camera 14 and microphone array 12. Generally, audio based locator 70 uses an array of microphones 12 to determine the location of a speaker relative to an audio reference point. The accuracy of this determination partly depends on the accuracy of the alignment of camera 14 with array of microphones 12 through camera positioning device 16. However, camera 14 and array of microphones 12 may be misaligned because of mistakes during the manufacturing process or as a matter of regular use of the system. Therefore, the camera pointing directives from audio based locator 70 can result in an image in which the speaker is offset from a desired position on the frame (for example, the center of the frame), as shown in Fig. 14.
Camera control module 80 uses the results of face detection from video based locator 60 to correct for the offset. Fig. 15 shows a flow chart 1500 of the steps taken by camera control module 80 to correct for the video offset. If face is not located at a desired position in the captured video image (step 1505) , video based locator 60 determines that the camera shot is not centered on the speaker. Video based locator 60 then determines which of the detected faces is located closest to the desired position in the captured video image and assumes that this face corresponds to the detected speaker (step 1510) . Video based locator 60 calculates the amount by which the closest face is offset from the desired position. Video based locator 60 then accesses, in step 1515, the previously calculated offset values and calculates a smoothed offset value, for example, by averaging the values (step 1515) . After a predetermined number of offset values are used to calculate the smoothed offset value (step 1520) , the smoothed offset value is used to replace any previously stored smoothed offset values and the new value is used from now on to correct camera positioning instructions (step 1525) . In some embodiments, video based locator 60 checks from time to time (for example, every time camera 14 is moved) whether the image is offset and recalculates the smoothed offset value.
In some embodiments, video based locator 60 calculates the offset values for a predetermined number of frames and then compares them to find a cluster of offset values which are close in value to one another. Video based locator 60 then calculates an offset value based on the cluster of offset values (for example, by averaging the values) . In this manner, video based locator 60 filters out those offset values which resulted from other factors prior to sending them to camera control module 80.
In some embodiments, audio speaker detection module 116 can correct for gross pointing errors, which are caused by the results from audio based locator 70 being incorrect for a variety of reasons. For example, audio based locator 70 can detect non-speech sounds as speech and therefore confuse a non-human acoustic source with a human speaker. Additionally, reflection from large surfaces such as walls and tables can confuse audio based locator 70 as to the true source of the audio. In these cases, audio based locator 70 may detect the source of the audio as the reflection point from the surface (for example, a table surface in front of the speaker) . Additionally, if array of microphones 12 is performing tilt measurements, one tilt measurement microphone may receive acoustic waves mainly from the reflection point and while another may receive audio waves from the speaker. This can cause a significant error in the detected speaker location, resulting in the camera pointing below the reflection point or over the head of the speaker. Similar problems can occur in the pan dimension, although less frequently. In either the case of non-speech sources, or reflection, the error is manifested as a gross camera pointing error where camera 14 points to the non-speech acoustic source or the source of the reflection as shown in Fig. 16.
Fig. 17 shows a flow chart 1700 of the steps taken by audio speaker and validation module 116 to correct for such gross pointing errors. Audio speaker and validation module 116 first determines whether a gross pointing error has occurred. To do so, audio speaker and validation module 116 determines whether a detected face is located in an area 1605 in the video frame (Fig. 16) where the image of the speaker's face is expected (step 1705) . If a face is not located at a desired position (i.e. area 1605) of the captured video image (step 1705), video based locator 60 determines that the captured video image is not centered. Video based locator 60 then determines which of the detected faces is located closest to the desired position in the captured video image and assumes that this face corresponds to the detected speaker (step 1710) . Video based locator 60 calculates the amount by which the closest face is offset from the desired position. Video based locator 60 then accesses, in step 1715, the previously calculated offset values and calculates a smoothed offset value, for example, by averaging the values (step 1715) . After a predetermined number of offset values have been used to calculate the smoothed offset value (step 1720) , the smoothed offset value is used to determine corrective camera instructions to compensate for any gross camera pointing errors (step 1725) . Camera control module 80 then transforms this offset value into camera instructions which are provided to camera position device 16 (step 1730) .
In some embodiments, audio speaker and validation module 116 can also use the data from video based locator 60 to correct errors in determining the distance from camera 14 to the speaker (that is, range finding errors) . Generally, range is a difficult dimension for audio speaker source location systems to measure accurately. The accuracy of the measurement depends on at least two factors. The first factor is the size of the microphone array 12, where larger arrays yield more accurate results. The second factor is the duration and quality of the audio speech being processed, where longer durations and higher utterance counts yield more accurate results. Since the range value is used to zoom camera 14, errors in the value of the range can.lead to errors in framing the speaker by making a camera shot either too tight or too wide, as shown in Fig. 18.
Fig. 19 shows a flow chart 1900 of the steps taken by audio speaker and validation module 116 to correct for range finding errors. Audio speaker and validation module 116 first determines which of the detected faces is located closest to the expected position in the image and assumes that this face corresponds to the detected speaker (step 1905) . If the size of the closest detected face is within a predetermined face size value, then audio speaker and validation module 116 assumes that the range is correct (step 1910) . If not, audio speaker and validation module 116 computes a range value which would adjust the size of the detected face to fall within the predetermined face size threshold value (step 1915) . Audio speaker and validation module 116 transforms this offset value into camera framing directives which are supplied to camera 14 and camera positioning device 16 (step 1920) .
As stated above, speaker validation and framing module 116 (Fig. 4) can use the face detection results to appropriately frame a camera shot. In some embodiments, speaker validation and framing module 116 of audio based locator 70 can use the results from video based locator 60 to dynamically change the variables controlling the speaker validation process. Speaker validation and framing module 116 changes these variables to achieve two goals: prevent gross pointing errors and reduce the response time of camera 14 and video conferencing system 10. Fig. 20 shows a flow chart 2000 of the steps taken by speaker validation and framing module 116 to prevent gross pointing errors. Speaker validation and framing module 116 first determines whether the location of a previously detected face matches the location of the detected speaker (step 2005) . If there is a matching detected face, then speaker validation and framing module 116 determines that the detected speaker is a valid speaker. However, if there is no matching detected face and this is the first detection of this speaker, speaker validation and framing module 116 decreases the sensitivity of the validation process so that there is less likelihood of validating the detected speaker (steps 2010-2015) . To do so, speaker validation and framing module 116 increases three threshold values: the cross- correlation threshold value (1317 in Fig 13) , the number of consecutive detections of a speaker location before the speaker location is validated (1320 in Fig. 13) , and the threshold value for speech detection (1318 in Fig. 13) . By increasing these threshold values, speaker validation and framing module 116 reduces the likelihood of validating a speaker which does not match a detected face .
If after increasing the threshold values, speaker validation and framing module 116 still validates the speaker, then speaker validation and framing module 116 changes the camera framing rules to mitigate gross pointing errors (step 2020) . Speaker validation and framing module 116 can change the rules in a number of ways: increasing the field of view to include a larger area, increasing the field of view to include a nearby detected face, or defaulting to a group shot which includes all detected faces.
Fig. 21 shows a flow chart 2100 of the steps taken by speaker validation and framing module 116 to reduce the response time of video conferencing system 10 for detecting speakers and pointing the camera. If the location of a previously detected face matches the location of the detected speaker (step 2105) , then speaker validation and framing module 116 increases the sensitivity of the audio based locator 70 (step 2110) . Therefore, the likelihood of detection and validating a speaker is increased. To do so, speaker validation and framing module 116 performs the following function: lowering the correlation threshold value (1317 in Fig. 13) ; lowering the required number of consecutive detections required of a speaker location before the speaker location is validated (1320 in Fig. 13) ; and lowering speech detection threshold value in audio speaker location module 114 in Fig. 4 (1318 in Fig. 13) . This increases the number of validated detections from the speaker in audio based locator 70 and therefore results in faster response time. However, increasing the sensitivity of the speaker validation process increases the number of false positive speaker detections. Since the audio speaker is already matched against a detected face, the false positive detections are easily filtered out and therefore do not significantly, if at all, affect the performance of video conferencing system 10. Additionally, instead of audio range finding, speaker validation and framing module 116 can use the face detection results for range finding, further reducing the processing time, the required number of microphones, and the required accuracy of microphone mounting, which are typically required for performing audio speaker location module 114.
In some embodiments, speaker validation and framing module 116 uses the data from video based locator 60 to frame shots of all the participants in a meeting. Fig. 22 shows a flow chart 2200 of the steps taken by speaker validation and framing module 116 to frame a group shot. Generally, when framing such group shots, if speaker validation and framing module 116 only uses the results for those speakers detected based on audio signals, speaker validation and framing module 1.16 can only capture those participants who have spoken .
Therefore, silent participants are left out of the group shot. However, by supplementing the audio based detected speakers with the data stored in the detected face files, speaker validation and framing module 116 can frame the camera to capture all participants in the group shot. To frame the camera for such a group shot, speaker validation and framing module 116 first determines whether the participants have stopped speaking (step 2205) for a period of time. If so, speaker validation and framing module 116 uses the detected speaker files and the data stored in the detected face files to frame a group shot (step 2210) . In some embodiments, speaker validation and framing module 116 first uses the detected speaker files to frame a group shot and then uses the data stored in the detected face files to adjust the group shot . The group shot preferably includes the most recently detected speaker based on audio. The group shot also preferably includes as many of the speakers which are detected based on the audio signals and as many of the faces detected based on the video signals as are possible given the pan, tilt, and zoom limitations of camera 14 and camera positioning device 16. Camera control module 80 transforms the adjusted room shot values into camera instructions which are provided to camera positioning device 16 (step 2215) .
In some embodiments, speaker validation and framing module 116 uses the video track files to identify a moving speaker and then adjusts the field of view of camera 14 to better capture the moving speaker. Figs. 23A, 23B, and 23C show top views of the position of a moving speaker 2300 relative to camera 14 and the field of view of camera 14. In Fig. 23A, speaker 2300 is stationary relative to camera 14. Camera 14, therefore, can capture an image of the speaker with a relatively narrow field of view 2305. However, referring to Fig. 23B, as the speaker moves from location A to location B, he or she moves out of field of view 2305 and into a field of view 2310. As he or she moves back to location A, speaker 2300 moves out of field of view 2310 and into field of view 2310. One method of ensuring that a proper image of the speaker is captured is for camera 14 to use a relatively broad field of view 2315. This has the advantage of avoiding continual camera movement to follow a moving speaker. Such continual camera movements can make the video images appear as discontinuous, especially when compressed for transmission over a telecommunication network.
Fig. 24 shows a flow chart 2400 of the steps taken by speaker validation and framing module 116 to adjust the field of view of camera 14 for a moving speaker. Flow chart 2400 uses the video based tracking detected speakers, described in detail above. Generally, as a speaker moves, speaker validation and framing module 116 identifies the speaker as a newly detected speaker. If a new speaker is not detected, audio speaker validation and framing module 116 continues with video based tracking. However, if a new speaker location is detected (step 2405) , speaker validation and framing module 116 checks to see if two consecutive speaker locations have been matched to a single track file by video based locator 60 (step 2410) . If so, the speaker is assumed to be a moving speaker. Speaker validation and framing module 116 sets the camera for tracking a moving speaker by increasing the field of view of camera 14 to encompass both the previous location and the current location of the speaker (that is, zoom out camera 14) (step 2415) . As long as there are two consecutive matches, camera 14 will have the broad field of view and video based tracking continues (step 2430) . However, if there are no consecutive matches, camera 14 is reset and returned to its original field of view, (step 2420) . In that case, the video based tracking is reset and starts anew (step 2425) .
Other embodiments are within the scope of the following claims. For example, Fig. 25 shows an integrated, portable video conferencing system 2500. Video conferencing system 2500 is portable and integrated in a similar manner as video conferencing system 10 and can have similar features, design, and construction as video conferencing systems described in the commonly assigned U.S. patent application "Integrated Portable Videoconferencing," application serial no. 08/694,324, filed on November 5, 1997, incorporated in its entirety by reference. In addition, video conferencing system 2500 has substantially similar components as video conferencing system 10, except to the extent described here. In Fig. 25 components having the same reference numeral as those in previous Figs, (such as Fig. 1) have been previously described and will not be described here. It should be noted that video conferencing system 2500 also includes a directed microphone array 12', such as those described in U.S. serial No. 08/657,636, filed May 30, 1996, and issued as U.S. patent no. 5,715,319, contents of which are incorporated herein in their entirety by reference.
Video conferencing system 2500 can be operated in two modes of operation. In its first mode of operation, audio based locator 70 of video conferencing system 10 provides camera positioning directives for panning the camera as described above. In this mode of operation, video based locator 60 does not perform any functions. In some embodiments, this mode of operation is the only mode of operation of video conferencing system 2500 and video based locator 60 is not included in video conferencing system 2500.
In a second mode operation, audio based locator 70 provides instructions for panning camera 14 while speaker validation and framing module 116 uses the data from video based locator 60 to tilt camera 14. By processing video signals to provide tilt information, video conferencing system 2500 does not require microphones for providing tilt information (such as microphones 12C and 12D in Fig. 1) . Since at least one microphone for tilt must be offset from the plane in which the pan microphones lie, by eliminating the need for tilt microphones, video conferencing system 2500 can be implemented as a limited dimension system and also be designed to be portable. In video conferencing system 2500, video based locator 60 can use an alternative method of face detection in video face location module 102 (Fig. 4), which will now be described. Referring to Fig. 4, in these embodiments, video face location module 102 detects the upper contour of moving objects in the video frames, which in most cases are humans, using luma values only (although in other embodiments chroma values may also be used) . Since contour detection is not as computationally intensive as the previously described face detection technique and uses luma values only, it is particularly suitable for applications where the underlying system does not have significant processing power. This has the advantage of enabling designing integrated, portable and less expensive video conferencing systems. Fig. 26 shows a flow chart 2600 of the steps taken by video face location module 102 to detect contour of speakers using an adaptive contour detection technique. In step 2605, after retrieving a new and a previous video frame, video face location module 102 first initialize an adaptive motion detection threshold (MD_THD) by setting it to have a minimum initial value (MD_THD_MIN) . The adaptive motion detection threshold is used in detecting the motion pixels in the captured video frames. Video face location module 102 processes current and previous video frames to detect the motion pixels in the current video frame in order to generate a binary motion map (or mask) in a similar manner as described previously in reference to flow chart 700 in Fig. 7 (step 2610) . It should be noted, however, that here only luma values are used.
If the total number of motion pixels in the binary motion map is more than a predetermined proportion, here one third, of the total number of pixels in the video frame (step 2615) , then video face location module 102 determines that the detected motion pixels are due to a camera move. If the total number of motion pixels in the binary motion map is not more than the predetermined proportion of the total number of pixels in the video frame (step 2615) , then video face location module 102 determines whether the total number of motion pixels is less than a predetermined threshold (MIN_MP_NUM) (step 2620) . If so, video face location module 102 determines that the number of motion pixels are less than that typically expected from a frame having an image of a moving person.
However, if video face location module 102 determines whether the total number of motion pixels is not less than a predetermined threshold (MIN_MP_NUM) (step 2620) , then video face location module 102 performs a morphological operation on the binary motion map to fill any pixels which are detected to be static but are surrounded by motion pixels (step 2625) . The morphological operation can, for example, be a 3x3 operator dilation and erosion operation. Video face location module 102 then detects the contours of the shapes in the binary motion map (step 2630) . The contour detection proceeds as follows. In each column, from top to bottom, video face location module 102 evaluates each moving pixel by looking at the 5x5 pixel block to the lower left or lower right of the pixel. If there are more than 6 moving pixels in either block, video face location module 102 identifies the pixel as a contour pixel . Since the contours are used for providing camera directives for tilting camera 14, only the upper contours of the detected persons are needed. Hence, as soon as video face location module 102 encounters a contour pixel in a column, video face location module 102 finishes analyzing that column.
Video face location module 102 then calculates the noise level (step 2635) . The noise level is defined as the total number of noise pixels divided by the total number of pixels above the detected contours. Noise pixels are motion pixels in the binary motion map which are above the detected contours, that is, motion pixels which are assumed not to correspond to any human speaker. If the noise level is not below a predetermined noise threshold (step 2640) , then it is determined that a less sensitive motion detection is to be performed on the frame to reject motion pixels detected because of noise. The motion detection to be performed is less sensitive in the sense that the likelihood of detecting motion pixels is decreased. To do so, video face location module 102 increases the adaptive motion detection threshold by a predetermined value (step 2645) . If the adaptive motion detection threshold is more than a maximum allowable noise threshold value (step 2650) , then video face location module 102 determines that the noise level is above a level where reliable contour can be detected.
If the adaptive motion detection threshold is not more than the maximum allowable noise threshold value
(step 2650) , then video face location module 102 performs a new motion detection on the motion pixels in the binary motion map using the new value of the adaption motion detection threshold (step 2655) . This process likely reclassifies some of the motion pixels as non-motion pixels .
At this point steps 2620-2655 are repeated until either the maximum allowable noise threshold value is reached (step 2650) or the detected noise level is below the predetermined noise threshold (step 2640) .
If the noise level is below the predetermined threshold (step 2640) , then it is assumed that the noise level is sufficiently low that a reliable contour can be detected. Video face detection module 102 then applies a five point median filter to smooth out the contour and to further filter out any motion pixels detected due to noise (step 2660) . Then, in step 2665, to reduce the amount of stored data, video location module 102 quantizes the detected contours (for example, to 16 levels) .
Speaker validation and framing module 116 (Fig. 4) then uses this information to determine an appropriate tilt angle and supplies camera positioning device 16 with appropriate directives. To do so, speaker validation and framing module 116 selects the highest contour point and determines how camera 14 should be tilted so that this highest contour point is located at a predetermined position in the captured video images. In some embodiments, other methods of face detection such as neural net or color histogram distribution based face detection algorithms and techniques can be used for determining the location of faces of persons in video face location module 1.02. It should be noted that in the above described embodiments, before modifying the camera framing directives based on the results of video detection module 60, camera pointing control 80 or speaker validation and framing module 116 first analyzes a predetermined number of frames. The values for all those frames are then validated to ensure that erroneous corrections are not performed. After the results are validated, they can then be used to modify the camera framing. In this manner, the accuracy of the framing modifications is increased.
What is claimed is:

Claims

1 . A system comprising : an image pickup device generating image signals representative of an image, an audio pickup device generating audio signals representative of sound from an audio source, and an audio source locator processing the image signals and audio signals to determine a direction of the audio source relative to a reference point.
2. The system of claim 1 further comprising an integrated housing for an integrated video conferencing system incorporating the image pickup device, the audio pickup device, and the audio source locator.
3. The system of claim 1 wherein the integrated housing is sized for being portable.
4. The system of claim 1 wherein the image pickup device includes a positioning device for positioning said image pickup device, wherein the audio source locator supplies control signals to the positioning device for positioning the image pickup device, the control signals being generated based on the determined direction of the audio source .
5. The system of claim 4 wherein the image pickup device is capable of variable zoom and the audio source locator supplies control signals to the image pickup device for varying the zoom of image pickup device.
6. The system of claim 1 wherein the image signals represent frames of video images and the audio source is a speaking person, the audio source locator detecting an image of the face of the speaking person in one of the frames of video.
7. The system of claim 6 wherein the audio source locator detects the image of the face of the speaking person by detecting the speaking person based on the audio signals, detecting images of the faces of a plurality of persons based on the video signals, and correlating the detected images to the speaking person to detect the image of the face of the speaking person.
8. The system of claim 6 wherein the audio source locator determines the direction of the face relative to the reference point.
9. The system of claim 6 wherein the audio source locator detecting an image of the face of the speaking person in one of the frames of video includes detecting a region representing a moving face.
10. The system of claim 6 wherein the audio source locator detecting an image of the face of the speaking person in one of the frames of video includes detecting a region having flesh tone colors in the frames of video.
11. The system of claim 10 wherein the audio source locator detecting an image of the face of the speaking person in one of the frames of video includes determining whether size of the region having flesh tone colors corresponds to a pre-selected size, the pre- selected size representing size of a pre-selected standard face .
12. The system of claim 10 wherein the audio source locator detecting an image of the face of the speaking person in one of the frames of video includes determining the region having flesh tone colors does not corresponds to an image of a face, if the region having flesh tone colors corresponds to a flesh tone colored object .
13. The system of claim 6 wherein the audio source locator includes : an audio based locator determining an audio based direction of the audio source based on the audio signals, and a video based locator determining a video based location of an image in one of the frames of video.
14. The system of claim 13 wherein the audio source locator determines the direction based on the audio based direction and the video based location of the image .
15. The system of claim 14 wherein audio based locator determines an offset of the video based location of the image from a pre-determined reference point in said one of the frames of video and modifying the audio based direction, based on the offset, to determine the direction.
16. The system of claim 14 further comprising a memory unit storing a previously determined offset of a video based location of an image in a previous one of the frames of video from a pre-determined reference point, wherein the audio source locator modifies the audio based direction, based on the stored offset, to determine the direction.
17. The system of claim 13 wherein the speaking person moves relative to the reference point, the audio source locator detecting the movement of the speaker and, in response to the movement, causing an increase in the field of view of the image pickup device.
18. The system of claim 13 wherein the audio source locator correlates the audio based direction to a video based location of the image in one of the frames of video and modifies the audio based direction, based on the results of said correlation, to determine the direction.
19. The system of claim 13 further comprising a memory unit for storing a previously determined direction of an audio source based on the audio signals and a previously determined video based location of an image of a face of a non-speaker person in a previous one of the frames of video, wherein the audio source locator uses the stored direction and video based location to cause an adjustment in the field of view of the image pickup device to include, in the field of view, the audio source and previously determined video based location.
20. The system of claim 13 further comprising: a positioning device for positioning said image pickup device, wherein the audio source locator supplies control signals to the positioning device for positioning the image pickup device, the control signals including signals, based on the audio based direction, for causing said positioning device panning said image pickup device and signals, based on the video based location, for tilting said image pickup device .
21. The system of claim 13 wherein the video based locator determines a video based location of the image by determining, in part or in whole, a contour of the image .
22. The system of claim 21 wherein the video based locator uses a parameter in detecting the contour of the image, wherein changing the parameter in one direction increases a likelihood of detecting contours of images and changing that parameter in another direction decreases the likelihood, and the video based locator changes the parameter, when detecting the contour of the image, to increase or decrease the likelihood.
23. The system of claim 22 wherein the video based locator determines a noise level wherein an increase in the noise level decreases the likelihood of detecting contours of persons in images, wherein video based locator changes the parameter based on the noise level .
24. The system of claim 21 wherein the video based locator detects a region representing a moving person and determines, in part or in whole, a contour of an image of the moving person.
25. The system of claim 13 further comprising a memory unit for storing a video based location of an image in a previous one of the frames of video, wherein the audio based locator correlates the audio based direction of the audio source with the stored video based location of the image in the previous one of the frames of video to determine whether the image in the previous one of the frames of video corresponds to the audio source, and audio based locator uses the audio based direction in producing control signals for the image pickup device, only if the audio based locator determines that the image in the previous one of the frames of video corresponds to the audio source .
26. The system of claim 13 wherein the audio based locator detects a plurality of audio sources and uses a parameter to determine whether to validate at least one of the plurality of audio sources to use in producing control signals for the image pickup device, wherein changing the parameter in one direction increases a likelihood of audio based locator validating said at least one of the plurality of audio sources and changing that parameter in another direction decreases the likelihood, and wherein the audio based locator correlates the audio based direction of the audio source with the stored video based location of the image in one of the frames of video to determine whether the image in the one of the frames of video corresponds to the audio source, and if the image in the one of the frames of video corresponds to the audio source, the audio based locator changes the parameter in the one direction.
27. The system of claim 26 wherein if the image in the one of the frames of video fails to correspond to the audio source, the audio based locator changes the parameter in the another direction.
28. The system of claim 13 wherein the audio based locator correlates the audio based direction of the audio source with the video based location of the image in one of the frames of video to determine whether the image corresponds to the audio source, and if the audio based locator determines that the image fails to correspond to the audio source, the audio based locator causes an adjustment in the field of view of said image pickup device to include, in the field of view, the audio source and the video based location of the image in the one of the frames of video.
29. The system of claim 13 wherein the audio source locator further determines a location of the audio source relative to the reference point.
30. The system of claims 29 wherein the location is characterized by the direction of the audio source relative to the reference point and a distance, determined by the audio source locator, from the reference point to the audio source .
31. The system of claim 30 wherein the image signals represent frames of video images, the audio based locator determines an audio based distance from the reference point to the audio source based on the audio signals, the video based locator determines a video based distance from the reference point to the audio source based on an image of the audio source in one of the frames of video, and the audio source locator determines the distance based on the audio based distance and the video based distance.
32. A method comprising the steps of: generating, at an image pickup device, image signals representative of an image, generating audio signals representative of sound from an audio source, and processing the image signals and audio signals to determine a direction of the audio source relative to a reference point .
33. The method of claim 32 further comprising the step of : generating control signals based on the determined direction of the audio source, positioning the image pickup device, in response to the control signals.
34. The method of claim 33 further comprising varying a field of view the image pickup device in response to the control signals.
35. The method of claim 32 wherein the image signals represent frames of video images, and the audio source is a speaking person, the method further comprising the step of detecting an image of the face of the speaking person in one of the frames of video.
36. The method of claim 35 wherein detecting the image of the face of the speaking person further comprises the steps of: detecting the speaking person based on the audio signals, detecting images of the faces of a plurality of persons based on the video signals, and correlating the detected images to the speaking person to detect the image of the face of the speaking person.
37. The method of claim 35 further comprising the step of determining the direction of the face relative to the reference point.
38. The method of claim 35 wherein detecting an image of the face of the speaking person in one of the frames of video includes detecting a region representing a moving face .
39. The method of claim 35 wherein detecting an image of the face of the speaking person in one of the frames of video includes detecting a region having flesh tone colors in the frames of video.
40. The method of claim 39 wherein detecting an image of the face of the speaking person in one of the frames of video includes determining whether size of the region having flesh tone colors corresponds to a preselected size, the pre-selected size representing size of a pre-selected standard face..
41. The method of claim 39 wherein detecting an image of the face of the speaking person in one of the frames of video includes determining the region having flesh tone colors does not corresponds to an image of a face, if the region having flesh tone colors corresponds to a flesh tone colored object.
42. The method of claim 36 wherein processing the image signals and audio signals includes: determining an audio based direction of the audio source based on the audio signals, and determining a video based location of an. image in one of the frames of video.
43. The method of claim 42 wherein processing the image signals and audio signals further includes determining the direction based on the audio based direction and the video based location of the image.
44. The method of claim 42 processing the image signals and audio signals further includes determining an offset of the video based location of the image from a pre-determined reference point in said one of the frames of video, and modifying the audio based direction, based on the offset, to determine the direction.
45. The method of claim 42 wherein processing the image signals and audio signals further includes modifying, based on a previously determined offset of a video based location of an image in a previous one of the frames of video from a pre-determined reference point, the audio based direction to determine the direction.
46. The method of claim 42 wherein the speaking person moves relative to the reference point, and wherein processing the image signals and audio signals further includes : detecting the movement of the speaker, and causing, in response to the movement, an increase in the field of view of the image pickup device.
47. The method of claim 42 wherein processing the image signals and audio signals further includes: correlating the audio based direction to a video based location of an image in one of the frames of video, and modifying the audio based direction, based on the results of said correlation, to determine the direction.
48. The method of claim 42 wherein processing the image signals and audio signals further includes using a previously determined direction of an audio source based on the audio signals and a previously determined video based location of an image of a face of a non-speaker person in a previous one of the frames of video to cause an adjustment in the field of view of the image pickup device to include, in the field of view, the audio source and previously determined video based location.
49. The method of claim 42 further comprising the step of supplying control signals, based on the audio based direction, for panning said image pickup device and signals, based on the video based location, for tilting said image pickup device.
50. The method of claim 49 wherein determining a video based location of the image includes determining, in part or in whole, a contour of the image.
51. The method of claim 50 wherein a parameter is used in detecting the contour of the image, wherein changing the parameter in one direction increases a likelihood of detecting contours of images and changing that parameter in another direction decreases the likelihood, the method further comprising the step of: changing the parameter, when detecting the contour of the image, to increase or decrease the likelihood.
52. The method of claim 51 further comprising the steps of determining a noise level, wherein an increase in the noise level decreases the likelihood of dete.cting contours of persons in images, and changing the parameter based on the noise level .
53. The method of claim 49 wherein determining a video based location of the image includes: detecting a region representing a moving person, and determining, in part or in whole, a contour of an image of the moving person.
5 . The method of claim 42 wherein processing the image signals and audio signals further includes: correlating the audio based direction of the audio source with a video based location of an image in one of the frames of video to determine whether the image in the one of the frames of video corresponds to the audio source, and using the audio based direction in producing control signals for the image pickup device, only if the image in the one of the frames of video is determined to corresponds to the audio source.
55. The method of claim 42 wherein processing the image signals and audio signals further includes: detecting a plurality of audio sources, using a parameter to determine whether to validate at least one of the plurality of audio sources to use in producing control signals for the image pickup device, wherein changing the parameter in one direction increases a likelihood validating said at least one of the plurality of audio sources and changing that parameter in another direction decreases the likelihood, correlating the audio based direction of the audio source with a video based location of an image in a previous one of the frames of video to determine whether the image in the previous one of the frames of video corresponds to the audio source, and changing the parameter in the one direction, if the image in the previous one of the frames of video corresponds to the audio source .
56. The method of claim 35 wherein processing the image signals and audio signals further includes: correlating the audio based direction of the audio source with a video based location of an image in a previous one of the frames of video to determine whether the image corresponds to the audio source, and if the image fails to correspond to the audio source, causing an adjustment in the field of view of said image pickup device to include, in the field of view, the audio source and the video based location of the image in the previous one of the frames of video.
57. The method of claim 35 further comprising determining a location of the audio source relative to the reference point .
58. The method of claim 57 wherein the location is characterized by the direction of the audio source relative to the reference point and a distance, determined by the audio source locator, from the reference point to the audio source.
59. The method of claim 58 wherein the image signals represent frames of video images, the method further comprising: determining a audio based distance from the reference point to the audio source based on the audio signals, determining a video based distance from the reference point to the audio source based on an image of the audio source in one of the frames of video; and determining the distance based on the audio based distance and the video based distance.
60. A system comprising: an image pickup device generating image signals representative of an image, an face detector processing the image signals to detect a region in the image having flesh tone colors and, based on the detection, determining whether the image represents a face.
61. The system of claim 60 wherein the face detector determining whether the image represents a face further includes detecting a region representing a moving object .
62. The system of claim 60 wherein the face detector determining whether the image represents a face includes determining whether the region having flesh tone colors has dimensions corresponding to dimensions of a selected image of a selected face.
63. The system of claim 60 wherein the face detector determining whether the image represents a face includes determining the region having flesh tone colors does not correspond to an image of a face, if the region having flesh tone colors corresponds to a flesh tone colored object.
64. A method comprising the steps of: generating image signals representative of an image, processing the image signals to detect a region in the image having flesh tone colors, and determining , based on the detection, whether the image represents a face .
65. The method of claim 64 wherein the determining step further includes detecting a region representing a moving object.
66. The method of claim 64 wherein the determining step includes determining whether the region having flesh tone colors has dimensions corresponding to dimensions of a selected image of a selected face.
67. The method of claim 64 wherein the determining step includes determining the region having flesh tone colors does not correspond to an image of a face, if the region having flesh tone colors corresponds to a flesh tone colored object.
68. A video conferencing system comprising: at least two microphones generating audio signals representative of sound from an audio source, a camera generating video signals representative of a video image, a positioning device for positioning said camera, a processor processing the video signals and audio signals to determine a direction of a speaker relative to a reference point and supplying control signals to the positioning device for positioning the camera to include the speaker in the field of view of the camera, the control signals being generated based on the determined direction of the speaker, and a transmitter for transmitting audio and. video signals for video-conferencing.
69. A system comprising: at least two microphones generating audio signals representative of sound from an audio source, a camera generating video signals representative of a video image, a positioning device for positioning said camera, a processor processing the audio signals to determine a direction of a speaker relative to a reference point and supplying control signals to the positioning device for positioning the camera to include the speaker in the field of view of the camera, the control signals being generated based on the determined direction of the speaker, and a transmitter for transmitting audio and video signals for video-conferencing.
70. The system of claim 69 further comprising an integrated housing for an integrated video conferencing system incorporating the microphones, the camera, the positioning device, the a processor, and the transmitter.
71. The system of claim 70 wherein the integrated housing is sized for being portable.
72. The system of claim 69 wherein the processor processes the video signals together with the audio signals to determine the direction of the speaker relative to the reference point.
73. The system of claim 72 further comprising an integrated housing for an integrated video conferencing system incorporating the microphones, the camera, the positioning device, the a processor, and the transmitter.
74. The system of claim 73 wherein the integrated housing is sized for being portable.
PCT/US1999/010667 1998-05-15 1999-05-14 Locating an audio source WO1999060788A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
AU63087/99A AU6308799A (en) 1998-05-15 1999-05-14 Locating an audio source
JP2000550274A JP4450508B2 (en) 1998-05-15 1999-05-14 Audio source positioning
DE69920138T DE69920138T2 (en) 1998-05-15 1999-05-14 VIDEO CONFERENCE SYSTEM WITH TONE SOURCE SELECTION
EP99925630A EP1004204B1 (en) 1998-05-15 1999-05-14 Videoconferencing system with audio source location

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/079,840 US6593956B1 (en) 1998-05-15 1998-05-15 Locating an audio source
US09/079,840 1998-05-15

Publications (3)

Publication Number Publication Date
WO1999060788A1 true WO1999060788A1 (en) 1999-11-25
WO1999060788A8 WO1999060788A8 (en) 2000-01-13
WO1999060788A9 WO1999060788A9 (en) 2000-03-02

Family

ID=22153126

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/010667 WO1999060788A1 (en) 1998-05-15 1999-05-14 Locating an audio source

Country Status (6)

Country Link
US (1) US6593956B1 (en)
EP (1) EP1004204B1 (en)
JP (1) JP4450508B2 (en)
AU (1) AU6308799A (en)
DE (1) DE69920138T2 (en)
WO (1) WO1999060788A1 (en)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002011438A1 (en) * 2000-08-01 2002-02-07 Koninklijke Philips Electronics N.V. Aiming a device at a sound source
WO2002047386A1 (en) * 2000-12-05 2002-06-13 Koninklijke Philips Electronics N.V. Method and apparatus for predicting events in video conferencing and other applications
WO2002049356A2 (en) * 2000-12-12 2002-06-20 Intel Corporation Automatic multi-camera video composition
WO2002079792A2 (en) * 2001-03-30 2002-10-10 Koninklijke Philips Electronics N.V. Method and apparatus for audio/image speaker detection and locator
US6611281B2 (en) 2001-11-13 2003-08-26 Koninklijke Philips Electronics N.V. System and method for providing an awareness of remote people in the room during a videoconference
WO2004051981A2 (en) 2002-11-29 2004-06-17 Sony United Kingdom Limited Video camera
WO2005002225A1 (en) * 2003-06-20 2005-01-06 Apple Computer, Inc. Video conferencing system having focus control
US7113201B1 (en) 1999-04-14 2006-09-26 Canon Kabushiki Kaisha Image processing apparatus
US7117157B1 (en) 1999-03-26 2006-10-03 Canon Kabushiki Kaisha Processing apparatus for determining which person in a group is speaking
US7397495B2 (en) 2003-06-20 2008-07-08 Apple Inc. Video conferencing apparatus and method
WO2009011592A1 (en) * 2007-07-13 2009-01-22 Tandberg Telecom As Method and system for automatic camera control
DE102005024097B4 (en) * 2004-10-01 2009-07-02 Logitech Europe S.A. Mechanical pan, tilt and zoom on a webcam
US7570485B2 (en) 2004-03-12 2009-08-04 Apple Inc. Camera latch
EP1659518A3 (en) * 2004-10-30 2010-01-13 Microsoft Corporation Automatic face extraction
US8228377B2 (en) 2003-09-12 2012-07-24 Logitech Europe S.A. Pan and tilt camera
EP2388996A3 (en) * 2010-05-18 2013-08-21 Polycom, Inc. Videoconferencing endpoint having multiple voice-tracking cameras
US8957940B2 (en) 2013-03-11 2015-02-17 Cisco Technology, Inc. Utilizing a smart camera system for immersive telepresence
FR3077886A1 (en) * 2018-02-13 2019-08-16 Observatoire Regional Du Bruit En Idf SYSTEM FOR REPORTING EXCEEDING A SOUND INTENSITY THRESHOLD
US10635383B2 (en) 2013-04-04 2020-04-28 Nokia Technologies Oy Visual audio processing apparatus
US20230119874A1 (en) * 2020-08-14 2023-04-20 Cisco Technology, Inc. Distance-based framing for an online conference session
EP4213496A4 (en) * 2020-10-16 2024-03-27 Huawei Tech Co Ltd Sound pickup method and sound pickup apparatus

Families Citing this family (258)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6650761B1 (en) 1999-05-19 2003-11-18 Digimarc Corporation Watermarked business cards and methods
JP3541339B2 (en) * 1997-06-26 2004-07-07 富士通株式会社 Microphone array device
JP3699608B2 (en) * 1999-04-01 2005-09-28 富士通株式会社 Speaker verification apparatus and method
JP3357628B2 (en) * 1999-04-16 2002-12-16 池上通信機株式会社 Viewfinder control device and television camera
AUPQ464099A0 (en) * 1999-12-14 2000-01-13 Canon Kabushiki Kaisha Emotive editing system
US7028269B1 (en) * 2000-01-20 2006-04-11 Koninklijke Philips Electronics N.V. Multi-modal video target acquisition and re-direction system and method
JP2001292085A (en) * 2000-04-10 2001-10-19 Mitsubishi Electric Corp Contactless transmitter
US6850265B1 (en) * 2000-04-13 2005-02-01 Koninklijke Philips Electronics N.V. Method and apparatus for tracking moving objects using combined video and audio information in video conferencing and other applications
US7002617B1 (en) * 2000-07-20 2006-02-21 Robert Samuel Smith Coordinated audio and visual omnidirectional recording
US20070273751A1 (en) * 2000-09-05 2007-11-29 Sachau John A System and methods for mobile videoconferencing
US7038709B1 (en) * 2000-11-01 2006-05-02 Gilbert Verghese System and method for tracking a subject
US6975991B2 (en) * 2001-01-31 2005-12-13 International Business Machines Corporation Wearable display system with indicators of speakers
US8108509B2 (en) * 2001-04-30 2012-01-31 Sony Computer Entertainment America Llc Altering network transmitted content data based upon user specified characteristics
JP3933449B2 (en) * 2001-11-22 2007-06-20 株式会社東芝 Communication support device
US7130446B2 (en) * 2001-12-03 2006-10-31 Microsoft Corporation Automatic detection and tracking of multiple individuals using multiple cues
DE10208465A1 (en) * 2002-02-27 2003-09-18 Bsh Bosch Siemens Hausgeraete Electrical device, in particular extractor hood
US6795794B2 (en) * 2002-03-01 2004-09-21 The Board Of Trustees Of The University Of Illinois Method for determination of spatial target probability using a model of multisensory processing by the brain
US20030202107A1 (en) * 2002-04-30 2003-10-30 Slattery E. Michael Automated camera view control system
US6940540B2 (en) * 2002-06-27 2005-09-06 Microsoft Corporation Speaker detection and tracking using audiovisual data
US7161579B2 (en) 2002-07-18 2007-01-09 Sony Computer Entertainment Inc. Hand-held computer interactive device
US7646372B2 (en) 2003-09-15 2010-01-12 Sony Computer Entertainment Inc. Methods and systems for enabling direction detection when interfacing with a computer program
US8797260B2 (en) 2002-07-27 2014-08-05 Sony Computer Entertainment Inc. Inertially trackable hand-held controller
US7883415B2 (en) 2003-09-15 2011-02-08 Sony Computer Entertainment Inc. Method and apparatus for adjusting a view of a scene being displayed according to tracked head motion
US7623115B2 (en) 2002-07-27 2009-11-24 Sony Computer Entertainment Inc. Method and apparatus for light input device
US8570378B2 (en) 2002-07-27 2013-10-29 Sony Computer Entertainment Inc. Method and apparatus for tracking three-dimensional movements of an object using a depth sensing camera
US9474968B2 (en) 2002-07-27 2016-10-25 Sony Interactive Entertainment America Llc Method and system for applying gearing effects to visual tracking
US8313380B2 (en) 2002-07-27 2012-11-20 Sony Computer Entertainment America Llc Scheme for translating movements of a hand-held controller into inputs for a system
US7760248B2 (en) * 2002-07-27 2010-07-20 Sony Computer Entertainment Inc. Selective sound source listening in conjunction with computer interactive processing
US8686939B2 (en) 2002-07-27 2014-04-01 Sony Computer Entertainment Inc. System, method, and apparatus for three-dimensional input control
US9393487B2 (en) 2002-07-27 2016-07-19 Sony Interactive Entertainment Inc. Method for mapping movements of a hand-held controller to game commands
US7627139B2 (en) * 2002-07-27 2009-12-01 Sony Computer Entertainment Inc. Computer image and audio processing of intensity and input devices for interfacing with a computer program
US9682319B2 (en) 2002-07-31 2017-06-20 Sony Interactive Entertainment Inc. Combiner method for altering game gearing
EP1429314A1 (en) * 2002-12-13 2004-06-16 Sony International (Europe) GmbH Correction of energy as input feature for speech processing
DE10304215A1 (en) * 2003-01-30 2004-08-19 Gesellschaft zur Förderung angewandter Informatik eV Method and device for imaging acoustic objects and a corresponding computer program product and a corresponding computer-readable storage medium
US9177387B2 (en) 2003-02-11 2015-11-03 Sony Computer Entertainment Inc. Method and apparatus for real time motion capture
US8072470B2 (en) 2003-05-29 2011-12-06 Sony Computer Entertainment Inc. System and method for providing a real-time three-dimensional interactive environment
JP2005086365A (en) * 2003-09-05 2005-03-31 Sony Corp Talking unit, conference apparatus, and photographing condition adjustment method
US7874917B2 (en) 2003-09-15 2011-01-25 Sony Computer Entertainment Inc. Methods and systems for enabling depth and direction detection when interfacing with a computer program
US10279254B2 (en) 2005-10-26 2019-05-07 Sony Interactive Entertainment Inc. Controller having visually trackable object for interfacing with a gaming system
US8323106B2 (en) 2008-05-30 2012-12-04 Sony Computer Entertainment America Llc Determination of controller three-dimensional location using image analysis and ultrasonic communication
US8287373B2 (en) 2008-12-05 2012-10-16 Sony Computer Entertainment Inc. Control device for communicating visual information
US9573056B2 (en) 2005-10-26 2017-02-21 Sony Interactive Entertainment Inc. Expandable control device via hardware attachment
JP4269883B2 (en) * 2003-10-20 2009-05-27 ソニー株式会社 Microphone device, playback device, and imaging device
TWI230023B (en) * 2003-11-20 2005-03-21 Acer Inc Sound-receiving method of microphone array associating positioning technology and system thereof
JP4558308B2 (en) * 2003-12-03 2010-10-06 ニュアンス コミュニケーションズ,インコーポレイテッド Voice recognition system, data processing apparatus, data processing method thereof, and program
GB0330253D0 (en) * 2003-12-31 2004-02-04 Mitel Networks Corp Self-discovery method
US7663689B2 (en) 2004-01-16 2010-02-16 Sony Computer Entertainment Inc. Method and apparatus for optimizing capture device settings through depth information
US8244542B2 (en) * 2004-07-01 2012-08-14 Emc Corporation Video surveillance
US7623156B2 (en) * 2004-07-16 2009-11-24 Polycom, Inc. Natural pan tilt zoom camera motion to preset camera positions
US8547401B2 (en) 2004-08-19 2013-10-01 Sony Computer Entertainment Inc. Portable augmented reality device and method
KR100754385B1 (en) * 2004-09-30 2007-08-31 삼성전자주식회사 Apparatus and method for object localization, tracking, and separation using audio and video sensors
US7667728B2 (en) * 2004-10-15 2010-02-23 Lifesize Communications, Inc. Video and audio conferencing system with spatial audio
US8237770B2 (en) 2004-10-15 2012-08-07 Lifesize Communications, Inc. Audio based on speaker position and/or conference location
US7473040B2 (en) * 2004-10-15 2009-01-06 Lifesize Communications, Inc. High definition camera pan tilt mechanism
US7688345B2 (en) * 2004-10-15 2010-03-30 Lifesize Communications, Inc. Audio output in video conferencing and speakerphone based on call type
US7717629B2 (en) * 2004-10-15 2010-05-18 Lifesize Communications, Inc. Coordinated camera pan tilt mechanism
US7760887B2 (en) * 2004-10-15 2010-07-20 Lifesize Communications, Inc. Updating modeling information based on online data gathering
US7970151B2 (en) * 2004-10-15 2011-06-28 Lifesize Communications, Inc. Hybrid beamforming
US20060132595A1 (en) * 2004-10-15 2006-06-22 Kenoyer Michael L Speakerphone supporting video and audio features
US7720232B2 (en) * 2004-10-15 2010-05-18 Lifesize Communications, Inc. Speakerphone
US7903137B2 (en) * 2004-10-15 2011-03-08 Lifesize Communications, Inc. Videoconferencing echo cancellers
US8116500B2 (en) * 2004-10-15 2012-02-14 Lifesize Communications, Inc. Microphone orientation and size in a speakerphone
US7720236B2 (en) * 2004-10-15 2010-05-18 Lifesize Communications, Inc. Updating modeling information based on offline calibration experiments
US7826624B2 (en) * 2004-10-15 2010-11-02 Lifesize Communications, Inc. Speakerphone self calibration and beam forming
US8054336B2 (en) * 2004-10-15 2011-11-08 Lifesize Communications, Inc. High definition pan tilt zoom camera with embedded microphones and thin cable for data and power
DE102004000043A1 (en) * 2004-11-17 2006-05-24 Siemens Ag Method for selective recording of a sound signal
JP2006197115A (en) * 2005-01-12 2006-07-27 Fuji Photo Film Co Ltd Imaging device and image output device
JP4770178B2 (en) * 2005-01-17 2011-09-14 ソニー株式会社 Camera control apparatus, camera system, electronic conference system, and camera control method
US7995768B2 (en) * 2005-01-27 2011-08-09 Yamaha Corporation Sound reinforcement system
KR100703699B1 (en) * 2005-02-05 2007-04-05 삼성전자주식회사 Apparatus and method for providing multilateral video communication
WO2006087790A1 (en) * 2005-02-17 2006-08-24 Fujitsu Limited Image processing method, image processing system, imaging device, image processing device, and computer program
ATE400474T1 (en) * 2005-02-23 2008-07-15 Harman Becker Automotive Sys VOICE RECOGNITION SYSTEM IN A MOTOR VEHICLE
EP1705911A1 (en) * 2005-03-24 2006-09-27 Alcatel Video conference system
US20060245601A1 (en) * 2005-04-27 2006-11-02 Francois Michaud Robust localization and tracking of simultaneously moving sound sources using beamforming and particle filtering
US7970150B2 (en) * 2005-04-29 2011-06-28 Lifesize Communications, Inc. Tracking talkers using virtual broadside scan and directed beams
US7991167B2 (en) * 2005-04-29 2011-08-02 Lifesize Communications, Inc. Forming beams with nulls directed at noise sources
US7593539B2 (en) * 2005-04-29 2009-09-22 Lifesize Communications, Inc. Microphone and speaker arrangement in speakerphone
JP4441879B2 (en) * 2005-06-28 2010-03-31 ソニー株式会社 Signal processing apparatus and method, program, and recording medium
DE102005038717A1 (en) * 2005-08-15 2007-03-01 Micronas Gmbh Audio-visual processing used in audio-visual communication system, involves processing and controlling tone data sent to users based on produced tone control signal while tone and graphic data are simultaneously transmitted towards users
JP4356663B2 (en) * 2005-08-17 2009-11-04 ソニー株式会社 Camera control device and electronic conference system
US7697827B2 (en) 2005-10-17 2010-04-13 Konicek Jeffrey C User-friendlier interfaces for a camera
US8467672B2 (en) * 2005-10-17 2013-06-18 Jeffrey C. Konicek Voice recognition and gaze-tracking for a camera
US8760485B2 (en) * 2006-03-02 2014-06-24 Cisco Technology, Inc. System and method for displaying participants in a videoconference between locations
CN101496387B (en) 2006-03-06 2012-09-05 思科技术公司 System and method for access authentication in a mobile wireless network
US7692680B2 (en) * 2006-04-20 2010-04-06 Cisco Technology, Inc. System and method for providing location specific sound in a telepresence system
US7679639B2 (en) * 2006-04-20 2010-03-16 Cisco Technology, Inc. System and method for enhancing eye gaze in a telepresence system
US20110014981A1 (en) * 2006-05-08 2011-01-20 Sony Computer Entertainment Inc. Tracking device with sound emitter for use in obtaining information for controlling game program execution
JP2007318438A (en) * 2006-05-25 2007-12-06 Yamaha Corp Voice state data generating device, voice state visualizing device, voice state data editing device, voice data reproducing device, and voice communication system
CN100442837C (en) * 2006-07-25 2008-12-10 华为技术有限公司 Video frequency communication system with sound position information and its obtaining method
USRE48417E1 (en) 2006-09-28 2021-02-02 Sony Interactive Entertainment Inc. Object direction using video input combined with tilt angle information
US8781151B2 (en) 2006-09-28 2014-07-15 Sony Computer Entertainment Inc. Object detection using video input combined with tilt angle information
US8310656B2 (en) 2006-09-28 2012-11-13 Sony Computer Entertainment America Llc Mapping movements of a hand-held controller to the two-dimensional image plane of a display screen
RS49875B (en) * 2006-10-04 2008-08-07 Micronasnit, System and technique for hands-free voice communication using microphone array
AU2007221976B2 (en) * 2006-10-19 2009-12-24 Polycom, Inc. Ultrasonic camera tracking system and associated methods
KR100775063B1 (en) * 2006-11-09 2007-11-08 삼성전자주식회사 Method for evaluating random noise and device of the same
US8085290B2 (en) 2006-12-06 2011-12-27 Cisco Technology, Inc. System and method for displaying a videoconference
NO328582B1 (en) * 2006-12-29 2010-03-22 Tandberg Telecom As Microphone for audio source tracking
TWI327230B (en) * 2007-04-03 2010-07-11 Ind Tech Res Inst Sound source localization system and sound soure localization method
JP4420056B2 (en) * 2007-04-20 2010-02-24 ソニー株式会社 Image processing apparatus, image processing method, image processing program, reproduction information generation apparatus, reproduction information generation method, and reproduction information generation program
CN100505837C (en) * 2007-05-10 2009-06-24 华为技术有限公司 System and method for controlling image collector for target positioning
US8570373B2 (en) * 2007-06-08 2013-10-29 Cisco Technology, Inc. Tracking an object utilizing location information associated with a wireless device
AU2008202703B2 (en) * 2007-06-20 2012-03-08 Mcomms Design Pty Ltd Apparatus and method for providing multimedia content
US20090055178A1 (en) * 2007-08-23 2009-02-26 Coon Bradley S System and method of controlling personalized settings in a vehicle
JP4896838B2 (en) * 2007-08-31 2012-03-14 カシオ計算機株式会社 Imaging apparatus, image detection apparatus, and program
CN101132516B (en) * 2007-09-28 2010-07-28 华为终端有限公司 Method, system for video communication and device used for the same
US8542907B2 (en) 2007-12-17 2013-09-24 Sony Computer Entertainment America Llc Dynamic three-dimensional object mapping for user-defined control device
US8355041B2 (en) 2008-02-14 2013-01-15 Cisco Technology, Inc. Telepresence system for 360 degree video conferencing
US8797377B2 (en) 2008-02-14 2014-08-05 Cisco Technology, Inc. Method and system for videoconference configuration
CN103258184B (en) 2008-02-27 2017-04-12 索尼计算机娱乐美国有限责任公司 Methods for capturing depth data of a scene and applying computer actions
US8368753B2 (en) 2008-03-17 2013-02-05 Sony Computer Entertainment America Llc Controller with an integrated depth camera
US8319819B2 (en) 2008-03-26 2012-11-27 Cisco Technology, Inc. Virtual round-table videoconference
US8390667B2 (en) 2008-04-15 2013-03-05 Cisco Technology, Inc. Pop-up PIP for people not in picture
US8831954B2 (en) * 2008-05-08 2014-09-09 Nuance Communications, Inc. Localizing the position of a source of a voice signal
US10904658B2 (en) 2008-07-31 2021-01-26 Nokia Technologies Oy Electronic device directional audio-video capture
US9445193B2 (en) * 2008-07-31 2016-09-13 Nokia Technologies Oy Electronic device directional audio capture
US8314829B2 (en) * 2008-08-12 2012-11-20 Microsoft Corporation Satellite microphones for improved speaker detection and zoom
US8694658B2 (en) 2008-09-19 2014-04-08 Cisco Technology, Inc. System and method for enabling communication sessions in a network environment
US20100085415A1 (en) 2008-10-02 2010-04-08 Polycom, Inc Displaying dynamic caller identity during point-to-point and multipoint audio/videoconference
US20100123785A1 (en) * 2008-11-17 2010-05-20 Apple Inc. Graphic Control for Directional Audio Input
US8961313B2 (en) 2009-05-29 2015-02-24 Sony Computer Entertainment America Llc Multi-positional three-dimensional controller
CN101442654B (en) * 2008-12-26 2012-05-23 华为终端有限公司 Method, apparatus and system for switching video object of video communication
US8788256B2 (en) * 2009-02-17 2014-07-22 Sony Computer Entertainment Inc. Multiple language voice recognition
US8442829B2 (en) * 2009-02-17 2013-05-14 Sony Computer Entertainment Inc. Automatic computation streaming partition for voice recognition on multiple processors with limited memory
US8442833B2 (en) * 2009-02-17 2013-05-14 Sony Computer Entertainment Inc. Speech processing with source location estimation using signals from two or more microphones
JP2010206451A (en) * 2009-03-03 2010-09-16 Panasonic Corp Speaker with camera, signal processing apparatus, and av system
US8477175B2 (en) 2009-03-09 2013-07-02 Cisco Technology, Inc. System and method for providing three dimensional imaging in a network environment
US8659637B2 (en) 2009-03-09 2014-02-25 Cisco Technology, Inc. System and method for providing three dimensional video conferencing in a network environment
US8527657B2 (en) 2009-03-20 2013-09-03 Sony Computer Entertainment America Llc Methods and systems for dynamically adjusting update rates in multi-player network gaming
US8342963B2 (en) 2009-04-10 2013-01-01 Sony Computer Entertainment America Inc. Methods and systems for enabling control of artificial intelligence game characters
US8142288B2 (en) 2009-05-08 2012-03-27 Sony Computer Entertainment America Llc Base station movement detection and compensation
US8393964B2 (en) 2009-05-08 2013-03-12 Sony Computer Entertainment America Llc Base station for position location
JP5437095B2 (en) * 2009-05-19 2014-03-12 東芝機械株式会社 Laying block placement method, spreading block moving tool, and machine tool equipped with the tool
US8659639B2 (en) 2009-05-29 2014-02-25 Cisco Technology, Inc. System and method for extending communications between participants in a conferencing environment
CN102804060B (en) 2009-06-30 2016-08-03 诺基亚技术有限公司 Audio frequency control picture catching
US9082297B2 (en) 2009-08-11 2015-07-14 Cisco Technology, Inc. System and method for verifying parameters in an audiovisual environment
JP5418061B2 (en) * 2009-08-20 2014-02-19 沖電気工業株式会社 Remote communication device, remote communication method, and remote communication system
US8265341B2 (en) * 2010-01-25 2012-09-11 Microsoft Corporation Voice-body identity correlation
CN102158680A (en) * 2010-02-11 2011-08-17 北京华旗随身数码股份有限公司 Telephone conference terminal with visualization function
US9225916B2 (en) 2010-03-18 2015-12-29 Cisco Technology, Inc. System and method for enhancing video images in a conferencing environment
USD626102S1 (en) 2010-03-21 2010-10-26 Cisco Tech Inc Video unit with integrated features
USD626103S1 (en) 2010-03-21 2010-10-26 Cisco Technology, Inc. Video unit with integrated features
US9955209B2 (en) * 2010-04-14 2018-04-24 Alcatel-Lucent Usa Inc. Immersive viewer, a method of providing scenes on a display and an immersive viewing system
US8712069B1 (en) * 2010-04-19 2014-04-29 Audience, Inc. Selection of system parameters based on non-acoustic sensor information
US9294716B2 (en) 2010-04-30 2016-03-22 Alcatel Lucent Method and system for controlling an imaging system
US9313452B2 (en) 2010-05-17 2016-04-12 Cisco Technology, Inc. System and method for providing retracting optics in a video conferencing environment
AU2011201881B2 (en) * 2010-05-18 2015-02-12 Polycom, Inc. Voice tracking camera with speaker indentification
US8248448B2 (en) * 2010-05-18 2012-08-21 Polycom, Inc. Automatic camera framing for videoconferencing
US8842161B2 (en) 2010-05-18 2014-09-23 Polycom, Inc. Videoconferencing system having adjunct camera for auto-framing and tracking
US9723260B2 (en) 2010-05-18 2017-08-01 Polycom, Inc. Voice tracking camera with speaker identification
US9772815B1 (en) 2013-11-14 2017-09-26 Knowles Electronics, Llc Personalized operation of a mobile device using acoustic and non-acoustic information
US8896655B2 (en) 2010-08-31 2014-11-25 Cisco Technology, Inc. System and method for providing depth adaptive video conferencing
US8599934B2 (en) 2010-09-08 2013-12-03 Cisco Technology, Inc. System and method for skip coding during video conferencing in a network environment
US8754925B2 (en) 2010-09-30 2014-06-17 Alcatel Lucent Audio source locator and tracker, a method of directing a camera to view an audio source and a video conferencing terminal
US9496841B2 (en) 2010-10-21 2016-11-15 Nokia Technologies Oy Recording level adjustment using a distance to a sound source
US8599865B2 (en) 2010-10-26 2013-12-03 Cisco Technology, Inc. System and method for provisioning flows in a mobile network environment
US8699457B2 (en) 2010-11-03 2014-04-15 Cisco Technology, Inc. System and method for managing flows in a mobile network environment
US9338394B2 (en) 2010-11-15 2016-05-10 Cisco Technology, Inc. System and method for providing enhanced audio in a video environment
US8902244B2 (en) 2010-11-15 2014-12-02 Cisco Technology, Inc. System and method for providing enhanced graphics in a video environment
US8730297B2 (en) 2010-11-15 2014-05-20 Cisco Technology, Inc. System and method for providing camera functions in a video environment
US9143725B2 (en) 2010-11-15 2015-09-22 Cisco Technology, Inc. System and method for providing enhanced graphics in a video environment
US8542264B2 (en) 2010-11-18 2013-09-24 Cisco Technology, Inc. System and method for managing optics in a video environment
US8723914B2 (en) 2010-11-19 2014-05-13 Cisco Technology, Inc. System and method for providing enhanced video processing in a network environment
US9111138B2 (en) 2010-11-30 2015-08-18 Cisco Technology, Inc. System and method for gesture interface control
USD678308S1 (en) 2010-12-16 2013-03-19 Cisco Technology, Inc. Display screen with graphical user interface
USD682864S1 (en) 2010-12-16 2013-05-21 Cisco Technology, Inc. Display screen with graphical user interface
USD682293S1 (en) 2010-12-16 2013-05-14 Cisco Technology, Inc. Display screen with graphical user interface
USD682294S1 (en) 2010-12-16 2013-05-14 Cisco Technology, Inc. Display screen with graphical user interface
USD678307S1 (en) 2010-12-16 2013-03-19 Cisco Technology, Inc. Display screen with graphical user interface
USD678894S1 (en) 2010-12-16 2013-03-26 Cisco Technology, Inc. Display screen with graphical user interface
USD682854S1 (en) 2010-12-16 2013-05-21 Cisco Technology, Inc. Display screen for graphical user interface
USD678320S1 (en) 2010-12-16 2013-03-19 Cisco Technology, Inc. Display screen with graphical user interface
US9195740B2 (en) * 2011-01-18 2015-11-24 Nokia Technologies Oy Audio scene selection apparatus
JP5754967B2 (en) * 2011-02-09 2015-07-29 キヤノン株式会社 Image information processing apparatus and control method thereof
US8692862B2 (en) 2011-02-28 2014-04-08 Cisco Technology, Inc. System and method for selection of video data in a video conference environment
US8670019B2 (en) 2011-04-28 2014-03-11 Cisco Technology, Inc. System and method for providing enhanced eye gaze in a video conferencing environment
US8786631B1 (en) 2011-04-30 2014-07-22 Cisco Technology, Inc. System and method for transferring transparency information in a video environment
US8934026B2 (en) 2011-05-12 2015-01-13 Cisco Technology, Inc. System and method for video coding in a dynamic environment
JP5917270B2 (en) * 2011-05-27 2016-05-11 キヤノン株式会社 Sound detection apparatus, control method therefor, and program
US9030520B2 (en) 2011-06-20 2015-05-12 Polycom, Inc. Automatic camera selection for videoconferencing
US9557885B2 (en) 2011-08-09 2017-01-31 Gopro, Inc. Digital media editing
CN103002195B (en) * 2011-09-09 2016-03-30 中磊电子(苏州)有限公司 Method for testing motion and motion detection apparatus
US8947493B2 (en) 2011-11-16 2015-02-03 Cisco Technology, Inc. System and method for alerting a participant in a video conference
US9008487B2 (en) 2011-12-06 2015-04-14 Alcatel Lucent Spatial bookmarking
US8682087B2 (en) 2011-12-19 2014-03-25 Cisco Technology, Inc. System and method for depth-guided image filtering in a video conference environment
US9459276B2 (en) 2012-01-06 2016-10-04 Sensor Platforms, Inc. System and method for device self-calibration
US9767828B1 (en) * 2012-06-27 2017-09-19 Amazon Technologies, Inc. Acoustic echo cancellation using visual cues
US9258644B2 (en) 2012-07-27 2016-02-09 Nokia Technologies Oy Method and apparatus for microphone beamforming
US9726498B2 (en) 2012-11-29 2017-08-08 Sensor Platforms, Inc. Combining monitoring sensor measurements and system signals to determine device context
US9681154B2 (en) 2012-12-06 2017-06-13 Patent Capital Group System and method for depth-guided filtering in a video conference environment
US10750132B2 (en) * 2013-03-14 2020-08-18 Pelco, Inc. System and method for audio source localization using multiple audio sensors
US9215406B2 (en) 2013-03-14 2015-12-15 Polycom, Inc. Immersive telepresence anywhere
US9478233B2 (en) 2013-03-14 2016-10-25 Polycom, Inc. Speech fragment detection for management of interaction in a remote conference
US9843621B2 (en) 2013-05-17 2017-12-12 Cisco Technology, Inc. Calendaring activities based on communication processing
US9088689B2 (en) * 2013-06-26 2015-07-21 Avaya, Inc. Automated field of view adjustment based on screen size
US9113036B2 (en) * 2013-07-17 2015-08-18 Ebay Inc. Methods, systems, and apparatus for providing video communications
US9781106B1 (en) 2013-11-20 2017-10-03 Knowles Electronics, Llc Method for modeling user possession of mobile device for user authentication framework
US9652667B2 (en) 2014-03-04 2017-05-16 Gopro, Inc. Automatic generation of video from spherical content using audio/visual analysis
US9500739B2 (en) 2014-03-28 2016-11-22 Knowles Electronics, Llc Estimating and tracking multiple attributes of multiple objects from multi-sensor data
US9686605B2 (en) * 2014-05-20 2017-06-20 Cisco Technology, Inc. Precise tracking of sound angle of arrival at a microphone array under air temperature variation
US9792502B2 (en) 2014-07-23 2017-10-17 Gopro, Inc. Generating video summaries for a video using video summary templates
US9685194B2 (en) 2014-07-23 2017-06-20 Gopro, Inc. Voice-based video tagging
US9769552B2 (en) 2014-08-19 2017-09-19 Apple Inc. Method and apparatus for estimating talker distance
US9584763B2 (en) * 2014-11-06 2017-02-28 Cisco Technology, Inc. Automatic switching between dynamic and preset camera views in a video conference endpoint
US10002478B2 (en) 2014-12-12 2018-06-19 Qualcomm Incorporated Identification and authentication in a shared acoustic space
US9734870B2 (en) 2015-01-05 2017-08-15 Gopro, Inc. Media identifier generation for camera-captured media
US9679605B2 (en) 2015-01-29 2017-06-13 Gopro, Inc. Variable playback speed template for video editing application
US10186012B2 (en) 2015-05-20 2019-01-22 Gopro, Inc. Virtual lens simulation for video and photo cropping
USD812076S1 (en) 2015-06-14 2018-03-06 Google Llc Display screen with graphical user interface for monitoring remote video camera
US9361011B1 (en) 2015-06-14 2016-06-07 Google Inc. Methods and systems for presenting multiple live video feeds in a user interface
USD803241S1 (en) 2015-06-14 2017-11-21 Google Inc. Display screen with animated graphical user interface for an alert screen
US10133443B2 (en) 2015-06-14 2018-11-20 Google Llc Systems and methods for smart home automation using a multifunction status and entry point icon
JP6646967B2 (en) * 2015-07-31 2020-02-14 キヤノン株式会社 Control device, reproduction system, correction method, and computer program
JP6959917B2 (en) * 2015-08-07 2021-11-05 シーラス ロジック インターナショナル セミコンダクター リミテッド Event detection for playback management in audio equipment
US9721611B2 (en) 2015-10-20 2017-08-01 Gopro, Inc. System and method of generating video from video clips based on moments of interest within the video clips
US10204273B2 (en) 2015-10-20 2019-02-12 Gopro, Inc. System and method of providing recommendations of moments of interest within video clips post capture
US10109319B2 (en) 2016-01-08 2018-10-23 Gopro, Inc. Digital media editing
US10083537B1 (en) 2016-02-04 2018-09-25 Gopro, Inc. Systems and methods for adding a moving visual element to a video
FR3047628B1 (en) * 2016-02-05 2018-05-25 Christophe Guedon METHOD FOR MONITORING CONVERSATION FOR A MISSING PERSON
US9633270B1 (en) * 2016-04-05 2017-04-25 Cisco Technology, Inc. Using speaker clustering to switch between different camera views in a video conference system
US9794632B1 (en) 2016-04-07 2017-10-17 Gopro, Inc. Systems and methods for synchronization based on audio track changes in video editing
US9838731B1 (en) 2016-04-07 2017-12-05 Gopro, Inc. Systems and methods for audio track selection in video editing with audio mixing option
US9838730B1 (en) 2016-04-07 2017-12-05 Gopro, Inc. Systems and methods for audio track selection in video editing
US10063987B2 (en) 2016-05-31 2018-08-28 Nureva Inc. Method, apparatus, and computer-readable media for focussing sound signals in a shared 3D space
US10185891B1 (en) 2016-07-08 2019-01-22 Gopro, Inc. Systems and methods for compact convolutional neural networks
US10263802B2 (en) 2016-07-12 2019-04-16 Google Llc Methods and devices for establishing connections with remote cameras
USD882583S1 (en) 2016-07-12 2020-04-28 Google Llc Display screen with graphical user interface
US9836853B1 (en) 2016-09-06 2017-12-05 Gopro, Inc. Three-dimensional convolutional neural networks for video highlight detection
US10165159B2 (en) * 2016-10-04 2018-12-25 Avaya Inc. System and method for enhancing video conferencing experience via a moving camera
US10386999B2 (en) 2016-10-26 2019-08-20 Google Llc Timeline-video relationship presentation for alert events
US11238290B2 (en) 2016-10-26 2022-02-01 Google Llc Timeline-video relationship processing for alert events
USD843398S1 (en) 2016-10-26 2019-03-19 Google Llc Display screen with graphical user interface for a timeline-video relationship presentation for alert events
US10284809B1 (en) 2016-11-07 2019-05-07 Gopro, Inc. Systems and methods for intelligently synchronizing events in visual content with musical features in audio content
US10262639B1 (en) 2016-11-08 2019-04-16 Gopro, Inc. Systems and methods for detecting musical features in audio content
CN106653041B (en) * 2017-01-17 2020-02-14 北京地平线信息技术有限公司 Audio signal processing apparatus, method and electronic apparatus
US10534966B1 (en) 2017-02-02 2020-01-14 Gopro, Inc. Systems and methods for identifying activities and/or events represented in a video
US10127943B1 (en) 2017-03-02 2018-11-13 Gopro, Inc. Systems and methods for modifying videos based on music
JP7337699B2 (en) * 2017-03-23 2023-09-04 ジョイソン セイフティ システムズ アクイジション エルエルシー Systems and methods for correlating mouth images with input commands
US10185895B1 (en) 2017-03-23 2019-01-22 Gopro, Inc. Systems and methods for classifying activities captured within images
US10083718B1 (en) 2017-03-24 2018-09-25 Gopro, Inc. Systems and methods for editing videos based on motion
US10187690B1 (en) 2017-04-24 2019-01-22 Gopro, Inc. Systems and methods to detect and correlate user responses to media content
US10352496B2 (en) 2017-05-25 2019-07-16 Google Llc Stand assembly for an electronic device providing multiple degrees of freedom and built-in cables
US10972685B2 (en) 2017-05-25 2021-04-06 Google Llc Video camera assembly having an IR reflector
US10819921B2 (en) 2017-05-25 2020-10-27 Google Llc Camera assembly having a single-piece cover element
JP2019062448A (en) * 2017-09-27 2019-04-18 カシオ計算機株式会社 Image processing apparatus, image processing method, and program
US10535361B2 (en) * 2017-10-19 2020-01-14 Kardome Technology Ltd. Speech enhancement using clustering of cues
EP3602272B1 (en) * 2017-11-06 2023-11-22 Google LLC Methods and systems for attending to a presenting user
JP2019186630A (en) * 2018-04-03 2019-10-24 キヤノン株式会社 Imaging apparatus, control method thereof, and program
CN108957392A (en) * 2018-04-16 2018-12-07 深圳市沃特沃德股份有限公司 Sounnd source direction estimation method and device
US10516852B2 (en) * 2018-05-16 2019-12-24 Cisco Technology, Inc. Multiple simultaneous framing alternatives using speaker tracking
US10951859B2 (en) 2018-05-30 2021-03-16 Microsoft Technology Licensing, Llc Videoconferencing device and method
US10735882B2 (en) 2018-05-31 2020-08-04 At&T Intellectual Property I, L.P. Method of audio-assisted field of view prediction for spherical video streaming
US10623657B2 (en) * 2018-06-12 2020-04-14 Cisco Technology, Inc. Audio assisted auto exposure
EP3711284A4 (en) 2018-08-17 2020-12-16 SZ DJI Technology Co., Ltd. Photographing control method and controller
CN111918018B (en) * 2019-05-08 2022-05-06 奥图码股份有限公司 Video conference system, video conference apparatus, and video conference method
US11234073B1 (en) * 2019-07-05 2022-01-25 Facebook Technologies, Llc Selective active noise cancellation
US10904485B1 (en) * 2020-01-27 2021-01-26 Plantronics, Inc. Context based target framing in a teleconferencing environment
CN112788278B (en) * 2020-12-30 2023-04-07 北京百度网讯科技有限公司 Video stream generation method, device, equipment and storage medium
US11856147B2 (en) 2022-01-04 2023-12-26 International Business Machines Corporation Method to protect private audio communications

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0356105A2 (en) * 1988-08-17 1990-02-28 Fujitsu Limited Image processing system for teleconference system
US5206721A (en) * 1990-03-08 1993-04-27 Fujitsu Limited Television conference system
WO1994017636A1 (en) * 1993-01-29 1994-08-04 Bell Communications Research, Inc. Automatic tracking camera control system
EP0635983A2 (en) * 1993-07-19 1995-01-25 AT&T Corp. Method and means for detecting people in image sequences
US5416513A (en) * 1992-03-31 1995-05-16 Victor Company Of Japan, Ltd. Method for automatically pursuing object by video camera
EP0836326A2 (en) * 1996-10-08 1998-04-15 Lucent Technologies Inc. Skin area detection for video image systems

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4264928A (en) * 1979-11-05 1981-04-28 Schober Gary W Conference video system
US4400724A (en) * 1981-06-08 1983-08-23 The United States Of America As Represented By The Secretary Of The Army Virtual space teleconference system
US4494144A (en) * 1982-06-28 1985-01-15 At&T Bell Laboratories Reduced bandwidth video transmission
US4975960A (en) 1985-06-03 1990-12-04 Petajan Eric D Electronic facial tracking and detection system and method and apparatus for automated speech recognition
JPS647791A (en) * 1987-06-30 1989-01-11 Nec Corp Multiscreen video conference method and device therefor
US4965819A (en) * 1988-09-22 1990-10-23 Docu-Vision, Inc. Video conferencing system for courtroom and other applications
US5012522A (en) 1988-12-08 1991-04-30 The United States Of America As Represented By The Secretary Of The Air Force Autonomous face recognition machine
US5034986A (en) 1989-03-01 1991-07-23 Siemens Aktiengesellschaft Method for detecting and tracking moving objects in a digital image sequence having a stationary background
US5340309A (en) 1990-09-06 1994-08-23 Robertson James G Apparatus and method for recording jaw motion
GB9019538D0 (en) 1990-09-07 1990-10-24 Philips Electronic Associated Tracking a moving object
US5631697A (en) 1991-11-27 1997-05-20 Hitachi, Ltd. Video camera capable of automatic target tracking
JPH06268894A (en) * 1993-03-10 1994-09-22 Hitachi Ltd Automatic image pickup device
GB9201006D0 (en) 1992-01-17 1992-03-11 Philip Electronic And Associat Classifying faces
EP0557007A2 (en) 1992-02-15 1993-08-25 Sony Corporation Picture processing apparatus
JPH05244587A (en) * 1992-02-26 1993-09-21 Mitsubishi Electric Corp Camera controller for television conference
US5323470A (en) 1992-05-08 1994-06-21 Atsushi Kara Method and apparatus for automatically tracking an object
JP3298072B2 (en) 1992-07-10 2002-07-02 ソニー株式会社 Video camera system
JP3487436B2 (en) 1992-09-28 2004-01-19 ソニー株式会社 Video camera system
US5432864A (en) 1992-10-05 1995-07-11 Daozheng Lu Identification card verification system
JPH06133210A (en) * 1992-10-22 1994-05-13 Hitachi Ltd Automatic image pickup device
US5742329A (en) * 1992-10-26 1998-04-21 Canon Kabushiki Kaisha Image pickup system and communication system for use in video conference system or the like
US5550928A (en) 1992-12-15 1996-08-27 A.C. Nielsen Company Audience measurement system and method
US5335011A (en) * 1993-01-12 1994-08-02 Bell Communications Research, Inc. Sound localization system for teleconferencing using self-steering microphone arrays
US5473369A (en) 1993-02-25 1995-12-05 Sony Corporation Object tracking apparatus
JPH0730796A (en) 1993-07-14 1995-01-31 Sony Corp Video signal tracking processing system
JPH0795598A (en) 1993-09-25 1995-04-07 Sony Corp Object tracking device
US5347306A (en) 1993-12-17 1994-09-13 Mitsubishi Electric Research Laboratories, Inc. Animated electronic meeting place
JPH07213753A (en) * 1994-02-02 1995-08-15 Hitachi Ltd Personal robot device
JPH07264700A (en) * 1994-03-18 1995-10-13 Hitachi Ltd Sound image localization device
US5512939A (en) 1994-04-06 1996-04-30 At&T Corp. Low bit rate audio-visual communication system having integrated perceptual speech and video coding
US5852669A (en) * 1994-04-06 1998-12-22 Lucent Technologies Inc. Automatic face and facial feature location detection for low bit rate model-assisted H.261 compatible coding of video
US5550754A (en) * 1994-05-13 1996-08-27 Videoptic Research Teleconferencing camcorder
US5508734A (en) * 1994-07-27 1996-04-16 International Business Machines Corporation Method and apparatus for hemispheric imaging which emphasizes peripheral content
US5500671A (en) 1994-10-25 1996-03-19 At&T Corp. Video conference system and method of providing parallax correction and a sense of presence
US5497430A (en) 1994-11-07 1996-03-05 Physical Optics Corporation Method and apparatus for image recognition using invariant feature signals
JPH08161498A (en) * 1994-12-05 1996-06-21 Minolta Co Ltd Object recognition device
JPH08161500A (en) * 1994-12-05 1996-06-21 Minolta Co Ltd Object recognition device
JP2737682B2 (en) * 1995-02-13 1998-04-08 日本電気株式会社 Video conference system
JPH0946670A (en) * 1995-07-26 1997-02-14 Ricoh Co Ltd Video conference equipment
US5715325A (en) 1995-08-30 1998-02-03 Siemens Corporate Research, Inc. Apparatus and method for detecting a face in a video image
JPH09149391A (en) * 1995-11-17 1997-06-06 Kyocera Corp Television telephone device
JP3462336B2 (en) * 1996-03-08 2003-11-05 株式会社東芝 Status input device and status communication device between distributed points
JPH1051755A (en) * 1996-05-30 1998-02-20 Fujitsu Ltd Screen display controller for video conference terminal equipment
US5778082A (en) * 1996-06-14 1998-07-07 Picturetel Corporation Method and apparatus for localization of an acoustic source
JP2846854B2 (en) * 1996-07-17 1999-01-13 株式会社芙蓉ビデオエイジェンシー Automatic camera tracking method and device
JPH1079881A (en) * 1996-09-04 1998-03-24 Sharp Corp Image pickup device
US6188777B1 (en) * 1997-08-01 2001-02-13 Interval Research Corporation Method and apparatus for personnel detection and tracking
US5940118A (en) * 1997-12-22 1999-08-17 Nortel Networks Corporation System and method for steering directional microphones

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0356105A2 (en) * 1988-08-17 1990-02-28 Fujitsu Limited Image processing system for teleconference system
US5206721A (en) * 1990-03-08 1993-04-27 Fujitsu Limited Television conference system
US5416513A (en) * 1992-03-31 1995-05-16 Victor Company Of Japan, Ltd. Method for automatically pursuing object by video camera
WO1994017636A1 (en) * 1993-01-29 1994-08-04 Bell Communications Research, Inc. Automatic tracking camera control system
EP0635983A2 (en) * 1993-07-19 1995-01-25 AT&T Corp. Method and means for detecting people in image sequences
EP0836326A2 (en) * 1996-10-08 1998-04-15 Lucent Technologies Inc. Skin area detection for video image systems

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP1004204A4 *
VAHEDIAN ET AL.: "Estimation of Speaker Position using Audio Information", PROCEEDINGS OF IEEE TENCON '97, vol. 1, 2 December 1997 (1997-12-02), pages 181 - 184, XP002112876 *

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117157B1 (en) 1999-03-26 2006-10-03 Canon Kabushiki Kaisha Processing apparatus for determining which person in a group is speaking
US7113201B1 (en) 1999-04-14 2006-09-26 Canon Kabushiki Kaisha Image processing apparatus
WO2002011438A1 (en) * 2000-08-01 2002-02-07 Koninklijke Philips Electronics N.V. Aiming a device at a sound source
WO2002047386A1 (en) * 2000-12-05 2002-06-13 Koninklijke Philips Electronics N.V. Method and apparatus for predicting events in video conferencing and other applications
WO2002049356A2 (en) * 2000-12-12 2002-06-20 Intel Corporation Automatic multi-camera video composition
CN100474919C (en) * 2000-12-12 2009-04-01 英特尔公司 Method for automatically selecting video source and automatic video switching system
WO2002049356A3 (en) * 2000-12-12 2002-11-28 Intel Corp Automatic multi-camera video composition
US6577333B2 (en) 2000-12-12 2003-06-10 Intel Corporation Automatic multi-camera video composition
WO2002079792A2 (en) * 2001-03-30 2002-10-10 Koninklijke Philips Electronics N.V. Method and apparatus for audio/image speaker detection and locator
CN100370830C (en) * 2001-03-30 2008-02-20 皇家菲利浦电子有限公司 Method and apparatus for audio-image speaker detection and location
WO2002079792A3 (en) * 2001-03-30 2002-12-05 Koninkl Philips Electronics Nv Method and apparatus for audio/image speaker detection and locator
US6611281B2 (en) 2001-11-13 2003-08-26 Koninklijke Philips Electronics N.V. System and method for providing an awareness of remote people in the room during a videoconference
US8384791B2 (en) 2002-11-29 2013-02-26 Sony United Kingdom Limited Video camera for face detection
WO2004051981A3 (en) * 2002-11-29 2005-07-07 Sony Uk Ltd Video camera
WO2004051981A2 (en) 2002-11-29 2004-06-17 Sony United Kingdom Limited Video camera
US7559026B2 (en) 2003-06-20 2009-07-07 Apple Inc. Video conferencing system having focus control
US8179419B2 (en) 2003-06-20 2012-05-15 Apple Inc. Video conferencing apparatus and method
US7397495B2 (en) 2003-06-20 2008-07-08 Apple Inc. Video conferencing apparatus and method
WO2005002225A1 (en) * 2003-06-20 2005-01-06 Apple Computer, Inc. Video conferencing system having focus control
DE102004044151B4 (en) * 2003-09-12 2012-10-25 Logitech Europe S.A. Pan and tilt camera
US8228377B2 (en) 2003-09-12 2012-07-24 Logitech Europe S.A. Pan and tilt camera
US8384518B2 (en) 2004-03-12 2013-02-26 Apple Inc. Illuminable latch
US7570485B2 (en) 2004-03-12 2009-08-04 Apple Inc. Camera latch
US8035481B2 (en) 2004-03-12 2011-10-11 Apple Inc. Illuminable latch
US7917935B2 (en) 2004-10-01 2011-03-29 Logitech Europe S.A. Mechanical pan, tilt and zoom in a webcam
DE102005024097B4 (en) * 2004-10-01 2009-07-02 Logitech Europe S.A. Mechanical pan, tilt and zoom on a webcam
EP1659518A3 (en) * 2004-10-30 2010-01-13 Microsoft Corporation Automatic face extraction
US8169463B2 (en) 2007-07-13 2012-05-01 Cisco Technology, Inc. Method and system for automatic camera control
WO2009011592A1 (en) * 2007-07-13 2009-01-22 Tandberg Telecom As Method and system for automatic camera control
CN101785306B (en) * 2007-07-13 2012-07-18 思科系统国际公司 Method and system for automatic camera control
US9392221B2 (en) 2010-05-18 2016-07-12 Polycom, Inc. Videoconferencing endpoint having multiple voice-tracking cameras
EP2388996A3 (en) * 2010-05-18 2013-08-21 Polycom, Inc. Videoconferencing endpoint having multiple voice-tracking cameras
US8957940B2 (en) 2013-03-11 2015-02-17 Cisco Technology, Inc. Utilizing a smart camera system for immersive telepresence
US9369628B2 (en) 2013-03-11 2016-06-14 Cisco Technology, Inc. Utilizing a smart camera system for immersive telepresence
US10635383B2 (en) 2013-04-04 2020-04-28 Nokia Technologies Oy Visual audio processing apparatus
FR3077886A1 (en) * 2018-02-13 2019-08-16 Observatoire Regional Du Bruit En Idf SYSTEM FOR REPORTING EXCEEDING A SOUND INTENSITY THRESHOLD
WO2019158839A1 (en) * 2018-02-13 2019-08-22 Observatoire Regional Du Bruit En Idf System for indicating the crossing of a loudness threshold
US20230119874A1 (en) * 2020-08-14 2023-04-20 Cisco Technology, Inc. Distance-based framing for an online conference session
EP4213496A4 (en) * 2020-10-16 2024-03-27 Huawei Tech Co Ltd Sound pickup method and sound pickup apparatus

Also Published As

Publication number Publication date
WO1999060788A9 (en) 2000-03-02
EP1004204A1 (en) 2000-05-31
JP4450508B2 (en) 2010-04-14
EP1004204B1 (en) 2004-09-15
WO1999060788A8 (en) 2000-01-13
JP2002516535A (en) 2002-06-04
US6593956B1 (en) 2003-07-15
AU6308799A (en) 2001-03-05
DE69920138D1 (en) 2004-10-21
DE69920138T2 (en) 2005-02-03
EP1004204A4 (en) 2000-06-28

Similar Documents

Publication Publication Date Title
EP1004204B1 (en) Videoconferencing system with audio source location
US10939045B2 (en) People detection method for auto-framing and tracking in a video conference
US9392221B2 (en) Videoconferencing endpoint having multiple voice-tracking cameras
US8248448B2 (en) Automatic camera framing for videoconferencing
US8913103B1 (en) Method and apparatus for focus-of-attention control
US8842161B2 (en) Videoconferencing system having adjunct camera for auto-framing and tracking
US6545699B2 (en) Teleconferencing system, camera controller for a teleconferencing system, and camera control method for a teleconferencing system
US10778941B1 (en) System and method of dynamic, natural camera transitions in an electronic camera
KR20030045624A (en) Automatic detection and tracking of multiple individuals using multiple cues
JPH1051889A (en) Device and method for gathering sound
JP4669150B2 (en) Main subject estimation apparatus and main subject estimation method
KR101884446B1 (en) Speaker identification and speaker tracking method for Multilateral conference environment
US11460927B2 (en) Auto-framing through speech and video localizations
Brunelli et al. A generative approach to audio-visual person tracking
JP3739673B2 (en) Zoom estimation method, apparatus, zoom estimation program, and recording medium recording the program
CN113794814B (en) Method, device and storage medium for controlling video image output
US20220115021A1 (en) Talker Prediction Method, Talker Prediction Device, and Communication System
JP2001352530A (en) Communication conference system
Wang et al. Real-time automated video and audio capture with multiple cameras and microphones
Hu et al. A self-calibrated speaker tracking system using both audio and video data
CN112788278B (en) Video stream generation method, device, equipment and storage medium
AU2011201881B2 (en) Voice tracking camera with speaker indentification
US7053962B1 (en) Method and device for determining an image shift in an image sequence
Darrell et al. Geometric and statistical approaches to audiovisual segmentation for untethered interaction
CN113936039A (en) Object tracking method, device and system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 63087/99

Country of ref document: AU

AK Designated states

Kind code of ref document: C1

Designated state(s): AU JP

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

CFP Corrected version of a pamphlet front page
CR1 Correction of entry in section i

Free format text: PAT. BUL. 47/99 UNDER (81) DELETE "CA" AND ADD "AU"

ENP Entry into the national phase

Ref country code: JP

Ref document number: 2000 550274

Kind code of ref document: A

Format of ref document f/p: F

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1999925630

Country of ref document: EP

AK Designated states

Kind code of ref document: C2

Designated state(s): AU JP

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

COP Corrected version of pamphlet

Free format text: PAGES 1/25-25/25, DRAWINGS, REPLACED BY NEW PAGES 1/23-23/23; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

WWP Wipo information: published in national office

Ref document number: 1999925630

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1999925630

Country of ref document: EP