Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHOD FOR INTERACTING WITH A USER VIA A MIRROR
Document Type and Number:
WIPO Patent Application WO/2019/001745
Kind Code:
A1
Abstract:
A method of interacting with a two-way reflective mirror. In a case that a user stands far away from the mirror, a first object is displayed as being presented in front of the mirror. In a case that the user stands close to the mirror, a second object is displayed as being presented behind the mirror.5

Inventors:
CHU YUN YAW (DE)
DANGY-CAYE NICOLAS (DE)
Application Number:
PCT/EP2017/066376
Publication Date:
January 03, 2019
Filing Date:
June 30, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
CHU YUN YAW (DE)
International Classes:
G06F3/01; A47F11/06; G02B30/28; G02B30/31; H04N5/272; H04N13/00
Foreign References:
US20170188020A12017-06-29
US20160343166A12016-11-24
US20160093081A12016-03-31
Other References:
DIEGO MARTINEZ PLASENCIA ET AL: "Through the combining glass", USER INTERFACE SOFTWARE AND TECHNOLOGY, ACM, 2 PENN PLAZA, SUITE 701 NEW YORK NY 10121-0701 USA, 5 October 2014 (2014-10-05), pages 341 - 350, XP058058508, ISBN: 978-1-4503-3069-5, DOI: 10.1145/2642918.2647351
Attorney, Agent or Firm:
KREUZ, Georg (DE)
Download PDF:
Claims:
CLAIMS

1 . A method of interacting with a two-way reflective mirror (2104), comprising:

detecting a user (2101 ) standing at a first distance away from the mirror, the first distance being greater than a preset threshold;

displaying a first object (2105) on a display according to the detected first distance, the first object being seen to the user as being presented in front of the mirror, the display being placed behind the mirror;

detecting the user standing at a second distance away from the mirror, the second distance being smaller than the preset threshold; and

displaying a second object (2106, 2107) on the display according to the detected second distance, the second object being seen to the user as being presented behind the mirror. 2. The method of claim 1 , wherein the second object is different from the first object.

3. The method of claim 1 , wherein the second object is the same as the first object.

4. The method of any preceding claims, wherein the second object is presented as being interactive with the user's own reflection in the mirror.

5. The method of any preceding claims, wherein the second object is presented as being available within reach range from the user. 6. The method of any preceding claims, further comprising:

adjusting an autostereoscopy arrangement for presenting the first object and/or the second object in accordance with the first distance and/or the second distance.

7. The method of any preceding claims, wherein the first object and/or the second object is displayed in consideration of any one or any combination of the following: proximity of the user to the mirror, proximity of an eye of the user to the mirror, and proximity of a head of the user to the mirror.

8. The method of any preceding claims, further comprising any one or any combination of the following:

estimating of eyes separation distance of the user;

face detecting of the user; presence detecting of the user;

gaze tracking of the user; and

motion detecting of the user. 9. The method of claim 8, further comprising:

adjusting presentation of the first object and/or the second object in accordance with any one or any combination of the following:

estimating of eyes separation distance of the user;

face detecting of the user;

presence detecting of the user;

gaze tracking of the user; and

motion detecting of the user.

10. A system (400), comprising:

a display (401 ) configured to display information and to be positioned behind a semi- transparent surface (405);

a camera arrangement (407); and

a processing sub-system (409) being configured to:

receive first input data provided by the camera arrangement, wherein the first input data associated with a first distance, the first distance being a distance between the user and the semi-transparent surface, the first distance being greater than a preset threshold;

control the display to display a first object, the first object being seen to the user as being presented in front of the semi-transparent surface;

receive a second input data provided by the camera arrangement, the second input data associated with a second distance, the second distance being a distance between the user and the mirror, the second distance being smaller than the preset threshold; and

control the display to display a second object, the second object being seen to the user as being presented behind the semi-transparent surface.

1 1 . The system of any preceding system claims, wherein the processing sub-system is configured to adjust an autostereoscopy arrangement for presenting the first object and/or the second object in accordance with the first distance and/or the second distance.

12. The system of any preceding system claims, wherein the processing sub-system is further configured to perform any one or any combination of the following: estimation of eyes separation distance of the user, face detection of the user, presence detection of the user, gaze tracking of the user, and motion detection of the user.

Description:
SYSTEM AND METHOD FOR INTERACTING WITH A USER VIA A MIRROR

TECHNICAL FIELD

Various embodiments of the disclosure relate to an interactive system. More specifically, various embodiments of the disclosure relate to a method and system for interacting with a user via a mirror.

BACKGROUND

Recent developments in interactive digital consumer products have seen a move towards making day-to-day objects more interactive. Users are increasingly using the devices for checking their e-mails, weather information, traffic routes, etc. For example, users can now check personalized information related to weather, schedule for days (weeks, or months) on their devices. Further, some of the applications on these devices may enable users to read news, traffic information, and a day's calendar, among other information on their devices.

However, there are several inactive devices that a user may use during the day. These inactive devices range from mirrors that the users use to see themselves in the morning to glass tables in restaurants, offices, and at home. Given the focus on increasing the interactive nature of inactive devices, there is a need for these (or similar) inactive devices to become active and provide more information to the user in real time.

Patent application US20160093081 A1 a device including a display configured to display an object at an object display location on the display, the object being associated with information to be provided to a user, and to provide a reflected user image at a reflected user image location on the display; and a processor configured to detect the reflected user image location, and to determine the display location of the object based on the reflected user image location.

SUMMARY

It is an object of the invention to provide a system and method for interacting with a user via a mirror. The foregoing and other objects are achieved by the subject matter of the independent claims. Further implementation forms are apparent from the dependent claims, the description and the figures. According to a first aspect a method of interacting with a two-way reflective mirror, comprising:

detecting a user standing at a first distance away from the mirror, the first distance being greater than a preset threshold;

displaying a first object on a display according to the detected first distance, the first object being seen to the user as being presented in front of the mirror, the display being placed behind the mirror;

detecting the user standing at a second distance away from the mirror, the second distance being smaller than the preset threshold; and

displaying a second object on the display according to the detected second distance, the second object being seen to the user as being presented behind the mirror.

The mirror is used for reflecting a real scene to the user, and for passing through information displayed by the display to the user. The expression "an object being seen to the user as being presented in front of/behind the mirror" may be interpreted with the meaning that the object is focused on a focal plane in front of/behind the mirror.

According to a further implementation the in the method of the first aspect the second object is different from the first object. According to a further implementation the in the method of the first aspect the second object is the same as the first object.

According to a further implementation the in the method of the first aspect the second object is presented as being interactive with the user's own reflection in the mirror.

According to a further implementation the second object is presented as being available within reach range from the user.

According to a further implementation the method further comprises adjusting an

autostereoscopy arrangement for presenting the first object and/or the second object in accordance with the first distance and/or the second distance. According to a further implementation the first object and/or the second object is displayed in consideration of any one or any combination of the following: proximity of the user to the mirror, proximity of an eye of the user to the mirror, and proximity of a head of the user to the mirror.

According to a further implementation the method further comprises any one or any combination of the following:

estimating of eyes separation distance of the user;

face detecting of the user;

presence detecting of the user;

gaze tracking of the user; and

motion detecting of the user.

According to a further implementation the method further comprises:

adjusting presentation of the first object and/or the second object in accordance with any one or any combination of the following:

estimating of eyes separation distance of the user;

face detecting of the user;

presence detecting of the user;

gaze tracking of the user; and

motion detecting of the user.

According to a second aspect a system is provided comprising:

a display configured to display information and to be positioned behind a semi- transparent surface;

a camera arrangement; and

a processing sub-system being configured to:

receive first input data provided by the camera arrangement, wherein the first input data associated with a first distance, the first distance being a distance between the user and the semi-transparent surface, the first distance being greater than a preset threshold;

control the display to display a first object, the first object being seen to the user as being presented in front of the semi-transparent surface;

receive a second input data provided by the camera arrangement, the second input data associated with a second distance, the second distance being a distance between the user and the mirror, the second distance being smaller than a preset threshold; and control the display to display a second object, the second object being seen to the user as being presented behind the semi-transparent surface.

According to a further implementation of the second aspect the second object is presented as being interactive with the user's own reflection in the mirror.

According to a further implementation of the second aspect the second object is presented as being available within reach range from the user. According to a further implementation of the second aspect the processing sub-system is configured to adjust an autostereoscopy arrangement for presenting the first object and/or the second object in accordance with the first distance and/or the second distance.

According to a further implementation of the second aspect the processing sub-system is further configured to perform any one or any combination of the following:

estimation of eyes separation distance of the user, face detection of the user, presence detection of the user, gaze tracking of the user, and motion detection of the user.

According to a further aspect, a system is provided. The system includes a display being used for displaying information and to be positioned behind a semi-transparent surface; a camera arrangement and a processing sub-system being configured to: receive a input data provided by the camera arrangement, wherein the input data includes a first distance, the first distance being a distance between the user and a plane of the semi-transparent surface; and control the display to focus an object on a focal plane in front of the semi-transparent surface, if the first distance is greater than a preset threshold; and/or on a focal plane behind the semi-transparent surface if the first distance is smaller than the preset threshold.

When the user is far from the mirror/display, viewing stereoscopic content which appears in front of the mirror/display is a more comfortable experience than viewing content that appear behind the mirror/display plane. Inversely, when the user is near the mirror/display, it is more comfortable to see stereoscopic content behind the mirror/display plane. Thanks to the processing sub-system, augmented reality effect is improved for the user while interacting with the system. According to a further implementation of the invention, a method is provided. The method includes: receive a input data provided by a camera arrangement, wherein the input data includes a first distance, the first distance being a distance between a user and a plane of a semi-transparent surface; and control a display to focus an object on a focal plane in front of the semi-transparent surface, if the first distance is greater than a preset threshold; and/or on a focal plane behind the semi-transparent surface if the first distance is smaller than the preset threshold. The display is positioned behind the semi-transparent surface.

According to a third aspect of the invention, an electronic device is provided to include corresponding means for carrying out the method(s) aforementioned.

According to a fourth aspect of the invention, a computer program product is provided. The computer program product is adapted to perform the method(s) aforementioned.

According to a fifth aspect of the invention, a computer program comprising software code is provided. The computer program is adapted to perform the method(s) aforementioned. According to a sixth aspect of the invention, a computer readable storage medium comprising the computer program aforementioned is provided.

According to a seventh aspect of the invention, a computer readable storage medium comprising instructions to cause an electronic device aforementioned to carry out method(s) aforementioned is provided.

BRIEF DESCRIPTION OF THE DRAWINGS

Further embodiments of the invention will be described with respect to the following figures, in which:

FIG. 1 shows an example schematic diagram of a smart mirror according to an embodiment; FIG. 2 shows an example smart mirror solution;

FIG. 3 shows another example smart mirror solution;

FIG. 4 shows a schematic diagram of a smart mirror system according to an embodiment; FIG. 5a shows a schematic diagram of a dynamic parallax barrier generation mechanism according to an embodiment; FIG. 5b shows a schematic diagram of a dynamic parallax barrier generation mechanism according to an embodiment;

FIG. 5c shows a schematic diagram of a dynamic parallax barrier generation mechanism according to an embodiment;

FIGs. 6a-6g show a schematic diagram of a smart mirror system according to various embodiments; FIG. 7 shows a schematic diagram of a smart mirror system according to embodiments; FIG. 8 shows a schematic diagram of a smart mirror system according to an embodiment; FIG. 9 shows a schematic diagram of a smart mirror system according to an embodiment;

FIG. 10 shows a schematic diagram of creating user's avatar by a smart mirror system according to an embodiment;

FIG.s 1 1 a-1 1 c show a content hierarchy mechanism provided by a smart mirror system according to various embodiments;

FIG.s 12a-12b show a schematic diagram of an algorithm for gesture recognition according to various embodiments; FIG. 13 shows a schematic diagram of a smart mirror system according to an embodiment;

FIG. 14 shows a schematic diagram of an algorithm for a smart mirror system according to an embodiment; FIG. 15 shows a user case of a smart mirror system according to an embodiment;

FIG. 16 shows a schematic diagram of a smart mirror system according to an embodiment; FIG.s 17a-17b show a user case of a smart mirror system according to an embodiment;

FIG. 18 shows a user case of a smart mirror system according to an embodiment; FIG. 19 shows a user case of a smart mirror system according to an embodiment; FIG. 20 shows a user case of a smart mirror system according to an embodiment; FIG. 21 shows a user case of a smart mirror system according to an embodiment;

FIG.s 22a-22c show a user case of a smart mirror system according to an embodiment; FIG.s 23a-23c show a user case of a smart mirror system according to an embodiment;

FIG.s 24a-24c show a user case of a smart mirror system according to an embodiment;

FIG. 25 shows a schematic diagram of a smart mirror system having a curved display surface according to an embodiment;

FIG. 26 shows a smart mirror system being applied to various display means; and

FIG. 27 shows illustrative computing functionality that can be used to implement any aspect of the features shown in the foregoing drawings.

In the figures identical reference signs are used for identical or at least functionally equivalent features.

DETAILED DESCRIPTION OF EMBODIMENTS

Augmented reality (AR) enhances user experience by superposing virtual objects on a user view scene. AR is a live direct or indirect view of a physical, real-world environment whose elements are augmented (or supplemented) by computer-generated sensory input such as sound, video, graphics or GPS data.

Most of the existing AR solutions require external devices such as see-through glasses or smartphones/tablets. These devices bear limitations. The glasses are not comfortable to wear, e.g. heavy. 3D rendering is also a difficult task for physiological reasons. Battery remains a challenge for continuous functioning of these external devices. A clipped view limited by a relative small screen (smartphone or tablet screen) is not capable of giving an immersive experience. A mirror is a common object that is regularly used in daily life. Enriching the reflected scene with useful information can be done. The primary function remains unchanged and augmented reality can be switched on/off according to a user's wish. This approach is normally not considered as intrusive and is naturally accepted by users as it is seamless and useful.

A two-way mirror is a mirror that is partially reflective and partially transparent. A two-way mirror is typically used as an apparently normal mirror in a brightly lit room, with a much darker room on the other side. People on the brightly lit side see their own reflection as they would be in front of a normal mirror. People on the dark side see through it as they were looking through a transparent window.

A virtual mirror or smart mirror is a device that displays a user's own image on a screen as if that screen was a mirror.

FIG. 1 illustrates a principle of a smart mirror. It is composed by a display layer 12, a two-way mirror 1 1 and a computing device (not shown) for graphics. The computing device graphically renders the virtual objects into the display 12 which is placed behind the two-way mirror 1 1 . The two way mirror 1 1 lets graphical information from the display 12 pass through itself to a user 10 and reflects the real scene to the user 10 as well. Spacing 13 between the display layer 12 and the two way mirror 12 is conventionally fixed due to implementation. This spacing 13 has a direct influence on augmented reality immersion experienced by the user 10. A first category of smart mirror can be classified as "widget-oriented" smart mirror.

Superposed objects provide some useful information within the mirror. However, the superposed objects within the reflected image is only informative (e.g. a widget, or an image) and flat. The composition of these informative field (e.g. stocks, traffic) are mainly static and does not take into account user's reflection for instance.

A second category of smart mirror is focused on augmented reality experience. Such mirror augments reality by superposing makeup simulation on a user's face. However the composite image (e.g. user face + makeup) does not use real time reflected face on the mirror to create an interactive experience, but it is rather built from the user face caught by a camera within the smart mirror system. FIG. 2 illustrates a smart mirror implementation which may make it difficult to focus on digital graphics and natural reflection simultaneously.

