Input processing method and device

An electronic device is provided. The electronic device includes an input panel configured to periodically sense touch coordinates corresponding to a touch manipulation of a user; and a processor configured to periodically receive the touch coordinates from the input panel, calculate a variation of the touch coordinates based on the touch coordinates, change a reference value for determining movement of the touch manipulation based on the variation of the touch coordinates, and determine whether the touch manipulation moves, based on the reference value.

PRIORITY

This application claims priority under 35 U.S.C. § 119(a) to a Korean Patent Application filed on Nov. 6, 2015 in the Korean Intellectual Property Office and assigned Serial number 10-2015-0156169, the entire disclosure of which is incorporated herein by reference.

BACKGROUND

1. Field of the Disclosure

The present disclosure relates generally to a method and device for processing a touch input, and more particularly, to a method and device for processing a touch input to improve a reaction speed or accuracy of a touch manipulation.

2. Description of the Related Art

With the development of electronic technologies, various types of electronic devices are being developed and supplied. In recent years, portable electronic devices, which have a variety of functions, such as a smart phone, a tablet personal computer (PC), and the like are widely used.

Most electronic devices that were recently developed have used a touch panel (or a pen sensor panel) as an input device. In particular, a user may intuitively input a user manipulation to a touch screen combined with a display.

A touch screen (e.g., a touch panel (or a pen sensor panel)) included in a display may have a reduced reaction speed or reduced accuracy of a touch manipulation based on a processing time or a processing method of a touch movement of a user.

SUMMARY

An aspect of the present disclosure is to provide an input processing method and device capable of improving the reaction speed or the accuracy of a touch manipulation.

In accordance with an aspect of the present disclosure, an electronic device is provided. The electronic device includes an input panel configured to periodically sense touch coordinates corresponding to a touch manipulation of a user; and a processor configured to periodically receive the touch coordinates from the input panel, calculate a variation of the touch coordinates based on the touch coordinates, change a reference value for determining movement of the touch manipulation based on the variation of the touch coordinates, and determine whether the touch manipulation moves, based on the reference value.

In accordance with another aspect of the present disclosure, an electronic device is provided. The electronic device includes a display, an input panel configured to periodically sense touch coordinates corresponding to a touch manipulation of a user, and a processor configured to periodically receive the touch coordinates from the input panel, calculate a variation of the touch coordinates based on the touch coordinates, determine resampling coordinates of the touch coordinates based on an update period of the display, determine whether the touch manipulation moves, based on the variation of the touch coordinates, and perform a function corresponding to the determination whether the touch manipulation moves based on the resampling coordinates.

In accordance with another aspect of the present disclosure, an input processing method of an electronic device is provided. The method includes periodically sensing touch coordinates corresponding to a touch manipulation of a user, calculating a variation of the touch coordinates based on the touch coordinates, changing a reference value for determining movement of the touch manipulation by using the variation of the touch coordinates, and determining whether the touch manipulation moves, based on the reference value.

Various embodiments of the present disclosure may be described with reference to the accompanying drawings. Accordingly, those of ordinary skill in the art will recognize that a modification, an equivalent, and/or an alternative on the various embodiments of the present disclosure described herein may be variously made without departing from the scope and spirit of the present disclosure. With regard to the description below of the accompanying drawings, similar elements may be marked by similar reference numerals.

In the present disclosure, the expressions “have,” “may have,” “include,” “comprise,” “may include,” and “may comprise” used herein indicate the existence of corresponding features (e.g., elements such as numeric values, functions, operations, or components) but do not exclude the presence of additional features.

In the present disclosure, the expressions “A or B,” “at least one of A and/or B,” “one or more of A and/or B,” and the like used herein may include any and all combinations of one or more of the associated listed items. For example, the terms “A or B,” “at least one of A and B,” and “at least one of A or B” may refer to all of case (1) where at least one A is included, case (2) where at least one B is included, and case (3) where both of at least one A and at least one B are included.

The terms “first,” “second,” and the like used herein may refer to various elements of various embodiments of the present disclosure, but do not limit the elements. For example, “a first user device” and “a second user device” may indicate different user devices regardless of the order or priority thereof. For example, without departing from the scope of the present disclosure, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element.

According to the situation, the expression “configured to” used herein may be used as, for example, the expression “suitable for,” “having the size to,” “designed to,” “adapted to,” “made to,” or “capable of.” The term “configured to” must not indicate only “specifically designed to” in hardware. Instead, the expression “a device configured to” may indicate that the device is “capable of” operating together with another device or other components. For example, a “processor configured to (or set to) perform A, B, and C” may indicate a dedicated processor (e.g., an embedded processor) for performing a corresponding operation or a general purpose processor (e.g., a central processing unit (CPU) or an application processor) which performs corresponding operations by executing one or more software programs which are stored in a memory device.

Terms used in the present disclosure are used to describe certain embodiments but are not intended to limit the scope of the present disclosure. The terms of a singular form may include plural forms unless otherwise specified.

All the terms used herein, may have the same meanings that are generally understood by a person skilled in the art. Terms, which are defined in a dictionary and commonly used, should also be interpreted as is customary in the relevant related art and not in an idealized or overly formal way unless expressly so defined herein in various embodiments of the present disclosure. In some cases, even if terms are terms which are defined in the present disclosure, they may not be interpreted to exclude embodiments of the present disclosure.

For example, an electronic device according to various embodiments of the present disclosure may include at least one of smartphones, tablet personal computers (PCs), mobile phones, video telephones, electronic book readers, desktop PCs, laptop PCs, netbook computers, workstations, servers, personal digital assistants (PDAs), portable multimedia players (PMPs), motion picture experts group (MPEG-1 or MPEG-2) audio layer 3 (MP3) players, mobile medical devices, cameras, and wearable devices. According to various embodiments of the present disclosure, a wearable device may include at least one of an accessory type of a device (e.g., a timepiece, a ring, a bracelet, an anklet, a necklace, glasses, a contact lens, or a head-mounted-device (HMD)), a one-piece fabric or a clothes type of a device (e.g., electronic clothes), a body-attached type of a device (e.g., a skin pad or a tattoo), and a bio-implantable type of a device (e.g., an implantable circuit).

In an embodiment of the present disclosure, an electronic device may be a home appliance. A home appliance may include at least one of, for example, a television (TV), a digital versatile disc (DVD) player, an audio player, a refrigerator, an air conditioner, a cleaner, an oven, a microwave oven, a washing machine, an air cleaner, a set-top box, a home automation control panel, a security control panel, a TV box (e.g., Samsung HomeSync®, Apple TV®, or Google TV), a game console (e.g., Xbox® or PlayStation®), an electronic dictionary, an electronic key, a camcorder, and an electronic picture frame.

FIG. 1is a block diagram of an electronic device100, according to an embodiment of the present disclosure.

Referring toFIG. 1, the electronic device100may include an input panel110, a display120, a memory130, and a processor140.

The input panel110may sense a user manipulation (e.g., a touch manipulation or a pen manipulation). The input panel110may include a panel111and a panel control module113.

The panel111(e.g., a touch screen) may receive a driving signal generated at the panel control module113and may scan channels in response to the driving signal. For example, while channels are being scanned, a capacitance or an electric field may be changed if a certain object is adjacent to a certain position of the panel111. A change in a capacitance or an electric field may be sent to the panel control module113. The panel111may include a touch sensor panel that senses a touch manipulation of a user or a pen sensor panel that senses a pen manipulation of a user. The touch sensor panel and the pen recognition panel may operate similarly or differently. In the case where the touch sensor panel and the pen recognition panel operate similarly (e.g., a capacitive method), the touch sensor panel and the pen recognition panel may be the same panel.

The panel control module113may generate a driving signal and may provide the driving signal to the panel111. The panel control module113may sense touch coordinates (e.g., pixel coordinates) corresponding to a touch manipulation (or a pen manipulation) by analyzing a signal received from the panel111. The panel control module113may sense touch coordinates corresponding to a touch manipulation of a user during a certain period (e.g., 10 ms (millisecond)) (or at a frequency (e.g., 100 Hz)). For example, the panel control module113may sense touch coordinates corresponding to the touch manipulation of a user by periodically supplying a driving signal to the panel111. The panel control module113may sense x-axis and y-axis touch coordinates corresponding to a touch manipulation of a user. Touch coordinates may include, for example, an x-axis coordinate and a y-axis coordinate corresponding to a touch manipulation.

