WO2014058233A1 - 데이터 프리로드를 통한 사용자 디바이스의 gui 반응 속도 증대 방법 및 그 사용자 디바이스 - Google Patents

데이터 프리로드를 통한 사용자 디바이스의 gui 반응 속도 증대 방법 및 그 사용자 디바이스 Download PDF

Info

Publication number
WO2014058233A1
WO2014058233A1 PCT/KR2013/009039 KR2013009039W WO2014058233A1 WO 2014058233 A1 WO2014058233 A1 WO 2014058233A1 KR 2013009039 W KR2013009039 W KR 2013009039W WO 2014058233 A1 WO2014058233 A1 WO 2014058233A1
Authority
WO
WIPO (PCT)
Prior art keywords
preload
selection
data
target object
area
Prior art date
Application number
PCT/KR2013/009039
Other languages
English (en)
French (fr)
Inventor
이승엽
유주완
한건희
Original Assignee
연세대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020120113119A external-priority patent/KR101414237B1/ko
Priority claimed from KR1020130050090A external-priority patent/KR101372484B1/ko
Application filed by 연세대학교 산학협력단 filed Critical 연세대학교 산학협력단
Priority to US14/434,970 priority Critical patent/US9886177B2/en
Publication of WO2014058233A1 publication Critical patent/WO2014058233A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures

Definitions

  • the present invention relates to a method for increasing GUI response speed of a user device through data preload and a user device thereof. More specifically, the present invention relates to a method for preloading data so that an immediate response can be made when a user selects a particular GUI object and the user device.
  • GUI graphical user interface
  • Korean Patent Publication No. 2010-0045868 describes a technique of performing a specific function when the mouse over.
  • U.S. Patent No. 8,112,619 describes a technique for preloading an application to increase the execution speed of the application.
  • these documents do not describe a method and its user device that pre-load the data so that an immediate response can be made when the user selects a particular GUI object.
  • the technical problem to be solved by the present invention is to predict the selection in advance based on the position of the pointer, before the user makes a selection for a specific object provided on a graphical user interface (GUI), and load when the selection of the specific object It provides a data preloading method that improves the response speed of a user device by preloading data to be preloaded.
  • GUI graphical user interface
  • Another technical problem to be solved by the present invention is to predict the selection in advance based on the distance between the pointing device and the touch display before the user makes a selection for a particular object provided on a graphical user interface (GUI), It provides a data preloading method that improves the response speed of a user device by preloading data to be loaded when a specific object is selected.
  • GUI graphical user interface
  • Another technical problem to be solved by the present invention is to receive a predetermined selection notice signal before the user makes a selection for a specific object provided on a graphical user interface (GUI), the selection target corresponding to the selection notice signal
  • GUI graphical user interface
  • the present invention provides a data preloading method for improving a response speed of a user device by adding an object to a preload pool and preloading data of an object included in the preload pool.
  • Another technical problem to be solved by the present invention is to provide a user device that receives a predetermined selection notice touch input for a touch display and improves a response speed by preloading data of an object corresponding to the notice touch input. It is.
  • Another technical problem to be solved by the present invention is to predict the selection in advance based on the position of the pointer and the user's gaze before the user makes a selection for a particular object provided on the graphical user interface (GUI), It is to provide a user device having an increased response speed by preloading data to be loaded when the specific object is selected.
  • GUI graphical user interface
  • the present invention provides a data preloading method capable of increasing a response speed of a user device by preloading data to be loaded when the specific object is selected.
  • Another technical problem to be solved by the present invention is to form a mathematical model indicating a selection pattern using the collected parameter data of the input pattern, and to select in real time the data representing the user's pointer operation using the mathematical model It is to provide a data preloading method for determining whether to preload data by determining one of a pattern and an unselected pattern.
  • a method of preloading a data of a user device to analyze the user input to the selection of the selection object included in the graphical user interface (GUI) by analyzing the user input to the user device Predicting in advance, pre-loading the load target data to be loaded when the selection target object is selected in the prediction, and accessing the preloaded data when the selection target object is selected;
  • the predicting may be based on a user input analysis such as analyzing a pointer position according to a pointing device manipulation among the user inputs or analyzing a distance between the pointing device and the touch display panel.
  • a user input analysis such as analyzing a pointer position according to a pointing device manipulation among the user inputs or analyzing a distance between the pointing device and the touch display panel.
  • the present invention is not limited to predicting the selection through a specific type of user input analysis.
  • the pre-predicting may include a pointer having a predetermined time within a preload area of the object to be selected. In case of staying abnormally, the method may include predicting that there is a selection for the selection target object.
  • the predicting may include predicting that there is a selection for the selected object selected based on the pointer position at the time of satisfying the requirement when the moving speed of the pointer satisfies a predetermined requirement.
  • the pre-predicting may include predicting whether to select the object to be selected by inputting data on user input to a user device into a mathematical model indicating a selection prediction pattern. It may also include a step.
  • the data preloading method determines a preloading area of the selection target object in proportion to an area of the area on which the selection target object occupies in an area on a graphical user interface (GUI), and determines the width of the determined preloading area as the loading target.
  • the method may further include adjusting according to the size of the data.
  • the preloading may include partially preloading a portion of the load target data, and the size of the partially preloaded data may be determined according to the type of the load target data.
  • the partial preloading may include detecting a decrease in the distance between the pointing apparatus and the touch display of the user device, and preloading at least another portion of the load target data.
  • the partial preloading may include analyzing an image photographed by a camera disposed at a front surface of the user device to detect that the distance between the touch means and the display of the user device is reduced, and thus at least another portion of the load target data. Preloading a portion.
  • the data preloading method for solving the above technical problems includes at least part of an area in which a selection target object is disposed in a preload area formed based on a pointer position, and a state of the data preload If the selection target object is maintained, preloading the load target data to be loaded when the selection target object is selected, and accessing the preloaded data when the selection target object is selected.
  • the preload region may have a weight that is formed to be higher as it is closer to the pointer position.
  • the preloading of the load target data may be performed based on a weight corresponding to an area where the preload area and the layout area overlap when there are a plurality of objects including at least a part of the layout area in the preload area. And selecting one of the selection target objects.
  • a method of preloading data of a user device includes measuring and analyzing a distance between a point tip of a pointing device and a touch display of the user device, and the result of the analysis. Predicting selection of a selection target object corresponding to a position indicated by the pointing device among objects displayed on the touch display, and selecting the selection target object when the selection of the selection target object is predicted Pre-loading the load target data to be loaded when the selection target object is selected; and accessing the preloaded data when the selection target object is selected.
  • the predicting may include predicting that the selection target object is to be selected when the distance between the pointing device and the touch display is less than or equal to a predetermined threshold.
  • the preloading may include: when the interval is less than or equal to a first predetermined threshold, partially preloading a portion of the load target data; and when the interval is less than or equal to a predetermined second threshold less than the first threshold.
  • the method may include preloading at least another part of the load target data.
  • the predicting may include predicting that the selection target object is to be selected when the speed at which the distance between the pointing device and the touch display decreases is more than a predetermined threshold. That is, the predicting may include predicting that the selection target object will be selected when the speed of the touch display direction of the pointing device is greater than or equal to a predetermined threshold.
  • the data preloading method for solving the above technical problems receives a predetermined selection notice signal according to an operation of a pointing device, and preloads a selection target object that is a target of the selection notice signal. Adding to the pool, preloading load target data to be loaded when the selection target object is selected for each selection target object added to the preload pool, the preload If one of the selection target objects included in the load pool is selected, the method may include accessing the preloaded data.
  • the preloading may include inserting into a preload cache included in the user device, and the accessing may include removing the preloaded data from the preload cache after the access. Can be.
  • the preloading step may include inserting into a preload cache included in the user device and automatically removing the preload cache data from the preload cache when the load target data inserted into the preload cache exceeds a predetermined time. Can be.
  • a user device for solving the technical problems is a touch display for displaying a selection target object, a preload cache, a predetermined selection notice for the selection target object displayed on the touch display
  • the selection predicting unit inserts load target data to be loaded into the preload cache when the selection target object is selected, and by a touch on the selection target object displayed on the touch display.
  • a data access unit configured to access the load target data stored in the preload cache and to display a processing result of the load target data on the touch display when a selection target object is selected.
  • the selection notice touch input may be a pointer staying in the preload area of the selection target object for a predetermined time or more.
  • the selection notice touch input may be a pointer staying in a non-contact state for more than a predetermined time in the preload area of the selection target object.
  • the user device is provided with a display, a preload cache, and a pointing related input signal for displaying a selection object, and an arrangement area of the selection object and the pointing point. It is determined whether the selection target object is preloaded in consideration of all the pointer positions determined based on the associated input signal, and when the selection target object is selected, the load to be loaded when the selection target object is selected.
  • a user recognition unit for calculating a gaze coordinate indicating a pupil position of a user, a pointer is located within a preload region for a selected object, for a predetermined time or more
  • a preload performing unit which preloads target object data to be loaded when the selection target object is selected when the gaze position determined by the gaze coordinates and the preload area are included in the same gaze partitioning region
  • a data access unit for accessing the preloaded target object data when the selection target object is selected by the user's manipulation.
  • the preload performing unit may determine the position of the gaze position based on the gaze division area including the preload area.
  • the preload may be performed according to a moving direction and a moving distance, and the moving direction may be a direction toward the gaze dividing area including the preload area.
  • the direction toward the gaze dividing area may be determined based on whether an angle determined according to the current gaze position and the gaze position after the movement is included in a preset angle range.
  • the preload execution unit may load the target object data and store the target object data in the preload cache unit.
  • the preload execution unit the target object to be loaded when the selection target object is selected when the distance between the gaze position determined by the line of sight coordinates and the position of the pointer decreases below a predetermined limit distance; You can also preload data.
  • the preload execution unit may delete the target object data stored in the preload cache unit.
  • a gaze recording unit for recording the movement history of the gaze coordinates, a gaze movement pattern determination unit for determining a gaze movement pattern using data recorded in the gaze recording unit, and disposing the gaze segmentation area according to the determined gaze movement pattern;
  • the apparatus may further include an area division personalization unit.
  • a data preloading method comprising: calculating a gaze coordinate indicating a position of a user's pupil; a pointer is positioned within a preload region for a selection target object for a predetermined time; Pre-loading target object data to be loaded when the selection target object is selected when the gaze position determined by the gaze coordinates and the preload region are included in the same gaze partitioning region; and The method may include accessing the preloaded target object data when the selection target object is selected by the user's manipulation.
  • the performing of the preload may include: when the position of the gaze and the preload area are included in different gaze division areas, the gaze division area including the preload area is included in the gaze division area.
  • the preload may be performed according to the moving direction and the moving distance of the gaze position, and the moving direction may be a direction toward the gaze dividing area including the preload area.
  • the direction toward the gaze dividing area may be determined based on whether an angle determined according to the current gaze position and the gaze position after the movement is included in a preset angle range.
  • a data preloading method comprising: calculating a gaze coordinate indicating a position of a user's pupil; a pointer is positioned within a preload region for a selection target object for a predetermined time; Pre-loading target object data to be loaded when the selection target object is selected when the gaze position determined by the gaze coordinates and the preload region are included in the same gaze partitioning region; and The method may include accessing the preloaded target object data when the selection target object is selected by the user's manipulation.
  • the present invention there is an effect that can provide an immediate UI response according to the user's operation. For example, when the user selects a specific video link using the stylus pen, the video is preloaded, that is, buffered, while the stylus pen approaches the video link, and the video is performed using the stylus pen. At the time of selecting the link, the buffered video data can be played immediately.
  • a user using a user device to which the data preloading method according to the present invention is applied can experience immediate response speed without increasing hardware performance.
  • FIG. 1 is a flowchart of a data preloading method according to an embodiment of the present invention.
  • FIGS. 2 to 4 are conceptual views illustrating a method of predicting an object selection based on a preload area of an object in a data preloading method according to an embodiment of the present invention.
  • 3 to 6 are conceptual views illustrating a method of predicting an object selection based on a pointer position in a data preloading method according to an embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a partial preload concept in a data preload method according to an embodiment of the present invention.
  • FIGS. 8 to 12 are conceptual views illustrating a method of predicting object selection based on a distance between a pointing device and a display in a data preloading method according to an embodiment of the present invention.
  • FIG. 13 is a conceptual diagram illustrating a method of operating a preload pool in a data preload method according to an embodiment of the present invention.
  • FIG. 14 is a block diagram of a user device according to an embodiment of the present invention.
  • 15 is a block diagram of a user device according to another embodiment of the present invention.
  • FIG. 16 schematically illustrates a user device according to an embodiment of the present invention.
  • 17 and 18 schematically illustrate an object, a preload area, a pointer position, and a gaze division area according to an embodiment of the present invention.
  • 19 and 20 schematically illustrate a case where a pointer position and a gaze position exist in the same gaze dividing area according to an embodiment of the present invention.
  • 21 is a diagram schematically illustrating a case where a pointer position and a gaze position exist in different gaze division regions according to an exemplary embodiment of the present invention.
  • 22 to 24 schematically illustrate conditions for preloading when a pointer position and a gaze position exist in different gaze division areas according to an embodiment of the present invention.
  • FIG. 25 schematically illustrates an embodiment in which the gaze dividing area is dynamically set according to an embodiment of the present invention.
  • FIG. 26 schematically illustrates a case in which a preload is performed in a user device according to another embodiment of the present invention.
  • FIG. 27 is a flowchart illustrating steps of preloading when a pointer position and a gaze position exist in the same gaze dividing area according to an exemplary embodiment of the present invention.
  • FIG. 28 is a flowchart illustrating steps of preloading when a pointer position and a gaze position exist in different gaze division regions according to an exemplary embodiment of the present invention.
  • Instructions stored in may produce an article of manufacture containing instruction means for performing the functions described in the flowchart block (s).
  • Computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operating steps may be performed on the computer or other programmable data processing equipment to create a computer-implemented process to create a computer or other programmable data. Instructions for performing the processing equipment may also provide steps for performing the functions described in the flowchart block (s).
  • the term 'part' or 'module' refers to software or a hardware component such as an FPGA or an ASIC, and the 'part' or 'module' plays certain roles. However, 'part' or 'module' is not meant to be limited to software or hardware.
  • the 'unit' or 'module' may be configured to be in an addressable storage medium or may be configured to play one or more processors.
  • a "part” or “module” may be used to refer to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, Procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
  • Functions provided within components and 'parts' or 'modules' may be combined into a smaller number of components and 'parts' or 'modules' or into additional components and 'parts' or 'modules'. Can be further separated.
  • a data preloading method is provided.
  • the data preloading method includes all user devices that support both an input for selecting a predetermined object included in a graphical user interface (GUI) and a pointer movement input for moving between a plurality of the objects. Can be applied to
  • the user device may have a touch display.
  • a user device having a touch display will be referred to as a “touch type user device”.
  • the user device does not have a touch display.
  • the user device may support an input device including a selection means such as a mouse, a trackball, a stylus pen, a touch pad, and a pointer moving means.
  • a selection means such as a mouse, a trackball, a stylus pen, a touch pad, and a pointer moving means.
  • a user device supporting both an input for selecting the object and a pointer movement input through an input device having both a selection means and a pointer movement means will be referred to as a 'mouse type user device'.
  • the touch type user device should be limited to supporting both touch input for selecting a specific object and touch input for moving the pointer.
  • the touch type user device may support contactless touch.
  • the non-contact touch may be a position of a pointing device or a finger in which a touch sensor included in the touch display is not in contact with the touch display.
  • the non-contact touch may be interpreted as a touch input for moving the pointer, and the touch input made of contact may be interpreted as a touch input for selecting the specific object.
  • the touch type user device may include, for example, an electromagnetic inductive touch display, an active capacitance touch display, or a non-contact touch state in order to support the non-contact touch. It may be provided with an infrared sensor, but is not limited to having a specific type of touch display.
  • the embodiment starts with the user device receiving an input for moving the pointer (S102).
  • the user device may receive a mouse movement signal or the non-contact touch signal.
  • the user device analyzes the input signal to determine whether a selection for a specific selection target object is predicted (S104).
  • the user device may make the determination as to whether a selection for a specific selection target object is predicted based on the position of the pointer. For example, when the location of the pointer stays in the area in which the object is disposed or in a predetermined preload area allocated to the object, or when the area in which the object is disposed is included in the preload area formed around the pointer, It can be expected that the object will be selected.
  • the user device may make the determination as to whether a selection for a specific selection target object is predicted based on the moving speed of the pointer. For example, a pointer position when the movement speed of the pointer decreases from a predetermined first threshold speed to a predetermined second threshold speed or less is designated as a preload snapshot position and is disposed at the preload snapshot position.
  • the selected object or an object having a preload area formed including the preload snapshot position may be selected as the selection target object, and the user may predict that the selection target object is selected.
  • the first speed limit may be greater than the second speed limit, but the first speed limit and the second speed limit may be the same speed.
  • the user device may be configured to locate the pointer.
  • the movement speed of the pointer are all reflected to determine whether a selection for a specific selection target object is predicted. For example, even if the pointer stays in an area where an object is disposed or in a predetermined preload area allocated to the object, the moving speed of the pointer exceeds a predetermined limit or the time to stay is less than a predetermined limit. May not predict that the object will be selected.
  • the determination may be performed based on the interval between the display and the pointing device or whether a predetermined predetermined notice signal is input in the non-contact touch state.
  • Various embodiments of performing a determination as to whether a selection for a specific selection target object is predicted will be described later. It should be noted, however, that the present invention is not limited to predicting the selection through a particular type of user input analysis.
  • a selection prediction mathematical model based on pre-collected user input parameter data is established, and whether or not selection prediction may be determined by inputting a user input signal input in real time to the mathematical model.
  • the user device preloads load target data to be loaded when selecting the selection target object (S106).
  • the load target data may be loaded into a preload cache provided in the predetermined user device.
  • the preload cache may be configured using, for example, a random access memory (RAM) provided in the user device.
  • the load target data may be data stored in the user device. That is, the load target data may be data stored in a storage unit other than the memory provided in the user device, for example, a hard disk, an SSD, a memory card, and the like. In addition, the load target data may be received from an external device through a network.
  • the application providing the selection target object directly accesses the preloaded data (S110), and displays a response to the selection of the selection target object using the accessed data (S112) to reduce the data loading time. You can.
  • the prediction may be wrong. For example, a user may not place a pointer on the specific object to select the specific object and not click on the specific object. However, even if the prediction hits only 50%, the data loading speed experienced by the user may increase by about two times.
  • the present embodiment determines whether to perform preload based on whether the pointer stays in the preload area of the selection target object for more than a predetermined time. According to the present embodiment, even when the pointer stays in the preload area of the selection target object for more than a predetermined time, the preload may not be performed when the moving speed of the pointer exceeds a predetermined limit value.
  • GUIs may configure a GUI provided by the user device 10.
  • the user device 10 may include a plurality of objects 111, 112, 113, 114, 115, and 116 included in the list 110, an object 120 for enlarging an image, and an object for playing a video.
  • GUIs including 130 and 140 may be provided.
  • each object 111, 112, 113, 114, 115, 116, 120, 130, 140 has a preload area.
  • the preload is started by predicting the selection of the specific object.
  • the preload area of the specific object is an area in which the specific object is displayed, and may be the same as the layout area in which the selection input for the specific object is processed when an input for selection such as a mouse click and a touch is made in the area.
  • the preload area may be enlarged or reduced within a specified range from the placement area.
  • the user In order to select a specific object, the user needs to move the pointer to the area where the specific object is displayed, and select the specific object after a predetermined waiting time.
  • the present embodiment may use this pattern to predict whether the user selects a specific object.
  • the pointer retention time in the preload area of a specific object which is a requirement of preload initiation may be automatically increased or decreased from the initial setting value by statistically analyzing the pointer retention time before the user selects a specific object. have.
  • the preload may not be performed when the moving speed of the pointer exceeds a predetermined limit value. If the object to be selected is large, the pointer retention time may be exceeded even during the pointer movement, in which case it is not necessary to perform preload.
  • the preload area 1110 of one of the objects included in the list 110 is illustrated.
  • the preload regions 122 of the image object 120 and the preload regions 132 and 142 of the video objects 130 and 140 are also shown.
  • the pointer remains in the preload area 122 of the image object 120 for a predetermined time or more. According to the present embodiment, in this case, image data corresponding to the image object 120 will be preloaded.
  • list 110 may be an email list.
  • Each item 111-116 of the list 110 will only display the subject, sender, etc. of the mail. The user will select the item to check the contents of the mail.
  • a mail item once a mail item is selected it will start loading mail content from a storage unit provided in the user device or from a mail server connected via a network.
  • the pointer stays in the mail item for a predetermined time or more, the mail content is preloaded at that time, and when the user selects the mail item, the preloaded mail content is directly accessed, so that the mail content can be immediately checked. .
  • the user device may adjust the width of the preload area of the selection target object according to an hourly data demand amount of the load target data based on the area where the selection target object is displayed.
  • the amount of data required per hour of the load target data may be, for example, a bit rate of video content.
  • FIG 3 illustrates an embodiment in which the area of the preload area of the selection target object increases as the amount of data required per hour of the load target data increases.
  • the preload area of the first video object 130 is determined as the first area 132 in proportion to the area of the area on the graphical user interface (GUI), and the second area in proportion to the amount of data required per hour of the video data. 132 is extended to adjust.
  • the preload area of the second video object 140 is determined as the first area 142 in proportion to the area of the area on the graphical user interface (GUI), and is proportional to the amount of data required per hour of the video data. 2 areas 143 are extended and adjusted. 3 illustrates that the bit rate of the load target data of the second video object 140 is smaller than the bit rate of the load target data of the first video object 130. It is shown that the preload area extends less than the video object 130.
  • the user device may increase the width of the preload area as the size of the load target data increases, thereby increasing the possibility of preloading for an object having a large size of the load target data.
  • FIG. 4 illustrates an embodiment in which the area of the preload area of the selection target object decreases as the amount of data required per hour of the load target data increases, in contrast to FIG. 3.
  • the preload area of the first video object 130 is determined as the first area 132 according to the area of the area on the graphical user interface (GUI), and the data to be loaded of the first video object 130 has.
  • the size of the second region 134 is reduced and adjusted by a size proportional to the bit rate.
  • the preload area of the second video object 140 is determined as the second area 142 according to the area of the area on the graphical user interface (GUI), and the load target data of the second video object 140. Is reduced to the second region 144 by a size proportional to the bit rate.
  • FIG. 4 it is assumed that the bit rate of the load target data of the second video object 140 is smaller than the bit rate of the load target data of the first video object 130. It is shown that the preload area is reduced less than the video object 130.
  • the weight used to adjust the preload area width of the selection object based on the hourly data demand of the data to be preloaded increases with the rate at which the preloaded object selection prediction hits. Can be reduced. That is, the user device applies the weight to increase the width of each preload area when the hit ratio is high, so that data preload is frequently performed, and when the hit ratio is low, the width of each preload area is narrow. The number of data preloads can be reduced by applying the weight.
  • the object when an area in which a specific object is disposed is included in at least a portion of the preload area formed around the pointer, the object may be predicted to be selected. Such an embodiment will be described with reference to FIGS. 5 to 7.
  • FIG. 5 illustrates that the preload region 220 is formed around the pointer 200.
  • the preload area 220 may be displayed in the GUI transparently or semitransparently, but may not be displayed at all.
  • the preload region 220 is illustrated as a circle around the pointer 200, but the shape of the preload region 220 is not limited to the circle. However, the preload area 220 moves together with the movement of the pointer 220.
  • the object when at least part of a region where a specific object is disposed is included in the preload region 220 formed around the pointer 200, the object may be selected.
  • an area where the second video object 140 is disposed in the preload area 220 partially overlaps. Therefore, when the state in which the region where the second video object 140 is disposed in the preload area 220 partially overlaps is maintained for a predetermined time or more, the second video object 140 is predicted to be selected and the preload is to be started. Can be. According to an embodiment of the present disclosure, even when the state where the region where the second video object 140 is disposed in the preload area 220 partially overlaps for a predetermined time or more, the moving speed of the pointer 200 exceeds a predetermined limit. Since it's just passing by, it can not start preloading.
  • preload target There may be a plurality of objects at least partially overlapping the regions disposed in the preload region 220. In this case, only one object that overlaps the widest area may be selected as the preload target, all objects may be selected as the preload target, or a predetermined number of objects may be selected as the preload target in the order in which the wide areas overlap.
  • weights may be differently formed in the preload region 220.
  • the weight may be used to select a preload target when there are a plurality of objects at least partially overlapping the regions disposed in the preload region 220.
  • the weight may have a higher value in an area adjacent to the pointer 200.
  • the region where the preload region 220 and the object arrangement region overlap is given a weight corresponding to the overlapping region of the preload region 220.
  • both the layout area of the first video object 130 and the layout area of the second video object 140 overlap the preload area 220, and the first video object 130 is pre-free. Since the weight of the region overlapping with the load region 220 is lower than the weight of the region overlapping the preload region 220, the second video object 140 may be selected as a preload target. .
  • whether to preload is determined based on whether the preload region 220 adjacent to the pointer 200 and the preload regions 132 and 142 formed based on the arrangement region of the object overlap. It may be.
  • the preload area 220 adjacent to the pointer 200 is a preload area 132 of the first video object 130 and a preload area 142 of the second video object 140.
  • both the first video object 130 and the second video object 140 are selected as preload targets, or the first video object 130 and The second video object 140, in which a wide area of the second video object 140 overlaps, may be selected as a preload target.
  • the second video object 140 may be selected as a preload target according to a weight corresponding to a region where the preload regions overlap. .
  • the data preload may be performed in two or more steps. That is, in the first partial preload, a part of the load target data is preloaded, in the second partial preload, a part of the remaining load data is preloaded, and in the third partial preload, the remaining part of the load target data is loaded.
  • the load target data may be divided and preloaded in a manner such as preloading. It can be understood that as the partial preload proceeds sequentially, the object selection probability becomes higher. 5 is a flowchart for explaining the present embodiment.
  • the preload S106 described with reference to FIG. 1 is performed in steps. That is, when preload is started, not all of the load target data is preloaded, but only a portion is preloaded (S162), and when it is determined that the object selection probability is higher in that state (S164), the remaining or all of the load targets are loaded. Data may be preloaded (S166).
  • the size of data partially preloaded (S162) may be determined according to the data type. For example, in the case of the image type, in the case of the video type, the ratio of the data to be partially preloaded or the size of the data to be partially preloaded may be specified in advance.
  • the partial preload S162 is started when the pointer stays in the object preload area for a first time, and when the pointer remains for a second time longer than the first time, the remaining preload is performed.
  • the rod S166 may be initiated.
  • the partial preload S162 is started, and the pointing device approaches the touch display so that the distance between the pointing device and the touch display is the first distance. If the second distance is shorter than one distance, the remaining preload S166 may be started.
  • the data preloading method measures and analyzes an interval between a point tip of a pointing device and a touch display of a user device, and uses the result of the analysis to display the pointing device among the objects displayed on the touch display. Predict the selection of the selection target object corresponding to the location pointed to. That is, in the present embodiment, like the electromagnetic induction type, when the location of the pointing device can be determined even if the touch display is not touched, the present invention must inevitably approach the specific point before touching the specific point with the pointing device. Predict the selection of a specific object using.
  • the user device may display the display device.
  • the pointer 200 may be displayed on the screen.
  • the load target data of the selection target object 130 corresponding to the position of the pointer 200 is preloaded. do. At this time, the entire load target data may be preloaded, or only a part of the load target data may be partially preloaded.
  • FIG. 11 is a diagram where the pointing device 300 approaches the display more than shown in FIG. 10. In FIG. 11, it is assumed that partial preload is performed in FIG. 10. When the pointing device 300 approaches the display within the entire preload distance, which is shorter than the preload limit, the entire remaining load data of the selection target object 130 corresponding to the position of the pointer 200 is free. Loaded.
  • the pointing device 300 touches a display to generate a touch signal.
  • the loaded target data is directly accessed instead of loading the target data from then on.
  • the preloaded load target data may be accessed in a cache area allocated to a partial area of the memory.
  • the preload may be determined based on the speed at which the distance between the pointing device 300 and the display decreases. That is, the preload may be performed when the speed at which the interval is reduced is greater than or equal to a predetermined threshold.
  • the data preloading method receives a predetermined selection notice signal and preloads the load target data of the selection target object corresponding to the selection notice signal.
  • a predetermined selection notice signal receives a predetermined selection notice signal and preloads the load target data of the selection target object corresponding to the selection notice signal.
  • the user can explicitly command to preload by specifying a specific object. For example, if there is a GUI screen including the first, second, third, and fourth objects, the user inputs a selection notice signal for the first and third objects that the user is interested in but do not want to open immediately. If you actually select an object, you can quickly open it through the preloaded data.
  • the data preloading method receives a predetermined selection notice signal according to an operation of a pointing device, adds a selection target object, which is a target of the selection notice signal, to a preload pool, and adds a selection target object to the preload pool. For each added selection object, when the selection object is selected, preload the load target data to be loaded, and one of the selection objects included in the preload pool is selected. And accessing the preloaded data.
  • the selection notice signal may be, for example, using a pen-type pointing device 302, wherein a button provided in the pointing device 302 is operated in a non-contact touch state on a specific object 120, 130, or a specific object ( Quickly shaking the pointer in a state where the pointer is positioned on the 120 and 130, and quickly adjusting a distance between the pointing device 302 and the display in a non-contact touch state on the specific object 120 and 130 may be used. .
  • the selection notice signal is input to two objects 120 and 130, and two objects are added to the preload pool.
  • the preload pool may be, for example, an area allocated to a predetermined position on a memory, or may be an area that is operated separately from the preload cache.
  • the preload cache may be operated in a stack of, for example, a last in first out (LIFO) scheme.
  • the load target data inserted into the preload cache is automatically deleted after a predetermined time so that the preload cache can maintain sufficient available space.
  • the load target data inserted into the preload cache is preferably removed from the preload cache after the access.
  • the user device 10 may include a touch display 100, a selection prediction unit 102, a preload cache 104, a data access unit 105, and the like. .
  • the touch display 100 displays a GUI including one or more selectable objects.
  • an object is selectable, it means that when selected, the load target data is loaded and processed to create a new response GUI.
  • the touch signal generator 101 detects a touch input to the touch display 100, converts the touch input into a touch signal, and provides the touch signal to the selection predictor 102.
  • the touch signal may be, for example, a non-contact touch signal including information about a distance between the display and the pointing device and pointing coordinates.
  • the selection predicting unit 102 receives the touch signal from the touch signal generating unit 101 to determine which object the touch signal is intended for, and whether the touch signal is a predetermined predictive touch input for the object. Determine.
  • the selection prediction unit 102 determines that the selection target object is a touch input for the selection target, as a result of the determination, the selection prediction unit 102 loads the load target data to be loaded in the preload cache 104 when the selection target object is selected. Insert it.
  • the selection prediction unit 102 loads local data previously stored in the storage unit 103 and inserts the data into the preload cache 104 or receives data stored in an external device through the network interface 106 to preload the data. May be inserted into cache 104.
  • the selection prediction unit 102 selects a case in which the pointer stays in the preload area of the selection target object for a predetermined time or more, or the pointer stays in a non-contact state for a predetermined time or more in the preload area of the selection target object. It can be determined that there is, but is not limited thereto.
  • the preload cache 104 may be allocated to a predetermined area of the memory of the user device 10.
  • the data access unit 105 accesses the load target data stored in the preload cache 104 when the selection target object is selected by a touch on the selection target object displayed on the touch display 100, and loads the load target data.
  • the data processing result is displayed on the touch display 100.
  • FIG. 15 A configuration and an operation of a user device according to another exemplary embodiment of the present invention will be described with reference to FIG. 15.
  • the user device illustrated in FIG. 15 includes a general display 107 instead of the touch display 100, and may receive an input of a pointing device such as a mouse instead of a touch input.
  • a pointing device such as a mouse
  • the user device 11 illustrated in FIG. 15 includes a pointing signal generator 108 that receives a pointing related input signal from the pointing device 12.
  • the display 100 displays a GUI including one or more selectable objects.
  • an object is selectable, it means that when selected, the load target data is loaded and processed to create a new response GUI.
  • the pointing signal generator 108 receives a pointing related input signal from the pointing device 12 and provides it to the selection prediction unit 102.
  • the pointing related input signal may be, for example, a mouse input signal including X, Y axis coordinates of a pointer.
  • the selection prediction unit 102 receives the pointing related input signal from the pointing signal generation unit 108, determines a selection target object from the pointing related input signal, and determines whether to preload the selection target object. That is, the selection prediction unit 102 receives the pointing related input signal and determines whether to preload the selection target object in consideration of both the arrangement area of the selection target object and the pointer position determined based on the pointing related input signal. Can be.
  • the method described with reference to FIGS. 2 to 8 may be used as a method for determining a selection target object and determining whether to preload the selection target object.
  • the selection prediction unit 102 has a state in which a pointer stays in the preload area of the selection target object for a predetermined time or longer, or at least a part of the layout area of the selection target object is included in the preload area of the pointer. If it is maintained for more than a time, it may be determined to preload the selected target object.
  • the selection prediction unit 102 determines that the selection target object should be preloaded as a result of the determination, when the selection target object is selected, the selection prediction unit 102 loads load target data to be loaded into the preload cache 104. Insert it.
  • the selection prediction unit 102 loads local data previously stored in the storage unit 103 and inserts the data into the preload cache 104 or receives data stored in an external device through the network interface 106 to preload the data. May be inserted into cache 104.
  • the preload cache 104 may be allocated to a predetermined area of the memory of the user device 10.
  • the data access unit 105 accesses the load target data stored in the preload cache 104 when the selection target object is selected by a touch on the selection target object displayed on the touch display 100, and loads the load target data.
  • the data processing result is displayed on the touch display 100.
  • FIG. 16 schematically illustrates a user device 10 according to another embodiment of the present invention.
  • the user device 10 may include a display unit 100, an image sensor unit 110, a pupil recognition unit 120, a preload performer 140, and a pointer.
  • the coordinate calculator 130, the preload performer 140, the preload cache 150, the storage 160, the data access unit 170, and the network interface 180 may be included.
  • the display unit 100 may be configured to display the respective objects 400, 410, 420, and 430.
  • the display unit 100 may include a display element and include a graphic, text, video, graphical user interface (GUI), and a combination thereof.
  • the display device may include a liquid crystal display (LCD), a light emitting polymer display (LPD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), and the like.
  • the display unit 100 may be configured to receive a touch input from a user.
  • the display unit 100 may include a touch sensing element to receive a touch input. The touch sensing element detects a user's touch input by using a capacitive technology, a resistive technology, Infrared technology, surface acoustic wave technology, and the like.
  • the display unit 100 may support both a touch input for selecting a specific object and a touch input for moving the pointer.
  • the non-contact touch may detect a location of a pointing device or a finger in which the touch sensing element is not in contact with the display unit 100.
  • the non-contact touch may be interpreted as a touch input for moving the pointer, and the touch input made of contact may be interpreted as a touch input for selecting the specific object.
  • the display unit 100 includes an electromagnetic induction type touch sensing element, an active capacitance type touch sensing element, or detects the position of a finger in a non-contact touch state. It may be to have an infrared sensor for.
  • Objects 410, 420, and 430 including the selection target object 400 as one embodiment of the present invention, may include various GUIs, and include objects for enlarging images, objects for playing video, and web pages. It may mean a GUI including a specific link object.
  • the image sensor unit 110 may be configured to acquire a pupil image of the user 660 to specify the gaze position 60 of the user that may be recognized by the user device 10 as the gaze coordinates.
  • the image sensor included in the image sensor unit 110 is preferably a CMOS sensor, but is not limited thereto.
  • the image sensor unit 110 may be configured to transmit the acquired image of the user to the eye recognition unit 120.
  • the eye recognition unit 120 may be electrically connected to the image sensor unit 110 to receive an image of the user 660 obtained by the image sensor unit 110. By recognizing and tracking the pupils from the received image of the user 660, the user 660 can extract the area of the display unit 100 gaze or calculate the coordinates.
  • the pupil recognition unit 120 may include an image processing module (not shown). Data about the extracted area or data about the calculated coordinates (hereinafter, referred to as “eye line coordinates”) may be transmitted to the preload performer 140 electrically connected to the eye recognition unit 120.
  • the eye recognition unit 120 calculates a gaze coordinate of a user's gaze and transmits data on the gaze coordinate to the preload performer 140, but is not limited thereto.
  • the pupil recognizing unit 120 may be configured to transmit data regarding the specific gaze segmentation area 20 including the gaze coordinates of the user.
  • the method of determining the eye gaze position 60 by recognizing the pupil by the pupil recognition unit 120 may be clearly understood by a person skilled in the art by, for example, a method disclosed in Korean Patent Laid-Open Publication No. 2010-0038897. Since it will be possible, a detailed description thereof will be omitted.
  • the pointer coordinate calculator 130 may calculate coordinates with respect to the current pointer position.
  • the pointer may be a stylus pen using an electromagnetic induction method. In some embodiments, it may mean a cursor. That is, the pointer in the present invention refers to various input / output (I / O) means that can be made for selection of each object 400, 410, 420, 430 such as a mouse, a stylus pen, a track ball, and the like. Can be.
  • the calculated pointer coordinates may be transmitted to the preload performer 140 electrically connected to the pointer coordinate calculator 130.
  • the preload performing unit 140 may perform preloading based on the received gaze coordinates and the pointer coordinates.
  • the pointer position 50 is predetermined in any one of the preload areas 30 defined in the respective objects 400, 410, 420, and 430. If the time stays longer than the time, and the pointer position 50 and the user's gaze position 60 stay within the same gaze division area 20 for a predetermined time or more, the pointer position 50 among the objects 400, 410, 420, 430. If the object to be selected by the user 660 (hereinafter, referred to as "selection object 400" as needed) is selected, the load target data to be loaded is selected as a preload cache unit (). It may be inserted into 150).
  • the preload according to the present embodiment does not perform preload only by satisfying a condition (condition 1) in which the pointer position 50 stays in the preload area 30 for a predetermined time or more. Preloading may be performed only when the pointer position 50 and the user's gaze position 60 satisfy the condition (condition 2) of staying in the same gaze dividing area 20 for a predetermined time or more.
  • condition 1 a condition in which the pointer position 50 stays in the preload area 30 for a predetermined time or more.
  • Preloading may be performed only when the pointer position 50 and the user's gaze position 60 satisfy the condition (condition 2) of staying in the same gaze dividing area 20 for a predetermined time or more.
  • condition 2 the condition of staying in the same gaze dividing area 20 for a predetermined time or more.
  • the moving directions I and II of the gaze position 60 are different. , III) and whether the moving distances A, B, C and the moving directions I, II, III of the gaze position 60 satisfy the predetermined conditions based on the moving distances A, B
  • Preloading according to another embodiment of the present invention may be performed by further reflecting the movement speed of the pointer.
  • both the pointer position 50 and the user's gaze position 60 satisfy the condition (Condition 2) that stays in the same gaze segmentation area 20 for a predetermined time or more and the requirement relating to the moving speed of the pointer (Condition 3).
  • Preloading may be performed.
  • condition 3 may be that the pointer movement speed will increase above the predetermined preload reference speed, or the pointer movement speed will decrease below the predetermined preload reference speed.
  • a preload according to another embodiment of the present invention will be described in detail with reference to FIGS. 22 to 24.
  • the preload performing unit 140 may perform preload by determining whether the gaze position 60 and the pointer position 50 exist in the same gaze dividing area 20. This may be configured to compare and determine the setting data for the gaze dividing area 20, the coordinate data of the gaze position 60 and the coordinate data of the pointer position 50.
  • the coordinate data for the gaze dividing area 20 may be preset or may be configured to be arbitrarily set by the user 660. In addition, the number of gaze dividing areas 20 may also be set in advance or may be configured to be arbitrarily set by a user.
  • the preload performer 140 may preload the target object data when the gaze position 60 and the pointer position 50 remain in the same gaze division area 20 for a predetermined time. If the target object data for the selected target object 400 is stored in the storage unit 160, that is, the target object data is local data, the preload performing unit 140 may store the target object from the storage unit 160. The data may be configured to be loaded and inserted into the preload cache unit 150. If the target object data is not local data, the target object data may be connected to a network through the network interface 180 to receive the target object data from a predetermined external device and insert the target object data into the preload cache unit 150.
  • the preload execution unit 140 should be loaded when the selection target object is selected when the distance between the gaze position determined by the gaze coordinates and the position of the pointer decreases below a predetermined limit distance. You can also preload the target object data.
  • the preload cache unit 150 may be configured to store target object data preloaded by the preload performer 140.
  • the preload performing unit 140 may be operated as, for example, a stack of a LIFO (Last In First Out) method, but is not limited thereto.
  • the load target data inserted into the preload cache may be automatically deleted after a predetermined time so that the preload cache may maintain sufficient available space.
  • the storage unit 160 may be a storage medium in which target object data regarding the selection target object 400 is pre-stored. As described above, the target object data may be local data that is pre-stored in the storage 160, or data that should be transmitted from an external device through the network interface 180.
  • the storage unit 160 may include a hard disk drive (HDD), a solid state drive (SSD), a tape drive, an optical drive, a RAID array, a random access memory (RAM), and a read-only memory (ROM). It may include, but is not limited thereto.
  • the data access unit 170 accesses the load target data stored in the preload cache unit 150 when the selection target object 400 is selected by the selection of the selection target object 400 displayed on the display unit 100.
  • the display apparatus 100 may be configured to display the processing result of the load target data on the display unit 100.
  • 17 and 18 schematically illustrate the objects 410, 420, and 430, the selection target 400, the preload area 30, and the gaze dividing area 20 according to an embodiment of the present invention.
  • each of the objects 400, 410, 420, and 430, including the selection target object 400 may have a preload area defined in each of the objects 400, 410, 420, and 430. 30).
  • the preload area 30 according to an embodiment of the present invention is an area where each of the objects 400, 410, 420, and 430 is displayed, and when an input for selecting a mouse click and a touch is selected within the area.
  • the preload area 30 may be enlarged or reduced within a range designated from the placement area in which the selection input for a specific object is processed.
  • the gaze dividing area 20 may be another criterion set to perform preloading. That is, in order to more accurately grasp the intention of the user 660 to select the selection target object 400, it may be set to perform preload in consideration of not only the pointer position 50 but also the user's gaze position 60. have.
  • the gaze dividing area 20 is divided into two or three, but the position and the number of the gaze dividing areas 20 are not limited thereto.
  • four gaze dividing areas 20 may exist, and five gaze dividing areas 20 may be set. It may also be set in the horizontal or vertical direction.
  • the gaze dividing area 20 may be set in advance or may be configured so that a user arbitrarily sets the number or arrangement direction of the gaze dividing area 20. As shown in FIG. 18, the gaze dividing area 20 may or may not include the respective objects 400, 410, 420, and 430.
  • 19 and 20 schematically illustrate a case where a pointer position 50 and a gaze position 60 exist in the same gaze dividing area 20 according to an exemplary embodiment of the present invention.
  • the preload performing unit 140 may perform an operation on the selection target object 400. It may be to perform a preload. Considering not only the pointer position 50 but also the eye position 60 of the user 660, the user 660 accurately understands the intention of the user 660 regarding the selection of the selection target object 400 so as not to perform unnecessary preloading. As a result, battery or computing power can be reduced.
  • a tablet PC in which a pointer device is used as a stylus pen is shown as an example.
  • the stylus pen may be an electromagnetic induction method.
  • Various objects 400, 410, 420, and 430 may be displayed on the screen of the tablet PC. Since the user's gaze position 60 is included in the same gaze partition area 20 as the pointer position 50 with respect to the selection target object 400, the preload performing unit 140 may perform an operation on the selection target object 400. Preload can be performed.
  • FIG. 21 schematically illustrates a case where the pointer position 50 and the gaze position 60 exist in different gaze segmentation regions 20 according to an exemplary embodiment of the present invention
  • FIGS. 22 to 24 show the present invention
  • FIG. 7 schematically illustrates a condition for preloading when the pointer position 50 and the gaze position 60 exist in different gaze division regions 20 according to an exemplary embodiment.
  • the object to be selected 400 of the two gaze dividing areas 20 is present in the gaze dividing area 20 above, and the gaze position 60 is located in the gaze dividing area 20 below. do. If such a case continues to be maintained, in principle, the preload execution unit 140 may not perform a proload on the selection target object 400. However, based on the moving directions I, II, III and the moving distances A, B, and C of the gaze position 60 of the user 660, the gaze position 60 and the pointer position 50 are the same gaze. It may be configured to perform preload even if not included in the partition area 20.
  • the moving direction (I, II, III) of the gaze position 60 is directed to the gaze segmentation area 20 where the pointer position 50 is located,
  • the moving distances A, B, and C of the position 60 are moved by more than a predetermined distance, the eye gaze position 60 and the pointer position 50 are configured to perform preload even if they are not included in the same gaze division area. Can be.
  • the preload performing unit 140 may be configured to perform preload. That is, the preload can be performed only when the conditions for the moving directions (I, II, III) and the distances (A, B, C) for performing the preload are satisfied. Conditions for I, II, and III) and conditions for moving distances A, B, and C will be described.
  • the moving directions I, II, and III of the gaze position 60 may exist in various ways. However, the moving directions I, II, and III for preloading by the preload performing unit 140 may determine the moving direction based on a predetermined angle range ⁇ . For example, when an angle of 45 ° is set with respect to the first reference line 640, the extension line with respect to the gaze position 60 after moving based on the current gaze position 60 is the first reference line 640. If the angle between the angle and the angle is within 45 degrees, it may be configured to process in the direction toward the gaze segmentation area 20 where the pointer position 50 is located. In FIG. 23, the directions ⁇ and II may be included in a predetermined angular range ⁇ , and may be processed as a direction for performing preload, while the III direction exceeds the angular range ⁇ , so It may not be processed in the direction.
  • a movement distance for performing preload may also be a preset value. For example, even if the moving direction I is included in the angular range ⁇ for performing preloading, A may not satisfy the moving distance condition and preloading may not be performed. That is, the preload performing unit 140 may perform preload only when it moves to the gaze position 610 that satisfies both the moving distance condition and the moving direction condition. However, this is only an exemplary embodiment of the present invention. When any one of the moving distance condition and the moving direction condition is satisfied, the preload performing unit 140 may be configured to perform preload.
  • FIG. 25 schematically illustrates an embodiment in which the gaze dividing area 20 is dynamically set according to an embodiment of the present invention.
  • the gaze segmentation area 20 may be dynamically determined to more actively reflect the intention of the user 660. It may be configured.
  • the user device 10 includes a gaze recording unit (not shown) for recording the movement history of the gaze position 60, and a gaze movement pattern determination unit (not shown) for determining a gaze movement pattern using data recorded in the gaze recording unit. ) And an area division personalization unit that arranges the gaze dividing area 20 according to the determined gaze movement pattern. For example in FIG. 25, the gaze position 60 is biased on the left side.
  • the eye gaze recorder records the movement history of the eye gaze position 60, and may determine that the gaze divided area 20 is more suitable than the horizontal direction by using the data recorded in the eye gaze recorder. According to the determination result, the area division personalization unit may change the gaze division area 20 in the vertical direction in real time.
  • FIG. 26 schematically illustrates a case in which a preload is performed in the user device 10 according to another embodiment of the present invention.
  • the present invention may be applied to a personal computer.
  • the pointer may be composed of a mouse, and the pointer position 50 may be defined by the cursor.
  • the above-described embodiment of the present invention may be equally applied to a personal computer, which is another embodiment of the user device 10.
  • FIG. 27 is a flowchart illustrating steps in which preloading is performed when a pointer position 50 and a gaze position 60 exist in the same gaze dividing area 20 according to an exemplary embodiment of the present invention.
  • the user device 10 may calculate eye recognition and gaze coordinates of the user 660 (S100).
  • the position of the coordinates of the pointer and the line of sight coordinates may be compared (S115) to determine whether they are located within the same line of sight division area 20 (S120).
  • preloading is performed (S130), and it is determined whether a selection is made on a selection target object by the user 660 (S140).
  • the target object data is accessed (S150), and if the selection is not made on the selection target object 400, the preloaded target object data may be deleted.
  • FIG. 28 is a flowchart illustrating steps in which preloading is performed when the pointer position 50 and the gaze position 60 exist in different gaze division regions 20 according to an exemplary embodiment of the present invention.
  • the user device 10 recognizes the pupil of the user 660 and calculates a gaze coordinate (S100), and then compares the position of the pointer and the trial coordinate, that is, the same gaze division area. It may be determined whether the location is within 20 or within different gaze dividing areas (S115). In operation S120, it may be determined whether or not it is located within the same gaze split area (S120), and if it is positioned for a predetermined time, preloading of the selection target object 400 may be performed (S130). However, if it is located in different gaze dividing areas 20, it may be determined whether the gaze position 60 moves within a predetermined angle (S210), and it may be determined whether it moves more than a predetermined distance (S220).
  • the user 660 may be configured to perform preloading (S130).
  • preloading S130
  • the user accesses the preloaded target object data (S150), and if the selection is not made on the selection target object 400, deletes the preloaded target object data. It may include the step (S160).
  • the data preloading method according to the present embodiment determines in real time whether the input pattern of the user device 10 corresponds to the selection pattern based on the probability.
  • the selection pattern refers to a user input pattern when the user selects a specific icon, link, or the like.
  • parameter data about the input pattern is collected.
  • data such as pointer coordinates, pointer movement initial speed, pointer movement acceleration, and selection input time may be present.
  • the collected parameter data is determined by the clustering algorithm to select the cluster and the unselected pattern representing the selection pattern. Can be divided into clusters.
  • the clustering algorithm may be a generalized algorithm such as k-means clustering or neural network.
  • the parameter data may be generated by collecting input patterns of a plurality of users. In this case, there is an effect that the parameter data that can be applied universally using a pattern of a plurality of users can be generated.
  • the parameter data may be an accumulation of only a specific user's input pattern. In this case, there is an effect of making a selection prediction optimized for an input pattern of a specific user. Since the parameter data can be accumulated continuously, even when the input pattern for the user device 10 is changed by learning the input pattern of a specific user, selection prediction according to the changed input pattern can be performed.
  • the mathematical model may be expressed, for example, as a function of receiving element data constituting a user input and outputting selection prediction.
  • the mathematical model may be generated using well-known methods such as regression analysis and principal component analysis for each element data included in the cluster.
  • the mathematical model it is possible to determine whether the pointer movement input is an input whose selection is predicted by receiving data representing the pointer movement input of the user in real time and inputting the same to the mathematical model.
  • the selection target object may be selected based on the pointer position at that time. For example, an object located near a pointer position at that time may be selected as the selection target object.
  • the load target data to be loaded is preloaded.
  • the preloaded data is accessed to quickly update the GUI shown to the user.
  • the invention can also be embodied as computer readable code on a computer readable recording medium.
  • the computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet). Include.
  • the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