Augmented reality is hard to achieve within a smart mirror. This is mainly explained by the distance of the user reflection and the display layer close to the mirror. If the user focuses on the virtual object then the scene behind becomes out of focus for the user. This is shown in the bottom part of FIG.2, left scene: the user 10 looks at the display screen focal point (i.e. hat graphic's focal point), where the hat graphic is focused and is perceived sharply.

However the person's reflection is out of focus. On the other hand, if the user point of interest is on the reflected scene, the virtual object within the display layer loses focus to the user. This is illustrated in the bottom part of FIG.2, right scene: the user 10 looks at person's own reflection focal point, at which the person's reflection is in focus and perceived sharply.

However the hat graphic is out of focus for the user. In both cases, augmented reality may be under achieved.

FIG. 3 illustrates a fixed distance solution. In one case, a first distance D1 separates user 10 from the semi-transparent mirror 1 1 , and a second distance D2 separates the semi- transparent mirror 1 1 from the display device 12. The user 10 will perceive his reflected virtual image 10' as occurring at a depth of 2xD1 . The setup of the system may be arranged so that the user, when using the mirror, is at a distance D1 from the mirror, wherein the distance D1 is approximately equal to the second distance D2. Such fixed distance solution, can by making D1 approximately equal to D2 allows to achieve an improved augmented reality experience. Without limitation in an exemplary implementation, for instance, both D1 and D2 may be approximately equal to 3 feet. However, in this case the user position is constraint by the system hardware setup. For example, if the distance of D1 varies as the user 10 stands further away from the mirror 1 1 , D1 becomes substantially unequal to D2 which is fixed by design. Then a problem of eye accommodation to the user as illustrated by Fig. 2 may come back again. In this case, augmented reality may be under achieved. It is contemplated that a design to release user from position constraint can be employed as illustrated by this disclosure to enrich augmented reality experience for users.

In the following detailed description, reference is made to the accompanying drawings, which form a part of the disclosure, and in which are shown, by way of illustration, specific aspects in which the present invention may be practiced. It is understood that other aspects may be utilized and structural or logical changes may be made without departing from the scope of the present invention. The following detailed description, therefore, is not to be taken in a limiting sense, as the scope of the present invention is defined by the appended claims.

For instance, it is understood that a disclosure in connection with a described method may also hold true for a corresponding device or system configured to perform the method and vice versa. For example, if a specific method step is described, a corresponding device may include a unit/module to perform the described method step or corresponding function, even if such unit/module is not explicitly described or illustrated in the figures, and vice versa. Further, a person skilled in the art would appreciate that the features of the various exemplary aspects described herein may be combined with each other, unless specifically noted otherwise. All references, which are mentioned in this disclosure, e.g. patent applications, Wikipedia entries, and papers, are incorporated herein by reference.

Smart mirror system proposed by this disclosure provides various embodiments. In some embodiments, perception of holographic augmented reality may be improved by combining computer vision, autostereoscopy, 3D rendering and real world reflection. Autostereoscopy is any method of displaying stereoscopic images without the use of special headgear or glasses on the part of the viewer. Because headgear is not required, it is also called

"glasses-free 3D" or "glassesless 3D". Such mechanism can be applied for various circumstances, e.g. home, vehicles. In some embodiments, mechanism is provided for one or more users to avoid seeing stereoscopic artifacts by automatically adapt holographic effects optimally for each user. In some embodiments, the smart mirror system allows multiple users' interaction simultaneously. In some embodiments, constraint with the distance between display and mirror is compensated by using adjustable parallax filtering and/or display resolution. In some embodiments, the system may automatically calibrate the perspective camera(s) in the 3D virtual mechanism according to the eyes separation distance, which may vary for different users. Such a mechanism allows for each user a dedicated optimal calibration set, without manual configuration. In some embodiments, by detecting view of interest (e.g. using gaze tracking), the system can optimize the rendering process, e.g. devoting computing resources on specific areas or volumes in space instead of rendering graphics for the whole scene. Efficiency of resource consuming is thus improved. In some embodiments, computation workload can be reduced by creating the augmented effect only on regions of interest. In some embodiments, a common use case is leveraged, e.g. looking at a mirror, user actually sees his/her own reflection manipulating virtual object(s). Thus the system may create an intuitive connection between the physical and virtual world. This may contrast with other augmented reality solutions that requires the user to look at a screen turning their head away while manipulating virtual objects in the air. Such other solutions normally require some adaptation from user(s).

FIG. 4 shows a schematic diagram of a smart mirror system 400 according to an

embodiment. The system 400 relies on the basis of a processing sub-system 409 (e.g. a processor), which may incorporate a graphic engine/smart mirror engine 410, connected to a display 401 placed behind a two-way mirror or semi-transparent surface 405. The mirror is semi-transparent, in particular transparent to the light emitted by the display. In addition to this basis, an image capture arrangement 407 (e.g. a camera system with one/dual/more cameras) and optionally an autostereoscopy arrangement 402 (e.g. a dynamic parallax barrier or lenticular lens) are coupled to the processor 409. A parallax barrier is a device placed in front of an image source, such as a liquid crystal display, to allow it to show a stereoscopic or multi-scopic image without the need for the viewer to wear 3D glasses.

Placed in front of the normal LCD, it consists of an opaque layer with a series of precisely spaced slits, allowing each eye to see a different set of pixels, so creating a sense of depth through parallax in an effect similar to what lenticular printing produces for printed products and lenticular lenses for other displays. A lenticular lens is an array of magnifying lenses, designed so that when viewed from slightly different angles, different images are magnified. The most common example is the lenses used in lenticular printing, where the technology is used to give an illusion of depth, or to make images that appear to change or move as the image is viewed from different angles.

In one embodiment, the two-way mirror 405 composes the augmented reality scene by reflecting the real scene and passing through the virtual objects of the display layer 401 . The screen 401 displays the virtual objects of the augmented reality scene. The central processor 409 manages the camera inputs, the display and the parallax barrier outputs. One or several cameras (407-1 , 407-2) are used for computer vision processing. The camera system 407 performs tasks such as face, eyes, gaze, gesture, hand tracking, face and object recognition. One or several cameras 407 can be used for depth frame acquisition which is used to bring estimation of the distance/position of user(s) facing the mirror or in general to estimate the distance/position of user(s) from a plane on which a two-way mirror may be positioned. A dynamic parallax barrier 405 is used to render autostereoscopy. A dynamic parallax barrier may be a transparent LCD device positioned in front of a color LCD 401 . The dynamic parallax barrier display is controlled by the processor 409 to render vertical slits arranged at a certain distance from each other and the colored pixels from the color LCD. The slits in the parallax barrier allow a viewer to see only left image pixels from the position of their left eye, right image pixels from the right eye. The processor can generate an optimal parallax pattern on the fly in accordance to the viewer's position.

The "Smart Mirror Engine", SME 410 that gathers a graphics and computer vision bundle plays an important role. It can process the cameras input (e.g. user position/distance, eyes distance, gaze, gesture tracking, point of interest, face and object recognition). It is a graphic engine that can optimize the superposed layers within the reflected scene and enhances the user experience through: 2D graphics, 2.5D graphics (perspective, parallax effects),

3D/Holographic (autosterescopic technology).

One of the objectives of the SME 410 is to have good graphical rendering choice that enhances graphic user interface according to the gathered information from inputs. The description and operation of the SME 410 are further described in detail in the following. The estimation of the user distance from the mirror plays an important element in the SME 410. This can be achieved by several means such as 3D cameras (e.g. dual camera), light based depth estimation (e.g. pattern projection, time of flight) or any other methods.

The system 400 may incorporate other functionalities (not shown), such as speaker, microphone, artificial Intelligence assistant. It is contemplated that many other consumer electronics functionalities known by those skilled in the art may be incorporated into the system 400 as well.

Various communication protocols may be supported by the system 400, including but not limited to Hyper Text Transfer Protocol (HTTP), Post Office Protocol (POP), Time Division Multiple Access (TDMA), Code Division Multiple Access (CDMA), Wireless Application Protocol (WAP), 3GPP communications technologies (e.g. GSM, WCDMA, LTE, LTE-A, 5G), Wi-Fi (the name of a popular wireless networking technology that uses radio waves to provide wireless high-speed Internet and network connections; Wi-Fi™ is a trademarked phrase that means IEEE 802.1 1 x) and Bluetooth (a wireless technology standard for exchanging data over short distances, which is managed by Bluetooth Special Interest Group). BLUETOOTH™ is a Trademark owned by Telefonaktiebolaget LM Ericsson. It should be noted that the protocols listed above are provided as examples only; it is contemplated that many other protocols known by those skilled in the art may be supported by the system 400. In one embodiment, the system 400 is working as a Wi-Fi AP. The dynamic parallax barrier is an important element to render auto stereoscopic 3D objects. Other technique could be used to render 3D objects such as Alioscopy lenticular array or 3D glasses. But the first mentioned technique is introduced for reasons: it is seamless or glass free; cheaper than lenticular approach; and last but not least, it brings a possible dynamic usage that will be detailed later in this disclosure.

In one embodiment, the system 400 combines dynamic autostereoscopic effect generation with computer vision acquisition technologies by using a transparent monochrome screen (e.g. a LCD screen) creating on the fly parallax barrier specifically to a user's position. The vision acquisition technologies include but is not limited to: face detection to estimate the person distance to the mirror and the person's position; gaze tracking to estimate user's view of interest in the scene; depth scanning for interpreting the real environment as a 3D scene; and body skeleton and/or gesture recognition to enable real and virtual world interaction. FIG. 5a shows a dynamic parallax barrier generation mechanism according to an

embodiment. To obtain good stereoscopic experience, we can minimize pixel interferences by positioning the parallax barrier 508 (including not see-through blocks 506) at a precise distance from the display 51 1 (e.g. a LCD screen, an OLED screen, an AMOLED screen) which corresponds to the display resolution. In the figure, Deye 505 represents distance between a user's left eye 503 and right eye 504, Duser 510 represents distance between the user and the parallax barrier 508, Dpixel represents distance between a left pixel 501 and a right pixel 502 adjustable by the display, Dparallax 509 represents distance between the display and the parallax barrier 508. These four parameters fulfill the following equation to facilitate good stereoscopic experience for the user:

Deye Dpixel

Duser Dparallc

Similar to FIG. 5a, FIG. 5b shows a schematic diagram of a dynamic parallax barrier generation mechanism according to an embodiment. Since a transparent monochrome screen is used for the parallax: by means of this screen it is possible to dynamically create any parallax pattern. Such a mechanism allows user's free movement on the left and right. For example, the system tracks the user's eyes positions and generates an adapted parallax barrier pattern on the mask screen (e.g. the transparent monochrome screen) to filter pixels for right eye 504 or left eye 503. Notice how the parallax barrier let pixel light pass at different locations between the 2 figures. Similar to FIG. 5a, FIG. 5c shows a schematic diagram of a dynamic parallax barrier generation mechanism according to an embodiment. To dynamically adapt to user distance Duser, it is proposed to proportionally adapt the display resolution of graphics Dpixel. The four parameters keep fulfilling the following equation to facilitate good stereoscopic experience for the user:

Deye Dpixel

D user Dparalk ax

Such a mechanism allows user's free movement near and far. For example, the system tracks the user's positions and generate an adapted parallax barrier pattern on the mask screen to filter pixels for the user.

FIGs. 6a-6d shows a smart mirror system 600 according to embodiments of this disclosure. The computing device 410 (e.g. SME) uses computer vision (e.g. camera system 407) to track the user's head position in space. Then the face distance from the two-way mirror 405 (i.e. Duser) is known. SME 410 also controls a parallax barrier 402 (e.g. a transparent LCD which can display any parallax barrier pattern) to filter emitted pixel lights coming from the display 401 (e.g. a RGB display) to a specific angle. When the system 600 detects the user standing in front of the mirror 405, it generates parallax barrier pattern(s) according to mechanism aforementioned in FIGs. 5a-5c. Meanwhile, the computing device 410 can generate 3D frames to be displayed on the display 401 .

When the user moves (see e.g. FIG. 6b), the system automatically adapts parallax pattern the parallax barrier 402 and graphics resolution on the display 401 in accordance with the user's position. Optionally, the parallax barrier functionality 402 can be switched on/off (automatically or manually) to accommodate user's requirements.

The system can be configured to identify zone of interest (see FIG. 6c). It may use gaze tracking functionalities (e.g. via camera functionalities 407) to evaluate gaze direction in space. It may also evaluate the view of interest in a 3D map according to gaze vectors. For example, the computing device 410 uses computer vision techniques (e.g. camera system 407) to track the user's gaze direction. It can be expressed as two vectors in a 3D space, one vector for each eye; or by using the head orientation. Optionally, by utilizing the output from the above process, depth mapping and a detected face position in space, the system can evaluate the subjective field of view for the user, and thus estimate where the person is specifically looking at (i.e. the view of interest). In FIG. 6c, user 602 is looking at the palm of right hand 601 facing up. For example, the camera system 407 identifies such zone of interest (i.e. palm of right hand 601 ), and provides such information to the computing device 410. The computing device 410 can act accordingly, e.g. provide instructions to display 401 , and/or barrier 402 to cause them act accordingly.

In another embodiment, see FIG. 6d, subjective fields of view can be evaluated for multiple users using face detection and gaze tracking along with known structural parameters of the system (e.g. camera and/or mirror specifications) User Cases

In a single user scenario, the system acquires real time depth imaging of the user's body. The frames are typically depth frames. RGB-D format frames may be used. The system gathers the point cloud related to the user's body and computes the point cloud that correlates with the relevant part of the user's body: the head, the fore arms and the hands. Tracking the head is a simpler task as the user should remain relatively static in front of the mirror, at a minimal height, whereas hands detection has greater dynamics. However head detection helps arms and hands detection by taking into account human morphology. This method allows discriminating point cloud from moveable objects, or animals in front of the smart mirror. By tracking hands, the system allows the user to interact with virtual objects through the user's self-reflection.

FIG. 6e shows a smart mirror system 600 create augmented reality content according to an embodiment of this disclosure. As described above, the user 602 can perceive holographic object(s) 606 being placed in space in accordance to the person view of interest (e.g. palm of the hand 601 ) and the position in space of the hand. For example, in the real world, the user 602 raises his right hand 601 . The user 602 sees from the mirror his own reflection (602', 601 '). The system works as described above to generate graphics on the display 401 , and to control barrier 402 working accordingly. From the user's eye, holographic object(s) can be seen placed on the palm of the hand 601 '. Notice that in a case the user 602 stands close to the mirror 405, the virtual object 606 appears to the user 602 as presented between the mirror plane and the user's self-reflection 602'.

In simultaneous multi-users scenario, the system proceeds similarly as single user scenario in parallel for each user, except that holographic effect will be applied to mono-user areas on the smart mirror. The system can delimit areas by assigning the immediate areas which are in front of each user, or it can track gaze vectors and enable holographic effects to be applied anywhere on a smart mirror. The system creates a specific parallax barrier pattern for each user, as well as the interleaved RGB frames and displays respectively on each mono-user areas.

Figures 6f-6g show a smart mirror system 600 create augmented reality content according to embodiments of this disclosure in cases of multi users. For example, if multiple users are detected, the system operates concurrently with generated barrier patterns and graphics (i.e. content and resolution) for each users. Since the parallax barrier screen is controllable by the computing system, multiple parallax patterns (402-1 , 402-2) can be created with each one specific for each user at non overlapping regions of interest. Users may stand at different distances from the mirror, see e.g. FIG. 6g. Notice that in a case the user(s) stands close to the mirror, the virtual object appears to the user(s) as presented between the mirror plane and the users' self-reflection(s).

In the following, various functionalities/modules/user cases (and any combination) thereof are introduced to present variations/specifics of the smart mirror system proposed by this disclosure.

Full graphic (2D/2.5D/3D) engine

A system is proposed that creates augmented reality content which can be comfortably viewed with the natural reflection. The system automatically adapts the display of digital contents in accordance to the user contextual dynamic parameters (e.g. distance, gaze direction, customized calibration). The contents can either be displayed in holographic rendering thanks to autostereoscopic apparatus, or displayed in a pseudo depth perspective also referred as 2.5D. The system may take into account the side effect of visual discomfort when viewing stereoscopic content. Such discomfort is induced by the disparity of accommodation and eye convergence. To address this issue, the system can, by default, displays holographic contents which remain within a tolerance range of the disparity accommodation versus vergence, in order to minimize visual discomfort. The system is also configured to carry out a method for realizing interaction with virtual objects. This is obtained by utilizing the natural reflection of the user to interact with the virtual objects, in place of rendering a 3D pointer. The user can manipulate virtual objects with the user's hands reflection, with an immediate visual feedback. This design interface is intuitive and quick to understand because the user sees self-acting on the augmented reality.

The system automatically adapts the stereoscopic contents according to the user proximity: when the user is at a far distance (parameterized) from the screen, holographic content is displayed in the front of the mirror under a near range from the mirror. When the user stands near the smart mirror, the system enters into an interactive mode with digital graphics appearing behind the mirror plane but appearing closer to the user's self-reflection. FIG. 21 shows a user case of a smart mirror system according to an embodiment. In this user case, object is presented as being in front of a mirror while user stands far away from the mirror (e.g. the object being focused on a focal plane in front of the mirror), and object is presented as being behind the mirror while user stands near the mirror (e.g. the object being focused on a focal plane behind the mirror). For example, it is identified that the user 2101 stands far away from the mirror 2104 (e.g. distance > a preset threshold, system enters into a non-interactive mode 21 10). Object 2105 is presented as a 3D object placed in front of the mirror as being seen by the user. If it is identified that the user 2101 stands near the mirror 2104 (e.g. distance < a preset threshold, system enters into an interactive mode 21 1 1 ), the system may present richer Ul with more elements shown (e.g. 2106) and allows interaction (e.g. 2107 being presented as being placed on the hand of user's own reflection 2101 ' as seen by the user 2101 ). Notice that the depth of the virtual volume may be a fraction of the user-mirror distance.

In the interactive mode scenario, the focal point (LCD plane) and vergence point

(holographies) are always near, thus it is attempted to limit the risk of visual discomfort due to accommodation and vergence disparity.

The system as illustrated in FIG. 21 comprises three main tasks: input acquisition, interaction and rendering. Technical modules that may be involved for input acquisition include real time depth imaging acquisition, face recognition, and gaze tracking. Technical modules that may be involved for interaction include user's hands and fingers recognition, and user's body tracking. Technical modules that may be involved for the rendering task include 3D engine for modeling the scene, which in fine can emulate the user's subjective view, enrich with virtual content created or loaded for the user, stereoscopic interleaved frame generation that will be displayed on display (e.g. LCD), and parallax barrier generation synchronized with interleaved frame and user head position. The 3D engine creates graphics that can be rendered in 3D, 2D or 2.5D.

FIG. 7 shows functionalities/modules/algorithms for enabling the SME engine

aforementioned in a smart mirror system according to embodiments of this disclosure. Presence detection 701

When no user is detected in near range of the smart mirror, the system may not display any content, however it is continuously monitoring the presence of a user. Presence detection can be performed using a depth imaging device with a process stage to analyze depth frame in real time to recognize the presence of a human. Human detection can be triggered by a motion detection feature.

User identification 702

When a user is detected, the system may optionally identify the user in order to load personalized contents, calibration and preferences settings. Otherwise the system uses a default preset for any user. User identification is preferably relying on face recognition;

however there is no restriction to use alternative methods to identify a person such as means of additional personal devices featuring proximity sensing. Face recognition process benefits from the fact that the user head stands relatively statically in front of the smart mirror, also face recognition can be limited by a minimum height and maximum height. The height range for face recognition can be parameterized through software configuration. Depth data helps discriminating real faces from pictures of the smart mirror, such as portrait frame in the home. RGB-D frames may provide better accuracy in recognizing a person by exploited more facial features. In case user is identified, user's profile can be used for defining gesture control calibration.

Emulation of the user's point of view 703

This stage includes transposing what the User's sees on the mirror in a 3D world (including the User's own reflection).

