Patent Description:
An electronic device of the related art may include a display and may visually provide a user with a variety of screens on the display. The electronic device may include a display and a display driver integrated circuit (DDI) for driving the display. The DDI loaded into the electronic device may receive display data from a processor to drive the display.

<CIT>, <CIT>, and <CIT> are concerned with preventing motion blur in videos.

<CIT> describes a method of compensating an image of a display device capable of preventing an image distortion caused by an image scroll by shifting image data for the pixels of the image by a shift amount, the shift amount being substantially proportional to the scroll speed and gradually increasing along the scanning direction.

Movement of displayed contents or screen movement may occur on a display of each of various electronic devices of the related art under control of a processor. Meanwhile, because the display implements a screen by sequentially providing gate signals to a plurality of gate lines, a data update time for each gate line may vary. Thus, when a screen moves on the display of the related art and when a direction where the screen is moved is not identical to a gate scan direction, there is a visual problem (e.g., smooth pursuit) in which arranged images or texts are not seen as being horizontally moved and are seen as being moved in an inclined state.

Accordingly, an aspect of the disclosure is to provide a method for compensating for screen movement of a display for naturally displaying screen movement by compensating for an image or text output state according to a movement speed when screen movement occurs on the display and an electronic device for supporting the same.

The following description with reference to accompanying drawings is provided to assist in a comprehensive understanding of various embodiments of the disclosure as defined by the claims.

<FIG> is a drawing illustrating some components of an electronic device for supporting compensation of screen movement according to an embodiment of the disclosure.

Referring to <FIG>, an electronic device <NUM> according to an embodiment may include a processor <NUM>, a display driver integrated circuit (IC) (DDI) <NUM>, and a display <NUM>.

The processor <NUM> (e.g., an application processor, a communication processor, a sensor hub, a touch screen panel (TSP) IC, or the like) may generate display data according to various embodiments and may provide the DDI <NUM> with the generated display data (e.g., data configuring a screen including at least one of an image or a text). For example, the processor <NUM> may encode or compress display data in a specified manner and may provide the DDI <NUM> with the encoded or compressed display data. For example, upon execution of screen movement, the processor <NUM> may process compensation (e.g., data transformation for a jelly scroll phenomenon) associated with the screen movement. In this regard, the processor <NUM> may include a display controller <NUM>, a compression encoder <NUM>, an internal transmit interface <NUM> (e.g., a mobile industry processor interface (MIPI) Tx), and a first serial interface <NUM>.

The display controller <NUM> may generate display data to be delivered to the DDI <NUM>, based on data delivered by a central processing unit/graphic processing unit (CPU/GPU).

The compression encoder <NUM> may encode display data, generated by the display controller <NUM>, in a specified manner (e.g., a display stream compression (DSC) scheme determined by the video electronics standards association (VESA)). As a result, the display data generated by the display controller <NUM> may be compressed to decrease in data size. For example, the display data generated by the display controller <NUM> may decrease in size to <NUM>/n by encoding of the compression encoder <NUM>. According to various embodiments, the compression encoder <NUM> may be omitted. In other words, the display data may be delivered to the DDI <NUM> without the compression process.

The internal transmit interface <NUM> may deliver the display data encoded by the compression encoder <NUM> to the DDI <NUM>. The internal transmit interface <NUM> may include a mobile industry processor interface (MIPI).

The processor <NUM> may perform data processing associated with compensating for screen movement. According to an embodiment, when display data is output, the processor <NUM> may determine whether a gate scan direction (a direction formed as scan signals are sequentially output from a gate driver) is identical to a screen movement direction (a direction where a screen is moved by a scroll operation). In this regard, the processor <NUM> may obtain at least one of configuration information about a content display direction (e.g., information configured to be output in a horizontal or vertical direction of the electronic device <NUM> when content is output, depending on a user setting, or information configured to change a content display direction depending on rotation of the electronic device <NUM>) and information about a direction where the electronic device <NUM> is located (e.g., sensor information of an acceleration sensor). The processor <NUM> may compare the gate scan direction with the screen movement direction based on the obtained information.

When the gate scan direction differs from the screen movement direction, the processor <NUM> may calculate a compensation value associated with compensating for screen movement, may apply the compensation value, and may deliver an image to which the compensation value is applied (e.g., to the DDI <NUM>). In this operation, the processor <NUM> may receive a touch input signal from a touch circuitry (not shown), may identify occurrence of an input (e.g., a scroll input) associated with screen movement, and may detect a movement speed (or a scroll speed) associated with the input associated with the screen movement.

According to an embodiment, when an operation of determining whether the gate scan direction and the screen movement direction are the same as each other and operations of detecting a screen movement speed, calculating a compensation value, and applying the compensation value, when the directions are not the same as each other, are designed to be performed by the DDI <NUM>, the processor <NUM> may deliver content display direction configuration information to the DDI <NUM>. According to an embodiment, the processor <NUM> may deliver sensor information associated with a state where the electronic device <NUM> is located, which is obtained by an acceleration sensor (not shown), to the DDI <NUM>. According to various embodiment, at least some of operations of detecting a screen movement speed, calculating a compensation value, and applying the compensation value may be designed to be performed by the processor <NUM> (e.g., the application processor), and at least the other of the operations may be designed to be performed by the DDI <NUM>.

According to various embodiments, a sensor hub (or a sensor control processor) associated with operating a sensor of the electronic device <NUM> is located in the electronic device <NUM>, and the electronic device <NUM> may include a signal line which is directly connected between the sensor hub and the DDI <NUM>. In this case, the function of delivering sensor information of the processor <NUM> may be omitted, and the sensor information may be delivered by the sensor hub. The information delivered by the sensor hub may include at least one of a touch input signal of the touch circuitry and sensor information associated with the state where the electronic device <NUM> is located.

The processor <NUM> may deliver a control signal to the DDI <NUM> via the first serial interface <NUM>. For example, the processor <NUM> may receive a touch input signal from the touch circuitry and may deliver the received touch input signal to the DDI <NUM> via the first serial interface <NUM>. According to various embodiments, the processor <NUM> may collect a sensor signal of at least one sensor (e.g., an acceleration sensor for sensing the state where the electronic device <NUM> is located) included in the electronic device <NUM> and may deliver the collected sensor signal to the DDI <NUM> via the first serial interface <NUM>. Alternatively, the processor <NUM> may deliver information, about a screen movement speed received from the touch circuitry, the state where the electronic device <NUM> is located, which is determined based on a sensor signal, or a gate scan direction, to the DDI <NUM> via the first serial interface <NUM>.

The DDI <NUM> may calculate and apply a color transform value of display data depending on settings and may output the display data to the display panel <NUM>. When the processor <NUM> is designed to perform compensation processing associated with operating screen movement and calculate and apply a compensation value, the DDI <NUM> may play a role in receiving display data to which the compensation value is applied according to screen movement from the processor <NUM> and outputting the display data to the display panel <NUM>. According to various embodiments, when the DDI <NUM> is designed to perform compensation processing associated with operating screen movement, it may detect a screen movement speed when receiving display data from the processor <NUM>, may generate compensated data in response to the detected screen movement speed, and may output the generated compensation data on the display <NUM>.

According to various embodiments, the DDI <NUM> may set a region of interest (ROI) prior to detecting a screen movement speed. Alternatively, the DDI <NUM> may compare a screen movement speed with a predefined compensation application range value to determine whether to generate compensate data. According to various embodiments, when the processor <NUM> also detects a screen movement speed and delivers a screen movement speed value to the DDI <NUM> in conjunction with compensating for screen movement, the DDI <NUM> may calculate a compensation value depending on the received screen movement speed value and may output display data to which the compensation value is applied.

The DDI <NUM> may include the internal receive interface <NUM> (e.g., the MIPI Rx), a MIPI display serial interface (DSI) <NUM>, an interface controller <NUM>, a second serial interface <NUM>, a command controller <NUM>, a first memory <NUM> (e.g., a graphic RAM (GRAM)), a memory controller <NUM> (e.g., a GRAM controller), a compression decoder <NUM>, a second memory <NUM> (e.g., a single port static RAM (SPSRAM)), a first internal processing module (IP1) <NUM>, a second internal processing module (IP2) <NUM>, a shift register <NUM>, a display timing controller <NUM>, and an internal oscillator <NUM>.

The internal receive interface <NUM> may communicate with the processor <NUM> to receive control information and display data from the processor <NUM>. The internal transmit interface <NUM> may include, for example, a MIPI receiver circuit. When receiving control information and display data via an internal transmit interface (a MIPI transmitter circuit) of the processor <NUM>, the internal receive interface <NUM> may deliver the control information and the display data to the interface controller <NUM> via the MIPI DSI <NUM>. The MIPI DSI <NUM> may be a component capable of being added when the internal receive interface <NUM> is designed to process data of a MIPI mode, which may be omitted or may be replaced with another component, when the internal transmit interface <NUM> and the internal receive interface <NUM> are changed.