Abstract

사용자가 그래픽 사용자 인터페이스(GUI) 상에 제공되는 특정 객체에 대한 선택을 하기 전에, 포인터의 위치를 기반으로 미리 상기 선택을 예측하고, 상기 특정 객체의 선택 시 로드 되어야 할 데이터를 미리 로드 해놓는 방식으로 사용자 디바이스의 응답 속도를 향상시키는 데이터 프리로드 방법이 제공된다.

Description

데이터 프리로드를 통한 사용자 디바이스의 GUI 반응 속도 증대 방법 및 그 사용자 디바이스
본 발명은 데이터 프리로드를 통한 사용자 디바이스의 GUI 반응 속도 증대 방법 및 그 사용자 디바이스에 관한 것이다. 보다 자세하게는, 데이터를 프리로드(pre-load)하여 사용자가 특정 GUI 객체를 선택하는 경우 즉각적인 반응이 이뤄질 수 있도록 하는 방법 및 그 사용자 디바이스에 관한 것이다.
그래픽 사용자 인터페이스(GUI)를 인간-컴퓨터 인터페이싱 수단으로 사용하는 운영 체제가 설치된 이동 사용자 디바이스가 널리 보급되고 있다. 또한, 이동 사용자 디바이스의 GUI 반응 속도를 증가하기 위한 다양한 시도가 있어왔다.
한국공개특허 제2010-0045868호에는 마우스오버 시 특정 기능이 수행되는 기술이 기재되어 있다. 또한, 미국등록특허 8,112,619에는 어플리케이션의 실행 속도를 증가시키기 위하여 어플리케이션을 프리로드하는 기술이 기재되어 있다. 그러나 이러한 문헌들에는 데이터를 프리로드(pre-load)하여 사용자가 특정 GUI 객체를 선택하는 경우 즉각적인 반응이 이뤄질 수 있도록 하는 방법 및 그 사용자 디바이스는 기재되어 있지 않다.
본 발명이 해결하고자 하는 기술적 과제는 사용자가 그래픽 사용자 인터페이스(GUI) 상에 제공되는 특정 객체에 대한 선택을 하기 전에, 포인터의 위치를 기반으로 미리 상기 선택을 예측하고, 상기 특정 객체의 선택 시 로드 되어야 할 데이터를 미리 로드 해놓는 방식으로 사용자 디바이스의 응답 속도를 향상시키는 데이터 프리로드 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 사용자가 그래픽 사용자 인터페이스(GUI) 상에 제공되는 특정 객체에 대한 선택을 하기 전에, 포인팅 장치와 터치 디스플레이 사이의 간격을 기반으로 미리 상기 선택을 예측하고, 상기 특정 객체의 선택 시 로드 되어야 할 데이터를 미리 로드 해놓는 방식으로 사용자 디바이스의 응답 속도를 향상시키는 데이터 프리로드 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 사용자가 그래픽 사용자 인터페이스(GUI) 상에 제공되는 특정 객체에 대한 선택을 하기 전에, 소정의 선택 예고 신호를 입력받아, 상기 선택 예고 신호에 대응하는 선택 대상 객체를 프리로드 풀에 추가하고, 상기 프리로드 풀에 포함된 객체의 데이터를 미리 로드 해놓는 방식으로 사용자 디바이스의 응답 속도를 향상시키는 데이터 프리로드 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 터치 디스플레이에 대한 소정의 선택 예고 터치 입력을 제공 받아, 상기 예고 터치 입력에 대응하는 객체의 데이터를 프리로드 하는 방식으로 응답 속도를 향상하는 사용자 디바이스를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 사용자가 그래픽 사용자 인터페이스(GUI) 상에 제공되는 특정 객체에 대한 선택을 하기 전에, 포인터의 위치와 사용자의 시선을 기반으로 미리 상기 선택을 예측하고, 상기 특정 객체의 선택 시 로드 되어야 할 데이터를 미리 로드 해놓는 방식을 통하여 응답 속도가 증대된 사용자 디바이스를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 사용자가 그래픽 사용자 인터페이스(GUI) 상에 제공되는 특정 객체에 대한 선택을 하기 전에, 포인터의 위치와 사용자의 시선을 기반으로 미리 상기 선택을 예측하고, 상기 특정 객체의 선택 시 로드 되어야 할 데이터를 미리 로드 해놓는 방식을 통하여 사용자 디바이스의 응답 속도를 증대시킬 수 있는 데이터 프리로드 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 기 수집된 입력 패턴의 모수 데이터를 이용하여 선택 패턴을 가리키는 수학 모델을 형성하고, 상기 수학 모델을 이용하여 사용자의 포인터 조작을 나타내는 데이터를 실시간으로 선택 패턴 및 미선택 패턴 중 하나로 판정함으로써 데이터 프리로드 여부를 결정하는 데이터 프리로드 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해 될 수 있을 것이다.
상기 기술적 과제들을 해결하기 위한 본 발명의 일 태양(aspect)에 따른 사용자 디바이스의 데이터 프리로드 방법은 사용자 디바이스에 대한 사용자 입력을 분석함으로써 GUI(Graphic User Interface)에 포함된 선택 대상 객체에 대한 선택을 미리 예측하는 단계, 상기 예측 시 선택 대상 객체가 선택되면 로드(load)되어야 할 로드 대상 데이터를 프리로드(pre-load)하고, 상기 선택 대상 객체가 선택된 경우 상기 프리로드된 데이터를 억세스하는 단계를 포함한다.
일 실시예에 따르면, 상기 미리 예측하는 단계는 상기 사용자 입력 중 포인팅 장치 조작에 따른 포인터 위치를 분석하거나, 포인팅 장치와 터치 디스플레이 패널 사이의 간격을 분석하는 등의 사용자 입력 분석을 기초로 할 수 있다. 본 발명은 특정 방식의 사용자 입력 분석을 통하여 상기 선택을 예측하는 것으로 제한되지 않음을 주의하여야 한다.일 실시예에 따르면, 상기 미리 예측하는 단계는 상기 선택 대상 객체의 프리로드 영역 내에 포인터가 소정 시간 이상 머무르는 경우 상기 선택 대상 객체에 대한 선택이 있을 것으로 예측하는 단계를 포함할 수 있다. 다른 실시예에 따르면, 상기 미리 예측하는 단계는 포인터의 이동 속도가 기 지정된 요건을 만족하는 경우, 상기 요건 만족 시점의 포인터 위치를 기준으로 선정된 선택 대상 객체에 대한 선택이 있을 것으로 예측하는 단계를 포함할 수도 있다.일 실시예에 따르면, 상기 미리 예측하는 단계는 사용자 디바이스에 대한 사용자 입력에 대한 데이터를, 선택 예측 패턴을 가리키는 수학 모델에 입력함으로써 상기 선택 대상 객체에 대한 선택 여부를 미리 예측하는 단계를 포함할 수도 있다.
상기 데이터 프리로드 방법은 상기 선택 대상 객체가 그래픽 사용자 인터페이스(GUI) 상의 영역에서 차지하는 영역의 넓이에 비례하여 상기 선택 대상 객체의 프리로드 영역을 결정하고, 상기 결정된 프리로드 영역의 넓이를 상기 로드 대상 데이터의 사이즈에 따라 조정하는 단계를 더 포함할 수 있다.
상기 프리로드하는 단계는 상기 로드 대상 데이터의 일부분을 부분 프리로드하는 단계를 포함하되, 상기 부분 프리로드 되는 데이터 사이즈는 상기 로드 대상 데이터의 타입에 따라 결정될 수 있다.
상기 부분 프리로드 하는 단계는, 상기 포인팅 장치와 상기 사용자 디바이스의 터치 디스플레이 사이의 거리가 감소하는 것을 감지하여, 적어도 상기 로드 대상 데이터의 다른 일부를 프리로드하는 단계를 포함할 수 있다.
상기 부분 프리로드하는 단계는, 사용자 디바이스의 전면부에 배치된 카메라에 의하여 촬영된 영상을 분석하여 터치 수단과 상기 사용자 디바이스의 디스플레이 사이의 거리가 감소하는 것을 감지하여, 적어도 상기 로드 대상 데이터의 다른 일부를 프리로드하는 단계를 포함할 수 있다.
상기 기술적 과제들을 해결하기 위한 본 발명의 다른 태양(aspect)에 따른 데이터 프리로드 방법은 포인터 위치를 기준으로 형성된 프리로드 영역 내에 선택 대상 객체가 배치된 영역이 적어도 일부 포함되고, 그 상태가 소정 시간 이상 유지되는 경우 상기 선택 대상 객체가 선택되면 로드(load)되어야 할 로드 대상 데이터를 프리로드(pre-load)하고, 상기 선택 대상 객체가 선택된 경우 상기 프리로드된 데이터를 억세스하는 단계를 포함한다.
일 실시예에 따르면, 상기 프리로드 영역은 상기 포인터 위치에 인접할수록 높게 형성되는 가중치를 가질 수 있다. 이 때, 상기 로드 대상 데이터를 프리로드 하는 단계는, 상기 프리로드 영역 내에 적어도 일부의 배치 영역이 포함되는 객체가 복수 개 있는 경우 상기 프리로드 영역과 배치 영역이 겹치는 영역에 해당하는 가중치를 기준으로 하나의 상기 선택 대상 객체를 선정하는 단계를 포함할 수 있다.
상기 기술적 과제들을 해결하기 위한 본 발명의 다른 태양(aspect)에 따른 사용자 디바이스의 데이터 프리로드 방법은 포인팅 장치의 포인트 팁과 사용자 디바이스의 터치 디스플레이 사이의 간격을 측정하여 분석하는 단계, 상기 분석의 결과를 이용하여, 상기 터치 디스플레이에 디스플레이된 객체 중, 상기 포인팅 장치가 가리키는 위치에 대응하는 선택 대상 객체의 선택을 예측하는 단계, 상기 선택 대상 객체의 선택이 예측된 경우, 상기 선택 대상 객체를 선택하는 경우 로드(load)되어야 할 로드 대상 데이터를 프리로드(pre-load)하고, 상기 선택 대상 객체가 선택된 경우, 상기 프리로드된 데이터를 억세스하는 단계를 포함한다.
상기 예측하는 단계는, 상기 포인팅 장치와 상기 터치 디스플레이 사이의 간격이 소정의 한계치 이하인 경우 상기 선택 대상 객체가 선택될 것으로 예측하는 단계를 포함할 수 있다. 이 때, 상기 프리로드 하는 단계는, 상기 간격이 소정의 제1 한계치 이하인 경우, 상기 로드 대상 데이터의 일부분을 부분 프리로드 하는 단계와 상기 간격이 상기 제1 한계치보다 작은 소정의 제2 한계치 이하인 경우 적어도 상기 로드 대상 데이터의 다른 일부를 프리로드 하는 단계를 포함할 수 있다.
상기 예측하는 단계는, 상기 포인팅 장치와 상기 터치 디스플레이 사이의 간격이 감소하는 속도가 소정의 한계치 이상인 경우 상기 선택 대상 객체가 선택될 것으로 예측하는 단계를 포함할 수 있다. 즉, 상기 예측하는 단계는, 상기 포인팅 장치의 상기 터치 디스플레이 방향의 속도가 소정의 한계치 이상인 경우 상기 선택 대상 객체가 선택될 것으로 예측하는 단계를 포함할 수 있다.
상기 기술적 과제들을 해결하기 위한 본 발명의 또 다른 태양(aspect)에 따른 데이터 프리로드 방법은 포인팅 장치의 조작에 따른 소정의 선택 예고 신호를 입력받아, 상기 선택 예고 신호의 대상인 선택 대상 객체를 프리로드 풀에 추가하는 단계, 상기 프리로드 풀에 추가된 각각의 선택 대상 객체에 대하여, 상기 선택 대상 객체가 선택된 경우 로드(load)되어야 할 로드 대상 데이터를 프리로드(pre-load)하는 단계, 상기 프리로드 풀에 포함된 선택 대상 객체 중 하나가 선택된 경우 상기 프리로드된 데이터를 억세스하는 단계를 포함할 수 있다.
상기 프리로드하는 단계는, 상기 사용자 디바이스에 구비된 프리로드 캐시에 삽입하는 단계를 포함하고, 상기 억세스하는 단계는, 상기 억세스 후 상기 프리로드된 데이터를 상기 프리로드 캐시에서 제거하는 단계를 포함할 수 있다.
상기 프리로드하는 단계는, 상기 사용자 디바이스에 구비된 프리로드 캐시에 삽입하는 단계와 상기 프리로드 캐시에 삽입된 로드 대상 데이터가 소정 시간을 초과하면 자동으로 상기 프리로드 캐시에서 제거되는 단계를 포함할 수 있다.
상기 기술적 과제들을 해결하기 위한 본 발명의 또 다른 태양(aspect)에 따른 사용자 디바이스는 선택 대상 객체를 디스플레이하는 터치 디스플레이, 프리로드 캐시, 상기 터치 디스플레이에 디스플레이된 상기 선택 대상 객체에 대한 소정의 선택 예고 터치 입력을 제공받아, 상기 선택 대상 객체가 선택되면 로드(load)되어야 할 로드 대상 데이터를 상기 프리로드 캐시에 삽입하는 선택 예측부 및 상기 터치 디스플레이에 디스플레이된 상기 선택 대상 객체에 대한 터치에 의하여 상기 선택 대상 객체가 선택되면 상기 프리로드 캐시에 저장된 상기 로드 대상 데이터를 억세스하고, 상기 로드 대상 데이터의 처리 결과를 상기 터치 디스플레이에 디스플레이하는 데이터 억세스부를 포함한다.
상기 선택 예고 터치 입력은 상기 선택 대상 객체의 프리로드 영역 내에 포인터가 소정 시간 이상 머무르는 것일 수 있다. 특히, 상기 선택 예고 터치 입력은 상기 선택 대상 객체의 프리로드 영역 내에 포인터가 비접촉 상태로 소정 시간 이상 머무르는 것일 수 있다.
상기 기술적 과제들을 해결하기 위한 본 발명의 또 다른 태양(aspect)에 따른 사용자 디바이스는 선택 대상 객체를 디스플레이하는 디스플레이, 프리로드 캐시, 포인팅 관련 입력 신호를 제공받아 상기 선택 대상 객체의 배치 영역과 상기 포인팅 관련 입력 신호를 기초로 결정된 포인터 위치를 모두 고려하여 상기 선택 대상 객체의 프리로드 여부를 결정하고, 상기 선택 대상 객체의 프리로드가 결정되는 경우 상기 선택 대상 객체가 선택되면 로드(load)되어야 할 로드 대상 데이터를 상기 프리로드 캐시에 삽입하는 선택 예측부 및 상기 선택 대상 객체가 선택되면 상기 프리로드 캐시에 저장된 상기 로드 대상 데이터를 억세스하고, 상기 로드 대상 데이터의 처리 결과를 상기 디스플레이에 디스플레이 하는 데이터 억세스부를 포함한다.
상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 태양에 다른 사용자 디바이스는, 사용자의 눈동자 위치를 가리키는 시선 좌표를 연산하는 눈동자 인식부, 선택 대상 객체에 대한 프리로드 영역 내에 포인터가 소정 시간 이상 위치하고, 상기 시선 좌표에 의하여 결정되는 시선 위치와 상기 프리로드 영역이 동일한 시선 분할 영역에 포함되는 경우, 상기 선택 대상 객체가 선택되면 로드 되어야 할 대상 객체 데이터를 프리로드(pre-load)하는 프리로드 수행부 및 상기 사용자의 조작에 의하여 상기 선택 대상 객체가 선택되는 경우, 상기 프리로드 된 대상 객체 데이터를 억세스하는 데이터 억세스부를 포함하는 것일 수 있다.
일 실시예에 따르면, 상기 프리로드 수행부는, 상기 시선의 위치와 상기 프리로드 영역이 서로 다른 시선 분할 영역에 포함되는 경우, 상기 프리로드 영역이 포함되는 상기 시선 분할 영역을 기준으로 상기 시선 위치의 이동 방향 및 이동 거리에 따라 상기 프리로드를 수행하는 것일 수 있고, 상기 이동 방향은, 상기 프리로드 영역이 포함되는 상기 시선 분할 영역을 향하는 방향인 것일 수 있다.
일 실시예에 따르면, 상기 시선 분할 영역을 향하는 방향은, 현재의 상기 시선 위치와 이동 후의 상기 시선 위치에 따라 결정되는 각도가 미리 설정된 각도 범위에 포함되는지 여부를 기준으로 결정되는 것일 수 있고, 상기 프리로드 수행부는, 상기 대상 객체 데이터를 로드하여 프리로드 캐시부에 저장하는 것일 수 있다.
일 실시예에 따르면, 상기 프리로드 수행부는, 상기 시선 좌표에 의하여 결정되는 시선 위치와 포인터의 위치 사이의 거리가 기 지정된 한계 거리 이하로 감소하는 경우 상기 선택 대상 객체가 선택되면 로드 되어야 할 대상 객체 데이터를 프리로드 할 수도 있다.
일 실시예에 따르면, 상기 프리로드 수행부는, 상기 소정 시간 동안 상기 선택 대상 객체의 선택에 관한 입력이 이루어지지 아니하는 경우에는, 상기 프리로드 캐시부에 저장된 상기 대상 객체 데이터를 삭제하는 것일 수 있고, 상기 시선 좌표의 이동 내역을 기록하는 시선 기록부, 상기 시선 기록부에 기록된 데이터를 이용하여 시선 이동 패턴을 판정하는 시선 이동 패턴 판정부 및 상기 판정된 시선 이동 패턴에 따라 상기 시선 분할 영역을 배치하는 영역 분할 개인화부를 더 포함하는 것일 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 태양에 따른 데이터 프리로드 방법은, 사용자의 눈동자 위치를 가리키는 시선 좌표를 연산하는 단계, 선택 대상 객체에 대한 프리로드 영역 내에 포인터가 소정 시간 이상 위치하고, 상기 시선 좌표에 의하여 결정되는 시선 위치와 상기 프리로드 영역이 동일한 시선 분할 영역에 포함되는 경우, 상기 선택 대상 객체가 선택되면 로드 되어야 할 대상 객체 데이터를 프리로드(pre-load)를 수행하는 단계 및 상기 사용자의 조작에 의하여 상기 선택 대상 객체가 선택되는 경우, 상기 프리로드 된 대상 객체 데이터를 억세스하는 단계를 포함하는 것일 수 있다.
일 실시예에 따르면, 상기 프리로드를 수행하는 단계는, 상기 시선의 위치와 상기 프리로드 영역이 서로 다른 시선 분할 영역에 포함되는 경우, 상기 프리로드 영역이 포함되는 상기 시선 분할 영역을 기준으로 상기 시선 위치의 이동 방향 및 이동 거리에 따라 상기 프리로드를 수행하는 단계를 포함할 수 있고, 상기 이동 방향은, 상기 프리로드 영역이 포함되는 상기 시선 분할 영역을 향하는 방향인 것일 수 있다.
일 실시예에 따르면, 상기 시선 분할 영역을 향하는 방향은, 현재의 상기 시선 위치와 이동 후의 상기 시선 위치에 따라 결정되는 각도가 미리 설정된 각도 범위에 포함되는지 여부를 기준으로 결정되는 것일 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 태양에 따른 데이터 프리로드 방법은, 사용자의 눈동자 위치를 가리키는 시선 좌표를 연산하는 단계, 선택 대상 객체에 대한 프리로드 영역 내에 포인터가 소정 시간 이상 위치하고, 상기 시선 좌표에 의하여 결정되는 시선 위치와 상기 프리로드 영역이 동일한 시선 분할 영역에 포함되는 경우, 상기 선택 대상 객체가 선택되면 로드 되어야 할 대상 객체 데이터를 프리로드(pre-load)를 수행하는 단계 및 상기 사용자의 조작에 의하여 상기 선택 대상 객체가 선택되는 경우, 상기 프리로드 된 대상 객체 데이터를 억세스하는 단계를 포함하는 것일 수 있다.
본 발명에 따르면, 프리로드 수행 여부를 판정하기 위하여 상기 소개된 여러 가지 요건들이 조합되어 사용될 수 있는 점을 유의하여야 한다.
본 발명에 따르면, 사용자의 조작에 따른 즉각적인 UI 반응을 제공할 수 있는 효과가 있다. 예를 들어, 사용자가 스타일러스 펜을 이용하여 특정 동영상 링크를 선택하는 경우, 스타일러스 펜이 상기 동영상 링크로 접근하는 과정에서 상기 동영상에 대한 프리로드, 즉 버퍼링이 수행되고, 스타일러스 펜을 이용하여 상기 동영상 링크를 선택하는 시점에는 버퍼링이 진행된 동영상 데이터를 바로 재생해줄 수 있는 효과가 있다. 따라서, 본 발명에 따른 데이터 프리로드 방법이 적용된 사용자 디바이스를 사용하는 사용자는 하드웨어 성능의 증가 없이도 즉각적인 응답 속도를 경험할 수 있다.
도 1은 본 발명의 일 실시예에 따른 데이터 프리로드 방법의 순서도이다.
도 2 내지 4는 본 발명의 일 실시예에 따른 데이터 프리로드 방법에서, 객체의 프리로드 영역을 기반으로 객체 선택을 예측하는 방법을 설명하기 위한 개념도이다.
도 3 내지 6은 본 발명의 일 실시예에 따른 데이터 프리로드 방법에서, 포인터 위치를 기반으로 객체 선택을 예측하는 방법을 설명하기 위한 개념도이다.
도 7은 본 발명의 일 실시예에 따른 데이터 프리로드 방법에서 부분 프리로드 개념을 설명하기 위한 순서도이다.
도 8 내지 12는 본 발명의 일 실시예에 따른 데이터 프리로드 방법에서, 포인팅 장치와 디스플레이 사이 간격을 기반으로 객체 선택을 예측하는 방법을 설명하기 위한 개념도이다.
도 13은 본 발명의 일 실시예에 따른 데이터 프리로드 방법에서 프리로드 풀을 운영하는 방법을 설명하기 위한 개념도이다.
도 14는 본 발명의 일 실시예에 따른 사용자 디바이스의 블록 구성도이다.
도 15는 본 발명의 다른 실시예에 따른 사용자 디바이스의 블록 구성도이다.
도 16은 본 발명의 일 실시예에 따른 사용자 디바이스를 개략적으로 도시한 것이다.
도 17 및 도 18은 본 발명의 일 실시예에 따른 객체, 프리로드 영역, 포인터 위치 및 시선 분할 영역을 개략적으로 도시한 것이다.
도 19 및 도 20은 본 발명의 일 실시예에 따른 동일한 시선 분할 영역 내에 포인터 위치와 시선 위치가 존재하는 경우를 개략적으로 도시한 것이다.
도 21은 본 발명의 일 실시예에 따른 서로 다른 시선 분할 영역 내에 포인터 위치와 시선 위치가 존재하는 경우를 개략적으로 도시한 것이다.
도 22 내지 도 24는 본 발명의 일 실시예에 따른 서로 다른 시선 분할 영역 내에 포인터 위치와 시선 위치가 존재하는 경우에 프리로드가 수행되기 위한 조건을 개략적으로 도시한 것이다.
도 25는 본 발명의 일 실시예에 따른 시선 분할 영역이 동적으로 설정되는 실시예를 개략적으로 도시한 것이다.
도 26는 본 발명의 다른 실시예에 따른 사용자 디바이스에서 프리로드가 수행되는 경우를 개략적으로 도시한 것이다.
도 27은 본 발명의 일 실시예에 따른 동일한 시선 분할 영역 내에 포인터 위치와 시선 위치가 존재하는 경우에 프리로드가 수행되는 단계를 순서도로 도시한 것이다.
도 28은 본 발명의 일 실시예에 따른 서로 다른 시선 분할 영역 내에 포인터 위치와 시선 위치가 존재하는 경우에 프리로드가 수행되는 단계를 순서도로 도시한 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명의 실시예들에 의하여 본 발명에 대해 설명하도록 한다. 이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
본 명세서에서 사용되는 사용되는 '부' 또는 '모듈'이라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '부' 또는 '모듈'은 어떤 역할들을 수행한다. 그렇지만 '부' 또는 '모듈'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부' 또는 '모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부' 또는 '모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함할 수 있다. 구성요소들과 '부' 또는 '모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부' 또는 '모듈'들로 결합되거나 추가적인 구성요소들과 '부' 또는 '모듈'들로 더 분리될 수 있다.
본 발명의 일 실시예에 따르면 데이터 프리로드 방법이 제공된다.
본 발명에 따른 데이터 프리로드 방법은 그래픽 사용자 인터페이스(Graphic User Interface; GUI)에 포함된 소정의 객체를 선택하기 위한 입력 및 복수의 상기 객체 사이를 이동하기 위한 포인터 이동 입력을 모두 지원하는 모든 사용자 디바이스에 적용될 수 있다.
이하, 본 발명의 일 실시예에 따른 데이터 프리로드 방법에 대하여 도 1을 참조하여 설명하기로 한다.
예를 들어, 상기 사용자 디바이스는 터치 디스플레이를 구비한 것일 수 있다. 이하, 본 명세서에서 터치 디스플레이를 구비한 사용자 디바이스를 '터치 타입 사용자 디바이스'이라 지칭하기로 한다.
예를 들어, 상기 사용자 디바이스는 터치 디스플레이를 구비하지 않은 것으로, 예를 들어 마우스, 트랙볼, 스타일러스 펜, 터치 패드 등의 선택 수단 및 포인터 이동 수단을 모두 구비한 입력 장치를 지원하는 것일 수도 있다. 이하, 본 명세서에서 선택 수단 및 포인터 이동 수단을 모두 구비한 입력 장치를 통하여 상기 객체를 선택하기 위한 입력 및 포인터 이동 입력을 모두 지원하는 사용자 디바이스를 '마우스 타입 사용자 디바이스'이라 지칭하기로 한다.
상기 언급된 바와 같이, 터치 타입 사용자 디바이스는 특정 개체의 선택을 위한 터치 입력과 포인터 이동을 위한 터치 입력을 모두 지원하는 것으로 한정되어야 한다. 상기 터치 타입 사용자 디바이스는 비접촉 터치를 지원하는 것일 수 있다. 상기 비접촉 터치는 터치 디스플레이에 포함된 터치 센서가 상기 터치 디스플레이에 접촉하지 않은 상태인 포인팅 장치 또는 손가락의 위치를 감지하는 것일 수 있다. 예를 들어, 상기 비접촉 터치는 상기 포인터 이동을 위한 터치 입력으로 해석되고, 접촉이 이뤄진 터치 입력은 상기 특정 개체의 선택을 위한 터치 입력으로 해석될 수 있다.
상기 터치 타입 사용자 디바이스는 상기 비접촉 터치를 지원하기 위하여, 예를 들어 전자기 유도 방식의 터치 디스플레이를 구비한 것이거나, Active capacitance 방식의 터치 디스플레이를 구비한 것이거나, 비접촉 터치 상태인 손가락의 위치를 감지하기 위한 적외선 센서를 구비하는 것 일 수 있으나, 특정 타입의 터치 디스플레이를 구비한 것으로 한정되지는 않는다.
본 실시예는 상기 사용자 디바이스가 상기 포인터 이동을 위한 입력을 받는 것으로 시작한다(S102). 예를 들어 상기 사용자 디바이스가 마우스 이동 신호 또는 상기 비접촉 터치 신호를 입력 받을 수 있다.
다음으로, 상기 사용자 디바이스는 상기 입력 신호를 분석하여 특정 선택 대상 객체에 대한 선택이 예측되는지 여부에 대한 판정을 수행한다(S104).
일 실시예에 따르면, 상기 사용자 디바이스는 포인터의 위치를 기초로 하여 특정 선택 대상 객체에 대한 선택이 예측되는지 여부에 대한 상기 판정을 할 수 있다. 예를 들어, 포인터의 위치가 객체가 배치된 영역 또는 상기 객체에 할당된 소정의 프리로드 영역에 머무르는 경우 또는 포인터의 주변에 형성된 프리로드 영역에 상기 객체가 배치된 영역이 적어도 일부 포함되는 경우, 상기 객체가 선택될 것으로 예측될 수 있다.
일 실시예에 따르면, 상기 사용자 디바이스는 포인터의 이동 속도를 기초로 하여 특정 선택 대상 객체에 대한 선택이 예측되는지 여부에 대한 상기 판정을 할 수도 있다. 예를 들어, 포인터의 이동 속도가 기 지정된 제1 한계 속도 이상에서 기 지정된 제2 한계 속도 이하로 감소하는 시점에서의 포인터 위치를 프리로드 스냅샷 위치로 지정하고, 상기 프리로드 스냅샷 위치에 배치된 객체 또는 상기 프리로드 스냅샷 위치를 포함하여 형성된 프리로드 영역을 가지는 객체가 상기 선택 대상 객체로 선정되고, 사용자가 상기 선택 대상 객체를 선택할 것으로 예측할 수 있다. 상기 제1 한계 속도가 상기 제2 한계 속도보다 큰 속도일 수도 있으나, 상기 제1 한계 속도와 상기 제2 한계 속도가 동일한 속도일 수도 있다.일 실시예에 따르면, 상기 사용자 디바이스는 상기 포인터의 위치와 상기 포인터의 이동 속도가 모두 반영하여 특정 선택 대상 객체에 대한 선택이 예측되는지 여부에 대한 상기 판정을 할 수도 있다. 예를 들어, 상기 포인터가 객체가 배치된 영역 또는 상기 객체에 할당된 소정의 프리로드 영역에 머무르더라도 상기 포인터의 이동 속도가 소정의 한계치를 초과하거나, 머무르는 시간이 소정의 한계치에 미달하는 경우, 상기 객체가 선택될 것으로 예측하지 않을 수 있다.
일 실시예에 따르면, 비접촉 터치 상태에서 디스플레이와 포인팅 장치 사이의 간격 또는 기 정의된 소정의 선택 예고 신호가 입력 되었는지 등을 기준으로 하여 상기 판정을 할 수도 있다. 특정 선택 대상 객체에 대한 선택이 예측되는지 여부에 대한 판정을 수행하는 다양한 실시예가 추후 설명될 것이다. 다만, 본 발명은 특정 방식의 사용자 입력 분석을 통하여 상기 선택을 예측하는 것으로 제한되지 않음을 주의하여야 한다.
일 실시예에 따르면, 기 수집된 사용자 입력 모수 데이터에 기반한 선택 예측 수학 모델이 수립되어 있고, 실시간으로 입력되는 사용자 입력 신호를 상기 수학 모델에 입력함으로써, 선택 예측 여부를 판정할 수도 있다.
다음으로, 상기 사용자 디바이스는 특정 선택 대상 객체에 대한 선택이 예측되는 것으로 판정된 경우, 상기 선택 대상 객체를 선택하는 경우 로드(load) 되어야 할 로드 대상 데이터를 프리로드 한다(S106). 상기 로드 대상 데이터는 소정의 상기 사용자 디바이스에 구비된 프리로드 캐시에 로드 될 수 있다. 상기 프리로드 캐시는, 예를 들어 상기 사용자 디바이스에 구비된 RAM(Random Access Memory)를 이용하여 구성될 수 있다.
상기 로드 대상 데이터는 상기 사용자 디바이스에 저장된 데이터일 수 있다. 즉, 상기 로드 대상 데이터는 상기 사용자 디바이스에 구비된 메모리 이외의 저장부, 예를 들어 하드 디스크, SSD, 메모리 카드 등에 저장된 데이터일 수 있다. 또한, 상기 로드 대상 데이터는 네트워크를 통하여 외부 장치로부터 수신된 것일 수도 있다.
상기 예측이 맞는 경우, 상기 선택 대상 객체가 실제로 선택될 것이다(S108). 이 경우에는 상기 선택 대상 객체를 제공한 어플리케이션이 상기 프리로드된 데이터를 바로 억세스(S110)하고, 억세스된 데이터를 이용하여 선택 대상 객체의 선택에 대한 응답을 디스플레이(S112) 함으로써 데이터 로딩 타임을 감소시킬 수 있다.
상기 예측은 틀릴 수도 있다. 예를 들어, 사용자가 특정 객체를 선택하기 위하여 포인터를 상기 특정 객체 상에 위치시키다가 막상 상기 특정 객체를 클릭하지는 않을 수도 있다. 그러나, 상기 예측이 50%만 적중한다 하더라도, 사용자가 체감하는 데이터 로딩 속도는 약 2배 가량 증가할 수 있다.
이하, 도 2를 참조하여 본 발명의 일 실시예에 따른 데이터 프리로드 방법에 대하여 설명하기로 한다. 본 실시예는 선택 대상 객체의 프리로드 영역 내에 포인터가 소정 시간 이상 머무르는지 여부를 기준으로 프리로드 수행 여부를 결정한다. 본 실시예는 선택 대상 객체의 프리로드 영역 내에 포인터가 소정 시간 이상 머무르더라도 포인터의 이동 속도가 소정의 한계치를 초과하는 경우에는 프리로드를 수행하지 않을 수 있다.
도 2에 도시된 바와 같이 다양한 형태의 객체가 사용자 디바이스(10)이 제공하는 GUI를 구성할 수 있다. 예를 들어, 사용자 디바이스(10)은 리스트(110)에 포함된 다수의 객체(111, 112, 113, 114, 115, 116), 이미지를 확대하기 위한 객체(120), 동영상을 재생하기 위한 객체(130, 140) 등을 포함하는 GUI를 제공할 수 있다.
본 실시예에 따르면, 각각의 객체(111, 112, 113, 114, 115, 116, 120, 130, 140)는 프리로드 영역을 가진다. 본 실시예에 따르면, 포인터가 특정 객체의 프리로드 영역 내에 소정 시간 이상 머무르는 경우 상기 특정 객체의 선택을 예측하여 프리로드를 개시한다. 상기 특정 객체의 프리로드 영역은 상기 특정 객체가 디스플레이 된 영역으로써, 그 영역 내에서 마우스 클릭 및 터치 등 선택을 위한 입력을 하는 경우 상기 특정 객체에 대한 선택 입력이 처리되는 배치 영역과 동일할 수도 있고, 상기 프리로드 영역은 상기 배치 영역으로부터 지정된 범위 내에서 확대 또는 축소될 수도 있다.
사용자가 특정 객체를 선택하기 위하여는 상기 특정 객체가 디스플레이 된 영역으로 포인터를 이동하여야 하고, 소정의 대기 시간이 지난 후 상기 특정 객체를 선택하는 것이 일반적이다. 본 실시예는 이러한 패턴을 이용하여 사용자가 특정 객체를 선택할지 여부를 예측할 수 있다.
일 실시예에 따르면, 프리로드 개시의 요건이 되는 특정 객체의 프리로드 영역 내 포인터 머무름 시간은 사용자의 특정 객체 선택 이전의 포인터 머무름 시간을 통계적으로 분석하여 최초 세팅 값에서 자동으로 증가되거나 감소될 수 있다.
일 실시예에 따르면, 선택 대상 객체의 프리로드 영역 내에 포인터가 상기 포인터 머무름 시간 이상 머무르더라도 포인터의 이동 속도가 소정의 한계치를 초과하는 경우에는 프리로드를 수행하지 않을 수 있다. 선택 대상 객체의 배치 영역이 넓은 경우에는 포인터 이동 과정에서도 포인터 머무름 시간을 초과할 수 있는데, 이러한 경우에는 프리로드를 수행할 필요가 없기 때문이다.
도 2에는, 리스트(110)에 포함된 객체 중 하나(111)의 프리로드 영역(1110)이 도시되어 있다. 마찬가지로 이미지 객체(120)의 프리로드 영역(122), 동영상 객체(130, 140)의 프리로드 영역(132, 142)도 각각 도시되어 있다. 도 2에서는 포인터가 이미지 객체(120)의 프리로드 영역(122) 내에 소정 시간 이상 머무르고 있는 것이 도시되어 있다. 본 실시예에 따르면, 이 경우 이미지 객체(120)에 대응하는 이미지 데이터가 프리로드 될 것이다.
예를 들어, 리스트(110)는 이메일 리스트일 수 있다. 리스트(110)의 각 항목(111 내지 116)에는 메일의 제목, 보낸 사람 등만 표시될 것이다. 사용자는 메일의 내용을 확인하기 위하여 해당 항목을 선택할 것이다. 종래 기술에 따르면, 메일 항목이 선택되면 메일 컨텐츠를 사용자 디바이스에 구비된 저장부 또는 네트워크를 통하여 연결된 메일 서버로부터 로드하기 시작할 것이다. 반면에 본 실시예는 포인터가 메일 항목에 소정 시간 이상 머물렀다면 그 시점에 메일 컨텐츠가 프리로드되고, 사용자가 메일 항목을 선택했을 때는 프리로드된 메일 컨텐츠가 바로 억세스되므로 메일 내용을 즉시 확인할 수 있다.
일 실시예에 따르면, 상기 사용자 디바이스는 선택 대상 객체의 프리로드 영역 넓이를 상기 선택 대상 객체가 디스플레이된 영역을 기준으로 로드 대상 데이터의 시간당 데이터 요구량에 따라 조정할 수 있다. 상기 로드 대상 데이터의 시간당 데이터 요구량은, 예를 들어 동영상 컨텐츠의 비트 레이트일 수 있다.
도 3에서는 로드 대상 데이터의 시간당 데이터 요구량이 클수록 선택 대상 객체의 프리로드 영역 넓이가 증가하는 실시예에 대하여 도시한다.
제1 동영상 객체(130)의 프리로드 영역은 그래픽 사용자 인터페이스(GUI) 상의 영역에서 차지하는 영역의 넓이에 비례하여 제1 영역(132)으로 결정되고, 동영상 데이터의 시간당 데이터 요구량에 비례하여 제2 영역(132)으로 확장 조정된다. 마찬가지로, 제2 동영상 객체(140)의 프리로드 영역은 그래픽 사용자 인터페이스(GUI) 상의 영역에서 차지하는 영역의 넓이에 비례하여 제1 영역(142)으로 결정되고, 동영상 데이터의 시간당 데이터 요구량에 비례하여 제2 영역(143)으로 확장 조정된다. 도 3에는 제2 동영상 객체(140)의 로드 대상 데이터가 가지는 비트 레이트가 제1 동영상 객체(130)의 로드 대상 데이터가 가지는 비트 레이트보다 작은 것을 가정하여, 제2 동영상 객체(140)가 데1 동영상 객체(130) 보다 그 프리로드 영역이 덜 확장되는 것이 도시되어 있다.
로드 대상 데이터의 시간당 데이터 요구량이 클수록 프리로드의 로딩 시간 감소 효과는 클 수 있다. 따라서, 상기 사용자 디바이스는 로드 대상 데이터의 사이즈가 클수록 상기 프리로드 영역의 넓이를 증가시켜 로드 대상 데이터의 사이즈가 큰 객체에 대하여는 프리로드가 발생할 가능성을 증가시킬 수 있다.
도 4에서는 도 3과는 반대로 로드 대상 데이터의 시간당 데이터 요구량이 클수록 선택 대상 객체의 프리로드 영역 넓이가 감소하는 실시예에 대하여 도시한다.
제1 동영상 객체(130)의 프리로드 영역은 그래픽 사용자 인터페이스(GUI) 상의 영역에서 차지하는 영역의 넓이에 따른 제1 영역(132)으로 결정되고, 제1 동영상 객체(130)의 로드 대상 데이터가 가지는 비트 레이트에 비례 하는 크기 만큼 제2 영역(134)으로 축소 조정된다. 마찬가지로, 제2 동영상 객체(140)의 프리로드 영역은 그래픽 사용자 인터페이스(GUI) 상의 영역에서 차지하는 영역의 넓이에 따른 제2 영역(142)으로 결정되고, 제2 동영상 객체(140)의 로드 대상 데이터가 가지는 비트 레이트에 비례하는 크기만큼 제2 영역(144)으로 축소된다. 도 4에는 제2 동영상 객체(140)의 로드 대상 데이터가 가지는 비트 레이트가 제1 동영상 객체(130)의 로드 대상 데이터가 가지는 비트 레이트보다 작은 것을 가정하여, 제2 동영상 객체(140)가 데1 동영상 객체(130) 보다 그 프리로드 영역이 덜 축소되는 것이 도시되어 있다.
데이터 프리로드 역시 시스템 자원을 소비하는 작업이므로, 프리로드 되어야 할 데이터의 시간당 데이터 요구량이 클수록 사용자 디바이스(10)에 부담을 줄 수 있다. 따라서, 로드 대상 데이터의 시간당 데이터 요구량이 클수록 상기 프리로드 영역의 넓이를 감소시켜 프리로드가 발생할 가능성을 감소시킬 수 있다.
도 3 내지 4에 도시된 실시예에서 프리로드 되어야 할 데이터의 시간당 데이터 요구량을 기준으로 선택 대상 객체의 프리로드 영역 넓이를 조정하는데 사용하는 가중치는 프리로드된 객체 선택 예측이 적중하는 비율에 따라 증가하거나 감소할 수 있다. 즉, 상기 사용자 디바이스는 상기 적중하는 비율이 높으면 각 프리로드 영역 넓이가 넓어지도록 상기 가중치를 적용하여 데이터 프리로드가 빈번하게 이뤄지도록 하고, 상기 적중하는 비율이 낮으면 각 프리로드 영역 넓이가 좁아지도록 상기 가중치를 적용하여 데이터 프리로드가 이뤄지는 횟수를 감소시킬 수 있다.
일 실시예에 따르면, 포인터의 주변에 형성된 프리로드 영역에 특정 객체가 배치된 영역이 적어도 일부 포함되는 경우, 상기 객체가 선택될 것으로 예측될 수 있다. 이러한 실시예에 대하여, 도 5 내지 7을 참조하여 설명한다.
도 5에는 포인터(200)의 주변에 프리로드 영역(220)이 형성된 것이 도시되어 있다. 프리로드 영역(220)은 투명 또는 반투명하게 GUI 내에서 표시될 수도 있으나, 전혀 표시되지 않을 수도 있다. 도 5에는 프리로드 영역(220)이 포인터(200)를 중심으로 한 원형으로 도시되어 있으나, 프리로드 영역(220)의 형상은 원형으로 한정되지는 않는다. 다만, 프리로드 영역(220)은 포인터(220)의 이동에 따라 같이 이동된다.
상기 설명된 바와 같이, 포인터(200)의 주변에 형성된 프리로드 영역(220)에 특정 객체가 배치된 영역이 적어도 일부 포함되는 경우, 상기 객체가 선택될 것으로 예측될 수 있다.
도 5에서는 프리로드 영역(220) 내에 제2 동영상 객체(140)가 배치된 영역이 일부 겹친다. 따라서, 프리로드 영역(220) 내에 제2 동영상 객체(140)가 배치된 영역이 일부 겹치는 상태가 소정 시간 이상 유지되는 경우, 제2 동영상 객체(140)가 선택될 것으로 예측하고 프리로드를 개시할 수 있다. 일 실시예에 따르면, 프리로드 영역(220) 내에 제2 동영상 객체(140)가 배치된 영역이 일부 겹치는 상태가 소정 시간 이상 유지되더라도 포인터(200)의 이동 속도가 소정의 한계치를 초과하는 경우에는 단순히 지나가는 것에 불과한 것이므로 프리로드를 개시하지 않을 수 있다.
프리로드 영역(220) 내에 배치된 영역이 적어도 일부 겹치는 객체가 복수 개일 수도 있다. 이 때, 가장 넓은 영역이 겹치는 하나의 객체 만을 프리로드 대상으로 선정하거나, 모든 객체를 프리로드 대상으로 선정하거나, 넓은 영역이 겹치는 순서로 소정 개수의 객체를 프리로드 대상으로 선정할 수도 있다.
도 6에 도시된 바와 같이, 프리로드 영역(220) 내에 가중치가 다르게 형성될 수도 있다. 상기 가중치는 프리로드 영역(220) 내에 배치된 영역이 적어도 일부 겹치는 객체가 복수개 인 경우, 프리로드 대상을 선정하는 데 사용될 수 있다.
상기 가중치는, 도 6에 도시된 바와 같이, 포인터(200)에 인접한 영역일수록 높은 값을 가질 수 있다. 프리로드 영역(220)과 객체의 배치 영역이 겹치는 영역은, 프리로드 영역(220) 중 겹치는 영역에 해당하는 가중치를 부여 받게 된다. 도 6에 도시된 케이스에서는, 제1 동영상 객체(130)의 배치 영역 및 제2 동영상 객체(140)의 배치 영역이 모두 프리로드 영역(220)과 겹치는데, 제1 동영상 객체(130)가 프리로드 영역(220)과 겹치는 영역의 가중치가 제2 동영상 객체(140)가 프리로드 영역(220)과 겹치는 영역의 가중치보다 낮으므로, 제2 동영상 객체(140)가 프리로드 대상으로 선정될 수 있다.
한편, 도 7에 도시된 바와 같이, 포인터(200)에 인접한 프리로드 영역(220)과 객체의 배치 영역을 기초로 형성된 프리로드 영역(132, 142)이 겹치는지 여부에 따라 프리로드 여부가 결정될 수도 있다. 도 7에 도시된 케이스의 경우, 포인터(200)에 인접한 프리로드 영역(220)은 제1 동영상 객체(130)의 프리로드 영역(132) 및 제2 동영상 객체(140)의 프리로드 영역(142)과 모두 겹치게 된다. 이러한 경우, 이러한 상태가 유지되는 시간이 소정의 한계치를 초과하게 되면, 제1 동영상 객체(130) 및 제2 동영상 객체(140)가 모두 프리로드 대상으로 선정되거나, 제1 동영상 객체(130) 및 제2 동영상 객체(140) 중 넓은 영역이 겹치는 제2 동영상 객체(140)가 프리로드 대상으로 선정될 수 있다. 또한, 도 7에 도시된 바와 같이, 프리로드 영역(220) 내에 가중치가 형성된 경우, 프리로드 영역끼리 겹치는 영역에 해당하는 가중치에 따라 제2 동영상 객체(140)가 프리로드 대상으로 선정될 수 있다.
일 실시예에 따르면, 데이터 프리로드가 2 이상의 단계로 나뉘어 수행될 수 있다. 즉, 제1 부분 프리로드에서는 상기 로드 대상 데이터의 일부를 프리로드하고, 제2 부분 프리로드에서는 상기 로드 대상 데이터의 나머지 일부를 프리로드하고, 제3 부분 프리로드에서는 상기 로드 대상 데이터의 나머지 일부를 프리로드하는 등의 방식으로 상기 로드 대상 데이터를 분할하여 프리로드할 수 있다. 부분 프리로드가 순차적으로 진행됨에 따라 객체 선택 확률이 더 높아지는 것으로 이해될 수 있다. 도 5는 본 실시예를 설명하기 위한 순서도이다.
도 8을 참조하면, 도 1을 참조하여 설명된 프리로드(S106)가 단계를 나누어 수행 된다. 즉, 프리로드가 개시되는 경우 로드 대상 데이터 전체가 프리로드 되는 것이 아니라 부분만 프리로드(S162)되고, 그 상태에서 객체 선택 확률이 더 높아졌다고 판정되는 경우(S164) 나머지 일부 또는 나머지 전부의 로드 대상 데이터가 프리로드(S166) 될 수 있다.
일 실시예에 따르면, 부분 프리로드(S162)되는 데이터의 사이즈는 데이터 타입에 따라 결정될 수 있다. 예를 들어, 이미지 타입의 경우, 동영상 타입의 경우 각각 부분 프리로드 될 데이터의 비율 또는 부분 프리로드 될 데이터의 사이즈가 기 지정될 수 있다.
예를 들어, 도 2에 도시된 것과 같이 객체 프리로드 영역에 제1 시간 동안 포인터가 머무르는 경우 부분 프리로드(S162)가 개시되고, 상기 제1 시간 보다 긴 제2 시간 동안 포인터가 머무르는 경우 나머지 프리로드(S166)가 개시될 수 있다.
또한, 예를 들어 포인팅 장치와 터치 디스플레이 사이의 거리가 제1 거리인 경우 부분 프리로드(S162)가 시작되고, 상기 포인팅 장치가 터치 디스플레이에 더 접근하여 포인팅 장치와 터치 디스플레이 사이의 거리가 상기 제1 거리보다 짧은 제2 거리인 경우 나머지 프리로드(S166)가 개시될 수 있다.
이하, 본 발명의 일 실시예에 따른 데이터 프리로드 방법에 대하여 도 9 내지 12를 참조하여 설명하기로 한다.
본 실시예에 따른 데이터 프리로드 방법은 포인팅 장치의 포인트 팁과 사용자 디바이스의 터치 디스플레이 사이의 간격을 측정하여 분석하고, 상기 분석의 결과를 이용하여, 상기 터치 디스플레이에 디스플레이된 객체 중, 상기 포인팅 장치가 가리키는 위치에 대응하는 선택 대상 객체의 선택을 예측한다. 즉, 본 실시예는 전자기 유도 타입과 같이, 터치 디스플레이가 터치되지 않더라도 포인팅 장치의 위치를 파악할 수 있는 경우, 포인팅 장치로 특정 지점을 터치하기 전에 필연적으로 상기 특정 지점에 접근하는 과정을 거쳐야 한다는 점을 이용하여 특정 객체의 선택을 예측한다.
먼저, 도 9를 참조하여 설명하면, 전자기 유도 타입의 포인팅 장치(300)가 디스플레이에 구비된 터치 센서의 감지 가능 거리 내에 위치하나 소정의 프리로드 한계치보다는 먼 거리에 위치하는 경우, 사용자 디바이스는 디스플레이 상에 포인터(200)를 디스플레이 할 수 있다.
다음으로, 도 10을 참조하여 설명하면, 포인팅 장치(300)가 상기 프리로드 한계치 이내로 디스플레이에 접근하는 경우, 포인터(200)의 위치에 대응하는 선택 대상 객체(130)의 로드 대상 데이터가 프리로드 된다. 이 때, 로드 대상 데이터 전체가 프리로드 될 수도 있고, 로드 대상 데이터 중 일부만 부분 프리로드 될 수도 있다.
도 11은 포인팅 장치(300)가 도 10에 도시된 것보다 디스플레이에 더 접근하는 경우의 도면이다. 도 11에 도시된 것은, 도 10에서 부분 프리로드가 수행된 경우를 가정한다. 포인팅 장치(300)가 상기 프리로드 한계치보다 더 짧은 간격인 전체 프리로드 거리 이내로 디스플레이에 접근하는 경우, 포인터(200)의 위치에 대응하는 선택 대상 객체(130)의 로드 대상 데이터의 나머지 전체가 프리로드 된다.
도 12는 포인팅 장치(300)가 디스플레이에 접촉하여 터치 신호가 발생한 경우이다. 도 12에 도시된 바와 같이 선택 대상 객체(130)가 실제로 선택된 경우, 로드 대상 데이터를 그때부터 로드하는 것이 아니라, 프리로드 된 로드 대상 데이터가 바로 억세스 된다. 일 실시예에 따르면, 프리로드 된 로드 대상 데이터는 메모리의 일부 영역에 할당된 캐시 영역에서 억세스 될 수 있다.
비접촉 터치를 지원하는 포인팅 장치를 이용하여 사용자 디바이스를 조작하는 경우, GUI에 포함된 특정 객체를 선택하기 위하여는 도 9 내지 12의 동작이 순차적으로 수행되는 것이 일반적일 것이다. 소정의 객체를 선택할 때, 그 객체가 디스플레이된 위치에서 디스플레이를 접촉하는 것이 일반적이므로, 상기 포인팅 장치를 디스플레이에 접촉하는 방향으로 이동 해가는 과정에서 포인터 인식 -> 부분 프리로드 -> 전체 프리로드 -> 객체 선택이 순차적으로 일어나는 것이 일반적일 것이고, 본 실시예는 그러한 경우에 프리로드 된 데이터가 실제로 억세스될 확률을 높여준다.
도 9 내지 12에 도시된 것과는 달리, 본 발명의 일 실시예에 따르면 포인팅 장치(300)와 디스플레이 사이의 간격이 감소하는 속도를 기준으로 프리로드 진행 여부를 결정할 수도 있다. 즉, 상기 간격이 감소하는 속도가 소정의 한계치 이상인 경우 상기 프리로드를 진행할 수 있다.
이하, 본 발명의 일 실시예에 따른 데이터 프리로드 방법에 대하여 도 13을 참조하여 설명한다.
본 실시예에 따른 데이터 프리로드 방법은 소정의 선택 예고 신호를 입력 받아, 상기 선택 예고 신호에 대응하는 선택 대상 객체의 로드 대상 데이터에 대한 프리로드를 수행한다. 본 실시예에 따르면 사용자가 특정 객체를 지정하여 프리로드할 것을 명시적으로 명령할 수 있는 효과가 있다. 예를 들어, 제1, 2, 3, 4 객체를 포함하는 GUI 화면이 있다면, 사용자는 관심은 있으나 바로 열어보고 싶지는 않은 제1, 3 객체에 대하여 선택 예고 신호를 입력하고, 그 중 하나의 객체를 실제로 선택하는 경우 프리로드 된 데이터를 통하여 빠르게 열어볼 수 있다.
본 실시예에 따른 데이터 프리로드 방법은 포인팅 장치의 조작에 따른 소정의 선택 예고 신호를 입력 받아, 상기 선택 예고 신호의 대상인 선택 대상 객체를 프리로드 풀(pool)에 추가하고, 상기 프리로드 풀에 추가된 각각의 선택 대상 객체에 대하여, 상기 선택 대상 객체가 선택된 경우 로드(load)되어야 할 로드 대상 데이터를 프리로드(pre-load)하고, 상기 프리로드 풀에 포함된 선택 대상 객체 중 하나가 선택된 경우 상기 프리로드된 데이터를 억세스하는 것을 포함할 수 있다.
상기 선택 예고 신호는, 예를 들어 펜 타입의 포인팅 장치(302)을 사용하되, 특정 객체(120, 130) 상의 비접촉 터치 상태에서 포인팅 장치(302)에 구비된 버튼이 조작되는 것, 특정 객체(120, 130) 상에 포인터가 위치한 상태에서 상기 포인터를 빠르게 흔드는 것, 특정 객체(120, 130) 상의 비접촉 터치 상태에서 포인팅 장치(302)와 디스플레이 사이의 간격을 빠르게 조정하는 것 등이 사용될 수 있다.
도 13에서는 두개의 객체(120, 130)에 대하여 상기 선택 예고 신호가 입력되어, 두개의 객체가 프리로드 풀에 추가된 것이 도시되어 있다. 상기 프리로드 풀은, 예를 들어 메모리 상의 소정 위치에 할당된 영역일 수 있으며, 상기 프리로드 캐시이거나, 상기 프리로드 캐시와 별도로 운영되는 영역일 수 있다.
상기 프리로드 캐시는, 예를들어 LIFO(Last In First Out) 방식의 스택(stack)으로 운영될 수 있다. 또한, 상기 프리로드 캐시에 삽입된 로드 대상 데이터는 소정 시간이 지나면 자동적으로 삭제되어 상기 프리로드 캐시가 충분한 가용 공간을 유지할 수 있도록 한다. 또한, 상기 프리로드 캐시에 삽입된 로드 대상 데이터는 상기 억세스 후 상기 프리로드 캐시에서 제거되는 것이 바람직하다.
다음으로, 본 발명의 다른 실시예에 따른 사용자 디바이스의 구성 및 동작에 대하여 도 14를 참조하여 설명한다. 도 14에 도시된 바와 같이 본 실시예에 따른 사용자 디바이스(10)은 터치 디스플레이(100), 선택예측부(102), 프리로드 캐시(104) 및 데이터 억세스부(105) 등을 포함할 수 있다.
터치 디스플레이(100)에는 하나 이상의 선택 가능한 객체를 포함하는 GUI가 디스플레이 된다. 객체가 선택 가능하다는 것은 선택한 경우 로드 대상 데이터가 로드 되어 처리됨으로써 새로운 응답 GUI가 생성된다는 것을 의미한다.
터치 신호 생성부(101)는 터치 디스플레이(100)에 대한 터치 입력을 감지하여 터치 신호로 변환한 후 선택예측부(102)에 제공한다. 상기 터치 신호는, 예를 들어 디스플레이와 포인팅 장치와의 간격에 대한 정보 및 포인팅 좌표를 포함하는 비접촉 터치 신호 일 수 있다.
선택예측부(102)는 터치 신호 생성부(101)로부터 상기 터치 신호를 제공받아 상기 터치 신호가 어떠한 객체를 대상으로 하는 것인지와 상기 터치 신호가 상기 객체를 대상으로 하는 소정의 선택 예고 터치 입력인지를 판정한다. 선택예측부(102)는 상기 판정 결과, 선택 대상 객체에 대한 선택 예고 터치 입력인 것으로 판정된 경우, 상기 선택 대상 객체가 선택되면 로드(load)되어야 할 로드 대상 데이터를 프리로드 캐시(104)에 삽입한다.
선택예측부(102)는 저장부(103)에 기 저장된 로컬(local) 데이터를 로드하여 프리로드 캐시(104)에 삽입하거나, 네트워크 인터페이스(106)를 통하여 외부 장치에 저장된 데이터를 수신하여 프리로드 캐시(104)에 삽입할 수 있다.
선택예측부(102)는 상기 선택 대상 객체의 프리로드 영역 내에 포인터가 소정 시간 이상 머무르거나, 상기 선택 대상 객체의 프리로드 영역 내에 포인터가 비접촉 상태로 소정 시간 이상 머무르는 경우 등을 선택 예고 터치 입력이 있는 것으로 판정할 수 있으나, 그에 한정되지는 않는다.
프리로드 캐시(104)는 사용자 디바이스(10)의 메모리의 소정 영역에 할당된 것일 수 있다.
데이터 억세스부(105)는 터치 디스플레이(100)에 디스플레이된 상기 선택 대상 객체에 대한 터치에 의하여 상기 선택 대상 객체가 선택되면 프리로드 캐시(104)에 저장된 상기 로드 대상 데이터를 억세스하고, 상기 로드 대상 데이터의 처리 결과를 터치 디스플레이(100)에 디스플레이 한다.
본 발명의 다른 실시예에 따른 사용자 디바이스의 구성 및 동작에 대하여 도 15를 참조하여 설명한다. 도 15에 도시된 사용자 디바이스는 도 14에 도시된 사용자 디바이스와 달리 터치 디스플레이(100) 대신 일반 디스플레이(107)를 구비한 것으로, 터치 입력 대신 마우스와 같은 포인팅 장치의 입력을 받는 것일 수 있다.
도 15에 도시된 사용자 디바이스(11)는 포인팅 장치(12)로부터 포인팅 관련 입력 신호를 제공받는 포인팅 신호 생성부(108)를 포함한다.
디스플레이(100)에는 하나 이상의 선택 가능한 객체를 포함하는 GUI가 디스플레이 된다. 객체가 선택 가능하다는 것은 선택한 경우 로드 대상 데이터가 로드 되어 처리됨으로써 새로운 응답 GUI가 생성된다는 것을 의미한다.
포인팅 신호 생성부(108)는 포인팅 장치(12)로부터 포인팅 관련 입력 신호를 제공받아 선택예측부(102)에 제공한다. 상기 포인팅 관련 입력 신호는, 예를 들어 포인터의 X, Y 축 좌표를 포함하는 마우스 입력 신호일 수 있다.
선택예측부(102)는 포인팅 신호 생성부(108)로부터 상기 포인팅 관련 입력 신호를 제공받아, 상기 포인팅 관련 입력 신호로부터 선택 대상 객체를 결정하고, 상기 선택 대상 객체에 대한 프리로드 여부를 판정한다. 즉, 선택예측부(102)는 상기 포인팅 관련 입력 신호를 제공받아 상기 선택 대상 객체의 배치 영역과 상기 포인팅 관련 입력 신호를 기초로 결정된 포인터 위치를 모두 고려하여 상기 선택 대상 객체의 프리로드 여부를 결정할 수 있다.
선택 대상 객체를 결정하고, 상기 선택 대상 객체에 대한 프리로드 여부를 결정하는 방법에 대하여는 도 2 내지 8을 참조하여 설명된 방법이 사용될 수 있다. 예를 들어, 선택예측부(102)는 상기 선택 대상 객체의 프리로드 영역 내에 포인터가 소정 시간 이상 머무르거나, 포인터의 프리로드 영역에 상기 선택 대상 객체의 적어도 일부 배치 영역이 포함되는 상태가 소정 시간 이상 유지되는 경우 상기 선택 대상 객체에 대하여 프리로드를 진행할 것을 결정할 수 있다.
선택예측부(102)는 상기 판정 결과, 선택 대상 객체에 대한 프리로드를 해야 하는 것으로 판정된 경우, 상기 선택 대상 객체가 선택되면 로드(load)되어야 할 로드 대상 데이터를 프리로드 캐시(104)에 삽입한다.
선택예측부(102)는 저장부(103)에 기 저장된 로컬(local) 데이터를 로드하여 프리로드 캐시(104)에 삽입하거나, 네트워크 인터페이스(106)를 통하여 외부 장치에 저장된 데이터를 수신하여 프리로드 캐시(104)에 삽입할 수 있다.
프리로드 캐시(104)는 사용자 디바이스(10)의 메모리의 소정 영역에 할당된 것일 수 있다.
데이터 억세스부(105)는 터치 디스플레이(100)에 디스플레이된 상기 선택 대상 객체에 대한 터치에 의하여 상기 선택 대상 객체가 선택되면 프리로드 캐시(104)에 저장된 상기 로드 대상 데이터를 억세스하고, 상기 로드 대상 데이터의 처리 결과를 터치 디스플레이(100)에 디스플레이 한다.
도 16은 본 발명의 다른 실시예에 따른 사용자 디바이스(10)를 개략적으로 도시한 것이다.
도 16을 참조하면, 본 발명의 일 실시예에 따른 사용자 디바이스(10)는, 디스플레이부(100), 이미지 센서부(110), 눈동자 인식부(120), 프리로드 수행부(140), 포인터 좌표 연산부(130), 프리로드 수행부(140), 프리로드 캐시부(150), 저장부(160) 및 데이터 억세스부(170) 및 네트워크 인터페이스(180)를 포함할 수 있다.
디스플레이부(100)는, 각각의 객체(400, 410, 420, 430)를 디스플레이 하도록 구성될 수 있다. 디스플레이부(100)는 디스플레이 소자를 구비하여 그래픽, 텍스트, 비디오, GUI(Graphical User Interface) 및 이들의 조합을 포함할 수 있다. 디스플레이소자는, LCD(Liquid Crystal Display), LPD(Light emitting Polymer Display), OLED(Organic Light-Emitting Diode), AMOLED(Active-matrix Organic Light-Emitting Diode) 등을 포함할 수 있다. 디스플레이부(100)는 사용자로부터 터치 입력을 받도록 구성될 수도 있다. 디스플레이부(100)가 터치 입력을 받을 수 있도록 터치 감지 소자를 포함할 수 있는데, 터치 감지 소자가 사용자의 터치 입력을 감지하는 방식은, 정전용량식(capacitive) 기술, 저항식(resistive) 기술, 적외선 기술, 표면 음파 기술(surface acoustic wave technology) 등을 포함할 수 있다.
디스플레이부(100)가 터치 감지 소자를 포함하는 경우, 디스플레이부(100)는 특정 개체의 선택을 위한 터치 입력과 포인터 이동을 위한 터치 입력을 모두 지원할 수 있다. 상기 비접촉 터치는 상기 터치 감지 소자가 디스플레이부(100)에 접촉하지 않은 상태인 포인팅 장치 또는 손가락의 위치를 감지하는 것일 수 있다. 예를 들어, 상기 비접촉 터치는 상기 포인터 이동을 위한 터치 입력으로 해석되고, 접촉이 이뤄진 터치 입력은 상기 특정 개체의 선택을 위한 터치 입력으로 해석될 수 있다.
상기 비접촉 터치를 지원하기 위하여, 디스플레이부(100)는 전자기 유도 방식의 터치 감지 소자를 구비한 것이거나, Active capacitance 방식의 터치 감지 소자를 구비한 것이거나, 비접촉 터치 상태인 손가락의 위치를 감지하기 위한 적외선 센서를 구비하는 것 일 수 있다.
본 발명의 일 실시예로서의 선택 대상 객체(400)를 비롯한 객체(410, 420, 430)는, 다양한 GUI를 포함할 수 있으며, 이미지를 확대하기 위한 객체, 동영상을 재생하기 위한 객체, 웹 페이지상에서의 특정 링크 객체 등을 포함하는 GUI를 의미하는 것일 수 있다.
이미지 센서부(110)는, 시선 좌표로서 사용자 디바이스(10)에게 인식될 수 있는 사용자의 시선 위치(60)를 특정하기 위하여 사용자(660)의 눈동자 이미지를 획득하도록 구성될 수 있다. 이미지 센서부(110)에 포함되는 이미지 센서는, CMOS 센서가 바람직할 것이나, 이에 의하여 제한되는 것은 아니다. 이미지 센서부(110)는 획득한 사용자의 이미지를 눈동자 인식부(120)로 전송하도록 구성될 수 있다.
눈동자 인식부(120)는, 이미지 센서부(110)와 전기적으로 연결되어 이미지 센서부(110)가 획득한 사용자(660)의 이미지를 전송받을 수 있다. 전송받은 사용자(660)의 이미지 중에서 눈동자를 인식하고 이를 추적하여, 사용자(660)가 응시하고 있는 디스플레이부(100)의 영역을 추출하거나 좌표를 연산할 수 있다. 이를 위하여 눈동자 인식부(120)는 영상 처리 모듈(미도시)을 포함할 수 있다. 추출된 영역에 대한 데이터 또는 연산된 좌표(이하, 필요한 경우 “시선 좌표”라고 한다)에 대한 데이터는 눈동자 인식부(120)와 전기적으로 연결된 프리로드 수행부(140)로 전송될 수 있다. 이하에서는, 눈동자 인식부(120)가 사용자의 시선에 대한 시선 좌표를 연산하여 이에 관한 데이터를 프리로드 수행부(140)에 전송하는 것으로 설명하지만, 이에 의하여 제한되는 것은 아니다. 즉, 눈동자 인식부(120)가 사용자의 시선 좌표가 포함되어 있는 특정한 시선 분할 영역(20)에 관한 데이터를 전송하도록 구성될 수도 있다. 눈동자 인식부(120)가 눈동자를 인식하여 시선 위치(60)를 판단하는 방법은, 예를 들면, 대한민국 특허 공개공보 제2010-0038897호에 개시되어 있는 방법 등에 의하여 통상의 기술자에게 명확하게 이해될 수 있을 것이므로, 자세한 설명은 생략하기로 한다.
포인터 좌표 연산부(130)는, 현재 포인터 위치에 대한 좌표를 연산할 수 있다. 본 발명의 일 실시예에 따른 포인터는, 전자기 유도 방식을 이용한 스타일러스 펜일 수 있다. 몇몇 실시예에서는, 커서를 의미하는 것일 수 있다. 즉, 본 발명에서 말하는 포인터는, 마우스, 스타일러스 펜, 트랙 볼 등 각각의 객체(400, 410, 420, 430)에 대한 선택을 위하여 이루어 질 수 있는 다양한 입출력(I/O) 수단을 의미하는 것일 수 있다. 연산된 포인터 좌표는, 포인터 좌표 연산부(130)와 전기적으로 연결된 프리로드 수행부(140)로 전송될 수 있다.
프리로드 수행부(140)는, 전송받은 시선 좌표 및 포인터 좌표를 기초로 하여 프리로드를 수행하는 것일 수 있다.
본 발명의 일 실시예로서의 프리로드는, 각각의 객체(400, 410, 420, 430)에 대하여 정의된 프리로드 영역(30) 중 어느 하나의 프리로드 영역(30) 내에 포인터 위치(50)가 소정 시간 이상 머무르고, 포인터 위치(50)와 사용자의 시선 위치(60)가 동일한 시선 분할 영역(20)내에 소정 시간 이상 머무르는 경우에, 각각의 객체(400, 410, 420, 430) 중에서 포인터 위치(50)에 따라 사용자(660)에 의한 선택이 예상되는 객체(이하, 필요에 따라서는 “선택 대상 객체(400)”라고 한다)가 선택되면 로드(load)되어야 할 로드 대상 데이터를 프리로드 캐시부(150)에 삽입하는 것일 수 있다. 즉, 본 실시예에 따른 프리로드는, 프리로드 영역(30) 내에 포인터 위치(50)가 소정 시간 이상 머무르는 조건(조건 1)을 만족하는 것 만으로는 프리로드를 수행하지 아니하고, 조건 1과 더불어, 포인터 위치(50)와 사용자의 시선 위치(60)가 동일한 시선 분할 영역(20)내에 소정 시간 이상 머무르는 조건(조건 2)을 함께 만족하여야 프리로드를 수행하는 것일 수 있다. 본 발명의 다른 실시예에 따른 프리로드는, 포인터 위치(50)와 시선 위치(60)가 서로 다른 시선 분할 영역(20)에 위치하고 있는 경우에, 시선 위치(60)의 이동 방향(I,Ⅱ,Ⅲ) 및 이동 거리(A, B, C)를 기준으로, 시선 위치(60)의 이동 거리(A, B, C) 및 이동 방향(I,Ⅱ,Ⅲ)이 소정의 조건을 만족하는지 여부를 판단하여 프리로드를 수행하는 것일 수 있다.
본 발명의 다른 실시예에 의한 프리로드는, 포인터의 이동 속도를 더 반영하여 수행될 수 있다. 예를 들어, 포인터 위치(50)와 사용자의 시선 위치(60)가 동일한 시선 분할 영역(20)내에 소정 시간 이상 머무르는 조건(조건 2)과 포인터의 이동 속도와 관련된 요건(조건 3)을 모두 만족 시킬 때 프리로드가 수행될 수 있다. 예를 들어, 조건 3은 포인터 이동 속도가 소정의 프리로드 기준 속도 이상으로 증가할 것, 또는 포인터 이동 속도가 소정의 프리로드 기준 속도 이하로 감소할 것일 수 잇다.
본 발명의 또 다른 실시예에 의한 프리로드에 대해서는 도 22내 지 도 24에 대한 설명에서 자세하게 설명하도록 한다.
프리로드 수행부(140)는, 동일한 시선 분할 영역(20)에 시선 위치(60)와 포인터 위치(50)가 존재하는지 여부를 판단하여 프리로드를 수행하는 것일 수 있다. 이는, 시선 분할 영역(20)에 대한 설정 데이터와, 시선 위치(60)의 좌표 데이터 및 포인터 위치(50)의 좌표 데이터를 비교하여 판단하도록 구성될 수 있다. 시선 분할 영역(20)에 대한 좌표 데이터는 미리 설정된 것일 수도 있고, 사용자(660)가 임의로 설정할 수 있도록 구성될 수도 있다. 또한, 시선 분할 영역(20)의 개수 또한, 미리 설정된 것일 수도 있고, 사용자가 임의로 설정하도록 구성될 수도 있다.
프리로드 수행부(140)는, 동일한 시선 분할 영역(20)에 시선 위치(60)와 포인터 위치(50)가 소정 시간 머무르는 경우에 대상 객체 데이터에 대한 프리로드를 수행할 수 있다. 선택 대상 객체(400)에 대한 대상 객체 데이터가 저장부(160)에 저장되어 있는 경우, 즉, 대상 객체 데이터가 로컬 데이터라고 한다면, 프리로드 수행부(140)는 저장부(160)로부터 대상 객체 데이터를 로드하여 프리로드 캐시부(150)에 삽입하도록 구성될 수 있다. 대상 객체 데이터가 로컬 데이터가 아니라면, 네트워크 인터페이스(180)를 통하여 네트워크에 접속하여 대상 객체 데이터를 소정의 외부 장치로부터 전송받아 프리로드 캐시부(150)에 삽입하는 것일 수 있다.
일 실시예에 따르면, 프리로드 수행부(140)는, 상기 시선 좌표에 의하여 결정되는 시선 위치와 포인터의 위치 사이의 거리가 기 지정된 한계 거리 이하로 감소하는 경우 상기 선택 대상 객체가 선택되면 로드 되어야 할 대상 객체 데이터를 프리로드 할 수도 있다.
프리로드 캐시부(150)는, 프리로드 수행부(140)가 프리로드한 대상 객체 데이터를 저장할 수 있도록 구성될 수 있다. 프리로드 수행부(140)는, 예를 들어 LIFO(Last In First Out) 방식의 스택(stack)으로 운영될 수 있으나, 이에 의하여 제한되는 것은 아니다. 또한, 상기 프리로드 캐시에 삽입된 로드 대상 데이터는 소정 시간이 지나면 자동적으로 삭제되어 상기 프리로드 캐시가 충분한 가용 공간을 유지할 수 있도록 구성될 수 있다. 또한, 상기 프리로드 캐시에 삽입된 로드 대상 데이터는 상기 억세스 후 상기 프리로드 캐시에서 제거되는 것이 바람직할 것이다.
저장부(160)는, 선택 대상 객체(400)에 관한 대상 객체 데이터가 기 저장되어 있는 저장 매체일 수 있다. 상술한 바와 같이, 대상 객체 데이터는, 저장부(160)에 기 저장되어 있는 로컬(local) 데이터일 수 있고, 네트워크 인터페이스(180)를 통하여 외부 장치로부터 전송받아야 하는 데이터일 수 있다. 저장부(160)는, 하드 디스크 드라이브(HDD), 솔리드 스테이드 드라이브(SSD), 테이프(tape) 드라이브, 광학 드라이브, RAID 어레이(array), 랜덤 액세스 메모리(RAM) 및 읽기 전용 메모리(ROM)를 포함할 수 있으나, 이에 의하여 제한되는 것은 아니다.
데이터 억세스부(170)는, 디스플레이부(100)에 디스플레이된 선택 대상 객체(400)에 대한 선택에 의하여 선택 대상 객체(400)가 선택되면 프리로드 캐시부(150)에 저장된 로드 대상 데이터를 억세스하고, 로드 대상 데이터의 처리 결과를 디스플레이부(100)에 디스플레이 하도록 구성될 수 있다.
도 17 및 도 18은 본 발명의 일 실시예에 따른 객체(410, 420, 430)와 선택 대상 객체(400), 프리로드 영역(30) 및 시선 분할 영역(20)을 개략적으로 도시한 것이다.
도 17 및 도 18을 참조하면, 선택 대상 객체(400)를 비롯한 각각의 객체(400, 410, 420, 430)는, 각각의 객체(400, 410, 420, 430)에 정의된 프리로드 영역(30)에 포함될 수 있다. 본 발명의 일 실시예에 따른 프리로드 영역(30)은, 각각의 객체(400, 410, 420, 430)가 디스플레이 된 영역으로써, 그 영역 내에서 마우스 클릭 및 터치 등 선택을 위한 입력을 하는 경우 특정 객체에 대한 선택 입력이 처리되는 배치 영역과 동일할 수도 있고, 프리로드 영역(30)은 상기 배치 영역으로부터 지정된 범위 내에서 확대 또는 축소될 수도 있다.
본 발명의 일 실시예에 따른 시선 분할 영역(20)은, 프리로드를 수행하기 위하여 설정된 또 다른 기준일 수 있다. 즉, 선택 대상 객체(400)를 선택하려는 사용자(660)의 의도를 보다 정확하게 파악하기 위하여 포인터 위치(50)뿐만 아니라, 사용자의 시선 위치(60)까지도 고려하여 프리로드를 수행하기 위해 설정된 것일 수 있다. 도 17 및 도 18에서는, 시선 분할 영역(20)을 2개 내지는 3개로 분할하여 도시하였으나, 시선 분할 영역(20)의 위치 및 개수가 이에 의하여 제한되는 것은 아니다. 시선 분할 영역(20)은 4개의 시선 분할 영역(20)이 존재할 수 있고, 5개의 시선 분할 영역(20)이 설정될 수도 있다. 또한, 가로 방향 또는 세로 방향으로 설정될 수도 있다. 시선 분할 영역(20)은, 미리 설정된 것일 수도 있고, 사용자가 시선 분할 영역(20)의 개수 또는 배치 방향을 임의로 설정하도록 구성될 수도 있다. 도 18에서 도시된 바와 같이, 시선 분할 영역(20)은 각각의 객체(400, 410, 420, 430)를 포함할 수도 있고, 포함하지 아니할 수도 있다.
도 19 및 도 20는 본 발명의 일 실시예에 따른 동일한 시선 분할 영역(20) 내에 포인터 위치(50)와 시선 위치(60)가 존재하는 경우를 개략적으로 도시한 것이다.
도 19 및 도 20를 참조하면, 사용자(660)의 시선 위치(60)가 동일한 시선 분할 영역(20)에 포함되는 경우에, 프리로드 수행부(140)는, 선택 대상 객체(400)에 대한 프리로드를 수행하는 것일 수 있다. 포인터 위치(50)뿐만 아니라, 사용자(660)의 시선 위치(60)까지도 고려하여, 선택 대상 객체(400)의 선택에 관한 사용자(660)의 의도를 정확하게 파악하여 불필요한 프리로드를 수행하지 아니하는 결과로, 배터리 혹은 컴퓨팅 파워를 줄일 수 있다. 도 21에서는, 본 발명의 일 실시예로서, 포인터 장치가 스타일러스 펜으로 사용되는 태블릿 PC 를 예를 들어 도시한 것이다. 스타일러스 펜은 전자기 유도 방식을 이용한 것일 수 있다. 태블릿 PC의 화면에는 다양한 객체(400, 410, 420, 430)가 표시될 수 있다. 사용자의 시선 위치(60)가 선택 대상 객체(400)에 대한 포인터 위치(50)와 동일한 시선 분할 영역(20)에 포함되어 있으므로, 프리로드 수행부(140)는 선택 대상 객체(400)에 대한 프리로드를 수행할 수 있다.
도 21은 본 발명의 일 실시예에 따른 서로 다른 시선 분할 영역(20) 내에 포인터 위치(50)와 시선 위치(60)가 존재하는 경우를 개략적으로 도시한 것이며, 도 22 내지 도 24는 본 발명의 일 실시예에 따른 서로 다른 시선 분할 영역(20) 내에 포인터 위치(50)와 시선 위치(60)가 존재하는 경우에 프리로드가 수행되기 위한 조건을 개략적으로 도시한 것이다.
도 21을 참조하면, 두 개의 시선 분할 영역(20) 중 선택 대상 객체(400)는 위쪽의 시선 분할 영역(20)에 존재하고, 시선 위치(60)는 아래쪽의 시선 분할 영역(20)에 위치한다. 이러한 경우가 계속 유지되는 경우라면, 원칙적으로 프리로드 수행부(140)는 선택 대상 객체(400)에 대하여 프로로드를 수행하지 아니할 수 있다. 그러나, 사용자(660)의 시선 위치(60)의 이동 방향(I,Ⅱ,Ⅲ) 및 이동 거리(A, B, C)를 기초로, 시선 위치(60)와 포인터 위치(50)가 동일한 시선 분할 영역(20)에 포함되지 아니하더라도 프리로드를 수행하도록 구성될 수 있다. 즉, 프리로드를 수행하기 위한 본 발명의 다른 실시예로서, 시선 위치(60)의 이동 방향(I,Ⅱ,Ⅲ)이 포인터 위치(50)가 위치하는 시선 분할 영역(20)으로 향하고, 시선 위치(60)의 이동 거리(A, B, C)가 소정의 거리 이상 이동된 경우에는 시선 위치(60)와 포인터 위치(50)가 동일한 시선 분할 영역에 포함되지 아니한다 하더라도 프리로드를 수행하도록 구성될 수 있다.
예를 들면, 도 22에서 도시된 바와 같이, 시선 위치(60)와 포인터 위치(50)가 서로 다른 시선 분할 영역(20)에 위치한 경우라도, 포인터 위치(50)가 포함되어 있는 시선 분할 영역(20)의 방향으로 소정 거리 이상 이동하는 경우에는, 프리로드 수행부(140)가 프리로드를 수행하도록 구성될 수 있다. 즉, 프리로드를 수행하기 위한 이동 방향(I,Ⅱ,Ⅲ)에 대한 조건과 이동 거리(A, B, C)에 대한 조건을 만족하여야 프리로드를 수행할 수 있는 바, 이하에서는 이동 방향(I,Ⅱ,Ⅲ)에 대한 조건 및 이동 거리(A, B, C)에 대한 조건을 설명하기로 한다.
도 23에서는 시선 위치(60)의 이동 방향(I,Ⅱ,Ⅲ)에 대한 판단 기준이 개략적으로 도시되어 있다. 도 23을 참조하면, 시선 위치(60)의 이동 방향(I,Ⅱ,Ⅲ)은 다양하게 존재할 수 있다. 그러나, 프리로드 수행부(140)가 프리로드를 수행하기 위한 이동 방향(I,Ⅱ,Ⅲ)은, 미리 설정된 소정의 각도 범위(θ)를 기준으로 하여 이동 방향을 결정하는 것일 수 있다. 예를 들어, 제1 기준선(640)을 기준으로 45°의 각도가 설정되어 있는 경우라면, 현재의 시선 위치(60)를 기준으로 이동 후의 시선 위치(60)에 대한 연장선이 제1 기준선(640)과 이루는 각도가 45°이내라면 포인터 위치(50)가 위치하는 시선 분할 영역(20)을 향하는 방향으로 처리하도록 구성될 수 있다. 도 23에서는, Ι 및 Ⅱ 방향은 소정의 각도 범위(θ)내에 포함되어 프리로드를 수행하기 위한 방향으로 처리될 수 있지만, Ⅲ 방향은 각도 범위(θ)를 초과하는 것으로서, 프리로드를 수행하기 위한 방향으로 처리되지 아니할 수 있다.
도 24에서는 시선 위치(60)의 이동 거리(A, B, C)에 대한 판단 기준이 개략적으로 도시되어 있다. 도 24를 참조하면, 프리로드를 수행하기 위한 이동 거리 또한 미리 설정되어 있는 값일 수 있다. 예를 들면, A는, 그 이동 방향(Ι)이 프리로드를 수행하기 위한 각도 범위(θ)내에 포함되더라도, 이동 거리 조건을 만족하지 아니하여 프리로드가 수행되지 아니할 수 있다. 즉, 이동 거리 조건 및 이동 방향 조건을 모두 만족하는 시선 위치(610)로 이동하였을 경우에만, 프리로드 수행부(140)는 프리로드를 수행하는 것일 수 있다. 다만, 이는 본 발명의 일 실시예에 불과한 것으로서, 이동 거리 조건 및 이동 방향 조건 중 어느 하나라도 만족하는 경우에는 프리로드 수행부(140)가 프리로드를 수행하도록 구성될 수도 있다.
도 25은 본 발명의 일 실시예에 따른 시선 분할 영역(20)이 동적으로 설정되는 실시예를 개략적으로 도시한 것이다.
도 25을 참조하면, 사용자(660)가 디스플레이부(100)의 특정 부분만을 응시하는 경우에는, 사용자(660)의 의도를 좀 더 적극적으로 반영하기 위하여 동적으로 시선 분할 영역(20)이 결정되도록 구성될 수도 있다. 이를 위하여, 사용자 디바이스(10)는 시선 위치(60)의 이동 내역을 기록하는 시선 기록부(미도시), 시선 기록부에 기록된 데이터를 이용하여 시선 이동 패턴을 판정하는 시선 이동 패턴 판정부(미도시) 및 판정된 시선 이동 패턴에 따라 시선 분할 영역(20)을 배치하는 영역 분할 개인화부를 포함할 수 있다. 도 25에서의 예를 들면, 시선 위치(60)는 왼쪽 측면에 치우쳐 있다. 시선 기록부는 이러한 시선 위치(60)의 이동 내역을 기록하고, 시선 기록부에 기록된 데이터를 이용하여 시선 분할 영역(20)이 가로 방향보다는 세로 방향이 더 적합할 것이라고 판단할 수 있다. 이러한 판단 결과에 따라 영역 분할 개인화부는, 시선 분할 영역(20)을 세로 방향으로 실시간을 변화시킬 수 있다.
도 26은 본 발명의 다른 실시예에 따른 사용자 디바이스(10)에서 프리로드가 수행되는 경우를 개략적으로 도시한 것이다.
도 26을 참조하면, 본 발명의 사용자 디바이스(10)의 다른 실시예로서, 퍼스널 컴퓨터에서 본 발명이 적용될 수도 있다. 이러한 경우, 포인터는 마우스로 구성될 수 있을 것이며, 포인터 위치(50)는 커서에 의하여 정의될 수 있다. 사용자 디바이스(10)의 다른 실시예인 퍼스널 컴퓨터에서도 상술한 본 발명의 실시예가 동일하게 적용될 수 있을 것이다.
도 27는 본 발명의 일 실시예에 따른 동일한 시선 분할 영역(20) 내에 포인터 위치(50)와 시선 위치(60)가 존재하는 경우에 프리로드가 수행되는 단계를 순서도로 도시한 것이다.
도 27를 참조하면, 사용자 디바이스(10)는 사용자(660)의 눈동자 인식 및 시선 좌표를 연산할 수 있다(S100). 포인터의 좌표와 시선 좌표의 위치를 비교하여(S115) 동일한 시선 분할 영역(20)내에 위치하는지 판단할 수 있다(S120). 동일한 시선 분할 영역(20) 내에 위치하는 경우라면 프리로드를 수행하고(S130), 사용자(660)에 의한 선택 대상 객체에 대한 선택이 이루어지는지 여부를 판단한다(S140). 사용자(660)에 의하여 선택 대상 객체가 선택되면, 대상 객체 데이터에 대하여 억세스하고(S150), 선택 대상 객체(400)에 대한 선택이 이루어지지 아니한다면, 프리로드 된 대상 객체 데이터를 삭제하도록 구성될 수 있다(S120)
도 28은 본 발명의 일 실시예에 따른 서로 다른 시선 분할 영역(20) 내에 포인터 위치(50)와 시선 위치(60)가 존재하는 경우에 프리로드가 수행되는 단계를 순서도로 도시한 것이다.
도 28을 참조하면, 사용자 디바이스(10)는 사용자(660)의 눈동자를 인식하고 이에 대한 시선좌표를 연산한 후(S100), 포인터의 좌표와 시산좌표와의 위치를 비교 즉, 동일한 시선 분할 영역(20)내에 위치하는지 서로 다른 시선 분할 영역 내에 위치하는지 여부를 판단할 수 있다(S115). 동일한 시선 분할 영역 내에 일정시간 위치하는지 여부를 판단하고(S120), 일정 시간 위치한다면 선택 대상 객체(400)에 대한 프리로드를 수행할 수 있다(S130). 그러나, 서로 다른 시선 분할 영역(20) 내에 위치한다면, 시선 위치(60)가 일정 각도 내에서 이동하는지 여부를 판단하고(S210), 일정 거리 이상 이동하는지 여부를 판단할 수 있다(S220). 즉, 사용자(660)의 시선 위치(60)가 포인터 위치(50)가 위치하는 시선 분할 영역(20) 쪽으로 향하는 경우라고 판단되면, 프리로드를 수행하도록 구성될 수 있다(S130). 사용자(660)가 선택 대상 객체(400)를 선택하면 프리로드 된 대상 객체 데이터에 대하여 억세스하고(S150), 선택 대상 객체(400)에 대한 선택이 이루어지지 아니한다면 프리로드된 대상 객체 데이터를 삭제하는 단계를 포함할 수 있다(S160).
이하, 본 발명의 일 실시예에 따른 데이터 프리로드 방법을 설명하기로 한다. 본 실시예에 따른 데이터 프리로드 방법은 확률에 기반하여 사용자 디바이스(10)의 입력 패턴이 선택 패턴에 해당하는 지 실시간 판정한다.
상기 선택 패턴은, 사용자가 특정 아이콘, 링크 등을 선택할 때의 사용자 입력 패턴을 의미한다.
먼저, 입력 패턴에 대한 모수 데이터가 수집된다.
상기 입력 패턴을 구성하는 요소 데이터로 포인터 좌표, 포인터 이동 초기 속도, 포인터 이동 가속도 및 선택 입력 시점 등과 같은 데이터가 존재할 수 있다.
아이콘, 링크 등에 대한 선택 입력(클릭, 터치)이 이뤄질 때와 그렇지 않을 때의 입력 패턴은 구분될 것이기 때문에, 상기 수집된 모수 데이터는 클러스터링(clustering) 알고리즘에 의하여 선택 패턴을 나타내는 클러스터 및 미선택 패턴을 나타내는 클러스터로 구분될 수 있다. 상기 클러스터링 알고리즘은 k-means clustering 혹은 neural network등과 같이 일반화된 알고리즘이 사용될 수 있다.
상기 모수 데이터는 복수 사용자의 입력 패턴을 취합하여 생성된 것일 수 있다. 이러한 경우, 다수 사용자의 패턴을 이용하여 범용적으로 적용될 수 있는 모수 데이터가 생성될 수 있는 효과가 있다.
상기 모수 데이터는 특정 사용자의 입력 패턴만이 축적된 것일 수도 있다. 이러한 경우, 특정 사용자의 입력 패턴에 최적화된 선택 예측을 할 수 있는 효과가 있다. 상기 모수 데이터는 지속적으로 축적될 수 있으므로, 특정 사용자의 입력 패턴을 학습하여 사용자 디바이스(10)에 대한 입력 패턴이 변경되는 경우에도 변경된 입력 패턴에 따른 선택 예측을 할 수 있는 효과가 있다.
다음으로, 선택 패턴을 나타내는 클러스터 및 미선택 패턴을 나타내는 클러스터 각각을 나타내는 수학 모델을 형성한다. 상기 수학 모델은, 예를 들어 사용자 입력을 구성하는 요소 데이터를 입력 받아 선택 예측 여부를 출력하는 함수로써 표현될 수 있다. 상기 수학 모델은 클러스터에 포함된 각각의 요소 데이터들에 대한 회귀 분석, 주성분 분석 등의 널리 알려진 방식을 이용하여 생성될 수 있다.
상기 수학 모델이 형성되면, 사용자의 포인터 이동 입력을 나타내는 데이터를 실시간 입력 받아 상기 수학 모델에 입력함으로써, 포인터 이동 입력이 선택이 예측 되는 입력인지 여부를 판정할 수 있다.
포인터 이동 입력이 선택이 예측되는 입력인 것으로 판정된 경우, 그 시점의 포인터 위치를 기반으로 선택 대상 객체를 선정할 수 있다. 예를 들어, 그 시점의 포인터 위치 주변에 위치한 객체를 상기 선택 대상 객체로 선정할 수 있다. 그리고, 상기 선택 대상 객체가 선택되면 로드 되어야 할 로드 대상 데이터를 프리로드한다.
상기 선택 대상 객체를 선정하는 사용자 입력이 실제로 있게 되면, 상기 프리로드 된 데이터를 억세스함으로써, 신속하게 사용자에 보여지는 GUI를 업데이트한다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
본 발명에 따르면, 사용자의 조작에 따른 즉각적인 UI 반응을 제공하는 사용자 디바이스를 제공할 수 있다.

