IP Library Patent Application 15293186
Patent Application
App. No. 15/293,186

REAL-TIME VIRTUAL REFLECTION

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
15/293,186
Abstract

Techniques are provided for a real-time virtual reflection and for video interaction with virtual objects in a system. According to one embodiment, a user's image is captured by a video camera, and is outputted to a visual display in reverse, providing a mirror-image feedback to the user's movements. Through the camera interface, the system interprets user's gestures to manipulate virtual objects in real-time, in conjunction with the user's movements. In some embodiments, a user simulates trying on apparel and accessories according to the techniques set forth.

Claims (73)

1 . A computer-implemented method for video interaction with virtual objects, the method comprising the steps of:

receiving, by a computer, a stream of frames from a visual data capture device of a user in movement;

outputting a stream of frames as a video signal for processing by a visual display device based on the received stream of frames;

while receiving and outputting,

receiving a request for applying a virtual object to a stream of frames;

processing the request for applying the virtual object to one or more frames of the stream of frames; and

outputting a modified stream of frames with the virtual object applied to the one or more frames; and

for each frame in the stream of output frames:

determining image feature points for a user in a current output frame;

identifying one of a plurality of images stored in a storage medium for the virtual object;

determining a first image of the virtual object to apply to the current output frame;

determining a position for applying the virtual object to the current output frame; and

applying the first image of the virtual object to the current output frame.

2 . A computer-implemented method of claim 1 , further comprising determining one or more of user's angles of rotation in the first frame based on image feature points; and the determining of the first image is based on a particular angle of rotation.

3 . A computer-implemented method of claim 1 , wherein the determining a position further comprises determining position values for applying image of virtual object to the current output frame based on the image feature points.

4 . A computer-implemented method of claim 1 , wherein the virtual object applied to one or more frames is persistently coupled to a user feature.

5 . A computer-implemented method of claim 5 , wherein the user features includes a body part of the user.

6 . A computer-implemented method of claim 5 , wherein the user feature is determined from a stream of video using computer vision techniques.

7 . A computer-implemented method of claim 1 , wherein each of frames of the output stream of frames is the reverse image of a received frame.

8 . A computer-implemented method of claim 8 , wherein each of the reversed frames of the output stream of frames is outputted with minimal time elapsed between the receiving and the outputting.

9 . A computer-implemented method of claim 1 , wherein the output stream of frames comprises a virtual reflection of the user while in motion.

10 . A system for video interaction with virtual objects, said system comprising:

one or more processors; and

a computer-readable storage medium carrying one or more sequences of instructions, which when executed by said one or more processors implement a method for video interaction with virtual objects, said method comprising:

receiving, by a computer, a stream of frames from a visual data capture device of a user in movement;

outputting a stream of frames as a video signal for processing by a visual display device based on the received stream of frames;

while receiving and outputting,

receiving a request for applying a virtual object to a stream of frames;

processing the request for applying the virtual object to one or more frames of the stream of frames; and

outputting a modified stream of frames with the virtual object applied to the one or more frames; and

for each frame in the stream of output frames:

determining image feature points for a user in a current output frame;

identifying one of a plurality of images stored in a storage medium for the virtual object;

determining a first image of the virtual object to apply to the current output frame;

determining a position for applying the virtual object to the current output frame; and

applying the first image of the virtual object to the current output frame. A system of claim 10 , further comprising determining one or more of user's angles of rotation in the first frame based on the image feature points; and the determining of the first image is based on a particular angle of rotation. A system of claim 10 , wherein the determining a position further comprises determining position values for applying image of virtual object to the current output frame based on the image feature points. A system of claim 10 , wherein the virtual object applied to one or more frames is persistently coupled to a user feature.

14 . A system of claim 13 , wherein the user features includes a body part of the user.

15 . A system of claim 13 , wherein the user feature is determined from a stream of video using computer vision techniques.

16 . A system of claim 10 , wherein each of frames of the output stream of frames is the reverse image of a received frame.

17 . A system of claim 16 , wherein the each of the reversed frames of the output stream of frames is outputted with minimal time elapsed between the receiving and the outputting.

18 . A system of claim 10 , wherein the output stream of frames comprises a virtual reflection of the user while in motion.

19 . A computer-implemented method of claim 1 , wherein the step of determining a first image of the virtual object to apply to the current output frame comprises selecting said first image as a function of a user's gesture parsed from the stream of frames received from the visual data capture device.

20 . A computer-implemented method of claim 19 , wherein the user's gesture enables the selection of either the type of virtual object applied to the stream of frames or a characteristic of the virtual object.

21 . A computer-implemented method of claim 1 , wherein the processing further comprising the steps of:

receiving depth cloud data from said visual data capture device;

using said depth cloud data to determine image feature points for a user;

determining image size values for applying to said virtual object based on said depth cloud data; and

modifying said first image based on said image size values.

22 . A computer-implemented method for video interaction with virtual objects, the method comprising the steps of:

receiving, by a computer, a stream of frames from a visual data capture device of a user in movement;

outputting a stream of frames as a video signal for processing by a visual display device based on the received stream of frames;

while receiving and outputting,

receiving a request for applying a virtual object to a stream of frames;

processing the request for applying the virtual object to one or more frames of the stream of frames; and

outputting a modified stream of frames with the virtual object applied to the one or more frames; and

for each frame in the stream of output frames:

determining image feature points for a user in a current output frame;

identifying one of a plurality of images stored in a storage medium for the virtual object; and

determining a first image of the virtual object to apply to the current output frame,

wherein said first image is selected as a function of a user's gesture parsed from the stream of frames received from the visual data capture device.

23 . A computer-implemented method of claim 24 , wherein the user's gesture enables the selection of either the type of virtual object applied to the stream of frames or a characteristic of the virtual object.

24 . A computer-implemented method for video interaction with virtual objects, the method comprising the steps of:

receiving, by a computer, a stream of frames from a visual data capture device of a user in movement;

outputting a stream of frames as a video signal for processing by a visual display device based on the received stream of frames;

while receiving and outputting,

receiving a request for applying a virtual object to a stream of frames;

processing the request for applying the virtual object to one or more frames of the stream of frames; and

outputting a modified stream of frames with the virtual object applied to the one or more frames; and

for each frame in the stream of output frames:

determining image feature points for a user in a current output frame;

identifying one of a plurality of images stored in a storage medium for the virtual object;

determining a first image of the virtual object to apply to the current output frame;

determining a depth, size, and position for applying the virtual object to the current output frame; and applying the first image of the virtual object to the current output frame.

Assignments (1)
AMENDED JUDGMENT Recorded Nov 12, 2024
From: FACECAKE MARKETING TECHNOLOGIES INC.
To: HAGEN, RONALD
Reel/Frame 069340/0304 →