The interface controller <NUM> may receive display data and/or control information from the processor <NUM>. The interface controller <NUM> may deliver the received display data to the memory controller <NUM>. The interface controller <NUM> may deliver the received control information to the command controller <NUM>. According to an embodiment, the interface controller <NUM> may receive sensor information via the second serial interface <NUM>. For example, the interface controller <NUM> may receive screen movement information collected by the touch circuitry or sensor information associated with the state where the electronic device <NUM> is located via the second serial interface <NUM> and may deliver the screen movement information and the sensor information to the command controller <NUM>.

The memory controller <NUM> may write the display data received from the interface controller <NUM> on the first memory <NUM>. For example, the memory controller <NUM> may write the display data on the first memory <NUM> depending on a frame rate of the display data delivered by the processor <NUM>.

The first memory <NUM> may include a GRAM. The first memory <NUM> may store display data delivered by the memory controller <NUM>. The stored display data may include display data in a state where it is compressed or is not compressed by the processor <NUM>. The first memory <NUM> may include a memory space corresponding to resolution of the display panel <NUM> and/or the number of color gradations of the display panel <NUM>. The first memory <NUM> may include a frame buffer, a line buffer, or the like. The first memory <NUM> may vary in the number of updates or in speed according to a type of an image output to the display panel <NUM>. For example, when a moving image is played, display data corresponding to a frame of the moving image may be written at a specified speed on the first memory <NUM>. For a image (e.g., still image), the first memory <NUM> may store a previous image until the image is updated. The display data stored in the first memory <NUM> may include a coordinate value to be displayed on each display region of the display <NUM>, or an order of the display data may correspond to coordinates to be displayed on the display <NUM>.

The command controller <NUM> may apply a color transform value corresponding to the display data stored in the first memory <NUM> to control the display timing controller <NUM> to output the display data on a specified region of the display panel <NUM>. The command controller <NUM> may be referred to as a control logic.

When at least a portion of display data read from the first memory <NUM> is encoded, the compression decoder <NUM> may decode the at least a portion of the display data in a specified manner and may deliver the decoded data to the display timing controller <NUM>. For example, when the size of the display data is compressed to <NUM>/n by the compression encoder <NUM> of the processor <NUM>, the compression decoder <NUM> may decompress the at least a portion of the display data to restore the display data to the display data before the compression. The first internal processing module <NUM> and the second internal processing modules <NUM> (e.g., an up-scaler and/or an image pre-processing unit) may be located between the compression decoder <NUM> and the display timing controller <NUM>. According to various embodiments, when the at least a portion of the display data selected by the command controller <NUM> is not encoded, the compression decoder <NUM> may be omitted or bypassed.

The first internal processing module <NUM> may perform data calculation and display data processing, which are associated with processing screen movement. For example, the first internal processing module <NUM> may obtain and store (e.g., in the second memory <NUM>) at least a portion (e.g., diagonal pixel information crossing some regions of a screen) of display data read from the first memory <NUM> and may detect a screen movement speed based on a change in the at least a portion of the display data. When the screen movement speed is detected, the first internal processing module <NUM> may calculate a compensation value to be applied to display data in conjunction with the screen movement speed and may generate compensation data by applying the calculated compensation value to each of the display data. The first internal processing module <NUM> may store the compensation data to which the compensation value is applied in the second memory <NUM> and may then deliver the compensation data to the second internal processing module <NUM>. According to various embodiments, the first internal processing module <NUM> may calculate an ROI based on the display data. For example, the first internal processing module <NUM> may detect a change in display data using the second memory <NUM> and may detect an ROI based on the change in display data. The first internal processing module <NUM> may detect a screen movement speed in the detected ROI and may calculate and apply a compensation value to be applied to the ROI. The first internal processing module <NUM> may be implemented as a software module capable of processing the above-mentioned compensation associated with the screen movement to be loaded or may be provided as a separate hardware processor capable of processing the compensation associated with the screen movement to be disposed in at least one of the inside and the outside of the DDI <NUM>.

The second internal processing module <NUM> may be implemented as a hardware processor capable of processing a function of a scaler or an image pre-processing unit or may be provided in the form of a software block to be loaded into the DDI <NUM>. The second internal processing module <NUM> may perform an up-scaler function of scaling up the decompressed image at a specified magnification. According to an embodiment, when it is necessary to scale up display data depending on a size of the display data to be output on the display panel <NUM> or depending on a user setting, the second internal processing module <NUM> may scale up the display data. The scaled-up display data may be delivered to the display timing controller <NUM>. When at least a portion of the display data is not required to be scaled up, the up-scaler function of the second internal processing module <NUM> may be omitted or bypassed. The second internal processing module <NUM> may perform a function of a pre-processing unit for enhancing image quality of display data. The second internal processing module <NUM> may include, for example, a pixel data processing circuit, a pre-processing circuit, a gating circuitry, and the like.

The display timing controller <NUM> may control timings of components included in the DDI <NUM>. For example, the display timing controller <NUM> may adjust a timing for storing display data received from the processor <NUM> in the first memory <NUM> and a timing for reading display data stored in the first memory <NUM> not to be overlapped with each other. The display timing controller <NUM> may control a timing for reading display data stored in the first memory <NUM> at a specified frame rate in response to control of the command controller <NUM> and delivering the display data to the compression decoder <NUM>, the first internal processing module <NUM>, and the second internal processing module <NUM>.

The display timing controller <NUM> may deliver display data, received from the second internal processing module <NUM>, to a source driver <NUM> in response to control of the command controller <NUM> and may control to output a gate signal of a gate driver <NUM>. According to an embodiment, the display timing controller <NUM> may be implemented to be included in the command controller <NUM>. The display timing controller <NUM> may convert display data received from the first memory <NUM> or the second memory <NUM> via the second internal processing module <NUM> into an image signal and may provide the image signal to the source driver <NUM> and the gate driver <NUM> of the display panel <NUM>.

The shift register <NUM> may receive the data processed by the second internal processing module <NUM> and may deliver the received data to the source driver <NUM> under control of the display timing controller <NUM>. The internal oscillator <NUM> may generate a timing signal necessary to operate the display timing controller <NUM> and may deliver the generated timing signal to the display timing controller <NUM>.

The display <NUM> may include the source driver <NUM>, the gate driver <NUM>, and the display panel <NUM>. In addition, the display <NUM> may further include a touch panel and a touch IC associated with a user input, a pressure sensor and a pressure sensor IC, a digitizer, or the like.

The display panel <NUM> may display a variety of information (e.g., information including at least one of multimedia data or text data) to a user. The display panel <NUM> may include, for example, a liquid-crystal display (LCD) panel, an active-matrix organic light-emitting diode (AM-OLED) panel, or the like. The display panel <NUM> may be implemented to be, for example, flexible, transparent, or wearable. Furthermore, the display panel <NUM> may be included in, for example, a cover of a case electrically combined with the electronic device <NUM>.

The display panel <NUM> may receive an image signal corresponding to display data from the DDI <NUM> and may display a screen according to the display data. A plurality of data lines and a plurality of gate lines may intersect each other on the display panel <NUM>, and a plurality of pixels may be disposed in the intersecting region. When the display panel <NUM> corresponds to an OLED panel, each of the plurality of pixels may include at least one or more switching elements (e.g., FETs) and one OLED. Each pixel may receive an image signal or the like from the DDI <NUM> at a certain timing to generate light. The display panel <NUM> may have, for example, specific resolution (e.g., resolution of <NUM> (horizontal) x <NUM> (vertical)).

Each of the source driver <NUM> and the gate driver <NUM> may generate signals provided to a scan line and a data line of the display panel <NUM>, which are not shown, based on a source control signal and a gate control signal received from the display timing controller <NUM>.

<FIG> is a flowchart illustrating an example of a method for compensating for screen movement of a display according to an embodiment of the disclosure.

Referring to <FIG>, in the method for compensating for screen movement according to an embodiment, in operation <NUM>, a processor <NUM> (or at least one of an AP and a DDI <NUM>) of an electronic device <NUM> of <FIG> may turn on a display <NUM> of <FIG> depending on a user input or a predetermined system setting. After the display <NUM> is turned on, the processor <NUM> may control to process various predetermined functions. For example, the display <NUM> may output an idle screen, may output a specific webpage depending on a user input, or may output a picture search screen including a plurality of thumbnail images depending on execution of a gallery function. Alternatively, the display <NUM> may output a screen, at least a portion of which is composed of text. According to various embodiments, the display <NUM> may output a screen including a plurality of divided screens, each of which includes different information, or may overlap or overlay and display a window (e.g., a video pop-up window or a notification pop-up window), which displays second information with a screen (e.g., a screen including at least some texts) where first information is displayed in the background, on the screen where the first information is displayed.

When the input associated with the screen movement is received, in operation <NUM>, the processor <NUM> (or at least one of an AP and a DDI <NUM>) may determine whether a gate scan direction and a scroll direction of the display <NUM> are the same as each other. In conjunction with the input associated with the screen movement, the electronic device <NUM> may include a touch circuitry composed of a touch screen (or a touch panel) and a touch IC for driving the touch screen (or the touch panel). When receiving the input associated with the screen movement through the touch screen, the processor <NUM> may identify a direction of the screen movement and may compare the screen movement direction with the gate scan direction. In this regard, the processor <NUM> may identify at least one of configuration information about a content display direction (e.g., configuration information to be displayed in a horizontal or vertical direction when content is displayed or configuration information to change the content display direction to the horizontal or vertical direction depending on a direction where the electronic device <NUM> is located) and a state where the electronic device <NUM> is located.