Claims (19)

  1. 사용자 디바이스에 대한 사용자 입력을 분석함으로써 GUI(Graphic User Interface)에 포함된 선택 대상 객체에 대한 선택 여부를 미리 예측하는 단계;
    선택 대상 객체에 대한 선택이 예측된 경우, 상기 선택 대상 객체가 선택되면 로드(load)되어야 할 로드 대상 데이터를 프리로드(pre-load) 하는 단계; 및
    상기 선택 대상 객체가 선택된 경우 상기 프리로드된 데이터를 억세스하는 단계를 포함하는 사용자 디바이스의 데이터 프리로드 방법.
  2. 제1 항에 있어서,
    상기 미리 예측하는 단계는,
    상기 선택 대상 객체의 프리로드 영역 내에 포인터가 소정 시간 이상 머무르는 경우 상기 선택 대상 객체에 대한 선택이 있을 것으로 예측하는 단계를 포함하는 사용자 디바이스의 데이터 프리로드 방법.
  3. 제2 항에 있어서,
    상기 선택 대상 객체가 그래픽 사용자 인터페이스(GUI) 상의 영역에서 차지하는 영역의 넓이에 비례하여 상기 선택 대상 객체의 프리로드 영역을 결정하는 단계; 및
    상기 결정된 프리로드 영역의 넓이를 상기 로드 대상 데이터의 사이즈에 따라 조정하는 단계를 더 포함하는 사용자 디바이스의 데이터 프리로드 방법.
  4. 제1 항에 있어서,
    상기 미리 예측하는 단계는,
    포인터의 이동 속도가 기 지정된 요건을 만족하는 경우, 상기 요건 만족 시점의 포인터 위치를 기준으로 선정된 선택 대상 객체에 대한 선택이 있을 것으로 예측하는 단계를 포함하는 사용자 디바이스의 데이터 프리로드 방법.
  5. 제1 항에 있어서,
    상기 미리 예측하는 단계는,
    사용자 디바이스에 대한 사용자 입력에 대한 데이터를, 선택 예측 패턴을 가리키는 수학 모델에 입력함으로써 상기 선택 대상 객체에 대한 선택 여부를 미리 예측하는 단계를 포함하는 사용자 디바이스의 데이터 프리로드 방법.
  6. 제1 항에 있어서,
    상기 프리로드 하는 단계는,
    상기 로드 대상 데이터의 일부분을 부분 프리로드 하는 것을 포함하되, 상기 부분 프리로드 되는 데이터 사이즈는 상기 로드 대상 데이터의 타입에 따라 결정되는 사용자 디바이스의 데이터 프리로드 방법.
  7. 제1 항에 있어서,
    상기 미리 예측하는 단계는,
    포인터 위치를 기준으로 형성된 프리로드 영역 내에 선택 대상 객체가 배치된 영역이 적어도 일부 포함되고, 그 상태가 소정 시간 이상 유지되는 경우 상기 선택 대상 객체에 대한 선택이 있을 것으로 예측하는 단계를 포함하는 사용자 디바이스의 데이터 프리로드 방법.
  8. 제7 항에 있어서,
    상기 프리로드 영역이 상기 포인터 위치에 인접할수록 높게 형성되는 가중치를 가지고,
    상기 프리로드 하는 단계는,
    상기 프리로드 영역 내에 적어도 일부의 배치 영역이 포함되는 객체가 복수 개 있는 경우, 상기 프리로드 영역과 배치 영역이 겹치는 영역에 해당하는 가중치를 기준으로 하나의 상기 선택 대상 객체를 선정하는 단계를 포함하는 사용자 디바이스의 데이터 프리로드 방법.
  9. 제1 항에 있어서,
    상기 미리 예측하는 단계는,
    포인팅 장치의 포인트 팁과 상기 사용자 디바이스의 터치 디스플레이 사이의 간격을 측정하여 분석하는 단계; 및
    상기 분석의 결과를 이용하여, 상기 터치 디스플레이에 디스플레이 된 객체 중, 상기 포인팅 장치가 가리키는 위치에 대응하는 선택 대상 객체의 선택을 미리 예측하는 단계를 포함하는 사용자 디바이스의 데이터 프리로드 방법.
  10. 제9 항에 있어서,
    상기 터치 디스플레이에 디스플레이 된 객체 중, 상기 포인팅 장치가 가리키는 위치에 대응하는 선택 대상 객체의 선택을 미리 예측하는 단계는,
    상기 포인팅 장치와 상기 터치 디스플레이 사이의 간격이 소정의 한계치 이하인 경우 상기 선택 대상 객체가 선택될 것으로 미리 예측하는 단계를 포함하는, 사용자 디바이스의 데이터 프리로드 방법.
  11. 포인팅 장치의 조작에 따른 소정의 선택 예고 신호를 입력 받아, 상기 선택 예고 신호의 대상인 선택 대상 객체를 프리로드 풀에 추가하는 단계;
    상기 프리로드 풀에 추가된 각각의 선택 대상 객체에 대하여, 상기 선택 대상 객체가 선택된 경우 로드(load)되어야 할 로드 대상 데이터를 프리로드(pre-load)하는 단계; 및
    상기 프리로드 풀에 포함된 선택 대상 객체 중 하나가 선택된 경우 상기 프리로드된 데이터를 억세스하는 단계를 포함하는 사용자 디바이스의 데이터 프리로드 방법.
  12. 선택 대상 객체를 디스플레이하는 디스플레이;
    프리로드 캐시;
    사용자 디바이스에 대한 사용자 입력을 분석함으로써 GUI(Graphic User Interface)에 포함된 선택 대상 객체에 대한 선택 여부를 미리 예측하고, 상기 선택 대상 객체의 선택이 미리 예측되는 경우 상기 선택 대상 객체가 선택되면 로드(load)되어야 할 로드 대상 데이터를 상기 프리로드 캐시에 삽입하는 선택 예측부; 및
    상기 선택 대상 객체가 선택되면 상기 프리로드 캐시에 저장된 상기 로드 대상 데이터를 억세스하고, 상기 로드 대상 데이터의 처리 결과를 상기 디스플레이에 디스플레이 하는 데이터 억세스부를 포함하는 사용자 디바이스.
  13. 제12 항에 있어서,
    상기 선택 예측부는,
    포인팅 관련 입력 신호를 제공받아 상기 선택 대상 객체의 배치 영역과 상기 포인팅 관련 입력 신호를 기초로 결정된 포인터 위치를 모두 고려하여 상기 선택 대상 객체의 프리로드 여부를 결정하고, 상기 선택 대상 객체의 프리로드가 결정되는 경우 상기 선택 대상 객체가 선택되면 로드(load)되어야 할 로드 대상 데이터를 상기 프리로드 캐시에 삽입하는 사용자 디바이스.
  14. 선택 대상 객체를 디스플레이 하는 터치 디스플레이;
    프리로드 캐시;
    상기 터치 디스플레이에 디스플레이 된 상기 선택 대상 객체에 대한 소정의 선택 예고 터치 입력을 제공받아, 상기 선택 대상 객체가 선택되면 로드(load)되어야 할 로드 대상 데이터를 상기 프리로드 캐시에 삽입하는 선택 예측부; 및
    상기 터치 디스플레이에 디스플레이 된 상기 선택 대상 객체에 대한 터치에 의하여 상기 선택 대상 객체가 선택되면 상기 프리로드 캐시에 저장된 상기 로드 대상 데이터를 억세스 하고, 상기 로드 대상 데이터의 처리 결과를 상기 터치 디스플레이에 디스플레이 하는 데이터 억세스부를 포함하는 사용자 디바이스.
  15. 사용자의 눈동자 위치를 가리키는 시선 좌표를 연산하는 눈동자 인식부;
    선택 대상 객체에 대한 프리로드 영역 내에 포인터가 소정 시간 이상 위치하고, 상기 시선 좌표에 의하여 결정되는 시선 위치와 상기 프리로드 영역이 동일한 시선 분할 영역에 포함되는 경우, 상기 선택 대상 객체가 선택되면 로드 되어야 할 선택 대상 객체에 대한 대상 객체 데이터를 프리로드(pre-load)하는 프리로드 수행부; 및
    상기 사용자의 조작에 의하여 상기 선택 대상 객체가 선택되는 경우, 상기 프리로드 된 대상 객체 데이터를 억세스하는 데이터 억세스부를 포함하는 사용자 디바이스.
  16. 제15 항에 있어서,
    상기 프리로드 수행부는,
    상기 시선의 위치와 상기 프리로드 영역이 서로 다른 시선 분할 영역에 포함되는 경우, 상기 프리로드 영역이 포함되는 상기 시선 분할 영역을 기준으로 상기 시선 위치의 이동 방향 및 이동 거리에 따라 상기 프리로드를 수행하는 사용자 디바이스.
  17. 제15 항에 있어서,
    상기 시선 좌표의 이동 내역을 기록하는 시선 기록부;
    상기 시선 기록부에 기록된 데이터를 이용하여 시선 이동 패턴을 판정하는 시선 이동 패턴 판정부; 및
    상기 판정된 시선 이동 패턴에 따라 상기 시선 분할 영역을 배치하는 영역 분할 개인화부를 더 포함하는 사용자 디바이스.
  18. 사용자의 눈동자 위치를 가리키는 시선 좌표를 연산하는 단계;
    선택 대상 객체에 대한 프리로드 영역 내에 포인터가 소정 시간 이상 위치하고, 상기 시선 좌표에 의하여 결정되는 시선 위치와 상기 프리로드 영역이 동일한 시선 분할 영역에 포함되는 경우, 상기 선택 대상 객체가 선택되면 로드 되어야 할 대상 객체 데이터를 프리로드(pre-load)를 수행하는 단계; 및
    상기 사용자의 조작에 의하여 상기 선택 대상 객체가 선택되는 경우, 상기 프리로드 된 대상 객체 데이터를 억세스하는 단계를 포함하는 사용자 디바이스의 데이터 프리로드 방법.
  19. 제18 항에 있어서,
    상기 프리로드를 수행하는 단계는,
    상기 시선의 위치와 상기 프리로드 영역이 서로 다른 시선 분할 영역에 포함되는 경우, 상기 프리로드 영역이 포함되는 상기 시선 분할 영역을 기준으로 상기 시선 위치의 이동 방향 및 이동 거리에 따라 상기 프리로드를 수행하는 사용자 디바이스의 데이터 프리로드 방법.