Virtual cameras positioning

The system may track the user's head position, the eyes and the gaze direction. On a side note, if the system has recognized the user, it can load calibration settings to track the user's gaze of head position more accurately. Calibration settings may contain information such as the eyes separation distance in order to optimize the eyes tracking process.

By determining the head and eyes position, the system translates these positions from the real world coordinate system into a 3D world coordinate system. One virtual camera for each eye has its position tightly coupled with the user's eye position in the real word. The system can estimate eyes position in real space and project virtual cameras into virtual positions in place of the user's eyes emulating a subjective perspective. The computation virtual cameras position relies on the user head distance value, which has been monitored in previous stage thanks to the depth sensor embedded in the smart mirror system. Therefore the distance head to mirror plane is computed using trigonometry, since the position and orientation of the sensor in respect to the mirror plane is fixed and may be calibrated at factory. The eyes height is also known from combining the result of face detection and depth data. The eyes features which have been extracted from a face detection, which can be based on 2D RGB frame processing, is correlated with depth point cloud. The corresponding eyes point cloud may be instantly found and eyes height can be estimated.

In order to reconstruct the subjective scene in the 3D world (i.e. reconstruct in 3D to what the user actually sees through the mirror), the system may apply symmetric projection of the point cloud from the mirror plane. Alternatively, the virtual cameras may be positioned at symmetrical position to the eyes point cloud from the mirror plane. Point cloud may not be symmetrically projected. The system does not limit to one depth sensor, several depth sensors can be used to optimally cover the user's body with multiple angles.