In conjunction with identifying the state where the electronic device <NUM> is located, the processor <NUM> may identify whether there is a setting for being displayed in only the horizontal direction when content is displayed or there is a setting for being displayed in only the vertical direction when the content is displayed. Alternatively, the processor <NUM> of the electronic device <NUM> may determine whether a change in horizontal or vertical display according to the direction where the electronic device <NUM> is located is set. When a content display direction is set to be changed according to an arrangement direction, the processor <NUM> of the electronic device <NUM> may obtain sensor information and may identify a state where the electronic device <NUM> is located. In this regard, the electronic device <NUM> may include a gyro sensor or an acceleration sensor and may identify a gate scan direction based on collected sensor information.

The gate scan direction may be a direction where gate signals are sequentially input to a plurality of gate signal lines constituting the display <NUM>. Because a state where the gate signal lines of the display <NUM> are arranged is fixed, when content display is set to change in a horizontal or vertical direction according to a change in arrangement of the electronic device <NUM>, the gate scan direction may be determined according to a state where the electronic device <NUM> is located. For example, the gate scan direction may be determined from the left to the right, from the right to the left, from the top to the bottom, or from the bottom to the top, according to a direction where the electronic device <NUM> is disposed.

When the gate scan direction is not the same as the scroll direction, in operation <NUM>, the processor <NUM> (e.g., at least one of an AP or the DDI <NUM> of the electronic device <NUM>) may collect a screen movement speed. In this regard, the processor <NUM> may detect a pixel change according to movement of a screen output on the display <NUM> and may calculate a screen movement speed depending on the pixel change. According to various embodiments, the processor <NUM> may calculate a scroll speed using touch coordinates transmitted from the touch circuitry. Alternatively, the processor <NUM> may detect a change in a partial region of a screen output on the display <NUM> and may calculate a screen movement speed according to the detected change. According to various embodiments, the processor <NUM> may collect a screen movement speed from the touch circuitry which provides the input associated with the screen movement. The screen movement speed may include, for example, a pixel change rate per frame. When the gate scan direction is the same as the scroll direction, in operation <NUM>, the processor <NUM> may output data stored in a frame buffer on the display <NUM> without separate compensation associated with the screen movement.

In operation <NUM>, the processor <NUM> (e.g., at least one of the AP or the DDI <NUM> of the electronic device <NUM>) may calculate a compensation value (or the amount of screen tilt compensation) to be applied to display data to be output according to a screen movement speed. In this operation, the processor <NUM> may vary a level of the compensation value (or the amount of compensation) depending on the screen movement speed. According to an embodiment, the processor <NUM> may calculate a compensation value where the number of equal parts dividing the display <NUM> is increased as the screen movement speed is increased. According to an embodiment, the processor <NUM> may calculate a compensation value where the number of equal parts dividing the display <NUM> is decreased as the screen movement speed is decreased. According to various embodiments, the processor <NUM> may vary a size of a region for changing data, on each of screen regions equally divided according to a screen movement speed. For example, the processor <NUM> may equally divide a screen into several columns in a first direction (e.g., a horizontal direction) depending to a screen movement speed. The processor <NUM> may divide a screen region equally divided into each column into a plurality of regions in a second direction (e.g., a horizontal direction) and may determine a region to change data. According to various embodiments, when the screen movement speed is included in a specified first interval (or a first time range), the processor <NUM> (or the DDI <NUM>) may determine the amount of screen tilt compensation according to the screen movement based on the screen movement speed (the amount of compensating for a state where at least a portion of the screen is inclined to be horizontally seen). Alternatively, when the screen movement speed is included in a second interval (or a second time range) faster than the first interval, the processor <NUM> (or the DDI <NUM>) may set the amount of screen tilt compensation based on the screen movement speed to be kept constant.

In operation <NUM>, the processor <NUM> (e.g., at least one of the AP or the DDI <NUM> of the electronic device <NUM>) may apply compensation for each equally divided region to display data to be output. According to an embodiment, with respect to respective regions of a screen equally divided to include a plurality of columns, the processor <NUM> may vertically divide each of the regions into three regions, may add data to the first region (e.g., a data copy region), may maintain original data on the second region (e.g., a data shift region) to move a location of the original data, and may remove data from the third region (e.g., a data truncation region) to generate compensation data for screen movement. In this operation, the processor <NUM> may assign a first region or a third region of sub-regions of the display <NUM>, which are adjacent to a region to which a gate signal is relatively first input among equally divided regions to be larger (or smaller) in size than a first region or a third region of sub-regions to which the gate signal is input relatively later. According to various embodiments, as going from a sub-region adjacent to a region to which a gate signal is relatively first input among equally divided regions to sub-regions being away from the region, the processor <NUM> may generate compensation data where a first region (or a third region) of the respective sub-regions is assigned to be gradually larger (or smaller) in size. According to various embodiments, as going from a sub-region adjacent to a region to which a gate signal is relatively first input among equally divided regions to sub-regions being away from the region, the processor <NUM> may gradually increase the amount of additional data to be added to a data copy region of the respective sub-regions (or remove data by the same amount as added data increases). According to various embodiments, as going from a sub-region adjacent to a region to which a gate signal is relatively first input among equally divided regions to sub-regions being away from the region, processor <NUM> may gradually increase the amount of candidate data to be removed from a data truncation region of the respective sub-regions. According to various embodiments, when the amount of screen tilt compensation based on a screen movement speed is kept constant, the processor <NUM> (or the DDI <NUM>) may set the amount of compensation (or the amount of screen tilt compensation) to <NUM> or a specific value (e.g., a pixel/frame of a specific speed). According to various embodiments, when the screen movement speed is included in a third interval (or a third time range) faster than the second interval, the processor <NUM> (or the DDI <NUM>) may set the amount of screen tilt compensation according to the screen movement based on the screen movement speed to <NUM>. Alternatively, when the screen movement speed is included in an interval relatively slower than the first interval, the processor <NUM> (or the DDI <NUM>) may set the amount of screen tilt compensation according to the screen movement based on the screen movement speed to <NUM>.

According to various embodiments, when determining the amount of screen tilt compensation according to the screen movement based on the screen movement speed, the processor <NUM> (or the DDI <NUM>) may change the amount of compensation according to the screen movement speed in a linear or non-linear manner. The non-linear change may include, for example, a stepwise change, a change in exponential function or logarithmic function, or the like.

In operation <NUM>, the processor <NUM> (e.g., at least one of the AP or the DDI <NUM> of the electronic device <NUM>) may output display data to which compensation for each equally divided region is applied on the display <NUM>. While the screen is moved in a scree movement direction, at least a portion of the screen may be output to be seen as being horizontally moved without being tilted, as display data to which compensation is applied is output.

In operation <NUM>, the processor <NUM> (at least one of the AP or the DDI <NUM>) may determine whether an input signal associated with ending the screen output is received. When there is no input signal associated with ending the screen output, the processor <NUM> may branch to operation <NUM> to perform the operation from operation <NUM> again.

In the above-mentioned description, at least one of the operation of determining whether the gate scan direction is the same as the screen movement direction, the operation of detecting a screen movement speed when the directions are not the same as each other, the operation of calculating a compensation value, or the operation of generating data (e.g., display data) to which the compensation value is applied may be performed by the processor <NUM> or the DDI <NUM>. For example, the processor <NUM> may perform all of the operation of determining whether the gate scan direction is the same as the screen movement direction, the operation of detecting the screen movement speed when the directions are not the same as each other, the operation of calculating the compensation value, or the operation of generating data (e.g., display data) to which the compensation value is applied. In this case, the DDI <NUM> may receive the display data to which the compensation value is applied and may output the display data on the display panel <NUM>.

According to various embodiments, the processor <NUM> may perform only the operation of determining whether the gate scan direction is the same as the screen movement direction and the operation of detecting a screen movement speed when the directions are not the same as each other. In this case, the DDI <NUM> may calculate a compensation value according to a screen movement speed, may generate display data to which the compensation value is applied, and may output the display data.

According to various embodiments, the processor <NUM> may perform only the operation of determining whether the gate scan direction is the same as the screen movement direction, the operation of detecting a screen movement speed when the directions are not the same as each other, and the operation of calculating a compensation value. In this case, the DDI <NUM> may receive the calculated compensation value and may generate and output compensation data according to the compensation value.

<FIG> is a flowchart illustrating another example of a method for compensating for screen movement of a display according to an embodiment of the disclosure.

Referring to <FIG>, in the method for compensating for screen movement according to an embodiment, in operation <NUM>, a processor <NUM> (or at least one of an AP and a DDI <NUM>) of an electronic device <NUM> of <FIG> may turn on a display <NUM> of <FIG> depending on a user input or predetermined information. Performing the function according to the turn-on of the display <NUM> may be the same as or similar to operation <NUM> described above.