The panel control module113may send touch coordinates to the processor140. For example, the panel control module113may send touch coordinates to the processor140during a certain period (e.g., 10 ms).

The input panel110may sense a user manipulation input by a user with the user's finger or a pen spaced apart from the panel111by a certain distance, as well as a user manipulation input if the user makes direct contact with the panel111(e.g., a touch sensor panel or a pen recognition panel).

The display120may present a user interface. The display120may update a display screen during a certain period (e.g., 16.67 ms) (or at a frequency (e.g., 60 Hz)). For example, the display120may update the display screen in synchronization with a vertical synchronization signal (e.g., Vsync) received during a certain period.

The input panel110and the display120, for example, may be implemented with a touch screen that is capable of displaying and sensing a touch manipulation at the same time. In the touch screen, the input panel111may be disposed on a display panel.

The memory130may store a reference value (e.g., mtouchslop) for determining a movement of a touch manipulation. If a reference value is changed by the processor140, the memory130may store the changed reference value. The memory130may store a reference value that is capable of being applied, in common, to an application installed in the electronic device100. The memory130may store reference values that are different from each other for respective applications installed in the electronic device100. A unit of a reference value stored in the memory130may be pixels or density-independent pixels (DP).

The processor140may control overall operations of the electronic device100. The processor140may include at least one processor. The processor140may process a touch manipulation of a user according to an embodiment of the present disclosure by controlling the input panel110, the display120, and the memory130, respectively. The processor140(e.g., an application processor (AP)) may be implemented with a system on chip (SoC) including a central processing unit (CPU), a graphics processing unit (GPU), a memory, and the like.

The processor140may determine a touch event corresponding to touch coordinates. A touch event may include, for example, a touch down event (or a touch start event), a touch move event, and a touch up event (or a touch end event). For example, the processor140may determine that touch coordinates, which are sensed for the first time on one successive touch manipulation, correspond to a touch down event. As another example, the processor140may determine that touch coordinates, which are sensed last on one successive touch manipulation, correspond to a touch up event. As another example, the processor140may determine that touch coordinates other than the touch coordinates that are sensed for a first time or for a last time on one successive touch manipulation correspond to a touch move event.

FIG. 2is a plot of a resampling result of touch coordinates, according to an embodiment of the present disclosure.

The processor140may resample touch coordinates received from the input panel110. The processor140may resample touch coordinates based on an update period of the display120. For example, if a sensing period of an input panel110is 10 ms and an update period of the display120is 16.67 ms, the processor140may resample touch coordinates, which are received from the input panel110per 10 ms, based on a time of 16.67 ms being an update period of the display120. The resampled touch coordinates may be determined by using, for example, interpolation or extrapolation.

Referring toFIG. 2, a movement distance of touch coordinates over time is illustrated. The touch coordinates illustrated inFIG. 2may include touch coordinates a1to a6, which are sensed by the input panel110during a certain period (e.g., 10 ms), and touch coordinates b1to b4that are resampled by the processor140based on an update period of the display120. According to an embodiment of the present disclosure, the processor140may resample touch coordinates such that the touch coordinates correspond to a timing faster than each of update timings t1to t5of the display120(e.g., a timing that is faster by 3 ms than each of the update timings t1to t5), based on a time at which a touch manipulation is processed. If the first touch coordinates for a1are received from the input panel110, the processor140may determine the first resampling coordinates for b1by using extrapolation. If the second touch coordinates a2and the third touch coordinates for a3are received from the input panel110, the processor140may determine the second resampling coordinates for b2by using interpolation. If the fourth touch coordinates for a4are received from the input panel110, the processor140may determine the third resampling coordinates for b3by using extrapolation. If the fifth touch coordinates for a5and the sixth touch coordinates for a6are received from the input panel110, the processor140may determine the fourth resampling coordinates for b4by using interpolation.

When the sensing period of the input panel110is shorter than the update period of the display120, the processor140may receive a plurality of touch coordinates during the update period of the display120. If a plurality of touch coordinates is received during an update period of the display120, the processor140may process the plurality of touch coordinates at the same time or may not process a part of the touch coordinates.

The processor140may calculate a variation (or a difference value) of touch coordinates by using the touch coordinates received from the input panel110. The processor140may periodically receive touch coordinates from the input panel110. The processor140may calculate a variation between two successive touch coordinates. For example, if first touch coordinates and second touch coordinates are periodically received, the processor140may calculate a variation between the first touch coordinates and the second touch coordinates. The processor140may calculate a variation of each of an x-axis coordinate and a y-axis coordinate. A unit of a variation may be, for example, pixels.

The processor140may calculate a variation of touch coordinates by using original touch coordinates received from the input panel110. For example, the processor140may calculate a variation of touch coordinates by using touch coordinates that are not resampled.

When a user inputs a touch manipulation (or a pen manipulation) to the input panel110even though the user does not intend to move a touch manipulation (e.g., in the case where the user inputs a tap manipulation), touch coordinates sensed by the input panel110may move due to an effect by an area of a finger or by a minute motion of a finger. To prevent a malfunction (e.g., a movement of a touch manipulation) that a user does not intend, the processor140may use a reference value for determining whether a touch manipulation moves.

The processor140may determine whether a touch manipulation moves, based on a reference value. For example, the processor140may compare a variation of touch coordinates to a reference value and determine whether a touch manipulation moves, based on the comparison. If a variation of touch coordinates is greater than or equal to a reference value, the processor140may determine that a touch manipulation moved. If a variation of touch coordinates is less than a reference value, the processor140may determine that a touch manipulation stopped (or that a touch manipulation does not move). The processor140may determine whether a touch manipulation moves, based on each of a variation of an x-axis coordinate and a variation of a y-axis coordinate.

FIG. 3is a plot of a resampling result of touch coordinates, according to an embodiment of the present disclosure.

Referring toFIG. 3, a movement distance of touch coordinates over time is illustrated. The touch coordinates illustrated inFIG. 3may include touch coordinates a1to a5, which are sensed by the input panel110during a certain period (e.g., 10 ms), and touch coordinates b1to b3that are resampled by the processor140based on an update period of the display120. According to an embodiment of the present disclosure, the processor140may resample touch coordinates at a timing faster than each of update timings t1, t2and t5of the display120(e.g., a timing that is faster by 3 ms than each of the update timings t1, t2and t5), based on a time at which a touch manipulation is processed. If the second touch coordinates for a2are received from the input panel110, the processor140may determine a first resampling coordinates b1by using extrapolation. If the third touch coordinates for a3are received from the input panel110, the processor140may determine the second resampling coordinates for b2by using extrapolation. If the fifth touch coordinates for a5are received from the input panel110, the processor140may determine the third resampling coordinates b3by using interpolation.

The processor140may determine whether a touch manipulation moves (e.g., determine whether a variation of touch coordinates is greater than a reference value) by using a variation of touch coordinates that are not resampled. In the case where the processor140determines whether a touch manipulation moves by using a variation of touch coordinates that are not resampled, the processor140may process a touch manipulation (e.g., determine whether a touch manipulation moves) by comparing a variation Δn between the third touch coordinates for a3and the fourth touch coordinates for a4, which are not resampled at timing t3at which the fourth touch coordinates for a4are received from the input panel110, with a reference value (e.g., 8 DP). In the case where the processor140determines whether a touch manipulation moves by using a variation of touch coordinates that are resampled, the processor140may process a touch manipulation (e.g., determine whether a touch manipulation moves) by comparing a variation Δr between the second resampling coordinates for b2and the third resampling coordinates for b3with a reference value (e.g., 8 DP) at timing t4at which resampling is performed after the fifth touch coordinates for a5are received from the input panel110.

When the processor140determines whether a touch manipulation moves by using a variation of touch coordinates that are not resampled, the processor140may calculate a variation of actual touch coordinates, thereby increasing the accuracy of determining whether a touch manipulation moves. When the processor140determines whether a touch manipulation moves by using a variation of touch coordinates that are not resampled, the processor140may save a time, at which the touch manipulation is processed, by time Δt needed until resampling coordinates are calculated after touch coordinates are received.

FIGS. 4A and 4Bare plots of a movement distance of a touch manipulation over time.

