1. Field of the Invention
This invention relates generally to displays, and in particular to adjusting the duration of pulses for pulse width modulated displays
2. Background
Pulse width modulated displays, in various forms, have been important products of the display industry for over 30 years. Originally the constant luminance displays were the primary type in use, although today both plasma display panels (PDP) and digital light processing (DLP) are the most common types found in wide distribution. U.S. Pat. No. 3,590,156, to Easton, provides an excellent early example of these types of displays.
Pulse width modulated displays are prone to a number of visual artifacts. The exact nature of each artifact depends heavily on the implementation of the pulse width modulation and the nature of the display in which it is implemented. These can be roughly divided into static image artifacts (gray scale errors) and motion artifacts (perception errors originating in the pulse width modulation). Pulse width modulated liquid crystal displays may also show a lateral field artifact which is present whether the image is moving or static and which has origins similar to those for moving artifacts.
One additional source of error in a pulse width modulated display is that it is often difficult to modulate the display with exactly the correct pulse width to achieve the desire gray level exactly. This limitation arises because of the limitations in the hardware implementation of the pulse width modulation concept.
A pulse width modulation technique in which the pulse width modulation is determined by the length of time a row is left in a given memory state is described in co-pending U.S. Patent Application, Publication No. US 2003/0210257, entitled “Modulation Scheme for Driving Digital Display Systems” incorporated by reference herein in its entirety. In the technique described, after a row of the display is written, the row is not visited again until a display data scheduling device writes the row again to establish a new data state for a different segment of the pulse width modulation. Each row can be addressed in turn as it is not necessary to change more than one row at a time.
The display as implemented sequences through each bit plane in an order determined by many factors, but principally by the need to control artifacts. The sequence is not explicitly important to this discussion. One important point is that each bit plane is written during a single sequence and then the sequence starts again on a different row.
Conceptually, the modulation method is relatively efficient of bandwidth. The use of regular row writes and the use of spacing to determine gray scale values facilitates the reduction, or elimination, of peaks and valleys in the required bandwidth without lowering system performance to an unacceptable level. In practice the surface area of a display presenting a particular higher order bit plane is roughly proportional to its weighting relative to the area displaying the least significant bit (LSB). The ratios are disturbed by the electro-optic curve of the liquid crystal cell but the principal is clear.
The modulation technique itself has a temporal coarseness or temporal resolution limitation in that the time for each bit plane can only be adjusted in one row increments. This limitation can be dealt with by such techniques as spatial and temporal dither, but these techniques add complexity to the calculation of the data to be displayed.
Therefore, there is a need for improved systems, apparatus, and techniques for providing a more deterministic method for modulating a display.
The present invention includes methods, apparatuses, and systems as described in the written description and claims. In one example, improved techniques of modulating pulse width modulated displays are described.
In one embodiment, a method for providing a modulation drive sequence for a pulse width modulated display includes receiving a row write address. Then writing data to a specified row in a display on a first phase of a clock signal and terminating a write operation on a different row on a second phase of the clock signal.
In another embodiment, a display includes a processor that receives image data, such as gray scale level or multi color, commands and generates data to be written to rows of the display. The data includes a pulse width modulated drive sequence that writes data to selected rows on a first phase of a clock and terminates a write operation on a different row on a second phase of the clock. The display also includes a voltage controller that supplies at least one voltage supply that is used to drive the pixes to desired states.
In another embodiment, a control module for a pulse width modulated display includes a processor that receives image data, such as gray scale level or multi color, commands and generates data to be written to rows of the display. The data includes a pulse width modulated drive sequence that writes data to selected rows on a first phase of a clock and terminates a write operation on a different row on a second phase of the clock. The control module also includes a voltage controller that supplies at least one voltage supply that is used to drive the pixes to desired states.
In an embodiment, the first phase of the clock signal is a rising edge of the clock signal and the second phase of the clock signal is a falling edge of the clock signal. In addition, terminating a write operation comprises writing all elements in a row to a predetermined value. The predetermined value can correspond to a black level of the display, a white level of the display, a gray level of the display, or any desired level.
The details of the present invention, both as to its structure and operation, may be gleaned in part by study of the accompanying drawings, in which like reference numerals refer to like parts.
Certain embodiments as disclosed herein provide for methods and systems for techniques that provide improved modulation in pulse width modulated displays. After reading this description it will become apparent how to implement the invention in various alternative embodiments and alternative applications. However, although various embodiments of the present invention will be described herein, it is understood that these embodiments are presented by way of example only, and not limitation. As such, this detailed description of various alternative embodiments should not be construed to limit the scope or breadth of the present invention as set forth in the appended claims.
In some types of displays, such as plasma displays or digital micro-mirror device displays, the modulation waveform and the resultant light output intensity are almost identical. In other types of displays, especially those based on nematic liquid crystals, the output light intensity may look like a smoothed version of the modulation waveform.
In one embodiment, techniques for providing improved, deterministic, adjustment of the pulse width modulation duration to a new duration that generates a brightness value that is closer to the desired value are described. The techniques can be broadly applied to pulse width modulation techniques, and are not limited to modulation of displays.
In one embodiment of modulating a display, the writing of data involves the transmission of information to the display that identifies the row to be written, and the data to be written on that row. The format of the data determines the action to be taken by the display with the information.
In the example of FIGS. 2A-C, data on the rising edge of the clock signal, indicated by a clock value of one, includes a flag (not shown) to indicate that the data is address data and not image data, as well as the actual address data, bits D00-D10. The data, bits D12-D15, on the rising edge are set to zero across, as this is not used in this particular implementation. The address and data, bits D00-D15, are all set to zero on the following edge of the clock signal because there is no operation on the following edge of the clock signal.
The example of FIGS. 2A-C illustrate a bus width of 16 bits. However, the choice of bus width is arbitrary. Common data bus widths are 16 bit and 32 bit although 24 bit has also been used.
In another embodiment, an interface to a micro-display uses dual phase data transfer where data can be written on both the rising and falling edges of the clock signal. A technique of using both rising and falling edges of a clock signal in memory interfaces is described in “R3000/R3001 Designers Guide” published by Integrated Device Technology (IDT) in 1990, incorporated herein in its entirety. While dual phase data transfer has been implemented in other technologies, the advantages of dual phase data transfer in pulse width modulated systems has not been recognized before.
In the example of FIGS. 3A-C, using dual phase data transfer, the second phase of the row address block is used to identify that a row is to be set to a single value, the address of the row, and the value to be set into that row. This embodiment offers many advantages over previous techniques. For example, because the second phase of the clock signal, i.e. the falling edge, was not previously used, this is an extremely efficient means of implementing this feature. In alternative embodiments, one extra data transfer may be needed, but that is still extremely efficient compared to requiring a row be written bit at a time.
Returning to
Data bit D11 indicates if the row address is real or imaginary. Identifying an imaginary row address permits the transmission of TWP data to the microdisplay in an instance where the corresponding row write is “off the screen.” In some instances write pointers may not be on the physical screen but rather a virtual one. This can occur when the number of rows is smaller than the number of bits of data. For example, 10 bits of data equals 1024 individual settings whereas an HDTV display after SMPTE 296 will have 720 physical rows. Using the row spacing logic to determine timing results requires the addition of virtual rows to be fully functional. One technique to simplify circuit design is to transfer data that is deferred by the device, because not transmitting data can require additional circuitry. The second phase of the row address can still be real and write a second row to a desired black. There is also a logic to writing a virtual row to black because this can simplify the logic of gray scale generation.
In the embodiment of FIGS. 3A-C data bit D12 is reserved, and can be used for other purposes. Data bit D13 is used to indicate if an improved built-in self test (IBIST) should be run. In this embodiment, if data bit D13 is set to a one the IBIST is run, and if data it D13 is set to zero the IBIST is not run. Data bit 15 indicates if a TWP is present, data bit 15 set to one, or if there is no TWP present, D15 set to zero. Data bit 14 is used to provide the ability to chose whether the “write to black” action will write a high voltage or a low voltage. In a normally black liquid crystal mode a low voltage corresponds to a dark state, while a normally white liquid crystal mode a high voltage corresponds to a dark state. Use of a bit to indicate the voltage level to write to provides added flexibility. While many current commercial modes are normally black the addition of this features allows both modes to be supported.
There are many advantages to being able to terminate individual bit planes early. For example, there can be a substantial improvement in the ability to set gray scale accurately. In addition, by terminating modulation sequence segments early the relative intensity response of a device can be smoothed.
While the above describes a write to black technique, in a similar manner a rite to white technique can be implemented. In a write to white technique, a segment that is turned on could have its on time extended by writing to white before the start of the segment, or writing to white at the end of the segment. Likewise, write to white and write to black techniques can be intermixed in the same system.
In block 708 it is determined if the terminated write pointed (TWP) flag is set. If the TWP flag is set, then the TWP value is written to the TWP row as indicated in blocks 720 through 728 explained in further detail below. If the TWP flag is not set, then the system proceeds with the processing of writing data as described in blocks 710 through 714 explained further below.
In block 708, if it is determined that the terminated write pointer flag is set flow continues to block 720 where a terminated write pointer data value is received. The terminated write pointer data value indicates a value for the data that will be written to the terminated row. In one embodiment, the terminated write pointer data value is a single bit, and thus is one of two states and can, for example, drive to black, or drive to white. In another embodiment, the terminated write pointer data value can be more than one bit, and can drive to any other desired value. Flow then continues to block 724 where the address of the row to be terminated is read.
Flow continues to block 726 where the value of the imaginary data flag in the received data is determined, indicating if the data row is on or off display. If the imaginary data row flag is set, indicating that the row is off the display, then flow continues to block 710 where it is determined if the imaginary data row flag is set.
If, in block 726 if it is determined that the imaginary data row flag is not set, then flow continues to block 728. In block 728, the terminated write pointer data value is written to the row addressed in the terminated write pointer operation. Flow then continues to block 710.
In one embodiment, imaginary data rows and imaginary TWP rows are present so that the process can be “stalled” to insure that the time to accommodate an imaginary row is the same as the time to accommodate a real one. This insures that the timing integrity is maintained.
Returning to block 708, if it is determined that the terminated write pointer flag is not set flow continues to block 710. In block 710 the value of the imaginary data row flag is determined, indicating whether the data row is on or off the display. If it is determined that the imaginary data row flag is set, indicating that the row is off display, then flow continues to block 702 and the next data row address is received.
If, in block 710 it is determined that the imaginary data row flag is not set, indicating that the row is on the display, then flow continues to block 712. In block 712 the row data is received. Flow then continues to block 714 and the received row data is written to the row addressed. Flow then continues to block 702 and another data row address is received.
Modulation techniques as described herein can be used in various display systems.
In one embodiment, the processor module 1240 receives data from an image source. The source data may be in various formats such as digital video interface (DVI), or high definition multimedia interface (HDMI), or other format. The source data can also represent a single color, or multiple colors within an image. The processor module 1240 is in communication with a voltage control module 1220 and a memory module 1230.
The memory module 1230 is a computer readable medium including programmed data and commands. The memory module can also buffer source data or processed data from the processor module 1240. In one embodiment, the memory module 1230 may store data and the processor module 1240 may also include registers to store data.
The voltage control module supplies the bias voltage Vito 1260 to the common transparent electrode 1250. The voltage control module 1220 also supplies the voltages V0 and V1 (1272 and 1274) that are used to drive the pixels 1210. As is well know in the art, Vito may be a single preset voltage or it may be two or more time sequenced alternating voltages, depending on the precise display architecture used.
The processing module 1240 can produce modulation schemes for controlling the gray scale of the pixels cells 1210. In one embodiment, the processing module 1240 generates modulation drive sequences, such as the modulation drive sequences describe in relation to
In one embodiment, the functions of the processing module 1240, memory 1230 and voltage control module 1220 are performed in a single module or device. In other embodiments, the functions are distributed across multiple modules or devices.
The techniques described herein may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or a combination thereof. A hardware implementation may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof.
For a firmware and/or software implementation, the techniques may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in a memory (e.g., memory module 1230 in
The term “module” as used herein means, but is not limited to a software or hardware component, such as an FPGA or an ASIC, which performs certain tasks. A module may advantageously be configured to reside on an addressable storage medium and configured to execute on one or more network enabled devices or processors. Thus, a module may include, by way of example, components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, variables, and the like. The functionality provided for in the components and modules may be combined into fewer components and modules or further separated into additional components and modules. Additionally, the components and modules may advantageously be implemented to execute on one or more network enabled devices or computers.
Furthermore, those of skill in the art will appreciate that the various illustrative logical blocks, modules, circuits, and method steps described in connection with the above described figures and the embodiments disclosed herein can often be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled persons can implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the invention. In addition, the grouping of functions within a module, block, circuit or step is for ease of description. Specific functions or steps can be moved from one module, block or circuit to another without departing from the invention.
The above description of the disclosed implementations is provided to enable any person skilled in the art to make or use the invention. Various modifications to these implementations will be readily apparent to those skilled in the art, and the generic principles described herein can be applied to other implementations without departing from the spirit or scope of the invention. Thus, it is to be understood that the description and drawings presented herein represent example implementations of the invention and are therefore representative of the subject matter which is broadly contemplated by the present invention. It is further understood that the scope of the present invention fully encompasses other implementations and that the scope of the present invention is accordingly limited by nothing other than the appended claims.
This application claims the benefit of U.S. provisional patent applications Ser. No. 60/745,875, filed Apr. 28, 2006, entitled “Multi Mode Pulse Width Modulated Displays” which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
60745875 | Apr 2006 | US |