When an input associated with screen movement is received, in operation <NUM>, the processor <NUM> (or at least one of an AP and a DDI <NUM>) determines whether a gate scan direction and a scroll direction of the display <NUM> are the same as each other. In conjunction with the input associated with the screen movement, as described above, the processor <NUM> may receive the input associated with the screen movement from a touch circuitry included in the electronic device <NUM>. The processor <NUM> compares a scan direction where a signal is provided to gate lines with the screen movement direction.

When the gate scan direction and the scroll direction are not the same as each other, in operation <NUM>, the processor <NUM> (or the DDI <NUM>) may set an ROI. In conjunction with setting the ROI, the processor <NUM> may identify the ROI according to the user input. According to various embodiments, the processor <NUM> may detect a screen change from a screen which is currently outputting on the display <NUM> and may set a region, where the detected screen change rate is greater than or equal to a specified value, as the ROI. Alternatively, the processor <NUM> may identify configuration information of the screen which is currently outputting (e.g., configuration information defining whether each region of a webpage is any region) and may set a specified partial region of the screen as the ROI based on the screen configuration information. According to various embodiments, the operation of setting the ROI may be omitted.

In operation <NUM>, the processor <NUM> (e.g., at least one of the AP or the DDI <NUM> of the electronic device <NUM>) collects a screen movement speed. When the ROI is set in operation <NUM>, in operation <NUM>, the processor <NUM> (e.g., at least one of the AP or the DDI <NUM>) may collect the screen movement speed in the ROI. For example, the processor <NUM> may detect changes in locations of at least some pixels of the ROI and may collect a screen movement speed based on the detected changes. According to various embodiments, the processor <NUM> may perform the calculation of the screen change rate and the calculation of the screen movement speed in the same manner or in a similar manner. Alternatively, the processor <NUM> may use the result of calculating the screen change rate as the screen movement speed. According to various embodiments, the processor <NUM> may perform the operation of calculating the screen change rate and the operation of calculating the screen movement speed in any order. For example, after calculating the screen movement speed, the processor <NUM> may apply the screen change rate for detecting (or setting) an ROI (e.g., set a region where the screen change rate is greater than or equal to a certain rate to the ROI). In this operation, the processor <NUM> may use the result of calculating the screen movement speed to set the ROI. Alternatively, after setting the ROI by detecting the region where the screen change rate is greater than or equal to the certain rate, the processor <NUM> may calculate the screen movement speed for the set ROI. When operation <NUM> is omitted, the processor <NUM> may detect changes in pixels of at least some regions of the screen and may calculate a screen movement speed like operation <NUM> of <FIG>. According to various embodiments, in conjunction with calculating the screen movement speed, the processor <NUM> may calculate the screen movement speed based on at least one of a drag speed, a fling speed, or a scroll speed of a user input. Alternatively, the processor <NUM> may calculate the screen movement speed based on a change in user touch input.

In operation <NUM>, the processor <NUM> (e.g., at least one of the AP or the DDI <NUM> of the electronic device <NUM>) determines whether the calculated screen movement speed is within a compensation application range. A limit value for determining whether the screen movement speed is within the compensation application range may be determined by various statistics or experiments. For example, the limit value for the compensation application range may be set to a limit value where it is possible for eyes of a user to feel changes while tracking screen changes. The electronic device <NUM> may store and operate the limit value for the compensation application range in a separate memory or in a first memory <NUM> or a second memory <NUM> of the DDI <NUM>. When the screen movement speed departs from the compensation application range, for example, when a degree of change according to screen movement on the screen is quick enough not to be recognized by eyes of the user or when a screen change by a scroll operation is slower than a gate scan speed, the processor <NUM> may omit operations below and may branch to operation <NUM> to output display data stored in a frame buffer (or the first memory <NUM>).

When the screen movement speed is within the compensation application range, in operation <NUM>, the processor <NUM> (e.g., at least one of the AP or the DDI <NUM> of the electronic device <NUM>) calculates a compensation value of display data to be output according to the screen movement speed. According to an embodiment, when the detected screen movement speed is quicker than a specified first screen movement speed and is slower than a specified second screen movement speed (e.g., when the detected screen movement speed is greater than or equal to the first screen movement speed and is less than the second screen movement speed), the processor <NUM> increases a compensation value in a linear manner depending on the screen movement speed. For example, like operation <NUM> describe above, the processor <NUM> may differently adjust the number of equal parts of the display <NUM> depending on the screen movement speed, may calculate a compensation value to differently have a rate of increase of the number of a certain amount of data to be applied to a data copy region or a rate of increase of the number of candidate data (or removal data) to be removed from a data truncation region on equally divided regions, or may calculate a compensation value to differently adjust a size of the data copy region or the data truncation region (e.g., the number of pixel lines).

According to various embodiments, when the ROI is set, the processor <NUM> (e.g., at least one of the AP or the DDI <NUM>) may calculate a compensation value of display data according to a screen movement speed, with respect to the ROI. When the detected screen movement speed is greater than or equal to the second screen movement speed, the processor <NUM> may calculated a fixed compensation value.

In operation <NUM>, the processor <NUM> (e.g., at least one of the AP or the DDI <NUM> of the electronic device <NUM>) applies a compensation value for each region to display data to be output. For example, like operation <NUM> above of <FIG>, the processor <NUM> may equally divide the screen into a certain number of columns according to a compensation value in a first direction and may add data to some regions or may delete data from the other regions in a second direction (e.g., a direction perpendicular to the first direction) with respect to the equally divided respective columns to generate compensation data. In this operation, when the ROI is set, the processor <NUM> may fix a region around the ROI and may process a screen update where the compensation value is applied to only the ROI.

In operation <NUM>, the processor <NUM> (e.g., at least one of the AP or the DDI <NUM> of the electronic device <NUM>) may output display data, to which the compensation value for each region is applied, on the display <NUM>. Thereafter, in operation <NUM>, the processor <NUM> may determine whether an input signal associated with ending the screen output is received. When there is no input signal associated with ending the screen output, the processor <NUM> may branch to operation <NUM> to perform the operation from operation <NUM> again.

<FIG> is a drawing illustrating display settings associated with detecting a screen movement speed according to an embodiment of the disclosure. <FIG> is a drawing illustrating an example of a method for detecting a screen movement speed according to an embodiment of the disclosure.

Referring to <FIG> and <FIG>, a display <NUM> may include a display panel <NUM>, a gate driver <NUM>, and a source driver <NUM>. As described above, the display panel <NUM> may include gate signal lines (e.g., H: <NUM>) connected with the gate driver <NUM> and source signal lines (e.g., V: <NUM>) connected with the source driver <NUM>. A DDI <NUM> (or the processor <NUM>) of the electronic device <NUM> may detect a change in at least a portion of data (or display data, a screen, or an image) output on the display panel <NUM> to detect a screen movement speed. For example, as shown, the DDI <NUM> may detect a change in information of pixels located on a diagonal of at least a portion of the display panel <NUM> to detect a screen movement speed.

Because a probability that diagonal pixels will be changed is higher than a probability that specific horizontal line pixels will be changed or that specific vertical line pixels will be changed while a screen is changed according to screen movement, the DDI <NUM> may set a diagonal for at least a portion of the display panel <NUM>. The DDI <NUM> may store and compare pixel information of each diagonal on a frame-by-frame basis. Alternatively, the DDI <NUM> may obtain diagonal pixel information items from a frame at a time when an input associated with screen movement occurs. When a screen is moved according to the input associated with the screen movement, the DDI <NUM> may detect movement of diagonal pixels and may calculate a movement distance according to the input associated with the screen movement to determine a screen movement speed.

In conjunction with setting the diagonal, the DDI <NUM> may set a central region (e.g., source lines <NUM> to <NUM> and gate lines <NUM> to <NUM>), except for upper some regions (e.g., source lines <NUM> to <NUM>) and lower some regions (e.g., lines <NUM> to <NUM>) of the display panel <NUM>, and may set a diagonal connecting vertices of the central region.

In conjunction with setting the central region, for a webpage, statistically, the upper some regions and the lower some regions may be fixed (may frequently be fixed) in information and may be regions (or may frequently be composed of regions) set not to be scrolled although there is an input associated with screen movement. Thus, when a corresponding region is excluded from a diagonal setting region associated with detecting screen movement speed, diagonals may be reduced in length. As a result, the operation of detecting the screen movement speed may be enhanced by reducing the amount of data to be compared and searched for.

