This application claims priority to U.S. Provisional Patent Application Ser. No. 61/862,123, filed Aug. 5, 2013, entitled “Independent Color Stretch in Color-Sequential Displays,” the entire content of which is hereby incorporated by reference.
The present disclosure pertains generally to color-sequential displays that use switchable light sources and methods for adjusting the timing of the color sequence and duty cycle for each color. In particular, this disclosure pertains to the use of independent color stretch, which allows for independent stretch factors for each color and real-time adjustment of the duty cycle for each color.
In color-sequential displays that use switchable light sources (e.g. LED or Laser) the timing of the color sequence is determined by a processor called the sequencer. The sequencer runs a program (the “sequence”) that controls the timing of operations in the display. Traditionally, the sequencer has had the ability to stretch the sequence in time as required to match the frame rate of the video source. This is particularly important in arrays of displays, where the displays must be matched not only in terms of color balance, but absolute light levels as well. In an array of displays, the weakest channel of the weakest display limits the maximum light level of all the colors of all the displays for a given color balance, i.e. white point.
Existing methods of stretching the sequence use a technique called “clock dropping.” (See U.S. Pat. No. 7,019,881 and U.S. Pat. No. 5,912,712, incorporated herein by reference). “Clock dropping” involves calculating the extension factor needed to stretch the sequence, then utilizing a counter to repetitively count down a number of clock cycles and cause the clock to drop a cycle. The dropping of clock cycles effectively expands the sequence time, as it takes longer to reach the necessary number of clock cycles that determine a sequence. These existing “clock dropping” methods result in an inverse relationship between the clock drop factor and the sequence duration.
An improvement to previous methods used to stretch a sequence is the use of independent color stretch. Independent color stretch provides the ability to have independent stretch factors for each color. This provides real-time adjustment of the duty cycle of each color. The ability to adjust the duty cycles of the colors is important, as it adjusts the color balance of the display, while maintaining maximum light output capability. (See U.S. Patent Publication No. 2008/0084369, incorporated herein by reference).
Unlike “clock dropping,” independent color stretch uses a stretch factor that is directly proportional to the sequence duration, i.e. each change by 1 LSB adds the same amount of time to the color segment or sequence. For example, certain embodiments use a fixed-point stretch factor ranging from 1.0 up to a number just less than a power of two, typically 2.0-1 LSB. This makes the calculation of stretch factors much simpler and allows multiple stretch factors to be combined or concatenated or functionally composed by a simple multiplication. For example, in an RGB system, there may be stretch factors for each of R, G, and B, as well as an overall, or Master stretch factor. By multiplying the RGB stretch factors by the Master stretch factor and then applying the results to the sequence, one can adjust the overall stretch, as well as independently adjust the ratios of the colors.
A preferred example of a stretch circuit used to implement the independent color stretch method executes extra no-operation instructions, or NOPs at a particular duty cycle. Strictly speaking, clock dropping only applies to sequencers that execute 1 instruction per clock. The technique of inserting NOP instructions works with sequencers that take 1 or multiple clock cycles to execute an instruction.
Further, the use of independent color stretch allows for the application of no stretch to dark time. When switching from one color to another, common practice is to have a transition region of time (typically 5 to 10 us) where the display is forced to black. This transition region is termed “dark time”. The use of dark time avoids image disturbances while the light source colors are switching. In order to maximize the light output capability of the display, the stretch factor during dark time should be set to the minimum amount. This results in the duration of the dark time staying constant, even as the various colors are stretched by independent amounts. Dark time can also exist for other reasons, such as loading the display device with data, techniques for making smaller bits of light, and various overheads required or used by the particular display technology. In each case, applying minimum stretch (i.e. zero stretch, or stretchFactor=1.0) may be beneficial in terms of total light output or efficiency.
The present independent color stretch method also calculates and implements delays to compensate for advanced light source strobe signal shift. The switchable light source typically needs advance notice of a color or mode change, typically on the order of 10 to 60 us. This may be implemented in the form of a strobe signal that is advanced in time relative to the desired Light Source transition point. In independent color stretch, the strobe signals instructing the light source to switch colors must be issued during a prior color segment, which will normally use a stretch factor that is not unity. This causes the advanced strobe signal to shift in time, in accordance with said prior color segment's stretch factor. Delaying the advanced strobe signal by a calculated amount compensates for this shift. When the transition is dark time, the advance correction will be a constant because the dark time stretch factor is 1.0, or unity.
All of the improvements that result from the use of independent color stretch can be applied to 3-chip systems (non-color-sequential) or systems that combine color-sequential and color-per-chip attributes.
The implementations of independent color stretch applied to color-sequential displays described herein demonstrate multiple improvements compared to previous methods for color sequence stretching.
One improvement is the utilization of a stretch factor that is directly proportional to the sequence duration. Each change by 1 LSB adds the same amount of time to the color segment or sequence. A preferred embodiment uses a fixed-point stretch factor that ranges from 1.0 (unity) up to a number just less than a power of two, typically 2.0-1 LSB. For example, for a 16-bit stretch factor representing a range of [1.0, 2.0) with an implied 17th bit with a value of one is encoded as shown below in Table 1.
The use of a directly proportional stretch factor allows combining or concatenating multiple stretch factors. For example, in an RGB system, there may be stretch factors for each of R, G, and B, as well as an overall, or Master stretch factor. By multiplying the RGB stretch factors by the Master stretch factor and then applying the results to the sequence, one can adjust the overall stretch, as well as independently adjust the ratios of the colors. For example, if the range of the stretch factor is [1.0, 2.0), then the combination of two factors would have a range of [1.0, 4.0).
When the register accumulator value is negative, said value will be incremented by the input stretch factor, minus 1.0 (i.e. stretchFactor−0x010000). When the register accumulator value is zero or greater, said value will be decremented by 1.0 (i.e. 0xFF0000). The combination of these actions results in the output of comparator 105 pulsing HIGH with a duty cycle inversely proportional to the stretchFactor. The output of inverter 106 will therefore pulse HIGH with a duty cycle of (1.0−1/stretchFactor). If the stretchFactor is 1.0, then the inverter 160 output signal will always be HIGH and the hold signal will always be LOW.
A sequencer is a processor that executes instructions at a fixed rate and directs the operation of a system or subsystem. As the instructions all take the same amount of time, a timeline of operations can be encoded in the instruction stream, with the unit of time equal to one instruction. Hold signal 106 is used to signal the sequencer that it should insert and execute an extra NOP, or no-operation instruction. By executing extra NOPs at a duty cycle of (1.0−1.0/stretchFactor), the length of the resulting instruction stream will be proportional to stretchFactor, but can never be shorter than 1.0 times the original instruction stream. Because clock dropping typically only applies to sequencers that execute 1 instruction per clock, it is not compatible with sequencers having multiple clocks per instruction. The technique of inserting NOP instructions utilized with independent color stretch works with sequencers that take 1 or multiple clock cycles to execute an instruction.
In one example, if the stretchFactor is 1.5 then hold signal 106 will pulse High with a duty cycle of 0.33=(1.0−1/1.5). Execution of the instruction stream will take 1.5 times as long as without stretching. In another example, if the stretchFactor is 2.0 then hold signal 106 will pulse High with a duty cycle of 0.50=(1.0−1/2.0). Execution of the instruction stream will take 2.0 times as long as without stretching.
The use of independent color stretch also has the advantage of applying no stretch to “dark time,” which is the transition region of time (typically 5 to 10 us) when the display may be forced to black while switching from one color to another. Maximizing the light output capability of the display requires that the stretch factor during dark time should be set to the minimum amount. Independent color stretch applies minimum stretch (i.e. zero stretch, or stretchFactor=1.0), which is beneficial in terms of total light output or efficiency.
The independent color stretch method described herein also implements delays in light source strobe signal in order to compensate for signal shift. The switchable light source typically needs advance notice of a color or mode change, usually on the order of 10 to 60 us. This may be implemented in the form of a strobe signal that is advanced in time relative to the desired light source transition point. The desired strobe advance is usually a fixed amount, but may also be dependent on the drive level of the light source, or other factors.
In
An issue with independent color stretch is that the strobe signals instructing the light source to switch colors must be issued during a prior color segment, which will normally use a stretch factor that is not unity. This causes the advanced strobe signal to shift in time, in accordance with said prior color segment's stretch factor. This shift can be compensated by delaying the advanced strobe signal by an amount that is proportional to the amount of advance occurring in the prior color segment, multiplied by the stretch factor of the prior color segment, minus the amount of advance occurring in the prior color segment:
Delay=Advance*StretchFactor−Advance
Refactored:
Delay=Advance*(StretchFactor−1.0)
delayRise=AdvRise*(1.5−1.0)=AdvRise*0.5
delayFall=AdvFall*(1.25−1.0)=AdvRise*0.25
If the advance required is longer than the prior color segment, then the sequencer instruction must be placed in an earlier color segment than the immediately prior one.
When using non-unity stretch and advance greater than the prior color segment(s), two or more corrections may be concatenated to achieve the correct delay.
As shown in
delayC1=AdvC1*(1.5−1.0)=AdvC1*0.5
delayC2=AdvC2*(1.35−1.0)=AdvC2*0.375
delay=delayC1+delayC2
As already discussed, the typical practice is to have a dark time transition region before each color segment. Since the time advance for the color change (typically 10 to 60 us) is typically longer than the transition region (typically 5 to 10 us), there may need to be two advance corrections: one for the time in the prior color and another during the transition region. A special case occurs when the transition is dark time and the stretch for dark time is always 1.0. In this case the advance correction will be the correction for the prior color segment plus the length of the transition region (a constant). Thus it is not necessary to do the multiplication by the dark time stretch factor minus one, as it is unity.
Overall, the independent color stretch method described herein provides multiple improvements over prior systems. The sequence length is directly proportional to the stretch factor. Each stretch factor increase of 1 LSB causes the same additional length to be added to sequence or color segment time. A combination of stretch factors by multiplication is possible. Independent color stretch also uses fixed-point representation with an implied leading ‘1’ MSB. The stretch circuit design, of which an example is shown in
Number | Date | Country | |
---|---|---|---|
61862123 | Aug 2013 | US |