[go: up one dir, main page]

KR20140103058A - Electronic device, method and computer readable recording medium for operating the electronic device - Google Patents

Electronic device, method and computer readable recording medium for operating the electronic device Download PDF

Info

Publication number
KR20140103058A
KR20140103058A KR1020140014856A KR20140014856A KR20140103058A KR 20140103058 A KR20140103058 A KR 20140103058A KR 1020140014856 A KR1020140014856 A KR 1020140014856A KR 20140014856 A KR20140014856 A KR 20140014856A KR 20140103058 A KR20140103058 A KR 20140103058A
Authority
KR
South Korea
Prior art keywords
descriptor
target
electronic device
determining
identification data
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.)
Withdrawn
Application number
KR1020140014856A
Other languages
Korean (ko)
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 US14/181,119 priority Critical patent/US20140232748A1/en
Publication of KR20140103058A publication Critical patent/KR20140103058A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20072Graph-based image processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Image Analysis (AREA)

Abstract

본 발명의 일 실시 예에 따른 전자 장치를 동작하는 방법은, 디지털 이미지로부터 적어도 하나의 객체(object)를 인식하는 동작을 포함하며, 상기 객체를 인식하는 동작은, 상기 디지털 이미지로부터 적어도 하나의 디스크립터(descriptor)를 생성하는 동작; 상기 적어도 하나의 디스크립터 및 적어도 하나의 레퍼런스 객체에 대응하는 식별 데이터에 적어도 일부 기초하여 상기 디지털 이미지상의 객체를 결정하는 동작; 및 상기 결정된 객체에 대응하는 레퍼런스 디스크립터들 및 상기 적어도 하나의 디스크립터에 적어도 일부 기초하여 상기 객체의 자세를 결정하는 동작;을 포함할 수 있다.
또한, 본 발명의 실시 예들은 다른 실시 예들이 가능하다.
A method of operating an electronic device in accordance with an embodiment of the present invention includes recognizing at least one object from a digital image, wherein the act of recognizing the object comprises: generating a descriptor; Determining an object on the digital image based at least in part on identification data corresponding to the at least one descriptor and the at least one reference object; And determining an orientation of the object based at least in part on the reference descriptors corresponding to the determined object and the at least one descriptor.
Further, the embodiments of the present invention are capable of other embodiments.

Description

전자 장치, 전자 장치를 동작하는 방법 및 컴퓨터 판독 가능한 기록 매체{ELECTRONIC DEVICE, METHOD AND COMPUTER READABLE RECORDING MEDIUM FOR OPERATING THE ELECTRONIC DEVICE}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to an electronic device, a method of operating the electronic device, and a computer readable recording medium.

본 발명의 다양한 실시 예들은 전자 장치를 동작하는 방법에 관한 것이다.Various embodiments of the present invention are directed to a method of operating an electronic device.

일반적으로 가상 현실(Virtual Reality; VR)이란 실제와 유사한 환경을 갖는 컴퓨터 그래픽으로 만들어진 환경 또는 상황을 말하며, 사람의 감각 기관을 통해 느끼게 하고, 실제로 상호작용하고 있는 것처럼 만들어주는 인터페이스를 의미한다. 사용자는 디바이스의 조작을 통하여 가상 현실과 실시간 상호 작용할 수 있고, 실제와 유사한 감각적 체험을 할 수 있다.Virtual Reality (VR) generally refers to an environment or situation created by computer graphics that has an actual environment similar to that of the real world. It refers to an interface that makes people feel and interact with each other through the senses. The user can interact with the virtual reality in real time through manipulation of the device, and can experience a sensory experience similar to the real one.

그리고, 증강 현실(Augmented Reality; AR)은 가상 현실의 한 분야로서 실제 환경에 가상 사물이나 정보를 합성하여 원래의 환경에 존재하는 사물처럼 보이도록 하는 컴퓨터 그래픽 기법이다. 이러한, 증강 현실은 사용자가 눈으로 보는 현실 세계에 가상 물체를 겹쳐 보여주는 기술로서, 현실 세계에 실시간으로 부가 정보와 가상 세계를 합쳐 하나의 영상으로 보여주므로 혼합 현실(Mixed Reality, MR)이라고도 한다.Augmented Reality (AR) is a field of virtual reality, which is a computer graphics technique that combines virtual objects or information into a real environment to make them appear as objects in the original environment. This augmented reality is a technique of superimposing virtual objects on the real world seen by the user. It is also referred to as mixed reality (MR) since the additional information and the virtual world are combined into one image in real time in the real world.

또한, 가상 현실 기술은 모바일 기기(예컨대, 스마트폰, 태블릿 PC 등)가 일반화됨에 따라 교육, 게임, 내비게이션, 광고, 또는 블로그와 같은 다양한 서비스에서도 자주, 쉽게 접할 수 있게 되었다. 최근 신체에 착용 가능한 웨어러블 장치(wearable device)가 상용화됨에 따라 가상 현실 기술에 관한 연구가 더욱 활발해지고 있다.In addition, as the mobile devices (e.g., smart phones, tablet PCs, etc.) become generalized, the virtual reality technology can be frequently accessed in various services such as education, game, navigation, advertisement, or blog. Recently wearable devices that can be worn on the body have been commercialized, and researches on virtual reality technology are becoming more active.

상기 증강 현실의 제공을 위해, 이미지 데이터 상에서 특징점(feature) 및 디스크립터(descriptor)를 계산하며, 이를 이용하여 상기 이미지 데이터 상의 객체를 인식하고, 인식한 객체의 초기 자세(pose)를 계산(localization)할 수 있다.In order to provide the augmented reality, a feature and a descriptor are calculated on the image data, and an object on the image data is recognized using the feature and a descriptor, and an initial posture (pose) can do.

그러나, 상기 객체 인식 및 초기 자세 계산을 위해서는 상당히 많은 연산량을 필요로 한다. 따라서, 전자 장치에서 객체 인식 및 초기 자세 계산을 수행할 경우 한정된 메모리의 크기로 인해 처리 속도가 느려질 수 있으며, 정확한 객체 인식이 어려울 수도 있다. 예컨대, 스마트폰 등과 같은 이동 단말에서는 메모리의 제약이 있기 때문에 적은 크기의 메모리로 정확한 객체 인식을 수행하는 것은 중요할 수 있다.However, a considerable amount of computation is required for the object recognition and initial posture calculation. Therefore, when the object recognition and the initial posture calculation are performed in the electronic device, the processing speed may be slowed due to the limited memory size, and accurate object recognition may be difficult. For example, in a mobile terminal such as a smart phone, since there is a memory limitation, it may be important to perform accurate object recognition with a small size memory.

따라서, 본 발명의 다양한 실시 예들은 객체 인식 과정에서 수행되는 쿼리(query) 과정과, 쿼리 과정의 결과로 출력된 객체의 초기 자세(pose)가 어떤지를 계산하는 초기 자세 계산(localization) 단계 수행시, 각 단계에 필요한 데이터만을 메모리에 로딩하여 연산하도록 처리함으로써 적은 크기의 메모리로도 정확하고 빠른 객체 인식이 가능한 전자 장치, 전자 장치를 동작하는 방법 및 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.Accordingly, various embodiments of the present invention can be applied to a method for performing a query process performed in an object recognition process and a localization process for calculating an initial posture of an object output as a result of a query process It is possible to provide an electronic device, a method of operating an electronic device, and a computer-readable recording medium that can perform accurate and quick object recognition even with a small-sized memory by processing only the data necessary for each step is loaded into the memory.

본 발명의 일 실시 예에 따르면, 전자 장치를 동작하는 방법은, 디지털 이미지로부터 적어도 하나의 객체(object)를 인식하는 동작을 포함하며, 상기 객체를 인식하는 동작은, 상기 디지털 이미지로부터 적어도 하나의 디스크립터(descriptor)를 생성하는 동작; 상기 적어도 하나의 디스크립터 및 적어도 하나의 레퍼런스 객체에 대응하는 식별 데이터에 적어도 일부 기초하여 상기 디지털 이미지상의 객체를 결정하는 동작; 및 상기 결정된 객체에 대응하는 레퍼런스 디스크립터들 및 상기 적어도 하나의 디스크립터에 적어도 일부 기초하여 상기 객체의 자세를 결정하는 동작;을 포함할 수 있다.According to an embodiment of the present invention, a method of operating an electronic device includes recognizing at least one object from a digital image, wherein the act of recognizing the object comprises: An operation for generating a descriptor; Determining an object on the digital image based at least in part on identification data corresponding to the at least one descriptor and the at least one reference object; And determining an orientation of the object based at least in part on the reference descriptors corresponding to the determined object and the at least one descriptor.

또한, 본 발명의 다른 실시 예에 따르면, 전자 장치는, 디지털 이미지를 저장하도록 구성된 메모리; 및 상기 디지털 이미지를 처리하도록 구성된 프로세서를 포함하며, 상기 프로세서는, 상기 디지털 이미지로부터 적어도 하나의 디스크립터(descriptor)를 생성하고, 상기 적어도 하나의 디스크립터 및 적어도 하나의 레퍼런스 객체에 대응하는 식별 데이터에 적어도 일부 기초하여 상기 디지털 이미지상의 객체를 결정하는 인식부; 및 상기 결정된 객체에 대응하는 레퍼런스 디스크립터들 및 상기 적어도 하나의 디스크립터에 적어도 일부 기초하여 상기 객체의 자세를 결정하는 초기 자세 계산부를 포함할 수 있다.Also according to another embodiment of the present invention, an electronic device comprises: a memory configured to store a digital image; And a processor configured to process the digital image, wherein the processor is configured to generate at least one descriptor from the digital image and to generate at least one descriptor corresponding to the at least one descriptor and the at least one reference object A recognition unit for determining an object on the digital image based on a part thereof; And an initial posture calculator for determining the posture of the object based at least in part on the reference descriptors corresponding to the determined object and the at least one descriptor.

한편, 상기 전자 장치를 동작하는 방법에 대한 정보는 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다. 이러한 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있도록 프로그램 및 데이터가 저장되는 모든 종류의 기록매체를 포함한다. 그 예로는, 롬(Read Only Memory), 램(Random Access Memory), CD(Compact Disk), DVD(Digital Video Disk)-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치, 임베디드 멀티미디어 카드(eMMC) 등이 있으며, 또한 케리어 웨이브(예를 들면, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함된다. 또한, 이러한 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.On the other hand, information on how to operate the electronic device can be stored in a computer-readable recording medium. Such a recording medium includes all kinds of recording media in which programs and data are stored so that they can be read by a computer system. Examples of the storage medium include a ROM, a Random Access Memory, a CD, a DVD, a magnetic tape, a floppy disk, an optical data storage device, an embedded multimedia card (eMMC) And the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet). Such a recording medium may also be distributed over a networked computer system so that computer readable code in a distributed manner can be stored and executed.

본 발명의 일 실시 예에 따르면, 이미지 데이터에서 특징점을 검출하여 객체 인식 및 초기 자세 계산을 수행할 때, 각 단계에 필요한 데이터만을 메모리에 로딩하여 연산하도록 처리함으로써 적은 크기의 메모리로도 정확하고 빠른 객체 인식이 가능하다.According to an embodiment of the present invention, when a minutiae is detected in image data to perform object recognition and initial posture calculation, only the data necessary for each step is loaded into a memory to be operated, Object recognition is possible.

또한, 본 발명의 실시 예에 따르면, 이미지 데이터에서 특징점을 검출하고, 검출된 특징점으로부터 디스크립터를 생성할 때, 인접 픽셀들과의 상대적인 밝기에 따른 속성에 기반하여 동일한 속성의 식별 데이터만을 로딩하여 처리함으로써 계산 성능을 개선시킬 수 있다.According to the embodiment of the present invention, when a feature point is detected from image data and a descriptor is generated from the detected feature points, only the identification data of the same attribute is loaded based on the attribute according to the brightness relative to the adjacent pixels The calculation performance can be improved.

또한, 본 발명의 실시 예에 따르면, 초기 자세 계산 단계에서 인식된 객체 내의 특징점에 대해서 매칭을 수행함으로써 높은 확률로 정확한 특징점 매칭을 수행할 수 있다.Also, according to the embodiment of the present invention, accurate feature point matching can be performed with high probability by performing matching with respect to feature points in the object recognized in the initial posture calculation step.

도 1은 본 발명의 다양한 실시 예들에 따른 전자 장치를 나타내는 블록도이다.
도 2는 본 발명의 실시 예에 따른 AR 처리부의 구조를 나타내는 블록도이다.
도 3은 본 발명의 실시 예에 따른 AR 처리부의 세부 구조를 나타내는 블록도이다.
도 4는 본 발명의 실시 예에 따른 시스템을 나타내는 도면이다.
도 5는 본 발명의 실시 예에 따른 전자 장치를 동작하는 절차를 나타내는 흐름도이다.
도 6은 본 발명의 다양한 실시 예에 따른 전자 장치를 동작하는 절차를 나타내는 흐름도이다.
도 7a는 본 발명의 실시 예에 따른 어두운 속성을 갖는 특징점을 나타내는 도면이다.
도 7b는 본 발명의 실시 예에 따른 밝은 속성을 갖는 특징점을 나타내는 도면이다.
도 8은 본 발명의 실시 예에 따른 메모리에 저장되는 데이터의 필드들을 나타내는 도면이다.
도 9는 본 발명의 실시 예에 따른 KD 트리 구조를 나타내는 도면이다.
도 10은 본 발명의 실시 예에 따른 최근접 이웃이 표시된 KD 트리 구조를 나타내는 도면이다.
도 11은 본 발명의 실시 예에 따른 전자 장치의 세부 구조를 나타내는 블록도이다.
도 12는 본 발명의 실시 예들이 적용될 수 있는 컴퓨터 장치의 소프트웨어 구조를 나타내는 블록도이다.
1 is a block diagram illustrating an electronic device in accordance with various embodiments of the present invention.
2 is a block diagram showing a structure of an AR processing unit according to an embodiment of the present invention.
3 is a block diagram showing a detailed structure of an AR processing unit according to an embodiment of the present invention.
4 is a diagram of a system according to an embodiment of the present invention.
5 is a flowchart illustrating a procedure for operating an electronic device according to an embodiment of the present invention.
6 is a flow diagram illustrating a procedure for operating an electronic device in accordance with various embodiments of the present invention.
7A is a diagram showing minutiae with dark attributes according to an embodiment of the present invention.
7B is a view showing feature points having bright attributes according to an embodiment of the present invention.
8 is a diagram illustrating fields of data stored in a memory according to an embodiment of the present invention.
9 is a diagram illustrating a KD tree structure according to an embodiment of the present invention.
10 is a diagram illustrating a KD tree structure in which a nearest neighbor is indicated according to an embodiment of the present invention.
11 is a block diagram showing a detailed structure of an electronic device according to an embodiment of the present invention.
12 is a block diagram illustrating a software structure of a computer apparatus to which embodiments of the present invention may be applied.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하여 상세하게 설명한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The present invention can be variously modified and may have various embodiments, and specific embodiments will be described in detail with reference to the drawings. It is to be understood, however, that the invention is not to be limited to the specific embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms including ordinals, such as first, second, etc., may be used to describe various elements, but the elements are not limited to these terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

본 발명의 실시 예들에서는 증강 현실(Augmented Reality; AR)의 구현을 위해 특징점 순차 분류(feature sequential classification)에 의한 다중 참조 이미지 인식(multiple reference image recognition)을 사용하는 방법 등을 개시한다.Embodiments of the present invention disclose a method of using multiple reference image recognition by feature sequential classification for implementation of augmented reality (AR).