According to an embodiment, in state <NUM>, the DDI <NUM> may set a diagonal connecting left upper point coordinates (<NUM>, <NUM>) of the display panel <NUM> with right lower point coordinates (<NUM>, <NUM>) of the display panel <NUM>. The DDI <NUM> may compare pixel information items while alternating the upper side and the lower side on the basis of the set diagonal. For example, the DDI <NUM> may compare information of pixels of a diagonal connecting point coordinates ( <NUM>, <NUM>), which is higher by one pixel to the upper side than a diagonal connecting left upper point coordinates (<NUM>, <NUM>) with right lower point coordinates (<NUM>, <NUM>), with coordinates (<NUM>, <NUM>), with information of pixels of a diagonal initially set, and may compare information of pixels of a diagonal connecting coordinates (<NUM>, <NUM>) with coordinates (<NUM>, <NUM>) with the information of the pixels of the diagonal initially set (e.g., initial configuration information of pixels of the diagonal connecting the first coordinates (<NUM>, <NUM>) with the second coordinates (<NUM>, <NUM>)). As described above, the DDI <NUM> may compare pixel information items of a diagonal at a certain pixel distance to an upper side than the diagonal initially set. When the pixel information items are not identical to each other, the DDI <NUM> may compare pixel information items of a diagonal at a certain pixel distance to a lower side than the diagonal initially set and may gradually compare pixel information items of a diagonal, which is away from the diagonal initially set, to detect a diagonal having the same pixel information as information of pixels of the diagonal initially set.

According to various embodiments, when a minimum movement range is set, the DDI <NUM> may compare pixel information items from a location spaced apart at a specified distance. For example, when the screen movement speed is set to a minimum of <NUM> pixels/frame, the DDI <NUM> may compare pixel information of a diagonal located over <NUM> lines (or <NUM> pixels) from an initial diagonal location to an upper side and diagonals located over <NUM> lines from the initial diagonal location to a lower side with pixel information of an initial diagonal. According to various embodiments, when a maximum movement range is set, the DDI <NUM> may compare pixel information items to a specified distance. For example, when the screen movement speed is set to a minimum of <NUM> pixels/frame, the DDI <NUM> may compare pixel information items from diagonals located within <NUM> lines (or <NUM> pixels) from the initial diagonal location to the upper side to diagonals located within <NUM> lines from the initial diagonal location to the lower side.

According to an embodiment, when the screen is moved to an upper side by <NUM> lines (or on the same line by <NUM> pixels) by a scroll operation, in state <NUM>, as the pixel information items of the diagonal set in state <NUM> are identical to pixel information items of a diagonal connecting left upper point coordinates (<NUM>, <NUM>) with right lower point coordinates (<NUM>, <NUM>), the DDI <NUM> may detect movement of the diagonal through comparison of pixel information items and may detect a screen movement speed based on the detected result. For the example above, the screen movement speed may be <NUM> pixels/frame. For another example, when the screen is moved to a lower side by <NUM> lines depending on an input associated with screen movement, during the process of comparing the pixel information items of the diagonal set in state <NUM> with pixel information items of diagonals around the diagonal, in state <NUM>, the DDI <NUM> may identify that pixel information items of a diagonal connecting left upper point coordinates (<NUM>, <NUM>) with right lower point coordinates (<NUM>, <NUM>) are identical to each other and may calculate the amount of movement (or a scroll speed) of the screen. For example, in state <NUM>, a screen movement speed of <NUM> pixels/frame may be detected.

<FIG> is a drawing illustrating another example of a method for detecting a screen movement speed according to an embodiment of the disclosure.

Referring to <FIG>, in state <NUM>, a DDI <NUM> of <FIG> may set an initial diagonal connecting first point coordinates (<NUM>, <NUM>) with second point coordinates (<NUM>, <NUM>) and may compare pixel information items of diagonals located within a certain distance to the upper side and diagonals located within a certain distance to the lower side with pixel information items of the initial diagonal to detect a diagonal having the same pixel information. In this operation, the DDI <NUM> may compare some of pixel information items of the detected specific diagonals with some of pixel information items of the initial diagonal to determine whether the pixel information items are identical to each other. When pixel information items on the same line (e.g., at the same location in a vertical direction) are identical to each other, the DDI <NUM> may determine whether pixel information items of other portions are identical to each other. When the pixel information items on the same line differ from each other, the DDI <NUM> may not compare pixel information items of the other portions of the diagonal to skip the diagonal. The DDI <NUM> may enhance a diagonal detection speed by comparing some of diagonal pixel information items and skipping the other portions. For example, when the screen is moved to the upper side by <NUM> lines according to an input associated with screen movement, in state <NUM>, the DDI <NUM> may detect a diagonal while skipping a diagonal having pixel information is not the same as the initial diagonal, until detecting a diagonal connecting point (<NUM>, <NUM>) with point (<NUM>, <NUM>).

According to various embodiments, the DDI <NUM> may detect a diagonal including the most pixel information items which are the same as pixel information items of the initial diagonal among diagonals within a specified range as a result of comparing the pixel information items of the initial diagonal with pixel information items of other diagonals adjacent to the initial diagonal. According to various embodiments, the DDI <NUM> may detect a diagonal through a pattern comparison. For example, the DDI <NUM> may detect a diagonal having the same pattern as a pattern of the pixel information items of the initial diagonal. According to various embodiments, the DDI <NUM> may detect a diagonal having the most similar pattern to a pattern of the pixel information items of the initial diagonal. In conjunction with performing the above-mentioned operation, when having the same pixel information as the pixel information of the initial diagonal in the process of comparing pixels, the DDI <NUM> may increase a count as a result of having the same pixel information, as a result, detecting a screen movement speed on the basis of a diagonal where the increased count value is highest. According to various embodiments, the DDI <NUM> may detect a diagonal while skipping a specified pixel based on input speed (e.g., fling velocity, scroll speed, or touch input change speed) information. Alternatively, the DDI <NUM> may select only some pixels among diagonal pixel information items and may detect a diagonal and a screen movement speed using only the selected some pixels. According to an embodiment, when the input speed is a specified first speed (or is greater than or equal to the specified first speed), the DDI <NUM> may increase the number of skipped pixels. According to an embodiment, after skipping specified pixels, the DDI <NUM> may detect a diagonal on a pixel-by-pixel basis.

<FIG> is a drawing illustrating an example of modifying a method for detecting a screen movement speed according to an embodiment of the disclosure.

Referring to <FIG>, a DDI <NUM> of <FIG> may set a plurality of diagonals in conjunction with detecting a screen movement speed and may detect the screen movement speed on the basis of the plurality of diagonals. For example, in state <NUM>, the DDI <NUM> may set a first diagonal connecting point (<NUM>, <NUM>) with point (<NUM>, <NUM>) and a second diagonal connecting point (<NUM>, <NUM>) with point (<NUM>, <NUM>) as initial diagonals in a frame N-<NUM>. When within a certain distance to the upper and lower sides on the basis of the first diagonal, the DDI <NUM> may compare pixel information items of other diagonals parallel to the first diagonal with pixel information items of the first diagonal and may detect a diagonal having pixel information items identical to the pixel information items of the first diagonal or a diagonal having the most pixel information items identical to the pixel information items of the first diagonal. In addition, in a subsequent frame N of a state <NUM>, the DDI <NUM> may detect a diagonal having the same pixel information in the same manner as the first diagonal with respect to the second diagonal. The DDI <NUM> may detect a screen movement speed using a diagonal detected on the basis of the detected first diagonal and a diagonal detected on the basis of the second diagonal. According to various embodiments, the DDI <NUM> may set three or more initial diagonals. According to various embodiments, as described above, pixels for detecting the screen movement speed may be pixels corresponding to a diagonal and may be pixels which are present on any line horizontally across a screen. At least a portion of the any line horizontally across the screen may include at least a portion of a straight line and a curve. Alternatively, the any line horizontally across the screen may include a line in a partial region of the screen (e.g., a partial region which is smaller in size than the entire screen).

<FIG> is a drawing illustrating another example of modifying a method for detecting a screen movement speed according to an embodiment of the disclosure.

Referring to <FIG>, in a frame N-<NUM> of a state <NUM>, a DDI <NUM> of <FIG> may set a plurality of initial diagonals in conjunction with detecting a screen movement speed, which may set initial diagonals covering regions which are overlapped with each other and may detect the screen movement speed on the basis of the initial diagonals. For example, the DDI <NUM> may set a first diagonal connecting point (<NUM>, <NUM>) with point (<NUM>, <NUM>) and a second diagonal connecting point (<NUM>, <NUM>) with point (<NUM>, <NUM>) as initial diagonals. When within a certain distance to the upper and lower sides on the basis of the first diagonal, in a subsequent frame N of a state <NUM> the DDI <NUM> may compare pixel information items of other diagonals parallel to the first diagonal with pixel information of the first diagonal and may detect a diagonal having the same pixel information as a plurality of pixels corresponding to the first diagonal or a diagonal having the most same pixels. In addition, the DDI <NUM> may detect a diagonal having the same pixel information or a diagonal having the most same pixel information items, in the same manner as the first diagonal with respect to the second diagonal.

<FIG> is a drawing illustrating an example of a hardware operation method associated with detecting a screen movement speed according to an embodiment of the disclosure.

Referring to <FIG>, an electronic device <NUM> may operate a touch circuitry <NUM>, a touch driver <NUM>, an input framework <NUM>, a DD1 <NUM>, a display processor <NUM> (e.g., a processor <NUM> of <FIG>), a frame buffer <NUM>, a composer <NUM>, or an app layer <NUM>.