FIG. 8 shows a schematic diagram of a smart mirror system according to an embodiment. The user 801 stands at distance 807 to the mirror 802. He/she can see the real scene 801 ' from the mirror at a distance 805 which is double the distance 807. The system 800 can estimate distance 807 and eyes height 809 via camera system 803 (e.g. a depth sensing camera system). The system 800 can then create user avatar point cloud 801 -1 in the 3D world. The user avatar is seen by a virtual camera 803' at a distance 805' which is translated from 807 (e.g. 805' is double the distance 807).

Gaze tracking

Gaze tracking is performed after the eyes position is acquired. Gaze estimation may be computed by analyzing the head position and the eyes of the user from RGB-D frames. The resulting gaze vector is used to determine a pyramidal volume of interest corresponding to where the user is currently looking at. The pyramidal volume is used to compute an intersecting area on the mirror plan. One usage of this intersecting area is to enhance rendering on a small but relevant portion of the smart mirror area instead of applying intensive rendering process on a larger and out of scope area. The enhanced rendering process may include applying holographic effects or enhance resolution, or applying some visual cues serving as indication to the user that the system has determined a volume of interest. The visual cues can be implemented with enhanced contrast on objects within the volume of interest, enhancing color effects. For example if the user is looking at the direction of a particular content, the focalized content can start a glowing animation effect, or can be slightly gliding towards the user's avatar reflection. Another usage of gaze tracking data is to delimit a subjective mono-user holographic rendering. The size of the pyramid may be determined by configurable horizontal and vertical field of view expressed as angles. In natural binocular vision, human eyes cover about 1 14 degrees horizontally (with both eyes) and 135 degrees vertically. Therefore the system may not exceed these values. The system may dynamically adapt the field of view parameters according to the user's distance to the mirror. As such the applied field of view may increase as the user is nearer to the smart mirror. This correlation between field of view and user distance can be exploited in the purpose of adapting immersion effect by applying visual enhancements on a greater or smaller area of the mirror depending if the user is near or far from the mirror. The area outside can be used for other users simultaneously as long as these subjective areas do not overlap. Tracking gaze vectors for multiple users helps detecting if such conflict occurs by detecting areas overlap.

FIG. 9 shows a schematic diagram of a smart mirror system according to an embodiment. The system 900 applies gaze tracking technologies to estimate area of interest to a user 801. Optionally the system can apply enhanced graphics effects in the estimated area 901 from various aspects, e.g. resolution, animation effects, color, contrast.

User's avatar in 3D engine

The system acquires depth imaging frame continuously to track the user's body whose resulting points cloud is inserted into a 3D world. As such the user has an avatar

representation in the 3D world, however this avatar may be not rendered. Its purpose is to allow interaction with virtual objects which are rendered.

FIG. 10 shows a schematic diagram of creating user's avatar by a smart mirror system according to an embodiment. The user's body 1003 is modeled (e.g. by aforementioned SME engine) into the 3D world but not rendered on the output display. Such an avatar is created to interact with virtual objects 1004.

Generate graphical contents 704

a) Preserving a comfortable viewing

The visual discomfort when viewing autostereoscopic content is known as the

accommodation versus vergence conflict. This conflict has implications with the human visual system. According to a study, the natural vision induces a correlation between the

accommodation dynamics and the vergence dynamics. As a recall, accommodation is the action of the eye to focus on an object at near or far distance; vergence is the movement of both eyes to converge to an object at near or far distance. In the case of computer generated stereoscopic graphics, the digital graphics are displayed at a fixed focal point on a screen (e.g. a LCD screen), however rendered 3D objects may be virtually placed at variable distance from the user's point of view, causing vergence movement of the eyes. According to a study, there is a tolerance range regarding the accommodation and vergence disparity within which stereo images can be viewed without visual discomfort. Also according to a study, when the user is far from the screen, viewing stereoscopic content which appears in front of the screen is a more comfortable experience than viewing content that appear behind the screen plane. Inversely, when the user is near the screen, it is more comfortable to see stereoscopic content behind the screen plane. b) Content hierarchy

