EP3336660A2

Automatic haptic generation based on visual odometry

Abstract

Examples of devices (100, 200), systems (236), and methods to automatically generate haptics based on visual odometry are disclosed. In one example, a video having a plurality of frames is received and an optical flow estimate (400) between a first frame from the plurality of frames and a second frame from the plurality of frames is created. In this example, the second frame is subsequent to the first frame. An apparent movement of a stationary object (460) between the first frame and the second frame is detected based at least in part on the optical flow estimate (400) in this example and at least one haptic effect corresponding to the apparent movement of the stationary object (460) is generated based at least in part on the optical flow estimate (400). The generated haptic effect(s) may be output to a haptic file or a haptic output device (118, 218), or both.

EP3336660A2, drawing sheet 1
Sheet 1 of 11

Term

Projected expiry 14 December 2037.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

15 claims: 10 independent, 5 dependent

  1. 1
    A method of producing a haptic effect comprising:receiving a video having a plurality of frames;determining an optical flow estimate (400) between a first frame and a second frame, the second frame subsequent to the first frame;detecting an apparent movement of a stationary object (460) between the first frame and the second frame based at least in part on the optical flow estimate (400);generating a haptic effect corresponding to the apparent movement of the stationary object (460) based at least in part on the optical flow estimate (400);and producing the haptic effect via a haptic output device (118, 218).
  2. 4
    The method of any preceding claim, wherein determining the optical flow estimate (400) comprises:determining a plurality of feature pixels within a partial area (450) of the first frame;and generating a motion vector (440) corresponding to the plurality of feature pixels within the partial area (450) of the first frame and a corresponding plurality of feature pixels within partial area of the second frame that indicates the apparent movement of the stationary object (460) between the first frame and the second frame.
  3. 7
    The method of any of claims 4 to 6, wherein the plurality of feature pixels within the partial area (450) correspond with a plurality of feature pixels within a prior partial area determined in creating a prior optical flow estimate corresponding to a frame other than the first frame in the plurality of frames.
  4. 8
    The method of any of claims 4 to 7, wherein the optical flow estimate (400) comprises motion vectors (440) that correspond to only feature pixels within the partial area (450).
  5. 9
    The method of any of claims 4 to 8, wherein the partial area (450) comprises a top-center view corresponding to the first frame and the second frame.
  6. 10
    The method of any of claims 4 to 9, wherein a size of the partial area (450) is based at least in part on a number of detected stationary objects (460).
  7. 11
    The method of any preceding claim, wherein the apparent movement of the stationary object (460) is detected by determining a cluster of motion vectors within the optical flow estimate (400) having a same direction or a substantially same direction.
  8. 13
    The method of any preceding claim, wherein the haptic effect is output to a haptic track.
  9. 14
    A non-transitory computer-readable medium comprising one or more software applications configured to be executed by a processor (102, 203), the one or more software applications configured to give effect to the method as claimed in any of claims 1 to 13.
  10. 15
    A device (100, 200) configured to produce a haptic effect, comprising:a camera (134, 140, 234, 240);a display;a haptic output device (118, 218);and a processor (102, 203) in communication with the camera (134, 140, 234, 240), the display, and the haptic output device (118, 218), wherein the processor (102, 203) is configured to: receive a video having a plurality of frames from the camera;determine an optical flow estimate (400) between a first frame and a second frame, the second frame subsequent to the first frame;detect an apparent movement of a stationary object (460) between the first frame and the second frame based at least in part on the optical flow estimate (400);generate a haptic signal configured to cause the haptic output device (118, 218) to output a haptic effect corresponding to the apparent movement of the stationary object (460) based at least in part on the optical flow estimate (400);output the first frame and the second frame to the display;and output the haptic signal to the haptic output device (118, 218) such that the haptic output device (118, 218) produces the haptic effect as the second frame is displayed on the display.