The present disclosure relates to displays. More particularly, the disclosure relates to updating an image displayed on a display device, such display device including spatial light modulators and/or displays such as liquid crystal displays, liquid crystal-on-silicon (LCoS) displays, LED displays, microLED displays and micro displays that are driven with display driver circuitry and/or software (e g., circuitry, logic components or circuitry, ICs, and/or drive software).
In mobile systems such as Augmented Reality (AR) Head-Mounted Displays, power dissipation and battery usage are of paramount importance. In these systems, the generation (rendering) of video data on the host (e.g., video source such as a, phone, computer, tablet or other mobile device), the transport (over cables, for instance) of said data and processing/loading of said video data in the display driver IC and backplane IC or ICs all consume power for each bit transmitted or toggled in each bit of hardware in the pipeline. These systems send over an entire frame of data including both unchanged and changed data, to be displayed, from the frame buffer of the host. For example, some systems may only render changing portions of the image being displayed and write them to a frame buffer on the host, but then send the entire frame to the display subsystem. In addition, these systems also employ a fixed refresh rate. Due in part to this duplication and the waste of power dedicated to data transport through the system, known techniques and conventional systems are currently deficient in providing light weight, long-use systems that also minimize battery weight and volume.
Such, known display systems having a data source or host for rendering image frame data, render and transmit an entire image frame data from a frame buffer for updating a currently displayed image of an entire display. This includes sending over duplicative or unchanged data between two image frames. The data may be, for example, video, images or image data that characterizes the image. The display may be a micro display such as an LCD or LCoS microdisplay, or a direct view larger display.
In an embodiment of the present disclosure, there is provided a display system for updating an image displayed on a display device, said display device comprising pixels in a pixel array, said system comprising: a display subsystem for executing commands, wherein the commands instruct the display subsystem how to update the display, said display subsystem comprising; a parser for receiving the image frame data, wherein the parser extracts updated image data and the commands; a storage device for storing the updated image data in a updated cache location according to the commands; a loader for reading the commands to identify and fetch the updated image data from the storage device; and display backplane circuitry for receiving the updated image data from the loader and for updating pixel driver circuity for pixels within the updated image data.
In an embodiment of the present disclosure, there is provided a method of updating an image displayed on a display device, said display device comprising pixels in a pixel array, said method comprising the steps of: receiving image frame data in a display subsystem; receiving the image frame data in a parser extracting updated image data and the associated commands from the image frame data, said image frame data comprising commands instructing a loader how to update the display; storing the updated image data in an updated cache location according to the commands; reading the commands to identify and fetch the updated image data from the updated cache location; receiving the updated image data from the loader; and updating pixel driver circuity for pixels only within the updated image data.
In an embodiment of the present disclosure, the storage device may comprise a cache memory. The cache or storage device may be physical memory, such as RAM, EEPROM or the like, or may be software based cache memory or storage.
In an embodiment of the present disclosure, there is provided a display system for updating an image displayed on a display device, said display device having a display comprising pixels in a pixel array, said system comprising: a display subsystem for executing commands, wherein the commands include: instructions for the display device describing how to update the display from updated image frame data, said display subsystem comprising a parser for receiving the updated image frame data, wherein the parser extracts updated image data and the commands; instructions for a storage device describing how to store the updated image data in a updated cache location; instructions for a loader describing how to identify and fetch the updated image data from the cache location; and display backplane circuitry for receiving the updated image data from the loader and for updating pixel driver circuity for pixels within the updated image data.
In a system in accordance with an embodiment of the present disclosure, the display backplane portion only reloads data into a portion of the display while leaving the state of all other pixels static. This is achieved by making the display load its pixels by addressing groupings of pixels, for example, small rectangular blocks of pixels or subsets of the display's pixels, or collections of blocks of pixels or subsets of the display's pixels, by utilizing one or more column-oriented load enable signals (for example, control voltages that activate or deactivate (enable or disable) the pixel groupings) for each group of columns defining the horizontal range of columns in the block 308 that works in conjunction with the row-oriented load signals (e.g., control voltages) to enable or disable loading new data into pixels within the blocks of pixels 308.
In an embodiment of the present disclosure a display system for updating an image displayed on a display device, said display device may include pixels in a pixel array, and said system includes a display subsystem for executing commands, wherein the commands instruct a loader how to update the display, said display subsystem comprising; a parser for receiving the image frame data, wherein the parser extracts updated image data and the commands including commands that identify the portions of the display to be updated or not; a map consisting of a collection of data, wherein the collection of data includes at least one of coordinates and block locations (for example coordinates of locations in the display or locations of pixel or pixel elements of a display or locations or coordinates of blocks of pixels or pixel elements in a display, or locations in a corresponding image or image data) that indicate the areas of the display that are active and need to be updated; a storage device for storing the updated image data in the storage device, an updated storage location, or cache, according to the commands which can, for example, selectively store or determine where incoming data will be stored based on the contents of the map; a loader for reading the commands to identify and fetch the updated image data from the storage device, updated storage location, or cache, and which can selectively fetch the data according to the map; and display backplane circuitry for receiving the updated image data from the loader and for updating pixel driver circuity for pixels within the updated image data. In an embodiment of the present disclosure, a display system for updating an image displayed on a display device, said display device comprising pixels in a pixel array, said system includes a parser for receiving image frame data, wherein the parser extracts updated image data and the commands including commands that identify portions of the display for updating; a map consisting of a collection of data, wherein the collection of data includes at least one of coordinates and block locations of the active areas of the display for updating; a storage device for storing the updated image data based on at least one of the commands and the map; a loader for reading the commands, and wherein the loader identifies the updated image data, and fetches the updated image data from the storage in accordance with the map; and display backplane circuitry for receiving the updated image data from the loader and for updating pixel driver circuity that updates the pixels with the updated image data.
In an embodiment, the commands comprise a descriptor identifying which location of the corresponding portion of the image the updated image data shows. In an embodiment, the parser at least one of sends the commands to the storage device and/or the loader. In an embodiment, the loader reads the descriptor and fetches the updated image data from the updated storage location. In an embodiment, the loader identifies pixel rows and/or columns in the pixel array corresponding to the location in the descriptor. In an embodiment, the loader queues reading of the descriptor until the loader fetches data from the storage device. In an embodiment, the loader queues reading of the descriptor to occur at predetermined intervals. In an embodiment, the system further includes an image source, and wherein the image source identifies the location of the display to be updated, and renders updated image data only for the location. In an embodiment, the image source is a video data source, and wherein the updated image data is stored in at least one of a memory and buffer. In an embodiment, the at least one of a memory and a buffer is a buffer and the updated image dated stored in the buffer is transmitted to the display system, and wherein the display system comprises driver display logic for computing an occupancy map of active areas of the display from the updated image data. In an embodiment, the areas of the display comprise rectangular tiles of at least one of pixels, rows of pixels, and portions of the pixels of the display. In an embodiment, the occupancy map determines active areas by analyzing whether or not there are any non-black pixels in areas of the display. In an embodiment, only data that is non-black is written into the storage device. In an embodiment, only updated image data corresponding to active areas of the display is retrieved from the storage device. In an embodiment, the display system comprises an array of pixels, and each pixel within the pixel array comprising pixel comprises pixel elements coupled to pixel logic circuitry; and pixel memory coupled to pixel logic circuitry. In an embodiment, the storage elements store the current grayscale value of the pixel. In an embodiment, the pixels further comprises pixel drive circuitry. In an embodiment, the pixel logic circuitry decodes the current grayscale value and modulate the pixel drive circuitry and generates at least one of a pixel intensity and brightness. In an embodiment, the memory elements comprise latch circuity to store image data represented by a number of bits, for the pixel. In an embodiment, the system further includes an image source, wherein said image source at least one of renders and transmits said image frame data, the image frame data comprising: updated image data of at least a portion of an image to replace a corresponding portion of image data of a currently displayed image; and associated commands describing how the updated image data replaces the image data. In an embodiment, the storage device is a cache memory. In an embodiment, a method of updating an image displayed on a display device, said display device comprising pixels in a pixel array includes the steps of: receiving image frame data in a display subsystem; receiving the image frame data in a parser extracting updated image data and the associated commands from the image frame data, said image frame data comprising commands instructing a loader how to update the display; storing the updated image data in an updated cache location according to the commands; reading the commands to identify and fetch the updated image data from the updated cache location; receiving the updated image data from the loader; and updating pixel driver circuity for pixels only within the updated image data.
The devices, systems and methods of the present disclosure save power within a display system by optimizing the rendering, transporting and refreshing of data (e.g., video, images, video/image data). The embodiments of the disclosure herein allow one to change, at every stage only what is changing, i.e., selectively refreshing only the portions of the data that need to change relative to the entire previous frame or sub-frame and only those portions that are non-blank. As such, only these changing or active portions are rendered, transported and refreshed, while the other portions of an image or image data remain the same or are not changed by the display driver circuitry and/or software. This selective refresh may occur at one or more stages of the pipeline, namely during host rendering, transport, and/or updating of the display, according to the embodiments herein.
As a result of the minimization of the amount of data sent and subsequently the amount of data processed, transported and refreshed at multiple stages of the pipeline (e.g., the complete video frame is not sent), the overall system increases efficiency, and reduces battery size and power consumption in associated devices that utilize such display systems and methods. These savings (e.g., smaller batteries and smaller/lighter mobile systems) are ideal for applications that require longer battery life such as head-mounted systems, including AR, VR and the like. Further, embodiments herein are ideal for driving displays, for example, liquid crystal displays, LCoS displays, LED displays, micro-LED displays. In an embodiment of the present disclosure, the display driver circuitry and/or software may be integrated, included, or coupled to a display, to form, for a single device (e.g., a display device with a silicon backplane (display device may be bonded or otherwise coupled to the backplane) that includes display driver ICs). In an embodiment of the present disclosure, the display may be separate from the display driver circuitry and/or software (e.g., display driver ICs) and electrically coupled to the display device, for example, via a flex cable, wire, or electrical connector element. The terms “coupled” and “connected,” along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Rather, in particular embodiments, “connected” may be used to indicate that two or more elements are in direct physical contact with each other. “Coupled” may mean that two or more elements are in direct physical contact. However, “coupled” may also mean that two or more elements are not in direct contact with each other, but yet still cooperate or interact with each other.
These and other capabilities of the disclosed subject matter will be more fully understood after a review of the following figures, detailed description, and claims. It is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting.
The present disclosure is illustrated and described herein with reference to the various drawings, in which like reference numbers are used to denote like system components, as appropriate, and in which:
Similarly,
In an embodiment of the present disclosure, a display backplane IC 130 may be included in, incorporated into, or integrated into a display backplane 120 (which may be coupled to, for example, reflective devices 186; 196 in the LCOS display system or LEDs such as microLEDs in a microLED display system). The pixel array (i.e., the microLEDs or LEDs) can be on its own substrate, with each LED coupled to a pixel driver on the backplane. In an embodiment of the present disclosure, the display backplane 120 is coupled to a display device 180, 190 (e.g., an LCOS device) or LCOS pixel array 140 or pixel elements (e.g., reflective devices 186; 196 or LEDs or array of LEDs, for example, microLEDs). In an embodiment of the present disclosure, a display device 100 includes a display backplane 120, display backplane circuitry 130, pixel circuitry 174 (e.g., as pixel drive circuitry or pixel circuit), and pixel elements 140a that are coupled (e.g., electrically) to, integrated into, included in and/or positioned in the DDIC 122. In an embodiment of the present disclosure, a display device 100 (including the DDIC 122) is electrically coupled to a DDIC, and form the display subsystem 120 and are assembled together in a display module 100.
In an embodiment of the present disclosure the display subsystem 120 includes a display 197. In an embodiment of the present disclosure (such as shown in
In an embodiment of the present disclosure (such as shown in
In an embodiment of the present disclosure, the array of pixels 184 include pixel elements assembled in an array 140, or assembled on a substrate 182 in an array. In an embodiment of the present disclosure, the array of pixels 180 is an array of light emitting diodes (LEDs). In an embodiment of the present disclosure the LEDs may be microLEDs. In an embodiment of the present disclosure, the array of pixel elements 184; 140 is an array of reflective elements 196 that control the birefringence of the liquid crystal 193 in an LCoS device 190 or other liquid crystal device. In an embodiment of the present disclosure, the pixel elements 184 are reflective elements/devices, for example, mirrors. In an embodiment of the present disclosure, the pixel array 140 or array of pixels is formed in, coupled to, incorporated in, or integrated into the display backplane IC 122. In an embodiment of the present disclosure, the DDIC or display driver circuitry drives the operation of pixel elements (e.g., light emitting diodes (LEDs), microLEDs 184, reflective elements) of an array of pixel elements arranged on a backplane 120 of the display subsystem 100.
In an embodiment of the present disclosure, the data source or host may be, for example, a mobile device, such as smartphone, tablet, laptop, head-up display system, head mounted device, or hybrid device (or some combination of the aforementioned). In an embodiment of the present disclosure, the image, image data, and/or video data is received by the real time data software module 107a and/or a MUX 108 of the host 102, and the real time data software or software module 107a combines the data with the commands parsed from a master sequence file containing a desired drive sequence at the multiplexer (MUX) 108 and/or real time data software module 107a. Additionally or alternatively the MUX 108 could be hardware that is controlled from the real-time data software module 107a. In an embodiment of the present disclosure, the data combined with the commands is combined data that is output from the data source (e.g., the host) 102 and transmitted to the display subsystem. In an embodiment of the present disclosure the combined data is output via a real time data software module 107a and/or MUX 108 of the data source 102.
In contrast to known systems, the data source or host 102 of the embodiments herein renders and transmits the part of the data 104 between frames that has changed, and not all of the image data (i.e., the changed and the unchanged data). In an embodiment of the present disclosure, the only image data transmitted by the host is the part of the data that has changed between frames, and this changed image data is transmitted from the host 102 to the display 197 or display backplane 130 and/or the driver circuitry 122 and/or software for driving the display backplane 130, along with one or more commands 106. This savings may occur at five stages as will be described in greater detail below: 1) transporting the data from the host 102 to the display 197; 2) putting it into a cache 153, 3) reading it from the cache 153, 4) writing it from the cache 153 into the display 130 via a display loader 162, and 5) modulating the active pixels of the display 197. Embodiments of the disclosure take advantage of the nature of images being presented in system applications, such as AR systems, which generally have sparse image data (as the image is overlaid on the real world) with a high proportion of black background which becomes transparent in an AR head-mounted display. In accordance with embodiments of the present disclosure, there may be instances when the whole display area and full data bandwidth over cables transporting the data to the display may need to be refreshed, for example, when a full-motion video is being presented or when a user is moving and graphics are being updated to align with the user's real world vantage point. In embodiments of the present disclosure, the display 197 may be showing icons, graphics or text in certain areas (such as ribbons along the bottom edge, top edge or side edges of the display, while the center area is blank) and these may be static or changing sporadically, and in these types of circumstances, transmitting the part of the data between frames that has changed, in accordance with embodiments of the present disclosure, and not the all of the image data (i.e., the changed and the unchanged data) is advantageous, as it for example, saves power. The data 104 may also be a symbol, icon or indicator which is moving, but is small relative to the entire display area and thus only a subset of the area needs to be updated, in accordance with an embodiment of the present disclosure. For small-area refresh cases, the refresh rate may also be increased if the motion needs to be rapid to keep up with changes to the environment, because the available time and transport bandwidth may be fully devoted to the changing portion of the display. Embodiments of the disclosure address the minimization of data processing, transport and refresh at multiple stages of the pipeline. In one embodiment, the entire display is refreshed without refreshing the whole cache, and in another embodiment, the whole display is refreshed from the cache. In an embodiment of the present disclosure, the loader 162 may only extract or read the changed data from the cache 153, and refresh or update the display 197. Alternatively, for example, the loader 162 may refresh or update the display 197 utilizing or reading the entire contents or image data in the cache 153 to update or refresh the display 197, as opposed to just reading the changed data from the cache 153.
The display backplane portion 130 of the display subsystem 120 according to embodiments of the disclosure incorporates the ability to only reload data into a portion of the display while leaving the state of all other pixels 140 static. This is shown in
Turning to
In an embodiment of the present disclosure, which pixels and/or blocks of pixels are to be re-loaded (i.e., the changed data) are identified using a command 106, such as a descriptor (e.g., an area descriptor) and this changed data may be transmitted (along with new image and/or video data 104) by the host 102 over the transport channel device 110 to display subsystem 120 and/or the display loader logic 162 (i.e., loader circuitry and/or software). The transport channel (e.g., cable, physical layer electronics and higher layers of the transport protocol) 110 can remain standardized for interoperability, however the content of the data stream is altered to contain both commands 106 and image and/or video data 104 masquerading as image and/or video data 104 (i.e., pure image and/or video data 104 or data that is not recognized for the commands 106 that it includes). Embodiments of software on the host 102 and a parser 124 in the display driver logic 122 (or separate display driver IC) agree or operate in accordance with a format for both image/video data packets and commands 106 (i.e., a same format or compatible format), such as the block descriptor 155 that provides the size and location of the area being refreshed, and the refresh rate of the system 100. In an embodiment of the present disclosure, the host 102 and the parser 124 are designed to agree. In an embodiment of the present disclosure the parser 124 may be hardware and/or software.
In the display subsystem 120 (or monolithic display IC), the received data stream 110 is parsed by the parser 124 to extract the image data 152 (e.g., block of image or video data 104) and the command(s) 106 or identifier(s) (e.g., the descriptor 155) that accompany it. In an embodiment of the present disclosure, the descriptor 155 is used to identify where in a local cache 153 the new data 104 will be stored. In an embodiment of the present disclosure, the descriptor 155 gets sent to both the cache 153 and the loader 162 so that the driver logic (i.e., driver circuitry 122 and/or software) knows where to put the changed data and so that the loader 162 knows where, in the cache 153, to read the changed data from when it needs to write it to the pixel array 140. In an embodiment of the present disclosure, the cache 153 (which may precede the display loader 162), is used to stage or store the image and/or video data 104 prior to the image and/or video data 104 being loaded onto the display 197. In an embodiment of the present disclosure, the only portions, sections, or addresses of the cache 153 that are updated are those portions of its contents corresponding to or related to the display area(s) being updated, as identified or set by the descriptor 155 (e.g., the area descriptor). In some embodiments only portions of the entire scheme are used. For example, in an embodiment, the host 102 can identify an area of a display 197 to be updated and send only the data for that area, and the cache 153 will be re-written, but the display 197 can be set to refresh from the cache 153 if, for instance, a multi-color display needs to display data from 3 separate colors sequentially (color sequential operation).
In an embodiment of the disclosure, the parser 124 sends the descriptor 155 to the cache 153 and also to the loader 162, and the loader uses the descriptor to identify a block address 164 from where to read or fetch the changed data from in the cache 153 (such that the loader 162 can load the changed data into the pixel array 140) and then uses the descriptor 155 to identify the rows 303 and columns 301 in the array 140, 300 to load that data (e.g., image data) into. In an embodiment of the present disclosure the descriptor 155 may be queued (i.e., placed in a buffer memory in the same order as the order of regions that will be updated on a display or the pixel array or pixel elements of a display 197) for when the loader 162 will extract the data from the cache 153 to load into the display pixels 140. The queueing may occur at predetermined intervals. In an embodiment of the present disclosure, there may be a fixed refresh rate, where all the data that will be displayed in the next frame time arrives at the cache 153 for updating of the display 197 in accordance with the refresh rate. In contrast, a system 100 in accordance with embodiments of the present disclosure, may periodically update the display 197 or array of pixels or pixel elements of a display 197 at predetermined intervals (and the timing of such intervals may vary). Alternatively, in an embodiment of the present invention, a system 100 in accordance with embodiments of the present disclosure may push out the changed data as it received by the display driver logic (i.e., the display driver circuitry 122 and/or software and/or the parser 124).
In another embodiment of the disclosure the host processor 105 only renders the portion of the image that is active or changing into a video buffer, but for convenience, the entire video buffer is transmitted to the display 197 and the display driver logic 122 computes an occupancy map 300 for areas of the display, such as rectangular tiles 308 or portions of lines 303, based on whether or not there are any non-black pixels in each area 308. This is shown in
By utilizing the systems and methods of the embodiments herein, power consumption is saved by only rendering, transporting and refreshing data for portions of the display that need to change while leaving other portions untouched rather than sending complete video frame. This also yields higher frame rates over conventional systems and methods.
In one embodiment, each pixel 140a, 140b within the pixel array 140 includes memory elements 174 (e.g., latches), logic 172 (e.g., hardware such as combinational gates, transistors etc.) and pixel drive circuitry 176 (such as a level shifter). Alternatively, one or more of each of the pixels 140b may include only the memory elements 174 and pixel drive logic 172. This is illustrated in
The pixel logic 172 may incorporate information received from the G-bus and determines which waveform goes out to the pixel array 140 based on the image data. See e.g., FIGS. 10-11 of the PCT document PCT/US2021/012262 entitled “Dynamic Pixel Modulation”, the entirety of which is fully incorporated herewith as part of this disclosure.
A method 400 of operation of a display system 100, in accordance with embodiments of the present disclosure, is described as illustrated in
The subject matter described herein can be implemented in digital electronic circuitry, or in computer software, firmware, and/or hardware, including the structural means disclosed in this specification and structural equivalents thereof, or in combinations of them. The subject matter described herein can be implemented as hardware, one or more computer program products, such as one or more computer programs tangibly embodied in an information carrier (e.g., in a machine readable storage device), and/or embodied in a propagated signal (e.g., a voltage or current waveform), for execution by, or to control the operation of, data processing apparatus (e.g., a programmable processor, a computer, or multiple computers). A computer program (also known as a program, software, software application, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file. A program can be stored in a portion of a file that holds other programs or data, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
The processes and logic flows described in this specification, including the method steps of the subject matter described herein, can be performed by one or more programmable processors executing one or more computer programs to perform functions of the subject matter described herein by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus of the subject matter described herein can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processor of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of nonvolatile memory, including by way of example semiconductor memory devices, (e.g., EPROM, EEPROM, and flash memory devices); magnetic disks, (e.g., internal hard disks or removable disks); magneto optical disks; and optical disks (e.g., CD and DVD disks). The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
The subject matter described herein can be implemented in a computing system that includes a back end component (e.g., a data server), a middleware component (e.g., an application server), or a front end component (e.g., a client computer mobile device, wearable device, having a graphical user interface or a web browser through which a user can interact with an implementation of the subject matter described herein), or any combination of such back end, middleware, and front end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
It is to be understood that the disclosed subject matter is not limited in its application to the details of construction and to the arrangements of the components set forth in the following description or illustrated in the drawings. The disclosed subject matter is capable of other embodiments and of being practiced and carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting. As such, those skilled in the art will appreciate that the conception, upon which this disclosure is based, may readily be utilized as a basis for the designing of other structures, methods, and systems for carrying out the several purposes of the disclosed subject matter. It is important, therefore, that the claims be regarded as including such equivalent constructions insofar as they do not depart from the spirit and scope of the disclosed subject matter.
Although the disclosed subject matter has been described and illustrated in the foregoing exemplary embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the disclosed subject matter may be made without departing from the spirit and scope of the disclosed subject matter, which is limited only by the claims which follow.
This application is a U.S. National Stage Filing under 35 U.S.C. 371 from International Application No. PCT/US2021/012678, filed on 8 Jan. 2021, and published as WO 2021/142243 on 15 Jul. 2021, which application claims the benefit of U.S. Provisional Application No.: 62/958,627, filed on Jan. 8, 2020, the entire content of which are incorporated herein by reference.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2021/012678 | 1/8/2021 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2021/142243 | 7/15/2021 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
6078316 | Page et al. | Jun 2000 | A |
10950305 | Seiler | Mar 2021 | B1 |
20030107579 | Willis et al. | Jun 2003 | A1 |
20120146963 | Kim | Jun 2012 | A1 |
20120188272 | Wang | Jul 2012 | A1 |
20150206281 | Takada | Jul 2015 | A1 |
20170221182 | Cawley et al. | Aug 2017 | A1 |
20170287384 | Lee et al. | Oct 2017 | A1 |
Number | Date | Country |
---|---|---|
115053208 | Sep 2022 | CN |
202143022 | Nov 2021 | TW |
WO-2021142243 | Jul 2021 | WO |
Entry |
---|
“International Application Serial No. PCT/US2021/012678, International Search Report dated May 18, 2021”, 7 pgs. |
“International Application Serial No. PCT/US2021/012678, Invitation to Pay Additional Fees dated Mar. 26, 2021”, 16 pgs. |
“International Application Serial No. PCT/US2021/012678, Written Opinion dated May 18, 2021”, 16 pgs. |
“International Application Serial No. PCT/US2021/012678, International Preliminary Report on Patentability dated Jul. 21, 2022”, 18 pgs. |
Number | Date | Country | |
---|---|---|---|
20230034839 A1 | Feb 2023 | US |
Number | Date | Country | |
---|---|---|---|
62958627 | Jan 2020 | US |