Referring toFIG. 4A, a movement distance (y) of a touch drag manipulation of a user over time (x-axis) is illustrated. A touch drag manipulation of a user may correspond to a motion such as an accelerated motion, a uniform motion, or a decelerated motion.

Referring toFIG. 4B, which is a magnified view of the box that includes times 0 to 64 inFIG. 4A, since a variation Δd1between second touch coordinates for b2and third touch coordinates for b3is less than a reference value (e.g., 8 DP), the processor140may process the third touch coordinates for b3as being a stop input. Since variation Δd2between the third touch coordinates for b3and fourth touch coordinates for b4is greater than the reference value, the processor140may process the fourth touch coordinates for b4as being a movement input. Accordingly, after a time of 48 ms elapses after first touch coordinates for b1are sensed, the processor140may determine that a touch manipulation is a touch movement. Accordingly, a speed at which a touch movement of a user is processed may be reduced. As described above, in the case where a speed at which the touch manipulation moves is reduced when a user ends a touch manipulation, some of the last touch movements may be processed as being a stop input.

An electronic device according to an embodiment of the present disclosure may variably set a reference value for determining whether a touch manipulation moves, thereby improving a reaction speed of a touch movement.

The processor140may change a reference value for determining whether a touch manipulation moves by using a variation of touch coordinates. The processor140may compare a variation of touch coordinates to a current reference value. If a variation of touch coordinates is less than a reference value, the processor140may change the reference value to the variation of the touch coordinates. For example, if a reference value that is currently stored in the memory130is 8 DP and a variation of touch coordinates is 6 DP, the processor140may change the reference value to 6 DP. If a unit of a reference value is DP, after the processor140changes from a unit of pixels to a unit of DP, the processor140may compare a variation of touch coordinates with the reference value. If a reference value is changed, the processor140may store the changed reference value in the memory130.

The processor140may compare each of a variation of an x-axis coordinate and a variation of a y-axis coordinate to a reference value. If at least one of a variation of an x-axis coordinate and a variation of a y-axis coordinate is less than a reference value, the processor140may change the reference value to one of the variation of the x-axis coordinate and the variation of the y-axis coordinate. For example, if a current reference value is 8 DP, a variation of an x-axis coordinate is 7 DP, and a variation of a y-axis coordinate is 10 DP, the processor140may change the reference value to 7 DP. If both a variation of an x-axis coordinate and a variation of a y-axis coordinate are less than a reference value, the processor140may change the reference value to one (e.g., a smallest value or a greatest value) of the variation of the x-axis coordinate and the variation of the y-axis coordinate. For example, if a current reference value is 8 DP, a variation of the x-axis coordinate is 7 DP, and a variation of the y-axis coordinate is 6 DP, the processor140may change the reference value to 6 DP.

The processor140may change a reference value in a certain range (or a change range of a reference value or pre-determined range). For example, in the case where a variation of touch coordinates is out of a certain range even though the variation of the touch coordinates is less than a current reference value, the processor140may not change the reference value. For example, if a certain range is set to 6 to 8 DP, a current reference value is 7 DP, a variation of an x-axis coordinate is 4 DP, a variation of a y-axis coordinate is 10 DP, where the variation of the touch coordinates is out of the certain range, and where the variation of the x-axis coordinate is less than the reference value, the processor140may maintain the reference value at 7 DP. As another example, if the certain range is set to 6 to 8 DP, a current reference value is 7 DP, a variation of an x-axis coordinate is 4 DP, and a variation of the y-axis coordinate is 5 DP, where the variation of the touch coordinates is out of the certain range, and where the variation of the x-axis coordinate and the variation of the y-axis coordinate are less than the reference value, the processor140may maintain the reference value at 7 DP.

FIG. 5is a plot of a change range of a reference value, according to an embodiment of the present disclosure.

Referring toFIG. 5, the change range of a reference value may be set based on pixel density or pixel size (e.g., a width or a height) of the display120. A maximum value and a minimum value of a change range of a reference value may be set such that the maximum value and the minimum value are inversely proportional to pixel density of the display120(or the maximum value and the minimum value are proportional to pixel size of the display120). For example, as pixel density of the display120increases (e.g., as the resolution of the display120increases or the display size decreases), a maximum value and a minimum value of a change range of a reference value may be set such that the maximum value and the minimum value decrease. As pixel density of the display120decreases (e.g., as the resolution of the display120decreases or the display size increases), a maximum value and a minimum value of a change range of a reference value may be set such that the maximum value and the minimum value increase. For example, in the case where pixel density of the display120is 300 pixels per inch (ppi), a minimum value and a maximum value of a change range of a reference value may be set to 6 DP and 8 DP, respectively. In the case where a pixel density is 200 ppi, a minimum value and a maximum value of a change range of a reference value may be set to 9 DP and 12 DP, respectively.

A difference between a maximum value and a minimum value of a change range of a reference value may be set such that the difference is inversely proportional to pixel density of the display120(or the difference is proportional to pixel size of the display120). For example, as pixel density of the display120increases, a difference between a maximum value and a minimum value of a change range of a reference value may be set such that the difference decreases. As pixel density of the display120decreases, a difference between a maximum value and a minimum value of a change range of a reference value may be set such that the difference increases. For example, in the case where pixel density of the display120is 300 ppi, a difference between a maximum value and a minimum value of a change range of a reference value may be set to 2 DR In the case where pixel density is 200 ppi, a difference between a maximum value and a minimum value of a change range of a reference value may be set to 3 DP.

A change range of a reference value may be a preset value if the electronic device100is manufactured.

The processor140may change a reference value based on a touch event. If the processor140determines that a touch move event occurred, the processor140may count a number of occurrences of the touch move event. If the number of occurrences of the touch move event is greater than or equal to a certain number of times (e.g., a pre-determined number of times), the processor140may change a reference value. For example, if the number of occurrences of a touch move event is 3 or more, the processor140may compare a variation of touch coordinates to a reference value. If a variation of a touch coordinates is less than a reference value, the processor140may change the reference value to the variation of the touch coordinates.

If a touch down event or a touch up event occurs, the processor140may initialize a number of times that a touch move event is received. If a reference value is changed, the processor140may initialize a number of times that the touch move event is received.

The processor140may perform a function corresponding to a touch manipulation based on a result of determining whether the touch manipulation moves. For example, the processor140may perform a function corresponding to a touch manipulation based on at least one of touch coordinates and a variation of touch coordinates and based on a result of determining whether the touch manipulation moves. For example, the processor140may display a user interface corresponding to a touch manipulation on the display120in synchronization with an update timing of the display120. If the processor140determines that a touch manipulation moved (or determines that the touch manipulation is a movement input), the processor140may perform a function corresponding to the movement of the touch manipulation. For example, if the processor140determines that a touch manipulation moved, the processor140may move an icon displayed on the display120such that the icon corresponds to the movement of the touch manipulation.

The processor140may accumulate a touch manipulation and process the accumulated touch manipulation. For example, the processor140may accumulate a movement distance of a touch manipulation, which is determined as a movement input, or a number of movements of the touch manipulation; if the processor140determines that the accumulated movement distance of the touch manipulation is greater than or equal to a certain distance or determines that the accumulated number of movements of the touch manipulation is greater than or equal to a certain number of times, the processor140may perform a function corresponding to the movement of the touch manipulation. If the processor140determines that a touch manipulation stopped (or determines that the touch manipulation is a stop input), the processor140may disregard the touch manipulation or may perform a function corresponding to the stop of the touch manipulation.

The processor140may perform a function corresponding to a touch manipulation based on variations of resampled touch coordinates and touch coordinates that are not resampled. For example, the processor140may determine that a touch manipulation of a user moved to resampled touch coordinates by a variation of touch coordinates that are not resampled.

To improve a reaction speed of a touch manipulation, a sensing period of an input panel110may be set to be less than an update period of the display120. Even though a sensing period of an input panel110is set to be the same as an update period of the display120, the processor140may accurately and rapidly process a touch manipulation. Accordingly, power consumed to drive the input panel110may be reduced.

An electronic device may include an input panel configured to periodically sense touch coordinates corresponding to a touch manipulation of a user and a processor configured to periodically receive the touch coordinates from the input panel to calculate a variation of the touch coordinates based on the touch coordinates, change a reference value for determining movement of the touch manipulation based on the variation of the touch coordinates, and determine whether the touch manipulation moves, based on the reference value.

A reference value into a variation of touch coordinates if a variation of the touch coordinates is less than the reference value.

A processor may change a reference value in a certain range.

A certain range may be proportional to a pixel density.

A processor may determine a touch event corresponding to touch coordinates, count a number of times that a touch move event in the touch event is received and change a reference value if the number of times that the touch move event is received is greater than or equal to a certain number of times.

A processor may initialize a number of times that a touch move event is received, if a touch down event or a touch up event is received from an input panel or if a reference value is changed.

A processor may determine that a touch manipulation moved, if a variation of touch coordinates is greater than or equal to a reference value, and determine that the touch manipulation stopped, if the variation of the touch coordinates is less than the reference value.

Touch coordinates may comprise an x-axis coordinate and a y-axis coordinate corresponding to a touch manipulation, and a processor may calculate a variation of each of the x-axis coordinate and the y-axis coordinate and determine that the touch manipulation moved, if at least one of the variation of the x-axis coordinate and the variation of the y-axis coordinate is greater than or equal to a reference value.

An electronic device may include a display, an input panel configured to periodically sense touch coordinates corresponding to a touch manipulation of a user and a processor configured to periodically receive the touch coordinates from the input panel, calculate a variation of the touch coordinates based on the touch coordinates, determine resampling coordinates of the touch coordinates based on an update period of the display, determine whether the touch manipulation moves, based on the variation of the touch coordinates, and perform a function corresponding to the determination result based on the resampling coordinates.

A processor may determine that a touch manipulation moved, if a variation of touch coordinates is greater than or equal to a certain reference value and determine that the touch manipulation stopped, if the variation of the touch coordinates is less than the reference value.

A processor may change a certain reference value by using a variation of touch coordinates.

Touch coordinates may comprise an x-axis coordinate and a y-axis coordinate corresponding to a touch manipulation, and a processor may calculate a variation of each of the x-axis coordinate and the y-axis coordinate and determine that the touch manipulation moved, if at least one of a variation of the x-axis coordinate and a variation of the y-axis coordinate is greater than or equal to a reference value.

Touch coordinates may comprise an x-axis coordinate and a y-axis coordinate corresponding to a touch manipulation, and a processor may calculate a variation of each of the x-axis coordinate and the y-axis coordinate and determine resampling coordinates based on each of the x-axis coordinate and the y-axis coordinate.

The electronic device may include an input panel and a processor. The processor may receive an input through the input panel, may obtain first coordinates and second coordinates on the input panel corresponding to the input, and may change a reference value for determining whether a touch manipulation moves, if a variation satisfies a certain condition based at least on a variation between the first coordinates and the second coordinates.

The electronic device may include an input panel and a processor. The processor may receive an input through the input panel, obtain first coordinates and second coordinates on the input panel corresponding to an input, determine interpolated coordinates (e.g. resampled coordinates) corresponding to the first coordinates based on an update period of the display, determine an input event corresponding to the input based at least on a variation between the first coordinates and the second coordinates, and perform a function corresponding to an input event based at least on interpolated coordinates (e.g. resampled coordinates).

FIG. 6is a flow diagram of a touch processing method of an electronic device, according to an embodiment of the present disclosure.

The flow diagram inFIG. 6may illustrate a touch processing process by the electronic device100illustrated inFIG. 1. Details about the electronic device100may be applied to the flow diagram shown inFIG. 6with reference toFIGS. 1 to 5described above.

Referring toFIG. 6, the electronic device100may include a touch controller11, which is performed by the panel control module113, and a touch driver13, an input manager15, and an application17that are performed by the processor140. The input manager15may correspond to, for example, a middleware1230ofFIG. 12described below. The input manager15may process data associated with a user input and may send the processed data to the application17.

In operation601, the electronic device100(e.g., the processor140) may execute the application17.

In operation603, if the application17is executed, the electronic device100(e.g., the input manager15) may send a reference value to the application17. If the application17is executed for the first time or if the reference value is changed, the electronic device100may send the reference value to the application17.

In operation605, the electronic device100(e.g., the touch controller11) may sense touch coordinates. The touch controller11may sense x-axis and y-axis touch coordinates corresponding to a touch manipulation of a user.

In operation607, the electronic device100(e.g., the touch controller11) may send the touch coordinates to the touch driver13.

In operation609, the electronic device100(e.g., the touch driver13) may determine a touch event corresponding to the touch coordinates. The touch event may include, for example, a touch down event (or a touch start event), a touch move event, and a touch up event (or a touch end event).

In operation611, the electronic device100(e.g., the touch driver13) may send the touch coordinates and the touch event to the input manager15.

In operation613, the electronic device100(e.g., the input manager15) may resample the touch coordinates received from the touch driver13. The input manager15may resample the touch coordinates based on an update period of the display120.

In operation615, the electronic device100(e.g., the input manager15) may calculate a variation of the touch coordinates. The input manager15may calculate the variation of the touch coordinates by using the touch coordinates (i.e., touch coordinates that are not resampled) that are received from the touch driver13. The input manager15may calculate the variation of each of an x-axis coordinate and a y-axis coordinate.

In operation617, the electronic device100(e.g., the input manager15) may change a reference value for determining whether a touch manipulation moves. The input manager15may compare a variation of touch coordinates to a currently set reference value and may change the reference value to the variation of the touch coordinates if the variation of the touch coordinates is less than the reference value. The input manager15may compare each variation of the x-axis coordinate and the y-axis coordinate to the reference value; if at least one variation of the x-axis coordinate and the y-axis coordinate is less than the reference value, the processor140may change the reference value to a variation of the x-axis coordinate or the y-axis coordinate. The input manager15may change the reference value in a certain range (e.g. a change range of the reference value). If a number of occurrences of a touch move event received from the touch driver13is greater than or equal to the certain number of times, the input manager15may change the reference value. The change range of the reference value may be set based on a pixel density or a pixel size (e.g., a width or a height) of the display120.

If the reference value is changed, in operation619, the electronic device100(e.g., the input manager15) may send the changed reference value to the application17. The input manager15may store the changed reference value in an area of the memory130. The application17may receive the changed reference value from the input manager15in a manner of referring to the reference value stored in the memory130. In operation617, if the reference value is not changed (e.g., if the variation of the touch coordinates is greater than or equal to the reference value), operation619may be omitted.

In operation621, the electronic device100(e.g., the input manager15) may send a resampling coordinate, a variation of the touch coordinates, and the touch event to the application17.

In operation623, the electronic device100(e.g., the application17) may determine whether the touch manipulation moves, by using the reference value received from the input manager15. If the variation of the touch coordinates is greater than or equal to the reference value, the application17may determine that the touch manipulation moved. If the variation of the touch coordinates is less than the reference value, the application17may determine that the touch manipulation stopped (or that the touch manipulation does not move). The application17may determine whether the touch manipulation moves, based on each of a variation of an x-axis coordinate and a variation of a y-axis coordinate.

In operation625, the electronic device100(e.g., the application17) may perform a function corresponding to the touch manipulation based on the determination result. The application17may perform a function corresponding to the touch manipulation based on at least one of the touch coordinates and a variation of the touch coordinates. The application17may accumulate a touch manipulation and may process the accumulated touch manipulation. For example, the application17may accumulate a movement distance of a touch manipulation, which is determined as the movement input, or a number of movements of a touch manipulation; if the application17determines that an accumulated movement distance of a touch manipulation is greater than or equal to a certain distance or determines that an accumulated number of movements of a touch manipulation is greater than or equal to a certain number of times, the application17may perform a function corresponding to a movement of a touch manipulation.

A touch event is described above with reference toFIG. 6as being determined by the touch driver13. However, according to an embodiment of the present disclosure, a touch event may be determined by the input manager15.

FIG. 7is a flowchart of a touch processing method of an electronic device, according to an embodiment of the present disclosure.

The flowchart illustrated inFIG. 7may include operations processed by the electronic device100illustrated inFIG. 1. Details about the electronic device100may be applied to the flowchart shown inFIG. 7with reference toFIGS. 1 to 5described above.

Referring toFIG. 7, in operation710, the electronic device100(e.g., the input panel110) may sense touch coordinates corresponding to a touch manipulation (or a pen manipulation) of a user. The electronic device100may periodically sense touch coordinates corresponding to a touch manipulation of a user through the input panel110. The electronic device100may sense x-axis and y-axis touch coordinates corresponding to a touch manipulation of a user.

The electronic device100(e.g., the processor140) may determine a touch event corresponding to touch coordinates. A touch event may include, for example, a touch down event (or a touch start event), a touch move event, and a touch up event (or a touch end event).

In operation720, the electronic device100(e.g., the processor140) may calculate a variation of touch coordinates (or a difference value) by using touch coordinates. The electronic device100may calculate a variation between two successive touch coordinates. The electronic device100may calculate a variation of each of an x-axis coordinate and a y-axis coordinate.

In operation730, the electronic device100(e.g., the processor140) may change a reference value for determining whether a touch manipulation moves. The electronic device100may compare a variation of touch coordinates to a currently set reference value and may change the reference value to a variation of the touch coordinates if the variation of the touch coordinates is less than the reference value. The electronic device100may compare each of a variation of an x-axis coordinate and a variation of a y-axis coordinate to a reference value. If at least one of a variation of an x-axis coordinate and a variation of a y-axis coordinate is less than a reference value, the electronic device100may change the reference value to one of the variation of the x-axis coordinate and the variation of the y-axis coordinate. The electronic device100may change a reference value in a certain range (or a change range of the reference value). If a number of occurrences of a touch move event received from the touch driver13is greater than or equal to a certain number of times, the electronic device100may change the reference value. The change range of a reference value may be set based on pixel density or pixel size (e.g., a width or a height) of the display120.

In operation740, the electronic device100(e.g., the processor140) may determine whether a touch manipulation moves, by using a reference value. For example, in operation730, if a reference value is changed, the electronic device100may determine whether a touch manipulation moves, based on the changed reference value. If a variation of touch coordinates is greater than or equal to a reference value, the electronic device100may determine that a touch manipulation moved. If a variation of touch coordinates is less than a reference value, the electronic device140may determine that a touch manipulation stopped (or that the touch manipulation does not move). The electronic device100may determine whether a touch manipulation moves, based on each of a variation of an x-axis coordinate and a variation of a y-axis coordinate.

In operation750, the electronic device100(e.g., the processor140) may perform a function corresponding to a touch manipulation based on a determination result. The electronic device100may perform a function corresponding to a touch manipulation based on at least one of touch coordinates and a variation of the touch coordinates. The electronic device100may accumulate a touch manipulation and may process the accumulated touch manipulation. For example, the electronic device100may accumulate a movement distance of a touch manipulation, which is determined as a movement input, or a number of movements of the touch manipulation; if the electronic device100determines that an accumulated movement distance of a touch manipulation is greater than or equal to a certain distance or determines that an accumulated number of movements of a touch manipulation is greater than or equal to a certain number of times, the electronic device100may perform a function corresponding to the movement of the touch manipulation.

FIG. 8is a flowchart of a reference value changing method of an electronic device, according to an embodiment of the present disclosure.

The flowchart illustrated inFIG. 8may include operations which the electronic device100illustrated inFIG. 1processes. Details about the electronic device100may be applied to the flowchart shown inFIG. 8with reference toFIGS. 1 to 5described above.

Referring toFIG. 8, in operation810, the electronic device100(e.g., the processor140) may determine whether a touch move event occurred. For example, the electronic device100may determine whether a touch move event occurred, based on touch coordinates that are sent from the input panel110to the processor140.

If the electronic device100(e.g., the processor140) determines that a touch move event occurs, in operation820, the electronic device100may count a number of occurrences (or a count) of the touch move event. If a touch move event does not occur (e.g., if a touch down event or a touch up event occurs), the electronic device100may end the process of changing a reference value.

In operation830, the electronic device100(e.g., the processor140) may determine whether a number of occurrences (or a count) of a touch move event is greater than or equal to a certain value.

If a number of occurrences of a touch move event is greater than or equal to a certain value, in operation840, the electronic device100(e.g., the processor140) may determine whether a variation of touch coordinates is less than a reference value. If a number of occurrences of a touch move event is greater than or equal to a certain value, the electronic device100may end the process of changing the reference value.

If a variation of touch coordinates is less than a reference value, the electronic device100(e.g., the processor140) may determine whether the variation of the touch coordinates is in a certain range (or a change range of the reference value). A change range of a reference value may be set based on a pixel density or a pixel size (e.g., a width or a height) of a display. A maximum value and a minimum value of a change range of a reference value may be set to be inversely proportional to a pixel density (or proportional to a pixel size). A difference between a maximum value and a minimum value of a change range of a reference value may be set to be inversely proportional to a pixel density (or proportional to pixel size). A preset value upon manufacturing the electronic device100may be set as a change range of a reference value. If a variation of touch coordinates is greater than a reference value, the electronic device100may end the process of changing the reference value.

If a variation of touch coordinates is in a certain range, in operation860, the electronic device100(e.g., the processor140) may change a reference value to the variation of the touch coordinates.

Alternatively, operations820and830may be omitted. For example, when a running application (e.g., an application that performs a function corresponding to a touch manipulation) accumulates a number of movements of a touch manipulation and processes the accumulated number of movements of the touch manipulation, operations820and830may be performed. However, in the case where a running application processes a touch manipulation regardless of a number of movements of a touch manipulation, operations820and830may be omitted.

FIG. 9is a flowchart of a reference value changing method of an electronic device, according to an embodiment of of the present disclosure.

The flowchart illustrated inFIG. 9may include operations which the electronic device100illustrated inFIG. 1processes. Details about the electronic device100may be applied to the flowchart shown inFIG. 9with reference toFIGS. 1 to 5described above.

Referring toFIG. 9, in operation910, the electronic device100(e.g., the input panel110) may sense touch coordinates corresponding to a touch manipulation (or a pen manipulation) of a user. The electronic device100may periodically sense touch coordinates corresponding to a touch manipulation of a user through the input panel110. The electronic device100may sense x-axis and y-axis touch coordinates corresponding to a touch manipulation of a user.

The electronic device140(e.g., the processor140) may determine a touch event corresponding to touch coordinates. A touch event may include, for example, a touch down event (or a touch start event), a touch move event, and a touch up event (or a touch end event).

In operation920, the electronic device100(e.g., the processor140) may calculate a variation of touch coordinates (or a difference value) by using the touch coordinates. According to an embodiment of the present disclosure, the electronic device100may calculate a variation between two successive touch coordinates. The electronic device100may calculate a variation of each of an x-axis coordinate and a y-axis coordinate.

In operation930, the electronic device100(e.g., the processor140) may resample touch coordinates. According to an embodiment of the present disclosure, the electronic device100may resample touch coordinates based on an update period of a display.

In operation940, the electronic device100(e.g., the processor140) may determine whether a touch manipulation moves, based on a variation of touch coordinates. According to an embodiment of the present disclosure, the electronic device100may determine whether a touch manipulation moves, by using a variation of touch coordinates that are not resampled. If a variation of touch coordinates is greater than or equal to a reference value, the electronic device100may determine that a touch manipulation moved. If a variation of touch coordinates is less than a reference value, the electronic device140may determine that a touch manipulation stopped (or that the touch manipulation does not move). The electronic device100may determine whether a touch manipulation moves, based on each of a variation of an x-axis coordinate and a variation of a y-axis coordinate.

In operation950, the electronic device100(e.g., the processor140) may perform a function corresponding to a touch manipulation based on at least one of resampled touch coordinates and a variation of touch coordinates. The electronic device100may perform a function corresponding to a touch manipulation based on a result of determining whether a touch manipulation moves. The electronic device100may accumulate a touch manipulation and may process the accumulated touch manipulation. For example, the electronic device100may accumulate a movement distance of a touch manipulation, which is determined as a movement input, or a number of movements of the touch manipulation; if the electronic device100determines that an accumulated movement distance of a touch manipulation is greater than or equal to a certain distance or determines that an accumulated number of movements of a touch manipulation is greater than or equal to a certain number of times, the electronic device100may perform a function corresponding to the movement of the touch manipulation.

An input processing method of an electronic device may include periodically sensing touch coordinates corresponding to a touch manipulation of a user, calculating a variation of the touch coordinates based on the touch coordinates, changing a reference value for determining movement of the touch manipulation by using the variation of the touch coordinates and determining whether the touch manipulation moves, based on the reference value.

Changing a reference value may include changing the reference value to a variation of touch coordinates if the variation of the touch coordinates is less than the reference value.

Changing a reference value may include changing the reference value in a certain range.

