This invention deals with the encoding and transmission of data, and more particularly with addressing and timing techniques for systems using a multidimensional array of elements that present or transmit information to a user or reading system.
Data encoding algorithms find a rich application field in the realm of electronic video displays, particularly with respect to flat panel display systems. While in no way limiting the present invention, or associated prior art, to this application, it is instructive to tabulate the features of such example applications to illustrate how prior art has evolved and been applied. This approach is followed in the discussion immediately following.
The first illustrative example for the application of such encoding algorithms is a direct-view flat panel display system that uses sequentially-pulsed bursts of red, green, and blue colored light emanating from the display surface to create a full color image. The human visual system effectively integrates the pulsed light from a light source to form the perception of a level of light intensity. By making an array of pixels (picture elements on the video display) emit, or transmit, light in a properly pulsed manner, one can create a full-color display. A term commonly used to define this technique is called field sequential color (hereafter, FSC), and U.S. Pat. No. 5,319,491 (Selbrede) entitled “Optical Display,” uses this phenomenon as a basis for a flat panel display and is incorporated by reference herein.
The gray scale level generated at each point on the display surface is proportional to the percentage of time the pixel is ON during the primary color subframe time, tcolor. The frame rates at which this occurs are high enough to create the illusion of a continuous stable image, rather than a flickering one. During each primary color's determinate time period, tcolor, one can dictate the shade of that primary color by having its associated pixel open for the appropriate fraction of tcolor. For example, producing 24-bit encoded color requires 256 (0-255) shades defined for each primary color. If one pixel requires a 50% shade of red, then that pixel will be assigned with shade 128 ( 128/256=0.5) and stay on for 50% of tcolor. This form of data encoding assumes a constant magnitude light source to be modulated across the screen. Moreover, it achieves gray scales by evenly subdividing tcolor into fractional temporal components.
To generalize from this specific video-based application to a wider range of suitable applications, it is appropriate to define terms to be used throughout this disclosure. The individual video pixels, which correspond to array elements from the standpoint of the incoming data, serve to modulate (by on/off gating) the light present within the display screen. The light within the screen (the global quantity to be modulated by gating at each array element) is emitted at a determinate intensity for a determinate duration. This physical effect, of known intensity and duration, shall henceforth be termed a transmission pulse. It is the quantity that will be modulated by the encoding data within the array. The light illuminating the video display, then, is a surrogate for a larger class of quantifiable entities which can be mathematically encoded and controlled using the methods disclosed in this disclosure. Said quantifiable entities symbolized by the term “transmission pulse” may not necessarily be intensities of light energy, as the application range of the encoding method is far broader than the field of video displays.
Other technologies use FSC and pulse width modulation (hereafter, PWM) address schemes to create a projection-based system (as opposed to the direct-view system referenced above). Such a projection-based display is found in the Digital Light Processor™ (DLP) from Texas Instruments, a patented projector system which uses an array of micromirrors as disclosed in the patent for the Digital Micromirror Device™ (DMD) (see U.S. Pat. Nos. 5,278,652 and 5,778,155, respectively). In the DMD, the mirrors are tilted one way to reflect light through a lens in a projection display system and tilted the opposite way to prevent light from reflecting through the projection lens. By timing precisely when and for how long the mirrors are oriented to reflect light, the DMD reflects the correct shade, or brightness, of a either a constant primary light source or a white light source that is filtered through use of a continuously rotating color wheel. The encoding strategy implemented in these Texas Instruments devices divides the cycle time into unequal fractions, as opposed to the equal duration time slice strategy disclosed for the direct-view device in Selbrede. The unequal fractional durations are temporally proportioned as ascending powers of two (e.g., the second fraction is twice the length of the first; the third fraction is twice the length of the second, up to the largest fraction contemplated).
The present invention codifies a method of encoding data for applications such as, but not limited to, video display systems. Its utility is most obvious for video systems that, for example, incorporate methods for pulse width modulating frames of video data to control both input (illumination) light sources and the individual pixels comprising a spatial light modulator (SLM) composed of an array of pixel elements that are addressable in a row by row, and/or subarray by subarray, fashion. This encoding method can also apply to an array of SLM pixels where the state of each pixel may or may not be controlled by unique transistors or other active switching devices. The pixels in the array are addressed in a subarray by subarray fashion for turning ON the pixels (i.e. transmitting, reflecting, or emitting light). These subarrays may consist of one row, some number of rows, or all rows of the array. The entire array, or subarray of several rows, of pixels can also be simultaneously set to the same state (ON or OFF) during a screen refresh or reset. During the addressing of the array of pixels, the light sources used to transmit light through the pixels are controlled independently.
The present invention would enhance the encoding of information being directed toward a system lending itself to such enhancement, such as, for example, a video display device composed of optical shutters that use frustrated total internal reflection (TIR) to create a transmissive display that produces color by the method of FSC. The example display system referenced earlier (Selbrede) is known as the Time Multiplexed Optical Shutter (TMOS). However, the present invention can also apply to other display architectures, such as those incorporating pulsed light sources and optical transmissive or reflective elements, or pixels, whose light properties originate from said pulsed light sources. The domain of applicability for the present invention extends far beyond video display devices, which are used herein for illustrative purposes.
The present invention is particularly well suited to application within the TMOS example already described, since TMOS, within its utility range, uses a one-part per pixel architecture whereby the full color spectrum is transmitted through each pixel. Many display systems use a three part pixel (i.e. red, green, and blue regions comprising subpixels that are spatially distinct one from another) which combine in some proportion to produce the desired color when viewed far from the screen. The light sources, or lamps, that serve to illuminate the TMOS system are controlled independently of the on-screen pixels, which are actuated as required based on program content. Consonant with the definition proposed at the outset, the sequential activation of the primary color light sources that illuminate the TMOS display constitute an example of “transmission pulse” events. The transmission pulse is spatially modulated by the controllable array of pixels that permit or forbid coupling of the light out of the display for propagation to the observer, who, over time and pursuant to the principles of FSC, perceives a color video image on the display surface.
Most encoding mechanisms for FSC-based systems presuppose some form of bistable, memory, or persistence effect, such as that disclosed, as one possible example among many, in the patent filing “Simple Matrix Addressing” (Derichs) which is hereby incorporated by reference in its entirety. This memory effect may or may not result from individual, and/or discrete, memory elements, such as CMOS memory cells or transistors. For example, one embodiment of TMOS posits that each pixel is a microelectromechanical system (MEMS) variable capacitor configured so that the separation between conductors in each pixel's air gap can be reduced during actuation from a default unactuated state during which no voltage or charge is applied to the pixel. In said example, applying a voltage across the capacitor forces the upper electrode to approach the lower electrode through Coulomb attraction, thereby reducing the air gap distance while increasing the pixel's capacitance. In this example, when a sufficient voltage, V1, is applied, the moving upper conductor layer will contract to come into contact with the lower conductor layer (unless they are separated by some solid dielectric) in an effect known as the pull-in or snap-down. To release the contact between the two conductors (or their respective dielectrics) the capacitor voltage needs to reach a second voltage, V2, that is less than V1. All nonaddressed rows stay within the voltage range V2<V<V1. Thus, an addressed row of pixels can be actuated without changing the state of the pixels (or capacitors) in the nonaddressed rows. This control method takes advantage of the hysteretic nature of the pixels being variable capacitors. The present invention is both compatible with and suitable for application to this particular device.
The present data encoding invention is also applicable for other control methods that, for example, can alter the discharge rate of a row of pixel capacitors from high (when addressing that row) to low (when not addressing that row). Where suitable preconditions for applicability are met, the present invention provides significant utility in optimizing the encoding of data.
The foregoing has outlined rather broadly the features and technical advantages of one or more embodiments of the present invention in order that the detailed description of embodiments of the present invention that follows may be better understood. Additional features and advantages of embodiments of the present invention will be described hereinafter which form the subject of the claims.
A better understanding of the present invention can be obtained when the following detailed description is considered in conjunction with the following drawings, in which:
The present invention is a method of encoding data associated with an arbitrarily-sized array of elements the content of which may vary in value, of any dimension, where the data is allowed to be presented in different ways and at different times relative to when the data is loaded. The array elements can present multiple discrete states, two for binary, three for ternary, four for quaternary, and so on. The input data stream to be loaded to the array of elements generally contains more information than can be presented, stored, or transduced, by the array at any one instant in time. Therefore, data subsets can be used in temporal succession to present the full information set to the user. Either each individual data subset presented in the array or the subsequent temporal succession of data subsets presented in the elemental array then provides the complete information content of the input data stream within the application-specific device in question. The time during which each subset of information is sequentially presented in the array lasts for some determinate duration called the subset time. Each subset of data is normally expected to fill the array and can be further decomposed into subarrays that may be loaded and presented at different times. In some video applications, the data being transferred reflects only change in information content, such that the entire array is not necessarily reloaded during each subset time. The present invention applies to any such variation as well as the expected core utility. It is noted that the principles of the present invention are not to be limited to the field of video display devices. It is further noted that a person of ordinary skill in the art would be capable of applying such principles to other applications.
One possible application of the present invention is the transmission of a frame of visual information by use of FSC in a video display system consisting of a two-dimensional array of pixels. In this real-world example, a frame is a set of information that determines the color and brightness of each pixel comprising the video display being observed by the viewer. The frame is composed of multiple data subsets, or subframes, usually dictated by the number of primary colors to be mixed to create the desired output (in this example, the three so-called tristimulus colors—red, green, and blue—are the most commonly used primary colors). The full-color information, then, is parsed into separate channels of data for each primary color. Each subframe will then encode different shades associated with the appropriate primary color which is a fraction of the primary full intensity. These shades (which, in this data, are fractions of an irreducible and discrete primary color) represent the lowest subset of data for the display. Using FSC techniques, a desired shade can be displayed by selectively restricting the emission time of the primary color at a given pixel (array element) for a determinate fraction of time, the subset time, that is temporally proportional to its primary color shade value. The total time allowed for every full-color video frame is tframe=1/(frames per second). In one embodiment, the time allowed for every constituent primary color is tcolor=tframe/Ncolor, (101 of
A data subset of information presented in the element array takes some non-zero array time 107 to be loaded and stored 108 and some non-zero time to be unloaded and cleared 109 from the array due to the temporal constraints of the array elements themselves and intrinsic latency of the other physical components comprising the system in question. The data can be loaded and cleared for all elements simultaneously or incrementally by handling a subarray of elements (such as one row of a two-dimensional array) at a time. The data is visually presented to the user independently of the loading pulse sequence 111 and the unloading or clearing 112 pulse sequence as dictated in time and duration by the transmission pulse 110, which is unmodulated (full intensity) for the example disclosed at this point. The data can either be presented as the data is loaded 111 and cleared 112, or after all data loading of the array has been completed.
For a sample display application using FSC, the transmission pulses 110 indicate when the light sources are on. In
Depending upon the control scheme underlying the element array, during a single addressing event for a given subarray the elements can (1) only be turned to some level ON state, (2) only be turned to the OFF, or (3) turned both to the proper ON state and OFF state before addressing the next subarray. Each of these three possibilities dictates a different bandwidth requirement to properly handle the input data. It is noted that the discussion below is for an embodiment in which the pixel elements are binary. However, the principles of the present invention may be applied to pixel elements that are ternary.
The maximum clock speed in each encoding scheme is calculated as Ncycles/(array time 107) where Ncycles is the number of clock cycles per array address. Ncycles is equal to Nelements/(input bits per clock cycle.) where Nelements is the number of elements in the array. Consider the application of the present invention to a representative video display composed of Nrow number of rows and Ncol number of columns of pixels. If Ncol=1024 and Nrow=768, then Nelments=NrowNcol. If the data is input at 32 input bits per clock cycle, then these parameters produce Nelements=24,576. The clock speed required for this FSC display application is roughly determined by the array time 107 allowed to address the display (assuming row by row addressing). For example, if the array time 107 is equal to 300 μsec, the maximum required clock speed is approximately Ncycles/(array time 107)=82 MHz. The peak bandwidth (BW) is related to the clock speed as BW=(bits per clock cycle)(max. clock speed). For the current example with 32 bits per cycle, the peak BW is 2.6 Gbit/sec. The utility inherent in the present invention is that it minimizes bandwidth by maximizing the array time 107 and/or making it suitably variable.
Equal Time Encoding
The conceptually simplest (but far from most bandwidth-efficient) encoding scheme would specify that each subset time be of equal duration. If each subarray is of equal size, then the subarray times are also equal. In this case, the array time 311 can be solved as array time 311= data set time 310/Nsubset where Nsubset is the number of subsets and 310 is the data set time. The corresponding subarray time (208 of
Using for illustrative purposes a video display application for deploying the present invention, consider that for an equal time FSC display application (60 fps, Ncolor=3), array time 311 is equal to each primary color time or data set time 310 (i.e., fps/Ncolor=60/3) divided by 65 (where 65 is based on 6-bit color (26) plus 1) which equals 85 μsec, and with Nrow=Nsubarray=768 the subarray time is 111 nsec. In such an embodiment, the time to address the array 311 is the same as the LSB time (by definition) so that the amount of time that the transmission pulse (e.g. light source) is on for the first row is the same as for the last row. This is the reason there are 65 subsets 305 within each primary color time or data set time 310 instead of 64, as it assures the color shade generated by pixels in the top (first) row is the same as from those in the bottom (last) row. During the subarray time one is able to turn all desired pixels in a subarray either ON or OFF. The main clock speed required for this equal subset time FSC embodiment (Nrow=768, Ncol=1024) is 289 MHZ. corresponding to a peak bandwidth of 9.2 Gbit/s for a 32 bit-deep input to each subarray.
1. Full Binary Encoding
Instead of turning ON an element once and waiting until the end of 410 to turn it OFF, as in the equal subframe time encoding method, the binary encoding method requires the ability to switch an element between ON and OFF states during any of the bits of
In this FSC video display application example, the time periods 401 through 406 for which a pixel is ON represents the shade of a primary color that is displayed to the viewer. A pixel designated with bit value 20 would have 20/63 the full brightness possible, for a pixel having a maximum color shade of 63, and would only be ON during the subframes 402 and 404 of
For the binary encoding scheme the array is not addressed at regular intervals because of the binary-proportioned periods of time between array addresses. Although the array is addressed fewer times than in the equal subset time method, it is addressed at the same speed because they nonetheless have the same array access time, 411 in
Dual Binary Encoding (With Reduced LSB Transmission Intensity)
The dual binary encoding is designed to improve both the bandwidth and element timing requirements in systems such as those used as illustrative examples throughout this disclosure. A representative schematic of the dual binary encoding method, as applied to a video display system with transmission pulse intensity control, is shown in
Were this dual binary encoding to be deployed in the same video application used to previously illustrate the full binary encoding system, the comparative values for the key parameters, wherein 512 is the data set time and 511 is the array time, are the data set time 512 equal to 18 times the array time 511, such that the array time 511 equals 309 μsec and the subarray time is 402 nsec. These values represent a highly desirable order of magnitude increase in time available to address the pixels in a row of the display as compared to the previously-described full binary and equal time encoding methods. By slowing down the speed at which the screen is addressed, the dual binary encoding method incorporating transmission intensity control reduces the main clock speed to 79 MHz and the peak bit rate to 2.5 Gbit/s. This is an order of magnitude reduction in clocking speed.
The tradeoff for achieving slower addressing times and reduced bandwidth requirements is a lower aggregate absolute transmission magnitude (i.e., the sum of intensities during 509 and 510 is less than twice the value of 509, which latter value prevails in the full binary and equal time encoding methods). The addressing can now be slower for the LSBs because of the partitioning of data between 509 and 510, thereby implementing a dual binary address where two binary encoding schemes share the load. Using
The difference between the dual binary encoding and single binary encoding (consult
The incrementation index j is initialized 920 for the transmission pulses. The jth transmission pulse is turned on 921 and the incrementation index i is initialized 922 before loading and unloading the data to the array 923. Depending upon how long it takes to load and unload the data, some additional time may be spent processing the current data subset 924 before loading the next subset. Until all data subsets have been processed 925 the data subsets are incremented 926 and steps 923 and 924 are repeated. Once all data subsets have been addressed and transmitted, the system is tested for completion by determining whether or not the last subarray is finished with its data loading and/or unloading 927 before turning off the current transmission pulse 928. Until all data subsets Np for the current transmission pulse have been processed 929, the steps 921-929 are repeated for each transmission pulse, and the next transmission pulse is turned ON 930. When the last transmission pulse has been turned OFF, the next data subset 920 is ready to be processed.
Binary Encoding With PWM LSB Transmission Pulse Control
The reason for treating the LSBs and MSBs differently is that the array address time 830 takes longer than the span of the LSBs. Thus, the transmission pulse can be OFF while the array is addressed for the LSBs and the user (in this illustrative example) will not see the data for too long. When the array has been fully addressed, then the transmission pulse is pulsed ON for the correct time and then pulsed OFF at the appropriate time.
For the 6-bit data encoding embodiment shown in
In a display application, for the scheme depicted in
Full PWM Binary Encoding
The full PWM binary encoding method is shown in
In using this PWM binary encoding scheme, the two fundamental time periods, 107 and LSB 806, are not equal. Time 811 is the array access time, meaning it is the time required to address the array one time, actuating elements ON and OFF, including any array reset time. Designate the LSB 806 as the fundamental time unit that governs the weighting of the binary lamp pulses. In all other encoding schemes described before, there was no need to distinguish among the two different timings since they were inherently equal. Depending upon the constraints imposed upon the encoding scheme, 811 can be less than or greater than 806.
The algorithm for implementing an encoding scheme as in
From the 6-bit example of
An example calculation shows the great benefit of this encoding method in the application of a display using FSC. Assume ton=0.5 μsec, toff=10 μsec, a video display configured to emit 18-bit color, with Ncolor=3, and Nrows=768 to produce an absolute optical output near 58% that of the two unoptimized encoding methods presented in
The ultimate clock speed required depends upon the number of bits present in the input data and the memory of the shift registers that distribute the data to the control lines. In other words, exigencies of the actual application, rather than the factors specific to the present invention, determine ultimate clock speed. However, the clock speed can clearly be minimized by using full PWM binary encoding as disclosed herein. Since the speed at which one addresses the array can vary, so can the clock speed for sending data.
This application is related to the following commonly owned U.S. patent applications: Provisional Application Ser. No. 60/611,220, “Enhanced Bandwidth Data Encoding Method,” filed Sep. 17, 2004, and claims the benefit of its earlier filing date under 35 U.S.C. § 119(e).
Number | Name | Date | Kind |
---|---|---|---|
4486785 | Lasher et al. | Dec 1984 | A |
4698672 | Chen et al. | Oct 1987 | A |
4704628 | Chen et al. | Nov 1987 | A |
4816914 | Ericsson | Mar 1989 | A |
4918689 | Hui | Apr 1990 | A |
5018167 | Perelman | May 1991 | A |
5159449 | Almendinger | Oct 1992 | A |
5159453 | Dhein et al. | Oct 1992 | A |
5168375 | Reisch et al. | Dec 1992 | A |
5216529 | Paek et al. | Jun 1993 | A |
5228098 | Crinon et al. | Jul 1993 | A |
5260783 | Dixit | Nov 1993 | A |
5283646 | Bruder | Feb 1994 | A |
5289299 | Paek et al. | Feb 1994 | A |
5303031 | Khoury et al. | Apr 1994 | A |
5339164 | Lim | Aug 1994 | A |
5347310 | Yamada et al. | Sep 1994 | A |
5398066 | Martinez-Uriegas et al. | Mar 1995 | A |
5438440 | Paek et al. | Aug 1995 | A |
5468069 | Prasanna et al. | Nov 1995 | A |
5581361 | You et al. | Dec 1996 | A |
5612742 | Krause et al. | Mar 1997 | A |
5638533 | Law | Jun 1997 | A |
5640159 | Furlan et al. | Jun 1997 | A |
5742346 | Slevers et al. | Apr 1998 | A |
5790269 | Masaki et al. | Aug 1998 | A |
5805228 | Proctor et al. | Sep 1998 | A |
5815421 | Dugong et al. | Sep 1998 | A |
5831678 | Proctor et al. | Nov 1998 | A |
5881175 | Kim | Mar 1999 | A |
5926205 | Krause et al. | Jul 1999 | A |
5926226 | Proctor et al. | Jul 1999 | A |
5943096 | Choo | Aug 1999 | A |
5949911 | Chui et al. | Sep 1999 | A |
5995990 | Henry | Nov 1999 | A |
5999307 | Whitehead et al. | Dec 1999 | A |
6005981 | Ng et al. | Dec 1999 | A |
6006276 | MacCormack et al. | Dec 1999 | A |
6018351 | Mennemeier et al. | Jan 2000 | A |
6049632 | Cockshott et al. | Apr 2000 | A |
6064404 | Aras et al. | May 2000 | A |
6072830 | Proctor et al. | Jun 2000 | A |
6101299 | Laor | Aug 2000 | A |
6125398 | Mirashrafi et al. | Sep 2000 | A |
6128413 | Benamara | Oct 2000 | A |
6160918 | Pigeon | Dec 2000 | A |
6185253 | Pauls | Feb 2001 | B1 |
6236682 | Ota et al. | May 2001 | B1 |
6255820 | Steckner | Jul 2001 | B1 |
6277074 | Chaturvedi et al. | Aug 2001 | B1 |
6304714 | Krause et al. | Oct 2001 | B1 |
6307663 | Kowarz | Oct 2001 | B1 |
6356665 | Lei et al. | Mar 2002 | B1 |
6373986 | Fink | Apr 2002 | B1 |
6421464 | Tran et al. | Jul 2002 | B1 |
6438165 | Normile | Aug 2002 | B2 |
6487526 | Mitchell | Nov 2002 | B1 |
6536043 | Guedalia | Mar 2003 | B1 |
6542622 | Nelson et al. | Apr 2003 | B1 |
6587507 | Chvi et al. | Jul 2003 | B1 |
6621864 | Choo | Sep 2003 | B1 |
6625667 | Westerman | Sep 2003 | B1 |
6754433 | Hurley et al. | Jun 2004 | B2 |
6833832 | Wolverton | Dec 2004 | B2 |
6844947 | Salchi et al. | Jan 2005 | B2 |
6850352 | Childers | Feb 2005 | B1 |
6864909 | Horowitz | Mar 2005 | B1 |
6888893 | Li et al. | May 2005 | B2 |
6888894 | Prakash et al. | May 2005 | B2 |
6987889 | Horowitz | Jan 2006 | B1 |
7016417 | Roman et al. | Mar 2006 | B1 |
7035332 | He et al. | Apr 2006 | B2 |
7050503 | Prakash et al. | May 2006 | B2 |
7075993 | O'Brien, Jr. | Jul 2006 | B2 |
7082162 | Prakash et al. | Jul 2006 | B2 |
7082166 | Prakash et al. | Jul 2006 | B2 |
7085319 | Prakash et al. | Aug 2006 | B2 |
7088867 | Wang et al. | Aug 2006 | B2 |
7103103 | Prakash et al. | Sep 2006 | B2 |
20040120025 | Lehoty | Jun 2004 | A1 |
20050094244 | Richards | May 2005 | A1 |
Number | Date | Country |
---|---|---|
WO 0154112 | Jul 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20060061559 A1 | Mar 2006 | US |
Number | Date | Country | |
---|---|---|---|
60611220 | Sep 2004 | US |