Abstract:
An electronic appliance remote controller which includes a display screen (which may be part of the appliance, e.g. a TV screen) for displaying icons representing possible operations of the electronic appliance, and a motion detector circuit for detecting a motion within a field of view of the motion detector circuit. The motion detector circuit detects a predetermined motion of a moving object within the field of view as an indication that a remote control operation is to be started and, thereafter, tracks the movement of the object. The motion detector circuit outputs a cursor control signal representative of the motion of the object. A control circuit, connected to the display screen, the electronic appliance, and the motion detector circuit and supplied with the cursor control signal, controls the display screen to display a movable visual indicator, e.g. a cursor, whose own motion tracks the movement of the moving object and the electronic appliance to perform operations corresponding to the icons selected by the user using the visual indicator.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    This invention relates to a remote control commander for an electronic appliance, such as a television set, and more particularly to an optical motion sensing remote control system for an electronic appliance.  
           [0003]    2. Related Art  
           [0004]    An IR (Infra Red) remote commander is a common means to control a TV from a distance. However, existing remote commanders have some drawbacks. They are easy to lose. The user often mistakes a VCR commander for the TV commander. In fact, a lot of people have a great “remote commander collection”. Also one has to learn which button is where on the commander. Remote commanders require batteries which have to be replaced periodically. If a TV could have a camera vision and read the user&#39;s gestures, no remote commander would be necessary. However, it is not easy for a TV to distinguish gestures from other moves in its camera view. One would not want the channel to change each time the user got up to fetch a snack from the kitchen, for example.  
         SUMMARY OF THE INVENTION  
         [0005]    The above and other problems of prior art electronic appliance remote controllers are overcome by an electronic appliance remote controller according to the present invention which includes a display screen (which may be part of the appliance, e.g. a TV screen) for displaying icons representing possible operations of the electronic appliance, and a motion detector circuit for detecting a motion within a field of view of the motion detector circuit. The motion detector circuit detects a predetermined motion of a moving object within the field of view as an indication that a remote control operation is to be started and, thereafter, tracks the movement of the object. The motion detector circuit outputs a cursor control signal representative of the motion of the object. A control circuit, connected to the display screen, the electronic appliance, and the motion detector circuit and supplied with the cursor control signal, controls the display screen to display a movable visual indicator, e.g. a cursor, whose own motion tracks the movement of the moving object and the electronic appliance to perform operations corresponding to the icons selected by the user using the visual indicator.  
           [0006]    In a preferred embodiment, the motion detector circuit detects the selection of an icon by the user by detecting a predetermined motion pattern of the object when the visual indicator is coincident on the display screen with a particular icon. For example, the motion detector circuit detects the selection of an icon by the user by detecting a cessation of movement of the object for a predetermined period of time after the visual indicator is coincident on the display screen with a particular icon. The detected object can be, for example, the user&#39;s hand. The predetermined motion can be a circular hand movement.  
           [0007]    In the preferred embodiment, the motion detector circuit includes a video camera and calculates a motion vector of each macro block between two adjacent video frames in a video output signal from the video camera. Each video frame includes a plurality of blocks, each containing vectors representative of detected motion of the object. Neighbor vectors with almost the same direction are grouped as one region. For each frame, the motion detector circuit, in determining whether to track an object, checks each region to determine if that region satisfies the conditions (a) that the vector made one rotation clockwise or counterclockwise and (b) the region returned to the start position where it used to be and locks onto that region if conditions (a) and (b) are both satisfied.  
           [0008]    In order that the same general length of hand movement will control the visual indicator to move a consistent corresponding length of movement, the control circuit includes an automatic cursor sensitivity adjustment feature which automatically scales the extremes of the movement of the visual indicator to the extremes of the predetermined hand motion so that, for example, the same diagonal motion of the user&#39;s hand will cause the visual indicator to move just across the diagonal of the display screen regardless of whether the user is close to the motion detector circuit or far away.  
           [0009]    A remote controlling method for an electronic appliance according to the invention includes the steps of visually displaying on a display screen, such as a TV screen, icons representing possible operations of the electronic appliance (e.g. a TV), detecting a motion within a field of view, including detecting a first predetermined motion of a moving object within the field of view as an indication that a remote control operation is to be started and, thereafter, tracking the movement of the object an outputting a cursor control signal representative of the motion of the object. In response to the control signal, controlling the display screen to display a movable visual indicator, e.g. a cursor, whose movement tracks the movement of the moving object and further controlling the electronic appliance to perform operations corresponding to the icons selected by the user using the visual indicator. The first predetermined motion can be any hand movement, such as a circular movement or a diagonal hand movement, for example.  
           [0010]    The step of detecting the selection of an icon by the user includes detecting a second predetermined motion pattern of the object when the visual indicator is coincident on the display screen with a particular icon. For example, the predetermined motion pattern could be a cessation of movement of the object for a predetermined period of time after the visual indicator is coincident on the display screen with the particular icon.  
           [0011]    The motion detecting step uses a video camera in the preferred embodiment and includes calculating a motion vector of each macro block between two adjacent video frames in a video output signal from the video camera. Each video frame includes a plurality of blocks each containing vectors representative of detected motion of the object, wherein neighbor vectors with almost the same direction are grouped as one region. For each frame, the determination of whether to track an object is made by checking each region to determine if that region satisfies the conditions (a) that the vector made one rotation clockwise or counterclockwise and (b) the region returned to the start position where it used to be. That region is locked onto if conditions (a) and (b) are both satisfied.  
           [0012]    In order that the same general length of hand movement will control the visual indicator to move a consistent corresponding length of movement, the remote controlling method according to the invention further includes a step of automatically adjusting the sensitivity of the visual indicator by the steps of automatically scaling the extremes of the movement of the visual indicator to the extremes of the predetermined hand motion so that, for example, the same diagonal motion of the user&#39;s hand will cause the visual indicator to move just across the diagonal of the display screen regardless of whether the user is close to the motion detector circuit or far away. 
       
    
    
       [0013]    The foregoing and other objectives, features and advantages of the invention will be more readily understood upon consideration of the following detailed description of certain preferred embodiments of the invention, taken in conjunction with the accompanying drawings.  
       BRIEF DESCRIPTION OF THE INVENTION  
       [0014]    [0014]FIG. 1 is a block diagram of the motion sensing remote control system according to the invention.  
         [0015]    [0015]FIG. 2 is a diagrammatic illustration for use in explaining how the user uses a hand motion to cause the remote control system of FIG. 1 to recognize that a motion control signal is about to be made.  
         [0016]    [0016]FIG. 3 is a diagrammatic illustration for use in explaining how the user causes the remote control system of FIG. 1 to move an on-screen cursor to follow the hand motion of the user.  
         [0017]    [0017]FIG. 4 is a diagram of a macro block in a video signal frame in which a motion is calculated by the remote control system of FIG. 1 and further depicts motion vectors as arrows.  
         [0018]    FIGS.  5 - 8  are each snapshots of vectors at an interval of one half a second.  
         [0019]    [0019]FIG. 9 is a snapshot wherein the remote control system of FIG. 1 has determined that the image is a hand image and locks onto the image.  
         [0020]    [0020]FIG. 10 is a block diagram of an alternative embodiment which makes use of an MPEG encoder of the electronicl appliance.  
         [0021]    [0021]FIG. 11 is a diagrammatic illustration for use in explaining how the user uses another type of predetermined hand motion to cause the remote control system of FIG. 1 to recognize that a motion control signal is about to be made.  
         [0022]    [0022]FIGS. 12 and 13 are each snapshots of macro blocks and motion vectors at an interval of one half a second of motion vectors detected by the remote control system of FIG. 1 for a hand motion shown in FIG. 11.  
         [0023]    [0023]FIGS. 14 and 15 depict the user&#39;s diagonal hand motion as detected by the remote control system of FIG. 1 when the user is close to the TV (FIG. 14) and when the user is far from the TV (FIG. 15).  
         [0024]    [0024]FIG. 16 is an illustration showing how the user cooperates in setting the automatic cursor sensitivity adjustment control. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0025]    The system according to the invention operates on the premise that a user does a special hand motion so that, for example, a TV can easily detect and lock onto an image of the user&#39;s hand. Once the hand image is locked, the TV electronically follows the hand&#39;s motion and moves a cursor on the TV screen toward the same direction as the hand moves. The user can move the cursor by moving the hand like a PC mouse. Moving the cursor, the user can choose a menu button from a plurality of buttons on the TV display. If the TV loses track of the hand motion after locking, the TV indicates a message to the user and lets the user do a special hand motion to re-lock and trace the motion.  
         [0026]    To detect hand moves, motion vectors can be employed. A motion vector scheme is common in a motion picture experts group (MPEG) system. If the system has an MPEG encoder, its motion vector circuits can be shared. A large reduction in costs will then be possible.  
         [0027]    Referring now to FIG. 1, a block diagram of the system is shown. The portion from blocks  1  to  12  is the same as a common digital TV set. The signal received by an antenna  1  is tuned in a tuner  2 , demodulated and error-corrected in a demodulation and error correction block  3 , and de-multiplexed in demultiplexer  4 . Demultiplexed on screen display (OSD) data, video data and audio data are sent to OSD circuit  5 , video decoder  6 , and audio decoder  7 , respectively. OSD data and the decoded video signal are mixed in a superimposer  7  and sent to a cathode ray tube (CRT) circuit  8  and displayed on CRT monitor  9 . Decoded audio data is amplified in an amplifier  11  and sent to a loudspeaker  12 .  
         [0028]    Blocks  13  to  16  are the main portion of this invention. A camera  13 , which can be mounted on the monitor  9 , for example, captures images of a user  18  in front of the TV set and sends its images to a motion detector circuit  15 . The motion detector circuit  15  compares the current video frame with a previous video frame stored in a RAM  14  and calculates a motion vector for each macro block of the video frame. A macro block size is, for example, 16×16 pixels. One frame consists of, for example, 22×18 macro blocks.  
         [0029]    When the user  18  wants to control the TV, the user  18  moves his or her hand  20  in a circular motion, so that it draws a circle in the air. (FIG. 2). The TV distinguishes this unusual hand motion from other motions and senses that the user  18  wants to communicate. At that time, the TV displays the menu button icons  22  on the CRT display. Once the TV&#39;s motion detector circuit  15  captures the hand image, the motion detector circuit  15  locks the hand motion and a cursor  24  follows it. If the user  18  moves his or her hand  20  to the right, the cursor  24  on the CRT display moves right ( 24 ′). The hand  20  and the cursor  24  behave like a PC mouse and a cursor. Note that the TV does not care about absolute position of the hand  20 . The TV senses only moving speed and direction of the hand  20  and moves the on screen cursor  24 . When the cursor  24  comes to a menu button icon  22  the user  18  wants, the user  18  stops and holds the hand  20  there a couple of seconds. The motion detector circuit  15  of the TV recognizes this action as the equivalent of a “button push” and executes the function the button icon  22  indicates. If no move is detected for a certain time, it is timed out. The menu disappears. The motion detector circuit  15  begins trying to detect another circular move again.  
         [0030]    The motion detector circuit  15  recognizes and locks the hand  20  image as follows. The motion detector circuit  15  calculates a motion vector of each macro block between two adjacent frames. Small vectors below a certain threshold are ignored. FIG. 4 shows whole macro blocks in a frame. For purposes of explanation and to make the figure simpler, the depicted macro blocks are less than the actual number and shown larger. Neighbor vectors with almost the same direction are grouped as one region. In FIG. 4, regions  1  and  2  are grouped. At this time, the motion detector circuit  15  does not know which region is the hand image. The motion detector circuit  15  repeats this procedure for every frame.  
         [0031]    In the next frame, if there is a region that has almost the same position and vector direction as region  1 , the region will succeed the named region  1 . Other regions will be named in the same way. A new region  1  is given a new name. If a region in a previous frame does not find a successor, it is discarded. Each of FIGS.  5  to  8  indicates a snapshot of vectors at an interval of half a second. It takes one to three seconds to draw a circle. In FIG. 6, region  1  disappeared and the motion detector circuit  15  judges region  1  is not the hand motion. Region  2  is still a candidate for the hand image. For every frame, the motion detector circuit  15  checks that each region satisfies the following two conditions:  
         [0032]    (1) Did the vector make one rotation clockwise or counterclockwise? 
         [0033]    (2) Did the region return to the start position where it used to be? 
         [0034]    If a region meets these conditions, the motion detector circuit  15  judges it is the hand image.  
         [0035]    In FIG. 8, region  2  is judged as the hand image. Then the motion detector circuit  15  locks on region  2  and follow its motion (FIG. 9). The motion detector circuit  15  lets CPU  16  know that the hand image has been locked and sends its motion information to CPU  16 . Controlled by CPU  16 , OSD  5  moves the cursor  24  on the CRT monitor  9  so that the cursor  24  follows the hand motion.  
         [0036]    If the motion detector circuit  15  loses track of the hand  20 , the motion detector circuit  15  informs the CPU  16  to cause the CRT  9  to display the message “Move your hand right”. The user  18  follows the message. Then the motion detector circuit  15  causes the CPU to control the CRT  9  to display another message “Move your hand upward.” The user  18  follows the message again. If the motion detector circuit  15  captures the image that moves right first and upward next, then the motion detector circuit  15  re-captures and locks on the hand image again.  
         [0037]    The special hand motion is not limited to a circular move. Any other special gesture will do. To let the TV know the menu button icon  22  is chosen, the user can do another special gesture instead of holding the hand  20  still. For example, as a variation of the circular hand motion, the user  18  may move the hand  20  several times (for example twice) toward diagonal direction, for example, lower left to upper right. (FIG. 11) When the hand  20  goes up, motion vectors point to the upper right (FIG. 12) region  3 ). When the hand  20  goes down, the motion vectors point to the lower left. (FIG. 13, region  3 ) The motion vectors point to the opposite direction as the hand  20  moves. Therefore, if there are motion vectors which point to a predetermined direction and change their direction oppositely, for example, three times (predetermined times) in a certain time period, the system judges that the user  18  has done the predetermined motion and locks onto the hand motion.  
         [0038]    Compared with the circular motion shown in FIG. 2, this is an easier motion for the user  18  to make and also easier to detect for the system. A drawback is that such a motion is more likely to occur unintentionally than the circular motion and, thus, misdetection could occur more frequently. If the user  18  jiggles his or her leg, it could cause misdetection. It is a tradeoff.  
         [0039]    The moving distance of the hand  20  depends on the camera view angle and the distance between the camera  13  and the user  18 . FIGS. 14 and 15 show a diagonal hand motion in the camera view. If the view angle is wide or the user  18  is at some distance from the camera  13 , the corresponding distance moved by the cursor  24  on the display is relatively shorter than it would be if the view angle was not so wide or the user  18  was closer to the camera  13 . (FIG. 14). If the view angle is narrow or the user  18  is too close to the camera  13 , the hand motion distance is large. (FIG. 15). Assume that the cursor  24  sensitivity is fixed. In the former case, the cursor  24  moves little even if the user  18  makes a large motion of his or her hand  20 . In the latter case, the cursor  24  is too sensitive and it moves a relatively large distance in response to a small hand motion.  
         [0040]    To solve this problem, this system has an auto cursor sensitivity adjustment function. When the predetermined motion is small in the camera view, the CPU  16  moves the cursor  24  largely. When the predetermined motion is large in the camera view, the CPU  16  moves the cursor  24  a little. For example, in FIG. 14, assume that the predetermined hand motion is 50 pixels long. In this case, the CPU  16  makes the cursor  24  move 4 pixels when the hand  20  moves 1 pixel, i.e. the cursor motion is automatically scaled to the length of the detected hand motion. In FIG. 15, the predetermined hand motion is 200 pixels long. The cursor  24  should move 1 pixel for every one pixel of hand motion. If the user  18  wants to move the cursor  24  from the left side to the right side of the display, the user only should move the hand  20  almost the same distance regardless of the camera view angle or the user&#39;s position from the camera  13 . This auto cursor sensitivity is implemented in the software of the CPU  16 .  
         [0041]    Referring now to FIG. 16, when the user  18  makes a predetermined motion in the form of a diagonal hand movement, the motion detection system  15  locks onto the hand movement and moves the cursor  24  diagonally across the face of the TV screen. CPU  16  always calculates the ratio of the video frame diagonal distance to the distance of the hand stroke. The cursor is controlled proportionally to the ratio. If the user  20  controls the length of his or her hand movement to be constant, the CPU  16  is programmed to recognize this as the largest hand motion that needs to be detected and scales the corresponding-movement of the cursor  24  so that it just spans the entire diagonal of the TV screen. This scale between the length of hand movement and the length of corresponding cursor movement is thereafter maintained for other hand movements. If the recognized diagonal hand stroke was ten inches, after the hand image is locked, the user  18  has to move the hand  20  ten inches diagonally in order to move the cursor from the lower left comer to the upper right comer on the CRT monitor  9 . If the recognized diagonal hand stroke is 20 inches, the user has to move the hand 20 inches to move the cursor in the same way.  
         [0042]    Instead of a cursor  24 , a button may be highlighted like a digital satellite system graphical user interface (DSS GUI). When the hand  20  moves up, the upper button icon gets highlighted and so on. To choose the highlighted button, the user  18  holds the hand  20  on the button for some seconds. As used in this specification and claims, the term “cursor” is to be deemed to include any change in the TV display which tracks the movement of the user&#39;s detected motion, including such highlighting of button icons in correspondence to the motion of the user&#39;s hand.  
         [0043]    Instead of motion vector detection, another image recognition scheme can be employed for this invention. For example, the motion detector circuit  15  may follow the tracks of skin color of the hand. If the track draws a circle, the motion detector circuit  15  judges that it is the hand image. Another way is to detect an outline of the hand with a pattern-matching scheme. The most important point of this invention is that a user does a special predetermined move so that the motion detector circuit  15  can easily distinguish it from other visually “noisy” moves.  
         [0044]    This invention can be applied for not only digital TV, but also analog TV, PC video-phone, or any system that uses a camera and monitor display. Not only a CRT but also other kinds of displays (for example, an LCD, projection TV, etc.) can be used.  
         [0045]    A video conference or telephone system uses an MPEG or H.261 video encoder. FIG. 11 shows a typical example of the encoder. The signal from camera  100  is sent via a subtraction node  101  to a DCT (Discrete Cosine Transform) block  102  for compression. In case of a predictive frame, before DCT processing, the signal is subtracted from reconstructed intra frame data in the subtraction block  101 . After DCT processing, the signal is quantized in a circuit block  103  and output as a encoded stream. The output signal is also de-quantized in a circuit block  104  and uncompressed in an Inverse-DCT circuit  105 . The uncompressed signal is passed through a summing block  106  and stored in a frame memory  107 . In case of a predictive frame, reconstructed intra frame data is added to the uncompressed signal in the block  106 .  
         [0046]    The motion detector circuit  108  is connected to the frame memory  107 , compares the past frame with the current frame and calculates a motion vector of each macro block. In this way motion vectors can be obtained. Therefore, with a small modification, i.e. detection of whether the vectors of a given region the motion detector circuit  108  can detect a circular hand motion. The motion detector circuit  108  sends the hand motion data to CPU  16 . The rest of the blocks (blocks  1  to  12 ) are the same as in the embodiment of FIG. 1. Blocks  13  to  15  can be replaced with this modified encoder. By sharing the motion detection block with the encoder, a circuit size reduction and a cost reduction will be accomplished.  
         [0047]    As an extended feature, if the camera is motor-driven, the CPU  16  can control the pan, tilt, or zoom of the camera automatically so that the hand image is positioned at the best place (usually the center) in the camera view.  
         [0048]    This system does not require color signals. Therefore, for a dark place, an infrared camera  13  may be used.  
         [0049]    If the CPU  16  connects with a network interface, for example a 1394 interface, this system can send hand position data and control another device through the network. This system does not have to be built into a TV set.  
         [0050]    Although the present invention has been shown and described with respect to preferred embodiments, various changes and modifications are deemed to lie within the spirit and scope of the invention as claimed. The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims which follow are intended to include any structure, material, or acts for performing the functions in combination with other claimed elements as specifically claimed.