Abstract:
A method and apparatus for controlling a drag to variably change the speed of an object moving on a display unit includes displaying an object and a control region for controlling a movement of the object, wherein if a touch input is detected from the control region, the control unit determines whether duration of a drag input after the initial touch input is longer than a predetermined time period, then the control unit defines a ratio of a drag speed and an object speed, based on the determination outcome so that the object is moved in response to the drag input according to the defined ratio.

Description:
CLAIM OF PRIORITY 
       [0001]    This application claims the benefit under 35 U.S.C. §119(a) to a Korean patent application filed on Jul. 30, 2012 in the Korean Intellectual Property Office and assigned Ser. No. 10-2012-0082895, the entire invention of which is hereby incorporated by reference. 
       BACKGROUND 
       [0002]    1. Field of the Invention 
         [0003]    The present invention relates generally to a method and apparatus for controlling drag for moving an object of a mobile terminal having a touch screen. 
         [0004]    2. Description of the Related Art 
         [0005]    Recently mobile terminals have developed into multimedia devices that provide various types of additional services such as, for example, an electronic note function, a game function, a schedule management function, and the like. This requires a user interface that allows a user to easily use and manage such services. 
         [0006]    Normally when an object such as a cursor or an image is moved by means of a drag action, a drag speed and an object speed are set equally. In this case, actual movement of a drag corresponds to a speed of an object in a ratio of 1 to 1. However, when there is a need to move a cursor in a sentence having a small font size and a narrow spacing, it is difficult to move a cursor minutely. 
         [0007]    Accordingly, there is a need to address the above-mentioned problems and/or disadvantages and to offer at least the advantages described below. 
       SUMMARY 
       [0008]    An aspect of the present invention is to provide a drag control method and apparatus in which when a drag input is detected after a predetermined time has elapsed from the time point of a touch input, the ratio of a drag speed to an object speed is defined variably. 
         [0009]    In accordance with one exemplary aspect of the present invention, a method for controlling a drag for moving an object in a mobile terminal having a touch screen includes: displaying a control region for controlling a movement of the object; if an initial touch input is detected from the control region, checking duration of when a drag input is completed; based on the duration of the drag input completion, defining a ratio of a drag speed to an object speed; and moving the object in response to the drag input according to the defined ratio. 
         [0010]    In accordance with another exemplary aspect of the present invention, a mobile terminal includes: a touch screen configured to display an object and a control region for controlling a movement of the object, and to receive a user&#39;s input for moving the object; and a control unit configured to, if a touch input is detected from the control region, check duration when a drag input is completed, to define a ratio of a drag speed and an object speed, based on the detection time of the drag input, and to move the object in response to the drag input according to the defined ratio. 
         [0011]    According to this invention, when a drag input is detected after a predetermined time has elapsed from the initial time point of a touch input, the ratio of a drag speed to an object speed is defined according to predetermined criteria which in turn moves a cursor minutely in a sentence having a small font size and a narrow spacing or to scroll image items or list items quickly. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0012]    The above and other aspects, features and advantages of certain embodiments of the present invention will be more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which: 
           [0013]      FIG. 1  is a block diagram illustrating a mobile terminal in accordance with an exemplary embodiment of the invention; 
           [0014]      FIG. 2  is a flow diagram illustrating a method for controlling a drag for moving an object in accordance with an exemplary embodiment of the invention; 
           [0015]      FIG. 3  is a schematic diagram illustrating a process of moving an object if a drag speeds and an object speed are set equally; 
           [0016]      FIG. 4  is a schematic diagram illustrating a process of moving an object if a drag speed and an object moving speed are set differently; 
           [0017]      FIGS. 5A and 5B  are schematic diagrams illustrating a process of moving a cursor if a drag speeds and a cursor speed are set equally; 
           [0018]      FIGS. 6A ,  6 B and  6 C are schematic diagrams illustrating a process of moving a cursor if a drag speeds and a cursor speed are set differently; 
           [0019]      FIG. 7  is a schematic diagram illustrating a process of moving image items if a drag speed and an image movement speed are set equally; 
           [0020]      FIG. 8  is a schematic diagram illustrating a process of moving image items if a drag speed and an image movement speed are set differently; 
           [0021]      FIG. 9  is a schematic diagram illustrating a process of moving a list of items if a drag speed and a list speed are set equally; and 
           [0022]      FIG. 10  is a schematic diagram illustrating a process of moving list items if a drag speeds and a list speed are set differently. 
       
    
    
       [0023]    Throughout the drawings, the same or like drawing reference numerals will be understood to refer to the same or like elements, features and structures. 
       DETAILED DESCRIPTION 
       [0024]    Exemplary, non-limiting embodiments of the present invention will now be described more fully with reference to the accompanying drawings. This invention may, however, be embodied in many different forms and should not be construed as limited to the exemplary embodiments set forth herein. Rather, the disclosed embodiments are provided so that this invention will be thorough and complete, and will fully convey the scope to those skilled in the art. 
         [0025]    Furthermore, well known or widely used techniques, elements, structures, and processes may not be described or illustrated in detail to avoid obscuring the essence of the present invention. Although the drawings represent exemplary embodiments of the invention, the drawings are not necessarily to scale and certain features may be exaggerated or omitted in order to better illustrate and explain the present invention. 
         [0026]    At the outset, some terms used herein will be defined. 
         [0027]    The term object refers to the target being touched, dragged, and moved. In some embodiments of the present invention, the object may include, but not limited to, a cursor, an image item, a list item, and the like. 
         [0028]    The term control region refers to an area where a touch and/or a drag input occur to control the movement of an object. The object may be displayed at the inside or outside of the control region. 
         [0029]      FIG. 1  is a block diagram illustrating a mobile terminal in accordance with an exemplary embodiment of the invention. 
         [0030]    As shown in  FIG. 1 , the mobile terminal  100  may include a wireless communication unit  110 , an audio processing unit  120 , an input unit  130 , a touch screen  140 , a memory unit  150 , and a control unit  160 . 
         [0031]    The wireless communication unit  110  performs a function to transmit and receive data for wireless communication of the mobile terminal  100 . The wireless communication unit  110  may include an RF transmitter (not shown) that up-converts the frequency of an outgoing signal and then amplifies the outgoing signal, and an RF receiver (not shown) that low-noise amplifies an incoming signal and down-converts the frequency of the incoming signal. The wireless communication unit  110  may also output data received through a radio channel to the control unit  160 , and transmit data outputted from the control unit  160  through a radio channel. 
         [0032]    The audio processing unit  120  may be composed of CODECs which have a data CODEC for processing packet data, etc., and an audio CODEC for processing audio signals such as voice. The audio processing unit  120  converts digital audio signals into analog audio signals through the audio CODEC and then outputs them through the speaker (SPK). Also, the audio processing unit  120  converts analog audio signals inputted from the microphone (MIC) into digital audio signals by the audio CODEC. 
         [0033]    The input unit  130  receives user&#39;s key manipulations for controlling the mobile terminal  100 , creates input signals, and transfers them to the control unit  160 . The input unit  130  may be formed of a keypad having alphanumeric keys and navigation keys, and may further have function keys provided on lateral sides of the mobile terminal  100 . In some embodiments, any mobile terminal which can only be manipulated using the touch screen  140  may not have the input unit  130 . The input unit  130  may receive, from a user, a touch input and/or a drag input for moving an object. 
         [0034]    The touch screen  140  includes a touch sensor unit  141  and a display unit  142 . The touch sensor unit  141  detects user&#39;s touch input. The touch sensor unit  141  may be composed of touch sensors of capacitive overlay type, resistive overlay type, or infrared beam type, or pressure sensors. Alternatively, in another embodiment, any other sensors capable of detecting a touch or a pressure may be used for the touch sensor unit  141 . After detecting a user&#39;s touch input, the touch sensor unit  141  creates a touch detection signal and sends it to the control unit  160 . The touch detection signal contains coordinate data of user&#39;s touch input. If the user moves a touch point, the touch sensor unit  141  creates touch detection signals including coordinate data of a moving path of a touch point, and sends them to the control unit  160 . 
         [0035]    The display unit  142  may be formed of LCD (Liquid Crystal Display), OLED (Organic Light Emitting Diodes), AMOLED (Active Matrix Organic Light Emitting Diodes), or any other equivalent. The display unit  142  visually offers, to a user, a menu of the mobile terminal  100 , inputted data, function setting information, and any other information. The display unit  142  performs a function to output a booting screen, an idle screen, a menu screen, a call screen, and any other application executing screen of the mobile terminal  100 . 
         [0036]    The memory unit  150  stores programs and data required for operation of the mobile terminal  100  and may include a program region (not shown) and a data region (not shown). The program region may store a program for controlling the whole operations of the mobile terminal  100 , an operating system (OS) for booting the mobile terminal  100 , an application required for playing multimedia contents, and an application required for performing optional functions of the mobile terminal  100 , such as a camera, an audio play, an image view, or a video play. The data region may store data created while the mobile terminal  100  is used, such as images, videos, phonebook, audio data, and the like. 
         [0037]    In one embodiment, the memory unit  150  stores at least one particular program for defining the ratio of a drag speed to an object speed as a certain unequal value and for moving an object on the basis of the defined ratio when a drag input is detected after a predetermined time has elapsed from the time point of a touch input. 
         [0038]    The control unit  160  controls the whole operations of the mobile terminal  100 . Particularly, when a drag input is detected after a predetermined time has elapsed from the time point of a touch input, the control unit  160  may control a series of processes of defining the ratio of a drag speed to an object speed as a certain unequal value and, based on the defined ratio, of moving an object in response to a drag input. To this end, the control unit  160  may further include a drag controller  161 . 
         [0039]    If a touch input is detected in a control region (not shown), the drag controller  161  checks the time when a drag input is initially detected. Then, based on duration of the drag input completion, the drag controller  161  defines the ratio of a drag speed to an object speed. Thereafter, based on the defined ratio, the drag controller  161  controls the movement of the object in response to the drag input. 
         [0040]    Specifically, if a drag input is detected after a predetermined time (i.e., 0.5 second) has elapsed from the initial time point of a touch input, the drag controller  161  defines the ratio of a drag speed to an object speed as a certain unequal value. In contrast, if a drag input is detected and completed before the predetermined time has elapsed from the initial time point of a touch input, the drag controller  161  defines the ratio of a drag speed to an object speed as an equal value. 
         [0041]    Although the control unit  160  and the drag controller  161  are described above as separate blocks for performing different functions, it is merely for ease of description. Alternatively, in another embodiment, the control unit  160  may absorb specific functions of the drag controller  161 . 
         [0042]      FIG. 2  is a flow diagram illustrating a method for controlling a drag for moving an object in accordance with an exemplary embodiment of the invention. 
         [0043]    First, the control unit  160  detects any executed applications at step S 210 . The applications may include, but not limited to, a gallery, a video, a phonebook, an Internet connection, and the like. In embodiments, an application may be selected having an object to be moved depending on a user&#39;s drag input. 
         [0044]    When the application is executed, the control unit  160  displays the control region for moving an object at step S 220 . As described above, the object may be a cursor, an image item, a list item, and the like. Also, the object may be displayed at the inside or outside of the control region. 
         [0045]    At step S 230 , the control unit  160  detects that a touch input is received. Then, at step S 240 , the control unit  160  determines whether a drag input is detected. If a drag input is not detected, the control unit  160  waits for a drag input at step S 250 . 
         [0046]    If a drag input is detected, the control unit  160  determines at step S 260  whether a predetermined time has elapsed from the time point of a touch input. Namely, the control unit  160  determines whether a drag input is detected after an elapse of a predetermined time from a detection of a touch input. The predetermined time is a variable value and may be 0.5 second, 1 second, or the like. 
         [0047]    If the predetermined time has not elapsed, the control unit  160  sets equally a drag speed and an object speed at step S 280 . Namely, the ratio of a drag speed to an object speed is defined as an equal value. This means that the distance of a moving object is set to be equal to the distance of a drag input. 
         [0048]    In contrast, if the predetermined time has elapsed, the control unit  160  sets differently a drag speed and an object speed at step S 270 . Namely, the ratio of a drag speed to an object speed is defined as an unequal value. Specifically, an object speed may be set to be smaller than a drag speed or set to be greater than a drag speed. This ratio is a variable value which depends on the type of application or user&#39;s setting. For example, if there is a need to minutely move a cursor in a sentence having a small font size, an object speed is set to be smaller than a drag speed. If there is a need to scroll many items to find a desired one, an object speed is set to be greater than a drag speed. 
         [0049]    Then, based on the ratio defined in step S 270  or S 280 , the control unit  160  controls the object to be moved and displayed in response to a drag input at step S 290 . 
         [0050]      FIGS. 3 and 4  are schematic diagrams illustrating a process of moving an object based on the ratio of a drag speed to an object speed in accordance with embodiments of the invention. 
         [0051]      FIG. 3  is a schematic diagram illustrating a process of moving an object in response to a drag input when a drag speed and an object speed are set equally. 
         [0052]    As shown in  FIG. 3 , the display unit  142  of the mobile terminal  100  displays an object  310  and a control region  320 . As mentioned above, the control region  320  is an area where a touch input and/or a drag input are received to control the object  310 . Although  FIG. 3  illustrates the object  310  located at the outside of the control region  320 , in an alternate embodiment, the object  310  may be located at the inside of the control region  320 . 
         [0053]    The control unit  160  detects user&#39;s touch input from the control region  320 . If a drag input is completed and detected within a predetermined time, e.g., 0.5 second, after a detection of the initial touch input, the control unit  160  defines the ratio of a drag speed to an object speed as an equal value. In other words, the drag speed and the object speed are set equally. Note that the predetermined time adjustable (i.e., by a user). 
         [0054]    Thus, if a drag input is inputted from the position “a” to the position “b” in the control region  320  within the predetermined time, the control unit  160  moves the object from the position “a” to the position “b” at the same speed as the drag speed. 
         [0055]    Meanwhile,  FIG. 4  is a diagram illustrating a process of moving an object in response to a drag input when a drag speed and an object movement speed are set differently. 
         [0056]    As shown in  FIG. 4 , the display unit  142  of the mobile terminal  100  displays an object  410  and a control region  420 . 
         [0057]    The control unit  160  detects user&#39;s touch input from the control region  420 . If a drag input is detected after a predetermined time, e.g., 0.5 second, has elapsed, the control unit  160  defines the ratio of a drag speed to an object movement speed as an unequal value, 1 to a, in which “a” is greater or smaller than 1. In other words, the drag speed and the object speed are set differently. Note that if the drag motion is detected after the 0.5 second, the drag speed and the object speed are set differently. For example, if the drag input is 0.5 second, the “a” can be 0.9. Also, if the drag input is 0.6 sec, the “a” cab be 0.8, and so on. 
         [0058]    Thereafter, if a drag input is inputted from the position “c” to the position “d” in the control region  420 , the control unit  160  moves the object from the position “c” to the position “d” at a speed of “a” in comparison with the drag speed. 
         [0059]      FIGS. 5 and 6  are schematic diagrams illustrating a process of moving a cursor based on the ratio of a drag speed to a cursor speed in accordance with embodiments of the invention. 
         [0060]      FIG. 5  is a schematic diagram illustrating a process of moving a cursor if a drag speeds and a cursor speed are set equally. 
         [0061]    In (a) and (b) of  FIG. 5 , a cursor  510  indicating a position for a letter input and a control region  520  for receiving a touch input and/or a drag input for controlling the movement of the cursor are shown. 
         [0062]    As shown in (a) of  FIG. 5 , the control unit  160  detects a drag input of moving a touch input to the left after the touch input is received in the control region  520 . Then, as shown in (b) of  FIG. 5 , the control unit  160  controls the cursor  510  to move to the left at the same speed as the drag speed. 
         [0063]      FIG. 6  is a schematic diagram illustrating a process of moving a cursor if a drag speeds and a cursor speed are set differently. 
         [0064]    In (a) and (b) of  FIG. 6 , a cursor  610  indicating a position for a letter input and a control region  620  for receiving a touch input and/or a drag input for controlling the movement of the cursor are shown. 
         [0065]    As shown in (a) of  FIG. 6 , the control unit  160  detects an elapse of a predetermined time (i.e., 0.5 seconds) after a touch input is received and completed in the control region  620 . Then, the control unit  160  defines the ratio of a drag speed to a cursor speed as an unequal value. In this case, it is supposed that a drag speed is set to be smaller than a cursor speed. 
         [0066]    Additionally, as shown in (b) of  FIG. 6 , the control unit  160  detects a drag input of moving a touch input to the left. Then, as shown in (c) of  FIG. 6 , the control unit  160  controls the cursor  610  to move to the left at the speed reduced with the defined ratio in comparison with the drag speed. 
         [0067]    In this embodiment, the cursor may be moved leftward space by space in a sentence. Namely, when a leftward drag input is detected at a certain speed, the control unit  160  may control the cursor to move leftward one by one in the minimum unit (for example, a character) at a speed under the drag speed. 
         [0068]      FIGS. 7 and 8  are schematic diagrams illustrating a process of moving image items in a gallery application based on the ratio of a drag speed to an image movement speed in accordance with embodiments of the invention. 
         [0069]      FIG. 7  is a schematic diagram illustrating a process of moving the image items if a drag speeds and an item speed are set equally. In this embodiment, moving the image items not only scrolls the screen containing the image items, but also changes the current screen to another screen in order to display other image items which are not contained in the current screen. 
         [0070]    In  FIG. 7 , an object which is the target of control is a plurality of image items  710  which are arranged in the display unit  142  according to a predefined rule. For example, the plurality of image items may be arranged in a grid pattern. In this case, the image items  710  are arranged in a grid or matrix form. Additionally, a control region  720  which receives a touch input and/or a drag input in order to control the movement of the image items is displayed. Also, a handler  730  which is located in the control region  720  is displayed as the target of the touch and/or drag input. In another embodiment, the handler  730  may be not used, namely, removed from the screen. 
         [0071]    After a touch input is detected through the handler  730 , the control unit  160  detects a drag input of moving rightward the touch input. Then, the control unit  160  controls the image items arranged in a grid or matrix form to move to the left at the same speed as the drag speed. As the image items are moved leftward, hidden image items arranged at the right of the image items D 1  and D 2  are moved to and displayed on the display unit  142 . 
         [0072]    Although in this embodiment the image items are moved in the opposite direction to a drag direction, an alternative embodiment in which the image items are moved in the same direction as a drag direction is also possible. 
         [0073]      FIG. 8  is a schematic diagram illustrating a process of moving the image items if a drag speeds and an image movement speed are set differently. In this embodiment, moving the image items includes scrolls and changing the screen containing the image items. 
         [0074]    In  FIG. 8 , an object which is the target of control is a plurality of image items  810  which are arranged in the display unit  142  according to a predefined rule. For example, the plurality of image items may be arranged in a grid pattern. In this case, the image items  810  are arranged in a grid or matrix form. Additionally, a control region  820  which receives a touch input and/or a drag input in order to control the movement of the image items is displayed. Also, a handler  830  which is located in the control region  820  is displayed as the target of the touch and/or drag input. In another embodiment, the handler  830  may be not used, namely, removed from the screen. 
         [0075]    After a touch input is received through the handler  830 , the control unit  160  detects the drag motion after an elapse of a predetermined time (i.e., 0.5 seconds). Then, the control unit  160  defines the ratio of a drag speed to an image movement speed as an unequal value. In this case, a drag speed is set to be smaller than an image movement speed. 
         [0076]    Thereafter, the control unit  160  detects from the handler  830  a drag input of moving rightward the touch input. Then, the control unit  160  controls the image items arranged in a grid or matrix form to move to the left at an increasing speed in comparison with the drag speed. As the image items are moved leftward, hidden image items arranged at the right of the image items D 1  and D 2  are moved to and displayed on the display unit  142 . 
         [0077]      FIGS. 9 and 10  are schematic diagrams illustrating a process of moving list items in a list of contacts based on the ratio of a drag speed to a list speed in accordance with embodiments of the invention. 
         [0078]      FIG. 9  is a schematic diagram illustrating a process of moving the list items if a drag speeds and a list speed are set equally. In this embodiment, moving the list items not only scrolls the screen containing the list items, but also changes the current screen to another screen in order to display other list items which are not contained in the current screen. 
         [0079]    In  FIG. 9 , an object which is the target of control is a plurality of list items  910 , e.g., contacts, which are arranged in the display unit  142  according to a predefined rule, for example, as described in  FIG. 9 , from up to down of screen. In this case, the list items  910  are arranged lengthwise in alphabetical order. Additionally, a control region  910  which receives a touch input and/or a drag input in order to control the movement of the list items is displayed. 
         [0080]    After a touch input is detected through the control region  910 , the control unit  160  detects a drag input of moving the touch input downward. Then, the control unit  160  controls the list items arranged lengthwise to move downward at the same speed as the drag speed. 
         [0081]    Although in this embodiment the list items are moved in the same direction to a drag direction, an alternative embodiment in which the list items are moved in the opposite direction as a drag direction is also possible. 
         [0082]      FIG. 10  is a schematic diagram illustrating a process of moving the list items if a drag speeds and an image movement speed are set differently. 
         [0083]    In  FIG. 10 , an object which is the target of control is a plurality of list items  1020 , e.g., contacts, which are arranged in the display unit according to a predefined rule, for example, as described in  FIG. 10 , from up to down of screen. In this case, the list items  1020  are arranged lengthwise in alphabetical order. Additionally, a control region  1010  which receives a touch input and/or a drag input in order to control the movement of the list items is displayed. 
         [0084]    After a touch input is received in the control region  1010 , the control unit  160  detects the drag motion after an elapse of a predetermined time (i.e., 0.5 second). Then, the control unit  160  defines the ratio of a drag speed to a list speed as an unequal value. In this case, it is supposed that a drag speed is set to be smaller than a list speed. 
         [0085]    According to the teachings of the present invention, the ratio of a drag speed to an object speed is set differently or defined as a certain unequal value. 
         [0086]    Thereafter, the control unit  160  detects from the control region  1010  a drag input of moving the touch input downward. Then the control unit  160  controls the list items arranged lengthwise to move downward at an increasing speed in comparison with the drag speed. 
         [0087]    Although in this embodiment the list items are moved in the same direction to a drag direction, an alternative embodiment in which the list items are moved in the opposite direction as a drag direction is also possible. 
         [0088]    As discussed hereinbefore, when a drag input is detected after a predetermined time has elapsed from the time point of a touch input, the ratio of a drag speed to an object speed is set differently so that an object displayed in the screen is moved according to the set ratio in response to a drag input. Using this feature, it is therefore possible to move a cursor minutely in a sentence having a small font size and a narrow spacing or to scroll image items or list items quickly. It should be also noted that although 0.5 second is used to represent the predetermined time for illustrative purposes, other time periods can be used as a threshold time to set the ratio of a drag speed to an object speed according to the teachings of the present invention. 
         [0089]    The above-described methods according to the present invention can be implemented in hardware, firmware or via execution of software or computer code that can be stored in a recording medium such as a CD ROM, an RAM, a floppy disk, a hard disk, or a magneto-optical disk or computer code downloaded over a network originally stored on a remote recording medium or a non-transitory machine readable medium and to be stored on a local recording medium, so that the methods described herein can be rendered in such software that is stored on the recording medium using a general purpose computer, or a special processor or in programmable or dedicated hardware, such as an ASIC or FPGA. As would be understood in the art, the computer, the processor, microprocessor controller or the programmable hardware include memory components, e.g., RAM, ROM, Flash, etc. that may store or receive software or computer code that when accessed and executed by the computer, processor or hardware implement the processing methods described herein. In addition, it would be recognized that when a general purpose computer accesses code for implementing the processing shown herein, the execution of the code transforms the general purpose computer into a special purpose computer for executing the processing shown herein. 
         [0090]    Although exemplary embodiments of the invention have been described in detail hereinabove, it should be understood that many variations and modifications of the basic inventive concept herein described, which may be apparent to those skilled in the art, will still fall within the spirit and scope of the exemplary embodiments as defined in the appended claims.