The system runs applications that display a set of interactive virtual objects. These interactive objects can either be rendered with holographic or pseudo perspective effects. The objects rendered with holographic effects are preferably virtually positioned between the user's reflection and the mirror plane. Limiting the holographic effects to place the virtual objects between user's reflection and mirror plane is software configurable and this parameter can be superseded by per user settings. Optimally, holographic objects are located on the lower part of the smart mirror conveniently for the user so that objects can be grasped or touched by the user's hands or fingers.

The system may dynamically adjust the lower part area (where holographic objects are displayed) to be below the user's head reflection, from the user's point of view, whereas the upper part area occupies the rest of the display. The system may estimate the user's hands maximum reach distance from either the user's height or from the detection of hands and forearms. This estimation may be computed from generic considerations based on human morphology or be more specific to a user by detecting features like forearms and hands. The maximum reach distance serves to determine a 3 dimensional space range where the interactive objects should be positioned in the 3D world. As such, the interactive objects always appear at reach range from the user, accordingly to the user's position in space and morphological attributes.

Figures 1 1 a-1 1 c show content hierarchy mechanisms provided by a smart mirror system according to embodiments of this disclosure. In FIG. 1 1 a, the user 1 102 sees the smart mirror Ul delimited into 2 parts. The upper part is used to display information which appears behind the user with no autostereoscopic effects (e.g. text 1 104-1 , text and graphics 1 104-2). The lower part is used to display holographic objects 1 103 that the user 1 102 may interact with by touching the mirror 1 101 (e.g. touch sensitive mirror) or grasping on the fly (with the help of gesture/skeleton/motion detection mechanism not shown).

In FIG. 1 1 b, as the user 1 102 leans/moves left or right, the smart mirror system may emulate a pseudo perspective effect by synchronizing 2D position of multi-layered contents (e.g. text 1 104-1 , text and graphics 1 104-2) thus giving the user of the impression of depth.

In FIG. 1 1 c, parallax pattern(s) is generated at intersection of a gaze vector and parallax plane 1 105. Flat 2D contents 1 104 are placed along the Z axis. Flat content 1 104 may move slightly on the X and Y axis according to the user's head position, thus giving the user a 2.5D impression. The display 1 106 works with the mirror and the parallax barrier to give the user the impression of the existence of volume 1 108 enabling 2D or 2.5D content 1 104 and volume 1 107 enabling holographic content 1 103. Notice that in a case the user 1 102 stands close to the mirror, the virtual object 1 103 appears to the user as presented between the mirror plane and the user's self-reflection 1 102'.

The objects rendered in pseudo perspective effect may be located on the upper part of the smart mirror display so that content appear behind the head of the user. Because the user's head position is tracked, pseudo perspective is achieved thanks to a responsive multilayered rendering of the content. The positions of the composing layers are updated in

synchronization with the user's head movement, proportionally to the Z axis order, so that furthest layers appear more static than nearest layers. In order to achieve convincing effect that content appear behind the user, the content may appear clipped by the user's reflection. This is achieved thanks the user's avatar in the 3D world which occludes the pixels of the content not to render.

Interaction 707

Because holographic rendering is enabled at near range of the smart mirror, the user may perceive sharp virtual object along with physical reflection near the smart mirror plane (e.g. the hands of the user). This allows the user to manipulate virtual objects through the user's self-reflection, serving here as a visual reference of what is manipulating the objects. By utilizing the user's natural reflection, there may be no need to render a visual pointer. Also this mode of interactivity takes into account limiting the visual discomfort (due to accommodation and vergence disparity). By the fact that focal point (e.g. where LCD is) and vergence point (e.g. where the holographies seem to appear) are in near plans, thus within human visual tolerance range in regards to accommodation vs vergence disparity. The system is continuously acquiring depth frames which produces a point cloud that is inserted into the 3D world, this point cloud can directly interact with any object in the 3D world. It is advisable that the 3D engine (e.g. SME 410) incorporates a physics engine to enhance realistic effects like objects collision, friction and velocity. Without the need to detect specific human features, the system detects virtual contact from arbitrary shapes to interact with augmented reality objects. For example the user could touch virtual objects using a pen or other pointing device. Grasping or two fingers pinching can be detected with at least two zones of contact on distinct faces of a cube for example. Here are examples of possible interactions: grasping or pinching, squeezing or compressing, stretching, touching, hitting, and throwing.

However, the system may support more elaborated interactions which implies recognizing hand gestures. In this case, it is necessary to detect hands and fingers and process to categorize the gesture. Because the system has already detected the user's head or face, the system correlates with human morphology knowledge to scope detection of arms, hand, fingers to certain portions of the depth frames. The system may search for hands which are located between the user's head and the smart mirror surface; and search for hand size which is scaled relatively to the head size. With hands and fingers detected, the system can categorize gestures, whether gestures are static or gestures involve a movement. Here are examples of hands gesture the system could recognize: scissor cutting, thumb up/down, showing numbers, and OK/STOP/PAUSE hand signs.

Combining with gaze tracking

To improve interaction accuracy, the system can utilize gaze tracking to scope a volume of interest. The volume of interest has a shape of a pyramid with its peak is oriented towards user's head. This volume of interest helps discriminating which objects user is intending to interact with. The virtual objects included in the volume can appear highlighted with graphical or animation effects or can be rendered with an increased resolution.

FIGs. 12a-12b show schematic diagrams of an algorithm for gesture recognition according to embodiments of this disclosure. FIG. 12a shows how the system can perform static and dynamic hand gesture recognition for a single hand. FIG. 12b shows how the system can perform hand gesture recognition for two single hands. A two-hand gesture recognition would typically be processing the above hand gesture recognition in parallel with a final classification stage. Hands detection may not be performed on distinct areas of the RGB-D input frames, because some dynamic gestures may involve temporally occluding one hand by the other, for such case, it is possible to discriminate the occluding hand from the occluded hand by correlating the depth position of the hands from the previous detections. Rendering 705

Rendering preferably creates a holographic effect for objects that appear between the mirror plane and the user's self-reflection. This preference is intended for reducing potential visual discomfort caused by accommodation and vergence conflict. Holographic effects may be applied on the lower part of the smart mirror, at contact range of the user's hands reflection. The upper part of the smart mirror may be devoted to content which appear behind the user's self-reflection. The user's self-reflection may occluded the contents on the upper part of the smart mirror. These content may be rendered either in 2D pseudo perspective or holographic effects, not simultaneously. The reason for this variability is the potential visual discomfort which is greater as accommodation-vergence disparity increases as holographic objects appear far, whereas the user's eyes may be accommodated to the fixed RGB display behind the smart mirror surface. The user can parameterize how upper part contents are rendered. In order to produce the effect that content appear behind the user's self-reflection, contents may be occluded by the user's point cloud. The system may segmentize the point cloud which belongs to the user's body from the point cloud that belong to the environment of the user, such as furniture. This segmentization process is performed with the knowledge of the head position. The system may discard all points that are further that the head global position. In the 3D world, the system can determine how to partially occlude virtual content which have depth values greater than the avatar's head. The user's point cloud may not be rendered.

In the 3D world, the system has previously computed the position and orientation of two virtual cameras, each one representing the perspective of each eye. From two synchronized frames for each perspective, the system generates an interleaved RGB frame that is directly displayed on the LCD. Meanwhile, in synchronization, the system generates a parallax barrier pattern which is computed relatively to the user's head position. FIG. 13 depicts the rendering process for holographic content. For non 3D pseudo perspective effect, only one perspective camera may be exploited, and the corresponding frames may be directly displayed on the LCD.

FIG. 13 shows a schematic diagram of a smart mirror system according to an embodiment. The system provides 3D acquisition and rendering. The system may use depth scanning (e.g. supported by camera system not shown) to enabling the computing device (e.g. the aforementioned SME) to have a 3D representation of the environment. Then the system can display a 3D scene which incorporates parameters from the real scene. The distance 1307 between the 2 cameras 1304, 1305 (in 3D world) can be adjusted by acquiring the user's face distance and perceived distance between the user's eyes. The 3D positioning 1309 of the cameras is determined from a face tracking process. Distance "d" 1308 between the cameras and a 3D object 1306 can be adjusted by acquiring the user's face distance. For example: d = (2 * D) * scaleFactor + offset. The display 1310 shows the object on the display. With the help of the mirror 1302 and autostereoscopic means 131 1 , an holographic object 1306 appears to the user on the same focal distance as the person's reflection 1301 '.

