[go: up one dir, main page]

KR102828234B1 - Electronic apparatus and controlling method thereof - Google Patents

Electronic apparatus and controlling method thereof Download PDF

Info

Publication number
KR102828234B1
KR102828234B1 KR1020190178667A KR20190178667A KR102828234B1 KR 102828234 B1 KR102828234 B1 KR 102828234B1 KR 1020190178667 A KR1020190178667 A KR 1020190178667A KR 20190178667 A KR20190178667 A KR 20190178667A KR 102828234 B1 KR102828234 B1 KR 102828234B1
Authority
KR
South Korea
Prior art keywords
finger
fingers
motion
key
processor
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020190178667A
Other languages
Korean (ko)
Other versions
KR20210033394A (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 EP20864743.8A priority Critical patent/EP4004695A4/en
Priority to PCT/KR2020/009003 priority patent/WO2021054589A1/en
Priority to US16/925,489 priority patent/US11709593B2/en
Publication of KR20210033394A publication Critical patent/KR20210033394A/en
Application granted granted Critical
Publication of KR102828234B1 publication Critical patent/KR102828234B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 개시에서는 전자 장치 및 그의 제어 방법이 제공된다. 본 개시의 전자 장치는, 카메라, 디스플레이, 적어도 하나의 인스트럭션이 저장된 메모리 및 카메라, 디스플레이 및 메모리와 연결되어 전자 장치를 제어하는 프로세서를 포함하며, 프로세서는 적어도 하나의 인스트럭션을 실행함으로써, 카메라를 통해 획득된 복수의 제1 이미지 프레임에서 복수의 손가락을 검출하고, 검출된 복수의 손가락의 포즈가 트리거 포즈에 대응되는 것으로 식별되면, 문자 입력 모드로 진입하고, 문자 입력 모드에서 카메라를 통해 획득된 복수의 제2 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션을 검출하고, 모션에 의한 손가락의 위치 및 손가락에 설정된 기준점의 위치에 기초하여 손가락에 매핑된 복수의 키 중 모션에 대응되는 키를 식별하고, 식별된 키에 대응되는 정보를 표시하도록 디스플레이를 제어하며, 문자 입력 모드에서 상기 카메라를 통해 획득된 복수의 제3 이미지 프레임에서 복수의 손가락을 검출하고, 검출된 복수의 손가락의 포즈가 기설정된 포즈에 대응되는 것으로 식별되면, 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 재설정할 수 있다.
본 개시의 전자 장치는 규칙 기반 모델 또는, 기계학습, 신경망 또는 딥러닝 알고리즘 중 적어도 하나에 따라 학습된 인공지능 모델을 이용할 수 있다.
The present disclosure provides an electronic device and a method of controlling the same. The electronic device of the present disclosure includes a camera, a display, a memory storing at least one instruction, and a processor connected to the camera, the display, and the memory to control the electronic device, wherein the processor executes at least one instruction to detect a plurality of fingers from a plurality of first image frames acquired through the camera, and if poses of the detected plurality of fingers are identified as corresponding to a trigger pose, enter a character input mode, detect a motion of one of the plurality of fingers from a plurality of second image frames acquired through the camera in the character input mode, identify a key corresponding to the motion among a plurality of keys mapped to the finger based on a position of the finger by the motion and a position of a reference point set for the finger, and control the display to display information corresponding to the identified key, and detect a plurality of fingers from a plurality of third image frames acquired through the camera in the character input mode, and if poses of the detected plurality of fingers are identified as corresponding to a preset pose, reset a reference point for each finger based on the positions of the detected plurality of fingers.
The electronic device of the present disclosure may utilize a rule-based model or an artificial intelligence model learned according to at least one of machine learning, neural network, or deep learning algorithms.

Description

전자 장치 및 그의 제어 방법 {ELECTRONIC APPARATUS AND CONTROLLING METHOD THEREOF}{ELECTRONIC APPARATUS AND CONTROLLING METHOD THEREOF}

본 개시는 전자 장치 및 그의 제어 방법에 관한 것으로, 보다 상세하게는 가상 인터페이스를 제공하는 전자 장치 및 그의 제어 방법에 관한 것이다.The present disclosure relates to an electronic device and a method for controlling the same, and more particularly, to an electronic device providing a virtual interface and a method for controlling the same.

최근 기술의 발전으로 인해 다양한 전자 기기들에 카메라가 탑재되는 것이 대중화되고 있다. Due to recent technological advancements, it is becoming more common to install cameras in various electronic devices.

일반적으로 휴대용 기기에서는 온 스크린(On Screen) 키보드, 휴대용 물리 키보드, 음성 키보드와 같은 인터페이스를 통해 문자를 입력하여 이메일 작성, 보고서 작성, 메신저 채팅, 콘텐츠 생산 등의 작업들이 수행되고 있다.Typically, on portable devices, tasks such as writing emails, writing reports, chatting on messengers, and producing content are performed by entering text through interfaces such as on-screen keyboards, portable physical keyboards, and voice keyboards.

다만, 온 스크린 키보드의 경우 휴대용 기기의 디스플레이 사이즈에 따라 키간 간격이나 키의 사이즈 등이 상이하다는 점에서 오타율이 높고, 사용자가 정확한 키를 입력하기 위해 디스플레이에 표시된 키보드를 항상 주시하면서 키보드에 포함된 키를 타이핑 해야 한다는 문제가 있다. However, in the case of on-screen keyboards, there is a problem that the error rate is high because the spacing between keys and the size of the keys differ depending on the display size of the portable device, and the user must always look at the keyboard displayed on the display and type the keys included in the keyboard to input the correct key.

또한, 휴대용 물리 키보드의 경우 인식 속도나 정확율 측면에서 가장 유리하나, 물리 키보드를 항상 휴대해야 한다는 점에서 사용자에게 불편함을 야기하고, 유선 키보드의 경우 입력 포트의 호환성 및 입력 포트의 개수가 제한되는 문제가 있으며, 무선 키보드의 경우 별도의 전원이 요구된다는 문제가 있다. In addition, although portable physical keyboards are the most advantageous in terms of recognition speed and accuracy, they are inconvenient for users because they must always carry the physical keyboard. In addition, wired keyboards have problems with limited input port compatibility and number of input ports, and wireless keyboards require a separate power source.

또한, 음성 키보드의 경우, 사용자가 발화한 음성을 인식하여 텍스트로 전환하는 방식이나, 공공장소 등과 같이 공간 또는 회의 중인 상황 등과 같이 상황에 따라 사용에 제약이 있으며, 인식 속도 또는 인식율이 낮다는 문제가 있다. In addition, in the case of voice keyboards, there are limitations to their use depending on the situation, such as in public places or during meetings, as the voice spoken by the user is recognized and converted into text, and there are problems such as low recognition speed or recognition rate.

이에 따라, 별도의 물리 장치나 기기의 교체 없이도 기존의 휴대용 기기 등을 통해 정확하고 빠르게 입력할 수 있는 인터페이스에 대한 필요성이 증가하고 있다.Accordingly, the need for an interface that allows accurate and fast input through existing portable devices without having to replace separate physical devices or equipment is increasing.

본 개시는 상술한 필요성에 의해 안출된 것으로, 본 개시의 목적은 사용자의 모션을 입력으로 인식할 수 있는 인터페이스를 제공하는 전자 장치 및 그의 제어 방법을 제공함에 있다.The present disclosure was made in response to the aforementioned needs, and an object of the present disclosure is to provide an electronic device that provides an interface capable of recognizing a user's motion as input, and a method for controlling the same.

상기 목적을 달성하기 위한, 본 개시의 일 실시 예에 따른 전자 장치는, 카메라, 디스플레이, 적어도 하나의 인스트럭션이 저장된 메모리 및 카메라, 디스플레이 및 메모리와 연결되어 전자 장치를 제어하는 프로세서를 포함하며, 프로세서는 적어도 하나의 인스트럭션을 실행함으로써, 카메라를 통해 획득된 복수의 제1 이미지 프레임에서 복수의 손가락을 검출하고, 검출된 복수의 손가락의 포즈가 트리거 포즈에 대응되는 것으로 식별되면, 문자 입력 모드로 진입하고, 문자 입력 모드에서 카메라를 통해 획득된 복수의 제2 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션을 검출하고, 모션에 의한 손가락의 위치 및 손가락에 설정된 기준점의 위치에 기초하여 손가락에 매핑된 복수의 키 중 모션에 대응되는 키를 식별하고, 식별된 키에 대응되는 정보를 표시하도록 디스플레이를 제어하며, 문자 입력 모드에서 카메라를 통해 획득된 복수의 제3 이미지 프레임에서 복수의 손가락을 검출하고, 검출된 복수의 손가락의 포즈가 기설정된 포즈에 대응되는 것으로 식별되면, 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 재설정할 수 있다.In order to achieve the above object, according to an embodiment of the present disclosure, an electronic device includes a camera, a display, a memory storing at least one instruction, and a processor connected to the camera, the display, and the memory to control the electronic device, wherein the processor executes at least one instruction to detect a plurality of fingers from a plurality of first image frames acquired through the camera, and if poses of the detected plurality of fingers are identified as corresponding to a trigger pose, enter a character input mode, detect a motion of one of the plurality of fingers from a plurality of second image frames acquired through the camera in the character input mode, identify a key corresponding to the motion among a plurality of keys mapped to the finger based on a position of the finger by the motion and a position of a reference point set for the finger, and control the display to display information corresponding to the identified key, and detect a plurality of fingers from a plurality of third image frames acquired through the camera in the character input mode, and if poses of the detected plurality of fingers are identified as corresponding to a preset pose, reset a reference point for each finger based on the positions of the detected plurality of fingers.

여기에서, 프로세서는 복수의 제3 이미지 프레임에서 검출된 복수의 손가락이 기설정된 포즈를 일정 시간 동안 유지하는 것으로 식별되면, 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 재설정할 수 있다.Here, the processor can reset the reference point for each finger based on the positions of the detected multiple fingers when it is identified that the multiple fingers detected in the multiple third image frames maintain the preset pose for a predetermined period of time.

한편, 프로세서는 복수의 제3 이미지 프레임에서 검출된 복수의 손가락 중 엄지 손가락을 제외한 나머지 손가락의 끝 부분의 위치에 기초하여 검출된 복수의 손가락의 포즈가 기설정된 포즈에 대응되는지를 식별할 수 있다.Meanwhile, the processor can identify whether the poses of the detected multiple fingers correspond to a preset pose based on the positions of the tips of the fingers other than the thumb among the multiple fingers detected in the multiple third image frames.

한편, 프로세서는 문자 입력 모드에서 기준점이 재설정된 이후에 카메라를 통해 획득된 복수의 제4 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션이 검출되면, 모션에 의한 손가락의 위치 및 손가락에 재설정된 기준점의 위치에 기초하여 손가락에 매핑된 복수의 키 중 모션에 대응되는 키를 식별할 수 있다. Meanwhile, if the processor detects motion of one of the plurality of fingers in the fourth image frames acquired through the camera after the reference point is reset in the character input mode, the processor can identify a key corresponding to the motion among the plurality of keys mapped to the finger based on the position of the finger due to the motion and the position of the reference point reset to the finger.

한편, 복수의 키는 가상의 키보드에 포함된 키들 중 손가락이 포함된 손의 종류 및 손가락의 종류에 기초하여 결정된 기준키 및 가상의 키보드에 포함된 키들 중에서 기준키와 인접한 적어도 2 개의 키를 포함할 수 있다.Meanwhile, the plurality of keys may include a reference key determined based on the type of hand and the type of fingers included in the keys included in the virtual keyboard, and at least two keys adjacent to the reference key among the keys included in the virtual keyboard.

여기에서, 프로세서는 모션에 의한 손가락의 위치 및 손가락에 설정된 기준점의 위치 사이의 거리가 기설정된 값 미만인 경우, 손가락에 매핑된 복수의 키 중 기준키를 모션에 대응되는 키인 것으로 식별하고, 모션에 의한 손가락의 위치 및 손가락에 설정된 기준점의 위치 사이의 거리가 기설정된 값 이상인 경우, 모션에 의해 손가락이 이동된 방향에 기초하여 손가락에 매핑된 복수의 키 중 기준키로부터 손가락이 이동된 방향에 위치한 키를 모션에 대응되는 키인 것으로 식별할 수 있다. Here, if the distance between the position of the finger by the motion and the position of the reference point set on the finger is less than a preset value, the processor can identify a reference key among the plurality of keys mapped to the finger as the key corresponding to the motion, and if the distance between the position of the finger by the motion and the position of the reference point set on the finger is greater than or equal to the preset value, the processor can identify a key located in the direction in which the finger is moved from the reference key among the plurality of keys mapped to the finger as the key corresponding to the motion based on the direction in which the finger is moved by the motion.

한편, 프로세서는 복수의 제1 이미지 프레임에서 검출된 복수의 손가락의 포즈가 트리거 포즈에 대응되는 것으로 식별되면, 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 설정할 수 있다.Meanwhile, if the processor identifies that poses of a plurality of fingers detected in a plurality of first image frames correspond to a trigger pose, the processor can set a reference point for each finger based on the positions of the detected plurality of fingers.

여기에서, 프로세서는 복수의 제1 이미지 프레임에서 검출된 복수의 손가락이 트리거 포즈에 대응되는 것으로 식별되면, 가상의 키보드를 디스플레이에 표시하고, 문자 입력 모드에서 모션에 대응되는 키가 식별되면, 가상의 키보드에 포함된 키들 중 식별된 키를 다른 키와 구별되도록 표시할 수 있다.Here, when the processor identifies that a plurality of fingers detected in a plurality of first image frames correspond to a trigger pose, the processor can display a virtual keyboard on the display, and when a key corresponding to the motion is identified in a character input mode, the processor can display the identified key among the keys included in the virtual keyboard so as to be distinguished from other keys.

여기에서, 프로세서는 모션에 대응되는 키가 디스플레이에 표시된 정보를 삭제하기 위한 삭제 키인 경우, 디스플레이에 표시된 정보를 삭제하며, 정보를 삭제한 빈도수에 기초하여 가상 키보드의 투명도를 조절할 수 있다.Here, the processor deletes the information displayed on the display if the key corresponding to the motion is a delete key for deleting information displayed on the display, and can adjust the transparency of the virtual keyboard based on the frequency of deleting the information.

한편, 프로세서는 기설정된 사용자 명령이 입력되면, 카메라를 활성화시키고, 활성화된 카메라를 통해 복수의 제1 이미지 프레임을 획득할 수 있다. 여기서, 기설정된 사용자 명령은 텍스트 입력이 가능한 문서를 디스플레이에 표시하기 위한 사용자 명령 또는 디스플레이에 표시된 텍스트 입력 창을 선택하는 사용자 명령을 포함할 수 있다. Meanwhile, the processor may activate the camera and acquire a plurality of first image frames through the activated camera when a preset user command is input. Here, the preset user command may include a user command for displaying a document capable of text input on the display or a user command for selecting a text input window displayed on the display.

본 개시의 일 실시 예에 따른 전자 장치의 제어 방법은, 카메라를 통해 획득된 복수의 제1 이미지 프레임에서 복수의 손가락을 검출하고, 검출된 복수의 손가락의 포즈가 트리거 포즈에 대응되는 것으로 식별되면, 문자 입력 모드로 진입하는 단계, 문자 입력 모드에서 카메라를 통해 획득된 복수의 제2 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션을 검출하는 단계, 모션에 의한 손가락의 위치 및 손가락에 설정된 기준점의 위치에 기초하여 손가락에 매핑된 복수의 키 중 모션에 대응되는 키를 식별하는 단계, 식별된 키에 대응되는 정보를 디스플레이에 표시하는 단계 및 문자 입력 모드에서 카메라를 통해 획득된 복수의 제3 이미지 프레임에서 복수의 손가락을 검출하고, 검출된 복수의 손가락의 포즈가 기설정된 포즈에 대응되는 것으로 식별되면, 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 재설정하는 단계를 포함할 수 있다.A method for controlling an electronic device according to an embodiment of the present disclosure may include: detecting a plurality of fingers from a plurality of first image frames acquired through a camera, and entering a character input mode if poses of the detected plurality of fingers are identified as corresponding to a trigger pose; detecting a motion of one finger from a plurality of second image frames acquired through the camera in the character input mode; identifying a key corresponding to the motion from a plurality of keys mapped to the finger based on a position of the finger by the motion and a position of a reference point set for the finger; displaying information corresponding to the identified key on a display; and detecting a plurality of fingers from a plurality of third image frames acquired through the camera in the character input mode, and resetting a reference point for each finger based on the positions of the detected plurality of fingers if poses of the detected plurality of fingers are identified as corresponding to a preset pose.

여기에서, 재설정하는 단계는 복수의 제3 이미지 프레임에서 검출된 복수의 손가락이 기설정된 포즈를 일정 시간 동안 유지하는 것으로 식별되면, 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 재설정할 수 있다. Here, the resetting step may reset the reference point for each finger based on the positions of the detected multiple fingers when it is identified that the multiple fingers detected in the multiple third image frames maintain a preset pose for a predetermined period of time.

한편, 재설정하는 단계는 복수의 제3 이미지 프레임에서 검출된 복수의 손가락 중 엄지 손가락을 제외한 나머지 손가락의 끝 부분의 위치에 기초하여 검출된 복수의 손가락의 포즈가 기설정된 포즈에 대응되는지를 식별하는 단계를 포함할 수 있다. Meanwhile, the resetting step may include a step of identifying whether the poses of the detected multiple fingers correspond to a preset pose based on the positions of the tips of the fingers other than the thumb among the multiple fingers detected in the multiple third image frames.

한편, 재설정하는 단계는 문자 입력 모드에서 기준점이 재설정된 이후에 카메라를 통해 획득된 복수의 제4 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션이 검출되면, 모션에 의한 손가락의 위치 및 손가락에 재설정된 기준점의 위치에 기초하여 손가락에 매핑된 복수의 키 중 모션에 대응되는 키를 식별할 수 있다. Meanwhile, in the resetting step, if the motion of one of the plurality of fingers is detected in the plurality of fourth image frames acquired through the camera after the reference point is reset in the character input mode, the key corresponding to the motion among the plurality of keys mapped to the finger can be identified based on the position of the finger due to the motion and the position of the reference point reset to the finger.

한편, 복수의 키는 가상의 키보드에 포함된 키들 중 손가락이 포함된 손가락의 종류(예: 왼손 또는 오른손의 엄지 내지 소지)에 기초하여 결정된 기준키 및 가상의 키보드에 포함된 키들 중에서 기준키와 인접한 적어도 2 개의 키를 포함할 수 있다.Meanwhile, the plurality of keys may include a reference key determined based on the type of finger (e.g., thumb or little finger of the left or right hand) included in the keys included in the virtual keyboard, and at least two keys adjacent to the reference key among the keys included in the virtual keyboard.

여기에서, 식별하는 단계는 모션에 의한 손가락의 위치 및 손가락에 설정된 기준점의 위치 사이의 거리가 기설정된 값 미만인 경우, 손가락에 매핑된 복수의 키 중 기준키를 모션에 대응되는 키인 것으로 식별하고 모션에 의한 손가락의 위치 및 손가락에 설정된 기준점의 위치 사이의 거리가 기설정된 값 이상인 경우, 모션에 의해 손가락이 이동된 방향에 기초하여 손가락에 매핑된 복수의 키 중 기준키로부터 손가락이 이동된 방향에 위치한 키를 모션에 대응되는 키인 것으로 식별할 수 있다. In this case, the identifying step may identify a reference key among a plurality of keys mapped to the finger as a key corresponding to the motion if the distance between the position of the finger by the motion and the position of the reference point set to the finger is less than a preset value, and may identify a key located in the direction in which the finger is moved from the reference key among a plurality of keys mapped to the finger as a key corresponding to the motion if the distance between the position of the finger by the motion and the position of the reference point set to the finger is greater than or equal to the preset value, based on the direction in which the finger is moved by the motion.

한편, 제어 방법은 복수의 제1 이미지 프레임에서 검출된 복수의 손가락의 포즈가 트리거 포즈에 대응되는 것으로 식별되면, 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 설정하는 단계를 더 포함할 수 있다.Meanwhile, the control method may further include a step of setting a reference point for each finger based on positions of the detected plurality of fingers, if poses of the plurality of fingers detected in the plurality of first image frames are identified as corresponding to the trigger pose.

여기에서, 설정하는 단계는 복수의 제1 이미지 프레임에서 검출된 복수의 손가락이 트리거 포즈에 대응되는 것으로 식별되면, 가상의 키보드를 디스플레이에 표시하는 단계를 포함하고, 가상의 키보드를 표시하는 단계는 문자 입력 모드에서 모션에 대응되는 키가 식별되면, 가상의 키보드에 포함된 키들 중 식별된 키를 다른 키와 구별되도록 표시하는 단계를 포함할 수 있다.Here, the setting step may include a step of displaying a virtual keyboard on the display when a plurality of fingers detected in a plurality of first image frames are identified as corresponding to the trigger pose, and the displaying of the virtual keyboard may include a step of displaying the identified key among the keys included in the virtual keyboard so as to be distinguished from other keys when a key corresponding to the motion is identified in the character input mode.

여기에서, 가상의 키보드를 표시하는 단계는 모션에 대응되는 키가 디스플레이에 표시된 정보를 삭제하기 위한 삭제 키인 경우, 디스플레이에 표시된 정보를 삭제하며, 정보를 삭제한 빈도수에 기초하여 가상 키보드의 투명도를 조절하는 단계를 포함할 수 있다. Here, the step of displaying a virtual keyboard may include a step of deleting the information displayed on the display if the key corresponding to the motion is a delete key for deleting information displayed on the display, and adjusting the transparency of the virtual keyboard based on the frequency of deleting the information.

한편, 제어 방법은 기설정된 사용자 명령이 입력되면, 카메라를 활성화시키고, 활성화된 카메라를 통해 복수의 제1 이미지 프레임을 획득하는 단계를 더 포함할 수 있다. 여기서, 기설정된 사용자 명령은 텍스트 입력이 가능한 문서를 디스플레이에 표시하기 위한 사용자 명령 또는 디스플레이에 표시된 텍스트 입력 창을 선택하는 사용자 명령을 포함할 수 있다.Meanwhile, the control method may further include a step of activating a camera and acquiring a plurality of first image frames through the activated camera when a preset user command is input. Here, the preset user command may include a user command for displaying a document capable of text input on the display or a user command for selecting a text input window displayed on the display.

이상과 같은 본 개시의 다양한 실시 예에 따르면, 사용자의 모션을 입력으로 인식할 수 있는 인터페이스를 제공하는 전자 장치 및 그의 제어 방법을 제공할 수 있다. According to various embodiments of the present disclosure as described above, an electronic device providing an interface capable of recognizing a user's motion as an input and a control method thereof can be provided.

본 개시의 다양한 실시 예에 따르면 전자 장치 및 그의 제어 방법을 통해 사용자의 모션을 사용자가 원하는 입력으로 인식하는 인식률을 향상시키고, 입력의 편의성과 신속성을 향상시키는 인터페이스 환경을 제공할 수 있다. According to various embodiments of the present disclosure, an electronic device and a control method thereof can provide an interface environment that improves the recognition rate of a user's motion as an input desired by the user and enhances the convenience and speed of input.

도 1은 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 도면이다.
도 2a는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.
도 2b는 본 개시의 일 실시 예에 따른 전자 장치의 부가적인 구성을 설명하기 위한 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 순서도이다.
도 4a는 본 개시의 일 실시 예에 따른 기설정된 사용자 명령을 설명하기 위한 도면이다.
도 4b는 본 개시의 일 실시 예에 따른 카메라의 활성화를 설명하기 위한 도면이다.
도 4c는 본 개시의 일 실시 예에 따른 이미지 프레임에서 손가락을 검출하는 방법을 설명하기 위한 도면이다.
도 4d는 본 개시의 일 실시 예에 따른 이미지 프레임에서 손가락을 검출하는 방법을 설명하기 위한 도면이다.
도 4e는 본 개시의 일 실시 예에 따른 이미지 프레임에서 손가락을 검출하는 방법을 설명하기 위한 도면이다.
도 5a는 본 개시의 일 실시 예에 따른 트리거 포즈를 설명하기 위한 도면이다.
도 5b는 본 개시의 일 실시 예에 따른 트리거 포즈를 식별하는 방법을 설명하기 위한 도면이다.
도 5c는 본 개시의 일 실시 예에 따른 트리거 포즈가 식별되면 제공되는 UI를 설명하기 위한 도면이다.
도 5d는 본 개시의 일 실시 예에 따른 트리거 포즈가 식별되면 제공되는 UI를 설명하기 위한 도면이다.
도 6a는 본 개시의 일 실시 예에 따른 사용자의 모션을 설명하기 위한 도면이다.
도 6b는 본 개시의 일 실시 예에 따른 사용자의 손가락에 매핑된 키를 설명하기 위한 도면이다.
도 6c는 본 개시의 일 실시 예에 따른 사용자의 모션에 의해 표시되는 정보를 설명하기 위한 도면이다.
도 6d는 본 개시의 일 실시 예에 따른 가상 키보드의 투명도를 조절하는 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 모션에 대응되는 키를 판단하는 방법을 설명하기 위한 도면이다.
도 8a는 본 개시의 일 실시 예에 따른 기준점을 설정하는 방법을 설명하기 위한 도면이다.
도 8b는 본 개시의 일 실시 예에 따른 기준점을 설정하는 방법을 설명하기 위한 도면이다.
도 8c는 본 개시의 일 실시 예에 따른 기준점을 설정하는 방법을 설명하기 위한 도면이다.
도 9a는 본 개시의 일 실시 예에 따른 기준점을 재설정하는 방법을 설명하기 위한 도면이다.
도 9b는 본 개시의 일 실시 예에 따른 기준점을 재설정하는 방법을 설명하기 위한 도면이다.
도 9c는 본 개시의 일 실시 예에 따른 기준점을 재설정하는 방법을 설명하기 위한 도면이다.
도 9d는 본 개시의 일 실시 예에 따른 기준점을 재설정하는 방법을 설명하기 위한 도면이다.
도 10a는 본 개시의 일 실시 예에 따른 모션에 대응되는 키를 판단하는 방법을 설명하기 위한 도면이다.
도 10b는 본 개시의 일 실시 예에 따른 모션에 대응되는 키를 판단하는 방법을 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
도 12는 본 개시의 일 실시 예에 따른 모션에 대응되는 키를 판단하는 방법을 설명하기 위한 순서도이다.
도 13a는 본 개시의 일 실시 예에 따른 전자 장치가 오타를 교정하는 방법을 설명하기 위한 도면이다.
도 13b는 본 개시의 일 실시 예에 따른 전자 장치가 오타를 교정하는 방법을 설명하기 위한 도면이다.
FIG. 1 is a drawing for explaining an electronic device according to one embodiment of the present disclosure.
FIG. 2a is a block diagram illustrating the configuration of an electronic device according to an embodiment of the present disclosure.
FIG. 2b is a block diagram illustrating an additional configuration of an electronic device according to an embodiment of the present disclosure.
FIG. 3 is a flowchart illustrating the operation of an electronic device according to an embodiment of the present disclosure.
FIG. 4a is a diagram for explaining preset user commands according to one embodiment of the present disclosure.
FIG. 4b is a diagram for explaining activation of a camera according to one embodiment of the present disclosure.
FIG. 4c is a diagram illustrating a method for detecting a finger in an image frame according to one embodiment of the present disclosure.
FIG. 4d is a diagram illustrating a method for detecting a finger in an image frame according to one embodiment of the present disclosure.
FIG. 4e is a diagram illustrating a method for detecting a finger in an image frame according to one embodiment of the present disclosure.
FIG. 5a is a drawing for explaining a trigger pose according to one embodiment of the present disclosure.
FIG. 5b is a diagram illustrating a method for identifying a trigger pose according to one embodiment of the present disclosure.
FIG. 5c is a diagram for explaining a UI provided when a trigger pose is identified according to an embodiment of the present disclosure.
FIG. 5d is a diagram for explaining a UI provided when a trigger pose is identified according to an embodiment of the present disclosure.
FIG. 6a is a drawing for explaining a user's motion according to one embodiment of the present disclosure.
FIG. 6b is a drawing for explaining a key mapped to a user's finger according to one embodiment of the present disclosure.
FIG. 6c is a drawing for explaining information displayed by a user's motion according to one embodiment of the present disclosure.
FIG. 6d is a drawing for explaining a method for adjusting the transparency of a virtual keyboard according to one embodiment of the present disclosure.
FIG. 7 is a diagram for explaining a method for determining a key corresponding to a motion according to one embodiment of the present disclosure.
FIG. 8a is a drawing for explaining a method for setting a reference point according to one embodiment of the present disclosure.
FIG. 8b is a drawing for explaining a method for setting a reference point according to one embodiment of the present disclosure.
FIG. 8c is a drawing for explaining a method for setting a reference point according to one embodiment of the present disclosure.
FIG. 9a is a diagram illustrating a method for resetting a reference point according to one embodiment of the present disclosure.
FIG. 9b is a diagram illustrating a method for resetting a reference point according to one embodiment of the present disclosure.
FIG. 9c is a diagram illustrating a method for resetting a reference point according to an embodiment of the present disclosure.
FIG. 9d is a diagram illustrating a method for resetting a reference point according to one embodiment of the present disclosure.
FIG. 10A is a diagram for explaining a method for determining a key corresponding to a motion according to one embodiment of the present disclosure.
FIG. 10b is a diagram for explaining a method for determining a key corresponding to a motion according to one embodiment of the present disclosure.
FIG. 11 is a flowchart for explaining a method for controlling an electronic device according to an embodiment of the present disclosure.
FIG. 12 is a flowchart illustrating a method for determining a key corresponding to a motion according to one embodiment of the present disclosure.
FIG. 13A is a diagram for explaining a method for an electronic device to correct a typo according to an embodiment of the present disclosure.
FIG. 13b is a diagram illustrating a method for correcting a typo by an electronic device according to an embodiment of the present disclosure.

본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다. 덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.In describing the present disclosure, if it is judged that a specific description of a related known function or configuration may unnecessarily obscure the gist of the present disclosure, a detailed description thereof will be omitted. In addition, the following embodiments may be modified in various different forms, and the scope of the technical idea of the present disclosure is not limited to the following embodiments. Rather, these embodiments are provided to make the present disclosure more faithful and complete, and to completely convey the technical idea of the present disclosure to those skilled in the art.

본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.It should be understood that the present disclosure is not intended to be limited to the specific embodiments described herein, but rather encompasses various modifications, equivalents, and/or alternatives of the embodiments of the present disclosure. In connection with the description of the drawings, similar reference numerals may be used for similar components.

본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 상기 구성요소들을 한정하지 않는다. The expressions “first,” “second,” “first,” or “second,” etc., used in this disclosure can describe various components, regardless of order and/or importance, and are only used to distinguish one component from other components and do not limit said components.

본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.In this disclosure, the expressions “A or B,” “at least one of A and/or B,” or “one or more of A or/and B” can include all possible combinations of the listed items. For example, “A or B,” “at least one of A and B,” or “at least one of A or B” can all refer to (1) including at least one A, (2) including at least one B, or (3) including both at least one A and at least one B.

본 개시에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this disclosure, singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, it should be understood that terms such as "comprise" or "consist of" are intended to specify the presence of a feature, number, step, operation, component, part, or combination thereof described in the specification, but do not preclude the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.When it is stated that a component (e.g., a first component) is "(operatively or communicatively) coupled with/to" or "connected to" another component (e.g., a second component), it should be understood that the component can be directly coupled to the other component, or can be connected via another component (e.g., a third component). Conversely, when it is stated that a component (e.g., a first component) is "directly coupled to" or "directly connected" to another component (e.g., a second component), it should be understood that no other component (e.g., a third component) exists between the component and the other component.

본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 상기 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 상기 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.The expression "configured to" as used herein can be used interchangeably with, for example, "suitable for," "having the capacity to," "designed to," "adapted to," "made to," or "capable of." The term "configured to" does not necessarily mean only that which is "specifically designed to" in terms of hardware. Instead, in some contexts, the expression "a device configured to" can mean that the device is "capable of" in conjunction with other devices or components. For example, the phrase "a processor configured to perform A, B, and C" can mean a dedicated processor (e.g., an embedded processor) for performing the operations, or a generic-purpose processor (e.g., a CPU or an application processor) that can perform the operations by executing one or more software programs stored in a memory device.

도 1은 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 도면이다.FIG. 1 is a drawing for explaining an electronic device according to one embodiment of the present disclosure.

도 1을 참조하면, 전자 장치(100)는 사용자의 손(10)을 감지하여, 사용자의 손(10)의 모션에 대응되는 출력을 제공할 수 있다. 즉, 전자 장치(100)는 사용자의 손(10)의 모션을 입력으로 인식하고, 입력에 대응되는 출력을 제공할 수 있다. Referring to FIG. 1, the electronic device (100) can detect the user's hand (10) and provide an output corresponding to the motion of the user's hand (10). That is, the electronic device (100) can recognize the motion of the user's hand (10) as an input and provide an output corresponding to the input.

전자 장치(100)는 사용자의 손(10)에 포함된 손가락을 인식할 수 있다. 이 경우, 전자 장치(100)는 사용자의 손(10)을 사용자의 왼손(10L) 및 사용자의 오른손(10R)으로 구분하여, 왼손(10L) 및 오른손(10R) 각각에 포함된 손가락을 인식할 수 있다. The electronic device (100) can recognize the fingers included in the user's hand (10). In this case, the electronic device (100) can distinguish the user's hand (10) into the user's left hand (10L) and the user's right hand (10R), and recognize the fingers included in each of the left hand (10L) and the right hand (10R).

여기서, 사용자의 각 손가락에는 복수의 키가 매핑될 수 있다. 전자 장치(100)는 키를 타이핑하는 사용자의 손(10)(또는 손가락)의 모션(움직임 또는 제스쳐)에 기초하여 복수의 손가락 중 키를 타이핑하는 손가락(이하, 타이핑 손가락)를 결정(식별)하고, 타이핑 손가락의 모션에 기초하여 타이핑 손가락에 매핑된 복수의 키 중에서 하나의 키를 결정할 수 있다. Here, multiple keys can be mapped to each finger of the user. The electronic device (100) determines (identifies) a finger (hereinafter, a typing finger) among the multiple fingers that types a key based on the motion (movement or gesture) of the user's hand (10) (or finger) typing the key, and determines one key among the multiple keys mapped to the typing finger based on the motion of the typing finger.

여기서, 손(10)의 모션은 가상의 키보드에 포함된 복수의 키(예: 문자 key(a-z 등), 숫자 key(0-9 등), 기호 key(!, @, # 등) 등) 중에서 특정한 키를 타이핑하기 위한 손가락의 움직임을 지칭할 수 있다. 전자 장치(100)는 손가락의 위치(또는 위치 변화)에 기초하여 손(10)의 모션을 식별할 수 있다. Here, the motion of the hand (10) may refer to the movement of a finger for typing a specific key among a plurality of keys (e.g., letter keys (a-z, etc.), number keys (0-9, etc.), symbol keys (!, @, #, etc.)) included in a virtual keyboard. The electronic device (100) may identify the motion of the hand (10) based on the position (or change in position) of the finger.

본 개시의 일 실시 예에 따른 전자 장치(100)는 휴대용 기기로 구현될 수 있다. 휴대용 기기는 일반 사용자가 휴대할 수 있는 전자 기기를 지칭할 수 있으며, 예를 들어 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device) 중 적어도 하나로 구현될 수 있다. 여기서, 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device; HMD), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식형(예: implantable circuit) 중 하나 또는 이들의 조합으로 구현되는 장치를 지칭할 수 있다. An electronic device (100) according to an embodiment of the present disclosure may be implemented as a portable device. The portable device may refer to an electronic device that can be carried by a general user, and may be implemented as at least one of, for example, a smartphone, a tablet personal computer, a mobile phone, a video phone, an e-book reader, a desktop personal computer, a laptop personal computer, a netbook computer, a personal digital assistant (PDA), a portable multimedia player (PMP), an MP3 player, a mobile medical device, a camera, or a wearable device. Here, a wearable device may refer to a device implemented as one or a combination of an accessory type (e.g., a watch, a ring, a bracelet, an anklet, a necklace, glasses, contact lenses, or a head-mounted device (HMD), an integrated type of fabric or clothing (e.g., an electronic garment), a body-attached type (e.g., a skin pad or tattoo), or a bio-implantable type (e.g., an implantable circuit).

또한, 본 개시의 일 실시 예에 따른 전자 장치(100)는 가전제품(home appliance)으로 구현될 수 있다. 가전제품은 일반적으로 가정에서 사용되는 전자 기기를 지칭하나, 본 개시의 가전제품은 사용되는 장소에 한정되지 아니하고 오피스, 학교, 병원, 관공서 등 다양한 장소에서 사용되는 전자 기기를 포함할 수 있다. 가전제품은 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync, 애플TV, 또는 구글 TV 등), 게임 콘솔(예: Xbox, PlayStation, Switch 등), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.In addition, the electronic device (100) according to one embodiment of the present disclosure may be implemented as a home appliance. Home appliances generally refer to electronic devices used at home, but the home appliances of the present disclosure are not limited to places where they are used and may include electronic devices used in various places such as offices, schools, hospitals, and public offices. The home appliances may include, for example, at least one of a television, a digital video disk (DVD) player, an audio, a refrigerator, an air conditioner, a vacuum cleaner, an oven, a microwave oven, a washing machine, an air purifier, a set-top box, a home automation control panel, a security control panel, a TV box (e.g., Samsung HomeSync, Apple TV, or Google TV, etc.), a game console (e.g., Xbox, PlayStation, Switch, etc.), an electronic dictionary, an electronic key, a camcorder, or an electronic picture frame.

또한, 본 개시의 다양한 실시 예에 따른 전자 장치(100)는 워크스테이션(workstation), 서버, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등), 가구(furniture) 또는 건물/구조물의 일부 등으로 구현될 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 또한, 본 개시의 일 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.In addition, the electronic device (100) according to various embodiments of the present disclosure may be implemented as a workstation, a server, an electronic board, an electronic signature receiving device, a projector, or various measuring devices (e.g., water, electricity, gas, or radio wave measuring devices, etc.), furniture, or a part of a building/structure, etc. In various embodiments, the electronic device may be a combination of one or more of the various devices described above. In addition, the electronic device according to one embodiment of the present disclosure is not limited to the devices described above, and may include new electronic devices according to technological advancement.

