Electronic device and method for correcting handwriting input data
The electronic device corrects and beautifies handwriting input by recognizing phoneme characters and updating touch trajectories, ensuring that the user's unique style is maintained, addressing the issue of lost personal touch in existing correction methods.
Patent Information
- Application Number
- PCT/KR2024/008890
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-11
- Filing Date
- 2024-06-26
- Publication Date
- 2025-01-23
AI Technical Summary
Existing methods for correcting handwriting input on touchscreen devices often fail to accurately reflect unique user handwriting characteristics, leading to loss of personal style and unnatural corrections.
An electronic device that recognizes handwriting input in units of phoneme characters, distinguishes first and subsequent strokes, checks point intersections, and updates touch trajectories to correct and beautify handwriting while maintaining the user's original characteristics.
The solution provides neatly organized and aesthetically improved handwriting that retains the user's unique handwriting style, ensuring a natural and recognizable output.
Smart Images

Figure KR2024008890_23012025_PF_FP_ABST
Abstract
Description
Methods for calibrating electronic devices and handwriting input data
[0001] The present invention relates to an electronic device and a method for correcting handwriting input data.
[0002] Electronic devices provide the ability to input handwriting on a touchscreen display. The electronic device recognizes handwritten input (cursive input) through touch trajectories generated by touching (or contacting) the touchscreen display, and can utilize the recognized handwriting input data for various functions of the electronic device, such as writing notes and sending handwritten messages.
[0003] However, handwriting input drawn by a user on a touchscreen display can have significant errors depending on the characteristics of the touchscreen display surface or the user's handwriting. Accordingly, technologies related to correction or beautification of handwriting input data on touchscreen displays are being developed.
[0004] Handwriting input data can be corrected by applying a system-defined pen or brush style, or by batch-applying the user's handwriting to a commercially available font. However, these correction methods may not properly reflect the user's unique handwriting characteristics, resulting in loss of the user's handwriting characteristics or corrections that do not match the user's handwriting.
[0005] Various embodiments seek to provide a method for providing more neatly organized handwriting while maintaining the user's handwriting characteristics (or handwriting style).
[0006] However, the problem to be solved in this disclosure is not limited to the problem mentioned above, and may be expanded in various ways without departing from the spirit and scope of this disclosure.
[0007] An electronic device according to one embodiment may include a touchscreen display, a memory storing executable instructions, and a processor accessing the memory to execute the instructions.
[0008] According to one embodiment, the instructions, when executed by the processor, may cause the electronic device to receive a user input including a touch trajectory from the touchscreen display. According to one embodiment, the instructions may cause the electronic device to recognize handwriting input data in individual phoneme units based on the user input. According to one embodiment, the instructions may cause the electronic device to distinguish, for each phoneme corresponding to the recognized handwriting input data, a first stroke and an Nth stroke constituting the phoneme. According to one embodiment, the instructions may cause the electronic device to check a point intersection of the first stroke and the Nth stroke for each phoneme. According to one embodiment, the instructions may cause the electronic device to correct each phoneme based on a position of the checked point intersection. According to one embodiment, the instructions may cause the electronic device to update a touch trajectory corresponding to the handwriting input data based on the corrected phoneme.
[0009] A method for correcting handwriting input data of an electronic device according to one embodiment may include receiving a user input including a touch trajectory from a touchscreen display. The method according to one embodiment may include recognizing handwriting input data in individual phoneme units based on the user input. The method according to one embodiment may include distinguishing a phoneme corresponding to the recognized handwriting input data into a first stroke and an Nth stroke constituting the phoneme. The method according to one embodiment may include checking a point intersection of the first stroke and the Nth stroke for each phoneme. The method according to one embodiment may include correcting each phoneme based on a position of the checked point intersection. The method according to one embodiment may include updating a touch trajectory corresponding to the handwriting input data based on the corrected phoneme.
[0010] The electronic device of the present invention may include a computer-readable recording medium having recorded thereon a program for implementing a method for correcting handwriting input data.
[0011] Electronic devices, methods and recording media according to various embodiments can recognize handwriting input data in units of individual phonemes (or single characters) and correct the user's handwriting for each individual phoneme by considering the relationship characteristics between strokes constituting the phoneme.
[0012] Electronic devices, methods and recording media according to various embodiments can not only change a user's handwriting input into a more neat handwriting than the original, but also maintain the user's handwriting characteristics even after correction, thereby providing an effect that does not cause the user to feel uncomfortable about the handwriting being changed.
[0013] In addition, the effects that can be obtained or expected by various embodiments of this document may be disclosed directly or implicitly in the detailed description of the embodiments of this document.
[0014] FIG. 1 is a block diagram of an electronic device within a network environment according to one embodiment.
[0015] FIG. 2 is a schematic block diagram of an electronic device supporting a handwriting input correction function according to one embodiment.
[0016] FIG. 3 illustrates a method for correcting handwriting input data of an electronic device according to one embodiment.
[0017] Figure 4 is an example diagram for explaining recognition by phoneme unit according to one embodiment.
[0018] Figures 5a to 5d are exemplary diagrams for explaining the standard characteristics of the recognition code for each phoneme unit of a language according to one embodiment.
[0019] FIG. 6 illustrates a method for correcting handwriting input data of an electronic device according to one embodiment.
[0020] FIGS. 7A and 7B are exemplary diagrams of a correction screen that excludes a portion of a stroke for handwriting input according to one embodiment.
[0021] FIG. 8 and FIG. 9 are screen examples showing the difference before and after correction of handwriting input according to one embodiment.
[0022] FIG. 10 illustrates a method for correcting handwriting input data of an electronic device according to one embodiment.
[0023] Electronic devices according to the embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments disclosed in this document are not limited to the aforementioned devices.
[0024] FIG. 1 is a block diagram of an electronic device within a network environment according to one embodiment.
[0025] Referring to FIG. 1, in a network environment (100), an electronic device (101) may communicate with an electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of an electronic device (104) or a server (108) via a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) via the server (108). According to one embodiment, the electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a connection terminal (178), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197). In some embodiments, the electronic device (101) may omit at least one of these components (e.g., the connection terminal (178)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)).
[0026] The processor (120) may include at least one processing circuit. The processor (120) may, for example, execute software (e.g., a program (140)) to control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) and perform various data processing or operations. According to one embodiment, as at least a part of the data processing or operations, the processor (120) may store commands or data received from other components (e.g., a sensor module (176) or a communication module (190)) in the volatile memory (132), process the commands or data stored in the volatile memory (132), and store the resulting data in the non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or an auxiliary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together with the main processor (121). For example, when the electronic device (101) includes the main processor (121) and the auxiliary processor (123), the auxiliary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a given function. The auxiliary processor (123) may be implemented separately from the main processor (121) or as a part thereof.
[0027] The auxiliary processor (123) may control at least a portion of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). In one embodiment, the auxiliary processor (123) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, in the electronic device (101) itself where artificial intelligence is performed, or can be performed through a separate server (e.g., server (108)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.
[0028] The memory (130) can store various data used by at least one component (e.g., the processor (120) or the sensor module (176)) of the electronic device (101). The data can include, for example, software (e.g., the program (140)) and input data or output data for commands related thereto. The memory (130) can include a volatile memory (132) or a non-volatile memory (134). The memory (130) can include commands executable by the processor (120).
[0029] The program (140) may be stored as software in the memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).
[0030] The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0031] The audio output module (155) can output audio signals to the outside of the electronic device (101). The audio output module (155) can 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 can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0032] The display module (160) can visually provide information to an external party (e.g., a user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. In one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.
[0033] The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (101).
[0034] The sensor module (176) may include at least one sensor. The sensor module (176) may detect an operating state (e.g., power or temperature) of the electronic device (101) or an external environmental state (e.g., user state) and generate an electrical signal or data value corresponding to the detected state. According to one embodiment, 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, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0035] The interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the electronic device (102)). In one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0036] The connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0037] A haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. In one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
[0038] The camera module (180) may include at least one camera. The camera module (180) may capture still images and moving images. In one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
[0039] The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented, for example, as at least a part of a power management integrated circuit (PMIC).
[0040] A battery (189) may power at least one component of the electronic device (101). In one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0041] The communication module (190) may include at least one communication circuit. The communication module (190) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., the electronic device (102), the electronic device (104), or the server (108)), and the performance of communication through the established communication channel. The communication module (190) may operate independently from the processor (120) (e.g., an application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (194) (e.g., a local area network (LAN) communication module, or a power line communication module). Among these communication modules, the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules can be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).
[0042] The wireless communication module (192) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (192) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), an external electronic device (e.g., the electronic device (104)), or a network system (e.g., the second network (199)). According to one embodiment, the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.
[0043] The antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one embodiment, the antenna module (197) may include a plurality of antennas (e.g., 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), may be selected from the plurality of antennas by, for example, the communication module (190). 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. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (197).
[0044] In one embodiment, the antenna module (197) may form a mmWave antenna module. In one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.
[0045] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
[0046] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199). Each of the external electronic devices (102 or 104) may be the same or a different type of device as the electronic device (101). According to one embodiment, all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In another embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server utilizing machine learning and / or a neural network. According to one embodiment, the external electronic device (104) or the server (108) may be included in the second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
[0047] FIG. 2 illustrates a schematic block diagram of an electronic device supporting a handwriting input correction function according to one embodiment.
[0048] Referring to FIG. 2, an electronic device supporting a handwriting input correction function according to one embodiment may include a touchscreen display (210) (e.g., display module (160) of FIG. 1), a processor (220) (e.g., processor (120) of FIG. 1), and a memory (230) (e.g., memory (130) of FIG. 1). The electronic device (101) illustrated in FIG. 2 may further include at least some of the configurations and / or functions of the electronic device (101) of FIG. 1.
[0049] The touchscreen display (210) can display various images under the control of the processor (220). For example, the touchscreen display (210) can be implemented as any one of a liquid crystal display (LCD), a light-emitting diode (LED) display, a micro LED display, a quantum dot (QD) display, or an organic light-emitting diode (OLED) display, but is not limited thereto.
[0050] The touchscreen display (210) can detect touch and / or proximity touch (or hovering) input using a part of the user's body (e.g., a finger) or an input device (e.g., an electronic pen). For example, the touchscreen display (210) can include one or more touch sensors. The touch sensors can include, but are not limited to, any one of a conductivity sensor, a capacitive touch sensor, a resistive touch sensor, a surface touch sensor, a projected captivated (PCAP) touch sensor, or a surface acoustic wave touch sensor. The touchscreen display (210) can include at least some of the configurations and / or functions of the display module (160) and the input module (150) of FIG. 1.
[0051] The memory (230) can store various instructions that can be performed by the processor (220). The instructions can include arithmetic and logical operations, data movement, or control commands such as input / output that can be recognized by the processor (220). The memory (230) can include at least some of the configuration and / or functions of the memory (130) of FIG. 1.
[0052] The processor (220) may be operatively, functionally, and / or electrically connected to each component (e.g., a touchscreen display (210) and a memory (230)) of the electronic device (101), and may be configured to perform operations or data processing related to control and / or communication of each component. The processor (220) may include at least some of the configurations and / or functions of the processor (120) of FIG. 1.
[0053] According to one embodiment, the processor (220) may include a handwriting recognition engine (221) and a beautification engine (223). The processor (220) may perform handwriting recognition on user input through the handwriting recognition engine (221), and may correct (or beautify, modify, re-write, adopt, revamp, recast, alter) the recognized handwriting input (cursive input, touch drawing input) through the beautification engine (223).
[0054] For example, input data of the handwriting recognition engine (221) may be touch data, and output data of the handwriting recognition engine (221) may be handwriting input data (e.g., including a recognition code and stroke data). The handwriting input data, which is a recognition result of the handwriting recognition engine (221), is transmitted as input data of the beautification engine (223), and the output data of the beautification engine (223) may be updated handwriting input data (or updated stroke data).
[0055] According to one embodiment, the processor (220) may transmit result data (e.g., updated stroke data) output from the beautification engine (223) to the touchscreen display (210) and control the touchscreen display (210) to output corrected (or beautified) handwriting input.
[0056] There is no limitation to the computational and data processing functions that the processor (220) can implement on the electronic device (101), but below will be described operations for correcting (or beautifying, modifying, rewriting, adopting, revising, recasting, altering) a user's handwriting input (cursive input, touch drawing input) on a phoneme basis. The operations of the processor (220) to be described below can be performed by loading instructions stored in the memory (230). An electronic device (101) according to an embodiment may include a touchscreen display (210), a memory (230) that stores executable instructions, and a processor (220) that accesses the memory (230) to execute the instructions.
[0057] According to one embodiment, the processor (220) can receive a user input including a touch trajectory from the touchscreen display (210).
[0058] According to one embodiment, the processor (220) can recognize handwriting input data in individual phoneme character units based on the user input.
[0059] According to one embodiment, the processor (220) can distinguish between the first stroke and the Nth stroke constituting the lowercase letter for each lowercase letter included in the recognized handwriting input data.
[0060] According to one embodiment, the processor (220) can check the point intersection of the first stroke and the Nth stroke points for each lowercase letter.
[0061] According to one embodiment, the processor (220) can correct each lowercase letter according to the location of the checked point intersections.
[0062] According to one embodiment, the processor (220) can update a touch trajectory corresponding to the handwriting input data based on the corrected phonetic characters.
[0063] According to one embodiment, the touch trajectory may include coordinate data of consecutive touch points.
[0064] According to one embodiment, the processor (220) recognizes handwriting input data in individual phoneme character units based on the user input, and as a result of the recognition, can output a recognition code and stroke data for each phoneme character.
[0065] According to one embodiment, the stroke data may include at least one of a recognition code for identifying a phonetic character, the number of strokes, the order of strokes, index information of points of strokes, thickness of strokes, position of strokes, length of strokes, inclination of strokes, direction of strokes, and distance between strokes.
[0066] According to one embodiment, the processor (220) may be further configured to distinguish the first stroke and the Nth strokes constituting the phoneme for each phoneme, by checking a recognition code for each phoneme included in the handwriting input data, extracting stroke features constituting the individual phoneme, comparing the stroke features of the recognized phoneme with reference features defined in the recognition code corresponding to each phoneme, selecting a phoneme to be corrected among the handwriting-recognized user inputs, and distinguishing the selected phoneme by the first stroke and the Nth strokes.
[0067] According to one embodiment, the processor (220) may be configured to extract stroke features constituting the individual lowercase letters, extract angular components of points included in each stroke, convert the extracted angular components into direction vectors, convert the angular components of the points into 8-directional vectors, and then convert the 8-directional vectors into stroke scores to distinguish each stroke type.
[0068] According to one embodiment, the stroke type may include one of a horizontal stroke, a vertical stroke, or another stroke type.
[0069] According to one embodiment, the processor (220) may be configured to perform an operation of correcting each lowercase letter according to the positions of the checked point intersections, such as determining whether the trajectories of the first stroke and the Nth stroke constituting the lowercase letter intersect each other, and if there is a point intersection in the trajectories of the points of the first stroke and the Nth stroke, removing an over-trajectory between the point intersections of the first stroke and the Nth stroke, and if there is no point intersection of the touch points of the first stroke and the Nth stroke, increasing the touch trajectory of either the first stroke or the Nth stroke so that a point intersection occurs among the touch points.
[0070] According to one embodiment, the processor (220) may be configured to increase a touch trajectory of the first stroke or the Nth stroke so that a point intersection occurs among the touch points when there is no point intersection between the touch points of the first stroke and the Nth stroke, and may generate a point intersection between the two strokes when there is no point intersection where the trajectories intersect between the points of the first stroke and the Nth stroke, and may increase the touch trajectory of the first stroke or the Nth stroke so that it is connected to the generated point intersection.
[0071] According to one embodiment, the processor (220) may be configured to perform an operation of correcting each lowercase letter according to the positions of the checked point intersections, such that when the lowercase letter is recognized as a lowercase letter composed of one stroke, the point intersection between the start point and the end point of one stroke is checked, and when the point intersection of the start point and the end point is over, the points of the overlapping stroke are removed, and when the start point and the end point do not intersect, the touch trajectory is increased so that a point intersection is generated.
[0072] According to one embodiment, the processor (220) may be configured not to perform correction on the recognized lowercase letter if the stroke characteristics of the lowercase letter recognized based on the user input do not match the reference characteristics defined in the recognition code of the corresponding lowercase letter.
[0073] According to one embodiment, the processor (220) may be configured to use a CCW (counterclockwise) algorithm as an operation for determining whether the trajectories of the first stroke and the Nth stroke constituting the phonetic character intersect each other, or to check whether a point intersection of the touch points of the first stroke and the Nth stroke exists, or to check whether a part of the touch point included in the trajectory of the first stroke is included in a part of the touch point included in the trajectory of the Nth stroke.
[0074] FIG. 3 illustrates a method for correcting handwriting input data of an electronic device according to one embodiment, and FIG. 4 is an exemplary diagram for explaining recognition by phoneme unit according to one embodiment. FIGS. 5a to 5d are exemplary diagrams for explaining the standard characteristics of recognition codes by phoneme unit of a language according to one embodiment.
[0075] Referring to FIG. 3, a processor (e.g., processor (120) of FIG. 1, processor (220) of FIG. 2) of an electronic device (101) according to one embodiment may receive a user input (e.g., touch data) including a touch trajectory in operation 310.
[0076] The processor (220) can receive user input (e.g., touch data including a touch trajectory) based on proximity and / or touch signals from the touchscreen display (210).
[0077] For example, an electronic device may receive user input through an application that allows handwriting input (e.g., a memo app, a note app) or an area that allows handwriting input (e.g., a touch drawing area). The user input may include a touch trajectory (or touch coordinates).
[0078] In operation 320, the processor (220) can recognize handwriting input (e.g., handwriting input, cursive input, touch drawing input, pen input) based on user input. For example, the processor (220) can analyze touch data transmitted from the touchscreen display (210) through a handwriting recognition engine (e.g., handwriting recognition engine (221) of FIG. 2) to perform handwriting recognition. Handwriting input can refer to data in which characters are recognized based on a user's touch trajectory.
[0079] According to one embodiment, the processor (220) can recognize handwriting input by dividing it into individual phoneme characters (or single letters) through the handwriting recognition engine (221). A phoneme or single letter unit may refer to the smallest sound unit that distinguishes the meaning of a word in the phonetic system of a language. For example, English divides each alphabet into a phoneme unit, and Korean can divide consonants ㄱ, ㄴ, ㄷ and vowels ㅏ, ㅑ into a phoneme unit. In addition, in the case of Korean, the phoneme character can also be divided into initial / medial / final consonant units depending on the position.
[0080] For example, the handwriting recognition engine (221) can group strokes according to touch trajectories included in user input (e.g., touch data) into a phoneme character (or single character) unit, and recognize (or select) a phoneme character (or single character) composed of the grouped strokes. For example, when a first stroke (e.g., vertical stroke) and a second stroke (e.g., horizontal stroke) constitute a single character (e.g., capital letter T), the handwriting recognition engine (221) can group the first stroke and the second stroke into a single group, and recognize (or select) the grouped strokes as a single phoneme character (e.g., capital letter T).
[0081] The handwriting recognition engine (221) can output stroke data (or handwriting input data, cursive data, touch drawing data, pen drawing data) of recognized phoneme characters (e.g., English, numbers, Korean, symbols, etc.) as handwriting input data as a recognition result. The stroke data can include a recognition code (e.g., T) for identifying a phoneme character and stroke information (e.g., stroke information constituting the phoneme character “T”). Stroke information may include at least one of the number of strokes grouped into one phoneme (e.g., a number), the order of strokes (e.g., the order of the first stroke and the second stroke), points of the stroke (e.g., index information of points included in the first stroke, index information of points included in the second stroke), stroke thickness or pen pressure (e.g., stroke thickness, size of touch area), stroke position, stroke length, stroke inclination, stroke direction, and / or distance between each stroke.
[0082] According to one embodiment, the handwriting recognition engine (221) can perform the task of learning and recognizing the user's handwriting input through deep learning or machine learning.
[0083] The processor (220) can transmit handwriting input data (e.g., recognition code and stroke data) recognized in lowercase letters through the handwriting recognition engine (221) to the beautification engine (223).
[0084] For example, as illustrated in FIG. 4, a user may input "He" by handwriting through a touchscreen display (210). The processor (220) may group and distinguish three strokes constituting "H" and one stroke constituting "e" through handwriting recognition in lowercase units, and recognize the capital letter "H" (410) and the lowercase letter "e" (420). The capital letter "H" (410) in lowercase units is a recognition code H (e.g., a digital code) and includes three strokes, and the lowercase letter "e" (420) is a recognition code e (e.g., a digital code) and includes one stroke.
[0085] The processor (220) can transmit the handwriting input result recognized by the handwriting recognition engine (221) to the beautification engine (223) as a recognition code and stroke data for each phoneme unit.
[0086] The processor (220) can analyze the characteristics of handwriting input through the beautification engine (223) and correct (or beautify, modify, re-write, adopt, revamp, recast, alter) the user's handwriting input in units of lowercase letters, such as in operations 330 to 395.
[0087] In operation 330, the processor (220) can check the recognition code for each lowercase letter included in the handwriting input, and in operation 340, the processor (220) can extract stroke features that constitute each lowercase letter.
[0088] The processor (220) extracts stroke characteristics of lowercase letters, extracts angular components of consecutive points of each grouped stroke constituting the lowercase letter through a beautification engine, converts the angular components of the points into 8-directional vectors, and then converts the 8-directional vectors into stroke scores to distinguish each stroke type. The processor (220) can confirm the structure and shape of the lowercase letter based on the type of each grouped stroke. For example, the stroke can be implemented in the form of one of a horizontal stroke, a vertical stroke, or another stroke type.
[0089] The operation of extracting stroke features is a technical matter that can be easily implemented using known technology, so a detailed description will be omitted. In addition to the illustrated method, the technology of extracting stroke features may be applied in a different implementation method.
[0090] In parallel with operation 340, separately or independently, in operation 350, the processor (220) may check the reference feature (or reference specification) defined for each recognition code for each recognized phoneme. In one embodiment, operation 350 may be performed after operation 330.
[0091] According to one embodiment, the electronic device (101) may store reference feature (or reference specification) information (e.g., a database) of recognition codes for each phoneme, or may obtain reference feature information of recognition codes for each phoneme of a language corresponding to a user input by linking with another electronic device (e.g., a server). For example, FIGS. 5a and 5c are drawings showing reference features (or reference specifications) of recognition codes for each phoneme unit, where 5a illustrates reference features of English capital letters, and 5b illustrates reference features of English lowercase letters. 5c illustrates reference features of initial / final consonants of Korean consonants, and 5d illustrates reference features of medial vowels of Korean vowels. Although not illustrated in the drawings, it may also be applied to other types of phoneme units depending on the language system.
[0092] In operation 355, the processor (220) can determine whether the stroke characteristics of the lowercase letter match the reference characteristics (or reference specifications) of the corresponding recognition code.
[0093] For example, in the case of a capital letter "M", the recognition code is M (digital code) and the standard stroke count is 2. As a result of recognizing the user's handwriting input, if the phoneme letter included in the handwriting input is recognized as M, but the stroke count constituting the recognized phoneme letter "M" is extracted as 3 features, the processor (220) may determine that the "M" handwritten by the user does not meet the standard features of the defined recognition code M.
[0094] If the stroke characteristics of the recognized lowercase letter match the standard characteristics of the corresponding recognition code, the processor (220) selects the letter as a correction target character and proceeds with operation 365, and if the stroke characteristics of the recognized lowercase letter do not match the standard characteristics of the corresponding recognition code, the processor (220) can exclude the letter from the correction target character and terminate the process of FIG. 3.
[0095] In the 360 motion, the processor (220) can determine whether the selected lowercase letter as the beautification target letter is a circle type lowercase letter (e.g., consonants 'ㅇ', 'ㅎ', alphabet capital letters 'O', 'Q', lowercase letters 'e', 'o').
[0096] In operation 365, the processor (220) can determine whether the trajectories between the strokes constituting the lowercase letters intersect each other if the lowercase letters are not of the original type.
[0097] The processor (220) determines whether the trajectories between strokes intersect each other by using a CCW (counter clock wise) algorithm, or by determining whether a portion of an extension of points included in the trajectory of the first stroke is included in a portion of the trajectory of the second stroke, or whether a point intersection exists between points constituting the first and second strokes.
[0098] In operation 370, the processor (220) can correct (or beautify) stroke trajectories by removing overlapping trajectories among stroke trajectories when the trajectories between strokes in a non-circular lowercase letter intersect each other.
[0099] In operation 375, the processor (220) can compensate (or beautify) stroke trajectories by increasing them so that one stroke can be connected to another, if the trajectories between strokes in a non-circular lowercase letter do not intersect.
[0100] In operation 380, the processor (220) can determine whether the starting point and the ending point of the stroke intersect if the lowercase letter selected as the target character for correction is a circle type. In operation 390, the processor (220) can generate a point intersection where the starting point and the ending point intersect if the starting point and the ending point of the stroke do not intersect.
[0101] In operation 395, the processor (220) can correct (or beautify) the stroke trajectory by increasing it so that the trajectory is connected to the point intersection. If the start point and the end point of the circle-type stroke intersect, the processor (220) can proceed to operation 370 and correct (or beautify) the trajectory that exceeds the point intersection point among the stroke trajectories.
[0102] According to one embodiment, the processor (220) can update handwriting input data (e.g., stoke data) based on the corrected (or beautified) result for each lowercase letter (e.g., update the touch trajectory) and output the updated handwriting input on the touchscreen display.
[0103] Fig. 6 illustrates a method for correcting handwriting input data of an electronic device according to one embodiment. Fig. 6 may be a drawing that more specifically explains operations 365, 370, and 375 of Fig. 3. Figs. 7a and 7b are exemplary diagrams of screens for correcting strokes for handwriting input according to one embodiment.
[0104] Referring to FIG. 6, a processor (e.g., processor (120) of FIG. 1, processor (220) of FIG. 2) of an electronic device (101) according to one embodiment may, in operation 610, select a lowercase letter composed of at least two strokes as a target letter to be corrected as part of a correction (or beautification) operation.
[0105] For example, the processor (220) can select a lowercase letter composed of at least two strokes as a character to be corrected by performing operations 355 and 360 of FIG. 3.
[0106] In operation 620, the processor (220) distinguishes strokes grouped as lowercase letters into the first stroke and the Nth stroke, and in operation 630 (or operation 370 of FIG. 3), the processor (220) can check (or determine) whether there is a point intersection between points of the strokes.
[0107] For example, the processor (220) may perform a correction (or beautification) operation for each lowercase letter, such as removing an overflowing stroke trajectory when the trajectories between strokes intersect each other, or increasing the stroke trajectory so that one stroke can be connected to another stroke when the trajectories between strokes in a lowercase letter do not intersect each other.
[0108] In operation 640, the processor (220) updates the stroke points so that a point intersection is created if there is no point intersection between the stroke points, and in operation 650, the processor (220) can change the index of the stroke point to the updated point intersection.
[0109] According to one embodiment, the processor (220) may store the handwriting recognition result as index information of each stroke point that constitutes a recognized character (e.g., a lowercase letter) for the handwriting input. The processor (220) may generate index information of the points that constitute the stroke and store the same. The index information of the points that constitute the stroke is assigned an index in the order of the touch trajectory corresponding to the stroke, and one index group may be mapped to one stroke.
[0110] When the electronic device (101) displays handwriting input, it can be expressed as a trajectory extending each stroke point.
[0111] For example, as shown in FIGS. 7a and 7b, the area where the trajectory of the first stroke (710) and the trajectory of the second stroke (720) constituting the lowercase letter intersect will be described by enlarging it. <701> As shown in , if we zoom in on the point where the first stroke (710) and the second stroke (720) intersect, <702> It can be drawn as a trajectory. The processor (220) can express the trajectory of the stroke on the display according to the index information of the points included in the stroke. For example, <703> As shown, the second stroke (720) is composed of the index order of 0, 1, 2, 3, 4, 5, 6, and 7, so it can be expressed as a trajectory from the position of the index point 0 to the position of the index point 7. In the example of Fig. 7a, <703> As shown, it can be confirmed that there is no point intersection without the intersection of points where the trajectories of the first stroke (710) and the second stroke (720) intersect each other.
[0112] At this time, when the electronic device displays the handwriting input, it is expressed as a trajectory that extends each stroke point, so if index points 0 to 3 are deleted during the correction (or beautification) process of the second stroke (720), the trajectory of the second stroke (710) starts from index point 4 (in other words, the second stroke (720) is displayed in a disconnected form without being connected to the first stroke (710), which may be aesthetically unsightly.
[0113] According to one embodiment, in the example of FIG. 7a, the processor (220) <704> As described above, a point intersection point can be created (or updated) at the intersection location of the first stroke (710) and the second stroke (720), and the 3rd index point of the second stroke (720) can be updated and stored to the location of the point intersection point of the first stroke (710) and the second stroke (720). For example, by updating (or moving) the coordinate information of the 3rd index point of the second stroke (720) to the coordinate information of the intersection location of the first stroke (710) and the second stroke (720), the first stroke (710) and the second stroke (720) can include a point intersection point (e.g., the 3rd index point) with respect to each other.
[0114] In operation 660, the processor (220) can remove points of the stroke that are over the updated point intersection.
[0115] For example, as shown in FIG. 7a, the processor (220) <705> As shown, by removing the index points 0 to 2 of the second stroke (720), the second stroke (720) can be corrected (or beautified) so that it is connected to the first stroke (710) from the index point 3, which is the location of the point intersection.
[0116] In operation 645, the processor (220) can determine whether a point intersection exists in a stroke other than the stroke to be corrected, if a point intersection exists in the points of the intersecting strokes.
[0117] If all the points of the intersecting strokes include a point intersection, the processor (220) can proceed to operation 660 to correct (or beautify) the points that are over the point intersection by removing them.
[0118] For example, as shown in Fig. 7b, <706> If we zoom in on the point where the first stroke (710) and the second stroke (720) intersect, <707> can be drawn as a trajectory. <708> As shown in , assuming that the first stroke (710) includes index points 0 to 7 and the second stroke (720) includes index points 24, 25, and 26, it can be confirmed that the position of the point of intersection is where the 25th index point of the first stroke (710) and the 4th index point of the second stroke (720) intersect each other. <709> As shown in , the processor (220) can confirm that the second stroke (720) has been corrected (or beautified) by removing index points 0 to 3 of the second stroke (720) for correction of the second stroke (720).
[0119] In operation 655, if a point intersection exists in a stroke other than the stroke to be corrected, the processor (220) may increase the trajectory of a stroke not connected to the point intersection (or update the point position) up to the point intersection. The processor (220) may proceed to operation 660 to correct (or beautify) by removing points that are over the point intersection.
[0120] For example, if the 25th index point of the first stroke (740) is included, but the 4th index point does not exist in the second stroke (720), a new point index can be created at the position of the 25th index point of the first stroke (740) to increase the trajectory of the second stroke (720), or the coordinate information of the existing index point can be changed.
[0121] FIGS. 8 and 9 are comparative examples of handwriting input data of an electronic device before and after correction according to one embodiment.
[0122] Referring to FIGS. 8 and 9, the electronic device (101) corrects (or beautifies) the user's handwriting input on a phoneme-by-phone basis, and as part of the operation, <801> As shown in , the intersection of the strokes forming the lowercase letter “E” can be confirmed, and the overlapping strokes can be deleted at the intersection. Independently, the electronic device (101) can be confirmed, and the intersection of the strokes forming the lowercase letter “H” can be deleted.
[0123] Conversely, as part of the correction (or beautification) operation for handwriting input of an electronic device (101), <802> As illustrated, the electronic device (101) composing the phoneme letter “H” can increase the stroke trajectory up to the point where the strokes intersect each other if there is no point where the strokes intersect each other. Independently, the electronic device (101) can also increase the stroke trajectory for the phoneme letter “E” up to the point where the strokes intersect each other.
[0124] An electronic device according to various embodiments recognizes a user's handwriting input in phoneme units and performs correction (or beautification) for each phoneme unit, thereby selectively correcting the user's handwriting only in the phoneme units that require correction (or beautification) among the user's handwriting input.
[0125] For example, Fig. 9 may be an example screen that visualizes a handwriting input entered by a user, and an example screen that visualizes a handwriting input entered by a user after correcting (or beautifying) it according to the correction operation of the present invention. Fig. 9 <901> As illustrated, a user can input "This book" by handwriting on a touchscreen display. The electronic device recognizes "This book" as a phoneme unit, as a capital letter "T", a lowercase letter "h", a lowercase letter "i", a lowercase letter "b", a lowercase letter "o", a lowercase letter "o", a lowercase letter "k", and selects a capital letter "T", a lowercase letter "b", a lowercase letter "o", a lowercase letter "o", a lowercase letter "k" as the correction target characters and performs correction (or beautification) based on the intersection characteristics of the strokes that constitute each phoneme.
[0126] Fig. 9 <902> Likewise, the electronic device (101) recognizes the user's handwriting input for "No, thank you" as uppercase "N", lowercase "o", lowercase "a", lowercase "n", lowercase "k", lowercase "y", lowercase "o", and lowercase "u" in lowercase units, and selects the uppercase "N", lowercase "o", lowercase "a", lowercase "k", and lowercase "o" as correction target characters based on the intersection characteristics of the strokes to perform correction (or beautification).
[0127] At this time, <901> S(910) or <902> th(920) may be excluded from the correction target characters because it is judged that the recognition of the phoneme unit in the electronic device fails or does not meet the standard features defined in the recognition code of S or the recognition codes of T and h.
[0128] As described above, various embodiments can provide the user with more neatly organized handwriting while maintaining the user's handwriting characteristics identical to the user's original handwriting input.
[0129] FIG. 10 illustrates a method for correcting handwriting input data of an electronic device according to one embodiment.
[0130] Referring to FIG. 10, a processor (e.g., processor (120) of FIG. 1, processor (220) of FIG. 2) of an electronic device (101) according to one embodiment may receive a user input including a touch trajectory from a touchscreen display in operation 1010. For example, the processor (220) may receive a user input (e.g., touch data including a touch trajectory) based on a proximity or / and touch signal from the touchscreen display (210).
[0131] In operation 1020, the processor (220) can recognize handwriting input data by dividing it into individual phoneme characters (or single letters) based on user input.
[0132] According to one embodiment, the processor (220) can recognize handwriting input by dividing it into individual phoneme characters (or single letters) through the handwriting recognition engine (221).
[0133] For example, the processor (220) can group strokes according to a touch trajectory included in a user input (e.g., touch data) into a phoneme character (or single character) unit, and recognize (or select) a phoneme character (or single character) composed of the grouped strokes. For example, when a first stroke (e.g., vertical stroke) and a second stroke (e.g., horizontal stroke) constitute a single character (e.g., capital letter T), the processor (220) can group the first stroke and the second stroke into a single group, and recognize (or select) the grouped strokes as a single phoneme character (e.g., capital letter T).
[0134] In operation 1030, the processor (220) can distinguish between the first stroke and the Nth stroke that constitute the phoneme for each phoneme included in the recognized handwriting input data.
[0135] According to one embodiment, the processor (220) can distinguish strokes that constitute phonemic characters based on stroke data (or handwriting data, cursive data, touch drawing data) of recognized phonemic characters (e.g., English, numbers, Korean, symbols, etc.).
[0136] According to one embodiment, stroke data may include a recognition code identifying a lowercase letter (e.g., T) and stroke information (e.g., stroke information constituting the lowercase letter “T”). The stroke information may include at least one of the number of strokes grouped into one lowercase letter (e.g., a number), the order of strokes (e.g., the order of the first stroke and the second stroke), points of the stroke (e.g., index information of points included in the first stroke, index information of points included in the second stroke), stroke thickness or pen pressure (e.g., stroke thickness, size of the touch area), stroke position, stroke length, stroke inclination, stroke direction, and / or distance between each stroke.
[0137] According to one embodiment, the processor (220) can extract stroke features that constitute individual phonetic letters.
[0138] In operation 1040, the processor (220) can check the point intersection between the points of the first stroke and the Nth stroke that constitute each lowercase letter.
[0139] For example, the processor (220) may use a CCW (counter clock wise) algorithm as an operation to check the intersection between points of the first stroke and the Nth stroke, or determine whether a portion of an extension of points included in the trajectory of the first stroke is included in a portion of the trajectory of the second stroke, or determine whether a point intersection exists between points constituting the first stroke and the second stroke.
[0140] In operation 1050, the processor (220) can compensate for each lowercase letter according to the position of the point intersection for each lowercase letter.
[0141] According to one embodiment, the processor (220) may remove an overflowing stroke trajectory when the trajectories between strokes intersect each other, or increase the stroke trajectory so that one stroke can be connected to another stroke when the trajectories between strokes in a lowercase letter do not intersect each other.
[0142] According to one embodiment, if there is no point intersection where the trajectories intersect between the points of the first stroke and the Nth stroke, the processor (220) may generate a point intersection between the two strokes and increase the touch trajectory of the first stroke or the Nth stroke so that the generated point intersection is connected.
[0143] When a lowercase letter is recognized as a lowercase letter composed of one stroke, the processor (220) checks the point intersection between the start point and the end point of the stroke, and when the point intersection of the start point and the end point is over, the points of the overlapping stroke are removed, and when the start point and the end point do not intersect, the touch trajectory can be increased so that a point intersection is generated.
[0144] In operation 1060, the processor (220) can update the touch trajectory corresponding to the handwriting input data based on the corrected phonetic characters.
[0145] According to one embodiment, the processor (220) can update handwriting input data (e.g., stoke data) based on the corrected (or beautified) result for each lowercase letter (e.g., update the touch trajectory) and output the updated handwriting input on the touchscreen display.
[0146] A method for correcting handwriting input data of an electronic device (101) according to one embodiment may include an operation of receiving a user input including a touch trajectory from a touch screen display (210).
[0147] A method according to one embodiment may include an operation of recognizing handwriting input data in individual phoneme character units based on the user input.
[0148] A method according to one embodiment may include an action operation for distinguishing a first stroke and an Nth stroke constituting a phoneme for each phoneme included in the recognized handwriting input data.
[0149] A method according to one embodiment may include an operation of checking the point intersection of the first stroke and the Nth stroke points for each of the lowercase letters.
[0150] A method according to one embodiment may include an operation of correcting each lowercase letter according to the positions of the checked point intersections.
[0151] A method according to one embodiment may include an operation of updating a touch trajectory corresponding to the handwriting input data based on the corrected phonetic characters.
[0152] According to one embodiment, the operation of distinguishing the first stroke and the Nth stroke constituting the lowercase letter for each lowercase letter may be characterized by checking a recognition code for each lowercase letter, extracting stroke features constituting the individual lowercase letter, comparing the stroke features of the recognized lowercase letter with reference features defined in the recognition code corresponding to each lowercase letter, selecting a lowercase letter to be corrected among the handwriting-recognized user inputs, and distinguishing the selected lowercase letter into the first stroke and the Nth stroke.
[0153] According to one embodiment, the operation of recognizing handwriting corresponding to the user input in individual phoneme character units may further include an operation of outputting stroke data for each phoneme character as a result of the recognition.
[0154] The operation of correcting each lowercase letter according to the position of the checked point intersections according to one embodiment may be characterized by determining whether the trajectories of the first stroke and the Nth stroke constituting the lowercase letter intersect each other, and if there is a point intersection in the trajectories of the points of the first stroke and the Nth stroke, removing an over-trajectory between the point intersections of the first stroke and the Nth stroke, and if there is no point intersection of the touch points of the first stroke and the Nth stroke, increasing the touch trajectory of either the first stroke or the Nth stroke so that a point intersection occurs among the touch points.
[0155] In one embodiment, when there is no point intersection of the touch points of the first stroke and the Nth stroke, the operation of increasing the touch trajectory of the first stroke or the Nth stroke so that a point intersection is generated among the touch points may be characterized by generating a point intersection between the two strokes when there is no point intersection where the trajectories intersect between the points of the first stroke and the Nth stroke, and increasing the touch trajectory of the first stroke or the Nth stroke so that it is connected to the generated point intersection.
[0156] The operation of correcting each lowercase letter according to the position of the checked point intersections according to one embodiment may be characterized by checking the point intersection between the start point and the end point of the stroke when the lowercase letter is recognized as a lowercase letter composed of one stroke, removing the points of the overlapping stroke when the point intersection of the start point and the end point is over, and increasing the touch trajectory so that the point intersection is generated when the start point and the end point do not intersect.
[0157] In one embodiment, the operation of comparing the stroke characteristics of the recognized phoneme with the reference characteristics defined in the recognition code corresponding to each phoneme and selecting the phoneme to be corrected among the handwriting-recognized user inputs may be set so that, if the stroke characteristics of the phoneme recognized based on the user input do not match the reference characteristics defined in the recognition code of the corresponding phoneme, correction for the recognized phoneme may not be performed.
[0158] The embodiments of this document and the terminology used herein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "A or B", "at least one of A and B", "at least one of A or B", "A, B, or C", "at least one of A, B, and C", and "at least one of A, B, or C" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0159] The term "module" used in the embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0160] One embodiment of the present document may be implemented as software (e.g., a program (140)) including one or more instructions stored in a storage medium (e.g., an internal memory (136) or an external memory (138)) readable by a machine (e.g., an electronic device (101)). For example, a processor (e.g., a processor (120)) of the machine (e.g., an electronic device (101)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
[0161] According to one embodiment, the method according to one embodiment disclosed in this document may be provided as a computer program product. The computer program product may be traded between sellers and buyers as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or may be provided through an application store (e.g., Play Store). TM ) or directly between two user devices (e.g., smart phones), online distribution (e.g., downloading or uploading). In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0162] According to one embodiment, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and arranged in other components. According to one embodiment, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to one embodiment, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
Claims
1. In electronic devices, Touchscreen display; memory for storing executable instructions; and A processor comprising: a processor for accessing said memory and executing said instructions; When the above instructions are executed by the processor, the electronic device: Receiving user input including a touch trajectory from the above touchscreen display, Recognizes handwriting input data in individual phoneme units based on the above user input, Distinguish the first stroke and the Nth stroke that constitute the phoneme for each phoneme corresponding to the above recognized handwriting input data, Check the intersection point of the first stroke and the Nth stroke for each of the above phonetic letters, Each lowercase letter is corrected based on the location of the intersection of the above-mentioned checked points, An electronic device that updates a touch trajectory corresponding to the handwriting input data based on the corrected phonetic characters.
2. In paragraph 1, An electronic device in which the above touch trajectory includes coordinate data of points corresponding to consecutive touches.
3. In paragraph 1, The above commands are operations in which the electronic device recognizes handwriting input data in individual phoneme character units based on the user input. An electronic device which outputs a recognition code and stroke data for each phoneme character based on the recognition result, wherein the stroke data includes at least one of a recognition code for identifying a phoneme character, the number of strokes, the order of strokes, index information on points of strokes, stroke thickness, stroke position, stroke length, stroke inclination, stroke direction, and distance between strokes.
4. In paragraph 3, The above commands are operations for the electronic device to distinguish between the first stroke and the Nth stroke constituting the phonetic character. Check each recognition code for each uppercase and lowercase letter, Extract the stroke features that make up each phoneme, An electronic device that compares the stroke characteristics of the recognized phoneme with the reference characteristics defined in the recognition code corresponding to each phoneme character to select the phoneme character to be corrected among the handwriting-recognized user inputs, and selectively distinguishes only the selected phoneme character into the first stroke and the Nth stroke.
5. In paragraph 4, The above commands are operations for the electronic device to extract stroke features constituting each phonetic character. The angular components of the points included in each stroke are extracted, the extracted angular components are converted into direction vectors, the angular components of the points are converted into 8-directional vectors, and the 8-directional vectors are converted into stroke scores to distinguish each stroke type. The above stroke type is an electronic device that includes one of the horizontal stroke, vertical stroke, or other stroke types.
6. In either of paragraphs 2 and 5, The above commands are operations in which the electronic device corrects each lowercase letter based on the positions of the checked point intersections. Determine whether the touch trajectories of the first stroke and the Nth stroke constituting the above-mentioned lowercase letter intersect each other, If there is a point intersection in the touch trajectories of the first stroke and the Nth stroke, the over-trajectory is removed based on the points of the first stroke and the Nth stroke. An electronic device that increases the touch trajectory of either the first stroke or the Nth stroke so that a point intersection occurs when there is no point intersection in the touch trajectories of the first stroke and the Nth stroke.
7. In paragraph 6, The above commands are an operation in which the electronic device increases the touch trajectory of the first stroke or the Nth stroke so that a point intersection occurs among the points when there is no point intersection of the first stroke and the Nth stroke. An electronic device that generates a point intersection between two strokes when there is no point intersection where the trajectories intersect between points corresponding to the touch trajectories of the first stroke and the Nth stroke, and increases the touch trajectory of the first stroke or the Nth stroke so that the touch trajectory is connected to the generated point intersection.
8. In paragraph 6, The above commands are operations for the electronic device to correct each lowercase letter based on the positions of the checked point intersections. If the above lowercase letter is recognized as a lowercase letter consisting of one stroke, check the point intersection between the start and end points of one stroke. If the point intersection of the above starting point and the above ending point is over, the points of the overlapping stroke are removed, An electronic device that increases the touch trajectory so that a point intersection occurs when the above start point and end point do not intersect.
9. In paragraph 4, The above commands cause the electronic device to: An electronic device that prevents correction of a recognized phoneme if the stroke characteristics of the recognized phoneme based on the user input do not meet the reference characteristics defined in the recognition code of the corresponding phoneme.
10. In paragraph 6, The above commands are operations for the electronic device to determine whether the touch trajectories of the first stroke and the Nth stroke constituting the phonetic character intersect each other. An electronic device that uses a CCW (counterclockwise) algorithm, checks whether there is an intersection point between points of the first stroke and the Nth stroke, or checks whether some of the points included in the trajectory of the first stroke are included in some of the points included in the trajectory of the Nth stroke.
11. A method for correcting handwriting input data of an electronic device, An operation for receiving user input including a touch trajectory from a touchscreen display; An operation for recognizing handwriting input data in individual phoneme character units based on the user input; An action of distinguishing between the first stroke and the Nth stroke constituting the phoneme for each phoneme corresponding to the above recognized handwriting input data; An action of checking the intersection point of the first stroke and the Nth stroke for each of the above phonetic letters; An operation for correcting each lowercase letter based on the location of the above-mentioned checked point intersection; and A method comprising an action of updating a touch trajectory corresponding to the handwriting input data based on the corrected phonetic characters.
12. In paragraph 11, The action of distinguishing between the first and Nth strokes that constitute the above-mentioned lowercase letters is as follows: Check the phonetic recognition code, Extract the stroke features that make up each of the above phonetic letters, Select the phoneme character to be corrected among the handwriting-recognized user inputs by comparing the stroke characteristics of the recognized phoneme character with the reference characteristics defined in the recognition code corresponding to each phoneme character, A method characterized in that only the selected lowercase letters are selectively distinguished by the first stroke and the Nth stroke.
13. In paragraph 11, The operation of recognizing handwriting input data in individual phoneme units based on the above user input is as follows: The above recognition result further includes an action of outputting stroke data for each phoneme character, A method wherein the stroke data includes at least one of a recognition code for identifying a phonetic character, the number of strokes, the order of strokes, index information of points of the strokes, thickness of the stroke, position of the stroke, length of the stroke, inclination of the stroke, direction of the stroke, and distance between strokes.
14. In paragraph 11, The operation of correcting each lowercase letter according to the location of the above-mentioned checked intersections is as follows: Determine whether the touch trajectories of the first stroke and the Nth stroke constituting the above lowercase letter intersect each other, If there is a point intersection in the touch trajectories of the first stroke and the Nth stroke, the over-trajectory is removed based on the points of the first stroke and the Nth stroke. A method characterized in that, when there is no point intersection in the touch trajectories of the first stroke and the Nth stroke, the touch trajectory of either the first stroke or the Nth stroke is increased so that a point intersection occurs.
15. In paragraph 14, If there is no point intersection in the touch trajectories of the first stroke and the Nth stroke, an operation of increasing the touch trajectory of the first stroke or the Nth stroke so that a point intersection occurs is performed. A method characterized in that, if there is no point intersection between the first stroke and the Nth stroke, a point intersection between the two strokes is generated and the touch trajectory of the first stroke or the Nth stroke is increased so as to be connected to the generated point intersection.
Citation Information
Patent Citations
Method for recognizing korean character
KR1020130108870A
Operating Method For Handwriting Data and Electronic Device supporting the same
KR1020150087665A
Handwriting input apparatus and control method thereof
KR1020160064928A
Method and device for inputting handwriting character
KR1020170105106A
Method for translate sign language video, and computer program recorded on record-medium for executing method thereof
KR102589845B1