Light detection

The system may include source light detection in order to increase realism when rendering objects by applying a virtual source light that emulates the real environment lighting conditions. The purpose is to emulate the shadow effect on virtual objects which correlates to the user's point of view and light conditions. Object surfaces rendering can also be enhanced according to the detected light conditions. The light source(s) needs to be localized and an emulation of such light sources can be performed in the virtual world. FIG. 14 shows a schematic diagram of a smart mirror system according to an embodiment with source light detection functionality. Figure 14 builds on figure 7. The steps already described with reference to figure 7 (indicated with equal reference numbers) will not be described again. FIG. 15 shows a user case of a smart mirror system according to an embodiment. The system can detect real source of light and emulate shadow 1506 for virtual object 1505. The user 1501 may experience an improved augmented reality when looking at the mirror 1502. Notice that in a case the user 1501 stands close to the mirror 1502, the virtual object 1505 appears to the user 1501 as presented between the mirror plane and the user's self- reflection 1504'. FIG. 16 shows a schematic diagram describing the functioning of a smart mirror system according to an embodiment. Notice this figure illustrates various

functionalities/means/modules/algorithms, any combination thereof is within the scope of this disclosure as long as any specific combination does not depart principle(s) of this proposed disclosure. Dotted box represents optional feature(s) which may be selectively omitted in a specific feature combination as appreciated by a person skilled in the art. A description of the various functions is provided below:

Block 1601

Block 1602

Block 1603

Block 1604

Block 1605

Block 1606

Block 1607

Block 1608

Block 1609

view;

Block 1610

Block 161 1

Block 1612

Block 1613

Block 1614

Block 1615

Block 1616

A convincing augmented reality may be in 3D meaning that the superposed virtual objects may be rendered in 3D. However, in some cases, this 3D rendering is not always possible. Nevertheless, 2D and 2.5D graphics can bring interesting technical effect that enhances the user experience. These techniques will be used when the 3D rendering is not pertinent or not possible.

2D graphics can also be a choice of simplicity (the intention is not the realism but the usefulness).

2.5D graphics can be a good substitution of 3D realization.

2D graphic engine (may be incorporated into SME)

A first set of graphics focuses on 2D rendering. It is important not to compromise the primary functions of the mirror and particularly do not create interference between virtual and the reflected user face. Thanks to the computer vision processing, the head can be tracked and define a forbidden display area in which the virtual object are excluded. Virtual object can be rearranged dynamically according the user position and specially its head. Another interesting effect is to dynamically set the level of detail of the displayed 2D virtual object according to the user position. For example, a user close to the mirror will set a high level of detail of a weather widget (additional information such as temperature, weather forecast). This optimizes the virtual object placement, size and details according to the user distance and head position. It could be also interesting to load a set of object according to the user preference. It allows displaying the user virtual objects after a face recognition processing.

FIGs. 17a-17b show a user case of a smart mirror system according to an embodiment. In this user case, displayed content rearranges in accordance with user's distance to mirror, e.g. the closer the user, the more detail to be shown. When user 1701 stands in front of the mirror/display 1702 (see FIG. 17a), area 1703 is not used to display information to avoid blocking user's own reflection. Area 1704 is used to display information (e.g. sets of widget 1705) to the user. When the user 1701 approaches the mirror/display 1702 (see FIG. 17b), content shown in the area 1704 may be dynamically arranged, e.g. more detail to shown 1705', or more widget to shown 1707. Area 1703 may also be dynamically arranged according to user's head position.

In other embodiments, to reinforce the sensation of an active interaction between user and virtual objects, an object can gain or lose focus according to the gaze tracking or hand pointing. FIG. 18 shows a user case of a smart mirror system according to an embodiment. In this user case, when user's point of interest is identified, such point of interest can be focused. Other points may be blurred due to lose of focus. For example, it is identified that area/widget/object 1802 is user's point of interest, 1802 may become focused (e.g. rendered sharper). Other point/area/widget/object 1805 may become blurred/invisible. Optionally, area 1804 is not used to display information to avoid blocking user's own reflection.

In other embodiments, according to gesture recognition (e.g. point & push), focused object can be enlarged/shrink and get full size view/minimized. Gesture recognition is a topic in computer science with the goal of interpreting human gestures via mathematical algorithms. Gesture recognition enables humans to communicate with the machine (HMI) and interact naturally without any mechanical devices. Using the concept of gesture recognition, it is possible to point a finger at the computer screen so that the cursor will move accordingly. Various camera mechanisms may be used to support gesture recognition, e.g. depth-aware camera, stereo camera. Using specialized cameras such as structured light or time-of-flight cameras (a.k.a. depth-aware cameras), one can generate a depth map of what is being seen through the camera at a short range, and use this data to approximate a 3d representation of what is being seen. These can be effective for detection of hand gestures due to their short range capabilities. Using two cameras whose relations to one another are known (a.k.a. stereo cameras), a 3d representation can be approximated by the output of the cameras. To get the cameras' relations, one can use a positioning reference such as a lexian-stripe or infrared emitters. In combination with direct motion measurement (6D-Vision) gestures can directly be detected.

FIG. 19 shows a user case of a smart mirror system according to an embodiment. In this user case, when user's gesture is recognized, point of interest can be enlarged to show more detail, or be closed. For example, it is identified that area/widget/object 1802 is user's point of interest, then 1802 may be enlarged. Other point/area/widget/object 1805 may become blurred/invisible. Optionally, area 1804 is not used to display information to avoid blocking user's own reflection.

2.5D graphic engine (may be incorporated into SME)

A second set of graphics can leverage the 2.5D rendering. It is based on object positioning in a perspective build on the user position. Object can then be positioned in different plan and then offering a pseudo 3D view. The focus technique can also be applied with gaze or hand tracking. Two and a half dimensional (shortened to 2.5D, nicknamed three-quarter perspective and pseudo-3D) is a term used to describe either 2D graphical projections and similar techniques used to cause images or scenes to simulate the appearance of being three-dimensional (3D) when in fact they are not, or gameplay in an otherwise three-dimensional video game that is restricted to a two-dimensional plane or has a virtual camera with a fixed angle. By contrast, games using 3D computer graphics without such restrictions are said to use true 3D.

FIG. 20 shows a user case of a smart mirror system according to an embodiment. In this user case, objects can be positioned in different planes to offer a pseudo 3D view. For example, it is identified that object of attention is 2002, then 2002 is to be seen as being placed to the front plane (optionally sharper, or gain focus). Other objects 2003 may be seen as being placed to back planes (optionally blurred, or arranged into user's perspective). Pseudo 3D can be reinforced thanks to a parallax rendering based on the user motion. It gives a sensation of floating and 3D objects. Parallaxing refers to when a collection of 2D sprites or layers of sprites are made to move independently of each other and/or the background to create a sense of added depth.

FIGs 22a-22c show a user case of a smart mirror system according to an embodiment. In this user case, a holographic object can be presented as being on a static surface reflection. For example, user 2201 may perceive holographic objects 2203 on a static surface such as a shelf 2204 in front of the mirror 2202 (e.g. see FIG. 22a). The perspective rendering of virtual objects is adjusted to the height sight of the user, so that virtual objects seem to be laid on the surface of the (reflected) shelf 2204'. The shelf may originally be part of the system structure, therefore its structural parameters are known by the computing device in the system. This knowledge is used to render computed holograms onto a "physical" object reflection. The user can interact accurately with the virtual objects while keeping a visual reference to the user's reflection. Face coordinates and gaze vector may be correlated to the perspective camera(s) 2207 positioning and orientation in the computed 3D world. The camera(s) 2207 may simulate the user's subjective point of view (e.g. see FIG. 22b). The shelf plane 2204' is represented in the 3D computer world but not rendered on the output display 2205 (e.g. see FIG. 22c). A physics engine may be used to simulate physical properties of virtual objects 2203 (cubes falling / rolling on a surface).

FIGs 23a-23c show a user case of a smart mirror system according to an embodiment. In this user case, the user perceives holographic objects interacting with non-static physical body (e.g. user's moving hand). For example, user 2301 raises his/her hand while standing in front of the mirror 2302. He perceives object 2303 interacting with the hand in harmony with his/her own reflection 2301 ' (see FIG. 23a). Face coordinates and gaze vector(s) are correlated to the perspective camera(s) 2307 positioning and orientation in the computed 3D world. The camera(s) 2307 can simulate the user's subjective point of view (see FIG. 23b). The user's body 2301 ' can be modeled in the 3D world but not rendered on the output display 2305. Its purpose is to interact with virtual object(s) 2303 (see FIG. 23c).

FIGs 24a-24c show a user case of a smart mirror system according to an embodiment. In this user case, virtual object(s) 2403 on the display 2405 is automatically positioned not to block the user's own reflection 2401 '. For example, if the system detects that the user 2401 moves and virtual object(s) 2403 on the display 2405 may block the user's own reflection

2401 ', virtual object(s) 2403 on the display 2405 may be automatically positioned not to block the user's own reflection 2401 ' (see FIG. 24a). Face coordinates and gaze vector(s) are correlated to the perspective camera(s) 2307 positioning and orientation in the computed 3D world. The camera(s) 2307 can simulate the user's subjective point of view (see FIG. 24b). The user's body 2301 ' can be modeled in the 3D world but not rendered on the output display 2305. Its purpose is to interact with virtual object(s) 2303 (see FIG. 24c).

FIG. 25 shows a schematic diagram of a smart mirror system having a curved display surface according to an embodiment. In other embodiments, smart mirror systems may use a planar display surface. In this embodiment, curved display surface 2502 is used. For example, the display surface 2502 may have a semicircle-shaped surface, a parabolic surface, etc. Virtual objects 2503 may be presented as being arrayed around the user 2501. Further, the user 2501 may rotate his or her head (or his or her entire body) to interact with different virtual objects 2503. Directions of attention of the user may be detected and used by the system to automatically rearrange/render virtual objects 2503. FIG. 26 shows a smart mirror system aforementioned in various embodiments being applied to various display means. For example, in a vehicle 2601 , a smart mirror system

aforementioned can be applied to windshield 2604, a rear-view mirror 2602, or a portable display device 2603. Practically, any glass means that a user may use during the day may apply smart mirror mechanism proposed by this disclosure, e.g. glass tables/windows/glass whiteboards in restaurants, offices, schools, and at home.

Representative Computing functionality

FIG. 27 sets forth illustrative computing functionality 2700 that can be used for

implementation of any of the smart mirror system described above. In one case, the computing functionality 2700 may correspond to any type of computing device that includes one or more processing devices. In all cases, the computing functionality 2700 represents one or more physical and tangible processing mechanisms.

The computing functionality 2700 can include volatile and non-volatile memory, such as RAM 2702 and ROM 2704, as well as one or more processing devices 2706 (e.g., one or more CPUs, and/or one or more GPUs, etc.). The computing functionality 2700 also optionally includes various media devices 2708, such as a hard disk module, an optical disk module, and so forth. The computing functionality 2700 can perform various operations identified above when the processing device(s) 2706 executes instructions that are maintained by memory (e.g., RAM 2702, ROM 2704, or elsewhere). More generally, instructions and other information can be stored on any computer readable medium 2710, including, but not limited to, static memory storage devices, magnetic storage devices, optical storage devices, and so on. The term computer readable medium also encompasses plural storage devices. In many cases, the computer readable medium 2710 represents some form of physical and tangible entity. The term computer readable medium also encompasses propagated signals, e.g., transmitted or received via physical conduit and/or air or other wireless medium, etc. However, the specific terms "computer readable storage medium" and "computer readable medium device" expressly exclude propagated signals per se, while including all other forms of computer readable media.

The computing functionality 2700 also includes an input/output module 2712 for receiving various inputs (via input devices 2714), and for providing various outputs (via output devices). Illustrative input devices include a keyboard device, a mouse input device, a touchscreen input device, a gesture input device, a voice recognition mechanism, an image capture mechanism, a tracking mechanism, and so on. One particular output mechanism may include a presentation device 2716; that device, in turn, may correspond to a

component of the above-described mirror functionality. The computing functionality 2700 can also include one or more network interfaces 2720 for exchanging data with other devices (e.g., provided in other set-ups) via one or more communication conduits (not shown). One or more communication buses communicatively couple the above-described components together.

The communication conduit(s) can be implemented in any manner, e.g., by a local area network, a wide area network (e.g., the Internet), etc., or any combination thereof. The communication conduit(s) can include any combination of hardwired links, wireless links, routers, gateway functionality, name servers, etc., governed by any protocol or combination of protocols.

Alternatively, or in addition, any of the functions described in the preceding sections can be performed, at least in part, by one or more hardware logic components. For example, without limitation, the computing functionality can be implemented using one or more of: Field- programmable Gate Arrays (FPGAs); Application-specific Integrated Circuits (ASICs);

Application-specific Standard Products (ASSPs); System-on-a-chip systems (SOCs);

Complex Programmable Logic Devices (CPLDs), etc.

Although the elements in the following claims are recited in a particular sequence with corresponding labeling, unless the claim recitations otherwise imply a particular sequence for implementing some or all of those elements, those elements are not necessarily intended to be limited to being implemented in that particular sequence.

Other embodiments

Embodiment 1. A system, comprising:

a display being used for displaying information;

an autostereoscopy functionality;

a mirror being used for reflecting a real scene to a user standing in front of the mirror, and for passing through information displayed by the display via the autostereoscopy functionality to the user;

image capture functionality being configured to capture image information related to the user; and

a processing sub-system being configured to control, based on the image information, the autostereoscopy functionality.

Embodiment 2. The system of embodiment 1 , wherein the autostereoscopy functionality is controlled in accordance with the information displayed by the display.

Embodiment 3. The system of any preceding embodiments, wherein the processing sub- system is further configured to generate information to be displayed by the display based on the image information.

Embodiment 4. The system of any preceding embodiments, wherein the image information relates to any one or any combination of the following: proximity of the user to the mirror, proximity of an eye of the user to the mirror, and proximity of a head of the user to the mirror.

Embodiment 5.The system of any preceding embodiments, wherein the image information is used for any one or any combination of the following: estimation of eyes separation distance of the user, face detecting of the user, presence detecting of the user, gaze tracking of the user, and motion detection of the user.

Embodiment 6. The system of any preceding embodiments, wherein the mirror is a two-way reflective mirror. Embodiment 7.The system of any preceding embodiments, wherein the display is touch- sensitive. Embodiment 8.The system of any preceding embodiments, wherein the display is used for displaying audiovisual content and/or information in a graphical form.

Embodiment 9.The system of any preceding embodiments, wherein the autostereoscopy functionality comprises any of the following: a parallax barrier, a transparent monochrome screen, a screen, and/or a dynamic parallax barrier.

Embodiment 10. A method of facilitating interaction with a user implemented in a system of any of embodiments 1 -9, the method comprising:

displaying information on a display;

reflecting a real scene to a user standing in front of a mirror;

passing through information displayed by the display via an autostereoscopy functionality to the user;

capturing camera information related to the user; and

adjusting the autostereoscopy functionality, based on the camera information.

Embodiment 1 1 . A method of facilitating interaction with a user implemented in a system of any of embodiments 1 -9, the method comprising:

displaying information on a display;

reflecting a real scene to a user standing in front of a mirror;

passing through information displayed by the display via an autostereoscopy functionality to the user;

capturing camera information related to the user; and

adjusting information displayed by the display, based on the camera information, in accordance with the autostereoscopy functionality.

Embodiment 12, an electronic device is provided to include corresponding means for carrying out the method(s) aforementioned. Embodiment 13, a computer program product is provided. The computer program product is adapted to perform the method(s) aforementioned.

Embodiment 14, a computer program comprising software code is provided. The computer program is adapted to perform the method(s) aforementioned.

Embodiment 15, a computer readable storage medium comprising the computer program aforementioned is provided. Embodiment 16, a computer readable storage medium comprising instructions to cause an electronic device aforementioned to carry out method(s) aforementioned is provided.