이상과 같은, 본 개시의 전자 장치(100)는 사용자의 모션을 전자 장치(100)의 입력으로 인식할 수 있으며, 이에 따라 별도의 물리 장치(예: 키보드 등)나 기기의 교체 없이도 전자 장치(100)를 통해 정확하고 빠르게 입력을 인식할 수 있다. As described above, the electronic device (100) of the present disclosure can recognize a user's motion as an input to the electronic device (100), and accordingly, the input can be accurately and quickly recognized through the electronic device (100) without replacing a separate physical device (e.g., keyboard, etc.) or device.

도 2a는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이며, 도 2b는 본 개시의 일 실시 예에 따른 전자 장치의 부가적인 구성을 설명하기 위한 블록도이다.FIG. 2a is a block diagram for explaining the configuration of an electronic device according to an embodiment of the present disclosure, and FIG. 2b is a block diagram for explaining an additional configuration of an electronic device according to an embodiment of the present disclosure.

먼저 도 2a를 참조하면, 본 개시의 일 실시 예에 따른 전자 장치(100)는, 카메라(110), 디스플레이(120), 메모리(130) 및 프로세서(140)를 포함할 수 있다. First, referring to FIG. 2a, an electronic device (100) according to an embodiment of the present disclosure may include a camera (110), a display (120), a memory (130), and a processor (140).

카메라(110)는 촬영 영역 내에 존재하는 객체(예: 사용자의 한손 또는 양손)를 연속하여(또는 주기적으로) 촬영함으로써 복수의 이미지 프레임을 순차적으로 획득할 수 있다. 이 경우, 복수의 이미지 프레임의 프레임 개수는 시간을 나타낼 수 있다. 예를 들어, 카메라(110)가 특정한 프레임 레이트(Frame Rate) 로 객체를 촬영하여 복수의 이미지 프레임을 획득한 경우, 프레임 레이트(단위 FPS, Frames Per Second 등)에 복수의 이미지 프레임의 프레임 개수를 곱하여 시간을 구할 수 있다. 이를 위해, 복수의 이미지 프레임 각각에는 카메라(110)에 의해 촬영된 프레임 레이트 및 시점 등에 대한 정보가 포함될 수 있다. 다만, 이는 일 실시 예일 뿐, 프레임 레이트, 시점에 대한 정보는 별도의 메타 정보에 포함될 수도 있다. 또한, 촬영 영역은 렌즈를 통해 촬영할 수 있는 영역으로서 화각을 의미할 수 있으며, 렌즈의 초점 거리(focal length) 및 카메라(110)의 이미지 센서(미도시)의 크기(예: 대각 길이)에 따라 화각이 결정될 수 있다.The camera (110) can sequentially acquire multiple image frames by continuously (or periodically) capturing an object (e.g., one or both hands of the user) existing within the capturing area. In this case, the number of frames of the multiple image frames can represent time. For example, if the camera (110) captures an object at a specific frame rate and acquires multiple image frames, the time can be obtained by multiplying the frame rate (unit: FPS, Frames Per Second, etc.) by the number of frames of the multiple image frames. To this end, each of the multiple image frames can include information about the frame rate and the time point captured by the camera (110). However, this is only an example, and the information about the frame rate and the time point can be included in separate meta information. In addition, the capturing area can mean an angle of view as an area that can be captured through a lens, and the angle of view can be determined according to the focal length of the lens and the size (e.g., diagonal length) of the image sensor (not shown) of the camera (110).

이를 위해, 카메라(110)는 RGB 카메라 또는 스테레오 카메라로 구현될 수 있다. For this purpose, the camera (110) can be implemented as an RGB camera or a stereo camera.

RGB 카메라는 객체를 연속적으로 촬영하여 이미지 프레임을 순차적으로 획득할 수 있다. 구체적으로, RGB 카메라는 렌즈(미도시), 이미지 센서(미도시), 이미지 프로세서(미도시)를 포함할 수 있다. 렌즈는 객체로부터 반사된 빛을 이미지 센서로 집광 또는 분광시키며, 이미지 센서는 투과된 광을 픽셀 단위로 구분하여 각 픽셀마다 R(Red), G(Green), B(Blue) 색상을 감지하여 전기 신호를 생성하고, 이미지 프로세서는 이미지 센서에서 감지된 전기 신호에 따라 각각의 픽셀을 처리하여, 객체의 색상(예: 손 또는 손가락의 피부 색상), 형상(예: 손 또는 손가락의 형태), 명암 등을 표현하는 이미지 프레임을 획득할 수 있다. 이때, 이미지 프레임은 현실의 3차원 공간이 가상의 2차원 평면으로 투영된 것으로서, 이미지 프레임을 구성하는 각각의 점은 2차원 위치 정보(예: x축상 위치, y축상 위치)를 포함할 수 있다. 이 경우에도, 이미지 프레임의 음영, 명암, 포인트 클라우드(point cloud), 색상 등을 실시간 컴퓨터 비전을 분석하기 위한 프로그래밍 라이브러리(예: OpenCV(Open Source Computer Vision), Python 등) 또는 다양한 알고리즘 등을 통해 이미지 프레임을 구성하는 각각의 점에 깊이 정보(예: z축상 위치)를 부여할 수 있으며, 이때 이미지 프레임은 3차원 위치 정보(예: x축상 위치, y축상 위치, z축상 위치)를 포함할 수 있다. An RGB camera can sequentially capture images of an object. Specifically, the RGB camera may include a lens (not shown), an image sensor (not shown), and an image processor (not shown). The lens collects or disperses light reflected from an object onto the image sensor, and the image sensor divides the transmitted light into pixel units, detects R (Red), G (Green), and B (Blue) colors for each pixel, and generates an electric signal. The image processor processes each pixel according to the electric signal detected by the image sensor, and can obtain an image frame expressing the color (e.g., skin color of a hand or finger), shape (e.g., shape of a hand or finger), brightness, etc. of the object. At this time, the image frame is a projection of a real three-dimensional space onto a virtual two-dimensional plane, and each point constituting the image frame may include two-dimensional position information (e.g., position on the x-axis, position on the y-axis). Even in this case, depth information (e.g., position on the z-axis) can be given to each point constituting the image frame through a programming library (e.g., OpenCV (Open Source Computer Vision), Python, etc.) or various algorithms for analyzing the shading, brightness, point cloud, color, etc. of the image frame in real time. In this case, the image frame can include 3D position information (e.g., position on the x-axis, position on the y-axis, position on the z-axis).

스테레오 카메라는 서로 이격되어 배치된 복수의 RGB 카메라를 지칭할 수 있다. 복수의 RGB 카메라는 서로 다른 위치(또는 방향)에서 객체를 동시에 촬영하여 동일한 시점에 대한 복수의 이미지 프레임을 획득할 수 있다. 이 경우, 프로세서(140)(또는 이미지 프로세서)는 동일한 시점에 대한 복수의 이미지 프레임을 스테레오 정합(stereo matching)하여 시차(disparity)를 산출하고, 시차, 렌즈의 초점 거리 및 베이스라인(baseline)에 기초하여, 전자 장치(100) 및 객체(현실의 공간에 존재하는 객체) 사이의 깊이(또는 거리)를 산출할 수 있다. 이 경우, 프로세서(140)는 복수의 이미지 프레임 중 기준 이미지 프레임의 2차원 위치 정보(예: x축상 위치, y축상 위치)와 깊이 정보(예: z축상 위치)를 결합하여, 기준 이미지 프레임에 포함된 객체에 대한 3차원 위치 정보(예: x축상 위치, y축상 위치, z축상 위치)를 획득할 수 있다. 여기서, 스테레오 정합은, 전역 정합(global matching), 지역 정합(local matching) 등 다양한 방법을 통해 동일한 시점에 대한 복수의 이미지 프레임에 포함된 동일한 객체를 매칭하는 것을 지칭할 수 있다. 시차는 복수의 이미지 프레임에 포함된 동일한 객체에 대한 위치 차이(예: x축 또는 y축 상의 위치 차이)를 지칭할 수 있으며, 초점 거리 또는 베이스라인이 클수록 높게 나타날 수 있다. 초점 거리는 이미지 센서 및 렌즈 사이의 거리를 지칭할 수 있다. 베이스라인은 복수의 RGB 카메라가 이격된 간격을 지칭할 수 있다. 기준 이미지 프레임은 복수의 RGB 카메라 중 기설정된 하나의 RGB 카메라에서 촬영된 이미지 프레임을 지칭할 수 있다.A stereo camera may refer to a plurality of RGB cameras that are arranged spaced apart from each other. The plurality of RGB cameras may simultaneously capture an object from different positions (or directions) to obtain a plurality of image frames for the same point in time. In this case, the processor (140) (or the image processor) may perform stereo matching on the plurality of image frames for the same point in time to calculate disparity, and may calculate the depth (or distance) between the electronic device (100) and the object (an object existing in a real space) based on the disparity, the focal length of the lens, and the baseline. In this case, the processor (140) may combine two-dimensional position information (e.g., x-axis position, y-axis position) and depth information (e.g., z-axis position) of a reference image frame among the plurality of image frames to obtain three-dimensional position information (e.g., x-axis position, y-axis position, z-axis position) for the object included in the reference image frame. Here, stereo matching may refer to matching the same object included in multiple image frames for the same viewpoint through various methods such as global matching and local matching. Parallax may refer to a positional difference (e.g., a positional difference on the x-axis or y-axis) for the same object included in multiple image frames, and may appear higher as the focal length or baseline increases. The focal length may refer to a distance between an image sensor and a lens. The baseline may refer to an interval at which multiple RGB cameras are spaced apart. The reference image frame may refer to an image frame captured by a preset RGB camera among the multiple RGB cameras.

한편, 카메라(110)는 RGB-D(Depth) 카메라로 구현될 수 있다. 여기서, RGB-D(Depth) 카메라는 객체를 촬영하여 이미지 프레임을 획득하고, 전자 장치(100) 및 객체(현실의 공간에 존재하는 객체) 사이의 깊이(또는 거리)를 감지할 수 있다. 이 경우 프로세서(140)는 이미지 프레임의 2차원 위치 정보(예: x축상 위치, y축상 위치)와 깊이 정보(예: z축상 위치)를 결합하여, 이미지 프레임에 포함된 객체에 대한 3차원 위치 정보(예: x축상 위치, y축상 위치, z축상 위치)를 획득할 수 있다. 이를 위해, RGB-D 카메라는 RGB 카메라 또는 스테레오 카메라에 센서(150, 도 2b 참조)가 물리적으로 결합되는 방식으로 구현되거나, 프로세서(140)가 RGB 카메라 또는 스테레오 카메라에서 획득된 이미지 프레임과 센서에서 획득된 깊이 정보를 결합하는 방식으로 구현되는 것 또한 가능하다. Meanwhile, the camera (110) may be implemented as an RGB-D (Depth) camera. Here, the RGB-D (Depth) camera can capture an object to obtain an image frame and detect the depth (or distance) between the electronic device (100) and the object (an object existing in a real space). In this case, the processor (140) can combine two-dimensional position information (e.g., x-axis position, y-axis position) and depth information (e.g., z-axis position) of the image frame to obtain three-dimensional position information (e.g., x-axis position, y-axis position, z-axis position) for the object included in the image frame. To this end, the RGB-D camera may be implemented in a manner in which a sensor (150, see FIG. 2b) is physically coupled to an RGB camera or a stereo camera, or the processor (140) may be implemented in a manner in which the image frame obtained from the RGB camera or the stereo camera is combined with depth information obtained from the sensor.

센서(150)는 도 2b를 참조하여, 객체(예: 사용자의 손 또는 손가락)와의 거리(또는 깊이) 또는 객체의 모션을 감지할 수 있다. 이를 위해, 센서(150)는 구조광 방식, TOF(Time Of Flight) 방식, 모션 캡쳐 방식 등의 다양한 방식을 활용할 수 있으며, 그 방식에 따라 구현되는 하드웨어 또한 달라질 수 있다.The sensor (150) can detect the distance (or depth) to an object (e.g., a user's hand or finger) or the motion of the object, with reference to FIG. 2B. To this end, the sensor (150) can utilize various methods, such as a structured light method, a TOF (Time Of Flight) method, a motion capture method, etc., and the hardware implemented can also vary depending on the method.

구조광(Structured Light; SL) 방식의 경우, 센서(150)는 패턴(예: 직선 또는 점 등이 일정 간격마다 반복되는 형태)을 갖는 빛을 객체를 향해 방출하는 프로젝터 및 객체에 의해 방출된 빛의 반사를 감지하는 광검출기를 포함할 수 있다. 이때, 센서(150)는 객체(예: 사용자의 손 또는 손가락 등)의 외형에 따라 변형된 패턴을 알고리즘으로 분석하여, 전자 장치(100)와 객체 사이의 거리 또는 모션을 인식할 수 있다. 한편, TOF(Time Of Flight) 방식의 경우, 센서(150)는 빛 또는 전파(예: 레이저, 적외선, 초음파 등)를 객체를 향해 방출하는 발생기 및 객체에 의해 반사된 빛 또는 전파(예: 레이저, 적외선, 초음파 등)가 되돌아오는 시간 또는 강도를 측정하는 수신부를 포함할 수 있다. 이때, 센서(150)는 객체에 의해 반사된 빛 또는 전파가 되돌아오는 시간 또는 강도를 통해 전자 장치(100)와 객체 사이의 거리를 감지할 수 있다. 한편, 모션 캡쳐(Motion Capture) 방식의 경우, 사용자의 신체(예: 사용자의 손가락, 관절 부위 등)에 복수의 마커(를 부착시키고, 센서(150)는 복수의 마커의 위치를 감지하여 사용자의 모션을 감지할 수 있다. 이때, 모션 캡쳐는 기계식, 자기식, 광학식, 관성식 등 다양한 방식의 모션 캡쳐가 이용될 수 있다. In the case of the Structured Light (SL) method, the sensor (150) may include a projector that emits light having a pattern (e.g., a form in which straight lines or dots are repeated at regular intervals) toward an object, and a photodetector that detects the reflection of the light emitted by the object. At this time, the sensor (150) may analyze the pattern deformed according to the appearance of the object (e.g., a user's hand or finger, etc.) using an algorithm to recognize the distance or motion between the electronic device (100) and the object. Meanwhile, in the case of the Time Of Flight (TOF) method, the sensor (150) may include a generator that emits light or radio waves (e.g., laser, infrared, ultrasonic, etc.) toward the object, and a receiver that measures the time or intensity for the light or radio waves (e.g., laser, infrared, ultrasonic, etc.) reflected by the object to return. At this time, the sensor (150) may detect the distance between the electronic device (100) and the object through the time or intensity for the light or radio waves reflected by the object to return. Meanwhile, in the case of the motion capture method, multiple markers are attached to the user's body (e.g., the user's fingers, joints, etc.), and the sensor (150) can detect the user's motion by detecting the positions of the multiple markers. At this time, various types of motion capture, such as mechanical, magnetic, optical, and inertial, can be used.

한편, 전술한 카메라(110)(또는 센서(150))는 전자 장치(100)에 구비될 수 있으나 이는 일 실시 예일 뿐이며, 카메라(110)(또는 센서(150))는 전자 장치(100)와 별도의 외부 장치에 구비되는 것 또한 가능하며, 이 경우에는 전자 장치(100)는 외부 장치에서 획득된 이미지 프레임 또는 깊이 정보를 통신부(170, 도 2b 참조)를 통해 수신할 수 있다.Meanwhile, the aforementioned camera (110) (or sensor (150)) may be equipped in the electronic device (100), but this is only an example, and the camera (110) (or sensor (150)) may also be equipped in an external device separate from the electronic device (100), in which case the electronic device (100) may receive image frames or depth information acquired from the external device through the communication unit (170, see FIG. 2b).

디스플레이(120)는 시각적으로 정보 또는 데이터를 출력하는 장치이다. 디스플레이(120)는 이미지 프레임을 디스플레이 영역의 전체 또는 일부 영역에 표시할 수 있다. 디스플레이 영역은 정보 또는 데이터가 시각적으로 표시되는 픽셀 단위의 영역 전체를 지칭할 수 있다. 디스플레이(120)의 적어도 일부는 플렉서블 디스플레이(flexible display)의 형태로 전자 장치(100)의 전면 영역 및, 측면 영역 및 후면 영역 중 적어도 하나에 결합될 수도 있다. 플렉서블 디스플레이는 종이처럼 얇고 유연한 기판을 통해 손상 없이 휘거나 구부리거나 말 수 있는 것을 특징으로 할 수 있다.The display (120) is a device that visually outputs information or data. The display (120) can display an image frame on the entire or a portion of the display area. The display area can refer to the entire area in pixel units where information or data is visually displayed. At least a portion of the display (120) can be combined with at least one of the front area, the side area, and the rear area of the electronic device (100) in the form of a flexible display. The flexible display can be characterized by being able to bend, fold, or roll without damage through a thin and flexible substrate like paper.

메모리(130)는 프로세서(140) 등이 접근할 수 있도록 데이터 등의 정보를 전기 또는 자기 형태로 저장하는 하드웨어를 지칭할 수 있으며, 메모리(130)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(Flash Memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD), RAM, ROM 등 중에서 적어도 하나의 하드웨어로 구현될 수 있다. Memory (130) may refer to hardware that stores information such as data in an electric or magnetic form so that a processor (140) or the like can access it, and memory (130) may be implemented as at least one hardware among nonvolatile memory, volatile memory, flash memory, hard disk drive (HDD), solid state drive (SSD), RAM, ROM, etc.

메모리(130)에는 전자 장치(100) 또는 프로세서(140)의 동작에 필요한 적어도 하나의 인스트럭션(instruction), 프로그램 또는 데이터가 저장될 수 있다. 여기서, 인스트럭션은 전자 장치(100) 또는 프로세서(140)의 동작을 지시하는 부호 단위로서, 컴퓨터가 이해할 수 있는 언어인 기계어로 작성된 것일 수 있다. 프로그램은 작업 단위의 특정 작업을 수행하는 일련의 인스트럭션의 집합체(instruction set)일 수 있다. 데이터는 문자, 수, 영상 등을 나타낼 수 있는 비트 또는 바이트 단위의 상태 정보일 수 있다. The memory (130) may store at least one instruction, program, or data required for the operation of the electronic device (100) or the processor (140). Here, the instruction is a symbol unit that instructs the operation of the electronic device (100) or the processor (140), and may be written in machine language, which is a language that a computer can understand. The program may be a collection of a series of instructions (instruction set) that performs a specific task of a work unit. The data may be status information in bit or byte units that may represent characters, numbers, images, etc.

또한, 메모리(130)에는 카메라(110)에 의해 획득된 이미지 프레임, 프로세서(140)에 의해 식별된 키에 대응되는 정보 등이 저장될 수 있다. 메모리(130)는 프로세서(140)에 의해 액세스되며, 프로세서(140)에 의해 인스트럭션, 프로그램 또는 데이터에 대한 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.In addition, the memory (130) may store image frames acquired by the camera (110), information corresponding to keys identified by the processor (140), etc. The memory (130) is accessed by the processor (140), and reading/recording/modifying/deleting/updating instructions, programs, or data may be performed by the processor (140).

프로세서(140)는 메모리(130)에 저장된 적어도 하나의 인스트럭션을 실행함으로써 전자 장치(100)를 제어할 수 있다. 이를 위해, 프로세서(140)는 카메라(110), 디스플레이(120) 및 메모리(130)와 연결되어 전자 장치(100)를 제어할 수 있다. 구체적으로, 프로세서(140)는 인스트럭션을 읽고 해석하며 데이터 처리를 위한 시퀀스를 결정할 수 있으며, 이에 따라 다른 장치의 동작을 제어하는 타이밍 및 제어 신호를 다른 장치로 제공함으로써 다른 장치의 동작을 제어할 수 있다. The processor (140) can control the electronic device (100) by executing at least one instruction stored in the memory (130). To this end, the processor (140) can be connected to the camera (110), the display (120), and the memory (130) to control the electronic device (100). Specifically, the processor (140) can read and interpret the instruction and determine a sequence for data processing, and thereby control the operation of the other device by providing timing and control signals to the other device to control the operation of the other device.

한편, 프로세서(140)는 프로세서(140) 내부에 구비된 메모리(미도시)에 저장된 적어도 하나의 인스트럭션을 실행함으로써 전자 장치(100)를 제어할 수도 있다. 이때, 프로세서(140) 내부에 구비된 메모리는 ROM(예: NOR 또는 NAND형 플래시 메모리), RAM(예: DRAM(dynamic RAM), SDRAM(synchronous DRAM), DDR SDRAM(Double data rate SDRAM)), 휘발성 메모리 등을 포함할 수 있다.Meanwhile, the processor (140) may control the electronic device (100) by executing at least one instruction stored in a memory (not shown) provided within the processor (140). At this time, the memory provided within the processor (140) may include a ROM (e.g., a NOR or NAND type flash memory), a RAM (e.g., a DRAM (dynamic RAM), an SDRAM (synchronous DRAM), a DDR SDRAM (Double data rate SDRAM)), a volatile memory, etc.

한편, 프로세서(140)는 하나 또는 복수의 프로세서로 구성될 수도 있으며, 프로세서(140)는 CPU(Central Processing Unit), AP(Application Processor) 등과 같은 범용 프로세서, GPU(Graphic Processing Unit), VPU(Vision Processing Unit) 등과 같은 그래픽 전용 프로세서, NPU(Neural Processing Unit)와 같은 인공지능 전용 프로세서 등으로 구현될 수 있다.Meanwhile, the processor (140) may be composed of one or more processors, and the processor (140) may be implemented as a general-purpose processor such as a CPU (Central Processing Unit), an AP (Application Processor), a graphics-only processor such as a GPU (Graphic Processing Unit), a VPU (Vision Processing Unit), an artificial intelligence-only processor such as an NPU (Neural Processing Unit), etc.

여기서, 프로세서(140)는 GPU 및 CPU를 포함할 수 있으며, GPU 및 CPU는 연계하여 본 개시의 동작을 수행할 수 있다. 예를 들어, GPU는 데이터 중 이미지 프레임 등을 처리하고, CPU는 나머지 데이터(예: 인스트럭션, 코드 등)를 처리할 수 있다. 이때, GPU는 여러 명령어 또는 데이터를 동시에 처리하는 병렬 처리 방식에 특화된 수백 또는 수천 개의 코어를 갖는 구조로 구현되며, CPU는 명령어 또는 데이터가 입력된 순서대로 처리하는 직렬 처리 방식에 특화된 수개의 코어를 갖는 구조로 구현될 수 있다. Here, the processor (140) may include a GPU and a CPU, and the GPU and the CPU may perform the operation of the present disclosure in conjunction with each other. For example, the GPU may process image frames, etc. among data, and the CPU may process the remaining data (e.g., instructions, codes, etc.). At this time, the GPU may be implemented with a structure having hundreds or thousands of cores specialized in a parallel processing method that processes multiple commands or data simultaneously, and the CPU may be implemented with a structure having several cores specialized in a serial processing method that processes commands or data in the order in which they are input.

일 실시 예로서, GPU는 카메라(110)를 통해 획득된 복수의 제1 이미지 프레임에서 복수의 손가락을 검출하고, CPU는 검출된 복수의 손가락의 포즈가 트리거 포즈에 대응되는 것으로 식별되면, 문자 입력 모드로 진입하고, GPU는 문자 입력 모드에서 카메라(110)를 통해 획득된 복수의 제2 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션을 검출하고, CPU는 모션에 의한 손가락의 위치 및 손가락에 설정된 기준점의 위치에 기초하여 손가락에 매핑된 복수의 키 중 모션에 대응되는 키를 식별하고, 식별된 키에 대응되는 정보를 표시하도록 디스플레이(120)를 제어할 수 있다. 이는 일 실시 예일 뿐 다양한 변형 실시 예가 가능하며, 이하에서는 설명의 편의를 위해 프로세서(140)에 의해 수행되는 것으로 설명하도록 한다.In one embodiment, the GPU detects a plurality of fingers from a plurality of first image frames acquired through the camera (110), and if the CPU identifies that the poses of the detected plurality of fingers correspond to a trigger pose, the GPU enters a character input mode, and in the character input mode, the GPU detects a motion of one of the plurality of fingers from a plurality of second image frames acquired through the camera (110), and the CPU identifies a key corresponding to the motion among a plurality of keys mapped to the finger based on the position of the finger due to the motion and the position of a reference point set for the finger, and controls the display (120) to display information corresponding to the identified key. This is only one embodiment, and various modified embodiments are possible, and for the convenience of explanation, it will be described below as being performed by the processor (140).

프로세서(140)는 카메라(110)를 통해 획득된 복수의 제1 이미지 프레임에서 복수의 손가락을 검출하고, 검출된 복수의 손가락의 포즈가 트리거 포즈에 대응되는 것으로 식별되면, 문자 입력 모드로 진입하고, 문자 입력 모드에서 카메라(110)를 통해 획득된 복수의 제2 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션을 검출하고, 모션에 의한 손가락의 위치 및 손가락에 설정된 기준점의 위치에 기초하여 손가락에 매핑된 복수의 키 중 모션에 대응되는 키를 식별하고, 식별된 키에 대응되는 정보를 표시하도록 디스플레이(120)를 제어할 수 있다. 이 경우, 프로세서(140)는 문자 입력 모드에서 카메라(110)를 통해 획득된 복수의 제3 이미지 프레임에서 복수의 손가락을 검출하고, 검출된 복수의 손가락의 포즈가 기설정된 포즈에 대응되는 것으로 식별되면, 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 재설정할 수 있다. 구체적인 내용은 도 7 등을 참조하여 후술하도록 한다.The processor (140) detects a plurality of fingers from a plurality of first image frames acquired through the camera (110), and if the poses of the detected plurality of fingers are identified as corresponding to a trigger pose, the processor (140) enters a character input mode, detects a motion of one of the plurality of fingers from a plurality of second image frames acquired through the camera (110) in the character input mode, and identifies a key corresponding to the motion among a plurality of keys mapped to the finger based on the position of the finger by the motion and the position of a reference point set for the finger, and controls the display (120) to display information corresponding to the identified key. In this case, the processor (140) detects a plurality of fingers from a plurality of third image frames acquired through the camera (110) in the character input mode, and if the poses of the detected plurality of fingers are identified as corresponding to a preset pose, the processor (140) can reset the reference point for each finger based on the positions of the detected plurality of fingers. Specific details will be described later with reference to FIG. 7 and the like.

여기에서, 문자 입력 모드는 본 개시의 전자 장치(100)가 사용자의 손가락의 모션(또는 제스쳐)를 검출하여 사용자의 손가락의 모션(또는 제스쳐)에 대응되는 키를 식별하고 식별된 키에 대응되는 정보를 표시하는 동작을 수행하는 상태를 지칭할 수 있다. 즉, 문자 입력 모드에 진입한 경우에 사용자의 손가락의 모션을 특정한 키의 입력으로 인식하며, 문자 입력 모드가 해제된 경우에 사용자의 손가락의 모션을 특정한 키의 입력으로 인식하지 않는다. Here, the character input mode may refer to a state in which the electronic device (100) of the present disclosure detects the motion (or gesture) of the user's finger, identifies a key corresponding to the motion (or gesture) of the user's finger, and performs an operation of displaying information corresponding to the identified key. That is, when entering the character input mode, the motion of the user's finger is recognized as an input of a specific key, and when the character input mode is released, the motion of the user's finger is not recognized as an input of a specific key.

또한, 손가락의 모션은 손가락이 특정한 위치에서 다른 위치로 이동한 상태를 지칭할 수 있다. 이때, 모션에 의한 손가락의 위치는, 손가락이 특정한 위치에서 다른 위치로 이동된 경우에 손가락이 이동된 위치를 지칭할 수 있다. Additionally, the motion of a finger may refer to a state in which the finger moves from a specific location to another location. In this case, the position of the finger due to the motion may refer to the position to which the finger has moved when the finger has moved from a specific location to another location.

또한, 손가락에 설정된 기준점은, 손가락의 모션을 판단하기 위한 기준이 되는 위치를 지칭할 수 있다. 손가락의 포즈가 트리거 포즈에 대응되는 것으로 식별되면 기준점이 설정되고, 이후 손가락의 포즈가 기설정된 포즈에 대응되는 것으로 식별되면 기준점이 재설정됨으로써 기준점의 위치는 동적으로 변경될 수 있다. In addition, the reference point set on the finger may refer to a position that serves as a reference for judging the motion of the finger. When the pose of the finger is identified as corresponding to the trigger pose, the reference point is set, and when the pose of the finger is identified as corresponding to the preset pose, the reference point is reset, so that the position of the reference point can be dynamically changed.

한편, 프로세서(140)는 복수의 제1 이미지 프레임에서 검출된 복수의 손가락의 포즈가 트리거 포즈에 대응되는 것으로 식별되면, 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 설정할 수 있다. 구체적인 내용은 도 8a 내지 8c에서 후술하여 설명하도록 한다. Meanwhile, if the processor (140) identifies that the poses of the plurality of fingers detected in the plurality of first image frames correspond to the trigger pose, the processor can set a reference point for each finger based on the positions of the plurality of detected fingers. The specific details will be described later with reference to FIGS. 8A to 8C.

여기에서, 본 개시에서 설명하는 복수의 제1 이미지 프레임, 복수의 제2 이미지 프레임, 복수의 제3 이미지 프레임, 복수의 제4 이미지 프레임이라는 용어는 청구항에 기재된 서로 다른 복수의 이미지 프레임을 구분하기 위한 것으로, 청구항에 기재된 순서에 따라 번호가 부여된 것이다. 이는 시간의 흐름에 따라 획득된 순서를 나타내며, 이들 이미지 프레임 사이에는 카메라(110)를 통해 획득된 다른 이미지 프레임이 더 존재할 수도 있다. Here, the terms a plurality of first image frames, a plurality of second image frames, a plurality of third image frames, and a plurality of fourth image frames described in the present disclosure are used to distinguish different plurality of image frames described in the claims, and are numbered according to the order described in the claims. This indicates the order acquired over time, and there may be other image frames acquired through the camera (110) between these image frames.

이를 위해, 프로세서(140)는 기설정된 사용자 명령이 입력되면, 카메라(110)를 활성화시키고, 활성화된 카메라(110)를 통해 복수의 제1 이미지 프레임을 획득할 수 있다. 여기서, 기설정된 사용자 명령은 텍스트 입력이 가능한 문서를 디스플레이(120)에 표시하기 위한 사용자 명령 또는 디스플레이(120)에 표시된 텍스트 입력 창을 선택하는 사용자 명령을 포함할 수 있다. 구체적인 내용은 도 4a 및 4b에서 후술하여 설명하도록 한다.To this end, the processor (140) can activate the camera (110) when a preset user command is input, and acquire a plurality of first image frames through the activated camera (110). Here, the preset user command can include a user command for displaying a document capable of text input on the display (120) or a user command for selecting a text input window displayed on the display (120). Specific details will be described later with reference to FIGS. 4A and 4B.

그리고, 프로세서(140)는 복수의 제1 이미지 프레임에서 검출된 복수의 손가락이 트리거 포즈에 대응되는 것으로 식별되면, 가상의 키보드를 디스플레이(120)에 표시할 수 있다. 구체적인 내용은 도 5c에서 후술하여 설명하도록 한다.And, if the processor (140) identifies that a plurality of fingers detected in a plurality of first image frames correspond to a trigger pose, the processor (140) can display a virtual keyboard on the display (120). The specific details will be described later with reference to FIG. 5c.

여기에서, 복수의 키는 가상의 키보드에 포함된 키들 중 손가락이 포함된 손의 종류 및 손가락의 종류에 기초하여 결정된 기준키 및 가상의 키보드에 포함된 키들 중에서 기준키와 인접한 적어도 2 개의 키를 포함할 수 있다. 구체적인 내용은 도 6b에서 후술하여 설명하도록 한다.Here, the plurality of keys may include a reference key determined based on the type of hand and the type of fingers included in the keys included in the virtual keyboard, and at least two keys adjacent to the reference key among the keys included in the virtual keyboard. The specific details will be described later with reference to FIG. 6b.

이 경우, 프로세서(140)는 문자 입력 모드에서 모션에 대응되는 키가 식별되면, 가상의 키보드에 포함된 키들 중 식별된 키를 다른 키와 구별되도록 표시할 수 있다. 구체적인 내용은 도 6c에서 후술하여 설명하도록 한다.In this case, when a key corresponding to a motion is identified in the character input mode, the processor (140) can display the identified key among the keys included in the virtual keyboard so as to be distinguished from other keys. The specific details will be described later with reference to FIG. 6c.

한편, 프로세서(140)는 모션에 대응되는 키가 디스플레이(120)에 표시된 정보를 삭제하기 위한 삭제 키인 경우, 디스플레이(120)에 표시된 정보를 삭제하며, 정보를 삭제한 빈도수에 기초하여 가상 키보드의 투명도를 조절할 수 있다. 구체적인 내용은 도 6d에서 후술하여 설명하도록 한다.Meanwhile, if the key corresponding to the motion is a delete key for deleting information displayed on the display (120), the processor (140) deletes the information displayed on the display (120) and can adjust the transparency of the virtual keyboard based on the frequency of deleting the information. The specific details will be described later in FIG. 6d.

한편, 프로세서(140)는 문자 입력 모드에서 카메라(110)를 통해 획득된 복수의 제3 이미지 프레임에서 복수의 손가락을 검출할 수 있다. 이때, 프로세서(140)는 복수의 제3 이미지 프레임에서 검출된 복수의 손가락의 포즈가 기설정된 포즈에 대응되는 것으로 식별되면, 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 재설정할 수 있다. 여기에서, 프로세서(140)는 복수의 제3 이미지 프레임에서 검출된 복수의 손가락이 기설정된 포즈를 일정 시간 동안 유지하는 것으로 식별되면, 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 재설정할 수 있다. 한편, 프로세서(140)는 복수의 제3 이미지 프레임에서 검출된 복수의 손가락 중 엄지 손가락을 제외한 나머지 손가락의 끝 부분의 위치에 기초하여 검출된 복수의 손가락의 포즈가 기설정된 포즈에 대응되는지를 식별할 수 있다. 구체적인 내용은 도 9a 내지 9d에서 후술하여 설명하도록 한다.Meanwhile, the processor (140) may detect a plurality of fingers from a plurality of third image frames acquired through the camera (110) in the character input mode. At this time, if the processor (140) identifies that the poses of the plurality of fingers detected from the plurality of third image frames correspond to a preset pose, the processor (140) may reset the reference point for each finger based on the positions of the detected plurality of fingers. Here, if the processor (140) identifies that the plurality of fingers detected from the plurality of third image frames maintain the preset pose for a predetermined period of time, the processor (140) may reset the reference point for each finger based on the positions of the detected plurality of fingers. Meanwhile, the processor (140) may identify whether the poses of the detected plurality of fingers correspond to the preset pose based on the positions of the tips of the remaining fingers excluding the thumbs among the plurality of fingers detected from the plurality of third image frames. Specific details will be described later with reference to FIGS. 9A to 9D.

여기에서, 프로세서(140)는 모션에 의한 손가락의 위치 및 손가락에 설정된 기준점의 위치 사이의 거리가 기설정된 값 미만인 경우, 손가락에 매핑된 복수의 키 중 기준키를 모션에 대응되는 키인 것으로 식별하고, 모션에 의한 손가락의 위치 및 손가락에 설정된 기준점의 위치 사이의 거리가 기설정된 값 이상인 경우, 모션에 의해 손가락이 이동된 방향에 기초하여 손가락에 매핑된 복수의 키 중 기준키로부터 손가락이 이동된 방향에 위치한 키를 모션에 대응되는 키인 것으로 식별할 수 있다. 구체적인 내용은 도 10a 및 도 10b에서 후술하여 설명하도록 한다.Here, if the distance between the position of the finger due to the motion and the position of the reference point set to the finger is less than a preset value, the processor (140) identifies a reference key among a plurality of keys mapped to the finger as a key corresponding to the motion, and if the distance between the position of the finger due to the motion and the position of the reference point set to the finger is greater than or equal to the preset value, the processor (140) can identify a key located in the direction in which the finger is moved from the reference key among a plurality of keys mapped to the finger as a key corresponding to the motion based on the direction in which the finger is moved by the motion. Specific details will be described later with reference to FIGS. 10A and 10B.

한편, 프로세서(140)는 문자 입력 모드에서 기준점이 재설정된 이후에 카메라(110)를 통해 획득된 복수의 제4 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션이 검출되면, 모션에 의한 손가락의 위치 및 손가락에 재설정된 기준점의 위치에 기초하여 손가락에 매핑된 복수의 키 중 모션에 대응되는 키를 식별할 수 있다. 이 경우, 본 개시의 복수의 제2 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션이 검출되면, 모션에 의한 손가락의 위치 및 손가락에 설정된 기준점의 위치에 기초하여 손가락에 매핑된 복수의 키 중 모션에 대응되는 키를 식별하는 동작에 대한 설명이 동일하게 적용될 수 있다. 즉, 복수의 제2 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션이 검출되면, 모션에 의한 손가락의 위치 및 손가락에 설정된 기준점의 위치에 기초하여 손가락에 매핑된 복수의 키 중 모션에 대응되는 키를 식별하는 동작에 모션에 의한 손가락의 위치 및 손가락에 설정된 기준점의 위치를 제4 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션에 의한 손가락 위치 및 손가락에 재설정된 기준점의 위치로 치환하여 적용할 수 있다.Meanwhile, if the motion of one finger among the plurality of fingers is detected in the plurality of fourth image frames acquired through the camera (110) after the reference point is reset in the character input mode, the processor (140) can identify a key corresponding to the motion among the plurality of keys mapped to the finger based on the position of the finger by the motion and the position of the reference point reset to the finger. In this case, if the motion of one finger among the plurality of fingers is detected in the plurality of second image frames of the present disclosure, the description of an operation of identifying a key corresponding to the motion among the plurality of keys mapped to the finger based on the position of the finger by the motion and the position of the reference point set to the finger can be applied in the same manner. That is, if the motion of one finger among the plurality of fingers is detected in the plurality of second image frames, the operation of identifying a key corresponding to the motion among the plurality of keys mapped to the finger based on the position of the finger by the motion and the position of the reference point set to the finger can be applied by substituting the position of the finger by the motion and the position of the reference point set to the finger with the position of the finger by the motion and the position of the reference point reset to the finger in the fourth image frame.

도 2b를 참조하면, 전자 장치(100)는 카메라(110), 디스플레이(120), 메모리(130), 프로세서(140) 외에도 센서(150), 입출력포트(160), 통신부(170), 스피커(180) 및 입력 인터페이스(190) 중 하나를 포함할 수 있다. 카메라(110), 디스플레이(120), 메모리(130), 프로세서(140) 및 센서(150)는 전술하여 설명한 바 있다는 점에서, 중복되는 내용은 생략하기로 한다.Referring to FIG. 2b, the electronic device (100) may include one of a sensor (150), an input/output port (160), a communication unit (170), a speaker (180), and an input interface (190) in addition to a camera (110), a display (120), a memory (130), and a processor (140). Since the camera (110), the display (120), the memory (130), the processor (140), and the sensor (150) have been described above, any redundant description will be omitted.

입출력포트(160)는 전자 장치(100)가 외부 장치(미도시)와 이미지 및/또는 음성에 대한 신호를 송신 및/또는 수신할 수 있도록, 전자 장치(100) 및 외부 장치(미도시)를 유선으로 연결해주는 구성이다. 이를 위해, 입출력포트(160)는 HDMI 포트, 디스플레이 포트, RGB 포트, DVI(Digital Visual Interface) 포트, 썬더볼트 및 컴포넌트 포트 등 유선 포트로 구현될 수 있다. 일 예로, 전자 장치(100)가 이미지 및/또는 음성을 출력할 수 있도록, 전자 장치(100)는 입출력포트(160)를 통해 이미지 및/또는 음성에 대한 신호를 외부 장치(미도시)로부터 수신할 수 있다. 다른 예로, 외부 장치(미도시)가 이미지 및/또는 음성을 출력할 수 있도록, 전자 장치(100)는 입출력포트(160)를 통해 특정한 이미지 및/또는 음성에 대한 신호를 외부 장치로 송신할 수 있다. 이와 같이, 입출력 포트(160)를 통해 이미지 및/또는 음성에 대한 신호가 일방향으로 전송될 수 있다. 다만, 이는 일 실시 예일 뿐, 입출력 포트(160)를 통해 이미지 및/또는 음성에 대한 신호가 양방향으로 전송될 수 있음은 물론이다.The input/output port (160) is a configuration that connects the electronic device (100) and the external device (not shown) with a wire so that the electronic device (100) can transmit and/or receive signals for images and/or voices to and from the external device (not shown). To this end, the input/output port (160) may be implemented as a wired port such as an HDMI port, a display port, an RGB port, a DVI (Digital Visual Interface) port, a Thunderbolt, and a component port. As an example, so that the electronic device (100) can output images and/or voices, the electronic device (100) can receive signals for images and/or voices from an external device (not shown) through the input/output port (160). As another example, so that the external device (not shown) can output images and/or voices, the electronic device (100) can transmit signals for specific images and/or voices to the external device through the input/output port (160). In this way, signals for images and/or voices can be transmitted one-way through the input/output port (160). However, this is only an example, and it is obvious that signals for images and/or voices can be transmitted in both directions through the input/output port (160).

통신부(170)는 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 기기와 통신을 수행하여 다양한 유형의 데이터를 송수신할 수 있다. 통신부(170)는 무선 통신을 수행하는 블루투스 칩(미도시), 와이파이 칩(미도시), 무선 통신 칩(미도시) 및 NFC 칩(미도시), 유선 통신을 수행하는 이더넷 모듈(미도시) 및 USB 모듈(미도시) 중 적어도 하나를 포함할 수 있다. 이 경우, 유선 통신을 수행하는 이더넷 모듈(미도시) 및 USB 모듈(미도시)은 입출력포트(160)를 통하여 외부 기기와 통신을 수행할 수 있다.The communication unit (170) can perform communication with various types of external devices according to various types of communication methods, and transmit and receive various types of data. The communication unit (170) can include at least one of a Bluetooth chip (not shown), a Wi-Fi chip (not shown), a wireless communication chip (not shown), and an NFC chip (not shown) that perform wireless communication, and an Ethernet module (not shown) and a USB module (not shown) that perform wired communication. In this case, the Ethernet module (not shown) and the USB module (not shown) that perform wired communication can perform communication with an external device through an input/output port (160).

스피커(180)는 오디오 처리부(미도시)에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 직접 소리로 출력할 수 있으며, 전자 장치(100)에 내장된 형태로 구현되거나 별도의 외부 장치로 구현될 수 있다. 스피커(180)가 외부 장치로 구현된 경우, 전자 장치(100)는 입출력 포트(160) 또는 통신부(170)를 통해 연결된 스피커(180)로 소리를 출력하기 위한 데이터를 전송할 수 있다. 여기서, 스피커(180)는 특정한 위치 또는 영역에 대해서만 소리를 전달하는 지향성 스피커로 구현될 수 있다. The speaker (180) can directly output various audio data, such as decoding, amplification, and noise filtering, as well as various notification sounds or voice messages, as sound by an audio processing unit (not shown), and can be implemented in a form built into the electronic device (100) or implemented as a separate external device. When the speaker (180) is implemented as an external device, the electronic device (100) can transmit data for outputting sound to the connected speaker (180) through an input/output port (160) or a communication unit (170). Here, the speaker (180) can be implemented as a directional speaker that transmits sound only to a specific location or area.

입력 인터페이스(190)는 다양한 사용자 입력을 수신하여 프로세서(140)로 전달할 수 있다. 입력 인터페이스(190)는 예를 들면, 터치 패널(미도시), 펜 센서(미도시), 키(미도시) 및 마이크(미도시) 중에서 적어도 하나를 포함할 수 있다. 터치 패널은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있으며, 이를 위해 터치 패널은 제어 회로를 포함할 수도 있다. 터치 패널은 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다. 펜 센서는 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키는 예를 들면, 물리적인 버튼, 광학식 키 또는 키패드를 포함할 수 있다. 마이크는 사용자의 음성을 직접 수신할 수 있으며, 디지털 변환부(미도시)에 의해 아날로그 신호인 사용자의 음성을 디지털로 변환하여 오디오 신호를 획득할 수 있다. 이와 같은 입력 인터페이스(190)는 전자 장치(100)에 내장되거나 키보드, 마우스, 외부 마이크 등과 같은 별도의 외부 장치(미도시)로 구현될 수 있으며, 외부 장치로 구현된 경우에 전자 장치(100)는 입출력 포트(160) 또는 통신부(170)를 통해 연결된 입력 인터페이스(190)로부터 사용자 입력 또는 오디오 신호를 수신할 수 있다.The input interface (190) can receive various user inputs and transmit them to the processor (140). The input interface (190) can include, for example, at least one of a touch panel (not shown), a pen sensor (not shown), a key (not shown), and a microphone (not shown). The touch panel can use, for example, at least one of a capacitive method, a pressure-sensitive method, an infrared method, or an ultrasonic method, and for this purpose, the touch panel can include a control circuit. The touch panel can further include a tactile layer to provide a tactile response to the user. The pen sensor can be, for example, a part of the touch panel or can include a separate recognition sheet. The key can include, for example, a physical button, an optical key, or a keypad. The microphone can directly receive the user's voice, and can convert the user's voice, which is an analog signal, into a digital signal by a digital converter (not shown) to obtain an audio signal. Such an input interface (190) may be built into the electronic device (100) or implemented as a separate external device (not shown) such as a keyboard, mouse, or external microphone. In the case of being implemented as an external device, the electronic device (100) may receive user input or audio signals from the input interface (190) connected through an input/output port (160) or a communication unit (170).

이하에서는 첨부된 도면을 참조하여, 본 개시에 대한 구체적인 내용을 설명하기로 한다.Hereinafter, specific details of the present disclosure will be described with reference to the attached drawings.

도 3은 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 순서도이다.FIG. 3 is a flowchart illustrating the operation of an electronic device according to an embodiment of the present disclosure.

도 3을 참조하여, 전자 장치(100)는 기설정된 사용자 명령이 입력되었는지 여부를 식별할 수 있다(S310). 여기서, 기설정된 사용자 명령이 입력된 것으로 식별된 경우(S310, Y), 전자 장치(100)는 촬영을 통해 복수의 이미지 프레임(예: 복수의 제1 이미지 프레임)을 획득하고, 획득된 복수의 이미지 프레임(예: 복수의 제1 이미지 프레임) 각각에서 복수의 손가락을 검출할 수 있다(S320). Referring to FIG. 3, the electronic device (100) can identify whether a preset user command has been input (S310). Here, if it is identified that a preset user command has been input (S310, Y), the electronic device (100) can acquire a plurality of image frames (e.g., a plurality of first image frames) through shooting, and detect a plurality of fingers in each of the acquired plurality of image frames (e.g., a plurality of first image frames) (S320).

이후, 전자 장치(100)는 복수의 제1 이미지 프레임에서 검출된 복수의 손가락이 트리거 포즈에 대응되는지 여부를 식별할 수 있다(S330). Thereafter, the electronic device (100) can identify whether a plurality of fingers detected in a plurality of first image frames correspond to a trigger pose (S330).

여기서, 복수의 제1 이미지 프레임에서 검출된 복수의 손가락이 트리거 포즈에 대응되는 것으로 식별된 경우(S330, Y), 문자 입력 모드로 진입할 수 있다. 이 경우, 전자 장치(100)는 이후에 획득된 복수의 제2 이미지 프레임에서 복수의 손가락의 모션을 검출할 수 있다(S340). Here, if multiple fingers detected in multiple first image frames are identified as corresponding to the trigger pose (S330, Y), the character input mode can be entered. In this case, the electronic device (100) can detect motions of multiple fingers in multiple second image frames acquired thereafter (S340).

한편 이와 달리, 복수의 제1 이미지 프레임에서 검출된 복수의 손가락이 트리거 포즈에 대응되지 않는 것으로 식별된 경우(S330, N), 전자 장치(100)는 복수의 제1 이미지 프레임 이후에 획득된 복수의 이미지 프레임에서 검출된 복수의 손가락이 트리거 포즈에 대응되는지 여부를 식별할 수 있다(S330).On the other hand, in contrast to this, if multiple fingers detected in multiple first image frames are identified as not corresponding to the trigger pose (S330, N), the electronic device (100) can identify whether multiple fingers detected in multiple image frames acquired after the multiple first image frames correspond to the trigger pose (S330).

그리고, 복수의 제1 이미지 프레임 이후에 획득된 복수의 제2 이미지 프레임에서 복수의 손가락의 모션이 검출된 경우(S340, Y), 전자 장치(100)는 모션에 대응되는 키를 식별할 수 있다(S350). 이 경우, 전자 장치(100)는 식별된 키에 대응되는 정보를 표시할 수 있다(S360). 한편 이와 달리, 복수의 제2 이미지 프레임에서 복수의 손가락의 모션이 검출되지 않는 경우(S340, N), 전자 장치(100)는 복수의 제2 이미지 프레임 이후에 획득된 복수의 이미지 프레임에서 복수의 손가락의 모션을 검출할 수 있다(S340). And, if the motion of multiple fingers is detected in the multiple second image frames acquired after the multiple first image frames (S340, Y), the electronic device (100) can identify a key corresponding to the motion (S350). In this case, the electronic device (100) can display information corresponding to the identified key (S360). On the other hand, on the contrary, if the motion of multiple fingers is not detected in the multiple second image frames (S340, N), the electronic device (100) can detect the motion of multiple fingers in the multiple image frames acquired after the multiple second image frames (S340).

그리고, 전자 장치(100)는 해제 이벤트의 발생 여부를 식별할 수 있다(S370). 전자 장치(100)는 해제 이벤트가 발생한 것으로 식별되면(S370, Y), 문자 입력 모드를 해제할 수 있다. 즉, 손가락의 모션을 검출하여 모션에 대응되는 키로 식별하는 동작을 종료할 수 있다. 이때, 해제 이벤트는 어플리케이션이 종료되는 이벤트, 복수의 이미지 프레임에서 사용자의 손이 기설정된 시간(예: 15초, 30초, 1분 등) 동안 검출되지 않는 이벤트 등을 포함할 수 있다. 이와 달리, 전자 장치(100)는 해제 이벤트가 발생하지 않은 것으로 식별되면(S370, N), 이후에 획득된 복수의 이미지 프레임에서 복수의 손가락의 모션을 검출하는 동작(S340)을 반복하여 수행할 수 있다. And, the electronic device (100) can identify whether a release event has occurred (S370). If the electronic device (100) identifies that a release event has occurred (S370, Y), it can release the character input mode. That is, it can terminate an operation of detecting a motion of a finger and identifying it as a key corresponding to the motion. At this time, the release event may include an event in which an application is terminated, an event in which a user's hand is not detected for a preset time (e.g., 15 seconds, 30 seconds, 1 minute, etc.) in a plurality of image frames, etc. In contrast, if the electronic device (100) identifies that a release event has not occurred (S370, N), it can repeatedly perform an operation (S340) of detecting motions of a plurality of fingers in a plurality of image frames acquired thereafter.

이에 따라, 본 개시의 전자 장치(100)는 트리거 포즈를 취한 것으로 검출되는 경우에만 손가락의 모션을 특정한 키의 입력으로 인식한다는 점에서, 사용자가 모션을 통해 키를 입력하려는 의도가 없는 상황에서 사용자의 모션을 검출하는 동작하는 것을 방지하고, 또한 전력 절감의 효과가 있다. Accordingly, the electronic device (100) of the present disclosure recognizes the motion of a finger as an input of a specific key only when it is detected that a trigger pose has been taken, thereby preventing an operation of detecting a user's motion in a situation where the user does not intend to input a key through the motion, and also has the effect of saving power.

이하에서는 첨부된 도면을 참조하여, 도 3의 각 동작에 대한 구체적인 내용을 설명하기로 한다. Below, with reference to the attached drawings, the specific details of each operation of Fig. 3 will be described.

도 4a 및 도 4b를 참조하여, 프로세서(140)는 기설정된 사용자 명령이 입력되면(S310, Y), 카메라(110)를 활성화시킬 수 있다. Referring to FIGS. 4a and 4b, the processor (140) can activate the camera (110) when a preset user command is input (S310, Y).

여기에서, 기설정된 사용자 명령은 도 4a에 도시된 바와 같이 디스플레이(120)에 표시된 텍스트 입력 창(410)을 선택하는 사용자 명령 또는 텍스트 입력이 가능한 문서를 디스플레이(120)에 표시하기 위한 사용자 명령을 포함할 수 있다. 이때, 텍스트 입력 창(410)은 문자, 숫자 또는 기호 등과 같은 텍스트가 입력되거나 삭제될 수 있는 필드(field)로서, 입력된 텍스트는 디스플레이(120)의 텍스트 입력 창(410)에 표시될 수 있다. 또한, 텍스트 입력이 가능한 문서는 이메일, 워드 프로세서, 메모장, 일정, 달력, 웹페이지 등 다양한 형태의 문서를 포함할 수 있다. 또한, 사용자 명령은 사용자의 터치, 사용자의 음성, 사용자의 제스쳐, 물리 버튼의 선택, 마우스 클릭 등과 같은 다양한 입력 방식으로 구현될 수 있다. Here, the preset user command may include a user command for selecting a text input window (410) displayed on the display (120) as illustrated in FIG. 4A, or a user command for displaying a document capable of text input on the display (120). At this time, the text input window (410) is a field in which text such as letters, numbers, or symbols can be entered or deleted, and the entered text can be displayed on the text input window (410) of the display (120). In addition, the document capable of text input may include various forms of documents such as e-mail, word processor, notepad, schedule, calendar, and web page. In addition, the user command may be implemented in various input methods such as a user's touch, a user's voice, a user's gesture, selection of a physical button, a mouse click, and the like.

한편, 카메라(110)의 활성화는 카메라(110)가 촬영 영역을 촬영하도록 구동하는 상태를 지칭할 수 있다. Meanwhile, activation of the camera (110) may refer to a state in which the camera (110) is driven to capture a shooting area.

예를 들어, 도 4a와 같이 전자 장치(100)의 디스플레이(120)에 표시된 텍스트 입력 창(410)을 선택하는 사용자 명령이 입력되면, 도 4b와 같이 프로세서(140)는 카메라(110)를 활성화시켜, 촬영 영역 내에 존재(또는 위치)하는 사용자의 손(10L, 10R)을 연속적으로 촬영하도록 카메라(110)를 제어할 수 있다. 이때, 도 4b에서는 전자 장치(100) 및 사용자의 손(10L, 10R) 사이의 거리는 20cm인 것으로 도시하고 있으나, 이는 사용자의 손(10L, 10R)이 촬영 영역 내에 존재하는 것을 나타내기 위한 것일 뿐, 이에 한정되지 아니한다.For example, when a user command to select a text input window (410) displayed on the display (120) of the electronic device (100) as shown in FIG. 4a is input, the processor (140) can activate the camera (110) as shown in FIG. 4b to control the camera (110) to continuously capture the user's hands (10L, 10R) existing (or positioned) within the capture area. At this time, FIG. 4b illustrates that the distance between the electronic device (100) and the user's hands (10L, 10R) is 20 cm, but this is only to indicate that the user's hands (10L, 10R) exist within the capture area, and is not limited thereto.

도 4b 및 도 4c를 참조하여, 이 경우, 프로세서(140)는 활성화된 카메라(110)를 통해 촬영 영역 내에 존재(또는 위치)하는 사용자의 손(10L, 10R)을 촬영하여, 복수의 이미지 프레임(430)을 획득할 수 있다. 이때, 복수의 이미지 프레임(430)은 사용자의 손(10L', 10R')이 포함될 수 있다.Referring to FIGS. 4B and 4C, in this case, the processor (140) may capture a user's hand (10L, 10R) existing (or positioned) within the shooting area through the activated camera (110) to obtain a plurality of image frames (430). At this time, the plurality of image frames (430) may include the user's hand (10L', 10R').

한편, 카메라(110)를 통해 획득된 이미지 프레임(430)은 좌우가 반전될 수 있다. 이는, 카메라(110)가 사용자의 왼손(10L)을 촬영한 경우, 도 4c와 같이 카메라(110)를 통해 획득된 이미지 프레임(430)에서 사용자의 왼손(10L')은 카메라(110)를 기준으로 우측에 위치하기 때문이다. 다만, 이는 일 실시 예일 뿐, 거울과 같이 이미지 프레임의 좌우가 반전되지 않도록 이미지 프레임을 처리하는 것 또한 가능하다. 이하에서는 설명의 편의를 위해 카메라(110)를 통해 획득된 이미지 프레임(430)에서는 좌우가 반전되는 상태인 것으로 가정하여 설명하도록 한다.Meanwhile, the image frame (430) acquired through the camera (110) may be inverted left and right. This is because, when the camera (110) captures the user's left hand (10L), the user's left hand (10L') is located on the right side of the camera (110) in the image frame (430) acquired through the camera (110), as shown in FIG. 4c. However, this is only an example, and it is also possible to process the image frame so that the left and right of the image frame are not inverted like a mirror. For the convenience of explanation, the following explanation will be given assuming that the left and right are inverted in the image frame (430) acquired through the camera (110).

한편, 프로세서(140)는 획득된 복수의 이미지 프레임 각각에서 복수의 손가락을 검출할 수 있다(S320). 이는 카메라(110)의 촬영 영역 또는 센서(150)의 감지 영역 내에 사용자의 손(10L, 10R)이 존재(또는 위치)하는지 확인하기 위함이다. 한편, 이미지 프레임에서 복수의 손가락을 검출하는 내용은 본 개시에서 설명하는 다른 이미지 프레임에도 동일하게 적용될 수 있다. Meanwhile, the processor (140) can detect multiple fingers in each of the acquired multiple image frames (S320). This is to confirm whether the user's hand (10L, 10R) exists (or is located) within the shooting area of the camera (110) or the detection area of the sensor (150). Meanwhile, the content of detecting multiple fingers in the image frame can be equally applied to other image frames described in the present disclosure.

이를 위해, 도 4c를 참조하면 프로세서(140)는 이미지 프레임(430)에 포함된 적어도 하나의 객체로부터 사용자의 손(10L', 10R')(또는 손가락)을 검출할 수 있다. 이때, 실시간 컴퓨터 비전을 분석하기 위한 프로그래밍 라이브러리(예: OpenCV, Python 등), Sobel 필터 또는 Fuzzy 필터 등의 다양한 색상 필터 또는 캐니 에지 검출(Canny Edge Detection), 색채기반, 템플릿 기반, 배경 차분화 방법 등의 다양한 알고리즘 등이 이용될 수 있다. To this end, referring to FIG. 4c, the processor (140) can detect the user's hand (10L', 10R') (or finger) from at least one object included in the image frame (430). At this time, a programming library for analyzing real-time computer vision (e.g., OpenCV, Python, etc.), various color filters such as a Sobel filter or a Fuzzy filter, or various algorithms such as Canny Edge Detection, color-based, template-based, and background subtraction methods, etc. can be used.

예를 들어, 프로세서(140)는 이미지 프레임(430)에 포함된 복수의 픽셀의 색상을 이진화(binarization)하는 전처리를 수행하고, 각 픽셀의 이진화된 색상(또는 명암)에 기초하여 유사한 색상을 갖는 인접한 픽셀들을 묶어(또는 그룹화하여) 객체로서 식별하고, 식별된 객체 중에서 손(또는 손가락)과 유사한 비율 및 굴곡을 갖는 객체를 사용자의 손(10L', 10R')(또는 손가락)으로 검출할 수 있다. 다만, 이는 일 실시 예일 뿐이며, 다양하게 변형되어 실시 될 수 있다.For example, the processor (140) performs preprocessing to binarize the colors of a plurality of pixels included in the image frame (430), and identifies adjacent pixels having similar colors as objects by grouping them based on the binarized color (or brightness) of each pixel, and detects an object having a similar proportion and curvature to a hand (or finger) among the identified objects as the user's hand (10L', 10R') (or finger). However, this is only one embodiment and may be implemented in various modified forms.

여기에서, 프로세서(140)는 이미지 프레임(430)에서 사용자의 손(10L', 10R')(또는 손가락)이 검출되지 않는 경우, 사용자의 손(10L', 10R')이 검출되지 않는 상태인 것을 사용자에게 알리기 위한 알림 정보를 제공할 수 있다. 이때, 알림 정보는 텍스트, 이미지 등과 같은 시각 정보, 음성, 알림음 등과 같은 소리 정보, 진동 등과 같은 촉각 정보 등의 유형으로 제공될 수 있다. Here, the processor (140) may provide notification information to inform the user that the user's hand (10L', 10R') is not detected when the user's hand (10L', 10R') (or finger) is not detected in the image frame (430). At this time, the notification information may be provided in the form of visual information such as text, an image, etc., sound information such as voice, a notification sound, etc., tactile information such as vibration, etc.

이와 달리, 도 4c 및 도 4d를 참조하여, 프로세서(140)는 이미지 프레임(430)에서 사용자의 손(10L', 10R')이 검출되는 경우, 사용자의 손(10L', 10R')에서 복수의 특징점(450)을 식별할 수 있다. In contrast, referring to FIGS. 4c and 4d , when the user's hand (10L', 10R') is detected in the image frame (430), the processor (140) can identify a plurality of feature points (450) in the user's hand (10L', 10R').

여기서, 복수의 특징점(keypoint)(450)은 이미지 프레임(430)에서 사용자의 손의 위치(또는 모션)를 식별(또는 인식)하기 위한 지점을 지칭할 수 있다. Here, a plurality of keypoints (450) may refer to points for identifying (or recognizing) the position (or motion) of the user's hand in the image frame (430).

예를 들어, 복수의 특징점(450)은 사용자의 손가락의 끝 부분 또는 손가락의 적어도 하나의 관절에 대응되는 지점을 지칭할 수 있다. 복수의 특징점(450)은 손가락의 종류에 대한 정보(예: 왼손 또는 오른손의 엄지 내지 소지)를 포함할 수 있으며, 손가락의 종류에 따라 그룹화될 수 있다. 이 경우, 복수의 특징점(450)은 손가락의 종류에 따라 그룹화된 엄지에 대한 복수의 제1 특징점(451), 검지에 대한 복수의 제2 특징점(452), 중지에 대한 복수의 제3 특징점(453), 약지에 대한 복수의 제4 특징점(454), 소지에 대한 복수의 제5 특징점(455)을 포함할 수 있다. 여기서, 엄지에 대한 복수의 제1 특징점(451)은 엄지의 끝 부분에 대한 특징점(451-1), 엄지의 제1관절에 대한 특징점(451-2), 엄지의 제2관절에 대한 특징점(451-3), 엄지의 제3관절에 대한 특징점(451-4)을 포함할 수 있다. 다른 손가락에 대한 특징점의 경우, 이와 동일한 방식으로 손가락의 끝 부분 및 손가락의 적어도 하나의 관절에 대한 특징점을 포함할 수 있다.For example, the plurality of feature points (450) may refer to points corresponding to the tip of a user's finger or at least one joint of a finger. The plurality of feature points (450) may include information about the type of finger (e.g., the thumb or little finger of the left or right hand) and may be grouped according to the type of finger. In this case, the plurality of feature points (450) may include a plurality of first feature points (451) for the thumb, a plurality of second feature points (452) for the index finger, a plurality of third feature points (453) for the middle finger, a plurality of fourth feature points (454) for the ring finger, and a plurality of fifth feature points (455) for the little finger, grouped according to the type of finger. Here, the plurality of first feature points (451) for the thumb may include a feature point (451-1) for the tip of the thumb, a feature point (451-2) for the first joint of the thumb, a feature point (451-3) for the second joint of the thumb, and a feature point (451-4) for the third joint of the thumb. For the feature points for other fingers, feature points for the tip of the fingers and at least one joint of the fingers may be included in the same manner.

한편, 프로세서(140)는 이미지 프레임(430)에서 사용자의 손(10L', 10R')이 검출되는 경우, 손가락의 골격 정보에 기초하여 사용자의 손(10L', 10R')에서 복수의 특징점(450)을 식별할 수 있다. 이때, 손가락의 골격 정보는 손가락의 길이(또는 비율) 및 손가락의 관절의 위치를 포함할 수 있으며, 손가락의 골격 정보는 메모리(130)에 기저장될 수 있다. 또는 프로세서(140)는 실시간 컴퓨터 비전을 분석하기 위한 프로그래밍 라이브러리(예: OpenCV, Python 등) 또는 다양한 알고리즘을 통해 사용자의 손(10L', 10R')에서 복수의 특징점(450)을 식별할 수도 있다.Meanwhile, when the user's hand (10L', 10R') is detected in the image frame (430), the processor (140) can identify a plurality of feature points (450) in the user's hand (10L', 10R') based on the skeletal information of the finger. At this time, the skeletal information of the finger may include the length (or ratio) of the finger and the position of the joint of the finger, and the skeletal information of the finger may be stored in the memory (130). Alternatively, the processor (140) may identify a plurality of feature points (450) in the user's hand (10L', 10R') through a programming library (e.g., OpenCV, Python, etc.) for analyzing real-time computer vision or various algorithms.

한편, 도 4e와 같이 프로세서(140)는 이미지 프레임(460)에서 식별된 복수의 특징점(470)의 위치 정보(예: x, y)에 복수의 특징점(470)의 깊이 정보(예: z)를 결합하여, 복수의 특징점(470)을 3차원 공간(480) 상에 매핑할 수 있다. 이에 따라, 3차원 공간(480) 상에 매핑된 복수의 특징점(490)은 3차원의 위치 정보(예: x, y, z)를 포함할 수 있다. 여기서, 위치 정보는 이미지 프레임(460)에서 가로 방향의 축(예: x축)의 위치 및 이미지 프레임(460)에서 세로 방향의 축(예: y축) 상의 위치를 포함할 수 있다. 즉, 위치 정보는 2차원 평면으로 나타날 수 있는 이미지 프레임(460) 상의 가로 방향의 위치(예: x) 및 세로 방향의 위치(예: y)를 포함할 수 있다. 깊이 정보는 전자 장치(100)와 객체(예: 사용자의 손(10L, 10R)) 사이의 깊이(또는 거리)를 나타내는 축 상의 위치를 포함하며, 예를 들어 깊이 정보는 이미지 프레임(460)에서 수직인 축(예: x축 및 y축에 서로 수직인 z축) 상의 위치(예: z)가 될 수 있다. 다만 이는 일 실시 예일 뿐 다양한 변형 실시 예가 가능하다.Meanwhile, as shown in FIG. 4e, the processor (140) may combine the depth information (e.g., z) of the plurality of feature points (470) identified in the image frame (460) with the location information (e.g., x, y) of the plurality of feature points (470) to map the plurality of feature points (470) onto a three-dimensional space (480). Accordingly, the plurality of feature points (490) mapped onto the three-dimensional space (480) may include three-dimensional location information (e.g., x, y, z). Here, the location information may include a location on a horizontal axis (e.g., x-axis) in the image frame (460) and a location on a vertical axis (e.g., y-axis) in the image frame (460). That is, the location information may include a horizontal location (e.g., x) and a vertical location (e.g., y) on the image frame (460) that may appear as a two-dimensional plane. Depth information includes a position on an axis that represents the depth (or distance) between the electronic device (100) and an object (e.g., the user's hand (10L, 10R)). For example, the depth information may be a position (e.g., z) on a vertical axis (e.g., z-axis that is perpendicular to the x-axis and y-axis) in the image frame (460). However, this is only one embodiment and various modified embodiments are possible.

이때, 복수의 특징점(490)은 사용자의 손(또는 손가락)에 대응될 수 있으며, 손가락의 종류에 대한 정보(예: 왼손 또는 오른손의 엄지 내지 소지) 및 위치 정보(예: P(x, y, z))가 포함될 수 있다. 한편, 프로세서(140)는 복수의 특징점(490)을 각 손가락에 대한 특징점을 서로 연결하여 손(또는 손가락)의 형상(또는 모션)을 나타내는 스켈레톤을 생성할 수 있다. 이 경우 프로세서(140)는 스켈레톤에서 서로 연결된 특징점 사이의 각도를 통해 손가락의 굽힘 정도를 판단할 수 있으며, 복수의 특징점의 위치를 통해 손가락의 위치를 판단할 수 있다. At this time, the plurality of feature points (490) may correspond to the user's hand (or fingers) and may include information on the type of finger (e.g., the thumb or little finger of the left or right hand) and location information (e.g., P(x, y, z)). Meanwhile, the processor (140) may generate a skeleton representing the shape (or motion) of the hand (or fingers) by connecting the feature points for each finger of the plurality of feature points (490). In this case, the processor (140) may determine the degree of bending of the finger through the angle between the feature points connected to each other in the skeleton, and may determine the position of the finger through the positions of the plurality of feature points.

한편, 도 4c 내지 도 4e를 참조하여, 프로세서(140)는 이미지 프레임(430)에서 사용자의 손(10L', 10R')이 검출된 영역(440, 460)을 관심 영역(Region Of Interest; ROI)으로 식별할 수 있다. 이 경우, 프로세서(140)는 관심 영역(440, 460)에서 복수의 특징점(450, 470)을 식별할 수 있다. Meanwhile, referring to FIGS. 4C to 4E, the processor (140) can identify an area (440, 460) in which the user's hand (10L', 10R') is detected in the image frame (430) as a region of interest (ROI). In this case, the processor (140) can identify a plurality of feature points (450, 470) in the region of interest (440, 460).

이에 따라, 프로세서(140)는 복수의 특징점(490)의 위치(또는 위치 변화)에 기초하여 사용자의 손가락의 위치(또는 모션)을 식별(또는 인식)할 수 있다. 예를 들어, 프로세서(140)는 복수의 특징점(490)에 포함된 손가락(예: 엄지 내지 소지)에 대한 특징점의 위치를 사용자의 손가락(예: 엄지 내지 소지)에 대한 손가락 끝 부분의 위치 및 관절의 위치로 식별할 수 있다. Accordingly, the processor (140) can identify (or recognize) the position (or motion) of the user's finger based on the positions (or changes in positions) of the plurality of feature points (490). For example, the processor (140) can identify the positions of feature points for a finger (e.g., thumb or little finger) included in the plurality of feature points (490) as the positions of the fingertips and joints of the user's finger (e.g., thumb or little finger).

여기에서, 프로세서(140)는 복수의 특징점 중 서로 연결된 특징점 사이의 각도에 따라, 사용자의 손가락과 전자 장치(100)의 거리를 식별할 수 있다. 즉, 프로세서(140)는 복수의 특징점 중 서로 연결된 특징점 사이의 각도가 크면(손가락의 굽힘 정도가 낮으면), 사용자의 손가락과 전자 장치(100)의 거리가 가까운 것으로 식별하고, 복수의 특징점 중 서로 연결된 특징점 사이의 각도가 작으면(손가락의 굽힘 정도가 크면), 사용자의 손가락과 전자 장치(100)의 거리가 먼 것으로 식별할 수 있다. Here, the processor (140) can identify the distance between the user's finger and the electronic device (100) based on the angle between the interconnected feature points among the plurality of feature points. That is, if the angle between the interconnected feature points among the plurality of feature points is large (if the degree of bending of the finger is low), the processor (140) can identify that the distance between the user's finger and the electronic device (100) is close, and if the angle between the interconnected feature points among the plurality of feature points is small (if the degree of bending of the finger is large), the processor (140) can identify that the distance between the user's finger and the electronic device (100) is far.

도 5a 내지 도 5d는 본 개시의 일 실시 예에 따른 트리거 포즈를 설명하기 위한 도면이다.FIGS. 5A to 5D are drawings for explaining trigger poses according to one embodiment of the present disclosure.

도 3 및 도 5a를 참조하여, 프로세서(140)는 복수의 이미지 프레임(510, 530)에서 검출된 복수의 손가락이 트리거 포즈에 대응되는지 여부를 식별할 수 있다(S330). 여기서, 복수의 이미지 프레임(510, 530)은 복수의 제2 이미지 프레임 이전에 획득된 복수의 제1 이미지 프레임일 수 있다. Referring to FIG. 3 and FIG. 5A, the processor (140) can identify whether a plurality of fingers detected in a plurality of image frames (510, 530) correspond to a trigger pose (S330). Here, the plurality of image frames (510, 530) may be a plurality of first image frames acquired before a plurality of second image frames.

구체적으로, 프로세서(140)는 복수의 이미지 프레임(510, 530)에서 검출된 각 특징점의 위치(또는 관절의 회전 정도)에 따라 식별되는 복수의 손가락이 트리거 포즈에 대응되는지 여부를 식별할 수 있다. Specifically, the processor (140) can identify whether a plurality of fingers correspond to a trigger pose based on the positions (or degrees of rotation of joints) of each feature point detected in a plurality of image frames (510, 530).

이는, 복수의 이미지 프레임에서 사용자의 복수의 손가락이 트리거 포즈(trigger pose)(또는 initial pose)를 취하는 것으로 검출된 경우에 손가락의 모션을 검출하는 동작을 시작(또는 준비)하도록 하기 위한 것이다. 이때, 트리거 포즈는 복수의 손가락의 특정한 포즈로 설정할 수 있다. 한편, 트리거 포즈는 최초로 설정된 이후에도 사용자에 의해 추가되거나 변경 또는 삭제될 수 있으며, 사용자마다 다르게 설정될 수도 있다.This is to start (or prepare) an operation of detecting finger motion when multiple fingers of the user are detected to take a trigger pose (or initial pose) in multiple image frames. At this time, the trigger pose can be set to a specific pose of multiple fingers. Meanwhile, the trigger pose can be added, changed, or deleted by the user even after it is initially set, and can be set differently for each user.

예를 들어, 트리거 포즈는 도 5a의 (a)와 같이 사용자의 왼손(520L) 및 오른손(520R)의 손가락의 끝 부분(521 내지 525 등)이 특정한 평면 상에서 제1 기설정된 거리(또는 높이) 이상(예: 바닥면에서 1cm 이상) 이격된 제1 상태에서, 도 5a의 (b)와 같이 사용자의 왼손(540L) 및 오른손(540R)의 손가락의 끝 부분(541 내지 545 등)이 특정한 평면 상에서 제2 기설정된 거리 미만(예: 바닥면을 기준으로 손가락의 높이가 0 이상 0.2cm 미만) 이격된 제2 상태로 변경되는 것으로 설정될 수 있으나, 이는 일 실시 예일 뿐 다양하게 변형될 수 있다. 여기서, 바닥면을 기준으로 손가락의 높이가 0인 경우는 바닥면에 손가락이 놓여진 상태 또는 바닥면에 손가락이 접촉된 상태를 의미할 수 있다.For example, the trigger pose may be set to change from a first state in which the tips of the fingers (such as 521 to 525) of the user's left hand (520L) and right hand (520R) are spaced apart from a first preset distance (or height) or more (e.g., 1 cm or more from the floor) on a specific plane, as shown in (a) of Fig. 5a, to a second state in which the tips of the fingers (such as 541 to 545) of the user's left hand (540L) and right hand (540R) are spaced apart from a second preset distance or more (e.g., the height of the fingers is 0 or more and less than 0.2 cm from the floor) on a specific plane, as shown in (b) of Fig. 5a, but this is only one embodiment and may be modified in various ways. Here, when the height of the fingers is 0 with respect to the floor, it may mean a state in which the fingers are placed on the floor or a state in which the fingers are in contact with the floor.

여기서, 도 5b를 참조하여, 프로세서(140)는 도 5a의 (a)와 같이 복수의 이미지 프레임(510)에서 검출된 복수의 손가락의 끝 부분(521 내지 525)을 3차원 공간 평면(550) 상의 특징점(521' 내지 525')으로 식별할 수 있다. 또한, 프로세서(140)는 도 5a의 (b)와 같이 복수의 이미지 프레임(530)에서 검출된 복수의 손가락의 끝 부분(541 내지 545)을 3차원 공간 평면(550) 상의 특징점(541' 내지 545')으로 식별할 수 있다.Here, with reference to FIG. 5b, the processor (140) can identify the tip portions (521 to 525) of a plurality of fingers detected in a plurality of image frames (510) as feature points (521' to 525') on a three-dimensional space plane (550) as in (a) of FIG. 5a. In addition, the processor (140) can identify the tip portions (541 to 545) of a plurality of fingers detected in a plurality of image frames (530) as feature points (541' to 545') on a three-dimensional space plane (550) as in (b) of FIG. 5a.

이 경우, 프로세서(140)는 3차원 공간 평면(550) 상의 특징점이 특정한 평면 상에서 이격된 거리를 식별할 수 있다. 여기서, 특정한 평면은 xz평면(예: y가 0인 경우의 xz평면 등)이며, 특징점이 이격된 거리는 특징점과 xz평면 사이의 거리(또는 높이)를 지칭할 수 있다. In this case, the processor (140) can identify the distance at which the feature point on the three-dimensional space plane (550) is spaced apart on a specific plane. Here, the specific plane is an xz plane (e.g., an xz plane when y is 0), and the distance at which the feature point is spaced apart can refer to the distance (or height) between the feature point and the xz plane.

다만 이는 일 실시 예일 뿐, 다양하게 변형되어 실시될 수 있다. 예를 들어, 프로세서(140)는 각 특징점의 위치(또는 관절의 회전 정도)에 따라 식별되는 복수의 손가락의 포즈 및 트리거 포즈 간 유사한 정도를 나타내는 유사도를 판단하여, 유사도가 기설정된 값 이상인 경우(특정한 포즈와 동일하거나 유사한 경우) 복수의 손가락이 트리거 포즈에 대응되는 것으로 식별할 수 있다. However, this is only one embodiment and can be implemented in various modified forms. For example, the processor (140) determines the degree of similarity between the poses of multiple fingers identified based on the positions of each feature point (or the degree of rotation of the joint) and the trigger pose, and if the degree of similarity is greater than a preset value (if it is identical to or similar to a specific pose), the multiple fingers can be identified as corresponding to the trigger pose.

이하에서는, 복수의 이미지 프레임(복수의 제1 이미지 프레임)(510, 530)에서 검출된 복수의 손가락이 트리거 포즈에 대응되는 것으로 식별된 경우를 가정하기로 한다(S330, Y). In the following, it is assumed that multiple fingers detected in multiple image frames (multiple first image frames) (510, 530) are identified as corresponding to a trigger pose (S330, Y).

일 실시 예로서, 프로세서(140)는 복수의 제1 이미지 프레임(510, 530)에서 검출된 복수의 손가락이 트리거 포즈에 대응되는 것으로 식별되면, 가상의 키보드를 디스플레이(120)에 표시할 수 있다. 이는 사용자가 입력하기 위한 키의 배열을 시각적으로 제공하여 사용자의 정확한 모션을 유도하기 위함이다.As an example, the processor (140) may display a virtual keyboard on the display (120) when multiple fingers detected in multiple first image frames (510, 530) are identified as corresponding to trigger poses. This is to visually provide the arrangement of keys for input by the user and induce accurate motions by the user.

예를 들어, 도 5c를 참조하면, 프로세서(140)는 가상의 키보드(650)가 표시되도록 디스플레이(120)를 제어할 수 있다. 여기서, 가상의 키보드(650)는 손가락에 매핑된 키의 배열을 갖는 키보드일 수 있으나, 이에 한정되지 아니하고 쿼티(QWERTY) 키보드, 천지인 키보드, 모아키 키보드 등 다양한 자판 배열을 갖는 키보드가 될 수 있으며, 입력 인터페이스(190)를 통한 사용자의 입력에 따라 프로세서(140)는 가상 키보드(650)의 자판 배열을 변경할 수 있다.For example, referring to FIG. 5c, the processor (140) may control the display (120) to display a virtual keyboard (650). Here, the virtual keyboard (650) may be a keyboard having an arrangement of keys mapped to fingers, but is not limited thereto and may be a keyboard having various keyboard arrangements such as a QWERTY keyboard, a Cheonjiin keyboard, a Moaki keyboard, etc., and the processor (140) may change the keyboard arrangement of the virtual keyboard (650) according to a user's input through the input interface (190).

또한, 프로세서(140)는 가상의 키보드(650)가 디스플레이(120)의 하단, 중단, 상단 등 다양한 위치에서 표시되도록 디스플레이(120)를 제어할 수 있으며, 입력 인터페이스(190)를 통한 사용자의 입력에 따라 가상의 키보드(650)가 표시되는 위치가 변경될 수 있다. In addition, the processor (140) can control the display (120) so that the virtual keyboard (650) is displayed at various locations such as the bottom, middle, and top of the display (120), and the location where the virtual keyboard (650) is displayed can be changed according to the user's input through the input interface (190).

한편, 다른 실시 예로서, 프로세서(140)는 복수의 제1 이미지 프레임(510, 530)에서 검출된 복수의 손가락이 트리거 포즈에 대응되는 것으로 식별되면, 알림 정보를 표시하도록 디스플레이(120)를 제어할 수 있다. 이는 트리거 포즈가 식별되어 사용자의 모션을 검출하고 있는 상태라는 것을 알리기 위한 알림 정보를 사용자에게 제공하여, 키를 입력하려는 사용자의 모션을 유도하기 위함이다.Meanwhile, as another embodiment, the processor (140) may control the display (120) to display notification information when a plurality of fingers detected in a plurality of first image frames (510, 530) are identified as corresponding to a trigger pose. This is to provide notification information to the user to inform that the trigger pose has been identified and that the user's motion is being detected, thereby inducing the user's motion to input a key.

예를 들어, 도 5d를 참조하면, 프로세서(140)는 알림 정보로서 디스플레이의(120)의 특정한 영역(590)(예: 엣지 영역 등)에 비주얼 피드백(visual feedback)(예: 엣지 라이팅(edge lighting))을 표시하도록 디스플레이(120)를 제어할 수 있다. 또는, 프로세서(140)는 알림 정보로서 텍스트 또는 이미지 등을 디스플레이(120)에 표시하거나, 프로세서(140)는 알림 정보로서 디스플레이(120)의 화면 외의 영역에 별도로 구비된 발광부(미도시)(예: LED(Light Emitting Diode) 등)를 통해 빛을 발광 또는 점멸하거나, 프로세서(140)는 알림 정보로서 알림음 또는 음성을 스피커(180)를 통해 출력하도록 제어할 수 있다.For example, referring to FIG. 5d, the processor (140) may control the display (120) to display visual feedback (e.g., edge lighting) in a specific area (590) (e.g., edge area, etc.) of the display (120) as notification information. Alternatively, the processor (140) may display text or an image, etc. on the display (120) as notification information, or the processor (140) may control a light emitting unit (not shown) (e.g., LED (Light Emitting Diode), etc.) separately provided in an area other than the screen of the display (120) to emit or blink light as notification information, or the processor (140) may control a notification sound or voice to be output as notification information through the speaker (180).

그리고, 프로세서(140)는 복수의 제1 이미지 프레임에서 트리거 포즈가 식별된 경우, 이후에 획득된 복수의 제2 이미지 프레임에서 복수의 손가락의 모션을 검출할 수 있다(S340). 여기서, 프로세서(140)는 복수의 제2 이미지 프레임(610)에서 복수의 손가락의 모션이 검출된 경우(S340, Y), 모션에 대응되는 키를 식별할 수 있다(S350). 한편, 모션에 대응되는 키를 식별하는 방법에 대한 구체적인 내용은 도 7 및 도 12에서 후술하여 설명하도록 한다.And, if a trigger pose is identified in a plurality of first image frames, the processor (140) can detect motions of a plurality of fingers in a plurality of second image frames acquired thereafter (S340). Here, if motions of a plurality of fingers are detected in a plurality of second image frames (610) (S340, Y), the processor (140) can identify a key corresponding to the motion (S350). Meanwhile, specific details on a method for identifying a key corresponding to the motion will be described later with reference to FIG. 7 and FIG. 12.

여기에서, 모션은 특정한 키를 입력하기 위한 손가락의 움직임(또는 제스쳐)으로서, 복수의 손가락 중 적어도 하나의 손가락이 특정한 평면 상의 위치(또는 특정한 평면으로부터 기설정된 높이 이내의 위치)로 이동된 상태를 지칭할 수 있다. 예를 들어, 특정한 키를 입력하기 위한 모션은 도 5a의 (a)와 같이 이미지 프레임(510)에서 식별된 왼손(520L) 및 오른손(520R)의 복수의 손가락 모두가 특정한 평면에서 제1 기설정된 거리 이상(예: 바닥면에서 1cm 이상) 이격된 제1 상태에서, 도 6a와 같이 이미지 프레임(610)에서 식별된 왼손(620L) 및 오른손(620R)의 복수의 손가락 중에서 하나의 손가락(왼손(620L)의 약지(634))이 특정한 평면에서 제2 기설정된 거리 미만(예: 바닥면에서 0.2cm 미만) 이격된 제2 상태로 변경되는 모션이 될 수 있다. 여기서, 제2 상태는 사용자의 손가락이 특정한 평면(예: 바닥면) 상에 놓여진 상태 또는 접촉된 상태를 포함할 수 있다. 또한, 특정한 평면은 모션을 판단하기 위한 기준이 되는 평면을 지칭할 수 있으며, 이미지 프레임 내에서 검출된 책상, 테이블 등과 같은 다양한 객체의 표면이나 허공 상의 평면을 포함할 수 있다.Here, the motion may refer to a movement (or gesture) of a finger for inputting a specific key, and may refer to a state in which at least one finger among a plurality of fingers is moved to a position on a specific plane (or a position within a preset height from a specific plane). For example, the motion for inputting a specific key may be a motion in which, as in (a) of FIG. 5A, all of the plurality of fingers of the left hand (520L) and the right hand (520R) identified in the image frame (510) are spaced apart from a first preset distance or more (e.g., more than 1 cm from the floor) on a specific plane, and changed to a second state in which, as in FIG. 6A, one finger (the ring finger (634) of the left hand (620L)) among the plurality of fingers of the left hand (620L) and the right hand (620R) identified in the image frame (610) is spaced apart from a second preset distance or less (e.g., less than 0.2 cm from the floor) on a specific plane. Here, the second state may include a state in which the user's finger is placed on or in contact with a specific plane (e.g., a floor surface). In addition, the specific plane may refer to a plane that serves as a reference for judging motion, and may include a surface of various objects such as a desk or table detected within an image frame, or a plane in the air.

이를 위해, 복수의 손가락 각각에는 가상의 키보드(650)에 포함된 복수의 키가 매핑될 수 있으며, 메모리(130)에는 복수의 손가락 각각에 매핑되는 복수의 키에 대한 정보가 기저장될 수 있다.To this end, multiple keys included in a virtual keyboard (650) may be mapped to each of a plurality of fingers, and information about multiple keys mapped to each of a plurality of fingers may be stored in the memory (130).

구체적으로, 도 6b를 참조하면 가상의 키보드(650)는 복수의 키를 포함할 수 있다. 가상의 키보드(650)에 포함된 복수의 키는 위치(예: x축상 위치 및 z축상 위치, 또는 행과 열 등)에 따라 그룹화될 수 있다. 이 경우, 손의 종류(예: 왼손(10L) 및 오른손(10R)) 및 손가락의 종류(예: 엄지(631), 검지(632), 중지(633), 약지(634), 소지(635))에 따라 그룹화된 복수의 키가 매핑될 수 있다. Specifically, referring to FIG. 6B, the virtual keyboard (650) may include a plurality of keys. The plurality of keys included in the virtual keyboard (650) may be grouped according to positions (e.g., positions on the x-axis and positions on the z-axis, or rows and columns, etc.). In this case, the plurality of keys may be mapped according to the type of hand (e.g., left hand (10L) and right hand (10R)) and the type of finger (e.g., thumb (631), index finger (632), middle finger (633), ring finger (634), little finger (635)).

여기서, 가상의 키보드(650)는 사용자의 왼손(10L)에 매핑되는 제1 레이아웃(650L) 및 사용자의 오른손(10R)에 매핑되는 제2 레이아웃(650R)을 포함할 수 있다. 이때, 제1 레이아웃(650L)은 가상의 키보드(650)에 포함된 키들 중 좌측에 배열된 복수의 키를 포함하며, 제2 레이아웃(650R)은 가상의 키보드(650)에 포함된 키들 중 우측에 배열된 복수의 키를 포함할 수 있다. Here, the virtual keyboard (650) may include a first layout (650L) mapped to the user's left hand (10L) and a second layout (650R) mapped to the user's right hand (10R). At this time, the first layout (650L) may include a plurality of keys arranged on the left side among the keys included in the virtual keyboard (650), and the second layout (650R) may include a plurality of keys arranged on the right side among the keys included in the virtual keyboard (650).

예를 들어, 도 6b를 참조하여 왼손(10L)에 매핑되는 제1 레이아웃(650L)을 설명하면, 제1 레이아웃(650L)의 제1열의 복수의 키(652)(예: R, F, V, T, G, B 키)는 왼손(10L)의 검지(632)에 매핑되고, 제2열의 복수의 키(653)(예: E, D, C 키)는 왼손(10L)의 중지(633)에 매핑되고, 제3열의 복수의 키(654)(예: W, S, X 키)는 왼손(10L)의 약지(634)에 매핑되고, 제4열의 복수의 키(655)(예: Q, A, Z 키)는 왼손(10L)의 소지(635)에 매핑될 수 있다. 다만, 이는 일 실시 예일 뿐, 다양한 실시 예로 변형될 수 있다. For example, referring to FIG. 6B, a first layout (650L) mapped to the left hand (10L) may be described, wherein a plurality of keys (652) (e.g., R, F, V, T, G, B keys) in a first column of the first layout (650L) may be mapped to an index finger (632) of the left hand (10L), a plurality of keys (653) (e.g., E, D, C keys) in a second column may be mapped to a middle finger (633) of the left hand (10L), a plurality of keys (654) (e.g., W, S, X keys) in a third column may be mapped to a ring finger (634) of the left hand (10L), and a plurality of keys (655) (e.g., Q, A, Z keys) in a fourth column may be mapped to a little finger (635) of the left hand (10L). However, this is only one embodiment and may be modified into various embodiments.

여기서, 손가락에 매핑된 복수의 키는 기준키 및 기준키와 인접한 적어도 2개의 키를 포함할 수 있다. 여기서, 기준키는 손가락의 모션에 대응되는 키를 식별하기 위한 기준이 되는 키를 지칭할 수 있다. 기준키는 가상의 키보드에 포함된 키들 중 손가락이 포함된 손가락의 종류(예: 왼손 또는 오른손의 엄지 내지 소지)에 기초하여 결정(또는 설정)될 수 있다. 즉, 기준키는 각 손가락 당 하나의 키가 설정될 수 있다. Here, the plurality of keys mapped to the fingers may include a reference key and at least two keys adjacent to the reference key. Here, the reference key may refer to a key that serves as a reference for identifying a key corresponding to the motion of the finger. The reference key may be determined (or set) based on the type of finger (e.g., the thumb or little finger of the left or right hand) that the finger is included in among the keys included in the virtual keyboard. That is, one key may be set as the reference key for each finger.

예를 들어, 도 6b를 참조하면 왼손(10L)에 매핑되는 기준키를 설명하면, 검지(632)의 기준키는 검지(632)에 매핑된 제1열의 복수의 키(652) 중 F키로 설정되고, 중지(633)의 기준키는 중지(633)에 매핑된 제2열의 복수의 키(653) 중 D키로 설정되고, 약지(634)의 기준키는 약지(634)에 매핑된 제3열의 복수의 키(654) 중 S키로 설정되고, 소지(635)의 기준키는 소지(635)에 매핑된 제4열의 복수의 키(655) 중 A키로 설정될 수 있다. 다만, 이는 일 실시 예일 뿐, 다양한 실시 예로 변형될 수 있다. For example, referring to FIG. 6B, when describing the reference key mapped to the left hand (10L), the reference key of the index finger (632) may be set to the F key among the plurality of keys (652) in the first row mapped to the index finger (632), the reference key of the middle finger (633) may be set to the D key among the plurality of keys (653) in the second row mapped to the middle finger (633), the reference key of the ring finger (634) may be set to the S key among the plurality of keys (654) in the third row mapped to the ring finger (634), and the reference key of the little finger (635) may be set to the A key among the plurality of keys (655) in the fourth row mapped to the little finger (635). However, this is only one embodiment and may be modified into various embodiments.

한편, 오른손(10R)에는 매핑되는 제2 레이아웃(650R)의 경우 오른손(10R)의 각 손가락에 대해서도 이와 같은 방식으로 복수의 키가 매핑될 수 있다. 한편, 특정한 키의 경우 왼손(10L) 및 오른손(10R)에 중첩적으로 매핑되는 것 또한 가능하며, 예를 들어, 스페이스 바(151)는 왼손(10L)의 엄지(631) 및 오른손(10R)의 엄지에 매핑될 수 있다. 다만, 이는 일 실시 예일 뿐, 다양한 실시 예로 변형될 수 있다. Meanwhile, in the case of the second layout (650R) that is mapped to the right hand (10R), multiple keys can be mapped to each finger of the right hand (10R) in the same manner. Meanwhile, for a specific key, it is also possible to be overlappingly mapped to the left hand (10L) and the right hand (10R), for example, the space bar (151) can be mapped to the thumb (631) of the left hand (10L) and the thumb of the right hand (10R). However, this is only one embodiment, and can be modified into various embodiments.

한편, 가상의 키보드에 포함된 복수의 키는 그 기능에 따라 텍스트 키(예: Q, W, E 등의 문자, 1, 2, 3 등의 숫자, !, @, # 등의 기호 등), 제어 키(예: Ctrl, Alt, Esc 등), 탐색 키(예: 화살표 키, Home, End, Page Up, Page Down, Delete, Insert 등), 기능 키(예: F1, F2, F3 등) 등으로 구성될 수 있으며, 복수의 키 각각에는 대응되는 정보(예: 텍스트, 제어, 탐색, 기능 등)가 기설정될 수 있다.Meanwhile, the plurality of keys included in the virtual keyboard may be configured as text keys (e.g., letters such as Q, W, E, numbers such as 1, 2, 3, symbols such as !, @, #, etc.), control keys (e.g., Ctrl, Alt, Esc, etc.), navigation keys (e.g., arrow keys, Home, End, Page Up, Page Down, Delete, Insert, etc.), function keys (e.g., F1, F2, F3, etc.), etc., depending on their functions, and corresponding information (e.g., text, control, navigation, function, etc.) may be preset for each of the plurality of keys.

그리고, 프로세서(140)는 모션에 대응되는 키가 식별되면, 식별된 키에 대응되는 정보를 표시할 수 있다(S360). 예를 들어, 도 6c를 참조하여 프로세서(140)는 모션에 대응되는 키가 W키인 것으로 식별한 경우, W키에 대응되는 정보인 문자 "W"를 디스플레이(120)의 텍스트 입력창(660)에 표시할 수 있다. And, when a key corresponding to a motion is identified, the processor (140) can display information corresponding to the identified key (S360). For example, referring to FIG. 6c, when the processor (140) identifies that the key corresponding to the motion is the W key, the processor (140) can display the character “W”, which is information corresponding to the W key, in the text input window (660) of the display (120).

일 실시 예에서, 프로세서(140)는 모션에 대응되는 키(예: W키)가 식별되면, 가상의 키보드에 포함된 키들 중 식별된 키를 다른 키와 구별되도록 표시할 수 있다. 구체적인 예를 들어, 도 6c를 참조하여 프로세서(140)는 트리거 포즈가 식별됨에 따라 가상의 키보드(650)가 디스플레이(120)에 표시된 상태에서, 모션에 대응되는 키를 W키로 식별한 경우, 가상의 키보드(650)에서 W키(670)를 다른 키와 구별되도록 비주얼 피드백(예: 링, 도형 등의 비주얼 요소, 확대 또는 축소 효과, 하이라이트 효과 등)을 표시할 수 있다. 나아가, 프로세서(140)는 각 손가락의 현재 위치를 가상의 키보드(650) 상에 표시하도록 디스플레이(120)를 제어할 수도 있다.In one embodiment, when a key (e.g., a W key) corresponding to a motion is identified, the processor (140) may display the identified key among the keys included in the virtual keyboard so as to be distinguished from other keys. For a specific example, referring to FIG. 6C, when the processor (140) identifies the key corresponding to the motion as the W key while the virtual keyboard (650) is displayed on the display (120) as a trigger pose is identified, the processor (140) may display visual feedback (e.g., visual elements such as rings and shapes, zoom in or out effects, highlight effects, etc.) on the virtual keyboard (650) so as to distinguish the W key (670) from other keys. Furthermore, the processor (140) may control the display (120) to display the current position of each finger on the virtual keyboard (650).

한편 다른 실시 예에서, 프로세서(140)는 모션에 대응되는 키(예: W키)가 식별되면, 식별된 키에 대응되는 소리(예: 알림음 또는 음성 등)을 출력하도록 스피커(180)를 제어할 수 있다. 또 다른 실시 예에서, 프로세서(140)는 모션에 대응되는 키(예: W키)가 식별되면, 식별된 키에 대응되는 진동을 발생시킬 수 있다. 이때, 프로세서(140)는 진동을 발생시키기 위해 전자 장치(100)에 구비된 진동 모터, 햅틱 모터 등을 제어하거나, 사용자의 몸에 부착된 웨어러블 장치가 진동하도록 웨어러블 장치와 통신할 수도 있다. Meanwhile, in another embodiment, when a key corresponding to a motion (e.g., a W key) is identified, the processor (140) may control the speaker (180) to output a sound (e.g., a notification sound or a voice, etc.) corresponding to the identified key. In another embodiment, when a key corresponding to a motion (e.g., a W key) is identified, the processor (140) may generate a vibration corresponding to the identified key. At this time, the processor (140) may control a vibration motor, a haptic motor, etc. provided in the electronic device (100) to generate the vibration, or may communicate with a wearable device attached to the user's body to vibrate the wearable device.

이와 같이, 본 개시의 전자 장치(100)는 모션에 대응되는 키가 식별되면, 사용자에게 키 입력에 따른 물리적 또는 인지적 피드백을 제공할 수 있으며, 이에 따라 가상의 인터페이스 환경에서 발생할 수 있는 피드백 문제를 개선할 수 있다. In this way, when a key corresponding to a motion is identified, the electronic device (100) of the present disclosure can provide a user with physical or cognitive feedback according to the key input, thereby improving a feedback problem that may occur in a virtual interface environment.

한편, 프로세서(140)는 모션에 대응되는 키가 디스플레이(120)에 표시된 정보를 삭제하기 위한 삭제 키(예: delete 키 또는 백스페이스 키 등)인 경우, 디스플레이(120)에 표시된 정보(예: W 등)를 삭제하며, 정보를 삭제한 빈도수에 기초하여 가상 키보드(650)의 투명도를 조절할 수 있다. Meanwhile, if the key corresponding to the motion is a delete key (e.g., delete key or backspace key) for deleting information displayed on the display (120), the processor (140) deletes the information (e.g., W) displayed on the display (120), and can adjust the transparency of the virtual keyboard (650) based on the frequency of deleting the information.

예를 들어, 도 6c와 같이 디스플레이(120)의 텍스트 입력창(660)에 정보(예: W 등)가 표시된 상태에서, 모션에 대응되는 키가 디스플레이(120)에 표시된 정보를 삭제하기 위한 백스페이스 키(680)인 것으로 식별된 경우, 프로세서(140)는 도 6d와 같이 텍스트 입력창(660')에 표시된 정보(예: W 등)를 삭제할 수 있다. For example, when information (e.g., W, etc.) is displayed in a text input window (660) of a display (120) as in FIG. 6c, if the key corresponding to the motion is identified as a backspace key (680) for deleting the information displayed on the display (120), the processor (140) can delete the information (e.g., W, etc.) displayed in the text input window (660') as in FIG. 6d.

여기서, 프로세서(140)는 도 6d와 같이 정보를 삭제한 빈도수에 기초하여, 가상 키보드(650)의 투명도를 조절할 수 있다. Here, the processor (140) can adjust the transparency of the virtual keyboard (650) based on the frequency of deleting information, as shown in FIG. 6d.

여기에서, 가상 키보드(650)의 투명도는 가상 키보드(650)가 투명하게 표시되는 레벨(정도)을 지칭할 수 있으며, 가상의 키보드(650)는 투명도에 비례하는 레벨로 투명하게 디스플레이(120)에 표시될 수 있다. 예를 들어, 투명도가 최대값(예: 100)인 경우 가상의 키보드(650)는 완전히 투명하게 디스플레이(120)에 표시되며, 투명도가 최소값(예: 0)인 경우 가상의 키보드(650)는 완전히 불투명하게 디스플레이(120)에 표시될 수 있다.Here, the transparency of the virtual keyboard (650) may refer to the level (degree) at which the virtual keyboard (650) is displayed transparently, and the virtual keyboard (650) may be displayed transparently on the display (120) at a level proportional to the transparency. For example, when the transparency is the maximum value (e.g., 100), the virtual keyboard (650) may be displayed completely transparently on the display (120), and when the transparency is the minimum value (e.g., 0), the virtual keyboard (650) may be displayed completely opaquely on the display (120).

또한, 정보를 삭제한 빈도수는, 모션에 대응되는 키가 디스플레이(120)에 표시된 정보를 삭제하기 위한 삭제 키로 식별된 횟수를 지칭할 수 있다. 여기서, 정보를 삭제한 빈도수가 높을수록 오타율이 높은 것을 의미할 수 있다.Additionally, the frequency of deleting information may refer to the number of times a key corresponding to a motion is identified as a delete key for deleting information displayed on the display (120). Here, a higher frequency of deleting information may mean a higher typo rate.

구체적으로, 프로세서(140)는 정보를 삭제한 빈도수와 반비례하여 가상 키보드(650)의 투명도를 조절할 수 있다. 예를 들어, 프로세서(140)는 정보를 삭제한 빈도수가 높아질수록 키보드(650)의 시인성을 향상시키기 위해 가상 키보드(650)의 투명도가 감소되도록 조절할 수 있다. 이와 달리, 프로세서(140)는 정보를 삭제한 빈도수가 낮아질수록 정보의 시인성을 향상시키기 위해 가상 키보드(650)의 투명도가 증가되도록 조절할 수 있다. 일 실시 예로서, 정보를 삭제한 빈도수는 기설정된 시간 동안 기설정된 시간 동안 정보를 삭제한 횟수를 포함할 수 있다. 여기서, 기설정된 시간은 초, 분, 시간, 일, 주, 월, 년 등의 단위의 다양한 시간으로 설정될 수 있다. Specifically, the processor (140) may adjust the transparency of the virtual keyboard (650) in inverse proportion to the frequency of deleting information. For example, the processor (140) may adjust the transparency of the virtual keyboard (650) to decrease as the frequency of deleting information increases in order to improve the visibility of the keyboard (650). Conversely, the processor (140) may adjust the transparency of the virtual keyboard (650) to increase as the frequency of deleting information decreases in order to improve the visibility of the information. As an example, the frequency of deleting information may include the number of times information is deleted during a preset time period. Here, the preset time period may be set to various times in units of seconds, minutes, hours, days, weeks, months, and years.

다른 실시 예로서, 정보를 삭제한 빈도수는, 모션에 대응되는 키가 식별된 전체 횟수 동안 정보를 삭제한 횟수 또는 모션에 대응되는 키가 식별된 기설정된 횟수 동안 정보를 삭제한 횟수를 포함할 수 있다. As another embodiment, the frequency of information deletion may include the number of times information was deleted during the total number of times a key corresponding to a motion was identified or the number of times information was deleted during a preset number of times a key corresponding to a motion was identified.

이와 같이, 사용자의 능숙도를 정량적으로 나타낼 수 있는 오타율에 따라 사용자의 모션을 가이드할 수 있는 가상 키보드(650)의 투명도를 조절할 수 있는 인터페이스 환경을 사용자에게 제공할 수 있다.In this way, an interface environment can be provided to the user in which the transparency of a virtual keyboard (650) that can guide the user's motion can be adjusted according to the error rate that can quantitatively represent the user's proficiency.

한편, 프로세서(140)는 정보를 삭제한 빈도수가 기설정된 값 미만인 사용자에 대해 가상 키보드(650)가 디스플레이(120)에 표시되지 않도록(미표시되도록) 제어하고, 정보를 삭제한 빈도수가 기설정된 값 이상인 사용자에 대해 가상 키보드(650)가 디스플레이(120)에 표시되도록 제어할 수 있다.Meanwhile, the processor (140) can control the virtual keyboard (650) not to be displayed (not displayed) on the display (120) for a user whose frequency of deleting information is less than a preset value, and can control the virtual keyboard (650) to be displayed on the display (120) for a user whose frequency of deleting information is greater than a preset value.

예를 들어, 프로세서(140)는 복수의 제1 이미지 프레임(510, 530)에서 검출된 복수의 손가락이 트리거 포즈에 대응되는 것으로 식별되면, 사용자의 정보를 삭제한 빈도수에 기초하여, 정보를 삭제한 빈도수가 기설정된 값 미만인 사용자에 대해 가상 키보드(650)가 디스플레이(120)에 표시되지 않도록(미표시되도록) 제어하고, 정보를 삭제한 빈도수가 기설정된 값 이상인 사용자에 대해 가상 키보드(650)가 디스플레이(120)에 표시되도록 제어할 수 있다.For example, if the processor (140) identifies that a plurality of fingers detected in a plurality of first image frames (510, 530) correspond to a trigger pose, the processor (140) may control the virtual keyboard (650) not to be displayed (not displayed) on the display (120) for a user whose frequency of deleting information is less than a preset value based on the frequency of deleting information of the user, and may control the virtual keyboard (650) to be displayed on the display (120) for a user whose frequency of deleting information is greater than or equal to the preset value.

이를 위해, 프로세서(140)는 사용자 계정에 정보를 삭제한 빈도수를 저장할 수 있다. 여기서 사용자 계정은 로그인(또는 인증)을 통해 액세스될 수 있는 사용자 고유의 정보를 포함하며, 전자 장치(100) 또는 외부 장치(미도시)(예: 서버 등)에 저장될 수 있다.To this end, the processor (140) may store the frequency of deleting information in a user account. Here, the user account includes user-specific information that can be accessed through login (or authentication) and may be stored in an electronic device (100) or an external device (not shown) (e.g., a server, etc.).

이와 같이, 사용자의 오타율이 낮은 사용자(즉, 별도의 가이드 없이도 원하는 키를 오타 없이 정확하게 입력할 수 있는 사용자)에 대해서는 전자 장치(100)의 디스플레이(120)의 화면에 표시되는 정보(예: 이미지, 문자 등)의 양을 증가시키기 위해 가상 키보드(650)를 미표시하고, 오타율이 높은 사용자에 대해서는 오타율을 감소시키기 위해 사용자의 모션을 가이드할 수 있는 가상 키보드(650)를 디스플레이(120)에 표시할 수 있다.In this way, for users with a low error rate (i.e., users who can accurately input a desired key without errors even without a separate guide), the virtual keyboard (650) may not be displayed in order to increase the amount of information (e.g., images, characters, etc.) displayed on the screen of the display (120) of the electronic device (100), and for users with a high error rate, a virtual keyboard (650) that can guide the user's motion may be displayed on the display (120) in order to reduce the error rate.

한편, 본 개시의 일 실시 예에 따른 오타를 교정하는 방법에 대해서는 도 13과 함께 후술하여 설명하도록 한다.Meanwhile, a method for correcting a typo according to an embodiment of the present disclosure will be described later together with FIG. 13.

이하에서는 본 개시의 일 실시 예에 따른 모션에 대응되는 키를 판단하는 방법에 대해 도 7 내지 도 12을 참조하여 설명하기로 한다.Hereinafter, a method for determining a key corresponding to a motion according to an embodiment of the present disclosure will be described with reference to FIGS. 7 to 12.

도 7은 본 개시의 일 실시 예에 따른 모션에 대응되는 키를 판단하는 방법을 설명하기 위한 도면이다.FIG. 7 is a drawing for explaining a method for determining a key corresponding to a motion according to one embodiment of the present disclosure.

도 7을 참조하면, 프로세서(140)는 카메라(110)를 통해 획득된 복수의 제1 이미지 프레임에서 복수의 손가락을 검출하고, 검출된 복수의 손가락의 포즈가 트리거 포즈에 대응되는지 여부를 식별(또는 판단)할 수 있다(S710). 이에 대한 구체적인 설명은 도 3의 S320 단계에서 전술한 설명과 중복된다는 점에서 생략하기로 한다. Referring to FIG. 7, the processor (140) can detect multiple fingers from multiple first image frames acquired through the camera (110) and identify (or determine) whether the poses of the detected multiple fingers correspond to a trigger pose (S710). A detailed description thereof will be omitted as it overlaps with the description given above in step S320 of FIG. 3.

여기서, 프로세서(140)는 복수의 제1 이미지 프레임에서 검출된 복수의 손가락의 포즈가 트리거 포즈에 대응되는 것으로 식별(또는 판단)되면, 문자 입력 모드에 진입할 수 있다(S720). 또한, 프로세서(140)는 복수의 제1 이미지 프레임에서 검출된 복수의 손가락의 포즈가 트리거 포즈에 대응되는 것으로 식별(또는 판단)되면, 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 설정할 수 있다(S730). 여기서, S720 및 S730 단계는 동시에 수행되거나, 그 선후가 변경되는 것 또한 가능하다. Here, if the processor (140) identifies (or determines) that the poses of the plurality of fingers detected from the plurality of first image frames correspond to the trigger pose, the processor (140) can enter the character input mode (S720). In addition, if the processor (140) identifies (or determines) that the poses of the plurality of fingers detected from the plurality of first image frames correspond to the trigger pose, the processor (140) can set a reference point for each finger based on the positions of the detected plurality of fingers (S730). Here, steps S720 and S730 can be performed simultaneously, or their order can be changed.

이 경우, 프로세서(140)는 문자 입력 모드에서 카메라(110)를 통해 획득된 복수의 제2 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션을 검출할 수 있다(S740). In this case, the processor (140) can detect the motion of one finger among multiple fingers from multiple second image frames acquired through the camera (110) in the character input mode (S740).

여기서, 프로세서(140)는 복수의 제2 이미지 프레임에서 손가락의 모션이 검출되면(S740, Y), 모션이 검출된 손가락의 위치 및 손가락에 설정된 기준점의 위치에 기초하여 손가락에 매핑된 복수의 키 중 모션에 대응되는 키를 식별(또는 판단)할 수 있다(S750). 한편 이와 달리, 프로세서(140)는 복수의 제2 이미지 프레임에서 손가락의 모션이 검출되지 않으면(S740, N), 카메라(110)를 통해 복수의 제2 이미지 프레임 이후에 획득되는 복수의 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션을 검출할 수 있다(S740).Here, if the motion of the finger is detected in a plurality of second image frames (S740, Y), the processor (140) can identify (or determine) a key corresponding to the motion among a plurality of keys mapped to the finger based on the position of the finger where the motion is detected and the position of the reference point set to the finger (S750). On the other hand, if the motion of the finger is not detected in a plurality of second image frames (S740, N), the processor (140) can detect the motion of one finger among the plurality of fingers in a plurality of image frames acquired after the plurality of second image frames through the camera (110) (S740).

그리고, 프로세서(140)는 식별된(또는 판단된) 키에 대응되는 정보를 표시하도록 디스플레이(120)를 제어할 수 있다(S760).And, the processor (140) can control the display (120) to display information corresponding to the identified (or determined) key (S760).

그리고, 프로세서(140)는 해제 이벤트의 발생 여부를 식별할 수 있다(S770). 프로세서(140)는 해제 이벤트가 발생한 것으로 식별되면(S770, Y), 문자 입력 모드를 해제할 수 있다(S775). 즉, 프로세서(140)는 손가락의 모션을 검출하여 모션에 대응되는 키로 식별하는 동작을 종료할 수 있다. 이때, 해제 이벤트는 어플리케이션이 종료되는 이벤트, 복수의 이미지 프레임에서 사용자의 손이 기설정된 시간(예: 15초, 30초, 1분 등) 동안 검출되지 않는 이벤트 등을 포함할 수 있다. And, the processor (140) can identify whether a release event has occurred (S770). If the processor (140) identifies that a release event has occurred (S770, Y), the processor (140) can release the character input mode (S775). That is, the processor (140) can detect the motion of the finger and terminate the operation of identifying the key corresponding to the motion. At this time, the release event can include an event in which the application is terminated, an event in which the user's hand is not detected for a preset time (e.g., 15 seconds, 30 seconds, 1 minute, etc.) in multiple image frames, etc.

한편 이와 달리, 프로세서(140)는 해제 이벤트가 발생하지 않은 것으로 식별되면(S770, N), 문자 입력 모드에 진입된 상태를 유지할 수 있다. On the other hand, in contrast, if the processor (140) determines that a release event has not occurred (S770, N), it can maintain the state of entering the character input mode.

이 경우, 프로세서(140)는 문자 입력 모드에서 카메라(110)를 통해 획득된 복수의 제3 이미지 프레임에서 복수의 손가락을 검출하고, 복수의 손가락의 포즈가 기설정된 포즈에 대응되는지 여부를 식별할 수 있다(S780). In this case, the processor (140) can detect multiple fingers from multiple third image frames acquired through the camera (110) in the character input mode and identify whether the poses of the multiple fingers correspond to preset poses (S780).

여기서, 프로세서(140)는 복수의 제3 이미지 프레임에서 검출된 복수의 손가락의 포즈가 기설정된 포즈에 대응되는 것으로 식별되면(S780, Y), 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 재설정할 수 있다(S785). 이 경우, 프로세서(140)는 카메라(110)를 통해 복수의 제3 이미지 프레임 이후에 획득되는 복수의 제4 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션이 검출되면(S740, Y), 모션에 의한 손가락의 위치 및 손가락에 재설정된 기준점의 위치에 기초하여 손가락에 매핑된 복수의 키 중 모션에 대응되는 키를 식별(또는 판단)할 수 있다(S750). 그리고, 프로세서(140)는 식별된(또는 판단된) 키에 대응되는 정보를 표시하도록 디스플레이(120)를 제어할 수 있다(S760).Here, if the processor (140) identifies that the poses of the plurality of fingers detected in the plurality of third image frames correspond to the preset poses (S780, Y), the processor (140) can reset the reference point for each finger based on the positions of the plurality of fingers (S785). In this case, if the processor (140) detects the motion of one finger among the plurality of fingers in the plurality of fourth image frames acquired after the plurality of third image frames through the camera (110) (S740, Y), the processor (140) can identify (or determine) a key corresponding to the motion among the plurality of keys mapped to the finger based on the position of the finger due to the motion and the position of the reference point reset to the finger (S750). Then, the processor (140) can control the display (120) to display information corresponding to the identified (or determined) key (S760).

한편 이와 달리, 프로세서(140)는 복수의 제3 이미지 프레임에서 검출된 복수의 손가락의 포즈가 기설정된 포즈에 대응되지 않는 것으로 식별되면(S780, N), 각 손가락에 대한 기준점을 재설정하지 않을 수 있다. 이 경우, 프로세서(140)는 카메라(110)를 통해 복수의 제3 이미지 프레임 이후에 획득되는 복수의 제4 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션이 검출되면(S740, Y), 모션에 의한 손가락의 위치 및 손가락에 설정된 기준점(즉, 가장 최근에 설정되거나 가장 최근에 재설정된 기준점)의 위치에 기초하여 손가락에 매핑된 복수의 키 중 모션에 대응되는 키를 식별(또는 판단)할 수 있다(S750). 그리고, 프로세서(140)는 식별된(또는 판단된) 키에 대응되는 정보를 표시하도록 디스플레이(120)를 제어할 수 있다(S760).On the other hand, in contrast to this, if the processor (140) determines that the poses of the plurality of fingers detected in the plurality of third image frames do not correspond to the preset poses (S780, N), the processor (140) may not reset the reference point for each finger. In this case, if the motion of one finger among the plurality of fingers is detected in the plurality of fourth image frames acquired after the plurality of third image frames through the camera (110) (S740, Y), the processor (140) may identify (or determine) a key corresponding to the motion among the plurality of keys mapped to the finger based on the position of the finger by the motion and the position of the reference point set for the finger (i.e., the most recently set or most recently reset reference point) (S750). Then, the processor (140) may control the display (120) to display information corresponding to the identified (or determined) key (S760).

한편, 기준점을 재설정하는 동작(S780, S785)은 도 7에서 식별된(또는 판단된) 키에 대응되는 정보를 표시하는 동작(S760) 이후에 수행하는 것으로 도시하고 있으나, 이는 설명의 편의를 위해 순차적으로 도시한 것일 뿐이며, 기준점을 재설정하는 동작(S780, S785)은 손가락에 대한 기준점이 설정되는 동작(S730) 이후에, 손가락의 모션 검출 동작(S740) 내지 표시 동작(S760)과는 병렬적으로 수행될 수 있다. 이때, 기준점을 재설정하는 동작(S780, S785)은 기설정된 주기(예: 1초에 2회, 1초에 1회 등)마다 주기적으로 수행될 수 있다. Meanwhile, the operation (S780, S785) for resetting the reference point is illustrated as being performed after the operation (S760) for displaying information corresponding to the key identified (or determined) in FIG. 7, but this is merely illustrated sequentially for convenience of explanation, and the operation (S780, S785) for resetting the reference point may be performed in parallel with the operation (S740) for detecting the motion of the finger or the operation (S760) for displaying the information after the operation (S730) for setting the reference point for the finger. In this case, the operation (S780, S785) for resetting the reference point may be performed periodically at preset intervals (e.g., twice per second, once per second, etc.).

이상과 같은 본 개시의 다양한 실시 예에 따른 전자 장치는 사용자의 모션을 입력으로 인식할 수 있는 인터페이스를 제공할 수 있다. 또한, 전자 장치는 기준점을 동적으로 재설정함으로써 사용자의 모션을 사용자가 원하는 입력으로 인식하는 인식률을 향상시키고, 입력의 편의성과 신속성을 향상시키는 인터페이스 환경을 제공할 수 있다. The electronic device according to various embodiments of the present disclosure as described above can provide an interface that can recognize a user's motion as an input. In addition, the electronic device can improve the recognition rate of recognizing the user's motion as an input desired by the user by dynamically resetting the reference point, and provide an interface environment that improves the convenience and speed of input.

이하에서는 첨부된 도면을 참조하여, 도 7의 각 동작에 대한 구체적인 내용을 설명하기로 한다. Below, with reference to the attached drawings, the specific details for each operation of Fig. 7 will be described.

도 8a 내지 8c는 본 개시의 일 실시 예에 따른 기준점을 설정하는 방법을 설명하기 위한 도면이다. 여기서, 도 8a 내지 8c는 설명의 편의를 위해 복수의 이미지 프레임에서 검출된 사용자의 오른손(810R)에 대해 도시한 것일 뿐, 이에 대한 설명이 사용자의 왼손에 대해서도 동일하게 적용될 수 있다. FIGS. 8A to 8C are drawings for explaining a method of setting a reference point according to an embodiment of the present disclosure. Here, FIGS. 8A to 8C only illustrate the user's right hand (810R) detected from multiple image frames for convenience of explanation, and the explanation thereof may be equally applied to the user's left hand.

도 8a 및 도 8b를 참조하여, 프로세서(140)는 복수의 제1 이미지 프레임에서 복수의 손가락을 검출하고, 검출된 복수의 손가락의 포즈가 트리거 포즈에 대응되는 것으로 식별되면, 문자 입력 모드에 진입하고(S720), 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 설정할 수 있다(S730). Referring to FIGS. 8A and 8B , the processor (140) detects a plurality of fingers in a plurality of first image frames, and if the poses of the detected plurality of fingers are identified as corresponding to the trigger pose, enters a character input mode (S720), and can set a reference point for each finger based on the positions of the detected plurality of fingers (S730).

여기서, 트리거 포즈는 도 5a의 (a)와 같이 사용자의 손가락이 특정한 평면 상에서 제1 기설정된 거리(예: 1cm) 이상 이격된 제1 상태에서, 도 5a의 (b)와 같이 사용자의 손가락이 특정한 평면(예: 바닥 면) 상에서 제2 기설정된 거리(예: 0.2cm) 미만 이격된 제2 상태로 변경되는 포즈로 기설정될 수 있다. 여기서, 제1 상태 및 제2 상태는 일 실시 예일 뿐 다양한 변형 실시 예가 가능하다. 일 실시 예로서, 제 2상태는 손가락이 특정한 평면 상에 놓여진 상태 또는 특정한 평면에 손가락이 접촉하는 상태(즉, 사용자의 손가락이 특정한 평면(예: 테이블의 바닥 면 등) 상에서 이격되지 않은 상태)일 수도 있다. 이에 대한 구체적인 내용은 도 5a 내지 도 5b에서 전술한 설명과 중복된다는 점에서 생략하기로 한다.Here, the trigger pose may be preset as a pose that changes from a first state in which the user's finger is spaced apart by a first preset distance (e.g., 1 cm) or more on a specific plane, as in (a) of Fig. 5a, to a second state in which the user's finger is spaced apart by a second preset distance (e.g., 0.2 cm) or less on a specific plane (e.g., the floor), as in (b) of Fig. 5a. Here, the first state and the second state are only examples, and various modified embodiments are possible. As an example, the second state may be a state in which the finger is placed on the specific plane, or a state in which the finger is in contact with the specific plane (i.e., a state in which the user's finger is not spaced apart from the specific plane (e.g., the floor of a table, etc.)). Specific details therefor are omitted since they overlap with the descriptions given above in Figs. 5a and 5b.

이하에서는 복수의 제1 이미지 프레임에서 복수의 손가락을 검출하고, 검출된 복수의 손가락의 포즈가 트리거 포즈에 대응되는 것으로 식별된 경우를 가정하기로 한다. In the following, we assume that multiple fingers are detected in multiple first image frames, and that poses of the multiple detected fingers are identified as corresponding to a trigger pose.

이 경우, 프로세서(140)는 복수의 제1 이미지 프레임에서 검출된 손가락의 포즈가 트리거 포즈에 대응되는 것으로 식별되면, 검출된 복수의 손가락의 위치(811 내지 815)에 기초하여 각 손가락에 대한 기준점(811' 내지 815')을 설정할 수 있다. In this case, if the processor (140) identifies that the poses of the fingers detected in the plurality of first image frames correspond to the trigger poses, the processor (140) can set reference points (811' to 815') for each finger based on the positions (811 to 815) of the plurality of detected fingers.

여기서, 각 손가락에 대한 기준점(811' 내지 815')은, 손가락의 모션에 의한 각 손가락의 위치(또는 거리, 방향)를 판단하기 위한 기준이 되는 지점을 지칭할 수 있다. Here, the reference point (811' to 815') for each finger may refer to a point that serves as a reference for determining the position (or distance, direction) of each finger by the motion of the finger.

또한, 복수의 손가락(엄지 내지 소지)의 위치는 프로세서(140)에 의해 식별된 복수의 특징점(450) 중 각 손가락(엄지 내지 소지)에 대한 특징점(예: 손가락 끝 부분에 대한 특징점 또는 관절에 대한 특징점)의 위치에 대응될 수 있다. 이 경우, 프로세서(140)는 엄지에 대한 복수의 제1 특징점(451)에 포함된 특징점(451-1 내지 451-4) 중 하나의 위치를 엄지에 대한 기준점(811')으로 설정할 수 있다. 프로세서(140)는 이와 동일한 방식으로 검지에 대한 복수의 제2 특징점(452)에 포함된 특징점 중 하나의 위치를 검지에 대한 기준점(812')으로 설정하고, 중지에 대한 복수의 제3 특징점(453)에 포함된 특징점 중 하나의 위치를 중지에 대한 기준점(813')으로 설정하고, 약지에 대한 복수의 제4 특징점(454)에 포함된 특징점 중 하나의 위치를 약지에 대한 기준점(814')으로 설정하고, 소지에 대한 복수의 제5 특징점(455)에 포함된 특징점 중 하나의 위치를 소지에 대한 기준점(815')으로 설정할 수 있다. In addition, the positions of the plurality of fingers (thumbs or little fingers) may correspond to the positions of the feature points (e.g., feature points for the tip of a finger or feature points for a joint) for each finger (thumbs or little fingers) among the plurality of feature points (450) identified by the processor (140). In this case, the processor (140) may set the position of one of the feature points (451-1 to 451-4) included in the plurality of first feature points (451) for the thumb as the reference point (811') for the thumb. In the same manner, the processor (140) may set a position of one of the feature points included in a plurality of second feature points (452) for the index finger as a reference point (812') for the index finger, set a position of one of the feature points included in a plurality of third feature points (453) for the middle finger as a reference point (813') for the middle finger, set a position of one of the feature points included in a plurality of fourth feature points (454) for the ring finger as a reference point (814') for the ring finger, and set a position of one of the feature points included in a plurality of fifth feature points (455) for the little finger as a reference point (815') for the little finger.

이하에서는 설명의 편의를 위해, 복수의 손가락의 위치는 복수의 손가락(엄지 내지 소지)의 끝 부분에 대한 특징점의 위치인 것으로 가정하여 설명하도록 한다.For convenience of explanation, in the following description, the positions of multiple fingers are assumed to be the positions of feature points for the tips of multiple fingers (thumbs or little fingers).

한편, 도 8a와 같이 프로세서(140)는 각 손가락에 대한 특징점(811 내지 815)의 위치에 기초한 영역을 기준 영역(820R)으로 설정할 수도 있다. 여기서, 기준 영역(820R)은, 손가락의 모션을 판단하기 위한 기준이 되는 영역을 지칭할 수 있으며, 각 손가락에 대한 특징점(811 내지 815)을 연결한 선으로부터 기설정된 거리까지의 영역을 포함할 수 있다.Meanwhile, as shown in FIG. 8A, the processor (140) may set a region based on the positions of the feature points (811 to 815) for each finger as a reference region (820R). Here, the reference region (820R) may refer to a region that serves as a reference for judging the motion of the finger, and may include a region from a line connecting the feature points (811 to 815) for each finger to a preset distance.

한편, 도 8c를 참조하여, 프로세서(140)는 복수의 손가락 각각에 가상의 키보드(650)에 포함된 복수의 키를 매핑할 수 있다. Meanwhile, referring to FIG. 8c, the processor (140) can map a plurality of keys included in a virtual keyboard (650) to each of a plurality of fingers.

여기서, 손가락에 매핑된 복수의 키는 기준키 및 기준키와 인접한 적어도 2개의 키를 포함할 수 있다. 이때, 가상의 키보드(650)에 포함된 복수의 키에 대한 설명은 도 6b에서 전술한 내용과 중복된다는 점에서 생략하기로 한다. Here, the plurality of keys mapped to the fingers may include a reference key and at least two keys adjacent to the reference key. At this time, the description of the plurality of keys included in the virtual keyboard (650) is omitted because it overlaps with the content described above in FIG. 6b.

여기서, 프로세서(140)는 손가락에 매핑된 복수의 키(831 내지 835)가 손가락에 설정된 기준점(811' 내지 815')에 위치하도록 매핑할 수 있다. 예를 들어, 프로세서(140)는 손가락에 매핑된 복수의 키(831 내지 835) 중 기준키가 손가락에 설정된 기준점(811' 내지 815')에 위치하도록 매핑할 수 있다.Here, the processor (140) can map a plurality of keys (831 to 835) mapped to the fingers so that they are located at reference points (811' to 815') set for the fingers. For example, the processor (140) can map a reference key among a plurality of keys (831 to 835) mapped to the fingers so that it is located at reference points (811' to 815') set for the fingers.

이 경우, 오른손 엄지에 매핑된 적어도 하나의 키(831)는 오른손 엄지의 기준키(예: 스페이스바)가 오른손 엄지에 설정된 기준점(811')에 위치하고, 오른손 검지에 매핑된 복수의 키(832)는 오른손 검지의 기준키(예: J키)가 오른손 검지에 설정된 기준점(812')에 위치하고, 오른손 중지에 매핑된 복수의 키(833)는 오른손 중지의 기준키(예: K키)가 오른손 중지에 설정된 기준점(813')에 위치하고, 오른손 약지에 매핑된 복수의 키(834)는 오른손 약지의 기준키(예: L키)가 오른손 약지에 설정된 기준점(814')에 위치하고, 오른손 검지에 매핑된 복수의 키(835)는 오른손 소지의 기준키(예: 엔터키)가 소지에 설정된 기준점(815')에 위치할 수 있다. In this case, at least one key (831) mapped to the right thumb may have a reference key of the right thumb (e.g., space bar) positioned at a reference point (811') set for the right thumb, a plurality of keys (832) mapped to the right index finger may have a reference key of the right index finger (e.g., J key) positioned at a reference point (812') set for the right index finger, a plurality of keys (833) mapped to the right middle finger may have a reference key of the right middle finger (e.g., K key) positioned at a reference point (813') set for the right middle finger, a plurality of keys (834) mapped to the right ring finger may have a reference key of the right ring finger (e.g., L key) positioned at a reference point (814') set for the right ring finger, and a plurality of keys (835) mapped to the right index finger may have a reference key of the right little finger (e.g., Enter key) positioned at a reference point (815') set for the little finger.

그리고, 프로세서(140)는 복수의 제1 이미지 프레임 이후에 카메라(110)를 통해 획득된 복수의 제2 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션을 검출할 수 있다(S740). 이 경우, 프로세서(140)는 복수의 제2 이미지 프레임에서 손가락의 모션이 검출되면(S730, Y), 모션이 검출된 손가락의 위치 및 손가락에 설정된 기준점의 위치에 기초하여 손가락에 매핑된 복수의 키 중 모션에 대응되는 키를 식별(또는 판단)할 수 있다(S750). 이에 대해서는 도 10a 및 도 10b를 참조하여 함께 설명하기로 한다. 도 10a 및 도 10b는 본 개시의 일 실시 예에 따른 모션에 대응되는 키를 판단하는 방법을 설명하기 위한 도면이다.And, the processor (140) can detect the motion of one finger among the plurality of fingers in the plurality of second image frames acquired through the camera (110) after the plurality of first image frames (S740). In this case, if the motion of the finger is detected in the plurality of second image frames (S730, Y), the processor (140) can identify (or determine) a key corresponding to the motion among the plurality of keys mapped to the finger based on the position of the finger where the motion is detected and the position of the reference point set to the finger (S750). This will be described together with reference to FIGS. 10A and 10B. FIGS. 10A and 10B are diagrams for explaining a method of determining a key corresponding to a motion according to one embodiment of the present disclosure.

여기에서, 손가락의 모션은 특정한 키를 입력하기 위한 사용자의 손가락에 대한 제스쳐를 지칭할 수 있다. 또한, 손가락의 모션은 손가락에 대한 특징점의 위치 변화를 통해 검출될 수 있다.Here, the motion of the finger may refer to a gesture of the user's finger to input a specific key. Additionally, the motion of the finger may be detected through a change in the position of a feature point with respect to the finger.

구체적으로, 프로세서(140)는 카메라(110)를 통해 획득된 복수의 제2 이미지 프레임에서 복수의 손가락 각각을 각 손가락에 대한 특징점(예: 손가락 끝 부분에 대한 특징점, 또는 관절에 대한 특징점 등)으로 식별할 수 있다. Specifically, the processor (140) can identify each of the plurality of fingers from the plurality of second image frames acquired through the camera (110) by a feature point for each finger (e.g., a feature point for a fingertip, a feature point for a joint, etc.).

이하에서는, 복수의 제2 이미지 프레임에서 복수의 손가락은 도 6a와 같이 왼손의 약지(634)가 특정한 평면을 기준으로 기설정된 높이 미만의 위치로 이동되고, 나머지 손가락은 특정한 평면을 기준으로 기설정된 높이 이상의 위치에 있는 상태인 것을 가정하도록 한다. 예를 들어, 도 10a와 같이 프로세서(140)는 복수의 제2 이미지 프레임에서 복수의 손가락은, 왼손의 경우 왼손 엄지에 대한 복수의 제1 특징점(1011L), 왼손 검지에 대한 복수의 제2 특징점(1012L), 왼손 중지에 대한 복수의 제3 특징점(1013L), 왼손 약지에 대한 복수의 제4 특징점(1014L), 왼손 소지에 대한 복수의 제5 특징점(1015L)으로 식별하고, 오른손의 경우에도 이와 동일한 방식으로 오른손의 복수의 손가락에 대한 복수의 제1 내지 제5 특징점으로 식별할 수 있다. Hereinafter, it is assumed that in the plurality of second image frames, the plurality of fingers are in a state where the ring finger (634) of the left hand is moved to a position below a preset height relative to a specific plane, as shown in FIG. 6A, and the remaining fingers are in a position above a preset height relative to a specific plane. For example, as shown in FIG. 10A, the processor (140) identifies the plurality of fingers in the plurality of second image frames, in the case of the left hand, as a plurality of first feature points (1011L) for the left thumb, a plurality of second feature points (1012L) for the left index finger, a plurality of third feature points (1013L) for the left middle finger, a plurality of fourth feature points (1014L) for the left ring finger, and a plurality of fifth feature points (1015L) for the left little finger, and in the case of the right hand, as a plurality of first to fifth feature points for the plurality of fingers of the right hand in the same manner.

이 경우, 프로세서(140)는 복수의 제2 이미지 프레임에서 식별된 각 손가락에 대한 특징점의 위치(또는 위치 변화)를 통해 각 손가락의 위치(또는 모션)를 검출할 수 있다. 이때, 손가락의 위치는 손가락에 대한 특징점(예: 손가락 끝 부분에 대한 특징점 또는 손가락의 관절에 대한 특징점 등) 중 하나로 기설정된 특징점의 위치일 수 있다. 이하에서는 설명의 편의를 위해 손가락 끝 부분에 대한 특징점이 기설정된 것으로 가정하여 설명하도록 한다.In this case, the processor (140) can detect the position (or motion) of each finger through the position (or change in position) of the feature point for each finger identified in the plurality of second image frames. At this time, the position of the finger may be the position of a feature point preset as one of the feature points for the finger (e.g., a feature point for the fingertip or a feature point for the finger joint, etc.). In the following description, for the convenience of explanation, it is assumed that the feature point for the fingertip is preset.

그리고, 프로세서(140)는 복수의 손가락(복수의 손가락에 대한 특징점) 각각의 위치에 기초하여, 복수의 손가락(복수의 손가락에 대한 특징점) 중 하나의 손가락(하나의 손가락에 대한 특징점)의 모션을 검출할 수 있다. 이때, 모션은 특정한 키(예: w키)를 타이핑하기 위한 손가락의 위치(또는 자세)가 변경되는 것을 지칭할 수 있다.And, the processor (140) can detect the motion of one finger (a feature point for one finger) among the plurality of fingers (a feature point for the plurality of fingers) based on the position of each of the plurality of fingers (a feature point for the plurality of fingers). In this case, the motion can refer to a change in the position (or posture) of the finger for typing a specific key (e.g., the w key).

예를 들어, 도 10a와 같이 프로세서(140)는 복수의 손가락(또는 복수의 손가락에 대한 특징점) 중에서 특정한 평면(예: xz 평면)을 기준으로 기설정된 높이(예: y 축상 2) 이상의 위치(예: P1(x1, y1, z1), y1은 2 이상)에서 기설정된 높이 미만의 특정한 위치(예: P2(x2, y2, z2), y2는 2 미만)로 이동되는 사용자의 손가락(또는 손가락에 대한 특징점)을 손가락의 모션으로 검출할 수 있다. For example, as shown in FIG. 10A, the processor (140) can detect, as a motion of the finger, a user's finger (or a feature point for the finger) that moves from a position (e.g., P1 (x1, y1, z1), where y1 is 2 or more) above a preset height (e.g., 2 on the y axis) based on a specific plane (e.g., xz plane) to a specific position (e.g., P2 (x2, y2, z2), where y2 is less than 2) below the preset height.

여기서, 프로세서(140)는 모션이 검출된 손가락의 위치를 식별할 수 있다. 여기서, 모션이 검출된 손가락(또는 모션에 의한 손가락)의 위치는 특정한 평면을 기준으로 기설정된 높이 미만의 위치로 이동된 손가락(손가락에 대한 특징점(1024))의 위치(예: P2(x2, y2, z2))를 지칭할 수 있다.Here, the processor (140) can identify the position of the finger where the motion is detected. Here, the position of the finger where the motion is detected (or the finger due to the motion) can refer to the position (e.g., P2(x2, y2, z2)) of the finger (the feature point (1024) for the finger) that has moved to a position below a preset height based on a specific plane.

또한, 프로세서(140)는 모션이 검출된 손가락의 종류(예: 왼손 또는 오른손의 엄지 내지 소지)를 식별할 수 있다. 여기서, 모션이 검출된 손가락의 종류는 특정한 평면을 기준으로 기설정된 높이 미만의 위치로 이동된 손가락(손가락에 대한 특징점(1024))의 종류를 지칭할 수 있다.Additionally, the processor (140) can identify the type of finger (e.g., thumb or little finger of the left or right hand) for which motion is detected. Here, the type of finger for which motion is detected can refer to the type of finger (feature point (1024) for the finger) that has moved to a position below a preset height with respect to a specific plane.

이 경우, 프로세서(140)는 모션에 의한 손가락의 위치 및 손가락에 설정된 기준점의 위치에 기초하여 손가락에 매핑된 복수의 키 중 모션에 대응되는 키를 식별(또는 판단)할 수 있다(S750). In this case, the processor (140) can identify (or determine) a key corresponding to the motion among a plurality of keys mapped to the finger based on the position of the finger by the motion and the position of the reference point set to the finger (S750).

여기서, 손가락에 설정된 기준점의 위치는, 복수의 기준점 중에서 모션이 검출된 손가락(예: 왼손 또는 오른손의 엄지 내지 소지)에 설정된 기준점의 위치를 지칭할 수 있다. 이를 위해, 복수의 기준점 각각은 도 8a 내지 도 9d의 과정을 통해 각 손가락에 설정되거나 재설정될 수 있다. 예를 들어, 복수의 기준점은 엄지에 대한 기준점(1031L, 1031R), 검지에 대한 기준점(1032L, 1032R), 중지에 대한 기준점(1033L, 1033R), 약지에 대한 기준점(1034L, 1034R), 소지에 대한 기준점(1035L, 1035R)을 포함할 수 있다. Here, the position of the reference point set for the finger may refer to the position of the reference point set for the finger (e.g., the thumb or little finger of the left or right hand) from which the motion is detected among the plurality of reference points. To this end, each of the plurality of reference points may be set or reset for each finger through the process of FIGS. 8A to 9D. For example, the plurality of reference points may include reference points for the thumb (1031L, 1031R), reference points for the index finger (1032L, 1032R), reference points for the middle finger (1033L, 1033R), reference points for the ring finger (1034L, 1034R), and reference points for the little finger (1035L, 1035R).

이하에서는 일 실시 예로서, 모션이 검출된 손가락은 도 10a 및 도 10b와 같이 왼손 약지인 것으로 가정하도록 한다. In the following, as an example, it is assumed that the finger whose motion is detected is the left ring finger as shown in FIGS. 10a and 10b.

여기서, 프로세서(140)는 모션에 의한 손가락의 위치(예: 모션이 검출된 왼손 약지에 대한 특징점(1024)의 위치) 및 손가락에 설정된 기준점(예: 왼손 약지에 설정된 기준점(1034L))의 위치 사이의 거리가 기설정된 값 미만인 경우, 손가락에 매핑된 복수의 키(예: 왼손 약지에 매핑된 복수의 키(1054L) 중 기준키(예: 왼손 약지에 매핑된 기준키: S키(1034L'))를 모션에 대응되는 키인 것으로 식별할 수 있다.Here, if the distance between the position of the finger due to the motion (e.g., the position of the feature point (1024) for the left ring finger where the motion is detected) and the position of the reference point set for the finger (e.g., the reference point (1034L) set for the left ring finger) is less than a preset value, the processor (140) can identify a reference key (e.g., the reference key mapped to the left ring finger: S key (1034L')) among the plurality of keys mapped to the finger (e.g., the plurality of keys (1054L) mapped to the left ring finger) as a key corresponding to the motion.

이를 위해, 프로세서(140)는 모션이 검출된 손가락의 위치(1024) 및 모션이 검출된 손가락에 설정된 기준점의 위치 사이의 거리를 식별할 수 있다. To this end, the processor (140) can identify the distance between the position (1024) of the finger where the motion is detected and the position of the reference point set for the finger where the motion is detected.

이와 달리, 프로세서(140)는 모션에 의한 손가락의 위치(예: 모션이 검출된 왼손 약지에 대한 특징점(1024)의 위치) 및 손가락에 설정된 기준점(예: 왼손 약지에 설정된 기준점(1034L))의 위치 사이의 거리가 기설정된 값 이상인 경우, 모션에 의해 손가락이 이동된 방향(예: +z 방향 등)에 기초하여 손가락에 매핑된 복수의 키(예: 왼손 약지에 매핑된 복수의 키(1054L) 중 기준키(예; 왼손 약지에 매핑된 기준키: S키(1034L'))로부터 손가락이 이동된 방향에 위치한 키(예: +z 방향인 경우 W키(1024') 등)를 모션에 대응되는 키인 것으로 식별할 수 있다. In contrast, if the distance between the position of the finger due to the motion (e.g., the position of the feature point (1024) for the left ring finger where the motion is detected) and the position of the reference point set for the finger (e.g., the reference point (1034L) set for the left ring finger) is greater than or equal to a preset value, the processor (140) may identify a key located in the direction in which the finger is moved (e.g., in the +z direction, etc.) from a reference key (e.g., the reference key mapped to the left ring finger: S key (1034L')) among a plurality of keys mapped to the finger as a key corresponding to the motion.

이를 위해, 프로세서(140)는 모션이 검출된 손가락의 위치 및 모션이 검출된 손가락에 설정된 기준점의 위치 사이의 거리를 식별할 수 있다. 또한, 프로세서(140)는 모션에 의해 검출된 손가락이 이동한 방향을 식별할 수 있다. To this end, the processor (140) can identify the distance between the position of the finger where the motion is detected and the position of the reference point set for the finger where the motion is detected. In addition, the processor (140) can identify the direction in which the finger detected by the motion moved.

한편, 프로세서(140)는 모션이 검출된 손가락에 설정된 기준점에 대응되는 기준키 및 벡터에 기초하여, 모션이 검출된 손가락에 매핑된 복수의 키 중에서 하나의 키를 모션에 대응되는 키로 식별할 수 있다. Meanwhile, the processor (140) can identify one key among a plurality of keys mapped to the finger from which the motion is detected as the key corresponding to the motion, based on the reference key and vector corresponding to the reference point set for the finger from which the motion is detected.

예를 들어, 프로세서(140)는 모션이 검출된 왼손 약지에 대한 특징점(1024) 및 모션이 검출된 왼손 약지에 설정된 기준점(1034L) 사이의 상대적인 벡터를 식별할 수 있다. 이 경우, 프로세서(140)는 벡터에 모션이 검출된 왼손 약지에 매핑된 기준키(예: S키(1034L'))의 위치를 시점(또는 기점)으로 적용하여 벡터의 종점을 산출하고, 모션이 검출된 손가락에 매핑된 복수의 키(예: 왼손 약지에 매핑된 복수의 키(1054)) 중에서 벡터의 종점에 위치한 키를 모션에 대응되는 키로 식별할 수 있다. For example, the processor (140) can identify a relative vector between a feature point (1024) for a left ring finger from which a motion is detected and a reference point (1034L) set on the left ring finger from which the motion is detected. In this case, the processor (140) can apply the position of a reference key (e.g., S key (1034L')) mapped to the left ring finger from which the motion is detected as a starting point (or origin) to the vector to calculate the endpoint of the vector, and can identify a key located at the endpoint of the vector among a plurality of keys mapped to the finger from which the motion is detected (e.g., a plurality of keys (1054) mapped to the left ring finger) as a key corresponding to the motion.

이와 같은 방식으로, 프로세서(140)는 상술한 키와 다른 키를 타이핑하기 위한 모션을 검출하여, 모션에 대응되는 키를 식별할 수 있다. In this manner, the processor (140) can detect a motion for typing a key other than the above-described key and identify a key corresponding to the motion.

그리고, 프로세서(140)는 식별된(또는 판단된) 키에 대응되는 정보를 표시하도록 디스플레이(120)를 제어할 수 있다(S760).And, the processor (140) can control the display (120) to display information corresponding to the identified (or determined) key (S760).

이하에서는 해제 이벤트가 발생하지 않은 것(S770, N)으로 가정하고 설명하도록 한다. 즉, 문자 입력 모드가 유지되는 것을 가정하도록 한다.In the following, we will explain assuming that the release event does not occur (S770, N). In other words, we will assume that the character input mode is maintained.

이 경우, 프로세서(140)는 문자 입력 모드에서 카메라(110)를 통해 획득된 복수의 제3 이미지 프레임에서 복수의 손가락을 검출하고, 검출된 복수의 손가락의 포즈가 기설정된 포즈에 대응되는지 여부를 식별할 수 있다(S780). 여기서, 프로세서(140)는 복수의 제3 이미지 프레임에서 검출된 복수의 손가락의 포즈가 기설정된 포즈에 대응되는 것으로 식별되면(S780, Y), 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 재설정할 수 있다(S785). 이하에서는 도 9a 내지 도 9d를 참조하여, 본 개시의 일 실시 예에 따른 기준점을 재설정하는 방법을 구체적으로 설명하기로 한다. 여기서, 도 9a 내지 도 9d는 설명의 편의를 위해 복수의 이미지 프레임에서 검출된 사용자의 오른손(910R)에 대해 도시한 것일 뿐, 이에 대한 설명이 사용자의 왼손에 대해서도 동일하게 적용될 수 있다. In this case, the processor (140) can detect a plurality of fingers from a plurality of third image frames acquired through the camera (110) in the character input mode, and identify whether the poses of the detected plurality of fingers correspond to a preset pose (S780). Here, if the processor (140) identifies that the poses of the plurality of fingers detected from the plurality of third image frames correspond to the preset pose (S780, Y), the processor (140) can reset the reference point for each finger based on the positions of the detected plurality of fingers (S785). Hereinafter, a method of resetting the reference point according to an embodiment of the present disclosure will be specifically described with reference to FIGS. 9A to 9D . Herein, FIGS. 9A to 9D illustrate the user's right hand (910R) detected from the plurality of image frames for convenience of explanation, and the description thereof can be equally applied to the user's left hand.

도 9a를 참조하여, 프로세서(140)는 문자 입력 모드가 유지되는 동안 복수의 제2 이미지 프레임 이후에 획득된 복수의 제3 이미지 프레임에서 복수의 손가락(복수의 손가락에 대한 특징점(911 내지 915)을 검출할 수 있다.Referring to FIG. 9A, the processor (140) can detect a plurality of fingers (feature points (911 to 915) for a plurality of fingers) in a plurality of third image frames acquired after a plurality of second image frames while the character input mode is maintained.

이 경우, 프로세서(140)는 복수의 제3 이미지 프레임에서 검출된 복수의 손가락(복수의 손가락에 대한 특징점(911 내지 915))이 기설정된 포즈에 대응되는 것으로 식별되면, 복수의 손가락(복수의 손가락에 대한 특징점(911 내지 915))의 위치에 기초하여 각 손가락에 대한 기준점을 재설정할 수 있다. 이때, 기준점은 기설정된 포즈에 대응되는 것으로 식별된 복수의 손가락에 대한 특징점(예: 손가락 끝 부분에 대한 특징점(911 내지 915), 또는 관절에 대한 특징점 등)의 위치에 재설정될 수 있다. In this case, if the processor (140) identifies multiple fingers (feature points (911 to 915) for multiple fingers) detected in multiple third image frames as corresponding to preset poses, the processor (140) may reset the reference point for each finger based on the positions of the multiple fingers (feature points (911 to 915) for multiple fingers). At this time, the reference point may be reset to the position of the feature point for the multiple fingers identified as corresponding to the preset poses (e.g., feature points (911 to 915) for finger tips, or feature points for joints, etc.).

여기에서, 기설정된 포즈는 사용자의 손가락이 이동되는 것을 고려하여 복수의 손가락의 현재 위치에 기준점을 재설정(또는 업데이트)하기 위해, 복수의 손가락의 위치에 기초한 상대적인 관계가 설정된 손가락의 포즈를 지칭할 수 있다. 이에 대한 다양한 실시 예는 도 9b 내지 9d를 참조하여 설명하기로 한다.Here, the preset pose may refer to a pose of a finger for which a relative relationship is set based on the positions of the multiple fingers, in order to reset (or update) the reference point to the current positions of the multiple fingers by taking into account the movement of the user's fingers. Various embodiments thereof will be described with reference to FIGS. 9b to 9d.

여기에서, 프로세서(140)는 복수의 제3 이미지 프레임에서 검출된 복수의 손가락이 기설정된 포즈를 일정 시간(예: 1초, 2초 등) 동안 유지하는 것으로 식별되면, 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 재설정할 수 있다. Here, if the processor (140) identifies that a plurality of fingers detected in a plurality of third image frames maintain a preset pose for a predetermined period of time (e.g., 1 second, 2 seconds, etc.), the processor can reset the reference point for each finger based on the positions of the detected plurality of fingers.

한편, 프로세서(140)는 복수의 제3 이미지 프레임에서 검출된 복수의 손가락 중 엄지 손가락을 제외한 나머지 손가락의 특징점(손가락의 끝 부분에 대한 특징점(912 내지 915) 또는 관절에 대한 특징점)의 위치에 기초하여 검출된 복수의 손가락의 포즈가 기설정된 포즈에 대응되는지를 식별할 수 있다. Meanwhile, the processor (140) can identify whether the poses of the detected multiple fingers correspond to a preset pose based on the positions of the feature points (feature points (912 to 915) for the tips of the fingers or feature points for the joints) of the remaining fingers, excluding the thumb, among the multiple fingers detected in the multiple third image frames.

이하에서는, 도 9a 내지 9d를 참조하여 기설정된 포즈에 대해 설명하기로 한다. 여기서, 기설정된 포즈는 전술한 바와 같이 복수의 손가락의 위치에 기초한 상대적인 관계가 설정된 손가락의 포즈를 지칭할 수 있다. 이때, 상대적인 관계는 복수의 손가락 각각의 위치를 연결하여 복수의 직선이 생성된 경우에 직선 간의 각도, 직선으로 형성된 다각형의 넓이 등을 포함할 수 있다.Hereinafter, a preset pose will be described with reference to FIGS. 9A to 9D. Here, the preset pose may refer to a pose of a finger for which a relative relationship is set based on the positions of multiple fingers as described above. At this time, the relative relationship may include an angle between straight lines, an area of a polygon formed by straight lines, etc. when multiple straight lines are generated by connecting the positions of each of the multiple fingers.

프로세서(140)는 엄지 손가락을 제외한 나머지 손가락의 특징점의 위치에 기초하여, 복수의 직선(예: 3개의 직선(921 내지 923))을 생성할 수 있다. 이하에서는 설명의 편의를 위해, 엄지 손가락을 제외한 나머지 손가락의 특징점은 나머지 손가락의 손가락 끝 부분에 대한 특징점(912 내지 915)인 것으로 가정하도록 한다. The processor (140) can generate a plurality of straight lines (e.g., three straight lines (921 to 923)) based on the positions of the feature points of the fingers other than the thumb. For convenience of explanation, it is assumed below that the feature points of the fingers other than the thumb are feature points (912 to 915) for the fingertips of the other fingers.

예를 들어, 프로세서(140)는 검지의 손가락 끝 부분에 대한 특징점(912) 및 중지의 손가락 끝 부분에 대한 특징점(913)을 연결한 제1 직선(921), 중지의 손가락 끝 부분에 대한 특징점(913) 및 약지의 손가락 끝 부분에 대한 특징점(914)을 연결한 제2 직선(922), 약지의 손가락 끝 부분에 대한 특징점(914) 및 소지의 손가락 끝 부분에 대한 특징점(915)을 연결한 제3 직선(923)을 생성할 수 있다. For example, the processor (140) can generate a first straight line (921) connecting a feature point (912) on the tip of an index finger and a feature point (913) on the tip of a middle finger, a second straight line (922) connecting a feature point (913) on the tip of a middle finger and a feature point (914) on the tip of a ring finger, and a third straight line (923) connecting a feature point (914) on the tip of a ring finger and a feature point (915) on the tip of a little finger.

일 실시 예로서, 기설정된 포즈는 도 9b와 같이 엄지 손가락을 제외한 나머지 손가락에 의해 식별되는 제1 내지 제3 직선(921 내지 923) 각각에 대한 절대 각도(θ1 내지 θ3)가 기설정된 값 이상이 되도록 하는, 복수의 손가락의 포즈로 설정될 수 있다. 예를 들어, x축을 기준으로 제1 직선(921)에 대한 절대 각도(θ1), 제2 직선(922)에 대한 절대 각도(θ2) 및 제3 직선(923)에 대한 절대 각도(θ3)이 기설정된 값 이상(예: 170도 이상)(또는 기설정된 값 미만, 예: 10도 미만 등)이 되는 복수의 손가락의 포즈로 설정될 수 있다.As an example, the preset pose may be set as a pose of a plurality of fingers such that the absolute angles (θ1 to θ3) for each of the first to third straight lines (921 to 923) identified by the fingers other than the thumb, as shown in FIG. 9b, are equal to or greater than a preset value. For example, the poses of the plurality of fingers may be set such that the absolute angle (θ1) for the first straight line (921), the absolute angle (θ2) for the second straight line (922), and the absolute angle (θ3) for the third straight line (923) with respect to the x-axis are equal to or greater than a preset value (e.g., equal to or greater than 170 degrees) (or less than a preset value, e.g., less than 10 degrees, etc.).

다른 실시 예로서, 기설정된 포즈는 도 9c와 같이 엄지 손가락을 제외한 나머지 손가락에 의해 식별되는 제1 내지 제3 직선(921 내지 923) 중 서로 인접한 직선 간의 상대 각도(θ4 또는 θ5)가 기설정된 값 이상이 되도록 하는, 복수의 손가락의 포즈로 설정될 수 있다. 예를 들어, 서로 인접한 제1 직선(921) 및 제2 직선(922)의 제1 교점(913)을 기준으로 하는 제1 및 제2 직선(921, 922) 간의 상대 각도(θ5)가 기설정된 값 이상(또는 기설정된 값 미만)이고, 제2 직선(922) 및 제3 직선(923)의 제2 교점(914)을 기준으로 하는 제2 및 제3 직선(922, 923) 간의 상대 각도(θ4)가 기설정된 값 이상(또는 기설정된 값 미만)이 되는 복수의 손가락의 포즈로 설정될 수 있다.As another embodiment, the preset pose may be set as a pose of a plurality of fingers such that the relative angle (θ4 or θ5) between adjacent straight lines among the first to third straight lines (921 to 923) identified by the fingers other than the thumb, as in FIG. 9c, becomes equal to or greater than a preset value. For example, the pose may be set as a pose of a plurality of fingers such that the relative angle (θ5) between the first and second straight lines (921, 922) based on the first intersection point (913) of the first straight line (921) and the second straight line (922) that are adjacent to each other becomes equal to or greater than a preset value (or less than a preset value), and the relative angle (θ4) between the second and third straight lines (922, 923) based on the second intersection point (914) of the second straight line (922) and the third straight line (923) becomes equal to or greater than a preset value (or less than a preset value).

다른 실시 예로서, 기설정된 포즈는 도 9b와 같이 엄지 손가락을 제외한 나머지 손가락에 의해 식별되는 제1 내지 제3 직선(921 내지 923) 각각의 교점을 연결한 삼각형(A)의 넓이가 기설정된 값 미만이 되도록 하는, 복수의 손가락의 포즈로 설정될 수 있다. As another embodiment, the preset pose may be set as a pose of multiple fingers such that the area of the triangle (A) connecting the intersections of each of the first to third straight lines (921 to 923) identified by the fingers other than the thumb, as shown in FIG. 9b, is less than a preset value.

이상과 같이, 기준점은 손가락의 포즈가 기설정된 포즈에 대응되는 것으로 식별되는 경우에 동적으로 재설정될 수 있고, 이로 인해 사용자의 손의 위치가 변경되는 경우에도 특정한 키를 입력하기 위한 사용자의 모션을 정확하게 인식할 수 있다. As such, the reference point can be dynamically reset when the pose of the finger is identified as corresponding to the preset pose, thereby enabling accurate recognition of the user's motion to input a specific key even when the position of the user's hand changes.

도 11은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.FIG. 11 is a flowchart for explaining a method for controlling an electronic device according to an embodiment of the present disclosure.

도 11을 참조하면, 본 개시의 일 실시 예에 따른 전자 장치(100)의 제어 방법은, 카메라(110)를 통해 획득된 복수의 제1 이미지 프레임에서 복수의 손가락을 검출하고, 검출된 복수의 손가락의 포즈가 트리거 포즈에 대응되는 것으로 식별되면, 문자 입력 모드로 진입하는 단계(S1110), 카메라(110)를 통해 획득된 복수의 제2 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션을 검출하는 단계(S1120), 모션에 의한 손가락의 위치 및 손가락에 설정된 기준점의 위치에 기초하여 손가락에 매핑된 복수의 키 중 모션에 대응되는 키를 식별하는 단계(S1130), 식별된 키에 대응되는 정보를 디스플레이(120)에 표시하는 단계(S1140) 및 문자 입력 모드에서 카메라(110)를 통해 획득된 복수의 제3 이미지 프레임에서 복수의 손가락을 검출하고, 검출된 복수의 손가락의 포즈가 기설정된 포즈에 대응되는 것으로 식별되면, 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 재설정하는 단계(S1150)를 포함할 수 있다.Referring to FIG. 11, a control method of an electronic device (100) according to an embodiment of the present disclosure may include a step of detecting a plurality of fingers from a plurality of first image frames acquired through a camera (110), and entering a character input mode if the poses of the detected plurality of fingers are identified as corresponding to a trigger pose (S1110), a step of detecting a motion of one finger from a plurality of second image frames acquired through the camera (110) (S1120), a step of identifying a key corresponding to the motion from among a plurality of keys mapped to the finger based on the position of the finger by the motion and the position of a reference point set for the finger (S1130), a step of displaying information corresponding to the identified key on a display (120) (S1140), and a step of detecting a plurality of fingers from a plurality of third image frames acquired through the camera (110) in the character input mode, and if the poses of the detected plurality of fingers are identified as corresponding to a preset pose, resetting the reference point for each finger based on the positions of the detected plurality of fingers (S1150).

구체적으로, 본 개시의 일 실시 예에 따른 전자 장치(100)의 제어 방법은, 카메라(110)를 통해 획득된 복수의 제1 이미지 프레임에서 복수의 손가락을 검출하고, 검출된 복수의 손가락의 포즈가 트리거 포즈에 대응되는 것으로 식별되면, 문자 입력 모드로 진입할 수 있다(S1110).Specifically, a control method of an electronic device (100) according to an embodiment of the present disclosure detects a plurality of fingers from a plurality of first image frames acquired through a camera (110), and if poses of the detected plurality of fingers are identified as corresponding to a trigger pose, the device can enter a character input mode (S1110).

그리고, 카메라(110)를 통해 획득된 복수의 제2 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션을 검출할 수 있다(S1120). And, the motion of one finger among multiple fingers can be detected from multiple second image frames acquired through the camera (110) (S1120).

그리고, 모션에 의한 손가락의 위치 및 손가락에 설정된 기준점의 위치에 기초하여 손가락에 매핑된 복수의 키 중 모션에 대응되는 키를 식별할 수 있다(S1130).And, based on the position of the finger by the motion and the position of the reference point set to the finger, the key corresponding to the motion among the plurality of keys mapped to the finger can be identified (S1130).

여기에서, 복수의 키는 가상의 키보드에 포함된 키들 중 손가락이 포함된 손의 종류 및 손가락의 종류에 기초하여 결정된 기준키 및 가상의 키보드에 포함된 키들 중에서 기준키와 인접한 적어도 2 개의 키를 포함할 수 있다.Here, the plurality of keys may include a reference key determined based on the type of hand and the type of fingers included in the keys included in the virtual keyboard, and at least two keys adjacent to the reference key among the keys included in the virtual keyboard.

여기에서, 식별하는 단계는 모션에 의한 손가락의 위치 및 손가락에 설정된 기준점의 위치 사이의 거리가 기설정된 값 미만인 경우, 손가락에 매핑된 복수의 키 중 기준키를 모션에 대응되는 키인 것으로 식별하고 모션에 의한 손가락의 위치 및 손가락에 설정된 기준점의 위치 사이의 거리가 기설정된 값 이상인 경우, 모션에 의해 손가락이 이동된 방향에 기초하여 손가락에 매핑된 복수의 키 중 기준키로부터 손가락이 이동된 방향에 위치한 키를 모션에 대응되는 키인 것으로 식별할 수 있다. In this case, the identifying step may identify a reference key among a plurality of keys mapped to the finger as a key corresponding to the motion if the distance between the position of the finger by the motion and the position of the reference point set to the finger is less than a preset value, and may identify a key located in the direction in which the finger is moved from the reference key among a plurality of keys mapped to the finger as a key corresponding to the motion if the distance between the position of the finger by the motion and the position of the reference point set to the finger is greater than or equal to the preset value, based on the direction in which the finger is moved by the motion.

한편, 제어 방법은 카메라(110)를 통해 획득된 복수의 제1 이미지 프레임에서 복수의 손가락을 검출하고, 검출된 복수의 손가락의 포즈가 트리거 포즈에 대응되는 것으로 식별되면, 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 설정하는 단계를 더 포함할 수 있다.Meanwhile, the control method may further include a step of detecting a plurality of fingers from a plurality of first image frames acquired through a camera (110), and, if the poses of the detected plurality of fingers are identified as corresponding to the trigger pose, setting a reference point for each finger based on the positions of the detected plurality of fingers.

여기에서, 설정하는 단계는 복수의 제1 이미지 프레임에서 검출된 복수의 손가락이 트리거 포즈에 대응되는 것으로 식별되면, 가상의 키보드를 디스플레이(120)에 표시하는 단계를 포함하고, 표시하는 단계는 모션에 대응되는 키가 식별되면, 가상의 키보드에 포함된 키들 중 식별된 키를 다른 키와 구별되도록 표시하는 단계를 포함할 수 있다.Here, the setting step may include a step of displaying a virtual keyboard on the display (120) when a plurality of fingers detected in a plurality of first image frames are identified as corresponding to a trigger pose, and the displaying step may include a step of displaying an identified key among keys included in the virtual keyboard so as to be distinguished from other keys when a key corresponding to the motion is identified.

그리고, 식별된 키에 대응되는 정보를 디스플레이(120)에 표시할 수 있다(S1140).And, information corresponding to the identified key can be displayed on the display (120) (S1140).

여기에서, 표시하는 단계는 모션에 대응되는 키가 디스플레이(120)에 표시된 정보를 삭제하기 위한 삭제 키인 경우, 디스플레이(120)에 표시된 정보를 삭제하며, 정보를 삭제한 빈도수에 기초하여 가상 키보드의 투명도를 조절하는 단계를 포함할 수 있다. Here, the displaying step may include a step of deleting the information displayed on the display (120) if the key corresponding to the motion is a delete key for deleting the information displayed on the display (120), and adjusting the transparency of the virtual keyboard based on the frequency of deleting the information.

그리고, 문자 입력 모드에서 카메라(110)를 통해 획득된 복수의 제3 이미지 프레임에서 복수의 손가락을 검출하고, 검출된 복수의 손가락의 포즈가 기설정된 포즈에 대응되는 것으로 식별되면, 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 재설정할 수 있다(S1150).And, when multiple fingers are detected from multiple third image frames acquired through the camera (110) in the character input mode and the poses of the multiple detected fingers are identified as corresponding to preset poses, the reference points for each finger can be reset based on the positions of the multiple detected fingers (S1150).

여기에서, 재설정하는 단계는 검출된 복수의 손가락이 기설정된 포즈를 일정 시간 동안 유지하는 것으로 식별되면, 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 재설정할 수 있다. Here, the resetting step can reset the reference point for each finger based on the positions of the detected multiple fingers when it is identified that the detected multiple fingers maintain a preset pose for a certain period of time.

한편, 재설정하는 단계는 복수의 제3 이미지 프레임에서 검출된 복수의 손가락 중 엄지 손가락을 제외한 나머지 손가락의 끝 부분의 위치에 기초하여 검출된 복수의 손가락의 포즈가 기설정된 포즈에 대응되는지를 식별하는 단계를 포함할 수 있다. Meanwhile, the resetting step may include a step of identifying whether the poses of the detected multiple fingers correspond to a preset pose based on the positions of the tips of the fingers other than the thumb among the multiple fingers detected in the multiple third image frames.

이 경우, 재설정하는 단계는 문자 입력 모드에서 기준점이 재설정된 이후에 획득된 복수의 제4 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션이 검출되면, 모션에 의한 손가락의 위치 및 손가락에 재설정된 기준점의 위치에 기초하여 손가락에 매핑된 복수의 키 중 모션에 대응되는 키를 식별할 수 있다. In this case, the resetting step may include detecting the motion of one of the plurality of fingers in the fourth image frames acquired after the reference point is reset in the character input mode, and identifying a key corresponding to the motion among the plurality of keys mapped to the finger based on the position of the finger by the motion and the position of the reference point reset to the finger.

한편, 제어 방법은 기설정된 사용자 명령이 입력되면, 카메라(110)를 활성화시키고, 활성화된 카메라(110)를 통해 복수의 제1 이미지 프레임을 획득하는 단계를 더 포함하고, 기설정된 사용자 명령은 텍스트 입력이 가능한 문서를 디스플레이(120)에 표시하기 위한 사용자 명령 또는 디스플레이(120)에 표시된 텍스트 입력 창을 선택하는 사용자 명령을 포함할 수 있다.Meanwhile, the control method further includes a step of activating the camera (110) and acquiring a plurality of first image frames through the activated camera (110) when a preset user command is input, and the preset user command may include a user command for displaying a document capable of text input on the display (120) or a user command for selecting a text input window displayed on the display (120).

도 12는 본 개시의 일 실시 예에 따른 모션에 대응되는 키를 판단하는 방법을 설명하기 위한 순서도이다.FIG. 12 is a flowchart illustrating a method for determining a key corresponding to a motion according to one embodiment of the present disclosure.

도 12를 참조하면, 프로세서(140)는 복수의 제2 이미지 프레임 이전에 획득된 복수의 제1 이미지 프레임에서 복수의 손가락을 검출하고, 검출된 복수의 손가락의 포즈가 트리거 포즈에 대응되는지 여부를 식별(또는 판단)할 수 있다(S1210). Referring to FIG. 12, the processor (140) can detect a plurality of fingers in a plurality of first image frames acquired before a plurality of second image frames, and identify (or determine) whether poses of the detected plurality of fingers correspond to a trigger pose (S1210).

여기에서, 복수의 제2 이미지 프레임은 제1 상태(예: 복수의 손가락 모두가 특정한 평면에 기설정된 거리 이상 이격된 상태)의 이미지 프레임 및 제1 상태의 이미지 프레임 이후에 획득된 제2 상태(예: 복수의 손가락 중 적어도 하나가 특정한 평면 상에 놓여진 상태 또는 접촉된 상태)의 이미지 프레임을 포함될 수 있다. 예를 들어, 복수의 제2 이미지 프레임은 도 5a의 (a)와 같은 제1 상태의 이미지 프레임 및 도 6a와 같은 제2 상태의 이미지 프레임을 포함할 수 있다. 이에 대한 구체적인 설명은 도 3의 S320 단계에서 전술한 설명과 중복된다는 점에서 생략하기로 한다. Here, the plurality of second image frames may include image frames of a first state (e.g., a state in which all of the plurality of fingers are spaced apart from each other by a preset distance on a specific plane) and image frames of a second state (e.g., a state in which at least one of the plurality of fingers is placed on or in contact with the specific plane) acquired after the image frames of the first state. For example, the plurality of second image frames may include image frames of a first state such as (a) of FIG. 5A and image frames of a second state such as FIG. 6A. A specific description thereof will be omitted since it overlaps with the description given above in step S320 of FIG. 3.

여기서, 프로세서(140)는 복수의 제1 이미지 프레임에서 검출된 복수의 손가락의 포즈가 트리거 포즈에 대응되는 것으로 식별(또는 판단)되면, 복수의 제1 이미지 프레임 이후에 획득된 복수의 제2 이미지 프레임을 제1 인공지능 모델에 입력할 수 있다(S1220). 그리고, 프로세서(140)는 복수의 제2 이미지 프레임을 제1 인공지능 모델에 입력하면, 제1 인공지능 모델의 출력으로서 특징 정보를 획득할 수 있다(S1230). Here, if the processor (140) identifies (or determines) that the poses of the plurality of fingers detected in the plurality of first image frames correspond to the trigger pose, the processor (140) can input the plurality of second image frames acquired after the plurality of first image frames into the first artificial intelligence model (S1220). Then, if the processor (140) inputs the plurality of second image frames into the first artificial intelligence model, the processor (140) can acquire feature information as an output of the first artificial intelligence model (S1230).

이때, 제1 인공지능 모델은 이미지 프레임에서 특징 정보를 획득하도록 학습된 인공지능 모델일 수 있으며, 메모리(130)에 저장될 수 있다. 또한, 특징 정보는 복수의 특징점 각각의 위치 정보를 포함할 수 있다. At this time, the first artificial intelligence model may be an artificial intelligence model trained to obtain feature information from an image frame and may be stored in the memory (130). In addition, the feature information may include location information of each of a plurality of feature points.

한편, 본 개시에 따른 인공지능과 관련된 기능은 프로세서(140)와 메모리(130)를 통해 동작될 수 있다. 프로세서(140)는, 메모리(130)에 저장된 기정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 기정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 다수의 학습 데이터들에 학습 알고리즘을 적용함으로써, 원하는 특성의 기정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버/시스템을 통해 이루어 질 수도 있다. Meanwhile, the function related to artificial intelligence according to the present disclosure may be operated through the processor (140) and the memory (130). The processor (140) controls input data to be processed according to the predefined operation rules or artificial intelligence models stored in the memory (130). The predefined operation rules or artificial intelligence models are characterized by being created through learning. Here, being created through learning means that the predefined operation rules or artificial intelligence models with desired characteristics are created by applying a learning algorithm to a plurality of learning data. Such learning may be performed in the device itself on which the artificial intelligence according to the present disclosure is performed, or may be performed through a separate server/system.

인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 각 레이어는 복수의 가중치(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치의 연산을 통해 레이어의 연산을 수행한다. 신경망의 예로는, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks)이 있으며, 본 개시에서의 신경망은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.An artificial intelligence model may be composed of multiple neural network layers. Each layer has multiple weight values, and performs layer operations through the operation results of the previous layer and the operations of the multiple weights. Examples of neural networks include CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN (Bidirectional Recurrent Deep Neural Network), and Deep Q-Networks, and the neural networks in the present disclosure are not limited to the above-described examples unless otherwise specified.

학습 알고리즘은, 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예컨대, 로봇)을 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 본 개시에서의 학습 알고리즘은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.A learning algorithm is a method of training a given target device (e.g., a robot) using a plurality of learning data so that the given target device can make decisions or predictions on its own. Examples of learning algorithms include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, and the learning algorithm in the present disclosure is not limited to the above-described examples unless otherwise specified.

이 경우, 프로세서(140)는 특징 정보를 제2 인공지능 모델에 입력할 수 있다(S1240). 그리고, 프로세서(140)는 특징 정보를 제2 인공지능 모델에 입력하면, 제2 인공지능 모델의 출력으로서 확률 값을 획득할 수 있다(S1250). 여기서, 제2 인공지능 모델은 특징 정보에서 가상의 키보드에 포함된 복수의 키 각각에 대한 확률 값을 획득하도록 학습된 인공지능 모델일 수 있으며, 메모리(130)에 저장될 수 있다. 여기서, 인공지능 모델 또는 학습 알고리즘에 관한 설명은 전술한 설명이 동일하게 적용될 수 있다. In this case, the processor (140) can input the feature information into the second artificial intelligence model (S1240). Then, when the processor (140) inputs the feature information into the second artificial intelligence model, it can obtain a probability value as an output of the second artificial intelligence model (S1250). Here, the second artificial intelligence model may be an artificial intelligence model learned to obtain a probability value for each of a plurality of keys included in a virtual keyboard from the feature information, and may be stored in the memory (130). Here, the description of the artificial intelligence model or the learning algorithm may be equally applicable to the above description.

한편, 상술한 설명에서는 제1 및 제2 인공지능 모델 각각은 전자 장치(100)의 메모리(130)에 저장되는 것으로 설명하였으나, 이에 국한되지 아니하고 제1 및 제2 인공지능 모델 중 적어도 하나는 외부 장치(예: 서버 등)(미도시)에 저장될 수 있다. 여기서, 제1 및 제2 인공지능 모델이 외부 장치에 저장된 경우를 가정하여 설명하도록 한다.Meanwhile, in the above description, each of the first and second artificial intelligence models is described as being stored in the memory (130) of the electronic device (100), but the present invention is not limited thereto, and at least one of the first and second artificial intelligence models may be stored in an external device (e.g., a server, etc.) (not shown). Here, the description will be made assuming that the first and second artificial intelligence models are stored in an external device.

일 실시 예로서, 프로세서(140)는 카메라(110)를 통해 획득된 복수의 이미지 프레임을 외부 장치로 전송하도록 통신부(170)를 제어할 수 있다. 이때, 외부 장치는 전자 장치(100)로부터 수신된 복수의 이미지 프레임을 제1 인공지능 모델에 입력하고, 제1 인공지능 모델의 출력(예: 특징 정보)을 제2 인공지능 모델로 입력하고, 제2 인공지능 모델의 출력(예: 확률 값)을 전자 장치(100)로 전송할 수 있다. 이 경우, 전자 장치(100)는 외부 장치로부터 제2 인공지능 모델의 출력(예: 확률 값)을 통신부(170)를 통해 수신할 수도 있다.As an example, the processor (140) may control the communication unit (170) to transmit a plurality of image frames acquired through the camera (110) to an external device. At this time, the external device may input the plurality of image frames received from the electronic device (100) to a first artificial intelligence model, input the output (e.g., feature information) of the first artificial intelligence model to a second artificial intelligence model, and transmit the output (e.g., probability value) of the second artificial intelligence model to the electronic device (100). In this case, the electronic device (100) may also receive the output (e.g., probability value) of the second artificial intelligence model from the external device through the communication unit (170).

또한 다른 실시 예로서, 프로세서(140)는 제1 및 제2 인공지능 모델을 외부 장치로부터 통신부(170)를 통해 수신하여, 카메라(110)를 통해 획득된 복수의 이미지 프레임을 제1 인공지능 모델에 입력하고, 제1 인공지능 모델의 출력(예: 특징 정보)을 제2 인공지능 모델로 입력하여, 제2 인공지능 모델의 출력(예: 확률 값)을 획득할 수 있다. 이와 함께 제1 및 제2 인공지능 모델은 학습될 수 있으며, 이후 프로세서(140)는 학습된 제1 및 제2 인공지능 모델을 다시 외부 장치로 전송하도록 통신부(170)를 제어함으로써, 외부 장치에 저장된 제1 및 제2 인공지능 모델을 갱신할 수 있다.In addition, as another embodiment, the processor (140) may receive the first and second artificial intelligence models from an external device through the communication unit (170), input a plurality of image frames acquired through the camera (110) into the first artificial intelligence model, input an output (e.g., feature information) of the first artificial intelligence model into the second artificial intelligence model, and obtain an output (e.g., probability value) of the second artificial intelligence model. In addition, the first and second artificial intelligence models may be learned, and thereafter, the processor (140) may control the communication unit (170) to transmit the learned first and second artificial intelligence models back to the external device, thereby updating the first and second artificial intelligence models stored in the external device.

그리고, 프로세서(140)는 복수의 키 각각에 대한 확률 값을 임계 값과 비교하고(S1260), 복수의 키 각각에 대한 확률 값 중 임계 값 이상을 갖는 확률 값에 대응되는 키를 손가락의 모션(또는 제스쳐)에 대응되는 키로 판단(또는 식별)할 수 있다(S1270). 여기서, 임계 값 이상을 갖는 확률 값이 복수 개인 경우, 프로세서(140)는 가장 큰 확률 값을 갖는 키를 손가락의 모션에 대응되는 키로 판단(식별)할 수 있다.And, the processor (140) can compare the probability value for each of the plurality of keys with a threshold value (S1260), and determine (or identify) a key corresponding to a probability value greater than or equal to the threshold value among the probability values for each of the plurality of keys as a key corresponding to the motion (or gesture) of the finger (S1270). Here, when there are multiple probability values greater than or equal to the threshold value, the processor (140) can determine (identify) a key having the largest probability value as a key corresponding to the motion of the finger.

예를 들어, 임계값이 0.7이며, S키에 대한 확률 값이 0.9이고 W키에 대한 확률 값이 0.5인 경우를 가정하면, 프로세서(140)는 S키 및 W키 각각에 대한 확률 값 중 임계 값 이상을 갖는 S키를 손가락의 모션에 대응되는 키로 판단할 수 있다. For example, assuming that the threshold value is 0.7, the probability value for the S key is 0.9, and the probability value for the W key is 0.5, the processor (140) can determine that the S key, which has a probability value greater than the threshold value among the S key and the W key, is the key corresponding to the motion of the finger.

이 경우, 프로세서(140)는 판단된(또는 식별된) 키에 대응되는 정보를 표시하도록 디스플레이(120)를 제어할 수 있다(S1280).In this case, the processor (140) can control the display (120) to display information corresponding to the determined (or identified) key (S1280).

한편, 도 12의 S1220 내지 S1230 단계는 이미지 프레임을 제1 인공지능 모델에 입력하여 특징 정보를 획득하는 것으로 설명하였으나, 이는 일 실시 예일 뿐이며, 전술한 실시간 컴퓨터 비전을 분석하기 위한 프로그래밍 라이브러리(예: OpenCV, Python 등) 또는 다양한 알고리즘을 통해 복수의 특징점을 포함하는 특징 정보를 획득하는 것 또한 가능하다.Meanwhile, steps S1220 to S1230 of FIG. 12 have been described as inputting an image frame into the first artificial intelligence model to obtain feature information, but this is only an example, and it is also possible to obtain feature information including multiple feature points through a programming library (e.g., OpenCV, Python, etc.) for analyzing the aforementioned real-time computer vision or various algorithms.

도 13a 및 도 13b는 본 개시의 일 실시 예에 따른 전자 장치가 오타를 교정하는 방법을 설명하기 위한 도면이다.FIGS. 13A and 13B are diagrams illustrating a method for correcting typos in an electronic device according to an embodiment of the present disclosure.

도 13a 및 도 13b를 참조하면, 본 개시의 일 실시 예에 따른 전자 장치(100)는 오타를 교정할 수 있다. 여기서, 도 13a는 각 모듈 및 모델이 프로세서(140)에 의해 로딩(또는 실행)되어 프로세서(140)에서 동작되는 상태를 나타낸 것이며, 모듈 및 모델은 메모리(130)에 저장되어 있을 수 있다. 이하에서는, 본 개시의 전자 장치(100)는 문자 입력 모드에 진입한 상태이며, 이미지 프레임에서 손가락의 트리거 포즈가 식별된 경우를 가정하여 설명하도록 한다.Referring to FIGS. 13A and 13B, an electronic device (100) according to an embodiment of the present disclosure can correct typos. Here, FIG. 13A illustrates a state in which each module and model is loaded (or executed) by a processor (140) and operated by the processor (140), and the modules and models may be stored in a memory (130). In the following, the electronic device (100) of the present disclosure will be described assuming that it has entered a character input mode and a trigger pose of a finger is identified in an image frame.

먼저, 프로세서(140)는 카메라(110)를 통해 복수의 이미지 프레임을 획득할 수 있다(S1310).First, the processor (140) can obtain multiple image frames through the camera (110) (S1310).

그리고, 프로세서(140)는 가상 키보드 모듈(121)을 통해, 카메라(110)에 의해 획득된 복수의 이미지 프레임에서 복수의 손가락 각각의 좌표(또는 위치)를 검출할 수 있다(S1320). And, the processor (140) can detect the coordinates (or positions) of each of multiple fingers from multiple image frames acquired by the camera (110) through the virtual keyboard module (121) (S1320).

여기서, 프로세서(140)는 전술한 사용자의 손의 특징점을 이용하여 손가락의 종류 및 손가락의 좌표를 검출할 수 있다. 이때, 각 손가락의 좌표(또는 위치)는 각 손가락의 끝 부분 또는 각 손가락의 적어도 하나의 관절에 대응되는 지점에 대한 좌표(또는 위치)를 포함할 수 있다. Here, the processor (140) can detect the type of finger and the coordinates of the finger using the aforementioned characteristic points of the user's hand. At this time, the coordinates (or positions) of each finger can include coordinates (or positions) for the tip of each finger or a point corresponding to at least one joint of each finger.

그리고, 프로세서(140)는 복수의 이미지 프레임에 포함된 손가락의 좌표의 변화(특징점의 위치 변화)에 기초하여, 각 손가락에 매핑된 복수의 키 각각에 대한 제1 스코어를 판단할 수 있다(S1330). 예를 들어, 프로세서(140)는 각 손가락의 좌표의 변화(특징점의 위치 변화)에 따라 손가락의 이동 거리 및 이동 방향을 결정하고, 각 손가락의 이동 거리 및 이동 방향에 따라 손가락에 매핑된 복수의 키 각각에 대한 제1 스코어를 판단할 수 있다. 이때, 키에 대한 제1 스코어(예: A 키에 대한 제1 스코어)는 손가락의 모션(또는 제스쳐)에 대응되는 키(손가락의 모션에 따라 입력으로 인식되는 키)가 해당 키(예: A 키)일 가능성을 나타내며, 예를 들어, 제1 스코어는 수치 또는 수치가 정규화된 확률 등일 수 있다. And, the processor (140) can determine a first score for each of the plurality of keys mapped to each finger based on the change in the coordinates of the fingers included in the plurality of image frames (the change in the position of the feature point) (S1330). For example, the processor (140) can determine the movement distance and the movement direction of the finger based on the change in the coordinates of each finger (the change in the position of the feature point), and determine the first score for each of the plurality of keys mapped to the finger based on the movement distance and the movement direction of each finger. At this time, the first score for the key (e.g., the first score for the A key) indicates the possibility that the key corresponding to the motion (or gesture) of the finger (the key recognized as input according to the motion of the finger) is the corresponding key (e.g., the A key), and for example, the first score can be a numerical value or a probability in which the numerical value is normalized.

구체적으로, 프로세서(140)는 전술한 상술한 기준점 또는 인공지능 모델을 이용하여, 손가락에 매핑된 복수의 키 각각에 대한 제1 스코어를 판단할 수 있다. Specifically, the processor (140) can determine a first score for each of a plurality of keys mapped to a finger using the aforementioned reference point or artificial intelligence model.

기준점을 이용하는 경우, 프로세서(140)는 모션이 검출된 손가락에 설정된 기준점을 시점으로 모션이 검출된 손가락의 특징점의 벡터의 방향 및 크기를 산출하고, 기준키에서 모션이 검출된 손가락에 매핑된 복수의 키 각각에 대한 제1 스코어를 산출할 수 있다. 여기서, 벡터의 시점은 기준키에 대응되고, 벡터의 종점은 손가락에 매핑된 복수의 키 중 적어도 하나에 대응될 수 있다. When using a reference point, the processor (140) may calculate the direction and size of a vector of a feature point of a finger whose motion is detected based on a reference point set for the finger whose motion is detected, and may calculate a first score for each of a plurality of keys mapped to the finger whose motion is detected from the reference key. Here, the starting point of the vector may correspond to the reference key, and the end point of the vector may correspond to at least one of a plurality of keys mapped to the finger.

인공지능 모델을 이용하는 경우, 프로세서(140)는 카메라(110)를 통해 획득된 이미지 프레임을 제1 인공지능 모델에 입력하고, 제1 인공지능 모델의 출력으로서 특징 정보(특징점의 위치 정보 등)를 획득할 수 있다. 그리고, 프로세서(140)는 특징 정보를 제2 인공지능 모델에 입력하고, 제2 인공지능 모델의 출력으로서 제1 스코어를 획득할 수 있다. 여기서, 제1 인공지능 모델은 이미지 프레임에서 특징 정보를 획득하도록 학습된 인공지능 모델일 수 있으며, 제2 인공지능 모델은 특징 정보에서 가상의 키보드에 포함된 복수의 키 각각에 대한 제1 스코어(확률 값)을 획득하도록 학습된 인공지능 모델일 수 있다.When using an artificial intelligence model, the processor (140) may input an image frame acquired through the camera (110) into a first artificial intelligence model, and may obtain feature information (such as location information of feature points) as an output of the first artificial intelligence model. In addition, the processor (140) may input the feature information into a second artificial intelligence model, and may obtain a first score as an output of the second artificial intelligence model. Here, the first artificial intelligence model may be an artificial intelligence model learned to acquire feature information from an image frame, and the second artificial intelligence model may be an artificial intelligence model learned to acquire a first score (probability value) for each of a plurality of keys included in a virtual keyboard from the feature information.

여기서, 프로세서(140)는 키에 대한 제1 스코어(예: A 키에 대한 제1 스코어)가 클수록 사용자가 해당 키(예: A 키)를 타이핑하는 가능성이 높은 것으로 판단할 수 있다. Here, the processor (140) may determine that the greater the first score for the key (e.g., the first score for the A key), the higher the likelihood that the user will type the corresponding key (e.g., the A key).

그리고, 프로세서(140)는 오타 교정 모듈을 통해 도 13b와 같이 제1 스코어를 임계 값과 비교하거나(S1340), 제1 스코어가 가장 높은 키가 기설정된 키인지 여부를 비교하여(S1350), 비교 결과에 따라 제1 스코어를 이용하거나 또는 제2 스코어를 이용하여, 손가락의 제스쳐에 대응되는 키를 판단할 수 있다. 다만, 이는 일 실시 예일 뿐이며, S1340 단계 및 S1350 단계의 순서가 변경되거나 S1340 단계 및 S1350 단계 중 하나가 생략되어 수행될 수도 있다. And, the processor (140) can compare the first score with a threshold value through the typo correction module as shown in Fig. 13b (S1340), or compare whether the key with the highest first score is a preset key (S1350), and determine the key corresponding to the finger gesture by using the first score or the second score depending on the comparison result. However, this is only an example, and the order of steps S1340 and S1350 may be changed, or one of steps S1340 and S1350 may be omitted and performed.

구체적으로, 프로세서(140)는 오타 교정 모듈을 통해 각 키에 대한 제1 스코어 중에서 가장 높은(가장 큰) 제1 스코어를 임계 값과 비교할 수 있다(S1340). 이때, 임계 값은, 예를 들어 70%로 기설정될 수 있다.Specifically, the processor (140) can compare the highest (largest) first score among the first scores for each key with a threshold value through the typo correction module (S1340). At this time, the threshold value can be preset to, for example, 70%.

여기서, 프로세서(140)는 오타 교정 모듈을 통해 복수의 키 각각에 대한 제1 스코어 중에서 가장 높은 제1 스코어가 임계 값 보다 크거나 같은 것으로 판단되는 경우(S1340, N), 제1 스코어가 가장 높은 키가 기설정된 키에 해당하는지 여부를 판단할 수 있다(S1350). Here, if the processor (140) determines through the typo correction module that the highest first score among the first scores for each of the plurality of keys is greater than or equal to a threshold value (S1340, N), it can determine whether the key with the highest first score corresponds to a preset key (S1350).

여기서, 기설정된 키는 오타 발생율이 높은 키가 기설정된 것이며, 기설정된 키는 제조사 또는 사용자에 의해 설정되거나 변경될 수 있다. 구체적으로, 제조사의 서버가 복수의 전자 장치(100)로부터 복수의 전자 장치(100)를 이용하는 복수의 사용자들의 키별 오타 발생 빈도를 수집하고, 서버에서 수집된 키별 오타 발생 빈도에 따라 순위가 높은 키에 대한 정보를 다시 전자 장치(100)로 전송하면, 전자 장치(100)는 순위가 높은 키를 기설정된 키로 설정할 수 있다. 예를 들어, 사용자들이 왼손 검지를 통해 입력하는 V키 및 B키 간 오타 발생 빈도가 높은 경우, V키 및 B키 중 적어도 하나가 기설정된 키로 설정될 수 있다.Here, the preset key is a key having a high typo rate, and the preset key can be set or changed by the manufacturer or the user. Specifically, when the server of the manufacturer collects the typo frequency of each key of a plurality of users using the plurality of electronic devices (100) from a plurality of electronic devices (100) and transmits information about a key with a high rank according to the typo frequency collected by the server back to the electronic device (100), the electronic device (100) can set the key with the high rank as the preset key. For example, when the typo frequency of the V key and the B key input by the left index finger is high, at least one of the V key and the B key can be set as the preset key.

그리고, 프로세서(140)는 오타 교정 모듈을 통해 제1 스코어가 가장 높은 키가 기설정된 키가 아닌 것으로 판단한 경우(S1350, N), 제1 스코어가 가장 높은 키를 손가락의 제스쳐에 대응되는 키로 판단(또는 식별)할 수 있다(S1380). 이후, 프로세서(140)는 식별된 키에 대응되는 정보를 표시하도록 디스플레이(120)를 제어할 수 있다. And, if the processor (140) determines through the typo correction module that the key with the highest first score is not a preset key (S1350, N), the processor (140) can determine (or identify) the key with the highest first score as a key corresponding to the finger gesture (S1380). Thereafter, the processor (140) can control the display (120) to display information corresponding to the identified key.

이는 프로세서(140)가 판단한 키가 사용자가 의도하는 키와 다른 때일 확률(즉, 프로세서(140)가 판단한 키가 오타일 확률)이 낮은 경우에, 프로세서(140)가 판단한 키를 사용자가 입력한 키로 간주할 수 있다.In cases where the probability that the key determined by the processor (140) is different from the key intended by the user (i.e., the probability that the key determined by the processor (140) is a typo) is low, the key determined by the processor (140) can be regarded as the key entered by the user.

한편, 프로세서(140)는 오타 교정 모듈을 통해 복수의 키 각각에 대한 제1 스코어 중에서 가장 높은 제1 스코어가 임계 값 보다 낮은 것으로 판단하는 경우(S1340, N) 또는 제1 스코어가 가장 높은 키가 기설정된 키인 것으로 판단한 경우(S1350, Y), 오타 교정 LM(language model)을 통해 키에 매핑된 손가락의 종류 및 이전에 입력된 키를 기초로, 복수의 키 각각에 대한 제2 스코어를 판단할 수 있다(S1360). Meanwhile, if the processor (140) determines through the typo correction module that the highest first score among the first scores for each of the plurality of keys is lower than the threshold value (S1340, N) or determines that the key with the highest first score is a preset key (S1350, Y), the processor (140) can determine the second score for each of the plurality of keys based on the type of finger mapped to the key and the previously input key through the typo correction LM (language model) (S1360).

구체적으로, 프로세서(140)는 키에 매핑된 손가락의 종류 및 이전에 입력된 키를 오타 교정 LM에 입력하여, 오타 교정 LM의 출력으로서 복수의 키 각각에 대한 제2 스코어를 획득할 수 있다. Specifically, the processor (140) can input the type of finger mapped to the key and the previously input key into the typo correction LM to obtain a second score for each of the plurality of keys as an output of the typo correction LM.

여기서, 오타 교정 LM은 문자, 단어, 문장, 단락 등의 시퀀스에 확률을 할당(assign)하는 모델일 수 있으며, 즉, 오타 교정 LM은 이전 문자 등이 주어졌을 때 단어, 문법, 맥락, 빅 데이터 등을 이용하여 다음 문자(또는 현재 입력된 키)를 예측하도록 학습된 모델일 수 있다.Here, the typo-correction LM can be a model that assigns probabilities to sequences of characters, words, sentences, paragraphs, etc., that is, the typo-correction LM can be a model trained to predict the next character (or the current input key) using words, grammar, context, big data, etc. when the previous character, etc. are given.

이때, 키에 대한 제2 스코어(예: A 키에 대한 제2 스코어)는 손가락의 모션(또는 제스쳐)에 대응되는 키(손가락의 모션에 따라 입력으로 인식되는 키)가 해당 키(예: A 키)일 가능성을 나타내며, 예를 들어, 제2 스코어는 수치 또는 수치가 정규화된 확률 등일 수 있다. At this time, the second score for the key (e.g., the second score for the A key) indicates the likelihood that the key corresponding to the motion (or gesture) of the finger (the key recognized as input according to the motion of the finger) is the corresponding key (e.g., the A key). For example, the second score can be a number or a probability where the number is normalized.

이후, 프로세서(140)는 오타 교정 모듈을 통해, 오타 교정 LM에서 수신된 키에 대한 제2 스코어를 이용하여, 손가락의 제스쳐에 대응되는 키로 판단(또는 식별)할 수 있다(S1370). 예를 들어, 프로세서(140)는 제2 스코어가 가장 높은 키를 손가락의 제스쳐에 대응되는 키로 판단할 수 있다. 이후, 프로세서(140)는 식별된 키에 대응되는 정보를 표시하도록 디스플레이(120)를 제어할 수 있다.Thereafter, the processor (140) can determine (or identify) a key corresponding to a finger gesture by using the second score for the key received from the typo correction LM through the typo correction module (S1370). For example, the processor (140) can determine the key with the highest second score as the key corresponding to the finger gesture. Thereafter, the processor (140) can control the display (120) to display information corresponding to the identified key.

이는 프로세서(140)가 판단한 키가 사용자가 의도하는 키와 다른 확률 즉, 오타일 확률이 높은 경우이다. 이 경우, 이전에 타이핑 키에 따라 입력된 문자, 단어, 문장 단위 등의 컨텍스트(context)를 고려하여 사용자가 타이핑한 키를 교정할 수 있다. 이때, 키보드의 전체 키가 아닌 손가락의 종류에 매핑된 일부 키를 후보 대상으로 선정하여 사용자가 타이핑한 키를 보다 정확하게 교정할 수 있다.This is a case where there is a high probability that the key determined by the processor (140) is different from the key intended by the user, i.e., a high probability of a typo. In this case, the key typed by the user can be corrected by considering the context of the characters, words, and sentences previously entered according to the typing key. At this time, some keys mapped to the type of finger, rather than all keys on the keyboard, can be selected as candidates to more accurately correct the key typed by the user.

이상과 같은 본 개시의 일 실시 예에 따른 전자 장치(100)는 사용자의 모션을 사용자가 의도한 키의 입력으로 정확하게 식별하는 인터페이스를 제공할 수 있다.본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 상기하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.An electronic device (100) according to an embodiment of the present disclosure as described above can provide an interface that accurately identifies a user's motion as an input of a key intended by the user. Various embodiments of the present disclosure can be implemented as software including instructions stored in a machine-readable storage medium (e.g., a computer). The device is a device that can call instructions stored from the storage medium and operate according to the called instructions, and can include an electronic device (e.g., the electronic device (100)) according to the disclosed embodiments. When the instructions are executed by a processor, the processor can directly or under the control of the processor perform a function mentioned in the instructions using other components. The instructions can include codes generated or executed by a compiler or an interpreter. The machine-readable storage medium can be provided in the form of a non-transitory storage medium. Here, 'non-transitory' means that the storage medium does not include a signal and is tangible, but does not mean that data is stored in the storage medium. It does not distinguish between permanent or temporary storage.

다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.The method according to various embodiments may be provided as included in a computer program product. The computer program product may be traded between sellers and buyers as a commodity. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read only memory (CD-ROM)) or online through an application store (e.g., Play StoreTM). In the case of online distribution, at least a part of the computer program product may be temporarily stored or temporarily generated in a storage medium such as a memory of a manufacturer's server, an application store's server, or an intermediary server.

다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 상기 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 상기 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.Each of the components (e.g., modules or programs) according to various embodiments may be composed of a single or multiple entities, and some of the sub-components described above may be omitted, or other sub-components may be further included in various embodiments. Alternatively or additionally, some of the components (e.g., modules or programs) may be integrated into a single entity, which may perform the same or similar functions performed by each of the components prior to integration. Operations performed by modules, programs or other components according to various embodiments may be executed sequentially, in parallel, iteratively or heuristically, or at least some of the operations may be executed in a different order, omitted, or other operations may be added.

100: 전자 장치100: Electronic devices

Claims (20)

전자 장치에 있어서,
카메라;
디스플레이;
적어도 하나의 인스트럭션이 저장된 메모리; 및
상기 카메라, 상기 디스플레이 및 상기 메모리와 연결되어 상기 전자 장치를 제어하는 프로세서;를 포함하며,
상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행함으로써,
상기 카메라를 통해 획득된 복수의 제1 이미지 프레임에서 복수의 손가락을 검출하고, 상기 검출된 복수의 손가락의 포즈가 트리거 포즈에 대응되는 것으로 식별되면, 문자 입력 모드로 진입하고,
상기 문자 입력 모드에서 상기 카메라를 통해 획득된 복수의 제2 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션을 검출하고, 상기 모션에 의한 상기 손가락의 위치 및 상기손가락에 설정된 기준점의 위치에 기초하여 상기 손가락에 매핑된 복수의 키 중 상기 모션에 대응되는 키를 식별하고, 상기 식별된 키에 대응되는 정보를 표시하도록 상기 디스플레이를 제어하며,
상기 문자 입력 모드에서 상기 카메라를 통해 획득된 복수의 제3 이미지 프레임에서 복수의 손가락을 검출하고, 상기 검출된 복수의 손가락의 포즈가 기설정된 포즈에 대응되는 것으로 식별되면, 상기 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 재설정하며,
상기 손가락에 설정된 기준점은, 상기 복수의 제1 이미지 프레임에서 검출된 상기 복수의 손가락의 위치에 기초하여 획득되는 전자 장치.
In electronic devices,
camera;
display;
Memory in which at least one instruction is stored; and
A processor connected to the camera, the display and the memory and controlling the electronic device;
The above processor, by executing at least one instruction,
When a plurality of fingers are detected from a plurality of first image frames acquired through the above camera, and the poses of the detected plurality of fingers are identified as corresponding to the trigger pose, the character input mode is entered,
In the above character input mode, detecting the motion of one finger among a plurality of fingers from a plurality of second image frames acquired through the camera, identifying a key corresponding to the motion among a plurality of keys mapped to the finger based on the position of the finger by the motion and the position of a reference point set for the finger, and controlling the display to display information corresponding to the identified key.
In the above character input mode, a plurality of fingers are detected from a plurality of third image frames acquired through the camera, and when the poses of the detected plurality of fingers are identified as corresponding to a preset pose, the reference point for each finger is reset based on the positions of the detected plurality of fingers.
An electronic device in which the reference points set for the fingers are acquired based on the positions of the plurality of fingers detected in the plurality of first image frames.
제1항에 있어서,
상기 프로세서는,
상기 복수의 제3 이미지 프레임에서 검출된 복수의 손가락이 상기 기설정된 포즈를 일정 시간 동안 유지하는 것으로 식별되면, 상기 검출된 복수의 손가락의 위치에 기초하여 상기 각 손가락에 대한 기준점을 재설정하는 전자 장치.
In the first paragraph,
The above processor,
An electronic device that resets the reference point for each finger based on the positions of the detected plurality of fingers when it is identified that the plurality of fingers detected in the plurality of third image frames maintain the preset pose for a predetermined period of time.
제1항에 있어서,
상기 프로세서는,
상기 복수의 제3 이미지 프레임에서 검출된 복수의 손가락 중 엄지 손가락을 제외한 나머지 손가락의 끝 부분의 위치에 기초하여 상기 검출된 복수의 손가락의 포즈가 상기 기설정된 포즈에 대응되는지를 식별하는 전자 장치.
In the first paragraph,
The above processor,
An electronic device that identifies whether the poses of the detected plurality of fingers correspond to the preset poses based on the positions of the tips of the fingers other than the thumbs among the plurality of fingers detected in the plurality of third image frames.
제1항에 있어서,
상기 프로세서는,
상기 문자 입력 모드에서 상기 기준점이 재설정된 이후에 상기 카메라를 통해 획득된 복수의 제4 이미지 프레임에서 상기 복수의 손가락 중 하나의 손가락의 모션이 검출되면, 상기 모션에 의한 상기 손가락의 위치 및 상기 손가락에 재설정된 기준점의 위치에 기초하여 상기 손가락에 매핑된 복수의 키 중 상기 모션에 대응되는 키를 식별하는 전자 장치.
In the first paragraph,
The above processor,
An electronic device that, when motion of one of the plurality of fingers is detected in a plurality of fourth image frames acquired through the camera after the reference point is reset in the character input mode, identifies a key corresponding to the motion among a plurality of keys mapped to the finger based on the position of the finger by the motion and the position of the reference point reset to the finger.
제1항에 있어서,
상기 복수의 키는,
가상의 키보드에 포함된 키들 중 상기 손가락이 포함된 손의 종류 및 상기 손가락의 종류에 기초하여 결정된 기준키 및 상기 가상의 키보드에 포함된 키들 중에서 상기 기준키와 인접한 적어도 2 개의 키를 포함하는 전자 장치.
In the first paragraph,
The above multiple keys are,
An electronic device comprising a reference key determined based on the type of hand including the finger and the type of the finger among the keys included in the virtual keyboard, and at least two keys adjacent to the reference key among the keys included in the virtual keyboard.
제5항에 있어서,
상기 프로세서는,
상기 모션에 의한 상기 손가락의 위치 및 상기 손가락에 설정된 기준점의 위치 사이의 거리가 기설정된 값 미만인 경우, 상기 손가락에 매핑된 복수의 키 중 기준키를 상기 모션에 대응되는 키인 것으로 식별하고,
상기 모션에 의한 상기 손가락의 위치 및 상기 손가락에 설정된 기준점의 위치 사이의 거리가 상기 기설정된 값 이상인 경우, 상기 모션에 의해 손가락이 이동된 방향에 기초하여 상기 손가락에 매핑된 복수의 키 중 상기 기준키로부터 상기 손가락이 이동된 방향에 위치한 키를 상기 모션에 대응되는 키인 것으로 식별하는 전자 장치.
In paragraph 5,
The above processor,
If the distance between the position of the finger due to the above motion and the position of the reference point set for the finger is less than a preset value, the reference key among the multiple keys mapped to the finger is identified as the key corresponding to the motion,
An electronic device that identifies a key located in the direction in which the finger is moved from the reference key among a plurality of keys mapped to the finger based on the direction in which the finger is moved by the motion as a key corresponding to the motion when the distance between the position of the finger by the motion and the position of the reference point set for the finger is greater than or equal to the preset value.
삭제delete 제1항에 있어서,
상기 프로세서는,
상기 복수의 제1 이미지 프레임에서 검출된 복수의 손가락이 상기 트리거 포즈에 대응되는 것으로 식별되면, 가상의 키보드를 상기 디스플레이에 표시하고, 상기 문자 입력 모드에서 상기 모션에 대응되는 키가 식별되면, 상기 가상의 키보드에 포함된 키들 중 상기 식별된 키를 다른 키와 구별되도록 표시하는 전자 장치.
In the first paragraph,
The above processor,
An electronic device that displays a virtual keyboard on the display when a plurality of fingers detected in the plurality of first image frames are identified as corresponding to the trigger pose, and when a key corresponding to the motion is identified in the character input mode, displays the identified key among the keys included in the virtual keyboard so as to be distinguished from other keys.
제8항에 있어서,
상기 프로세서는,
상기 모션에 대응되는 키가 상기 디스플레이에 표시된 정보를 삭제하기 위한 삭제 키인 경우, 상기 디스플레이에 표시된 정보를 삭제하며, 상기 정보를 삭제한 빈도수에 기초하여 상기 가상 키보드의 투명도를 조절하는 전자 장치.
In Article 8,
The above processor,
An electronic device that deletes information displayed on the display when the key corresponding to the above motion is a delete key for deleting information displayed on the display, and adjusts the transparency of the virtual keyboard based on the frequency of deleting the information.
제1항에 있어서,
상기 프로세서는,
기설정된 사용자 명령이 입력되면, 상기 카메라를 활성화시키고, 상기 활성화된 카메라를 통해 상기 복수의 제1 이미지 프레임을 획득하고,
상기 기설정된 사용자 명령은,
텍스트 입력이 가능한 문서를 상기 디스플레이에 표시하기 위한 사용자 명령 또는 상기 디스플레이에 표시된 텍스트 입력 창을 선택하는 사용자 명령을 포함하는 전자 장치.
In the first paragraph,
The above processor,
When a preset user command is input, the camera is activated and the plurality of first image frames are acquired through the activated camera;
The above preset user commands are:
An electronic device including a user command for displaying a text input capable document on said display or a user command for selecting a text input window displayed on said display.
전자 장치의 제어 방법에 있어서,
카메라를 통해 획득된 복수의 제1 이미지 프레임에서 복수의 손가락을 검출하고, 상기 검출된 복수의 손가락의 포즈가 트리거 포즈에 대응되는 것으로 식별되면, 문자 입력 모드로 진입하는 단계;
상기 문자 입력 모드에서 상기 카메라를 통해 획득된 복수의 제2 이미지 프레임에서 복수의 손가락 중 하나의 손가락의 모션을 검출하는 단계;
상기 모션에 의한 상기 손가락의 위치 및 상기 손가락에 설정된 기준점의 위치에 기초하여 상기 손가락에 매핑된 복수의 키 중 상기 모션에 대응되는 키를 식별하는 단계;
상기 식별된 키에 대응되는 정보를 디스플레이에 표시하는 단계; 및
상기 문자 입력 모드에서 상기 카메라를 통해 획득된 복수의 제3 이미지 프레임에서 복수의 손가락을 검출하고, 상기 검출된 복수의 손가락의 포즈가 기설정된 포즈에 대응되는 것으로 식별되면, 상기 검출된 복수의 손가락의 위치에 기초하여 각 손가락에 대한 기준점을 재설정하는 단계;를 포함하고,
상기 손가락에 설정된 기준점은, 상기 복수의 제1 이미지 프레임에서 검출된 상기 복수의 손가락의 위치에 기초하여 획득되는 제어 방법.
In a method for controlling an electronic device,
A step of detecting a plurality of fingers from a plurality of first image frames acquired through a camera, and entering a character input mode when the poses of the detected plurality of fingers are identified as corresponding to a trigger pose;
A step of detecting motion of one finger among a plurality of fingers from a plurality of second image frames acquired through the camera in the above character input mode;
A step of identifying a key corresponding to the motion among a plurality of keys mapped to the finger based on the position of the finger by the motion and the position of a reference point set to the finger;
A step of displaying information corresponding to the identified key on a display; and
Including a step of detecting a plurality of fingers from a plurality of third image frames acquired through the camera in the above character input mode, and resetting a reference point for each finger based on the positions of the detected plurality of fingers when the poses of the detected plurality of fingers are identified as corresponding to a preset pose;
A control method in which the reference points set for the above fingers are obtained based on the positions of the plurality of fingers detected in the plurality of first image frames.
제11항에 있어서,
상기 재설정하는 단계는,
상기 복수의 제3 이미지 프레임에서 검출된 복수의 손가락이 상기 기설정된 포즈를 일정 시간 동안 유지하는 것으로 식별되면, 상기 검출된 복수의 손가락의 위치에 기초하여 상기 각 손가락에 대한 기준점을 재설정하는, 제어 방법.
In Article 11,
The above resetting steps are:
A control method for resetting the reference point for each finger based on the positions of the detected plurality of fingers when it is identified that the plurality of fingers detected in the plurality of third image frames maintain the preset pose for a predetermined period of time.
제11항에 있어서,
상기 재설정하는 단계는,
상기 복수의 제3 이미지 프레임에서 검출된 복수의 손가락 중 엄지 손가락을 제외한 나머지 손가락의 끝 부분의 위치에 기초하여 상기 검출된 복수의 손가락의 포즈가 상기 기설정된 포즈에 대응되는지를 식별하는 단계;를 포함하는, 제어 방법.
In Article 11,
The above resetting steps are:
A control method, comprising: a step of identifying whether the poses of the detected plurality of fingers correspond to the preset poses based on the positions of the tips of the fingers other than the thumbs among the plurality of fingers detected in the plurality of third image frames.
제11항에 있어서,
상기 재설정하는 단계는,
상기 문자 입력 모드에서 상기 기준점이 재설정된 이후에 상기 카메라를 통해 획득된 복수의 제4 이미지 프레임에서 상기 복수의 손가락 중 하나의 손가락의 모션이 검출되면, 상기 모션에 의한 상기 손가락의 위치 및 상기 손가락에 재설정된 기준점의 위치에 기초하여 상기 손가락에 매핑된 복수의 키 중 상기 모션에 대응되는 키를 식별하는, 제어 방법.
In Article 11,
The above resetting steps are:
A control method wherein, when the motion of one of the plurality of fingers is detected in the plurality of fourth image frames acquired through the camera after the reference point is reset in the above character input mode, a key corresponding to the motion among the plurality of keys mapped to the finger is identified based on the position of the finger by the motion and the position of the reference point reset to the finger.
제11항에 있어서,
상기 복수의 키는,
가상의 키보드에 포함된 키들 중 상기 손가락이 포함된 손의 종류 및 상기 손가락의 종류에 기초하여 결정된 기준키 및 상기 가상의 키보드에 포함된 키들 중에서 상기 기준키와 인접한 적어도 2 개의 키를 포함하는, 제어 방법.
In Article 11,
The above multiple keys are,
A control method, comprising: a reference key determined based on the type of hand including the finger and the type of the finger among the keys included in the virtual keyboard; and at least two keys adjacent to the reference key among the keys included in the virtual keyboard.
제15항에 있어서,
상기 식별하는 단계는,
상기 모션에 의한 상기 손가락의 위치 및 상기 손가락에 설정된 기준점의 위치 사이의 거리가 기설정된 값 미만인 경우, 상기 손가락에 매핑된 복수의 키 중 기준키를 상기 모션에 대응되는 키인 것으로 식별하고,
상기 모션에 의한 상기 손가락의 위치 및 상기 손가락에 설정된 기준점의 위치 사이의 거리가 상기 기설정된 값 이상인 경우, 상기 모션에 의해 손가락이 이동된 방향에 기초하여 상기 손가락에 매핑된 복수의 키 중 상기 기준키로부터 상기 손가락이 이동된 방향에 위치한 키를 상기 모션에 대응되는 키인 것으로 식별하는, 제어 방법.
In Article 15,
The above identifying step is,
If the distance between the position of the finger due to the above motion and the position of the reference point set for the finger is less than a preset value, the reference key among the multiple keys mapped to the finger is identified as the key corresponding to the motion,
A control method for identifying a key located in the direction in which the finger is moved from the reference key among a plurality of keys mapped to the finger based on the direction in which the finger is moved by the motion as a key corresponding to the motion when the distance between the position of the finger by the motion and the position of the reference point set for the finger is greater than or equal to the preset value.
삭제delete 제11항에 있어서,
상기 설정하는 단계는,
상기 복수의 제1 이미지 프레임에서 검출된 복수의 손가락이 상기 트리거 포즈에 대응되는 것으로 식별되면, 가상의 키보드를 상기 디스플레이에 표시하는 단계;를 포함하고,
상기 가상의 키보드를 표시하는 단계는,
상기 문자 입력 모드에서 상기 모션에 대응되는 키가 식별되면, 상기 가상의 키보드에 포함된 키들 중 상기 식별된 키를 다른 키와 구별되도록 표시하는 단계;를 포함하는, 제어 방법.
In Article 11,
The steps to set up above are:
a step of displaying a virtual keyboard on the display when a plurality of fingers detected in the plurality of first image frames are identified as corresponding to the trigger pose;
The steps for displaying the above virtual keyboard are:
A control method, comprising: a step of, when a key corresponding to the motion is identified in the character input mode, displaying the identified key among the keys included in the virtual keyboard so as to be distinguished from other keys;
제18항에 있어서,
상기 가상의 키보드를 표시하는 단계는,
상기 모션에 대응되는 키가 상기 디스플레이에 표시된 정보를 삭제하기 위한 삭제 키인 경우, 상기 디스플레이에 표시된 정보를 삭제하며, 상기 정보를 삭제한 빈도수에 기초하여 상기 가상 키보드의 투명도를 조절하는 단계;를 포함하는, 제어 방법.
In Article 18,
The steps for displaying the above virtual keyboard are:
A control method comprising: a step of deleting information displayed on the display when the key corresponding to the motion is a delete key for deleting information displayed on the display, and adjusting the transparency of the virtual keyboard based on the frequency of deleting the information;
제11항에 있어서,
기설정된 사용자 명령이 입력되면, 상기 카메라를 활성화시키고, 상기 활성화된 카메라를 통해 상기 복수의 제1 이미지 프레임을 획득하는 단계;를 더 포함하고,
상기 기설정된 사용자 명령은,
텍스트 입력이 가능한 문서를 상기 디스플레이에 표시하기 위한 사용자 명령 또는 상기 디스플레이에 표시된 텍스트 입력 창을 선택하는 사용자 명령을 포함하는, 제어 방법.
In Article 11,
Further comprising a step of activating the camera and acquiring the plurality of first image frames through the activated camera when a preset user command is input;
The above preset user commands are:
A control method comprising a user command for displaying a document capable of text input on the display or a user command for selecting a text input window displayed on the display.
KR1020190178667A 2019-09-18 2019-12-30 Electronic apparatus and controlling method thereof Active KR102828234B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP20864743.8A EP4004695A4 (en) 2019-09-18 2020-07-09 Electronic apparatus and controlling method thereof
PCT/KR2020/009003 WO2021054589A1 (en) 2019-09-18 2020-07-09 Electronic apparatus and controlling method thereof
US16/925,489 US11709593B2 (en) 2019-09-18 2020-07-10 Electronic apparatus for providing a virtual keyboard and controlling method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190114836 2019-09-18
KR1020190114836 2019-09-18

Publications (2)

Publication Number Publication Date
KR20210033394A KR20210033394A (en) 2021-03-26
KR102828234B1 true KR102828234B1 (en) 2025-07-03

Family

ID=75259424

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190178667A Active KR102828234B1 (en) 2019-09-18 2019-12-30 Electronic apparatus and controlling method thereof

Country Status (1)

Country Link
KR (1) KR102828234B1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11899852B2 (en) 2021-05-06 2024-02-13 Samsung Electronics Co., Ltd. Electronic device and operation method thereof
KR20220151483A (en) * 2021-05-06 2022-11-15 삼성전자주식회사 Electronic device and operation method thereof
WO2023033301A1 (en) * 2021-09-06 2023-03-09 삼성전자 주식회사 Electronic device for acquiring user input through virtual keyboard and operating method thereof
EP4325345A4 (en) 2021-09-06 2024-08-14 Samsung Electronics Co., Ltd. ELECTRONIC DEVICE FOR CAPTURING USER INPUT VIA A VIRTUAL KEYBOARD AND OPERATING METHOD THEREFOR
WO2023234758A1 (en) * 2022-06-03 2023-12-07 주식회사 링커버스 Method, system, and non-transitory computer-readable recording medium for analyzing fingernails by using artificial intelligence models
US12373038B2 (en) 2022-11-29 2025-07-29 Samsung Electronics Co., Ltd. Electronic device for recognizing gesture and method for operating the same
KR102773910B1 (en) * 2024-07-25 2025-02-27 주식회사 플룸디 Method and apparatus for determining hand pose for control by using hand action

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012056864A1 (en) * 2010-10-28 2012-05-03 Wada Yoshihiro Input device, information apparatus provided with the input device, program for causing computer to function as input device, and method for using the input device to input characters
WO2012075197A2 (en) 2010-11-30 2012-06-07 Cleankeys Inc. Dynamically located onscreen keyboard
US20140157161A1 (en) * 2012-11-30 2014-06-05 Lenovo (Singapore) Pte. Ltd. Variable opacity on-screen keyboard
US20160018985A1 (en) * 2014-07-15 2016-01-21 Rotem Bennet Holographic keyboard display
US20160283105A1 (en) 2015-03-27 2016-09-29 Raghvendra Maloo Technologies for graphical user interface manipulations using multi-finger touch interactions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012056864A1 (en) * 2010-10-28 2012-05-03 Wada Yoshihiro Input device, information apparatus provided with the input device, program for causing computer to function as input device, and method for using the input device to input characters
WO2012075197A2 (en) 2010-11-30 2012-06-07 Cleankeys Inc. Dynamically located onscreen keyboard
US20140157161A1 (en) * 2012-11-30 2014-06-05 Lenovo (Singapore) Pte. Ltd. Variable opacity on-screen keyboard
US20160018985A1 (en) * 2014-07-15 2016-01-21 Rotem Bennet Holographic keyboard display
US20160283105A1 (en) 2015-03-27 2016-09-29 Raghvendra Maloo Technologies for graphical user interface manipulations using multi-finger touch interactions

Also Published As

Publication number Publication date
KR20210033394A (en) 2021-03-26

Similar Documents

Publication Publication Date Title
KR102828234B1 (en) Electronic apparatus and controlling method thereof
US11709593B2 (en) Electronic apparatus for providing a virtual keyboard and controlling method thereof
US11983823B2 (en) Transmodal input fusion for a wearable system
US20250103145A1 (en) Interactions with virtual objects for machine control
US12086323B2 (en) Determining a primary control mode of controlling an electronic device using 3D gestures or using control manipulations from a user manipulable input device
KR102857458B1 (en) Multimodal task execution and text editing for a wearable system
US11132063B2 (en) Information processing apparatus for interactively performing work based on input content in extended work space
US20200004403A1 (en) Interaction strength using virtual objects for machine control
US20130044912A1 (en) Use of association of an object detected in an image to obtain information to display to a user
KR20210023680A (en) Content creation in augmented reality environment
CN106845335A (en) Gesture identification method, device and virtual reality device for virtual reality device
EP4307096A1 (en) Key function execution method, apparatus and device, and storage medium
Ismail et al. Vision-based technique and issues for multimodal interaction in augmented reality
US9383919B2 (en) Touch-based text entry using hidden Markov modeling
US11169603B2 (en) Electronic apparatus and method for recognizing view angle of displayed screen thereof
US11054941B2 (en) Information processing system, information processing method, and program for correcting operation direction and operation amount
US20240069641A1 (en) Information processing apparatus, information processing method, and program
JP2022057931A (en) Display device, display method, program
CN114578956A (en) Equipment control method and device, virtual wearable equipment and storage medium
JP2023039767A (en) Display device, display method, and display system
KR20240065997A (en) Method and apparatus for recognizing handwriting input
JP2022013424A (en) Display device, display method, program

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20191230

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20221115

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20191230

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20241230

Patent event code: PE09021S01D

E90F Notification of reason for final refusal
PE0902 Notice of grounds for rejection

Comment text: Final Notice of Reason for Refusal

Patent event date: 20250324

Patent event code: PE09021S02D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20250604

PG1601 Publication of registration