This application relates to a source driver circuit for a display panel, and in particular a circuit for adaptively performing offset cancellation of output buffers included in the source driver.
A source driver (also referred to as a column driver) converts digital image data into analog signals for driving data lines of a display panel. The source driver includes multiple output buffers (e.g., approximately one thousand) in which each output buffer sets the voltage applied to pixels in a given column of the display panel. An output buffer may exhibit an input offset voltage (Vos), which may be compensated for by the output buffer. However, conventional output buffer offset voltage cancellation techniques provide limited effectiveness under variations of display data conditions.
The disclosed embodiments have other advantages and features which will be more readily apparent from the detailed description, the appended claims, and the accompanying figures (or drawings). A brief introduction of the figures is below.
The Figures (FIGS.) and the following description relate to embodiments by way of illustration only. It should be noted that from the following discussion, alternative embodiments of the structures and methods disclosed herein will be readily recognized as viable alternatives that may be employed without departing from the principles of what is claimed.
Reference will now be made in detail to several embodiments, examples of which are illustrated in the accompanying figures. It is noted that wherever practicable similar or like reference numbers may be used in the figures and may indicate similar or like functionality. The figures depict embodiments of the disclosed system (or method) for purposes of illustration only. One skilled in the art will readily recognize from the following description that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles described herein.
Each sub-pixel included in the display region 102 is connected by a grid of row and column lines (not shown). The grid of row and column lines connects perpendicularly to an active device, such as a transistor, to control the operation of the display segment at the intersection of column and row lines. In one implementation, each sub-pixel is connected to the grid by one row line and one column line. Each row line is connected to a row driver circuit (not shown). The row driver circuit (also referred to as gate driver) generates signals to selectively address each row of sub-pixels. In operation, a gate driver applies a specified voltage to the gate of the active devices included in a selected row to turn on the active devices within the selected row of sub-pixels. While, a source driver 106 is coupled to each column line to control the operation of a specific sub-pixel within the row of sub-pixels.
Each source driver 106 receives multi-bit digital image data from the timing controller 104 via a signal line included in the display data link 114, converts the image data to analog voltage levels, and provides the analog voltage levels to a specified column of sub-pixels using the column line. The number of data bits used to represent an image data value determines the number of light levels that a particular sub-pixel may produce. For example, 10-bit image data may be converted into 1024 analog signal levels generated by the output buffers in each source driver. A measure of the intensity of the light emitted by each sub-pixel may be represented as a gray level. In one implementation, the gray level is represented by a multi-bit value ranging from 0, corresponding to black, to a maximum value (e.g., 1023 for a 10-bit gray level value). A 10-bit gray level value allows each sub-pixel to produce 1024 different light intensities.
The transmission path formed by the output of each source driver 106 to the input of each sub-pixel in a specific column of sub-pixels is referred to herein as an output channel or channel. A source driver 106 includes multiple output buffers, where each output buffer operates to rapidly charge the column line capacitance of the corresponding channel. In operation, the DC power supplied to each output buffer and the dynamic power expended to charge and discharge these highly capacitive output channels dominate the overall power consumption of the display panel subsystem 100. Further description of the output buffers is provided with reference to
The display panel subsystem 100 also includes a timing controller 104 that receives display data from one source over display interface 108 and generates control and data signals to selectively apply image data included in the display data to sub-pixels included in the display region 102. Further description of the control signals is described with reference to the timing controller 104 described in
In one embodiment, the display interface 108 supports signaling protocols to support a variety of digital display data formats, e.g., display port, and HDMI (High-Definition Multimedia Interface).
The display data receiver 210 receives a portion of the display data via the main channel 110 from the display interface 108 and generates control and data signals to provide the display panel drive circuitry for displaying the image data included in the display data on the display region 102. The received display data includes image data representing the image to be displayed on the display region 102, and control data used by the drive circuitry of the display panel subsystem 100 to properly display the image data on the display region 102.
The control data includes global timing signals including vertical timing signals, such as vertical sync (VSYNC) or frame pulse (FP), and horizontal timing signals, such as horizontal sync (HSYNC) or line pulse (LP). The global timing signals also include display refresh signals for refreshing a displayed image, clock signals for operating gate drivers, and clock signals and latch enable for operating source drivers 106. Using the global timing signals, the display data receiver 210 generates control signals to map row data to specific source drivers 106 for output on a corresponding output channel. The display data receiver 210 also uses the global timing signals to generate signals to drive gate and source drivers, such as a gate driver clock signal and a source driver clock signal. The display data receiver 210 also uses the received global timing signals to generate control signals to refresh a frame of image data.
The display data receiver 210 is also configured to perform signal conditioning on the received data to adjust or modify one or more attributes of the received data so that the received data can be processed by the timing controller 104. For example, the display data receiver 210 extracts timing information associated from display data or control data to use in conjunction with control circuitry (e.g., shift registers, input registers, data latches, etc.) to condition image data for output by the source drivers 106. Alternatively or additionally, the display data receiver 210 descrambles the received data, decrypts encrypted data, or adjust the voltage, timing, or other characteristics of the received data to process display data by the display subsystem 100 in accordance with a specified system environment.
The display data analyzer 220 identifies attributes of the display data received by the display data receiver 210, and generates one or more data and control signals for displaying the received image data on the display region 102. Attributes of the received display data include data structure (e.g., a row of image data or a frame of image data) and signal type (e.g., image data, control data, or link status data). The display data analyzer 220 also derives other attributes of the received display data from signals provided by the display data receiver 210. For example, in one implementation, the display data analyzer 220 uses global timing and display data signals received over the display interface 108 to calculate a frame rate and a refresh rate for the incoming display data. The frame rate represents how often a display data source can feed an entire frame of new data to a display (e.g., display region 102). The refresh rate represents the number of times per second in which the display region 102 draws the display data provided by the source drivers 106. The display data analyzer 220 may include processing elements (e.g., combinational logic, controller, or processing device) configured to process attribute of the received display data.
The display data analyzer 220 also determines or derives additional control information using data received over display interface 108. In one implementation, the display data analyzer 220 identifies mapping information describing the mapping of row data to specified source driver 106 of a plurality of source drivers 106. Additional control information also includes polarity configuration information specifying a polarity inversion operation mode associated with the received display data. To prevent permanent damage to the sub-pixels within the display region 102, the display data analyzer 220 generates one or more control signals to alternate or invert the polarity of display data signals supplied to each sub-pixel between successive video frames. The source driver 106 changes the polarity of the output voltage signal applied to each output channel in accordance with state of the polarity inversion control signal.
The display data analyzer 220 is configured to implement any one or a combination of different inversion operation modes. For example, in frame inversion operation mode, all sub-pixels in the display panel region 102 are driven with the same polarity inversion control signal having a first state during even numbered (even) frames and a polarity inversion control signal having a second state during odd numbered (odd) frames. In column inversion operation mode, sub-pixels in adjacent columns are driven with opposite polarity image data signals and change polarity for each sequentially successive frames. Similarly, in row inversion operation mode, sub-pixels in adjacent rows are driven with opposite polarity image data signals and change polarity for each sequentially successive frame. Dot inversion operation mode employs a combination of the column and row inversion that causes a sub-pixel-by-sub-pixel inversion. In dot inversion operation mode, the polarity of the voltage level of the image data signals applied to each sub-pixel changes polarity relative to the polarity of the voltage level of the image data signal applied to an adjacent sub-pixel in the same row. The data polarity configuration information specifies how the timing controller 104 should employ one of several polarity inversion modes. Using the configuration information, the display data analyzer 220 generates one or more polarity control signals for setting the polarity of image data signals of the output by the source drivers 106 in accordance with a specified polarity inversion operation mode as previously discussed.
The display data analyzer 220 also generates an offset voltage control signal to adjust the input offset voltage of each output buffer included in each source driver 106. In one implementation, the display data analyzer 220 includes one or more chopper circuits that generate a chopper mode control signal having a first state in accordance with a first chopper mode and a second state in accordance with a second chopper mode. For example, the first state may correspond to a first voltage level (e.g., a logic “0”) and the second state may correspond to a second voltage level (e.g., a logic “1”) that is greater than the first voltage level. The chopper mode control signal is used to enable a particular chopper mode on the output buffer based on the state of the chopper mode control signal as further discussed with reference to
In one embodiment, the display data analyzer 220 is configured to adaptively employ two types of chopper modes. A first chopper mode—chopper mode A—the output voltage of the output buffer has a positive offset relative to the input voltage of the output buffer. A second chopper mode—chopper mode B—the output voltage of the output buffer has a negative offset relative to the input voltage of the output buffer. In other implementations, chopper mode A adds the offset voltage to the input voltage of the output buffer and the chopper mode B subtracts the offset voltage from the input voltage of the output buffer. By dynamically employing chopper mode A and B, the averaged output voltage of the output buffer of each source driver 106 matches or is maintained within a threshold value of the input voltage. This in turn, reduces or removes the offset voltage of the output buffer. By removing the offset voltage of each output buffer, the display data analyzer 220 enables the timing controller 104 to provide display data with accurate gray levels for the sub-pixels within the display region 102.
The display data analyzer 220 generates a chopper mode A control signal alternatively with chopper mode B for sub-pixels considered to be the same. The sub-pixels are considered to be the same if gray level values of different sub-pixels are the same. The sub-pixels may be also considered to be the same if the difference of gray levels among different sub-pixels is within a gray level threshold. The gray level threshold may refer to a numerical value representing a maximum difference between gray level values. In one implementation, the gray level threshold can be an integer (e.g., 0, 1, or 2, . . . ). For example, a gray level threshold of zero indicates that the sub-pixel has a gray level value matched with the gray level value of a different sub-pixel. In another example, the gray level threshold can be a small value (e.g., 1 or 2). A gray level threshold may also refer to a range of numerical values specifying a threshold range (e.g., 0 to 2 or 0 to 1). In some implementations, the display data analyzer 220 generates a chopper mode control signal in a first state to apply a chopper mode A to a first sub-pixel, and generates a chopper mode control signal in a second state to apply a chopper mode B to a second sub-pixel considered as the same as the first sub-pixel.
The display data analyzer 220 transmits control signals to each output buffer in corresponding source driver 106 via the display data link 114 for display on the display region 102. The control signals include chopper mode control signals and polarity inversion mode control selection signals. The display data analyzer 220 dynamically selects how to employ various chopper modes to drive the output buffers included in each of the source drivers 106 based on analyzing the display data included in a frame of image data. For each frame of display data, the display data analyzer 220 analyzes the display data for one group of rows of the frame at a time. In one implementation, the display data analyzer 220 divides each frame of received display data into multiple search groups comprised of a selected number of adjacent rows. Dividing a frame into search groups allows the display analyzer 220 to process image data in groups of adjacent rows. Such a group-based analysis allows the display data analyzer 220 to compensate for input offset voltage in the output buffers more quickly compared to analyzing an entire frame of received image data. Example search groups may include 4 rows or 8 rows.
The display data analyzer 220 analyzes the image data within a first search group, followed by a subsequent search group that includes a next adjacent group of rows, until all the search groups within a frame of received image data are analyzed. In one example, the display data analyzer 220 defines a search group to include four rows. In this example, the first search group includes rows 1-4, a second search group includes rows 5-8, a third search group includes rows 9-12, and so on. For each search group, the display data analyzer 220 identifies a candidate row and sets a chopper mode for the candidate row. In one implementation, the candidate row is the first row (i.e., lowest numbered row) in the search group. The display data analyzer 220 compares the gray level values of the sub-pixels in the candidate row with the gray level values of the sub-pixels included in each of the remaining rows within the search group. The display data analyzer 220 sets a chopper mode A for each sub-pixel in the first row and compares the gray level values of the sub-pixels in the candidate row with the gray level values of the corresponding sub-pixels in the one of more remaining rows.
The display data analyzer 220 may employ one of multiple types of input offset voltage cancellation modes for each frame of image data based on an analysis of the gray level values of sub-pixels for each row in each search group. An input offset voltage cancelation mode refers to how the display data analyzer 220 selects which chopper mode to apply to each sub-pixel in each row of a given frame of image data to compensate for the input offset voltage of output buffers included in each source driver 106. In one implementation, the display data analyzer 220 employs one of three types of input offset voltage cancellation modes for each frame of received image data. The three input offset voltage cancellation modes include a row-based input offset voltage cancellation mode, a per-column row-based input offset voltage cancellation mode, and a sub-pixel-wise input offset voltage cancellation mode.
During the row-based input offset voltage cancellation mode, the data display analyzer 220 selects a candidate row within each search group and applies a first chopper mode to each sub-pixel in the candidate row. The data display analyzer 220 then compares the gray level value of each sub-pixel included in the candidate row with the gray level values for corresponding sub-pixels in at least one of the remaining rows (e.g., a first remaining row and a second remaining row) in the search group. When the comparison indicates that a row included in the search group includes sub-pixels that have gray level values matching those of the corresponding sub-pixels included in the candidate row, the data display analyzer 220 applies a second chopper mode to each sub-pixel included the row. This process is repeated for each search group included in the frame of image data as further described in
During the per-column row-based input offset voltage cancellation mode, the data display analyzer 220 applies the row-based input offset voltage cancellation mode on a per-column basis. The display data analyzer 220 applies the same frame data analysis as performed in the row-based input offset voltage cancellation mode on a per-column basis. For example, for a first column coupled to a first source driver 106, the display data analyzer 220 applies a chopper mode control signal having a first state to apply a chopper mode A to the output buffer of the source driver 106 when writing display data to the sub-pixel in a first (Nth) row as a candidate row and compares the gray level values of one or more sub-pixels included in the candidate row to the gray level values of sub-pixels included in at least one of the remaining rows in a search group. If that comparison indicates that the difference between gray level value of a sub-pixel included in at least one of the remaining rows in the search group and the sub-pixel included in the candidate row is within a gray level threshold, the data display analyzer 220 applies a chopper mode control signal having a second state to apply a chopper mode B to the output buffer of the same source driver 106 when writing display data to the corresponding subsequent row (Nth+1). The display data analyzer 220 repeats the row-based input offset voltage cancellation mode for each column included in each search group included in a first frame. For example, for each of the remaining columns of the first frame, the display data analyzer 220 sets a chopper mode A for each sub-pixel in the first row as a candidate row within the 4-row search group. The display data analyzer 220 compares the first remaining row (e.g., the second row) or the second remaining row (e.g., the third row) with the candidate row. The display data analyzer 220 sets a chopper mode B for the sub-pixels in the row having the same sub-pixels and sets the chopper mode A and chopper mode B for sub-pixels in the remaining two rows, respectively. The display data analyzer 220 repeats the row-based input offset voltage cancellation mode for each column included in each 4-row search group within a first frame until all the 4-row search groups are analyzed. The display data analyzer 220 may set the chopper mode for each sub-pixel in subsequently received frames based on the set chopper mode in the first frame. In one implementation, the display data analyzer 220 may process frames in groups of four, and set the chopper mode for each sub-pixel in a subsequent three frames based on the set chopper mode in the first frame. Further explanation is described in conjunction with
During the sub-pixel-wise input offset voltage cancellation mode, for each column within each search group included in a frame of image data, the display data analyzer 220 sets a first chopper mode for a sub-pixel in a first row (N). The display data analyzer 220 compares a gray level value of a sub-pixel in a subsequent row (Nth+1) with the gray level value of the corresponding sub-pixel in the previous rows (e.g., the first row (N)). If the gray level value of the sub-pixel in the subsequent row matches the gray level value of the sub-pixel in the first row, the display data analyzer 220 applies a second chopper mode to the sub-pixel in the second row, where the second chopper mode is different from the first chopper mode. Otherwise, the display data analyzer 220 applies the same chopper mode to the sub-pixel in the second row. More generally, on a per-column basis, this process compares the gray level value of a sub-pixel in a subsequent row, with the gray level value of one or more sub-pixels in previous rows until the data display analyzer 220 identifies a sub-pixel in a previous row that has a gray level value that matches the gray level value of the sub-pixel in the subsequent row, or until the last row of the search group is reached without finding a match. When a match is identified, the data display analyzer 220 changes the chopper mode applied to the sub-pixel in the subsequent row relative to the last state of the chopper mode in the row having the same gray level value as the sub-pixel in the subsequent row.
The data transmitter 230 transmits to each source driver 106 a portion of the image data received from the display interface 108 in accordance with the mapping information received by the display data receiver 210 via the display data link 114. In operation, the display data transmitter 230 sends, on a row-by-row basis, a portion of the row image data to each corresponding source driver 106 based on the mapping information. The display data transmitter 230 also generates one or more control signals to synchronize when each portion of a row of image data is written to each corresponding source driver 106. The display data transmitter 230 generates one or more additional control signals (e.g., source driver enable) to synchronize when each portion of row image data is output by each corresponding output buffer included in the source driver 106 for display on the display region 102.
The register 330 is a general purpose storage element with sufficient storage capacity to store multi-bit digital information to drive multi-bit digital information in the source drivers 106 of the display panel subsystem 100. In one implementation, the multi-bit digital information corresponds to multi-bit gray levels, as mentioned earlier. The register 330 may be a single storage element, such as a shift register, or multiple storage elements configured to operate together to store received display data. In some implementations, the register 330 is segmented into multiple regions, each region assigned to store image data for a specified output channel. In some implementations, the register 330 includes circuitry to detect the value of a specified bit within a row of image data during a row image data write period, and determines whether the detected value for the same specified bit has changed during a subsequent row image data write period. In one implementation, the register 330 stores polarity data for selecting the polarity inversion operation modes of each output buffer 350. In another implementation, the register 330 stores polarity data for switching chopper modes of each output buffer 350.
The D/A converter 340 processes display data stored in the register 330 by converting the display data to analog signals having a voltage level that corresponds to the multi-bit digital value of the display data. Each output buffer 350 receives the analog voltage signals from the D/A converter 340 and/or amplifies the output of the D/A converter 340 for operating the active devices associated with sub-pixels within the associated column of the display panel 102. The further explanation of the output buffers 350 is described in conjunction with
The data display analyzer 220 included in the timing controller 104 receives 510 a frame of display data from one source via the display interface 108. As previously described with reference to the display data receiver 210, the display data comprises of multiple frames of image data that represent one or more images for display on a display region 102 of the display panel subsystem 100. The display data received by the timing controller 104 also comprise one or more control signals used by other components of the display panel subsystem 100 to properly display each frame included in the received display data.
The data display analyzer 220 included in the timing controller 104 divides 520 the received frame into a plurality of search groups comprised of a specified number of rows. Example number of rows in specified search group may include 4 or 8 rows. In one implementation, timing controller 104 may store the received frame of display data in one or more memory elements for further processing by the timing controller 104.
The data display analyzer 220 included in the timing controller 104 identifies 530 a first search group from the plurality of search groups. For example, the display data analyzer 220 defines a search group to include four rows. In this example, the first search group includes rows 1-4, a second search group includes rows 5-8, a third search group includes rows 9-12, and so on.
The data display analyzer 220 included in the timing controller 104 identifies 540 one row in the search group as a candidate row. For example, the candidate row is the first row (i.e., lowest numbered row) in the first search group.
The display data analyzer 220 included in the timing controller 104 determines 550 gray level values for sub-pixels included in the candidate row of the first search group. The display data analyzer 220 may determine gray level of a sub-pixel by analyzing one or more attributes of the sub-pixels. Example attributes include gray level value and polarity. In one implementation, the data display analyzer 220 included in the timing controller 104 may retrieve the gray level value from the received frame of display data or determine the gray level value from other intensity or luminance information for a sub-pixel included in the received frame of display data. The display analyzer 220 determines a gray level value and polarity for each sub-pixel in the candidate row. In some implementations, the display analyzer 220 determines a gray level value and polarity for each sub-pixel at least one of the remaining rows (e.g., the first remaining row or the second remaining row).
The display data analyzer 220 included in the timing controller 104 applies 560 a first chopper mode to each sub-pixel in the candidate row of the first search group and determines 570 gray level values for corresponding sub-pixels included in a first remaining row included in the first search group. For example, the data display analyzer 220 applies a chopper mode control signal having a first state to the output buffers of the source drivers 106 when writing display data to the candidate row.
The display data analyzer 220 compares 580 the gray level value of each sub-pixel included in the candidate row with the gray level values for corresponding sub-pixels in at least one of the remaining rows in the search group. In some implementations, the first remaining row having matching gray level values of sub-pixels as those in the candidate row is adjacent to the candidate row. For example, the data display analyzer 220 applies a chopper mode control signal having a first state to the output buffers of the source drivers 106 when writing display data to the first row as the candidate row (Nth row). The first remaining row is the immediately subsequent row (Nth+1) to the candidate row. If the determined gray level values for the sub-pixels included in the candidate row matches or is within a gray level threshold value of the determined gray level values for the sub-pixels included in the first remaining row, the data display analyzer 220 applies a chopper mode control signal having a second state to the output buffers of the source drivers 106 when writing display data to the first remaining row. Such a row-based input offset voltage cancellation mode is referred to herein as a one-line row-based input offset voltage cancellation mode because a different chopper mode is applied to each adjacent row as further described in conjunction with
In some implementations, the first remaining row having matching gray level values of sub-pixels as those in the candidate row is not adjacent to the candidate row. For example, the data display analyzer 220 applies a chopper mode control signal having a first state to the output buffers of the source drivers 106 when writing display data to the first row as the candidate row (Nth row). If the comparison indicates that a threshold number of sub-pixels in the candidate row (Nth row) do not have gray level values that match those of the corresponding pixels of the immediately subsequent row (Nth+1), the data display analyzer 220 repeats the sub-pixel gray level comparison with the gray level values of the corresponding sub-pixels in the next row (Nth+2). For example, the display data analyzer 220 may determine that the difference between the gray level values of sub-pixels of the candidate row (Nth) and corresponding sub-pixels of the (Nth+2) row match or are within a threshold gray level value. In which case, the data display analyzer 220 applies a chopper mode control signal having a second state to the output buffers of the source drivers 106 when writing display data to the (Nth+2) row, and applies a chopper mode control signal having a first and a second state to the output buffers of the source drivers 106 when writing display data to the (Nth+1) and (Nth+3) rows, respectively, as further described in conjunction with
Returning to
The indication of polarity is represented by the symbols “+” and “−,” corresponding to positive and negative polarity applied to sub-pixels in the search group of the display region 102, respectively. As shown in
The indication of gray level of the sub-pixel is represented as “GL:[gray level value].” For example, the sub-pixel 602 coupled to the source driver 106A and the fourth row line of the gate driver 604, has gray level value of 11, represented as GL:11. The indication of chopper mode applied to a sub-pixel is represented by “CM:[chopper mode].” For example, the sub-pixels coupled to the fourth row line is set to a chopper mode B by applying a chopper mode control signal having a second state to the output buffers of source drivers 106A-106D. Whereas the sub-pixels coupled to the third row line of the gate driver 604 are set to a chopper mode A by applying a chopper mode control signal having a first state to the output buffers of source drivers 106A-106D.
In one embodiment under the row-based input offset voltage cancellation mode shown in
In one embodiment under the row-based input offset voltage cancellation shown in
The display data analyzer 220 receives 810 a frame of display data from one source via the display interface 108 and divides 820 the received frame into a plurality of search groups comprised of a specified number of rows in manner similar as described with reference to steps 510 and 520 in
The display data analyzer 220 compares 880 the gray level value for the analyzed sub-pixels. Based on the comparison result, the data display analyzer 220 applies 890 a specified chopper mode to a sub-pixel included in a specified row and a specified column. In particular, for each column, the data display analyzer 220 compares the gray level value of the sub-pixels included in the candidate row and the corresponding sub-pixels in one or more specified rows. Based on the comparison result, the data display analyzer 220 employs a specified chopper mode.
In one implementation, for each column, if the comparison result indicates that the gray level value for the first sub-pixel included in the candidate row (e.g., a sub-pixel in the first column and the first row) of the search group and the determined gray level value for the second sub-pixel included in the first remaining row (e.g., a sub-pixel in the first column and the second row) of the search group matches, the data display analyzer 220 applies a different chopper mode from the candidate row to the second sub-pixel in the first remaining row with the matching sub-pixel gray level value. On the other hand, for each column, if the comparison result indicates that the determined gray level value for the first sub-pixel included in the candidate row of the search group and the determined gray level value for the second sub-pixel included in the first remaining row and the first column of the search group don't match, the data display analyzer 220 compares the determined gray level values for the first sub-pixel included in the candidate row and the determined gray level values for the third sub-pixel included in the second remaining row (e.g., a sub-pixel in the first column and third row). If the comparison indicates the third pixel in the second remaining row matches the first pixel in the candidate row, the data display analyzer 220 applies the same chopper mode to the first sub-pixel in the candidate row and the second sub-pixel in the first remaining row. The process is repeated for each column in the search group, and for each search group included in the frame of display data as further described in
Under the per-column row-based input offset voltage cancellation mode, the display data analyzer 220 may apply a different row-based input offset voltage cancellation mode to different columns in the search group of each frame of image data. For example, as previously described with reference to
As previously discussed with reference to
The display data analyzer 220 receives 1010 a frame of display data from one source via the display interface 108 and divides 1020 the received frame into a plurality of search groups comprised of a selected number of adjacent rows in manner similar as described with reference to steps 510 and 520 in
On the other hand, if the comparison indicates that the difference between the gray level value of the second sub-pixel in the first remaining row and the gray level value of the sub-pixel included from the candidate row exceeds the gray level threshold, the display data analyzer 220 maintains the state of the chopper mode control signal applied to the second sub-pixel in the remaining row as same as the state of the chopper mode control signal applied to the first sub-pixel in the candidate row. The display data analyzer 220 then determines a gray level value for the third sub-pixel in the second remaining row included in the search group and compares the gray level value of the third sub-pixel in the second remaining row with the gray level of the second pixel in the first remaining row and the gray level of the first sub-pixel in the candidate row. If the gray level value of the third sub-pixel matches the gray level value of the first sub-pixel in the candidate row, the display data analyzer 220 changes the chopper mode applied to the third sub-pixel in the second remaining row relative to the chopper mode applied to the first sub-pixel in the candidate row.
For example, as shown in
Throughout this specification, plural instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently, and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein.
Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. A hardware module is tangible unit capable of performing certain operations and may be configured or arranged in a certain manner. In example embodiments, one or more computer systems (e.g., a standalone, client or server computer system) or one or more hardware modules of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion embodied as executable instructions or code) as a hardware module that operates to perform certain operations as described herein.
In various embodiments, a hardware module may be implemented mechanically or electronically. For example, a hardware module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a special-purpose processor, such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)) to perform certain operations. A hardware module may also comprise programmable logic or circuitry (e.g., within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example embodiments, comprise processor-implemented modules.
Some portions of this specification are presented in terms of algorithms or symbolic representations of operations on data stored as bits or binary digital signals within a machine memory (e.g., a computer memory). These algorithms or symbolic representations are examples of techniques used by those of ordinary skill in the data processing arts to convey the substance of their work to others skilled in the art. As used herein, an “algorithm” is a self-consistent sequence of operations or similar processing leading to a desired result. In this context, algorithms and operations involve physical manipulation of physical quantities. Typically, but not necessarily, such quantities may take the form of electrical, magnetic, or optical signals capable of being stored, accessed, transferred, combined, compared, or otherwise manipulated by a machine. It is convenient at times, principally for reasons of common usage, to refer to such signals using words such as “data,” “content,” “bits,” “values,” “elements,” “symbols,” “characters,” “terms,” “numbers,” “numerals,” or the like. These words, however, are merely convenient labels and are to be associated with appropriate physical quantities.
Unless specifically stated otherwise, discussions herein using words such as “processing,” “computing,” “calculating,” “determining,” “presenting,” “displaying,” or the like may refer to actions or processes of a machine (e.g., a computer) that manipulates or transforms data represented as physical (e.g., electronic, magnetic, or optical) quantities within one or more memories (e.g., volatile memory, non-volatile memory, or a combination thereof), registers, or other machine components that receive, store, transmit, or display information.
As used herein any reference to “one embodiment” or “an embodiment” means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The phrase “in one embodiment” in various places in the specification is not necessarily all referring to the same embodiment.
Some embodiments may be described using the expression “coupled” and “connected” along with their derivatives. For example, some embodiments may be described using the term “coupled” to indicate that two or more elements are in direct physical or electrical contact. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other. The embodiments are not limited in this context.
As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Further, unless expressly stated to the contrary, “or” refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).
In addition, use of the “a” or “an” are employed to describe elements and components of the embodiments herein. This is done merely for convenience and to give a general sense of the invention. This description should be read to include one or at least one and the singular also includes the plural unless it is obvious that it is meant otherwise.
Upon reading this disclosure, those of skill in the art will appreciate still additional alternative structural and functional designs for a system and method for performing charge sharing during a polarity period through the disclosed principles herein. Thus, while particular embodiments and applications have been illustrated and described, it is to be understood that the disclosed embodiments are not limited to the precise construction and components disclosed herein. Various modifications, changes and variations, which will be apparent to those skilled in the art, may be made in the arrangement, operation and details of the method and apparatus disclosed herein without departing from the spirit and scope described.