WO2022030776A1 - 전자 장치에서 손 글씨 입력 제공 방법 및 장치 - Google Patents

전자 장치에서 손 글씨 입력 제공 방법 및 장치 Download PDF

Info

Publication number
WO2022030776A1
WO2022030776A1 PCT/KR2021/008737 KR2021008737W WO2022030776A1 WO 2022030776 A1 WO2022030776 A1 WO 2022030776A1 KR 2021008737 W KR2021008737 W KR 2021008737W WO 2022030776 A1 WO2022030776 A1 WO 2022030776A1
Authority
WO
WIPO (PCT)
Prior art keywords
handwriting
action
electronic device
processor
line
Prior art date
Application number
PCT/KR2021/008737
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
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Publication of WO2022030776A1 publication Critical patent/WO2022030776A1/ko
Priority to US18/105,931 priority Critical patent/US11995308B2/en

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/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
    • G06F3/04883Interaction 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 for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • 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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/146Aligning or centring of the image pick-up or image-field
    • G06V30/147Determination of region of interest
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/22Character recognition characterised by the type of writing
    • G06V30/226Character recognition characterised by the type of writing of cursive writing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink

Definitions

  • Various embodiments of the present disclosure relate to a method and apparatus for supporting handwriting input in an electronic device.
  • the electronic device provides a memo function that allows a user to take a necessary memo anytime, anywhere without a notebook or pen.
  • the user may directly write on a display (eg, a touch screen) of the electronic device using a hand or an electronic pen.
  • the electronic device may receive a touch trace (or coordinates) of touching (or touching) the display as a handwriting input.
  • a user can conveniently write a memo while feeling analog emotion by inputting handwriting using the user's hand or an electronic pen, like writing in a note using a pen.
  • electronic devices not only simply support handwriting input, but also provide an alignment function for the input handwriting for the convenience of a user's handwriting input.
  • the electronic device may align and provide the handwriting to the user by automatically adjusting the inclination, position, paragraph, and/or line spacing of the input handwriting according to the user's selection.
  • a method of classifying handwriting input by a user in an action unit in an electronic device and supporting handwriting alignment according to a user's intention based on a target object of at least one handwriting related to a recent action and apparatus is provided.
  • a target ROI is set based on a target object of the handwriting and a surrounding object associated with the object, and the target object and its ROI are used through the target ROI.
  • a method and an apparatus capable of aligning surrounding objects associated with each other.
  • a method and apparatus capable of identifying a surrounding object based on a target object of handwriting related to a recent action and correcting the target object to correspond to the surrounding object (eg, line correction and/or size correction) discloses about
  • An electronic device includes a display module and a processor operatively connected to the display module, wherein the processor displays an execution screen of an application supporting handwriting input, and displays the execution screen. Detects a handwriting input through the handwriting, sets at least one ROI based on at least one object corresponding to the handwriting, and responds to a user's action, based on the at least one ROI An object may be identified, and handwriting alignment may be performed based on the target object.
  • An electronic device includes a display module and a processor operatively connected to the display module, wherein the processor is configured to: Setting a first region of interest and mapping the first object to a first action, aligning the first object mapped to the first action based on a first alignment trigger for the first action, and a second hand A second region of interest is set based on at least one second object corresponding to a text input and the second object is mapped to a second action, and based on a second alignment trigger for the second action, a first action It is set to align the second object mapped to the second action while maintaining the first object mapped to , and the first handwriting and the second handwriting are the first action and the second handwriting It is divided into action units according to the action, and at least a portion of the first object of the first action that intersects the second object of the second action is associated with the second object and aligned with the second object may include
  • An operation method of an electronic device includes an operation of displaying an execution screen of an application supporting a handwriting input, an operation of detecting a handwriting input through the execution screen, and at least one corresponding to the handwriting setting at least one ROI based on the object of , in response to a user action, identifying a target object based on the at least one ROI, and handwriting based on the target object It may include an operation to perform sorting.
  • a computer-readable recording medium recording a program for executing the method in a processor may be included.
  • the user's usability and convenience are increased by sorting the handwriting by action unit and aligning the handwriting to focus on the handwriting intended by the user. can do.
  • the electronic device classifies handwriting input by the user into action units, and intensively aligns handwriting according to the user's intention based on a target object of at least one handwriting related to a recent action. can do.
  • the electronic device adjusts the target object of handwriting related to the recent action to correspond to the surrounding object related to the target object and then aligns the target object, thereby harmonizing (or matching arrangement) between the target object and the related surrounding object. ), it is possible to improve the aesthetic effect of cleaning handwriting and the readability of handwriting content.
  • FIG. 1 is a block diagram of an electronic device in a network environment according to various embodiments of the present disclosure
  • FIG. 2 is a diagram schematically illustrating a configuration of an electronic device according to various embodiments of the present disclosure
  • FIG. 3 is a flowchart illustrating an operation of an electronic device according to various embodiments of the present disclosure
  • FIG. 4 is a flowchart illustrating an operation of an electronic device according to various embodiments of the present disclosure
  • 5A, 5B, and 6 are diagrams for explaining an example of setting an ROI for each action in an electronic device according to various embodiments of the present disclosure
  • FIG. 7 is a flowchart illustrating an operation of an electronic device according to various embodiments of the present disclosure.
  • FIG. 8 is a diagram illustrating an example of obtaining an average delta in an electronic device according to various embodiments of the present disclosure
  • FIG. 9 is a diagram illustrating an example of setting a plurality of ROIs for each handwriting in an electronic device according to various embodiments of the present disclosure.
  • FIG. 10 is a flowchart illustrating an operation of an electronic device according to various embodiments of the present disclosure.
  • 11 and 12 are diagrams for explaining an example in which a target ROI is set in an electronic device according to various embodiments of the present disclosure
  • 13, 14, 15, and 16 are diagrams for explaining examples of actions available in an electronic device according to various embodiments.
  • 17, 18, and 19 are diagrams for explaining an example of classifying an alignment target object in an action unit in an electronic device according to various embodiments of the present disclosure.
  • FIG. 20 is a diagram for describing an example of setting a target ROI in an electronic device according to various embodiments of the present disclosure
  • 21 and 22 are diagrams for explaining an example of setting a target ROI in an electronic device according to various embodiments of the present disclosure.
  • FIG. 23 is a flowchart illustrating an operation of an electronic device according to various embodiments of the present disclosure.
  • 24 is a diagram for explaining an example of line correction in an electronic device according to various embodiments of the present disclosure.
  • 25 26, 27, and 28 are diagrams for explaining an operation example for line correction in an electronic device according to various embodiments.
  • 29, 30, and 31 are diagrams for explaining an operation example of line correction in an electronic device according to various embodiments of the present disclosure.
  • 32 is a diagram for explaining an example of size correction in an electronic device according to various embodiments of the present disclosure.
  • 33 and 34 are diagrams for explaining an example of size correction in an electronic device according to various embodiments of the present disclosure.
  • 35, 36, and 37 are diagrams for explaining an operation example of size correction in an electronic device according to various embodiments of the present disclosure.
  • FIG. 1 is a block diagram of an electronic device 101 in a network environment 100 according to various embodiments of the present disclosure.
  • an electronic device 101 communicates with an electronic device 102 through a first network 198 (eg, a short-range wireless communication network) or a second network 199 . It may communicate with the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 .
  • a first network 198 eg, a short-range wireless communication network
  • a second network 199 e.g., a second network 199 . It may communicate with the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 .
  • the electronic device 101 includes a processor 120 , a memory 130 , an input module 150 , a sound output module 155 , a display module 160 , an audio module 170 , and a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or an antenna module 197 may be included.
  • at least one of these components eg, the connection terminal 178
  • may be omitted or one or more other components may be added to the electronic device 101 .
  • some of these components are integrated into one component (eg, display module 160 ). can be
  • the processor 120 for example, executes software (eg, a program 140) to execute at least one other component (eg, a hardware or software component) of the electronic device 101 connected to the processor 120 . It can control and perform various data processing or operations. According to one embodiment, as at least part of data processing or operation, the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 . may be stored in the volatile memory 132 , and may process commands or data stored in the volatile memory 132 , and store the result data in the non-volatile memory 134 .
  • software eg, a program 140
  • the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 .
  • the volatile memory 132 may be stored in the volatile memory 132 , and may process commands or data stored in the volatile memory 132 , and store the result data in the non-volatile memory 134 .
  • the processor 120 is a main processor 121 (eg, a central processing unit (CPU) or an application processor (AP)) or an auxiliary processor capable of operating independently or together with it ( 123) (eg, graphic processing unit (GPU), neural network processing unit (NPU), image signal processor (ISP), sensor hub processor, or communication processor (CP, communication processor)) may be included.
  • main processor 121 eg, a central processing unit (CPU) or an application processor (AP)
  • auxiliary processor capable of operating independently or together with it eg, graphic processing unit (GPU), neural network processing unit (NPU), image signal processor (ISP), sensor hub processor, or communication processor (CP, communication processor)
  • the main processor 121 may use less power than the main processor 121 or may be set to be specialized for a specified function.
  • the auxiliary processor 123 may be implemented separately from or as a part of the main processor 121 .
  • the auxiliary processor 123 is, for example, on behalf of the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or the main processor 121 is At least one of the components of the electronic device 101 (eg, the display module 160 , the sensor module 176 , or At least some of functions or states related to the communication module 190 may be controlled.
  • the coprocessor 123 eg, an image signal processor or a communication processor
  • the auxiliary processor 123 may include a hardware structure specialized for processing an artificial intelligence model. Artificial intelligence models can be created through machine learning.
  • Such learning may be performed, for example, in the electronic device 101 itself on which artificial intelligence is performed, or may be performed through a separate server (eg, the server 108).
  • the learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but in the above example not limited
  • the artificial intelligence model may include a plurality of artificial neural network layers. Artificial neural networks include deep neural networks (DNNs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), restricted boltzmann machines (RBMs), deep belief networks (DBNs), bidirectional recurrent deep neural networks (BRDNNs), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the above example.
  • the artificial intelligence model may include, in addition to, or alternatively, a software structure in addition to the hardware structure.
  • the memory 130 may store various data used by at least one component of the electronic device 101 (eg, the processor 120 or the sensor module 176 ).
  • the data may include, for example, input data or output data for software (eg, the program 140 ) and instructions related thereto.
  • the memory 130 may include a volatile memory 132 or a non-volatile memory 134 .
  • the program 140 may be stored as software in the memory 130 , and may include, for example, an operating system (OS) 142 , middleware 144 , or an application 146 . have.
  • OS operating system
  • middleware middleware
  • application application
  • the input module 150 may receive a command or data to be used in a component (eg, the processor 120 ) of the electronic device 101 from the outside (eg, a user) of the electronic device 101 .
  • the input module 150 may include, for example, a microphone, a mouse, a keyboard, a key (eg, a button), or a digital pen (eg, a stylus pen).
  • the sound output module 155 may output a sound signal to the outside of the electronic device 101 .
  • the sound output module 155 may include, for example, a speaker or a receiver.
  • the speaker can be used for general purposes such as multimedia playback or recording playback.
  • the receiver may be used to receive an incoming call. According to one embodiment, the receiver may be implemented separately from or as part of the speaker.
  • the display module 160 may visually provide information to the outside (eg, a user) of the electronic device 101 .
  • the display module 160 may include, for example, a control circuit for controlling a display, a hologram device, or a projector and a corresponding device.
  • the display module 160 may include a touch sensor configured to sense a touch or a pressure sensor configured to measure the intensity of a force generated by the touch.
  • the audio module 170 may convert a sound into an electric signal or, conversely, convert an electric signal into a sound. According to an embodiment, the audio module 170 acquires a sound through the input module 150 or an external electronic device (eg, a sound output module 155 ) directly or wirelessly connected to the electronic device 101 . A sound may be output through the electronic device 102 (eg, a speaker or headphones).
  • an external electronic device eg, a sound output module 155
  • a sound may be output through the electronic device 102 (eg, a speaker or headphones).
  • the sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 101 or an external environmental state (eg, user state), and generates an electrical signal or data value corresponding to the sensed state. can do.
  • the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, a humidity sensor, or an illuminance sensor.
  • the interface 177 may support one or more designated protocols that may be used by the electronic device 101 to directly or wirelessly connect with an external electronic device (eg, the electronic device 102 ).
  • the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD secure digital
  • the connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102 ).
  • the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 179 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic sense.
  • the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 180 may capture still images and moving images. According to an embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 188 may manage power supplied to the electronic device 101 .
  • the power management module 188 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 189 may supply power to at least one component of the electronic device 101 .
  • battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
  • the communication module 190 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (eg, the electronic device 102, the electronic device 104, or the server 108). It can support establishment and communication performance through the established communication channel.
  • the communication module 190 may include one or more communication processors that operate independently of the processor 120 (eg, an application processor) and support direct (eg, wired) communication or wireless communication.
  • the communication module 190 is a wireless communication module 192 (eg, a cellular communication module, a short-range communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg, : It may include a LAN (local area network) communication module, or a power line communication module).
  • GNSS global navigation satellite system
  • a corresponding communication module among these communication modules is a first network 198 (eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (eg, legacy It may communicate with the external electronic device 104 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (eg, a telecommunication network such as a LAN or a wide area network (WAN)).
  • a first network 198 eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)
  • a second network 199 eg, legacy It may communicate with the external electronic device 104 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (eg, a telecommunication network such as a LAN or a wide area network (WAN)).
  • the wireless communication module 192 uses the subscriber information (eg, International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199 .
  • the electronic device 101 may be identified or authenticated.
  • the wireless communication module 192 may support a 5G network after a 4G network and a next-generation communication technology, for example, a new radio access technology (NR).
  • NR access technology is a high-speed transmission of high-capacity data (eMBB, enhanced mobile broadband), minimization of terminal power and access to multiple terminals (mMTC, massive machine type communications), or high reliability and low latency (URLLC, ultra-reliable and low-latency). communications) can be supported.
  • the wireless communication module 192 may support a high frequency band (eg, mmWave band) to achieve a high data rate, for example.
  • a high frequency band eg, mmWave band
  • the wireless communication module 192 includes various technologies for securing performance in a high-frequency band, for example, beamforming, massive multiple-input and multiple-output (MIMO), all-dimensional multiplexing. It may support technologies such as input/output (FD-MIMO, full dimensional MIMO), an array antenna, analog beam-forming, or a large scale antenna.
  • the wireless communication module 192 may support various requirements specified in the electronic device 101 , an external electronic device (eg, the electronic device 104 ), or a network system (eg, the second network 199 ).
  • the wireless communication module 192 may include a peak data rate (eg, 20 Gbps or more) for realizing eMBB, loss coverage (eg, 164 dB or less) for realizing mMTC, or U-plane latency for realizing URLLC ( Example: downlink (DL) and uplink (UL) each 0.5 ms or less, or round trip 1 ms or less).
  • a peak data rate eg, 20 Gbps or more
  • loss coverage eg, 164 dB or less
  • U-plane latency for realizing URLLC
  • the antenna module 197 may transmit or receive a signal or power to the outside (eg, an external electronic device).
  • the antenna module 197 may include an antenna including a conductor formed on a substrate (eg, a PCB) or a radiator formed of a conductive pattern.
  • the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is connected from the plurality of antennas by, for example, the communication module 190 . can be selected. A signal or power may be transmitted or received between the communication module 190 and an external electronic device through the selected at least one antenna.
  • other components eg, a radio frequency integrated circuit (RFIC)
  • RFIC radio frequency integrated circuit
  • the antenna module 197 may form a mmWave antenna module.
  • the mmWave antenna module comprises a printed circuit board, an RFIC disposed on or adjacent to a first side (eg, underside) of the printed circuit board and capable of supporting a designated high frequency band (eg, mmWave band); and a plurality of antennas (eg, an array antenna) disposed on or adjacent to a second side (eg, top or side) of the printed circuit board and capable of transmitting or receiving signals of the designated high frequency band. can do.
  • peripheral devices eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • GPIO general purpose input and output
  • SPI serial peripheral interface
  • MIPI mobile industry processor interface
  • the command or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199 .
  • Each of the external electronic devices 102 or 104 may be the same as or different from the electronic device 101 .
  • all or a part of operations executed in the electronic device 101 may be executed in one or more external electronic devices 102 , 104 , or 108 .
  • the electronic device 101 may perform the function or service itself instead of executing the function or service itself.
  • one or more external electronic devices may be requested to perform at least a part of the function or the service.
  • One or more external electronic devices that have received the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit a result of the execution to the electronic device 101 .
  • the electronic device 101 may process the result as it is or additionally and provide it as at least a part of a response to the request.
  • cloud computing distributed computing, mobile edge computing (MEC), or client-server computing technology may be used.
  • the electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
  • the external electronic device 104 may include an Internet of things (IoT) device.
  • Server 108 may be an intelligent server using machine learning and/or neural networks.
  • the external electronic device 104 or the server 108 may be included in the second network 199 .
  • the electronic device 101 may be applied to an intelligent service (eg, smart home, smart city, smart car, or health care) based on 5G communication technology and IoT-related technology.
  • the electronic device may have various types of devices.
  • the electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance device.
  • a portable communication device eg, a smart phone
  • a computer device e.g., a smart phone
  • a portable multimedia device e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a wearable device e.g., a smart bracelet
  • a home appliance device e.g., a home appliance
  • first, second, or first or second may be used simply to distinguish the element from other elements in question, and may refer to elements in other aspects (e.g., importance or order) is not limited. It is said that one (eg, first) component is “coupled” or “connected” to another (eg, second) component, with or without the terms “functionally” or “communicatively”. When referenced, it means that one component can be connected to the other component directly (eg by wire), wirelessly, or through a third component.
  • module used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as, for example, logic, logic block, component, or circuit.
  • a module may be an integrally formed part or a minimum unit or a part of the part that performs one or more functions.
  • the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • one or more instructions stored in a storage medium may be implemented as software (eg, the program 140) including
  • a processor eg, processor 120
  • a device eg, electronic device 101
  • the one or more instructions may include code generated by a compiler or code executable by an interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not include a signal (eg, electromagnetic wave), and this term is used in cases where data is semi-permanently stored in the storage medium and It does not distinguish between temporary storage cases.
  • a signal eg, electromagnetic wave
  • the method according to various embodiments disclosed in this document may be included in a computer program product (computer program product) and provided.
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or via an application store (eg Play Store TM ) or on two user devices ( It can be distributed online (eg download or upload), directly between smartphones (eg smartphones).
  • a part of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
  • each component (eg, module or program) of the above-described components may include a singular or a plurality of entities, and some of the plurality of entities may be separately disposed in other components. have.
  • one or more components or operations among the above-described corresponding components may be omitted, or one or more other components or operations may be added.
  • a plurality of components eg, a module or a program
  • the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component are executed sequentially, in parallel, repetitively, or heuristically, or one or more of the operations are executed in a different order. , may be omitted, or one or more other operations may be added.
  • FIG. 2 is a diagram schematically illustrating a configuration of an electronic device according to various embodiments of the present disclosure
  • FIG. 2 may show an example of a configuration related to supporting a user's handwriting input in the electronic device 101 according to various embodiments of the present disclosure.
  • the electronic device 101 illustrated in FIG. 2 may include all or at least some of the components of the electronic device 101 as described in the description with reference to FIG. 1 .
  • the electronic device 101 has a bar-type or plate-type appearance, but is not limited thereto.
  • the illustrated electronic device 101 may be a rollable electronic device or a part of a foldable electronic device.
  • the “rollable electronic device” may bend and deform a display (eg, the display module 160 of FIG. 1 or FIG. 2 ), so that at least a part thereof is wound or rolled, or a housing (not shown) It may mean an electronic device that can be accommodated in the inside of the .
  • the rollable electronic device can be used by expanding the screen display area by unfolding the display or exposing a larger area of the display to the outside.
  • a “foldable electronic device” is a display (eg, the display module 160 of FIG. 1 or 2 ) in a direction substantially facing or opposite to each other. It may mean a foldable electronic device. In general, in a foldable electronic device in a portable state, the display is folded with two different regions facing each other or in opposite directions. ) so that the two different regions form a substantially flat plate.
  • the electronic device 101 may include a processor 120 , a display module 160 ), and a memory 130 .
  • components included in the electronic device 101 may be understood as, for example, hardware modules (eg, circuitry).
  • the components included in the electronic device 101 are not limited to the components shown in FIG. 2 (eg, the processor 120, the display module 160, and/or the memory 130). it may not be
  • components of the electronic device 101 illustrated in FIG. 2 may be replaced with other components, or additional components may be added to the electronic device 101 .
  • the electronic device 101 may include a sensor module (eg, the sensor module 176 of FIG. 1 ), a camera module (eg, the camera module 180 of FIG. 1 ), and/or a communication module (eg, of FIG. 1 ). It may include other components such as communication module 190).
  • the display module 160 may visually provide information to the outside (eg, a user) of the electronic device 101 .
  • the display module 160 may include a touch circuit (or a touch sensor) (not shown) or a pressure sensor, based on the touch circuit or pressure sensor, the display module 160 for a specific position.
  • a touch input and/or a hovering input (or a proximity input) can be sensed by measuring a change in a signal (eg, voltage, amount of light, resistance, and/or amount of charge).
  • the display module 160 may be configured as a liquid crystal display (LCD), an organic light emitted diode (OLED), an active matrix organic light emitted diode (AMOLED), or a flexible display.
  • LCD liquid crystal display
  • OLED organic light emitted diode
  • AMOLED active matrix organic light emitted diode
  • the display module 160 provides various information (eg, note layout) related to a user inputting handwriting under the control of the processor 120, and a handwriting object (eg, a note layout). Text/character (eg, text) and/or non-text (eg, non-text), and/or area of interest objects) may be presented visually.
  • the display module 160 may display the user's handwriting on the execution screen of the application 240 (eg, note application, memo application), the contents 250 stored in the memory 130 , or the execution screen of the application 240 .
  • Characters/characters or non-characters corresponding to the input may be displayed
  • handwriting may be performed by a user using a hand (eg, a finger) or an electronic pen (eg, a stylus) on the execution screen of the application 240 .
  • handwriting can refer to handwriting with a finger or a direct tool of an electronic pen without any mechanical process. Characters are used for intuitive expression, and individual and creative character expression is possible.
  • the memory 130 may store various data used by at least one component (eg, the processor 120 ) of the electronic device 101 .
  • the data may include, for example, the application 240 (eg, the application 146 of FIG. 1 ) and/or the content 250 .
  • the application 240 may include an application that supports a user's handwriting input.
  • the application 240 includes various types such as a note application, a memo application, a document application, a message application, and/or a gallery application, and the type may not be limited.
  • the content 250 may include the user's content (eg, a memo or note written by the user) generated using the application 240 .
  • the content may include input data and/or output data for a command related to the application 240 .
  • the application 240 and/or the content 250 may be stored as software (eg, the program 140 of FIG. 1 ) on the memory 130 and may be executed by the processor 120 . can
  • the processor 120 may execute the application 240 in the electronic device 101 and store the content 250 generated by the application 240 in the memory 130 .
  • the processor 120 displays the execution screen of the application 240 through the display module 160, based on a user input related to handwriting (eg, handwriting input), the processor 120 ), handwriting can be displayed at the corresponding position on the execution screen.
  • the processor 120 may align and display the handwriting based on a user input for alignment of the handwriting.
  • the processor 120 generates an operation related to aligning handwriting (eg, a region of interest (eg, DirtyRect (dirty rectangle)) generating operation, an action identification operation, and a region of interest corresponding to the action) a target object identification operation, and/or an alignment operation based on the target object).
  • a region of interest eg, DirtyRect (dirty rectangle)
  • the processor 120 configures the recognition module 210 (or recognition means), the region-of-interest setting module 220 (or the region-of-interest setting means), and/or the alignment module 230 (or the alignment means).
  • the functions of the recognition module 210 , the region of interest setting module 220 , and/or the alignment module 230 that may be performed by the processor 120 are stored in the memory 130 by instructions ( or commands) may be implemented and stored.
  • components included in the processor 120 include, for example, a hardware module (eg: circuitry), but various embodiments are not limited thereto.
  • components included in the processor 120 may include, in addition to, or alternatively to, a software structure in addition to a hardware structure. structure may be included.
  • components included in the processor 120 may be read by the processor 120 . It may be implemented as software (eg, the program 140 of FIG. 1 ) including one or more instructions stored in a storage medium (eg, the memory 130). According to an embodiment, the operations performed by the recognition module 210 , the region of interest setting module 220 , and/or the alignment module 230 are stored in the memory 130 , and when executed, the processor 120 It can be executed by instructions to make it work.
  • the recognition module 210 may recognize an object corresponding to a handwriting input by a user.
  • data for handwriting for example, physically represents data made up of strokes, and strokes represent data made up of a combination of a plurality of points, semantically It can be separated by character/character (eg text) and/or non-text (eg non-text).
  • the recognition module 210 may detect a handwriting input from the user on the execution screen of the application 240 and recognize the input handwriting (eg, handwriting data) as an object.
  • a recognition operation according to an embodiment will be described in detail with reference to the drawings to be described later.
  • the ROI setting module 220 may set the ROI based on the object recognized by the recognition module 210 .
  • the region of interest eg, DirtyRect
  • the region of interest may include a region of a set rectangle (eg, DirtyRect) that is virtually set based on the outermost point of the recognized object using the outermost point of the object.
  • the region of interest may be set by connecting the outermost points of the top, bottom, left, and right of all points constituting the handwriting with a rectangle.
  • the ROI setting module 220 may classify the ROI for each action performed by the user, and may classify one or more ROIs for each action.
  • the alignment module 230 may perform alignment based on the ROI.
  • the sorting module 230 may sort on at least one ROI associated with a recent action. For example, the alignment module 230 may identify an ROI of an alignment target based on a recent action, and may align the identified ROI object in a specified alignment method.
  • the alignment module 230 may perform alignment in a specified alignment method by associating the identified object of the region of interest and an object of another region of interest (eg, an object of a specific line) associated therewith. have.
  • the alignment module 230 is, for example, correction of handwriting inclination (eg, deskew), alignment of handwriting position for each line (eg, indentation), alignment of handwriting line spacing (eg, : line spacing), normalization of font size (eg height), and/or misalignment placement for non-text (eg, underlines, shapes, sketches, and/or drawings).
  • handwriting inclination eg, deskew
  • alignment of handwriting position for each line eg, indentation
  • alignment of handwriting line spacing eg, : line spacing
  • normalization of font size eg height
  • misalignment placement for non-text eg, underlines, shapes, sketches, and/or drawings.
  • the electronic device 101 includes a display module 160 and a processor 120 operatively connected to the display module 160, and the processor 120 includes a Display an execution screen of an application supporting text input, detect handwriting input through the execution screen, set at least one region of interest based on at least one object corresponding to the handwriting, and perform a user action In response to (action), a target object may be identified based on the at least one ROI, and handwriting alignment may be performed based on the target object.
  • the processor 120 may classify handwriting in units of actions of the user and set the at least one ROI based on at least one handwriting related to a recent action. have.
  • the processor 120 may align a target object related to a user intention based on at least one handwriting target object related to the recent action.
  • the processor 120 identifies a first object of the at least one ROI, and a second object associated with the first object among handwriting objects according to a previous action may be identified, and the first object and the second object may be determined as the target object.
  • the processor 120 sets a target region of interest including a first object of the at least one region of interest and the second object in the vicinity of the first object,
  • the first object and the second object may be aligned together based on the target ROI.
  • the processor 120 may correct the first object to correspond to the second object.
  • the processor 120 determines whether to correct the line and/or size of the first object based on the second object, and based on the determination result, the first object At least one of a line and/or a size of the object may be corrected.
  • the processor 120 corrects the first object to correspond to the second object, and in a state in which the correction of the first object is applied, the first object and the second object 2 objects can be sorted.
  • the processor 120 sets a first ROI related to a first action based on at least one first object corresponding to a first handwriting input, and Based on the first alignment trigger for the action, the first object related to the first action is aligned, and the second action related to the at least one second object corresponding to the second handwriting input. Setting a second region of interest and performing alignment on the second object related to the second action while maintaining at least a portion of the first object based on a second alignment trigger for the second action can do.
  • the processor 120 identifies at least one third object related to the second object among the first objects, and sets the second object based on the third object. Correction may be performed, and alignment may be performed by associating the corrected second object with the third object.
  • the electronic device 101 includes a display module 160 and a processor 120 operatively connected to the display module 160, and the processor 120 includes a first 1 Set a first region of interest based on at least one first object corresponding to a handwriting input, map the first object to a first action, and based on a first alignment trigger for the first action, the aligning the first object mapped to a first action, setting a second region of interest based on at least one second object corresponding to a second handwriting input, and mapping the second object to a second action; set to align the second object mapped to the second action, while maintaining the first object mapped to the first action, based on a second alignment trigger for the second action;
  • the handwriting and the second handwriting are divided into action units according to the first action and the second action, and at least a portion of the first object of the first action that intersects the second object of the second action may include being associated with the second object and being aligned with the second object.
  • operations performed by the electronic device 101 to be described below may be executed by the processor 120 including at least one processing circuitry of the electronic device 101 .
  • the operations performed by the electronic device 101 may be stored in the memory 130 and, when executed, may be executed by instructions that cause the processor 120 to operate.
  • FIG. 3 is a flowchart illustrating an operation of an electronic device according to various embodiments of the present disclosure
  • the processor 120 of the electronic device 101 may display an execution screen of an application.
  • the processor 120 may execute an application (eg, a note application, a memo application) capable of (or supporting) a handwriting input based on a user input.
  • the processor 120 displays the execution screen of the application including various information (or objects) (eg, note layout) related to inputting handwriting based on the execution of the application. ) can be controlled.
  • the processor 120 may detect a handwriting input through the display module 160 .
  • the processor 120 may receive a handwriting input from the user while displaying the execution screen, and may display the inputted handwriting on the execution screen.
  • the processor 120 may set a region of interest. According to an embodiment, the processor 120 may set at least one ROI based on at least one object corresponding to a handwriting. According to an embodiment, the processor 120 may detect a handwriting input from the user on the execution screen and recognize the input handwriting (eg, handwriting data) as one object. According to an embodiment, the processor 120 may set the ROI based on the recognized object.
  • the processor 120 may set an area of a set rectangle (eg, DirtyRect) that is virtually set based on the outermost point of the object by using the recognized outermost point of the object.
  • the processor 120 may set the region of interest by connecting the outermost points from the top, bottom, left, and right among all points constituting the handwriting with a rectangle. have.
  • the processor 120 may detect an alignment trigger.
  • the processor 120 may detect a user input based on an object (eg, an alignment object) designated to execute handwriting alignment provided in a designated area of the execution screen (or note layout) of the application. .
  • the processor 120 may identify (or classify) an action based on the detection of the alignment trigger. According to an embodiment, the processor 120 may identify the last action (or recent action) performed by the user. According to an embodiment, the processor 120 may classify the ROI based on at least one object corresponding to the handwriting input by the user as an action unit. For example, a first region of interest based on a first object of a first handwriting input is set in the first action, a second region of interest based on a second object of a second handwriting input is set in the second action, A third ROI based on the third object of the third handwriting input may be set in the third action.
  • the processor 120 may map the first ROI of the first handwriting input to the first action (or first action group). have.
  • the first action may correspond to a recent action.
  • the processor 120 sets the second ROI of the second handwriting input to the second action (or the second action). group) can be mapped.
  • the second action may correspond to a recent action.
  • the processor 120 may identify at least one target ROI based on the action.
  • the processor 120 may identify a region of interest corresponding to a recent action, for example, a region of interest set based on a handwritten object input after the previous action and between the recent action.
  • the processor 120 may determine a target ROI for alignment based on the user's action with respect to at least one object-based ROI corresponding to a handwriting input by the user.
  • the processor 120 may classify the actions performed by the user, and map (or group) at least one ROI corresponding to the handwriting for each action.
  • the processor 120 may recognize the target object based on the target ROI.
  • each of the regions of interest classified for each action may be formed of at least one object corresponding to a handwriting input in a unit of a divided action.
  • the processor 120 may recognize at least one object constituting the region of interest corresponding to the recent action as a target object for alignment.
  • the target object may include at least some of the objects in the region of interest and other objects in the region of interest associated with the object in the region of interest.
  • the processor 120 may determine the target object by associating the identified object of the ROI with an object of another ROI related thereto (eg, an object of a specific line). For example, the processor 120 identifies at least one third object (line) associated with the second object of the second region of interest among the first objects of the first region of interest, and associates the second object with the third object. and can be determined as the target object.
  • an operation of determining a target object according to an embodiment will be described in detail with reference to drawings to be described later.
  • the processor 120 may perform sorting based on the target object.
  • the processor 120 may align the target object in a specified alignment method. For example, the processor 120 may designate a target object based on an action among a plurality of objects corresponding to handwriting, and may align the designated target object.
  • the processor 120 based on the target object, the processor 120 corrects the inclination of handwriting (eg, deskew), alignment of handwriting position for each line (eg, indentation), and alignment of handwriting line spacing (eg, : line spacing), normalization of font size (eg height), and/or misalignment placement for non-text (eg, underlines, shapes, sketches, and/or drawings).
  • An alignment operation according to an embodiment will be described in detail with reference to the drawings to be described later.
  • the processor 120 may display a result according to the alignment performance. According to an embodiment, the processor 120 may control the display module 160 to display a result of handwriting alignment performed by designating a target object on an execution screen.
  • FIG. 4 is a flowchart illustrating an operation of an electronic device according to various embodiments of the present disclosure
  • the processor 120 of the electronic device 101 may detect a handwriting input through the display module 160 .
  • the processor 120 may receive a handwriting input from the user while displaying the execution screen, and may display the inputted handwriting on the execution screen.
  • the processor 120 may detect a trigger (or user input) by the user after the handwriting input.
  • the trigger (or user input) may include a first trigger related to performing an alignment (eg, an alignment trigger), a second trigger related to performing a function (eg, a function trigger), and/or a second trigger related to termination of handwriting input. It includes various triggers such as 3 triggers (eg, end trigger), and the types may not be limited.
  • the first trigger, the second trigger, and/or the third trigger may be respective actions performed by the user.
  • the processor 120 may identify a trigger type based on trigger detection. According to an embodiment, the processor 120 may identify a trigger type based on an object corresponding to the user input on the execution screen (or note layout) of the application after the handwriting input. According to an embodiment, the processor 120 triggers a first trigger (eg, touch) when a first object (eg, an alignment object) designated to execute handwriting alignment on the execution screen (or note layout) is selected (eg, touched) Example: sort trigger).
  • a first trigger eg, touch
  • the processor 120 may be configured to execute a second object (eg, an eraser object, a clip object, When a text conversion object, a storage object, and/or a screen change object) is selected (eg, touched), the trigger may be identified as a second trigger (eg, a function trigger).
  • a second object eg, an eraser object, a clip object,
  • the trigger may be identified as a second trigger (eg, a function trigger).
  • a function (or option) other than an alignment function related to handwriting is, for example, an eraser function for erasing at least part of handwriting, a clip function for clipping of handwriting, a function for handwriting It includes a conversion function for converting to text, a color selection function for changing the color of handwriting, and/or a storage function for storing handwriting, and various types, and the types may not be limited.
  • operation 405 if the processor 120 determines that the trigger is the first trigger (eg, 'first trigger' in operation 405), in operation 407, sorting may be performed based on the handwriting object corresponding to the action. have. Thereafter, in operation 401 , after a new handwriting is input by the user, the processor 120 may perform an operation of aligning or maintaining the new handwriting object in response to the first trigger or the second trigger.
  • the processor 120 may perform an operation of aligning or maintaining the new handwriting object in response to the first trigger or the second trigger.
  • the processor 120 may determine to maintain (or fix) the handwriting object.
  • the processor 120 may identify that the action is switched, and the handwriting object (eg, the previous action and the recent action (eg, the previous action and the recent action) For example, a handwriting object) input between (eg, an action according to the second trigger) may be excluded from the alignment target, and the shape input by the user may be maintained.
  • the processor 120 excludes the handwriting object determined to be maintained (or fixed) from the alignment target (eg, maintains the current shape), Alignment can be performed by specifying only a new handwriting object.
  • 5A, 5B, and 6 are diagrams for explaining an example of setting an ROI for each action in an electronic device according to various embodiments of the present disclosure
  • the user may repeatedly input handwriting and action execution on the execution screen of the application.
  • the user may input a first handwriting 515 .
  • the electronic device 101 may set the first region of interest 510 based on the object corresponding to the first handwriting 515 .
  • the electronic device 101 may set the first region of interest 510 based on at least one object (eg, strokes) corresponding to the first handwriting 515 .
  • the electronic device 101 uses an outermost point of at least one object corresponding to the first handwriting 515 to set a set quadrangle (eg: DirtyRect) may be set as the first ROI 510 .
  • the processor 120 connects the outermost points from the top, bottom, left, and right among all the points constituting the first handwriting 515 to a rectangle, You can set an area of interest.
  • the electronic device 101 when the first action is performed after the first handwriting 515 is input, the electronic device 101 sets the first ROI 510 of the first handwriting 515 to the first action (or first action group). For example, the electronic device 101 may map the first ROI 510 of the first handwriting 515 to the first action.
  • the user may input the second handwriting 525 after inputting the first handwriting 515 and performing the first action.
  • the electronic device 101 may set the second region of interest 520 based on the object corresponding to the second handwriting 525 .
  • the electronic device 101 may set the second region of interest 520 based on at least one object (eg, strokes) corresponding to the second handwriting 525 .
  • the electronic device 101 when the second handwriting 525 is inputted after the first action and the second action is performed, the electronic device 101 receives the second ROI 520 of the second handwriting 525 . ) may be mapped to a second action (or a second action group). For example, the electronic device 101 may map the second ROI 520 of the second handwriting 525 to the second action.
  • the user inputs a third handwriting 615 and performs a third action in response to the description in the description with reference to FIGS. 5A and 5B , and then performs the fourth handwriting 625 .
  • the electronic device 101 may set the third region of interest 610 based on the object corresponding to the third handwriting 615 , and may set the third region of interest 610 to the object corresponding to the fourth handwriting 625 . Based on this, a fourth region of interest 620 may be set.
  • the user may use handwriting as text/character (eg, text) (eg, first handwriting 515, second handwriting 525, third handwriting 615) and/or non All characters (eg, non-text) (eg, fourth handwriting 625) may be used.
  • text/character eg, text
  • non All characters eg, non-text
  • the electronic device 101 displays a region of interest (eg, a first action) corresponding to a previous action (eg, a first action or a third action).
  • the region of interest eg, the second region of interest 520 or the fourth region of interest
  • the recent action eg, the second action or the fourth action
  • Sorting can be performed based on the objects in the 3rd and 4th lines).
  • the electronic device 101 performs at least one You can set the area of interest.
  • the electronic device 101 sets a target object (eg, a new object and a line object associated with the new object) based on a target ROI (eg, an ROI corresponding to a recent action) among at least one ROI. ), and handwriting alignment can be performed by designating only the target object by action classification.
  • the electronic device 101 may set a first region of interest corresponding to the first handwriting input, and perform alignment by designating a target object based on the first region of interest based on the first alignment trigger. have.
  • the electronic device 101 sets a second region of interest corresponding to the second handwriting input, and performs alignment by designating a target object based on the second region of interest based on the second alignment trigger.
  • FIG. 7 is a flowchart illustrating an operation of an electronic device according to various embodiments of the present disclosure
  • 8 is a diagram illustrating an example of obtaining an average delta in an electronic device according to various embodiments of the present disclosure
  • 9 is a diagram illustrating an example of setting a plurality of ROIs for each handwriting in an electronic device according to various embodiments of the present disclosure
  • FIGS. 7, 8, and 9 an example of an operation of setting a plurality of regions of interest through block classification for handwriting in the electronic device 101 may be illustrated.
  • the electronic device 101 analyzes a stroke in DirtyRect of an existing action and a stroke in DirtyRect of a recent action and separates them into blocks, respectively, in FIG. 7 . , 8 and 9 , examples of configuring a block may be shown.
  • the processor 120 of the electronic device 101 may derive an average delta of a stroke (eg, handwriting data).
  • the data for handwriting represents, for example, data made up of at least one stroke
  • the stroke represents data made up of a combination of a plurality of points, and a character/character ( eg text) and/or non-text (eg non-text).
  • the processor 120 may calculate the average delta by analyzing the input handwriting stroke. An example of this is shown in FIG. 8 .
  • the processor 120 analyzes each stroke of the input handwriting 810 , and a plurality of dots 820 constituting each stroke (eg, about 10 to 100 per stroke in the case of Hangul).
  • the delta may be calculated based on the distance 830 between each other (eg, the distance 820 between the first points of the stroke 820 ).
  • the processor 120 adds a weight (eg, sensitivity) to horizontal (eg, X-coordinate) and/or vertical (eg, Y-coordinate) changes in consideration of the line separation of handwriting to create a delta can be calculated.
  • the processor 120 may calculate the average delta by calculating the average of each delta calculated based on the distance 830 between the points.
  • the average delta may be used to classify blocks in subsequent operations.
  • the processor 120 may derive a block (eg, DirtyRect) for handwriting based on the derived average delta.
  • a block eg, DirtyRect
  • the processor 120 may determine whether the corresponding stroke exceeds the average delta. For example, the processor 120 may determine whether the distance between strokes has a difference greater than or equal to an average delta.
  • the processor 120 may set a block. According to an embodiment, when the distance between strokes exceeds the average delta, the processor 120 may set a block up to the corresponding stroke and set a new block for the next stroke.
  • the processor 120 may determine whether the analyzed stroke corresponds to the last stroke. According to an embodiment, the processor 120 may determine whether analysis has been performed on all strokes corresponding to handwriting.
  • the processor 120 may set at least one DirtyRect based on the set block. For example, when setting three blocks based on handwriting, for example, when three blocks have a distance greater than or equal to an average delta, the processor 120 may set each of the three blocks as DirtyRect.
  • the DirtyRect may be set as the region of interest by itself or may be set as the region of interest in association with other objects around the DirtyRect.
  • FIG. 9 An example of a result according to the operation of FIGS. 7 and 8 is shown in FIG. 9 , according to an embodiment.
  • the processor 120 determines a handwriting object with a difference of more than an average delta in each handwriting as in the example of FIG. Based on this, a plurality of blocks 910 may be generated, respectively.
  • the processor 120 may classify blocks by analyzing the positions of independent handwriting, and derive each DirtyRect based thereon.
  • each of the dotted rectangles in FIG. 9 is shown for explanation and may not be actually shown.
  • FIG. 10 is a flowchart illustrating an operation of an electronic device according to various embodiments of the present disclosure.
  • the region of interest (or target object) of the alignment target according to the action by classifying the handwriting object (or line) associated with the DirtyRect set as illustrated in FIGS. 7, 8 and 9 .
  • the processor 120 may determine whether the separated line is included in the ROI. According to an embodiment, the processor 120 may compare the separated line with a block set as in the example of FIG. 7 , and may determine whether at least a part of the separated line (or an object of the line) intersects the block. have.
  • the processor 120 may determine whether the analyzed line corresponds to the last line. According to an embodiment, the processor 120 may determine whether analysis has been performed on all lines corresponding to handwriting.
  • the processor 120 may set a target ROI.
  • the processor 120 may set a block (or DirtyRect) including the object of the region of interest and the object of a line intersecting the object of the region of interest, and set the corresponding block as the target region of interest.
  • the processor 120 may set the target ROI to include an object in the ROI and an object in another ROI (eg, based on a separated line) associated with the object in the ROI.
  • the processor 120 may determine the target object by associating the object of the ROI and another object of the ROI (eg, an object of a specific line) related thereto. For example, the processor 120 identifies at least one third object (line) associated with the second object of the second region of interest among the first objects of the first region of interest, and associates the second object with the third object. It is determined as a target object, and sorting can be performed by designating the target object.
  • another object of the ROI eg, an object of a specific line
  • 11 and 12 are diagrams for explaining an example in which a target ROI is set in an electronic device according to various embodiments of the present disclosure
  • FIGS. 11 and 12 as illustrated in FIG. 10 , an example of setting the target ROI to include an object of a line intersecting the ROI as an alignment target object may be illustrated.
  • FIGS. 11 and 12 an example of setting at least a part of the handwriting of an existing action with the handwriting of a recent action as a target ROI for handwriting alignment may be shown.
  • the user may input a first handwriting 1110 composed of four lines and perform a first action.
  • the electronic device 101 sets the first handwriting 1110 as the first ROI, and sets the first ROI of the first handwriting 1110 as the first action in response to the first action. can be mapped to
  • a second handwriting 1200 that intersects (or overlaps) with the first handwriting 1110 .
  • the electronic device 101 blocks the second handwriting 1200 as described in the description with reference to FIGS. 7, 8, and 9 above, so that a plurality of blocks (eg, the first It may be divided into a first block 1210 , a second block 1220 , and a third block 1230 ).
  • the electronic device 101 when the electronic device 101 inputs a first handwriting 1110 composed of four lines, a first action is performed, and the second handwriting 1200 is input, the second hand
  • the first block 1210 , the second block 1220 , and the third block 1230 indicated by a dotted rectangle may be virtually set.
  • the first block 1210 , the second block 1220 , and the third block 1230 may represent three clusters having a distance equal to or greater than an average delta from each other.
  • each dotted rectangle in FIG. 12 is illustrated for explanation and may not be actually shown.
  • each of the plurality of blocks 1210 , 1220 , and 1230 may represent a DirtyRect (eg, a second region of interest).
  • the electronic device 101 may set the second ROI related to the second action based on the plurality of DirtyRects.
  • the electronic device 101 when setting the second region of interest, includes at least one object (or line) associated with each DirtyRect among the first handwriting 1110 designated as the first region of interest. It can be set as an area of interest.
  • 13, 14, 15, and 16 are diagrams for explaining examples of actions available in an electronic device according to various embodiments.
  • the electronic device 101 may classify an action based on various user inputs while executing an application. For example, while executing an application, the electronic device 101 may classify an action according to a user input, and may perform sorting by designating handwriting related to a recent action.
  • the electronic device 101 classifies input handwriting in units of actions, classifies previously input first handwriting and newly input second handwriting in units of actions, and performs second handwriting Sorting can be intensively performed on .
  • the electronic device 101 may perform alignment by associating at least a portion of the first handwriting to the second handwriting (eg, intersecting or overlapping).
  • the user input for classifying the action includes various types as illustrated in FIGS. 13, 14, 15 and 16, and the types may not be limited. have.
  • FIG. 13 shows that an action is performed according to a user input based on an object 1330 (eg, an alignment object) designated to execute handwriting alignment, which is provided in a specified area of the execution screen (or note layout) of the application.
  • an object 1330 eg, an alignment object
  • the electronic device 101 identifies a first action in response to the selection of the alignment object 1330, and Alignment may be performed on the first handwriting 1310 related to one action.
  • the electronic device 101 when the second handwriting 1320 is input after the first action and the alignment object 1330 is selected, the electronic device 101 responds to the selection of the alignment object 1330 to perform a second action may be identified and the second handwriting 1320 related to the second action (eg, recent action) may be aligned while maintaining the shape of the first handwriting 1310 related to the first action. .
  • FIG. 14 may show an example of a case in which a handwriting operation (eg, writing a note or memo) is newly started in an application.
  • a handwriting operation eg, writing a note or memo
  • an action may be classified according to a user input of a user starting a new note file or loading a new note file.
  • FIG. 15 may show an example in which the user performs a function other than the sort function.
  • the user may perform other functions based on other functional objects (eg, eraser object, clip object 1520, text conversion object 1530, storage object, and/or transition object) other than the alignment object 1330 .
  • Actions may be classified according to a user input that executes .
  • a function object eg, 1510 , 1520 , 1530 , 1540
  • an action may be identified in response to selection of the function objects 1510 , 1520 , 1530 , and 1540 .
  • the electronic device 101 executes another function (or option) related to handwriting (eg, a function other than the sort function) on the execution screen (or note layout) on the execution screen (or note layout).
  • Another function or option related to handwriting (eg, a function other than the sort function) on the execution screen (or note layout) on the execution screen (or note layout).
  • An action can be identified when a functional object designated to be performed is selected (eg, touched).
  • FIG. 16 may show an example in which an action is divided according to a user input of resuming an application after the user pauses the application.
  • the electronic device 101 moves to a home screen (eg, example screen ⁇ 1601>) while executing an application and then returns (eg, example screen ⁇ 1603).
  • Actions can be identified in response to user input of >).
  • recovery after a screen turn-off, turn-on operation, or focus shift to another application and The same action may be included.
  • 17, 18, and 19 are diagrams for explaining an example of classifying an alignment target object in an action unit in an electronic device according to various embodiments of the present disclosure.
  • FIGS. 17, 18 and 19 an example of setting the target ROI for alignment based on the handwriting of the recent action while maintaining the handwriting of the existing action may be shown.
  • a user inputs a first handwriting 1710 composed of two lines (eg, a first line, a second line), and a first action
  • a state in which the second handwriting 1720 is input after performing eg, an alignment command by selecting the alignment object 1730
  • the electronic device 101 may set the first handwriting 1710 as the first region of interest, and may perform alignment by designating the first handwriting 1710 in response to the first action.
  • the user may input a second handwriting 1720 after the first action and perform the second action based on the alignment object 1730 .
  • FIG. 18 may represent an example of a state in which a user inputs a second handwriting 1720 and selects an alignment object 1730 to perform a second action. have.
  • the electronic device 101 when the second handwriting 1720 is inputted after the first action and the second action is performed, the electronic device 101 performs the first handwriting 1710 (eg, the first line, two th line), alignment may be performed by designating (or as a target) the second handwriting 1720 (eg, the third line).
  • the guide object 1800 (or interest indicating the target ROI) guides (or designates) the object to be aligned to the user. area object) can be provided.
  • the guide object 1800 may be provided in a specified shape (eg, a rectangle, an oval, or a lasso type) including a target object.
  • the guide object 1800 may include at least one adjustment object 1810 or 1820 for changing (eg, expanding or reducing) the range (or size) of the ROI.
  • the user may change the ROI designated by the electronic device 101 according to an action through vertical movement of the adjustment objects 1810 and 1820 .
  • the user may input a third handwriting 1910 after the second action and perform the third action based on the alignment object 1730 .
  • FIG. 19 may represent an example of a state in which a user inputs a third handwriting 1910 and selects an alignment object 1730 to perform a third action. have.
  • the electronic device 101 performs the first handwriting 1710 (eg, first line, two 3rd line) and second handwriting 1720 (eg, third line) are not aligned, can be done
  • the guide object 1800 (or interest indicating the target ROI) guides (or designates) the object to be aligned to the user. area object) can be provided.
  • FIG. 20 is a diagram for describing an example of setting a target ROI in an electronic device according to various embodiments of the present disclosure
  • FIG. 20 as illustrated in FIG. 10 , an example of setting (eg, expanding) the target ROI to include an object of a line intersecting the ROI as an alignment target object may be shown.
  • an example of setting at least a part (eg, a line) of a handwriting of an existing action as a target ROI for handwriting alignment by associating it with a handwriting of a recent action may be illustrated.
  • FIG. 20 may show an example of a case in which there is one region of interest (eg, DirtyRect) set according to a recent action.
  • region of interest eg, DirtyRect
  • the user inputs a first handwriting 2010 composed of four lines and performs a first action (eg, an alignment command) to perform a first Alignment may be performed on the handwriting 2010 .
  • a first action eg, an alignment command
  • the user may input the second handwriting 2020 near or overlapping at least one line of the first handwriting 2010 after the first action.
  • the user may perform a second action (eg, an alignment command) after inputting the second handwriting 2020 .
  • the electronic device 101 displays the second handwriting 2020 and the second handwriting 2020.
  • Handwriting alignment can be performed based on associated (or intersected) lines (eg, the third and fourth lines or an object thereof).
  • the target object aligned with respect to the second action may be the second handwriting 2020 .
  • the second handwriting 2020 and the second handwriting 2020 according to the second action At least a part of another object (eg, the first handwriting 2010 mapped to the previous first action) may be included as an alignment target object.
  • the electronic device 101 may display the second handwriting 2020 and at least one other object intersecting the second handwriting 2020 may be included to set the target ROI.
  • the electronic device 101 analyzes the line of the first handwriting 2010 of the first action to determine whether it intersects with the second handwriting 2020 of the second action.
  • the electronic device 101 may align the recent action by including a line intersecting the handwriting of the recent action from the handwriting of the previous action to the region of interest (eg, DirtyRect) of the handwriting of the previous action.
  • the region of interest eg, DirtyRect
  • the third line 2030 and the fourth line 2040 in the first handwriting 2010 of the first action are the second hand It may be identified that the text 2020 intersects with a region of interest (eg, DirtyRect).
  • the electronic device 101 sets the region of interest for the second handwriting 2010 as valid lines (eg, the third line 2030 and the fourth line 2040 ). )) can be expanded to include the target region of interest.
  • the electronic device 101 may align the target objects (eg, the second handwriting 2020 object and the valid line object) of the target ROI.
  • 21 and 22 are diagrams for explaining an example of setting a target ROI in an electronic device according to various embodiments of the present disclosure.
  • FIGS. 21 and 22 an example of setting (eg, expanding) the target ROI to include an object of a line intersecting the ROI as an alignment target object as illustrated in FIG. 10 may be shown.
  • FIGS. 21 and 22 an example of setting at least a part (eg, a line) of handwriting of an existing action with handwriting of a recent action as a target region of interest for handwriting alignment may be shown.
  • FIGS. 21 and 22 an example of a case in which there are a plurality of regions of interest (eg, DirtyRect) set according to the second action may be shown.
  • regions of interest eg, DirtyRect
  • the electronic device 101 blocks the second handwriting 2200 as described in the description with reference to FIGS. 7, 8, and 9 above, so that a plurality of blocks (eg, the first It may be divided into a first block 2110, a second block 2120, and a third block 2130).
  • the electronic device 101 when the electronic device 101 inputs a first handwriting 2100 formed of four lines, a first action is performed, and the second handwriting 2200 is input, the second hand
  • the first block 2110 , the second block 2120 , and the third block 2130 indicated by the dotted rectangle may be virtually set.
  • the first block 2110 , the second block 2120 , and the third block 2130 may represent three clusters having a distance equal to or greater than an average delta from each other.
  • each dotted rectangle in FIGS. 21 and 22 is shown for explanation, and may not be actually shown.
  • each of the plurality of blocks 2110 , 2120 , and 2130 may represent a DirtyRect (eg, a region of interest).
  • the electronic device 101 may set the second ROI related to the second action based on the plurality of DirtyRects.
  • the electronic device 101 when setting the second region of interest, includes at least one object (or line) associated with each DirtyRect among the first handwriting 2100 designated as the first region of interest. can be set as the target ROI.
  • the electronic device 101 displays the second handwriting 2200 and the second handwriting 2200 .
  • the electronic device 101 analyzes the line of the first handwriting 2100 of the first action to determine whether it intersects the second handwriting 2200 of the second action.
  • the electronic device 101 may align the recent action by including a line intersecting the handwriting of the recent action from the handwriting of the previous action to the region of interest (eg, DirtyRect) of the handwriting of the previous action.
  • the first line, the second line, and the fourth line in the first handwriting 2100 are respective regions of interest of the second handwriting 2200 . (2110, 2120, 2130) (eg, DirtyRect) can be identified.
  • the electronic device 101 sets a corresponding line (eg, a first line, a second line, and a fourth line) that intersects the region of interest of the second handwriting 2200 in the first handwriting 2100 .
  • the electronic device 101 sets the region of interest for the second handwriting 2200 to an effective line (eg, the first line and the second line of the first handwriting 2100 ). and the fourth line) and may be set as target ROIs 2210 , 2220 , and 2230 .
  • the electronic device 101 may align the target objects (eg, the second handwriting 2020 object and the valid line object) of the target ROIs 2210 , 2220 , and 2230 . have.
  • FIG. 23 is a flowchart illustrating an operation of an electronic device according to various embodiments of the present disclosure.
  • the electronic device 101 may provide line correction and/or size correction to a target object to be aligned by using the characteristic in which the actions are distinguished. For example, the electronic device 101 may correct the inclination of handwriting (eg, deskew), alignment of handwriting positions for each line (eg, indentation), alignment of handwriting line spacing (eg, line spacing), and font size.
  • Various alignments may be provided, such as normalization (eg height), and/or matching placement for non-text (eg underlines, shapes, sketches, and/or drawings).
  • the processor 120 of the electronic device 101 may analyze a surrounding object based on a region of interest related to a recent action. According to an embodiment, the processor 120 may identify whether handwriting of a previous action that intersects (or overlaps) or is adjacent to a region of interest (eg, DirtyRect) based on handwriting of a recent action exists. For example, the processor 120 may determine whether there is a line that can be associated with the ROI.
  • a region of interest eg, DirtyRect
  • the processor 120 may determine whether magnetic correction (or setting) is required based on the analysis result of the surrounding object. According to an embodiment, the processor 120 performs magnetic correction when handwriting (eg, handwriting in which at least a part of a line intersects or approaches DirtyRect) of a previous action that intersects or approaches the region of interest is identified. can decide A magnetic correction operation according to an embodiment will be described in detail with reference to the drawings to be described later.
  • the processor 120 may proceed to operation 2309 and perform operations 2309 and subsequent operations.
  • the processor 120 may derive a magnetic point for each object. It will be described in detail with reference to the drawings to be described later in relation to the magnetic point according to an embodiment.
  • the processor 120 may move and dispose the target object of the ROI to the nearest neighboring object based on the magnetic point.
  • the processor 120 may identify the nearest neighboring object based on the magnetic point, move the target object to the nearest neighboring object, and perform line correction to align the line between the neighboring object and the target object. can do. Line correction according to an embodiment will be described in detail with reference to the drawings to be described later.
  • the processor 120 may determine whether size-based equalization correction is required. According to an embodiment, the processor 120 may determine to process the size-based equalization correction if there is a difference of more than a certain level by comparing the size of the target object with the handwriting of the previous action that intersects or approaches the region of interest.
  • operation 2309 when the size-based equalization correction is not required (eg, 'No' in operation 2309 ), the processor 120 proceeds to operation 2317 and may perform operations 2317 and subsequent operations.
  • the processor 120 may analyze the center of gravity for each line. According to an embodiment, the processor 120 may check the center of gravity of a line (or a surrounding object) corresponding to the handwriting of the existing action and the center of gravity of the target object corresponding to the handwriting of the recent action.
  • the processor 120 may analyze the average size of each object. According to an embodiment, the processor 120 may analyze the average size of the surrounding object based on the center of gravity of the surrounding object, and check the average size of the target object based on the center of gravity of the target object.
  • the processor 120 may change the size of the target object.
  • the processor 120 compares the average size of the surrounding object with the average size of the target object, and when there is a deviation, adjusts (or changes) the average size of the target object to a size corresponding to the average size of the surrounding object ) can perform size correction.
  • the processor 120 may further perform line correction in which the location of the target object is moved and disposed in response to a change in the size of the target object. Size correction according to an embodiment will be described in detail with reference to the drawings to be described later.
  • the processor 120 may align at least one object.
  • the processor 120 may set a target ROI including the line-corrected and/or size-corrected target object and surrounding objects, and perform handwriting alignment on all objects in the target ROI. .
  • the line correction operation and the size correction operation are sequentially illustrated in FIG. 23 , according to various embodiments, the correction operation and the size correction operation are not limited to the illustrated order, and may be performed in parallel. , in reverse order, or heuristically.
  • 24 is a diagram for explaining an example of line correction in an electronic device according to various embodiments of the present disclosure.
  • FIG. 24 may show an example of providing line correction for handwriting for each action unit based on a magnetic user interface (UI).
  • UI magnetic user interface
  • the user performs second handwriting 2440 after first handwriting 2410, 2420, and 2430 according to a previous action (eg, first action). ) may be input in relation to (or near) at least one line of the first handwriting 2410 , 2420 , and 2430 .
  • the user may input a second handwriting 2440 and perform a second action (eg, an alignment command).
  • the electronic device 101 when detecting a second action (eg, an alignment command), the electronic device 101 may automatically or manually determine whether to correct the line. According to an embodiment, as illustrated in FIG. 23 , the electronic device 101 may determine whether to perform magnetic correction and automatically perform line correction based on the determination result. According to an embodiment, when the electronic device 101 classifies the actions and executes a recent action (eg, an alignment command) when a plurality of actions exist, as illustrated in the example screen ⁇ 2401>, the magnetic user interface By providing , line correction by the user may be manually performed.
  • a recent action eg, an alignment command
  • the electronic device 101 provides a specific shape (eg, round, diamond) based on the first handwriting 2410 , 2420 , and 2430 and the second handwriting 2440 (or DirtyRect corresponding to each handwriting).
  • a specific shape eg, round, diamond
  • a magnetic point 2450 of a model, oval or square may be generated and provided.
  • the electronic device 101 may generate a magnetic point for each line of each handwriting 2410 , 2420 , 2430 , and 2440 .
  • the electronic device 101 separates lines for all handwriting 2410, 2420, 2430, and 2440 related to the previous action and the recent action, and magnetic points 2415, 2425, 2435, 2445) can be created.
  • the magnetic points 2415 , 2425 , 2435 , 2445 and the dotted rectangle are shown for explanation and are visually displayed or , or may not be displayed.
  • magnetic points 2415, 2425, 2435, 2445 may be visually marked for user perception (eg, in the case of a manual method of line correction), or magnetic points 2415, 2425, 2435, 2445 is used internally to determine the line belonging to each object and may not be displayed (eg, in the case of an automatic method of line correction).
  • the user selects (eg, touches 2400) the second handwriting 2440 (or object) corresponding to the recent action to determine the user-specified location.
  • the user moves in the direction of a line (eg, the first line 2410 ) at a specific position among the first handwriting 2410 , 2420 , and 2430 while the second handwriting 2440 is touched 2400 .
  • User input eg, dragging
  • the electronic device 101 moves the second handwriting 2440 in the direction of the line 2410 designated by the user based on the user input, and in the vicinity of the corresponding line 2410 (eg: Within a specified distance range), the second handwriting 2240 may be automatically appended to the corresponding line 2410 .
  • the electronic device 101 may visually provide an appending process for the second handwriting 2440 .
  • a result of adding the second handwriting 2440 to the corresponding line 2410 (eg, a result of line correction) is shown on the example screen ⁇ 2405>.
  • the second handwriting 2440 of the recent action is added to the designated line 2410 among the first handwritten letters 2410, 2420, and 2430 of the previous action and aligned (eg: Line spacing alignment (eg line spacing), positioning (eg indentation)) may be provided.
  • aligned eg: Line spacing alignment (eg line spacing), positioning (eg indentation)
  • the electronic device 101 internally determines whether or not to correct the magnetic as illustrated in FIG. 23 without a visual display (eg, display of a magnetic point) of the magnetic user interface as illustrated in FIG. 24 , Based on the determination result, it is possible to automatically perform appending and alignment between handwriting objects using a magnetic point.
  • a visual display eg, display of a magnetic point
  • the electronic device 101 separates the handwriting line of the previous action, and the handwriting of the previous action (eg, the line of the target) while the handwriting of the recent action is drawn to a position close to the handwriting of the previous action ) that is appended to an adjacent position (eg, magnetic effect) may provide a UX (user experience).
  • the handwriting of the previous action eg, the line of the target
  • the handwriting of the recent action is drawn to a position close to the handwriting of the previous action
  • an adjacent position eg, magnetic effect
  • 25 26, 27, and 28 are diagrams for explaining an operation example for line correction in an electronic device according to various embodiments.
  • the magnetic point 2450 and the square box in FIGS. 25, 26, 27 and 28 are illustrated for explanation, and may not be displayed on an actual screen.
  • FIG. 25 may show an example in which a magnetic point 2450 is generated in a handwriting 2510 (eg, an object).
  • the magnetic point 2450 is, for example, at least one magnetic point on the top and bottom of the handwriting 2510 in the vertical direction of the handwriting 2510 , respectively.
  • 2451 and one magnetic point 2453 on the left and right sides in the horizontal direction may be generated.
  • the magnetic point 2450 may include a plurality of magnetic points in a horizontal direction and/or a vertical direction according to the length and/or height of the handwriting 2510 (eg, an object).
  • the magnetic point 2450 may include a shape surrounding the handwriting 2510 based on the outermost portion of the handwriting 2510 .
  • FIG. 26 shows a state in which a new handwriting 2610 (hereinafter, a second handwriting 2610) is input after the existing handwriting 2510 (hereinafter, referred to as first handwriting 2510).
  • a new handwriting 2610 hereinafter, a second handwriting 2610
  • first handwriting 2510 hereinafter, referred to as first handwriting 2510.
  • the second handwriting 2610 may be input near the first handwriting 2510 .
  • magnetic points 2450 may be generated based on each of the first handwriting 2510 and the second handwriting 2610 .
  • the distance between the magnetic point of the first handwriting 2510 and the magnetic point of the second handwriting 2610 A magnetic point of an append target may be determined based on distance.
  • the electronic device 101 provides a Euclidean distance between the magnetic point of the first handwriting 2510 and the magnetic point of the second handwriting 2610 based on the Euclidean algorithm. ) may determine the closest magnetic point for each handwriting 2510 and 2610 . An example of this is shown in FIG. 27 .
  • FIG. 27 shows a horizontal direction (eg, a right magnetic point 2515 ) and a second handwriting 2610 among the magnetic points 2450 of the first handwriting 2510 .
  • a horizontal direction eg, a right magnetic point 2515
  • a second handwriting 2610 among the magnetic points 2450 of the first handwriting 2510 may represent an example in which the horizontal direction (eg, the left magnetic point 2615 is determined to be the closest in the Euclidean distance) among the magnetic points 2450.
  • the second handwriting 2610 is the first hand
  • the text 2510 may be line-aligned and appended to the right side of the text 2510 .
  • FIG. 28 may show a state in which non-letter-based new handwriting 2810 and 2820 (hereinafter, hereinafter, third handwriting 2810 and 2820) is input to the first handwriting 2510 .
  • third handwriting 2810 and 2820 may be inputted in the horizontal direction and vertical direction of the first handwriting 2510 , respectively.
  • the magnetic point of the first handwriting 2510 and the second 3 A magnetic point to be appended may be determined based on a distance between the magnetic points of the handwriting 2810 and 2820 .
  • the electronic device 101 determines whether the Euclidean distance between the magnetic point of the first handwriting 2510 and the magnetic point of the third handwriting 2810 and 2820 is the closest to the magnetic field.
  • One point may be determined for each handwriting 2510 , 2810 , and 2820 .
  • each of the second handwriting 2810 and 2820 is Euclidean in the horizontal direction or the vertical direction of the first handwriting 2510 based on the Euclidean distance.
  • Each may be appended to the nearest side in terms of distance.
  • 29, 30, and 31 are diagrams for explaining an operation example of line correction in an electronic device according to various embodiments of the present disclosure.
  • the user displays
  • the second handwriting 2950, 2960 is set to an arbitrary line of the first handwritten text 2910, 2920, 2930, 2940 (eg, the first handwritten text 2910, 2920, 2930, 2940). ) in relation to the handwriting 2910 of the first line and the handwriting 2930 of the third line).
  • the user inputs the second handwriting 2950 corresponding to the 'underline' in relation to the handwriting 2910 of the first line, and A second handwriting 2960 corresponding to an 'asterisk' may be input in association with the handwriting 2930 .
  • the user may input second handwriting 2950 and 2960 and perform a second action (eg, an alignment command).
  • the electronic device 101 may process a line correction (eg, performing a magnetic function) with respect to the second handwriting 2950 and 2960 in response to a second action (eg, an alignment command).
  • a line correction eg, performing a magnetic function
  • the electronic device 101 uses a corresponding hand among the first handwriting 2910 , 2920 , 2930 , and 2940 .
  • Line correction may be performed in association with the letters 2910 and 2930 .
  • the example screen ⁇ 2905> may indicate an example in which magnetic correction is applied according to the second action, and the second handwriting 2950 and 2960 are moved to the closest first handwriting 2910 and 2930, respectively. can be placed.
  • the electronic device 101 may perform handwriting alignment in a state of line correction as illustrated on the example screen ⁇ 2905>.
  • Examples of alignment results performed according to application or non-application of line correction are shown in FIGS. 30 and 31 .
  • line correction eg, magnetic function
  • line-by-line alignment may be simultaneously or selectively applied, and depending on whether line correction (eg, magnetic function) is applied A result such as the example of may be provided.
  • FIG. 30 may show an example of a result of line-by-line alignment according to the application of line correction.
  • the second handwriting 2950 and 2960 respectively correspond to the first handwriting 2910, 2920, It is appended to the corresponding lines of the 2930 and 2940 (eg, the first line 2910 and the third line 2930), and the target region of interest is designated by the second handwriting 2950 and 2960 of the second action.
  • the second handwriting 2950 and 2960 may be provided in a line-corrected state, aligned with the first line 2910 and the third line 2930 .
  • a case in which the second handwriting 2950 and 2960 is automatically associated (or included) with a corresponding line, arranged/arranged more neatly, and then arranged may be represented.
  • FIG. 31 may show an example of a result of line-by-line alignment according to not applying line correction.
  • line correction eg, magnetic function
  • the first line 2910 and the third line 2930 may be arranged and provided at a position where the second handwriting 2950 and 2960 are initially input without line correction.
  • the line correction function is omitted and alignment is shown.
  • 32 is a diagram for explaining an example of size correction in an electronic device according to various embodiments of the present disclosure.
  • FIG. 32 may show an example of providing size correction for handwriting for each action unit based on size-based equalization.
  • FIG. 32 may show an example of performing addition (eg, line correction) by changing the size of handwriting input as a recent action based on the size of handwriting existing in the existing action.
  • addition eg, line correction
  • the square box in FIG. 32 is shown for explanation, and may not be displayed on the actual screen.
  • the user may input the second handwriting 3220 after the first handwriting 3210 according to the previous action (eg, the first action).
  • the user may input a second handwriting 3220 and perform a second action (eg, an alignment command).
  • the electronic device 101 when the electronic device 101 detects a second action (eg, an alignment command), the first handwriting 3210 of the first action and the second handwriting 3220 of the second action By comparing the size, the size of the second handwriting 3220 can be corrected to a size corresponding to (or similar to) the size of the first handwriting 3210 (or an object of the related line of the first handwriting 3210).
  • the electronic device 101 may parallelly process line correction for the size-corrected second handwriting 3220 . An example of this is shown in the example screen ⁇ 3203>.
  • the second handwriting 3220 is changed to a size corresponding to the size of the first handwriting 3210, and the first handwriting 3210 and It may be provided by being moved to a nearby location.
  • size correction and line correction do not have a precedence relationship, and line correction after size correction, size correction after line correction, or size correction and line correction may be performed in parallel.
  • the third handwriting 3230 and the fourth handwriting 3240 may be illustrated to explain an additional example.
  • the fourth handwriting 3240 is It may be changed to a size corresponding to the size of the third handwriting 3230 and provided in line with the third handwriting 3210 . An example thereof will be described with reference to FIGS. 33 to 37 .
  • 33 and 34 are diagrams for explaining an example of size correction in an electronic device according to various embodiments of the present disclosure.
  • FIG. 33 may show an example before size correction is applied to the second handwriting 3320 and the fourth handwriting 3340
  • FIG. 34 shows the second handwriting 3320 and the second handwriting 3340.
  • size correction is applied corresponding to the first handwriting 3310 and the third handwriting 3330 may be shown, respectively.
  • correcting the size of the handwriting may include correcting the average height of the handwriting.
  • the size of the second handwriting 3320 may be changed (eg, see FIG. 34 ) similarly to the size of the first handwriting 3310 .
  • the size (eg, average height) of the fourth handwriting 3340 eg, refer to FIG. 33
  • the size (eg, average height) of the third handwriting 3330 eg: 34) can be used.
  • the electronic device 101 determines the size of the handwriting of the recent action (eg, the second handwriting 3320 or the fourth handwriting 3340) of the handwriting of the existing action (eg, the first handwriting). This may mean similarly changing the size of the letter 3310 or the third hand letter 3330). For example, the electronic device 101 may change the size of the newly input handwriting to correspond to the average size of the previously input handwriting. According to an embodiment, the electronic device 101 may change the size by using the center of gravity for each handwriting (eg, the center of gravity of DirtyRect).
  • the third handwriting 3330 is input in a previous action (eg, the third action), and the fourth handwriting 3340 is input in the recent action (eg, the fourth action). can be entered.
  • the fourth handwriting 3340 there may be a deviation in the center of gravity compared to the third handwriting 3330 .
  • the electronic device 101 displays the handwriting of the previous action (eg, the first handwriting 3310 or the third handwriting 3330) and the handwriting of the recent action (eg, the second handwriting (eg, the second handwriting) 3320) or the fourth handwriting 3340), if there is a deviation in the center of gravity, as illustrated in FIG. 34, the handwriting of the recent action (eg, the second handwriting 3320 or the fourth handwriting 3340) )) to match the center of gravity 3410 of the handwriting of the previous action (eg, the first handwriting 3310 or the third handwriting 3330), and equalize (or average) the size of the recent action You can adjust the size of your handwriting. An example thereof will be described with reference to FIGS. 35 to 37 .
  • 35, 36, and 37 are diagrams for explaining an operation example of size correction in an electronic device according to various embodiments of the present disclosure.
  • the user performs an example after the first handwriting (3510, 3520, 3530, 3540) according to the previous action (eg, at least one first action)
  • the second handwriting 3550, 3560 is set to an arbitrary line of the first handwritten letter 3510, 3520, 3530, 3540 (eg, the first handwritten letter 3510, 3520, 3530, 3540). ) of the handwriting 3510 of the first line and the handwriting 3530 of the third line) may be input in relation to each other.
  • the user inputs a second handwriting 3550 of a relatively large size in relation to the handwriting 3510 of the first line, and In relation to the handwriting 3530 , a second handwriting 3560 having a relatively small size may be input.
  • the user may input second handwriting 3550 and 3560 and perform a second action (eg, an alignment command).
  • the electronic device 101 may process size correction (eg, performing size-based equalization correction) on the second handwriting 3550 and 3560 in response to a second action (eg, an alignment command).
  • a second action eg, an alignment command
  • the electronic device 101 may simultaneously apply size-based equalization and line-by-line alignment.
  • examples of a result to which a size correction (eg, size-based equalization) is applied and an example of an alignment result performed according to the application of the size correction are shown in FIGS. 36 and 37 .
  • FIG. 36 shows that the electronic device 101 performs size correction (eg, size-based equalization correction) on second handwriting 3550 and 3560 in response to a second action (eg, an alignment command). Examples of results can be given.
  • size correction eg, size-based equalization correction
  • the electronic device 101 selects the corresponding handwriting 3510 and 3530 among the first handwriting 3510 , 3520 , 3530 and 3540 . It is possible to perform size correction in association.
  • FIG. 36 may show an example in which size-based equalization is applied according to the second action, so that the second handwriting 3550 and 3560 corresponds to the size of the handwriting 3510 and 3530 of the corresponding line, respectively.
  • the electronic device 101 adjusts the handwriting of the recent action based on the size of the handwriting of a line corresponding to the handwriting of the previous action, and adjusts the size of the handwriting of the recent action to the same size as the surrounding lines. can be provided.
  • FIG. 37 may show an example of a result of a spirit for each line according to the application of size correction.
  • the second Two handwritten characters 3550 and 3560 may be provided aligned with the first line 3510 and the third line 3530 in a size-corrected state.
  • the second handwriting 3550 and 3560 may be automatically adjusted to fit the size of the corresponding line and then aligned.
  • the operation method performed by the electronic device 101 includes an operation of displaying an execution screen of an application supporting a handwriting input, an operation of detecting a handwriting input through the execution screen, and the setting at least one ROI based on at least one object corresponding to handwriting, in response to a user action, identifying a target object based on the at least one ROI, and the It may include an operation of performing handwriting alignment based on the target object.
  • the setting of the region of interest may include classifying a handwriting for each action unit of the user and the at least one region of interest based on at least one handwriting related to a recent action. may include an operation of setting
  • the performing of the alignment may include aligning the target object related to a user intention based on at least one handwriting target object related to the recent action. .
  • the recognizing of the target object may include identifying a first object of the at least one ROI, and an operation associated with the first object among handwriting objects according to a previous action. identifying a second object, determining the first object and the second object as the target object, setting a target ROI including the first object and the second object, and the target ROI and aligning the first object and the second object together based on the .
  • the aligning may include correcting the first object to correspond to the second object.
  • the aligning may include an operation of determining whether to correct a line and/or a size of the first object based on the second object, and an operation of determining whether the first object
  • the method may include an operation of correcting at least one of a line and/or a size of an object, and an operation of aligning the first object and the second object in a state in which the correction of the first object is applied.
  • the method of operation performed by the electronic device 101 includes setting a first ROI based on at least one first object corresponding to a first handwriting input and the first At least one corresponding to an operation of mapping an object to a first action, an operation of aligning the first object mapped to the first action based on a first alignment trigger for the first action, and a second handwriting input setting a second region of interest based on a second object of , and mapping the second object to a second action
  • the method may include aligning the second object mapped to the second action while the object is maintained.
  • the first handwriting and the second handwriting are divided into action units according to the first action and the second action, and among the first objects of the first action, the At least a portion of the second action that intersects the second object may include being associated with the second object and being aligned with the second object.
  • the method of operation performed by the electronic device 101 includes identifying at least one third object associated with the second object, and assigning the second object to the third object. It may include an operation of correcting based on the information and an operation of aligning the corrected second object and the third object in association with each other.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 개시의 다양한 실시예들은 전자 장치에서 손 글씨 입력을 지원하는 방법 및 장치에 관하여 개시한다. 다양한 실시예들에 따른 전자 장치는, 디스플레이 모듈 및 프로세서를 포함하고, 상기 프로세서는, 손 글씨 입력을 지원하는 어플리케이션의 실행 화면을 표시하고, 상기 실행 화면을 통해 손 글씨 입력을 감지하고, 상기 손 글씨에 대응하는 적어도 하나의 객체에 기반하여 적어도 하나의 관심 영역을 설정하고, 사용자의 액션(action)에 응답하여, 상기 적어도 하나의 관심 영역을 기반으로 대상 객체를 식별하고, 및 상기 대상 객체에 기반하여 손 글씨 정렬을 수행할 수 있다. 다양한 실시예들이 가능하다.

Description

전자 장치에서 손 글씨 입력 제공 방법 및 장치
본 개시의 다양한 실시예들은 전자 장치에서 손 글씨 입력을 지원하는 방법 및 장치에 관하여 개시한다.
디지털 기술의 발달과 함께 이동통신 단말기, PDA(personal digital assistant), 전자수첩, 스마트 폰, 태블릿 PC(personal computer), 웨어러블 디바이스(wearable device)와 같은 다양한 유형의 전자 장치가 널리 사용되고 있다. 이러한, 전자 장치는 기능 지지 및 증대를 위해, 전자 장치의 하드웨어적인 부분 및/또는 소프트웨어적인 부분이 지속적으로 개량되고 있다.
일 예로, 전자 장치는 사용자가 노트나 펜이 없이도 언제 어디서든 필요한 메모를 할 수 있도록 하는 메모 기능을 제공하고 있다. 예를 들어, 사용자는 손이나 전자 펜을 이용하여 전자 장치의 디스플레이(예: 터치스크린)에 직접 필기할 수 있다. 전자 장치는 디스플레이에 터치(또는 접촉)하는 터치 궤적(또는 좌표)을 손 글씨로서 입력받을 수 있다. 사용자는 펜을 이용하여 노트에 필기하는 것과 같이 사용자의 손 또는 전자 펜을 이용하여 손 글씨를 입력함으로써, 아날로그 감성을 느끼면서 편리하게 메모를 작성할 수 있다.
최근 전자 장치에서는 단순히 손 글씨 입력을 지원하는 것뿐만 아니라, 사용자의 손 글씨 입력의 편의성을 위해, 입력된 손 글씨에 대한 정렬(alignment) 기능을 제공하고 있다. 예를 들어, 전자 장치는, 사용자 선택에 따라, 입력된 손 글씨의 기울기, 위치, 단락, 및/또는 줄 간격을 자동적으로 조정하여 손 글씨를 정렬하여 사용자에게 제공할 수 있다.
하지만, 종래에서는 사용자에 의해 입력된 손 글씨가 복수 존재하는 경우, 사용자가 일부 손 글씨(예: 최근 입력한 손 글씨)만을 정렬할 수 있는 기능을 지원하지 않고 있다. 예를 들면, 종래에서는 사용자가 이미 입력한 손 글씨와 새로 입력한 손 글씨의 구분 없이, 모든 손 글씨에 대하여 전체적인 정렬 기능만을 제공하고 있다.
다양한 실시예들에서는, 전자 장치에서 입력된 손 글씨를 사용자의 액션(action) 단위로 구분하여, 입력된 전체 손 글씨 중 사용자 의도에 따른 적어도 일부 손 글씨에 대하여 정렬할 수 있는 방법 및 장치에 관하여 개시한다.
다양한 실시예들에서는, 전자 장치에서 사용자에 의해 입력되는 손 글씨를 액션 단위로 구분하고, 최근 액션에 관련된 적어도 하나의 손 글씨의 대상 객체에 기반하여 사용자 의도에 따른 손 글씨 정렬을 지원할 수 있는 방법 및 장치에 관하여 개시한다.
다양한 실시예들에서는, 전자 장치에서 최근 액션에 관련된 손 글씨를 정렬할 때, 손 글씨의 대상 객체 및 객체와 연관된 주변 객체에 기반하여 대상 관심 영역을 설정하고, 대상 관심 영역을 통해 대상 객체 및 그와 연관된 주변 객체를 함께 정렬할 수 있는 방법 및 장치에 관하여 개시한다.
다양한 실시예들에서는, 최근 액션에 관련된 손 글씨의 대상 객체를 기반으로 주변 객체를 식별하고, 대상 객체를 주변 객체에 대응하도록 보정(예: 라인 보정 및/또는 크기 보정)할 수 있는 방법 및 장치에 관하여 개시한다.
본 개시의 실시예에 따른 전자 장치는, 디스플레이 모듈, 및 상기 디스플레이 모듈과 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 손 글씨 입력을 지원하는 어플리케이션의 실행 화면을 표시하고, 상기 실행 화면을 통해 손 글씨 입력을 감지하고, 상기 손 글씨에 대응하는 적어도 하나의 객체에 기반하여 적어도 하나의 관심 영역을 설정하고, 사용자의 액션(action)에 응답하여, 상기 적어도 하나의 관심 영역을 기반으로 대상 객체를 식별하고, 및 상기 대상 객체에 기반하여 손 글씨 정렬을 수행하도록 할 수 있다.
본 개시의 실시예에 따른 전자 장치는, 디스플레이 모듈, 및 상기 디스플레이 모듈과 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 제1 손 글씨 입력에 대응하는 적어도 하나의 제1 객체에 기반하여 제1 관심 영역을 설정 및 상기 제1 객체를 제1 액션에 매핑하고, 상기 제1 액션을 위한 제1 정렬 트리거에 기반하여, 상기 제1 액션에 매핑된 상기 제1 객체를 정렬하고, 제2 손 글씨 입력에 대응하는 적어도 하나의 제2 객체에 기반하여 제2 관심 영역을 설정 및 상기 제2 객체를 제2 액션에 매핑하고, 상기 제2 액션을 위한 제2 정렬 트리거에 기반하여, 제1 액션에 매핑된 상기 제1 객체는 유지하는 상태에서, 상기 제2 액션에 매핑된 상기 제2 객체를 정렬하도록 설정되고, 상기 제1 손 글씨 및 상기 제2 손 글씨는 상기 제1 액션과 상기 제2 액션에 따른 액션 단위로 구분되고, 상기 제1 액션의 상기 제1 객체 중 상기 제2 액션의 상기 제2 객체와 교차되는 적어도 일부는 상기 제2 객체와 연관되고, 상기 제2 객체와 함께 정렬되는 것을 포함할 수 있다.
본 개시의 실시예에 따른 전자 장치의 동작 방법은, 손 글씨 입력을 지원하는 어플리케이션의 실행 화면을 표시하는 동작, 상기 실행 화면을 통해 손 글씨 입력을 감지하는 동작, 상기 손 글씨에 대응하는 적어도 하나의 객체에 기반하여 적어도 하나의 관심 영역을 설정하는 동작, 사용자의 액션(action)에 응답하여, 상기 적어도 하나의 관심 영역을 기반으로 대상 객체를 식별하는 동작, 및 상기 대상 객체에 기반하여 손 글씨 정렬을 수행하는 동작을 포함할 수 있다.
상기와 같은 과제를 해결하기 위하여 본 개시의 다양한 실시예들에서는, 상기 방법을 프로세서에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체를 포함할 수 있다.
본 개시의 적용 가능성의 추가적인 범위는 이하의 상세한 설명으로부터 명백해질 것이다. 그러나 본 개시의 사상 및 범위 내에서 다양한 변경 및 수정은 당업자에게 명확하게 이해될 수 있으므로, 상세한 설명 및 본 개시의 바람직한 실시예와 같은 특정 실시예는 단지 예시로 주어진 것으로 이해되어야 한다.
다양한 실시예들에 따른 전자 장치 및 그의 동작 방법에 따르면, 손 글씨에 대해 액션 단위로 구분하여 손 글씨를 정렬함으로써, 사용자가 의도하는 손 글씨에 대해 중점적으로 정렬함으로써, 사용자의 사용성 및 편의성을 증대할 수 있다. 다양한 실시예들에 따르면, 전자 장치는 사용자에 의해 입력되는 손 글씨를 액션 단위로 구분하고, 최근 액션에 관련된 적어도 하나의 손 글씨의 대상 객체에 기반하여 사용자 의도에 따른 손 글씨에 대해서만 집중적으로 정렬할 수 있다.
다양한 실시예들에 따르면, 전자 장치는 최근 액션에 관련된 손 글씨의 대상 객체를, 대상 객체와 관련된 주변 객체에 대응하도록 보정한 후 정렬함으로써, 대상 객체 및 그와 연관된 주변 객체 간의 조화(또는 어울림 배치)를 통해, 손 글씨가 깨끗하게 정리되는 심미적 효과 및 손 글씨 내용에 대한 가독성을 향상시킬 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도면 설명과 관련하여, 동일 또는 유사한 구성 요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
도 1은 다양한 실시예들에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 다양한 실시예들에 따른 전자 장치의 구성을 개략적으로 도시하는 도면이다.
도 3은 다양한 실시예들에 따른 전자 장치의 동작을 도시하는 흐름도이다.
도 4는 다양한 실시예들에 따른 전자 장치의 동작을 도시하는 흐름도이다.
도 5a, 도 5b 및 도 6은 다양한 실시예들에 따른 전자 장치에서 액션 별 관심 영역을 설정하는 예를 설명하기 위한 도면들이다.
도 7은 다양한 실시예들에 따른 전자 장치의 동작을 도시하는 흐름도이다.
도 8은 다양한 실시예들에 따른 전자 장치에서 평균 델타를 구하는 예를 설명하기 위해 도시하는 도면이다.
도 9는 다양한 실시예들에 따른 전자 장치에서 손 글씨 별로 복수의 관심 영역을 설정하는 예를 설명하기 위해 도시하는 도면이다.
도 10은 다양한 실시예들에 따른 전자 장치의 동작을 도시하는 흐름도이다.
도 11 및 도 12는 다양한 실시예들에 따른 전자 장치에서 대상 관심 영역이 설정되는 예를 설명하기 위한 도면들이다.
도 13, 도 14, 도 15 및 도 16은 다양한 실시예들에 따른 전자 장치에서 이용 가능한 액션의 예를 설명하기 위한 도면들이다.
도 17, 도 18 및 도 19는 다양한 실시예들에 따른 전자 장치에서 액션 단위로 정렬 대상 객체를 구분하는 예를 설명하기 위한 도면들이다.
도 20은 다양한 실시예들에 따른 전자 장치에서 대상 관심 영역을 설정하는 예를 설명하기 위한 도면이다.
도 21 및 도 22는 다양한 실시예들에 따른 전자 장치에서 대상 관심 영역을 설정하는 예를 설명하기 위한 도면들이다.
도 23은 다양한 실시예들에 따른 전자 장치의 동작을 도시하는 흐름도이다.
도 24는 다양한 실시예들에 따른 전자 장치에서 라인 보정의 예를 설명하기 위한 도면이다.
도 25, 도 26, 도 27 및 도 28은 다양한 실시예들에 따른 전자 장치에서 라인 보정을 위한 동작 예를 설명하기 위한 도면들이다.
도 29, 도 30 및 도 31은 다양한 실시예들에 따른 전자 장치에서 라인 보정의 동작 예를 설명하기 위한 도면들이다.
도 32는 다양한 실시예들에 따른 전자 장치에서 크기 보정의 예를 설명하기 위한 도면이다.
도 33 및 도 34는 다양한 실시예들에 따른 전자 장치에서 크기 보정의 예를 설명하기 위한 도면들이다.
도 35, 도 36 및 도 37은 다양한 실시예들에 따른 전자 장치에서 크기 보정의 동작 예를 설명하기 위한 도면들이다.
도 1은 다양한 실시예들에 따른 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치(CPU, central processing unit) 또는 어플리케이션 프로세서(AP, application processor)) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치(GPU, graphic processing unit), 신경망 처리 장치(NPU, neural processing unit), 이미지 시그널 프로세서(ISP, image signal processor), 센서 허브 프로세서(sensor hub processor), 또는 커뮤니케이션 프로세서(CP, communication processor))를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(inactive)(예: 슬립(sleep)) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(OS, operating system)(142), 미들 웨어(middleware)(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD(secure digital) 카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN(wide area network))와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB, enhanced mobile broadband), 단말 전력 최소화와 다수 단말의 접속(mMTC, massive machine type communications), 또는 고신뢰도와 저지연(URLLC, ultra-reliable and low-latency communications)을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO, full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC, mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일 실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱(heuristic)하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
도 2는 다양한 실시예들에 따른 전자 장치의 구성을 개략적으로 도시하는 도면이다.
일 실시예에 따라, 도 2는 다양한 실시예들에 따른 전자 장치(101)에서 사용자의 필기 입력을 지원하는 것과 관련된 구성의 예를 나타낼 수 있다. 일 실시예에 따라, 도 2에 예시된 전자 장치(101)는 도 1을 참조한 설명 부분에서 설명한 바와 같은 전자 장치(101)의 구성 요소의 전부 또는 적어도 일부를 포함할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치(101)는 바형(bar type) 또는 평판형(plate type)의 외관을 가지고 있지만, 이에 한정되지 않는다. 예를 들어, 도시된 전자 장치(101)는 롤러블 전자 장치(rollable electronic device)나 폴더블 전자 장치(foldable electronic device)의 일부일 수 있다. 일 실시예에서, “롤러블 전자 장치”는 디스플레이(예: 도 1 또는 도 2의 디스플레이 모듈(160))의 굽힘 변형이 가능해, 적어도 일부분이 말아지거나(wound or rolled), 하우징(미도시)의 내부로 수납될 수 있는 전자 장치를 의미할 수 있다. 사용자의 필요에 따라, 롤러블 전자 장치는 디스플레이를 펼침으로써 또는 디스플레이의 더 넓은 면적을 외부로 노출시킴으로써 화면 표시 영역을 확장하여 사용할 수 있다. 일 실시예에서, “폴더블 전자 장치”는 디스플레이(예: 도 1 또는 도 2의 디스플레이 모듈(160))의 서로 다른 두 영역을 실질적으로 마주보게 또는 서로 반대 방향을 향하는(opposite to) 방향으로 접철 가능한 전자 장치를 의미할 수 있다. 일반적으로 휴대 상태에서 폴더블 전자 장치에서 디스플레이는 서로 다른 두 영역이 마주보는 상태로 또는 대향하는 방향으로 접철되고, 실제 사용 상태에서 사용자는 디스플레이(예: 도 1 또는 도 2의 디스플레이 모듈(160))를 펼쳐 서로 다른 두 영역이 실질적으로 평판 형태를 이루게 할 수 있다.
도 2를 참조하면, 전자 장치(101)는 프로세서(120), 디스플레이 모듈(160)), 및 메모리(130)를 포함할 수 있다. 일 실시예에 따라, 전자 장치(101)에 포함되는 구성 요소들은, 예를 들면, 하드웨어 모듈(예: 회로(circuitry))로 이해될 수 있다. 일 실시예에 따르면, 전자 장치(101)에 포함되는 구성 요소들은, 도 2에 도시된 구성 요소들(예: 프로세서(120), 디스플레이 모듈(160) 및/또는 메모리(130))에 제한되지 않을 수 있다. 예를 들면, 도 2에 도시된 전자 장치(101)의 구성 요소들은, 다른 구성 요소들로 대체되거나, 또는 추가적인 구성 요소들이 전자 장치(101)에 추가될 수 있다. 예를 들면, 전자 장치(101)는 센서 모듈(예: 도 1의 센서 모듈(176)), 카메라 모듈(예: 도 1의 카메라 모듈(180), 및/또는 통신 모듈(예: 도 1의 통신 모듈(190))와 같은 다른 구성 요소들을 포함할 수 있다.
일 실시예에 따라, 디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 일 실시예에 따라, 디스플레이 모듈(160)은 터치 회로(또는 터치 센서)(미도시) 또는 압력 센서를 포함할 수 있고, 터치 회로 또는 압력 센서에 기반하여 디스플레이 모듈(160)의 특정 위치에 대한 신호(예: 전압, 광량, 저항, 및/또는 전하량)의 변화를 측정함으로써 터치 입력 및/또는 호버링 입력(또는 근접 입력)을 감지할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 액정 표시 장치(LCD, liquid crystal display), OLED(organic light emitted diode), AMOLED(active matrix organic light emitted diode) 또는 플렉서블 디스플레이(flexible display)로 구성될 수 있다.
일 실시예에 따르면, 디스플레이 모듈(160)은 프로세서(120)의 제어 하에, 사용자가 손 글씨(handwriting)를 입력하는 것과 관련된 다양한 정보(예: 노트 레이아웃(note layout), 손 글씨 객체(예: 문자/글자(예: 텍스트(text)) 및/또는 비문자(예: 비텍스트(non-text)), 및/또는 관심 영역(area of interest) 객체)를 시각적으로 제공할 수 있다. 예를 들면, 디스플레이 모듈(160)은 어플리케이션(240)(예: 노트 어플리케이션, 메모 어플리케이션)의 실행 화면, 메모리(130)에 저장된 컨텐츠(250), 또는 어플리케이션(240)의 실행 화면 상에 사용자의 손 글씨 입력에 대응하는 문자/글자 또는 비문자를 표시할 수 있다. 일 실시예에 따라, 손 글씨는, 사용자가 어플리케이션(240)의 실행 화면 상에 손(예: 손가락) 또는 전자 펜(예: 스타일러스 펜)을 이용하여 쓰는 글씨를 나타낼 수 있다. 예를 들면, 손 글씨는 어떤 기계적인 과정을 거치지 않고, 손가락 또는 전자 펜의 직접적인 도구를 이용하여 손으로 쓴 글씨를 의미할 수 있다. 대부분의 손 글씨는 직감적인 표현으로 쓰이며, 개성 있고 창의적인 글자 표현이 가능하다.
일 실시예에 따라, 메모리(130)는 전자 장치(101)의 적어도 하나의 구성 요소(예: 프로세서(120))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 어플리케이션(240)(예: 도 1의 어플리케이션(146)) 및/또는 컨텐츠(250)를 포함할 수 있다. 일 실시예에서, 어플리케이션(240)은 사용자의 손 글씨 입력을 지원하는 어플리케이션을 포함할 수 있다. 예를 들면, 어플리케이션(240)은 노트 어플리케이션, 메모 어플리케이션, 문서 어플리케이션, 메시지 어플리케이션 및/또는 갤러리 어플리케이션과 같은 다양한 종류를 포함하며, 그 종류가 제한되지 않을 수 있다. 일 실시예에서, 컨텐츠(250)는 어플리케이션(240)을 이용하여 생성된 사용자의 컨텐츠(예: 사용자에 의해 작성된 메모 또는 노트)를 포함할 수 있다. 예를 들면, 컨텐츠는 어플리케이션(240)에 관련된 명령에 대한 입력 데이터 및/또는 출력 데이터를 포함할 수 있다. 일 실시예에 따라, 어플리케이션(240) 및/또는 컨텐츠(250)는 메모리(130) 상에 소프트웨어(예: 도 1의 프로그램(140))로서 저장될 수 있고, 프로세서(120)에 의해 실행 가능할 수 있다.
일 실시예에 따라, 프로세서(120)는 전자 장치(101)에서 어플리케이션(240)을 실행하고, 어플리케이션(240)에 의해 생성되는 컨텐츠(250)를 메모리(130)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 어플리케이션(240)의 실행 화면을 디스플레이 모듈(160)을 통해 표시하는 동안, 손 글씨에 관련된 사용자 입력(예: 손 글씨 입력)에 기반하여, 어플리케이션(240)의 실행 화면 상에서 대응하는 위치에 손 글씨를 표시할 수 있다. 일 실시예에 따르면, 프로세서(120)는 손 글씨를 표시하는 동안, 손 글씨의 정렬(alignment)을 위한 사용자 입력에 기반하여, 손 글씨를 정렬하여 표시할 수 있다. 일 실시예에 따르면, 프로세서(120)는 손 글씨를 정렬하는 것과 관련된 동작(예: 관심 영역(예: DirtyRect(dirty rectangle)) 생성 동작, 액션(action) 식별 동작, 액션에 대응하는 관심 영역의 대상 객체 식별 동작, 및/또는 대상 객체에 기반한 정렬 동작)을 처리할 수 있다.
일 실시예에 따르면, 프로세서(120)는 인식 모듈(210)(또는 인식 수단), 관심 영역 설정 모듈(220)(또는 관심 영역 설정 수단) 및/또는 정렬 모듈(230)(또는 정렬 수단)을 포함할 수 있다. 일 실시예에 따르면, 프로세서(120)에 의하여 수행될 수 있는 인식 모듈(210), 관심 영역 설정 모듈(220) 및/또는 정렬 모듈(230)의 기능은 메모리(130)에 인스트럭션(instructions)(또는 명령어) 형태로 구현되어 저장될 수 있다. 예를 들면, 프로세서(120)에 포함되는 구성 요소들(예: 인식 모듈(210), 관심 영역 설정 모듈(220) 및/또는 정렬 모듈(230))은, 예를 들면, 하드웨어 모듈(예: 회로(circuitry))로 이해될 수 있지만, 다양한 실시예들이 이에 한정되지 않는다. 예를 들어, 프로세서(120)에 포함되는 구성 요소들(예: 인식 모듈(210), 관심 영역 설정 모듈(220) 및/또는 정렬 모듈(230))은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
일 실시예에 따르면, 프로세서(120)에 포함되는 구성 요소들(예: 인식 모듈(210), 관심 영역 설정 모듈(220) 및/또는 정렬 모듈(230))은 프로세서(120)에 의해 읽을 수 있는 저장 매체(storage medium)(예: 메모리(130))에 저장된 하나 이상의 인스트럭션들을 포함하는 소프트웨어(예: 도 1의 프로그램(140))로서 구현될 수 있다. 일 실시예에 따르면, 인식 모듈(210), 관심 영역 설정 모듈(220) 및/또는 정렬 모듈(230)에서 수행하는 동작들은, 메모리(130)에 저장되고, 실행 시에, 프로세서(120)가 동작하도록 하는 인스트럭션들에 의해 실행될 수 있다.
일 실시예에 따라, 인식 모듈(210)은 사용자에 의해 입력되는 손 글씨에 대응하는 객체를 인식할 수 있다. 일 실시예에 따르면, 손 글씨를 위한 데이터는, 예를 들어, 물리적으로 스트로크들(strokes)로 이루어진 데이터를 나타내며, 스트로크들은 복수의 점들(points)의 조합으로 이루어진 데이터를 나타내며, 의미적으로는 문자/글자(예: text) 및/또는 비문자(예: non-text)로 구분될 수 있다. 일 실시예에 따르면, 인식 모듈(210)은 어플리케이션(240)의 실행 화면 상에서 사용자로부터 손 글씨 입력을 검출하고, 입력된 손 글씨(예: 손 글씨 데이터)를 하나의 객체로 인식할 수 있다. 일 실시예에 따른 인식 동작과 관련하여 후술하는 도면을 참조하여 상세히 설명된다.
일 실시예에 따라, 관심 영역 설정 모듈(220)은 인식 모듈(210)을 통해 인식된 객체에 기반하여 관심 영역을 설정할 수 있다. 일 실시예에 따라, 관심 영역(예: DirtyRect)은 인식된 객체의 최외곽 포인트를 이용하여 객체의 최외곽을 기반으로 가상적으로 설정되는 집합 사각형(예: DirtyRect)의 영역을 포함할 수 있다. 예를 들면, 관심 영역은 손 글씨를 구성하는 모든 점들 중 상(top), 하(bottom), 좌(left), 우(right)에서 최외곽 포인트를 사각형으로 연결하여 설정할 수 있다. 일 실시예에 따르면, 관심 영역 설정 모듈(220)은 사용자에 의해 수행된 액션(action) 별로 관심 영역을 구분할 수 있고, 각 액션 별로 하나 또는 그 이상의 관심 영역을 구분할 수 있다. 일 실시예에 따른 관심 영역 설정 동작과 관련하여 후술하는 도면을 참조하여 상세히 설명된다.
일 실시예에 따라, 정렬 모듈(230)은 관심 영역을 기준으로 정렬을 수행할 수 있다. 일 실시예에 따르면, 정렬 모듈(230)은 최근 액션과 연관된 적어도 하나의 관심 영역에 대해 정렬을 수행할 수 있다. 예를 들어, 정렬 모듈(230)은 최근 액션을 기준으로 정렬 대상의 관심 영역을 식별하고, 식별된 관심 영역의 객체에 대해 지정된 정렬 방식으로 정렬을 수행할 수 있다. 어떤 실시예에 따르면, 정렬 모듈(230)은 식별된 관심 영역의 객체 및 그에 연관된 다른 관심 영역의 객체(예: 특정 라인(line)의 객체)를 서로 연관지어 지정된 정렬 방식으로 정렬을 수행할 수 있다.
일 실시예에 따라, 정렬 모듈(230)은, 예를 들어, 손 글씨의 기울기 보정(예: deskew), 라인(line) 별 손 글씨 위치 맞춤(예: indentation), 손 글씨 줄 간격 맞춤(예: line spacing), 글자 크기(예: 높이) 정규화, 및/또는 비문자(예: 밑줄, 도형, 스케치, 및/또는 그림)에 대한 어울림 배치와 같은 다양한 정렬을 수행할 수 있다. 일 실시예에 따른 정렬 동작과 관련하여 후술하는 도면을 참조하여 상세히 설명된다.
본 개시의 다양한 실시예들에 따른 전자 장치(101)는, 디스플레이 모듈(160), 및 상기 디스플레이 모듈(160)과 작동적으로 연결된 프로세서(120)를 포함하고, 상기 프로세서(120)는, 손 글씨 입력을 지원하는 어플리케이션의 실행 화면을 표시하고, 상기 실행 화면을 통해 손 글씨 입력을 감지하고, 상기 손 글씨에 대응하는 적어도 하나의 객체에 기반하여 적어도 하나의 관심 영역을 설정하고, 사용자의 액션(action)에 응답하여, 상기 적어도 하나의 관심 영역을 기반으로 대상 객체를 식별하고, 및 상기 대상 객체에 기반하여 손 글씨 정렬을 수행할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 프로세서(120)는, 상기 사용자의 액션 단위로 손 글씨를 구분하고, 최근 액션에 관련된 적어도 하나의 손 글씨에 기반하여 상기 적어도 하나의 관심 영역을 설정할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 프로세서(120)는, 상기 최근 액션에 관련된 적어도 하나의 손 글씨의 대상 객체에 기반하여, 사용자 의도에 관련된 대상 객체를 정렬할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 프로세서(120)는, 상기 적어도 하나의 관심 영역의 제1 객체를 식별하고, 이전 액션에 따른 손 글씨의 객체들 중 상기 제1 객체와 연관된 제2 객체를 식별하고, 상기 제1 객체와 상기 제2 객체를 상기 대상 객체로 결정할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 프로세서(120)는, 상기 적어도 하나의 관심 영역의 제1 객체 및 상기 제1 객체와 연관된 주변의 상기 제2 객체를 포함하는 대상 관심 영역을 설정하고, 상기 대상 관심 영역에 기반하여 상기 제1 객체와 상기 제2 객체를 함께 정렬할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 프로세서(120)는, 상기 제1 객체를 상기 제2 객체에 대응하게 보정할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 프로세서(120)는, 상기 제2 객체에 기반하여 상기 제1 객체의 라인 보정 및/또는 크기 보정 여부를 결정하고, 결정하는 결과에 기반하여 상기 제1 객체의 라인 및/또는 크기 중 적어도 하나를 보정할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 프로세서(120)는, 상기 제1 객체를 상기 제2 객체에 대응하도록 보정하고, 상기 제1 객체의 보정이 적용된 상태에서, 상기 제1 객체와 상기 제2 객체를 정렬할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 프로세서(120)는, 제1 손 글씨 입력에 대응하는 적어도 하나의 제1 객체에 기반하여 제1 액션에 관련된 제1 관심 영역을 설정하고, 상기 제1 액션을 위한 제1 정렬 트리거에 기반하여, 상기 제1 액션에 관련된 상기 제1 객체에 대한 정렬을 수행하고, 제2 손 글씨 입력에 대응하는 적어도 하나의 제2 객체에 기반하여 제2 액션에 관련된 제2 관심 영역을 설정하고, 상기 제2 액션을 위한 제2 정렬 트리거에 기반하여, 상기 제1 객체의 적어도 일부는 유지하는 상태에서, 상기 제2 액션에 관련된 상기 제2 객체에 대한 정렬을 수행할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 프로세서(120)는, 상기 제1 객체 중 상기 제2 객체에 연관된 적어도 하나의 제3 객체를 식별하고, 상기 제2 객체를 상기 제3 객체에 기반하여 보정하고, 상기 보정된 제2 객체와 상기 제3 객체를 연관지어 정렬을 수행할 수 있다.
본 개시의 다양한 실시예들에 따른 전자 장치(101)는, 디스플레이 모듈(160), 및 상기 디스플레이 모듈(160)과 작동적으로 연결된 프로세서(120)를 포함하고, 상기 프로세서(120)는, 제1 손 글씨 입력에 대응하는 적어도 하나의 제1 객체에 기반하여 제1 관심 영역을 설정 및 상기 제1 객체를 제1 액션에 매핑하고, 상기 제1 액션을 위한 제1 정렬 트리거에 기반하여, 상기 제1 액션에 매핑된 상기 제1 객체를 정렬하고, 제2 손 글씨 입력에 대응하는 적어도 하나의 제2 객체에 기반하여 제2 관심 영역을 설정 및 상기 제2 객체를 제2 액션에 매핑하고, 상기 제2 액션을 위한 제2 정렬 트리거에 기반하여, 제1 액션에 매핑된 상기 제1 객체는 유지하는 상태에서, 상기 제2 액션에 매핑된 상기 제2 객체를 정렬하도록 설정되고, 상기 제1 손 글씨 및 상기 제2 손 글씨는 상기 제1 액션과 상기 제2 액션에 따른 액션 단위로 구분되고, 상기 제1 액션의 상기 제1 객체 중 상기 제2 액션의 상기 제2 객체와 교차되는 적어도 일부는 상기 제2 객체와 연관되고, 상기 제2 객체와 함께 정렬되는 것을 포함할 수 있다.
이하에서는 다양한 실시예들의 전자 장치(101)의 동작 방법에 대해서 상세하게 설명한다. 다양한 실시예들에 따라, 이하에서 설명하는 전자 장치(101)에서 수행하는 동작들은, 전자 장치(101)의 적어도 하나의 프로세싱 회로(processing circuitry)를 포함하는 프로세서(120)에 의해 실행될 수 있다. 일 실시예에 따라, 전자 장치(101)에서 수행하는 동작들은, 메모리(130)에 저장되고, 실행 시에, 프로세서(120)가 동작하도록 하는 인스트럭션들(instructions)에 의해 실행될 수 있다.
도 3은 다양한 실시예들에 따른 전자 장치의 동작을 도시하는 흐름도이다.
도 3을 참조하면, 동작 301에서, 전자 장치(101)의 프로세서(120)는 어플리케이션의 실행 화면을 표시할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자 입력에 기반하여 손 글씨 입력이 가능한(또는 지원하는) 어플리케이션(예: 노트 어플리케이션, 메모 어플리케이션)을 실행할 수 있다. 일 실시예에 따라, 프로세서(120)는 어플리케이션의 실행에 기반하여 손 글씨를 입력하는 것과 관련된 다양한 정보(또는 객체)(예: 노트 레이아웃)를 포함하는 어플리케이션의 실행 화면을 표시하도록 디스플레이 모듈(160)을 제어할 수 있다.
동작 303에서, 프로세서(120)는 디스플레이 모듈(160)을 통해 손 글씨 입력을 감지할 수 있다. 일 실시예에 따르면, 프로세서(120)는 실행 화면을 표시하는 동안, 사용자로부터 손 글씨 입력을 수신할 수 있고, 입력되는 손 글씨를 실행 화면 상에 표시할 수 있다.
동작 305에서, 프로세서(120)는 관심 영역을 설정할 수 있다. 일 실시예에 따르면, 프로세서(120)는 손 글씨에 대응하는 적어도 하나의 객체에 기반하여 적어도 하나의 관심 영역을 설정할 수 있다. 일 실시예에 따르면, 프로세서(120)는 실행 화면 상에서 사용자로부터 손 글씨 입력을 검출하고, 입력된 손 글씨(예: 손 글씨 데이터)를 하나의 객체로 인식할 수 있다. 일 실시예에 따르면, 프로세서(120)는 인식된 객체에 기반하여 관심 영역을 설정할 수 있다.
일 실시예에 따르면, 프로세서(120)는 인식된 객체의 최외곽 포인트를 이용하여, 객체의 최외곽을 기반으로 가상적으로 설정되는 집합 사각형(예: DirtyRect)의 영역을 설정할 수 있다. 예를 들면, 프로세서(120)는 손 글씨를 구성하는 모든 점들 중 상(top), 하(bottom), 좌(left), 우(right)에서 최외곽 포인트를 사각형으로 연결하여 관심 영역을 설정할 수 있다. 일 실시예에 따른 관심 영역 설정 동작과 관련하여 후술하는 도면을 참조하여 상세히 설명된다.
동작 307에서, 프로세서(120)는 정렬 트리거를 감지할 수 있다. 일 실시예에 따르면, 프로세서(120)는 어플리케이션의 실행 화면(또는 노트 레이아웃)의 지정된 영역에 제공되는 손 글씨 정렬을 실행하도록 지정된 객체(예: 정렬 객체)에 기반하여 사용자 입력을 감지할 수 있다.
동작 309에서, 프로세서(120)는 정렬 트리거 감지에 기반하여 액션을 식별(또는 구분)할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자에 의해 마지막으로 수행된 액션(또는 최근 액션)을 식별할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자에 의해 입력된 손 글씨에 대응하는 적어도 하나의 객체 기반의 관심 영역을 액션 단위로 구분할 수 있다. 예를 들면, 제1 액션에 제1 손 글씨 입력의 제1 객체에 기반한 제1 관심 영역이 설정되고, 제2 액션에 제2 손 글씨 입력의 제2 객체에 기반한 제2 관심 영역이 설정되고, 제3 액션에 제3 손 글씨 입력의 제3 객체에 기반한 제3 관심 영역이 설정될 수 있다.
일 실시예에 따라, 프로세서(120)는 제1 손 글씨 입력 후 제1 액션이 수행되는 경우, 제1 손 글씨 입력의 제1 관심 영역을 제1 액션(또는 제1 액션 그룹)에 매핑할 수 있다. 예를 들면, 제1 액션이 최근 액션에 대응할 수 있다. 일 실시예에 따라, 프로세서(120)는 제1 액션 이후에 제2 손 글씨가 입력되고 제2 액션이 수행되는 경우, 제2 손 글씨 입력의 제2 관심 영역을 제2 액션(또는 제2 액션 그룹)에 매핑할 수 있다. 예를 들면, 제2 액션이 최근 액션에 대응할 수 있다.
동작 311에서, 프로세서(120)는 액션에 기반하여 적어도 하나의 대상 관심 영역을 식별할 수 있다. 일 실시예에 따르면, 프로세서(120)는 최근 액션에 대응하는 관심 영역, 예를 들어, 이전 액션 이후와 최근 액션 사이에 입력된 손 글씨의 객체에 기반하여 설정된 관심 영역을 식별할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자에 의해 입력된 손 글씨에 대응하는 적어도 하나의 객체 기반의 관심 영역에 대하여, 사용자의 액션을 기반으로 정렬을 위한 대상 관심 영역을 결정할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자에 의해 수행되는 액션을 구분할 수 있고, 액션 별로 손 글씨에 대응하는 적어도 하나의 관심 영역을 매핑(또는 그룹화)할 수 있다.
동작 313에서, 프로세서(120)는 대상 관심 영역에 기반하여 대상 객체를 인식할 수 있다. 일 실시예에 따라, 액션 별로 구분되는 관심 영역 각각은 구분되는 액션 단위로 입력된 손 글씨에 대응하는 적어도 하나의 객체로 이루어질 수 있다. 일 실시예에 따르면, 프로세서(120)는 최근 액션에 대응하는 관심 영역을 이루는 적어도 하나의 객체를 정렬을 위한 대상 객체로 인식할 수 있다. 어떤 실시예에 따르면, 대상 객체는 관심 영역의 객체와 연관된 다른 관심 영역의 객체 중 적어도 일부 객체를 포함할 수 있다.
일 실시예에 따르면, 프로세서(120)는 식별된 관심 영역의 객체 및 그에 연관된 다른 관심 영역의 객체(예: 특정 라인(line)의 객체)를 서로 연관지어 대상 객체로 결정할 수 있다. 예를 들면, 프로세서(120)는 제1 관심 영역의 제1 객체 중 제2 관심 영역의 제2 객체에 연관된 적어도 하나의 제3 객체(라인)를 식별하고, 제2 객체와 제3 객체를 연관지어 대상 객체로 결정할 수 있다. 일 실시예에 따라 대상 객체를 결정하는 동작과 관련하여 후술하는 도면을 참조하여 상세히 설명된다.
동작 315에서, 프로세서(120)는 대상 객체에 기반하여 정렬을 수행할 수 있다. 일 실시예에 따르면, 프로세서(120)는 대상 객체에 대해 지정된 정렬 방식으로 정렬을 수행할 수 있다. 예를 들면, 프로세서(120)는 손 글씨에 대응하는 복수의 객체들 중 액션에 기반하여 대상 객체를 지정하고, 지정된 대상 객체에 대해서 정렬을 수행할 수 있다. 일 실시예에 따르면, 프로세서(120)는 대상 객체에 기반하여, 손 글씨의 기울기 보정(예: deskew), 라인(line) 별 손 글씨 위치 맞춤(예: indentation), 손 글씨 줄 간격 맞춤(예: line spacing), 글자 크기(예: 높이) 정규화, 및/또는 비문자(예: 밑줄, 도형, 스케치, 및/또는 그림)에 대한 어울림 배치와 같은 다양한 정렬을 수행할 수 있다. 일 실시예에 따른 정렬 동작과 관련하여 후술하는 도면을 참조하여 상세히 설명된다.
동작 317에서, 프로세서(120)는 정렬 수행에 따른 결과를 표시할 수 있다. 일 실시예에 따르면, 프로세서(120)는 대상 객체를 지정하여 수행된 손 글씨 정렬 결과를 실행 화면 상에 표시하도록 디스플레이 모듈(160)을 제어할 수 있다.
도 4는 다양한 실시예들에 따른 전자 장치의 동작을 도시하는 흐름도이다.
도 4를 참조하면, 동작 401에서, 전자 장치(101)의 프로세서(120)는 디스플레이 모듈(160)을 통해 손 글씨 입력을 감지할 수 있다. 일 실시예에 따르면, 프로세서(120)는 실행 화면을 표시하는 동안, 사용자로부터 손 글씨 입력을 수신할 수 있고, 입력되는 손 글씨를 실행 화면 상에 표시할 수 있다.
동작 403에서, 프로세서(120)는 손 글씨 입력 이후에, 사용자에 의한 트리거(trigger)(또는 사용자 입력)를 감지할 수 있다. 일 실시예에 따라, 트리거(또는 사용자 입력)는 정렬 수행과 관련된 제1 트리거(예: 정렬 트리거), 기능 수행과 관련된 제2 트리거(예: 기능 트리거) 및/또는 손 글씨 입력 종료와 관련된 제3 트리거(예: 종료 트리거)와 같은 다양한 트리거를 포함하며, 그 종류가 제한되지 않을 수 있다. 일 실시예에 따라, 제1 트리거, 제2 트리거, 및/또는 제3 트리거는 사용자에 의해 수행되는 각각의 액션일 수 있다.
동작 405에서, 프로세서(120)는 트리거 감지에 기반하여, 트리거의 종류를 식별할 수 있다. 일 실시예에 따르면, 프로세서(120)는 손 글씨 입력 이후에, 어플리케이션의 실행 화면(또는 노트 레이아웃) 상에서 사용자 입력에 대응하는 객체에 기반하여 트리거의 종류를 식별할 수 있다. 일 실시예에 따라, 프로세서(120)는 실행 화면(또는 노트 레이아웃)에서 손 글씨 정렬을 실행하도록 지정된 제1 객체(예: 정렬 객체)가 선택(예: 터치)되는 경우 트리거를 제1 트리거(예: 정렬 트리거)로 식별할 수 있다. 다른 실시예에 따라, 프로세서(120)는 실행 화면에서 손 글씨에 관련된 다른 기능(또는 옵션)(예: 정렬 기능 이외의 다른 기능)을 실행하도록 지정된 제2 객체(예: 지우개 객체, 클립 객체, 텍스트 변환 객체, 저장 객체, 및/또는 화면 전환 객체)가 선택(예: 터치)되는 경우 트리거를 제2 트리거(예: 기능 트리거)로 식별할 수 있다.
일 실시예에서, 손 글씨에 관련된 정렬 기능 이외의 다른 기능(또는 옵션)은, 예를 들어, 손 글씨의 적어도 일부를 지우기 위한 지우개 기능, 손 글씨의 클립핑(clipping)을 위한 클립 기능, 손 글씨를 텍스트로 변환하기 위한 변환 기능, 손 글씨의 색상을 변경하기 위한 색 선택 기능, 및/또는 손 글씨의 저장을 위한 저장 기능과 다양한 종류를 포함하며, 그 종류가 제한되지 않을 수 있다.
동작 405에서, 프로세서(120)는 트리거가 제1 트리거인 것을 판단하면(예: 동작 405의 ‘제1 트리거’), 동작 407에서, 액션에 대응하는 손 글씨 객체에 기반하여 정렬을 수행할 수 있다. 이후, 프로세서(120)는 동작 401과 같이 사용자에 의해 새로운 손 글씨가 입력된 후 제1 트리거 또는 제2 트리거에 대응하여, 새로운 손 글씨 객체에 대해 정렬 또는 유지하는 동작을 수행할 수 있다.
동작 405에서, 프로세서(120)는 트리거가 제2 트리거인 것을 판단하면(예: 동작 405의 ‘제2 트리거’), 동작 409에서, 손 글씨 객체의 유지(또는 고정)를 결정할 수 있다. 일 실시예에 따르면, 프로세서(120)는 손 글씨 입력 후 제2 트리거가 감지되는 경우, 액션이 전환되는 것으로 식별할 수 있고, 액션 전환까지 입력된 손 글씨 객체(예: 이전 액션과 최근 액션(예: 제2 트리거에 따른 액션) 사이에 입력된 손 글씨 객체)는 정렬 대상에서 제외하고, 사용자에 의해 입력된 형태를 유지할 수 있다. 이후, 프로세서(120)는 동작 401과 같이 사용자에 의해 새로운 손 글씨가 입력된 후 정렬이 수행되는 경우, 유지(또는 고정) 결정된 손 글씨 객체는 정렬 대상에서 제외(예: 현재 형태 유지)하고, 새로운 손 글씨 객체만을 지정하여 정렬을 수행할 수 있다.
도 5a, 도 5b 및 도 6은 다양한 실시예들에 따른 전자 장치에서 액션 별 관심 영역을 설정하는 예를 설명하기 위한 도면들이다.
도 5a, 도 5b 및 도 6을 참조하면, 사용자는 어플리케이션의 실행 화면에서 손 글씨 및 액션 수행을 반복 입력할 수 있다.
도 5a에 예시한 바와 같이, 사용자는 제1 손 글씨(515)를 입력할 수 있다. 일 실시예에 따라, 전자 장치(101)는 제1 손 글씨(515)에 대응하는 객체에 기반하여 제1 관심 영역(510)을 설정할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제1 손 글씨(515)에 대응하는 적어도 하나의 객체(예: strokes)에 기반하여 제1 관심 영역(510)을 설정할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제1 손 글씨(515)에 대응하는 적어도 하나의 객체의 최외곽 포인트를 이용하여, 객체의 최외곽을 기반으로 가상적으로 설정되는 집합 사각형(예: DirtyRect)의 영역을 제1 관심 영역(510)으로 설정할 수 있다. 예를 들면, 프로세서(120)는 제1 손 글씨(515)를 구성하는 모든 점들 중 상(top), 하(bottom), 좌(left), 우(right)에서 최외곽 포인트를 사각형으로 연결하여 관심 영역을 설정할 수 있다.
일 실시예에 따라, 전자 장치(101)는 제1 손 글씨(515) 입력 후 제1 액션이 수행되는 경우, 제1 손 글씨(515)의 제1 관심 영역(510)을 제1 액션(또는 제1 액션 그룹)에 매핑할 수 있다. 예를 들면, 전자 장치(101)는 제1 액션에 제1 손 글씨(515)의 제1 관심 영역(510)을 매핑할 수 있다.
도 5b에 예시한 바와 같이, 사용자는 제1 손 글씨(515)를 입력하고 제1 액션을 수행한 이후에, 제2 손 글씨(525)를 입력할 수 있다. 일 실시예에 따라, 전자 장치(101)는 제2 손 글씨(525)에 대응하는 객체에 기반하여 제2 관심 영역(520)을 설정할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제2 손 글씨(525)에 대응하는 적어도 하나의 객체(예: strokes)에 기반하여 제2 관심 영역(520)을 설정할 수 있다.
일 실시예에 따라, 전자 장치(101)는 제1 액션 이후에 제2 손 글씨(525)가 입력되고, 제2 액션이 수행되는 경우, 제2 손 글씨(525)의 제2 관심 영역(520)을 제2 액션(또는 제2 액션 그룹)에 매핑할 수 있다. 예를 들면, 전자 장치(101)는 제2 액션에 제2 손 글씨(525)의 제2 관심 영역(520)을 매핑할 수 있다.
도 6에 예시한 바와 같이, 사용자는 도 5a 및 도 5b를 참조한 설명 부분에서 설명한 바에 대응하게, 제3 손 글씨(615)를 입력하고, 제3 액션을 수행한 이후에 제4 손 글씨(625)를 입력할 수 있다. 일 실시예에 따라, 전자 장치(101)는 제3 손 글씨(615)에 대응하는 객체에 기반하여 제3 관심 영역(610)을 설정할 수 있고, 제4 손 글씨(625)에 대응하는 객체에 기반하여 제4 관심 영역(620)을 설정할 수 있다.
일 실시예에 따르면, 사용자는 손 글씨로서 문자/글자(예: text)(예: 제1 손 글씨(515), 제2 손 글씨(525), 제3 손 글씨(615)) 및/또는 비문자(예: non-text)(예: 제4 손 글씨(625))를 모두 이용할 수 있다.
도 5a, 도 5b 및 도 6에 예시한 바와 같이, 다양한 실시예들에 따르면, 전자 장치(101)는 이전 액션(예: 제1 액션 또는 제3 액션)에 대응하는 관심 영역(예: 제1 관심 영역(510) 또는 제3 관심 영역(610))의 제1 객체와 최근 액션(예: 제2 액션 또는 제4 액션)에 대응하는 관심 영역(예: 제2 관심 영역(520) 또는 제4 관심 영역(620))의 제2 객체가 함께 존재하는 상태에서, 정렬 수행 시, 최근 액션에 대응하는 제2 객체 및 제2 객체에 관련된 라인(예: 도 6의 제3 손 글씨(615)의 3 번째, 4 번째 라인)의 객체를 기준으로 정렬을 수행할 수 있다.
도 5a, 도 5b 및 도 6에 예시한 바와 같이, 다양한 실시예들에 따르면, 전자 장치(101)는 어플리케이션의 실행 화면을 통해 입력되는 손 글씨에 대응하는 적어도 하나의 객체에 기반하여 적어도 하나의 관심 영역 설정할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 적어도 하나의 관심 영역 중 대상 관심 영역(예: 최근 액션에 대응하는 관심 영역)에 기반하여 대상 객체(예: 신규 객체 및 신규 객체와 연관된 라인의 객체) 인식하고, 액션 구분에 의한 대상 객체만을 지정하여 손 글씨 정렬을 수행할 수 있다.
예를 들면, 전자 장치(101)는 제1 손 글씨 입력에 대응하는 제1 관심 영역을 설정하고, 제1 정렬 트리거에 기반하여, 제1 관심 영역 기반으로 대상 객체를 지정하여 정렬을 수행할 수 있다. 다른 예를 들면, 전자 장치(101)는 제2 손 글씨 입력에 대응하는 제2 관심 영역을 설정하고, 제2 정렬 트리거에 기반하여, 제2 관심 영역 기반으로 대상 객체를 지정하여 정렬을 수행할 수 있다.
도 7은 다양한 실시예들에 따른 전자 장치의 동작을 도시하는 흐름도이다. 도 8은 다양한 실시예들에 따른 전자 장치에서 평균 델타를 구하는 예를 설명하기 위해 도시하는 도면이다. 도 9는 다양한 실시예들에 따른 전자 장치에서 손 글씨 별로 복수의 관심 영역을 설정하는 예를 설명하기 위해 도시하는 도면이다.
일 실시예에 따라, 도 7, 도 8 및 도 9에서는, 전자 장치(101)에서 손 글씨에 대하여 블록(block) 구분을 통해 복수의 관심 영역을 설정하는 동작 예를 나타낼 수 있다. 예를 들면, 전자 장치(101)는 입력된 손 글씨에 대응하여 복수의 DirtyRect가 존재하는 경우, 기존 액션의 DirtyRect 내의 스트로크와 최근 액션의 DirtyRect 내의 스트로크를 분석하여 각각 블록화 하여 구분할 수 있으며, 도 7, 도 8 및 도 9에서는, 블록을 구성하는 예를 나타낼 수 있다.
도 7을 참조하면, 동작 701에서, 전자 장치(101)의 프로세서(120)는 스트로크(예: 손 글씨 데이터)의 평균 델타(average delta)를 도출할 수 있다. 일 실시예에 따르면, 손 글씨를 위한 데이터는, 예를 들어, 적어도 하나의 스트로크(stroke)로 이루어진 데이터를 나타내며, 스트로크는 복수의 점들(points)의 조합으로 이루어진 데이터를 나타내며, 문자/글자(예: text) 및/또는 비문자(예: non-text)로 구분될 수 있다. 일 실시예에 따르면, 프로세서(120)는 입력된 손 글씨의 스트로크를 분석하여 평균 델타를 산출할 수 있다. 이에 예가 도 8에 도시된다.
도 8을 참조하면, 프로세서(120)는 입력된 손 글씨(810)의 각 스트로크를 분석하고, 각 스트로크를 구성하는 복수의 점들(820)(예: 한글의 경우 스트로크 당 약 10 ~ 100 개) 간의 거리(830)(예: 스트로크(820)의 첫 번째 점들 간의 거리(820))를 기준으로 델타를 산출할 수 있다. 어떤 실시예에 따르면, 프로세서(120)는 손 글씨의 라인 분리를 고려하여, 가로(예: X 좌표) 및/또는 세로(예: Y 좌표) 변화에 대하여 가중치(예: 민감도)를 추가하여 델타를 산출할 수 있다. 일 실시예에 따르면, 프로세서(120)는 각 점들 간의 거리(830)를 기준으로 산출된 각각의 델타의 평균을 계산하여 평균 델타를 산출할 수 있다. 일 실시예에 따라, 평균 델타는 이후 동작에서 블록을 구분하는 데 이용될 수 있다.
동작 703에서, 프로세서(120)는 도출된 평균 델타를 기준으로 손 글씨에 대한 블록(예: DirtyRect)을 도출할 수 있다.
동작 705에서, 프로세서(120)는 스트로크(예: i 번째 스트로크, i = 1)를 분석할 수 있다. 예를 들면, 프로세서(120)는 손 글씨의 스트로크 중 i 번째(예: 첫 번째, i = 1) 스트로크를 시작으로, 각 스트로크 간의 거리와 평균 델타를 비교할 수 있다.
동작 707에서, 프로세서(120)는 대응하는 스트로크가 평균 델타를 초과하는지 여부를 판단할 수 있다. 예를 들면, 프로세서(120)는 스트로크 간의 거리가 평균 델타 이상의 차이를 가지는지 판단할 수 있다.
동작 707에서, 프로세서(120)는 스트로크 간의 거리가 평균 델타를 초과하지 않는 경우(예: 동작 707의 ‘아니오’), 동작 709에서, 스트로크 i를 증가(예: i++)할 수 있다. 예를 들면, 프로세서(120)는 다음(next) 스트로크에 대한 분석을 수행할 수 있다. 예를 들면, 프로세서(120)는 동작 705로 진행하여 두 번째(예: i = 2) 스트로크에 대한 분석을 수행할 수 있다.
동작 707에서, 프로세서(120)는 스트로크 간의 거리가 평균 델타를 초과하는 경우(예: 동작 707의 ‘예’), 동작 711에서, 블록을 설정할 수 있다. 일 실시예에 따르면, 프로세서(120)는 스트로크 간의 거리가 평균 델타를 초과하는 경우, 해당 스트로크까지 블록을 설정하고, 다음 스트로크에 대해 새로운 블록을 설정할 수 있다.
동작 713에서, 프로세서(120)는 분석된 스트로크가 마지막 스트로크에 대응하는지 여부를 판단할 수 있다. 일 실시예에 따르면, 프로세서(120)는 손 글씨에 대응하는 모든 스트로크에 대해 분석이 수행되었는지 여부를 판단할 수 있다.
동작 713에서, 프로세서(120)는 분석된 스트로크가 마지막 스트로크가 아닌 경우(예: 동작 713의 ‘아니오’), 동작 709에서, 스트로크 i를 증가(i++)할 수 있다. 예를 들면, 프로세서(120)는 다음(next) 스트로크에 대한 분석을 수행할 수 있다. 예를 들면, 프로세서(120)는 동작 705로 진행하여 두 번째(예: i = 2) 스트로크에 대한 분석을 수행할 수 있다.
동작 713에서, 프로세서(120)는 분석된 스트로크가 마지막 스트로크인 경우(예: 동작 713의 ‘예’), 동작 715에서, 설정된 블록에 기반하여 적어도 하나의 DirtyRect를 설정할 수 있다. 예를 들면, 프로세서(120)는 손 글씨에 기반하여 3개의 블록을 설정하는 경우, 예를 들면, 3개의 블록이 평균 델타 이상의 거리를 가지는 경우, 해당 3개의 블록 각각을 DirtyRect로 설정할 수 있다. 일 실시예에 따르면, DirtyRect는 자체로서 관심 영역으로 설정되거나, 또는 DirtyRect 주변의 다른 객체와 연관지어 관심 영역으로 설정될 수 있다.
일 실시예에 따라, 도 7 및 도 8의 동작에 따른 결과의 예시가 도 9에 도시된다. 도 9에 예시한 바와 같이, 프로세서(120)는 군집화된 스트로크 간의 거리(830)가 평균 델타 이상의 차이가 나는 경우에는 도 9의 예시와 같이 각 손 글씨에서 평균 델타 이상의 차이가 있는 손 글씨 객체에 기반하여 복수의 블록(910)들을 각각 생성할 수 있다. 예를 들면, 프로세서(120)는 독립된 손 글씨들의 위치를 분석하여 블록을 구분하고, 이에 기반하여 각각의 DirtyRect를 도출할 수 있다. 일 실시예에 따라, 도 9에서 각각의 점선 사각형은 설명을 위해 도시된 것으로, 실제 보여지지 않을 수 있다.
도 10은 다양한 실시예들에 따른 전자 장치의 동작을 도시하는 흐름도이다.
일 실시예에 따라, 도 10에서는, 도 7, 도 8 및 도 9에 예시한 바와 같이 설정된 DirtyRect와 연관된 손 글씨 객체(또는 라인)을 구분하여 액션에 따른 정렬 대상의 관심 영역(또는 대상 객체)을 설정하는 동작 예를 나타낼 수 있다.
도 10을 참조하면, 동작 1001에서, 전자 장치(101)의 프로세서(120)는 손 글씨에 기반하여 라인(예: i 번째 라인, i = 1) 분리를 수행할 수 있다. 예를 들면, 프로세서(120)는 도 7에서 예시한 바와 같이 손 글씨에 대한 관심 영역(예: DirtyRect) 설정 후, 손 글씨가 복수의 라인에서 i 번째(예: 첫 번째, i = 1) 라인을 분리하여 구분할 수 있다.
동작 1003에서, 프로세서(120)는 분리된 라인이 관심 영역에 포함되는지 여부를 판단할 수 있다. 일 실시예에 따르면, 프로세서(120)는 분리된 라인과 도 7의 예시와 같이 설정된 블록을 비교할 수 있고, 분리된 라인(또는 라인의 객체)의 적어도 일부가 블록과 교차되는지 여부를 판단할 수 있다.
동작 1003에서, 프로세서(120)는 분리된 라인이 관심 영역에 포함되지 않는 경우(예: 동작 1003의 ‘아니오’), 동작 1005에서, 해당 라인(예: 첫 번째 라인)을 비유효 라인(예: valid line = fail)으로 결정할 수 있다. 예를 들면, 프로세서(120)는 해당 라인이 관심 영역에 교차되지 않는 것으로 결정할 수 있다.
동작 1007에서, 프로세서(120)는 라인 i를 증가(예: i++)할 수 있다. 예를 들면, 프로세서(120)는 다음(next) 라인에 대한 분석을 수행할 수 있다. 예를 들면, 프로세서(120)는 동작 1003으로 진행하여 두 번째(예: i = 2) 라인에 대한 분석을 수행할 수 있다.
동작 1003에서, 프로세서(120)는 분리된 라인이 관심 영역에 포함되는 경우(예: 동작 1003의 ‘예’), 동작 1009에서, 해당 라인(예: 첫 번째 라인)을 유효 라인(예: valid line = true)으로 결정할 수 있다. 예를 들면, 프로세서(120)는 해당 라인이 관심 영역에 교차되는 것으로 결정할 수 있다.
동작 1011에서, 프로세서(120)는 분석된 라인이 마지막 라인에 대응하는지 여부를 판단할 수 있다. 일 실시예에 따르면, 프로세서(120)는 손 글씨에 대응하는 모든 라인에 대해 분석이 수행되었는지 여부를 판단할 수 있다.
동작 1011에서, 프로세서(120)는 분석된 라인이 마지막 라인이 아닌 경우(예: 동작 1011의 ‘아니오’), 동작 1013에서, 라인 i를 증가(예: i++)할 수 있다. 예를 들면, 프로세서(120)는 다음(next) 라인에 대한 분석을 수행할 수 있다. 예를 들면, 프로세서(120)는 동작 1003으로 진행하여 두 번째(예: i = 2) 라인에 대한 분석을 수행할 수 있다.
동작 1011에서, 프로세서(120)는 분석된 라인이 마지막 라인인 경우(예: 동작 1011의 ‘예’), 동작 1015에서, 대상 관심 영역을 설정할 수 있다. 일 실시예에 따르면, 프로세서(120)는 관심 영역의 객체 및 관심 영역의 객체와 교차되는 라인의 객체를 포함하는 블록(또는 DirtyRect)을 설정하고, 해당 블록을 대상 관심 영역으로 설정할 수 있다. 예를 들면, 프로세서(120)는 관심 영역의 객체와 관심 영역의 객체와 연관된 다른 관심 영역(예: 분리된 라인 기반)의 객체를 포함하도록 대상 관심 영역을 설정할 수 있다. 일 실시예에 따르면, 프로세서(120)는 관심 영역의 객체 및 그에 연관된 다른 관심 영역의 객체(예: 특정 라인(line)의 객체)를 서로 연관지어 대상 객체로 결정할 수 있다. 예를 들면, 프로세서(120)는 제1 관심 영역의 제1 객체 중 제2 관심 영역의 제2 객체에 연관된 적어도 하나의 제3 객체(라인)를 식별하고, 제2 객체와 제3 객체를 연관지어 대상 객체로 결정하고, 대상 객체를 지정하여 정렬을 수행할 수 있다.
도 11 및 도 12는 다양한 실시예들에 따른 전자 장치에서 대상 관심 영역이 설정되는 예를 설명하기 위한 도면들이다.
일 실시예에 따라, 도 11 및 도 12에서는, 도 10에 예시한 바와 같이 관심 영역과 교차되는 라인의 객체를 정렬 대상 객체로 포함하도록 대상 관심 영역을 설정하는 예를 나타낼 수 있다. 예를 들면, 도 11 및 도 12에서는, 기존 액션의 손 글씨의 적어도 일부분을 최근 액션의 손 글씨와 연관지어, 손 글씨 정렬을 위한 대상 관심 영역으로 설정하는 예를 나타낼 수 있다.
도 11에 예시한 바와 같이, 사용자는 4개의 라인들로 이루어진 제1 손 글씨(1110)를 입력하고, 제1 액션을 수행할 수 있다. 일 실시예에 따라, 전자 장치(101)는 제1 손 글씨(1110)를 제1 관심 영역으로 설정하고, 제1 액션에 대응하여 제1 손 글씨(1110)의 제1 관심 영역을 제1 액션에 매핑할 수 있다.
도 12에 예시한 바와 같이, 사용자는 제1 손 글씨(1110)를 입력하고 제1 액션을 수행한 이후에, 제1 손 글씨(1110)에 교차(또는 중첩)되는 제2 손 글씨(1200)(예: 1201, 1203, 1205, 1207, 1209, 1211)를 입력할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제2 손 글씨(1200)에 대하여, 전술한 도 7, 도 8 및 도 9를 참조한 설명 부분에서 설명한 바와 같이 블록화 하여, 복수의 블록(예: 제1 블록(1210), 제2 블록(1220), 제3 블록(1230))으로 구분할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 4개의 라인으로 이루어진 제1 손 글씨(1110)를 입력하고, 제1 액션이 수행되고, 제2 손 글씨(1200)가 입력되는 경우, 제2 손 글씨(1200)에 대응하는 각각의 객체 또는 객체의 그룹을 지정하여, 점선 사각형으로 표시된 제1 블록(1210), 제2 블록(1220) 및 제3 블록(1230)을 가상적으로 설정할 수 있다. 예를 들면, 제1 블록(1210), 제2 블록(1220) 및 제3 블록(1230)은 평균 델타(average delta) 이상의 거리가 서로 있는 3개의 군집을 나타낼 수 있다. 일 실시예에 따라, 도 12에서 각각의 점선 사각형은 설명을 위해 도시된 것으로, 실제 보여지지 않을 수 있다. 일 실시예에 따르면, 복수의 블록(1210, 1220, 1230) 각각은 DirtyRect(예: 제2 관심 영역)를 나타낼 있다. 예를 들면, 전자 장치(101)는 복수의 DirtyRect에 기반하여 제2 액션에 관련된 제2 관심 영역으로 설정할 수 있다. 어떤 실시예에 따르면, 전자 장치(101)는 제2 관심 영역 설정 시, 제1 관심 영역으로 지정된 제1 손 글씨(1110) 중 각 DirtyRect와 연관되는 적어도 하나의 객체(또는 라인)를 포함하여 대상 관심 영역으로 설정할 수 있다.
도 13, 도 14, 도 15 및 도 16은 다양한 실시예들에 따른 전자 장치에서 이용 가능한 액션의 예를 설명하기 위한 도면들이다.
일 실시예에 따르면, 전자 장치(101)는 어플리케이션을 실행하는 동안, 다양한 사용자 입력에 기반하여 액션을 구분할 수 있다. 예를 들면, 전자 장치(101)는 어플리케이션을 실행하는 동안, 사용자 입력에 따라 액션을 구분하고, 최근 액션과 연관된 손 글씨를 지정하여 정렬을 수행하도록 할 수 있다.
종래에서는, 사용자가 이전에 입력한 제1 손 글씨와 새롭게 입력한 제2 손 글씨가 존재하는 상태에서, 손 글씨 정렬을 수행하는 경우, 모든 손 글씨(예: 제1 손 글씨 및 제2 손 글씨)에 대해 정렬을 수행하였다. 다양한 실시예들에서는, 전자 장치(101)는 액션 단위로 입력된 손 글씨를 구분하고, 이전에 입력된 제1 손 글씨와 새롭게 입력된 제2 손 글씨를 액션 단위로 구분하고, 제2 손 글씨에 대해서 정렬을 집중적으로 수행할 수 있다. 어떤 실시예에 따르면, 전자 장치(101)는 제1 손 글씨에서 제2 손 글씨와 연관된(예: 교차 또는 중첩된) 적어도 일부를 연관지어 정렬을 수행할 수 있다.
일 실시예에 따르면, 액션 구분을 위한 사용자 입력(예: 액션 발생 상황)은, 도 13, 도 14, 도 15 및 도 16에 예시한 바와 같이 다양한 종류를 포함하며, 그 종류가 제한되지 않을 수 있다.
일 실시예에 따라, 도 13은 어플리케이션의 실행 화면(또는 노트 레이아웃)의 지정된 영역에 제공되는, 손 글씨 정렬을 실행하도록 지정된 객체(1330)(예: 정렬 객체)에 기반한 사용자 입력에 따라 액션이 구분되는 예를 나타낼 수 있다. 일 실시예에 따라, 전자 장치(101)는 제1 손 글씨(1310)가 입력되고 정렬 객체(1330)가 선택되는 경우, 정렬 객체(1330)의 선택에 응답하여 제1 액션을 식별하고, 제1 액션에 관련된 제1 손 글씨(1310)에 대해 정렬을 수행할 수 있다.
일 실시예에 따라, 전자 장치(101)는 제1 액션 이후에 제2 손 글씨(1320)가 입력되고 정렬 객체(1330)가 선택되는 경우, 정렬 객체(1330)의 선택에 응답하여 제2 액션을 식별하고, 제1 액션에 관련된 제1 손 글씨(1310)의 형태는 유지하는 상태에서, 제2 액션(예: 최근 액션)에 관련된 제2 손 글씨(1320)에 대해 정렬을 수행할 수 있다.
일 실시예에 따라, 도 14는 어플리케이션에서 손 글씨에 의한 작업(예: 노트 또는 메모 작성)이 새로 시작되는 경우의 예를 나타낼 수 있다. 예를 들면, 사용자가 새로운 노트 파일을 시작하거나, 또는 새로운 노트 파일을 불러오기 하는 사용자 입력에 따라 액션이 구분될 수 있다.
일 실시예에 따라, 도 15는 사용자가 정렬 기능 이외에 다른 기능을 수행하는 경우의 예를 나타낼 수 있다. 예를 들면, 사용자가 정렬 객체(1330)에 외의 다른 기능 객체(예: 지우개 객체, 클립 객체(1520), 텍스트 변환 객체(1530), 저장 객체, 및/또는 화면 전환 객체)에 기반하여 다른 기능을 실행하는 사용자 입력에 따라 액션이 구분될 수 있다. 일 실시예에 따르면, 전자 장치(101)는 손 글씨 입력 이후에, 어플리케이션의 실행 화면(또는 노트 레이아웃) 상에서 사용자 입력에 대응하는 기능 객체(예: 1510, 1520, 1530, 1540)가 선택되는 경우, 기능 객체(1510, 1520, 1530, 1540)의 선택에 응답하여 액션을 식별할 수 있다.
일 실시예에 따라, 전자 장치(101)는 실행 화면(또는 노트 레이아웃)에서 실행 화면(또는 노트 레이아웃)에서 손 글씨에 관련된 다른 기능(또는 옵션)(예: 정렬 기능 이외의 다른 기능)을 실행하도록 지정된 기능 객체가 선택(예: 터치)되는 경우 액션을 식별할 수 있다.
일 실시예에 따라, 도 16은 사용자가 어플리케이션을 포즈(pause)한 후 다시 시작(resume)하는 사용자 입력에 따라 액션이 구분되는 예를 나타낼 수 있다. 일 실시예에 따르면, 도 16에 예시한 바와 같이, 전자 장치(101)는 어플리케이션을 실행하는 동안 홈(home) 화면으로 이동(예: 예시 화면 <1601>) 후 복귀(예: 예시 화면 <1603>)하는 사용자 입력에 응답하여 액션을 식별할 수 있다. 다른 실시예에 따르면, 어플리케이션의 포즈 후 다시 시작하는 경우로서, 스크린(screen) 턴-오프(turn-off)턴-온(turn-on) 동작, 또는 다른 어플리케이션으로 포커스(focus) 이동 후 복구와 같은 동작을 포함할 수 있다.
도 17, 도 18 및 도 19는 다양한 실시예들에 따른 전자 장치에서 액션 단위로 정렬 대상 객체를 구분하는 예를 설명하기 위한 도면들이다.
일 실시예에 따라, 도 17, 도 18 및 도 19에서는, 기존 액션의 손 글씨는 유지하는 상태에서 최근 액션의 손 글씨에 기반하여 정렬을 위한 대상 관심 영역으로 설정하는 예를 나타낼 수 있다.
일 실시예에 따라, 도 17에 예시한 바와 같이, 도 17은 사용자가 2개의 라인들(예: 첫 번째 라인, 두 번째 라인)로 이루어진 제1 손 글씨(1710)를 입력하고, 제1 액션(예: 정렬 객체(1730) 선택에 의한 정렬 명령)을 수행한 이후에 제2 손 글씨(1720)를 입력한 상태의 예를 나타낼 수 있다. 일 실시예에 따라, 전자 장치(101)는 제1 손 글씨(1710)를 제1 관심 영역으로 설정하고, 제1 액션에 대응하여 제1 손 글씨(1710)를 지정하여 정렬을 수행할 수 있다. 일 실시예에 따라, 사용자는 제1 액션 이후에 제2 손 글씨(1720)를 입력하고, 정렬 객체(1730)에 기반하여 제2 액션을 수행할 수 있다.
일 실시예에 따라, 도 18에 예시한 바와 같이, 도 18은 사용자가 제2 손 글씨(1720)를 입력하고, 정렬 객체(1730)를 선택하여 제2 액션을 수행한 상태의 예를 나타낼 수 있다. 일 실시예에 따라, 전자 장치(101)는 제1 액션 이후에 제2 손 글씨(1720)가 입력되고 제2 액션이 수행되는 경우, 제1 손 글씨(1710)(예: 첫 번째 라인, 두 번째 라인)에 대해서는 정렬을 수행하지 않고, 제2 손 글씨(1720)(예: 세 번째 라인)를 지정하여(또는 대상으로) 정렬을 수행할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 정렬 객체(1730)에 의해 손 글씨 정렬 시, 사용자에게 정렬 대상의 객체를 가이드(또는 지정) 하는 가이드 객체(1800)(또는 대상 관심 영역을 나타내는 관심 영역 객체)를 제공할 수 있다.
도 18에 예시한 바와 같이, 가이드 객체(1800)는, 대상 객체를 포함하는 지정된 형상(예: 사각형, 타원형, 또는 올가미형)으로 제공될 수 있다. 일 실시예에 따라, 가이드 객체(1800)는, 관심 영역의 범위(또는 크기)를 변경(예: 확장 또는 축소)하기 위한 적어도 하나의 조절 객체(1810, 1820)를 포함할 수도 있다. 예를 들어, 사용자는, 전자 장치(101)에 의해 액션에 따라 지정된 관심 영역에 대해, 조절 객체(1810, 1820)의 상하 이동을 통해 변경할 수 있다. 일 실시예에 따라, 사용자는 제2 액션 이후에 제3 손 글씨(1910)를 입력하고, 정렬 객체(1730)에 기반하여 제3 액션을 수행할 수 있다.
일 실시예에 따라, 도 19에 예시한 바와 같이, 도 19는 사용자가 제3 손 글씨(1910)를 입력하고, 정렬 객체(1730)를 선택하여 제3 액션을 수행한 상태의 예를 나타낼 수 있다. 일 실시예에 따라, 전자 장치(101)는 제2 액션 이후에 제3 손 글씨(1910)가 입력되고 제3 액션이 수행되는 경우, 제1 손 글씨(1710)(예: 첫 번째 라인, 두 번째 라인)와 제2 손 글씨(1720)(예: 세 번째 라인)에 대해서는 정렬을 수행하지 않고, 제3 손 글씨(1910)(예: 네 번째 라인)를 지정하여(또는 대상으로) 정렬을 수행할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 정렬 객체(1730)에 의해 손 글씨 정렬 시, 사용자에게 정렬 대상의 객체를 가이드(또는 지정) 하는 가이드 객체(1800)(또는 대상 관심 영역을 나타내는 관심 영역 객체)를 제공할 수 있다.
도 20은 다양한 실시예들에 따른 전자 장치에서 대상 관심 영역을 설정하는 예를 설명하기 위한 도면이다.
일 실시예에 따라, 도 20에서는, 도 10에 예시한 바와 같이 관심 영역과 교차되는 라인의 객체를 정렬 대상 객체로 포함하도록 대상 관심 영역을 설정(예: 확장)하는 예를 나타낼 수 있다. 예를 들면, 도 20에서는, 기존 액션의 손 글씨의 적어도 일부분(예: 라인)을 최근 액션의 손 글씨와 연관지어, 손 글씨 정렬을 위한 대상 관심 영역으로 설정하는 예를 나타낼 수 있다. 일 실시예에 따라, 도 20에서는 최근 액션에 따라 설정되는 관심 영역(예: DirtyRect)가 1개인 경우의 예를 나타낼 수 있다.
도 20을 참조하면, 예시 화면 <2001>에 예시한 바와 같이, 사용자는 4개의 라인들로 이루어진 제1 손 글씨(2010)를 입력하고, 제1 액션(예: 정렬 명령)을 수행하여 제1 손 글씨(2010)에 대한 정렬을 수행할 수 있다. 예시 화면 <2003>에 예시한 바와 같이, 사용자는 제1 액션 이후에 제2 손 글씨(2020)를 제1 손 글씨(2010)의 적어도 하나의 라인의 근처 또는 중첩하여 입력할 수 있다. 일 실시예 따라, 사용자는 제2 손 글씨(2020)를 입력한 이후에 제2 액션(예: 정렬 명령)을 수행할 수 있다.
예시 화면 <2005>에 예시한 바와 같이, 전자 장치(101)는 제2 손 글씨(2020)가 입력되고 제2 액션이 수행되면, 제2 손 글씨(2020)와 제2 손 글씨(2020)에 연관된(또는 교차(intersect)된) 라인(예: 세 번째 라인 및 네 번째 라인 또는 그 객체)에 기반하여 손 글씨 정렬을 수행할 수 있다. 예를 들면, 제2 액션에 대하여 정렬되는 대상 객체는 제2 손 글씨(2020)일 수 있다. 다양한 실시예들에서는, 제2 액션에 대응하여 제2 손 글씨(2020)에 대한 정렬을 수행할 때, 제2 액션에 따른 제2 손 글씨(2020) 및 제2 손 글씨(2020)와 관련되는 다른 객체(예: 이전 제1 액션에 매핑된 제1 손 글씨(2010)의 적어도 일부를 함께 정렬 대상 객체로 포함할 수 있다. 예를 들면, 전자 장치(101)는 제2 손 글씨(2020) 및 제2 손 글씨(2020)에 교차되는 적어도 하나의 다른 객체를 포함하여 대상 관심 영역을 설정할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 제2 액션 도출 시, 제1 액션의 제1 손 글씨(2010)의 라인을 분석하여 제2 액션의 제2 손 글씨(2020)와 교차되는지 판단할 수 있다. 예를 들면, 전자 장치(101)는 이전 액션의 손 글씨에서 최근 액션의 손 글씨의 관심 영역(예: DirtyRect)에 교차되는 라인을 최근 액션에 포함하여 정렬을 수행할 수 있다. 예를 들면, 예시 화면 <2005>에 예시한 바와 같이, 전자 장치(101)는 제1 액션의 제1 손 글씨(2010)에서 세 번째 라인(2030)과 네 번째 라인(2040)이 제2 손 글씨(2020)의 관심 영역(예: DirtyRect)와 교차되는 것을 식별할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 제1 손 글씨(2010)에서 제2 손 글씨(2020)의 관심 영역과 교차되는 해당 라인(예: 세 번째 라인(2030)과 네 번째 라인(2040))을 유효 라인(예: valid line = true)으로 결정하고, 제2 손 글씨(2020)와 유효 라인을 함께 대상 관심 영역으로 설정할 수 있다. 예를 들면, 예시 화면 <2005>에 예시한 바와 같이, 전자 장치(101)는 제2 손 글씨(2010)에 대한 관심 영역을 유효 라인(예: 세 번째 라인(2030)과 네 번째 라인(2040))을 포함하도록 확장하여 대상 관심 영역으로 설정할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 대상 관심 영역의 대상 객체들(예: 제2 손 글씨(2020) 객체 및 유효 라인의 객체)에 대하여 정렬을 수행할 수 있다.
도 21 및 도 22는 다양한 실시예들에 따른 전자 장치에서 대상 관심 영역을 설정하는 예를 설명하기 위한 도면들이다.
일 실시예에 따라, 도 21 및 도 22에서는, 도 10에 예시한 바와 같이 관심 영역과 교차되는 라인의 객체를 정렬 대상 객체로 포함하도록 대상 관심 영역을 설정(예: 확장)하는 예를 나타낼 수 있다. 예를 들면, 도 21 및 도 22에서는, 기존 액션의 손 글씨의 적어도 일부분(예: 라인)을 최근 액션의 손 글씨와 연관지어, 손 글씨 정렬을 위한 대상 관심 영역으로 설정하는 예를 나타낼 수 있다. 일 실시예에 따라, 도 21 및 도 22에서는, 제2 액션에 따라 설정되는 관심 영역(예: DirtyRect)가 복수인 경우의 예를 나타낼 수 있다.
도 21에 예시한 바와 같이, 사용자는 4개의 라인들로 이루어진 제1 손 글씨(2100)를 입력하고 제1 액션을 수행한 이후에, 제1 손 글씨(2100)에 교차(또는 중첩)되는 제2 손 글씨(2200)를 입력할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제2 손 글씨(2200)에 대하여, 전술한 도 7, 도 8 및 도 9를 참조한 설명 부분에서 설명한 바와 같이 블록화 하여, 복수의 블록(예: 제1 블록(2110), 제2 블록(2120), 제3 블록(2130))으로 구분할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 4개의 라인으로 이루어진 제1 손 글씨(2100)를 입력하고, 제1 액션이 수행되고, 제2 손 글씨(2200)가 입력되는 경우, 제2 손 글씨(2200)에 대응하는 각각의 객체 또는 객체의 그룹을 지정하여, 점선 사각형으로 표시된 제1 블록(2110), 제2 블록(2120) 및 제3 블록(2130)을 가상적으로 설정할 수 있다. 예를 들면, 제1 블록(2110), 제2 블록(2120) 및 제3 블록(2130)은 평균 델타(average delta) 이상의 거리가 서로 있는 3개의 군집을 나타낼 수 있다. 일 실시예에 따라, 도 21 및 도 22에서 각각의 점선 사각형은 설명을 위해 도시된 것으로, 실제 보여지지 않을 수 있다. 일 실시예에 따르면, 복수의 블록(2110, 2120, 2130) 각각은 DirtyRect(예: 관심 영역)를 나타낼 있다. 예를 들면, 전자 장치(101)는 복수의 DirtyRect에 기반하여 제2 액션에 관련된 제2 관심 영역으로 설정할 수 있다.
도 22에 예시한 바와 같이, 전자 장치(101)는 제2 관심 영역 설정 시, 제1 관심 영역으로 지정된 제1 손 글씨(2100) 중 각 DirtyRect와 연관되는 적어도 하나의 객체(또는 라인)를 포함하여 대상 관심 영역으로 설정할 수 있다. 예를 들면, 도 22에 예시한 바와 같이 전자 장치(101)는 제2 손 글씨(2200)가 입력되고 제2 액션이 수행되면, 제2 손 글씨(2200)와 제2 손 글씨(2200)에 연관된(또는 교차된) 라인(예: 제1 손 글씨(2100)의 첫 번째 라인, 두 번째 라인 및 네 번째 라인 또는 그 객체)에 기반하여 복수의 대상 관심 영역(2210, 2220, 2230)을 설정할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 제2 액션 도출 시, 제1 액션의 제1 손 글씨(2100)의 라인을 분석하여 제2 액션의 제2 손 글씨(2200)와 교차되는지 판단할 수 있다. 예를 들면, 전자 장치(101)는 이전 액션의 손 글씨에서 최근 액션의 손 글씨의 관심 영역(예: DirtyRect)에 교차되는 라인을 최근 액션에 포함하여 정렬을 수행할 수 있다. 예를 들면, 도 22에 예시한 바와 같이, 전자 장치(101)는 제1 손 글씨(2100)에서 첫 번째 라인, 두 번째 라인 및 네 번째 라인이 제2 손 글씨(2200)의 각각의 관심 영역(2110, 2120, 2130)(예: DirtyRect)와 교차되는 것을 식별할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 제1 손 글씨(2100)에서 제2 손 글씨(2200)의 관심 영역과 교차되는 해당 라인(예: 첫 번째 라인, 두 번째 라인 및 네 번째 라인)을 유효 라인(예: valid line = true)으로 결정하고, 제2 손 글씨(2200)와 유효 라인을 함께 대상 관심 영역(2210, 2220, 2230)으로 각각 설정할 수 있다. 예를 들면, 도 22에 예시한 바와 같이, 전자 장치(101)는 제2 손 글씨(2200)에 대한 관심 영역을 유효 라인(예: 제1 손 글씨(2100)의 첫 번째 라인, 두 번째 라인 및 네 번째 라인)을 포함하도록 확장하여 대상 관심 영역(2210, 2220, 2230)으로 설정할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 대상 관심 영역(2210, 2220, 2230)의 대상 객체들(예: 제2 손 글씨(2020) 객체 및 유효 라인의 객체)에 대하여 정렬을 수행할 수 있다.
도 23은 다양한 실시예들에 따른 전자 장치의 동작을 도시하는 흐름도이다.
일 실시예에 따라, 도 23에서는 액션 단위로 구분된 손 글씨에 대하여 보정하는 예를 나타낼 수 있다. 일 실시예에 따르면, 전자 장치(101)는 액션이 구분된 특성을 이용하여, 정렬 대상의 대상 객체에 대해 라인 보정 및/또는 크기 보정을 제공할 수 있다. 예를 들면, 전자 장치(101)는 손 글씨의 기울기 보정(예: deskew), 라인(line) 별 손 글씨 위치 맞춤(예: indentation), 손 글씨 줄 간격 맞춤(예: line spacing), 글자 크기(예: 높이) 정규화, 및/또는 비문자(예: 밑줄, 도형, 스케치, 및/또는 그림)에 대한 어울림 배치와 같은 다양한 정렬을 제공할 수 있다.
도 23을 참조하면, 동작 2301에서, 전자 장치(101)의 프로세서(120)는 최근 액션에 관련된 관심 영역에 기반하여 주변 객체를 분석할 수 있다. 일 실시예에 따르면, 프로세서(120)는 최근 액션의 손 글씨 기반의 관심 영역(예: DirtyRect)과 교차(또는 중첩)되거나, 근접한 이전 액션의 손 글씨가 존재하는지 식별할 수 있다. 예를 들면, 프로세서(120)는 관심 영역과 연관 가능한 라인이 있는지 판단할 수 있다.
동작 2303에서, 프로세서(120)는 주변 객체의 분석하는 결과에 기반하여, 마그네틱 보정(또는 설정)이 필요한지 여부를 판단할 수 있다. 일 실시예에 따르면, 프로세서(120)는 관심 영역과 교차되거나 근접한 이전 액션의 손 글씨(예: 라인의 적어도 일부가 DirtyRect와 교차하거나 근접하는 손 글씨)가 식별되는 경우, 마그네틱 보정을 수행하는 것으로 결정할 수 있다. 일 실시예에 따른 마그네틱 보정 동작과 관련하여 후술하는 도면을 참조하여 상세히 설명된다.
동작 2303에서, 프로세서(120)는 마그네틱 보정이 필요하지 않은 경우(예: 동작 2303의 ‘아니오’), 동작 2309로 진행하여, 동작 2309 이하의 동작을 수행할 수 있다.
동작 2303에서, 프로세서(120)는 마그네틱 보정이 필요한 경우(예: 동작 2303의 ‘예’), 동작 2305에서, 객체 별 마그네틱 포인트(magnetic point)를 도출할 수 있다. 일 실시예에 따른 마그네틱 포인트와 관련하여 후술하는 도면을 참조하여 상세히 설명된다.
동작 2307에서, 프로세서(120)는 마그네틱 포인트에 기반하여, 관심 영역의 대상 객체를 최근접 주변 객체에 이동하여 배치할 수 있다. 일 실시예에 따르면, 프로세서(120)는 마그네틱 포인트에 기반하여 최근접 주변 객체를 식별할 수 있고, 대상 객체를 최근접 주변 객체로 이동하여, 주변 객체와 대상 객체 간의 라인을 맞추는 라인 보정을 수행할 수 있다. 일 실시예에 따른 라인 보정과 관련하여 후술하는 도면을 참조하여 상세히 설명된다.
동작 2309에서, 프로세서(120)는 크기 기반 균등화(size-based equalization) 보정이 필요한지 여부를 판단할 수 있다. 일 실시예에 따르면, 프로세서(120)는 관심 영역과 교차되거나 근접한 이전 액션의 손 글씨와 대상 객체의 크기를 비교하여, 일정 이상의 차이가 있는 경우 크기 기반 균등화 보정을 처리하는 것으로 결정할 수 있다.
동작 2309에서, 프로세서(120)는 크기 기반 균등화 보정이 필요하지 않은 경우(예: 동작 2309의 ‘아니오’), 동작 2317로 진행하여, 동작 2317 이하의 동작을 수행할 수 있다.
동작 2309에서, 프로세서(120)는 크기 기반 균등화 보정이 필요한 경우(예: 동작 2309의 ‘예’), 동작 2311에서, 라인 별 무게 중심을 분석할 수 있다. 일 실시예에 따르면, 프로세서(120)는 기존 액션의 손 글씨에 대응하는 라인(또는 주변 객체)의 무게 중심과 최근 액션의 손 글씨에 대응하는 대상 객체의 무게 중심을 확인할 수 있다.
동작 2313에서, 프로세서(120)는 객체 별 평균 크기를 분석할 수 있다. 일 실시예에 따르면, 프로세서(120)는 주변 객체의 무게 중심에 기반하여 주변 객체의 평균 크기를 분석하고, 대상 객체의 무게 중심에 기반하여 대상 객체의 평균 크기를 확인할 수 있다.
동작 2315에서, 프로세서(120)는 대상 객체의 크기를 변경할 수 있다. 일 실시예에 따르면, 프로세서(120)는 주변 객체의 평균 크기와 대상 객체의 평균 크기를 비교하여 편차가 있는 경우, 대상 객체의 평균 크기를 주변 객체의 평균 크기에 대응하는 크기로 맞추는(또는 변경하는) 크기 보정을 수행할 수 있다. 어떤 실시예에 따르면, 프로세서(120)는 대상 객체의 크기 변경에 대응하여 대상 객체의 위치를 이동하여 배치하는 라인 보정을 더 수행할 수도 있다. 일 실시예에 따른 크기 보정과 관련하여 후술하는 도면을 참조하여 상세히 설명된다.
동작 2317에서, 프로세서(120)는 적어도 하나의 객체에 대한 정렬을 수행할 수 있다. 일 실시예에 따르면, 프로세서(120)는 라인 보정 및/또는 크기 보정된 대상 객체와 주변 객체를 포함하는 대상 관심 영역을 설정하고, 대상 관심 영역의 모든 객체에 대한 손 글씨 정렬을 수행할 수 있다.
일 실시예에 따라, 도 23에서는 라인 보정 동작과 크기 보정 동작이 순차적으로 동작하는 것으로 도시되지만, 다양한 실시예들에 따르면, 보정 동작과 크기 보정 동작은, 도시된 순서에 제한되지 않으며, 병렬적으로, 역순차적으로, 또는 휴리스틱 하게 수행될 수 있다.
도 24는 다양한 실시예들에 따른 전자 장치에서 라인 보정의 예를 설명하기 위한 도면이다.
일 실시예에 따라, 도 24에서는 마그네틱 사용자 인터페이스(magnetic UI(user interface))에 기반하여 액션 단위 별 손 글씨에 대한 라인 보정을 제공하는 예를 나타낼 수 있다.
도 24를 참조하면, 예시 화면 <2101>에 예시한 바와 같이, 사용자는 이전 액션(예: 제1 액션)에 따른 제1 손 글씨(2410, 2420, 2430) 이후에, 제2 손 글씨(2440)를 제1 손 글씨(2410, 2420, 2430)의 적어도 하나의 라인에 연관되게(또는 근처에) 입력할 수 있다. 일 실시예에 따라, 사용자는 제2 손 글씨(2440)를 입력하고 제2 액션(예: 정렬 명령)을 수행할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 제2 액션(예: 정렬 명령)을 감지하는 경우, 자동적으로 또는 수동적으로 라인 보정 여부를 판단할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 도 23에 예시한 바와 같이, 마그네틱 보정 여부를 판단하고 판단하는 결과에 기반하여 라인 보정을 자동적으로 수행할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 액션을 구분하여 복수의 액션들이 존재하는 경우에 최근 액션(예: 정렬 명령) 실행 시에, 예시 화면 <2401>에 예시한 바와 같이, 마그네틱 사용자 인터페이스를 제공하여, 사용자에 의한 라인 보정을 수동적으로 수행할 수도 있다. 예를 들면, 전자 장치(101)는 제1 손 글씨(2410, 2420, 2430)와 제2 손 글씨(2440)(또는 각 손 글씨에 대응하는 DirtyRect)에 기반하여 특정 모양(예: 원형, 마름모형, 타원형 또는 사각형)의 마그네틱 포인트(magnetic point)(2450)를 생성하여 제공할 수 있다.
일 실시예에 따라, 전자 장치(101)는 각 손 글씨(2410, 2420, 2430, 2440)의 라인 별로 마그네틱 포인트를 생성할 수 있다. 예를 들면, 전자 장치(101)는 이전 액션 및 최근 액션과 관련된 모든 손 글씨(2410, 2420, 2430, 2440)에 대하여 라인을 분리하고, 각 라인(또는 객체) 별로 마그네틱 포인트(2415, 2425, 2435, 2445)를 생성할 수 있다. 일 실시예에 따라, 예시 화면 <2401>, 예시 화면 <2403> 및 예시 화면 <2405>에서 마그네틱 포인트(2415, 2425, 2435, 2445) 및 점선 사각형은 설명을 위해 도시된 것으로, 시각적으로 표시되거나, 또는 표시되지 않을 수 있다. 예를 들면, 마그네틱 포인트(2415, 2425, 2435, 2445)는 사용자 인지를 위해 시각적으로 표시될 수도 있고(예: 라인 보정의 수동 방식의 경우), 또는 마그네틱 포인트(2415, 2425, 2435, 2445)는 각 객체들의 소속 라인 결정을 위해 내부적으로 사용하고 표시되지 않을 수도 있다(예: 라인 보정의 자동 방식의 경우).
일 실시예에 따라, 예시 화면 <2403>에 예시한 바와 같이, 사용자는 최근 액션에 대응하는 제2 손 글씨(2440)(또는 객체)를 선택(예: 터치(2400))하여 사용자 지정의 위치(예: 이전 액션에 대응하는 제1 손 글씨(2410, 2420, 2430) 중 임의의 라인(또는 객체) 위치)로 이동(예: 드래그(drag), 스와이프(swipe) 또는 플릭(flick))할 수 있다. 예를 들면, 사용자는 제2 손 글씨(2440)를 터치(2400)한 상태에서 제1 손 글씨(2410, 2420, 2430) 중 특정 위치의 라인(예: 첫 번째 라인(2410)) 방향으로 이동(예: 드래그)하는 사용자 입력을 수행할 수 있다.
일 실시예에 따라, 전자 장치(101)는 사용자 입력에 기반하여, 제2 손 글씨(2440)를 사용자에 의해 지정되는 라인(2410) 방향으로 이동하고, 해당 라인(2410)의 근처(예: 지정된 거리 범위 내)에서 제2 손 글씨(2240)를 해당 라인(2410)에 자동적으로 덧붙이기(append)할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제2 손 글씨(2440)에 대한 덧붙이기 과정을 시각적으로 제공할 수 있다. 일 실시예에 따라, 제2 손 글씨(2440)를 대응하는 라인(2410)에 덧붙이기 하는 결과(예: 라인 보정의 결과)가 예시 화면 <2405>에 도시된다.
예시 화면 <2405>에 예시한 바와 같이, 최근 액션의 제2 손 글씨(2440)가 이전 액션의 제1 손 글씨(2410, 2420, 2430) 중 지정된 라인(2410)에 덧붙이기 되면서 정렬(예: 줄 간격 맞춤(예: line spacing), 위치 맞춤(예: indentation))되어 제공될 수 있다.
일 실시예에 따라, 도 24의 예시에서는, 마그네틱 사용자 인터페이스에 기반하여 사용자 입력에 의한 수동 방식으로 라인 보정을 제공하는 예를 설명하지만, 다양한 실시예들이 이를 제한하는 것은 아니다. 예를 들면, 전자 장치(101)는 도 24에 예시한 바와 같은 마그네틱 사용자 인터페이스의 시각적 표시(예: 마그네틱 포인트의 표시) 없이, 도 23에 예시한 바와 같이, 내부적으로 마그네틱 보정 여부를 판단하고, 판단하는 결과에 기반하여 마그네틱 포인트를 이용하여 손 글씨 객체들 간의 덧붙이기(append) 및 정렬을 자동적으로 수행할 수 있다. 예를 들면, 전자 장치(101)는 이전 액션의 손 글씨의 라인을 분리하고, 최근 액션의 손 글씨가, 이전 액션의 손 글씨와 가까운 위치로 끌려 들어가면서 이전 액션의 손 글씨(예: 대상의 라인)와 인접한 위치에 덧붙이기(append) 되는(예: 마그네틱 효과) UX(user experience)를 제공할 수 있다. 이의 예시에 대하여, 도 25 내지 도 28을 참조하여 설명된다.
도 25, 도 26, 도 27 및 도 28은 다양한 실시예들에 따른 전자 장치에서 라인 보정을 위한 동작 예를 설명하기 위한 도면들이다.
일 실시예에 따라, 도 25, 도 26, 도 27 및 도 28에서 마그네틱 포인트(2450) 및 사각 박스는 설명을 위해 도시된 것으로, 실제 화면에서는 표시되지 않을 수 있다.
일 실시예에 따라, 도 25는 손 글씨(2510)(예: 객체)에 마그네틱 포인트(2450)가 생성되는 예를 나타낼 수 있다. 도 25에 예시한 바와 같이, 마그네틱 포인트(2450)는, 예를 들면, 손 글씨(2510)의 손 글씨(2510)의 세로 방향으로 상측(top)과 하측(bottom)에 각각 적어도 하나의 마그네틱 포인트(2451)와, 가로 방향으로 좌측(left)과 우측(right)에 각각 1개씩의 마그네틱 포인트(2453)를 포함하여 생성될 수 있다. 일 실시예에 따라, 마그네틱 포인트(2450)는 손 글씨(2510)(예: 객체)의 길이 및/또는 높이에 따라 가로 방향 및/또는 세로 방향에서 복수의 마그네틱 포인트들을 포함할 수 있다. 일 실시예에 따라, 마그네틱 포인트(2450)는 손 글씨(2510)의 최외곽을 기준으로 손 글씨(2510)를 둘러싸는 형상을 포함할 수 있다.
일 실시예에 따라, 도 26은 기존 손 글씨(2510)(이하, 제1 손 글씨(2510)) 이후에 새로운 손 글씨(2610)(이하, 제2 손 글씨(2610))가 입력되는 상태를 나타낼 수 있다. 예를 들어, 도 26에 예시한 바와 같이, 제2 손 글씨(2610)가 제1 손 글씨(2510)의 근처에 입력될 수 있다.
일 실시예에 따라, 제2 손 글씨(2610)가 입력되는 경우, 제1 손 글씨(2510)와 제2 손 글씨(2610) 각각을 기반으로 마그네틱 포인트(2450)가 각각 생성될 수 있다. 일 실시예에 따르면, 제1 손 글씨(2510) 근처에 제2 손 글씨(2610)가 입력되는 경우, 제1 손 글씨(2510)의 마그네틱 포인트와 제2 손 글씨(2610)의 마그네틱 포인트 간의 거리(distance)에 기반하여 덧붙이기(append) 대상의 마그네틱 포인트가 결정될 수 있다. 예를 들면, 전자 장치(101)는 유클리디언(euclidean) 알고리즘에 기반하여, 제1 손 글씨(2510)의 마그네틱 포인트와 제2 손 글씨(2610)의 마그네틱 포인트 간에 유클리디언 거리(euclidean distance)가 가장 가까운 마그네틱 포인트를 손 글씨(2510, 2610)마다 하나씩 결정할 수 있다. 이의 예가 도 27에 도시된다.
일 실시예에 따라, 도 27에 예시한 바와 같이, 도 27은 제1 손 글씨(2510)의 마그네틱 포인트(2450) 중 가로 방향(예: 우측 마그네틱 포인트(2515))와 제2 손 글씨(2610)의 마그네틱 포인트(2450) 중 가로 방향(예: 좌측 마그네틱 포인트(2615)가 유클리디언 거리 상 가장 가까운 것으로 결정된 예를 나타낼 수 있다. 예를 들면, 제2 손 글씨(2610)가 제1 손 글씨(2510)의 우측에 줄 맞춤 되어 덧붙이기(append) 될 수 있다.
일 실시예에 따라, 도 28은 제1 손 글씨(2510)에 비문자 기반의 새로운 손 글씨(2810, 2820)(이하, 제3 손 글씨(2810, 2820))가 입력되는 상태를 나타낼 수 있다. 예를 들어, 도 28에 예시한 바와 같이, 제3 손 글씨(2810, 2820)가 제1 손 글씨(2510)의 가로 방향과 세로 방향에서 각각 입력될 수 있다.
일 실시예에 따르면, 제1 손 글씨(2510)를 기준으로 가로 방향과 세로 방향 각각에 제3 손 글씨(2810, 2820)가 각각 입력되는 경우, 제1 손 글씨(2510)의 마그네틱 포인트와 제3 손 글씨(2810, 2820)의 마그네틱 포인트 간의 거리에 기반하여 덧붙이기 대상의 마그네틱 포인트가 결정될 수 있다. 예를 들면, 전자 장치(101)는 유클리디언 알고리즘에 기반하여, 제1 손 글씨(2510)의 마그네틱 포인트와 제3 손 글씨(2810, 2820)의 마그네틱 포인트 간에 유클리디언 거리가 가장 가까운 마그네틱 포인트를 손 글씨(2510, 2810, 2820)마다 하나씩 결정할 수 있다. 일 실시예에 따라, 도 28에 예시한 바와 같이, 제2 손 글씨(2810, 2820) 각각은 유클리디언 거리에 기반하여, 제1 손 글씨(2510)의 가로 방향 또는 세로 방향 중 유클리디언 거리 상 가장 가까운 쪽에 각각 덧붙이기(append) 될 수 있다.
도 29, 도 30 및 도 31은 다양한 실시예들에 따른 전자 장치에서 라인 보정의 동작 예를 설명하기 위한 도면들이다.
도 29를 참조하면, 예시 화면 <2901>에 예시한 바와 같이, 사용자는 이전 액션(예: 적어도 하나의 제1 액션)에 따른 제1 손 글씨(2910, 2920, 2930, 2940) 이후에, 예시 화면 <2903>에 예시한 바와 같이 제2 손 글씨(2950, 2960)를 제1 손 글씨(2910, 2920, 2930, 2940)의 임의 라인(예: 제1 손 글씨(2910, 2920, 2930, 2940) 중 첫 번째 라인의 손 글씨(2910) 및 세 번째 라인의 손 글씨(2930))에 연관되게 입력할 수 있다. 예를 들어, 예시 화면 <2903>에 예시한 바와 같이, 사용자는 첫 번째 라인의 손 글씨(2910)에 연관되게 ‘밑줄’에 대응하는 제2 손 글씨(2950)를 입력하고, 세 번째 라인의 손 글씨(2930)에 연관되게 ‘별표’에 대응하는 제2 손 글씨(2960)를 입력할 수 있다. 일 실시예에 따라, 사용자는 제2 손 글씨(2950, 2960)를 입력하고 제2 액션(예: 정렬 명령)을 수행할 수 있다.
일 실시예에 따라, 전자 장치(101)는 제2 액션(예: 정렬 명령)에 응답하여 제2 손 글씨(2950, 2960)에 대해 라인 보정(예: 마그네틱 기능 수행)을 처리할 수 있다. 예를 들어, 예시 화면 <2905>에 예시한 바와 같이, 전자 장치(101)는 제2 손 글씨(2950, 2960)에 대해, 제1 손 글씨(2910, 2920, 2930, 2940) 중 대응하는 손 글씨(2910, 2930)에 연관지어 라인 보정을 수행할 수 있다. 예를 들면, 예시 화면 <2905>는 제2 액션에 따라 마그네틱 보정이 적용된 예를 나타낼 수 있으며, 제2 손 글씨(2950, 2960)가 각각 가장 가까운 제1 손 글씨(2910, 2930)로 이동되어 배치될 수 있다.
일 실시예에 따르면, 전자 장치(101)는 제2 액션(예: 정렬 명령)에 응답하여, 예시 화면 <2905>에 예시한 바와 같이 라인 보정의 상태에서, 손 글씨 정렬을 수행할 수 있다. 라인 보정의 적용 또는 미적용에 따라 수행된 정렬 결과의 예가 도 30 및 도 31에 도시된다. 예를 들어, 다양한 실시예들에 따르면, 라인 보정(예: 마그네틱 기능) 및 라인 별 정렬을 동시 또는 선택적으로 적용할 수 있으며, 라인 보정(예: 마그네틱 기능) 적용 여부에 따라 도 30 또는 도 31의 예시와 같은 결과가 제공될 수 있다.
도 30을 참조하면, 도 30은 라인 보정의 적용에 따른 라인 별 정렬의 결과 예를 나타낼 수 있다. 도 30에 예시한 바와 같이, 제2 액션에 대해 라인 보정(예: 마그네틱 기능) 적용 완료 후 정렬이 수행되는 경우, 제2 손 글씨(2950, 2960) 각각이 제1 손 글씨(2910, 2920, 2930, 2940)의 대응하는 라인(예: 첫 번째 라인(2910) 및 세 번째 라인(2930))에 덧붙이기 되고, 제2 액션의 제2 손 글씨(2950, 2960)에 의한 대상 관심 영역 지정에 따라, 제2 손 글씨(2950, 2960)가 라인 보정된 상태로 첫 번째 라인(2910) 및 세 번째 라인(2930)과 함께 정렬되어 제공될 수 있다. 예를 들어, 도 30의 경우, 제2 손 글씨(2950, 2960)를 대응하는 라인에 자동적으로 연관지어(또는 포함하여), 보다 깔끔하게 정리/정돈한 후 정렬하는 경우를 나타낼 수 있다.
도 31을 참조하면, 도 31은 라인 보정 미적용에 따른 라인 별 정렬의 결과 예를 나타낼 수 있다. 도 31에 예시한 바와 같이, 제2 액션에 대해 라인 보정(예: 마그네틱 기능) 미적용으로 정렬이 수행되는 경우, 제2 액션의 제2 손 글씨(2950, 2960)에 의한 대상 관심 영역 지정에 따라, 제2 손 글씨(2950, 2960)가 라인 보정 없이 최초 입력된 위치에서, 첫 번째 라인(2910) 및 세 번째 라인(2930)이 정렬되어 제공될 수 있다. 예를 들어, 도 31의 경우, 사용자가 제2 손 글씨(2950, 2960)의 입력 형태를 유지하고자 하는 경우, 라인 보정 기능을 생략하고 정렬하는 경우를 나타낼 수 있다.
도 32는 다양한 실시예들에 따른 전자 장치에서 크기 보정의 예를 설명하기 위한 도면이다.
일 실시예에 따라, 도 32에서는 크기 기반 균등화(size-based equalization)에 기반하여 액션 단위 별 손 글씨에 대한 크기 보정을 제공하는 예를 나타낼 수 있다. 예를 들면, 도 32에서는 기존 액션에 존재하는 손 글씨의 크기를 기반으로 최근 액션으로 입력된 손 글씨의 크기를 변경하여 덧붙이기(예: 라인 보정)를 수행하는 예를 나타낼 수 있다. 일 실시예에 따라, 도 32에서 사각 박스는 설명을 위해 도시된 것으로, 실제 화면에서는 표시되지 않을 수 있다.
도 32를 참조하면, 예시 화면 <3201>에 예시한 바와 같이, 사용자는 이전 액션(예: 제1 액션)에 따른 제1 손 글씨(3210) 이후에, 제2 손 글씨(3220)를 입력할 수 있다. 일 실시예에 따라, 사용자는 제2 손 글씨(3220)를 입력하고 제2 액션(예: 정렬 명령)을 수행할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 제2 액션(예: 정렬 명령)을 감지하는 경우, 제1 액션의 제1 손 글씨(3210)와 제2 액션의 제2 손 글씨(3220)의 크기를 비교하여, 제2 손 글씨(3220)의 크기를 제1 손 글씨(3210)(또는 제1 손 글씨(3210)의 연관된 라인의 객체)의 크기에 대응하는(또는 유사한) 크기로 보정할 수 있다. 어떤 실시예에 따르면, 전자 장치(101)는 크기 보정된 제2 손 글씨(3220)에 대해 라인 보정을 병렬적으로 처리할 수도 있다. 이의 예가 예시 화면 <3203>에 도시된다.
일 실시예에 따라, 예시 화면 <3203>에 예시한 바와 같이, 제2 손 글씨(3220)가 제1 손 글씨(3210)의 크기에 대응하는 크기로 변경되고, 제1 손 글씨(3210)와 가까운 위치로 이동되어 제공될 수 있다. 일 실시예에 따라, 크기 보정과 라인 보정은 선후 관계를 가지지 않으며, 크기 보정 후 라인 보정, 라인 보정 후 크기 보정, 또는 크기 보정 및 라인 보정이 병렬적으로 수행될 수 있다.
일 실시예에 따라, 예시 화면 <3203>에서, 제3 손 글씨(3230)과 제4 손 글씨(3240)은 추가적인 예를 설명하기 위해 도시한 것일 수 있다. 예를 들면, 제3 손 글씨(3230)과 제4 손 글씨(3240)의 경우, 상기의 라인 보정 및 크기 보정에 따라 예시 화면 <3205>에 예시한 바와 같이, 제4 손 글씨(3240)가 제3 손 글씨(3230)의 크기에 대응하는 크기로 변경되고, 제3 손 글씨(3210)와 줄 맞춤 되어 제공될 수 있다. 이의 예시에 대하여, 도 33 내지 도 37을 참조하여 설명된다.
도 33 및 도 34는 다양한 실시예들에 따른 전자 장치에서 크기 보정의 예를 설명하기 위한 도면들이다.
일 실시예에 따라, 도 33은 제2 손 글씨(3320)과 제4 손 글씨(3340)에 대해 크기 보정이 적용되기 전의 예를 나타낼 수 있고, 도 34는 제2 손 글씨(3320)과 제4 손 글씨(3340)에 대해, 각각 제1 손 글씨(3310)와 제3 손 글씨(3330)에 대응하여 크기 보정이 적용된 예를 나타낼 수 있다. 일 실시예에 따라, 손 글씨의 크기 보정은 손 글씨의 평균 높이를 보정하는 것을 포함할 수 있다.
일 실시예에 따르면, 제2 손 글씨(3320)의 크기(예: 도 33 참조)가 제1 손 글씨(3310)의 크기에 유사하게 변경(예: 도 34 참조)될 수 있다. 다른 예를 들면, 제4 손 글씨(3340)의 크기(예: 평균 높이)(예: 도 33 참조)가 제3 손 글씨(3330)의 크기(예: 평균 높이)에 유사하게 변경(예: 도 34 참조)될 수 있다.
일 실시예에 따르면, 전자 장치(101)는 최근 액션의 손 글씨(예: 제2 손 글씨(3320) 또는 제4 손 글씨(3340))의 크기를 기존 액션의 손 글씨(예: 제1 손 글씨(3310) 또는 제3 손 글씨(3330))의 크기에 유사하게 변경하는 것을 의미할 수 있다. 예를 들면, 전자 장치(101)는 새로 입력되는 손 글씨의 크기를 기존 입력된 손 글씨의 평균 크기에 대응하도록 변경할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 손 글씨 별 무게 중심(예: DirtyRect의 무게 중심)을 이용하여 크기를 변경할 수 있다.
도 33 및 도 34의 예시를 참조하면, 제3 손 글씨(3330)는 이전 액션(예: 제3 액션)에서 입력되고, 제4 손 글씨(3340)은 최근 액션(예: 제4 액션)에서 입력될 수 있다. 도 33에 예시된 바와 같이, 제4 손 글씨(3340)의 경우 제3 손 글씨(3330)와 대비하여 무게 중심에 편차가 존재할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 이전 액션의 손 글씨(예: 제1 손 글씨(3310) 또는 제3 손 글씨(3330))와 최근 액션의 손 글씨(예: 제2 손 글씨(3320) 또는 제4 손 글씨(3340))에서 무게 중심의 편차가 있는 경우, 도 34에 예시한 바와 같이, 최근 액션의 손 글씨(예: 제2 손 글씨(3320) 또는 제4 손 글씨(3340))의 무게 중심을 이전 액션의 손 글씨(예: 제1 손 글씨(3310) 또는 제3 손 글씨(3330))의 무게 중심(3410)에 맞게 재배치하고 크기를 균등화(또는 평균화) 하여 최근 액션의 손 글씨의 크기를 조정할 수 있다. 이의 예시에 대하여, 도 35 내지 도 37을 참조하여 설명된다.
도 35, 도 36 및 도 37은 다양한 실시예들에 따른 전자 장치에서 크기 보정의 동작 예를 설명하기 위한 도면들이다.
도 35를 참조하면, 예시 화면 <3501>에 예시한 바와 같이, 사용자는 이전 액션(예: 적어도 하나의 제1 액션)에 따른 제1 손 글씨(3510, 3520, 3530, 3540) 이후에, 예시 화면 <3503>에 예시한 바와 같이 제2 손 글씨(3550, 3560)를 제1 손 글씨(3510, 3520, 3530, 3540)의 임의 라인(예: 제1 손 글씨(3510, 3520, 3530, 3540) 중 첫 번째 라인의 손 글씨(3510) 및 세 번째 라인의 손 글씨(3530))에 연관되게 입력할 수 있다.
예를 들어, 예시 화면 <3503>에 예시한 바와 같이, 사용자는 첫 번째 라인의 손 글씨(3510)에 연관되게, 상대적으로 큰 크기의 제2 손 글씨(3550)를 입력하고, 세 번째 라인의 손 글씨(3530)에 연관되게, 상대적으로 작은 크기의 제2 손 글씨(3560)를 입력할 수 있다. 일 실시예에 따라, 사용자는 제2 손 글씨(3550, 3560)를 입력하고 제2 액션(예: 정렬 명령)을 수행할 수 있다.
일 실시예에 따라, 전자 장치(101)는 제2 액션(예: 정렬 명령)에 응답하여 제2 손 글씨(3550, 3560)에 대해 크기 보정(예: 크기 기반 균등화 보정 수행)을 처리할 수 있다. 예를 들면, 전자 장치(101)는 크기 기반 균등화 및 라인 별 정렬을 동시에 적용할 수 있다. 일 실시예에 따라, 크기 보정(예: 크기 기반 균등화)이 적용된 결과 및 크기 보정 적용에 따라 수행된 정렬 결과의 예가 도 36 및 도 37에 도시된다.
도 36을 참조하면, 도 36은 전자 장치(101)가 제2 액션(예: 정렬 명령)에 응답하여 제2 손 글씨(3550, 3560)에 대해 크기 보정(예: 크기 기반 균등화 보정 수행)된 결과의 예를 나타낼 수 있다. 도 36에 예시한 바와 같이, 전자 장치(101)는 제2 손 글씨(3550, 3560)에 대해, 제1 손 글씨(3510, 3520, 3530, 3540) 중 대응하는 손 글씨(3510, 3530)에 연관지어 크기 보정을 수행할 수 있다.
예를 들면, 도 36은 제2 액션에 따라 크기 기반 귱등화가 적용된 예를 나타낼 수 있으며, 제2 손 글씨(3550, 3560)가 각각 대응하는 라인의 손 글씨(3510, 3530)의 크기에 대응하도록 조정될 수 있다. 예를 들면, 전자 장치(101)는 최근 액션의 손 글씨를 이전 액션의 손 글씨 중 대응하는 라인의 손 글씨의 크기 기반으로 조정하여, 최근 액션의 손 글씨의 크기를 주변 라인과 같은 크기로 조정하여 제공할 수 있다.
도 37을 참조하면, 도 37은 크기 보정의 적용에 따른 라인 별 정령의 결과 예를 나타낼 수 있다. 도 37에 예시한 바와 같이, 제2 액션에 대해 크기 보정(예: 크기 기반 균등화) 적용 완료 후 정렬이 수행되는 경우, 제2 손 글씨(3550, 3560)에 의한 대상 관심 영역 지정에 따라, 제2 손 글씨(3550, 3560)가 크기 보정된 상태로 첫 번째 라인(3510) 및 세 번째 라인(3530)과 함께 정렬되어 제공될 수 있다. 예를 들어, 도 37의 경우, 제2 손 글씨(3550, 3560)를 대응하는 라인의 크기에 맞도록 자동적으로 조정한 후 정렬하는 경우를 나타낼 수 있다.
본 개시의 다양한 실시예들에 따른 전자 장치(101)에서 수행하는 동작 방법은, 손 글씨 입력을 지원하는 어플리케이션의 실행 화면을 표시하는 동작, 상기 실행 화면을 통해 손 글씨 입력을 감지하는 동작, 상기 손 글씨에 대응하는 적어도 하나의 객체에 기반하여 적어도 하나의 관심 영역을 설정하는 동작, 사용자의 액션(action)에 응답하여, 상기 적어도 하나의 관심 영역을 기반으로 대상 객체를 식별하는 동작, 및 상기 대상 객체에 기반하여 손 글씨 정렬을 수행하는 동작을 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 관심 영역을 설정하는 동작은, 상기 사용자의 액션 단위로 손 글씨를 구분하는 동작, 최근 액션에 관련된 적어도 하나의 손 글씨에 기반하여 상기 적어도 하나의 관심 영역을 설정하는 동작을 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 정렬을 수행하는 동작은, 상기 최근 액션에 관련된 적어도 하나의 손 글씨의 대상 객체에 기반하여, 사용자 의도에 관련된 대상 객체를 정렬하는 동작을 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 대상 객체를 인식하는 동작은, 상기 적어도 하나의 관심 영역의 제1 객체를 식별하는 동작, 이전 액션에 따른 손 글씨의 객체들 중 상기 제1 객체와 연관된 제2 객체를 식별하는 동작, 상기 제1 객체와 상기 제2 객체를 상기 대상 객체로 결정하는 동작, 상기 제1 객체와 상기 제2 객체를 포함하는 대상 관심 영역을 설정하는 동작, 상기 대상 관심 영역에 기반하여 상기 제1 객체와 상기 제2 객체를 함께 정렬하는 동작을 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 정렬하는 동작은, 상기 제1 객체를 상기 제2 객체에 대응하게 보정하는 동작을 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 정렬하는 동작은, 상기 제2 객체에 기반하여 상기 제1 객체의 라인 보정 및/또는 크기 보정 여부를 결정하는 동작, 결정하는 결과에 기반하여 상기 제1 객체의 라인 및/또는 크기 중 적어도 하나를 보정하는 동작, 상기 제1 객체의 보정이 적용된 상태에서, 상기 제1 객체와 상기 제2 객체를 정렬하는 동작을 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 전자 장치(101)에서 수행하는 동작 방법은, 제1 손 글씨 입력에 대응하는 적어도 하나의 제1 객체에 기반하여 제1 관심 영역을 설정 및 상기 제1 객체를 제1 액션에 매핑하는 동작, 상기 제1 액션을 위한 제1 정렬 트리거에 기반하여, 상기 제1 액션에 매핑된 상기 제1 객체를 정렬하는 동작, 제2 손 글씨 입력에 대응하는 적어도 하나의 제2 객체에 기반하여 제2 관심 영역을 설정 및 상기 제2 객체를 제2 액션에 매핑하는 동작, 상기 제2 액션을 위한 제2 정렬 트리거에 기반하여, 제1 액션에 매핑된 상기 제1 객체는 유지하는 상태에서, 상기 제2 액션에 매핑된 상기 제2 객체를 정렬하는 동작을 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 제1 손 글씨 및 상기 제2 손 글씨는 상기 제1 액션과 상기 제2 액션에 따른 액션 단위로 구분되고, 상기 제1 액션의 상기 제1 객체 중 상기 제2 액션의 상기 제2 객체와 교차되는 적어도 일부는 상기 제2 객체와 연관되고, 상기 제2 객체와 함께 정렬되는 것을 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 전자 장치(101)에서 수행하는 동작 방법은, 상기 제2 객체에 연관된 적어도 하나의 제3 객체를 식별하는 동작, 상기 제2 객체를 상기 제3 객체에 기반하여 보정하는 동작, 상기 보정된 제2 객체와 상기 제3 객체를 연관지어 정렬하는 동작을 포함할 수 있다.
본 명세서와 도면에 개시된 본 개시의 다양한 실시예들은 본 개시의 기술 내용을 쉽게 설명하고 본 개시의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 개시의 범위를 한정하고자 하는 것은 아니다. 따라서 본 개시의 범위는 여기에 개시된 실시예들 이외에도 본 개시의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 전자 장치에 있어서,
    디스플레이 모듈; 및
    상기 디스플레이 모듈과 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는,
    손 글씨 입력을 지원하는 어플리케이션의 실행 화면을 표시하고,
    상기 실행 화면을 통해 손 글씨 입력을 감지하고,
    상기 손 글씨에 대응하는 적어도 하나의 객체에 기반하여 적어도 하나의 관심 영역을 설정하고,
    사용자의 액션(action)에 응답하여, 상기 적어도 하나의 관심 영역을 기반으로 대상 객체를 식별하고, 및
    상기 대상 객체에 기반하여 손 글씨 정렬을 수행하도록 설정된 전자 장치.
  2. 제1항에 있어서, 상기 프로세서는,
    상기 사용자의 액션 단위로 손 글씨를 구분하고,
    최근 액션에 관련된 적어도 하나의 손 글씨에 기반하여 상기 적어도 하나의 관심 영역을 설정하는 전자 장치.
  3. 제2항에 있어서, 상기 프로세서는,
    상기 최근 액션에 관련된 적어도 하나의 손 글씨의 대상 객체에 기반하여, 사용자 의도에 관련된 대상 객체를 정렬하도록 설정된 전자 장치.
  4. 제2항에 있어서, 상기 프로세서는,
    상기 적어도 하나의 관심 영역의 제1 객체를 식별하고,
    이전 액션에 따른 손 글씨의 객체들 중 상기 제1 객체와 연관된 제2 객체를 식별하고,
    상기 제1 객체와 상기 제2 객체를 상기 대상 객체로 결정하고,
    상기 적어도 하나의 관심 영역의 제1 객체 및 상기 제2 객체를 포함하는 대상 관심 영역을 설정하고,
    상기 대상 관심 영역에 기반하여 상기 제1 객체와 상기 제2 객체를 함께 정렬하도록 설정된 전자 장치.
  5. 제4항에 있어서, 상기 프로세서는,
    상기 제1 객체를 상기 제2 객체에 대응하게 보정하도록 설정된 전자 장치.
  6. 제5항에 있어서, 상기 프로세서는,
    상기 제2 객체에 기반하여 상기 제1 객체의 라인 보정 및/또는 크기 보정 여부를 결정하고,
    결정하는 결과에 기반하여 상기 제1 객체의 라인 및/또는 크기 중 적어도 하나를 보정하고,
    상기 제1 객체의 보정이 적용된 상태에서, 상기 제1 객체와 상기 제2 객체를 정렬하도록 설정된 전자 장치.
  7. 제2항에 있어서, 상기 프로세서는,
    제1 손 글씨 입력에 대응하는 적어도 하나의 제1 객체에 기반하여 제1 액션에 관련된 제1 관심 영역을 설정하고,
    상기 제1 액션을 위한 제1 정렬 트리거에 기반하여, 상기 제1 액션에 관련된 상기 제1 객체에 대한 정렬을 수행하고,
    제2 손 글씨 입력에 대응하는 적어도 하나의 제2 객체에 기반하여 제2 액션에 관련된 제2 관심 영역을 설정하고,
    상기 제2 액션을 위한 제2 정렬 트리거에 기반하여, 상기 제1 객체의 적어도 일부는 유지하는 상태에서, 상기 제2 액션에 관련된 상기 제2 객체에 대한 정렬을 수행하도록 설정된 전자 장치.
  8. 제7항에 있어서, 상기 프로세서는,
    상기 제1 객체 중 상기 제2 객체에 연관된 적어도 하나의 제3 객체를 식별하고,
    상기 제2 객체를 상기 제3 객체에 기반하여 보정하고,
    상기 보정된 제2 객체와 상기 제3 객체를 연관지어 정렬을 수행하도록 설정된 전자 장치.
  9. 제2항에 있어서, 상기 프로세서는,
    제1 손 글씨 입력에 대응하는 적어도 하나의 제1 객체에 기반하여 제1 관심 영역을 설정 및 상기 제1 객체를 제1 액션에 매핑하고,
    상기 제1 액션을 위한 제1 정렬 트리거에 기반하여, 상기 제1 액션에 매핑된 상기 제1 객체를 정렬하고,
    제2 손 글씨 입력에 대응하는 적어도 하나의 제2 객체에 기반하여 제2 관심 영역을 설정 및 상기 제2 객체를 제2 액션에 매핑하고,
    상기 제2 액션을 위한 제2 정렬 트리거에 기반하여, 제1 액션에 매핑된 상기 제1 객체는 유지하는 상태에서, 상기 제2 액션에 매핑된 상기 제2 객체를 정렬하도록 설정되고,
    상기 제1 손 글씨 및 상기 제2 손 글씨는 상기 제1 액션과 상기 제2 액션에 따른 액션 단위로 구분되고,
    상기 제1 액션의 상기 제1 객체 중 상기 제2 액션의 상기 제2 객체와 교차되는 적어도 일부는 상기 제2 객체와 연관되고, 상기 제2 객체와 함께 정렬되는 전자 장치.
  10. 전자 장치의 동작 방법에 있어서,
    손 글씨 입력을 지원하는 어플리케이션의 실행 화면을 표시하는 동작;
    상기 실행 화면을 통해 손 글씨 입력을 감지하는 동작;
    상기 손 글씨에 대응하는 적어도 하나의 객체에 기반하여 적어도 하나의 관심 영역을 설정하는 동작;
    사용자의 액션(action)에 응답하여, 상기 적어도 하나의 관심 영역을 기반으로 대상 객체를 식별하는 동작; 및
    상기 대상 객체에 기반하여 손 글씨 정렬을 수행하는 동작을 포함하는 방법.
  11. 제10항에 있어서, 상기 관심 영역을 설정하는 동작은,
    상기 사용자의 액션 단위로 손 글씨를 구분하는 동작,
    최근 액션에 관련된 적어도 하나의 손 글씨에 기반하여 상기 적어도 하나의 관심 영역을 설정하는 동작을 포함하는 방법.
  12. 제11항에 있어서, 상기 정렬을 수행하는 동작은,
    상기 최근 액션에 관련된 적어도 하나의 손 글씨의 대상 객체에 기반하여, 사용자 의도에 관련된 대상 객체를 정렬하는 동작을 포함하는 방법.
  13. 제11항에 있어서, 상기 대상 객체를 인식하는 동작은,
    상기 적어도 하나의 관심 영역의 제1 객체를 식별하는 동작,
    이전 액션에 따른 손 글씨의 객체들 중 상기 제1 객체와 연관된 제2 객체를 식별하는 동작,
    상기 제1 객체와 상기 제2 객체를 상기 대상 객체로 결정하는 동작,
    상기 제1 객체와 상기 제2 객체를 포함하는 대상 관심 영역을 설정하는 동작,
    상기 대상 관심 영역에 기반하여 상기 제1 객체와 상기 제2 객체를 함께 정렬하는 동작을 포함하는 방법.
  14. 제13항에 있어서, 상기 정렬하는 동작은,
    상기 제2 객체에 기반하여 상기 제1 객체의 라인 보정 및/또는 크기 보정 여부를 결정하는 동작,
    결정하는 결과에 기반하여 상기 제1 객체의 라인 및/또는 크기 중 적어도 하나를 보정하는 동작,
    상기 제1 객체의 보정이 적용된 상태에서, 상기 제1 객체와 상기 제2 객체를 정렬하는 동작을 포함하는 방법.
  15. 제11항에 있어서,
    제1 손 글씨 입력에 대응하는 적어도 하나의 제1 객체에 기반하여 제1 관심 영역을 설정 및 상기 제1 객체를 제1 액션에 매핑하는 동작,
    상기 제1 액션을 위한 제1 정렬 트리거에 기반하여, 상기 제1 액션에 매핑된 상기 제1 객체를 정렬하는 동작,
    제2 손 글씨 입력에 대응하는 적어도 하나의 제2 객체에 기반하여 제2 관심 영역을 설정 및 상기 제2 객체를 제2 액션에 매핑하는 동작,
    상기 제2 액션을 위한 제2 정렬 트리거에 기반하여, 제1 액션에 매핑된 상기 제1 객체는 유지하는 상태에서, 상기 제2 액션에 매핑된 상기 제2 객체를 정렬하는 동작을 포함하고,
    상기 제1 손 글씨 및 상기 제2 손 글씨는 상기 제1 액션과 상기 제2 액션에 따른 액션 단위로 구분되고,
    상기 제1 액션의 상기 제1 객체 중 상기 제2 액션의 상기 제2 객체와 교차되는 적어도 일부는 상기 제2 객체와 연관되고, 상기 제2 객체와 함께 정렬되는 것을 특징으로 하는 방법.
PCT/KR2021/008737 2020-08-04 2021-07-08 전자 장치에서 손 글씨 입력 제공 방법 및 장치 WO2022030776A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/105,931 US11995308B2 (en) 2020-08-04 2023-02-06 Method and device for providing handwriting input in electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200097114A KR20220017063A (ko) 2020-08-04 2020-08-04 전자 장치에서 손 글씨 입력 제공 방법 및 장치
KR10-2020-0097114 2020-08-04

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/105,931 Continuation US11995308B2 (en) 2020-08-04 2023-02-06 Method and device for providing handwriting input in electronic device

Publications (1)

Publication Number Publication Date
WO2022030776A1 true WO2022030776A1 (ko) 2022-02-10

Family

ID=80117357

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/008737 WO2022030776A1 (ko) 2020-08-04 2021-07-08 전자 장치에서 손 글씨 입력 제공 방법 및 장치

Country Status (3)

Country Link
US (1) US11995308B2 (ko)
KR (1) KR20220017063A (ko)
WO (1) WO2022030776A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140089915A (ko) * 2013-01-08 2014-07-16 주식회사 인프라웨어 필기 문자 조정 방법 및 장치
KR101467295B1 (ko) * 2013-03-18 2014-12-01 주식회사 피엔에프 필기 정렬이 가능한 정보 입력 장치 및 방법
KR20160062566A (ko) * 2014-11-25 2016-06-02 삼성전자주식회사 필기 문자를 보정하는 디바이스 및 방법
KR20160064925A (ko) * 2014-11-28 2016-06-08 삼성전자주식회사 필기 입력 장치 및 그 제어 방법
JP2018137001A (ja) * 2018-06-07 2018-08-30 シャープ株式会社 情報処理装置、情報処理プログラムおよび情報処理方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4741977B2 (ja) 2006-05-23 2011-08-10 キヤノン株式会社 手書文字処理装置及び手書文字処理方法
KR101623213B1 (ko) 2009-12-24 2016-05-31 삼성전자주식회사 펜 입력 장치 및 방법
US20120318077A1 (en) 2011-06-15 2012-12-20 Paca Roy Ergonomically enhanced System and Method for Handwriting
JP5723697B2 (ja) 2011-06-30 2015-05-27 シャープ株式会社 手書き入力機能付表示装置
JP2014153447A (ja) 2013-02-06 2014-08-25 Seiko Epson Corp プロジェクター及びプロジェクターにおける軌跡画像表示方法
KR102245706B1 (ko) 2013-09-17 2021-04-28 삼성전자주식회사 데이터 처리 방법 및 그 전자 장치
KR102063766B1 (ko) 2013-09-17 2020-01-08 엘지전자 주식회사 이동 단말기 및 그것의 제어방법
KR20160062565A (ko) * 2014-11-25 2016-06-02 삼성전자주식회사 디바이스 및 디바이스의 필기 컨텐트 제공 방법
US10489051B2 (en) 2014-11-28 2019-11-26 Samsung Electronics Co., Ltd. Handwriting input apparatus and control method thereof
US10410316B2 (en) 2015-12-08 2019-09-10 Myscript System and method for beautifying digital ink
JP7166580B2 (ja) 2017-09-19 2022-11-08 有限会社オフィス・アイカワ 言語学習方法
US11023661B2 (en) 2018-05-03 2021-06-01 Microsoft Technology Licensing, Llc Visually enhanced digital ink
US20210350122A1 (en) * 2020-05-11 2021-11-11 Apple Inc. Stroke based control of handwriting input

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140089915A (ko) * 2013-01-08 2014-07-16 주식회사 인프라웨어 필기 문자 조정 방법 및 장치
KR101467295B1 (ko) * 2013-03-18 2014-12-01 주식회사 피엔에프 필기 정렬이 가능한 정보 입력 장치 및 방법
KR20160062566A (ko) * 2014-11-25 2016-06-02 삼성전자주식회사 필기 문자를 보정하는 디바이스 및 방법
KR20160064925A (ko) * 2014-11-28 2016-06-08 삼성전자주식회사 필기 입력 장치 및 그 제어 방법
JP2018137001A (ja) * 2018-06-07 2018-08-30 シャープ株式会社 情報処理装置、情報処理プログラムおよび情報処理方法

Also Published As

Publication number Publication date
KR20220017063A (ko) 2022-02-11
US20230185448A1 (en) 2023-06-15
US11995308B2 (en) 2024-05-28

Similar Documents

Publication Publication Date Title
WO2022080617A1 (en) Electronic device including flexible display and method for operating screen of electronic device
WO2022031051A1 (ko) 캡쳐 기능 제공 방법 및 그 전자 장치
WO2021066468A1 (en) Electronic device and control method thereof
WO2023282563A1 (ko) 복수의 터치스크린 디스플레이를 포함하는 전자 장치 및 화면 분할 방법
WO2022025450A1 (ko) 슬라이딩 가능한 전자 장치 및 이의 제어 방법
WO2022098125A1 (en) Electronic device and screen control method thereof
WO2022103174A1 (ko) 표시 영역이 가변되는 디스플레이를 포함하는 전자 장치 및 앱 아이콘을 이용하여 화면 비율을 가변적으로 운용하는 방법
WO2022164200A1 (ko) 전자 장치 및 전자 장치에서 스트로크 분석 기반 도형 인식 방법
WO2022154423A1 (ko) 전자 장치 및 전자 장치에서 스타일러스 펜의 입력을 처리하는 방법
WO2020027562A1 (en) Electronic apparatus for controlling display of virtual input interface in environment of a plurality of output screens and operating method thereof
WO2022030776A1 (ko) 전자 장치에서 손 글씨 입력 제공 방법 및 장치
WO2022108379A1 (ko) 확장 가능한 디스플레이를 포함하는 전자 장치 및 컨텐츠 제공 방법
WO2022149954A1 (ko) 플렉서블 디스플레이를 갖는 전자 장치 및 그의 모드 변경에 따른 제어 패널 제공 방법
WO2022010279A1 (en) Electronic device for converting handwriting to text and method therefor
WO2022030865A1 (ko) 손글씨 정렬 방법 및 장치
WO2022025451A1 (ko) 슬라이딩 가능한 전자 장치 및 이의 제어 방법
WO2022025400A1 (ko) 전자 펜과 연동된 화면 분할 제공 방법 및 이를 이용한 폴더블 전자 장치
WO2020060121A1 (ko) 필기 입력에 대한 보정 방법, 이를 위한 전자 장치 및 저장 매체
WO2022080939A1 (ko) 전자 장치 및 전자 장치의 키패드 운영 방법
WO2024080584A1 (ko) 전자 장치 및 이의 포스 터치 동작 개선 방법
WO2023018223A1 (ko) 터치 스크린 패널을 포함하는 전자 장치 및 전자 장치의 동작 방법
WO2023017992A1 (ko) 전자 장치 및 전자 장치의 컨텐츠 편집 방법
WO2022119117A1 (ko) 플렉서블 디스플레이를 구비한 전자 장치 및 그의 동작 방법
WO2022154635A1 (ko) 폴더블 디스플레이를 포함하는 전자 장치 및 그 제어 방법
WO2023146077A1 (ko) 가상 키보드 상의 터치 입력으로부터 사용자 의도를 인식하기 위한 전자 장치, 방법, 및 비일시적 컴퓨터 판독가능 저장 매체

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: 21852450

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21852450

Country of ref document: EP

Kind code of ref document: A1