PCT/KR2013/009039 2012-10-11 2013-10-10 데이터 프리로드를 통한 사용자 디바이스의 gui 반응 속도 증대 방법 및 그 사용자 디바이스 WO2014058233A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/434,970 US9886177B2 (en) 2012-10-11 2013-10-10 Method for increasing GUI response speed of user device through data preloading, and said user device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2012-0113119 2012-10-11
KR1020120113119A KR101414237B1 (ko) 2012-10-11 2012-10-11 데이터 프리로드를 통한 단말의 gui 반응 속도 증대 방법 및 그 단말
KR10-2013-0050090 2013-05-03
KR1020130050090A KR101372484B1 (ko) 2013-05-03 2013-05-03 Gui 반응 속도가 증대된 사용자 디바이스 및 데이터 프리로드를 통한 gui 반응 속도 증대 방법

Publications (1)

Publication Number Publication Date
WO2014058233A1 true WO2014058233A1 (ko) 2014-04-17

Family

ID=50477633

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/009039 WO2014058233A1 (ko) 2012-10-11 2013-10-10 데이터 프리로드를 통한 사용자 디바이스의 gui 반응 속도 증대 방법 및 그 사용자 디바이스

Country Status (2)

Country Link
US (1) US9886177B2 (ko)
WO (1) WO2014058233A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180255327A1 (en) * 2014-11-13 2018-09-06 Time Warner Cable Enterprises, LLC Apparatus and methods for efficient delivery of electronic program guide data
CN108668157A (zh) * 2018-07-10 2018-10-16 深圳市茁壮网络股份有限公司 一种焦点移动方法、装置及机顶盒

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11317861B2 (en) 2013-08-13 2022-05-03 Sync-Think, Inc. Vestibular-ocular reflex test and training system
US9798827B2 (en) * 2013-10-25 2017-10-24 Uc Mobile Co., Ltd. Methods and devices for preloading webpages
US9958939B2 (en) 2013-10-31 2018-05-01 Sync-Think, Inc. System and method for dynamic content delivery based on gaze analytics
US10204658B2 (en) 2014-07-14 2019-02-12 Sony Interactive Entertainment Inc. System and method for use in playing back panorama video content
CN104238877B (zh) * 2014-09-04 2018-03-13 华为技术有限公司 控制图标的方法和终端
CN104267812B (zh) * 2014-09-22 2017-08-29 联想(北京)有限公司 一种信息处理方法及电子设备
US10656935B2 (en) 2015-10-13 2020-05-19 Home Box Office, Inc. Maintaining and updating software versions via hierarchy
US10623514B2 (en) 2015-10-13 2020-04-14 Home Box Office, Inc. Resource response expansion
US10605920B2 (en) * 2016-01-13 2020-03-31 Ams Sensors Singapore Pte. Ltd. Power savings through refresh control for distance sensing devices
US10805592B2 (en) * 2016-06-30 2020-10-13 Sony Interactive Entertainment Inc. Apparatus and method for gaze tracking
KR20180027917A (ko) * 2016-09-07 2018-03-15 삼성전자주식회사 디스플레이장치 및 그 제어방법
US10671159B2 (en) 2016-09-22 2020-06-02 Apple Inc. Postponing the state change of an information affecting the graphical user interface until during the condition of inattentiveness
CN108733716A (zh) * 2017-04-21 2018-11-02 北京京东尚科信息技术有限公司 图片预加载方法、装置、电子设备及可读存储介质
US10698740B2 (en) 2017-05-02 2020-06-30 Home Box Office, Inc. Virtual graph nodes
JP6943076B2 (ja) * 2017-08-23 2021-09-29 富士フイルムビジネスイノベーション株式会社 情報処理装置およびプログラム
US11537264B2 (en) * 2018-02-09 2022-12-27 Sony Interactive Entertainment LLC Methods and systems for providing shortcuts for fast load when moving between scenes in virtual reality
US11640429B2 (en) 2018-10-11 2023-05-02 Home Box Office, Inc. Graph views to improve user interface responsiveness
US11146843B2 (en) * 2019-06-17 2021-10-12 Accenture Global Solutions Limited Enabling return path data on a non-hybrid set top box for a television
US11216065B2 (en) * 2019-09-26 2022-01-04 Lenovo (Singapore) Pte. Ltd. Input control display based on eye gaze
US11816758B2 (en) 2020-03-30 2023-11-14 Universal City Studios Llc Techniques for preloading and displaying high quality image data
US11481111B2 (en) * 2020-04-24 2022-10-25 Microsoft Technology Licensing, Llc Utilization of predictive gesture analysis for preloading and executing application components
CN114116040A (zh) * 2020-08-31 2022-03-01 华为技术有限公司 加速应用启动的方法、电子设备及计算机存储介质
GB2611401B (en) * 2021-09-20 2023-10-18 Amir Homayoun Javadi Behavioural monitoring system
US20230168736A1 (en) * 2021-11-29 2023-06-01 Sony Interactive Entertainment LLC Input prediction for pre-loading of rendering data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10293689A (ja) * 1997-04-18 1998-11-04 Kobe Nippon Denki Software Kk ウィンドウシステムのオブジェクトプログラムプリロー ド方法およびその方法のためのプログラムを記録した記 録媒体
KR100574045B1 (ko) * 2004-11-10 2006-04-26 주식회사 네오엠텔 멀티미디어 콘텐츠 재생장치 및 재생방법
KR20100081406A (ko) * 2009-01-06 2010-07-15 엘지전자 주식회사 이동 단말기 및 그 명령 입력방법
KR20120035771A (ko) * 2010-10-06 2012-04-16 엘지전자 주식회사 이동 단말기 및 그 제어 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6604103B1 (en) * 1994-09-02 2003-08-05 Mark A. Wolfe System and method for information retrieval employing a preloading procedure
JP3511462B2 (ja) * 1998-01-29 2004-03-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 操作画像表示装置およびその方法
US7574674B2 (en) * 2004-04-02 2009-08-11 Microsoft Corporation Method for controlling filename display for image and video file types
US7747749B1 (en) * 2006-05-05 2010-06-29 Google Inc. Systems and methods of efficiently preloading documents to client devices
US9569066B2 (en) * 2011-10-03 2017-02-14 Google Inc. Interface for navigating imagery
US9694276B2 (en) * 2012-06-29 2017-07-04 Sony Interactive Entertainment Inc. Pre-loading translated code in cloud based emulated applications
US20150193395A1 (en) * 2012-07-30 2015-07-09 Google Inc. Predictive link pre-loading
EP3791943B1 (en) * 2015-03-06 2023-08-02 Sony Interactive Entertainment LLC Predictive instant play for an application over the cloud

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10293689A (ja) * 1997-04-18 1998-11-04 Kobe Nippon Denki Software Kk ウィンドウシステムのオブジェクトプログラムプリロー ド方法およびその方法のためのプログラムを記録した記 録媒体
KR100574045B1 (ko) * 2004-11-10 2006-04-26 주식회사 네오엠텔 멀티미디어 콘텐츠 재생장치 및 재생방법
KR20100081406A (ko) * 2009-01-06 2010-07-15 엘지전자 주식회사 이동 단말기 및 그 명령 입력방법
KR20120035771A (ko) * 2010-10-06 2012-04-16 엘지전자 주식회사 이동 단말기 및 그 제어 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180255327A1 (en) * 2014-11-13 2018-09-06 Time Warner Cable Enterprises, LLC Apparatus and methods for efficient delivery of electronic program guide data
US10567814B2 (en) * 2014-11-13 2020-02-18 Time Warner Cable Enterprises Llc Apparatus and methods for efficient delivery of electronic program guide data
US11212561B2 (en) 2014-11-13 2021-12-28 Time Warner Cable Enterprises Llc Apparatus and methods for efficient delivery of electronic program guide data
CN108668157A (zh) * 2018-07-10 2018-10-16 深圳市茁壮网络股份有限公司 一种焦点移动方法、装置及机顶盒
CN108668157B (zh) * 2018-07-10 2021-06-15 深圳市茁壮网络股份有限公司 一种焦点移动方法、装置及机顶盒

Also Published As

Publication number Publication date
US20150277710A1 (en) 2015-10-01
US9886177B2 (en) 2018-02-06

Similar Documents

Publication Publication Date Title
WO2014058233A1 (ko) 데이터 프리로드를 통한 사용자 디바이스의 gui 반응 속도 증대 방법 및 그 사용자 디바이스
WO2014157872A2 (en) Portable device using touch pen and application control method using the same
WO2020149667A1 (en) Electronic device and method for controlling screen displayed in flexible display which is rollable
WO2014010974A1 (en) User interface apparatus and method for user terminal
WO2013055137A1 (ko) 이벤트 기반 비전 센서를 이용한 동작 인식 장치 및 방법
WO2014129813A1 (ko) 터치 스크린에 디스플레이되는 아이콘을 제어하는 휴대 단말 및 방법
WO2014157893A1 (en) Method and device for providing a private page
WO2014092451A1 (en) Information search method and device and computer readable recording medium thereof
WO2019022567A2 (en) METHOD FOR AUTOMATICALLY PROVIDING AUTOMATIC COMPLETION SUGGESTIONS BASED ON GESTURES AND ASSOCIATED ELECTRONIC DEVICE
WO2010050693A2 (en) Interface apparatus for generating control command by touch and motion, interface system including the interface apparatus, and interface method using the same
WO2014112777A1 (en) Method for providing haptic effect in portable terminal, machine-readable storage medium, and portable terminal
WO2016129923A1 (ko) 디스플레이 장치 및 디스플레이 방법 및 컴퓨터 판독가능 기록매체
CN101636711A (zh) 利用多点感测设备作姿态
WO2020213978A1 (ko) 분할 화면을 제공하기 위한 전자 장치, 방법, 및 컴퓨터 판독가능 매체
WO2014029170A1 (zh) 电容和电磁双模触摸屏的触控方法及手持式电子设备
WO2018216868A1 (ko) 전자 장치 및 입력 장치의 입력 처리 방법
WO2012064128A2 (ko) 터치스크린장치 및 그 제어방법
WO2019139367A1 (en) Display device and method for touch interface
EP3224698A1 (en) Electronic device for executing a plurality of applications and method for controlling the electronic device
US20130027290A1 (en) Input Mode of a Device
WO2017026821A1 (ko) 전자 장치 및 전자 장치의 입력 방법
WO2021040180A1 (ko) 디스플레이장치 및 그 제어방법
EP3039512A1 (en) User device and method for creating handwriting content
EP3791253A1 (en) Electronic device and method for providing virtual input tool
JP5456840B2 (ja) 表示制御装置、表示制御方法、情報表示システム、およびプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13845962

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14434970

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13845962

Country of ref document: EP

Kind code of ref document: A1