A certain range may be proportional to a pixel density.

A touch event corresponding to touch coordinates may be determined, and changing a reference value may include counting a number of occurrences of a touch move event in the touch event and changing the reference value if the number of occurrences of the touch move event is greater than or equal to a certain number of times.

Changing a reference value may further include initializing a number of occurrences of a touch move event if a touch down event or a touch up event is received from an input panel or if the reference value is changed.

Determining whether a touch manipulation moves may include determining that the touch manipulation moved if a variation of touch coordinates is greater than or equal to a reference value, and determining that the touch manipulation stopped if the variation of the touch coordinates is less than the reference value.

Touch coordinates may include an x-axis coordinate and a y-axis coordinate corresponding to the touch manipulation, and determining whether the touch manipulation moves may include calculating a variation of each of the x-axis coordinate and the y-axis coordinate and determining that the touch manipulation moved if at least one of the variation of the x-axis coordinate and the variation of the y-axis coordinate is greater than or equal to a reference value.

An input processing method of an electronic device may include periodically sensing touch coordinates corresponding to a touch manipulation of a user, calculating a variation of the touch coordinates based on the touch coordinates, determining resampling coordinates of the touch coordinates based on an update period of a display, determining whether the touch manipulation moves, based on the variation of the touch coordinates and performing a function corresponding to the determined result based on the resampling coordinates.

Touch coordinates may include an x-axis coordinate and a y-axis coordinate corresponding to the touch manipulation. The determining of whether the touch manipulation moves may include calculating the variation of each of the x-axis coordinate and the y-axis coordinate and resampling each of the x-axis coordinate and the y-axis coordinate.

An input processing method of an electronic device that includes an input panel and a processor may include receiving an input through the input panel, obtaining first coordinates and second coordinates on the input panel corresponding to the input, and changing a reference value for determining whether the touch manipulation moves, if a variation satisfies a certain condition based at least on a variation between the first coordinates and the second coordinates.

An input processing method of an electronic device that includes an input panel and a processor may include receiving an input through the input panel, obtaining first coordinates and second coordinates on the input panel corresponding to the input, determining interpolated coordinates (resampled coordinates) corresponding to the first coordinates based on an update period of a display, determining an input event corresponding to the input by using the processor based at least on a variation between the first coordinates and the second coordinates, and performing a function corresponding to the input event based at least on the interpolated coordinates (the resampled coordinates).

FIG. 10is a block diagram of an electronic device1001in a network environment1000according to an embodiment of the present disclosure.

Referring toFIG. 10, the electronic device1001may include a bus1010, a processor1020, a memory1030, an input/output interface1050, a display1060, and a communication interface1070. According to an embodiment of the present disclosure, at least one of the foregoing elements may be omitted or another element may be added to the electronic device1001.

The bus1010may include a circuit for connecting the above-mentioned elements1010to1070to each other and transferring communications (e.g., control messages and/or data) among the above-mentioned elements1010to1070.

The processor1020may include at least one of a central processing unit (CPU), an application processor (AP), and a communication processor (CP). The processor1020may perform data processing or an operation related to communication and/or control of at least one of the other elements1010to1070of the electronic device1001.

The memory1030may include a volatile memory and/or a nonvolatile memory. The memory1030may store instructions or data related to at least one of the other elements1020and1050-1070of the electronic device1001. According to an embodiment of the present disclosure, the memory1030may store software and/or a program1040. The program1040may include, for example, a kernel1041, a middleware1043, an application programming interface (API)1045, and/or an application program (or an application)1047. At least a portion of the kernel1041, the middleware1043, or the API1045may be referred to as an operating system (OS).

The kernel1041may control or manage system resources (e.g., the bus1010, the processor1020, the memory1030, or the like) used to perform operations or functions of other programs (e.g., the middleware1043, the API1045, or the application program1047). Further, the kernel1041may provide an interface for allowing the middleware1043, the API1045, or the application program1047to access individual elements of the electronic device1001in order to control or manage the system resources.

The middleware1043may serve as an intermediary so that the API1045or the application program1047communicates and exchanges data with the kernel1041.

Further, the middleware1043may handle one or more task requests received from the application program1047according to a priority order. For example, the middleware1043may assign at least one application program1047a priority for using the system resources (e.g., the bus1010, the processor1020, the memory1030, or the like) of the electronic device1001. For example, the middleware1043may handle the one or more task requests according to the priority assigned to the at least one application program1047, thereby performing scheduling or load balancing with respect to the one or more task requests.

The API1045, which is an interface for allowing the application1047to control a function provided by the kernel1041or the middleware1043, may include, for example, at least one interface or function (e.g., instructions) for file control, window control, image processing, character control, or the like.

The input/output interface1050may serve to transfer an instruction or data input from a user or another external device to (an)other element(s) of the electronic device1001. Furthermore, the input/output interface1050may output instructions or data received from (an)other element(s) of the electronic device1001to the user or another external device.

The display1060may include, for example, a liquid crystal display (LCD), a light-emitting diode (LED) display, an organic light-emitting diode (OLED) display, a microelectromechanical systems (MEMS) display, or an electronic paper display. The display1060may present various content (e.g., a text, an image, a video, an icon, a symbol, or the like) to a user. The display1060may include a touch screen, and may receive a touch, a gesture, a proximity or hovering input from an electronic pen or a part of a user's body.

The communication interface1070may establish communication between the electronic device1001and the first external electronic device1002, the second external electronic device1004, or a server1006. For example, the communication interface1070may be connected to a network1062via wireless communications or wired communications so as to communicate with the second external electronic device1004or the server1006.

The wireless communications may employ at least one of cellular communication protocols such as long-term evolution (LTE), LTE-advanced (LTE-A), code division multiple access (CDMA), wideband CDMA (WCDMA), universal mobile telecommunications system (UMTS), wireless broadband (WiBro), and global system for mobile communications (GSM). The wireless communications may include, for example, a short-range communications1064. The short-range communications may include at least one of wireless fidelity (Wi-Fi), Bluetooth, Bluetooth low energy (BLE), Zigbee, near field communication (NFC), magnetic secure transmission (MST), and global navigation satellite system (GNSS). GNSS may include, for example, at least one of a global positioning system (GPS), another global navigation satellite system (GLONASS), BeiDou navigation satellite system (BeiDou), and Galileo, the European global satellite-based navigation system according to a use area or a bandwidth. Hereinafter, the terms “GPS” and “GNSS” may be used interchangeably.

Wired communications may include at least one of a universal serial bus (USB), a high definition multimedia interface (HDMI), a recommended standard 232 (RS-232), a plain old telephone service (POTS), and the like. The network1062may include at least one telecommunications network, for example, a computer network (e.g., a local area network (LAN) or a wide area network (WAN)), the Internet, and/or a telephone network.

The types of the first external electronic device1002and the second external electronic device1004may be the same as or different from the type of the electronic device1001. The server1006may include one or more servers. A portion or all of the operations performed in the electronic device1001may be performed in one or more other electronic devices (e.g., the first electronic device1002, the second external electronic device1004, or the server1006). If the electronic device1001performs a certain function or service automatically or in response to a request, the electronic device1001may request at least a portion of the functions related to the certain function or service to be performed from another device (e.g., the first electronic device1002, the second external electronic device1004, or the server1006) instead of or in addition to the electronic device1001performing the function or service. The other electronic device (e.g., the first electronic device1002, the second external electronic device1004, or the server1006) may perform the requested function or additional function, and may transfer a result of performing the requested function or additional function to the electronic device1001. The electronic device1001may use a received result as is or additionally process the received result to provide the requested function or service. To this end, for example, cloud computing, distributed computing, or client-server computing may be used.

FIG. 11is a block diagram of an electronic device1101according to an embodiment of the present disclosure.

Referring toFIG. 11, the electronic device1101may include, for example, a part or the entirety of the electronic device1001illustrated inFIG. 10. The electronic device1101may include at least one processor (e.g., an AP)1110, a communication module1120, a subscriber identification module (SIM)1129, a memory1130, a sensor module1140, an input device1150, a display1160, an interface1170, an audio module1180, a camera module1191, a power management module1195, a battery1196, an indicator1197, and a motor1198.