In the electronic device <NUM> having the above-mentioned configuration, when an input associated with screen movement is received via the touch circuitry <NUM>, the touch driver <NUM> may process the input associated with the screen movement, which is received by the touch circuitry <NUM>, and may detect a screen movement speed according to the input associated with the screen movement. For example, the touch driver <NUM> may detect a screen movement speed based on a touch movement distance delivered from the touch circuitry <NUM>. The screen movement speed may be delivered to the DDI <NUM> via the input framework <NUM>. The DDI <NUM> may calculate a compensation value to apply compensation based on the delivered screen movement speed.

According to various embodiments, the input framework <NUM> may deliver a screen movement speed value to the composer <NUM>, and the composer <NUM> may determine a degree to which display data is compensated, depending on the screen movement speed. When the degree to which the display data is compensated is determined, the composer <NUM> may transform display data stored in the frame buffer <NUM> to fit the determined compensation value and may output compensation data on the display <NUM> via the display processor <NUM> and the DDI <NUM>.

As described above, the electronic device <NUM> according to an embodiment may directly calculate a screen movement speed based on touch information obtained by the touch circuitry <NUM>, such that the DDI <NUM> does not calculate the screen movement speed, and may provide the DDI <NUM> with the screen movement speed, or may be used to generate compensation data for compensating for screen movement of display data to be output.

As described above, in conjunction with detecting the screen movement speed, according to an embodiment, the processor <NUM> (or an AP) may detect the screen movement speed and may deliver the screen movement speed to the DDI <NUM>. According to various embodiments, the DDI <NUM> may detect a screen movement speed based on a screen change in the method described above with reference to <FIG>. According to various embodiments, the touch circuitry <NUM> of the electronic device <NUM> may directly deliver a screen movement speed to the DDI <NUM>. In this regard, a signal line may be disposed between the touch circuitry <NUM> and the DDI <NUM>. According to various embodiments, the input framework <NUM> may directly deliver information (e.g., screen movement speed information, a fling input speed, or a touch input speed) associated with screen movement to the DDI <NUM>. Alternatively, the input framework <NUM> may deliver information (e.g., screen movement speed information) associated with screen movement to the composer <NUM> associated with the processor <NUM> and the DDI <NUM> together or at the same time.

<FIG> is a drawing illustrating an example associated with setting an ROI according to an embodiment of the disclosure.

Referring to <FIG>, in conjunction with setting an ROI, a DDI <NUM> (or a processor <NUM>) of <FIG> may identify a characteristic value for each region of data (or display data, a screen, or an image) to be output on a display <NUM> of <FIG>. The characteristic value may be provided by a server or a manufacturer, which provides the screen (or an image or a page). The characteristic value may include for example, a value (e.g., a value defining a characteristic for each region of the screen) where any regions of the screen indicate a region <NUM> where a notification bar is displayed, a region <NUM> where an address is entered, a menu region <NUM> associated with a webpage, a region <NUM> where data is updated, a control key region <NUM>, and a region <NUM> where navigation keys capable of searching for another page are located. According to various embodiments, the characteristic value may include a value defining a scrollable region (e.g., a region <NUM>) and non-scrollable regions (e.g., regions <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>). Thus, the DDI <NUM> (or the processor <NUM>) may set an ROI based on characteristic information defining each region of the screen. For example, the DDI <NUM> may set the region <NUM> where data is updated within a specified time or the scrollable region <NUM> to an ROI.

<FIG> is a drawing illustrating another example associated with setting an ROI according to an embodiment of the disclosure.

Referring to <FIG>, in conjunction with setting an ROI, a DDI <NUM> (or a processor <NUM>) of <FIG> may extract a representative value for each line of a screen output on a display <NUM> of <FIG> (e.g., for each horizontal line in a state where content is vertically displayed on the basis of the drawing shown) and may store the extracted representative value for each line (e.g., a value of any location, a representative value (e.g., the largest value, the smallest value, or a value obtained by adding all of pixel values of a corresponding line) among R/G/B values of respective pixels, or an average value for each line) in a memory (e.g., a second memory <NUM> of <FIG>). For example, in state <NUM>, the DDI <NUM> may extract representative values from a first line 1110_1 of a screen which is outputting on the display <NUM> to the last line 1110_N and may store the representative value for each extracted line in the memory. When a location of the screen is changed in state <NUM> depending on an input associated with screen movement, the DDI <NUM> may calculate a representative value for each line of the changed screen and may compare the calculated representative value for each line with a representative value for each line of a previous frame stored in the memory.

According to various embodiments, the DDI <NUM> may extract a region <NUM> where there is a change in representative value from the first line to the last line and may set the region <NUM> to an ROI. The representative value for each line may include the largest pixel value or the smallest pixel value on a corresponding line (a value of a pixel where a value calculated by digitizing the pixel is largest or smallest). According to various embodiments, the DDI <NUM> may store an average value of pixels for each line in the memory and may compare the average value stored in the memory with an average value of pixels for each line of a next frame to identify a change. According to various embodiments, the DDI <NUM> may store a variance value of pixels for each line in the memory and may compare the variance value stored in the memory with a variance value of pixels for each line of a next frame to identify a change. According to various embodiments, the DDI <NUM> may store a checksum value (e.g., a CRC code value) assigned for each line in the memory and may compare the checksum value stored in the memory with a checksum value for each line of a next frame to identify a change. The DDI <NUM> may set a region, where there is a change or where a degree of change is greater than or equal to a specified value, to an ROI.

According to various embodiments, when an image frame corresponding to a multi-window is displayed on a display panel <NUM> of <FIG>, the DDI <NUM> may determine an ROI depending on whether a touch input is received on any of a plurality of application execution regions included in the multi-window or whether a region currently focused is any region. For example, the DDI <NUM> may determine an ROI based on a frame region to which screen movement is currently applicable among the plurality of application execution regions included in the multi-window. For example, the DDI <NUM> may determine at least a portion of a frame region of a region on which a touch input occurs or a frame region currently focused as an ROI.

According to various embodiments, in a state where the multi-window is displayed, the DDI <NUM> may determine a central region (or a region where a pixel of the screen is changed over a specified value), except for upper and lower (or left and right) some regions from a region of a certain size or a frame region currently focused, about a point on which a touch input occurs in a frame region (or an application execution region) on which the touch input occurs, as an ROI.

In the description above, in a state where a screen of a display <NUM> of <FIG> is equally divided or is unequally divided, the multi-window may include a state where each application execution screen is displayed for each divided region. Alternatively, the multi-window may include a state where an execution screen according to execution of a first application is provided as a background of the display <NUM> depending on a picture in picture (PIP) function and where a screen according to execution of a second application different from the first application is displayed as a screen smaller than the background screen.

<FIG> is a drawing illustrating a change in visibility associated with eye tracking according to an embodiment of the disclosure.

Referring to <FIG>, in a state where a screen is output on a display <NUM> of <FIG>, when the screen is moved according to an input associated with screen movement, in state <NUM>, a line of sight of a user may be moved along a certain point of the moved screen. In this case, when a gate signal is provided from the left to the right, an update time of a gate signal line adjacent to a region to which the gate signal is relatively first input may be faster than an update time of another gate line. At this time, when a line of sight of the user performs smooth pursuit along a certain point of the screen, a jelly scroll phenomenon where the screen is moved in a tilted state may occur on eyes of the user.

Furthermore, when a movement speed of the screen is greater than or equal to a specified speed, in state <NUM>, a saccade phenomenon may occur. When the movement speed of the screen is greater than or equal to the specified speed, the saccade may allow the eyes of the user to recognize that the movement of the screen does not perform smooth pursuit and that a certain point of the screen moves to another point in a moment. In this case, a moment image of the screen is visible to the eyes of the user (e.g., a discontinuous moment image is visible (to the eyes) or there may be an increase in probability that an inverse image will be visible due to compensation upon the compensation of screen movement).

As described above, while the eyes of the user track movement of the screen, smooth pursuit and saccade may alternately occur depending on movement speed of the screen. Thus, as shown in <FIG>, the electronic device <NUM> may compensate different screen movement for each interval depending on a screen movement speed.

<FIG> is a drawing illustrating an example of a change in the amount of compensation according to eye tracking according to an embodiment of the disclosure.

Referring to <FIG>, in the graph shown, a DDI <NUM> (or a processor <NUM>) of <FIG> may apply a different compensation value for each interval of a screen movement speed. In a first interval (a smooth pursuit interval) where a screen movement speed is greater than or equal to <NUM> and is less than <NUM> pixels/frame, the DDI <NUM> may increase a compensation value in a linear manner depending on an increase in screen movement speed. According to an embodiment, the DDI <NUM> (or the processor <NUM>) may increase a compensation value in a non-linear manner while changing a slope. According to an embodiment, in an interval where the screen movement speed is less than <NUM> pixels/frame, the DDI <NUM> (or the processor <NUM>) may fail to apply a compensation value depending on a change in screen movement speed. In other words, a compensation value (or the amount of screen tilt compensation) may be <NUM>.

As the compensation value increases, the DDI <NUM> may increase the number of equal parts which divides the screen. In this regard, the DDI <NUM> may adaptively compensate for a tilt of data (e.g., at least one of an image or a text) displayed on the screen by increasing the compensation value as the screen movement speed increases.

According to various embodiments, in a second interval (the smooth pursuit interval + a saccade interval) where the screen movement speed is greater than or equal to <NUM> pixels/frame and is less than <NUM> pixels/frame, the DDI <NUM> may apply a compensation value smaller than an increase in screen movement speed. In this regard, because there is a risk that an inverse image (a compensation image) will be visible depending on occurrence of saccade at a screen movement speed of a certain level or more, the DDI <NUM> may apply a compensation value smaller than the screen movement speed or may apply only a specified compensation value. According to various embodiments, in the second interval, the DDI <NUM> may apply a certain compensation value irrespective of an increase in screen movement speed.

According to various embodiments, in a third interval (an eye tracking impossible interval) where the screen movement speed is greater than or equal to <NUM> pixels/frame, the DDI <NUM> may fail to apply a compensation value irrespective of occurrence of a scroll operation. Alternatively, the DDI <NUM> may set the compensation value to <NUM> to apply the compensation value. According to various embodiments, the DDI <NUM> may maintain a maximum compensation value of a previous interval or may gradually reduce a compensation value on the basis of the maximum compensation value of the previous interval.

When the screen movement speed is greater than or equal to a specified value, because it is unable for the eyes of the user to recognize a jelly scroll phenomenon depending on screen movement or because it is difficult for the eyes of the user to feel a sense of incompatibility according to it although the eyes of the user recognizes the jelly scroll phenomenon, the DDI <NUM> may fail to apply a separate compensation value. According to various embodiments, to naturally process screen movement, a start compensation value of each interval may be the same as a last compensation value of a previous interval.

In the graph of <FIG> described above, a reference screen movement speed (e.g., <NUM> pixels/frame or <NUM> pixels/frame) differently applying a compensation scheme may be differently defined according to the entire size of a display <NUM> of <FIG> or the entire size of a scrolled region. Alternatively, the reference screen movement speed may be differently defined according to the number of gate lines of the display <NUM>, a gate scan speed, or the like. According to various embodiments, the interval may be divided on the basis of the two reference screen movement speeds (e.g., <NUM> pixels/frame and <NUM> pixels/frame) in the graph of <FIG>, but the interval may be divided into more intervals on the basis of a plurality of three or more reference screen movement speeds (e.g., <NUM> pixels/frame, <NUM> pixels/frame, <NUM> pixels/frame, <NUM> pixels/frame, <NUM> pixels/frame, <NUM> pixels/frame, and the like) and a compensation value may be differently defined for each interval. Alternatively, the interval may be divided into a linear increase interval <NUM>, a maintenance interval <NUM>, and an impossible interval <NUM> on the basis of each reference value (<NUM> pixels/frame or <NUM> pixels/frame) in the graph of <FIG>, but a compensation value may be applied according to a graph of a curved form without interval division like a logarithmic graph. For example, in the interval <NUM> or <NUM>, the compensation value for each scroll speed may increase or decrease according to an exponential function or a logarithmic function.

<FIG> is a drawing illustrating weight adjustment associated with representing the same screen according to an embodiment of the disclosure.

Referring to <FIG>, an electronic device <NUM> of <FIG> may differently operate the same image hold time during a specified period (e.g., <NUM> Vsync or a driving cycle). An interval where an image is not displayed may be included in the same image hold time. A DDI <NUM> (or a processor <NUM>) of <FIG> may change a weight of a compensation value depending on a duty ratio of an interval where an image is displayed on a display <NUM> of <FIG> and an interval where an image is not displayed on the display <NUM>. For example, the DDI <NUM> (or the processor <NUM>) may change the weight of the compensation value depending on Equation <NUM> or <NUM>. <MAT><MAT>.

The No_of_duty_cycles_Vperiod may refer to a cycle of a signal provided to represent an image per <NUM> driving cycle (e.g., <NUM> frame or <NUM> Vsync). The weight calculated using Equation <NUM> above may be multiplied by a compensation value calculated based on a screen movement speed, and thus, a compensation value to the weight is applied may be applied to a real screen. For example, when the number of duty cycles is <NUM> (e.g., four duty cycles for <NUM> Vsync) and when a display off ratio (AOR) is <NUM>% (when a ratio where the display is off is <NUM>%), the weight may be <NUM>%.

<FIG> is a drawing illustrating an example of applying a compensation value according to an embodiment of the disclosure.

Referring to <FIG>, a DDI <NUM> (or a processor <NUM>, hereinafter a description will be given of the DDI <NUM>) may generate compensation data based on one frame. For example, when a screen movement speed is detected, the DDI <NUM> may determine a compensation value (or the amount of compensation) according to the detected screen movement speed. When the compensation value is determined, the DDI <NUM> may equally divide a screen depending on the determined compensation value. For example, when the screen movement speed is a first speed value (or a first speed interval), as shown, the DDI <NUM> may equally divide at least a portion of the screen into a plurality of sub-regions in a direction (or a gate scan direction) perpendicular to a screen movement direction. According to an embodiment, the DDI <NUM> may equally divide a screen region into N sub-regions 51_1 to 51_N. The number of N may be varied according to the screen movement speed. For example, the DDI <NUM> may increase the number of N when the screen movement speed increases and may decrease the number of N when the screen movement speed decreases. As described above with reference to <FIG>, the DDI <NUM> may additionally adjust the number of N (e.g., a compensation value) by applying a weight depending on a duty ratio (an on/off ratio of a duty or an on/off arrangement ratio in one period) at which data is output on a display <NUM> of <FIG> and the number of duty cycles. According to an embodiment, when one equal division is one pixel, it may be one pixel unit.

According to an embodiment, the DDI <NUM> may divide each sub-region 51_1, 51_2, 51_3,. , or 51_N into three regions (e.g., a data copy region <NUM>, a data shift region <NUM>, and a data truncation region <NUM>) and may add or delete data on at least some of the divided regions to generate compensation data. For example, the DDI <NUM> may add or remove data with respect to at least some of all the sub-regions 51_1 to 51_N.

According to an embodiment, in at least a portion of the equally divided sub-regions, for example, in the third sub-region 51_3, the DD1 <NUM> may insert first additional data 51a into a first data copy region <NUM>. In this operation, the DDI <NUM> may set a certain number of pixel lines among pixel lines (including a plurality of pixels) in the vertical direction as one group and may copy or use at least some of data of pixel lines which belong to the one group (e.g., apply at least one of various interpolation methods) to generate the first additional data 51a. For example, in the drawing shown, the DDI <NUM> may set <NUM> pixel lines as one group and may generate the first additional data 51a from data of the <NUM> pixel lines to add the first additional data 51a to the first data copy region <NUM>. The DDI <NUM> may vary the number of groups included in the first data copy region <NUM> depending on a screen movement speed. For example, the quicker the screen movement speed, the more the number of the groups may be. According to various embodiments, when the number of groups is fixed, the quicker the screen movement speed, the more increased the number of pixel lines which belong to the group may be. According to various embodiments, the quicker the screen movement speed, the more increased the number of groups may be. The number of pixel lines assigned to the group may be reduced. The slower the screen movement speed, the more decreased the number of pixel lines which belong to the group may be. According to various embodiments, the slower the screen movement speed, the more decreased the number of groups may be. The number of pixel lines assigned to the group may be increased.

In the drawing shown, the DDI <NUM> may set <NUM> groups including <NUM> pixel lines as the first data copy region <NUM>, with respect to at least some sub-regions 51_2 to 51_N, and may generate the first additional data 51a to add the first additional data 51a to the corresponding group. According to various embodiments, the first additional data 51a may be generated through interpolation of data values of the <NUM> pixel lines (e.g., one additional data may be generated by collecting <NUM>/<NUM> of data of respective pixel lines). According to various embodiments, the DDI <NUM> may select specific data among data in the first data copy region <NUM> and may copy the selected data to generate additional data.

According to an embodiment, in the at least some sub-regions 51_2 to 51_N among the equally divided sub-regions, the DD1 <NUM> may perform location movement according to a screen movement speed with respect to the first data shift region <NUM>. A movement distance of the first data shift region <NUM> may be determined according to the number of additional data of the first data copy region <NUM> and the number of removal data of the first data truncation region <NUM>.

According to an embodiment, in the at least some sub-regions 51_2 to 51_N among the equally divided sub-regions, the DD1 <NUM> may remove first candidate data 51b from the first data truncation region <NUM>. In this regard, the DDI <NUM> may select a plurality of groups, each of which includes a plurality of pixel lines, in conjunction with a configuration of the first data truncation region <NUM>. The DDI <NUM> may select first candidate data 51b to be removed from each group. The DDI <NUM> may remove the selected first candidate data 51b from the corresponding group. The number of groups from which the first candidate data 51b is removed may be varied according to a screen movement speed. For example, as the screen movement speed increases, the DDI <NUM> may increase the number of groups from which the first candidate data 51b is removed. According to various embodiments, the DDI <NUM> may select some data from each of the plurality of pixel lines and may constitute the first candidate data 51b to be removed. For example, when <NUM> pixel lines constitute one group, the DDI <NUM> may select data at intervals of <NUM>/<NUM> data from each pixel line and may constitute the first candidate data 51b.

According to various embodiments, the DDI <NUM> may increase data to be added to sub-regions which are away from a gate driver <NUM> of <FIG> and may increase candidate data to be removed from the sub-regions. For example, the DDI <NUM> may constitute second additional data 51c to be more than the first additional data 51a, in a second data copy region <NUM> in the fourth sub-region 51_4. For example, when the first additional data 51a corresponds to two pixel line, the DDI <NUM> may constitute the second additional data 51c to correspond to four pixel lines. Similarly, the DDI <NUM> may constitute second candidate data 51d to be more than the first candidate data 51b. Thus, a second data shift region <NUM> may move to a location different from the first data shift region <NUM>. A movement distance of the second data shift region <NUM> may be determined according to the number of additional data of the second data copy region <NUM> and the number of removal data of the second data truncation region <NUM>.

According to an embodiment, when the screen movement direction is a first direction (e.g. a direction which is perpendicular to a gate scan direction and moves from the upper side to the lower side), the DDI <NUM> may gradually increase data to be added to the data copy region <NUM> as going from a sub-region adjacent to a region to which a gate signal is relatively first input to a sub-region away from the region. Alternatively, the DDI <NUM> may gradually increase candidate data to be removed from the data truncation region <NUM> as going from a sub-region adjacent to a region to which a gate signal is relatively first input to a sub-region away from the region.

According to various embodiments, when the screen movement direction is a second direction (e.g. a direction opposite to the first direction), the DDI <NUM> may gradually decrease data to be added to the data copy region <NUM> as going from a sub-region adjacent to a region to which a gate signal is relatively first input to a sub-region away from the region. Alternatively, the DDI <NUM> may gradually decrease candidate data to be removed from the data truncation region <NUM> as going from a sub-region adjacent to a region to which a gate signal is relatively first input to a sub-region away from the region.

As described above, as the location of the data shift region <NUM> is gradually inclined in a gate scan direction through the data copy region <NUM> and the data truncation region <NUM>, as a result, the screen is visible as being moved at the same time on the basis of the horizontal line along with imbalance of a data update speed which is generated according to scroll movement.

According to various embodiments, when a screen movement speed is detected, the DDI <NUM> may determine a compensation value (or the amount of compensation) according to the detected screen movement speed. When the compensation value is determined, the DDI <NUM> may expand an image of a screen region, a screen tilt of which should be compensated according to the determined compensation value, in a scroll direction (e.g., an upward and downward direction or a left and right direction). The DDI <NUM> may transform the expanded image into a tilted image (e.g., compensation data) based on the compensation value and may display only a portion of a central portion of the titled image on the screen.

As described above, because it is able to generate the compensation data using one frame (image) data in the DDI <NUM> when generating the compensation data, two frame data may fail to be needed in generating the compensation data. Due to this, a memory space in the DDI <NUM> may be saved.

<FIG> is a drawing illustrating another example of applying a compensation value according to an embodiment of the disclosure.

Referring to <FIG>, an electronic device <NUM> may operate a touch circuitry <NUM>, a touch driver <NUM>, an input framework <NUM>, a DD1 <NUM>, a display processor <NUM> (e.g., an AP), a frame buffer <NUM>, a composer <NUM>, an app layer <NUM>, a sensor (e.g., a <NUM>-axis sensor) <NUM>, or a sensor hub <NUM>.

In the electronic device <NUM> having the above-mentioned configuration, when an input associated with screen movement is received via the touch circuitry <NUM>, the touch driver <NUM> may process the input associated with the screen movement, which is received by the touch circuitry <NUM>, and may deliver screen movement information to the input framework <NUM>. The input framework <NUM> may deliver the screen movement information to an update module <NUM> of the composer <NUM>. The update module <NUM> may obtain a screen movement speed from the screen movement information and may calculate a compensation value for compensation depending on the screen movement speed, thus delivering the compensation value to the display processor <NUM>. The display processor <NUM> may generate compensation data <NUM> to be output on a display <NUM> of <FIG> depending on the compensation value and may deliver the generated compensation data <NUM> to the DDI <NUM> to be output on the display <NUM>. According to various embodiments, the compensation data <NUM> may be generated by at least one of the DDI <NUM> and the application processor (AP) (e.g., an update module).

In the above-mentioned operation, the composer <NUM> may receive sensor information associated with arrangement of the electronic device <NUM> from the sensor hub <NUM> and may identify a gate scan direction depending on the sensor information. According to various embodiments, the composer <NUM> may identify a direction where content is output according to a user input and may identify a gate scan direction based on the sensor information and the content output setting direction. When the gate scan direction is determined, the composer <NUM> may determine whether the gate scan direction differs from a screen movement direction. When the gate scan direction differs from the screen movement direction, the composer <NUM> may generate compensation data <NUM> to the display processor <NUM> based on the update module <NUM>.

The compensation data <NUM> may be a screen where a screen output on the display <NUM> is tilted in response to a screen movement speed. The display processor <NUM> may differently determine a degree to which the screen is tilted, depending on the screen movement speed on the basis of the non-compensation data <NUM> to which scroll compensation is not applied. The display processor <NUM> may obtain data of a certain region to be output on the display panel <NUM> from the compensation data <NUM> inclined at a certain slope and may output the obtained data on the display <NUM> via the DDI <NUM>.

<FIG> is a drawing illustrating an example of the concept of compensating for screen movement according to an embodiment of the disclosure.

Referring to <FIG>, after a display <NUM> of <FIG> is turned on, when an input associated with screen movement occurs, in state <NUM>, as a sub-region of a display panel <NUM>, which is adjacent to a region to which a gate signal is relatively first input, is faster in data update speed than a sub-region of the display panel <NUM>, which is spaced apart from a gate driver <NUM>, a jelly scroll phenomenon may occur.

Referring to <FIG>, thus, in state <NUM>, a DDI <NUM> or a processor <NUM> of an electronic device <NUM> of <FIG> may generate compensation data where data addition and data removal are differently set according to a separation distance from the gate driver <NUM>. By applying the compensation data generated in state <NUM> to the situation where the jelly scroll phenomenon occurs depending on the input associated with the screen movement, in state <NUM>, the electronic device <NUM> may output a normal screen from which the jelly scroll phenomenon is removed on the display <NUM>.

According to various embodiments, the above-mentioned description is given of, but not limited thereto, the embodiment of equally dividing the screen (or the display data or the image output on the screen). For example, the electronic device <NUM> may perform non-uniform division in dividing a screen depending on a screen movement speed. For example, in the electronic device <NUM>, a sub-region adjacent to a region to which a gate signal is relatively first provided may be formed to be larger in size than a sub-region adjacent to a region to which the gate signal is provided relatively later on the display <NUM>. The number of non-uniform division regions may be varied according to a screen movement speed. According to various embodiments, the sub-region adjacent to the region to which the gate signal is relatively first provided may be smaller as a screen movement speed increases.

The program 1840may be stored in the memory <NUM> as software, and may include, for example, an operating system (OS) <NUM>, middleware <NUM>, or an application <NUM>.

The camera module <NUM> may capture a image or moving images.

It is to be understood that if an element (e.g., a first element) is referred to, with or without the term "operatively" or "communicatively," as "coupled with," "coupled to," "connected with," or "connected to" another element (e.g., a second element), it means that the element may be coupled with the other element directly (e.g., wiredly), wirelessly, or via a third element.

As used herein, the term "module" may include a unit implemented in hardware, software, or firmware, and may interchangeably be used with other terms, for example, "logic," "logic block," "part," or "circuitry. " A module may be a single integral component, or a minimum unit or part thereof, adapted to perform one or more functions.

In such a case, according to various embodiments, the integrated component may perform one or more functions of each of the plurality of components in the same or similar manner as they are performed by a corresponding one of the plurality of components before the integration.

Claim 1:
An electronic device (<NUM>), comprising:
a display (<NUM>); and
at least one processor (<NUM>) operatively connected to the display,
wherein the at least one processor (<NUM>) is configured to:
receive a user input associated with movement of a screen output on the display, and
determine (<NUM>) whether a screen movement direction corresponding to the user input is identical to a gate scan direction, and
detect (<NUM>) a screen movement speed corresponding to the user input associated with the screen movement, when the screen movement direction is not identical to the gate scan direction (<NUM> No),
wherein the screen movement speed includes a first interval in which an amount of screen tilt compensation is changed according to level of the screen movement speed, a second interval in which the amount of screen tilt compensation is kept constant, and a third interval in which the screen tilt compensation is not to be applied,
wherein level of the second interval is faster than level of the first interval, level of the third interval is faster than the level of the second interval or is slower than the level of the first interval (<NUM>, <NUM>, <NUM>).