KR20220086896A - 필기 입력을 처리하는 전자 장치 및 그 작동 방법 - Google Patents

필기 입력을 처리하는 전자 장치 및 그 작동 방법 Download PDF

Info

Publication number
KR20220086896A
KR20220086896A KR1020200177108A KR20200177108A KR20220086896A KR 20220086896 A KR20220086896 A KR 20220086896A KR 1020200177108 A KR1020200177108 A KR 1020200177108A KR 20200177108 A KR20200177108 A KR 20200177108A KR 20220086896 A KR20220086896 A KR 20220086896A
Authority
KR
South Korea
Prior art keywords
block
handwriting input
electronic device
handwriting
display
Prior art date
Application number
KR1020200177108A
Other languages
English (en)
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 삼성전자주식회사
Priority to KR1020200177108A priority Critical patent/KR20220086896A/ko
Priority to US18/324,628 priority patent/US12002275B2/en
Priority to PCT/KR2021/017864 priority patent/WO2022131617A1/ko
Publication of KR20220086896A publication Critical patent/KR20220086896A/ko

Links

Images

Classifications

    • 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
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • G06F3/0383Signal control means within the pointing device
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0483Interaction with page-structured environments, e.g. book metaphor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction 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 for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • 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
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • 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/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • 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/19Recognition using electronic means
    • G06V30/19007Matching; Proximity measures
    • G06V30/19013Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • 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
    • G06V30/2268Character recognition characterised by the type of writing of cursive writing using stroke segmentation
    • 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/30Character recognition based on the type of data
    • 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
    • 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
    • G06V30/333Preprocessing; Feature extraction
    • G06V30/347Sampling; Contour coding; Stroke extraction
    • 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
    • G06V30/36Matching; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

다양한 실시예들에 따라서, 전자 장치는, 디스플레이, 및 프로세서를 포함하고, 상기 프로세서는, 상기 디스플레이 상에 표시되는 제1 필기 입력 및 상기 제1 필기 입력에 선행하는 제1 선행 필기 입력 사이의 제1 기울기를 식별하고 -상기 제1 필기 입력은 제1 블록에 대응함-, 상기 디스플레이 상에 표시되는 제2 필기 입력 및 상기 제 2 필기 입력에 선행하는 제2 선행 필기 입력 사이의 제2 기울기를 식별하고 -상기 제2 필기 입력은 상기 제1 필기 입력에 연속하는 필기 입력임-, 상기 제1 기울기 및 상기 제2 기울기를 이용하여, 상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제1 블록과 상이한 제2 블록에 대응하는지 여부를 판단하고, 및 상기 제2 필기 입력이 상기 제2 블록에 대응하는 것에 기반하여, 상기 제2 블록을 나타내는 복수의 필기 입력들을 처리하기 위한 적어도 하나의 동작을 수행하도록 설정될 수 있다. 그 밖의 실시예들도 가능하다.

Description

필기 입력을 처리하는 전자 장치 및 그 작동 방법{ELECTRONIC DEVICE FOR PROCESSING HANDWRITING INPUT AND METHOD FOR OPERATING THEREOF}
다양한 실시예들은, 필기 입력의 기울기에 기반하여 필기 입력에 대응하는 블록을 구분하고, 블록 단위로 필기 입력을 처리하는 방법 및 장치에 관한 것이다.
최근 스마트 폰, 태블릿 PC 또는 웨어러블 디바이스와 같은 휴대가 용이한 전자 장치의 사용이 증가하고 있으며, 사용자는 다양한 입력 수단 예를 들어, 손가락뿐만 아니라 스타일러스 펜과 같은 입력 도구를 이용하여 다양한 기능을 이용할 수 있다.
스타일러스 펜을 이용한 입력 방식은 손가락을 이용한 터치 입력 방식에 비해, 보다 정밀한 터치 입력이 가능하므로 메모 또는 스케치와 같은 어플리케이션 수행 시에 보다 유용하게 적용될 수 있다. 또한 필기 입력을 통한 컨텐츠 작성 방식은 내용 작성의 자유도가 높으며, 보다 직관적이며 신속한 입력이 가능하고, 필기한 내용에 대한 문자 인식 기술의 향상으로 인해, 그 활용성도 크게 높아지고 있다.
필기 입력들 사이의 평균 거리를 이용하여 필기 입력들에 대응하는 블록들을 구분할 경우, 평균 거리가 가깝지만 기울기 차이가 큰 필기 입력들에 대하여는 블록들을 구분하기 어려우므로, 상기 블록들을 이용하여 블록 단위로 처리하는 동작(예: 텍스트 데이터 변환, 블록 회전)을 정확히 수행하기 어려운 문제점이 있다. 또한, 페이지의 경계에 위치하는 필기 입력을 그대로 표시할 경우, 필기 입력의 형태가 온전하지 않을 수 있다.
다양한 실시예들은, 필기 입력들 사이의 기울기에 기반하여 필기 입력에 대응하는 블록을 구분하고, 구분된 블록에 기반하여 필기 입력을 처리하는 전자 장치를 제공할 수 있다.
다양한 실시예들에 따라서, 전자 장치는, 디스플레이, 및 프로세서를 포함하고, 상기 프로세서는, 상기 디스플레이 상에 표시되는 제1 필기 입력 및 상기 제1 필기 입력에 선행하는 제1 선행 필기 입력 사이의 제1 기울기를 식별하고 -상기 제1 필기 입력은 제1 블록에 대응함-, 상기 디스플레이 상에 표시되는 제2 필기 입력 및 상기 제 2 필기 입력에 선행하는 제2 선행 필기 입력 사이의 제2 기울기를 식별하고 -상기 제2 필기 입력은 상기 제1 필기 입력에 연속하는 필기 입력임-, 상기 제1 기울기 및 상기 제2 기울기를 이용하여, 상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제1 블록과 상이한 제2 블록에 대응하는지 여부를 판단하고, 및 상기 제2 필기 입력이 상기 제2 블록에 대응하는 것에 기반하여, 상기 제2 블록을 나타내는 복수의 필기 입력들을 처리하기 위한 적어도 하나의 동작을 수행하도록 설정될 수 있다.
다양한 실시예들에 따라서, 전자 장치의 동작 방법은, 상기 전자 장치의 디스플레이 상에 표시되는 제1 필기 입력 및 상기 제1 필기 입력에 선행하는 제1 선행 필기 입력 사이의 제1 기울기를 식별하는 동작 -상기 제1 필기 입력은 제1 블록에 대응함-, 상기 디스플레이 상에 표시되는 제2 필기 입력 및 상기 제 2 필기 입력에 선행하는 제2 선행 필기 입력 사이의 제2 기울기를 식별하는 동작 -상기 제2 필기 입력은 상기 제1 필기 입력에 연속하는 필기 입력임-, 상기 제1 기울기 및 상기 제2 기울기를 이용하여, 상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제1 블록과 상이한 제2 블록에 대응하는지 여부를 판단하는 동작, 및 상기 제2 필기 입력이 상기 제2 블록에 대응하는 것에 기반하여, 상기 제2 블록을 나타내는 복수의 필기 입력들을 처리하기 위한 적어도 하나의 동작을 수행하는 동작을 포함할 수 있다.
다양한 실시예들에 따라서, 전자 장치는 필기 입력들 사이의 거리뿐만 아니라, 필기 입력들 사이의 기울기도 고려하여 필기 입력에 대응하는 블록을 구분함으로써, 블록에 기반하여 필기 입력을 처리하는 동작(예: 표시 위치 변경, 텍스트 데이터 변환, 회전 정렬 후 표시)의 정확성을 더욱 향상시킬 수 있다.
도 1은 다양한 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 다양한 실시예들에 따른, 전자 장치가 필기 입력에 대응하는 블록을 식별하고, 식별된 블록을 처리하는 방법을 설명하기 위한 흐름도이다.
도 3a는 다양한 실시예들에 따른, 전자 장치가 필기 입력들 사이의 기울기에 기반하여, 각 필기 입력들에 대응하는 블록을 식별하는 실시예를 나타낸다.
도 3b는 다양한 실시예들에 따른, 전자 장치가 필기 입력들의 기울기의 차이 및 필기 입력들 사이의 거리를 이용하여 블록을 구분하는 동작을 나타내는 제1 실시예이다.
도 3c는 다양한 실시예들에 따른, 필기 입력의 각 스트로크에 대응하는 기울기 정보를 나타낸다.
도 3d는 다양한 실시예들에 따른, 전자 장치가 필기 입력들의 기울기의 차이 및 필기 입력들 사이의 거리를 이용하여 블록을 구분하는 동작을 나타내는 제2 실시예이다.
도 4는 다양한 실시예들에 따른, 전자 장치가 필기 입력에 대응하는 블록을 식별하고, 식별된 블록을 처리하는 방법을 설명하기 위한 흐름도이다.
도 5a는 다양한 실시예들에 따른, 전자 장치가 사용자 입력에 기반하여 선택된 필기 입력들에 대응하는 적어도 하나의 블록을 식별하는 동작을 나타내는 실시예이다.
도 5b는 다양한 실시예들에 따른, 전자 장치가 적어도 하나의 블록의 기울기를 식별하는 동작을 나타내는 실시예이다.
도 6은 다양한 실시예들에 따른, 전자 장치가 페이지의 경계에 위치하는 필기 입력의 표시 위치를 변경하는 방법을 설명하기 위한 흐름도이다.
도 7은 다양한 실시예들에 따른, 전자 장치가 적어도 하나의 라인에 포함된 필기 입력의 표시 위치를 변경하는 실시예를 나타내는 도면이다.
도 8은 다양한 실시예들에 따른, 전자 장치가 적어도 하나의 블록에 포함된 필기 입력의 표시 위치를 변경하는 실시예를 나타내는 도면이다.
도 9a는 다양한 실시예들에 따른, 전자 장치가 페이지의 경계에 위치하는 블록을 포함하는 그룹의 배치 상태에 기반하여 그룹의 표시 위치를 변경하는 실시예를 나타낸다.
도 9b는 다양한 실시예들에 따른, 전자 장치가 다른 블록 상에 오버랩하여 위치하는 블록의 표시 위치를 변경하는 실시예를 나타낸다.
도 10은 다양한 실시예들에 따른, 전자 장치가 회전 동작에 의하여 페이지의 경계에 위치하는 특정 블록의 배치 상태에 기반하여, 회전된 특정 블록의 표시 위치를 변경하는 실시예를 나타낸다.
도 11은 다양한 실시예들에 따른, 전자 장치가 특정 문서의 형식을 전환함에 따라 특정 문서 내의 페이지의 경계에 위치하는 필기 입력의 표시 위치를 변경하는 방법을 설명하기 위한 흐름도이다.
도 12는 다양한 실시예들에 따른, 전자 장치가 단락을 구분하는 동작을 나타내는 실시예이다.
도 13은 다양한 실시예들에 따른, 전자 장치가 단락의 배치 상태에 기반하여, 단락의 표시 위치를 변경하는 동작을 나타내는 실시예이다.
도 14는 다양한 실시예들에 따른, 전자 장치가 블록을 회전하고 회전된 블록을 처리하는 방법을 설명하기 위한 흐름도이다.
도 15는 다양한 실시예들에 따른, 전자 장치가 회전된 블록을 인식하거나 표시하는 동작을 나타내는 실시예이다.
도 16은 다양한 실시예들에 따른, 전자 장치가 회전된 블록들이 오버랩되는 경우, 오버랩된 블록을 처리하는 방법을 설명하기 위한 흐름도이다.
도 17은 다양한 실시예들에 따른, 전자 장치가 오버랩된 블록의 표시 위치를 변경하는 동작을 나타내는 실시예이다.
도 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)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(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)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(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카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(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)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(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)은 1eMBB 실현을 위한 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 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
도 2는 다양한 실시예들에 따른, 전자 장치(예: 도 1의 전자 장치(101))가 필기 입력에 대응하는 블록을 식별하고, 식별된 블록을 처리하는 방법을 설명하기 위한 흐름도이다. 도 3a는 다양한 실시예들에 따른, 전자 장치(101)가 필기 입력들 사이의 기울기에 기반하여, 각 필기 입력들에 대응하는 블록을 식별하는 실시예를 나타낸다. 도 3b는 다양한 실시예들에 따른, 전자 장치(101)가 필기 입력들의 기울기의 차이 및 필기 입력들 사이의 거리를 이용하여 블록을 구분하는 제1 실시예를 나타낸다. 도 3c는 다양한 실시예들에 따른, 필기 입력의 각 스트로크에 대응하는 기울기 정보를 나타낸다. 도 3d는 다양한 실시예들에 따른, 전자 장치(101)가 필기 입력들의 기울기의 차이 및 필기 입력들 사이의 거리를 이용하여 블록을 구분하는 제2 실시예를 나타낸다.
201 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 디스플레이(예: 도 1의 디스플레이 모듈(160)) 상에 표시되는 제1 필기 입력 및 제1 필기 입력에 선행하는 제1 선행 필기 입력 사이의 제1 기울기를 식별할 수 있다. 선행 필기 입력은 특정 필기 입력을 획득하기 이전에 획득한 필기 입력을 의미할 수 있다. 예를 들어, 도 3a를 참조하면, 전자 장치(101)는 연속적으로 작성된 필기 입력인 'abcdefgh'를 식별하는 경우, 제1 필기 입력(310)(예: 'd')을 획득하기 이전에 획득한 필기 입력으로서 제1 선행 필기 입력(311)(예: 'abc' 중 적어도 일부)을 식별할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 전자 장치(101)와 연동되는 스타일러스 펜(stylus pen) 또는 사용자의 손가락을 통하여 획득된 필기 입력을 식별할 수 있고, 식별된 필기 입력을 디스플레이(160) 상에 표시할 수 있다. 필기 입력은 적어도 하나의 스트로크(stroke)로 구성될 수 있고, 각 스트로크(또는 획)는 사용자가 스타일러스 펜 또는 손가락을 이용하여 디스플레이(160)를 터치 다운하고 드래그하고 터치 업 하기까지 사용자 입력에 의해 생성되는 복수의 점(point)들로 구성되는 데이터일 수 있다. 예를 들어, 도 3a를 참조하면, 'a', 'b', 'c'는 한 개의(single) 스트로크로 작성될 수 있고, 'f'는 두 개의 스트로크로 작성될 수 있다. 일 실시예에 따르면, 전자 장치(101)는 디스플레이(160) 상의 픽셀들 중에서 필기 입력을 나타내는 픽셀들의 위치 정보(예: 좌표 값)를 획득함으로써 필기 입력을 인식할 수 있으며, 필기 입력을 인식하는 방법은 이에 한정되지 않을 수 있다.
다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 제1 필기 입력을 구성하는 적어도 하나의 스트로크 및 제1 선행 필기 입력을 구성하는 복수개의 스트로크들 사이의 평균 기울기를 산출함으로써, 제1 필기 입력 및 제1 선행 필기 입력 사이의 제1 기울기를 식별할 수 있다. 예를 들어, 도 3a 및 도 3c를 참조하면, 전자 장치(101)는 제1 필기 입력(310)(예: 'd')을 구성하는 한 개의 스트로크(310a) 및 제1 선행 필기 입력(311)(예: 'abc')을 구성하는 복수개의 스트로크들 사이의 평균 기울기(예: 30도)를 산출할 수 있고, 산출된 평균 기울기를 제1 필기 입력(310) 및 제1 선행 필기 입력(311) 사이의 제1 기울기(312)로서 식별할 수 있다. 또 다른 예를 들어, 도 3b 및 도 3c를 참조하면, 전자 장치(101)는 제1 필기 입력(330)(예: 'f')을 구성하는 두 개의 스트로크(330a, 330b) 및 제1 선행 필기 입력(331)(예: 'cde')을 구성하는 복수개의 스트로크들 사이의 평균 기울기(예: -20도)를 산출할 수 있고, 산출된 평균 기울기를 제1 필기 입력(330) 및 제1 선행 필기 입력(331) 사이의 제1 기울기(332)로서 식별할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제1 필기 입력 및 제1 선행 필기 입력의 각 스트로크의 최초 포인트를 이용하여 제1 기울기를 식별할 수 있다. 예를 들어, 도 3a를 참조하면, 전자 장치(101)는 제1 필기 입력(310)을 구성하는 스트로크(310a)의 최초 포인트(310b) 및 제1 선행 필기 입력(311)을 구성하는 각 스트로크의 최초 포인트 사이의 기울기들의 평균에 해당하는 제1 기울기(312)를 식별할 수 있다. 또 다른 예를 들어, 도 3b를 참조하면, 전자 장치(101)는 제1 필기 입력(330)을 구성하는 각 스트로크(330a, 330b)의 최초 포인트(330c, 330d) 및 제1 선행 필기 입력(331)을 구성하는 각 스트로크의 최초 포인트 사이의 기울기들의 평균에 해당하는 제1 기울기(332)를 식별할 수 있다. 일 실시예에 따르면, 특정 필기 입력의 선행 필기 입력은, 특정 필기 입력 이전에 수신된 스트로크들 중에서 미리 정해진 개수만큼 선택된 스트로크들로 구성될 수 있다. 예를 들어, 도 3a를 참조하면, 제1 선행 필기 입력(311)은 제1 필기 입력(310)(예: 'd') 이전에 수신된 스트로크들 중에서 미리 정해진 개수(예: 약 3개)만큼 선택된 스트로크들(예: 'abc')로 구성될 수 있다. 일 실시예에 따르면, 특정 필기 입력의 선행 필기 입력은, 특정 필기 입력을 수신한 시점으로부터 미리 정해진 시간(예: 약 3초) 이전 시점까지 수신된 스트로크들 중에서 미리 정해진 개수(예: 약 3개)만큼 선택된 스트로크들로 구성될 수 있다. 일 실시예에 따르면, 특정 필기 입력의 선행 필기 입력은, 특정 필기 입력 이전에 수신되고 특정 필기 입력으로부터 미리 정해진 거리(예: 약 20픽셀) 이내에 위치하는 스트로크들 중에서 미리 정해진 개수(예: 약 3개)만큼 선택된 스트로크들로 구성될 수 있다. 특정 필기 입력 이전에 수신된 상기 스트로크들은, 특정 필기 입력이 수신되는 시점 이전에, 가장 최근에 수신된 순서에 따라 선택된 스트로크들을 의미할 수 있다.
203 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 디스플레이(160) 상에 표시되는 제2 필기 입력 및 제2 필기 입력에 선행하는 제2 선행 필기 입력 사이의 제2 기울기를 식별할 수 있다. 제2 필기 입력은 제1 필기 입력에 연속하는 필기 입력일 수 있다. 예를 들어, 도 3a를 참조하면, 제2 필기 입력(320)(예: 'e')은 제1 필기 입력(310)(예: 'd')을 획득한 후, 연속하여 획득하는 필기 입력일 수 있다.
다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 제2 필기 입력을 구성하는 적어도 하나의 스트로크 및 제2 선행 필기 입력을 구성하는 복수개의 스트로크들 사이의 평균 기울기를 산출함으로써, 제2 필기 입력 및 제2 선행 필기 입력 사이의 제2 기울기를 식별할 수 있다. 예를 들어, 도 3a 및 도 3c를 참조하면, 전자 장치(101)는 제2 필기 입력(320)(예: 'e')을 구성하는 한 개의 스트로크(320a) 및 제2 선행 필기 입력(321)(예: 'bcd')을 구성하는 복수개의 스트로크들 사이의 평균 기울기(예: -30도)를 산출할 수 있고, 산출된 평균 기울기를 제2 필기 입력(320) 및 제2 선행 필기 입력(321) 사이의 제2 기울기(322)로서 식별할 수 있다. 이 경우, 제2 선행 필기 입력(321)은 제2 필기 입력(320)(예: 'e') 이전에 수신된 스트로크들 중에서 미리 정해진 개수(예: 약 3개)만큼 선택된 스트로크들(예: 'bcd')로 구성될 수 있다. 또 다른 예를 들어, 도 3b 및 도 3c를 참조하면, 전자 장치(101)는 제2 필기 입력(340)(예: 'g')을 구성하는 한 개의 스트로크(340a) 및 제2 선행 필기 입력(341)(예: 'ef')을 구성하는 복수개의 스트로크들 사이의 평균 기울기(예: -10도)를 산출할 수 있고, 산출된 평균 기울기를 제2 필기 입력(340) 및 제2 선행 필기 입력(341) 사이의 제2 기울기(342)로서 식별할 수 있다. 이 경우, 제2 선행 필기 입력(341)은 제2 필기 입력(340)(예: 'g') 이전에 수신된 스트로크들 중에서 미리 정해진 개수(예: 약 3개)만큼 선택된 스트로크들(예: 'ef')로 구성될 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제2 필기 입력 및 제2 선행 필기 입력의 각 스트로크의 최초 포인트를 이용하여 제2 기울기를 식별할 수 있다. 예를 들어, 도 3a를 참조하면, 전자 장치(101)는 제2 필기 입력(320)(예: 'e')을 구성하는 스트로크(320a)의 최초 포인트(320b) 및 제2 선행 필기 입력(321)(예: 'bcd')을 구성하는 각 스트로크의 최초 포인트 사이의 기울기들의 평균에 해당하는 제2 기울기(322)를 식별할 수 있다.
205 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 제1 기울기 및 제2 기울기를 이용하여, 제2 필기 입력이 제1 블록에 대응하는지 또는 제1 블록과 상이한 제2 블록에 대응하는지 여부를 판단할 수 있다. 전자 장치(101)는 제1 필기 입력의 선행 필기 입력들을 이용하여, 제1 필기 입력이 제1 블록에 대응한다는 결과를 이미 식별하였음을 전제로 한다. 일 실시예에 따르면, 전자 장치(101)는 제2 필기 입력을 메모 어플리케이션 내의 페이지의 경계로 이동시키는 사용자 입력에 기반하여, 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제2 블록에 대응하는지 여부를 판단할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 특정 문서의 형식을 제1 형식(예: 페이지의 경계가 존재하지 않음)으로부터 제2 형식(예: 페이지의 경계가 존재함)으로 전환하도록 요청하는 사용자 입력에 기반하여, 특정 문서에 포함된 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제2 블록에 대응하는지 여부를 판단할 수 있다.
다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 제1 기울기 및 제2 기울기 사이의 기울기 차이가 미리 정해진 제1 값을 초과하는 것에 기반하여, 제2 필기 입력이 제 1 블록과 상이한 제2 블록에 대응하는 것으로 결정할 수 있다. 예를 들어, 도 3a를 참조하면, 전자 장치(101)는 제1 기울기(312)(예: 30도) 및 제2 기울기(322)(예: -30도) 사이의 기울기 차이(예: 60도)가 미리 정해진 제1 값(예: 약 40도)을 초과하는 것에 기반하여, 제2 필기 입력(320)이 제1 필기 입력(310)에 대응하는 제1 블록과 상이한 제2 블록에 대응하는 것으로 결정할 수 있다. 일 실시예에 따르면, 미리 정해진 제1 값은 전자 장치(101)의 사용자 또는 전자 장치(101)의 제조사에 의하여 설정될 수 있고, 필기 입력들 사이의 기울기가 크게 변화하는 지점에서 블록을 구분하기 위한 기준값이 될 수 있다.
다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 제1 필기 입력 및 제2 필기 입력 사이의 제1 거리를 식별할 수 있고, 상기 제1 거리가 미리 정해진 제2 값을 초과하는지 여부를 판단할 수 있다. 일 실시예에 따르면, 미리 정해진 제2 값은 사용자 또는 전자 장치(101)의 제조사에 의하여 설정될 수 있다. 일 실시예에 따르면, 미리 정해진 제2 값은, 블록을 구분하기 위한 인공지능 모델을 이용하여 블록이 구분되는 필기 입력들 사이의 거리를 학습시킴으로써 산출될 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제1 필기 입력 및 제2 필기 입력의 각 스트로크의 최초 포인트를 이용하여 제1 거리를 식별할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 (1) 제1 기울기 및 제2 기울기 사이의 기울기 차이가 미리 정해진 제1 값 이하이고, (2) 제1 필기 입력 및 제2 필기 입력 사이의 제1 거리가 미리 정해진 제2 값을 이하인 것에 기반하여, 제2 필기 입력이 제1 블록에 대응하는 것으로 결정할 수 있다. 예를 들어, 도 3b를 참조하면, 전자 장치(101)는 (1) 제1 기울기(332)(예: -20도) 및 제2 기울기(342)(예: -10도) 사이의 기울기 차이(예: 10도)가 미리 정해진 제1 값(예: 약 40도) 이하이고, (2) 제1 필기 입력(330) 및 제2 필기 입력(340) 사이의 제1 거리(d)(예: 약 10픽셀)가 미리 정해진 제2 값(예: 40픽셀)을 이하인 것에 기반하여, 제2 필기 입력(340)이 제1 필기 입력(330)과 동일하게 제1 블록에 대응하는 것으로 결정할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 (1) 제1 기울기 및 제2 기울기 사이의 기울기 차이가 미리 정해진 제1 값 이하이고, (2) 제1 필기 입력 및 제2 필기 입력 사이의 제1 거리가 미리 정해진 제2 값을 초과하는 것에 기반하여, 제2 필기 입력이 제1 블록과 상이한 제2 블록에 대응하는 것으로 결정할 수 있다. 예를 들어, 도 3d를 참조하면, 전자 장치(101)는 제1 기울기(352)(예: 30도) 및 제2 기울기(362)(예: 50도) 사이의 기울기 차이(예: 20도)가 미리 정해진 제1 값(예: 약 40도) 이하이고, (2) 제1 필기 입력(350)(예: 'd') 및 제2 필기 입력(360)(예: 'e') 사이의 제1 거리(d)(예: 60픽셀)가 미리 정해진 제2 값(예: 약 40픽셀)을 초과하는 것에 기반하여, 제2 필기 입력(360)이 제1 필기 입력(350)에 대응하는 제1 블록과 상이한 제2 블록에 대응하는 것으로 결정할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 메모 어플리케이션을 통하여 필기 입력을 수신하는 동안, 201 동작 내지 205 동작을 실시간으로 수행하여 각 필기 입력들에 대응하는 블록을 식별할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 메모 어플리케이션 내에 저장된 복수의 메모들 중에서 사용자의 선택에 의하여 특정 메모를 로드(load)하는 것에 기반하여, 201 동작 내지 205 동작을 수행하여 상기 특정 메모 내의 각 필기 입력들에 대응하는 블록을 식별할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 메모 어플리케이션을 통하여 작성된 필기 입력들 중에서, 일부 필기 입력들이 선택되거나 또는 상기 선택된 필기 입력들의 표시 위치가 변경되는 것에 기반하여, 201 동작 내지 205 동작을 수행하여 상기 선택된 필기 입력들에 대응하는 블록을 식별할 수 있다.
207 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 제2 필기 입력이 제2 블록에 대응하는 것에 기반하여, 제2 블록을 나타내는 복수의 필기 입력들을 처리하기 위한 적어도 하나의 동작을 수행할 수 있다. 일 실시예에 따르면, 제2 블록을 나타내는 복수의 필기 입력들을 처리하기 위한 적어도 하나의 동작은, 제2 블록에 포함된 복수의 필기 입력들의 표시 위치를 변경하는 동작, 제2 블록에 포함된 복수의 필기 입력들을 텍스트 데이터로 변환하는 동작, 제2 블록에 포함된 복수의 필기 입력들을 회전하여 표시하는 동작을 포함할 수 있다. 상술한 동작들에 관한 구체적인 설명은 후술하도록 한다.
209 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 제2 필기 입력이 제1 블록에 대응하는 것에 기반하여, 제1 블록을 나타내는 하나 이상의 필기 입력들을 처리하기 위한 적어도 하나의 동작을 수행할 수 있다. 일 실시예에 따르면, 제1 블록을 나타내는 복수의 필기 입력들을 처리하기 위한 적어도 하나의 동작은, 제1 블록에 포함된 하나 이상의 필기 입력들의 표시 위치를 변경하는 동작, 제1 블록에 포함된 하나 이상의 필기 입력들을 텍스트 데이터로 변환하는 동작, 제1 블록에 포함된 하나 이상의 필기 입력들을 회전하여 표시하는 동작을 포함할 수 있다.
도 4는 다양한 실시예들에 따른, 전자 장치(예: 도 1의 전자 장치(101))가 필기 입력에 대응하는 블록을 식별하고, 식별된 블록을 처리하는 방법을 설명하기 위한 흐름도이다. 도 5a는 다양한 실시예들에 따른, 전자 장치(101)가 사용자 입력에 기반하여 선택된 필기 입력들에 대응하는 적어도 하나의 블록을 식별하는 동작을 나타내는 실시예이다. 도 5b는 다양한 실시예들에 따른, 전자 장치(101)가 적어도 하나의 블록의 기울기를 식별하는 동작을 나타내는 실시예이다.
401 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 사용자 입력에 기반하여 선택된 필기 입력들의 개수가 미리 정해진 개수 이상인지 여부를 식별할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 필기 입력들을 선택하는 사용자 입력을 수신할 수 있고, 상기 선택된 필기 입력들(예: 스트로크들)의 개수가 미리 정해진 개수 이상인지 여부를 판단할 수 있다. 예를 들어, 도 5a를 참조하면, 전자 장치(101)는 사용자로부터 필기 입력(예: 'abcdefghijkl')을 선택하는 입력을 수신한 경우, 선택된 필기 입력에 대응하는 영역을 나타내는 그래픽 요소(501)를 표시할 수 있고, 선택된 필기 입력들의 개수가 미리 정해진 개수 이상인지 여부를 판단할 수 있다. 이는 특정 개수 이하의 스트로크로 구성된 필기 입력들은 블록을 구분할 필요가 없기 때문이다.
403 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 선택된 필기 입력들에 대응하는 적어도 하나의 블록을 식별할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 사용자 입력에 기반하여 선택된 필기 입력들의 개수가 미리 정해진 개수 이상인 것에 기반하여, 상기 선택된 필기 입력들에 대응하는 적어도 하나의 블록을 식별할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 최초 필기 입력으로부터 미리 정해진 개수만큼 연속하는 필기 입력들을 초기 블록(original block)에 대응하도록 지정할 수 있다. 예를 들어, 도 5a를 참조하면, 전자 장치(101)는 최초 필기 입력(예: 'a')부터 미리 정해진 개수(예: 약 3개)만큼 연속하는 필기 입력들(예: 'abc')을 초기 블록으로서 제1 블록에 대응하도록 지정할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 선택된 필기 입력의 특정 필기 입력이 이전 필기 입력에 대응하는 블록과 상이한 블록에 대응하는지 여부를 판단할 수 있다. 상술한 동작은 도 2의 201 동작 내지 205 동작을 이용하여 수행될 수 있다. 일 실시예에 따르면, 전자 장치(101)는 선택된 필기 입력 각각에 대응하는 블록을 순서대로 식별할 수 있다. 예를 들어, 도 5a를 참조하면, 전자 장치(101)는 제1 특정 필기 입력(예: 'd') 및 이전 필기 입력(예: 'c') 사이의 거리 및 기울기를 이용하여, 제1 특정 필기 입력(예: 'd')이 이전 필기 입력(예: 'c')에 대응하는 블록(예: 제1 블록)과 동일한 블록에 대응함을 식별할 수 있다. 또 다른 예를 들어, 도 5a를 참조하면, 전자 장치(101)는 제2 특정 필기 입력(예: 'e') 및 이전 필기 입력(예: 'd') 사이의 거리 및 기울기를 이용하여, 제2 특정 필기 입력(예: 'e')이 이전 필기 입력(예: 'd')에 대응하는 블록(예: 제1 블록)과 상이한 블록(예: 제2 블록)에 대응함을 식별할 수 있다. 또 다른 예를 들어, 도 5a를 참조하면, 전자 장치(101)는 제3 특정 필기 입력(예: 'i') 및 이전 필기 입력(예: 'h') 사이의 거리 및 기울기를 이용하여, 제3 특정 필기 입력(예: 'i')이 이전 필기 입력(예: 'h')에 대응하는 블록(예: 제2 블록)과 상이한 블록(예: 제3 블록)에 대응함을 식별할 수 있다. 식별 결과, 전자 장치(101)는 'abcd'가 제1 블록에 대응하고, 'efgh'가 제2 블록에 대응하며, 'ijkl'이 제3 블록에 대응함을 결정할 수 있다.
405 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 적어도 하나의 블록 중에서 미리 정해진 임계치를 초과하는 기울기를 갖는 블록이 존재하는지 여부를 판단할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 적어도 하나의 블록의 기울기를 산출할 수 있다. 예를 들어, 도 5b의 <510>을 참조하면, 전자 장치(101)는 블록 내의 필기 입력을 구성하는 포인트들을 이용하는 linear regression 방식에 기반하여, 제1 블록(511)의 제1 기울기(예: 45도), 제2 블록(512)의 제2 기울기(예: 47도), 및 제3 블록(513)의 제3 기울기(예: 40도)를 산출할 수 있다. 또 다른 예를 들어, 도 5b의 <520>을 참조하면, 전자 장치(101)는 linear regression 방식에 기반하여, 제1 블록(521)의 제1 기울기(예: 40도), 제2 블록(522)의 제2 기울기(예: -48도), 제3 블록(523)의 제3 기울기(예: -50도), 및 제4 블록(524)의 제4 기울기(예: -42도)를 산출할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 적어도 하나의 블록의 평균 기울기로부터 미리 정해진 임계치를 초과하는 기울기를 갖는 블록이 존재하는지 여부를 판단할 수 있다. 예를 들어, 도 5b의 <510>을 참조하면, 전자 장치(101)는 제1 블록(511) 내지 제3 블록(513)의 평균 기울기(예: 44도)를 산출할 수 있고, 제1 블록(511)의 기울기 편차(예: 1도), 제2 블록(512)의 기울기 편차(예: 3도), 및 제3 블록(513)의 기울기 편차(예: 4도)가 미리 정해진 임계치(예: 30도)를 초과하는지 여부를 판단할 수 있다. 이 경우, 전자 장치(101)는 제1 블록(511) 내지 제3 블록(513) 중에서 미리 정해진 임계치를 초과하는 기울기를 갖는 블록이 존재하지 않음을 식별할 수 있다. 또 다른 예를 들어, 도 5b의 <520>을 참조하면, 전자 장치(101)는 제1 블록(521) 내지 제4 블록(524)의 평균 기울기(예: -25도)를 산출할 수 있고, 제1 블록(521)의 기울기 편차(예: 65도), 제2 블록(522)의 기울기 편차(예: 23도), 제3 블록(523)의 기울기 편차(예: 25도), 및 제4 블록(524)의 기울기 편차(예: 17도)가 미리 정해진 임계치(예: 약 30도)를 초과하는지 여부를 판단할 수 있다. 이 경우, 전자 장치(101)는 제1 블록(521) 내지 제4 블록(524) 중에서 미리 정해진 임계치를 초과하는 기울기를 갖는 블록(예: 제1 블록(521))이 존재함을 식별할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 선택된 필기 입력들에 대응하는 적어도 하나의 블록 중에서 미리 정해진 임계치를 초과하는 기울기를 갖는 블록의 비율이 미리 정해진 비율(예: 약 10%) 이상인지를 판단할 수 있다.
407 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 블록 기반의(block based) 제1 분리 방식을 이용하여, 적어도 하나의 필기 입력을 처리하기 위한 동작을 수행할 수 있다. 일 실시예에 따르면, 블록 기반의 제1 분리 방식을 이용하여, 적어도 하나의 필기 입력을 처리하기 위한 동작은, 도 2의 각 동작에 따라 식별된 제1 블록 또는 제2 블록에 포함된 적어도 하나의 필기 입력을 처리하는 동작을 의미할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 적어도 하나의 블록 중에서 미리 정해진 임계치를 초과하는 기울기를 갖는 블록이 존재하거나 또는 미리 정해진 임계치를 초과하는 기울기를 갖는 블록의 비율이 미리 정해진 비율 이상인 것에 기반하여, 블록 기반의(block based) 제1 분리 방식을 이용하여, 적어도 하나의 필기 입력을 처리하기 위한 동작을 수행할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 적어도 하나의 블록 중에서 미리 정해진 임계치를 초과하는 기울기를 갖는 블록의 비율이 미리 정해진 비율 이상인 것에 기반하여, 블록 기반의(block based) 제1 분리 방식을 이용하여, 적어도 하나의 필기 입력을 처리하기 위한 동작을 수행할 수 있다.
409 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 라인 기반의(line based) 제2 분리 방식을 이용하여, 적어도 하나의 필기 입력을 처리하기 위한 동작을 수행할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 필기 입력의 라인을 구분하기 위한 머신러닝 기반의 DLA(document layout analysis) 엔진을 이용하여, 사용자에 의하여 선택된 필기 입력들을 분석하여 상기 필기 입력들로부터 적어도 하나의 라인을 구분할 수 있다. 본 문서에서 블록 단위에 기반하여 처리되는 동작들은, DLA 엔진에 의하여 구분된 라인 단위에 기반하여 처리되는 동작에도 적용될 수 있다.
일 실시예에 따르면, 전자 장치(101)는 적어도 하나의 블록 중에서 미리 정해진 임계치를 초과하는 기울기를 갖는 블록이 존재하지 않거나 또는 미리 정해진 임계치를 초과하는 기울기를 갖는 블록의 비율이 미리 정해진 비율 미만인 것에 기반하여, 라인 기반의(line based) 제2 분리 방식을 이용하여, 적어도 하나의 필기 입력을 처리하기 위한 동작을 수행할 수 있다. 일 실시예에 따르면, 401 동작에 따라 사용자 입력에 기반하여 선택된 필기 입력들의 개수가 미리 정해진 개수 미만인 것으로 판단되는 경우, 전자 장치(101)는 라인 기반의(line based) 제2 분리 방식을 이용하여, 적어도 하나의 필기 입력을 처리하기 위한 동작을 수행할 수 있다.
도 6은 다양한 실시예들에 따른, 전자 장치(예: 도 1의 전자 장치(101))가 페이지의 경계에 위치하는 필기 입력의 표시 위치를 변경하는 방법을 설명하기 위한 흐름도이다. 도 7은 다양한 실시예들에 따른, 전자 장치(101)가 적어도 하나의 라인에 포함된 필기 입력의 표시 위치를 변경하는 실시예를 나타내는 도면이다. 도 8은 다양한 실시예들에 따른, 전자 장치(101)가 적어도 하나의 블록에 포함된 필기 입력의 표시 위치를 변경하는 실시예를 나타내는 도면이다.
601 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 사용자로부터 필기 입력들을 획득할 수 있다. 예를 들어, 도 7의 <701>을 참조하면, 전자 장치(101)는 메모 어플리케이션의 실행 중에 스타일러스 펜 또는 사용자의 손가락을 통하여 필기 입력(예: 'abcdefghijkl')을 획득할 수 있고, 획득된 필기 입력을 디스플레이(예: 도 1의 디스플레이 모듈(160)) 상에 표시할 수 있다. 또 다른 예를 들어, 도 8의 <801>을 참조하면, 전자 장치(101)는 사용자로부터 필기 입력(예: 'aaaa', 'bbbb', 'cccc', 'dddd')를 획득할 수 있고 획득된 필기 입력을 디스플레이(160) 상에 표시할 수 있다.
603 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 특정 필기 입력에 대한 이벤트를 검출할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 특정 필기 입력을 선택하는 제1 사용자 입력 및 선택된 필기 입력을 이동시키는 제2 사용자 입력을 수신할 수 있다. 예를 들어, 도 7의 <702> 및 <703>을 참조하면, 전자 장치(101)는 특정 필기 입력(예: 'abcdefghijkl')을 선택하는 제1 사용자 입력을 수신한 경우, 선택된 필기 입력에 대응하는 영역을 나타내는 그래픽 요소(710)를 표시할 수 있고, 선택된 필기 입력을 메모 내의 특정 위치(예: 페이지의 경계(720))로 이동시키는 제2 사용자 입력을 수신할 수 있다. 또 다른 예를 들어, 도 8의 <802>를 참조하면, 전자 장치(101)는 특정 필기 입력(예: 'aaaa', 'bbbb', 'cccc', 'dddd')을 선택하는 제1 사용자 입력을 수신한 경우, 선택된 필기 입력에 대응하는 영역을 나타내는 그래픽 요소(810)를 표시할 수 있고, 선택된 필기 입력을 메모 내의 특정 위치(예: 페이지의 경계(820))로 이동시키는 제2 사용자 입력을 수신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 선택된 필기 입력을 다른 필기 입력 상에 오버랩되도록 이동시키는 제2 사용자 입력을 수신할 수 있다.
605 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 특정 필기 입력에 대응하는 적어도 하나의 블록을 식별할 수 있다. 전자 장치(101)는 도 4의 403 동작에서 설명하는 방법을 이용하여, 특정 필기 입력에 대응하는 적어도 하나의 블록을 식별하는 동작을 수행할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 특정 필기 입력을 선택하는 제1 사용자 입력을 수신하는 것에 응답하여, 특정 필기 입력에 대응하는 적어도 하나의 블록을 식별할 수 있다. 예를 들어, 도 7의 <702>을 참조하면, 전자 장치(101)는 'abcd'에 대응하는 제1 블록(721), 'efgh'에 대응하는 제2 블록(722), 및 'ijkl'에 대응하는 제3 블록(723)을 식별할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 선택된 필기 입력을 이동시키는 제2 사용자 입력을 수신하는 것에 응답하여, 특정 필기 입력에 대응하는 적어도 하나의 블록을 식별할 수 있다. 예를 들어, 도 8의 <802>를 참조하면, 전자 장치(101)는 'aaaa'에 대응하는 제1 블록(821), 'bbbb'에 대응하는 제2 블록(822), 'cccc'에 대응하는 제3 블록(823), 및 'dddd'에 대응하는 제4 블록(824)을 식별할 수 있다.
607 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 적어도 하나의 블록 중에서 미리 정해진 임계치를 초과하는 기울기를 갖는 블록이 존재하는지 여부를 판단할 수 있다. 전자 장치(101)는 도 4의 405 동작에서 설명하는 방법을 이용하여, 미리 정해진 임계치를 초과하는 기울기를 갖는 블록이 존재하는지 여부를 판단하는 동작을 수행할 수 있다. 예를 들어, 도 7의 <702>를 참조하면, 전자 장치(101)는 제1 블록(721) 내지 제3 블록(723) 중에서 미리 정해진 임계치를 초과하는 기울기를 갖는 블록이 존재하지 않음을 식별할 수 있다. 또 다른 예를 들어, 도 8의 <802>를 참조하면, 전자 장치(101)는 제1 블록(821) 내지 제4 블록(824) 중에서 미리 정해진 임계치를 초과하는 기울기를 갖는 블록(예: 제1 블록(821))이 존재함을 식별할 수 있다.
609 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 이벤트가 검출된 특정 필기 입력의 적어도 하나의 라인(line)을 구분할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 적어도 하나의 블록 중에서 미리 정해진 임계치를 초과하는 기울기를 갖는 블록이 존재하지 않거나 또는 미리 정해진 임계치를 초과하는 기울기를 갖는 블록의 비율이 미리 정해진 비율 미만인 것에 기반하여, 이벤트가 검출된 특정 필기 입력의 적어도 하나의 라인을 구분할 수 있다. 일 실시예예 따르면, 전자 장치(101)는 필기 입력의 라인 구분을 위한 인공지능 모델(예: DLA 엔진)을 이용하여, 특정 필기 입력으로부터 적어도 하나의 라인을 분리할 수 있다. 예를 들어, 도 7의 <702>를 참조하면, 전자 장치(101)는 DLA 엔진을 이용하여, 특정 필기 입력으로부터 제1 라인(예: 'abcd'), 제2 라인(예: 'efgh'), 및 제3 라인(예: 'ijkl')을 분리할 수 있다.
611 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 적어도 하나의 라인 중에서 페이지의 경계에 위치하는 특정 라인을 식별할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 특정 필기 입력을 이동시키는 제2 사용자 입력을 수신하는 것에 응답하여, 페이지의 경계에 위치하는 특정 라인을 식별할 수 있다. 예를 들어, 도 7의 <703>을 참조하면, 전자 장치(101)는 페이지의 경계에 위치하는 제2 라인(예: 'efgh')을 식별할 수 있다.
613 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 특정 라인의 배치 상태에 기반하여 특정 라인의 표시 위치를 변경할 수 있다. 만약, 페이지의 경계에 위치하는 필기 입력을 그대로 표시할 경우, 도 7의 <704>와 같이, 필기 입력(예: 'g')의 형태가 온전하지 않을 수 있으므로, 전자 장치(101)는 필기 입력의 형태를 보전하기 위하여 페이지의 경계에 위치하는 필기 입력의 표시 위치를 변경할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 특정 라인에 포함되는 필기 입력이 가장 많이 배치된 타겟 페이지를 식별할 수 있고, 특정 라인이 상기 타겟 페이지 내에 표시되도록 상기 특정 라인에 포함되는 모든 필기 입력의 표시 위치를 변경할 수 있다. 예를 들어, 도 7의 <703> 및 <705>를 참조하면, 전자 장치(101)는 제2 라인(742)에 포함되는 필기 입력(예: 'efgh')의 스트로크를 분석함으로써, 메모 어플리케이션의 제1 페이지(731) 및 제2 페이지(732) 중에서 상기 필기 입력이 제1 페이지(731)에 더 많이 배치되어 있음을 식별할 수 있고, 제2 라인(742)에 포함되는 모든 필기 입력의 표시 위치를 제1 페이지(731)로 변경할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 특정 라인의 표시 위치를 변경하면서, 특정 라인에 선행하는 적어도 하나의 선행 라인의 표시 위치를 함께 변경할 수 있다. 예를 들어, 도 7의 <705>를 참조하면, 전자 장치(101)는 제1 페이지(731) 내에 제2 라인(742)이 모두 표시되도록 제2 라인(742)의 표시 위치를 변경하면서, 제2 라인(742)에 선행하는 제1 라인(741)의 표시 위치를 제2 라인(742)의 이동 거리(예: y축 방향으로 +20픽셀)만큼 변경할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 특정 라인 및 특정 라인의 선행/후행 라인 사이의 거리 차이에 더 기반하여, 특정 라인의 표시 위치를 변경할 수 있다. 예를 들어, 도 7의 <706>을 참조하면, 전자 장치(101)는 제2 라인(742) 및 제2 라인의 후행 라인인 제3 라인(743) 사이의 구도를 유지하기 위하여, 제2 라인(742)의 초기 필기 입력(예: 'e') 및 제3 라인(743)의 초기 필기 입력(예: 'i') 사이의 거리 차이에 특정 배율을 곱한 거리만큼 제2 라인(742)의 표시 위치를 변경할 수 있다. 이 경우, 전자 장치(101)는 제2 라인(742)의 표시 위치를 변경하면서, 제1 라인(741)의 표시 위치를 제2 라인(742)의 이동 거리만큼 변경할 수 있다.
615 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 적어도 하나의 블록 중에서 페이지의 경계에 위치하는 특정 블록을 식별할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 적어도 하나의 블록 중에서 미리 정해진 임계치를 초과하는 기울기를 갖는 블록이 존재하거나 또는 미리 정해진 임계치를 초과하는 기울기를 갖는 블록의 비율이 미리 정해진 비율 이상인 것에 기반하여, 페이지의 경계에 위치하는 특정 블록을 식별할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 특정 필기 입력을 이동시키는 제2 사용자 입력을 수신하는 것에 응답하여, 페이지의 경계에 위치하는 특정 블록을 식별할 수 있다. 예를 들어, 도 8의 <802>를 참조하면, 전자 장치(101)는 페이지의 경계에 위치하는 제2 블록(822) 및 제3 블록(823)을 식별할 수 있다.
617 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 페이지의 경계에 위치하는 특정 블록의 배치 상태에 기반하여 특정 블록의 표시 위치를 변경할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 특정 블록에 포함되는 필기 입력이 가장 많이 배치된 타겟 페이지를 식별할 수 있고, 특정 블록이 상기 타겟 페이지 내에 표시되도록 상기 특정 블록에 포함되는 모든 필기 입력의 표시 위치를 변경할 수 있다. 예를 들어, 도 8의 <802> 및 <803>을 참조하면, 전자 장치(101)는 제2 블록(822)에 포함되는 제1 필기 입력(예: 'bbbb') 및 제3 블록(823)에 포함되는 제2 필기 입력(예: 'cccc')의 스트로크를 분석함으로써, 메모 어플리케이션의 제1 페이지(831) 및 제2 페이지(832) 중에서 상기 제1 필기 입력이 제1 페이지(831)에 더 많이 배치되어 있고, 상기 제2 필기 입력이 제2 페이지(832)에 더 많이 배치되어 있음을 식별할 수 있고, 제2 블록(822)에 포함되는 모든 필기 입력의 표시 위치를 제1 페이지(831)로 변경하고 제3 블록(823)에 포함되는 모든 필기 입력의 표시 위치를 제2 페이지(832)로 변경할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 특정 블록의 표시 위치를 변경하면서, 특정 블록에 선행하는 적어도 하나의 선행 블록의 표시 위치를 함께 변경할 수 있다. 예를 들어, 도 8의 <803>을 참조하면, 전자 장치(101)는 제1 페이지(831) 내에 제2 블록(822)이 모두 표시되도록 제2 블록(822)의 표시 위치를 변경하면서, 제2 블록(822)에 선행하는 제1 블록(821)의 표시 위치를 제2 블록(822)의 이동 거리(예: y축 방향으로 +10픽셀)만큼 변경할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 특정 블록의 표시 위치를 변경하면서, 특정 블록에 후행하는 적어도 하나의 후행 블록의 표시 위치를 함께 변경할 수 있다. 예를 들어, 도 8의 <803>을 참조하면, 전자 장치(101)는 제2 페이지(832) 내에 제3 블록(823)이 모두 표시되도록 제3 블록(823)의 표시 위치를 변경하면서, 제3 블록(823)에 후행하는 제4 블록(824)의 표시 위치를 제3 블록(823)의 이동 거리(예: y축 방향으로 -20픽셀)만큼 변경할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 특정 블록 및 특정 블록의 선행 블록 사이의 거리 차이 또는 특정 블록 및 특정 블록의 후행 블록 사이의 거리 차이에 더 기반하여, 특정 블록의 표시 위치를 변경할 수 있다.
도 9a는 다양한 실시예들에 따른, 전자 장치(예: 도 1의 전자 장치(101))가 페이지의 경계에 위치하는 블록을 포함하는 그룹의 배치 상태에 기반하여 그룹의 표시 위치를 변경하는 실시예를 나타낸다.
다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 복수의 필기 입력들을 선택하는 제1 사용자 입력 및 선택된 복수의 필기 입력들을 이동시키는 제2 사용자 입력을 수신할 수 있다. 예를 들어, 도 9a의 <901>을 참조하면, 전자 장치(101)는 복수의 필기 입력들(예: 'hello nice to meet you' 및 'abcdefghijkl')을 선택하는 제1 사용자 입력을 수신한 경우, 선택된 필기 입력에 대응하는 영역을 나타내는 그래픽 요소(910)를 표시할 수 있고, 선택된 필기 입력 중 일부를 메모 내의 특정 위치(예: 페이지의 경계(920))로 이동시키는 제2 사용자 입력을 수신할 수 있다.
다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 페이지의 경계에 위치하는 블록을 포함하는 특정 그룹을 식별할 수 있다. 예를 들어, 도 9a의 <901>을 참조하면, 전자 장치(101)는 제1 블록(931) 및 제2 블록(932)를 포함하는 제1 그룹(941) 및 제3 블록(933), 제4 블록(934), 및 제5 블록(935)을 포함하는 제2 그룹(942) 중에서, 페이지의 경계(920)에 위치하는 제3 블록(933) 및 제4 블록(934)에 대응하는 그룹이 제2 그룹(942)임을 식별할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 블록들 사이의 거리가 미리 정해진 거리를 초과하는 것에 기반하여 상기 블록들을 포함하는 그룹을 구분할 수 있다.
다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 페이지의 경계에 위치하는 블록을 포함하는 특정 그룹의 배치 상태에 기반하여, 특정 그룹의 표시 위치를 변경할 수 있다. 예를 들어, 도 9a의 <901> 및 <902>를 참조하면, 전자 장치(101)는 제2 그룹(942)에 포함되는 필기 입력들의 스트로크를 분석함으로써, 메모 어플리케이션의 제1 페이지(951) 및 제2 페이지(952) 중에서 상기 제2 그룹(942)이 제2 페이지(952)에 더 많이 배치되어 있음을 식별할 수 있고, 제2 그룹(942)에 포함되는 모든 필기 입력의 표시 위치를 제2 페이지(952)로 변경할 수 있다. 이 경우, 제2 그룹(942)의 변경된 표시 위치에 대응하는 제2 페이지(952)가 제1 그룹(941)의 표시 위치에 대응하는 제1 페이지(951)와 상이한 것에 기반하여, 전자 장치(101)는 제2 그룹(942)의 표시 위치를 변경하면서, 제1 그룹(941)의 표시 위치를 유지할 수 있다.
도 9b는 다양한 실시예들에 따른, 전자 장치(예: 도 1의 전자 장치(101))가 다른 블록 상에 오버랩하여 위치하는 블록의 표시 위치를 변경하는 실시예를 나타낸다.
다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 복수의 필기 입력들을 선택하는 제1 사용자 입력 및 선택된 복수의 필기 입력들을 이동시키는 제2 사용자 입력을 수신할 수 있다. 예를 들어, 도 9b의 <903>을 참조하면, 전자 장치(101)는 복수의 필기 입력들(예: 'abcdefgh')을 선택하는 제1 사용자 입력을 수신한 경우, 선택된 필기 입력에 대응하는 영역을 나타내는 그래픽 요소(911)를 표시할 수 있고, 선택된 필기 입력 중 일부를 메모 내의 특정 위치(예: 제2 블록(932)의 표시 위치) 상으로 이동시키는 제2 사용자 입력을 수신할 수 있다.
다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 다른 블록 상에 오버랩하여 위치하는 블록의 표시 위치를 변경할 수 있다. 예를 들어, 도 9b의 <903> 및 <904>를 참조하면, 전자 장치(101)는 제2 블록(932) 상에 오버랩하여 위치하는 제3 블록(933)의 표시 위치를 제2 블록(932)과 오버랩되지 않도록 다른 위치로 변경할 수 있다. 이 경우, 전자 장치(101)는 제3 블록(933)의 표시 위치를 변경하면서, 제4 블록(934)의 표시 위치를 제3 블록(933)의 이동 거리만큼 변경할 수 있다.
도 10은 다양한 실시예들에 따른, 전자 장치(예: 도 1의 전자 장치(101))가 회전 동작에 의하여 페이지의 경계에 위치하는 특정 블록의 배치 상태에 기반하여, 회전된 특정 블록의 표시 위치를 변경하는 실시예를 나타낸다.
다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 복수의 필기 입력들을 선택하는 제1 사용자 입력 및 선택된 복수의 필기 입력들을 회전(rotation)시키는 제2 사용자 입력을 수신할 수 있다. 예를 들어, 도 10의 <1001>을 참조하면, 전자 장치(101)는 복수의 필기 입력들(예: 'abcdefghijkl')을 선택하는 제1 사용자 입력을 수신한 경우, 선택된 필기 입력에 대응하는 영역을 나타내는 그래픽 요소(1010)를 표시할 수 있고, 선택된 필기 입력을 회전시키는 제2 사용자 입력을 수신할 수 있다.
다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 페이지의 경계에 위치하는 회전된 특정 블록을 식별할 수 있다. 예를 들어, 도 10의 <1002>를 참조하면, 전자 장치(101)는 회전 동작이 수행된 후에, 페이지의 경계(1020)에 위치하는 회전된 제2 블록(1032)(예: 'efgh')을 식별할 수 있다. 만약, 회전 동작에 의하여 페이지의 경계에 위치하게 되는 필기 입력을 그대로 표시할 경우, 도 10의 <1002>와 같이, 필기 입력(예: 'efgh')의 형태가 온전하지 않을 수 있으므로, 전자 장치(101)는 필기 입력의 형태를 보전하기 위하여 페이지의 경계에 위치하는 회전된 필기 입력의 표시 위치를 변경할 수 있다.
다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 회전된 특정 블록의 배치 상태에 기반하여 회전된 특정 블록의 표시 위치를 변경할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 회전된 특정 블록에 포함되는 필기 입력이 가장 많이 배치된 페이지를 식별할 수 있고, 회전된 특정 블록이 상기 페이지 내에 표시되도록 상기 회전된 특정 블록에 포함되는 모든 필기 입력의 표시 위치를 변경할 수 있다. 예를 들어, 도 10의 <1002> 및 <1003>을 참조하면, 전자 장치(101)는 회전된 제2 블록(1032)에 포함되는 필기 입력(예: 'efgh')의 스트로크를 분석함으로써, 메모 어플리케이션의 제1 페이지(1041) 및 제2 페이지(1042) 중에서 상기 회전된 필기 입력이 제1 페이지(1041)에 더 많이 배치되어 있음을 식별할 수 있고, 회전된 제2 블록(1032)에 포함되는 모든 필기 입력의 표시 위치를 제1 페이지(1041)로 변경할 수 있다.
도 11은 다양한 실시예들에 따른, 전자 장치(예: 도 1의 전자 장치(101))가 특정 문서의 형식을 전환함에 따라 특정 문서 내의 페이지의 경계에 위치하는 필기 입력의 표시 위치를 변경하는 방법을 설명하기 위한 흐름도이다. 도 12는 다양한 실시예들에 따른, 전자 장치(101)가 단락을 구분하는 동작을 나타내는 실시예이다. 도 13은 다양한 실시예들에 따른, 전자 장치(101)가 단락의 배치 상태에 기반하여, 단락의 표시 위치를 변경하는 동작을 나타내는 실시예이다.
1101 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 특정 문서의 형식(format)을 제1 형식으로부터 제2 형식으로 전환하도록 요청하는 이벤트를 검출할 수 있다. 제1 형식은 페이지의 경계가 존재하지 않는 형식을 나타내고, 제2 형식은 페이지의 경계가 존재하는 형식을 나타낼 수 있다.
1103 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 특정 문서에 포함된 적어도 하나의 단락(paragraph)을 식별할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 라인들 또는 블록들 사이의 거리가 미리 정해진 거리를 초과하는 것에 기반하여, 상기 라인들 또는 상기 블록들을 포함하는 적어도 하나의 단락을 구분할 수 있다. 예를 들어, 도 12의 <1201>을 참조하면, 전자 장치(101)는 제1 라인 및 제2 라인의 사이가 미리 정해진 거리를 초과하는 것에 기반하여 제1 라인을 포함하는 제1 단락(1211)을 제2 라인을 포함하는 제2 단락(1212)과 구분할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 필기 입력의 스트로크를 분석함으로써, 동일한 특성(예: 글자 색, 글자 크기, 또는 글자 모양)으로 연속하는 필기 입력들을 동일한 단락으로 식별할 수 있다. 예를 들어, 도 12의 <1201>을 참조하면, 전자 장치(101)는 제1 글자 색으로 작성된 제2 단락(1212)을 제1 글자 색과 상이한 제2 글자 색으로 작성된 제3 단락(1213)과 구분할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 문자에 대응하는 제1 영역 및 비문자에 대응하는 제2 영역 사이의 거리 또는 크기 중 적어도 하나에 기반하여, 적어도 하나의 단락을 구분할 수 있다. 예를 들어, 도 12의 <1202>를 참조하면, 전자 장치(101)는 문자(예: 2cm, 1.5cm, 2cm)에 대응하는 제1 영역이 비문자(예: 사각형)에 대응하는 제2 영역으로부터 미리 정해진 거리 이내에 위치하고, 상기 제2 영역의 크기가 상기 제1 영역의 크기의 미리 정해진 배수 이상인 것에 기반하여, 상기 제1 영역 및 상기 제2 영역을 포함하는 전체 영역(1214)을 하나의 단락으로 구분할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 들여쓰기(indentation) 거리가 미리 정해진 거리를 초과하는 필기 입력에 기반하여, 적어도 하나의 단락을 구분할 수 있다. 적어도 하나의 단락을 구분하기 위한 상술한 동작들은 머신러닝 기반으로 학습될 수 있다.
1105 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 적어도 하나의 단락에 포함된 필기 입력에 대응하는 적어도 하나의 블록을 식별할 수 있다. 전자 장치(101)는 도 6의 605 동작에서 설명하는 방법을 이용하여, 각 필기 입력에 대응하는 블록을 식별하는 동작을 수행할 수 있다.
1107 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 적어도 하나의 블록 중에서 미리 정해진 임계치를 초과하는 기울기를 갖는 블록이 존재하는지 여부를 판단할 수 있다. 전자 장치(101)는 도 6의 607 동작에서 설명하는 방법을 이용하여, 미리 정해진 임계치를 초과하는 기울기를 갖는 블록이 존재하는지 여부를 판단하는 동작을 수행할 수 있다.
1109 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 특정 문서에 포함된 모든 필기 입력들의 라인을 구분할 수 있다. 전자 장치(101)는 도 6의 609 동작에서 설명하는 방법을 이용하여, 특정 문서에 포함된 모든 필기 입력들의 라인을 구분하는 동작을 수행할 수 있다.
1111 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 페이지의 경계에 위치하는 특정 라인을 포함하는 특정 단락을 식별할 수 있다. 전자 장치(101)는 도 6의 611 동작에서 설명하는 방법을 이용하여, 페이지의 경계에 위치하는 특정 라인을 포함하는 특정 단락을 식별하는 동작을 수행할 수 있다.
1113 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 페이지의 경계에 위치하는 특정 블록을 포함하는 특정 단락을 식별할 수 있다. 전자 장치(101)는 도 6의 615 동작에서 설명하는 방법을 이용하여, 페이지의 경계에 위치하는 특정 블록을 포함하는 특정 단락을 식별하는 동작을 수행할 수 있다.
1115 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 특정 단락의 배치 상태에 기반하여, 특정 단락의 표시 위치를 변경할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 특정 단락에 포함되는 필기 입력이 가장 많이 배치된 페이지를 식별할 수 있고, 특정 단락이 상기 페이지 내에 표시되도록 상기 특정 단락에 포함되는 모든 필기 입력의 표시 위치를 변경할 수 있다. 예를 들어, 도 13의 <1301> 및 <1302>를 참조하면, 전자 장치(101)는 페이지의 경계에 위치하는 제1 단락(1311)에 포함되는 필기 입력들의 스트로크를 분석함으로써, 어플리케이션의 제1 페이지(1321) 및 제2 페이지(1322) 중에서 상기 제1 단락(1311)이 제1 페이지(1321)에 더 많이 배치되어 있음을 식별할 수 있고, 제1 단락(1311)에 포함되는 모든 필기 입력의 표시 위치를 제1 페이지(1321)로 변경할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 특정 단락이 가장 많이 배치된 타겟 페이지의 빈 영역(empty area)의 크기가 특정 단락에 대응하는 특정 영역의 크기보다 작은 경우, 상기 특정 단락에 포함되는 모든 필기 입력의 표시 위치를 상기 타겟 페이지의 다음 페이지(next page)로 변경할 수 있다. 예를 들어, 도 13의 <1301> 및 <1302>를 참조하면, 전자 장치(101)는 페이지의 경계에 위치하는 제3 단락(1313)에 포함되는 필기 입력들의 스트로크를 분석함으로써, 메모 어플리케이션의 제2 페이지(1322) 및 제3 페이지(1323) 중에서 상기 제3 단락(1313)이 제2 페이지(1322)에 더 많이 배치되어 있음을 식별할 수 있고, 상기 제2 페이지(1322)를 타겟 페이지로 선택할 수 있다. 이 경우, 제2 페이지(1322)의 빈 영역의 크기가 제3 단락(1313)에 대응하는 영역의 크기보다 작은 것에 기반하여, 전자 장치(101)는 제3 단락(1313)에 포함되는 모든 필기 입력의 표시 위치를 제2 페이지(1322)의 다음 페이지인 제3 페이지(1323)으로 변경할 수 있다.
도 14는 다양한 실시예들에 따른, 전자 장치(예: 도 1의 전자 장치(101))가 블록을 회전하고 회전된 블록을 처리하는 방법을 설명하기 위한 흐름도이다. 도 15는 다양한 실시예들에 따른, 전자 장치(101)가 회전된 블록을 인식하거나 표시하는 동작을 나타내는 실시예이다.
1401 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 사용자 입력에 기반하여 선택된 필기 입력들의 개수가 미리 정해진 개수 이상인지 여부를 식별할 수 있다. 전자 장치(101)는 도 4의 401 동작에서 설명하는 방법을 이용하여, 1401 동작을 수행할 수 있다. 예를 들어, 도 15의 <1501>를 참조하면, 전자 장치(101)는 사용자로부터 필기 입력(예: 'hello', 'thanks')을 선택하는 입력을 수신한 경우, 선택된 필기 입력에 대응하는 영역을 나타내는 그래픽 요소(1510)를 표시할 수 있고, 선택된 필기 입력들의 개수가 미리 정해진 개수 이상인지 여부를 판단할 수 있다.
1403 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 선택된 필기 입력들에 대응하는 적어도 하나의 블록을 식별할 수 있다. 전자 장치(101)는 도 4의 403 동작에서 설명하는 방법을 이용하여, 1403 동작을 수행할 수 있다. 예를 들어, 도 15의 <1501>를 참조하면, 전자 장치(101)는 'hello'가 제1 블록(1511)에 대응하고, 'thanks'가 제2 블록(1512)에 대응함을 결정할 수 있다.
1405 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 적어도 하나의 블록 중에서 미리 정해진 임계치를 초과하는 기울기를 갖는 블록이 존재하는지 여부를 판단할 수 있다. 예를 들어, 도 15를 참조하면, 전자 장치(101)는 제1 블록(1511)의 기울기(예: 40도)가 미리 정해진 제1 임계치(예: 20도)를 초과하고, 제2 블록(1512)의 기울기(예: -30도)가 미리 정해진 제2 임계치(예: -15도)를 초과함을 식별할 수 있다.
1407 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 미리 정해진 임계치를 초과하는 기울기를 갖는 블록을 회전하고, 회전된 블록을 인식하거나 디스플레이(예: 도 1의 디스플레이 모듈(160)) 상에 표시할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 사용자로부터 텍스트 인식 요청을 수신함에 따라, 회전된 블록에 포함된 필기 입력을 인식할 수 있다. 예를 들어, 도 15의 <1502>를 참조하면, 전자 장치(101)는 회전된 제1 블록(1511)에 포함된 필기 입력(예: 'hello') 및 회전된 제2 블록(1512)에 포함된 필기 입력(예: 'thanks')을 인식하여 텍스트 데이터로 변환할 수 있고, 변환된 텍스트 데이터(1520)를 디스플레이(160) 상에 표시할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 사용자로부터 회전된 블록의 표시 요청을 수신함에 따라, 회전된 블록에 포함된 필기 입력을 디스플레이(160) 상에 표시할 수 있다. 예를 들어, 도 15의 <1503>을 참조하면, 전자 장치(101)는 회전된 제1 블록(1511)에 포함된 필기 입력(예: 'hello') 및 회전된 제2 블록(1512)에 포함된 필기 입력(예: 'thanks')을 디스플레이(160) 상에 표시할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 미리 정해진 임계치를 초과하는 기울기를 갖는 블록을 회전한 후, 회전된 블록에 포함된 필기 입력에 기반하여, 라인 기반의(line based) 제2 분리 방식을 이용하여, 적어도 하나의 필기 입력을 처리하기 위한 동작을 수행할 수 있다.
도 16은 다양한 실시예들에 따른, 전자 장치(예: 도 1의 전자 장치(101))가 회전된 블록들이 오버랩되는 경우, 오버랩된 블록을 처리하는 방법을 설명하기 위한 흐름도이다. 도 17은 다양한 실시예들에 따른, 전자 장치(101)가 오버랩된 블록의 표시 위치를 변경하는 동작을 나타내는 실시예이다.
1601 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 제1 블록 및 제2 블록을 회전할 수 있다. 전자 장치(101)는 도 14에서 설명하는 방법을 이용하여 제1 블록 및 제2 블록을 회전할 수 있다. 예를 들어, 도 17의 <1701>을 참조하면, 전자 장치(101)는 사용자로부터 제1 블록(1711)(예: 'hello') 및 제2 블록(1712)(예: 'nice to meet you')을 선택하는 제1 사용자 입력을 수신할 수 있고, 선택된 제1 블록(1711) 및 제2 블록(1712)에 대한 텍스트 인식 요청 또는 회전된 블록의 표시 요청을 수신한 경우, 제1 블록(1711) 및 제2 블록(1712)을 회전할 수 있다.
1603 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 회전된 제1 블록 및 제2 블록이 오버랩되었는지 여부를 식별할 수 있다. 만약, 오버랩된 블록들을 그대로 표시할 경우, 도 17의 <1702>와 같이, 제1 블록(1711) 및 제2 블록(1712)에 포함된 필기 입력의 형태가 온전하지 않을 수 있으므로, 전자 장치(101)는 필기 입력의 형태를 보전하기 위하여 오버랩된 블록의 표시 위치를 변경할 수 있다.
1605 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 회전된 제2 블록의 적어도 일부가 제1 블록 상에 오버랩된 것에 기반하여, 제1 블록의 길이 및 제2 블록의 길이의 합이 페이지의 가로 폭의 길이를 초과하는지 여부를 식별할 수 있다.
1607 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 제1 블록의 길이 및 제2 블록의 길이의 합이 페이지의 가로 폭의 길이를 초과하는 것에 기반하여, 제2 블록의 표시 위치를 변경할 수 있다. 예를 들어, 도 17의 <1703>을 참조하면, 전자 장치(101)는 제1 블록(1711)의 길이 및 제2 블록(1712)의 길이의 합이 페이지의 길이를 초과하는 것에 기반하여, 제2 블록(1712)의 표시 위치를 제1 블록(1711)의 표시 위치로부터 미리 정해진 거리만큼 이격된 위치로 변경할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제2 블록의 회전 방향에 더 기반하여, 제2 블록의 표시 위치를 변경할 수 있다. 예를 들어, 도 17의 <1703>을 참조하면, 전자 장치(101)는 제1 블록(1711)의 길이 및 제2 블록(1712)의 길이의 합이 페이지의 길이를 초과하고, 제2 블록(1712)이 x축 방향으로 회전한 것에 기반하여, 제2 블록의 표시 위치를 제1 블록(1711)의 표시 위치로부터 y축 방향으로 미리 정해진 거리만큼 이격된 위치로 변경할 수 있다.
1609 동작에서, 다양한 실시예들에 따르면, 전자 장치(101)(예: 도 1의 프로세서(120))는 제1 블록의 길이 및 제2 블록의 길이의 합이 페이지의 길이 이하인 것에 기반하여, 제1 블록 및 제2 블록을 하나의 블록으로 병합할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 블록의 작성 순서 및 표시 위치에 더 기반하여, 복수의 블록들을 하나의 블록으로 병합할 수 있다. 예를 들어, 도 17의 <1701> 및 <1703>을 참조하면, 제2 블록(1712)의 길이 및 제3 블록(1713)의 길이의 합이 페이지의 길이 이하이더라도, 선순위로 작성된 제2 블록(1712)의 표시 위치가 후순위로 작성된 제3 블록(1713)의 표시 위치의 우측에 존재하는 것에 기반하여, 제2 블록(1712) 및 제3 블록(1713)을 하나의 블록으로 병합하지 않고, 상이한 블록으로 처리할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "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)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
다양한 실시예들에 따라서, 전자 장치(예: 도 1의 전자 장치(101))는, 디스플레이(예: 도 1의 디스플레이(160)), 및 프로세서(예: 도 1의 프로세서(120))를 포함하고, 상기 프로세서는, 상기 디스플레이 상에 표시되는 제1 필기 입력(예: 도 3a의 제1 필기 입력(310)) 및 상기 제1 필기 입력에 선행하는 제1 선행 필기 입력(예: 도 3a의 제1 선행 필기 입력(311)) 사이의 제1 기울기(예: 도 3a의 제1 기울기(312))를 식별하고 -상기 제1 필기 입력은 제1 블록에 대응함-, 상기 디스플레이 상에 표시되는 제2 필기 입력(예: 도 3a의 제2 필기 입력(320)) 및 상기 제 2 필기 입력에 선행하는 제2 선행 필기 입력(예: 도 3a의 제2 선행 필기 입력(321)) 사이의 제2 기울기(예: 도 3a의 제2 기울기(322))를 식별하고 -상기 제2 필기 입력은 상기 제1 필기 입력에 연속하는 필기 입력임-, 상기 제1 기울기 및 상기 제2 기울기를 이용하여, 상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제1 블록과 상이한 제2 블록에 대응하는지 여부를 판단하고, 및 상기 제2 필기 입력이 상기 제2 블록에 대응하는 것에 기반하여, 상기 제2 블록을 나타내는 복수의 필기 입력들을 처리하기 위한 적어도 하나의 동작을 수행하도록 설정될 수 있다.
다양한 실시예들에 따라서, 상기 프로세서는, 상기 제1 기울기 및 상기 제2 기울기의 사이의 기울기 차이가 미리 정해진 제1 값을 초과하는 것에 기반하여, 상기 제2 필기 입력이 상기 제1 블록과 상이한 상기 제2 블록에 대응하는 것으로 결정하도록 설정될 수 있다.
다양한 실시예들에 따라서, 상기 프로세서는, 상기 제1 필기 입력 및 상기 제2 필기 입력 사이의 제1 거리를 식별하고, 및 상기 기울기 차이가 상기 미리 정해진 제1 값 이하이고, 상기 제1 거리가 미리 정해진 제2 값을 초과하는 것에 기반하여, 상기 제2 필기 입력이 상기 제1 블록과 상이한 상기 제2 블록에 대응하는 것으로 결정하도록 설정될 수 있다.
다양한 실시예들에 따라서, 상기 프로세서는, 상기 기울기 차이가 상기 미리 정해진 제1 값 이하이고, 상기 제1 거리가 상기 미리 정해진 제2 값 이하인 것에 기반하여, 상기 제2 필기 입력이 상기 제1 블록에 대응하는 것으로 결정하도록 설정될 수 있다.
다양한 실시예들에 따라서, 상기 프로세서는, 상기 제2 필기 입력을 메모 어플리케이션 내의 페이지의 경계(예: 도 7의 경계(720))로 이동시키는 사용자 입력에 기반하여, 상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제2 블록에 대응하는지 여부를 판단하도록 설정될 수 있다.
다양한 실시예들에 따라서, 상기 프로세서는, 상기 제2 필기 입력을 포함하는 특정 문서의 형식을 제1 형식으로부터 제2 형식으로 전환하도록 요청하는 사용자 입력에 기반하여, 상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제2 블록에 대응하는지 여부를 판단하도록 설정될 수 있다.
다양한 실시예들에 따라서, 상기 프로세서는, 상기 제2 블록을 포함하는 적어도 하나의 블록 중에서 미리 정해진 임계치를 초과하는 기울기를 갖는 블록이 존재하는지 여부를 식별하도록 설정될 수 있다.
다양한 실시예들에 따라서, 상기 프로세서는, 상기 미리 정해진 임계치를 초과하는 기울기를 갖는 상기 블록이 존재하는 것에 기반하여, 메모 어플리케이션 내의 페이지의 경계에 위치하는 특정 블록을 식별하고, 및 상기 특정 블록의 배치 상태에 기반하여, 상기 특정 블록의 표시 위치를 변경하도록 상기 디스플레이를 제어하도록 설정될 수 있다.
다양한 실시예들에 따라서, 상기 프로세서는, 상기 제2 블록을 포함하는 적어도 하나의 블록을 텍스트 데이터로 변환하도록 요청하는 사용자 입력에 기반하여, 상기 적어도 하나의 블록을 회전하고, 상기 회전된 적어도 하나의 블록을 상기 텍스트 데이터로 변환하고, 및 상기 텍스트 데이터를 표시하도록 상기 디스플레이를 제어하도록 설정될 수 있다.
다양한 실시예들에 따라서, 상기 프로세서는, 상기 제2 블록을 포함하는 적어도 하나의 블록을 회전하여 표시하도록 요청하는 사용자 입력에 기반하여, 상기 적어도 하나의 블록을 회전하고, 및 상기 회전된 적어도 하나의 블록을 표시하도록 상기 디스플레이를 제어하도록 설정될 수 있다.
다양한 실시예들에 따라서, 전자 장치의 동작 방법은, 상기 전자 장치의 디스플레이 상에 표시되는 제1 필기 입력 및 상기 제1 필기 입력에 선행하는 제1 선행 필기 입력 사이의 제1 기울기를 식별하는 동작 -상기 제1 필기 입력은 제1 블록에 대응함-, 상기 디스플레이 상에 표시되는 제2 필기 입력 및 상기 제 2 필기 입력에 선행하는 제2 선행 필기 입력 사이의 제2 기울기를 식별하는 동작 -상기 제2 필기 입력은 상기 제1 필기 입력에 연속하는 필기 입력임-, 상기 제1 기울기 및 상기 제2 기울기를 이용하여, 상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제1 블록과 상이한 제2 블록에 대응하는지 여부를 판단하는 동작, 및 상기 제2 필기 입력이 상기 제2 블록에 대응하는 것에 기반하여, 상기 제2 블록을 나타내는 복수의 필기 입력들을 처리하기 위한 적어도 하나의 동작을 수행하는 동작을 포함할 수 있다.
다양한 실시예들에 따라서, 상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제2 블록에 대응하는지 여부를 판단하는 동작은, 상기 제1 기울기 및 상기 제2 기울기의 사이의 기울기 차이가 미리 정해진 제1 값을 초과하는 것에 기반하여, 상기 제2 필기 입력이 상기 제1 블록과 상이한 상기 제2 블록에 대응하는 것으로 결정하는 동작을 포함할 수 있다.
다양한 실시예들에 따라서, 상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제2 블록에 대응하는지 여부를 판단하는 동작은, 상기 제1 필기 입력 및 상기 제2 필기 입력 사이의 제1 거리를 식별하는 동작, 및 상기 기울기 차이가 상기 미리 정해진 제1 값 이하이고, 상기 제1 거리가 미리 정해진 제2 값을 초과하는 것에 기반하여, 상기 제2 필기 입력이 상기 제1 블록과 상이한 상기 제2 블록에 대응하는 것으로 결정하는 동작을 포함할 수 있다.
다양한 실시예들에 따라서, 상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제2 블록에 대응하는지 여부를 판단하는 동작은, 상기 기울기 차이가 상기 미리 정해진 제1 값 이하이고, 상기 제1 거리가 상기 미리 정해진 제2 값 이하인 것에 기반하여, 상기 제2 필기 입력이 상기 제1 블록에 대응하는 것으로 결정하는 동작을 포함할 수 있다.
다양한 실시예들에 따라서, 상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제2 블록에 대응하는지 여부를 판단하는 동작은, 상기 제2 필기 입력을 메모 어플리케이션 내의 페이지의 경계로 이동시키는 사용자 입력에 기반하여, 상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제2 블록에 대응하는지 여부를 판단하는 동작을 포함할 수 있다.
다양한 실시예들에 따라서, 상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제2 블록에 대응하는지 여부를 판단하는 동작은, 상기 제2 필기 입력을 포함하는 특정 문서의 형식을 제1 형식으로부터 제2 형식으로 전환하도록 요청하는 사용자 입력에 기반하여, 상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제2 블록에 대응하는지 여부를 판단하는 동작을 포함할 수 있다.
다양한 실시예들에 따라서, 상기 제2 블록을 나타내는 상기 복수의 필기 입력들을 처리하기 위한 상기 적어도 하나의 동작을 수행하는 동작은, 상기 제2 블록을 포함하는 적어도 하나의 블록 중에서 미리 정해진 임계치를 초과하는 기울기를 갖는 블록이 존재하는지 여부를 식별하는 동작을 포함할 수 있다.
다양한 실시예들에 따라서, 상기 제2 블록을 나타내는 상기 복수의 필기 입력들을 처리하기 위한 상기 적어도 하나의 동작을 수행하는 동작은, 상기 미리 정해진 임계치를 초과하는 기울기를 갖는 상기 블록이 존재하는 것에 기반하여, 메모 어플리케이션 내의 페이지의 경계에 위치하는 특정 블록을 식별하는 동작, 및 상기 특정 블록의 배치 상태에 기반하여, 상기 특정 블록의 표시 위치를 변경하도록 상기 디스플레이를 제어하는 동작을 포함할 수 있다.
다양한 실시예들에 따라서, 상기 제2 블록을 나타내는 상기 복수의 필기 입력들을 처리하기 위한 상기 적어도 하나의 동작을 수행하는 동작은, 상기 제2 블록을 포함하는 적어도 하나의 블록을 텍스트 데이터로 변환하도록 요청하는 사용자 입력에 기반하여, 상기 적어도 하나의 블록을 회전하는 동작, 상기 회전된 적어도 하나의 블록을 상기 텍스트 데이터로 변환하는 동작, 및 상기 텍스트 데이터를 표시하도록 상기 디스플레이를 제어하는 동작을 포함할 수 있다.
다양한 실시예들에 따라서, 상기 제2 블록을 나타내는 상기 복수의 필기 입력들을 처리하기 위한 상기 적어도 하나의 동작을 수행하는 동작은, 상기 제2 블록을 포함하는 적어도 하나의 블록을 회전하여 표시하도록 요청하는 사용자 입력에 기반하여, 상기 적어도 하나의 블록을 회전하는 동작, 및 상기 회전된 적어도 하나의 블록을 표시하도록 상기 디스플레이를 제어하는 동작을 포함할 수 있다.

Claims (20)

  1. 전자 장치에 있어서,
    디스플레이, 및
    프로세서를 포함하고,
    상기 프로세서는,
    상기 디스플레이 상에 표시되는 제1 필기 입력 및 상기 제1 필기 입력에 선행하는 제1 선행 필기 입력 사이의 제1 기울기를 식별하고 -상기 제1 필기 입력은 제1 블록에 대응함-,
    상기 디스플레이 상에 표시되는 제2 필기 입력 및 상기 제 2 필기 입력에 선행하는 제2 선행 필기 입력 사이의 제2 기울기를 식별하고 -상기 제2 필기 입력은 상기 제1 필기 입력에 연속하는 필기 입력임-,
    상기 제1 기울기 및 상기 제2 기울기를 이용하여, 상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제1 블록과 상이한 제2 블록에 대응하는지 여부를 판단하고, 및
    상기 제2 필기 입력이 상기 제2 블록에 대응하는 것에 기반하여, 상기 제2 블록을 나타내는 복수의 필기 입력들을 처리하기 위한 적어도 하나의 동작을 수행하도록 설정된 전자 장치.
  2. 제1 항에 있어서,
    상기 프로세서는,
    상기 제1 기울기 및 상기 제2 기울기의 사이의 기울기 차이가 미리 정해진 제1 값을 초과하는 것에 기반하여, 상기 제2 필기 입력이 상기 제1 블록과 상이한 상기 제2 블록에 대응하는 것으로 결정하도록 설정된 전자 장치.
  3. 제2 항에 있어서,
    상기 프로세서는,
    상기 제1 필기 입력 및 상기 제2 필기 입력 사이의 제1 거리를 식별하고, 및
    상기 기울기 차이가 상기 미리 정해진 제1 값 이하이고, 상기 제1 거리가 미리 정해진 제2 값을 초과하는 것에 기반하여, 상기 제2 필기 입력이 상기 제1 블록과 상이한 상기 제2 블록에 대응하는 것으로 결정하도록 설정된 전자 장치.
  4. 제3 항에 있어서,
    상기 프로세서는,
    상기 기울기 차이가 상기 미리 정해진 제1 값 이하이고, 상기 제1 거리가 상기 미리 정해진 제2 값 이하인 것에 기반하여, 상기 제2 필기 입력이 상기 제1 블록에 대응하는 것으로 결정하도록 설정된 전자 장치.
  5. 제1 항에 있어서,
    상기 프로세서는,
    상기 제2 필기 입력을 메모 어플리케이션 내의 페이지의 경계로 이동시키는 사용자 입력에 기반하여, 상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제2 블록에 대응하는지 여부를 판단하도록 설정된 전자 장치.
  6. 제1 항에 있어서,
    상기 프로세서는,
    상기 제2 필기 입력을 포함하는 특정 문서의 형식을 제1 형식으로부터 제2 형식으로 전환하도록 요청하는 사용자 입력에 기반하여, 상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제2 블록에 대응하는지 여부를 판단하도록 설정된 전자 장치.
  7. 제1 항에 있어서,
    상기 프로세서는,
    상기 제2 블록을 포함하는 적어도 하나의 블록 중에서 미리 정해진 임계치를 초과하는 기울기를 갖는 블록이 존재하는지 여부를 식별하도록 설정된 전자 장치.
  8. 제7 항에 있어서,
    상기 프로세서는,
    상기 미리 정해진 임계치를 초과하는 기울기를 갖는 상기 블록이 존재하는 것에 기반하여, 메모 어플리케이션 내의 페이지의 경계에 위치하는 특정 블록을 식별하고, 및
    상기 특정 블록의 배치 상태에 기반하여, 상기 특정 블록의 표시 위치를 변경하도록 상기 디스플레이를 제어하도록 설정된 전자 장치.
  9. 제1 항에 있어서,
    상기 프로세서는,
    상기 제2 블록을 포함하는 적어도 하나의 블록을 텍스트 데이터로 변환하도록 요청하는 사용자 입력에 기반하여, 상기 적어도 하나의 블록을 회전하고,
    상기 회전된 적어도 하나의 블록을 상기 텍스트 데이터로 변환하고, 및
    상기 텍스트 데이터를 표시하도록 상기 디스플레이를 제어하도록 설정된 전자 장치.
  10. 제1 항에 있어서,
    상기 프로세서는,
    상기 제2 블록을 포함하는 적어도 하나의 블록을 회전하여 표시하도록 요청하는 사용자 입력에 기반하여, 상기 적어도 하나의 블록을 회전하고, 및
    상기 회전된 적어도 하나의 블록을 표시하도록 상기 디스플레이를 제어하도록 설정된 전자 장치.
  11. 전자 장치의 동작 방법에 있어서,
    상기 전자 장치의 디스플레이 상에 표시되는 제1 필기 입력 및 상기 제1 필기 입력에 선행하는 제1 선행 필기 입력 사이의 제1 기울기를 식별하는 동작 -상기 제1 필기 입력은 제1 블록에 대응함-,
    상기 디스플레이 상에 표시되는 제2 필기 입력 및 상기 제 2 필기 입력에 선행하는 제2 선행 필기 입력 사이의 제2 기울기를 식별하는 동작 -상기 제2 필기 입력은 상기 제1 필기 입력에 연속하는 필기 입력임-,
    상기 제1 기울기 및 상기 제2 기울기를 이용하여, 상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제1 블록과 상이한 제2 블록에 대응하는지 여부를 판단하는 동작, 및
    상기 제2 필기 입력이 상기 제2 블록에 대응하는 것에 기반하여, 상기 제2 블록을 나타내는 복수의 필기 입력들을 처리하기 위한 적어도 하나의 동작을 수행하는 동작을 포함하는 전자 장치의 동작 방법.
  12. 제11 항에 있어서,
    상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제2 블록에 대응하는지 여부를 판단하는 동작은,
    상기 제1 기울기 및 상기 제2 기울기의 사이의 기울기 차이가 미리 정해진 제1 값을 초과하는 것에 기반하여, 상기 제2 필기 입력이 상기 제1 블록과 상이한 상기 제2 블록에 대응하는 것으로 결정하는 동작을 포함하는 전자 장치의 동작 방법.
  13. 제12 항에 있어서,
    상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제2 블록에 대응하는지 여부를 판단하는 동작은,
    상기 제1 필기 입력 및 상기 제2 필기 입력 사이의 제1 거리를 식별하는 동작, 및
    상기 기울기 차이가 상기 미리 정해진 제1 값 이하이고, 상기 제1 거리가 미리 정해진 제2 값을 초과하는 것에 기반하여, 상기 제2 필기 입력이 상기 제1 블록과 상이한 상기 제2 블록에 대응하는 것으로 결정하는 동작을 포함하는 전자 장치의 동작 방법.
  14. 제13 항에 있어서,
    상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제2 블록에 대응하는지 여부를 판단하는 동작은,
    상기 기울기 차이가 상기 미리 정해진 제1 값 이하이고, 상기 제1 거리가 상기 미리 정해진 제2 값 이하인 것에 기반하여, 상기 제2 필기 입력이 상기 제1 블록에 대응하는 것으로 결정하는 동작을 포함하는 전자 장치의 동작 방법.
  15. 제11 항에 있어서,
    상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제2 블록에 대응하는지 여부를 판단하는 동작은,
    상기 제2 필기 입력을 메모 어플리케이션 내의 페이지의 경계로 이동시키는 사용자 입력에 기반하여, 상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제2 블록에 대응하는지 여부를 판단하는 동작을 포함하는 전자 장치의 동작 방법.
  16. 제11 항에 있어서,
    상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제2 블록에 대응하는지 여부를 판단하는 동작은,
    상기 제2 필기 입력을 포함하는 특정 문서의 형식을 제1 형식으로부터 제2 형식으로 전환하도록 요청하는 사용자 입력에 기반하여, 상기 제2 필기 입력이 상기 제1 블록에 대응하는지 또는 상기 제2 블록에 대응하는지 여부를 판단하는 동작을 포함하는 전자 장치의 동작 방법.
  17. 제11 항에 있어서,
    상기 제2 블록을 나타내는 상기 복수의 필기 입력들을 처리하기 위한 상기 적어도 하나의 동작을 수행하는 동작은,
    상기 제2 블록을 포함하는 적어도 하나의 블록 중에서 미리 정해진 임계치를 초과하는 기울기를 갖는 블록이 존재하는지 여부를 식별하는 동작을 포함하는 전자 장치의 동작 방법.
  18. 제17 항에 있어서,
    상기 제2 블록을 나타내는 상기 복수의 필기 입력들을 처리하기 위한 상기 적어도 하나의 동작을 수행하는 동작은,
    상기 미리 정해진 임계치를 초과하는 기울기를 갖는 상기 블록이 존재하는 것에 기반하여, 메모 어플리케이션 내의 페이지의 경계에 위치하는 특정 블록을 식별하는 동작, 및
    상기 특정 블록의 배치 상태에 기반하여, 상기 특정 블록의 표시 위치를 변경하도록 상기 디스플레이를 제어하는 동작을 포함하는 전자 장치의 동작 방법.
  19. 제11 항에 있어서,
    상기 제2 블록을 나타내는 상기 복수의 필기 입력들을 처리하기 위한 상기 적어도 하나의 동작을 수행하는 동작은,
    상기 제2 블록을 포함하는 적어도 하나의 블록을 텍스트 데이터로 변환하도록 요청하는 사용자 입력에 기반하여, 상기 적어도 하나의 블록을 회전하는 동작,
    상기 회전된 적어도 하나의 블록을 상기 텍스트 데이터로 변환하는 동작, 및
    상기 텍스트 데이터를 표시하도록 상기 디스플레이를 제어하는 동작을 포함하는 전자 장치의 동작 방법.
  20. 제11 항에 있어서,
    상기 제2 블록을 나타내는 상기 복수의 필기 입력들을 처리하기 위한 상기 적어도 하나의 동작을 수행하는 동작은,
    상기 제2 블록을 포함하는 적어도 하나의 블록을 회전하여 표시하도록 요청하는 사용자 입력에 기반하여, 상기 적어도 하나의 블록을 회전하는 동작, 및
    상기 회전된 적어도 하나의 블록을 표시하도록 상기 디스플레이를 제어하는 동작을 포함하는 전자 장치의 동작 방법.
KR1020200177108A 2020-12-17 2020-12-17 필기 입력을 처리하는 전자 장치 및 그 작동 방법 KR20220086896A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200177108A KR20220086896A (ko) 2020-12-17 2020-12-17 필기 입력을 처리하는 전자 장치 및 그 작동 방법
US18/324,628 US12002275B2 (en) 2020-12-17 2021-11-30 Electronic device for processing handwriting input, and operation method therefor
PCT/KR2021/017864 WO2022131617A1 (ko) 2020-12-17 2021-11-30 필기 입력을 처리하는 전자 장치 및 그 작동 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200177108A KR20220086896A (ko) 2020-12-17 2020-12-17 필기 입력을 처리하는 전자 장치 및 그 작동 방법

Publications (1)

Publication Number Publication Date
KR20220086896A true KR20220086896A (ko) 2022-06-24

Family

ID=82059679

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200177108A KR20220086896A (ko) 2020-12-17 2020-12-17 필기 입력을 처리하는 전자 장치 및 그 작동 방법

Country Status (2)

Country Link
KR (1) KR20220086896A (ko)
WO (1) WO2022131617A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100006649A (ko) * 2008-07-10 2010-01-21 주식회사 케이티테크 터치스크린에서의 필기 문자 인식 방법 및 이를 적용한사용자 단말 장치
KR102228812B1 (ko) * 2014-01-10 2021-03-16 주식회사 엘지유플러스 필기 데이터 처리/관리 방법 및 이를 수행하는 디지털 디바이스와 서버
KR102411868B1 (ko) * 2014-11-28 2022-06-23 삼성전자주식회사 전자장치 및 그래픽 오브젝트 표시 방법
JP7225638B2 (ja) * 2018-09-26 2023-02-21 富士フイルムビジネスイノベーション株式会社 情報処理システムおよびプログラム
JP7317496B2 (ja) * 2018-12-05 2023-07-31 シャープ株式会社 筆記入力装置

Also Published As

Publication number Publication date
US20240112485A1 (en) 2024-04-04
WO2022131617A1 (ko) 2022-06-23

Similar Documents

Publication Publication Date Title
US11803268B2 (en) Electronic device using electronic pen and method thereof
US20240029461A1 (en) Electronic device for processing handwriting input on basis of learning, operation method thereof, and storage medium
KR20220014751A (ko) 슬라이딩 가능한 전자 장치 및 이의 제어 방법
US20240045560A1 (en) Method for capturing images for multi windows and electronic device therefor
US20230051195A1 (en) Electronic device and method for editing content thereof
US20230030320A1 (en) Electronic device displaying user interface and method for operating the same
US20220012409A1 (en) Electronic device for converting handwriting to text and method therefor
KR20220086896A (ko) 필기 입력을 처리하는 전자 장치 및 그 작동 방법
US12002275B2 (en) Electronic device for processing handwriting input, and operation method therefor
KR20220014968A (ko) 전자 펜과 연동된 화면 분할 제공 방법 및 이를 이용한 폴더블 전자 장치
KR20220014709A (ko) 슬라이딩 가능한 전자 장치 및 이의 제어 방법
US20230236696A1 (en) Electronic device, and method for displaying content in electronic device
US11995308B2 (en) Method and device for providing handwriting input in electronic device
US20230090716A1 (en) Image capture method and electronic device therefor
KR20230109471A (ko) 윈도우를 이용하여 화면을 제공하는 방법 및 이를 지원하는 전자 장치
US11934602B2 (en) Electronic device and operation method of electronic device for supporting one handed operation mode
EP4357896A1 (en) Electronic device for controlling attribute information of application and method for controlling same
US20220164093A1 (en) Electronic device with expandable display
KR20220114424A (ko) 복수의 키들을 포함하는 전자 장치 및 그 동작 방법
US20230247130A1 (en) Method for providing screen by using flexible display, and electronic device supporting same
US20220253109A1 (en) Electronic device including multiple keys and method for operating the same
KR20240039983A (ko) 텍스트를 표시하기 위한 전자 장치 및 그 방법
KR20230052758A (ko) 전자 장치 및 그 제어 방법
KR20220078929A (ko) 전자 펜을 이용하는 전자 장치 및 그 방법
KR20240052604A (ko) 키보드 입력의 오타 보정을 위한 전자 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination