The invention relates to control of light sources for light modulating displays. The invention has application, for example, to Liquid Crystal Displays (LCDs) and Liquid Crystal Projectors (LCPs).
Light modulating displays use arrays of light modulating elements to modulate light to produce visual images. Examples of such displays include displays as described in PCT Patent Publications PCT/CA03/00350 and PCT/CA2005/001111, and in United States patent applications US 2007/0268577 A1, US 2008/0043034 A1, US 2008/0043303 A1, US 2008/0111502 A1 and US 2008/0074060 A1, all of which are hereby incorporated herein by reference for all purposes.
Light modulating displays may be used to show video content. Because cathode ray tube (CRT) displays were the original video display technology, video content is typically provided to displays serially for raster scan display. In CRT raster scanning, an electron beam sweeps horizontally left-to-right across a screen at a steady rate, then turns off and moves rapidly back to the left, where it turns back on and sweeps out the next line. After the end of the last line of the image, the electron beam turns off and moves rapidly to the top-left to begin scanning the next image. Signals driving raster scanning displays typically include an image information signal, a horizontal synchronization signal and a vertical synchronization signal. The horizontal synchronization signal provides a pulse timed to coincide with the end of a horizontal line of element-specific image information. This pulse is used in CRT displays to control the turning off of the electron beam between horizontal lines. The vertical synchronization signal provides a pulse timed to coincide with the end of the last line of the image. This pulse is used in CRT displays to control the turning off of the electron beam between images.
Light modulating displays, such as LCD displays, typically accommodate video content provided serially for raster scan display by writing data for the next image to be displayed into a buffer. At some time after data for the next image to be displayed has been written into the buffer, the data in the buffer is latched into driving circuits for light modulating elements of a spatial light modulator (SLM), thereby replacing the existing data driving the light modulating elements with new data. The light modulating elements are then driven according to the new data.
As used herein in connection with light modulating elements and SLMs, the term “updating” includes driving a light modulating element according to new data. Some light modulating displays update the SLM in stages. At each stage image data is latched into the driving circuits of a plurality of light modulating elements.
Light modulating elements typically take some time to switch from one state to another. When the driving values of light modulating elements, such as pixels of LCD modulators, are changed, the light modulating elements may overshoot the desired output level and oscillate about the desired level before settling to the correct level. Such response characteristics can lead to an undesirable visual characteristic known as “inverse ghosting”.
In displays known as dual modulation displays, both the SLM and a light source may be updated according to new image data. Some such dual modulation displays are known to be capable of delivering enhanced dynamic range and improved contrast. In dual modulation displays the SLM may be updated according to new image data before, after or at the same time as the light source is updated. The inventors have determined that timing of the updates according to new image data of the SLM and the light source can affect the visual characteristics of images, and produce perceived negative phenomena such as flicker and motion blur artifacts.
In some applications, dual modulation displays are used to display video. A display showing video typically receives image data representative of images (frames) that are to be displayed in sequence. It is frequently desirable to update both the SLM and the light source to display new frames. Updating both a SLM and a light source can be computationally intensive. Some displays lack the computational resources to update both the entire SLM and the entire light source at the video frame rate.
There is a need for methods and apparatus for controlling dual modulation displays in ways that reduce or avoid undesirable visual artifacts. Preferably, such apparatus and methods permit scaling or managing the computational burden associated with updating a light source. There is a specific need for such methods and apparatus for controlling light sources of liquid crystal displays.
The invention has a variety of aspects. Aspects of the invention provide displays, controllers for displays and methods for controlling displays. The displays may comprise, for example, computer monitors, televisions, video monitors, commercial video displays, digital cinema displays, electronic billboards, specialized displays such as displays for medical imaging, virtual reality, vehicle simulators, or the like. The methods may be performed, for example, by display controllers.
Further aspects of the invention and features of embodiments of the invention are described below and illustrated in the accompanying drawings.
Exemplary embodiments are illustrated in referenced figures of the drawings. It is intended that the embodiments and figures disclosed herein are to be considered illustrative rather than restrictive.
Throughout the following description specific details are set forth in order to provide a more thorough understanding to persons skilled in the art. However, well known elements may not have been shown or described in detail to avoid unnecessarily obscuring the disclosure. Accordingly, the description and drawings are to be regarded in an illustrative, rather than a restrictive, sense.
In the illustrated embodiment, input signals 11 comprise a timing signal and a data signal. The timing signal comprises one or more signals that may be used by controller 12 as references for determining the timing for setting control information for light source 14. In embodiments, the timing signal may comprise one or more signals generated in response to activity affecting SLM 17, signals used to control the timing of events at SLM 17, signals related to or specifying the timing of data communicated by the data signal, combinations thereof, or the like. The timing signal may comprise, for example, a horizontal synchronization signal (hsync) and/or a vertical synchronization signal (vsync).
The data signal may comprise a plurality of signals, and may provide image and/or illumination control data. In some embodiments the data signal comprises video data in a format such as: HDMI, DVI, IEEE 1394, DisplayPort, VGA, S-Video, RGB analog component video, YPbPr analog component video, ATSC, DVB, ISBD, DMB, MUSE, NTSC, PAL, H.261, H.263, H.264/MPEG-4 AVC, M-JPEG, MPEG-1, MPEG-2, MPEG-4, Ogg-Theora, VC-1,/wiki/SMPTE Windows Media Video™ and Quicktime™. In some embodiments the data signal comprises data provided serially in a manner suitable for raster scan display. This is not mandatory however.
Light source controller 12 generates illumination control signals 13 based at least in part on input signals 11 to control light source 14. Light source 14 generates light 18 in response to illumination control signals 13. Light 18 illuminates SLM 17. SLM controller 15 generates SLM control signals 16 based at least in part on input signals 11 to control SLM 17. SLM 17 modulates light 18 according to SLM control signals 16.
Light 18 modulated by SLM 17 departs SLM 17 as output light 19. Output light 19 is perceptible as a visual image, for example, by the human eye. It will be appreciated that the image depicted by output light 19 is a product of both illumination control signals 13 generated by light source controller 12, by way of light source 14 and light 18, and of SLM control signals 16 generated by SLM controller 15, by way of SLM 17.
Suitable optical elements, such as, for example, diffusers, lenses, and collimators, may be provided in optical paths of system 10 in order to guide and/or manipulate light traveling the optical paths.
In some display systems 10 SLM control signals 16 are based in part on a light field simulation of the light provided to SLM 17 by light source 16. Such a light field simulation may be based at least in part on information indicative of the light provided to SLM 17 by light source 14, such as, for example, information contained in illumination control signals 13. Light field simulation is described, for example, in PCT publication No. WO 2006/010244 entitled RAPID IMAGE RENDERING ON DUAL-MODULATOR DISPLAYS which is hereby incorporated herein by reference for all purposes.
SLM 27 comprises a plurality of light modulating elements (not shown in
Light source 24 comprises a plurality of light emitters 28. In embodiments, light emitters may individually controllable or controllable in groups. Light emitters 28 may comprise, for example, LEDs, electroluminescent panels (ELPs), cold cathode fluorescent lamps (CCFLs), woven fiber optic mesh panels, incandescent lamps, combinations thereof, or the like.
In some light modulating displays, light modulating elements of a SLM do not respond instantaneously to updates. Such light modulating elements may respond to updates with a transient behavior that can result in undesirable visual effects, such as, for example, inverse ghosting. The appearance of these visual effects may be suppressed, in whole or by degree, by reducing or eliminating the light provided to the affected spatial light modulating elements during the time that those light modulation elements might modulate light in a way that produces undesirable visual effects. Some embodiments reduce or eliminate the light provided to light modulation elements when they are updated by blanking (dimming or turning off) one or more light emitters that provide light to the affected light modulation elements. Where the light provided to light modulation elements is reduced or eliminated for a suitably brief interval, the momentary reduction or elimination of light may be unnoticed by a human observer. Apparatus embodying such methods may comprise an illumination controller configured to blank light emitters while light modulating elements that they illuminate are updated.
In some light modulating displays, perceived artifacts, such as flicker and motion blur artifacts, may result from the timing of updates to light modulation elements and light emitters. These artefacts may be minimized or eliminated by coordinating the timing of updates to light modulating elements with the timing of updates to light emitters that provide light to the light modulation elements. Some embodiments coordinate timing of updates to light modulation elements with timing of updates to light emitters taking into account the response characteristics of the SLM and/or the light source elements.
Some embodiments minimize these negative phenomena by updating light emitters at approximately the same time that the light modulation elements that they illuminate are updated. For example, embodiments may update light emitters soon before, while, or soon after the time that the light modulation elements that they illuminate are updated. In some embodiments, light emitters are updated immediately after being blanked. Apparatus embodying such methods may comprise an illumination controller configured to update light emitters while the light modulating elements that they illuminate are being updated, or soon thereafter.
In some embodiments light emitters are blanked and light modulation elements are updated at times controlled relative to a timing signal of an input signal 11.
Each of SLM 27 and light source 24 may comprise a plurality of segments. A segment is a set of elements that may be controlled together. In the case of SLM 27, a segment comprises light modulating elements. In the case of light source 24, a segment comprises light emitters.
For example, in some embodiments, elements belonging to a segment of SLM 27 or a segment of light source 24 can be updated together without updating elements belonging to other segments. In some embodiments, light source elements belonging to a segment of light source 24 can be blanked together without blanking light source elements belonging to other segments. In embodiments, actions such as, for example, updating and blanking, may be performed segment-by-segment. Segments may be hard wired (e.g. by providing a blanking circuit capable of blanking a group of light emitters) or defined in a configurable way (e.g. a group of elements to be updated together or blanked together may be defined in software).
In the illustrated system 20, the segments of light source 24 comprise light emitters 28 physically arranged in rectangular blocks. In some embodiments, each block comprises one or more complete rows of light emitters 28. Segment 26 is an example of such an arrangement. In the illustrated system 20, the segments of the light source 24 are shown as comprising adjacent rows of light emitters 28. However, it is not mandatory that the physical arrangement of elements in a segment be horizontal, linear or contiguous. In illustrated system 20, the group of light emitters 28 that correspond to a segment of light source 24 lie within a boundary that does not overlap with boundaries of any other segments of light source 24. In some embodiments some light emitters of one segment may be intermingled with light emitters of one or more other segments.
Actions on different segments may be done at different times. Actions may be performed on different segments in sequences not corresponding to the physical arrangement of the elements belonging to the segments. Actions on different segments may overlap in time, for example, an update of a second segment can start before the update of a first segment has finished. Actions on different segments may be done periodically, for example, every so many milliseconds. Actions on different segments may be done sequentially at fixed intervals, for example, some numbers of milliseconds apart. The ordering of actions on different segments may be changed dynamically. For example, in some embodiments, actions on segments normally done periodically may be deferred.
In some embodiments segments of SLM 27 are associated with corresponding segments of light source 24. The correspondence may be, but is not necessarily a 1:1 correspondence. Some embodiments coordinate actions performed on corresponding segments of SLM 27 and light source 24. For example, some embodiments blank segments of light source 24 while updating corresponding segments of SLM 27. Coordinating actions between segments of SLM 27 and segments of light source 24 may be facilitated by correspondence relationships between segments. In some embodiments, correspondence relationships exist between a segment of light source 24 and one or more segments of SLM 27 that can be illuminated by light from the segment of light source 24. Such relationships may be conveniently referred to as illumination correspondence relationships.
Correspondence relationships between segments of SLM 27 and segments of light source 24 may be one-to-one, one-to-many, many-to-one, or a combination thereof. A segment may have more than one correspondence relationship. For example, a light source segment may have a first correspondence relationship with a first and second SLM segments, and also have a second correspondence relationship with a third SLM segment.
In some displays configured to display video, it may not be possible or desirable to update all segments of a SLM or of a light source in the frame period defined by a frame rate of a video. This may be due to computational, heat or power constraints, for example. For example, it may not be possible or desirable to update all segments of light source 24 in a frame period defined by a frame rate of a video shown on display system 20. Where this is the case, a subset of the segments may be updated during a frame period. In some embodiments the number of segments updated in each frame period is constant. In other embodiments, the number of segments updated in each frame period varies, for example the segments may be prioritized for updating and as many frames updated in a each period as time allows.
In some embodiments, the updates of segments may be done over a sequence of frames according to a fixed pattern.
In some embodiments light source segments are updated every third frame in a rotating fashion, such that all segments of an light source are updated at least once in every set of three consecutive frames. In other embodiments, segments are updated after other fixed numbers of frames. In some of such embodiments, updates may be done on sub-sets of segments in a rotating fashion. It will be appreciated that sub-sets of segments may comprise some, all or none of the segments of a light source or SLM. It will also be appreciated that a segment may belong to one or more sub-sets of segments for a particular light source or SLM.
Updating segments in alternating or rotating fashions are particular examples of the more general concept of updating segments based on update histories. Consider that where subsets of segments are updating in an alternating fashion, whether a particular segment is updated in a given frame depends on whether or not it was updated for the most recent past frame, i.e., on its update history.
In embodiments, updates of segments may be performed according to properties of an update, such as, for example differences between a next frame and one or more previous frames. In some embodiments, updates of segments may be done according to differences between a next frame (i.e., the frame after the most recent previous frame) and a last frame (i.e., the most recent previous frame). For example, segments corresponding to parts of a frame that differ more as between the next frame and the last frame may be updated in priority to segments corresponding to parts of a frame that differ less. In some embodiments, updates of segments may be done according to differences between a next frame and one or more previous frames in which the segments were last updated.
In some embodiments a fixed number of segments corresponding to most changed parts of an image as between a next and one or more previous frames are updated. In other embodiments the number of segments that are updated may differ from one frame to another. In embodiments, differences between a next frame and one or more previous frames may determine which segments are updated in response to the next frame and/or an order in which segments are updated in response to the next frame.
In embodiments, differences between frames may comprise differences between image element data, such as pixel data, for frames. Any suitable measure of difference may be applied. For example, difference between two pixel data may comprise a sum of the absolute differences between each of the components of the pixel data. For instance, pixel data may be specified as a set of three components for each pixel. The components may comprise, for example, components specifying a point in a color space, such as YUV, RGB, or the like. A difference between two such pixel data may be the sum of the three absolute differences of the pixels' components. In some embodiments, updating may be done according to difference in chrominance components, luminance components, or a combination of chrominance and luminance components. In some embodiments, updating may be done according to differences in luminance, intensity or brightness values for pixels corresponding to different segments.
In some embodiments that comprise both a SLM and a light source, where a part of an image does not change much from one frame to the next, SLM segment(s) corresponding to the part of the image are updated and the light source segment(s) corresponding to the part of the image are not updated. In some embodiments where the control of a SLM is based in part on a light field simulation of the light provided by an light source to the SLM, the light field simulation of the light provided by the light source segment(s) corresponding to the part of the image could be saved and re-used in the control of the SLM until the light source segment(s) are updated.
In some embodiments, updates of segments may be done according to a combination of the differences between the next frame and one or more previous frames, and the number of frames that have been displayed since segments were last updated (i.e., update histories of segments). For example, updates may be done such that all of the segments that have not been updated for the past two frames are updated in priority to other segments. Segments may be updated in order of differences between corresponding parts of a frame as between the next frame and the frame in which the segment was last updated.
In
In some embodiments, the quantity of segments that are updated based on differences between frames is fixed, regardless of how many segments are updated based on the number of frames that have been displayed since segments were last updated. In other embodiments, the quantity of segments that are updated based on differences varies inversely with the quantity of segments that are updated based on the number of frames that have been displayed since they were last updated. In some such embodiments, the total quantity of segments that are updated per frame is fixed or limited.
In embodiments, updates of segments may be done according to a property of an update comprising a difference between segments' current states and segments' hypothetically updated states, i.e., the states that would result from an update in response to the next frame. For example, segments whose hypothetically updated states differ the most from their current states may be updated in priority to segments whose hypothetically updated states differ less from their current states.
In some embodiments a fixed number of segments whose hypothetically updated states differ most from their current states are updated. In other embodiments the number of segments whose hypothetically updated states differ most from their current states that are updated may differ from one frame to another. In embodiments that update segments according to this fashion, differences between the current segment states and hypothetically updated segment states may determine which segments are updated for a frame and/or an order in which segments are updated for a frame.
In embodiments, differences between one segment state and another segment state, or between a segment state and a hypothetical segment state, may comprise: differences between control information generated, or that would be generated, in response to different frames; differences in light emitter driving information generated, or that would be generated, in response to different frames; combinations thereof, or the like. In some embodiments, differences between one segment state and another segment state, or between a segment state and a hypothetical segment state may comprise differences inferred, estimated, or determined from differences between two or more frames, such as, for example, a next frame and one or more previous frames.
In some embodiments, updates of segments may be done according to a combination of the differences between segments' current states and hypothetically updated states, and the number of frames that have been displayed since segments were last updated (i.e.,update histories of segments). For example, updates may be done such that all of the segments that have not been updated for a certain number of frames, for example the past two or three frames, are updated in priority to segments are updated in order of difference between segments' current states and the states that would result from an update in response to the next frame. If all of the segments in group 30D were to be updated according to frame 37D, the segments identified as B, D, E, F and I differ more from their pre-update states than would the segments identified as A, C, G and H. However, at the time of frame 37D, the segments identified as C and G have not been updated in response to either of the two previous frames (frames 35C and 36C). In response to frame 37C, segments identified as C, E, G, H and I are updated, and segments identified as A, B, D, and F are not.
In some embodiments, the number of segments updated based on the difference between their current state and hypothetically updated state is fixed, regardless of how many segments are updated based on the number of frames that have been displayed since segments were last updated. In other embodiments, the quantity of segments that are updated based on differences between current states and hypothetically updated states varies inversely with the quantity of segments that are updated based on the number of frames that have been displayed since they were last updated. In some such embodiments, the total quantity of segments that are updated per frame is fixed or limited.
Though in the example embodiments illustrated in
In some embodiments where segments are updated according to a pattern or algorithm, the pattern or algorithm may be interrupted or suspended to provide frames where no updates are performed. In some embodiments where segments are updated according to a pattern or algorithm, the pattern or algorithm may not be interrupted or suspended for frames though no updates are performed (i.e., the update dictated by pattern or algorithm is generated but not applied). In some embodiments where segments are updated according to a pattern or algorithm, where no segments are updated in a frame, the pattern or algorithm may be interrupted or suspended, or not interrupted or suspended, depending on circumstances.
Timing 41 comprises one or more signals used by controller 45 as a reference for generating control information for light source segments 46A, 46B, 46C and 46D. Timing 41 may comprise signals that indicate the timing of events at an associated SLM. For example, timing 41 comprises one or more signals that is generated in response to activity at a SLM, used to control a SLM, or related to the timing of image data received at a SLM. In some embodiments, timing 41 may comprise either or both of a vertical synchronization signal and a horizontal synchronization signal. Illumination controller 45 may use timing 41 as a reference for determining when to initiate actions at segments, such as updates and blanking.
Clock 43 comprises a timing source for the data signal. In some embodiments, the data 43 comprises illumination control data (i.e., data specifying control of light emitters).
Data comprises one of more signals that may be used by controller 45 as a basis for generating control information for light source segments 46A, 46B, 46C and 46D. In some embodiments, data 43 comprises image data and controller 45 generates illumination control data data from the image data, according to a mapping of the image data to light emitters. For example, for a particular image data subset corresponding to a spatial image region, controller 45 may generate appropriate illumination control data for the light emitter or elements corresponding to the spatial image region. In other embodiments, data comprises illumination control data indicative of the illumination that should be provided by light emitters of light source segments 46A, 46B, 46C and 46D.
Light source controller 45 outputs illumination control signals for light source segments 46A, 46B, 46C and 46D based on at least the inputs timing 41 and data 44.
After a refresh offset RO from timing_A indication 51A, controller 45 generates a timing start indication 55. After segment A blank offset BOA from timing start indication 55, controller 45 causes light source segment 46A to be blanked for duration BLA. In embodiments, controller 45 causes light source segment 46A to be blanked by, for example, outputting control information to light source segment 46A. that causes the light emitters of light source segment 46A to be blanked.
During the time that light source segment 46A is blanked, the light modulating elements of a corresponding segment of an associated SLM (not shown in
After segment B offset SOB and segment B blank offset BOB from timing start indication 55, controller 45 causes light source segment 46B to be blanked for duration BLB. During the time that light source segment 46B is blanked, the light modulating elements of a corresponding segment of an associated SLM (not shown in
In the example embodiment illustrated in
In the example embodiment illustrated in
In the example embodiment illustrated in
Segment offsets, blank offsets and blank lengths are arbitrary with respect to timing indications (e.g., vertical and horizontal sync pulses). Embodiments may therefore provide arbitrary control of blanking of light source segments with respect to SLM updates. For example, during a single image update an light source segment may be blanked and unblanked multiple times, individually or in tandem with other segments. In some embodiments, blanking pulses have a duty cycle of more than 50 percent, such that light source segments are normally off.
In
In some embodiments, segments are blanked in a rolling fashion such that segments are blanked and un-blanked in sequence, one segment at a time. In
In some embodiments, segments are blanked in a cascading fashion such that segments are blanked in sequence, and are not unblanked until after segments later in the sequence are blanked. In
Blanking control may take into account properties of an associated SLM and properties of elements of an light source. For example, a blank offset may be such that the segment of the light source to which the blank offset pertains is blanked before the corresponding segment of the associated SLM is updated. In some embodiments, the blank length is such that while the segment of the light source is blanked there is sufficient time to update a corresponding segment of the associated SLM and drive the light modulation elements of that segment to settled output levels. In some embodiments, the duration that segments of the light source are blanked is minimized by blanking light source segments immediately before updates of the corresponding segments of the associated SLM begin and un-blanking light source segments immediately after the light modulation elements of that segment have settled output levels.
Segment offsets, blank offsets and blank lengths may be static or dynamic. For example, blank offset and blank lengths may be adjusted according to one or more properties of an update of an associated SLM, i.e., changes to the associated SLM in response to a new frame. For instance, blank length may be adjusted to be longer than the time that pixels of an LCD SLM are expected to take to settle to a new state after being updated. In some embodiments, an expectation of the time that an pixel will take to settle to a new state may be determined from a difference between the previous state and the new state, the new state, the number of pixels being updated at the same time, the operating temperature of one or more light emitters, the operating temperature the SLM, the ambient temperature, a combination thereof, or the like. In some embodiments, blank lengths may be determined after blanking has started. For instance, determining blank length may comprise monitoring the current in or voltage of one or more updated pixels, so as to obtain an indication of whether the one or more pixels has settled to its new state or an indication of the rate at which the one or more pixels is settling to its new state.
Values indicative of segment offsets, blank offsets and blank lengths may be stored in registers or memory, such as RAM, and accessed by way of a look-up table. For example, controller 45 may maintain a counter that tracks which segment of an associated SLM is currently being updated. Segment offset, blank offset and blank length values for the corresponding segment of the light source may be extracted from a look up table using the counter value as a key. In other embodiments, a key to a lookup table for a segment offset, blank offset or blank length may comprise information indicative of one or more properties of updates to a SLM, an light source or both. For example, the a key may comprise information indicative of an expectation of the time that light modulation elements will take to settle to a new state, such that keys comprising information indicative of an expectation of longer settling times correspond to longer blank lengths than keys comprising information indicative of an expectation of shorter settling times.
In
In the example embodiment illustrated in
In the example embodiment illustrated in
In the example embodiment illustrated in
In some methods according to the embodiment illustrated in
Obtaining blank offset and blank length values may comprise looking-up these values from a memory using a value indicative of the current segment as a key, reading values from a register, using hard-coded values, or the like, for example. The step of blanking the segment may comprise activating a blanking signal, or may comprise loading and latching blanking driving data into light emitters (e.g., driving data specifying little or no illumination). Un-blanking the segment may comprise de-activating a blanking signal, loading and latching illumination driving data into light emitters (e.g., driving data specifying illumination appropriate for the current image), or the like. The step of continuing the process for a next segment may comprise incrementing a counter, looking up information indicative of the next segment in a register or lookup table, processing a segment that is hard-coded or hard-wired as being a next segment, or the like, for example.
Similarly, step 104B is a wait for segment B offset and segment B blank offset. After the segment B offset and segment B blank offset expire, segment B is blanked in step 105B and illumination control data is latched into segment B in step 106B. After a step 107B of waiting for the segment B blank length, segment B is un-blanked in step 108B and blanking of segment A is complete 109B until the next timing indication.
The step of latching illumination control data into a segment may comprise latching illumination control data into all or some registers providing driving data to driving circuits of the light emitters comprised within the light source segment.
Similarly, timing indication B 111B causes segment offset, blank offset and blank length values to be obtained for segment B in step 112B. Step 113B is a wait for segment B blank offset. After the segment B blank offset expires, segment B is blanked in step 114B and illumination control data is latched into segment B in step 115B. After a step 116B of waiting for the segment B blank length, segment B is un-blanked in step 117B and control of segment B is complete 118B until a next timing indication B.
In another example embodiment segments of an light source and corresponding segments of a SLM are updated in a coordinated fashion that takes into account a time required for updates of the SLM to take effect. In this example embodiment, update of a segment of the light source is delayed by a time delay relative to the update of the corresponding segment of the SLM.
In some embodiments, a data value is provided in a register and the time delay has a length determined by the data value. In some embodiments, the segment of the light source is blanked during all or a portion of the time delay. A common signal (e.g. a common clock signal) may be provided to trigger both update of the SLM and initiation of the time delay. In some embodiments the time delay is controlled by a timer incorporated in a logic circuit that generates driving signals for elements of an light source. The logic circuit may, for example, br provided in an ASIC or as a configurable logic circuit such as a configured FPGA.
In embodiments, image processor 156 may determine differences between images of different frames, for instance, consecutive frames. In embodiments, differences images may comprise differences between image element data, such as pixel data, for frames. Image processor 156 may determine a variety of suitable measures of difference. For example, a difference between two pixel data may comprise a sum of the absolute differences between each of the components of the pixel data. For instance, pixel data may be specified as a set of three components for each pixel. The components may comprise, for example, components specifying a point in a color space, such as YUV, RGB, or the like. A difference between two such pixel data may be the sum of the three absolute differences of the pixels' components. In some embodiments, differences in chrominance components, luminance components, or a combination of chrominance and luminance components may be determined by image processor 156.
Image processor 156 may also determine characteristics of images. For example, image processor 156 may determine the brightest, darkest or most saturated parts of an image. In some embodiments updates to segments are based at least in part on characteristics of corresponding portions of the image. For example, other factors being equal a segment for which an extreme of brightness (e.g. maximum brightness) has changed most may be scheduled ahead of a segment for which the extreme of brightness has experienced a smaller change since the segment was last updated.
Update scheduler 157 schedules updates to segments of a SLM (not shown) and a light source (not shown). Update scheduler 157 may determine an selection (subset) of segments to be updated for a frame, an order for updating segments in a frame, a schedule of times within a frame period at which segments are updated, a combination thereof, or the like. Update scheduler 157 may base update scheduling, at least in part, on image characteristics and image differences determined by image processor 156. Update scheduler 157 may maintain a history of image characteristics and image differences. Update scheduler 157 may also maintain an update history for segments of the SLM (not shown) and the light source (not shown). Update scheduler 157 may base update scheduling, at least in part, on the update histories of segments.
Update scheduler 157 provides update scheduling information to light source controller 152 and light modulator controller 155. Light source controller 152 generates illumination control signals 158 based at least in part on the update scheduling information provided by update scheduler 157. Light modulator controller 155 generates light modulation control signals 159 based at least in part on the update scheduling information provided by update scheduler 157.
The illustrated embodiment comprises light field simulator 154 and correspondence manager 153. Image processor 156 and update scheduler 157 may appear in embodiments that do not comprise light field simulator 154 or correspondence manager 153. In some embodiments, image processor 156 and update scheduler 157 may be combined into a component.
From the foregoing, it can be appreciated that some embodiments may provide improved image quality by coordinating blanking of segments of a backlight with updating of corresponding segments of a SLM. Further, the segments may be updated in an order that is not fixed or an order that does not progress in the same sequence as a raster scan or an order that does not correspond to the physical arrangement of the elements of the segments. Also, it is not mandatory that different segments be updated in sequence. In some embodiments, updating of different segments may be done in parallel or done in time periods that overlap.
Certain implementations of the invention comprise computer processors which execute software instructions which cause the processors to perform a method of the invention. For example, one or more processors in an light source controller may implement methods as described herein by executing software instructions from a program memory accessible to the processors. The invention may also be provided in the form of a program product. The program product may comprise any medium which carries a set of computer-readable signals comprising instructions which, when executed by a data processor, cause the data processor to execute a method of the invention. Program products according to the invention may be in any of a wide variety of forms. The program product may comprise, for example, physical media such as magnetic data storage media including floppy diskettes, hard disk drives, optical data storage media including CD ROMs, DVDs, electronic data storage media including ROMs, flash RAM, or the like. The computer-readable signals on the program product may optionally be compressed or encrypted.
In certain implementations of the invention logic to perform methods as described herein is embodied in logic circuits. The logic circuits may comprise hard-wired circuits and/or configurable circuits such as field programmable gate arrays FPGAS.
Where a component (e.g. a software module, controller, processor, assembly, buffer, register, driver, device, circuit, logic, etc.) is referred to above, unless otherwise indicated, reference to that component (including a reference to a “means”) should be interpreted as including as equivalents of that component any component which performs the function of the described component (i.e., that is functionally equivalent), including components which are not structurally equivalent to the disclosed structure which performs the function in the illustrated exemplary embodiments of the invention.
As will be apparent to those skilled in the art in the light of the foregoing disclosure, many alterations and modifications are possible in the practice of this invention without departing from the spirit or scope thereof. Accordingly, the scope of the invention is to be construed in accordance with the substance defined by the following claims.
This application claims priority to U.S. Provisional Patent Application No. 61/227,659 filed Jul. 22, 2009 hereby incorporated by reference in its entirety.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US10/42647 | 7/20/2010 | WO | 00 | 1/19/2012 |
Number | Date | Country | |
---|---|---|---|
61227659 | Jul 2009 | US |