The processor1110may run an operating system or an application program so as to control a plurality of hardware or software elements connected to the processor1110, process various data, and perform operations. The processor1110may be implemented with, for example, a system on chip (SoC). According to an embodiment of the present disclosure, the processor1110may further include a GPU and/or an image signal processor. The processor1110may include at least a portion of the elements (e.g., a cellular module1121) illustrated inFIG. 11. The processor1110may load, on a volatile memory, an instruction or data received from at least one of the other elements (e.g., a nonvolatile memory) to process the instruction or data, and may store various data in a nonvolatile memory.

The communication module1120may be configured the same as or similar to the communication interface1070ofFIG. 10. The communication module1120may include, for example, the cellular module1121(e.g., the modem330), a Wi-Fi module1122, a Bluetooth (BT) module1123, a GNSS module1124(e.g., a GPS module, a GLONASS module, a BeiDou module, or a Galileo module), an NFC module1125, a MST module1126and a radio frequency (RF) module1127.

The cellular module1121may provide, for example, a voice call service, a video call service, a text message service, or an Internet service through a communication network. The cellular module1121may identify and authenticate the electronic device1101in the communication network using the subscriber identification module1129(e.g., a SIM card). The cellular module1121may perform at least a part of the functions that may be provided by the processor1110. The cellular module1121may include a CP.

Each of the Wi-Fi module1122, the Bluetooth module1123, the GNSS module1124, the NFC module1125and the MST module1126may include, for example, a processor for processing data transmitted/received through the modules. According to an embodiment of the present disclosure, at least a part (e.g., two or more) of the cellular module1121, the Wi-Fi module1122, the Bluetooth module1123, the GNSS module1124, the NFC module1125and the MST module1126may be included in a single integrated circuit (IC) or IC package.

The RF module1127may transmit/receive, for example, communication signals (e.g., RF signals). The RF module1127may include, for example, a transceiver, a power amplifier module (PAM), a frequency filter, a low noise amplifier (LNA), an antenna, or the like. According to an embodiment of the present disclosure, at least one of the cellular module1121, the Wi-Fi module1122, the Bluetooth module1123, the GNSS module1124, the NFC module1125and the MST module1126may transmit/receive RF signals through a separate RF module.

The SIM1129may include, for example, an embedded SIM and/or a card, and may include unique identification information (e.g., an integrated circuit card identifier (ICCID)) or subscriber information (e.g., international mobile subscriber identity (IMSI)).

The memory1130(e.g., the memory1030) may include, for example, an internal memory1132or an external memory1134. The internal memory1132may include at least one of a volatile memory (e.g., a dynamic random access memory (DRAM), a static RAM (SRAM), a synchronous dynamic RAM (SDRAM), or the like), a nonvolatile memory (e.g., a one-time programmable read only memory (OTPROM), a programmable ROM (PROM), an erasable and programmable ROM (EPROM), an electrically erasable and programmable ROM (EEPROM), a mask ROM, a flash ROM, a flash memory (e.g., a NAND flash memory, a NOR flash memory, or the like)), a hard drive, and a solid state drive (SSD).

The external memory1134may include a flash drive such as a compact flash (CF) drive, a secure digital (SD) memory card, a micro-SD, a mini-SD memory card, an extreme digital (xD) memory card, a multimedia card (MMC), a memory stick, or the like. The external memory1134may be operatively and/or physically connected to the electronic device1101through various interfaces.

A security module1136, which is a module including a storage space that has a higher security level than the memory1130, may be a circuit for providing secure data storage and a protected execution environment. The security module1136may be implemented with an additional circuit and may include an additional processor. The security module1136may be present in an attachable smart IC or SD memory card, or may include an embedded secure element (eSE), which is installed in a fixed IC. Additionally, the security module1136may be driven in another OS which is different from the OS of the electronic device1101. For example, the security module1136may operate based on a Java card open platform (JCOP) OS.

The sensor module1140may, for example, measure a physical quantity or detect an operation state of the electronic device1101so as to convert measured or detected information into an electrical signal. The sensor module1140may include, for example, at least one of a gesture sensor1140A, a gyro sensor1140B, a barometric pressure sensor1140C, a magnetic sensor1140D, an acceleration sensor1140E, a grip sensor1140F, a proximity sensor1140G, a color sensor1140H (e.g., a red/green/blue (RGB) sensor), a biometric sensor1140I, a temperature/humidity sensor1140J, an illumination sensor1140K, and an ultraviolet (UV) light sensor1140M. Additionally or alternatively, the sensor module1140may include, for example, an olfactory sensor (e.g., an electronic nose (E-nose) sensor), an electromyography (EMG) sensor, an electroencephalogram (EEG) sensor, an electrocardiogram (ECG) sensor, an infrared (IR) sensor, an iris recognition sensor, and/or a fingerprint sensor. The sensor module1140may further include a control circuit for controlling at least one sensor included therein. In an embodiment of the present disclosure, the electronic device1101may further include a processor configured to control the sensor module1140as a part of the processor1110or separately, so that the sensor module1140is controlled while the processor1110is in a reduced power or sleep state.

The input device1150may include, for example, a touch panel1152, a (digital) pen sensor1154, a key1156, or an ultrasonic input device1158. The touch panel1152may employ at least one of a capacitive type, a resistive type, an infrared type, and an ultraviolet light type sensing method. The touch panel1152may further include a control circuit. The touch panel1152may further include a tactile layer so as to provide a haptic feedback to a user.

The (digital) pen sensor1154may include, for example, a sheet for recognition which is either a part of a touch panel or is separate. The key1156may include, for example, a physical button, an optical button, or a keypad. The ultrasonic input device1158may sense ultrasonic waves generated by an input tool through a microphone1188so as to identify data corresponding to the ultrasonic waves sensed.

The display1160(e.g., the display1060) may include a panel1162, a hologram device1164, and/or a projector1166. The panel1162may be configured the same as or similar to the display1060ofFIG. 10. The panel1162may be, for example, flexible, transparent, or wearable. The panel1162and the touch panel1152may be integrated into a single module. The hologram device1164may display a stereoscopic image in a space using a light interference phenomenon. The projector1166may project light onto a screen so as to display an image. The screen may be disposed in internally or externally to the electronic device1101. According to an embodiment of the present disclosure, the display1160may further include a control circuit for controlling the panel1162, the hologram device1164, and/or the projector1166.

The interface1170may include, for example, an HDMI1172, a USB1174, an optical interface1176, and/or a D-subminiature (D-sub) connector1178. The interface1170, for example, may be included in the communication interface1070illustrated inFIG. 10. Additionally or alternatively, the interface1170may include, for example, a mobile high-definition link (MHL) interface, an SD card/MMC interface, or an interface according to an Infrared Data Association (IrDA) standard.

The audio module1180may convert, for example, a sound into an electrical signal or vice versa. At least a portion of the elements of the audio module1180may be included in the input/output interface1050illustrated inFIG. 10. The audio module1180may process sound information input or output through a speaker1182, a receiver1184, an earphone1186, or the microphone1188.

The camera module1191is, for example, a device for photographing a still image or recording a video. According to an embodiment of the present disclosure, the camera module1191may include at least one image sensor (e.g., a front sensor or a rear sensor), a lens, an image signal processor (ISP), or a flash (e.g., an LED lamp or a xenon lamp).

The power management module1195may manage power of the electronic device1101. The power management module1195may include a power management integrated circuit (PMIC), a charger IC, a battery, and/or a battery gauge. The PMIC may employ a wired and/or wireless charging method. The wireless charging method may include, for example, a magnetic resonance method, a magnetic induction method, an electromagnetic method, or the like. An additional circuit for wireless charging, such as a coil loop, a resonant circuit, a rectifier, or the like, may be further included. The battery gauge may measure, for example, a remaining capacity of the battery1196and a voltage, current or temperature thereof while the battery1196is charging. The battery1196may include, for example, a rechargeable battery and/or a solar battery.

The indicator1197may display a certain state of the electronic device1101or a part thereof (e.g., the processor1110), such as a booting state, a message state, a charging state, or the like. The motor1198may convert an electrical signal into a mechanical vibration, and may generate a vibration or haptic effect. A processing device (e.g., a GPU) for supporting a mobile TV may be included in the electronic device1101. The processing device for supporting a mobile TV may process media data according to the standards of digital multimedia broadcasting (DMB), digital video broadcasting (DVB), MediaFLO™, or the like.

FIG. 12is a block diagram of a program module according to an embodiment of the present disclosure.