한편, 후술하는 본 발명의 실시 예들에 대한 설명에서, '전자 장치'는 적어도 하나의 프로세서를 구비하는 임의의 장치일 수 있으며, 카메라, 휴대 장치, 이동 단말, 통신 단말, 휴대용 통신 단말, 휴대용 이동 단말 등을 포함할 수 있다. 예를 들어, 전자 장치는 디지털 카메라, 스마트폰, 휴대폰, 게임기, 텔레비전(TV), 디스플레이 장치, 차량용 헤드 유닛, 노트북 컴퓨터, 랩탑 컴퓨터, 태블릿(Tablet) 컴퓨터, PMP(Personal Media Player), PDA(Personal Digital Assistants), 내비게이션 장치, 은행의 ATM, 상점의 POS 장치 등일 수 있다. 또한, 본 발명의 실시 예들에서의 전자 장치는 플렉서블 장치 또는 플렉서블 디스플레이 장치일 수 있다. 또한, 본 발명의 실시 예들에서의 전자 장치는 웨어러블 장치(예컨대, 시계형 장치, 안경형 장치, 의류형 장치 등)일 수도 있다.In the following description of the embodiments of the present invention, an 'electronic device' may be any device having at least one processor and may be a camera, a portable device, a mobile terminal, a communication terminal, a portable communication terminal, A terminal, and the like. For example, the electronic device may be a digital camera, a smart phone, a mobile phone, a game machine, a television (TV), a display device, a car head unit, a notebook computer, a laptop computer, a tablet computer, Personal Digital Assistants), a navigation device, a bank ATM, a POS device in a store, and the like. Further, the electronic device in the embodiments of the present invention may be a flexible device or a flexible display device. Further, the electronic device in the embodiments of the present invention may be a wearable device (e.g., a watch device, a spectacles device, a clothes device, etc.).

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시 예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings, so that those skilled in the art can easily carry out the present invention.

먼저, 도 1 내지 도 4를 참조하여 본 발명의 실시 예에 따른 시스템 및 장치의 구조를 설명하며, 다음으로 도 5 및 도 6을 참조하여 본 발명의 실시 예에 따른 절차를 상세히 설명한다.First, a structure of a system and an apparatus according to an embodiment of the present invention will be described with reference to FIG. 1 to FIG. 4, and then a procedure according to an embodiment of the present invention will be described in detail with reference to FIG. 5 and FIG.

도 1은 본 발명의 다양한 실시 예들에 따른 전자 장치를 나타내는 블록도이다. 도 1을 참조하면, 본 발명의 실시 예에 따른 전자 장치(100)는 AR 처리부(AR processing unit)(101) 또는 AR 콘텐츠 관리부(AR content management unit)(102)를 포함하여 구성될 수 있다. 또한, 본 발명의 실시 예에 따른 전자 장치(100)는 레퍼런스 정보 DB(database)(103), 콘텐츠 정보 DB(104), 저장부(105), CPU(106), GPU(107) 등을 더 포함할 수도 있다.1 is a block diagram illustrating an electronic device in accordance with various embodiments of the present invention. Referring to FIG. 1, an electronic device 100 according to an embodiment of the present invention may include an AR processing unit 101 or an AR content management unit 102. The electronic device 100 according to the embodiment of the present invention further includes a reference information database 103, a content information DB 104, a storage unit 105, a CPU 106, a GPU 107, .

상기 시스템은 AR 처리부(101)는 카메라, 미디어, 오디오 및 다중 센서 입력 모듈들과 같은 몇 개의 입력부들로부터 데이터를 입력받을 수 있다. 센서 입력들은 예컨대, 가속도계, 자이로스코프, 자기 센서, 온도 센서, 중력 센서 등으로부터의 입력들을 포함할 수 있다.The system allows the AR processing unit 101 to receive data from several inputs, such as cameras, media, audio, and multiple sensor input modules. The sensor inputs may include inputs from, for example, accelerometers, gyroscopes, magnetic sensors, temperature sensors, gravity sensors, and the like.

상기 AR 처리부(101)는 입력 데이터에 대한 필수적인 처리를 위해 저장부(105), CPU(106) 및 GPU(107)를 사용할 수 있다. 상기 AR 처리부(101)는 또한 대상들을 식별(identification)하고 인식(recognizing)하기 위해 레퍼런스 정보 DB(103)를 사용할 수 있다. 상기 AR 처리부(101)의 출력은 예를 들면, 식별 정보(identification information) 및 자세 정보(localization information)를 포함할 수 있다.The AR processing unit 101 can use the storage unit 105, the CPU 106 and the GPU 107 for necessary processing for input data. The AR processing unit 101 can also use the reference information DB 103 to identify and recognize objects. The output of the AR processing unit 101 may include, for example, identification information and localization information.

