Sony Patent | Digital 3d Model Rendering Based On Actual Lighting Conditions In A Real Environment
Patent: Digital 3d Model Rendering Based On Actual Lighting Conditions In A Real Environment
Publication Number: 10573067
Publication Date: 20200225
Applicants: Sony
Abstract
A display apparatus comprises an image sensor and a control circuitry. The image sensor captures a 360.degree. image of a real-world environment and the control circuitry detects at least one light source in the captured 360.degree. image and determines a plurality of lighting parameters of the detected light source. A lighting condition caused by the light source in the real-world environment is reproduced on a three-dimensional (3D) model based on the determined plurality of lighting parameters. The 3D model along with 360.degree. media content that includes at least the captured 360.degree. image is rendered at the display apparatus such that the reproduced light condition is visible on the rendered 3D model. A minimum deviation is exhibited in representation of a light reflection caused by the light source on the rendered 3D model during visualization of the 3D model at the display apparatus in presence of the light source.
REFERENCE
None.
FIELD
Various embodiments of the disclosure relate to augmented reality and virtual reality technologies. More specifically, various embodiments of the disclosure relate to a display apparatus and method for digital 3D model rendering based on actual lighting conditions in a real environment.
BACKGROUND
Recent advancements in the field of computer-generated imagery (CGI) have led to rapid development of various technologies, such as augmented reality (AR) and virtual reality (VR) based technologies. Typically, a conventional media rendering apparatus, such as an AR headset, may superimpose an orthographic projection of a digital three-dimensional (3D) model into a projection (such as an image frame from a live preview) of a real-world environment, to render an AR or a VR experience to a user. In certain scenarios, a reflection of light to be displayed on a digital 3D model (e.g., a 3D computer graphic model) and shadow generation for the digital 3D model, may be preset. For example, the digital 3D model may be rendered and visualized on a display device with a fixed luminous intensity preset for a surrounding environment in which the digital 3D model is rendered. Thus, actual lighting conditions in the real-world environment may have no impact or may not be accurately represented while rendering of the digital 3D model on the display device. In such scenarios, brightness or reflections on the digital 3D model may not be commensurate with a luminous intensity of different light sources in the real-world environment. In certain other scenarios, lighting or reflection representations on the 3D model may not change with respect to changes in lighting conditions of the real-world environment. Thus, the rendered digital 3D model and the lighting or reflection representations on the 3D model may not appear realistic to viewer, which may not be desirable.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of described systems with some aspects of the present disclosure, as set forth in the remainder of the present application and with reference to the drawings.
SUMMARY
A display apparatus and method for digital 3D model rendering based on actual lighting conditions in a real environment, substantially as shown in, and/or described in connection with, at least one of the figures, as set forth more completely in the claims.
These and other features and advantages of the present disclosure may be appreciated from a review of the following detailed description of the present disclosure, along with the accompanying figures in which like reference numerals refer to like parts throughout.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram that illustrates a network environment for digital 3D model rendering based on actual lighting conditions in a real environment, in accordance with an embodiment of the disclosure.
FIG. 2 is a detailed block diagram that illustrates an exemplary image-processing apparatus for digital 3D model rendering based on actual lighting conditions in a real environment, in accordance with an embodiment of the disclosure.
FIGS. 3A, 3B, 3C, and 3D collectively illustrate a first exemplary scenario for digital 3D model rendering based on actual lighting conditions in a real environment, in accordance with an embodiment of the disclosure.
FIGS. 4A, 4B, 4C, and 4D collectively illustrate a second exemplary scenario for digital 3D model rendering based on actual lighting conditions in a real environment, in accordance with an embodiment of the disclosure.
FIG. 5 is a flowchart that illustrates exemplary operations for digital 3D model rendering based on actual lighting conditions in a real environment, in accordance with an embodiment of the disclosure.
FIGS. 6A, 6B, and 6C collectively depict a flowchart that illustrates exemplary operations for digital 3D model rendering based on actual lighting conditions in a real environment, in accordance with an embodiment of the disclosure.
DETAILED DESCRIPTION
The following described implementations may be found in the disclosed display apparatus for digital three-dimensional (3D) model rendering based on actual lighting conditions in a real environment. Exemplary aspects of the disclosure may include a display apparatus which comprises an image sensor and control circuitry. The image sensor may be configured to capture a 360.degree. image in a field-of-view (FOV) of the image sensor. The control circuitry may be configured to detect at least one light source in the captured 360.degree. image based on a plurality of luminance values in a region of the captured 360.degree. image. The detected at least one light source in the region of the captured 360.degree. image may be at least one of a natural light source or an artificial light source in a real-world environment.
In accordance with an embodiment, the control circuitry may be configured to determine a plurality of lighting parameters of the detected at least one light source in the 360.degree. image. The plurality of lighting parameters may be determined based on computation of at least a light intensity of light emitted by the detected at least one light source using a binary threshold image of the captured 360.degree. image. The control circuitry may be configured to reproduce (or imitate) a lighting condition caused by the detected at least one light source in the real-world environment, on a 3D model based on the determined plurality of lighting parameters. The control circuitry may be further configured to render the 3D model along with 360.degree. media content that includes at least the captured 360.degree. image at the display apparatus such that the reproduced light condition is visible on the rendered 3D model that is surrounded by the 360.degree. media content. The rendered 3D model may exhibit a minimum deviation in representation of a light reflection caused by the detected at least one light source on the rendered 3D model during visualization of the 3D model at the display apparatus in presence of the detected at least one light source. The captured 360.degree. image may be an equirectangular image that comprises a 360.degree. view of the real-world environment. The 3D model in the media content may be rendered in real time or near-real time at the display apparatus with ongoing capture of the 360.degree. image from the real-world environment.
In accordance with an embodiment, the display apparatus may also include an input/output (I/O) device that receives a plurality of user inputs. The control circuitry may be further configured to customize the rendered 3D model based on the received plurality of user inputs. The I/O device is further configured to receive a first user input. The first user input may include a first user-defined light intensity to change a light intensity associated with the detected at least one light source. The control circuitry may be further configured to render the 3D model in the 360.degree. media content such that the rendered 3D model in the 360.degree. media content is lit by the detected at least one light source in the first user-defined light intensity.
In accordance with an embodiment, the control circuitry may be further configured to compute a total luminance intensity of the captured 360.degree. image from a computed sum of pixel values of a plurality of pixels of the captured 360.degree. image. The control circuitry is further configured to generate a binary threshold image from the captured 360.degree. image, based on the computed total luminance intensity. At least an area, a shape, and a centroid of the region of the captured 360.degree. image may be computed. The plurality of lighting parameters may be determined based on at least the computed area, the shape, and the centroid of the region of the captured 360.degree. image.
In accordance with an embodiment, the control circuitry may be further configured to map (and convert) a spatial position of the centroid of the region that represents the detected at least one light source, to a 3D position of the at least one light source in the real-world environment using a 3D coordinate system which represents the real-world environment in a three-dimensional coordinate space. The plurality of lighting parameters may be further determined based on the 3D position of the at least one light source in the real-world environment.
In accordance with an embodiment, the control circuitry may be further configured to estimate a relative distance of the 3D model from the detected at least one light source in the real-world environment. The control circuitry may be further configured to adjust a shadow area of the rendered 3D model based on the estimated relative distance of the 3D model from the detected at least one light source. A smoothness parameter of the shadow area of the 3D model may be adjusted based on the estimated relative distance between the 3D model and the at least one light source in the real-world environment and the light intensity of the at least one light source.
In accordance with an embodiment, the control circuitry may be further configured to estimate a color of light emitted from the detected at least one light source by extraction of a color component of a plurality of pixels of the region of the captured 360 image. A plurality of regions (e.g., bright regions) may be detected in the captured 360.degree. image. The plurality of regions corresponds to a plurality of light sources in the real-world environment. The control circuitry is further configured to determine the plurality of lighting parameters for each of the plurality of light sources.
In accordance with an embodiment, the control circuitry may be further configured to generate an illumination model, a surface reflection model, and a shadow model for the 3D model based on the determined plurality of lighting parameters for each of the plurality of light sources. The generated illumination model, the surface reflection model, and the shadow model may be applied on the 3D model to reproduce the lighting condition caused by light emitted from the plurality of light sources in the real-world environment. The control circuitry may be further configured to determine a color of each of the plurality of light sources in the real-world environment based on a color component of pixels in each of the plurality of regions. The control circuitry may be further configured to dynamically change the representation of the light reflection on the rendered 3D model or a shadow of the rendered 3D model during visualization of the 3D model at the display apparatus based on a corresponding change in an actual lighting condition in the real-world environment.
FIG. 1 is a block diagram that illustrates a network environment for digital 3D model rendering based on actual lighting conditions in a real environment, in accordance with an embodiment of the disclosure. With reference to FIG. 1, there is shown a network environment 100. The network environment 100 may include a display apparatus 102 and an image sensor 104 in a real-world environment 106. There is further shown a communication network 108, a server 110, a plurality of light sources, such as a first light source 112A and a second light source 1128, and a user 114.
In accordance with an embodiment, the display apparatus 102 may be communicatively coupled to the server 110, via the communication network 108. In some embodiments, the image sensor 104 may be integrated with the display apparatus 102. In other embodiments, the display apparatus 102 may be a separate device and may not be integrated with the image sensor 104. In such scenarios, the display apparatus 102 may be present in a vicinity of the image sensor 104 and may be communicative coupled to the display apparatus 102. In some embodiments, the network environment 100 may include a display device (not shown) that may be present at a remote location different from the display apparatus 102. In such embodiments, the display device may be communicatively coupled to the server 110 or the display apparatus 102.
The display apparatus 102 may comprise suitable logic, circuitry, interfaces, and/or code that may be configured to imitate (or reproduce) a lighting condition caused by (or generated by) one or more light sources, such as the first light source 112A, in the real-world environment 106. The display apparatus 102 enables realistic and accurate representation of lighting in an actual scene, such as the real-world environment 106, on a virtual 3D object, such as the 3D model. The display apparatus 102 may comprise one or more sensors, such as a location sensor (such as a global positioning system (GPS) sensor), a gyroscope, a depth sensor, and an accelerometer. The one or more sensors may be configured to detect a location, motion, depth information, and an orientation of the display apparatus 102 in the real-world environment 106. Examples of implementation of the display apparatus 102 may include but are not limited to an augmented reality (AR) headset, a virtual reality (VR) headset, a hybrid AR/VR head mounted device, a wearable device, a hand-held device, such as a smartphone integrated with a 360.degree. camera or communicatively coupled to the 360.degree. camera, a digital camera, a tablet computer, and/or a laptop computer. In accordance with an embodiment, the display apparatus 102 may be a smart-glass device, or a projection-based display apparatus.
The image sensor 104 may comprise suitable logic, circuitry, interfaces, and/or code that may be configured to capture a plurality of 360.degree. images of the real-world environment 106. Examples of the plurality of 360.degree. images may comprise a High Dynamic Range (HDR) image, an equirectangular 360.degree. image, or a panoramic image. The image sensor 104 may be implemented by use of charge-coupled device (CCD) technology or complementary metal-oxide-semiconductor (CMOS) technology. In other embodiments, the image sensor 104 may be a fusion sensor that may capture a 360.degree. image or 360.degree. video as well as depth information. The image sensor 104 may be a 360.degree. image sensor configured to capture an equirectangular 360.degree. image of the real-world environment 106. Examples of implementations of the image sensor 104 may include, but are not limited to, a 360.degree. image sensor, a 360.degree. camera or camcorder, and a 360.degree. action camera, or other types of image sensors.
The real-world environment 106 may be an indoor environment or an outdoor environment. Examples of the real-world environment 106 may include, but are not limited to a physical space within a building (such as a brick-and-mortar showroom, an office space, an enclosed residential space, and the like), an open space (such as a beach area, a mountainous area, a valley, an area comprising a water body, and the like), a combination of the open space and built architectures (e.g., a stadium, an outdoor musical event, and the like).
The communication network 108 may include a medium through which the display apparatus 102 may communicate with the server 104. Examples of the communication network 108 may include, but are not limited to, the Internet, a cloud network, a Long Term Evolution (LTE) network, a Wireless Local Area Network (WLAN), a Local Area Network (LAN), a telephone line (POTS), and/or a Metropolitan Area Network (MAN). Various devices in the network environment 100 may be configured to connect to the communication network 108, in accordance with various wired and wireless communication protocols. Examples of such wired and wireless communication protocols may include, but are not limited to, at least one of a Transmission Control Protocol and Internet Protocol (TCP/IP), User Datagram Protocol (UDP), Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), ZigBee, EDGE, IEEE 802.11, light fidelity (Li-Fi), 802.16, IEEE 802.11s, IEEE 802.11g, multi-hop communication, wireless access point (AP), device to device communication, cellular communication protocols, or Bluetooth (BT) communication protocols, or a combination thereof.
The server 110 may comprise suitable circuitry, interfaces, and/or code that may be configured to store a plurality of three-dimensional (3D) models and a plurality of 360.degree. media content items. The server 110 may be configured to communicate with the display apparatus 102 via the communication network 108. Examples of the server 110 may include, but are not limited to, an application server, a cloud server, a web server, a database server, a file server, a gaming server, a mainframe server, or a combination thereof.
In accordance with an embodiment, the display apparatus 102 may be a head mounted device, a smart-glass device, or a wearable display device. The image sensor 104 may be a 360.degree. image sensor that may be integrated with the display apparatus 102. The display apparatus 102 may be worn by the user 114. In some embodiments, the image sensor 104 may not be integrated with the display apparatus 102. In such embodiments, the image sensor 104 may be a separate device attached to (or carried by) the user 114 and may be communicatively coupled to the display apparatus 102.
In operation, the display apparatus 102 may be configured to receive a user input to select a view mode. The view mode may be an AR view mode or a VR view mode. The AR view mode enables display of a mix of a three-dimensional (3D) virtual object, such as a 3D model, with a real-world, such as the real-world environment 106. The VR view mode enables display of the virtual object, such as the 3D model, alone devoid of a background, or enables display of a mix of virtual environment along with the 3D virtual object, such as the 3D model based on a defined user-preference. The 3D model may be 3D computer graphic (CG) model of a real-world object or a fantastical object. For example, the 3D model may be a texturized or non-texturized polygonal mesh model of a car, a motorcycle, a machine, or other real-world physical objects. Examples of the 3D model of the fantastical object, may include but are not limited to a digital alien spaceship model, a famous character (such as a comic character, a movie character, or a game character), or other texturized or non-texturized 3D polygonal mesh model of a fantastical object. The options for the view mode selection, defining user-preferences and other settings, may be done via an application interface rendered by the display apparatus 102.
The display apparatus 102 may be configured to acquire a first location of the display apparatus 102 from a location sensor of the display apparatus 102. The first location may correspond to a first set of coordinate values in a 3D coordinate system (such as a Cartesian coordinate system) of the real-world environment 106. The three-dimensional coordinate system may be a spherical coordinate system. For example, the first set of coordinate values may comprise latitude, longitude, and height information of the display apparatus 102 in the real-world environment 106.
In certain scenarios, the user 114 may intent to visualize a 3D model in a portion of the real-world environment 106 in an AR view. The user 114 may point the image sensor 104 of the display apparatus 102 towards the portion of the real-world environment 106 and select the AR mode. In case where the AR mode is selected, the display apparatus 102 may activate the image sensor 104 to capture a 360.degree. view of the real-world environment 106 surrounding the display apparatus 102. The capture of the 360.degree. view of the real-world environment 106 surrounding the display apparatus 102, may also referred to as a 360.degree. environment capture in a real-time or near-real time. The image sensor 104 may be configured to capture a plurality of 360.degree. images or at least one 360.degree. image of the real-world environment 106 from a field-of-view (FOV) of the image sensor 104. The plurality of 360.degree. images may be a sequence of equirectangular image frames, e.g., a 360.degree. video or an HDR 360.degree. video. In some embodiments, the image sensor 104 may be configured to communicate the captured plurality of 360.degree. images of the real-world environment 106 to the server 110, via the communication network 108.
In accordance with an embodiment, the captured 360.degree. image may comprise a plurality of objects of the real-world environment 106. The captured 360.degree. image may also comprise a plurality of light sources, such as the first light source 112A and the second light source 1128, in the real-world environment 106. Examples of the plurality of light sources may include an electric light (e.g. an electric lamp or other artificial lighting), a fire-based lamp, and a natural light source (e.g., a celestial body, such as the sun). In other words, each of the plurality of light sources may be one of a natural light source or an artificial light source. In certain scenarios, a reflection of one or more light sources of the plurality of light sources on one or more reflective surfaces, such as mirrors, in the real-world environment 106, may also be considered as one of the plurality of light sources. The number of light sources (of the plurality of light sources) present in the real-world environment 106 collectively represents actual lighting condition in the real-world environment 106.
In accordance with an embodiment, the display apparatus 102 may be configured to detect the plurality of light sources, such as the first light source 112A and the second light source 1128, in the captured 360.degree. image. The plurality of light sources may appear as bright spots or bright regions in the captured 360.degree. image. The plurality of light sources may be detected based on a plurality of luminance values in each region of a plurality of regions (e.g., bright regions) of the captured 360.degree. image. For example, the first light source 112A may be detected in a first region of the captured 360.degree. image. The plurality of luminance values for the first region may correspond to pixel values of a first set of pixels in the first region of the captured 360.degree. image. The display apparatus 102 may be configured to recognize the plurality of light sources based on shape of the bright spots or bright regions in the captured 360.degree. image. The detection of the plurality of light sources in the captured 360.degree. image is explained in detail, for example, in FIG. 2.
In accordance with an embodiment, the display apparatus 102 may be configured to determine a plurality of lighting parameters of each of the plurality of light sources, such as the first light source 112A and the second light source 1128. The plurality of lighting parameters may include a shape, a size, a light intensity, a light position, and a color of each detected light source of the plurality of light sources. The determined plurality of lighting parameters may correspond to a lighting condition that is created by light emitted by the plurality of light sources in the real-world environment 106. The plurality of lighting parameters may be determined based on a luminance-based feature extraction and/or a shape-based pattern recognition, which has been explained in detail, for example, in FIG. 2.
In accordance with an embodiment, the display apparatus 102 may be configured to generate an illumination model, a surface reflection model, and a shadow model for the 3D model, based on the determined plurality of lighting parameters of each of the plurality of light sources, such as the first light source 112A and the second light source 112B. The generated illumination model, the surface reflection model, and the shadow model of the 3D model may correspond to the lighting condition from the viewpoint of the image sensor 104 at the first location. The generation of the illumination model, the surface reflection model, and the shadow model for the 3D model is explained in detail, for example, in FIG. 2.
In accordance with an embodiment, the generated illumination model may be a model that mimics the light emitted by the plurality of light sources and its effect on the 3D model. The illumination model may comprise lighting information related to how the plurality of lighting parameters, such as the shape, the size, the light intensity, the light position, and the color, may be used to model an overall lighting condition from the viewpoint of the image sensor 104 at the first location. For example, in the illumination model, what type of light beam may be emitted from the detected light source may be estimated and modeled based on the determined plurality of lighting parameters. Examples of the type of light beam may include, but are not limited to spot light, cylindrical light, a ring-shaped emitted light, a diffused light, color of light beam, an effect of a mixing different types of visible light, and the like.
In accordance with an embodiment, the generated surface reflection model may indicate a way the light emitted by the first light source 112 may be reflected from a plurality of surfaces of the 3D model. The surface reflection model may be a model that estimates what may be a pattern of reflection on the plurality of surfaces of a 3D virtual object (such as the 3D model) at the first location. The estimated pattern of reflection on the plurality of surfaces of the 3D virtual object (such as the 3D model) at the first location when presented and visualized at the display apparatus 102 may mimic as if a real object (same as the 3D model, e.g., a car) is placed at the first location and actual reflections are visible on different surfaces of the real object to the user 114 at the first location.
In accordance with an embodiment, the generated shadow model may model one or more shadow areas that indicates a shadow of the 3D model in a case where the 3D model is visualized in the real-world environment 106 in the AR mode, using the display apparatus 102. The one or more shadow areas may be generated for the 3D model by mimicking a likely effect of the light emitted by the plurality of light sources on the 3D model visualized by the user 114 by the display apparatus 102 at the first location in the real-world environment 106. Thus, the generated one or more shadow areas depends on the actual lighting condition and the light position of each of the plurality of light sources in the real-world environment 106.
In accordance with an embodiment, the display apparatus 102 may be configured to apply the generated illumination model, the surface reflection model, and the shadow model on the 3D model. The display apparatus 102 may be configured to imitate (or reproduce) the lighting condition caused by (or generated by) the plurality of light sources, such as the first light source 112A and the second light source 1128, in the real-world environment 106 by application of the illumination model, the surface reflection model, and the shadow model on the 3D model. The display apparatus 102 may be configured to render the 3D model based on the generated illumination model, the generated surface reflection model, and the generated shadow model. In accordance with an embodiment, the display apparatus 102 may be configured to render the 3D model in media content for a mixed visualization by the user 114. In the AR mode, the media content may be a 360.degree. live preview of the captured scene of the real-world environment 106. Alternatively stated, the display apparatus 102 provides the ability to visualize a virtual object, such as the 3D model, in a real environment (e.g., the real-world environment 106), where each physical object or virtual object in the captured scene of the real-world environment 106 is illuminated by 360.degree. environment light. This enables virtual graphics, such as the rendered 3D models, to represent the real-world lighting effect of a real-world scene captured by the image sensor 104 (i.e., a 360.degree. camera).
In a case where the 3D model is rendered prior to the application of the illumination model, the generated surface reflection model, and the generated shadow model, the lighting, shadow or reflection on the 3D model may appear artificial and in accordance to preset lighting set for the rendered scene. After application of the generated surface reflection model, and the generated shadow model, the 3D model may exhibit a minimal appearance bias in visualization of the 3D model in presence of the detected plurality of light sources, such as the first light source 112A and the second light source 1128. Alternatively stated, lighting, reflection, and shadow reproduced and displayed on the 3D model (e.g., a 3D model of car) may mimic the lighting, the reflection, and shadow visible on a corresponding real object (e.g., a physical car) if placed under the lighting condition generated by the detected plurality of light sources in the real-world environment 106.
In accordance with an embodiment, the user 114 who may be wearing the display apparatus 104 (e.g., the HMD device) may move to a second location from the first location in the real-world environment 106. The display apparatus 102 then may be further configured to update a current location of the display apparatus 102 (and the user 114 to the second location. The location may be updated based on sensor data received from the location sensor of the display apparatus 102. In some embodiments, an indoor positioning system may be used in cases where weak location signals are received from the location sensor. The second location may correspond to a second set of coordinate values in the 3D coordinate system (such as a Cartesian coordinate system) of the real-world environment 106. Similar to the operations at the first location, the display apparatus 102 may further capture a 360.degree. view of the real-world environment 106 in real time or near-real time surrounding the display apparatus 102 at the second location. Thereafter, a plurality of new lighting parameters based on the captured 360.degree. view (e.g., a new 360.degree. image) may be further determined from the viewpoint of the image sensor 104 at the second location.
In accordance with an embodiment, the display apparatus 102 may be configured to update the generated illumination model, the surface reflection model, and the shadow model for the second location. The display apparatus 102 may be configured to further reproduce (or imitate) the lighting condition generated by the plurality of light sources, such as the first light source 112A and the second light source 1128, in the real-world environment 106 by application of the updated illumination model, the surface reflection model, and the shadow model on the 3D model. The display apparatus 102 may be configured to re-render the 3D model based on the updated illumination model, the surface reflection model, and the shadow model that are applied on the 3D model.
In some embodiments, the display apparatus 102 may be configured to receive one or more user inputs. The one or more user inputs, from example, from the user 114, may be a voice-based input, a text-based input, or a gesture-based input. The one or more inputs may comprise user preferences of a user, such as the user 114, to customize the 3D model. The customization, for example, may be specific for a specific 3D model. For example, if the 3D model is a 3D CG car model, then the user 114 may provide an input to open a door of a car, change car model, rotate the car, visualize the interior of the 3D model, zoom out or zoom in certain portions of the 3D model, change seats, or perform customizations of the 3D model as per choice. Similarly, if the 3D model is a textured 3D CG refrigerator model, then the allowed customization provides an enhanced user experience that is similar to what a user, such as the user 114, may do in real-world (or physical checking) visualization and physical interaction with a real object. For example, the user 114 may visualize a different model or change color of 3D model, and the like. The display apparatus 102 may be configured to modify the generated illumination model, surface reflection model, and shadow model of the 3D model in accordance with the received one or more user inputs for the customization. In such cases, the display apparatus 102 may be configured to re-render the customized 3D model with modified illumination model, surface reflection model, and shadow model at the display apparatus 102 such that the customized 3D model that is rendered exhibits a minimum deviation (or appearance bias) in visualization of the customized 3D model in presence of the detected plurality of light sources, such as first light source 112A and the second light source 112B.
In some embodiments, the display apparatus 102 may be configured to receive a user input to control light intensity to visualize the rendered 3D model in different lighting conditions. The display apparatus 102 may be configured to provide an option (e.g., a UI control) to allow a user, such as the user 118, to change light intensity as per the user’s preference. The different lighting conditions discussed above may be different from the lighting condition in the real-world environment 106. For example, in a first lighting condition, the first light source 112A may have a first user-defined light intensity. The display apparatus 102 may be configured to modify the illumination model, the shadow model, and the surface reflection model such that a light intensity of the first light source 112A is equal to the first user-defined light intensity. The display apparatus 102 may be configured to update the lighting and reflection on the 3D model based on the modified illumination model, surface reflection model of the 3D model in the real-world environment 106. Similarly, one or more shadow areas that mimic a shadow of the 3D model may also be updated based on the modified shadow model based on the changed light intensity. For example, if the light intensity is reduced, the shadow may dynamically change from a hard shadow to a soft shadow. The hard shadow and the soft shadow may be generated based on a change in brightness values assigned to pixels (or voxels in case of 3D model) in shadow areas of the 3D model with respect to a threshold value.
In accordance with an embodiment, the display apparatus 102 may be configured to dynamically update the lighting and/or reflection rendered on the 3D model in case there is a change in the lighting condition in the real-world environment 106. Similarly, a shadow of 3D model may also be automatically updated based on the change in the lighting condition in the real-world environment 106. For example, a new light source, such as an electric torch, may be shone by the user 118 in the real-world environment 106. In such cases, as the image sensor 104 captures 360.degree. video of the real-world environment 106 in real time or near real time, the display apparatus 102 may be configured to detect the new light source and compute the plurality of lighting parameters for the new light source. In some embodiments, the display apparatus 102 may be configured to track the plurality of lighting parameters of the new light source, such as the electric torch, in each image frame of the captured 360.degree. video. The display apparatus 102 may be configured to dynamically modify the illumination model, the surface reflection model, and the shadow model applied the 3D model based on the tracked plurality of lighting parameters of the new light source. Alternatively stated, the display apparatus 102 may be configured to imitate (or reproduce) a dynamically changing lighting condition and accordingly lighting or a reflection of such new light emitted from the new light source may be visible on the 3D model during visualization of the 3D model using the display apparatus 102.
In accordance with an embodiment, the display apparatus 102 may be configured to receive a user input via the application interface rendered at the display apparatus 102, to select the VR view mode instead of the AR view mode. In the VR mode, in case an option to present the 3D model alone devoid of a background, is selected, the display apparatus 102 may remove the display of the 360.degree. video surrounding the 3D model at the display apparatus 102. Further, in the VR mode, an option to present the 3D model within a user-selected virtual environment, may be opted at the display apparatus 102. In such a case, a 360.degree. media content that is different from the 360.degree. video of the captured real-world environment 105, may be presented at the display apparatus 102. Further, the 3D model may be visualized within the 360.degree. media content (a virtual environment). In this case, the display apparatus 102 may be configured to determine the plurality of lighting parameters based on brightness of the rendered 360.degree. media content, and accordingly update the lighting and/or reflection rendered on the 3D model to imitate the lighting condition of the rendered 360.degree. media content (i.e., the rendered virtual environment).
FIG. 2 is a detailed block diagram that illustrates a display apparatus for digital 3D model rendering based on changes in actual lighting conditions in a real environment, in accordance with an embodiment of the disclosure. FIG. 2 is explained in conjunction with elements from FIG. 1. With reference to FIG. 2, the display apparatus 102 comprises a control circuitry 202 that includes a processor 204, a learning engine 206, and an adaptive digital model generator 208. The display apparatus 102 further comprises a memory 210, a transceiver 212, and an input/output (I/O device) 214.
The processor 204 may comprise suitable logic, circuitry, interfaces, and/or code that may be configured to execute a set of instructions stored in the memory 210. The processor 204 may be configured to generate the illumination model, the surface reflection model, and the shadow model of the 3D model. The processor 204 may be configured to determine the plurality of lighting parameters of the plurality of light sources, such as the first light source 112A and the second light source 1128, in the captured 360.degree. image. Examples of the processor 204 may include an Application-Specific Integrated Circuit (ASIC) processor, a Complex Instruction Set Computing (CISC) processor, and/or other hardware processors.
The learning engine 206 may comprise suitable logic, circuitry, interfaces, and/or code that may be configured to learn a plurality of different shapes of light sources, such as the plurality of light sources, in the captured 360.degree. image. The learning engine 206 may be configured to recognize the plurality of different shapes of light sources. in the captured 360.degree. image. Examples of implementations of the learning engine 206 may be a machine learning (ML) engine, a supervised or a non-supervised artificial intelligence (AI) engine, a rule engine, a support vector machine (SVM), or a neural network-based circuit.
The adaptive digital model modifier 208 may be further configured to generate the illumination model, the surface reflection model, and the shadow of the 3D model based on the determined plurality of lighting parameters of the plurality of light sources. In some embodiments, the adaptive digital model modifier 208 may also include a shader. The shader may be configured to generate the shadow model. In some embodiments, the functionalities of the shader may be implemented in the adaptive digital model modifier 208. Examples of implementations of the adaptive digital model modifier 208 may be a specialized processor, such as Application-Specific Integrated Circuit (ASIC) processor, a Graphics Processing Unit (GPU), a Reduced Instruction Set Computing (RISC) processor, a Complex Instruction Set Computing (CISC) processor, a microcontroller, a central processing unit (CPU), and/or other control circuits.
The memory 210 may comprise suitable logic, circuitry, and/or interfaces that may be configured to store a set of instructions executable by the processor 204, the learning engine 206, and the dynamic digital model generator 208. The memory 204 may be configured to store the plurality of 360.degree. images or 360.degree. video captured by the image sensor 104. The memory 204 may be configured to store a plurality of 3D models. The plurality of 3D models may be textured and rigged 3D models. Examples of implementation of the memory 204 may include, but are not limited to, Random Access Memory (RAM), Read Only Memory (ROM), Hard Disk Drive (HDD), and/or a Secure Digital (SD) card.
The transceiver 212 may comprise suitable logic, circuitry, interfaces, and/or code that may be configured to communicate the captured plurality of 360.degree. images or the 360.degree. video from the image sensor 104 to the display apparatus 102, via the communication network 108. The transceiver 212 may implement known technologies to support wired or wireless communication with the communication network 110. The transceiver 212 may include, but is not limited to, an antenna, a frequency modulation (FM) transceiver, a radio frequency (RF) transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a coder-decoder (CODEC) chipset, a subscriber identity module (SIM) card, and/or a local buffer. The transceiver 212 may communicate via wireless communication with networks, such as the Internet, an Intranet and/or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and/or a metropolitan area network (MAN). The wireless communication may use any of a plurality of communication standards, protocols and technologies, such as Long Term Evolution (LTE), Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), wideband code division multiple access (W-CDMA), code division multiple access (CDMA), time division multiple access (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (e.120 g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g and/or IEEE 802.11n), voice over Internet Protocol (VoIP), Wi-MAX, a protocol for email, instant messaging, and/or Short Message Service (SMS).
The I/O device 214 may comprise suitable logic, circuitry, interfaces, and/or code that may be configured to receive one or more inputs from a user, such as the user 114. The I/O device 214 may comprise various input and output (a display) controls or devices that may be configured to receive input and provide output to the user 114. In cases where the I/O device 214 is a separate device or control, the input, or output signal may be communicated by the I/O device 214 to the display apparatus 102 or the server 110. Examples of the input devices may include, but not limited to, a touch screen, a keyboard, a mouse, a joystick, a microphone, and/or the image sensor 104 (FIG. 1). Examples of the output devices may include, but not limited to, a display screen (such as a smart-glass display, a projector screen, an optical HMD, a HMD display, Liquid Crystal Display (LCD), or a Light Emitting Diode (LED) display) and/or a speaker. The application interface may be rendered on the display screen.
The control circuitry 202 may be configured to execute a sequence of image processing operations for determination (or extraction) of the plurality of lighting parameters from the captured 360.degree. image. The processor 204 of the control circuitry 202 may be configured to compute a total luminance intensity of the captured 360.degree. image based on a plurality of pixel values of the captured 360.degree. image. The total luminance intensity of the captured 360.degree. image may be equal to a computed sum of the plurality of pixel values of the captured 360.degree. image. The plurality of pixel values of the captured 360.degree. image corresponds to all pixel values of the captured 360.degree. image. Further, the processor 204 may be configured to compute an average luminance of the captured 360.degree. image based on a width of the captured 360.degree. image, and a height of the captured 360.degree. image. For example, the width of the captured 360.degree. image may be equal to a first number of pixels in each row of the captured 360.degree. image. The height of the captured 360.degree. image may be equal to a second number of pixels in each column of the captured 360.degree. image. The average luminance of the captured 360.degree. image may be equal to a quotient of a division operation between the computed total luminance intensity and a computed product of the width and the height of the captured 360.degree. image. The average luminance of the captured 360 image may be represented, for example, by equation (1).
.times..times..times..times..times..times..times..times..times..times..ti- mes..times..times..degree..times..times..times..times..times..times..times- ..times..times..times..degree..times..times. ##EQU00001##
In accordance with an embodiment, the processor 204 may be configured to compute an input luminance threshold based on the average luminance of the captured 360.degree. image and a maximum value (e.g., 255 for a 8-bit grayscale image) of a range of grayscale values (0 to 255, where “0” indicates black and “255” indicates “white”). The input luminance threshold of the captured 360.degree. image may be represented, for example, by equation (2).
.times..times..times..times..times..times. ##EQU00002##
In accordance with an embodiment, the processor 204 may be configured to generate a binary threshold image based on the input luminance threshold. The binary threshold image may comprise a plurality of regions (of the captured 360.degree. image), each of which may have a plurality of luminance values which are greater than the input luminance threshold. The plurality of light sources may appear as bright spots or bright regions in the captured 360.degree. image. The plurality of regions (i.e. bright regions) of the captured 360.degree. image may correspond to the plurality of light sources in the real-world environment 106. The processor 204 may be configured to detect a first region from the plurality of regions in the captured 360.degree. image. The first region may correspond to the first light source 112A in the real-world environment 106. The processor 204 may be configured to detect the first light source 112A in the real-world environment 106, based on the plurality of luminance values of the plurality of pixels in the first region of the captured 360.degree. image. Similarly, the processor 204 may be configured to detect a second region from the plurality of regions in the captured 360.degree. image. The second region from the plurality of regions in the captured 360.degree. image may include a plurality of luminance values greater than the input luminance threshold.
In accordance with an embodiment, the processor 204 may be configured to determine the plurality of lighting parameters by the luminance-based feature extraction and the shape-based pattern recognition of the detected first light source 112A in the generated binary threshold image. In other embodiments, the control circuitry 202 may be configured to determine the plurality of lighting parameters by the luminance-based feature extraction and the shape-based pattern recognition of the detected first light source 112A in the captured 360.degree. image.
* Luminance-Based Feature Extraction*
In accordance with an embodiment, the processor 204 may be configured to determine the plurality of lighting parameters of the first light source 112A based on the plurality of luminance values of the first region of the captured 360.degree. image. For example, the processor 204 may be configured to compute an average of the plurality of luminance values of the first region of the captured 360.degree. image. The processor 204 may be configured to compare the computed average of the plurality of luminance values with a plurality of luminance threshold. Each of the plurality of luminance thresholds may correspond to a luminance range of a different type of light source in a plurality of types of light sources. Examples of the plurality of types of light sources may include a candle, a tube light, a bonfire, the sun, and the moon. For example, a first luminance threshold and a second luminance threshold of the plurality of luminance thresholds may correspond to a first luminance range associated with the candle.
In accordance with an embodiment, the processor 204 may be configured to identify the first light source 112A based on the comparison of the computed average of the plurality of luminance values with the plurality of luminance thresholds. In the case where the average of the plurality of luminance values of the first region is between the first luminance threshold and the second luminance threshold, then the processor 204 may be configured to identify the first light source 112A to be the candle. The processor 204 may be configured to determine the plurality of luminance parameters for the first light source 112A based on the identification of the first light source 112A by use of the learning engine 206 or a plurality of machine learning algorithms stored in the memory 210 and/or the server 110. Similarly, other types of light sources, such as the second light source 112A may be identified based on the plurality of luminance thresholds. In some cases, the comparison of the computed average of the plurality of luminance values with the plurality of luminance thresholds, may not identify the plurality of regions in the captured 360.degree. image (or 360.degree. video) with cent percent certainty. For example, when the computed average of the plurality of luminance values of two different light sources is similar or light intensity changes in real time or near real time because of voltage fluctuations, the comparison of the computed average of the plurality of luminance values with the plurality of luminance thresholds may not identify the plurality of region.