Three dimensional display using electromagnetic field calculations
Electromagnetic field calculations in 3D displays overcome the limitations of traditional technologies by enabling simultaneous multi-viewer, high-quality 3D image generation without wearable devices, using methods compatible with existing 3D content creation tools.
Patent Information
- Application Number
- JP2025202077
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2018-01-16
- Filing Date
- 2025-11-21
- Publication Date
- 2026-02-25
AI Technical Summary
Existing 3D display technologies require cumbersome wearable devices like 3D glasses, are limited by tracking mechanisms, have long processing times, and struggle to display objects to multiple viewers simultaneously while maintaining image quality.
Utilizes electromagnetic field calculations to generate 3D images without the need for wearable devices, allowing simultaneous viewing by multiple observers and maintaining high image quality, using methods that are compatible with traditional 3D content creation tools.
Enables the creation of true 3D images in full color that can be viewed by multiple viewers simultaneously without the need for tracking mechanisms, while maintaining high image quality and processing efficiency.
Smart Images

Figure 2026032106000001_ABST
Abstract
Description
[Technical Field]
[0001] (Incorporated by reference) This application was filed on January 16, 2018 under 35 U.S.C. § 119. U.S. Patent Application Publication No. 62 / 618,054 "Three-Dimensional Displays Using Elect Priority is claimed to "Romagnetic Field Computations," the entire contents of which are incorporated by reference. and is incorporated herein by reference.
[0002] This disclosure relates to three-dimensional (3D) displays, and more particularly relates to 3D displays using computational techniques. [Background technology]
[0003] Advances in traditional two-dimensional (2D) projection and 3D rendering Head and eye tracking are used in virtual reality (VR) and augmented reality (AR). reality, and conventional display devices for mixed reality (MR). It brings new methods of 3D display, including a number of hybrid methods that mix These techniques are based on the stereoscopic images that can be represented by real holograms or light illumination in the eye. To simulate the firing field, holograms are used in combination with tracking and measurement-based calculations. It attempts to recreate the experience of visual images. Summary of the Invention
[0004] This disclosure describes a method for using electromagnetic (EM) field calculations in three-dimensional (3D) displays. Methods, apparatus, devices and systems for using the same are described.
[0005] The present disclosure provides techniques that can overcome limitations present in known techniques. The technology disclosed in the specification does not require the use of cumbersome wearable devices such as "3D glasses." As another example, the techniques disclosed herein may be implemented without requiring the accuracy of the tracking mechanism. , the quality of the display device, relatively long processing times, and / or relatively high and / or the ability to display objects to multiple viewers simultaneously. As yet another example, the present invention may be implemented in various ways, without being limited by the inability to This technology is compatible with the tools and software used in traditional 3D content creation. Use specialized tools and software to develop content that extends beyond the Various embodiments may exhibit one or more of the aforementioned advantages. For example, certain implementations of the present disclosure may be used to create 3D objects that look like real-world objects. Real-time video that can be viewed by multiple viewers simultaneously from different locations without interference It can generate true 3D images in full color.
[0006] One aspect of the present disclosure is a method for creating a plurality of primitives corresponding to an object in three-dimensional (3D) space. For each, the electromagnetic (EM) field contribution to each of the display's multiple elements is calculated in 3D coordinates Determine by calculating the propagation of the EM field from the primitives to the elements in the system. , for each of the plurality of elements, generate a sum of the EM field contributions to the element from the plurality of primitives. and forming a
[0007] The EM field contribution can include at least one of a phase contribution or an amplitude contribution. A primitive can be a point primitive, a line primitive, or a polygon primitive. A primitive can contain at least one of the following: gradient color, texture Contains line primitives that contain at least one of the following: brown, or any surface shading effect. Primitives can be filled with gradient colors, texture colors, or any surface. The polygon primitives may also include at least one of the following shading effects: The primitives in may be indexed in a particular order.
[0008] In some implementations, the method includes obtaining each primitive data for each of the plurality of primitives. The method further includes obtaining the primitive data for each of the plurality of primitives. The EM field contribution determined for each of the elements can include color information for each of the elements, Contains information corresponding to each color information of the primitive. Color information can be a texture color or a gradient. Each primitive of each of the plurality of primitives may include at least one of the following colors: The primitive data can include texture information for the primitive. Each primitive data for each of the primitives is a shading on one or more surfaces of the primitive. Shading information can include color or shadow information on one or more surfaces of a primitive. may include modulation for at least one of the brightnesses.
[0009] In some implementations, the primitive data for each of the multiple primitives is expressed in a 3D coordinate system. Each coordinate information of each of the plurality of elements in the 3D coordinate system is The coordinates of the primitives in the 3D coordinate system can be determined based on the coordinate information of each of the primitives. Each piece of coordinate information can correspond to a logical memory address of an element stored in memory.
[0010] For each of the plurality of primitives, determining the EM field contribution to each of the plurality of elements. is defined as the coordinate information of each element and each primitive in the 3D coordinate system. This can include determining at least one distance between the element and the primitive. In some examples, for each of a plurality of primitives, an EM field contribution to each of a plurality of elements Determining the coordinate information of the first primitive and the coordinate information of the first element is performed based on the coordinate information of the first primitive and the coordinate information of the first element. Based on this, a first primitive among the plurality of primitives and a first element among the plurality of elements determining a first distance between the first element and the second element; and a second distance between the first primitive and a second element of the plurality of elements based on the distance between the first primitive and the second element of the plurality of elements; and determining a distance between the first element and the second element. The pitch of the plurality of elements may be predetermined.
[0011] In some examples, at least one of the plurality of primitives has first and second endpoints and determining at least one distance between the element and the primitive. determining a first distance between the element and a first endpoint of the line primitive; and determining a second distance between the element and a second point of the line primitive. In the case of a primitive, at least one of the primitives has the first, second, and third endpoints A triangle primitive containing the element and determining at least one distance between the element and the primitive. determining a first distance between the element and a first endpoint of the triangle primitive; determining a second distance between the element and a second point of the triangle primitive; and and a third point of the triangle primitive.
[0012] In some implementations, for each of a plurality of primitives, Determining the contribution is based on a predetermined distance for the primitive and at least one distance. This involves determining the EM field contribution from the primitive to the element based on the formula Therefore, a predetermined formula is used to analytically calculate the propagation of the EM field from the primitive to the element. In some cases, the predetermined formula is The equations are determined by solving the equations. Maxwell's equations are defined on the surface of the display. The boundary conditions can be solved by providing defined boundary conditions. or Cauchy boundary conditions. It can exist in a 3D space, and the surface of the display forms part of the boundary of the 3D space. In some cases, the predetermined formula can be a sine function, a cosine function, or and at least one of a function including an exponential function and a function including an exponential function, and determining the contribution of the EM field. identifying at least one value of the function in a table stored in memory, nothing.
[0013] In some implementations, for each of a plurality of primitives, determining the contribution of the plurality of elements and generating a sum of the field contributions for each of the plurality of elements; determining a first EM field contribution from the emissive to a first element of the plurality of elements; summing the first EM field contributions to the children and determining a contribution of the second EM field to the second element; and summing the contributions of the first EM field from the plurality of primitives to the first element. Determining the assignment includes determining the assignment from a second primitive of the plurality of primitives to the first element. In parallel with determining the EM field contribution of the first primitive of the plurality of primitives, The method can include determining an EM field contribution from the filter to the first element.
[0014] In some implementations, for each of a plurality of primitives, Determining the contribution includes determining the contribution from a first primitive of the plurality of primitives to a plurality of elements. determining a contribution of each first EM field to each of the plurality of primitives; determining a second respective EM field contribution from the primitive to each of the plurality of elements; Generating a sum of the field contributions for each of the plurality of elements includes dividing each second EM field contribution by: By adding to the first each EM field contribution to the element, the EM field contribution to the element The first primitive may include accumulating a first Determining the contribution of each EM field from the second primitive to each of the plurality of elements This can be done in parallel with determining the contribution of each EM field of
[0015] For each of the plurality of primitives, determining the EM field contribution to each of the plurality of elements. is a second EM field from a second primitive of the plurality of primitives to the first element. In parallel with determining the contribution of the first primitive of the plurality of primitives, determining a contribution of the first EM field to a first element of the number of elements. .
[0016] In some implementations, the method comprises: for each of a plurality of elements, deriving an element from a plurality of primitives; generating each control signal based on a sum of the EM field contributions to the element; The signal is based on the sum of the EM field contributions from multiple primitives to the element, and The element also exists to modulate one property. At least one property of the element is a refractive index, an amplitude Each control signal can include at least one of an index of refraction, a birefringence, or a phase difference. , electrical signals, optical signals, magnetic signals, or acoustic signals. This method multiplies the sum of the field contributions for each of the elements by a scale factor to obtain the sum of the field contributions. and obtaining a scaled sum, wherein each control signal is a sum of the field values for the element. The method is based on the sum of the scaled contributions. and normalizing the sum of the field contributions for each of the elements, wherein each control signal is This method is based on the normalized sum of the field contributions of the respective control signals sent to the elements. It can also include the following.
[0017] In some implementations, the method further includes transmitting a control signal to the light emitter, the control The control signal indicates that the light emitters should be turned on so that they emit light on the display. The control signal determines the completion of obtaining the sum of the field contributions for each of the plurality of elements. The display's modulation elements propagate light in different directions, It is possible to create a volumetric light field corresponding to an object in D-space. The volumetric light field is a macroscopic field with boundary conditions defined by the modulator elements of the display. The light can include white light, and the display can The rays may be configured to diffract white light into light having different colors.
[0018] In some implementations, this method further involves using a fixed-point representation to represent values during calculations. Each of the values can be expressed as an integer with an implicit scale factor.
[0019] In some implementations, this method further involves performing mathematical functions using fixed-point representations. The mathematical functions may include at least one of sine, cosine, and arctangent. Performing the mathematical function can include receiving an expression in a first fixed-point format; and in a second fixed-point format having a different level of precision than the precision of the first fixed-point format. Executing the mathematical function may include outputting a value. This may involve searching a table, which may be a fully enumerated lookup table. Semi-tables based on polynomial functions, interpolated tables, and full semi-tables Contains at least one semitable based on Nimax polynomials. Performs mathematical functions. Performing a mathematical function can include applying special range reductions to the input. This converts trigonometric calculations in the range [-π,π] to signed two's complement numbers in the range [-1,1]. This may include converting the representation into
[0020] Another aspect of the present disclosure is to provide a method for generating a plurality of primitives corresponding to an object in three-dimensional (3D) space. Obtaining primitive data and a first primitive of the plurality of primitives calculating a contribution of each first electromagnetic (EM) field to each of a plurality of elements of the display from and a second primitive of the plurality of primitives to each of the plurality of elements of the display. and calculating the contribution of each second EM field to each of the first primitives. Calculating the contribution of each first EM field from a primitive is equivalent to calculating the contribution of each second EM field from a second primitive. This is at least partially parallel to calculating the EM field contribution.
[0021] In some implementations, a first E from a first primitive to a first element of a plurality of elements Calculating the M field contribution is calculated from the second primitive of the plurality of primitives to the first primitive. This method is parallel to calculating the contribution of the second EM field to the element. Calculating a respective EM field contribution from each of the actives to each of the plurality of elements. The calculation of each EM field contribution involves expanding the object geometry to multiple elements and summarizing the wavefronts. Applying visibility tests before execution and deciding between parallel computations on different primitives At least one of the following may be omitted: Computation is the process of parallelizing different primitives in a speed-, cost-, size-, or energy-optimized manner. You can adjust it to your needs, start drawing, and wait until you're ready to see the results. Save time, improve accuracy by using fixed-point representation, and simplify mathematical functions. Optimizing the calculation speed by optimizing the It can be configured so that
[0022] In some implementations, this method further involves using a fixed-point representation to represent values during calculations. Representing values using fixed-point representation allows for non-integer integers due to gradual underflow. Handling large floating-point numbers and NaN results from operations involving division by zero, and floating-point Changing the rounding mode and raising floating-point exceptions to the operating system At least one of the above may not be used.
[0023] In some implementations, the method includes, for each of the plurality of elements, determining a second respective EM The E Further comprising accumulating the M field contributions.
[0024] In some implementations, the method comprises: for each of a plurality of elements, deriving an element from a plurality of primitives; generating each control signal based on a sum of the EM field contributions to the element; The signal is based on the sum of the EM field contributions from multiple primitives to the element, and also exists to modulate one characteristic.
[0025] In some implementations, this method involves reconstructing the first primitive before reconstructing the second primitive. The second primitive is adjacent to the first primitive by a predetermined factor so that it does not overlap the construction. The method further includes changing the size of the first primitive by this predetermined factor. may be determined based at least in part on the resolution of the display. obtaining respective primitive data for each of a plurality of primitives, Each primitive data of each primitive contains coordinate information of each primitive in the 3D coordinate system. and based on each coordinate information of the first primitive and a predetermined coefficient, determining new coordinate information for each of the first primitives. The method calculates a new coordinate from the first primitive based on each new coordinate information of the first primitive. The method can further include determining the EM field contribution to each of the plurality of elements from the plurality of elements. The method further comprises: resizing the second primitive by a predetermined factor; The first primitive and the second primitive may further include a common portion. It can be shared, and resizing the first primitive Resizing the intersection of the first primitive and the second primitive. may include resizing the first primitive in a predetermined direction. can.
[0026] Another aspect of the present disclosure is a method for generating a plurality of primitives corresponding to an object in three-dimensional (3D) space. obtaining primitive data and dividing each primitive data into a first primitive and a second primitive; is used on the second primitive to separate adjacent primitives by a predetermined factor. Resizing the first primitive that touches it and then resizing the second primitive based on the results of the resizing. and updating each primitive data of the first primitive.
[0027] In some implementations, the primitive data for each of the multiple primitives is expressed in a 3D coordinate system. The first primitive includes coordinate information of each primitive, and updating each primitive data is A new value of the first primitive is calculated based on the coordinate information of the first primitive and a predetermined coefficient. This includes determining each new coordinate information.
[0028] In some implementations, predetermined coefficients are used to calculate the reconstruction of the first primitive in 3D space. is determined so that it does not overlap the reconstruction of the second primitive.
[0029] Some implementations use the reconstruction of the first primitive in 3D space and the reconstruction of the second primitive. A gap between the constructions separates the first and second primitives to minimize overlap effects. large enough to limit the number of overlaps and large enough to make the reconstruction appear seamless. Resizing is performed to make it smaller.
[0030] In some implementations, the predetermined coefficients are at least partially determined by the resolution of the display. is determined based on the
[0031] In some implementations, the method returns updated primitive data for the first primitive. Further comprising storing in a buffer.
[0032] In some implementations, to obtain the primitive data for each of the multiple primitives, Resizing is performed during the rendering process.
[0033] In some implementations, this method returns updated primitive data for multiple primitives. and transmitting the plurality of primitives to a controller, the controller Displaying from each of the plurality of primitives based on the updated primitive data. The method is configured to determine the contribution of each electromagnetic (EM) field to each of the plurality of elements.
[0034] In some implementations, the method includes: Based on this, the EM field contribution from the first primitive to each of the plurality of elements of the display is calculated. The method further includes determining:
[0035] In some implementations, the method scales the magnitude of the second primitive by a predetermined factor. The method further includes changing the size.
[0036] In some implementations, the first primitive and the second primitive share a common portion. , changing the size of the first primitive is This includes changing the length.
[0037] In some implementations, resizing the first primitive is done in a predetermined manner. This includes resizing the first primitive in the direction of the arrow.
[0038] In some implementations, resizing the first primitive involves a first predetermined Resizing a first portion of a first primitive by a factor determined by the second primitive. Resizing the second portion of the second primitive by a previously determined factor. wherein the first predetermined coefficient is different from the second predetermined coefficient.
[0039] Another aspect of the present disclosure is a method for creating a collection of primitives corresponding to objects in three-dimensional (3D) space. Multiple discrete cosine transforms of an image mapped to a specified surface of a particular primitive (DCT: Discrete Cosine Transform) weights are obtained and multiple DCT operations of the image are performed. By considering the effect of weight, it is possible to estimate the effect of a particular primitive on multiple elements of the display. and determining the contribution of each EM field to each of the plurality of EM fields.
[0040] In some implementations, this method maps to a specified surface of a particular primitive. determining the resolution of the image to be processed and determining a plurality of DCT weights for the image based on this resolution; and
[0041] In some implementations, this method decodes the DCT weights of the image to obtain the Further comprising obtaining each DCT amplitude.
[0042] In some implementations, the method calculates the value associated with each DCT amplitude of the pixels of the image by and storing the EM field along with the primitive data for the particular primitive. Determining the contribution of is done using the values associated with each DCT amplitude of the pixels of the image. Calculating each EM field contribution from a particular primitive to each of a plurality of elements. This can be done.
[0043] In some implementations, the method selects the specific DCT terms that are included in determining the contribution of each EM field. and selecting a first DCT term from the first DCT term, each of which has a magnitude greater than a predetermined threshold. Each DCT weight is included.
[0044] Another aspect of the present disclosure is to provide information about a particular primitive and the occluders of the particular primitive. and obtaining a representation of the particular primitive that corresponds to an object in three-dimensional (3D) space. Reconstructing a specific primitive under the influence of occluding bodies within multiple primitives determining one or more particular elements of a plurality of elements of a display that do not contribute to and
[0045] In some implementations, the method may further include: and storing the information together with the
[0046] In some implementations, the primitive data for multiple primitives can be obtained by This determination is performed during the rendering process.
[0047] In some implementations, the method may involve transferring stored information for a particular element to a particular primitive and The electromagnetic (EM) mapping of multiple primitives to multiple elements of the display, along with information on the occlusion and EM) to a controller configured to calculate the contribution of the
[0048] In some implementations, the method may include, for each particular element, extracting a particular primitive from a particular element. By eliminating the EM field contribution to one of the specific elements, generating a sum of the electromagnetic (EM) field contributions to one of the particular elements from the .
[0049] In some implementations, the method includes generating multiple programs for each of the multiple elements other than the specific element. generating respective sums of EM field contributions from the primitives to the elements.
[0050] In some implementations, this method maps the EM field contribution of a particular element to a particular primitive. It further includes:
[0051] In some implementations, determining one or more particular elements may involve determining a particular primitive. Connect the end point of the occluder to the display and extend this connection to the display. determining the intersection points between the splays and the specific range defined by these intersection points ,The effect of occlusion is that certain elements do not contribute to the,reconstruction of a particular primitive. and determining:
[0052] Another aspect of the present invention is to provide information about specific primitives and occluders of specific primitives. and obtaining a representation of the particular primitive that corresponds to an object in three-dimensional (3D) space. and for each of a plurality of elements of the display, Each part of a particular primitive that does not contribute to the electromagnetic (EM) field of the element due to the influence of an occluding body and determining.
[0053] In some implementations, this method involves storing information about each part of a particular primitive in a The method further includes storing the information about the active and occlusion body.
[0054] In some implementations, the primitive data for multiple primitives can be obtained by This determination is performed during the rendering process.
[0055] In some implementations, the method may include: The mapping of multiple primitives to multiple elements of the display, along with the primitive and occluder information. and further transmitting the signal to a controller configured to calculate the electromagnetic (EM) contribution. include.
[0056] In some implementations, this method involves assigning each of the E of multiple elements to each part of a particular primitive. Further comprising masking the M field contribution.
[0057] In some implementations, the method includes, for each of a plurality of elements, By eliminating the contribution of the EM field from the primitives to the element, generating a sum of the EM field contributions from the plurality of primitives to the element; Generating the sum of the field contributions involves calculating the EM contribution of each part of a particular primitive to the element. , subtracted from the sum of the EM field contributions to the element from multiple primitives without the influence of occluders. and generating a sum of the EM field contributions from multiple primitives to the element. This involves combining the EM field contributions to an element from one or more other parts of a particular primitive. and each part and one or more other parts are designed to be part of a particular primitive. Form a tibia.
[0058] In some implementations, certain primitives may not contribute EM fields to elements due to occlusions. Determining each part of the occlusion is done by connecting the element to the end points of the occlusion and by connecting this connection to a particular part. Determining the intersection between a primitive and a specific primitive enclosed by the intersection A specific part of the element does not contribute to the EM field due to the influence of an occluding object. and determining that the respective components are parts of the respective components.
[0059] Another aspect of the present disclosure is to provide a method for generating a plurality of primitives corresponding to an object in three-dimensional (3D) space. acquiring respective primitive data for each of the plurality of primitives; obtaining surface reflection information and applying each geometric specular reflection information to each of a plurality of primitives; and storing the data along with each primitive data.
[0060] In some implementations, the respective geometric specular information for each of the plurality of primitives is Contains the reflectivity of the primitive's surface.
[0061] In some implementations, this method considers the geometric specularity information of each primitive. Each EM field from each of the plurality of primitives to each of the plurality of elements of the display is The method further includes determining the contribution of
[0062] Another aspect of the present disclosure is to provide a method for generating a plurality of primitives corresponding to an object in three-dimensional (3D) space. Obtaining graphics data including primitive data and For each, the electromagnetic (EM) field contribution to each of the display's multiple elements is calculated in 3D coordinates Determine by calculating the propagation of the EM field from the primitives to the elements in the system. , for each of the plurality of elements, generate a sum of the EM field contributions to the element from the plurality of primitives. and for each of the plurality of elements, transmitting a respective control signal to the element; The control signal controls at least one characteristic of the element based on the sum of the EM field contributions to the element. The display's modulators generate light that is then projected onto the object. transmitting timing control signals to the light emitters to form corresponding volumetric light fields; and illuminating the display.
[0063] Another aspect of the present disclosure is to provide a display device that includes a display element and a display unit, the display element being configured to display a predetermined comparison value for each of the plurality of elements of the display. Modify each control signal using a positive value and display each modified control signal as a multiple of the display. applying a voltage to a number of elements and measuring the incident light output on the display; and evaluating a predetermined calibration value based on the measurement of
[0064] In some implementations, the predetermined calibration value is the same for each of the multiple elements.
[0065] In some implementations, this method uses a digital-to-analog converter (DAC). and converting each control signal of the plurality of elements by a digital analog converter, Modifying each control signal of the element includes adjusting the value of each control signal using a predetermined calibration value. This involves modifying a digital signal.
[0066] In some implementations, the predetermined value comprises multiple bits.
[0067] In some implementations, the method involves adjusting a predetermined calibration value based on the results of the evaluation. Adjusting the predetermined calibration value further includes adjusting one or more of the plurality of bits. This may include changing a number of values. is based on a predetermined calibration value and another calibration value determined from a previous evaluation, This may include determining a combination of values for multiple bits.
[0068] In some implementations, the light output includes a phase change or intensity difference of the light between the light output and the background. nothing.
[0069] In some implementations, each control signal for an element corresponds to multiple primitives corresponding to an object in 3D space. The power dissipation factor is determined based on the sum of the electromagnetic (EM) field contributions from the block to the element.
[0070] Another aspect of the present disclosure is a three-dimensional (3D) spatial resolution display for each of a plurality of elements of a display. obtaining respective sums of electromagnetic (EM) field contributions from a plurality of primitives in The primitives correspond to objects in 3D space, and each mathematical transformation is a component of the EM to each sum of the field contributions to obtain each transformed sum of the element's EM field contributions; determining each control signal based on each transformed sum of the EM field contributions of the elements; and modulating a characteristic of the element based on each determined control signal of the element. do.
[0071] In some implementations, the method involves directing incident light onto multiple elements of the display. measuring a first output of light; and determining a plurality of elements based on a result of the measurement of the first output of light. and adjusting one or more coefficients of each mathematical transform of the child. Varying the depth of a holographic pattern corresponding to an object within the field of view of the display and measuring a second output of light. and adjusting one or more coefficients of the first a plurality of primitives corresponding to the holographic pattern of the second holographic changing to a second plurality of primitives corresponding to the pattern and measuring a second output of light. and calculating one or more coefficients of each mathematical transform based on the first and second outputs. and adjusting the first holographic pattern and the second holographic pattern. The holographic pattern of the second holographic The pattern corresponds to a second object that is different from the object associated with the first holographic pattern. The first output of light can be measured by an image sensor. The image sensor can ,machine vision algorithms are used to determine what is being seen and,the fitness parameter. The method may be configured to calculate the data for each of the first and second holographic patterns. Each can contain a grid of points, and the goodness-of-fit parameter measures how close the points are to each other. , how close the points are to the center, and how deformed the points are. At least one of them.
[0072] In some implementations, the mathematical transform is derived from Zernike polynomials.
[0073] In some implementations, the mathematical transformations of multiple elements vary from element to element.
[0074] In some implementations, the method involves shining a light onto the display to generate a series of known Reproducing color and intensity samples and colorimeter data calibrated to the CIE Standard Observer curve Using a device to measure the light output and to measure the display output within the CIE XYZ color space and defining the output light from a known standard. Determine the deviation in the value of the color and adapt the output color on the display to the correct color. and adjusting the
[0075] Another aspect of the present disclosure is a pitch of display elements of a liquid crystal (LC) display. Based on this, it is possible to determine the cell gap of the LC display and Based on the filter gap and the predetermined retardation, the minimum birefringence of the LC mixture is calculated. and calculating.
[0076] In some implementations, this method reduces the L while maintaining the birefringence of the LC mixture above a minimum value. C. The method further includes improving the switching speed of the display. The improvement is to increase the dielectric anisotropy of the LC mixture and to decrease the rotational viscosity of the LC mixture. and (iii).
[0077] In some implementations, the LC display is an LCOS (liquid crystal on silicon) display with a silicon backplane. Includes quid crystal on silicon devices.
[0078] In some implementations, LC displays consist of a liquid crystal layer, a transparent electrode above the liquid crystal layer as a common electrode, and a a backplane having a conductive layer and a plurality of metal electrodes underlying the liquid crystal layer, Each of the plurality of metal electrodes is isolated from each other, and the backplane is The power supply is configured to control the voltage of the power supply.
[0079] Another aspect of the present disclosure includes a backplane and a plurality of display elements on the backplane. The display is characterized in that at least two of the plurality of display elements have different sizes. do.
[0080] In some implementations, the larger of at least two display elements has a buffer. , the smaller of the at least two display elements does not have a buffer. The display element can be connected to the first plurality of display elements by conductive lines, and the first plurality of display elements can be connected to the first plurality of display elements by conductive lines. A buffer is connected to the conductive line so that a voltage is applied to only the second plurality of display elements in the display element. configured to buffer the applied voltage, and wherein the number of the second plurality of display elements is greater than the number of the first plurality of display elements; The number of display elements is less than the number of display elements.
[0081] In some implementations, the buffer is an analog circuit in the form of a transistor or a logic gate The digital circuitry is in the form of:
[0082] In some implementations, the distribution of sizes of the plurality of display elements is such that at least two of the display elements The size is substantially the same as the smaller size of the
[0083] In some implementations, the display is a liquid crystal on silicon (LCOS) device. It is configured to be.
[0084] Another aspect of the present disclosure includes a backplane and a plurality of display elements on the backplane. The display features at least two of the plurality of display elements having different shapes. .
[0085] In some implementations, the backplane includes respective circuitry for each of the display elements and includes at least two each circuit of the display element has a shape corresponding to the different shapes of at least two display elements; .
[0086] In some implementations, the distribution of sizes of the plurality of display elements is substantially the same as a predetermined size. is identical to
[0087] In some implementations, the display is a liquid crystal on silicon (LCOS) device. It is configured to be.
[0088] Another aspect of the present disclosure is to provide a method for generating a plurality of primitives corresponding to an object in three-dimensional (3D) space. Obtaining graphics data including primitive data and For each, the electromagnetic (EM) field contribution to each of the display's multiple elements is calculated in 3D coordinates Determine by calculating the propagation of the EM field from the primitives to the elements in the system. , for each of the plurality of elements, generate a sum of the EM field contributions to the element from the plurality of primitives. and for each of the plurality of elements, transmitting a respective control signal to the element; The control signal controls at least one characteristic of the element based on the sum of the EM field contributions to the element. The display's modulators generate light that is then projected onto the object. transmitting timing control signals to the light emitters to form corresponding volumetric light fields; and illuminating the display.
[0089] Other embodiments of each aspect include corresponding computer systems, devices, and one or more and a computer program recorded on a computer storage device, Each of the methods is configured to perform the operations of the respective method. A system being configured to perform a particular behavior or action means that it software, firmware, or hardware that causes a system to perform a behavior or action This means that the software, hardware, or combination of these will be installed on the system. One or more computer programs perform specific behaviors or actions. The term "configured to execute" means that one or more programs are configured to execute the program in a data processing device. contains instructions that, when executed by a This means:
[0090] Another aspect of the present disclosure is a method for implementing a multi-threaded multi-threaded system comprising: one or more processors; and storing instructions executable by one or more processors, The instructions, when executed, cause one or more processors to perform one or more of the methods disclosed herein. and a non-transitory computer-readable storage medium for executing one or more It is characterized by its
[0091] Another aspect of the present disclosure is a method for storing instructions executable by one or more processors. Such instructions, upon execution, cause one or more processors to implement the methods disclosed herein. a non-transitory computer readable storage medium for causing the system to perform a method according to one or more of the methods described in It features a storage medium.
[0092] Another aspect of the present disclosure is a display including a plurality of elements and a display coupled to the display. A controller configured to perform one or more of the methods disclosed herein. The controller may include multiple computing units. Each of the computing units has a plurality of objects corresponding to objects in three-dimensional (3D) space. configured to perform an action on one or more of the primitives In some implementations, the controller is locally tied to the display and Each of the computing units is coupled to one or more respective elements of the display. The computer is configured to transmit a respective control signal to each of the one or more respective elements. The processing units may be configured to operate in parallel.
[0093] The controller is an application-specific integrated circuit (ASIC). d circuit), field-programmable gate array (FPGA) gate array), programmable gate array (PGA), Central processing unit (CPU), graphics processing unit GPU (graphics processing unit), or standard computing cell The display may include at least one of a digital microphone. DMD (digital micro-mirror device) or LCOS (liquid crystal on silicon) spatial light modulators (SLMs), including silicon-on-silicon devices The display may include phase modulation, amplitude modulation, or phase modulation and amplitude modulation. The controller may be configured to perform width modulation. It can be coupled to a spray.
[0094] In some implementations, the system is positioned adjacent to a display and generates a The light source is coupled to the controller and configured to illuminate the light source. It can be configured to be turned on / off based on a control signal from the controller.
[0095] In some cases, the light emitter may receive, via a memory buffer, one or more light emitters within the light emitter. The light element is coupled to a controller configured to control the amplitude or brightness of the light element. The body's memory buffer may have a smaller size than the display's memory buffer. The number of light emitting elements in the emitter can be less than the number of elements in the display. The controller is configured to simultaneously activate one or more light emitting elements of the light emitter. It can be done.
[0096] The light source may be a coherent, semi-coherent, or non-coherent light source In some implementations, the light emitters are configured to emit white light, and the display The light emitting element is configured to diffract white light into light having different colors. The body includes two or more light-emitting elements each configured to emit light having a different color. The controller controls the display using information associated with the first color during the first time period. and modulating the image continuously during a second continuous period using information associated with a second color. The controller may be configured to control the light emitters to modulate the display. a first light-emitting element is continuously turned on during a first period to emit light having a first color; and continuously turning on a second light-emitting element during a period of time t2 to emit light having a second color. , can be configured.
[0097] In some implementations, the light emitter is placed in front of the display surface and is angled between 0 and 90 degrees. configured to emit light onto the surface of the display at an angle of incidence within In some cases, the light emitted by the light emitter includes collimated light. In some cases, the light emitted from the light emitter includes divergent light. The light emitted from comprises semi-collimated light.
[0098] In some implementations, the light emitter is positioned behind the rear surface of the display, The light emitted is directed through a display to a display. The signal is transmitted from the front of the device to the outside of the display.
[0099] In some implementations, the light emitter comprises a light source configured to emit light and a device coupled to the light source. a waveguide disposed adjacent to the display, the waveguide configured to guide light emitted from the light source and configured to direct the emitted light to the display. In the case where light from a light source is coupled into a waveguide from a vertical cross section of the waveguide via an optical coupler, In some cases, the light source and waveguide are integrated in a planar form and placed on the surface of the display. The waveguide may be configured to guide the light to illuminate the display evenly.
[0100] In some cases, a waveguide is placed on the backside of the display, directing light through the display. The light is guided to transmit through the display and is diffracted out of the front of the display. A controller may be placed behind the waveguide. The front panel is positioned to guide light so that it is incident on the front surface of the display. It is reflected.
[0101] Another aspect of the present disclosure is a display including an array of elements and a computing unit. and an integrated circuit including an array of computing units, is coupled to one or more elements of the display, and Calculate the electromagnetic (EM) field contribution from at least one of the primitives to each of the element arrays. and for each of the one or more elements, computing a plurality of primitives to the element. and generating a respective sum of the EM field contributions of
[0102] Each of the computing units is connected to the other computing units in the array. from the computing unit of the primitives, and from other primitives of the primitives. receiving a calculated EM field contribution to each of the one or more respective elements; For each of the plurality of elements, the received primitives are calculated from the other primitives to the element. and b. adding the EM field contributions to generate respective sums of the EM field contributions. It can be configured so that
[0103] Each of the computing units may, for each of the one or more respective elements, and modulating at least one characteristic of the element based on a respective sum of the EM field contributions to the It may be configured to generate a control signal.
[0104] In some implementations, the integrated circuit provides a plurality of primitives to each of the elements of the display. Each accumulator is configured to store an accumulation result of the calculated EM field contributions. The path may be configured to initialize the accumulator at the start of a computation operation. The circuit includes a respective memory buffer for each of the elements, and the integrated circuit comprises a plurality of primitives for translating the elements. The calculated EM field contributions to the EM field are accumulated to produce the final accumulated result in each accumulator. The final accumulated result is then transferred from each accumulator to each memory buffer of the element. The device may be configured to transmit
[0105] In some implementations, the system is disposed between an integrated circuit and a display, and and configured to receive a control signal from the display and illuminate the display based on the control signal. and a light emitter, wherein the integrated circuit, the light emitter, and the display are integrated into a single unit. can be integrated.
[0106] Yet another aspect of the present disclosure is a method for generating a plurality of primitives corresponding to objects in three-dimensional (3D) space. a computing device configured to generate data including each primitive data of the The present invention features a system including a device, and the system is disclosed herein. The system receives graphics data from a computing device and displays the data in 3D space. The computer is configured to process graphics data for presenting the object. The rendering device renders computer-generated (CG) models of objects. By adding the primitives, you can create a primitive that contains the primitive data. The configured application programming interface (API) programming interface).
[0107] In this disclosure, the term "primitive" refers to a Refers to the basic indivisible element for input or output in a system. This element is It can be a geometric or graphic element. The term "hologram" refers to an object The information displayed on the display includes amplitude and / or phase information related to the The term "holographic reconstruction" refers to the pattern that appears when illuminated. Refers to the volumetric light field from a display (e.g., a holographic light field).
[0108] The details of one or more implementations of the subject matter of this specification are set forth in the accompanying drawings and the related description. Other features, aspects, and advantages of the subject matter are set forth in the description, drawings, and claims. It will be clear from the scope of
[0109] It is understood that various aspects of the implementation can be combined in different ways. For example, certain method features may be combined with other method features. do. [Brief explanation of the drawings]
[0110] [Figure 1A] FIG. 1 is a schematic diagram illustrating an exemplary system including a holographic display. [Figure 1B] FIG. 1 is a schematic diagram illustrating an exemplary holographic display. [Figure 1C] FIG. 1 illustrates an exemplary system for a 3D display. [Figure 2] FIG. 1 illustrates an exemplary configuration for electromagnetic (EM) propagation calculations. [Figure 3-1] Figure 3A illustrates an exemplary EM propagation of a point primitive relative to an element of a display; Figure 3B illustrates an exemplary EM propagation of a line primitive relative to an element of a display; and Figure 3C illustrates an exemplary EM propagation of a triangle primitive relative to an element of a display. [Figure 3-2] Figure 3D illustrates an exemplary implementation of Maxwell holographic occlusion of a point primitive, including a line primitive as an occluder, Figure 3E illustrates an exemplary implementation of Maxwell holographic occlusion of a line primitive, including another line primitive as an occluder, and Figure 3F illustrates an exemplary implementation of Maxwell holographic occlusion of a triangle primitive, including a line primitive as an occluder. [Figure 3-3] FIG. 1 illustrates an exemplary implementation of Maxwell holographic stitching. [Figure 4] 1 is a flowchart of an exemplary process for displaying an object in 3D. [Figure 5A] FIG. 1 illustrates an exemplary system implementation for a 3D display. [Figure 5B]FIG. 1 illustrates an exemplary system implementation for a 3D display. [Figure 5C] FIG. 1 illustrates an exemplary system implementation for a 3D display. [Figure 5D] FIG. 1 illustrates an exemplary system implementation for a 3D display. [Figure 5E] FIG. 1 illustrates an exemplary system implementation for a 3D display. [Figure 5F] FIG. 1 illustrates an exemplary system implementation for a 3D display. [Figure 6A] 1A and 1B illustrate exemplary displays including display elements having non-uniform shapes. [Figure 6B] 1A and 1B illustrate exemplary displays including display elements having different sizes. DETAILED DESCRIPTION OF THE INVENTION
[0111] Implementations of this disclosure provide 3D displays of complex computer-generated scenes in a truly holographic manner. This technology is characterized by the technology that makes it possible to realize the Maxwell holography. Based on Maxwell's equations for the electromagnetic field, which can be expressed as We provide a new deterministic solution to the problem of computation in Maxwell holography. (calculation) (or computation) is Maxwell holographic computation (Maxwell holographic calculation) (or Max In an embodiment, the present disclosure relates to field theory. General problems using tools including theory, topology, analytic continuation, and / or symmetry groups The hologram is treated as a Dirichlet or Cauchy boundary condition problem for the electric field. holograms in real time without the limitations of traditional holographic systems. In an embodiment, a spatial light modulator (SLM) or any other Using holographic devices, we can create phase-only holograms, amplitude-only holograms, Alternatively, techniques for creating phase and amplitude holograms can be used.
[0112] Implementations of the present disclosure: (1) use field theory and contact geometry instead of classical optics; (2) Computer code and the mechanism of approximation of holograms as electromagnetic boundary conditions and Application Programming Interface (API) to computational holography Derivation and implementation of the method of electromagnetic boundary conditions for the hologram, i.e., for the plane of the hologram. Calculating the hologram as a 2D analytical function and subsequent discretization into a parallel algorithm and / or (3) standard existing computer graphics tools and Standard computer graphics techniques can be used to achieve full compatibility. A fully 3D representation of primitives (e.g., points, lines, triangles, and texture triangles) A complete holographic implementation can be provided. These technologies allow the device to: To enable the display of general existing content that was not specifically created for holography. At the same time, existing content creators do not need to learn special techniques or It allows you to create holographic artwork without the need for complex tools.
[0113] In particular, these techniques include computational holography (e.g., the Gerchberg-Saxton (GS) model) Instead of the classical mathematical formulation of optics commonly used in This may include the use of a mathematical formulation (or formula) of light as a phenomenon. The mathematical formulation used is derived from Maxwell's equations. The disclosed technology treats the displayed image as an electromagnetic field and the hologram as an electromagnetic This includes treating the field as a generating boundary value condition (e.g., Dirichlet problem). Using the ubiquity of the primitive paradigm in computer graphics, For example, these techniques can be used to project images onto a 2D screen. Instead, any 3D image can be holographically reconstructed, e.g., by holographic light illumination. Compared to depth point cloud techniques, which are subject to bandwidth limitations, these The technique avoids such limitations and allows for any suitable type of primitive, e.g., point primitives. Use polygon primitives such as triangle primitives, line primitives, or Additionally, color, texture, and / or shading information can be used to It can render primitives, which can be used for live holographic video. This will help realize recording and compression methods for CG holographic content, including .
[0114] In embodiments, these techniques use Maxwell's equations to calculate the holograms that are generated. The system is calculated as a boundary condition problem to model the electromagnetic field, and the Fast Fourier Transform (FF This eliminates the dependency on and inherent limitations of the fast Fourier transform (FT). Eliminates dependency on localized light sources and lasers and / or computational holography This overcomes the limitations of previous methods for non-deterministic and non-deterministic solutions.
[0115] In embodiments, these techniques utilize the computer generated (C) G) The number of independent inputs constrained to the surface of the hologram according to the primitive parameters. Through a process of physical optimization, the algorithm can be optimized for computational simplicity and speed. So, computing architecture (e.g., application-specific integrated circuits (ASICs) and multi-core architectures) to perform work in a highly parallel and highly optimized manner The process of calculating a hologram can be performed using computer-generated images (CG). A single image is generated by a computer-generated imagery (I) scene. They can be thought of as instructions, and theoretically, each CGI primitive takes one clock cycle. It can be completed in a circle.
[0116] In embodiments, these techniques may be used to display holographic scenes in, for example, video games, movies, screen, television, computer display, or any other computing device Standard printers for traditional 3D graphics, such as those used in screen-based technology, Fully 3D holographic primitive apparitions, functionally compatible with 3D holographic primitives. These techniques treat the image as a set of holographic primitive apertures. in hardware and software without the limitations inherent in standard implementations of holography This allows for efficient implementation of these aperture primitives in The amplitude and color of the primitives can be calculated automatically. The length is in the order of magnitude compared to n^2 or n*log(n) in standard computational holography. The image produced is fully 3D and can be scaled linearly with the number of phase elements n. Instead of a set of planar images, these techniques use repeated amplitude Furthermore, the generated holograms can be displayed on the holographic device without any modification. does not include the "conjugate" image that occupies the space.
[0117] Holographic primitives are a special collection of mathematical objects. Because of this, the calculations can be relatively simple and fast, and parallel distributed calculation methods are feasible. This computability and parallelism can theoretically be used to Large holograms for designing large-area holographic devices Such devices allow interactive computing and are often referred to as holographic computer displays. It functions as a holographic room, a phone display, a home theater, and Additionally, these holograms display elements as outlines rather than solids. large areas without the limitations associated with traditional holographic computational methods that can Light can, for example, fill large shaded areas rendered in 3D. Furthermore, this relatively simple and relatively fast calculation is complicated by the computational overhead of n^2, and the reciprocal of Real-time hologram display at interactive speeds unconstrained by iterative amplitude modifications This makes it possible.
[0118] In embodiments, these techniques are implemented on modern ASIC and multi-core architectures. ,natural computational possibilities can be realized, and the latest graphics hardware, Graphics software and / or the latest graphics tools and tools For example, these technologies are clear and Simple holographic APIs can be implemented, and regular standard Standard 3D content creation tools, such as 3DS Max (registered trademark), SolidW Using Tools(R), Maya(R), or Unity3D, These APIs enable high performance rendering of CG models. The speaker or user may use a holographic device, e.g., a light modulator or a holographic The Holographic API allows you to interact with the computer system. Computational graphics primitives into individual holographic scene primitives can be created as general-purpose holographic computing hardware and specially designed Rich holographic content using advanced holographic computing hardware The creation of mathematical computational architectures allows for the generation of traditional 3D content and Using the tools and techniques used to create software applications , which allows for the rendering of holograms. The optimization is based on traditional graphics and rendering, which are displayed as holographic reconstructions. This allows for high performance implementations of the ring.
[0119] The algorithms in these techniques are relatively simple to implement in hardware. This allows for the computational speed required for the high-quality modern rendering that users expect. As well as allowing for relatively simple circuits, For example, it allows the algorithm to be implemented in the gate structure of an ASIC. The calculation of the timeline is calculated remotely and then sent to the display for every frame of content. Instead of having to write to every pixel in the ray, can be distributed across a contained computing architecture (e.g., embedded computation) This means that bandwidth issues that can be a hindrance to high-density displays become less important. This reduces the number of display elements and therefore the size of the holographic display. but can be relatively unconstrained by the constraints that limit other technologies. This also means that
[0120] These technologies include, for example, LiDAR (solid-state light detection and ranging) devices, 3D printing, smart lighting, smart microdisplays, or It can be used in a variety of applications, including any other application requiring structured light, from relatively simple to Using structured light, which is simple and relatively inexpensive to implement, multiple interactive techniques can be enabled. These techniques can also be used for optical simulations, e.g., grating simulations. It can be used.
[0121] FIG. 1A shows a schematic diagram of an exemplary system 100 for a 3D display. The system 100 includes a computing device 102 and a holographic display. ray device (or Maxwell holographic display device) 110. The computing device 102 may generate primitives corresponding to objects, e.g., 3D objects. prepare data for a list of devices and transmit this data over a wired or wireless connection, e.g., BC connection or any other high speed serial connection to the holographic display The holographic display device is configured to transmit the holographic image to the holographic display device 110. 110 selects a holographic display device from a list of primitives. Calculating the electromagnetic (EM) field contribution to the display elements (e.g., modulators) of the display; Based on the calculated EM field contribution on the display, a certain pattern, e.g., a hologram modulating the display elements using RAM and a light field that, when illuminated, corresponds to an object in 3D; For example, the present invention is configured to perform the following: In the literature, a hologram stores amplitude or phase information, or a combination of both, about an object. Holographic reconstruction refers to the pattern shown on the display, including the illuminated volumetric light field from a display when illuminated (e.g., a holographic light field) This refers to the following.
[0122] Computing device 102 may be any suitable type of device, such as a desktop laptop computers, personal computers, notebook computers, tablet computers computing devices, personal digital assistants (PDAs) assistant), network appliances, smartphones, smartwatches, high-speed Enhanced general packet radio service (EGPRS) mobile Mobile phones, media players, navigation devices, email devices, game consoles or these or other computing devices The combination of any two or more of the above chairs can be any suitable combination.
[0123] The computing device 102 may run multiple applications 106 on a graphical An operating system (OS) that can be included as a service engine ) 104. The application 106 is a standard 3D content creation tool, e.g. For example, 3DS Max (registered trademark), SolidWorks (registered trademark), Maya (registered trademark) trademark), or Unity3D to process or create scenes, e.g., any CG model. The scene can accommodate 3D objects. The applications 106 run in parallel to render the scene and use the OS graphics abstraction. You can get OS graphics abstraction 101 and Graphics Abstraction 101 is a graphics processing unit (GP) for further processing. In some implementations, the OS graphics abstraction 101 may further include: The image is provided to the holographic display device 110 for processing.
[0124] The GPU108 is designed for fast operations in computer graphics and image processing. The GPU 108 may include dedicated electronic circuitry designed for the graphics of a scene. The abstraction 101 can be processed to obtain processed scene data 103, A list of primitives indexed in a specific order using data 103 05. Primitives can be point primitives, line primitives, or may contain at least one of the polygon primitives. In some implementations, G The PU 108 generates the processed scene data 103 and the list of primitives 105. The video driver is configured to:
[0125] In some implementations, the GPU 108 includes a conventional renderer 120. To draw on a conventional monitor 124, e.g., a 2D display screen, primitives are used. The list of blocks 105 is based on traditional rendering techniques, e.g., culling and clipping. The list of items can then be rendered into image buffer 1. 22 to a conventional monitor 124.
[0126] In some implementations, the GPU 108 may process the list of primitives 105 in a holographic Rendering the graphics data to be displayed by the display device 110 To do this, the system includes a holographic renderer 130. The block data can contain a list of primitives and the corresponding primitive data. For example, the graphics data can contain a hex code for each primitive. Cut.
[0127] In some implementations, the GPU 108 may be used in conjunction with a conventional renderer 120 and a holographic renderer. In some implementations, the GPU 108 includes both a traditional renderer 120 and a 1, the holographic display device 110 includes a holographic renderer 1 Including 30.
[0128] The primitive data corresponding to a primitive includes color information, e.g., texture color, It may also include color, or both, texture information, and / or shading information. Shading information can be any information that involves modulating the color or brightness of the surface of a primitive. This can be obtained by conventional CGI surface shading methods.
[0129] The primitive data of a primitive is stored in a 3D coordinate system, e.g., Cartesian XYZ, polar It can include coordinate information for primitives in the coordinate system, cylindrical coordinate system, and spherical coordinate system. As described in more detail below, in holographic display device 110 The display element may also contain corresponding coordinate information in a 3D coordinate system. The active image can represent 3D objects adjacent to the display element, e.g., in front of the display element. do.
[0130] As an example, a primitive may be a shaded line, e.g., a line that changes color from one color to another over its length. A line that smoothly transitions to a different color. To render this primitive, you need two The four elements of data are the endpoints of the pixel and the color information (e.g., RGB color values) at each endpoint. The hex code of this line is A0, and the line begins at the first endpoint (0 It extends from the first endpoint (0.1,0.1,0.1) to the second endpoint (0.2,0.2,0.2) and At the first end point, it has half blue RGB=(0,0,128) and at the second end point it has full red RGB=( 255,0,0). The holographic renderer Determine the amount and type of data you expect for each primitive. For lines, the primitive stream The primitive data for a shaded line in a stream is a sequence of instructions that looks like this: can. 0xA0 / / hex code for shaded lines 0x3dcccccd / / (0.1,0.1,0.1) floating point (single precision) First Vertex 0x3dcccccd 0x3dcccccd 0x000080 / / The color of the first vertex is (0,0,128) 0x3e4ccccd / / (0.2,0.2,0.2) floating point (single precision) Second Vertex 0x3e4ccccd 0x3e4ccccd 0xff0000 / / The color of the second vertex is (255,0,0)
[0131] For shaded line primitives, there are a total of 31 hex words in the primitive data. Therefore, this is a very efficient way to transmit complex scenes. and the primitive data can be further compressed. Since the step is a deterministic Turing step, no terminator is required. Unlike the traditional model where this line primitive is simply drawn on a 2D display screen, The primitive data for this line is sent to the holographic display device 110. The holographic display device 110 computes the hologram and displays it floating in space. A corresponding holographic reconstruction can be displayed, showing the lines.
[0132] In some implementations, the computing device 102 may For example, a video of the recorded light field can be displayed on a holographic display device. 10. The holographic display device 110 transmits a continuous hologram. It can compute and display the video as a continuous holographic reconstruction in space. In some implementations, the computing device 102 may generate CG holographic content. holographic display devices simultaneously with live holographic content. The holographic display device 110 then transmits the corresponding hologram to the holographic display device 110. It can also calculate the program and display the content as a corresponding holographic reconstruction. can.
[0133] As shown in FIG. 1A, the holographic display device 110 The controller 112 includes a computer 112 and a display 114. In some implementations, the control unit may include a computing unit or a processing unit. The controller 112 may be an ASIC, a field programmable gate array (FPGA), or In some implementations, Controller 1 may include a GPU, a 12 is a list of primitives 105 computed by the computing unit The holographic renderer 130 is used to render the graphics data. In some implementations, the controller 112 may also include an OS graphics abstraction 101. The display 11 receives the image data from the computing device 102 for further processing. In some implementations, the display 114 may include multiple display elements. The SLM may be a phase SLM, an amplitude SLM, or a phase and amplitude SLM. In some examples, the display 114 can be a digital micromirror. It is a digital multi-layer device (DMD) or a liquid crystal on silicon (LCOS) device. In some implementations, the holographic display device 110 may include a display adjacent to the display 114 and configured to emit light toward the display 114. The light emitter 116 is a coherent light source, such as a laser, a semiconductor, or the like. Coherent light source, e.g., LED (light emitting diode), or non- It can be a coherent light source.
[0134] Traditional 3D graphics that takes a 3D scene and projects it onto a 2D display device Unlike a conventional optical system, the holographic display device 110 does not require a light field, e.g. For example, to generate 3D output such as a holographic reconstruction117 in the form of a 3D volume of color. In a hologram, each display element contributes to a different part of the scene. In the case of a holographic display device 110, the scene is For example, each part of the primitive list generated by the GPU 108 For primitives, each display element needs to be modulated. In some implementations, e.g. Modulation of certain elements is omitted based on the level of accuracy that is acceptable for the scene being viewed. That's fine.
[0135] In some implementations, the controller 112 controls the EM field from each primitive to each display element. Calculating the contribution, e.g., phase, amplitude, or both, and, for each display element, and generating a sum of the EM field contributions to the display element from the list of actives. This goes through all the primitives and accumulates their contributions to a particular display element. or by examining each display element for each primitive. .
[0136] The controller 112 determines the position of each primitive based on a predetermined formula for the primitive. The EM field contribution from the primitive to each display element can be calculated. In some cases, the predetermined formula may include a formula related to FIGS. and is an analytical expression, as explained in more detail below. The equations to be calculated are those that solve Maxwell's equations with boundary conditions defined in the display 114. The boundary conditions include Dirichlet boundary conditions or Cauchy boundary conditions. The display element can then be adjusted, for example, by adjusting the refractive index, amplitude index, birefringence, or is based on the sum of the EM field contributions by modulating at least one of the phase differences It can be modulated.
[0137] The value of the EM field at each point on the surface that bounds the field, e.g., the solution to Maxwell's equations If is known, then the exact unique configuration of the EM field within the volume bounded by the interface is A list of primitives (or holographic representations of the corresponding holograms) can be determined. The display 114 defines a 3D space, and the surface of the display 114 defines a 3D space. The EM field state (e.g., , phase or phase and amplitude state) to, for example, By shining light on the surface, the boundary conditions of the EM field can be determined. Maxwell's equations Due to the time symmetry of The display element is modulated so that the volumetric light field corresponding to the hologram is reflected by the holographic reconstruction. It can be obtained as a construction.
[0138] For example, a line primitive of a particular color may be set in front of the display 114 As explained in more detail below with respect to FIG. 3B, the analytical formula for a linear aperture is can be written as a function in space. The EM field contribution from the line primitive above can be determined. The calculated EM field contribution corresponds to When the EM field values are set on the display 114, the time dependence of Maxwell's equations is Due to symmetry, the same linear aperture used in the calculations is used at the corresponding position, e.g., 3D It can appear at the coordinate position of a linear primitive in the coordinate system.
[0139] In some instances, two points in 3D space may be aligned, as described in more detail below with respect to FIG. 3B. Suppose there is a line of light between points A and B. This light is uniformly illuminated and the distance of the line is l. At each infinitesimal dl along the line from A to B, there is an intensity I proportional to I*dl. The amount of light emitted is infinitesimally small, as a delta (point) source. It can work from an infinitesimal dl to a list of primitives corresponding to the scene's surrounding boundary. The EM field contribution to every point on the interface can be determined. For all display elements on 4, express the contribution of the EM field at the display element from an infinitesimal line segment An analytical equation can be determined: the EM field at the display element on the display proceeding along the line A special sum / integral that accumulates the EM field contributions of the entire line to the θ can be determined as follows: A value corresponding to the formula is used to display, for example by modulating a display element and causing the display element to emit light. Then, by time reversal and correction constants, we can find points A and B in 3D space. A line can be created at the same location as defined by B.
[0140] In some implementations, the controller 112 transmits the image data to the display 114 via a memory buffer. The control signal 112 is based on the sum of the EM field contributions to each of the display elements, Each control signal can be generated to modulate a display element based on the sum of the EM field contributions. Each control signal is sent to the corresponding display element via a memory buffer. do.
[0141] In some implementations, the controller 112 is integrated with the display 114. As will be described in more detail with respect to FIG. 1B, The controller 112 is coupled to one or more respective display elements and transmits each control signal to one of the display elements. or a plurality of computing devices configured to transmit the signal to each of the plurality of display elements. Each computing unit can contain a list of primitives. The computation may be configured to perform computations on one or more of the primitives. The computing units can operate in parallel.
[0142] In some implementations, the light emitter 116 is coupled to the controller 112, and the controller 11 2. For example, the controller 112, the controller 112 completes the calculations, e.g., the EM field contributions of the display elements. In response to all of the sums being obtained, the light emitter 116 may be activated to be turned on. As previously mentioned, when the light emitter 116 emits light on the display 114, the display The splay's modulation elements propagate light in different directions, creating a primitive representation of the 3D object. The resulting volumetric light field is then Solution of Maxwell's equations with boundary conditions defined by modulating elements of display 114. Corresponds to.
[0143] In some implementations, the controller 112 is coupled to the light emitter 116 via a memory buffer. The memory buffer is configured to control the amplitude or brightness of the light emitting elements within the light emitter. The memory buffer of the light emitter 116 may be larger than the memory buffer of the display 114. The number of light emitting elements in the light emitter 116 can be As long as the light can illuminate the entire surface of the display 114, It can be made smaller than the number of display elements. For example, 64 x 64 OLED (organic light emitting diode) 1024 x 1024 light-emitting elements including organic light-emitting diodes (OLEDs) The controller 112 controls the light emitter 11. 6 may be configured to activate multiple light emitting elements simultaneously.
[0144] In some implementations, the light emitters 116 emit monochromatic light, e.g., red, green, or blue light. In some implementations, the light emitters 116 are monochromatic light sources configured to emit different colors. The light source includes two or more light-emitting elements each configured to emit light having a 116 can include red, green, and blue light emitting elements. To display color 3D objects, three separate holograms are used: one for red, one for green, and one for blue. It is possible to calculate the 3D image from the corresponding primitive to the display element. The EM field contributions of the display elements can be obtained by sequentially modulating the display elements based on the EM field contributions. The red, green, and blue light emitting elements can be turned on sequentially. The light emitters 116 can be controlled in this way. The three colors are combined in the eye according to the effect of temporal coherence of vision. In some cases, the light emitters 116 may provide a color appearance for the displayed image ( or holographic reconstruction) during the change of state, and graphic reconstruction) is presented. In order to make the image (or holographic reconstruction) appear stable, the temporal visual You can rely on Healing.
[0145] In some implementations, the display 114 has a resolution fine enough to diffract visible light, e.g. For example, the light emitter 116 may include a single white light source. The emitted white light is converted by the display 114 into different colors of holographic reconstructions. It can be diffracted.
[0146] As will be described in more detail below with respect to FIGS. 5A-5F, different configurations of system 100 The display 114 can be reflective or transmissive. The display 114 can be made in a variety of sizes, from small (for example, 1 to 10 cm on a side) to large (for example, They can be of various sizes, ranging from 100 to 1000 cm on a side. The light emitted from the light body 116 is projected from the front of the display 114 (e.g., a reflective display). ), or from the rear of the display 114 (e.g., in the case of a transmissive display) A planar waveguide can be used to uniformly illuminate the surface of the display 114. In some implementations, the controller 112, the light emitter 116, and the display The hologram 114 may be integrated into a single unit. The graphic renderer 130 may be included within the controller 112, for example.
[0147] FIG. 1B shows a schematic diagram of an exemplary holographic display device 150. The holographic display device 150 is the same as the holographic display device of FIG. It can be similar to the play device 110. Holographic display device 150 includes a computing architecture 152 and a display 156 . The computing architecture 152 may be similar to the controller 112 of FIG. 1A. The computing architecture 152 may include an array of parallel computing cores 154. The computing core may include a communication connection 159, such as a USB-C connection or any The connection 159 may be connected to adjacent compute cores via other high speed serial connections. The data distribution network can be included in the data distribution network, and the data distribution network can be used to The image data 151 (eg, scene primitives) may be distributed among the compute cores 154.
[0148] The display 156 can be similar to the display 114 of FIG. 1A and can be a backplane. The display element 160 may include an array of display elements 160 disposed on the screen 158. The display element 160 may include: The computing cores 154 may be located in front of the backplane 158. The backplane 158 may be disposed on the backside of a substrate, e.g., a wafer. The computational core 154 can be on the same board as the display 156 or Alternatively, it may be glued to the back of the display 156 .
[0149] Each computational core 154 may be connected to a respective tile (or array) of display elements 160. The computation core 154 performs a computation on each of the primitives in the scene data 151. In some examples, the computation cores 154 are configured to perform computations in parallel with each other. calculates the EM field contribution from each of the primitives to each of the array of display elements 160 and the sum of the EM field contributions from multiple primitives to each tile of display element 160. The calculation core 154 is configured to perform the calculation of the calculation core 154. Display from other computation cores in the array, or from other primitives in the multiple primitives Receive the calculated EM field contributions to each of the tiles of the element 160. Based on the EM field contributions calculated, a sum of the EM field contributions can be generated. 54 generates a control signal for each tile of display elements and calculates the sum of the EM field contributions to the display elements. modulating at least one characteristic of each of the tiles of the display element 160 based on the can be done.
[0150] As previously mentioned, the computing architecture 152 may include, for example, a number of primitives. Upon determining that the calculation of the sum of the EM field contributions from the active to each of the display elements is complete, In response, it may generate a control signal to the light emitter 162. The light emitter 162 receives the input light The input light 153 is emitted to illuminate the modulating display element 160. 151. The resulting volumetric light field, e.g., holographic, is reflected by the A light field 155 is formed.
[0151] As shown in FIG. 1B, tiles of display elements 160 may be arranged in a larger display. Accordingly, the computational cores 154 may be interconnected for data communication and data distribution. In holographic computation, the change between any two particular display elements is Note that the parameter that we are interested in is the physical location of those display elements. Therefore, the work of computing the hologram is shared equally among the corresponding computing cores 154. The entire display 150, regardless of the number of tiles, can be displayed in the same way as a single tile. It can operate at high speed.
[0152] FIG. 1C illustrates an exemplary system 170 for displaying objects in 3D space. System 170 may be a computing device, such as the computing Device 102 and holographic display device 172, e.g., FIG. 1A The user may include the holographic display 110 or 150 of FIG. uses input devices, such as a keyboard 174 and / or a mouse 176, The system 170 can be operated by, for example, a user using a computing device CG models of 2D objects 178 and 3D objects 180 can be created via The computing device or holographic display device 172 is Rendering the G model to generate corresponding graphics of the 2D object 178 and the 3D object 180 To generate the image data, a holographic renderer, e.g., the holographic The graphics data may include an object 178 and a graphics renderer 130. and 180 may contain data for each primitive in the corresponding list of primitives.
[0153] The holographic display device 172 is connected to a controller, e.g., the controller of FIG. 1A. 1B and a display 173, e.g., the display 112 or 152 of FIG. 1A. The controller may include a display 114 or 156 in FIG. 1B. Calculate the sum of the EM field contributions from each of the active elements to each display element of the display 173, and calculate the EM field Based on each sum of contributions, a control signal can be generated to modulate each display element. The holographic display device 172 includes an emitter, e.g., emitter 1 of FIG. 16 or the light emitter 162 of FIG. 1B. The controller controls the light emitter The light from the light emitter can generate a timing control signal to activate the display 17. When illuminating the surface of the 2D object 178, the modulating display element propagates light in 3D space and illuminates the 2D object 178. and the corresponding holographic reconstruction of the 3D object 180. Therefore, the 2D object 178 and the 3D object 180 can be formed. appears as a holographic reconstruction floating in 3D space in front of the display 173 will be done.
[0154] In some implementations, the computing device may process non-primitive-based data, e.g. For example, a video of the recorded light field can be displayed on a holographic display device 172. The holographic display device 172 transmits a corresponding hologram, e.g. For example, a series of successive holograms can be computed and generated to represent the corresponding holographic images in 3D space. In some implementations, the computing device CG holographic content can be displayed simultaneously with live holographic content. holographic display device 172. The device 172 computes and generates a corresponding hologram to represent the content relative to the object in 3D space. It can also be displayed as a corresponding holographic reconstruction.
[0155] FIG. 2 shows an exemplary configuration 200 for electromagnetic (EM) field calculations. a display 202, e.g., an LCOS device, and a point primitive 206; The list of primitives is in 3D space 208. 3D space 208 includes a bounding surface 210. In the 3D coordinate system XYZ, the point primitive 206 has coordinate information (x, y, z). Each display element 204 lies in a flat plane relative to the other display elements 204, and is 2D The display element 204 also has a position in 3D space. The geometric point transformation transforms a 2D position (u, v) into six coordinates in a 3D coordinate system. That is, the surface of the display 202 forms part of the interface 210. Therefore, the calculated plot is calculated by defining boundary conditions on the surface of the display 202. The EM field contribution from the primitive list to the display element is the E A scale factor, e.g., 6, is applied to the EM field of each display element, representing a fraction of the total M field contribution. The sum of the contributions of the fields can be multiplied to obtain the scaled sum of the field contributions, A display element may be modulated based on the sum of the modified magnitudes of the contributions.
[0156] Example of EM field contribution of a primitive. It can be used to render graphics. Each type of primitive in this formulation represents a single element of a geometrical element that is added to the hologram. corresponds to the discrete mathematical functions that define the holographic primitives. The class can correspond to a formula for calculating the EM field contribution to the display element. A primitive can be a point primitive, a line primitive, or a polygon (e.g., triangle) primitive. As shown below, the display can be By calculating the propagation of the EM field to the display element, an analytical expression can be derived.
[0157] FIG. 3A illustrates an exemplary E-transfer from a point primitive 304 to an element 302 of a display 300. M propagation. In the 3D coordinate system XYZ, the z coordinate is 0 across the display 300. That is, negative z values are behind the display 300 and positive z values are behind the display It is assumed that the point primitive 304 is in front of the play 300. The point primitive 304 has coordinates (x, The point plane has coordinates (u, v, 0) and the display element 302 has coordinates (u, v, 0). The distance duv between the primitive 304 and the display element 302 is determined based on their coordinates. It can be done.
[0158] The point primitive 304 can be viewed as a point charge with a time-varying amplitude. According to theory, the electromagnetic field E generated by such a point charge is
[0159]
number
[0160] Therefore, the electric field Eu,v at the display element (u,v) is
[0161]
number
[0162] As previously discussed with respect to FIG. 2, the surface of the display 300 is a portion of the boundary of the EM field. A scale factor δ is applied to the electric field Eu,v to change its magnitude at the display element. We can obtain the scaled electric field Eφ(u,v), and this scaled electric field is Adjust the partial boundaries as follows:
[0163]
number
[0164]
number
[0165] FIG. 3B illustrates the representation of a line primitive 306 in a 3D coordinate system XYZ on a display 300. 3 shows an example of EM propagation to element 302. As mentioned above, display element 302 is located at z=0 A line primitive 306 can have coordinates (u,v,0) if P0 has coordinates (x0, y0, z0) and P1 has coordinates (x1, y1, z1). The distance d0 between the end point P0 and the display element is calculated based on their coordinates. Similarly, the distance d1 between the end point P1 and the display element can be determined based on their coordinates. The distance d01 between the two end points P0 and P1, for example, d01=d1-d 0 can also be determined.
[0166] As mentioned before, line primitives can be treated as overlaps or linear transformations. , the corresponding analytical expression for the line primitive as a linear aperture is given by This analytical expression can be obtained as a closed loop of continuous 3D line segments as a hologram. It can be expressed in a similar way.
[0167] FIG. 3C illustrates the coordinate system of a triangle primitive 308 in a 3D coordinate system XYZ to a pixel on a display 300. Illustrates exemplary EM propagation to display element 302. As previously mentioned, display element 302 , z=0, it can have coordinates (u,v,0). 308 is P0(x0,y0,z0), P1(x1,y1,z1), and P2(x2, y2, z2). Between the display element and the endpoints P0, P1, and P2 Distances d0, d1, and d2 may be determined based on their coordinates, respectively.
[0168] Similar to the line primitives in Figure 3B, triangle primitives represent continuous apertures in space. and the analytical expression for the EM field contribution of the triangle primitive to the display element is This can be simplified to obtain an expression for efficient calculation. can be done.
[0169] Primitive Calculation Example As previously mentioned, a controller, for example, controller 112 of FIG. 1A, The EM field contribution from the primitive to the display element can be calculated based on an analytical expression that can be determined as follows: As an example, the EM field contribution of a line primitive can be calculated as follows: will be done.
[0170] Each display element in the display has a physical location in space, and each display element is The display elements and their controllers are in a plane that is flat relative to the display elements. Assume that the layout is as is customary for play and memory devices. Then, using a simple mathematical point transformation, the logical memory address of the display element in the processor can be Converting the logical location of a particular display element based on the Therefore, the logical memory address of the display element can be stored in the logical memory of the processor. looped in real space, so that the corresponding real physical The target location can be identified.
[0171] As an example, if the display has a pitch of 5 μm, the interval for each logical address is The increment allows for a 5µm shift in the x direction, which is the x-axis resolution of the display. If the limit is reached, the next increment will return to the original physical position on the x axis, and the y The third spatial coordinate, z, is the distance across the surface of the display. can be assumed to be 0, i.e., negative z values are behind the display and positive The z value is in front of the display.
[0172] To start the line calculation, the distance between the current display element and each of the two points of the line primitive is It is determined that the types of physical distances scaled by d0 and d1 are In fact, all subsequent calculations of distance across the display element are performed with a small perturbation of the initial value. Therefore, d0 and d1 can be calculated once per primitive. , this calculation is performed in one dimension.
[0173] An exemplary computation process for each primitive may include the following computation code: DD=f(d1,d0), iscale=SS*COLOR*Alpha1, C1=-2*iscale*sin(DD / 2)*sin((Alpha2)*co s(Alpha3), C2=-2*iscale*sin(DD / 2)*sin(Alpha2)*sin (Alpha4), where SS, Alpha1, Alpha2, Alpha3, and Alpha4 are predefined and COLOR is the RGB color value passed with the primitive. All values are scalar, single-precision floating-point numbers. For improved computational efficiency, the sine function Both the number and the cosine function can be looked up in a table stored in the controller.
[0174] The results of C1 and C2 are then applied to each display element, for each primitive, e.g. It is accumulated in the child accumulator and can be normalized once at the end of the calculation for the display element. At this point, as previously described, the controller sends a first control signal to the display element to and modulating the display element based on the result of the modulation and transmitting a second control signal to the light emitter to turn on the light emitter. and emit light. Accordingly, holographic reconstruction (or hologram) The modulating display element, when illuminated, Light can produce clear, continuous lines of color in three-dimensional space.
[0175] In some implementations, the calculation code may erase the previous accumulation result in the accumulator, for example at the beginning of the code. The calculation code contains the hexadecimal code for deleting the accumulator result, for example, at the end of the code. It may also include a hexadecimal code for storing in each memory buffer for each display element. In some implementations, a computing device, e.g., the computing device of FIG. The device 102 may adjust the frame rate at application launch or to affect the base display frame rate. The interval between displaying frames that cannot be displayed is used to display the hexadecimal code of multiple background or static primitives. The computing device then sends one or more of the hexadecimal codes to the controller. or a combination of multiple primitives, possibly with other foreground or dynamic primitives, can be sent to the controller at a high rate, and the controller can then send the corresponding control signal can be formed to modulate the display elements of the display.
[0176] These computational processes are faster than the most efficient line-drawing routines in traditional 2D display technologies. This calculation algorithm is more than two orders of magnitude simpler and faster than the conventional method. It scales linearly with the number of display elements. By expanding the computing unit of the controller, the display can be increased. This can be used to calculate the surface area of the object.
[0177] Example of calculation implementation A Maxwell holographic controller, such as controller 112 in FIG. 1A, , based on analytical expressions that can be determined as shown above, E from the primitive to the display element The controller can be implemented, for example, in an ASIC, FPGA, or It may be implemented on a processor, a GPU, or any combination of these.
[0178] In a modern GPU pipeline, the GPU performs the geometric description and the vertices and It takes a fragment shader program and converts the pixel output of color and depth to one or more is generated onto multiple output image surfaces (called render targets). This process: It involves an explosive output of information, where shapes are expanded into shadows of fragments, and then those fragments are Visibility is used to select whether work needs to be performed on each of the fragments. The test is performed. The fragment is included to shade its sample points. All information about the object, e.g., barycentric coordinates on a triangle, interpolated values such as color or texture coordinates , surface derivatives, etc. After creating these records, The process of rejecting records that do not contribute to the image is called visibility testing. The passed fragments are then processed into wavefronts or waves that are executed in parallel by the shader engine. The output generated by these shader engines can be organized into work groups called groups. The value is used for display or as an input texture for later rendering passes. The pixel values are written back into memory for use in the sses.
[0179] Maxwell holography can greatly simplify the rendering process. In Maxwell holographic computation, all primitives are connected to all display elements. This allows for a visibility test before assembling the wavefront, without the need to enlarge the shape to pixels. This allows for a decision between Maxwell holographic pipelines. It can also eliminate the need for network configuration or communication, making computation less costly, less expensive, less expensive, or less energy-efficient. This makes it a parallel problem with multiple possible solutions, each tailored for energy optimization. This graphics pipeline is significantly shorter and has fewer intermediate steps. With no data copying or movement and fewer decisions, drawing starts and the results are ready to be displayed. This reduces the waiting time between what can be done and what can be done. Rendering the block can create a display with extremely low latency. To use fixed-point numbers, e.g., in the Maxwell holographic pipeline, This allows for improved accuracy of Maxwell holographic calculations, e.g. For example, by optimizing mathematical functions, the speed of calculations can be optimized.
[0180] Using Fixed-Point Numbers Calculate the EM contribution from each primitive at each display element (e.g., phasel) When doing this, intermediate calculations are involved that generate very large numbers. involves special handling since the fractional part must also be preserved during the calculation.
[0181] Floating-point values have the property that they are most accurate near the origin (0 on the number line) and less accurate as they move away from the origin. The drawback is that it loses one bit of precision for each power of 2. For close numbers, floating-point values can have the highest precision, but they can reach tens of millions of numbers. For example, a single-precision 32-bit IEEE-745 floating-point value has a fractional part remaining. When we reach a point where we don't have a significand, we use it to represent the integer part of the value. a) is used in its entirety. However, in Maxwell holography, Of particular interest to do is the fractional part of a large number.
[0182] In some cases, fixed-point numbers are used in Maxwell holographic calculations. A fixed-point representation is a number where the decimal point does not change from case to case. By choosing the correct number of bits for the decimal and fractional parts, regardless of the size of the number, You can get the same number of decimal points. Fixed-point numbers use an implicit scale factor. For example, a 16-bit fixed-point value containing 8 decimal points is , 14.375 is represented as the number 3680 (binary 0000111001100000). This fixed-point number can be expressed as an "unsigned 16.8" fixed-point number, or u16 for short. Negative numbers can include an additional sign bit and are expressed in "two's complement" form. In this way, the accuracy of the calculations can be greatly improved.
[0183] Optimizing mathematical functions As shown above, Maxwell holographic computation can be applied to transcendental mathematical functions, e.g. This includes the use of sine, cosine, arctangent, etc. On the CPU, these functions require special CPU instructions. It may be implemented as a floating-point library function, or on the GPU, These functions are implemented as floating-point units within U. These functions are written to take a number and return the result in the same floating-point representation. is exact when floating-point numbers are exact, rounded correctly, and All edge cases in floating-point number representation (+ / - infinity, NaN, signed zero, and It is built for the general case, dealing with arithmetic operations (both normal and subnormal floats).
[0184] In Maxwell holographic calculations using fixed-point representation, gradual underflow No need to use subnormal floating point numbers for row and NaN from operations like divide by zero There is no need to process the results of floating-point operations, no need to change the rounding mode, and floating-point operations are All of this allows you to do things like, Simplifying (and / or optimizing) transcendental mathematical functions, as explained below (Things that can be done).
[0185] In some cases, you may want to take arguments in one fixed-point format and return values with different levels of precision. Optimization can be performed as shown, for example, input s28.12 and output s15.14. This means that the input argument can be large, but the output only has values in the range [-1,1]. If you need to calculate the sine of a large value, say tens of millions, or if you need to take any value, This can be particularly desirable when computing arctangents, which return values in the range [-π / 2,π / 2]. .
[0186] In some cases, depending on the input range involved, a fully enumerated lookup table , interpolated tables, semi-tables based on polynomial functions, or full minimax polynomials. Optimizations can be made to freely implement transcendental functions as semitables based on nominal expressions. For large inputs, pipelined computations on general-purpose GPUs can be omitted for speed. Special range reduction methods can also be applied to deal with this.
[0187] In some cases, another optimization is to scale trigonometric calculations from the range [-π,π] to the range [-1,1 ] to a signed two's complement representation, which is expensive This has the advantage that no modulo 2π division operation is required.
[0188] Example of implementation of occlusion Occlusion is often considered a difficult and important subject in computer graphics. This is especially true in computational holography. Therefore, the occlusion problem in projection CGI is static, whereas in holographic systems This is because in a movie, what is hidden and what is visible depends on the viewer's position and direction. To deal with holographic occlusion, the GS holographic wave method or its derivatives However, it is important to mask the contributions from parts of the scene that are behind other parts of the scene. Checking or blocking becomes very complex and computationally expensive with the GS method. may be higher.
[0189] In Maxwell holography, which display element (e.g., facet) is which primitive Since the correspondence between the two is completely deterministic and self-evident, the blocking problem can be dealt with relatively easily. For example, it is possible to determine whether a particular display element contributes to the reconstruction of a particular primitive. This can be determined when the computation for a particular primitive is performed. After determining that multiple display elements do not contribute to a particular primitive, When calculating the sum of the EM contributions to one of the elements, the The EM contribution is omitted from the calculation of the sum of the EM contributions to one of the display elements. .
[0190] For illustrative purposes only, Figures 3D-3F show a specific Display elements that do not contribute to the primitive (points in FIG. 3D, lines in FIG. 3E, and triangles in FIG. 3F) The line primitive includes a start point O1 and an end point O2.
[0191] As shown in FIG. 3D, the point primitive P0 is located behind the occluder. By extending the lines connecting O1-P0 and O2-P0, the points Display elements D1 to D2 in the display that do not contribute to the reconstruction of primitive P0 The range of is determined.
[0192] In some examples, the coordinate information of O1, O2, and P0 is stored in a GPU (e.g., the GPU in FIG. 1A). It is known from calculations by U108 that the scene is a Maxwell holographic For example, a "Z" bar may be added before being sent to a controller (e.g., controller 112 in FIG. 1A). For example, the coordinate information in the XZ plane with y=0 is stored in O1(Ox1, Oz1), O2(Ox2,Oz2), and P0(Px,Pz), where Oz1 = Oz2 Based on this coordinate information, the coordinate information of D1 and D2 can be calculated as follows: It can be determined as follows. Dx1=Px+ρ(Px-Ox2), Dx2=Dx1+ρ(Ox2-Ox1) (4) where ρ=Pz / (Oz-Pz), and Dz1=Dz2=0.
[0193] The information in D1 and D2 is in addition to the information in the Z buffer of point primitive P0. The information can be stored in the "S" buffer of the Maxwell holographic controller. In this way, additional information can be used to The contribution of a particular display element (within the range of D1 to D2) to a particular primitive P0 is trivially Can be masked.
[0194] FIG. 3E shows the effect of a particular display element on the line primitive when an occluder is present in front of the line primitive. This shows how a particular display element D0 contributes to the occlusion. Two point primitives on a line primitive by connecting O1 and the end point O2 P1 and P2 are determined as the intersection points. Therefore, a particular display element D0 is a line printer. Therefore, it does not contribute to the reconstruction of the part of the line primitive P1-P2 on the primitive. When calculating the total contribution of EM to a given display element D0, the portion P1- of the line primitive is The EM contribution from P2 is not calculated.
[0195] This can be implemented in two ways. The first way is to consider occlusion from occluders. By this, the distribution of EM from the portions P0-P1 and P2-Pn to a particular display element D0 is The contributions of the line primitives to the particular display element D0 are summed up as the EM contributions of the line primitives to the particular display element D0. In this method, by considering occlusion from occluding bodies, we can calculate the occlusion from the entire line primitive P0-Pn. The EM contribution of is calculated together with the EM contribution from part P1-P2, and the two calculated E The difference between the M contributions is considered as the EM contribution of the line primitive to a particular display element D0. The coordinate information of P1 and P2 or the portion P1-P2 can be used to determine whether a particular display element D0 is contributed to the display element D0. As part of the line primitives, the Maxwell holographic controller's "S ” buffer, and together with it, the occlusion information and other information are stored in the “Z " buffer.
[0196] FIG. 3F shows how a particular display element can be used to create a triangle primitive with an occluder in front of it. This shows the determination of how a particular display element D0 contributes to a shape primitive. The four points on the sides of the triangle primitive are connected to the start point O1 and the end point O2 of the field. The point primitives P1, P2, P3, and P4 are determined as intersection points. , a particular display element D0 is a triangle P1 bounded by points P1, P2, P3, P4, and PC. Therefore, the contribution of EM to a particular display element D0 When calculating the sum of the triangle primitive parts P1-P2-P3-P4-PC The contribution of EM is not calculated. That is, by considering the occlusion from the occluder, The first triangle formed by PA, P1, and P2, and the points PB, P3, and Only the EM contribution from the second triangle formed by P and P4 is included in the triangle primitive P The contributions of A-PB-PC EM are summed. P1, P2, P3, and P4 or P3 The coordinate information of the polygon primitives PA-P1-P2 and PB-P3-P4 is As part of the triangle primitive PA-PB-PC that contributes to child D0, Maxwell Holo It is stored in the "S" buffer of the graphics controller, along with the information of the occluders and This and other information can be stored in the GPU's "Z" buffer.
[0197] The implementation of occlusion in Maxwell holography uses a "Z" buffer in the GPU to maximize A specific table can be converted into the "S" buffer in the Well Holographic Controller. A specific primitive (or This allows you to mask the contribution of certain parts of the primitive. Instead, we use the exact, physically correct occlusion as a primitive to proceed to the next display element calculation. The "S" buffer not only provides a high-resolution image but also saves computation time. may contain additional information related to
[0198] The "S" buffer is a holographic specular reflector (Ho) whose surface reflectance is dependent on the viewing angle. This can include rendering features such as highlights (e.g., dazzling, specular) In traditional CGI, specular highlights only depend on the orientation of the object being rendered. In Maxwell holography, the direction from which the object is viewed also plays a role. Therefore, in the "S" buffer, contributions are added (specular reflection) rather than subtracted (occlusion). In Maxwell holography, geometric specular information can be encoded as The calculation for holographic specular highlights is The calculation can be substantially the same.
[0199] Example of a stitched implementation Display modulated using EM contributions from a list of 3D object primitives When light hits the screen, the modulated display causes the light to propagate in different directions, This volumetric light field is then used to create a volumetric light field corresponding to the luminous element. Graphic reconstruction is the process of reconstructing two adjacent primitives in a 3D object, e.g., a triangle primitive. Primitives have shared edges. When reconstructing, the separate edges of two adjacent primitives The restructuring of the edges may double the light intensity of the shared edges. This can cause alignment problems that affect the appearance of the reconstructed 3D object. This sometimes happens.
[0200] To address the stitching problem in Maxwell holography, we use the As shown, a predetermined distance is used to allow gaps to form between adjacent primitives. It is possible to shrink adjacent primitives by a factor that is equal to the size of the original image. Instead of shrinking adjacent primitives, it shrinks one primitive or Only a portion is scaled down. For example, you can scale down the line of a triangle primitive to fit another triangle primitive. In some cases, changing this size can be done by Resizing different parts of a primitive using predetermined coefficients This resizing can be done by adjusting the gap between adjacent primitives. The reconstructed 3D object is large enough to separate and minimize the stitching problem. It can be designed to be small enough to appear seamless to the body. The coefficients determined beforehand are based on the display information, e.g., the maximum spatial resolution of the display. It can be determined based on.
[0201] In some cases, the resizing operation may be performed by a holographic renderer, e.g., as shown in FIG. 1A. Primitive data for primitives obtained from the holographic renderer 130 The primitive data can be applied to the resized primitives. The swell is transmitted to a holographic controller, such as the controller of FIG. 1A. In some cases, the controller may adjust the EM of the primitive to the display elements of the display. Before calculating the input, the primitive data obtained from the holographic renderer is to perform resize operations.
[0202] Texture mapping implementation example Texture mapping is a technique developed in computer graphics. The basic idea is to take a source image and apply it as a decal to a surface in a CGI system. This allows you to create shapes in the scene without having to add complex shapes. Texture mapping is a common technique used in CGI systems. It can include techniques for creating realistic lighting and surface effects in triangles. It can refer to the application of surface data to a geometric mesh.
[0203] In Maxwell holography, we can visualize any triangle in space and the holographic device Using the analytical relationship between the phase map above, we can obtain a flat-shaded, interpolated triplet. Angular meshes can be rendered in true 3D, but modern rendering engines It includes the ability to map information onto the surface of these triangles for compatibility with .NET. This capability is due to the fact that the speed of the method derives from the existence of analytical mapping and is data-driven. This can pose a real problem as it does not allow for variations in the amplitude of the dynamics.
[0204] The Discrete Cosine Transform (DCT) is an image compression method and is a real-valued version of the Fast Fourier Transform (FFT). The DCT can be seen as a digital version of the DCT, which is an encoding that assigns weights to the cosine harmonics within a particular image. The result of the encoding is a number that matches the number of pixels in the original image. weighting of an equal number of runs, and if all weights are used to reconstruct the image, However, for many images, an acceptable reconstruction is a subset of the weights This allows for a large compression ratio.
[0205] The process of decoding (rendering) the DCT in two dimensions is It contains a weighted double sum over all target pixels. The superposition can be applied to Maxwell holography for texture mapping. In well holography, the rendering of a triangle is done by applying any individual function to the triangle. To determine the phase contribution of the cell, a "spiked" double integral in phase space is included. The integrals of are folded into a double sum that reflects the double sum in the DCT reconstruction, and then We can re-derive the analytical formula for the triangle in terms of weight. Maxwell Holographic This implementation of the DCT method in the calculation renders a complete texture-mapped triangle. and employing image compression to render texture triangle data. and existing methods that automatically compress texture and image data using DCT / JPEG. This allows you to use a set of tools.
[0206] Some implementations use a textured triangle for drawing Maxwell holographics. To do this, the desired spatial resolution for mapping on a specified surface is first calculated. , a texture with this resolution is provided, and it is DCT compressed with an angle, and the texture is The origin information is obtained to place the object at the correct position on the triangle. The list of DCT weights is included in the indexed primitive, and the Maxwell holo The DCT weights are sent to the graphics controller. textured triangles may be n times slower than flat triangles. where n is the number of DCT weights (non-zero) sent with the primitive. A DCT encoding step replaces the filtering step of the previous projection rendering. Using the latest techniques for "fragment shading" with Maxwell holography It can be implemented in a digital system.
[0207] As an example, the following equation shows the DCT weights Bpq of an image:
[0208]
number
[0209]
number
[0210]
number
[0211] By decoding, the amplitude value Amn can be obtained as follows:
[0212]
number
[0213]
number
[0214] The EM contribution of a textured triangle primitive to a display element (e.g., facet) is When calculating, the DCT terms with the corresponding DCT weights A*mn are included in the calculation as follows: It is possible.
[0215]
number
[0216] Process Example FIG. 4 is a flowchart of an example process 400 for displaying an object in 3D. The process 400 may be executed by a controller for a display. , which can be controller 112 in FIG. 1A or 152 in FIG. 1B. can be display 114 in FIG. 1A or 156 in FIG. 1B.
[0217] Data containing each primitive data of the primitive corresponding to the object in 3D space is obtained. This data is then transferred to a computing device, e.g., the computer of FIG. 1A. The computing device 102 may be The computing device can process the image to generate primitives corresponding to the object. can include a renderer to generate primitive data for a primitive In some implementations, the controller may, for example, render a scene. Generate the data itself.
[0218] The primitive can be a point primitive, a line primitive, or a polygon primitive. The list of primitives can be indexed in a specific order. The primitive data are then sorted into text and the object can be reconstructed in that order. The color information may include at least one of a solid color or a gradient color. For example, a line primitive may have at least one of a gradient color and a texture color. Polygon primitives can also have a gradient color or texture. The primitive data can have at least one of the following colors: texture information of primitives on one or more surfaces of a block (e.g., triangles); and The shading information may also include one or more surfaces of the primitive. It can include modulation of at least one of color or brightness on the surface. The primitive data may also include coordinate information for each of the primitives in a 3D coordinate system.
[0219] The display may include multiple display elements, and the controller may include multiple computing devices. Each coordinate information of each of the display elements in the 3D coordinate system can be input to a 3D display unit. It can be determined based on the coordinate information of each of the primitives in the D coordinate system. The distance between the splay and the object corresponding to the primitive may be predetermined. The coordinate information of the display element is determined based on the specified distance and the coordinate information of the primitive. The coordinate information of each display element is stored in memory as the logical memory address of the element. In this way, the controller can When looping through the logical memory addresses of the display elements in space, The corresponding actual physical location can be identified.
[0220] The EM field contribution from each of the primitives to each of the display elements is calculated as follows: The EM field is determined by calculating the propagation of the EM field from the fiber to the element (404). The contribution may include at least one of a phase contribution or an amplitude contribution.
[0221] As described above with respect to FIGS. 3A to 3C, the coordinate information of each display element and the primitives At least one distance between the primitive and the display element is determined based on the coordinate information of each of the primitives. In some cases, at least one distance is measured only once per primitive. For example, the controller may Based on each coordinate information of the primitive and each coordinate information of the first element, determining a first distance between a first one of the primitives and a first one of the display elements; a first primitive based on the first distance and the distance between the first element and the second element; A second distance between the first element and a second one of the elements can be determined. The distance between the elements may be predetermined based on the pitch of the elements of the display. do.
[0222] The controller determines the distance based on a predetermined expression and at least one distance of the primitive. Based on this, the EM field contribution from the primitive to the display element can be determined. That is, as explained above with respect to FIGS. 3A-3C, the predetermined formula This can be determined by analytically calculating the propagation of the EM field from the fiber to the element. That is, the predetermined equation is determined by solving Maxwell's equations. Finally, Maxwell's equations provide boundary conditions defined at the surface of the display. The boundary conditions may include Dirichlet or Cauchy boundary conditions. The primitives and display elements exist in 3D space, and the display surface is , which form part of the boundary surface in 3D space. The predetermined formulas are sine, cosine and The controller may include at least one of a function including a constant and an exponential function. During calculation, identify at least one value of the function in a table stored in memory This can improve the calculation speed. In parallel with determining the contribution of the second EM field from the primitive to the display element, of the primitive by determining the first EM field contribution from the primitive to the display element. For each, the EM field contribution to each of the display elements can be determined.
[0223] For each display element, the sum of the EM field contributions from the list of primitives to the display element is generated (406).
[0224] In some implementations, the controller controls a first EM field from the primitive to a first display element. Determine the contribution of the first EM field of the first element and sum the contribution of the second EM field of the primitive. Determining the second EM field contributions to the display elements and summing the second EM field contributions of the second elements. A controller can include multiple computing units. The controller converts the second primitive into the first element by the second computing unit. In parallel with determining the EM field contribution to The EM field contribution from one primitive to the first element can be determined.
[0225] In some implementations, the controller may: determining a contribution of each EM field from the second primitive to each of the display elements; The controller then determines the contribution of each second EM field for the display element. In particular, the EM field contributions of the display elements are accumulated by adding to each EM field contribution of The controller may use a second computing unit to control a second processor. In parallel with determining the contribution of each second EM field from the optical element to each of the display elements, The computing unit is used to generate the first primitives for each of the display elements. The contribution of each first EM field to each can be determined.
[0226] A first control signal is sent to the display, the first control signal controlling the distribution of the electromagnetic field to the display element. The total number of layers present is used to modulate at least one characteristic of each display element based on the total number of layers. 08) At least one characteristic of the element is a refractive index, amplitude index, birefringence, or retardation. Contains at least one of these.
[0227] The controller calculates the display element based on the sum of the EM field contributions from the primitives to the element. Each control signal can be generated for each of the primitives. M is present to modulate at least one property of the element based on the sum of the field contributions. That is, the first control signal includes each control signal for the display element.
[0228] In some cases, the display is controlled by electrical signals, where each control signal is For example, an LCOS display may display individual pixels as intensities of elements. LCOS displays contain an array of microelectrodes with separately controlled voltages. The liquid crystal (LC) formulation can be filled with a birefringence changing agent. Each control signal in the The relative phase can be controlled.
[0229] As previously mentioned, the surface of the display forms part of the boundary surface. Multiplying the sum of the field contributions for each of the elements by a scale factor changes the magnitude of the field contributions The magnitude of the field contribution for the element is calculated based on the calculated sum. In some cases, the controller may generate a control signal for each of the elements. The sum of the field contributions is, for example, normalized across all elements to obtain the positive field contributions for the elements. Each control signal can be generated based on the normalized sum.
[0230] A second control signal is sent to the light emitter, the second control signal turning the light emitter on and modulating the The controller is present to direct light to the display (410). a second control signal in response to determining completion of obtaining the sum of the field contributions for each of the Time symmetry (or conservation of energy) allows Ray modulators propagate light in different directions, creating volumetric illumination that corresponds to objects in 3D space. The volumetric light field can be defined by the modulator elements of the display. It can accommodate the solution of Maxwell's equations with boundary conditions.
[0231] In some implementations, the light emitter receives the light from one or more emitters within the light emitter via a memory buffer. The light element is coupled to a controller configured to control the amplitude or brightness of the light element. The body's memory buffer may have a smaller size than the display's memory buffer. The number of light emitting elements in the emitter can be less than the number of elements in the display. The controller is configured to simultaneously activate one or more light emitting elements of the light emitter. It can be done.
[0232] In some cases, the light emitters may comprise two light emitters each configured to emit light having a different color. The controller controls the light emitting element to generate information associated with the first color during a first period. and modulating the display continuously using a second color associated with the second color during a second continuous period. modulating a display using the received information; and controlling light emitters to emit light during a first period. A first light-emitting element is continuously turned on to emit light having a first color and a second light-emitting element is continuously turned on to emit light having a second color during a second period. and sequentially turning on the light-emitting element of the first color to emit light having a second color. , can be constructed. In this way, multicolored objects can be displayed in 3D space.
[0233] In some cases, the display has a resolution fine enough to diffract light. can shine white light onto a display, and the display can then convert this white light into different colors. diffracts light into a spectrum having a different color, thereby allowing the display of multicolored objects.
[0234] System Example 5A-5F show an exemplary system implementation for a 3D display. Any one of the systems can correspond, for example, to system 100 of FIG. 1A.
[0235] FIG. 5A shows a system 500 including a reflective display. , computer 502, controller 510 (e.g., ASIC), display 512 (e.g., an LCOS device), and a light emitter 514. The computer 502 1A, the controller 510 may be the computing device 102 of FIG. 1A, and the display 512 can be the display 112 of FIG. 1A. The light emitter 514 may be the light emitter 116 of FIG. 1A. do.
[0236] As shown in FIG. 5A, a computer 502 renders a scene of objects. The renderer 503 is an application 504 for rendering the scene. The video data is processed continuously by the video driver 505 and the GPU 506 . The GPU 506 may be the GPU 108 of FIG. 1A, and may process the scene and each primitive. It may be configured to generate a list of primitives corresponding to the data, e.g., video The driver 505 processes the scene data to be rendered and generates a list of primitives. As previously mentioned, the GPU 506 may be configured to generate primitives. A conventional 2D rendering is used to render a list of frames and draw them on the 2D display screen 508. The GPU 50 may include a graphics processing unit (GPU), such as the conventional 2D renderer 120 of FIG. 1A. 6 or the controller 510 renders the list of primitives into graphics data. a holographic renderer for rendering and displaying by a display 512; For example, it may include the holographic renderer 130 of FIG. 1A.
[0237] The controller 510 receives the graphics data from the computer 502 and Calculate the EM field contribution to each of the elements of the display 512 from the list of primitives and The controller is configured to generate respective sums of the EM field contributions from the active to each of the elements. The controller 510 controls each of the display elements to modulate at least one characteristic of the display element. The controller can generate the control signals for the display 512. Each control signal can be sent to a display element of a display 512 via a buffer 511 .
[0238] The controller 510 generates and transmits a control signal, for example, a light emission timing signal, For example, the controller 510 may activate a light source 514 from a primitive. In response to determining that the calculation of the sum of the EM field contributions from the display element to the control element is complete, As previously mentioned, the controller 510 can generate and transmit a signal. The buffer allows control signals to be sent to the light emitter 514. 4 and configured to control the amplitude or brightness of the light-emitting elements in the It is possible.
[0239] As shown in FIG. 5A, the light emitter 514 emits light at angles of incidence ranging from 0 degrees to 90 degrees. A collimated beam of light 516 can be emitted that is incident on the front surface of the spray 512. The reflected light is reflected from the front surface of the display 512 onto an object that can be seen by a viewer. A corresponding holographic light field 518 is formed.
[0240] FIG. 5B shows another system 520 including another reflective display 524. Compared to system 500 of 5A, system 520 includes a larger reflective display 5 24. To accommodate this, the display controller 522 controls the light emitter 526 The controller 522 is contained in a wedge-shaped housing that can provide support for the 5A, and receives graphic data from a computer 521. and calculates the EM field contribution from the primitive to each of the display elements of the display 524. and configured to generate respective sums of the EM field contributions from the primitives to each of the display elements. The controller 522 then controls the display element to modulate at least one characteristic of the display element. To do this, the respective control signals for each of the display elements are generated and stored in the memory buffer of the display 524. These control signals are transmitted to the display elements of the display 524 via the controller 523 .
[0241] The controller 522 also sends a control signal to the light emitter 526 to activate the light emitter 526. The light emitter 526 emits divergent or semi-conducting light beams to cover the entire surface of the display 524. The light beam 524 is reflected by the display 524 to be modulated. 528.
[0242] FIG. 5C shows a system 530 that includes a transmissive display 534. The display 534 can be, for example, a large display. The controller 532 may be similar to the controller 510 of FIG. 5A. The controller 532 receives the graphics data from the computer 531 and converts it into primitives. Calculate the EM field contribution to each of the display elements of the display 534 from the primitives and The controller may be configured to generate a respective sum of the EM field contributions to each of the display elements. The controller 532 controls each of the display elements to modulate at least one characteristic of the display element. and transmits them via a memory buffer 533 of a display 534. Each control signal is sent to a display element of the display 534.
[0243] The controller 532 also sends a control signal to the light emitter 536 to activate the light emitter 536. Unlike the system 500 of FIG. 5A and the system 520 of FIG. 5B, in the system 530 The light emitter 536 is located behind the rear surface of the display 534. To cover the large surface of 34, the light emitter 536 emits divergent or semi-collimated light beams 53 5 is directed to the rear surface of the display 534. The light beam 524 is modulated by the display 534. , forming a holographic light field 538.
[0244] FIG. 5D shows another system 540 that includes a transmissive display 544. System 540 also includes a controller 542 and a light emitter 546. Controller 542 is shown in FIG. The controller 510 of FIG. 5A may be similar to the computer 541, which may be a graphics Receives data, performs calculations on the graphics data, and displays the results on the display 544 generating and transmitting control signals for modulation and timing for actuating the light emitters 546; It may be configured to generate and transmit a signal.
[0245] The light emitter 546 can include a light source 545 and a waveguide 547. The emitted light can be coupled into waveguide 547, for example, from a vertical cross section of the waveguide. 47 is configured to guide the light to evenly illuminate the surface of the display 544. The light guided by the tube 547 is incident on the back surface of the display 544, 544 to form a holographic light field 548.
[0246] Unlike system 500 of FIG. 5A, system 520 of FIG. 5B, and system 530 of FIG. 5C, system 540 In the 550. In some cases, the waveguide 547 and the light source 545 are integrated into the active The light emitting waveguide can be integrated in a planar form, thereby forming a single unit As mentioned above, a single unit 500 can be , connected to other similar units 550 to form a larger holographic display device. A vice can be formed.
[0247] Figure 5E shows another system 560 that includes a transmissive display 564. Compared to 540, the transmissive display 564 is larger than the transmissive display 544. For example, a transmissive display 564 may be implemented. roller 562 may have a larger area, and to accommodate this, the controller 562 may be located remotely from the display 564. The system 560 includes a light source 565 and a light emitter 566 including a waveguide 567. The waveguide 567 may be, for example, a display 5 64 and integrated with display 546. In some implementations, display 5 64 may be fabricated on the front side of the substrate and waveguide 567 may be fabricated on the back side of the substrate.
[0248] The controller 562 may be similar to the controller 510 of FIG. 1A and may receives graphics data from the processor 561 and performs calculations on the graphics data. , generate control signals for modulation to the display 564, and store the memory buffer 563 and transmitting a timing signal to activate the light source 565 via the Light emitted from the light source 565 is guided within the waveguide 567 and directed to the display. The holographic light illuminates the back of the display 564 and is transmitted through the display 564. Forms a firing range of 568.
[0249] Figure 5F shows another system 570 that includes a reflective display 574. The display 574 can be, for example, a large display. The waveguide 577 is disposed in front of the reflective display 574. 2 is similar to the controller 562 of FIG. 5E and receives graphics data from a computer 571. It receives the graphic data, performs calculations on the graphic data, and displays it on the display 574. A control signal for modulation is generated and transmitted through a memory buffer 573. 6 light sources 575. Light coupled from the light source 575 to the light emitter 576 is guided in front of the display 574. is incident on the surface and reflected by the front surface to form a holographic light field 578.
[0250] Display implementation example As mentioned above, the display in Maxwell holography is a phase modulation device. The phase element (or display element) of the display can be For the sake of explanation only, the following will be described using an LCOS ( LCOS devices are silicon based. LCOS devices are displays that use a liquid crystal (LC) layer on a backplane. Minimum pitch of facels, minimum crosstalk between facels, and / or available It may be optimized to achieve a large phase modulation or phase difference (e.g., at least 2π). do.
[0251] Birefringence (Δn) of the LC mixture, cell gap (d), and dielectric anisotropy (Δε) of the LC mixture , rotational viscosity of the LC mixture (η), between the silicon backplane above the LC layer and the common electrode A list of parameters, including the maximum voltage (V) that can be applied to the LCOS device, is used to optimize its performance. It can be controlled to optimize.
[0252] There can be fundamental trade-offs between liquid crystal material parameters, for example: The basic boundary parameters are the available phase modulation or phase difference (Re), which are It can be expressed as follows: Re=4π·Δn·d / λ (8) where λ is the wavelength of the input light. The phase difference Re of red light having a wavelength of about 0.633 μm If needs to be at least 2π, then: Δn·d≧0.317μm (9) The above equation implies a direct correlation between the cell gap (d) and the birefringence (Δn) of the LC mixture. This means that there is a do-off.
[0253] Another boundary parameter is the switching speed, or the rate at which the charge in the LC layer changes after a voltage is applied. The switching time (T) it takes for the liquid crystal (LC) molecules to reach the desired orientation. For example, real-time video using a three-color field sequential color system (approximately 60 Hz), the upper limit of 5.6 milliseconds (ms) is set for the LC switching speed. The switching time (T) is the time required for the liquid crystal layer to be modulated at 180 Hz or more. It is related to several parameters including the filter gap, and the applied voltage. is proportional to d2. As the cell gap d decreases, the switching time decreases as the square of d. Second, the switching time decreases proportionally to the dielectric anisotropy ( The switching time is also related to the Δε, and the higher the dielectric anisotropy, the shorter the switching time and the higher the viscosity. The lower the voltage, the shorter the switching time.
[0254] The third boundary parameter can be the fringing field. Due to the mobility, LCOS devices can be fabricated with extremely small facet size (e.g., less than 10 μm). The thickness of adjacent facets can be increased by 100 μm or more, and gaps between facets can be reduced by 100 μm or less. When operated at different voltages, the transverse components of the fringing field cause The LC director is distorted, which significantly degrades the electro-optical performance of the device. However, when the facet gap becomes comparable to the wavelength of the incident light, diffraction effects cause significant light loss. To keep noise within acceptable levels, the facet gap must be kept below the pitch of the facel.
[0255] In some cases, LCOS devices may exhibit field fringe boundary conditions as low as 2 μm. The cell pitch is designed to be 1 μm and the cell gap is about 2 μm. According to Δn d≧0.317μm, Δn must be 0.1585 or more, which is is achievable using current liquid crystal technology. After the refractive index has been determined, the dielectric anisotropy can be increased and / or the rotational viscosity can be decreased. By doing so, the LC can be optimized for switching speed.
[0256] Mounting uneven facets of displays In LCOS devices, circuit chips, such as complementary metal oxide semiconductor (CMOS) a complementary metal-oxide-semiconductor chip or equivalent beneath the chip surface Each phasel is controlled by controlling the voltage of the embedded reflective metal electrodes. The common electrode of all facels is a transparent conductive layer made of indium tin oxide on a cover glass. The cells are of the same size and shape (e.g., square). For example, the chips may each have independently addressable voltages. As mentioned above, the facel When the gap becomes comparable to the wavelength of the incident light, the diffraction effect appears as a periodic reflection of the LCOS device. They can appear in structures and cause significant light loss.
[0257] In Maxwell holographic calculations, each facet receives EM contributions from each primitive. The Maxwell hologram is a holographic representation of the holograms. The facets of the LCOS devices in the system can be designed differently from each other. For example, As shown in FIG. 6A, the LCOS device 600 has a plurality of non-uniform (or irregular) ) facets 602. At least two facets 602 may have different shapes. The non-uniform shape of the facet 602 significantly reduces diffraction aberrations, among other effects. The facets can be reduced or eliminated, thus improving image quality. Although the facets can have a uniform shape, the facets are sized to meet the desired spatial resolution. The silicon backplane can be designed to have a fabric thickness (e.g., about 3 μm). According to the shape of the cell, each circuit (including, for example, metal electrodes) is provided for each of the face cells. The device may be configured to:
[0258] A first voltage is applied to select a particular facet in an array of facets of an LCOS device. A voltage is applied to the word line connecting the row of phasels that contains the particular phasel, and a second voltage A voltage is applied to the bit line connecting the column of phase cells that contains the particular phase cell. The resistance of the cells can limit the speed at which an LCOS device can operate. do.
[0259] As mentioned above, in Maxwell holography, facets have different sizes. As shown in FIG. 6B, the LCOS device 650 can be mounted on another facet 6 52. The device is designed to include one or more facets 654 having a size larger than 52. All of the facets can still have a size distribution that meets the desired resolution. For example, 99% of the facels have a size of 3 μm, and 1% of the facels have a size of 6 μm. The larger sized facet 654 has the same circuitry as facet 652. In addition to the circuitry, at least one buffer 660 is disposed within the facet 654. The buffer 660 allows the voltage to be applied to a smaller number of phase cells in a row or column of phase cells. The buffer is configured to buffer the applied voltage so that it is applied only to the buffer. 660 may be an analog circuit, for example made of transistors, or a plurality of logic gates, for example. digital circuits made of silicon, or any combination of these. do.
[0260] For example, as shown in FIG. 6B, to select a particular facet 652*, A voltage is applied to the word line 651 and another voltage is applied to the bit line 653. 2* is in the same row as the larger phase cell 654 containing the buffer 660. In front of the larger facet 654, the first number of facets in the row are added primarily to the larger facets. The light is blocked by the buffer 660 in the facet 654. The speed at which the LCOS device 650 can operate can be improved. To achieve this, the larger size of the Facel 654 and other circuits are also implemented using the LCOS device 6 50. Facel 654 and facel 652 in FIG. 6B have square shapes. However, one or more facets 654 have a larger size than the other facets 652. The facets may have shapes different from those shown in FIG. 6A, so long as they are .
[0261] Calibration Example The unique properties of Maxwell holography in this disclosure allow for the protection of calibration techniques. This can provide a significant competitive advantage in the actual manufacturing of high quality displays. In combination with Maxwell holographic computational techniques, multiple calibration methods are available, including: The law can be implemented. (i) Dirichlet boundary condition modulators and / or mechanical and software circuits The image sensor is used in conjunction with diffractive and non-diffractive calibration techniques. (ii) Software including individual color calibration and adjustment using Dirichlet boundary condition modulators Software adjustment and software calibration; and (iii) Embedding silicon functionality into the boundary condition modulator and optical This allows for detection of electrons and, when combined with Maxwell holography, allows for calibration of production Create powerful and unique ways to simplify processes.
[0262] In the following, for the sake of explanation only, a phase-based display, e.g., an LCOS display, will be used. Three types of calibration are performed on the rays: Each phase element can be represented as a facet.
[0263] Phase Calibration The amount of phase added to light impinging on an LCOS phase element (or phasel) is determined by the This can be directly known from the voltage applied to the phasel, which is the birefringence of the liquid in the presence of an electric field. Rotation of the crystal (LC), and therefore the change in index of refraction and the speed of light that changes the phase The phase changed is due to the decrease in the liquid crystal (LC) and the silicon device where the LC is present. To achieve high quality holographic images, the LC The digital signal sent to the OS must be converted to a precise analog voltage. The LCOS device is an analog device that allows a digital signal to be applied to the LC to produce a range of phases. Phase calibration is included to ensure proper conversion to a linear It is expected to produce a fixed increment regardless of the starting voltage value. When the applied voltage is changed, the phase also changes by a fixed increment.
[0264] In some cases, the user may want to control the amount of analog voltage output given a digital input signal. The LCOS device is used to implement a digital-to-analog converter (DAC) to control the A digital potentiometer can be applied to each input bit. If there are eight input bits, there are eight digital potentiometers, one for each input bit. The same digital input from the digital potentiometer controls all the phases of the LCOS device. A bit set to "1" activates the voltage, and a bit set to "0" activates the voltage. The bit does not drive a voltage. All voltages from such a "1" bit are summed together. , we get the final voltage sent to each cell. All "0" bits are non-zero. There may be a DC voltage applied in all cases to provide a quasi-voltage. Therefore, by setting the value of the digital potentiometer on the LCOS device, the LCO Calibration of the phase of the S device can be performed. For example, as previously mentioned, the controller Calculate the EM field contribution to each of the display's facets from the list of primitives and Generate a sum of the EM field contributions from the mitral to each of the facets and modulate the phase of the facets. In order to adjust the control signals, a control signal for each of the facets can be generated. To adjust the phase, the same digital signal from the digital potentiometer is used as the difference between the phase calibration for each phase. Digital inputs can be applied to all facets of the LCOS device. Once during the period of operation of the LCOS device, for example to display a hologram, It can be done.
[0265] A genetic algorithm is applied to determine the optimal set of calibration values for the phase of the digital input. The genetic algorithm can be used to generate a range of phases or holographic image components. There are many inputs that lead to one output, such as trust. The genetic algorithm can be reduced to a single number called the fitness. It may be configured to examine different combinations of input values until it achieves an output. That is, the algorithm takes two or more of the maximum fit inputs and The component values of the input are combined together to produce a signal with the characteristics of the received input but without the need for a In some cases, this algorithm can create new inputs that are different from each other. The algorithm changes one of these component values to a received value, denoted as a "mutation." The available compatible inputs can be changed to something that is not one of the compatible inputs provided. In some cases, it is possible to add By trying new values for Thus, one or more optimum values can be found.
[0266] There can be several ways to calculate the output value of the goodness of fit. One way is to use the Given a set of digital inputs applied to all facets, the phase change of light is calculated. In this way, the incident light can be polarized. Depending on the rotation of the LC, the polarization of the incident light can be changed. is reflected through another polarizer set to either the original polarization or a polarization that is 90 degrees different, After that, the light can enter the photodetector. Therefore, when the rotation of the LC changes, the light detection The intensity of the light can change when viewed from a different source. Phase changes can be perceived indirectly. Another way to calculate the phase change is to compare the mask with the background. The objective of this study is to measure the intensity difference of the well holographic reconstruction. In such cases, measuring the intensity requires a computer. Vision algorithms are used to identify Maxwell holographic reconstructions and their strengths It may be necessary to measure the degree.
[0267] Calibrating the adjustment The light source is not guaranteed to be aligned within the holographic device and therefore Different liquid crystals (LC) behave differently depending on the wavelength of the light source. Furthermore, both the LC and the light source may vary from device to device, resulting in different base colors. When presented, different features for the same input hologram, e.g., changing the size of the object, Additionally, certain hardware features may provide different optical effects, e.g. For example, lens effects may be applied to the output light, which also require correction.
[0268] In some implementations, a mathematical transformation is applied to the phase calculated for the display facet. By using the topology, the above-described problems can be addressed. This mathematical transformation is performed using the formula, e.g., Can be derived from Runike polynomials by changing the polynomial coefficients or other variable input values This mathematical transformation can be varied by facet and color. For example, the tilt applied to the light after it reflects off the display can be There are Zernike polynomial coefficients that correspond to the quantities.
[0269] To determine these coefficients / input values, in the case of a projection display, the camera is positioned on a reflective surface. Directly in the LCOS for direct-view displays, A series of holographic test patterns and objects can be created on the display. The image is sent to a ray and can be seen by a camera, which runs machine vision algorithms. can be used to determine what is being displayed and then calculate its fitness. For example, if a grid of points is the test pattern, the goodness of fit is a measure of how close the points are to each other. , how close the points are to the center, and how deformed the points are (e.g. For example, size or pincushion). Different features have different fitness values. Depending on these values, the fitness can be determined to a predetermined satisfactory level. Corrections can be applied, for example in the form of changing the coefficients of the Zernike polynomials, until These test patterns ensure consistent alignment of the object at all distances, not just at one point. To ensure that the image is rendered at different distances, such depth-based Calibration involves the depth of the holographic test pattern, and the reflection in the case of a projection display. This involves an iterative process that involves changing the depth of the projection surface to arrive at a solution that works correctly at both depths. The previous calibration may be repeated until convergence is achieved. Finally, to demonstrate the validity of the calibration, , white dots may appear.
[0270] Color calibration In holographic or other displays, any two units It ensures that colors are consistent across displays when rendering the same image, and High-definition television (HDTV) or computer monitor Television and color space standards, such as the Rec709 standard for the sRGB color space It is important that the colors match those defined by the computer display standard. Different battery life for hardware components, e.g. LEDs and laser diodes. Switches may behave differently for the same input, and may differ in how they are perceived by the human eye. Therefore, all display units must be calibrated. It is important that there be a color standard that can be measured.
[0271] In some implementations, an objective measure of color, specified by measurements of intensity and chromaticity, is called C Color intensity is measured against the IE (Commission Internationale de l'Eclairage) standard observer curve. Each display can be sampled with a series of known colors and intensities. The colorimeter data is then calibrated against the CIE standard observer curve. By measuring the output light using a device, you can identify the device in the CIE XYZ color space. Color output can be objectively defined using the deviation of measurements from any known correct value. , adapt the output color on the display, you can adjust the output color to the correct color, this , which may be implemented by using an iterative measure-adapt-measure feedback loop After Maxwell holography produces the exact output for a particular set of inputs, , a lookup table of illuminants that maps input values to output intensities, and a The final adaptation can be encoded as a color matrix transform that converts the input color space values. The correction table is embedded in the device itself to produce reliable and objective output colors. obtain.
[0272] Furthermore, LCOS devices have features fine enough to control diffraction with sub-wavelength precision. Given the device, the need for tristimulus emission (e.g., a linear mixture of red, green, and blue) Therefore, the LCOS device can be illuminated using a single-spectrum light source. , selectively adjust the output of the facel to generate tristimulus, tetrastimulus, or even N-stimulus output light can be combined with spatial dithering patterns to produce a general tristimulus approximation The full spectrum of color can be reproduced without the need for a wide-spectrum light source. Given the body, Maxwell holography is within the spectral locus of the human visual system. Any specular color can be produced.
[0273] Implementation of the objects and functional operations described herein may be performed in digital electronic circuitry. In tangibly embodied computer software or firmware, Computer hardware including the structures disclosed in the document and equivalents of those structures. or a combination of one or more of these. Implementations of the subject matter described in the specification may be implemented for execution by a data processing apparatus, or On a tangible, non-transitory computer storage medium to control the operation of a data processing device one or more modules of computer program instructions encoded in It may be implemented as one or more computer programs. The program instructions are transmitted to an appropriate receiver device for execution by the data processing device. A machine-generated electrical signal, optical, generated to encode information for It may be encoded into an artificially generated propagated signal, such as a signal or an electromagnetic signal. Computer storage media includes machine-readable storage devices, machine-readable storage substrates, Random access or sequential access memory devices, or one of these There can be multiple combinations.
[0274] "data processing device," "computer," or "electronic computing device" (also The term (or its equivalents as understood by those skilled in the art) refers to data processing hardware. refers to software, such as a programmable processor, computer, or multiple Any kind of device for processing data, including a processor or computer; An apparatus includes a dedicated logic circuit, such as a central processing unit (CP), a processor, a processor ... U), FPGA (Field Programmable Gate Array), or ASIC (Application Specific In some implementations, the processor may be a dedicated integrated circuit (e.g., a microprocessor), or may further include special purpose logic circuitry. Data processing devices and special purpose logic circuits are hardware-based and software-based. The device may be a piece of code that creates an environment for the execution of a computer program, e.g. , processor firmware, protocol stack, database management system, operator coatings comprising a coating system, or a combination of one or more of these This specification is not intended to be a substitute for a conventional operating system. intends to use a data processing device with or without a conventional operating system. Figure.
[0275] Programs, software, software applications, modules, software May be referred to or described as a module, script, or code A computer program may be written in a compiled or interpreted language, or in a declarative language. written in any form of programming language, including verbal or procedural languages as a standalone program suitable for use in a computing environment. , or as a module, component, subroutine, or other unit The computer program may be deployed in any form, including a file system. A program can, but need not, correspond to a file in another program. system or data, e.g., one or more The part of the file that holds the scripts contains a single file dedicated to that program. into one or more integrated files, e.g. one or more modules, sub-programs It may be stored in a program, or in a file that stores part of the code. The RAM can be located at one site or distributed across multiple sites. It is deployed to run on a computer or multiple computers and is used across a communications network. The parts of the program shown in the various figures may be interconnected by various Various features and functions are accessed through various objects, methods, or other processes. Although shown as separate modules that implement functionality, the program may instead consist of multiple Submodules, third-party services, components, libraries, etc. Conversely, the features and functions of the various components may be included as needed. may be combined into a single component if desired.
[0276] The processes and logic flows described herein operate on input data to produce output. one or more computer programs to perform functions by generating The program may be executed by one or more programmable computers running the program. Process and logic flow can be integrated into dedicated logic such as CPU, GPU, FPGA, or ASIC. The invention may also be implemented by dedicated logic circuits, and the apparatus may be implemented as such dedicated logic circuitry. It is also possible.
[0277] A computer suitable for running a computer program may be a general-purpose microprocessor or may be based on a dedicated microprocessor, both, or any other type of CPU. Typically, a CPU uses read-only memory (ROM) or Instructions and RAM are read from random access memory (RAM) or both. The main elements of a computer are a CPU to execute instructions, and one or more memory devices for storing instructions and data. , the computer includes one or more mass storage devices for storing data; For example, it may include a magnetic disk, a magneto-optical disk, or an optical disk, or any such mass storage device. operatively coupled to or such a mass storage device Receive and / or send data to and from the device, but A computer need not contain such a device. Furthermore, a computer may not contain another device. ,To name a few examples, e.g., mobile phones, personal digital assistants (PDAs), ), portable audio or video players, game consoles, global positioning systems (GPS :global positioning system) receiver, or portable storage device, e.g. , universal serial bus (USB) flash drives, etc. It can be embedded in
[0278] Computer-readable medium suitable for storing computer program instructions and data (either transient or non-transient, as appropriate) refers to any form of non-volatile Includes memories, media, and memory devices, examples of which include semiconductor memory devices, For example, erasable programmable read-only memory (EPROM) ble read-only memory), Electrically Erasable Programmable Read-Only Memory (EEPR OM (electrically erasable programmable read-only memory), and flash memory memory devices, magnetic disks, e.g., internal hard disks or removable disks Optical discs, as well as CD-ROMs, DVD-Rs, DVD-RAMs, and DVDs D-ROM disks, etc. Memory is used for caches, classes, and frameworks. , applications, backup data, jobs, web pages, web page templates Plates, database tables, repositories that store business and dynamic information, and any parameters, variables, algorithms, instructions, rules, constraints, or various objects or data, including references to Additionally, the memory may store logs, policies, security or access data. The processor and memory may include any other suitable data, such as a report file. The memory may be supplemented by, or incorporated in, special purpose logic circuitry.
[0279] To provide for user interaction, implementations of the subject matter described herein may include A display device for displaying to the user, such as a cathode ray tube (CRT) ray tube), liquid crystal display (LCD), light-emitting diode ( LED), or plasma monitor, and for the user to provide input to the computer keyboard and pointing devices, e.g., mouse, trackball, The input may be pressure sensitive. Touchscreens, capacitive or electrical sensing, such as the surface of a tablet computer Use a multi-touch screen, or any other type of touch screen, to It may also be provided on other types of devices to provide for user interaction. For example, feedback provided to the user may be any form of sensory feedback. Sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback The input from the user can be acoustic, speech, or tactile. In addition, the computer may send the document to the user. from the device used by the user By receiving it, you can interact with the user, for example, by receiving it from a web browser. In response to a request, the web page is delivered to the web browser on the user's client device. It is possible to interact with the user by sending a message to the user.
[0280] "Graphical user interface" or "GU The term "I" refers to one or more graphical user interfaces and specific To describe each of the displays of a graphical user interface, singular or The GUI may be used in multiple ways. Thus, the GUI may be used in a web browser, a touch screen, or a command line interface (CLI), Any of the following, including but not limited to, processing information and efficiently presenting the results of the information to the user: It may represent a graphical user interface. Generally, a GUI is a business-friendly Interactive fields, drop-down lists, and buttons that can be operated by a user wearing Multiple user interfaces, some or all of which are tied to a web browser, such as These and other UI elements may include b May relate to or represent the functionality of a browser.
[0281] Implementations of the subject matter described herein may be implemented in a back-end computer, e.g., as a data server. a computing system that includes a component, or a middleware component; For example, a computing system that includes an application server or a front-end and a user interface component, e.g., a user interface component, which allows a user to interact with an implementation of the subject matter described herein. It has a graphical user interface or a web browser that can be used to a computing system including a client computer running one or more Multiple such back-end components, middleware components, or The system may be implemented in any combination of front-end components. A component is any form or medium of wired or wireless digital data communication, e.g. They may be interconnected by a communication network. An example of a communication network is a local area network (LOI). local area network (LAN), wireless access network (RAN) :radio access network), metropolitan area network (MAN) area network), wide area network (WAN), World Wide Internet Interoperability for Microwave Access (WIMAX: worldwide interoperability perability for microwave access), e.g., 902.11 a / b / g / n and 90 2.20 using wireless local area network (WLAN) network), all or part of the Internet, and any The network may be, for example, an internetwork or a network of one or more other communication systems. Internet Protocol (IP) packets, Frame Relay frames , asynchronous transfer mode (ATM) cells, voice, video, data The communication may be performed using a data packet, or other suitable information between network addresses.
[0282] A computing system may include clients and servers. The client and server are usually remote from each other and are generally connected via a communication network. The client and server relationship is handled by the are computer programs that have a client / server relationship with each other. This occurs.
[0283] In some implementations, the computing system, both hardware and software, Any or all of the components may be implemented using an application programming interface. Use an application programming interface (API) or service layer APIs may interface with each other or with interfaces using It may contain specifications for routines, data structures, and object classes. , may be computer language independent or computer language dependent, and may be fully integrated It can refer to an interface, a single function, or a set of APIs. A layer provides software services to a computing system. Through the layer, all service consumers can access various aspects of the computing system. A software service may be able to access the functionality of a specific component. Provides reusable, defined business functionality through defined interfaces For example, the interface may be implemented in any suitable language, providing data in any suitable format. The API and service layer can be software written in It is integral or seamless in relation to other components in the operating system. Furthermore, it may be a stand-alone component without departing from the scope of this specification. Rather, any or all parts of the service layer may be integrated into another software module, enterprise industrial application, or a child or submodule of a hardware module It may be implemented as a rule.
[0284] Although this specification contains many specific implementation details, they are not intended to be limiting of the scope or scope of any invention. It should not be construed as a limitation on the scope of what can be claimed, but rather as a limitation on the specific implementation of a particular invention. This document should be interpreted as a description of features that may be unique to a particular implementation. Certain features described in this specification may be combined in a single implementation. Conversely, individual features described in the context of a single implementation may also be combined. , may be implemented separately in multiple implementations or in any suitable subcombination. Furthermore, features may be described as functioning in specific combinations and may be initially Although the invention may even be claimed in its entirety, one or more features from the claimed combination may be used in the In some cases, it may be removed from the combination, and the claimed combination may be partially The present invention may be directed to variations of the above-mentioned combinations or subcombinations.
[0285] Specific implementations of the subject matter have been described. As will be apparent to those skilled in the art, the described implementations Other implementations, modifications, and permutations of the device are within the scope of the following claims. Although the claims may refer to acts in a particular order, it is understood that any particular order may be used to achieve a desired result. In order to It should not be understood that all actions shown must be performed. (Some actions may be considered optional). In certain circumstances, multitasking or parallel processing may be advantageous where deemed appropriate. Well, it may be carried out. It should be noted that the present invention includes the following aspects. [Aspect 1] For each of a number of primitives corresponding to an object in three-dimensional (3D) space, The electromagnetic (EM) field contribution to each of the elements of the ray is calculated in a 3D coordinate system by the primitive determining by calculating the propagation of an EM field from the tube to the element; For each of the plurality of elements, the EM field from the plurality of primitives to the element and generating a sum of the contributions of [Aspect 2] The EM field contribution is at least one selected from the group consisting of a phase contribution and an amplitude contribution. 2. The method of embodiment 1, further comprising one element. Aspect 3 The primitives are selected from point primitives, line primitives, and polygon primitives. 3. The method of embodiment 1 or 2, comprising at least one member selected from the group consisting of: Aspect 4 The primitive is selected from the group consisting of gradient colors, texture colors, and shading effects. Any of aspects 1 to 3, having a line primitive including at least one element selected from The method according to any one of claims 1 to 5. Aspect 5 The primitive is selected from the group consisting of gradient colors, texture colors, and shading effects. 5. The method of claim 1, further comprising: 10. The method according to any one of claims 1 to 9. Aspect 6 6. Any of aspects 1 to 5, wherein the plurality of primitives are indexed in a particular order. The method according to any one of claims 1 to 5. Aspect 7 further comprising obtaining respective primitive data for each of the plurality of primitives. 7. The method of any one of embodiments 1 to 6. Aspect 8 The primitive data of each of the plurality of primitives is the determined EM field contribution for each of the elements includes color information; 8. The method of claim 7, further comprising: information corresponding to each of the color information of the blocks. Aspect 9 The color information is at least one selected from the group consisting of texture colors and gradation colors. 9. The method of embodiment 8, further comprising one or more of the following elements: Aspect 10 The primitive data for each of the plurality of primitives is 10. The method of any one of embodiments 7 to 9, comprising texture information. Aspect 11 The respective primitive data of each of the plurality of primitives is 11. The method of any one of embodiments 7 to 10, comprising shading information on one or more surfaces. Aspect 12 The shading information is a representation of the color and shading of the primitive on the one or more surfaces of the primitive. at least one of the brightness on said one or more surfaces of the optical element; 12. The method of embodiment 11, comprising modulation on at least one selected element. Aspect 13 The respective primitive data of each of the plurality of primitives is a front view in the 3D coordinate system. 13. The method of any one of aspects 7 to 12, including respective coordinate information of the primitives. Aspect 14 Each coordinate information of each of the plurality of elements in the 3D coordinate system is 14. The method of claim 13, wherein the coordinate information of the number of primitives is determined based on the coordinate information of each of the number of primitives. Aspect 15 The coordinate information of each of the elements is stored in a memory as a logical memory address of the element. The method of embodiment 14, corresponding to Aspect 16 for each of the plurality of primitives, the EM field contribution to each of the plurality of elements; determining the coordinate information of each of the elements and the primitives in the 3D coordinate system; At least one of the coordinates between the element and the primitive is determined based on the coordinate information of each of the primitives. 16. The method of embodiment 14 or 15, comprising determining a distance of Aspect 17 for each of the plurality of primitives, the EM field contribution to each of the plurality of elements; To determine Based on the coordinate information of each first primitive and the coordinate information of each first element, the first primitive of the plurality of primitives and the second primitive of the plurality of elements determining a first distance between the first element; Based on the first distance and the distance between the first element and the second element, Determining a second distance between the first primitive and a second element of the plurality of elements. 17. The method of embodiment 16, comprising: Aspect 18 The distance between the first element and the second element is 18. The method of embodiment 17, wherein the pitch is predetermined based on the pitch of the elements. Aspect 19 At least one of the plurality of primitives is a line plot including first and second endpoints. a primitive, and determining at least one distance between said element and said primitive. That is, determining a first distance between the element and the first endpoint of the line primitive; , determining a second distance between the element and the second point of the line primitive. 19. The method of any one of embodiments 16 to 18, comprising: Aspect 20 At least one of the plurality of primitives has first, second, and third endpoints. a triangle primitive including at least one element between the element and the primitive; Determining the distance is determining a first distance between the element and the first endpoint of the triangle primitive; And, determining a second distance between the element and the second point of the triangle primitive; and, determining a third distance between the element and the third point of the triangle primitive; 19. The method of any one of embodiments 16 to 18, comprising: Aspect 21 for each of the plurality of primitives, the EM field contribution to each of the plurality of elements; determining a distance based on a predetermined distance for the primitive and the at least one distance; determining the EM field contribution from the primitive to the element based on a formula 21. The method of any one of embodiments 16 to 20, comprising: Aspect 22 The predetermined equations solve for the propagation of the EM field from the primitives to the elements. 22. The method of embodiment 21, wherein the concentration is determined by analytically calculating the concentration. Aspect 23 the predetermined equation is determined by solving Maxwell's equations. 21. The method according to claim 21. Aspect 24 The Maxwell's equations provide boundary conditions defined at the surface of the display. 24. The method of claim 23, wherein the method is solved by: Aspect 25 25. The method of claim 24, wherein the boundary conditions comprise Dirichlet boundary conditions or Cauchy boundary conditions. method. Aspect 26 The plurality of primitives and the plurality of elements exist in the 3D space, and the dimension 26. Any of embodiments 21 to 25, wherein the surface of the splay forms part of a boundary surface of the 3D space. 1. The method according to claim 1. Aspect 27 The predetermined formula may include functions including sine functions, functions including cosine functions, and exponential functions. at least one element selected from the group consisting of functions including numbers, determining the contribution of the EM field by selecting one of the functions in a table stored in memory; 27. The method of any one of aspects 21 to 26, comprising identifying the at least one value of How to post. Aspect 28 for each of the plurality of primitives, the EM field contribution to each of the plurality of elements; and generating the sum of the field contributions for each of the plurality of elements; a first EM field from the plurality of primitives to a first element of the plurality of elements; determining a contribution of the first EM field to the first element and summing the contribution of the first EM field to the first element; a second EM field from the plurality of primitives to a second element of the plurality of elements; and summing the contribution of the second EM field to the second element. 28. A method according to any one of embodiments 1 to 27. Aspect 29 determining the first EM field contribution from the plurality of primitives to the first element; But, of an EM field from a second primitive of the plurality of primitives to the first element. In parallel with determining the contribution, from a first primitive of the plurality of primitives 30. The method of embodiment 28, comprising determining an EM field contribution to the first element. Aspect 30 for each of the plurality of primitives, the EM field contribution to each of the plurality of elements; To determine a first primitive of the plurality of primitives to each of the plurality of elements; determining the contribution of each EM field of 1; a first primitive from a second of the plurality of primitives to each of the plurality of elements; Determining the contribution of each EM field of the two Including, generating the sum of the field contributions for each of the plurality of elements; The second EM field contribution for the element is calculated by dividing the first EM field contribution for the element by the accumulating the EM field contributions of the elements by adding 28. The method of any one of embodiments 1 to 27, comprising: Aspect 31 determining a contribution of each of the first EM fields from the first primitive to each of the plurality of elements; determining the second EM from the second primitive to each of the plurality of elements; 31. The method of embodiment 30, performed in parallel with determining the field contribution. Aspect 32 for each of the plurality of primitives, the EM field contribution to each of the plurality of elements; To determine a second EM field from a second one of the plurality of primitives to the first element; In parallel with determining the contribution of a first primitive of the plurality of primitives, determining a contribution of a first EM field to the first element of the plurality of elements from the 32. The method of any one of embodiments 1 to 31. Aspect 33 For each of the plurality of elements, the EM field from the plurality of primitives to the element and generating each control signal based on the sum of the contributions of based on the sum of the EM field contributions from the plurality of primitives to the element, 33. Any one of embodiments 1 to 32, wherein the element is present to modulate at least one property of the element. The method described in paragraph . Aspect 34 The at least one characteristic of the element is selected from the group consisting of refractive index, amplitude index, birefringence, and retardation. 34. The method of embodiment 33, comprising at least one member selected from the group consisting of: Aspect 35 33. The method of claim 32, wherein each of the control signals comprises an electrical signal, an optical signal, a magnetic signal, or an acoustic signal. 34. Aspect 36 multiplying the sum of the field contributions for each of the elements by a scale factor to obtain the field and obtaining a scaled sum of the contributions, wherein each of the control signals is 3. The method of claim 2, wherein the field contributions for the elements are generated based on the scaled sum of the field contributions for the elements. 36. The method of any one of claims 3 to 35. Aspect 37 normalizing the sum of the field contributions for each of the elements; each said control signal is based on said normalized sum of said field contributions for said element; 37. A method according to any one of embodiments 33 to 36. Aspect 38 38. Any of aspects 33-37, further comprising transmitting the respective control signals to the elements. 10. The method according to claim 1. Aspect 39 further comprising transmitting a control signal to the light emitter; The control signal turns on the light emitters so that they emit light on the display. 39. The method of any one of embodiments 1 to 38, wherein the method comprises: Aspect 40 The control signal indicates completion of obtaining the sum of the field contributions for each of the plurality of elements. 40. The method of embodiment 39, wherein the method is transmitted in response to determining: Aspect 41 The modulation elements of the display propagate the light in different directions to form a 3D image in the 3D space. 41. The method of claim 39 or 40, further comprising forming a volumetric light field corresponding to the object. Aspect 42 The volumetric light field is subjected to boundary conditions defined by the modulator elements of the display. 42. The method of claim 41, wherein the method corresponds to a solution of Maxwell's equations. Aspect 43 The light includes white light, and the display diffracts the white light into light having different colors. 43. The method of any one of embodiments 39 to 42, wherein the method is configured to: Aspect 44 44. The method of any of aspects 1 to 43, further comprising representing values using fixed-point representation during calculations. The method according to any one of claims 1 to 5. Aspect 45 45. The method of claim 44, wherein each of the values is expressed as an integer with an implicit scale factor. How to do it. Aspect 46 46. Any of aspects 1 to 45, further comprising performing a mathematical function using a fixed-point representation. The method according to any one of claims 1 to 4. Aspect 47 The mathematical function is at least one selected from the group consisting of sine, cosine, and arctangent. 47. The method of embodiment 46, comprising the elements of Aspect 48 performing the mathematical function, receiving an expression in a first fixed-point format; a second fixed-point format having a different level of precision than the precision of the first fixed-point format; 48. The method of embodiment 46 or 47, comprising outputting a value at Aspect 49 Executing the mathematical function includes looking up a table for calculation of the mathematical function. fruit, The table may be a fully enumerated lookup table, an interpolated table, a polynomial semitables based on formula functions and semitables based on complete minimax polynomials Any of embodiments 46 to 48, comprising at least one element selected from the group consisting of: The method described below. Aspect 50 performing the mathematical function, 50. The method of claim 49, further comprising applying a special range reduction to the input. How to do it. Aspect 51 performing the mathematical function, Converts trigonometric functions in the range [-π,π] to signed two's complement representation in the range [-1,1] 51. The method of any one of embodiments 46 to 50, comprising: Aspect 52 The reconstruction of the first primitive is pre-determined so that it does not overlap with the reconstruction of the second primitive. The first primitive adjacent to the second primitive is determined by a coefficient 52. The method of any one of embodiments 1 to 51, further comprising modifying the size of Aspect 53 The predetermined coefficients are based at least in part on a resolution of the display. 53. The method of embodiment 52, wherein the .alpha.-associated ... Aspect 54 obtaining respective primitive data for each of the plurality of primitives; The respective primitive data of each of the plurality of primitives is stored in the 3D coordinate system. Contains coordinate information for each primitive, based on the coordinate information of the first primitive and the predetermined coefficients determining new coordinate information for each of the first primitives; 54. The method of embodiment 52 or 53, further comprising: Aspect 55 Based on the new coordinate information of the first primitive, 55. The method of claim 54, further comprising determining an EM field contribution to each of the plurality of elements from How to post. Aspect 56 Resizing the second primitive by the predetermined factor. 56. The method of any one of embodiments 52 to 55, further comprising: Aspect 57 the first primitive and the second primitive share a common portion; Resizing the first primitive causes the common portion of the first primitive to be 57. The method of any one of embodiments 52-56, comprising varying the size of the passage portion. Aspect 58 Resizing the first primitive includes: resizing the first primitive in a predetermined direction. 58. A method according to any one of claims 52 to 57. Aspect 59 Each primitive data of multiple primitives corresponding to an object in three-dimensional (3D) space To obtain and a first primitive of the plurality of primitives to a plurality of elements of a display; calculating the contribution of each first electromagnetic (EM) field to each; a second one of the plurality of primitives to the plurality of primitives of the display; and calculating the contribution of each second EM field to each of the elements of Calculating the first EM field contribution from the first primitive includes calculating the second EM field contribution from the first primitive. calculating the contribution of each second EM field from the primitive of How to be parallel. Aspect 60 a first EM field from the first primitive to a first element of the plurality of elements; calculating a given value from a second primitive of the plurality of primitives to the first primitive; 60. The method of embodiment 59, wherein the calculation is performed in parallel with calculating the contribution of the second EM field to the element. Aspect 61 Calculating each EM field contribution from each of the plurality of primitives to each of the plurality of elements. 61. The method of embodiment 59 or 60, comprising: Aspect 62 said calculation of each EM field contribution comprising: extending the shape of the object onto the plurality of elements; Applying a visibility test before assembling the wavefronts; and decision-making or communication between parallel computations on different primitives. 62. The method of embodiment 61, wherein the method does not include at least one element selected from the group consisting of: Aspect 63 said calculation of each EM field contribution comprising: Parallel computation of different primitives for speed, cost, size, or energy optimization To adjust accordingly, Reduce the wait time between starting a drawing and being ready to see the results, and Using fixed-point representation to improve precision; Optimizing mathematical functions to optimize calculation speed and a behavior configured to cause at least one element selected from the group consisting of: 61 or 62. Aspect 64 64. Any of aspects 59 to 63, further comprising representing values using fixed-point representation during calculations. The method according to any one of claims 1 to 4. Aspect 65 Representing values using the fixed-point representation Subnormal floating point for gradual underflow, and Handling NaN results from operations involving division by zero; Changing the floating-point rounding mode; Raising floating-point exceptions to the operating system 65. The method of embodiment 64, wherein the method does not include at least one element selected from the group consisting of: Aspect 66 For each of the plurality of elements, calculating the contribution of each of the second EM fields to the element by the by adding to each of the first EM field contributions to the element 66. The method of any one of embodiments 59-65, further comprising accumulating the contributions of Aspect 67 For each of the plurality of elements, the EM field from the plurality of primitives to the element generating each control signal based on a sum of the contributions of the previous determining a value of the EM field contribution of the element based on the sum of the EM field contributions from the plurality of primitives to the element; Any one of aspects 59 to 66, wherein the compound is present to modulate at least one characteristic of the child. The method described below. Aspect 68 Each primitive data of multiple primitives corresponding to an object in three-dimensional (3D) space To obtain and The primitive data is used for the first primitive and the second primitive. , the first primitive adjacent to the second primitive by a predetermined factor. Change the size of the disc and The primitive data of the first primitive is changed based on the result of the change in size. and updating the data. Aspect 69 The respective primitive data for each of the plurality of primitives is a representation of the primitive in a 3D coordinate system. Contains coordinate information for each primitive, updating each of the primitive data based on the coordinate information of the first primitive and the predetermined coefficients 69. The method of claim 68, further comprising determining new coordinate information for each of the first primitives. Law. Aspect 70 The predetermined coefficients are used to calculate the first primitive in the 3D space before reconstruction. 69. The method according to claim 68, wherein the second primitive is determined not to overlap with the reconstruction of the second primitive. How to post. Aspect 71 Reconstructing the first primitive and reconstructing the second primitive in the 3D space A gap between the first and second primitives separates them to minimize overlap effects. large enough to minimize the number of overlaps and make the reconstruction appear seamless 71. Any one of aspects 68 to 70, wherein the resizing is performed so that the The method described in paragraph . Aspect 72 The predetermined coefficients are based at least in part on a resolution of the display. 72. The method of any one of embodiments 68 to 71, wherein the method is determined by: Aspect 73 storing the updated primitive data of the first primitive in a buffer; 73. The method of any one of embodiments 68 to 72, further comprising: Aspect 74 a level of the object to obtain the primitive data for each of the plurality of primitives; 74. Any of aspects 68 to 73, wherein the resizing is performed during a rendering process. 1. The method according to claim 1. Aspect 75 sending updated primitive data for the plurality of primitives to a controller; and the controller updates the updated primitive data for the plurality of primitives. Based on the above, a respective voltage from each of the plurality of primitives to each of a plurality of elements of a display is generated. Any one of aspects 68 to 74, configured to determine a magnetic (EM) field contribution. The method described below. Aspect 76 Based on the updated primitive data of the first primitive, It is also possible to determine the EM field contribution from the primitive to each of the plurality of elements of the display. 75. The method of any one of embodiments 68 to 74, further comprising: Aspect 77 Resizing the second primitive by the predetermined factor. 77. The method of any one of embodiments 68 to 76, further comprising: Aspect 78 the first primitive and the second primitive share a common portion; Resizing the first primitive causes the common portion of the first primitive to be 78. The method of any one of embodiments 68-77, comprising varying the size of the passage portion. Aspect 79 Resizing the first primitive includes: resizing the first primitive in a predetermined direction. 79. The method of any one of 68 to 78. Aspect 80 Resizing the first primitive includes: a first portion of the first primitive having a magnitude determined by a first predetermined factor; To change and a second portion of the second primitive having a magnitude determined by a second predetermined factor; and modifying the The first predetermined coefficient is different from the second predetermined coefficient. 80. The method of any one of embodiments 68 to 79. Aspect 81 A specific primitive among multiple primitives corresponding to an object in three-dimensional (3D) space Obtain multiple Discrete Cosine Transform (DCT) weights of an image that is mapped to a specified surface of a block. To do, By taking into account the effect of the DCT weights of the image, the particular primitive determining each EM field contribution from the active element to each of a plurality of elements of the display; method. Aspect 82 The resolution of the image mapped to the specified surface of the particular primitive is To decide, and and determining the plurality of DCT weights of the image based on the resolution. 82. The method according to claim 81 . Aspect 83 Decoding the DCT weights of the image to obtain each DCT amplitude for each pixel of the image. 83. The method of embodiment 81 or 82, further comprising obtaining Aspect 84 The value associated with each DCT amplitude of the pixel of the image is calculated based on the value of the particular primitive. 84. The method of claim 83, further comprising storing the primitive data of the . Aspect 85 determining the contribution of each EM field using the value associated with each DCT amplitude of the pixel of the image calculating the contribution of each of the EM fields from a particular primitive to each of the plurality of elements; 85. The method of embodiment 83 or 84, comprising: Aspect 86 selecting particular DCT terms to be included in said determination of each said EM field contribution. and each of said particular DCT terms has a respective DCT weight greater than a predetermined threshold. 86. The method of any one of embodiments 81 to 85, comprising: Aspect 87 Obtaining information about a particular primitive and occluders of the particular primitive; Here, the particular primitive is a set of multiple primitives corresponding to objects in three-dimensional (3D) space. Located in Mitib A plurality of displays that do not contribute to the reconstruction of the particular primitive due to the influence of the occluder. and determining one or more particular elements of the elements. Aspect 88 The information of the particular element is combined with the information of the particular primitive and the occluder. 88. The method of embodiment 87, further comprising storing the data together. Aspect 89 a rendering node of the object to obtain primitive data for the plurality of primitives; 89. The method of embodiment 87 or 88, wherein the determination is performed during a processing process. Aspect 90 The stored information of the particular element is then compared to the particular primitive and the occluder. along with said information, electromagnetically transmitting said plurality of primitives to said plurality of elements of said display. and transmitting the calculated energy (EM) contribution to a controller configured to calculate the calculated energy (EM) contribution. 90. The method of any one of embodiments 87 to 89. Aspect 91 For each of the specific elements, By subtracting the EM field contribution to one of the primitives, the particular generating a sum of the electromagnetic (EM) field contributions to the one of the selected elements. 90. The method of any one of embodiments 87 to 89. Aspect 92 For each of the plurality of elements other than the specific element, 92. The method of any of aspects 87 to 91, further comprising generating respective sums of EM field contributions to the elements. The method according to any one of claims 1 to 5. Aspect 93 and further masking the EM field contribution of the particular element to the particular primitive. 93. The method of any one of embodiments 87 to 92, comprising: Aspect 94 determining the one or more particular elements connecting the particular primitive to an end point of the occlusion; Extending the connection to the display and determining the intersection between the connection and the display To decide, and The particular area defined by the intersection is the area where the particular primitive is affected by the influence of the occlusion. determining that the particular element does not contribute to the reconstruction of the active 94. The method of any one of embodiments 87 to 93. Aspect 95 Obtaining information about a particular primitive and occluders of the particular primitive; wherein the particular primitive is a set of a plurality of primitives corresponding to an object in three-dimensional (3D) space. Located in Tib For each of the plurality of elements of the display, the electromagnetic (E M) determining portions of said particular primitive that do not contribute to the field; A method comprising: Aspect 96 The information for each portion of the particular primitive is compared with the particular primitive and 89. The method of embodiment 88, further comprising storing the occlusion body together with the information. Aspect 97 a rendering node of the object to obtain primitive data for the plurality of primitives; 97. The method of embodiment 95 or 96, wherein the determination is performed during a processing process. Aspect 98 The stored information of each of the portions of the particular information is divided into the particular primitives and The information of the occluder is used to transfer the plurality of primitives to the plurality of elements of the display. transmitting the signal to a controller configured to calculate the electromagnetic (EM) contribution of the active component; 98. The method of any one of embodiments 95 to 97, further comprising: Aspect 99 Massing the EM field contribution of each of the plurality of elements to each of the portions of the particular primitive. 99. The method of any one of embodiments 95 to 98, further comprising: Aspect 100 For each of the plurality of elements, from each of the portions of the particular primitive to the element. EM field contribution from the plurality of primitives to the element by excluding 100. The method of any one of embodiments 95 to 99, further comprising generating a sum of field contributions. method. Aspect 101 generating the sum of EM field contributions from the plurality of primitives to the element; The EM contribution of each part of the particular primitive to the element is calculated by from the sum of EM field contributions to the element from the plurality of primitives without the influence 101. The method of embodiment 100, comprising: drawing. Aspect 102 generating the sum of EM field contributions from the plurality of primitives to the element; EM field contributions to the element from one or more other portions of the particular primitive. and summing said each portion and said one or more other portions to said particular portion. 101. The method of embodiment 100, wherein the primitive is formed. Aspect 103 Each of the particular primitives that does not contribute an EM field to the element due to the influence of the occlusion To determine the part, connecting the element to an end point of the closure; determining an intersection between the connection and the particular primitive; The particular portion of the particular primitive enclosed by the intersection is the occluding The portions of the particular primitive that do not contribute the EM field to the element under the influence. and determining that the measurement is performed in minutes. How to do it. Aspect 104 Each primitive data of a plurality of primitives corresponding to an object in three-dimensional (3D) space is and obtaining respective geometric specular information for each of the plurality of primitives; The respective geometric specular reflection information is stored in the respective primitive data of each of the plurality of primitives. and storing the data together with the Aspect 105 The respective geometric specular reflection information of each of the plurality of primitives is 105. The method of claim 104, comprising reflectivity of a surface of the primitive at a viewing angle. Aspect 106 By taking into account the geometric specular reflection information of each of the primitives, Determine each EM field contribution from each of the primitives to each of the plurality of elements of the display. 106. The method of embodiment 104 or 105, further comprising: Aspect 107 Each primitive data of multiple primitives corresponding to an object in three-dimensional (3D) space acquiring graphic data including: For each of the plurality of primitives, an electromagnetic ( EM) field contributions, and the propagation of the EM field from the primitive to the element in a 3D coordinate system. determining by calculating For each of the plurality of elements, the EM field from the plurality of primitives to the element generating a sum of the contributions of for each of said plurality of elements, transmitting a respective control signal to said element; a control signal controlling at least one of the elements based on the sum of the EM field contributions to the elements; also exists to modulate one characteristic, The light is generated by the modulation elements of the display, and a volumetric illumination corresponding to the object is generated. transmitting timing control signals to the light emitters to activate the light emitters to form a field of view; and directing light onto said display. Aspect 108 For each of the plurality of elements of the display, a predetermined calibration value is used to calibrate each control. Modifying the signal; applying each of the modified control signals to the plurality of elements of the display; measuring the incident light output on said display; evaluating the predetermined calibration value based on the measurement of the output of the light; and A method comprising: Aspect 109 109. The method of claim 108, wherein the predetermined calibration value is the same for each of the plurality of elements. How to post. Aspect 110 A digital / analog converter (DAC) converts the control signals of the plurality of elements into further comprising converting modifying the respective control signals of the plurality of elements, modifying the digital signal of each of said control signals using said predetermined calibration values; 110. The method of embodiment 108 or 109, comprising: Aspect 111 Any one of aspects 108-110, wherein the predetermined value comprises multiple bits. The method described below. Aspect 112 adjusting the predetermined calibration value based on the results of the evaluation. 112. A method according to any one of embodiments 108 to 111. Aspect 113 adjusting the predetermined calibration value; 113. The method of claim 112, further comprising: modifying a value of one or more of the plurality of bits. Law. Aspect 114 adjusting the predetermined calibration value; based on the pre-determined calibration value and another calibration value determined from a previous evaluation; 113. The method of embodiment 112, comprising determining a combination of values of the plurality of bits. Aspect 115 The output of the light is a phase change or intensity difference of the light between the output of the light and the background. 115. The method of any one of embodiments 108 to 114, comprising: Aspect 116 Each of the control signals for the elements is derived from a plurality of primitives corresponding to an object in 3D space. 116. The method of claim 108, wherein the sum of the electromagnetic (EM) field contributions to the element is determined based on the sum of the electromagnetic (EM) field contributions to the element. 10. The method according to any one of claims 1 to 9. Aspect 117 For each of the plurality of elements of the display: The sum of the electromagnetic (EM) field contributions from multiple primitives in three-dimensional (3D) space is taken. obtaining, wherein the plurality of primitives correspond to objects in the 3D space; Applying a respective mathematical transformation to each of the sums of the EM field contributions of the elements to obtain obtaining each transformed sum of the contributions; determining respective control signals based on the respective transformed sums of the EM field contributions of the elements; And, modulating a characteristic of the element based on the determined respective control signal of the element. Including, a method. Aspect 118 directing incident light onto the plurality of elements of the display; measuring a first output of the light; and determining whether each of the plurality of elements has a mathematical function based on the results of the measurement of the first output of the light. 118. The method of embodiment 117, further comprising adjusting one or more coefficients of the transform. Aspect 119 Varying the depth of a holographic pattern corresponding to the object within the field of view of the display. To change and measuring a second output of said light; the one or more coefficients of each of the mathematical transforms based on the first and second outputs. 119. The method of embodiment 118, further comprising adjusting Aspect 120 The plurality of primitives corresponding to a first holographic pattern are then transferred to a second holographic pattern. changing the traffic pattern to a second plurality of primitives corresponding to the traffic pattern; measuring a second output of said light; the one or more coefficients of each of the mathematical transforms based on the first and second outputs. 119. The method of embodiment 118, further comprising adjusting Aspect 121 The first holographic pattern and the second holographic pattern are The method of embodiment 120, corresponding to the object. Aspect 122 The second holographic pattern is related to the first holographic pattern. 121. The method of embodiment 120, wherein the first object corresponds to a second object different from the object being imaged. Aspect 123 121. Any of embodiments 118 to 120, wherein the first output of the light is measured by an image sensor. The method according to any one of claims 1 to 4. Aspect 124 The image sensor uses machine vision algorithms to determine what is being displayed. and calculating a goodness-of-fit parameter. Aspect 125 each of the first and second holographic patterns comprising a grid of dots; The fitness parameter is how close the points are to each other; How close to the center the point is located; and how the point is deformed. 125. The method of embodiment 124, wherein Aspect 126 126. Any one of aspects 117 to 125, wherein the mathematical transform is derived from Zernike polynomials. The method described in paragraph . Aspect 127 Any of embodiments 117-126, wherein the mathematical transformation of the plurality of elements varies from element to element. The method according to any one of claims 1 to 5. Aspect 128 By shining light on the display, a series of known color and intensity samples are reproduced To do, Measuring the output light using a colorimeter device calibrated to the CIE Standard Observer curve; , defining the output light of the display in a CIE XYZ color space; 128. The method of any one of embodiments 108 to 127, further comprising: Aspect 129 determining deviations of said defined light output values from known standard values; Adapting the output color on the display to adjust the output color to the correct color; 129. The method of embodiment 128, further comprising: Aspect 130 Based on the pitch of the display elements of a liquid crystal (LC) display, determining a gap between the based on the cell gap of the LC display and a predetermined retardation, and calculating the minimum birefringence of the LC mixture. Aspect 131 of the LC display while maintaining the birefringence of the LC mixture above the minimum value. 131. The method of embodiment 130, further comprising improving switching speed. Aspect 132 Improving the switching speed Increasing the dielectric anisotropy of the LC mixture. and reducing the rotational viscosity of the LC mixture. 132. The method of claim 131, comprising: Aspect 133 The LC display is a liquid crystal on silicon (LCOS) display with a silicon backplane. 133. The method of any one of embodiments 130 to 132, comprising a (on silicon) device. Aspect 134 The LC display A liquid crystal layer; a transparent conductive layer on the liquid crystal layer as a common electrode; a backplane comprising a plurality of metal electrodes underlying the liquid crystal layer; The plurality of metal electrodes are separated from each other, and the backplane is 134. Any of embodiments 130 to 133, wherein the voltage of each of the metal electrodes is controlled. The method according to any one of claims 1 to 5. Aspect 135 a backplane; a plurality of display elements on the backplane, At least two of the plurality of display elements have different sizes. stomach. Aspect 136 The larger of the at least two display elements includes a buffer, and the smaller 136. The display device of claim 135, wherein the smaller of the two display elements does not include a buffer. Display. Aspect 137 the larger display element is connected to a first plurality of display elements by conductive lines; a voltage is applied to only a second plurality of display elements within the first plurality of display elements; the buffer is configured to buffer the voltage applied to the conductive line; 136. The method of claim 136, wherein the number of display elements in the second plurality is less than the number of display elements in the first plurality. Display as described. Aspect 138 The buffer may be an analog circuit in the form of a transistor or a digital circuit in the form of a logic gate. 138. The display of any one of embodiments 135 to 137, comprising digital circuitry. Aspect 139 The size distribution of the plurality of display elements is such that the smaller of the at least two display elements 139. The disk of any one of embodiments 135 to 138, which is substantially the same size as the other. Play. Aspect 140 An aspect configured to be an LCOS (liquid crystal on silicon) device. 140. A display according to any one of claims 135 to 139. Aspect 141 a backplane; a plurality of display elements on the backplane, a display, wherein at least two of the plurality of display elements have different shapes. . Aspect 142 the backplane includes respective circuitry for each of the display elements; Each of the circuits of the at least two display elements The display of embodiment 141 has a shape corresponding to a different shape. Aspect 143 a size distribution of the plurality of display elements being substantially the same as a predetermined size; 143. The display of embodiment 141 or 142. Aspect 144 An aspect configured to be an LCOS (liquid crystal on silicon) device. 143. A display according to any one of claims 141 to 142. Aspect 145 one or more processors; in communication with the one or more processors and by the one or more processors storing executable instructions, which, upon execution of such instructions, 135. A non-transient computer that causes a processor to perform the method of any one of embodiments 1 to 134. and a computer-readable storage medium. Aspect 146 storing instructions executable by one or more processors, 135. The instructions, when executed, cause the one or more processors to A non-transitory computer readable storage medium for causing the method described in claim 1 to be performed. Aspect 147 a display comprising a plurality of elements; a display coupled to said display and configured to perform the method of any one of embodiments 1 to 134; and a controller configured to: Aspect 148 The controller includes a plurality of computing units, Each of the routing units is a set of primitives corresponding to an object in three-dimensional (3D) space. configured to perform an operation on one or more primitives of the , The system described in embodiment 147. Aspect 149 The controller is locally coupled to the display, and the computing Each of the units is coupled to one or more respective elements of the display, and each control signal 149. The method of claim 148, wherein the method is configured to transmit a signal to each of the one or more elements. The system. Aspect 150 Aspect 148, wherein the computing units are configured to operate in parallel. Or the system described in 149. Aspect 151 The controller is an application specific integrated circuit (ASIC), field programmable Gate array (FPGA), programmable gate array (PGA), central processing unit (C It consists of a processor (PU), a graphics processing unit (GPU), and a standard computational cell. Any of embodiments 147 to 150, comprising at least one element selected from the group consisting of: 3. The system according to claim 1. Aspect 152 The display is a digital micromirror device (DMD) or an LCD (liquid crystal on silicon). and a spatial light modulator (SLM) including a silicon quid crystal on silicon (QCQ) device. 152. A system according to any one of claims 147 to 151. Aspect 153 The display is phase-modulated, amplitude-modulated, or phase-modulated and amplitude-modulated. 153. The system of any one of embodiments 147 to 152, configured to: Aspect 154 the controller is coupled to the display via a memory buffer; 154. A system according to any one of claims 147 to 153. Aspect 155 disposed adjacent to the display and configured to emit light on the display; 155. The system of any one of embodiments 147 to 154, further comprising a light emitter. Aspect 156 The light emitter is coupled to the controller and emits light based on a control signal from the controller. The system of embodiment 155, wherein the system is configured to be turned on / off depending on the power supply. Aspect 157 The light emitter stores, via a memory buffer, one or more light emitting elements in the light emitter. Aspect 15 is coupled to the controller configured to control amplitude or brightness. 5 or 156. Aspect 158 The memory buffer of the light emitter is smaller than the memory buffer of the display. The system of embodiment 157, having a size. Aspect 159 the number of light-emitting elements in the light emitter is less than the number of elements in the display; 157 or 158. The system according to claim 157 or 158. Aspect 160 The controller simultaneously activates the one or more light emitting elements of the light emitter. 160. The system of any one of embodiments 157 to 159, configured as follows: Aspect 161 The light source may be a coherent, semi-coherent, or non-coherent light source. 161. The system of any one of embodiments 155 to 160. Aspect 162 The light emitter may comprise two or more light emitters each configured to emit light having a different color. 162. The system of any one of embodiments 155 to 161, comprising an element. Aspect 163 The controller controls the device using information associated with a first color during a first period of time. and continuously modulating the display using information associated with a second color during a second continuous period. configured to modulate the display using The controller controls the light emitter to continuously emit a first light emitting element during the first period. a second light-emitting element that is continuously turned on to emit light having the first color during the second period; is configured to be continuously turned on to emit light having the second color. 55 to 162. A system according to any one of claims 55 to 162. Aspect 164 The light emitter is configured to emit white light, and the display is configured to 162. Any of embodiments 155 to 161, wherein the diffracting element is configured to diffract light having different colors. 3. The system according to claim 1. Aspect 165 The light emitter is placed in front of the display surface and illuminates at an angle of incidence between 0 and 90 degrees. configured to emit the light onto the surface of the display at a corner, the emitted light 165. The method of claim 155, wherein the display is a display having a reflector. system. Aspect 166 166. The system of claim 165, wherein the light emitted from the light emitter comprises collimated light. . Aspect 167 The system of embodiment 165, wherein the light emitted from the light emitter comprises divergent light. Aspect 168 166. The system of claim 165, wherein the emitted light from the light emitter comprises semi-collimated light. Hmm. Aspect 169 The light emitter is disposed behind the rear surface of the display, and the rear surface of the display configured to emit divergent light toward The emitted light passes through the display and enters the display from the front surface of the display. 165. The system of any one of aspects 155 to 164, wherein the information is transmitted outside the display. Aspect 170 The light emitter is a light source configured to emit the light; a waveguide coupled to the light source and positioned adjacent to the display; The waveguide receives the emitted light from the light source and transmits the emitted light to the display. 165. The method of claim 155, wherein the method is configured to prompt a user to play the game. system. Aspect 171 The light from the light source is coupled into the waveguide from a vertical cross section of the waveguide via an optical coupler. The system of embodiment 170, wherein Aspect 172 The light source and the waveguide are integrated in a planar form and disposed on the surface of the display. The system of embodiment 170, Aspect 173 The waveguide is configured to guide the light to uniformly illuminate the display. 173. The system of any one of embodiments 170 to 172. Aspect 174 The waveguide is disposed on the rear surface of the display, and the light is guided through the display. is guided to transmit light through the front of the display and diffracted out of the display. 174. The system of any one of embodiments 170 to 173, Aspect 175 The system of embodiment 174, wherein the controller is located on the back surface of the waveguide. Aspect 176 The waveguide is disposed in front of the display, and the light is guided to the Aspects 170 to 173, wherein the light is guided to be incident on the front surface and reflected by the front surface. 10. The system according to claim 9, wherein: Aspect 177 a display comprising an array of elements; an integrated circuit having an array of computing units; Thus, each of the computing units may be configured to display one or more of the are coupled to each element, each of the arrays of elements from at least one primitive of the plurality of primitives; Calculating the electromagnetic (EM) field contribution to for each of the one or more elements, from the plurality of primitives to the element; and generating a respective sum of the EM field contributions of Hmm. Aspect 178 each of the computing units from another computing unit in the array of computing units , from other primitives of the plurality of primitives to each of the one or more elements receiving a calculated EM field contribution to each of the for each of the one or more elements, the received other primitives of the EM field contribution by adding the calculated EM field contribution to the element from and generating each of the sums. Tem. Aspect 179 Each of the computing units performs a respective one or more of the respective elements. and calculating a sum of the EM field contributions to the elements based on the respective sums of the EM field contributions to the elements. and generating respective control signals for modulating a characteristic of the embodiment 177 or 178. The system according to claim 178. Aspect 180 a control signal receiving section for receiving a control signal from the integrated circuit, the control signal receiving section being disposed between the integrated circuit and the display; and a light emitter configured to illuminate the display based on the control signal. and wherein the integrated circuit, the light emitter, and the display are integrated into a single unit. 179. The system of any one of embodiments 177 to 179, wherein the system is integrated as a Aspect 181 the integrated circuit transmits a signal from the plurality of primitives to each of the elements of the display; each accumulator configured to store an accumulation result of the calculated EM field contributions. 181. The system of any one of embodiments 177 to 180. Aspect 182 the integrated circuit is configured to initialize the accumulator at the start of a calculation operation; The system described in embodiment 181. Aspect 183 the integrated circuit includes a respective memory buffer for each of the elements; The integrated circuit calculates the calculated EM field contributions from the plurality of primitives to the element. and accumulating the contributions of the EM field as the final accumulation result in each accumulator. and reads the final accumulated results from each of the accumulators to each of the memory buffers of the element. 183. The system of claim 181 or 182, wherein the system is configured to forward the Aspect 184 Each primitive data of multiple primitives corresponding to an object in three-dimensional (3D) space a computing device configured to generate data including system, and 184. The system of any one of embodiments 147 to 183, comprising: receiving the graphics data from the computing device; configured to process the graphics data to present the object in ,system. Aspect 185 The computing device renders a computer-generated (CG) model of the object. By rendering the primitives, the primitives including the respective primitive data are created. Application Programming Interface (API) The system of embodiment 184, comprising:
[0286] Therefore, the description of the exemplary implementations provided above does not define or constrain this specification. Other changes, substitutions and modifications may be made without departing from the spirit and scope of this specification. Revisions and modifications are also possible. [Explanation of symbols]
[0287] 100 systems 101 OS Graphics Abstraction 102 Computer 103 Processed Scenes 104 OS 105 Primitive List 106 Applications 108 GPU 110 Holographic Display 112 Controller 114 Display 116 Luminous Object 117 Holographic Reconstruction 120 Traditional Renderer 122 Image Buffer 124 Conventional Monitor 130 Holographic Renderer 150 Holographic Display Device 151 Scene Data 152 Computing Architecture 153 Input light 154 computing cores 155 Holographic Light Field 156 displays 158 Backplane 159 Communication Connections 160 Display element 162 Luminous Object 170 Systems 172 Holographic Display Device 173 Display 174 keyboards 176 Mouse 178 2D objects 180 3D objects 200 Example Configurations for Electromagnetic (EM) Field Calculations 202 Display 204 Display element 206-point primitives 208 3D space 210 Boundary 250 coordinates 300 displays 302 Display element 304-point primitives 306 Line Primitives 308 Triangle Primitives 400 processes 402 Step 404 Step 406 Steps 408 Steps 410 steps 500 Systems 502 Computer 503 Renderer 504 Application 506 GPU 505 Video Driver 508 2D display screen 510 Controller 511 memory buffers 512 display 514 Luminous Object 516 Collimated beam 518 Holographic Light Field 520 System 521 Computer 522 Controller 523 memory buffer 524 display 526 Luminous Object 527 Semi-collimated beam 528 Holographic Light Field 530 System 531 Computer 532 Controller 533 memory buffer 534 Display 535 semi-collimated beam 536 Luminous Object 538 Holographic Light Field 540 System 541 Computer 542 Controller 544 Display 545 Light source 546 Luminous Object 547 Waveguide 548 Holographic Light Field 550 Single Unit 560 System 561 Computer 562 Controller 563 memory buffers 564 Transmissive Display 565 light source 566 Luminous Object 567 Waveguide 568 Holographic Light Field 570 System 571 Computer 572 Controller 573 Memory Buffer 574 Reflective Display 575 Light source 576 Luminous Object 577 Light emitting waveguide 578 Holographic Light Field 600 LCOS devices 602 Fasel 650 LCOS devices 651 Word Line 652 Fasel 652* Facel 653 bit lines 654 Fasel 660 buffers
Claims
1. a backplane having a plurality of circuits; a plurality of display elements on the backplane; A display comprising: the display is a phase modulation device for holographic reconstruction of objects in three-dimensional (3D) space; each of the plurality of display elements is configured to be phase modulated with a respective phase corresponding to a sum of electromagnetic (EM) field contributions to the display element from a plurality of primitives corresponding to the object, a primitive referring to a basic geometric or graphic element for input or output in a computing system, the EM field contribution from each primitive to the display element being determined based on a calculation of an EM field propagation from the primitive to the display element in a 3D coordinate system; the plurality of display elements are configured to have non-uniform or irregular sizes or shapes to form a non-periodic structure for reducing or eliminating at least one diffraction effect; A display, wherein each of the plurality of display elements of the display is coupled to a respective circuit of the plurality of circuits having a corresponding metal electrode of a plurality of metal electrodes, each of the plurality of metal electrodes being isolated from one another, and each of the plurality of circuits being provided on the display element according to a shape of the display element of the display.
2. 10. The display of claim 1, wherein at least two display elements of the plurality of display elements have an irregular polygonal shape.
3. 10. The display of claim 1, wherein at least two display elements of the plurality of display elements have at least two different polygonal shapes.
4. 10. The display of claim 1, wherein adjacent ones of the plurality of display elements have different shapes.
5. 10. The display of claim 1, wherein at least one display element of the plurality of display elements has a different shape than one or more display elements adjacent to the at least one display element.
6. 10. The display of claim 1, wherein the size distribution of the plurality of display elements is centered around a single value.
7. 10. The display of claim 1, wherein the size distribution of the plurality of display elements is related to the spatial resolution of the display.
8. 10. The display of claim 1, The display A liquid crystal layer; a transparent conductive layer on the liquid crystal layer as a common electrode; Furthermore, A display wherein the backplane includes the plurality of metal electrodes underlying the liquid crystal layer, the backplane being configured to control a voltage on each of the plurality of metal electrodes.
9. 10. The display of claim 1, A display wherein the display elements are configured to be phase and amplitude modulated.
10. 10. The display of claim 1, The display, wherein the modulation device comprises a spatial light modulator (SLM) including a digital micromirror device (DMD) or a liquid crystal on silicon (LCOS) device.
11. 10. The display of claim 1, the modulation device is a liquid crystal (LC) on silicon (LCOS) device; The LCOS device has the following characteristics: a cell gap of the LCOS device is determined based on the pitch of the display elements of the LCOS device; the minimum birefringence of the LC mixture is based on the cell gap of the LCOS device and a predetermined retardation; or the switching speed of the LCOS device is related to the birefringence of the LC mixture being above the minimum value, the dielectric anisotropy of the LC mixture, and the rotational viscosity of the LC mixture; a display having at least one of:
12. A display according to any one of claims 1 to 11; a controller coupled to the display and configured to send at least one control signal to at least one display element of the plurality of display elements to modulate at least one characteristic of the at least one display element; A system comprising: