Patent Description:
Electronic devices may include flat panel displays on which visual images may be shown. For example, a user of a computing device may view visual images on a flat panel display while watching a video or playing a video game. <CIT> proposes a display apparatus that includes a display panel, a timing controller, data and gate driving parts. The display panel includes first and second substrates, and a liquid crystal layer disposed between the first and second substrates, and displays an image. The timing controller includes a data compensating unit that outputs compensated grayscale data in an n-th pixel row, based upon a coupling capacitance generated according to a grayscale data variation between an (n-<NUM>)-th pixel row and the n-th pixel row, n' being a natural number. The data driving part converts the compensated grayscale data to an analog data voltage, and outputs the analog data voltage to data lines. <CIT> proposes a method of operating a display panel, the method including obtaining a first total grayscale value associated with a plurality of first subpixel data, the plurality of first subpixel data corresponding to a plurality of first data voltages applied to a plurality of data lines during a first horizontal period, obtaining a second total grayscale value associated with a plurality of second subpixel data, the plurality of second subpixel data corresponding to a plurality of second data voltages applied to the plurality of data lines during a second horizontal period subsequent to the first horizontal period, and selectively compensating the plurality of second subpixel data based on the first total grayscale value and the second total grayscale value. <CIT> proposes a display that may include an array of display pixels and control circuitry for operating the display. The control circuitry may determine, based on pixel values for a row of display pixels, that a current in common supply voltage circuitry for the display pixels will exceed a threshold, if the row of display pixels is operated using the pixel values. The control circuitry may modify the pixel values for the row of display pixels to reduce the current in the common supply voltage circuitry and/or prevent the current in the common supply voltage circuitry from exceeding the threshold.

In flat panel displays, when an abrupt data voltage change occurs between pixels in a vertical or column data line, the image on the display at a horizontally neighboring area can show unwanted distortion as an artifact of this abrupt voltage change. The unwanted image distortion, which is often observed as horizontal lines, is called horizontal line crosstalk, or line crosstalk. Line crosstalk typically occurs because of parasitic capacitance between horizontal scan or power supply lines and vertical data lines in the display. Line crosstalk can worsen or become more apparent when an abrupt voltage change affects a greater number of vertical data lines simultaneously. Line crosstalk can also worsen as display resolution and operating frame frequencies increase.

Line crosstalk can be reduced by softening image pattern boundaries at which the abrupt data voltage change occurs. Softening the image pattern boundaries may include adjusting voltage levels for entire boundaries throughout the image pattern, potentially including some boundaries that do not cause observable line crosstalk. Softening the image pattern boundaries may be applied even when the number of data lines with a simultaneous abrupt voltage change is too small to cause observable line crosstalk. Therefore, when entire boundaries of the image pattern are softened, the sharpness of the image may be reduced. The reduction in sharpness can be considered an artifact, or side effect, of softening the image pattern boundaries.

A process for reducing (e.g., minimizing) display line crosstalk, while avoiding image sharpness loss, includes softening only the image pattern boundaries that include a number of data lines that have a simultaneous abrupt voltage change. The process includes modifying an image using an algorithm that introduces a gradation only for the portions of the image that need to be softened in order to reduce the line crosstalk. By limiting the gradation only to the portions of the image that cause observable line crosstalk, the process maintains image sharpness and reduces the presence of artifacts for a majority of image patterns.

According to a first aspect of the present invention, there is provided a method as set out in claim <NUM>. According to a second aspect of the present invention, there is provided a flat panel display as set out in claim <NUM>.

According to a third aspect of the present invention, there is provided a non-transitory computer-readable medium as set out in claim <NUM>.

The foregoing and other embodiments can each optionally include one or more of the following features, alone or in combination.

In some implementations, the magnitude of the aggregated grayscale delta is determined for a plurality of scan lines, and the image data is modified for each of the plurality of scan lines for which the magnitude of the aggregated grayscale delta equals or exceeds the threshold value.

In some implementations, the another pixel is addressable by a scan line adjacent the first scan line.

In some implementations, the another pixel is addressable by a scan line separated from the first scan line by one or more other scan lines.

In some implementations, the threshold value is determined empirically for the flat panel display.

In some implementations, the image data is modified by increasing or decreasing the grayscale value of one or more pixels addressable by the first scan line to reduce the magnitude of the aggregated grayscale delta for the first scan line.

In some implementations, the image data is modified for the one or more pixels addressable by the first scan line that each have a grayscale delta with the same sign as the aggregated grayscale delta for the first scan line.

In some implementations, the image data is not modified for the one or more pixels addressable by the first scan line unless the image data is modified for at least one other adjacent pixel addressable by the first scan line.

In some implementations, the grayscale value is a value of a subpixel of a pixel that includes multiple subpixels.

In some implementations, the grayscale value is a summation of values of multiple subpixels of a pixel that includes multiple subpixels.

In some implementations, the grayscale delta is a variation between a one or more most-significant-bits of the grayscale value for the given pixel and one or more most-significant-bits of the grayscale value for the another pixel.

In some implementations, the grayscale delta is a variation between a weighted grayscale value for the given pixel and a weighted grayscale value for the another pixel.

In some implementations, determining a weighting ratio for each of the given pixel and the another pixel based on the respective grayscale values for the given pixel and the another pixel; and determining the weighted grayscale value for each of the given pixel and the another pixel by multiplying the grayscale values for the given pixel and the another pixel by the respective weighting ratios.

In some implementations, increasing or decreasing the grayscale value of the one or more pixels includes increasing or decreasing the grayscale value of each subpixel of the one or more pixels.

In some implementations, the display is an organic light emitting diode (OLED) display.

Implementations of the above techniques include methods, apparatus, systems and computer program products. One such computer program product is suitably embodied in a non-transitory machine-readable medium that stores instructions executable by one or more processors. The instructions are configured to cause the one or more processors to perform the above-described actions.

An example flat panel display that may experience line crosstalk is an organic light-emitting diode (OLED) display. An OLED display includes an array of pixels, each pixel including an OLED. An OLED display is driven by driver circuits including a row driver and a column driver. The row driver, e.g., a scan driver, typically selects a row of pixels in the display, and the column driver, e.g., a data driver provides data voltage to pixel circuits in the selected row. The pixel circuits generate electric current that corresponds to the data voltage, and provide the current to OLEDs of the pixel, enabling the selected OLEDs to emit light according to image data. Signal lines such as horizontal scan lines and vertical data lines may be used in controlling the pixels to display images on the display.

The light intensity of a pixel may be determined by a grayscale value. In this disclosure, the example pixel light intensities are represented as grayscale values that include integers from <NUM> to <NUM>, representing an example <NUM>-bit grayscale display. The process for reducing display line crosstalk may also be applied to other grayscale value ranges. For example, grayscale values may range from <NUM> to <NUM> for a <NUM>-bit display, or from <NUM> to <NUM> for a <NUM>-bit display. Other possible grayscale value ranges may include a range from <NUM> to <NUM>, with fractional values in between, and a range from <NUM> percent (%) to <NUM>%.

For a full color display that spatially synthesizes color, each pixel may include multiple color channels, or subpixels. In some examples, each pixel may include each of a red, green, and blue subpixel. In some examples, each pixel may include each of a cyan, magenta, and yellow subpixel. The light intensities of each subpixel may be represented with grayscale values as described above, e.g., integers from <NUM> to <NUM> for an <NUM>-bit display.

<FIG> is a diagram of an example display system <NUM>. The display system <NUM> is an OLED display system. The display system <NUM> is the display system for an electronic device <NUM>. The electronic device <NUM> may be, for example, a smart phone, a television screen, or a handheld game console.

The display system <NUM> includes a pixel array <NUM> that includes a plurality of pixels, e.g., the pixels <NUM>, <NUM>, and <NUM>. A pixel is a small unit element on a display that can reproduce a light of a color based on the image data supplied to the pixel. Each pixel within the pixel array <NUM> can be addressed separately to produce various light intensities of color. Only a few pixels are shown in <FIG> for simplicity. In practice, there may be several million pixels in the pixel array <NUM> Greater numbers of pixels can result in higher image resolution.

Each pixel in the pixel array <NUM> is addressable by a horizontal, or row, scan line and a vertical, or column, data line. For example, the pixel <NUM> is addressable by the scan line <NUM> and the data line <NUM>. The scan lines are addressed sequentially for each image data frame. A scan direction determines the order in which the scan lines are addressed. In the display system <NUM>, the scan direction is from top to bottom of the pixel array <NUM>. For example, the top scan line is addressed first, followed by the second scan line from the top, followed by the third scan line from the top, etc..

The display system <NUM> includes a controller <NUM> that receives display input data <NUM>. The controller <NUM> may include a graphic controller and a timing controller. The controller generates the timing of the signals for delivery to the display. The controller <NUM> provides the image data to the scan or row driver <NUM> and the data or column driver <NUM>.

The row driver <NUM> and the column driver <NUM> provide signals to the pixels representative of the image data. The row driver <NUM> and the column driver <NUM> provide the signals to the pixels via the scan lines and the data lines. To provide the signals to the pixels, the row driver <NUM> selects a scan line, and the column driver <NUM> provides data signals, e.g., data voltage, to the pixels addressable by the selected scan line to light the selected OLEDs according to the image data.

Each pixel in the pixel array <NUM> includes an organic light-emitting diode (OLED) <NUM>. An OLED includes a layer of an organic compound that emits light in response to an electric current. The organic layer is positioned between two electrodes, an anode and a cathode. Each OLED is driven by corresponding pixel circuits, in which an input voltage source <NUM> is a power supply.

Each pixel in the pixel array <NUM> includes a storage capacitor <NUM>, a driving thin film transistor (TFT) <NUM>, a switching TFT <NUM>, and a connection to an OLED cathode <NUM>.

During operation, the switching TFT <NUM> starts and stops the charging of the storage capacitor <NUM> based on receiving a signal from the scan line. During an addressing period, the scan line tuffis on the switching TFT <NUM>. The switching TFT provides the data line voltage to the driving TFT <NUM> and the storage capacitor <NUM>. The data line voltage is based on the image data for the pixel.

When the driving TFT <NUM> receives the data line voltage through the switching TFT <NUM>, the driving TFT <NUM> provides a specified current to the OLED <NUM> based on the received data line voltage, such that the OLED <NUM> emits light in accordance with the electric current. The intensity or brightness of the light depends on the amount of electrical current applied. A higher current results in brighter light. Thus, the intensity of the light emitted from the OLED <NUM> is based on the data line voltage that corresponds to image data for the individual pixel. The storage capacitor <NUM> maintains the pixel state such that the pixel remains illuminated continuously after the addressing period.

<FIG> is a diagram of an example pixel of a display system. For example, <FIG> illustrates a more detailed view of the pixel <NUM> of the display system <NUM>. The pixel <NUM> is addressable by the horizontal scan line <NUM> and the vertical data line <NUM>. The pixel receives power through vertical power supply line <NUM> and horizontal power supply line <NUM>.

Parasitic capacitances may develop between capacitive components of pixels. For example, parasitic capacitance CP1 may develop between the power supply line <NUM> and the data line <NUM>. In another example, parasitic capacitance CP2 may develop between the power supply line <NUM> and the data line <NUM>. Parasitic capacitance CP3 may also develop between the scan line <NUM> and the data line <NUM>. Parasitic capacitance CP4 may develop between the power supply line <NUM> and a gate electrode of the driving TFT <NUM>, and parasitic capacitance CP5 may develop between the scan line <NUM> and a gate electrode of the driving TFT <NUM>. In another example, parasitic capacitance CP6 may develop between the power supply line <NUM> and an anode of the OLED <NUM>.

Parasitic capacitance, e.g., CP1 to CP6, can compromise the performance of the pixels in the display system <NUM>. For example, parasitic capacitance can disrupt the charge stored on the storage capacitor <NUM>. The disruption can lead to visible artifacts, or anomalies, on the display. Specifically, parasitic capacitance can cause line crosstalk. Line crosstalk results in unwanted lines shown on the display at boundaries where there are abrupt data voltage changes. A process for reducing line crosstalk is described in reference to <FIG>.

Although <FIG> and <FIG> illustrate example components of an OLED display, the process for reducing line crosstalk may be applied to any flat panel display that includes an array of pixels. For example, the process for reducing line crosstalk may be applied to light emitting diode (LED) liquid crystal displays (LCD) and plasma display panels (PDP).

<FIG> is a flow diagram that illustrates an example process <NUM> for reducing display line crosstalk. Briefly, the process <NUM> includes receiving image data including a grayscale value for each pixel of a display (<NUM>), determining a grayscale delta for each pixel from the grayscale values where, for a given pixel addressable by a first scan line and a first data line, the grayscale delta is a variation between the grayscale value for the given pixel and the grayscale value for another pixel addressable by the first data line and addressable by a scan line to be addressed prior to the first scan line (<NUM>), determining an aggregated grayscale delta for the first scan line by summing the grayscale deltas of each pixel addressable by the first scan line (<NUM>), comparing a magnitude of the aggregated grayscale delta for the first scan line to a threshold value (<NUM>), modifying the image data when the magnitude of the aggregated grayscale delta equals or exceeds the threshold value such that a magnitude of a modified aggregated grayscale delta for the first scan line is below the threshold value, thereby generating modified image data (<NUM>), and displaying the image on the display using the modified image data (<NUM>).

Although referred to in this example as "grayscale," the process <NUM> can be used for voltage levels of any subpixel of a pixel. For example, the process <NUM> can be used for red, green, or blue subpixels, or for cyan, magenta or yellow subpixels. The voltage level of each of the subpixels determines the light intensity of each color. The display system may apply any image data modification proportionally to each subpixel of a pixel.

The process <NUM> includes receiving image data including a grayscale value for each pixel of a display (<NUM>). For example, the image data may be received at a display driver module, e.g., the column driver <NUM>. The display driver module of a display system may receive image data for displaying an image on a flat panel display. The flat panel display may include an array of pixels electrically addressable by a plurality of scan lines and a plurality of data lines, where the scan lines are addressed sequentially in a scan direction, e.g., from top to bottom. The display driver module may be in electrical communication with the plurality of scan lines or scan driver circuits and the plurality of data lines. The grayscale value for each pixel can be a value between, for example <NUM> and <NUM> for an <NUM>-bit grayscale display. In some examples, the grayscale value can be between <NUM> and <NUM> for a <NUM>-bit display, or between <NUM> and <NUM> for a <NUM>-bit display. In some examples, the grayscale value of a pixel is a sum of values of multiple subpixels of a pixel. The grayscale value of each pixel determines the intensity of the emitted light. For example, a grayscale value of <NUM> represents a greater light intensity compared to a grayscale value of <NUM>.

The process <NUM> includes determining a grayscale delta for each pixel from the grayscale values where, for a given pixel addressable by a first scan line and a first data line, the grayscale delta is a variation between the grayscale value for the given pixel and the grayscale value for another pixel addressable by the first data line and addressable by a scan line to be addressed prior to the first scan line (<NUM>). For example, a given pixel addressable by a first scan line and a first data line may be the pixel <NUM> from <FIG>, addressable by a data line <NUM> and a scan line <NUM>. The another pixel may be the pixel <NUM> from <FIG>, addressable by the data line <NUM> and a scan line <NUM>, where the scan line <NUM> is addressed prior to the scan line <NUM> when displaying the image. In some examples, the given pixel and the another pixel may addressable by scan lines that are adjacent to one another, e.g., the pixel <NUM> and the pixel <NUM>. In some examples, the given pixel and the another pixel may be addressable by scan lines that are separated by one or more other scan lines. For example, the given pixel may be the pixel <NUM>, and the another pixel may be the pixel <NUM>. Both the pixel <NUM> and the pixel <NUM> are addressable by the data line <NUM>, but are separated by the scan line <NUM>.

The display system determines the grayscale delta between the given pixel and the another pixel to determine the difference in intensity between two pixels in different rows within the same column of the display. The grayscale delta is determined by subtracting the grayscale value of the another pixel from the grayscale value of the given pixel. For example, the grayscale delta for pixel <NUM> may be determined by subtracting the grayscale value of the pixel <NUM> from the grayscale value of the pixel <NUM>. The grayscale delta may be a negative value, a positive value, or zero. The display system can repeat the grayscale delta determination for each subpixel within the pixels, e.g., red, green, and blue subpixels.

In some examples, the grayscale delta can be determined by counting a part of gray level values in the digital image data. For example, only two most-significant-bits (MSBs) of the digital gray value can be used for the calculation of grayscale deltas in order to reduce required system resources and processing time.

In some examples, the determination of the grayscale delta can be varied by applying various weighting ratios in the calculation depending on the range of the respective gray levels. For example, the grayscale delta can be multiplied by two when the given pixel's original gray level is in the range of <NUM> to <NUM>, while the grayscale delta can be multiplied by one when the given pixel's gray level is equal to or greater than <NUM>.

The display system can repeat the grayscale delta determination for each pixel that is addressable by a scan line. For example, the display system can repeat the grayscale delta determination for the pixels <NUM>, <NUM>, and <NUM>, each addressable by the scan line <NUM>.

The process <NUM> includes determining an aggregated grayscale delta for the first scan line by summing the grayscale deltas of each pixel addressable by the first scan line (<NUM>). For example, the display system may sum the grayscale deltas of the pixels <NUM>, <NUM>, and <NUM> to determine the aggregated grayscale delta for the scan line <NUM>. The aggregated grayscale delta may be a negative value, a positive value, or zero.

The process <NUM> includes comparing a magnitude of the aggregated grayscale delta for the first scan line to a threshold value, the threshold value corresponding to a data signal that results in line crosstalk (<NUM>). The magnitude of the aggregated grayscale delta is the absolute value of the aggregated grayscale delta. The display system compares the magnitude of the aggregated grayscale delta to the threshold value.

The threshold value may be a pre-programmed value that is established using empirical methods. For example, the threshold value may be established using a tuning process that is performed upon fabrication of the display. The tuning process may include adjusting the threshold value to various levels to determine the optimal threshold for reducing line crosstalk.

An example process for establish an optimal threshold value includes using a reference image. The reference image of an example <NUM>-bit grayscale display may have a background with a gray level of <NUM>. The reference image may include a black box with a gray level of <NUM>, with the width of the black box extending across a portion of the width of the display active area, e.g., <NUM> percent of the width of the display active area. The black box may be positioned in or near the center of the display active area.

The process for establishing an optimal threshold value can include performing the process <NUM> for reducing display line crosstalk multiple times on the reference image. In the first iteration of performing the process <NUM>, the display system can apply a certain threshold value and evaluating the resulting image. Specifically, the display system can evaluate the resulting image by comparing the brightness of the horizontal display line crosstalk near the top and bottom edge areas of the black box to the intended brightness. The display system can then iteratively perform the process <NUM>, adjusting the threshold value each time, e.g., by increasing or decreasing the threshold value. The display system can establish the optimal threshold value to be the aggregated grayscale delta when the horizontal line crosstalk near the top and bottom edge areas of the black box differ from the intended brightness by a certain percentage, e.g., one percent.

The process <NUM> includes modifying the image data when the magnitude of the aggregated grayscale delta equals or exceeds the threshold value such that a magnitude of a modified aggregated grayscale delta for the first scan line is below the threshold value, thereby generating modified image data (<NUM>). For each scan line, if the magnitude of the aggregated grayscale delta is higher than the threshold, the display system modifies the image data by applying a softening process for the scan line. The softening process can include adjusting abrupt changes in intensity to introduce or increase gradation at the change boundaries. The modified image data includes grayscale values that result in smaller grayscale deltas between scan lines. Subject to additional criteria, the display system modifies the image data only for pixels addressable by the scan lines for which the magnitude of the aggregated grayscale deltas equals or exceeds the threshold. For example, if the magnitude of the aggregated grayscale delta for scan line <NUM> exceeds the threshold, the display system may modify the image data for pixels <NUM>, <NUM>, and/or <NUM>. If the magnitude of the aggregated grayscale delta for scan line <NUM> does not exceed the threshold, the display system does not modify the image data for pixels <NUM>, <NUM>, or <NUM>.

In some examples, the display system modifies the image data only for pixels that have a grayscale delta that is the same sign, i.e., positive or negative, as the aggregated grayscale delta for the corresponding scan line. For example, if the aggregated grayscale delta for scan line <NUM> is a positive value, and its magnitude exceeds the threshold, the display system may modify the image data for any of the pixels <NUM>, <NUM>, or <NUM> that have a positive grayscale delta.

In some examples, the display system modifies the image data only when a certain number of adjacent pixels addressable by a scan line meet the criteria for image data modification. For example, a display system may be configured such that the display system modifies the image data only when at least three adjacent pixels addressable by a scan line meet the criteria for image data modification. In this example, the aggregated grayscale delta for scan line <NUM> may be positive and have a magnitude that exceeds the threshold. The pixel <NUM> may have a positive grayscale delta, and therefore meet the criteria for image data modification. However, if either of the pixels <NUM> or <NUM> do not have a positive grayscale delta, the display system will not modify the image data for the pixel <NUM> because there are fewer than three adjacent pixels addressable by the scan line <NUM> that meet the criteria.

In some examples, the display system modifies the image data using pre-defined parameters based on the magnitude of the aggregated grayscale delta. The display system may apply various algorithms based on the magnitude of the aggregated grayscale delta and/or the amount by which the magnitude of the aggregated grayscale delta exceeds the threshold. For example, the display system may apply a certain algorithm when the magnitude of the aggregated grayscale delta exceeds the threshold by <NUM>%, and another algorithm when the magnitude of the aggregated grayscale delta exceeds the threshold by <NUM>%. An example algorithm is to reduce the grayscale value of the given pixel by <NUM>%. Another example algorithm is to increase the grayscale value of the given pixel by a value that is the inverse sign of one-half of the grayscale delta of the given pixel. As a result of modifying the image data, the magnitude of the modified aggregated grayscale delta for the first scan line decreases below the threshold value.

In some examples, the display system can apply combined gray level values of subpixels (e.g. red, green, and blue) in calculating the aggregate grayscale delta of the designated pixels, and apply the same modification ratio of gray levels of each subpixel. For example, if the display system applies an algorithm of reducing the grayscale value of the given pixel by <NUM>%, the display system can reduce each of the red, blue, and green subpixel values by <NUM>%. The intensities of the subpixels may be adjusted in proportion such that the color of the pixel remains the same, but is displayed at a higher or lower intensity or brightness.

The process includes displaying the image on the display using the modified image data (<NUM>). The displayed image using the modified image data includes softened boundaries compared to the image using the unmodified image data. By applying the algorithms to the designated pixels, the display system reduces the abrupt changes in voltages in the display panel, which increases gradation at boundaries. Because the display system only applies the algorithms to the specific pixels that meet specified criteria, the softening only affects the abrupt boundaries that cause line crosstalk, without affecting additional pixels within the affected scan lines. This reduces artifacts in the displayed image that might occur if the algorithms were applied to all boundaries of image patterns on the screen while the display system reduces line crosstalk in the display.

<FIG> illustrates example grayscale value grids for an image pixel array of a flat panel display. The pixel array includes ten rows, or scan lines, represented by S=<NUM> to S=<NUM>. The pixel array includes ten columns, or data lines, represented by D=<NUM> to D=<NUM>. Each pixel is addressable by a scan line and a data line.

The grid <NUM> shows the grayscale value of each pixel in the pixel array. The grayscale value of each pixel can be represented by GSD, where S is the addressable scan line of the pixel, and D is the addressable data line of the pixel. For example, the grayscale value of the pixel addressable by scan line <NUM> and data line <NUM> can be represented by G<NUM>. The values GSD can range from <NUM> to <NUM>, representing grayscale values for an <NUM>-bit grayscale display. For example, as shown in the grid <NUM>, G<NUM>=<NUM>. The grid <NUM> includes abrupt changes in grayscale values between adjacent pixels. For example, the region of pixels between scan line <NUM> and scan line <NUM>, and data line <NUM> and data line <NUM>, have grayscale values of <NUM>. The pixels surrounding the region each have a grayscale value of <NUM> or greater. Thus, the grid <NUM> shows grayscale values representing a darker region of the image that is surrounded by a brighter region of the image.

The grid <NUM> shows the grayscale deltas for each pixel. The grayscale delta of each pixel can be represented by ΔSD, where S is the addressable scan line of the pixel, and D is the addressable data line of the pixel. For example, the grayscale delta of the pixel addressable by scan line <NUM> and data line <NUM> can be represented by Δ<NUM>. The values ΔSD can be determined by subtracting, from each pixel grayscale value, the pixel grayscale value of the preceding pixel addressable by the same data line, such that ΔSD can be determined by Equation <NUM>. <MAT> For example, the calculation of the grayscale delta for the pixel addressable by scan line <NUM> and data line <NUM>, Δ<NUM>, is shown in Equation <NUM>. <MAT> Thus, as shown in the grid <NUM>, Δ<NUM>=-<NUM>. The grayscale delta for each pixel may be a positive value, a negative value, or zero. The grayscale deltas for the pixels in scan line <NUM> cannot be calculated, since there are no preceding pixels addressable by the same data lines. Thus, the grayscale deltas for the pixels in scan line <NUM> are shown in the grid <NUM> as not applicable (N/A). In some examples, the grayscale deltas for the pixels in scan line <NUM> can be calculated by using the last scan line of the pixel array. For example, in the grid <NUM>, the grayscale deltas for the pixels in scan line <NUM> can be calculated using scan line <NUM> as the preceding scan line for scan line <NUM>.

The grid <NUM> shows the aggregated grayscale deltas for each scan line. The aggregated grayscale deltas for each scan line can be represented by ΣS, where S is the scan line. For example, the aggregated grayscale delta for scan line <NUM> can be represented by Σ<NUM>. The values ΣS can be determined by summing the grayscale deltas for each pixel in each scan line, such that ΣS can be determined by Equation <NUM>. <MAT> For example, the calculation of the aggregated grayscale delta for scan line <NUM>, Σ<NUM>, is shown in Equation <NUM>. <MAT> Thus, as shown in the grid <NUM>, Σ<NUM> = -<NUM>.

To determine the image data to modify for reducing line crosstalk, the display system compares the magnitude, or absolute value, of the aggregated grayscale deltas for each scan line to a threshold value T. The threshold value may be pre-determined empirically and set at a level that optimally reduces line crosstalk. In <FIG>, the threshold T=<NUM>. Therefore, the display system may modify the image data for the pixels that are addressable by scan lines that have an aggregated grayscale delta magnitude greater than or equal to <NUM>. For example, the scan line <NUM> has an aggregated grayscale delta of Σ<NUM> = -<NUM>. The magnitude of the aggregated grayscale delta for the scan line <NUM> is given by Equation <NUM>. <MAT> Since <NUM><<NUM>, the magnitude of the aggregated grayscale delta for scan line <NUM>, |Σ<NUM>|, is less than the threshold T. Thus, the display system will not modify the image data for the pixels addressable by the scan line <NUM>.

The scan line <NUM> has an aggregated grayscale delta magnitude of Σ<NUM> = -<NUM>. The magnitude of the aggregated grayscale delta for the scan line <NUM> is therefore <NUM>. Since <NUM>≥<NUM>, the magnitude of the aggregated grayscale delta for scan line <NUM> is greater than or equal to the threshold T. Thus, subject to any additional criteria, the display system may modify the data for the pixels addressable by the scan line <NUM>. As shown in the grid <NUM>, the magnitude of the aggregated grayscale delta for scan lines <NUM> and <NUM> both exceed the threshold T, as indicated by bold type.

The display system might not modify the image data for every pixel addressable by scan lines <NUM> and <NUM>. The display system may only modify each pixel in the scan lines <NUM> and <NUM> that meet specified criteria. For example, criteria may be that the display system modifies the image data for only the pixels that have a grayscale delta that is the same sign as the aggregated grayscale delta. For example, the magnitude of the aggregated grayscale delta for scan line <NUM>, <NUM>, is greater than or equal to the threshold T. The sign of the aggregated grayscale delta, -<NUM>, is negative. Therefore, only the pixels addressable by scan line <NUM> that have negative grayscale deltas may be modified. Subject to any additional criteria, the display system may modify the image data G<NUM>, G<NUM>, G<NUM>, G<NUM>, G<NUM>, G<NUM>, G<NUM>, and G<NUM>, each of which have negative grayscale deltas. The display system will not modify the image data G<NUM> or G<NUM>, each of which have positive grayscale deltas.

In some examples, the criteria for modifying the image data of a pixel may include the number of adjacent pixels that will be modified. For example, criteria may be that when a selected pixel does not have at least two adjacent pixels addressable by the same scan line that will be modified, the display system will not modify the selected pixel. For example, in the grid <NUM>, the grayscale delta Δ<NUM> is -<NUM>. The grayscale delta of the adjacent pixel within the same scan line is Δ<NUM>=<NUM>. Since the grayscale delta Δ<NUM> is a positive value, and the aggregated grayscale delta for scan line <NUM> is a negative value, the image data for the pixel addressable by scan line <NUM> and column <NUM> will not be modified. Thus, the pixel addressable by scan line <NUM> and scan line <NUM> does not have any adjacent pixels addressable by the same scan line that will be modified. Therefore, the display system will not modify the image data G<NUM>.

To modify the image data for the selected pixels, the display system may apply an algorithm to the grayscale values for the selected pixels. In the example of <FIG>, the display system applies an algorithm of increasing the grayscale values of G<NUM> to G<NUM> by a value that is the inverse sign of one-half of the grayscale delta of each pixel. For example, the grayscale delta Δ<NUM> is -<NUM>. The inverse sign of one-half of the grayscale delta Δ<NUM> is therefore given by Equation <NUM>.

Thus, the display system applies the algorithm to modify the image data G<NUM> by increasing the grayscale value by <NUM>. The modified image data for G<NUM> is given by Equation <NUM>, where the modified image data for G<NUM> is represented by G<NUM>*.

Similarly, the display system may modify the image data G<NUM> to G<NUM>. For example, the modified image data for G<NUM> is given by Equation <NUM>, where the modified image data for G<NUM> is represented by G<NUM>*.

<FIG> illustrates example grayscale value grids for an image pixel array of a flat panel display with modified grayscale data. The pixel array in <FIG> represents the same flat panel display as the pixel array in <FIG>, displaying modified image data.

The grid <NUM> shows the modified grayscale value of each pixel. The modified grayscale value is the result of the display system applying one or more algorithms to modify the image data as described in reference to <FIG>. Specifically, the grayscale values in the grid <NUM> are the result of the display system applying, to the selected pixels, an algorithm given by Equation <NUM>.

The grayscale value of each pixel can be represented by GSD*, where S is the addressable scan line of the pixel, and D is the addressable data line of the pixel. For example, the grayscale value of the pixel addressable by scan line <NUM> and data line <NUM> can be represented by G<NUM>*. The values GSD* can range from <NUM> to <NUM>, representing grayscale values for an <NUM>-bit display. For example, as shown in the grid <NUM>, G<NUM>*=<NUM>. The grid <NUM> shows the modified grayscale values after processing by the display system to reduce line crosstalk. Thus, certain pixel grayscale values in the grid <NUM> are different compared to the grayscale values for the same pixels in the grid <NUM>. Grayscale values that are different in the grid <NUM> compared to the grid <NUM> are indicated by bold type.

The grid <NUM> shows the modified grayscale deltas for each pixel. The modified grayscale delta of each pixel can be represented by ΔSD*, where S is the addressable scan line of the pixel, and D is the addressable data line of the pixel. For example, the modified grayscale delta of the pixel addressable by scan line <NUM> and data line <NUM> can be represented by Δ<NUM>*. The modified values ΔSD can be determined by subtracting, from each pixel grayscale value, the pixel grayscale value of the preceding pixel addressable by the same data line, such that ΔSD* can be determined by Equation <NUM>. <MAT> For example, the calculation of the modified grayscale delta for the pixel addressable by scan line <NUM> and data line <NUM>, Δ<NUM>*, is shown in Equation <NUM>. <MAT> Thus, as shown in the grid <NUM>, Δ<NUM>*=-<NUM>.

The grid <NUM> represents the modified aggregated grayscale deltas for each scan line. The modified aggregated grayscale deltas for each scan line can be represented by ΣS*, where S is the scan line. For example, the modified aggregated grayscale delta for scan line <NUM> can be represented by Σ<NUM>*. The values ΣS* can be determined by summing the modified grayscale deltas for each pixel in each scan line, such that ΣS* can be determined by Equation <NUM>. <MAT> For example, the calculation of the aggregated grayscale delta for scan line <NUM>, Σ<NUM>*, is shown in Equation <NUM>. <MAT> Thus, as shown in the grid <NUM>, Σ<NUM>* = -<NUM>.

The scan line <NUM> has a modified aggregated grayscale delta magnitude of Σ<NUM> = - <NUM>. The magnitude of the modified aggregated grayscale delta for the scan line <NUM> is therefore <NUM>. Since <NUM><<NUM>, the magnitude of the modified aggregated grayscale delta for scan line <NUM> is less than the threshold T. This represents that the modified grayscale values in the selected data lines of the scan line <NUM> are closer in value to the grayscale values in the same data lines of the scan line <NUM>, compared to the grayscale values in <FIG>. The magnitude of the modified aggregated grayscale delta for scan line <NUM> is less than the threshold T even though not all of the image data for the pixels in the scan line <NUM> were modified. For example, the display system did not modify the image data G<NUM>, G<NUM>, or G<NUM>.

In the grid <NUM>, none of the aggregated grayscale delta magnitudes exceeds the threshold T. Thus, the display system has modified the image data for the flat screen display to increase gradation at the boundaries of the image, while reducing line crosstalk.

<FIG> illustrates example digital and displayed images using image data and using modified image data.

The digital image <NUM> includes a black region <NUM> and a white region <NUM>. The grayscale values of the white region <NUM> each have a high gray level, e.g., <NUM> for an <NUM>-bit grayscale image. The grayscale values in the black region <NUM> each have a low gray level, e.g., zero. The digital image <NUM> includes an abrupt grayscale change <NUM> in the left half of the image.

The displayed image <NUM> represents the digital image <NUM> displayed on a flat panel display. Due to parasitic capacitance between the data lines and other pixel circuit elements, the flat panel display may show unwanted horizontal lines along the pixel row line of the abrupt grayscale change <NUM>. For example, the displayed image <NUM> includes an unwanted line, or line crosstalk <NUM>, that extends across the entire image in the scan line direction.

The modified digital image <NUM> represents the digital image <NUM> after the display system has modified the image data to reduce line crosstalk. The modified digital image <NUM> includes a black region <NUM> and a white region <NUM>. The modified digital image <NUM> also includes a gradation <NUM> that replaces the abrupt grayscale change <NUM>. The gradation <NUM> is a region of the digital image with pixels that each have a grayscale value greater than the grayscale value of the pixels in the black region <NUM>, but less than the grayscale value of the pixels in the white region <NUM>. The gradation <NUM> is the result of modifying the image data for the pixels in the scan line at the abrupt grayscale change <NUM>. For example, the display system may have modified the image data by applying an algorithm that decreased the grayscale value for selected pixels to create the gradation <NUM>. The display system did not modify the image data for the data lines that did not include the abrupt grayscale change <NUM>, i.e., the data lines in the right half of the display.

The modified displayed image <NUM> represents the digital image <NUM> displayed on a flat panel display. The modified displayed image <NUM> includes a softened line <NUM> at the location of the gradation <NUM> of the modified digital image <NUM>. Since the display system only applied the algorithm to modify the image data in the data lines that included the abrupt grayscale change <NUM>, the modified displayed image <NUM> does not include the line crosstalk <NUM>. Thus, the display system has softened the abrupt grayscale change by introducing a gradation <NUM>, while reducing line crosstalk.

Embodiments of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a tangible non-transitory program carrier for execution by, or to control the operation of, data processing apparatus.

Computers suitable for the execution of a computer program include, by way of example, general or special purpose microprocessors or both, or any other kind of central processing unit. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a smart phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device, e.g., a universal serial bus (USB) flash drive, to name just a few.

To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., LCD (liquid crystal display), OLED (organic light emitting diode) or other monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer.

In some embodiments, a server transmits data, e.g., an HyperText Markup Language (HTML) page, to a user device, e.g., for purposes of displaying data to and receiving user input from a user interacting with the user device, which acts as a client. Data generated at the user device, e.g., a result of the user interaction, can be received from the user device at the server.

<FIG> is a block diagram of computing devices <NUM>, <NUM> that may be used to implement the systems and methods described in this document, as either a client or as a server or plurality of servers. Computing device <NUM> is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. Computing device <NUM> is intended to represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smartphones, smartwatches, head-worn devices, and other similar computing devices. The components shown here, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations described and/or claimed in this document.

The processor <NUM> can process instructions for execution within the computing device <NUM>, including instructions stored in the memory <NUM>. The processor may also include separate analog and digital processors.

The display <NUM> may be, for example, a TFT LCD display or an OLED display, or other appropriate display technology. The display interface <NUM> may include appropriate circuitry for driving the display <NUM> to present graphical and other information to a user. External interface <NUM> may provide, for example, for wired communication (e.g., via a docking procedure) or for wireless communication (e.g., via Bluetooth or other such technologies).

Expansion memory <NUM> may also be provided and connected to device <NUM> through expansion interface <NUM>, which may include, for example, a SIMM card interface. Thus, for example, expansion memory <NUM> may be provided as a security module for device <NUM>, and may be programmed with instructions that permit secure use of device <NUM>.

The memory may include for example, flash memory and/or MRAM memory, as discussed below. The information carrier is a computer- or machine-readable medium, such as the memory <NUM>, expansion memory <NUM>, or memory on processor <NUM>.

In addition, GPS receiver module <NUM> may provide additional wireless data to device <NUM>, which may be used as appropriate by applications running on device <NUM>.

Claim 1:
A method for displaying an image on a flat panel display comprising an array of pixels electrically addressable via a plurality of scan lines and a plurality of data lines, the scan lines being addressed sequentially in a scan direction, the method comprising:
(i) receiving, at a display driver module for the flat panel display, image data for displaying the image on the flat panel display, the image data comprising a grayscale value for each pixel;
(ii) determining a grayscale delta for each pixel from the grayscale values where, for a given pixel addressable by a first scan line of the scan lines and a first data line of the data lines, the grayscale delta is a variation between the grayscale value for the given pixel and the grayscale value for another pixel addressable by the first data line and addressable by a scan line to be addressed prior to the first scan line when displaying the image;
(iii) determining an aggregated grayscale delta for the first scan line by summing the grayscale deltas of each pixel addressable by the first scan line;
(iv) comparing a magnitude of the aggregated grayscale delta for the first scan line to a threshold value that results in line crosstalk;
(v) when the magnitude of the aggregated grayscale delta equals or exceeds the threshold value, generating modified image data by increasing or decreasing the grayscale value of one or more pixels addressable by the first scan line in order to reduce the magnitude of the aggregated grayscale delta for the first scan line, such that a magnitude of a modified aggregated grayscale delta for the first scan line is below the threshold value, , and when the magnitude of the aggregated grayscale delta does not equal or exceed the threshold value, not modifying the image data for the first scan line, and
(vi) displaying the image on the flat panel display using the image data obtained in step (v);
the method being characterized in that generating modified image data in step (v) comprises modifying only the image data for the one or more pixels addressable by the first scan line that each have a grayscale delta with the same sign as the aggregated delta for the first scan line.