Referring toFIG. 12, a program module1210(e.g., the program1040) may include an OS for controlling a resource related to an electronic device (e.g., the electronic device1001) and/or various applications (e.g., the application program1047) running on the OS. The OS may be, for example, Android®, iOS®, Windows®, Symbian®, Tizen®, or the like.

The program module1210may include a kernel1220, a middleware1230, an API1260, and/or an application1270. At least a part of the program module1210may be preloaded on an electronic device or may be downloaded from an external electronic device (e.g., the first electronic device1002, the second external electronic device1004, or the server1006).

The kernel1220(e.g., the kernel1041) may include, for example, a system resource manager1221or a device driver1223. The system resource manager1221may perform control, allocation, or retrieval of a system resource. According to an embodiment of the present disclosure, the system resource manager1221may include a process management unit, a memory management unit, a file system management unit, or the like. The device driver1223may include, for example, a display driver, a camera driver, a Bluetooth driver, a shared memory driver, a USB driver, a keypad driver, a Wi-Fi driver, an audio driver, or an inter-process communication (IPC) driver.

The middleware1230, for example, may provide a function that the application1270requires in common, or may provide various functions to the application1270through the API1260so that the application1270may efficiently use limited system resources in the electronic device. The middleware1230(e.g., the middleware1043) may include at least one of a runtime library1235, an application manager1241, a window manager1242, a multimedia manager1243, a resource manager1244, a power manager1245, a database manager1246, a package manager1247, a connectivity manager1248, a notification manager1249, a location manager1250, a graphic manager1251, a security manager1252and an input manager1254.

The runtime library1235may include, for example, a library module that a complier uses to add a new function through a programming language while the application1270is running. The runtime library1235may perform a function for input/output management, memory management, or an arithmetic function.

The application manager1241may mange, for example, a life cycle of at least one of the application1270. The window manager1242may manage a graphical user interface (GUI) resource used in a screen. The multimedia manager1243may recognize a format required for playing various media files and may encode or decode a media file using a codec matched to the format. The resource manager1244may manage a resource such as source code, a memory, or a storage space of at least one of the applications in the application1270.

The power manager1245, for example, may operate together with a basic input/output system (BIOS) to manage a battery or power and may provide power information required for operating an electronic device. The database manager1246may generate, search, or modify a database to be used in at least one of the applications of the application1270. The package manager1247may manage installation or update of an application distributed in a package file format.

The connectivity manger1248may manage a wireless connection of Wi-Fi, Bluetooth, or the like. The notification manager1249may display or notify an event such as message arrival, appointments, and proximity alerts in such a manner as not to disturb a user. The location manager1250may manage location information of the electronic device. The graphic manager1251may manage a graphic effect to be provided to a user or a user interface related thereto. The security manager1252may provide various security functions required for system security or user authentication. The input manager1254(e.g., the input manager15) may process data regarding a user input and transfer the data to an application. According to an embodiment of the present disclosure, in the case in which an electronic device (e.g., the electronic device1001) includes a phone function, the middleware1230may further include a telephony manager for managing a voice or video call function of the electronic device.

The middleware1230may include a middleware module for forming a combination of various functions of the above-mentioned elements. The middleware1230may provide a module specialized for each type of an operating system to provide differentiated functions. Furthermore, the middleware1230may delete a part of existing elements or may add new elements dynamically.

The API1260(e.g., the API1045) which is, for example, a set of API programming functions may be provided in different configurations according to an operating system. For example, in the case of Android® or iOS®, one API set may be provided for each platform, and, in the case of Tizen®, at least two API sets may be provided for each platform.

The application1270(e.g., the application program1047), for example, may include at least one application capable of performing functions such as a home application1271, a dialer application1272, an SMS/MMS application1273, an instant message application (IM)1274, a browser application1275, a camera application1276, an alarm application1277, a contact application1278, a voice dial application1279, an e-mail application1280, a calendar application1281, a media player application1282, an album application1283, a clock application1284. The application1270may also include a health care application (e.g., an application to measure an exercise amount or a blood sugar level), or an environmental information provision application (e.g., an application to provide air pressure, humidity, or temperature information).

The application1270may include an information exchange application for supporting information exchange between the electronic device (e.g., the electronic device1001) and the first electronic device1002or the second external electronic device1004. The information exchange application may include, for example, a notification relay application for relaying certain information to an external electronic device or a device management application for managing the external electronic device.

For example, the notification relay application may have a function for relaying, to the first electronic device1002or the second external electronic device1004, notification information generated in another application (e.g., the SMS/MMS application1273, the e-mail application1280, the health care application, the environmental information provision application, or the like) of an electronic device. Furthermore, the notification relay application may receive notification information from an external electronic device and may provide the received notification information to a user.

The device management application, for example, may manage (e.g., install, delete, or update) at least one function (e.g., turn-on/turn off of an external electronic device (or some elements) or the brightness (or resolution) adjustment of a display) of the first electronic device1002or the second external electronic device1004communicating with an electronic device, an application running in the external electronic device, or a service (e.g., a call service, a message service, or the like) provided from the external electronic device.

The application1270may include a certain application (e.g., a healthcare application of a mobile medical device) according to an attribute of the first electronic device1002or the second external electronic device1004. The application1270may include an application received from the first electronic device1002or the second external electronic device1004. The application1270may include a preloaded application or a third-party application downloadable from a server. The names of the elements of the program module1210illustrated may vary with the type of an operating system.

At least a part of the program module1210may be implemented with software, firmware, hardware, or a combination thereof. At least a part of the program module1210, for example, may be implemented (e.g., executed) by a processor (e.g., the processor1020). At least a part of the program module1210may include, for example, a module, a program, a routine, sets of instructions, or a process for performing at least one function.

Each of the elements described herein may be configured with one or more components, and the names of the elements may be changed according to the type of an electronic device. In an embodiment of the present disclosure, an electronic device may include at least one of the elements described herein, and some elements may be omitted or other additional elements may be added. Further, some of the elements of an electronic device may be combined with each other so as to form one entity, so that the functions of the elements may be performed in the same manner as before the combination.

The term “module” used herein may represent, for example, a unit including one of hardware, software, firmware, and a combination thereof. The term “module” may be interchangeably used with the terms “unit,” “logic,” “logical block,” “component” and “circuit.” The term “module” may indicate a minimum unit of an integrated component or may indicate a part thereof. The term “module” may indicate a minimum unit for performing one or more functions or a part thereof. The term “module” may indicate a unit that may be implemented mechanically or electronically. For example, the term “module” may indicate a unit that includes at least one of an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), and a programmable-logic device for performing some operations, which are known or will be developed.

At least a part of devices (e.g., modules or functions thereof) or methods (e.g., operations) according to an embodiment of the present disclosure may be implemented as instructions stored in a non-transitory computer-readable recording medium in the form of a program module. In the case where instructions are performed by a processor (e.g., the processor1020), the processor may perform functions corresponding to the instructions. The non-transitory computer-readable recording medium may be, for example, the memory130.

A non-transitory computer-readable recording medium may include a hard disk, a floppy disk, a magnetic medium (e.g., a magnetic tape), an optical medium (e.g., a compact disc ROM (CD-ROM), a digital versatile disc (DVD)), a magneto-optical medium (e.g., a floptical disk), or a hardware device (e.g., a ROM, a RAM, a flash memory, or the like). Program instructions may include machine language code generated by compilers and high-level language code that can be executed by computers using interpreters. The above-mentioned hardware device may be configured to be operated as one or more software modules for performing operations of an embodiment of the present disclosure and vice versa.

A module or a program module according to an embodiment of the present disclosure may include at least one of the above-mentioned elements, or some elements may be omitted or other additional elements may be added. Operations performed by a module, a program module or other elements according to an embodiment of the present disclosure may be performed in a sequential, parallel, iterative or heuristic way. Furthermore, some operations may be performed in another order or may be omitted, or other operations may be added.

According to various embodiments of the present disclosure, the reaction speed or the accuracy of the touch manipulation of a user may be improved, thereby providing the user with an excellent user experience. According to various embodiments of the present disclosure, power consumed to drive an input panel may be reduced.

While the present disclosure has been shown and described with reference to certain embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope and spirit of the present disclosure. Therefore, the scope of the present disclosure should not be defined as being limited to the embodiments described herein, but are defined by the appended claims and equivalents thereof.