상기 자세 정보는 상기 대상 객체의 2D/3D 자세(pose)를 결정하는데 사용될 수 있다. 상기 식별 정보는 상기 대상이 무엇인지를 결정하는 데 이용될 수 있다. AR 콘텐츠 관리부(102)는 AR 처리부(101)의 출력과 원격 또는 로컬 콘텐츠 정보 DB(104)로부터의 콘텐츠로 최종 비디오/오디오 출력을 구성(organize)하기 위해 사용될 수 있다.The posture information may be used to determine a 2D / 3D pose of the target object. The identification information may be used to determine what the object is. The AR content manager 102 may be used to organize the final video / audio output into an output from the AR processor 101 and content from a remote or local content information DB 104. [

도 2는 본 발명의 일 실시 예에 따라, 상기 도 1에 도시된 AR 처리부(101)의 구성을 나타내는 도면이다. 도 2를 참조하면, 본 발명의 실시 예에 따른 AR 처리부(101)는 제어부(210), 인식부(Recognition unit)(220), 초기 자세 계산부(Localization unit)(230), 추적부(Tracking unit)(240) 중 적어도 하나의 구성부를 포함할 수 있다.FIG. 2 is a diagram showing a configuration of the AR processing unit 101 shown in FIG. 1 according to an embodiment of the present invention. 2, an AR processing unit 101 according to an embodiment of the present invention includes a control unit 210, a recognition unit 220, an initialization unit 230, a tracking unit unit (240).

제어부(210)는 인식부(220)를 통한 인식 처리 또는 추적부(240)를 통한 트래킹 처리로의 분기를 결정할 수 있다. 인식부(220) 및 추적부(240)의 처리가 병렬적으로 실행될 수 있는 동안, 이러한 제어부(210)는 주어진 입력을 사용하여 최적화된 처리를 위한 최상의 결정을 한다. 예컨대, AR 처리부(101)를 통한 주 처리는 '인식(recognition)', '초기 자세 계산(localization)', 및 '트래킹(tracking)'의 3 단계들을 포함할 수 있다.The control unit 210 can determine the branch to the recognition process through the recognition unit 220 or the tracking process through the tracking unit 240. [ While the processing of the recognition unit 220 and the tracking unit 240 can be executed in parallel, this control unit 210 makes the best decision for the optimized processing using the given input. For example, the main processing through the AR processing unit 101 may include three steps of 'recognition', 'initialization', and 'tracking'.

상기 인식부(220)는 필요하다면 적어도 부분적으로 로컬 레퍼런스 정보 DB(103) 또는 원격 레퍼런스 정보 DB를 통해 제공된 레퍼런스 정보(reference information)에 기반하여 대상 객체를 위한 식별을 수행할 수 있다.The recognition unit 220 may perform identification for the target object based at least in part on reference information provided through the local reference information DB 103 or the remote reference information DB if necessary.

일부 예들에서, 상기 인식부(220)는 인식된 특정 대상에 대한 레퍼런스 정보를 필요로 할 수 있다. 상기 레퍼런스 정보는 도 1에 도시된 바와 같이 전자 장치(100)의 내부에 구비된 로컬 레퍼런스 정보 DB(103)일 수도 있으며, 도 4에서와 같이 원격지에 구성된 레퍼런스 정보 DB(440)일 수도 있다. 예를 들면, 얼굴 인식의 경우에 있어서, 인증된 얼굴들을 인식하고, 서로 다른 얼굴들을 식별하기 위해 외부의 레퍼런스 얼굴 데이터베이스를 참조할 수 있다. 한편, QR(Quick Response) 코드는 일반적으로, 데이터베이스에서 QR 코드를 인식하기 위해 일부 특정한 규칙들만을 필요로 하고 통상의 경우들에서는 동적으로 업데이트되지 않아도 되기 때문에, 전자장치의 내부 레퍼런스 데이터를 가질 수 있다. In some examples, the recognition unit 220 may require reference information on the recognized specific object. The reference information may be a local reference information DB 103 provided inside the electronic device 100 as shown in FIG. 1, or a reference information DB 440 configured at a remote location as shown in FIG. For example, in the case of face recognition, it is possible to recognize authenticated faces and refer to an external reference face database to identify different faces. On the other hand, a QR (Quick Response) code generally requires only some specific rules for recognizing QR codes in the database, and is not usually updated dynamically in a normal case, so that it can have internal reference data of an electronic device have.

초기 자세 계산부(230)는 인식된 대상 객체들의 초기 자세를 계산(localization)할 수 있다. 계속해서, 상기 추적부(240)는 동적으로 객체의 자세를 계산하여 대상 객체의 추적을 계속할 수 있으며, 상기 객체의 자세를 측정하기 위한 초기 정보는 초기 자세 계산부(230)의 출력으로부터 얻어진다. 마지막으로, 상기 추적부(240)는 객체의 자세를 포함하는 인식 정보 및 초기 자세 정보의 기본적인 출력을 가질 수 있다.The initial posture calculation unit 230 may calculate the initial posture of the recognized target objects. Subsequently, the tracking unit 240 can dynamically calculate the posture of the object to continue tracking of the object, and the initial information for measuring the posture of the object is obtained from the output of the initial posture calculation unit 230 . Lastly, the tracking unit 240 may have a basic output of recognition information and initial posture information including an object posture.

도 3은 본 발명의 실시 예에 따른 AR 처리부를 보다 세부적으로 나타내는 블록도이다. 예컨대, 도 2에 도시된 AR 처리부(101)에 포함된 각 처리 블록을 위한 세부 기능부들이 도 3과 같이 도시될 수 있다.3 is a block diagram showing an AR processing unit according to an embodiment of the present invention in more detail. For example, the detailed functions for each processing block included in the AR processing unit 101 shown in FIG. 2 may be shown in FIG.

도 3을 참조하면, 인식부(220)는 특징점 검출부(feature detection unit)(221), 디스크립터 계산부(descriptor calculation unit)(222), 및 이미지 검색(image query unit)(223)의 세부 단계들을 포함할 수 있다.3, the recognition unit 220 includes detailed steps of a feature detection unit 221, a descriptor calculation unit 222, and an image query unit 223 .

상기 특징점 검출부(221)는 이미지 데이터가 입력되는 경우, 상기 입력 이미지 데이터에서 특징점을 검출할 수 있다. 상기 특징점 검출부(221)는 상기 검출된 특징점들을 상기 디스크립터 계산부(222)로 전송할 수 있다. The feature point detector 221 can detect a feature point in the input image data when the image data is input. The feature point detector 221 may transmit the detected feature points to the descriptor calculator 222.

상기 디스크립터 계산부(222)는 상기 특징점 검출부(221)로부터 수신된 상기 검출된 특징점을 이용하여 디스크립터를 계산하여 생성하고, 상기 생성된 디스크립터를 상기 이미지 검색부(223)로 전송할 수 있다.The descriptor calculator 222 may calculate a descriptor using the detected minutiae received from the minutia matching detector 221, generate the descriptor, and transmit the generated descriptor to the image searcher 223.

상기 디스크립터 계산부(222)는 본 발명의 다양한 실시 예들에 따라 상기 디지털 이미지 상의 하나 또는 그 이상의 물체를 인식하도록 구성되고, 상기 물체의 인식을 위해 사용될 디스크립터(descriptor)를 결정할 수 있다.The descriptor calculator 222 may be configured to recognize one or more objects on the digital image according to various embodiments of the present invention and may determine a descriptor to be used for recognition of the object.

상기 디스크립터 계산부(222)는 상기 물체의 인식을 위해 사용될 디스크립터(descriptor)를 결정하기 위해, 상기 이미지 상의 특징점(feature)의 위치, 방향, 및/또는 스케일(scale) 중의 적어도 일부를 이용하여, 상기 디스크립터를 결정할 수 있다.The descriptor calculator 222 may use at least some of the position, direction, and / or scale of the feature on the image to determine a descriptor to be used for recognition of the object, The above descriptor can be determined.

상기 디스크립터 계산부(222)는 상기 물체의 인식을 위해 사용될 디스크립터(descriptor)를 결정하기 위해, 상기 특징점 주위의 영역 내에 위치한 픽셀들의 밝기 변화들(gradients)를 결정할 수 있다. 상기 디스크립터 계산부(222)는 상기 특징점의 방향과 상이한 비 직교하는(non-orthogonal) 두 개 이상의 고정된 방향들을 기준으로, 상기 픽셀들의 밝기 변화들(gradients)를 결정할 수 있다. 상기 디스크립터 계산부(222)는 상기 고정된 방향들을 기준으로 결정된 밝기 변화들을 상기 특징점의 방향에 맞추어 변환할 수 있다.The descriptor calculator 222 may determine the brightness gradients of the pixels located in the area around the feature point so as to determine a descriptor to be used for recognition of the object. The descriptor calculator 222 may determine the brightness gradients of the pixels based on two or more non-orthogonal fixed directions that are different from the direction of the feature point. The descriptor calculator 222 may convert the brightness changes determined based on the fixed directions to the direction of the feature point.

상기 디스크립터 계산부(222)는 상기 특징점 주위의 영역을 설정하고, 상기 특징점 주위의 영역은 상기 특징점의 방향 및 그에 직교하는 방향을 기준으로 분할된 영역들을 포함하며, 상기 분할된 영역들은 그 경계에서 서로 중첩시킬 수 있다.The descriptor calculator 222 sets an area around the feature point, and an area around the feature point includes divided areas based on a direction of the feature point and a direction orthogonal thereto, They can overlap each other.

상기 이미지 검색부(223)는 상기 디스크립터 계산부(222)로부터 수신된 상기 계산된 디스크립터를 이용하여, 로컬 레퍼런스 정보 DB(103) 또는 원격 레퍼런스 정보 DB(440)에서 상기 입력 이미지 데이터에 대응되는 레퍼런스 이미지 데이터를 검출하고, 상기 검출된 적어도 하나의 레퍼런스 이미지 데이터를 통해 상기 입력 이미지 데이터 상의 객체를 인식할 수 있다.The image retrieval unit 223 retrieves the reference information corresponding to the input image data from the local reference information DB 103 or the remote reference information DB 440 using the calculated descriptor received from the descriptor calculation unit 222, The image data may be detected and an object on the input image data may be recognized through the detected at least one reference image data.

상기 초기 자세 계산부(230)는 상기 입력된 이미지 데이터에서 특징점 검출을 통해 확인된 객체에 대한 초기 자세(pose)를 계산(localization)할 수 있다. 상기 초기 자세 계산부(230)는 특징점 매칭부(Feature matching unit)(231)와 초기 자세 추정부(Initial Pose estimation unit)(232)를 포함할 수 있다.The initial posture calculation unit 230 may calculate an initial posture for an object identified through the minutiae detection in the input image data. The initial posture calculation unit 230 may include a feature matching unit 231 and an initial pose estimation unit 232.

상기 특징점 매칭부(231)는 상기 인식부(220)로부터 수신된 상기 계산된 디스크립터를 이용하여 상기 특징점에 대한 매칭 동작을 수행하고, 상기 특징점에 대한 매칭 정보를 상기 초기 자세 추정부(232)로 전송할 수 있다.The feature point matching unit 231 performs a matching operation on the feature points using the calculated descriptor received from the recognition unit 220 and outputs matching information about the feature points to the initial posture estimation unit 232 Lt; / RTI >

상기 초기 자세 추정부(232)는 상기 특징점 매칭부(231)로부터 수신된 특징점에 대한 매칭 정보를 통해, 상기 입력 이미지 데이터에 포함된 객체에 대한 초기자세를 추정할 수 있다.The initial posture estimating unit 232 may estimate the initial posture of the object included in the input image data through the matching information on the minutiae received from the minutiae matching unit 231. [

상기 추적부(240)는 순차적으로 입력되는 이미지 데이터에서 객체에 대한 자세 변화를 동적으로 추적할 수 있다.The tracking unit 240 can dynamically track changes in the posture with respect to the object in sequentially input image data.

상기 추적부(240)는 상기 초기 자세 계산부(230)로부터 상기 입력 이미지 데이터의 객체에 대한 초기자세를 추정할 수 있는 초기정보를 획득하고, 이후 순차적으로 수신되는 각각의 이미지 데이터에서 객체를 지속적으로 추적(tracking)하여, 상기 객체에 대한 자세(pose) 변화를 동적으로 계산할 수 있다. 상기 추적부(240)는 순차적으로 수신되는 상기 입력 이미지 데이터 각각에서 상기 객체의 종류를 나타내는 인식정보 및 상기 객체의 자세를 나타내는 로컬 정보를 출력할 수 있다.The tracking unit 240 acquires initial information that can estimate an initial posture of the object of the input image data from the initial posture calculation unit 230, , And can dynamically calculate a pose change for the object. The tracking unit 240 may output recognition information indicating the type of the object and local information indicating the posture of the object in each of the sequentially received input image data.

또한, 상기 추적부(240)는 자세 예측부(Object pose prediction unit)(241), 특징점 검출부(Feature detection unit)(242), 디스크립터 계산부(Descriptors calculation unit)(243), 특징점 매칭부(Feature matching unit)(244) 및 자세 추정부(Pose estimation unit)(245)를 포함할 수 있다.The tracking unit 240 includes an object pose prediction unit 241, a feature detection unit 242, a descriptors calculation unit 243, a feature point matching unit 242, a matching unit 244 and a pose estimation unit 245. [

상기 자세 예측부(241)는 이전에 입력된 적어도 하나의 입력 이미지데이터 각각에서 추정된 객체의 자세를 통해, 다음 입력 이미지데이터 상의 객체에 대한 자세를 예측할 수 있다.The posture predicting unit 241 can predict the posture of the object on the next input image data through the posture of the object estimated in each of the previously input at least one input image data.

상기 특징점 검출부(242)는 상기 입력 이미지 데이터에 포함된 객체에 대한 초기 자세 추정 이후 순차적으로 수신되는 입력 이미지 데이터에서 특징점들을 검출하고, 상기 검출된 특징점들을 상기 디스크립터 계산부(243)로 전송할 수 있다.The minutia detection unit 242 may detect minutiae points in the input image data sequentially received after the initial posture estimation for the object included in the input image data and transmit the detected minutiae points to the descriptor calculator 243 .

상기 디스크립터 계산부(243)는 상기 특징점 검출부(242)로부터 수신된 상기 입력 이미지데이터의 특징점들을 이용하여 디스크립터를 계산하고, 상기 계산된 디스크립터를 상기 특징점 매칭부(244)로 전송할 수 있다.The descriptor calculator 243 may calculate descriptors using the feature points of the input image data received from the feature point detector 242 and may transmit the calculated descriptors to the feature point matching unit 244. [

상기 특징점 매칭부(244)는 상기 디스크립터 계산부(243)로부터 수신된 상기 계산된 디스크립터를 이용하여 특징점들에 대한 매칭 동작을 수행하고, 상기 특징점에 대한 매칭 정보를 자세 추정부(245)로 전송할 수 있다.The feature point matching unit 244 performs a matching operation on the feature points using the calculated descriptor received from the descriptor calculator 243 and transmits the matching information about the feature points to the attitude estimator 245 .

상기 자세 추정부(245)는 상기 특징점 매칭부(244)로부터 수신된 상기 특징점들에 대한 매칭 정보를 이용하여, 순차적으로 수신된 적어도 하나의 입력 이미지 데이터 각각에서 객체에 대한 자세 변화를 동적으로 추정하고, 각 입력 이미지 데이터에 포함된 객체의 종류를 나타내는 인식정보와 상기 객체의 자세를 나타내는 로컬 정보를 출력할 수 있다.The posture estimating unit 245 dynamically estimates the posture change of the object in each of at least one input image data sequentially received using the matching information on the minutiae points received from the minutiae matching unit 244 And output recognition information indicating the type of object included in each input image data and local information indicating the posture of the object.

도 4는 본 발명의 실시 예에 따른 시스템을 나타내는 도면이다. 도 4를 참조하면, 본 발명의 실시 예에 따른 시스템은 전자 장치(410), 통신 네트워크(420) 및 콘텐츠 서버(430)를 포함하여 구성될 수 있다.4 is a diagram of a system according to an embodiment of the present invention. Referring to FIG. 4, a system according to an embodiment of the present invention may include an electronic device 410, a communication network 420, and a content server 430.

상기 전자 장치(400)는 상기 도 1에서 상술한 전자 장치(100)의 기능들 중 적어도 일부 또는 전부를 포함할 수 있다.The electronic device 400 may include at least some or all of the functions of the electronic device 100 described above with reference to FIG.

상기 통신 네트워크(420)는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 또한, 상기 통신 네트워크(420)는 공지의 월드와이드웹(WWW; World Wide Web)일 수 있으며, 적외선(Infrared Data Association; IrDA) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선전송기술을 이용할 수도 있다. 또한, 상기 통신 네트워크(420)는 방송 신호를 수신하기 위한 케이블 방송 통신망, 지상파 방송 통신망, 위성 방송 통신망 등을 포함할 수도 있다.The communication network 420 may be configured without regard to its communication mode such as wired and wireless, and may be a personal area network (PAN), a local area network (LAN), a metropolitan area Network), a wide area network (WAN), and the like. Also, the communication network 420 may be a known World Wide Web (WWW) and may use a wireless transmission technology used for short-distance communication such as Infrared Data Association (IrDA) or Bluetooth It is possible. In addition, the communication network 420 may include a cable broadcasting communication network, a terrestrial broadcasting communication network, a satellite broadcasting communication network, or the like for receiving broadcast signals.

콘텐츠 서버(430)는 본 발명의 실시 예에 따라 이미지에 포함된 객체의 인식, 인식된 객체의 초기 자세 계산, 객체의 추적 중에서 적어도 하나의 기능을 수행할 수 있다. 예컨대, 도 1의 전자 장치(100) 내에서 처리될 수 있는 본 발명의 실시 예에 따른 각종 기능들을 상기 도 4의 전자 장치(410) 및 콘텐츠 서버(430)가 분배 또는 분산하여 처리할 수도 있다.The content server 430 may perform at least one of recognition of an object included in an image, calculation of an initial posture of a recognized object, and tracking of an object according to an embodiment of the present invention. For example, various functions according to an embodiment of the present invention, which may be processed in the electronic device 100 of FIG. 1, may be distributed or distributed by the electronic device 410 and the content server 430 of FIG. 4 .

또한, 상기 콘텐츠 서버(430)는 레퍼런스 정보 DB(440) 및 콘텐츠 정보 DB(450)를 포함할 수 있으며, 전자 장치(410)의 요청에 따라 레퍼런스 정보 DB(440) 및 콘텐츠 정보 DB(450)에 저장된 레퍼런스 정보 또는 콘텐츠 정보를 전자 장치(410)로 제공할 수 있다.The content server 430 may include a reference information DB 440 and a content information DB 450. The content server 450 may include a reference information DB 440 and a content information DB 450, And provide the electronic device 410 with reference information or content information stored in the electronic device 410.

한편, 본 발명의 실시 예에서 각 기능부 및 모듈이라 함은, 본 발명의 실시 예의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 각 기능부는 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 실시 예의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.Meanwhile, in the embodiment of the present invention, each functional unit and module may mean a functional and structural combination of hardware for performing the technical idea of the embodiment of the present invention and software for driving the hardware. For example, each functional unit may refer to a logical unit of a predetermined code and a hardware resource for executing the predetermined code, and may be a code physically connected to the functional unit, But can be easily deduced to the average expert in the field of embodiments of the invention.

또한, 상기 도 1 내지 도 4 중 하나 이상과 관련하여 설명된 구현들은 도 11 및/또는 도 12에서 도시된 시스템 또는 장치의 적어도 일부일 수 있다. 상기 도면들과 설명들은 다양한 구현들을 제공하며, 본 개시의 범위를 제한하기 위해 의도되지 않는다. 상기 설명 및 도시된 구현들은 본 발명에 개시된 다양한 실시 예들에 적용하기 위해 조정될 수 있다. 당업자는 위에 설명 및/또는 도시된 하나 이상의 구성요소들이 본 명세서에 개시된 실시 예들에서 생략, 변경될 수 있다. 추가로, 다른 구성요소들은 본 명세서에 설명된 실시 예들의 필요에 따라 추가될 수 있다. 본 명세서에 설명된 실시 예들에서, 하나 이상의 방법들, 단계들 또는 알고리즘들이 상기 구현들에서 설명 및/또는 도시된 하나 이상의 구성요소들을 사용하여 실행될 수 있다.Further, the implementations described in connection with one or more of the above FIGS. 1-4 may be at least a part of the system or apparatus shown in FIG. 11 and / or FIG. The figures and descriptions provide various implementations and are not intended to limit the scope of the disclosure. The above description and the illustrated implementations may be adapted for application to the various embodiments disclosed herein. Those skilled in the art will recognize that one or more of the elements described and / or illustrated above may be omitted or changed in the embodiments disclosed herein. In addition, other elements may be added as needed to the embodiments described herein. In the embodiments described herein, one or more methods, steps or algorithms may be implemented using one or more of the components described and / or shown in the above described implementations.

이하, 도 5 내지 도 10을 참조하여 본 발명의 실시 예에 따라 상기 인식부(220) 및/또는 상기 초기 자세 계산부(230)를 통해 객체를 인식하고, 이미지에 포함된 객체의 초기 자세를 계산하는 방법을 상세히 설명하기로 한다.5 to 10, an object is recognized through the recognition unit 220 and / or the initial posture calculation unit 230 according to an embodiment of the present invention, and an initial posture of an object included in the image is determined The calculation method will be described in detail.

증강 현실에서의 인식(Recognition) 과정은 '이미지가 어떤 객체(object)를 포함하고 있는지를 알아내는 쿼리(query) 과정'과 상기 쿼리 과정의 결과로 인식된 객체의 초기 자세가 어떤지를 계산하는 초기 자세 계산(localization) 단계로 구분될 수 있다. 본 발명의 실시 예에서는 상기 각 단계에 필요한 데이터만을 메모리에 로딩(loading)시켜 사용함으로써, 작은 크기의 메모리(memory)로도 빠르고 정확한 객체 인식 및 자세 추정이 가능한 방법을 개시한다.The recognition process in the augmented reality includes a query process of finding out which object an image includes and an initial process of calculating an initial posture of the object recognized as a result of the query process And a localization step. According to the embodiment of the present invention, only data necessary for each step are loaded into a memory, and a method of quickly and accurately recognizing an object and attitude estimation using a small-sized memory is disclosed.

도 5는 본 발명의 실시 예에 따른 전자 장치를 동작하는 절차를 나타내는 흐름도이다. 도 5를 참조하면, 동작 501에서, 이미지가 입력되면, 동작 503에서 입력된 이미지상에서의 특징점(feature point)을 검출하고, 디스크립터(descriptor)를 생성할 수 있다.5 is a flowchart illustrating a procedure for operating an electronic device according to an embodiment of the present invention. Referring to FIG. 5, at operation 501, when an image is input, at operation 503, a feature point on the input image may be detected and a descriptor may be generated.

동작 505에서는, 대상 객체 결정을 위해 식별 데이터만을 메모리에 로딩(loading)함으로써 메모리 사용의 효율을 높일 수 있다. 동작 507에서는 상기 검출된 특징점과 로딩된 식별 데이터(예컨대, KD 트리 데이터)로부터 객체를 인식함으로써 대상 객체를 결정할 수 있다.In operation 505, the efficiency of memory use can be increased by loading only the identification data into the memory in order to determine the target object. In operation 507, the target object can be determined by recognizing the object from the detected feature point and the loaded identification data (e.g., KD tree data).

동작 509에서는 레퍼런스 디스크립터(reference descriptor)를 메모리에 로딩하고, 동작 511에서는 로딩된 레퍼런스 디스크립터를 이용하여 대상 객체의 자세를 결정할 수 있다.In operation 509, a reference descriptor is loaded into the memory. In operation 511, the loaded reference descriptor may be used to determine a posture of the target object.

도 6은 본 발명의 다양한 실시 예에 따른 전자 장치를 동작하는 절차를 나타내는 흐름도이다. 도 6은 도 5의 보다 세부적인 실시 예일 수 있다.6 is a flow diagram illustrating a procedure for operating an electronic device in accordance with various embodiments of the present invention. Figure 6 may be a more detailed embodiment of Figure 5.

도 6을 참조하면, 본 발명의 실시 예에 따른 전자 장치는 동작 603에서 가장 먼저 로컬 저장소 혹은 서버(예컨대, 콘텐츠 서버)로부터 쿼리(query) 단계를 위한 KD 트리를 메모리로 로딩할 수 있다. 이때, 본 발명의 다양한 실시 예에 따라 어두운 특징점에 대한 KD 트리와 밝은 특징점에 대한 KD 트리를 구분하여 로딩할 수도 있다. 한편, 본 발명의 실시 예에 따라 상기 단계에서 레퍼런스 특징점(reference feature)들에 대한 디스크립터(descriptor)는 로딩하지 않을 수 있다. 이와 같이 함으로써 메모리 사용의 효율을 높이고 처리 속도를 향상시킬 수 있다.Referring to FIG. 6, an electronic device according to an embodiment of the present invention may initially load a KD tree for a query step from a local repository or server (e.g., a content server) into memory at an operation 603. At this time, KD tree for dark feature points and KD tree for bright feature points may be separately loaded according to various embodiments of the present invention. Meanwhile, according to the embodiment of the present invention, the descriptor for the reference features may not be loaded at this stage. By doing so, the efficiency of memory use can be increased and the processing speed can be improved.

동작 601에서 이미지(image) 데이터가 입력되면 동작 605에서 입력된 이미지 데이터로부터 특징점(feature)을 검출할 수 있다. 상기 특징점을 검출하는 방법은 FAST, AGAST, Moravec corner detector, Harris & Stephens corner detector, SUSAN 등이 될 수 있으며, 본 발명이 상기 방법들에 한정되지는 않는다. 또한, 상기 검출된 특징점들에 대해 분석(description)을 수행함으로써 디스크립터(descriptor)를 생성할 수 있다. 상기 분석(description)을 위한 방법으로는 BRIEF, SIFT, SURF, FREAK 등 다양한 방법이 적용될 수 있으며, 본 발명이 상기 방법들에 한정되는 것은 아니다.If image data is input in operation 601, a feature may be detected from the image data input in operation 605. The method for detecting the feature points may be FAST, AGAST, Moravec corner detector, Harris & Stephens corner detector, SUSAN, and the present invention is not limited thereto. Further, a descriptor may be generated by performing a description on the detected minutiae. Various methods such as BRIEF, SIFT, SURF, and FREAK may be applied as the method for the description, and the present invention is not limited to the above methods.

또한, 본 발명의 다양한 실시 예들에 따라, 상기 검출된 각 특징점들에 대해 주변 픽셀에 비해 밝은 특징점에는 밝음(bright) 속성을, 주변 픽셀에 비해 어두운 특징점에는 어두움(dark) 속성을 부여할 수 있다. 도 7a는 본 발명의 실시 예에 따른 어두운 속성을 갖는 특징점을 나타내는 도면이고, 도 7b는 본 발명의 실시 예에 따른 밝은 속성을 갖는 특징점을 나타내는 도면이다.In addition, according to various embodiments of the present invention, for each detected feature point, a bright attribute may be assigned to a bright feature point, and a dark attribute may be assigned to a dark feature point relative to surrounding pixels, . FIG. 7A is a view showing feature points having dark attributes according to an embodiment of the present invention, and FIG. 7B is a view showing feature points having bright attributes according to an embodiment of the present invention.

동작 607에서 상기 특징점들은 쿼리 단계에 사용되기 전에 마스킹(masking) 과정을 거칠 수 있다. 상기 쿼리 단계란 새로운 객체를 찾아내기 위한 것이므로 전체 이미지상에서 이미 인식되어 추적(tracking) 되고 있는 객체에 대한 영역은 제외할 수 있다. 따라서, 특징점들 중에서 추적된 객체(tracked object)의 영역에서 검출된 것들은 마스킹(masking)을 하여 이후의 매칭(matching) 과정에서 제외시킬 수 있다.In operation 607, the feature points may be masked before being used in the query step. Since the query step is for finding a new object, it is possible to exclude an area for an object that is already recognized and tracked on the entire image. Therefore, among the minutiae, those detected in the area of the tracked object can be masked and excluded in the subsequent matching process.

상기에서 마스킹 되지 않은 특징점들은 본 발명의 실시 예에 따라 KD 트리를 이용하여 레퍼런스 객체(reference object)들의 특징점들과 매칭을 한다. 본 발명의 다양한 실시 예에 따라 상기 KD 트리는 밝은 특징점 매칭을 위한 KD 트리와 어두운 특징점 매칭을 위한 KD 트리로 구분되어 사용될 수 있다.The unmasked feature points are matched with the feature points of the reference objects using the KD tree according to an embodiment of the present invention. According to various embodiments of the present invention, the KD tree can be divided into a KD tree for bright feature point matching and a KD tree for dark feature point matching.

만약, 동작 609에서 상기 특징점의 속성이 '밝음(bright)'의 속성을 갖는다면 '어두움(dark)'의 속성을 갖는 특징점들과 매칭할 필요가 없다. 따라서, 동작 611에서 밝은 KD 트리를 사용하여 비교를 수행할 수 있다. 반면, 동작 609에서 상기 특징점의 속성이 '어두움'의 속성을 갖는다면 '밝음'의 속성을 갖는 특징점들과 매칭할 필요가 없다. 따라서, 동작 613에서 어두운 KD 트리를 사용하여 비교를 수행할 수 있다. 이와 같이, 본 발명의 실시 예에 따라 밝음 및 어두움의 속성에 따라 매칭을 하게 되면 전체 특징점을 대상으로 매칭할 때보다 정상적으로 매칭될 확률이 높아질 수 있다.If the attribute of the feature point has a property of 'bright' in operation 609, it is not necessary to match the feature point having the attribute of 'dark'. Thus, at operation 611, a comparison can be performed using a light KD tree. On the other hand, if the attribute of the feature point has an attribute of 'darkness' in operation 609, it is not necessary to match with the feature points having the property of 'brightness'. Thus, at operation 613, a comparison can be performed using a dark KD tree. As described above, according to the embodiment of the present invention, if matching is performed according to the attributes of lightness and darkness, the probability of matching normally can be higher than when matching all feature points.

한편, KD 트리 구조는 도 9에 도시된 바와 같이 나타낼 수 있다. 상기에서 상술한 특징점 디스크립터는 다차원 백터(multi-dimensional vector)이다. 도 9를 참조하면, KD 트리의 내부 노드(internal node)에는 비교할 차원(dimension)과 비교할 값(value)이 포함될 수 있다. 따라서, 예컨대 비교할 차원 이 4번째이고, 값이 0.5라면 입력된 특징점 디스크립터의 4번째 값을 0.5와 비교한다. 상기 비교 결과, 0.5보다 작으면 좌측 자식 노드(left child node)로 내려가고, 0.5보다 크면 우측 자식 노드(right child node)로 내려간다. 상기 과정을 리프 노드(leaf node)에 도달할 때까지 반복하여 수행할 수 있다. 상기 각 리프 노드에는 최종 매칭된 특징점 디스크립터가 속한 레퍼런스 객체의 ID가 매핑되어 있다.On the other hand, the KD tree structure can be represented as shown in FIG. The feature descriptor described above is a multi-dimensional vector. Referring to FIG. 9, an internal node of the KD tree may include a dimension to be compared with a value to be compared. Thus, for example, if the dimension to be compared is fourth and the value is 0.5, the fourth value of the input minutiae descriptor is compared with 0.5. As a result of the comparison, if the value is less than 0.5, it goes to a left child node, and if it is greater than 0.5, it goes to a right child node. The above process can be repeatedly performed until reaching a leaf node. Each leaf node is mapped with an ID of a reference object to which the feature point descriptor finally matched.

동작 615에서는 상기 검색된 객체의 ID를 이용하여 히스토그램(histogram)에서 대응되는 ID의 빈도 수를 증가시킬 수 있다. 이때, 마스킹 되지 않은 모든 특징점들을 KD 트리를 이용하여 매칭시키고 대응되는 객체 ID의 빈도 수를 증가시키면 각 객체 ID에 대한 히스토그램이 생성될 수 있다. 상기 히스토그램에서 특정 임계값(threshold) 이상인 객체 ID들은 쿼리 과정의 결과가 될 수 있다.In operation 615, the frequency of IDs corresponding to the histogram may be increased by using the ID of the searched object. At this time, a histogram for each object ID can be generated by matching all the un-masked feature points using the KD tree and increasing the frequency of the corresponding object ID. Object IDs that are above a certain threshold in the histogram may be the result of the query process.

이와 같이 검색된 객체들은 현재 이미지 내에 존재할 확률이 높다. 따라서, 이후 각 객체에 대해서 초기 자세 계산(localization) 과정을 통해 상기 객체가 실제로 이미지상에 존재하는지 검증을 하고, 상기 객체의 초기 자세(pose)를 계산하는 과정을 거친다.The retrieved objects are highly likely to be present in the current image. Therefore, after each object is localized, it is verified whether the object is actually present on the image, and the initial pose of the object is calculated.

상기에서는 히스토그램의 빈도 수를 증가시키는 방법을 설명했다. 이때, 본 발명의 다양한 실시 예에 따라 상기 히스토그램의 빈도 수를 증가시키는 방법에도 여러 가지 변형된 실시 예들이 존재할 수 있다.In the above description, a method of increasing the frequency of the histogram has been described. At this time, according to various embodiments of the present invention, various modified embodiments may also exist in the method of increasing the frequency of the histogram.

예컨대, 도 10에 도시된 바와 같이 입력된 특징점이 KD 트리 내의 특정 리프 노드에 도달하면, 해당 노드 이외에 n개의 최근접 이웃(nearest neighborhood) 노드들을 고려할 수 있다. 레퍼런스 객체(reference object)의 수가 많아지게 되면 정확한 매칭의 성공률이 점차 떨어질 수 있다. 따라서, 하나의 리프 노드를 통해 객체를 인식하기보다 본 발명의 다양한 실시 예에 따라 주변 노드의 비슷한 값을 갖는 특징점들도 찾아내어 상기 히스토그램에 반영하면 보다 더 정확한 쿼리의 결과물을 얻을 수 있다.For example, as shown in FIG. 10, when the inputted minutiae reaches a specific leaf node in the KD tree, n nearest neighborhood nodes can be considered in addition to the corresponding node. As the number of reference objects increases, the success rate of accurate matching may gradually decrease. Accordingly, rather than recognizing the object through one leaf node, the minutiae having similar values of the neighboring nodes are also found according to various embodiments of the present invention, and the result of the query can be obtained more accurately by being reflected in the histogram.

상기 n개의 최근점 이웃(nearest neighborhood)을 고려하는 방법은 도 10에 도시된 바와 같이 나타낼 수 있다. 도 10을 참조하면, 만약 입력된 특징점이 리프 노드 (a)에 도달하고, 상기 리프 노드 (a)에 대해 3개의 최근접 이웃을 고려한다면 부모 노드(parent node)로 2 회 올라간 후, 그 아래에 있는 자식 노드들은 예컨대, 리프 노드 (b), (c), (d) 등 3개의 최근접 이웃이 된다. 도 10을 참조하면, 상기 리프 노드에 도착하기 전까지 거의 공통적인 내부의 노드 테스트를 통과했으므로 리프 노드 (a), (b), (c), (d)의 디스크립터는 서로 유사할 수 있다.A method of considering the n nearest neighborhoods can be represented as shown in FIG. Referring to FIG. 10, if the input minutiae reaches the leaf node a and takes three closest neighbors for the leaf node a, it goes up to the parent node twice, (B), (c), (d), and so on. Referring to FIG. 10, the nodes of the leaf nodes (a), (b), (c), and (d) may be similar to each other because they have passed through an internal node test that is almost common until arriving at the leaf node.

이와 같이, 4개의 리프 노드들이 결정되면 각 리프 노드에 해당하는 객체의 ID를 히스토그램상에서 증가시킨다. 이때, 본 발명의 다양한 실시 예에 따라 각 ID마다 모두 동일한 가중치를 주면서 증가시킬 수도 있고, 리프 노드들의 거리가 가까울수록(예컨대, KD 트리상에서 짧은 경로를 갖는 리프 노드일수록) 높은 가중치를 주는 방법이 있을 수 있다. 동작 617에서는 상기 히스토그램에 의해 가장 가능성이 높은(most probable object) 객체의 ID를 결정할 수 있다.Thus, if four leaf nodes are determined, the ID of the object corresponding to each leaf node is increased on the histogram. At this time, according to various embodiments of the present invention, it is possible to increase all the IDs with the same weight, or to give a higher weight to the leaf nodes closer to each other (for example, leaf node having a shorter path on the KD tree) Can be. In operation 617, the ID of the most probable object may be determined by the histogram.

이와 같이, 쿼리 단계가 완료되면, 동작 619 내지 동작 625를 통해 초기 자세 계산(localization) 단계가 수행될 수 있다.As such, when the query phase is completed, an initial posture localization step may be performed through operations 619 through 625. [

한편, 도 8을 참조하면, 메모리 또는 스토리지(storage)에는 도시된 바와 같이 쿼리 단계를 위한 식별 데이터(예컨대, KD 트리)와 각 객체별 디스크립터들이 구별되어 저장될 수 있다. 이때, 본 발명의 실시 예에 따라 동작 619에서 먼저 찾아낸 객체의 ID에 해당하는 디스크립터만을 메모리에 로딩하여 사용함으로써 메모리의 사용 효율 및 처리 속도를 높일 수 있다.Referring to FIG. 8, identification data (for example, a KD tree) for a query step and descriptors for each object may be separately stored in a memory or a storage as shown in FIG. At this time, according to the embodiment of the present invention, only the descriptor corresponding to the ID of the object found first in operation 619 is loaded into the memory and used, thereby improving the efficiency and processing speed of the memory.

동작 621에서 상기 메모리 로딩된 디스크립터는 초기 자세 계산 단계에서의 매칭을 위해 직접적으로 KD 트리를 만드는데 사용될 수 있다. 이때에도 본 발명의 실시 예에 따라 더 높은 매칭 확률을 위해 밝음 및 어두움 속성을 고려하여 두 종류의 KD 트리를 생성할 수 있다.At operation 621, the memory loaded descriptor may be used to directly create a KD tree for matching in the initial posture calculation step. At this time, according to the embodiment of the present invention, two kinds of KD trees can be generated considering the brightness and the darkness property for a higher matching probability.

또한, 마스킹 되지 않은 입력된 특징점들을 다시 한번 KD 트리를 통해 레퍼런스 특징점들과 매칭할 수 있다. 이때, 상기 쿼리 단계에서 사용된 KD 트리는 모든 레퍼런스 객체로부터 추출된 특징점들과 매칭하는 역할을 하는 반면, 초기 자세 계산 단계에서 사용되는 KD 트리는 한 객체 내의 특징점과 매칭을 수행하는 역할을 한다. 이와 같이, 초기 자세 계산 단계에서의 KD 트리는 매칭 대상이 하나의 객체로 한정되기 때문에 높은 확률로 정확한 특징점 매칭을 수행할 수 있다.In addition, non-masked input minutiae can be matched with reference minutiae again through the KD tree. At this time, the KD tree used in the query step matches with the minutiae extracted from all reference objects, while the KD tree used in the initial attitude calculation step performs matching with the minutiae in one object. As described above, since the KD tree in the initial posture calculation step is limited to a single object to be matched, accurate feature point matching can be performed with a high probability.

상기 특징점 매칭을 통해 입력된 특징점과 레퍼런스 특징점 간의 매칭 쌍이 생성될 수 있다. 이 중 정상적으로 매칭된 쌍도 있고, 잘못 매칭된 쌍도 존재할 수 있다. 상기 잘못 매칭된 쌍을 필터링하기 위해 RANSAC, PROSAC, MLESAC, M-estimator 등의 방법이 사용될 수 있다. 상기 정상적으로 매칭된 쌍이 결정되면 동작 623에서는 상기 쌍으로부터 객체의 자세를 계산할 수 있다. 상기 자세 계산에는 p3p 알고리즘 등 다양한 방법이 사용될 수 있으며, 본 발명의 실시 예들이 특정 방법에 한정되는 것은 아니다. 만약 매칭 쌍이 특정 임계값(threshold)보다 적다면 해당 객체는 실제로 이미지상에 존재하지 않을 가능성이 높다. 따라서 상기 객체는 무시할 수 있다.A matching pair between the input minutiae and the reference minutiae through the minutia matching can be generated. There may be pairs that are normally matched, and pairs that are not matched correctly. A method such as RANSAC, PROSAC, MLESAC, and M-estimator can be used to filter the erroneously matched pairs. If the normally matched pair is determined, an operation 623 may calculate the posture of the object from the pair. Various methods such as p3p algorithm can be used for the calculation of the posture, and the embodiments of the present invention are not limited to the specific method. If the matching pair is less than a certain threshold, then the object is likely not actually on the image. Therefore, the object can be ignored.

이와 같이 자세 추정(Pose Estimation) 과정이 끝나고, 쿼리 단계에서 찾은 객체 중에 초기 자세 계산 단계를 수행하지 않는 객체가 있다면, 해당 객체를 대상으로 다시 초기 자세 계산 단계를 수행할 수 있다. 이때, 상기 초기 자세 계산 단계 수행하기 전, 동작 625에서는 앞에서 찾은 객체에 속하는 특징점들을 마스킹할 수 있다.After the pose estimation process ends and the object found in the query step has an object that does not perform the initial posture calculation step, the initial posture calculation step can be performed again on the object. At this time, before performing the initial posture calculation step, in operation 625, the minutiae points belonging to the object found previously can be masked.

상기와 같이 본 발명의 실시 예에 따라 객체를 인식하고, 객체의 초기 자세를 계산하는 전자 장치(100)는 제어부(프로세서)를 구비하는 임의의 장치일 수 있으며, 카메라, 휴대 장치, 이동 단말, 통신 단말, 휴대용 통신 단말, 휴대용 이동 단말 등으로 칭할 수 있다. 예를 들어, 전자 장치는 디지털 카메라, 스마트폰, 휴대폰, 게임기, 텔레비전(TV), 디스플레이 장치, 차량용 헤드 유닛, 노트북 컴퓨터, 랩탑 컴퓨터, 태블릿(Tablet) 컴퓨터, PMP(Personal Media Player), PDA(Personal Digital Assistants), 내비게이션 장치, 은행의 ATM, 상점의 POS 장치 등일 수 있다. 또한, 본 발명에서의 전자 장치는 플렉서블 장치 또는 플렉서블 디스플레이 장치일 수 있다.As described above, the electronic device 100 for recognizing an object and calculating an initial posture of an object according to an embodiment of the present invention may be any device including a controller, and may be a camera, a portable device, a mobile terminal, A communication terminal, a portable communication terminal, a portable mobile terminal, or the like. For example, the electronic device may be a digital camera, a smart phone, a mobile phone, a game machine, a television (TV), a display device, a car head unit, a notebook computer, a laptop computer, a tablet computer, Personal Digital Assistants), a navigation device, a bank ATM, a POS device in a store, and the like. Further, the electronic device in the present invention may be a flexible device or a flexible display device.

이하, 도 11을 참조하여, 본 발명의 실시 예들이 적용될 수 있는 전자 장치(100)의 세부 구조를 예로서 설명하기로 한다.Hereinafter, with reference to FIG. 11, a detailed structure of an electronic device 100 to which embodiments of the present invention can be applied will be described as an example.

도 11은 본 발명의 실시 예에 따른 전자 장치(100)의 세부 구조를 나타내는 블록도이다. 도 11을 참조하면, 본 발명의 실시 예에 따른 전자 장치(100)는 제어부(110), 이동 통신 모듈(120), 멀티미디어 모듈(140), 카메라 모듈(150), 입/출력 모듈(160), 센서 모듈(170), 상태 지시부(171), 저장부(175), 전원 공급부(180), 터치 스크린(190) 중에서 적어도 하나 이상을 포함할 수 있다.11 is a block diagram showing the detailed structure of an electronic device 100 according to an embodiment of the present invention. 11, an electronic device 100 according to an exemplary embodiment of the present invention includes a controller 110, a mobile communication module 120, a multimedia module 140, a camera module 150, an input / output module 160, A sensor module 170, a status instruction unit 171, a storage unit 175, a power supply unit 180, and a touch screen 190. [

보다 구체적으로 설명하면, 전자 장치(100)는 이동 통신 모듈(120), 커넥터(165), 및 이어폰 연결잭(167) 중 적어도 하나를 이용하여 외부 전자 장치(도시되지 아니함)와 연결될 수 있다. 또한, 전자 장치(100)는 유선 또는 무선을 이용하여 다른 휴대 장치 또는 전자 장치, 예를 들어, 휴대폰, 스마트폰, 태블릿 PC, 데스크탑 PC 및 서버 중의 하나와 연결될 수 있다.More specifically, the electronic device 100 may be connected to an external electronic device (not shown) using at least one of the mobile communication module 120, the connector 165, and the earphone connection jack 167. In addition, the electronic device 100 may be connected to one of other portable or electronic devices, such as a mobile phone, a smart phone, a tablet PC, a desktop PC, and a server, using wire or wireless.

통신 모듈(120)은 이동통신 모듈(121), 서브 통신 모듈(130) 및 방송 통신 모듈(141)을 포함할 수 있다. 서브 통신 모듈(130)은 무선랜 모듈(131) 및 근거리 통신 모듈(132) 중 적어도 하나를 포함할 수 있다. 멀티미디어 모듈(140)은 오디오 재생 모듈(142) 및 동영상 재생 모듈(143) 중 적어도 하나를 포함할 수 있다. 카메라 모듈(150)은 제1 카메라(151) 및 제2 카메라(152) 중 적어도 하나를 포함할 수 있다. 또한, 카메라 모듈(150)은 플래쉬(153), 모터부(154), 경통부(155)를 더 포함할 수 있다. 그리고, 입/출력 모듈(160)은 버튼(161), 마이크(162), 스피커(163), 진동 소자(164), 커넥터(165) 및 키패드(166) 중 적어도 하나를 포함할 수 있다.The communication module 120 may include a mobile communication module 121, a sub communication module 130, and a broadcasting communication module 141. The sub communication module 130 may include at least one of a wireless LAN module 131 and a local communication module 132. The multimedia module 140 may include at least one of an audio reproducing module 142 and a moving picture reproducing module 143. The camera module 150 may include at least one of a first camera 151 and a second camera 152. The camera module 150 may further include a flash 153, a motor unit 154, and a barrel unit 155. The input / output module 160 may include at least one of a button 161, a microphone 162, a speaker 163, a vibration element 164, a connector 165 and a keypad 166.

제어부(110)는 CPU(111), 전자 장치(100)의 제어를 위한 제어 프로그램이 저장된 롬(ROM(Read Only Memory), 112) 및 전자 장치(100)의 외부로부터 입력되는 신호 또는 데이터를 기억하거나, 전자 장치(100)에서 수행되는 작업을 위한 기억 영역으로 사용되는 램(RAM(Random Access Memory), 113)을 포함할 수 있다. CPU(111)는 싱글 코어, 듀얼 코어, 트리플 코어 또는 쿼드 코어를 포함할 수 있다. CPU(111), 롬(112) 및 램(113)은 내부 버스(bus)를 통해 상호 연결될 수 있다.The control unit 110 stores a ROM (Read Only Memory) 112 storing a control program for controlling the electronic apparatus 100 and a signal or data input from the outside of the electronic apparatus 100 Or a RAM (Random Access Memory) 113 used as a storage area for a job to be performed in the electronic device 100. The CPU 111 may include a single core, a dual core, a triple core, or a quad core. The CPU 111, the ROM 112, and the RAM 113 may be interconnected via an internal bus.

또한, 제어부(110)는 통신 모듈(120), 멀티미디어 모듈(140), 카메라 모듈(150), 입/출력 모듈(160), 센서 모듈(170), 저장부(175), 전원 공급부(180), 터치 스크린(190) 및 터치 스크린 컨트롤러(195) 중 적어도 하나를 제어할 수 있다.The control unit 110 includes a communication module 120, a multimedia module 140, a camera module 150, an input / output module 160, a sensor module 170, a storage unit 175, a power supply unit 180, The touch screen 190, and the touch screen controller 195, as shown in FIG.

또한, 제어부(110)는 입력 유닛(168)이 터치 스크린(190)에 접근하거나, 그에 근접하게 위치함에 따른 호버링(Hovering) 이벤트와 같은 사용자 입력 이벤트를 감지할 수 있다. 또한, 제어부(110)는 상기 터치 스크린(190)뿐만 아니라 카메라 모듈(150), 입/출력 모듈(160), 및 센서모듈(170) 등을 통해 수신되는 다양한 사용자 입력을 검출할 수 있다. 상기 사용자 입력은 상기 터치뿐만 아니라, 사용자의 제스쳐, 음성, 눈동자 움직임, 홍채 인식, 생체신호 등 상기 장치(100) 내로 입력되는 다양한 형태의 정보를 포함할 수 있다. 제어부(110)는 상기 검출된 사용자 입력에 대응하는 미리 정해진 동작 또는 기능이 장치(100) 내에서 수행되도록 제어할 수 있다. 또한, 제어부(110)는 제어 신호를 입력 유닛(168) 또는 진동 소자(164)로 출력할 수 있다. 이러한 제어 신호는 진동 패턴에 대한 정보를 포함할 수 있으며, 입력 유닛(168) 또는 진동 소자(164)는 이러한 진동 패턴에 따른 진동을 생성한다.The control unit 110 may also detect a user input event, such as a hovering event, as the input unit 168 approaches or is located proximate the touch screen 190. The control unit 110 may detect various user inputs received through the camera module 150, the input / output module 160, and the sensor module 170 as well as the touch screen 190. The user input may include various types of information input into the apparatus 100 such as a gesture, a voice, a pupil movement, an iris recognition, a biological signal, etc. of the user. The control unit 110 may control the predetermined operation or function corresponding to the detected user input to be performed in the apparatus 100. [ Further, the control unit 110 can output the control signal to the input unit 168 or the vibration element 164. This control signal may include information about the vibration pattern, and the input unit 168 or the vibration element 164 generates vibration according to the vibration pattern.

또한, 전자 장치(100)는 성능에 따라 이동 통신 모듈(121), 무선랜 모듈(131), 및 근거리 통신 모듈(132) 중 적어도 하나를 포함할 수 있다.In addition, the electronic device 100 may include at least one of a mobile communication module 121, a wireless LAN module 131, and a local communication module 132 according to performance.

이동 통신 모듈(121)은 제어부(110)의 제어에 따라 적어도 하나-하나 또는 복수-의 안테나(도시되지 아니함)를 이용하여 이동 통신을 통해 전자 장치(100)가 외부 전자 장치와 연결되도록 할 수 있다. 이동 통신 모듈(121)은 전자 장치(100)에 입력되는 전화번호를 가지는 휴대폰(도시되지 아니함), 스마트폰(도시되지 아니함), 태블릿 PC 또는 다른 전자 장치(도시되지 아니함)와 음성 통화, 화상 통화, 문자메시지(SMS) 또는 멀티미디어 메시지(MMS)를 위한 무선 신호를 송/수신할 수 있다.The mobile communication module 121 may control the electronic device 100 to be connected to an external electronic device through mobile communication using at least one or more than one antenna (not shown) under the control of the controller 110 have. The mobile communication module 121 is connected to a mobile phone (not shown) having a telephone number input to the electronic device 100, a smart phone (not shown), a tablet PC or other electronic device (not shown) And may transmit / receive wireless signals for calls, text messages (SMS) or multimedia messages (MMS).

서브 통신 모듈(130)은 무선랜 모듈(131)과 근거리 통신 모듈(132) 중 적어도 하나를 포함할 수 있다. 예를 들어, 무선랜 모듈(131)만 포함하거나, 근거리 통신 모듈(132)만 포함하거나 또는 무선랜 모듈(131)과 근거리 통신 모듈(132)을 모두 포함할 수 있다.The sub communication module 130 may include at least one of a wireless LAN module 131 and a local area communication module 132. For example, it may include only the wireless LAN module 131, only the short range communication module 132, or both the wireless LAN module 131 and the short range communication module 132.

무선랜 모듈(131)은 제어부(110)의 제어에 따라 무선 액세스 포인트(AP, Access Point)가 설치된 장소에서 인터넷에 연결될 수 있다. 무선랜 모듈(131)은 미국전기전자학회(IEEE)의 무선랜 규격(IEEE 802.11x)을 지원할 수 있다. 근거리 통신 모듈(132)은 제어부(110)의 제어에 따라 전자 장치(100)와 외부 전자 장치 사이에 무선으로 근거리 통신을 할 수 있다. 근거리 통신 방식은 블루투스(bluetooth), 적외선 통신(IrDA, infrared data association), 와이파이 다이렉트(WiFi-Direct) 통신, NFC(Near Field Communication) 등이 포함될 수 있다.The wireless LAN module 131 may be connected to the Internet at a place where a wireless access point (AP) is installed under the control of the controller 110. [ The wireless LAN module 131 may support the IEEE 802.11x standard of the Institute of Electrical and Electronics Engineers (IEEE). The short-range communication module 132 can perform short-range wireless communication between the electronic device 100 and the external electronic device under the control of the controller 110. [ The short-distance communication method may include bluetooth, infrared data association (IrDA), WiFi-Direct communication, and Near Field Communication (NFC).

방송 통신 모듈(141)은 제어부(110)의 제어에 따라 방송통신 안테나(도시되지 아니함)를 통해 방송국에서부터 송출되는 방송 신호(예, TV방송 신호, 라디오방송 신호 또는 데이터방송 신호) 및 방송부가 정보(예, EPG(Electric Program Guide) 또는 ESG(Electric Service Guide))를 수신할 수 있다.The broadcast communication module 141 receives a broadcast signal (e.g., a TV broadcast signal, a radio broadcast signal, or a data broadcast signal) transmitted from a broadcast station through a broadcast communication antenna (not shown) under the control of the controller 110, (E. G., An Electric Program Guide (EPG) or an Electric Service Guide (ESG)).

멀티미디어 모듈(140)은 오디오 재생 모듈(142) 또는 동영상 재생 모듈(143)을 포함할 수 있다. 오디오 재생 모듈(142)은 제어부(110)의 제어에 따라 저장부(175)에 저장되거나 또는 수신되는 디지털 오디오 파일(예컨대, 파일 확장자가 mp3, wma, ogg 또는 wav인 파일)을 재생할 수 있다. 동영상 재생 모듈(143)은 제어부(110)의 제어에 따라 저장되거나 또는 수신되는 디지털 동영상 파일(예컨대, 파일 확장자가 mpeg, mpg, mp4, avi, mov, 또는 mkv인 파일)을 재생할 수 있다. 이때, 멀티미디어 모듈(140)은 제어부(110)에 통합될 수도 있다.The multimedia module 140 may include an audio reproducing module 142 or a moving picture reproducing module 143. The audio reproduction module 142 may reproduce a digital audio file (for example, a file having a file extension of mp3, wma, ogg, or wav) stored or received in the storage unit 175 under the control of the controller 110. [ The moving picture playback module 143 may play back digital moving picture files (for example, files having file extensions mpeg, mpg, mp4, avi, mov, or mkv) stored or received under the control of the controller 110. [ At this time, the multimedia module 140 may be integrated into the controller 110. [

카메라 모듈(150)은 제어부(110)의 제어에 따라 정지 이미지 또는 동영상 또는 파노라마 사진을 촬영하는 제1 카메라(151) 및 제2 카메라(152) 중 적어도 하나를 포함할 수 있다. 또한, 카메라 모듈(150)은 피사체를 촬영하기 위해 줌 인/줌 아웃을 수행하는 경통부(155), 상기 경통부(155)의 움직임을 제어하는 모터부(154), 피사체를 촬영하기 위해 필요한 보조 광원을 제공하는 플래시(153) 중 적어도 하나를 포함할 수 있다. 제1 카메라(151)는 상기 전자 장치(100) 전면에 배치되고, 제2 카메라(152)는 상기 전자 장치(100)의 후면에 배치될 수 있다. The camera module 150 may include at least one of a first camera 151 and a second camera 152 for capturing a still image, a moving image, or a panoramic image under the control of the control unit 110. [ The camera module 150 includes a barrel section 155 for zooming in / zooming out to photograph a subject, a motor section 154 for controlling the movement of the barrel section 155, an auxiliary light source And a flash 153 that provides a flash memory. The first camera 151 may be disposed on the front surface of the electronic device 100 and the second camera 152 may be disposed on the rear surface of the electronic device 100.

입/출력 모듈(160)은 적어도 하나의 버튼(161), 적어도 하나의 마이크(162), 적어도 하나의 스피커(163), 적어도 하나의 진동 소자(164), 커넥터(165), 키패드(166), 이어폰 연결잭(167) 및 입력 유닛(168) 중 적어도 하나를 포함할 수 있다. 그리고, 이러한 입/출력 모듈(160)은 이에 국한되지 않으며, 마우스, 트랙볼, 조이스틱 또는 커서 방향 키들과 같은 커서 컨트롤(cursor control)이 터치 스크린(190) 상의 커서의 움직임을 제어하기 위해 제공될 수 있다.The input / output module 160 includes at least one button 161, at least one microphone 162, at least one speaker 163, at least one vibration element 164, a connector 165, a keypad 166, An earphone connection jack 167, and an input unit 168. In addition, This input / output module 160 is not limited to this, and a cursor control such as a mouse, trackball, joystick or cursor direction keys may be provided for controlling the movement of the cursor on the touch screen 190 have.

버튼(161)은 상기 전자 장치(100)의 하우징(또는 케이스)의 전면, 측면 또는 후면에 형성될 수 있으며, 전원/잠금 버튼, 볼륨 버튼, 메뉴 버튼, 홈 버튼, 돌아가기 버튼(back button) 및 검색 버튼 중 적어도 하나를 포함할 수 있다. 마이크(162)는 제어부(110)의 제어에 따라 음성(voice) 또는 소리를 입력받아 전기적인 신호를 생성할 수 있다. 스피커(163)는 제어부(110)의 제어에 따라 다양한 신호 또는 데이터(예를 들어, 무선 데이터, 방송 데이터, 디지털 오디오 데이터, 디지털 동영상 데이터 등)에 대응되는 소리를 전자 장치(100)의 외부로 출력할 수 있다. 스피커(163)는 전자 장치(100)가 수행하는 기능에 대응되는 소리(예를 들어, 전화 통화에 대응되는 버튼 조작음, 통화 연결음, 상대방 사용자의 음성 등)를 출력할 수 있다. 스피커(163)는 상기 전자 장치(100)의 하우징의 적절한 위치 또는 위치들에 하나 또는 복수로 형성될 수 있다.A button 161 may be formed on the front, side, or rear of the housing (or case) of the electronic device 100 and may include a power / lock button, a volume button, a menu button, a home button, And a search button. The microphone 162 may receive voice or sound under the control of the controller 110 to generate an electrical signal. The speaker 163 outputs sound corresponding to various signals or data (for example, wireless data, broadcast data, digital audio data, digital moving picture data, etc.) to the outside of the electronic device 100 under the control of the controller 110 Can be output. The speaker 163 can output a sound corresponding to the function performed by the electronic device 100 (for example, a button operation sound corresponding to a telephone call, a ring back tone, a voice of the other user). The speaker 163 may be formed at one or a plurality of positions at appropriate positions or positions of the housing of the electronic device 100.

진동 소자(164)는 제어부(110)의 제어에 따라 전기적 신호를 기계적 진동으로 변환할 수 있다. 예를 들어, 진동 모드에 있는 전자 장치(100)는 다른 장치(도시되지 아니함)로부터 음성 또는 화상 통화가 수신되는 경우, 진동 소자(164)가 동작한다. 진동 소자(164)는 상기 전자 장치(100)의 하우징 내에 하나 또는 복수로 형성될 수 있다. 진동 소자(164)는 터치 스크린(190)을 통한 사용자 입력에 대응하여 동작할 수 있다.The vibration element 164 can convert the electrical signal into mechanical vibration under the control of the control unit 110. [ For example, when the electronic device 100 in the vibration mode receives a voice or video call from another device (not shown), the vibration device 164 operates. The vibration element 164 may be formed in the housing of the electronic device 100 in one or more. The vibrating element 164 may operate in response to user input through the touch screen 190.

커넥터(165)는 상기 전자 장치(100)와 외부 전자 장치 또는 전원 소스(도시되지 아니함)를 연결하기 위한 인터페이스로 이용될 수 있다. 제어부(110)는 커넥터(165)에 연결된 유선 케이블을 통해 전자 장치(100)의 저장부(175)에 저장된 데이터를 외부 전자 장치로 전송하거나 외부 전자 장치로부터 데이터를 수신할 수 있다. 전자 장치(100)는 커넥터(165)에 연결된 유선 케이블을 통해 전원 소스로부터 전력을 수신하거나, 전원 소스를 이용하여 배터리(도시되지 아니함)를 충전할 수 있다.The connector 165 may be used as an interface for connecting the electronic device 100 to an external electronic device or a power source (not shown). The control unit 110 can transmit data stored in the storage unit 175 of the electronic device 100 to an external electronic device or receive data from the external electronic device via a wired cable connected to the connector 165. [ The electronic device 100 may receive power from a power source via a wired cable connected to the connector 165, or may charge a battery (not shown) using a power source.

키패드(166)는 전자 장치(100)의 제어를 위해 사용자로부터 키 입력을 수신할 수 있다. 키패드(166)는 전자 장치(100)에 형성되는 물리적인 키패드(도시되지 아니함) 또는 터치 스크린(190)에 표시되는 가상의 키패드(도시되지 아니함)를 포함할 수 있다. 전자 장치(100)에 형성되는 물리적인 키패드는 전자 장치(100)의 성능 또는 구조에 따라 제외될 수 있다. 이어폰(도시되지 아니함)은 이어폰 연결잭(Earphone Connecting Jack, 167)에 삽입되어 상기 전자 장치(100)에 연결될 수 있다. The keypad 166 may receive key input from a user for control of the electronic device 100. The keypad 166 may include a physical keypad (not shown) formed on the electronic device 100 or a virtual keypad (not shown) displayed on the touch screen 190. The physical keypad formed on the electronic device 100 may be excluded depending on the performance or structure of the electronic device 100. An earphone (not shown) may be inserted into an earphone connecting jack 167 and connected to the electronic device 100.

입력 유닛(168)은 전자 장치(100) 내부에 삽입되어 보관될 수 있으며, 사용시에는 상기 전자 장치(100)로부터 인출 또는 분리될 수 있다. 이러한, 입력 유닛(168)이 삽입되는 전자 장치(100) 내부의 일 영역에는 상기 입력 유닛(168)의 장착 및 탈착에 대응하여 동작하는 탈/부착 인식 스위치(169)가 구비되어 있고, 탈/부착 인식 스위치(169)는 상기 입력 유닛(168)의 장착 및 분리에 대응하는 신호를 제어부(110)로 출력할 수 있다. 탈/부착 인식 스위치(169)는 상기 입력 유닛(168)의 장착시 직·간접적으로 접촉되도록 구성될 수 있다. 이에 따라, 탈/부착 인식 스위치(169)는 상기 입력 유닛(168)과의 접촉 여부에 기초하여, 상기 입력 유닛(168)의 장착 또는 분리에 대응하는 신호(즉, 입력 유닛(168)의 장착 또는 분리를 통지하는 신호)를 생성하여 제어부(110)로 출력할 수 있다.The input unit 168 may be inserted and stored within the electronic device 100 and may be withdrawn or disconnected from the electronic device 100 during use. A disassembly / recognition switch 169 is provided in one area of the electronic device 100 in which the input unit 168 is inserted. The disassemble / disassemble recognition switch 169 operates in response to the attachment / detachment of the input unit 168, The attachment recognition switch 169 can output a signal corresponding to the attachment and detachment of the input unit 168 to the control unit 110. The removal / attachment recognition switch 169 can be configured to be in direct or indirect contact with the input unit 168 when the input unit 168 is mounted. Thus, the removal / attachment recognition switch 169 detects a signal corresponding to mounting or dismounting of the input unit 168 (that is, mounting of the input unit 168 Or a signal for notifying the separation), and outputs the generated signal to the control unit 110. [

센서 모듈(170)은 전자 장치(100)의 상태를 검출하는 적어도 하나의 센서를 포함한다. 예를 들어, 센서 모듈(170)은 사용자의 전자 장치(100)에 대한 접근 여부를 검출하는 근접 센서, 전자 장치(100) 주변의 빛의 양을 검출하는 조도 센서(도시되지 아니함), 또는 전자 장치(100)의 동작(예를 들어, 전자 장치(100)의 회전, 전자 장치(100)의 가속 또는 진동)를 검출하는 모션 센서(도시되지 아니함), 지구 자기장을 이용해 전자 장치(100)의 방위(point of the compass)를 검출하는 지자기 센서(Geo-magnetic Sensor), 중력의 작용 방향을 검출하는 중력 센서(Gravity Sensor), 대기의 압력을 측정하여 고도를 검출하는 고도계(Altimeter), GPS 모듈(157) 등의 적어도 하나의 센서를 포함할 수 있다.The sensor module 170 includes at least one sensor that detects the condition of the electronic device 100. [ For example, the sensor module 170 may include a proximity sensor that detects whether the user is accessing the electronic device 100, an ambient light sensor (not shown) that detects the amount of light around the electronic device 100, A motion sensor (not shown) that detects the motion of device 100 (e.g., rotation of electronic device 100, acceleration or vibration of electronic device 100) A geomagnetic sensor for detecting the point of the compass, a gravity sensor for detecting the direction of action of gravity, an altimeter for detecting the altitude by measuring the atmospheric pressure, a GPS module (157). ≪ / RTI >

GPS 모듈(157)은 지구 궤도상에 있는 복수의 GPS 위성(도시되지 아니함)으로부터 전파를 수신하고, GPS 위성으로부터 전자 장치(100)까지의 전파 도달 시간(Time of Arrival)을 이용하여 전자 장치(100)의 위치를 산출할 수 있다.The GPS module 157 receives radio waves from a plurality of GPS satellites (not shown) on the earth orbit and transmits the radio waves to the electronic device 100 using the time of arrival from the GPS satellite to the electronic device 100 100 can be calculated.

저장부(175)는 제어부(110)의 제어에 따라 통신 모듈(120), 멀티미디어 모듈(140), 카메라 모듈(150), 입/출력 모듈(160), 센서 모듈(170) 또는 터치 스크린(190)의 동작에 따라 입/출력되는 신호 또는 데이터를 저장할 수 있다. 또한, 본 발명의 실시 예에 따라 전자 장치(100)의 각종 상태 정보와 설정 정보 등을 저장할 수 있다.The storage unit 175 is connected to the communication module 120, the multimedia module 140, the camera module 150, the input / output module 160, the sensor module 170, or the touch screen 190 The signal or data to be input / output can be stored. In addition, various status information and setting information of the electronic device 100 may be stored according to an embodiment of the present invention.

저장부(175)는 전자 장치(100) 또는 제어부(110)의 제어를 위한 제어 프로그램 및 애플리케이션들을 저장할 수 있다. 상기 제어 프로그램 또는 애플리케이션들 중 하나는 본 발명의 실시 예에 따라 설치된 메신저 클라이언트 애플리케이션일 수 있다.The storage unit 175 may store control programs and applications for controlling the electronic device 100 or the control unit 110. [ One of the control programs or applications may be a messenger client application installed in accordance with an embodiment of the present invention.

'저장부'라는 용어는 저장부(175), 제어부(110) 내 롬(112), 램(113) 또는 전자 장치(100)에 장착되는 메모리 카드(예를 들어, SD 카드, 메모리 스틱) 등의 임의의 데이터 저장 장치를 지칭하는 용어로 사용될 수 있다. 저장부(175)는 비휘발성 메모리, 휘발성 메모리, 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD)를 포함할 수도 있다.The term 'storage unit' refers to a storage unit 175, a ROM 112 in the control unit 110, a RAM 113 or a memory card (for example, an SD card or a memory stick) mounted on the electronic device 100 May be used to refer to any data storage device in the system. The storage unit 175 may include a nonvolatile memory, a volatile memory, a hard disk drive (HDD), or a solid state drive (SSD).

또한, 저장부(175)는 내비게이션, 화상 통화, 게임, 사용자에게 시간을 기반으로 하는 알람 애플리케이션 등과 같은 다양한 기능들의 애플리케이션들과 이와 관련된 그래픽 사용자 인터페이스(graphical user interface: GUI)를 제공하기 위한 이미지들, 사용자 정보, 문서, 터치 입력을 처리하는 방법과 관련된 데이터베이스들 또는 데이터, 전자 장치(100)를 구동하는데 필요한 배경 이미지들(메뉴 화면, 대기 화면 등) 또는 운영 프로그램들, 카메라 모듈(150)에 의해 촬영된 이미지들 등을 저장할 수 있다.In addition, the storage unit 175 may store various applications of various functions such as navigation, video calls, games, time-based alarm applications to users, etc., and images for providing a graphical user interface (GUI) (Such as menu screens, idle screens, etc.) or operating programs necessary to drive the electronic device 100, user data, documents, methods associated with the method of processing touch input, Images photographed by the camera, and the like.

또한, 저장부(175)는 기계(예를 들어, 컴퓨터)로 읽을 수 있는 매체이며, 기계로 읽을 수 있는 매체라는 용어는 기계가 특정 기능을 수행할 수 있도록 상기 기계로 데이터를 제공하는 매체로 정의될 수 있다. 아울러, 저장부(175)는 비휘발성 매체(non-volatile media) 및 휘발성 매체를 포함할 수 있다. 이러한 모든 매체는 상기 매체에 의해 전달되는 명령들이 상기 명령들을 상기 기계로 읽어 들이는 물리적 기구에 의해 검출될 수 있도록 유형의 것이어야 한다.In addition, the storage unit 175 is a medium that can be read by a machine (e.g., a computer), and the term " machine readable medium " refers to a medium that provides data to the machine Can be defined. In addition, the storage unit 175 may include non-volatile media and volatile media. All such media must be of a type such that the commands conveyed by the medium can be detected by a physical mechanism that reads the commands into the machine.

상기 기계로 읽을 수 있는 매체는, 이에 한정되지 않지만, 플로피 디스크(floppy disk), 플렉서블 디스크(flexible disk), 하드 디스크, 자기 테이프, 시디롬(compact disc read-only memory: CD-ROM), 광학 디스크, 펀치 카드(punch card), 페이퍼 테이프(paper tape), 램, 피롬(Programmable Read-Only Memory: PROM), 이피롬(Erasable PROM: EPROM), 플래시-이피롬(FLASH-EPROM), 및 임베디드 멀티미디어 카드(eMMC(embedded Multi Media Card)) 중의 적어도 하나를 포함한다.The machine-readable medium includes, but is not limited to, a floppy disk, a flexible disk, a hard disk, a magnetic tape, a compact disc read-only memory (CD-ROM) A punch card, a paper tape, a programmable read-only memory (PROM), an erasable PROM (EPROM), a flash-EPROM, and an embedded multimedia Card (eMMC (embedded Multi Media Card)).

전원 공급부(180)는 제어부(110)의 제어에 따라 전자 장치(100)의 하우징에 배치되는 하나 또는 복수의 배터리에 전력을 공급할 수 있다. 하나 또는 복수의 배터리는 전자 장치(100)에 전력을 공급한다. 또한, 전원 공급부(180)는 커넥터(165)와 연결된 유선 케이블을 통해 외부의 전원 소스로부터 입력되는 전원을 전자 장치(100)로 공급할 수 있다. 또한, 전원 공급부(180)는 무선 충전 기술을 통해 외부의 전원 소스로부터 무선으로 입력되는 전원을 전자 장치(100)로 공급할 수도 있다.The power supply unit 180 may supply power to one or a plurality of batteries disposed in the housing of the electronic device 100 under the control of the controller 110. One or more batteries supply power to the electronic device 100. In addition, the power supply unit 180 can supply power to the electronic device 100 from an external power source through a wired cable connected to the connector 165. In addition, the power supply unit 180 may supply power to the electronic device 100 wirelessly input from an external power source through a wireless charging technique.

그리고, 전자 장치(100)는 사용자에게 다양한 서비스(예, 통화, 데이터 전송, 방송, 사진촬영)에 대응되는 사용자 그래픽 인터페이스를 제공하는 적어도 하나의 터치 스크린(190)을 포함할 수 있다. 터치 스크린(190)은 사용자 그래픽 인터페이스에 입력되는 적어도 하나의 사용자 입력에 대응되는 아날로그 신호를 터치 스크린 컨트롤러(195)로 출력할 수 있다.The electronic device 100 may then include at least one touch screen 190 that provides a user graphical interface corresponding to various services (e.g., call, data transfer, broadcast, photo taking) to the user. The touch screen 190 may output an analog signal corresponding to at least one user input to the user graphic interface to the touch screen controller 195.

터치 스크린(190)은 사용자의 신체(예를 들어, 엄지를 포함하는 손가락) 또는 입력 유닛(168)(예를 들어, 스타일러스 펜, 전자 펜 등)을 통해 적어도 하나의 사용자 입력을 수신할 수 있다. 이러한, 터치 스크린(190)은 예를 들어, 저항막(resistive) 방식, 정전용량(capacitive) 방식, 적외선(infrared) 방식, 초음파(acoustic wave) 방식, 또는 이들의 조합으로 구현될 수 있다.The touch screen 190 may receive at least one user input via a user's body (e.g., a finger including a thumb) or an input unit 168 (e.g., a stylus pen, an electronic pen, etc.) . The touch screen 190 may be implemented by, for example, a resistive method, a capacitive method, an infrared method, an acoustic wave method, or a combination thereof.

또한, 터치 스크린(190)은 손가락 및 입력 유닛(168)에 의한 입력을 각각 입력받을 수 있도록, 손가락 및 입력 유닛(168)의 터치나 접근을 각각 감지할 수 있는 적어도 두 개의 터치 패널을 포함할 수 있다. 적어도 두 개의 터치 패널은 서로 다른 출력 값을 터치 스크린 컨트롤러(195)에 제공하고, 터치 스크린 컨트롤러(195)는 상기 적어도 두 개의 터치 스크린 패널에서 입력되는 값을 서로 다르게 인식하여, 터치 스크린(190)으로부터의 입력이 손가락에 의한 입력인지, 입력 유닛(168)에 의한 입력인지를 구분할 수 있다.The touch screen 190 also includes at least two touch panels capable of sensing touches or accesses of the finger and input unit 168, respectively, to receive inputs from the fingers and the input unit 168 . At least two touch panels provide different output values to the touchscreen controller 195 and the touchscreen controller 195 recognizes the values entered at the at least two touchscreen panels differently, The input from the input unit 168 or the input from the input unit 168 can be distinguished.

또한, 상기 터치는 터치 스크린(190)과 사용자의 신체 또는 터치 가능한 입력 수단과의 접촉에 한정되지 않고, 비접촉(예, 터치 스크린(190)과 사용자의 신체 또는 터치 가능한 입력 수단과 검출가능한 간격이 1 mm 이하)을 포함할 수 있다. 터치 스크린(190)에서 검출가능한 간격은 장치(100)의 성능 또는 구조에 따라 변경될 수 있다Further, the touch is not limited to the contact between the touch screen 190 and the user's body or the touchable input means, and may be a contactless touch (e.g., between the touch screen 190 and the user's body or a touchable input means) 1 mm or less). The detectable interval on the touch screen 190 may vary depending on the performance or structure of the device 100

터치 스크린 컨트롤러(195)는 터치 스크린(190)으로부터 입력된 아날로그 신호를 디지털 신호로 변환하여 제어부(110)로 전송한다. 제어부(110)는 터치 스크린 컨트롤러(195)로부터 수신한 디지털 신호를 이용하여 터치 스크린(190)을 제어할 수 있다. 터치 스크린 컨트롤러(195)는 터치 스크린(190)을 통해 출력되는 값(예컨대, 전류값 등)을 검출하여 사용자 입력 위치뿐만 아니라 호버링 간격 또는 거리를 확인할 수 있고, 확인된 거리 값을 디지털 신호(예컨대, Z좌표)로 변환하여 제어부(110)로 제공할 수도 있다. 또한, 터치 스크린 컨트롤러(195)는 터치 스크린(190)을 통해 출력되는 값(예컨대, 전류값 등)을 검출하여 사용자 입력 수단이 터치 스크린(190)을 누르는 압력을 검출할 수 있고, 확인된 압력 값을 디지털 신호로 변환하여 제어부(110)로 제공할 수도 있다.The touch screen controller 195 converts the analog signal input from the touch screen 190 into a digital signal and transmits the digital signal to the controller 110. [ The control unit 110 may control the touch screen 190 using the digital signal received from the touch screen controller 195. The touch screen controller 195 detects a value (e.g., a current value) output through the touch screen 190 to confirm a hovering interval or a distance as well as a user input position, , Z coordinate), and provides it to the control unit 110. In addition, the touch screen controller 195 may detect a value (e.g., a current value) output through the touch screen 190 to detect a pressure at which the user input means presses the touch screen 190, May be converted into a digital signal and may be provided to the controller 110.

전술한 본 발명의 예시적 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야에서 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다.The methods according to the exemplary embodiments of the present invention described above can be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. Program instructions to be recorded on the medium may be those specially designed and constructed for the present invention or may be known and available to those of ordinary skill in the computer software arts.

또한, 본 발명의 예시적 실시 예에 따른 방법들은 전술한 전자 장치(100)의 저장부에 프로그램 명령 형태로 구현되어 저장될 수 있으며, 상기 프로그램 명령은, 본 발명의 예시적 실시 예에 따른 방법들의 실행을 위해 제어부(110) 내에 포함된 램(RAM, 113)에 일시적으로 저장될 수 있다. 이에 따라, 제어부(110)는, 본 발명의 예시적 실시 예에 따른 방법들에 따른 상기 프로그램 명령에 대응하여, 장치(100)에 포함된 하드웨어 구성요소들의 제어를 수행하고, 본 발명의 예시적 실시 예에 따른 방법들을 실행하면서 발생되는 데이터를 일시 또는 지속적으로 저장부(150)에 저장하고, 본 발명의 예시적 실시 예에 따른 방법들의 실행에 필요한 UI를 터치스크린 컨트롤러(172)에 제공할 수 있다.Further, the methods according to the exemplary embodiment of the present invention may be embodied and stored in the form of program instructions in the storage unit of the above-described electronic device 100, (RAM) 113 included in the control unit 110 for execution of the programs. Accordingly, the control unit 110 performs control of the hardware components contained in the device 100, corresponding to the program instructions according to the methods according to the exemplary embodiment of the present invention, The data generated while executing the methods according to the embodiment may be stored temporarily or continuously in the storage unit 150 and the UI necessary for executing the methods according to the exemplary embodiment of the present invention may be provided to the touch screen controller 172 .

도 12는 본 발명의 실시 예들이 적용될 수 있는 전자 장치의 소프트웨어 구조를 나타내는 블록도이다. 도 12를 참조하면, 본 발명의 실시 예들이 적용될 수 있는 전자 장치의 소프트웨어 구조는 애플리케이션, 애플리케이션 프레임워크, 라이브러리, 커널 등의 레벨들로 구분될 수 있다.12 is a block diagram showing a software structure of an electronic device to which embodiments of the present invention can be applied. 12, the software structure of an electronic device to which the embodiments of the present invention can be applied can be divided into levels of an application, an application framework, a library, a kernel, and the like.

상기 애플리케이션 레벨은 홈, 다이얼러, SMS/MMS, IM, 브라우저, 카메라, 알람, 계산기, 주소록, 음성 다이얼, 이메일, 캘린더, 미디어 재생기, 앨범, 시계 등을 포함할 수 있다. 상기 애플리케이션 프레임워크 레벨은 액티비티 관리자, 윈도우 관리자, 콘텐츠 제공자, 뷰 시스템, 통지 관리자, 패키지 관리자, 전화 관리자, 리소스 관리자, 위치 관리자 등을 포함할 수 있다.The application level may include a home, dialer, SMS / MMS, IM, browser, camera, alarm, calculator, address book, voice dial, email, calendar, media player, album, The application framework level may include an activity manager, a window manager, a content provider, a view system, a notification manager, a package manager, a phone manager, a resource manager, a location manager, and the like.

상기 라이브러리 레벨은 표면 관리자, 미디어 프레임워크, SOLite, OpenGL/ES, 프리 타입, Webkit, SGL, SSL, Libc, 안드로이드 런타임(코어 라이브러리, 가상 머신 등) 등을 포함할 수 있다. 상기 커널 레벨은 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, Bider(IPC) 드라이버, USB 드라이버, 키패드 드라이버, WiFi 드라이버, 오디오 드라이버, 전력 관리자 등을 포함할 수 있다.The library level may include a surface manager, a media framework, SOLite, OpenGL / ES, FreeType, Webkit, SGL, SSL, Libc, Android runtime (core library, The kernel level may include a display driver, a camera driver, a Bluetooth driver, a shared memory driver, a Bider (IPC) driver, a USB driver, a keypad driver, a WiFi driver, an audio driver, a power manager, and the like.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시 예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시 예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and specific embodiments and drawings. However, it should be understood that the present invention is not limited to the above- And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains.

따라서, 본 발명의 사상은 설명된 실시 예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

100 : 전자 장치 101 : AR 처리부
102 : AR 콘텐츠 관리부 103 : 레퍼런스 정보 DB
104 : 콘텐츠 정보 DB 105 : 저장부
106 : CPU 107 : GPU
210 : 제어부 220 : 인식부
221 : 특징점 검출부 222 : 디스크립터 계산부
223 : 이미지 검색부 230 : 초기 자세 계산부
231 : 특징점 매칭부 232 : 초기 자세 추정부
240 : 추적부 241 : 자세 예측부
242 : 특징점 검출부 243 : 디스크립터 계산부
244 : 특징점 매칭부 245 : 자세 추정부
410 : 전자 장치 420 : 통신 네트워크
430 : 콘텐츠 서버 440 : 레퍼런스 정보 DB
450 : 콘텐츠 정보 DB
100: Electronic device 101: AR processor
102: AR content management unit 103: Reference information DB
104: Content information DB 105:
106: CPU 107: GPU
210: control unit 220:
221: minutiae point detector 222:
223: image search unit 230: initial posture calculation unit
231: feature point matching unit 232:
240: tracking unit 241:
242: minutiae point detector 243:
244: feature point matching unit 245:
410: electronic device 420: communication network
430: Content server 440: Reference information DB
450: Content information DB

Claims (39)

전자 장치를 동작하는 방법에 있어서,
디지털 이미지로부터 적어도 하나의 객체(object)를 인식하는 동작을 포함하며, 상기 객체를 인식하는 동작은,
상기 디지털 이미지로부터 적어도 하나의 디스크립터(descriptor)를 생성하는 동작;
상기 적어도 하나의 디스크립터 및 적어도 하나의 레퍼런스 객체에 대응하는 식별 데이터에 적어도 일부 기초하여 상기 디지털 이미지상의 객체를 결정하는 동작; 및
상기 결정된 객체에 대응하는 레퍼런스 디스크립터들 및 상기 적어도 하나의 디스크립터에 적어도 일부 기초하여 상기 객체의 자세를 결정하는 동작;을 포함하는 것을 특징으로 하는 방법.
A method of operating an electronic device,
The method comprising: recognizing at least one object from a digital image,
Generating at least one descriptor from the digital image;
Determining an object on the digital image based at least in part on identification data corresponding to the at least one descriptor and the at least one reference object; And
Determining an orientation of the object based at least in part on reference descriptors corresponding to the determined object and the at least one descriptor.
제1항에 있어서,
상기 식별 데이터는, 트리(tree) 구조로 인덱싱(indexing)된 것을 특징으로 하는 방법.
The method according to claim 1,
Wherein the identification data is indexed in a tree structure.
제2항에 있어서, 상기 트리 구조는,
K-D(K-Dimensional) 트리, 랜덤마이즈드(randomized) 트리, 또는 스필 (spill) 트리 중 선택된 어느 하나 이상의 트리 구조를 포함하는 것을 특징으로 하는 방법.
3. The method according to claim 2,
A K-Dimensional (KD) tree, a randomized tree, or a spill tree.
제1항에 있어서, 상기 객체를 인식하는 동작은, 상기 식별 데이터를 메모리 상에 로딩하는 동작을 더 포함하며,
상기 식별 데이터를 로딩하는 동작은, 트리(tree) 구조로 인덱싱(indexing)된 식별 데이터를 로딩하는 동작을 포함하는 것을 특징으로 하는 방법.
2. The method of claim 1, wherein the act of recognizing the object further comprises loading the identification data onto a memory,
Wherein the act of loading the identification data comprises loading identification data indexed into a tree structure.
제1항에 있어서,
상기 레퍼런스 디스크립터들은, 트리(tree) 구조로 인덱싱(indexing)된 것을 특징으로 하는 방법.
The method according to claim 1,
Wherein the reference descriptors are indexed in a tree structure.
제2항에 있어서, 상기 트리 구조는,
K-D(K-Dimensional) 트리, 랜덤마이즈드(randomized) 트리, 또는 스필 (spill) 트리 중 선택된 어느 하나 이상의 트리 구조를 포함하는 것을 특징으로 하는 방법.
3. The method according to claim 2,
A K-Dimensional (KD) tree, a randomized tree, or a spill tree.
제1항에 있어서, 상기 객체의 자세를 결정하는 동작은,
상기 결정된 객체에 대응하는 레퍼런스 디스크립터들을 메모리 상에 로딩하는 동작; 및
상기 레퍼런스 디스크립터들을 트리(tree) 구조로 인덱싱(indexing)하는 동작을 포함하는 것을 특징으로 하는 방법.
The method of claim 1, wherein the determining of the posture of the object comprises:
Loading the reference descriptors corresponding to the determined object onto a memory; And
And indexing the reference descriptors into a tree structure.
제1항에 있어서, 상기 디스크립터 및 상기 레퍼런스 디스크립터는,
각각의 디스크립터에 대응하는 특징점(feature point)과 해당 특징점에 인접한 적어도 하나의 인접 픽셀들과의 관계를 기반으로 부여된 속성을 갖는 것을 특징으로 하는 방법.
2. The apparatus of claim 1, wherein the descriptor and the reference descriptor comprise:
Wherein the attribute has an attribute given based on a relationship between a feature point corresponding to each descriptor and at least one adjacent pixel adjacent to the feature point.
제8항에 있어서, 상기 속성은,
상기 인접 픽셀들 대비 해당 특징점의 상대적인 밝기를 나타내는 속성인 것을 특징으로 하는 방법.
9. The method of claim 8,
Wherein the relative brightness of the adjacent pixels is an attribute indicating relative brightness of the corresponding feature point with respect to the neighboring pixels.
제1항에 있어서, 상기 이미지상의 객체를 결정하는 동작은,
각각의 디스크립터에 대한 경로 추적에 따라 도달한 리프 노드(leaf node)들에 대응하는 식별자(identifier)들 중, 설정된 개수 이상의 대상 디스크립터와 일치하는 식별자에 대응하는 객체를 상기 객체로 결정하는 동작을 포함하는 것을 특징으로 하는 방법.
2. The method of claim 1, wherein determining an object on the image comprises:
Determining an object corresponding to an identifier matching the set number of target descriptors among identifiers corresponding to leaf nodes reached according to path tracing for each descriptor as the object . ≪ / RTI >
제1항에 있어서, 상기 객체를 결정하는 동작은,
각각의 대상 스크립터에 대한 경로 추적에 따라 도달한 리프 노드에 대응하는 식별자들 및 해당 리프 노드로부터 설정된 노드 거리를 갖는 상위 노드로부터 분기된 이웃 리프 노드에 대응하는 식별자들 중, 설정된 개수 이상의 대상 스크립터와 일치하는 식별자에 대응하는 객체를 상기 대상 객체로 결정하는 동작을 포함하는 것을 특징으로 하는 방법.
2. The method of claim 1,
The identifier corresponding to the reached leaf node and the identifiers corresponding to the neighboring leaf node branched from the superior node having the node distance set from the leaf node according to the path trace for each target scripter, And determining the object corresponding to the matching identifier as the target object.
제11항에 있어서, 상기 적어도 하나의 대상 객체를 결정하는 동작은,
상기 리프 노드에 대응하는 식별자와 상기 이웃 리프 노드에 대응하는 식별자에 서로 다른 가중치를 적용하는 동작을 포함하는 것을 특징으로 하는 방법.
12. The method of claim 11, wherein the determining of the at least one target object comprises:
And applying different weights to the identifier corresponding to the leaf node and the identifier corresponding to the neighboring leaf node.
제12항에 있어서, 상기 적어도 하나의 대상 객체를 결정하는 동작은,
상기 리프 노드와의 노드 거리에 따라 상기 이웃 리프 노드에 대응하는 식별자에 서로 다른 가중치를 적용하는 동작을 포함하는 것을 특징으로 하는 방법.
13. The method of claim 12, wherein the determining of the at least one target object comprises:
And applying different weights to the identifiers corresponding to the neighboring leaf nodes according to the node distances to the leaf nodes.
제1항에 있어서, 상기 적어도 하나의 대상 디스크립터를 생성하는 동작은,
트래킹 중인 객체가 위치하는 영역을 제외한 나머지 영역에서 특징점들을 추출하여 상기 적어도 하나의 대상 디스크립터를 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
2. The method of claim 1, wherein generating the at least one target descriptor comprises:
And extracting feature points from regions other than the region where the object being tracked is located to generate the at least one target descriptor.
제1항에 있어서, 상기 적어도 하나의 대상 디스크립터를 생성하는 동작은,
상기 대상 이미지로부터 추출된 특징점들 중 트래킹 중인 객체가 위치하는 영역에서 추출된 특징점들을 제외한 나머지 특징점들에 대한 대상 디스크립터를 생성하는 동작을 포함하는 것을 특징으로 하는 방법.
2. The method of claim 1, wherein generating the at least one target descriptor comprises:
And generating a target descriptor for remaining minutiae except minutiae extracted from an area where an object being tracked is located among minutiae extracted from the target image.
제1항에 있어서,
상기 로딩된 레퍼런스 디스크립터를 이용하여 설정된 형태의 식별 데이터를 작성하는 동작을 더 포함하고,
상기 대상 객체의 자세를 결정하는 동작은, 상기 적어도 하나의 대상 디스크립터 및 상기 작성된 식별 데이터를 기반으로 상기 대상 객체의 자세를 결정하는 동작을 포함하는 것을 특징으로 하는 방법.
The method according to claim 1,
Further comprising generating identification data of a set type using the loaded reference descriptor,
Wherein the determining of the posture of the target object comprises determining the posture of the target object based on the at least one target descriptor and the created identification data.
제16항에 있어서, 상기 식별 데이터를 작성하는 동작은,
서로 다른 속성에 기반한 다수의 식별 데이터를 작성하는 동작을 포함하는 것을 특징으로 하는 방법.
17. The method according to claim 16, wherein the operation of creating the identification data comprises:
And creating a plurality of identification data based on different attributes.
제16항에 있어서, 상기 식별 데이터를 작성하는 동작은,
각각의 대상 디스크립터에 대응하는 레퍼런스 객체의 식별자를 결정지을 수 있는 트리 구조의 식별 데이터를 작성하는 동작을 포함하는 것을 특징으로 하는 방법.
17. The method according to claim 16, wherein the operation of creating the identification data comprises:
And generating identification data of a tree structure capable of determining an identifier of a reference object corresponding to each of the target descriptors.
제16항에 있어서, 상기 속성은,
인접 픽셀들 대비 해당 특징점의 밝기를 나타내는 속성인 것을 특징으로 하는 방법.
17. The method of claim 16,
Is a property indicating the brightness of a corresponding feature point with respect to adjacent pixels.
전자장치를 동작하는 방법에 있어서,
데이터 베이스에 저장된 객체 데이터 및 각 객체 데이터에 관련된 디스크립터 데이터에 기초하여, 디지털 이미지로부터 객체(object)를 인식하는 동작을 포함하며, 상기 객체를 인식하는 동작은,
상기 객체 데이터를 이용하여 상기 이미지상의 객체를 결정하는 동작; 및
상기 결정된 객체에 관련된 하나 이상의 디스크립터들에 적어도 일부 기초하여 상기 객체의 자세를 결정하는 동작을 포함하는 것을 특징으로 하는 방법.
A method of operating an electronic device,
The method comprising: recognizing an object from a digital image based on object data stored in a database and descriptor data associated with each object data,
Determining an object on the image using the object data; And
Determining an orientation of the object based at least in part on one or more descriptors associated with the determined object.
제20항에 있어서, 상기 이미지상의 객체를 결정하는 동작은, 상기 객체 데이터을 상기 전자 장치의 메모리상에 로딩하는 동작을 포함하는 것을 특징으로 하는 방법.
21. The method of claim 20, wherein the act of determining an object on the image comprises loading the object data onto a memory of the electronic device.
제20항에 있어서, 상기 객체의 자세를 결정하는 동작은, 상기 결정된 객체에 관련된 하나 이상의 디스크립터들 만을 상기 전자장치의 메모리 상에 로드하는 단계를 포함하는 것을 특징으로 하는 방법.
21. The method of claim 20, wherein determining an orientation of the object comprises loading only one or more descriptors associated with the determined object onto a memory of the electronic device.
전자 장치에 있어서,
디지털 이미지를 저장하도록 구성된 메모리; 및
상기 디지털 이미지를 처리하도록 구성된 프로세서를 포함하며,
상기 프로세서는,
상기 디지털 이미지로부터 적어도 하나의 디스크립터(descriptor)를 생성하고, 상기 적어도 하나의 디스크립터 및 적어도 하나의 레퍼런스 객체에 대응하는 식별 데이터에 적어도 일부 기초하여 상기 디지털 이미지상의 객체를 결정하는 인식부; 및
상기 결정된 객체에 대응하는 레퍼런스 디스크립터들 및 상기 적어도 하나의 디스크립터에 적어도 일부 기초하여 상기 객체의 자세를 결정하는 초기 자세 계산부를 포함하는, 전자 장치.
In an electronic device,
A memory configured to store a digital image; And
And a processor configured to process the digital image,
The processor comprising:
A recognition unit for generating at least one descriptor from the digital image and determining an object on the digital image based at least in part on identification data corresponding to the at least one descriptor and the at least one reference object; And
And an initial posture calculator for determining the posture of the object based at least in part on the reference descriptors corresponding to the determined object and the at least one descriptor.
제23항에 있어서,
상기 대상 디스크립터 및 상기 레퍼런스 디스크립터는,
각각의 디스크립터에 대응하는 특징점과 해당 특징점에 인접한 적어도 하나의 인접 픽셀들과의 관계를 기반으로 부여된 속성을 갖는, 전자 장치.
24. The method of claim 23,
Wherein the target descriptor and the reference descriptor,
And an attribute assigned based on a relationship between a feature point corresponding to each descriptor and at least one adjacent pixel adjacent to the feature point.
제24항에 있어서, 상기 인식부는,
서로 다른 속성에 기반한 다수의 식별 데이터 중, 상기 대상 디스크립터와 동일한 속성을 갖는 식별 데이터를 로딩하는, 전자 장치.
The image processing apparatus according to claim 24,
And loads identification data having the same attribute as the target descriptor among a plurality of identification data based on different attributes.
제24항에 있어서, 상기 초기 자세 계산부는,
상기 대상 디스크립터와 동일한 속성을 갖는 레퍼런스 디스크립터를 로딩하는, 전자 장치.
25. The apparatus according to claim 24,
And loading a reference descriptor having the same attributes as the target descriptor.
제24항에 있어서, 상기 속성은,
상기 인접 픽셀들 대비 해당 특징점의 밝기를 나타내는 속성인, 전자 장치.
25. The method of claim 24,
And is an attribute indicating a brightness of a corresponding feature point with respect to the adjacent pixels.
제23항에 있어서, 상기 식별 데이터는,
각각의 대상 디스크립터에 대응하는 레퍼런스 객체의 식별자를 결정지을 수 있는 트리 구조를 갖는, 전자 장치.
24. The method according to claim 23,
And a tree structure capable of determining an identifier of a reference object corresponding to each of the target descriptors.
제28항에 있어서, 상기 인식부는,
각각의 대상 디스크립터에 대한 경로 추적에 따라 도달한 리프 노드에 대응하는 식별자들 중, 설정된 개수 이상의 대상 디스크립터와 일치하는 식별자에 대응하는 객체를 상기 대상 객체로 결정하는, 전자 장치.
29. The apparatus of claim 28,
And determines, as the target object, an object corresponding to an identifier matching the set number of target descriptors among the identifiers corresponding to the reached leaf nodes according to the path tracing for each target descriptor.
제28항에 있어서, 상기 인식부는,
각각의 대상 스크립터에 대한 경로 추적에 따라 도달한 리프 노드에 대응하는 식별자들 및 해당 리프 노드로부터 설정된 노드 거리를 갖는 상위 노드로부터 분기된 이웃 리프 노드에 대응하는 식별자들 중, 설정된 개수 이상의 대상 스크립터와 일치하는 식별자에 대응하는 객체를 상기 대상 객체로 결정하는, 전자 장치.
29. The apparatus of claim 28,
The identifier corresponding to the reached leaf node and the identifiers corresponding to the neighboring leaf node branched from the superior node having the node distance set from the leaf node according to the path trace for each target scripter, And determines an object corresponding to the matching identifier as the target object.
제30항에 있어서, 상기 인식부는,
상기 리프 노드에 대응하는 식별자와 상기 이웃 리프 노드에 대응하는 식별자에 서로 다른 가중치를 적용하는, 전자 장치.
The apparatus of claim 30,
And applies different weights to the identifier corresponding to the leaf node and the identifier corresponding to the neighboring leaf node.
제31항에 있어서, 상기 인식부는,
상기 리프 노드와의 노드 거리에 따라 상기 이웃 리프 노드에 대응하는 식별자에 서로 다른 가중치를 적용하는, 전자 장치.
The information processing apparatus according to claim 31,
And applies different weights to the identifiers corresponding to the neighboring leaf nodes according to the node distances to the leaf nodes.
제28항에 있어서, 상기 식별 데이터는,
K-D(K-Dimensional) 트리, 허프만(Huffman) 트리 및 가지에(Gagie) 트리 중 어느 하나의 트리 구조를 갖는, 전자 장치.
29. The method according to claim 28,
(K-Dimensional) tree, a Huffman tree, and a (Gagie) tree.
제23항에 있어서, 상기 인식부는,
트래킹 중인 객체가 위치하는 영역을 제외한 나머지 영역에서 특징점들을 추출하여 상기 적어도 하나의 대상 디스크립터를 생성하는, 전자 장치.
24. The apparatus according to claim 23,
And extracting feature points from regions other than the region where the object being tracked is located to generate the at least one target descriptor.
제23항에 있어서, 상기 인식부는,
상기 대상 이미지로부터 추출된 특징점들 중 트래킹 중인 객체가 위치하는 영역에서 추출된 특징점들을 제외한 나머지 특징점들에 대한 대상 디스크립터를 생성하는, 전자 장치.
24. The apparatus according to claim 23,
And generates a target descriptor for remaining minutiae except for minutiae extracted in an area where an object being tracked is located among minutiae extracted from the target image.
제23항에 있어서, 상기 초기 자세 계산부는,
상기 로드된 레퍼런스 디스크립터를 이용하여 설정된 형태의 식별 데이터를 작성하고, 상기 적어도 하나의 대상 디스크립터 및 상기 작성된 식별 데이터를 기반으로 상기 대상 객체의 자세를 결정하는, 전자 장치.
24. The apparatus according to claim 23,
Creates identification data of a set type using the loaded reference descriptor, and determines a posture of the target object based on the at least one target descriptor and the created identification data.
제36항에 있어서, 상기 초기 자세 계산부는,
서로 다른 속성에 기반한 다수의 식별 데이터를 작성하는, 전자 장치.
37. The apparatus as claimed in claim 36,
And creates a plurality of identification data based on different attributes.
제36항에 있어서, 상기 초기 자세 계산부는,
각각의 대상 디스크립터에 대응하는 레퍼런스 객체의 식별자를 결정지을 수 있는 트리 구조의 식별 데이터를 작성하는, 전자 장치.
37. The apparatus as claimed in claim 36,
And generates identification data of a tree structure capable of determining an identifier of a reference object corresponding to each of the target descriptors.
제36항에 있어서, 상기 속성은,
인접 픽셀들 대비 해당 특징점의 밝기를 나타내는 속성인, 전자 장치.
37. The method of claim 36,
And is an attribute indicating a brightness of a corresponding feature point with respect to adjacent pixels.
KR1020140014856A 2013-02-15 2014-02-10 Electronic device, method and computer readable recording medium for operating the electronic device Withdrawn KR20140103058A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/181,119 US20140232748A1 (en) 2013-02-15 2014-02-14 Device, method and computer readable recording medium for operating the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361765422P 2013-02-15 2013-02-15
US61/765,422 2013-02-15

Publications (1)

Publication Number Publication Date
KR20140103058A true KR20140103058A (en) 2014-08-25

Family

ID=51747578

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140014856A Withdrawn KR20140103058A (en) 2013-02-15 2014-02-10 Electronic device, method and computer readable recording medium for operating the electronic device

Country Status (1)

Country Link
KR (1) KR20140103058A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210067588A (en) * 2019-11-29 2021-06-08 숙명여자대학교산학협력단 Electronic device for determining similarity between sequences considering item classification scheme and control method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210067588A (en) * 2019-11-29 2021-06-08 숙명여자대학교산학협력단 Electronic device for determining similarity between sequences considering item classification scheme and control method thereof

Similar Documents

Publication Publication Date Title
US9261995B2 (en) Apparatus, method, and computer readable recording medium for selecting object by using multi-touch with related reference point
US9224064B2 (en) Electronic device, electronic device operating method, and computer readable recording medium recording the method
JP7181375B2 (en) Target object motion recognition method, device and electronic device
US20140232748A1 (en) Device, method and computer readable recording medium for operating the same
CN109117635B (en) Virus detection method and device for application program, computer equipment and storage medium
US20140317499A1 (en) Apparatus and method for controlling locking and unlocking of portable terminal
CN111737573A (en) Resource recommendation method, device, equipment and storage medium
US20140092306A1 (en) Apparatus and method for receiving additional object information
KR20150059466A (en) Method and apparatus for recognizing object of image in electronic device
US20150016695A1 (en) Method and apparatus for recognizing fingerprints
US20170076139A1 (en) Method of controlling mobile terminal using fingerprint recognition and mobile terminal using the same
KR102125212B1 (en) Operating Method for Electronic Handwriting and Electronic Device supporting the same
US20140337720A1 (en) Apparatus and method of executing function related to user input on screen
US9792183B2 (en) Method, apparatus, and recording medium for interworking with external terminal
US20150161236A1 (en) Recording context for conducting searches
US10409478B2 (en) Method, apparatus, and recording medium for scrapping content
US20170200046A1 (en) System and method for authenticating user
KR20180075224A (en) Electronic device and method for providing recognition result of object
KR20140103043A (en) Electronic device, method and computer readable recording medium for operating the electronic device
US20150019961A1 (en) Portable terminal and method for controlling data merging
US20150019579A1 (en) Method for an electronic device to execute an operation corresponding to a common object attribute among a plurality of objects
CN112069184A (en) Vector retrieval method, system, device and medium
CN111797873A (en) Scene recognition method, device, storage medium and electronic device
CN111638831B (en) Content fusion method and device and electronic equipment
CN111796701A (en) Model training method, operation processing method, device, storage medium and device

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20140210

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid