KR102303206B1 - 전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법 및 장치 - Google Patents

전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR102303206B1
KR102303206B1 KR1020200140483A KR20200140483A KR102303206B1 KR 102303206 B1 KR102303206 B1 KR 102303206B1 KR 1020200140483 A KR1020200140483 A KR 1020200140483A KR 20200140483 A KR20200140483 A KR 20200140483A KR 102303206 B1 KR102303206 B1 KR 102303206B1
Authority
KR
South Korea
Prior art keywords
display
image
information
recognition
processor
Prior art date
Application number
KR1020200140483A
Other languages
English (en)
Other versions
KR20200127928A (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
Priority claimed from KR1020130143096A external-priority patent/KR102173123B1/ko
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to KR1020200140483A priority Critical patent/KR102303206B1/ko
Publication of KR20200127928A publication Critical patent/KR20200127928A/ko
Application granted granted Critical
Publication of KR102303206B1 publication Critical patent/KR102303206B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K9/20
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/17Image acquisition using hand-held instruments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/235Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on user input or interaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/22Character recognition characterised by the type of writing
    • G06V30/224Character recognition characterised by the type of writing of printed characters having additional code marks or containing code marks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72469User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법 및 장치에 관한 것으로, 전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법은, 적어도 하나 이상의 이미지를 디스플레이하는 단계, 적어도 하나의 제스처를 검출하는 단계, 상기 제스처에 따라, 상기 적어도 하나 이상의 이미지에 있는 적어도 하나 이상의 객체와 연관된 인식기능을 선택하는 단계, 상기 선택된 인식기능을 인용하여, 상기 적어도 하나 이상의 객체를 인식하는 단계를 포함할 수 있다. 다양한 다른 실시 예들이 가능하다.

Description

전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법 및 장치{METHOD AND APPARATUS FOR RECOGNIZING OBJECT OF IMAGE IN ELECTRONIC DEVICE}
본 발명의 다양한 실시예는 전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법 및 장치에 관한 것이다.
종래에 터치 스크린 인터페이스는 그래픽 사용자 인터페이스(Graphical User Interface: GUI)를 통해 카메라의 이미지 촬영과 연관된 기본적인 기능을 제공하기 위한 용도로 사용되고 있다. 예를 들어, 사진 촬영 모드, 동영상 촬영 모드, 파노라마 사진 촬영 모드 등을 이용하기 위해, 촬영 모드를 나타내는 하나 이상의 아이콘이나 리스트에서 특정 아이콘 혹은 특정 아이템을 탭(tap)하거나 터치(touch)하여 촬영 모드를 선택하여 구동시킬 수 있다. 이러한 방식은 카메라의 촬영 모드나 촬영을 위한 기본 기능을 선택하기 위한 것으로, 위의 사용 예 외에 터치스크린 인터페이스를 통해 다른 기능을 구동시킬 수도 있다. 예컨대, 사용자는 휴대용단말기 및 스마트폰 같은 전자장치에 장착된 이미지 센서를 통해 사진을 촬영하는 목적이 외에, 프리뷰 상태에서 피사체에 있는 특정 정보를 읽어들이는 용도로 사용되고 있다.
특히, 최근에 카메라를 이용하는 다양한 인식기술, 예를 들어 바코드, 2차원 코드, 컬러기반 코드, 명함 인식, 얼굴인식 등과 같은 애플리케이션들이 보급되고 있다. 일반적으로 인식할 객체의 종류에 따라 별도의 애플리케이션을 구동하거나, 동일 애플리케이션에서 특정 인식모듈의 종류를 선택하기 위해 터치스크린 인터페이스가 이용될 수 있다.
전자장치에서 명함, 바코드 혹은 QR(Quick Response) 코드를 인식하기 위한 애플리케이션은 이미지 센서를 통해 특정 명함, 바코드 및 QR코드에 대응하는 이미지를 획득한 후, 해당 이미지 내에서 바코드 및 QR코드를 추출하여 추출된 코드에 포함된 정보를 디스플레이할 수 있다.
이미지 센서를 통해 획득된 이미지 전체에서 인식할 객체의 영역을 추출하는 방식은 연산량과 시간이 많이 소요되고 잘못된 영역을 추출할 가능성이 커질 수 있다. 따라서, 인식률과 영상 처리 효율을 높이기 위하여 이미지의 소정의 제한된 영역 안에서만 인식이 이루어지도록 인식 영역을 생성하고 해당 인식 영역의 범위를 디스플레이에 표시할 수 있다. 이러한 방법의 예로 해당 애플리케이션에서 카메라 센서를 통해 실시간으로 획득되는 프리뷰 영상을 디스플레이하고, 인식할 소정의 고정된 영역의 범위를 직사각형이나 정사각형 형태의 사용자 인터페이스로 표시하는 경우가 있다.
또 다른 예로는 촬영된 사진 이미지에서 터치 스크린 인터페이스를 통해 인식할 특정 영역의 크기와 위치를 조절하는 방식이 있을 수 있다. 일반적으로 이러한 방법은 명함, 바코드 및 QR 코드를 인식하기 위한 전용 애플리케이션에서 이용되므로, 일반적인 카메라 촬영 애플리케이션과는 별도로 존재하는 경우가 많다. 하지만, 이러한 경우 별도의 애플리케이션을 사용자가 직접 구동해야 하며, 메뉴나 아이콘 등이 각각 별개로 존재하므로 사용자가 해당 애플리케이션을 찾아 실행해야하는 불편함이 있을 수 있다.
또 다른 방법으로는 카메라 앱 내부에 해당 인식모듈을 선택하도록 별도의 메뉴나 아이콘 등을 추가하는 형태로 구현할 수도 있다. 이러한 경우에도 해당 메뉴나 아이콘을 선택하기 위해 여러 서브 메뉴 경로를 거쳐야하므로, 사용자가 불편함을 느낄 수 있다.
또한, 획득된 이미지에서 복수 개의 인식대상 객체가 존재하거나 복수 종류의 객체들이 존재하는 경우에 발생한다. 이러한 경우, 사용자가 인식할 객체에 대해 각각 카메라 포즈나 줌 등을 조절하여 촬영한 이미지에서 인식 영역을 지정해야하는 불편함이 있다. 특히 복수 인식모듈 종류로 구성된 복수 개의 인식대상 객체들을 인식하는 경우 이를 처리하기 위해 복수 개의 인식모듈을 순차적으로 구동하거나 사용자 인터페이스를 통해 인식모듈 종류를 지정해야 하므로 연산량이 증대하거나 실시간 인식이 어려워질 수 있다.
본 발명의 다양한 실시 예들은 위에 기술한 문제점을 해소하기 위해 전자장치에서 내의 특정 객체를 인식하기 위한 방법 및 장치를 제공할 수 있다.
본 발명의 다양한 실시 예들은 전자장치에서 이미지 센서의 기본적인 기능에 더하여 정보의 획득을 위하여 이미지 센서로 획득되는 이미지를 해석하고, 정보에 맞는 객체 인식모듈을 실행시키는 방법 및 방법을 제공할 수 있다.
본 발명의 다양한 실시 예들은 전자장치에서 이미지 센서를 통해 획득된 이미지가 디스플레이될 때, 사용자 손가락, 스타일러스펜, 또는 포인팅 장치를 이용한 사용자 제스처를 통해 인식할 객체의 영역과 종류를 판단하고 객체를 인식함으로써, 사용자가 원하는 객체를 빠르고 편리하게 인식하는 방법 및 장치를 제공할 수 있다.
상기한 목적들을 달성하기 위한 본 발명의 다양한 실시 예에 따르면, 전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법에 있어서, 적어도 하나 이상의 이미지를 디스플레이하는 동작, 적어도 하나의 제스처를 검출하는 동작, 상기 제스처에 따라, 상기 적어도 하나 이상의 이미지에 있는 적어도 하나 이상의 객체와 연관된 인식기능을 선택하는 동작, 상기 선택된 인식기능을 인용하여, 상기 적어도 하나 이상의 객체를 인식하는 동작을 포함할 수 있다.
상기한 목적들을 달성하기 위한 본 발명의 다양한 실시 예에 따르면, 적어도 하나의 프로세서, 적어도 하나의 메모리 및 상기 메모리에 저장되며, 상기 적어도 하나의 프로세서에 의해 실행 가능하도록 구성되는 적어도 하나의 프로그램(program)을 포함하며, 상기 프로그램은, 적어도 하나 이상의 이미지를 디스플레이하고, 적어도 하나의 제스처를 검출하고, 상기 제스처에 따라, 상기 적어도 하나 이상의 이미지에 있는 적어도 하나 이상의 객체와 연관된 인식기능을 선택하고, 상기 선택된 인식기능을 인용하여, 상기 적어도 하나 이상의 객체를 인식하는 명령어들을 포함할 수 있다.
상술한 바와 같이, 이미지 센서로부터 획득된 이미지를 처리하는 비슷한 여러 애플리케이션이 수행하는 관련 기능들을 하나의 카메라 애플리케이션에 통합함으로써, 사용자가 촬영기능 이외에 명암, 바코드 또는 QR 코드 인식 같은 다른 기능에 쉽게 접근할 수 있도록 할 수 있다.
또한, 프리뷰 상태에서 터치스크린을 통한 사용자 제스처를 통해 이미지의 특정 영역과 초점을 정의하고 또한 상기 이미지의 특정 영역의 영상 정보를 해석할 인식모듈을 선택하는 방법을 제공함으로써, 사용자 편의를 증대시킬 수 있다.
다양한 실시 예들은 바코드, 2차원 이미지 코드, 얼굴인식, 문자인식뿐만 아니라 인물인식이나 객체인식과 같은 다양한 분야에 적용될 수 있다. 한 예로 카메라 영상의 프리뷰나 촬영된 이미지뿐만 아니라 비디오 파일의 재생 혹은 중지(pause) 등의 상태에서 디스플레이된 이미지를 대상으로 등장인물이나 건물 인식과 같은 서비스를 제공할 수 있다.
본 발명의 다양한 실시 예들은 잡지나 신문 등과 같은 인쇄매체에 여러 상품과 상품명이나 관련 정보에 대한 바코드, 2차원 코드, 텍스트 이미지 등이 있을 때, 원하는 코드나 텍스트, 이미지를 선택하고 이에 대해 정보를 제공하는데 편리함을 제공할 수도 있다.
종래 방법은 화면 중앙부의 가이드와 같은 특정한 인식 위치가 필요하며, 화면에서 특정한 이미지나 인식모듈 종류를 지정하거나 선택하는 것이 어려웠고, 일부의 경우 2개 이상의 인식모듈을 번갈아가면서 구동하는 방법을 사용하므로 연산량이 많아질 수 있다.
본 발명의 다양한 실시 예들은 사용자 제스처 혹은 이에 관련한 지정 영역의 선택 및 패턴 판별에 따라 구동할 인식모듈 종류가 지정되거나 제한되므로 편리하고 빠른 인식 방법을 제공할 수 있다.
도 1은 본 발명의 다양한 실시 예에 따른 이미지에서 인식영역을 선택하는 사용자 인터페이스를 도시하고 있다.
도 2는 본 발명의 다양한 실시 예에 따른 선택된 인식영역 내의 이미지 내용을 해석하기 위한 인식모듈을 구동하는 사용자 인터페이스를 도시하고 있다.
도 3은 본 발명의 다양한 실시 예에 따른 프리뷰 상태에서 인식영역을 선택하여 상기 선택된 인식영역 내의 이미지 내용을 해석하기 위한 인식모듈을 구동하는 사용자 인터페이스를 도시하고 있다.
도 4는 본 발명의 다양한 실시 예에 따른 명암 내의 QR 코드를 인식하여 상기 QR 코드에 대응하는 정보를 제공하는 예를 도시하고 있다.
도 5는 본 발명의 다양한 실시 예에 따른 전자장치에서 이미지 내용을 인식하기 위한 흐름도를 도시하고 있다.
도 6은 본 발명의 다양한 실시 예에 따른 전자장치에서 이미지 내용을 인식하기 위한 흐름도를 도시하고 있다.
도 7은 본 발명의 다양한 실시 예에 따른 뉴스 기사 내의 특정 URL(Uniform Resource Locator) 주소를 인식하여 웹 브라우저를 통해 상기 URL주소에 대응하는 사이트로 진입하는 예를 도시하고 있다.
도 8은 본 발명의 다양한 실시 예에 따른 이미지로 내의 특정 문자를 인식하여, 상기 인식 결과와 관련된 다수의 애플리케이션을 디스플레이하는 예를 도시하고 있다.
도 9는 본 발명의 다양한 실시 예에 따른 바코드 또는 QR 코드를 인식하여, 상기 인식 결과와 관련된 다수의 애플리케이션을 디스플레이하는 예를 도시하고 있다.
도 10은 본 발명의 다양한 실시 예에 따른 전자장치에서 이미지 내용을 인식하여 관련 애플리케이션을 실행하기 위한 흐름도를 도시하고 있다.
도 11은 본 발명의 다양한 실시 예에 따른 이미지 내에서 복수의 객체를 선택하여 해당 인식모듈을 구동하는 사용자 인터페이스를 도시하고 있다.
도 12는 본 발명의 다양한 실시 예에 따른 이미지 내에서 복수의 객체를 선택하여 해당 인식모듈을 구동하기 위한 흐름도를 도시하고 있다.
도 13은 본 발명의 다양한 실시 예에 따른 카메라의 프리뷰 상태에서 이미지 내용을 인식하기 위한 흐름도를 도시하고 있다.
도 14는 본 발명의 다양한 실시 예에 따른 정보를 포함하는 코드의 종류를 도시하고 있다,
도 15는 본 발명의 다양한 실시 예에 따른 사용자 제스처에 기반하여 QR코드를 인식하는 예를 도시하고 있다.
도 16은 본 발명의 다양한 실시 예에 따른 사용자 제스처에 기반하여 데이터 매트릭스(data matrix) 을 인식하는 예를 도시하고 있다.
도 17은 본 발명의 다양한 실시 예에 따른 사용자 제스처에 기반하여 PDF 417 혹은 바코드를 인식하는 예를 도시하고 있다.
도 18은 본 발명의 다양한 실시 예에 따른 전자 장치에 대한 블록도를 도시하고 있다.
도 19는 본 발명의 다양한 실시 예에 따른 하드웨어 블록도를 도시하고 있다.
도 20은 본 발명의 다양한 실시 예에 따른 프로그래밍 모듈의 블록도를 도시하고 있다.
이하 본 발명의 다양한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하, 본 발명의 다양한 실시 예는 전자장치에서 이미지 내용을 인식하기 위한 방법 및 장치에 관해 설명하기로 한다.
도 1은 본 발명의 다양한 실시 예에 따른 이미지에서 인식영역을 선택하는 사용자 인터페이스를 도시하고 있다.
상기 도 1을 참조하면, 이미지에서 바코드 영역(a) 또는 QR코드 영역(b)이 사용자에 의해 터치되어 선택될 수 있다. 예를 들어, 터치된 위치와 가장 인접한 객체 또는 적어도 터치된 위치의 일부분을 포함하는 객체가 선택될 수 있다. 다양할 실시 예에서, 선택된 객체주변으로 사각형 박스(110)가 활성화되어 표시될 수 있고, 상기 사각형 박스는 사용자에 의해 크기가 더 조절될 수 있다. 객체가 선택되었음을 지시하는 사각형 박스(110)는 하나의 예로써, 본 다양한 실시 예에서 사각형 박스로 제한되지 않으며 다양한 모양의 도형으로 나타날 수도 있다. 상기 이미지는 이미지 센서를 통해 획득된 프리뷰 화면이거나 메모리에 기저장된 이미지(혹은 동영상, 사진)일 수 있다.
다양한 실시 예에서, 터치 혹은 탭 입력 대신에 호버링(hovering), 드래그, 스위핑 등의 입력으로 객체영역이 선택될 수 있다.
미도시된 또 다른 실시 예에서, 카메라가 장착된 HMD(Head Mounted Display)나 속이 비치는(see-through)형 아이글래스와 같은 경우에는 촬상장치를 통해 입력된 영상이 눈 앞에 장착된 디스플레이를 통해 표시되므로 객체의 선택은 터치장치가 아닌 손이나 손가락의 제스처나 움직임을 이용하여 판별할 수도 있다. 이를 위해 상기 혹은 별도 카메라나 손에 장착된 자이로 센서, 가속도 센서 등에서 손가락 혹은 손의 제스처를 감지하고, 해당 제스처에 따라 대응하는 객체 영역이 선택될 수 있다. 예를 들어 해당 물체와 HMD 사이에 위치하는 손가락의 제스처가 특정 물체 위에서 발생하면 카메라를 통해 손가락 제스처와 위치를 판별할 수 있으며, 또한 해당 위치에 존재하는 특정 물체의 영역을 인식할 수 있다. 어떠한 물체를 손가락이 가리킨 후 동그라미 제스처를 취하거나 손가락을 위아래로 흔들어 표시한다면, 해당 영역에 최소 일부가 위치한 객체의 영역를 지정할 수 있다. 혹은 특정 물체를 손가락 끝으로 가리키며 일정 시간 이상 유지시에, 손가락 끝 방향에 위치하거나 손가락과 인접하거나 혹은 최소한 일부 영역이 오버랩된 객체를 인식하고 이 객체의 영역을 선택하는 동작을 수행할 수도 있다. 이때, 특정 객체와 손가락은 반드시 물리적으로 접촉할 필요가 없으며, 손가락 끝 이미지가 가리키는 가장 인접한 객체 이미지 혹은 손가락 이미지가 해당 객체 이미지의 최소한 일부 영역과 접촉하거나 가림으로써 해당 객체가 무엇인지를 판별할 수도 있다. 다만, 객체 이미지를 가린 경우에는 가리기 이전의 입력된 이미지를 사전에 저장하고, 이에서 해당 객체 이미지를 메모리 상에서 복원함으로써 해당 객체 이미지의 영역을 확인할 수도 있다. 또 다른 예로는 해당 제스처 발생시 객체 선택 동작임을 인식하고, 제스처가 종료되고 해당 객체 영역에서 손가락이나 손의 이미지가 벗어나면, 객체 영역을 판별할 수도 있다.
이러한 객체영역이 선택되면, 해당 객체영역이 선택되었음을 그래픽, 사운드, 음성, 햅틱 피드백을 통해 사용자에게 알릴 수도 있다.
도 2는 본 발명의 다양한 실시 예에 따른 선택된 인식영역 내의 객체를 해석하기 위한 인식모듈을 구동하는 사용자 인터페이스를 도시하고 있다. 여기서, 인식모듈은 바코드, QR 코드, 문자 같은 객체를 인식하기 위한 모듈로써, 소프트웨어 혹은 하드웨어로 구현될 수 있다. 이하 객체 인식모듈이라 칭하기로 한다.
상기 도 2를 참조하면, 상기 도 1에서 선택되는 바코드 영역 혹은 QR 코드 영역을 해석하기 위한 객체 인식모듈을 구동하는 예를 도시하고 있다.
예를 들어, 상기 도 1의 (a)에서 사용자 터치 입력에 의해 바코드 영역이 선택된 후, 터치 후 좌측에서 우측으로 드래그하는 사용자 제스처(이하 스와이프 동작이라 칭함)가 검출되면, 해당 객체 인식모듈(또는 바코드 인식모듈)이 구동되어 바코드가 인식될 수 있다.
이때, 스와이프 동작 같은 사용자 제스처는 하나의 실시 예로 본 다양한 실시 예에서 제안되지 않으며 환경 설정을 통해 사용자에 의해 다양하게 정의될 수 있다.
또한, 다수 사용자 제스처와 다수 객체 인식모듈은 매핑되어, 사용자 제스처에 대응하는 객체 인식모듈이 바로 실행될 수 있다.
다른 다양한 실시 예에서, 사용자 제스처는 객체 인식모듈 구동을 위한 명령으로 사용되고, 어떤 객체 인식모듈을 이용할지는 자동으로 객체 종류를 분석하여 해당 객체 인식모듈을 선택한 후에 구동시킬 수 있다. 하기 도 15 내지 하기 도 17에서 객체 종류를 판단하는 예를 참고하기로 한다.
일반적으로, 바코드, 명함, 2차원 코드 인식 등의 경우 이미지의 선명도에 따라 인식성능이 영향을 받을 수 있기 때문에, 선택된 객체 영역을 중심으로 초점을 맞추어 사용자 제스처를 인식하면 더 좋은 인식률을 기대할 수 있다. 이를 위해, 객체 영역이 선택될 때 동시에 선택된 객체를 중심으로 초점이 맞추어져 객체 인식이 수행될 수 있다. 다양한 실시 예로, 자동 혹은 수동으로 특정 영역에 초점이 맞추어지는 경우 초점이 맞춰진 부분에서 일정 영역 안에 사용자 제스처를 위한 입력 가능한 영역이 생성되며, 최소한 해당 영역의 일부분을 포함하는 영역에서 바코드를 인식하기 위한 소정의 사용자 제스처가 입력될 경우, 바코드 혹은 QR 코드를 인식하고 소정의 연관 기능을 수행할 수 있다.
도 3은 본 발명의 다양한 실시 예에 따른 프리뷰 상태에서 인식영역을 선택하여 상기 선택된 인식영역 내의 이미지 내용을 해석하기 위한 인식모듈을 구동하는 사용자 인터페이스를 도시하고 있다.
도 3의 (a)을 참조하면, 이미지 센서로부터 획득된 이미지에서 QR 코드 영역이 사용자 터치에 의해 선택될 수 있다. 이때, QR 코드 영역을 중심으로 초점이 맞추어질 수 있다.
다양한 실시 예에 따라, 이미지 센서로부터 획득된 이미지에서 QR 코드가 자동으로 선택되어 초점이 맞추어질 수 있다. 다시 말해, 사용자 터치 입력 없이, 프리뷰 상태에서 QR 코드를 포함한 객체영역이 설정될 수 도 있다.
도 3의 (b)을 참조하면, 이미지 내의 선택된 QR 코드 영역에서 터치가 L형태로 드래그되는 사용자 제스처에 따라, QR 코드를 인식하기 위한 인식모듈이 구동될 수 있다. 즉, 상기 L형태의 사용자 제스처는 QR 코드 인식모듈로 구동할 필요가 있음을 암시하고 있다.
여기서, QR코드 인식모듈은 상기 사용자 제스처에 매핑되어 있어서, 사용자 제스처 입력시 바로 QR코드 인식모듈이 구동될 수 있다.
다양한 실시 예에 따라, 선택된 객체영역 내의 객체 종류가 판단되고 사용자 제스처에 의해 판단된 객체 인식모듈이 구동될 수 있다.
도 4는 본 발명의 다양한 실시 예에 따른 명암 내의 QR 코드를 인식하여 상기 QR 코드에 대응하는 정보를 제공하는 예를 도시하고 있다.
상기 도 4의 (a)를 참조하면, 이미지 센서를 통해 디스플레이에 명함이 프리뷰되어, 상기 도 1 내지 상기 도 3에서 설명한 바와 같이, 객체영역이 지정되어 QR 코드가 인식될 수 있다.
상기 도 4의 (b)를 참조하면, 상기 도 4의 (a)에서 명함에 있는 QR 코드가 인식될 때, QR 코드에 포함된 정보가 추출되어 디스플레이에 제공될 수 있다. 예를 들어, 이름, 회사명, 연락처, 이메일, 주소, 홈페이지 등의 정보가 디스플레이될 수 있다.
도 5는 본 발명의 다양한 실시 예에 따른 전자장치에서 이미지 내용을 인식하기 위한 흐름도를 도시하고 있다.
상기 도 5를 참조하면, 전자장치는 500동작에서 이미지를 디스플레이를 통해 표시할 수 있다. 상기 이미지는 이미지 센서를 통해 획득되어 프리뷰되어 제공되는 영상이거나, 메모리에 기저장되어 있는 사진 혹은 동영상일 수 있다.
전자장치는 502동작에서 적어도 하나 이상의 사용자 제스처를 검출할 수 있다.
*예컨대, 제1 사용자 제스처를 통해, 상기 이미지에서 일부 영역이 객체영역으로 지정되고, 제2 사용자 제스처를 통해, 상기 지정된 객체영역을 분석하기 위한 객체 인식모듈이 선택될 수 있다. 예를 들어, 상기 제1 사용자 제스처는 상기 객체영역에 인접한 혹은 상기 객체영역 내에서 검출되는 터치이고, 상기 제2 사용자 제스처는 해당 객체 인식모듈과 매핑되며 사용자 터치 패턴 입력에 의해 정의될 수 있다.
다양한 실시 예에서, 상기 제1 사용자 제스처 없이 자동으로 객체영역이 지정될 수 있다. 예컨대, 객체의 형상, 크기, 위치, 색상, 패턴밀도 등을 기준으로 객체영역이 자동으로 지정될 수 있다.
다양한 실시 예에서, 상기 제2 사용자 제스처는 단순히 객체 인식모듈 구동을 지시하는 명령어로 사용될 수 있으며, 이러한 경우 전자장치는 소정 기준으로 상기 지정된 객체영역의 객체에 대한 종류를 판단할 수 있다.
다양한 실시 예에서, 하나의 사용자 제스처를 통해 객체영역 지정 및 객체 인식모듈이 결정될 수도 있다. 예컨대, 객체영역을 중심을 사각형 모양으로 사용자 제스처가 입력되면, 사각형 크기가 객체영역이 되며 사각형은 제1 객체 인식모듈임을 나타낼 수 있다. 만약 객체영역을 중심을 원 모양으로 사용자 제스처가 입력되면, 원 크기가 객체영역이 되며 원은 제2 객체 인식모듈임을 나타낼 수 있다.
다양한 실시 예에서, 전자장치는 추가로 상기 지정된 객체영역을 기준으로 영상을 개선시키는 동작을 수행할 수 있다. 예컨대, 상기 이미지가 프리뷰 이미지인 경우, 상기 지정된 객체 영역을 기준으로 초점을 맞추고 이에 따라 화질이 개선된 신규 이미지를 획득할 수 있다. 또는 이미지의 밝기, 선명도, 대비(contrast), 또는 노출 기준으로 화질을 개선할 수도 있다.
전자장치는 504동작에서 적어도 하나 이상의 사용자 제스처에 따라 객체 인식모듈을 선택하고, 506동작에서 선택된 객체 인식모듈을 이용하여 상기 이미지 내의 지정된 객체영역을 분석하고, 508동작에서 분석결과를 디스플레이할 수 있다.
다양한 실시 예에서, 전자장치는 상기 이미지 내의 지정된 객체영역을 분석하기 전에, 적어도 하나의 추천 객체 인식모듈 모듈을 디스플레이할 수도 있다.
또 다른 다양한 실시 예에서, HMD나 아이글래스 등의 웨어러블 디스플레이 장치에서는 카메라 혹은 손이나 손가락에 장착한 제스처 감지 장치에 의해 사용자의 입력을 인식함으로써 상기 실시 예들을 구현할 수도 있다.
도 6은 본 발명의 다양한 실시 예에 따른 전자장치에서 이미지 내용을 인식하기 위한 흐름도를 도시하고 있다.
상기 도 6을 참조하면, 전자장치는 600동작에서 이미지를 디스플레이를 통해 표시할 수 있다. 상기 이미지는 이미지 센서를 통해 획득되어 프리뷰되어 제공되는 영상이거나, 메모리에 기저장되어 있는 사진 혹은 동영상일 수 있다.
전자장치는 602동작에서 상기 이미지에서 적어도 하나 이상의 객체 영역을 지정할 수 있다.
예를 들어, 상기 이미지에서 소정의 기준에 의하여 상기 객체 영역의 경계 혹은 범위가 자동으로 지정될 수 있다. 여기서, 상기 소정의 기준은 상기 이미지에 배치된 하나 이상의 객체의 크기, 위치, 패턴 밀도 중 하나 이상에 기반할 수 있다. 또한, 상기 소정의 기준은 촬상장치와 가장 근접한 전경의 객체이거나 가장 큰 객체인 것을 인식하여 객체 영역을 중심으로 초점이 맞추어질 수 있다.
만약, 이미지에서 복수의 객체 영역들을 인식하는 경우에 일정 시간 간격으로 순차적으로 초점을 맞추어 처리할 수도 있다.
다양한 실시 예에서, 이미지에서 객체 영역은 사용자 입력(또는 제1 사용자 제스처)에 의해 지정될 수 있다. 예컨대, 상기 객체 영역은 터치된 위치와 가장 인접한 객체 혹은 최소한 터치된 위치를 포함하는 객체의 영역으로 지정될 수 있다.
다양한 실시 예에서, 전자장치는 추가로 상기 지정된 객체 영역을 기준으로 영상을 개선시키는 동작을 수행할 수 있다. 예컨대, 상기 이미지가 프리뷰 이미지인 경우, 상기 지정된 객체 영역을 기준으로 초점을 맞추고 이에 따라 화질이 개선된 신규 이미지를 획득할 수 있다. 또는 이미지의 밝기, 선명도, 대비(contrast), 또는 노출 기준으로 화질을 개선시킬 수도 있다.
전자장치는 604동작에서 상기 이미지의 선택된 객체영역 내에서 제2 사용자 제스처 입력신호를 검출하여, 적어도 하나 이상의 관련 객체 인식모듈 모듈을 디스플레이할 수 있다.
예컨대, 사용자 제스처 패턴(예: 스와이프 동작, L형태의 터치입력 등등)을 검출하여, 검출된 사용자 제스처의 패턴에 매핑된 적어도 하나의 객체 인식모듈 목록을 디스플레이할 수 있다.
이를 위해, 전자장치는 입력된 사용자 제스처의 패턴정보와 기저장된 사용자 제스처 패턴 정보와 일치율을 계산하고, 일치율이 일정 이상인 하나 이상의 후보 패턴에 연관된 하나 이상의 객체 인식모듈(예: 문자 인식모듈, 바코드 인식모듈, 얼굴 인식모듈)을 결정할 수 있다.
다른 다양한 실시 예에서, 상기 제2 사용자 제스처 입력신호에 따라, 상기 객체영역의 종류를 판단하여, 객체 종류에 따라 객체 인식모듈이 결정될 수도 있다.
전자장치는 606동작에서 사용자 입력에 따라 적어도 하나 이상의 인식모듈 중 하나를 선택할 수 있다.
전자장치는 608동작에서 선택된 객체 인식모듈을 이용하여 상기 이미지의 객체영역을 분석하고, 610동작에서 분석결과를 디스플레이할 수 있다.
다양한 실시 예에서, 검출된 객체 영역이 다수인 경우, 하나의 제2 사용자 제스처에 의해 해당 객체 영역들의 객체들에 대해 동일한 동작(602동작 내지 610동작)이 각각 수행될 수 있다.
상기 다양한 실시 예에서, 제2 사용자 제스처는 상기 검출된 객체 영역 이외에서 검출될 수도 있다. 예를 들어, 상기 검출된 객체 영역이 하나 이상 있고, 해당 다른 객체 영역들이 모두 바코드인 경우, 상기 검출된 객체 영역 이외의 다른 영역에서 사용자 제스처 입력이 바코드 인식 명령임을 의미하면, 검출된 객체 영역들의 바코드들에 대한 디코딩 명령이 수행되고, 그 결과가 디스플레이에 표시될 수 있다.
또 다른 다양한 실시 예에서, 관련된 적어도 하나의 객체 인식모듈 목록을 디스플레이하여 객체 인식모듈 목록 중 하나를 선택하는 동작 없이, 상기 제2 사용자 제스처에 따라 바로 관련 객체 인식모듈이 구동되어 상기 검출된 객체 영역이 분석될 수 있다.
상기 도 6은 제1 사용자 제스처에 의해 객체영역이 지정되고 제2 사용자 제스처에 의해 상기 객체영역을 인식할 객체 인식모듈이 선택되어 구동되었으나 하나의 사용자 제스처를 통해 객체영역 지정과 객체 인식모듈 선택이 수행될 수도 있다. 즉, 사용자 제스처 입력신호가 입력되면, 사용자 제스처 입력 신호가 발생한 이미지의 위치를 기반으로 상기 객체영역이 지정되며 상기 객체영역의 종류가 판단되어 그 결과에 대응하는 객체 인식모듈이 선택되어 구동될 수 있다.
또 다른 다양한 실시 예로는 지정된 객체 인식모듈과 관련한 다양한 사용자 인터페이스를 제공할 수 있다. 즉, 사용자 제스처에 의해 지정된 객체가 인식되었을 때, 혹은 사용자 제스처의 패턴이 인식되었을 때, 분석결과와 관련해서 다양한 서비스가 제공될 수 있다.
예를 들어, 하기 도 7에서처럼, 신문, 잡지와 같은 지면에 광고가 있는 경우, 광고 내용중에 URL(Uniform Resource Locator) 주소 정보가 있다면, 이는 다양한 방법으로 표시될 수 있다. 해당 URL이 간단한 텍스트로 표시될 수도 있고 복잡한 URL인 경우 QR코드나 바코드 형태로 제공될 수도 있다. 문자, 바코드, 2차원 이미지 코드 등으로 표시된 객체를 이미지 센서를 통해 획득되어 사용자 제스처를 통해 객체 인식모듈이 지정된 경우, 단순히 객체를 인식만 하는 것이 아니라 다양한 연관된 애플리케이션을 제공할 수도 있다.
예컨대, 해당 객체를 디코딩했을 때 정보가 URL의 형태를 가진 경우에는 브라우저, 전화번호 및 주소 등의 정보가 포함된 것으로 판단된 경우에는 전화 애플리케이션이나 메일 작성 애플리케이션과 같은 관련 애플리케이션을 구동하거나 사용자 인터페이스에 의해 선택하도록 할 수도 있다. 지정되거나 인식된 객체에는 하나 이상의 정보 종류가 포함될 수 있으며, 하나 이상의 관련 애플리케이션이 지정되거나 구동될 수도 있다.
일반적으로 객체 인식모듈이 구동되어 정보를 인식한 후, 관련 애플리케이션이 구동되거나 선택할 수 있도록 사용자 인터페이스 형태로 디스플레이에 표시될 수 있으나, 반드시 객체 인식모듈이 수행되지 않을 수 있다. 사용자 제스처에 의해 객체 인식모듈이 지정된 경우에도 객체 인식모듈을 수행하지 않고도, 하나 이상의 관련 애플리케이션들이 제공될 수 있다. 예컨대, URL 정보는 문자 정보에 해당하며, 웹 브라우저를 통해 사이트에 접속할 때 이용될 수 있지만, 단순히 메모리에 복사해 둔 후 다른 애플리케이션에 붙여넣기를 위한 정보로 사용될 수도 있다. 따라서, 인식할 객체가 문자라고 판별되면, 문자 인식모듈을 구동하는 동작은 관련 애플리케이션 실행이나 애플리케이션 목록 디스플레이 한 후에 수행될 수도 있다.
다양한 실시 예에서, 하기 도 8과 같이 바코드 또는 QR 코드 인식모듈을 통해 바코드 또는 QR 코드를 분석한 후 관련 애플리케이션을 디스플레이할 수도 있다.
도 7은 본 발명의 다양한 실시 예에 따른 뉴스 기사 내의 특정 URL 주소를 인식하여 웹 브라우저를 통해 상기 URL주소에 대응하는 사이트로 진입하는 예를 도시하고 있다.
상기 도 7의 (a)를 참조하면, 상기 도 5 혹은 상기 도 6의 이미지 내용을 인식하기 위한 방법에 기반하여, 이미지에서 문자 객체(예컨대, URL 주소 정보)가 지정되어 문자 인식모듈(예: Optical Character Reader(OCR)이 선택된 후 상기 문자 인식모듈을 통해 상기 객체영역의 내용이 분석되는 예를 나타내고 있다.
상기 도 7의 (b)를 참조하면, 상기 도 7의 (a)의 분석결과에 대응하는 출력을 나타내고 있다. 예컨대, 상기 도 7의 (a)에서 "www.samsung.com" URL 주소가 인식될 때, 웹 브라우저를 통해 www.samsung.com에 대응하는 사이트를 접속할 수 있다.
도 8은 본 발명의 다양한 실시 예에 따른 이미지 내의 특정 문자를 인식하여, 상기 인식 결과와 관련된 다수의 애플리케이션을 디스플레이하는 예를 도시하고 있다.
상기 도 8을 참조하면, 복수 영화 포스터들의 이미지 센서를 통해 프리뷰될 때, 객체영역이 지정되고 문자 인식모듈이 선택된 후, 문자 인식모듈의 분석결과에 기반하여 관련 애플리케이션 목록(820)이 디스플레이될 수 있다. 이때, 사용자는 애플리케이션 목록에 어느 하나의 애플리케이션을 실행할 수 있다.
예를 들어, 문자인식을 위한 사용자 제스처가 터치스크린 위에 원을 그리는 동작으로 정의된 경우, 사용자는 프리뷰 상태에서 해당 객체영역('New York' 단어)에 원(810)을 그릴 수 있다. 이때, 전자장치는 터치 패널로 인가된 사용자 제스처를 검출한 후, 상기 사용자 제스처가 이미지에서 문자를 추출하라는 제스처임을 인지할 수 있고, 상기 사용자 제스처로 지정된 객체영역(810)의 이미지를 잘라내어(CROP) 잘라진 이미지에서 문자('New York')를 추출할 수 있다. 일반적으로, 이미지 센서로 피사체를 촬영하는 경우 초점을 맞추는 과정이 포함될 수 있는데, 특정 사용자 제스처가 특정 객체 영역에서 입력된 경우 전자장치는 초점 영역을 상기 사용자 제스처가 입력된 지점으로 할 수 있다. 이때, 상기 사용자 제스처에 따른 객체영역의 넓이는 상기 사용자 제스처에 따라 다를 수 있으며, 사진 셔터 키가 인가되지 않더라도 피사체의 초점이 맞는 경우 객체영역에서 문자 정보가 추출되어 사용자에게 제공될 수 있다. 또한, 객체영역에서 문자가 추출된 경우, 해당 문자를 처리할 수 있는 애플리케이션들의 목록이 나타날 수 있다. 다양한 실시 예에서, 특정 애플리케이션이 선택될 때 해당 문자를 처리할 수 있는 애플리케이션이 실행될 수 있다. 예를 들면 "New York" 이라는 문자가 지정되고 초점이 맞추어지면 문자 인식모듈(예: OCR)이 동작하며, 애플리케이션 목록 중 메모 애플리케이션이 선택되면 'New York' 단어가 메모 애플리케이션을 통해 저장될 수 있다.
다양한 실시 예에서, 이미지의 내용이 처리가 완료된 경우 카메라 앱은 일반 촬영 모드로 돌아갈 수도 있다.
도 9는 본 발명의 다양한 실시 예에 따른 바코드 또는 QR 코드를 인식하여, 상기 인식 결과와 관련된 다수의 애플리케이션을 디스플레이하는 예를 도시하고 있다.
상기 도 9의 (a)를 참조하면, 프리뷰 상태에서 이미지의 특정 영역에 있는 바코드 혹은 QR 코드를 인식하는 예를 도시하고 있다. 상기 도 9의 (a)에서 바코드 또는 QR 코드가 선택될 수 있다.
상기 도 9의 (b)를 참조하면, 상기 도 9의 (a)에서 인식된 바코드에 관련 애플리케이션들의 목록을 디스플레이하는 예를 도시하고 있다. 예를 들어, 인식된 바코드 혹은 QR 코드에 포함된 정보에 이메일, 전화번호, 홈페이지 정보 등이 있을 때, 그와 관련된 애플리케이션들(예: 바코드, 인터넷, 메시지, 이메일, 메모, 전화 애플리케이션)이 디스플레이될 수 있다.
상기 도 9의 (c)를 참조하면, 상기 도 9의 (a)에서 인식된 QR 코드에 관련 애플리케이션들의 목록을 디스플레이하는 예를 도시하고 있다. 예를 들어, 인식된 QR 코드에 대응하는 인터넷 및 전화 애플리케이션들이 디스플레이될 수 있다.
도 10은 본 발명의 다양한 실시 예에 따른 전자장치에서 이미지 내용을 인식하여 관련 애플리케이션을 실행하기 위한 흐름도를 도시하고 있다.
상기 도 10을 참조하면, 전자장치는 1000동작에서 이미지를 디스플레이를 통해 표시할 수 있다. 상기 이미지는 이미지 센서를 통해 획득되어 프리뷰되어 제공되는 영상이거나, 메모리에 기저장되어 있는 사진 혹은 동영상일 수 있다.
전자장치는 1002동작에서 적어도 하나 이상의 사용자 제스처를 검출할 수 있다. 예컨대, 제1 사용자 제스처를 통해, 상기 이미지에서 일부 영역이 객체영역으로 지정되고, 제2 사용자 제스처를 통해, 상기 지정된 객체영역을 분석하기 위한 객체 인식모듈이 선택될 수 있다. 예를 들어, 상기 제1 사용자 제스처는 상기 객체영역에 인접한 혹은 상기객체영역 내에서 검출되는 터치이고, 상기 제2 사용자 제스처는 해당 객체 인식모듈과 매핑되며 사용자 터치 패턴 입력에 의해 정의될 수 있다.
다양한 실시 예에서, 상기 제2 사용자 제스처는 객체 인식모듈 구동을 지시하는 명령어로 사용될 수 있으며, 이러한 경우 전자장치는 소정기준으로 객체영역의 종류를 판단할 수 있다. 예컨대, 하기 도 15 내지 하기 도 17과 같이, 해당 코드의 특성을 이용하여 코드 종류를 판단할 수 있다.
다양한 실시 예에서, 하나의 사용자 제스처를 통해 객체영역 지정 및 객체 인식모듈이 결정될 수도 있다. 예컨대, 객체영역을 중심을 사각형 모양으로 사용자 제스처가 입력되면, 사각형 크기가 객체영역이 되며 사각형은 제1 객체 인식모듈임을 나타낼 수 있다. 만약 객체영역을 중심을 원 모양으로 사용자 제스처가 입력되면, 원 크기가 객체영역이 되며 원은 제2 객체 인식모듈임을 나타낼 수 있다.
다양한 실시 예에서, 전자장치는 추가로 상기 지정된 객체 영역을 기준으로 영상을 개선시키는 동작을 수행할 수 있다. 예컨대, 상기 이미지가 프리뷰 이미지인 경우, 상기 지정된 객체 영역을 기준으로 초점을 맞추고 이에 따라 화질이 개선된 신규 이미지를 획득할 수 있다. 또는 이미지의 밝기, 선명도, 대비(contrast), 또는 노출 기준으로 화질을 개선할 수도 있다.
전자장치는 1004동작에서 적어도 하나 이상의 사용자 제스처에 따라 객체 인식모듈을 선택하고, 1006동작에서 선택된 객체 인식모듈을 이용하여 상기 이미지 내의 적어도 일부 객체영역을 분석하고, 1008단계에서 분석결과에 기반하여 관련 애플리케이션들을 디스플레이할 수 있다.
전자장치는 1010동작에서 관련 애플리케이션들 중 하나가 선택될 시, 1012동작으로 진행하여 선택된 관련 애플리케이션을 실행할 수 있다.
도 11은 본 발명의 다양한 실시 예에 따른 이미지 내에서 복수의 객체를 선택하여 해당 인식모듈을 구동하는 사용자 인터페이스를 도시하고 있다.
상기 도 11을 참조하면, 하나의 이미지에 서로 다른 다양한 종류의 객체(명함(1102), 제품1(1000), 제품2(1004))가 위치할 때, 동일한 사용자 제스처, 즉, 객체영역의 좌측 위에서 우측 아래로 터치를 드래그하여 각각의 객체에 대응하는 객체 인식모듈이 구동될 수 있다. 이미지 영역에서 각각의 객체를 인식하기 위한 객체 영역의 범위를 제한함으로써 영상처리를 위한 연산량과 메모리 사용량을 줄일 수 있다.
여기서, 각각의 객체영역에 대응하는 객체 인식모듈은 이미지 처리 또는 패턴분석을 통해 판단될 수 있다.
예를 들어, 상기 도 11과 같이 사용자 제스처가 사선인 경우, 사선의 시작지점은 지정할 객체영역의 좌측 상단이 되고, 사선의 종료 지점은 상기 객체영역의 우측 하단으로 인식할 수 있다. 또 다른 다양한 실시 예로 인식할 객체영역에 해당 객체가 포함되도록 하는 사용자 제스처(예: 사각형 모양, 원 모양)가 이용될 수도 있다. 또는 상기 사용자 제스처는 터치가 될 수 있으며 상기 터치는 객체 주변 혹은 안쪽일 수 있다. 터치가 객체 안쪽에 존재할 경우에는 패턴의 밀집도, 패턴의 모양, 패턴의 경계선, 패턴의 잉여여백, 색상 분포 등을 확인하여 객체를 포함하는 영역을 지정할 수 있다.
객체영역 지정시, 지정된 영역에서 객체를 구성하는 패턴 분포나 패턴의 모양 및 빈도, 색상, 밝기 정보 등을 이용함으로써 해당 객체의 종류가 무엇인지 판별할 수 있다. 또는 객체 인식모듈이나 혹은 다른 기능 지정을 위해 사용자 제스처가 입력될 때, 입력 좌표들에 대응하는 이미지 패턴을 조사함으로써 인식모듈을 지정할 수도 있다. 즉, 사용자 제스처 입력을 일종의 이미지의 픽셀정보를 분석하기 위한 스캔 라인으로서 이용하는 방법이다. 예를 들면, 바코드나 2차원 이미지 코드에 포함된 패턴 정보(예: finer pattern, 시작과 종료 패턴, 정렬(alignment) 패턴)는 코드의 위치, 방향, 기울임 등의 정보를 나타내는 식별기호로서 사용되며, 이러한 패턴은 소정의 기준에 따라 정의므로 패턴 정보를 통해 해당 코드의 종류를 판단할 수 있다. 상기 도 11과 같이 사용자 제스처가 사선으로 드래그될 때 바코드의 패턴의 경우 시작 패턴과 종료 패턴을, 즉 흑색 막대와 흰색 막대의 너비들의 비율을 인식할 수 있으므로 쉽게 바코드 형태의 객체임을 판별할 수 있다. 명함의 QR 코드의 경우에도 사용자 제스처의 사선이 QR 코드 이미지의 여러 패턴들을 경유하는데, 해당 패턴 중 Finger 패턴을 경유하는 경우에는 흑색과 흰색, 혹은 명도차가 1:1:3:1:1의 비율로 입력되므로 쉽게 QR 코드임을 인식할 수 있다.
도 12는 본 발명의 다양한 실시 예에 따른 이미지 내에서 복수의 객체를 선택하여 해당 인식모듈을 구동하기 위한 흐름도를 도시하고 있다.
상기 도 12를 참조하면, 전자장치는 1200동작에서 이미지를 디스플레이를 통해 표시할 수 있다. 상기 이미지는 이미지 센서를 통해 획득되어 프리뷰되어 제공되는 영상이거나, 메모리에 기저장되어 있는 사진 혹은 동영상일 수 있다.
전자장치는 1202동작에서 사용자 제스처에 따라 상기 이미지에서 객체영역을 선택하고 1204동작에서 상기 객체영역에 대응하는 객체 인식모듈을 결정하고, 1206단계에서 결정된 객체 인식모듈을 이용하여 상기 이미지 내의 객체영역을 분석하고, 1208동작에서 분석결과를 디스플레이할 수 있다.
전자장치는 1210동작에서 사용자 제스처에 의해 이미지에서 다른 객체영역을 검출될 시, 1202동작 내지 1208동작을 반복적으로 수행될 수 있다.
다양한 실시 예에서, 다수의 객체영역이 지정된 후에 다수의 객체영역에 대응하는 객체인식모듈이 선택되어 병렬로 분석처리될 수 있다.
도 13은 본 발명의 다양한 실시 예에 따른 카메라의 프리뷰 상태에서 이미지 내용을 인식하기 위한 흐름도를 도시하고 있다.
상기 도 13을 참조하면, 전자장치는 1300동작에서 카메라 앱을 구동하고 1302동작에서 프리뷰 화면을 디스플레이하고 1304동작에서 자동초점을 맞출 수 있다.
전자장치는 1306동작에서 프리뷰 화면에 터치입력을 수신하고, 1308동작에서 터치입력이 사용자 제스처인지를 판단할 수 있다.
1308동작에서 터치입력이 상기 사용자 제스처인 경우, 1310동작에서 상기 사용자 제스처를 분석하고, 1312동작에서 사용자 제스처에 일치하는 인식모듈을 선택하고 해당 객체영역에 초점에 맞출 수 있다.
여기서, 사용자 제스처 분석을 통해, 인식할 객체영역 및 객체인식모듈이 선택될 수 있다.
상기 사용자 제스처를 통해, 최소한 객체가 포함되는 영역이 지정되면 이를 기반으로 객체의 패턴 또는 패턴 배열 상태 등을 분석하여, 객체를 인식하는데 필요한 범위를 인식할 수 있다. 예를 들어, 자동으로 객체영역이 지정되는 경우 객체의 형상, 크기, 위치, 색상, 패턴의 밀도 등을 기준으로 이미지 내에서 인식할 객체영역을 찾을 수 있다. 대표적인 경우가 사진이나 프리뷰 이미지에서 얼굴 영역을 인식하는 것으로서 주로 색상을 이용하여 얼굴 영역 후보들을 찾고, 이 영역에서 눈썹, 눈, 입 등의 위치 정보를 기반으로 얼굴인지 여부를 판별할 수 있다. 바코드 혹은 QR코드 영역의 경우, 이미지에서 스캔라인(scan line)을 통해서 바코드나 2차원 이미지 코드 등의 특정한 패턴을 찾은 후 이를 이용하여 코드의 위치와 영역을 알 수 있다. 문자 영역의 경우에는 문자들이 일정 거리 이하의 군집을 이루고 있으며, 라인 단위로 구분되는 특성을 이용하여 글자나 숫자, 기호 영역 후보들을 인식할 수 있다. 이러한 후보들은 하나 이상일 수도 있으므로 경우에 따라 소정의 기준, 예를 들어 크기, 형상, 위치 등에 따라 후보들을 여러 개 추출한 후 이를 디스플레이에 표시하고 사용자 입력장치에 의해 후보들 중 하나 이상을 선택하는 동작도 추가로 포함할 수 있다.
다양한 실시 예에서 사용자 제스처에 의해 지정된 위치를 기반으로 객체영역이 지정될 수도 있다. 예를 들어, 프리뷰 이미지에서 디스플레이에 표시된 이미지의 특정 위치가 지정되면, 해당 위치와 관련한 영역을 지정하기 위한 동작이 수행된다. 이를 위해 터치나 탭(tap), 호버링(hovering), 드래깅. 스위핑 등이 발생한 위치를 인지하고, 해당 위치가 포함되거나 가장 인접한 하나 이상의 객체의 영역을 지정하거나 사용자 인터페이스에 의해 지정된 영역의 최소 일부가 포함된 객체영역을 지정할 수도 있다. 이를 위해, 사용자 인터페이스에 의해 지정된 위치들을 이용하여 패턴의 밀집도, 색상, 객체의 경계선 등을 판별함으로써 객체의 크기, 색상, 밝기, 형태 등을 인식하고 지정할 영역으로서의 적합성을 판별할 수 있다. 예컨대, 상기 지정위치를 중심으로 주변의 색상을 판별하고, 동일한 색상 영역에 대해 얼굴영역 후보로 판단할 수 있다. 바코드의 경우 코드 패턴 주위에 정적구간(Quiet zone: QZ)이라고 하는 잉여여백 부분이 있다. 대부분 바코드 주위에 보이는 흰색 여백이 이러한 부분으로서, 코드 패턴을 배경 이미지로부터 용이하게 분리하기 위한 것이다. 좀 더 상세히 기술하자면 코드 패턴 간의 간격보다 충분히 큰 영역이기 때문에 QZ 패턴의 밀집도 차이를 이용하여 쉽게 코드 패턴 영역과 이외 영역을 구분할 수 있다. 문자/숫자 영역의 경우에도 입력된 위치정보에 의해 인접한 객체들의 밀집도를 이용하여 라인과 글자 영역들을 판별할 수 있다. 컬러코드 등의 경우에는 여러 개의 셀(cell)이 인접하여 코드를 나타내는 사각형, 원형 등의 형태일 수 있는데, 이러한 객체는 경계선을 추적함으로써 객체의 형태와 경계를 인지할 수 있다.
다양한 실시 예에서, 프리뷰 영상, 동영상, 애니메이션 GIF와 같은 연속된 이미지인 경우, 상기 선택된 객체영역의 위치를 지속적으로 유지하면서 해당 객체영역을 알리는 사용자 인터페이스를 디스플레이할 수도 있다. 예를 들어, 바코드 영역으로 인식된 영역을 반투명, 색상, 밝기 등으로 표시하거나 테두리선, 마크, 도형 등을 이용하여 표시하고 매번 새로 입력되는 이미지에서 대해서도 상기 사용자 인터페이스를 유지할 수도 있다. 이는 상기 후보 객체영역이나 상기 선택된 객체영역인 경우에, 변화된 위치를 지속적으로 추적(tracking)함으로써 사용자에게 선택이나 제스처 입력 등 사용자 입력장치에 의한 기능을 제공하기 용이하게 하기 위함이다. 변화된 위치의 추적은 이전에 입력된 이미지와 이후 입력된 연속된 이미지(매 프레임 단위 혹은 일정 시간 주기)에 대해 차분 영상을 계산함으로써 변화된 움직임 벡터 등을 구하여 구할 수 있다. 또는 필요한 이미지마다 상기 영역 추출 방식을 이용하여 매번 구할 수도 있다. 일반적으로는 매번 구하는 방식은 프로세스 시간과 메모리 사용량을 증대시키므로 차분 영상 분석을 통해 상기 이미지들 간의 차이가 매우 크거나 새로운 객체가 입력되는 등과 같이 상기 객체영역 선택 동작을 수행할 필요가 있는지 판단과정을 거친 후 수행할 수 있다. 혹은 이전에 수행했던 상기 객체영역 선택 동작의 발생 시간으로부터 소정의 시간이 경과 할 때, 이를 상기 판단과정에서 수행하는 조건으로 인식하고, 가장 최근의 정확한 상황 판단을 상기 영역지정 과정을 새로 입력된 이미지에 대해 수행할 수 있다.
다양한 실시 예에서, 코드 인식모듈은 UPS(Universe Product Code), EAN(International Article Number), ISBN(International Standard Book Number) 등과 같은 1차원 바코드, QR(Quick Response) 코드, 데이터 매트릭스(Data matrix), 맥시코드(Maxi code), 컬러코드(ColorCode) 등과 같은 매트릭스형 2차원 코드, PDF-417 등과 같이 바코드가 여러 층 겹쳐진 형태의 계층형 코드(Layered code)와 같이 다양한 이미지 코드 종류들 중 한 가지 이상을 포함할 수 있으며, 사용자 제스처에 의해 선택될 수 있다. 또는 코드 인식모듈이 구동될 시, 이러한 코드 종류가 판단하여 해당하는 코드 인식모듈을 구동할 수도 있다.
객체영역을 지정하는 동작과 객체인식모듈을 선택하는 동작은 별도 동작할 수 있으나, 하나의 사용자 제스처에서 동시에 수행될 수도 있다. 예를 들어 사용자 제스처가 입력될 때, 사용자 제스처가 발생한 영역의 일부를 포함하는 영역을 상기 객체영역으로 인식할 수 있다. 상기 객체영역은 제스처의 시작을 위해 터치가 발생한 위치, 제스처의 종료가 발생한 위치, 혹은 제스처가 발생한 경로에 있는 하나 이상의 객체들의 위치를 포함할 수 있다.
제스처가 발생하는 위치는 지정된 객체영역 이외일 수도 있다. 예를 들어, 상기 지정된 객체영역이 하나 이상 있고, 해당 객체영역들이 모두 바코드인 경우이라면, 지정된 객체영역 이외 다른 영역에서 발생한 제스처 입력이 바코드 인식 명령을 의미하면, 지정된 객체영역들의 바코드들에 대한 디코딩 명령이 수행되고, 그 결과가 사용자 선택에 의해 각각 디스플레이에 표시될 수 있다.
또 다른 실시 예로서, 제스처가 발생한 경로에 포함된 이미지의 패턴 정보를 이용하여 동작할 디코더나 모듈의 종류를 지정할 수도 있다. 한 예로 EAN, ISBN과 같은 1차원 바코드를 인식하기 위해 바코드 패턴의 시작 패턴 부분의 이미지를 포함하는 제스처를 취한 경우 이를 1차원 바코드로 인식하기 용이하다. 따라서 1차원 바코드의 특징을 나타내는 시작패턴, 종료패턴, 데이터 패턴 중 최소한 하나 이상을 포함하는 영역에서 제스처 입력이 발생한다면, 제스처 입력시 스트로크 정보가 발생한 이미지 영역의 패턴 정보를 분석함으로써 종류를 판단할 수 있다. 유사한 방식의 또 다른 실시 예로는 제스처가 지나는 이미지 영역에서 2차원 바코드가 가진 고유의 패턴 정보(Eye bull mark, Code alignment 패턴, finder pattern 등)를 분석함으로써 판별할 수도 있다. 예를 들어 QR 코드의 경우에는 세 개의 finding 패턴이 있는 사각형 형태의 이미지 코드이므로 상기 지정된 객체영역에서 스트로크상의 경로를 추적하여 finder pattern의 특징인 1:1:3:1:1의 비율의 패턴 정보가 발견되면 QR 코드로 인식될 수 있다.
전자장치는 1314단계에서 선택된 객체 인식모듈을 이용하여 해당 객체영역을 분석하고 1316단계에서 분석결과를 제공할 수 있다.
반면, 1308단계에서 터치입력이 상기 사용자 제스처가 아닌 경우, 1318단계로 진행하여 선택영역 포커싱 또는 줌인/줌아웃 같은 카메라 촬영을 위한 기능을 수행할 수 있다.
도 14는 본 발명의 다양한 실시 예에 따른 정보를 포함하는 코드의 종류를 도시하고 있다.
상기 도 14의 (a)는 데이터 매트릭스(data matrix)이고, 상기 도 14의 (b)는 QR 코드이고, 상기 도 14의 (c)는 PDF417이고, 상기 도 14의 (d)는 Code 49이다.
상기 데이터 매트릭스는 전체 256 바이트 ASCII 문자 세트에서 3110 문자까지 인코딩할 수 있는 높은 밀도의 2차원 바코드이고, 상기 QR 코드는 흑백 격자 무늬 패턴으로 정보를 나타내는 매트릭스 형식의 이차원 바코드이고, 상기 PDF417는 가변적인 심볼 길이와 가변적인 심볼 높이를 갖는 이차원 심볼 코드이고, Code 49는 다층형이고 작은 데이터 길이는 가변인 연속형 심볼로지로서 128개의 모든 ASCII문자로 표현될 수 있다.
도 15는 본 발명의 다양한 실시 예에 따른 사용자 제스처에 기반하여 QR코드를 인식하는 예를 도시하고 있다.
상기 도 15를 참조하면, QR코드는 Finder pattern, alignment pattern, 데이터영역으로 구성될 수 있다. Finder pattern은 사각형 모서리에 각각 흑백패턴 1:1:3:1:1 비율로 존재하며, 디코더 애플리케이션에서 QR코드의 위치를 검출하는데 사용될 수 있다. alignment pattern은 Finder pattern들 사이에 흑백패턴 1:1:1:1:1 비율로 존재하며, 디코더 애플리케이션에서 심볼의 좌표를 결정하는데 사용될 수 있다.
상기 도 15의 (a)는 제1 Finder pattern에서 제3 Finder pattern으로 대각선으로 사용자 제스처가 검출되는 경우이고, 상기 도 15의 (b)는 제1 Finder pattern에서 제2 Finder pattern으로 좌측에서 우측으로 사용자 제스처가 검출되는 경우이고, 상기 도 15의 (c)는 제1 Finder pattern 영역에서 사용자 제스처가 검출되는 경우이고, 상기 도 15의 (d)는 제1 Finder pattern-제2 Finder pattern-제3 Finder pattern 방향으로 사용자 제스처가 검출되는 경우이고, 상기 도 15의 (e)는 제1 Finder pattern-제2 Finder pattern-제3 Finder pattern-제4 Finder pattern 방향으로 사용자 제스처가 검출되는 경우이고, 도 15의 (f)는 QR 코드 내에 Q라는 문자가 사용자 제스처를 통해 입력되는 경우이다.
상술한 바와 같이, QR코드의 Finder pattern 정보에 기반한 사용자 제스처 패턴을 인식하여 QR 코드임을 인지하거나 또는 QR코드임을 지시하는 Q 문자입력의 사용자 제스처를 통해 QR 코드임을 인지할 수 있다.
도 16은 본 발명의 다양한 실시 예에 따른 사용자 제스처에 기반하여 데이터 매트릭스(data matrix) 을 인식하는 예를 도시하고 있다.
상기 도 16을 참조하면, QR코드와 마찬가지로, 데이터 매트릭스는 Finder pattern, alignment pattern, 데이터영역으로 구성될 수 있다. 다만 데이터 매트릭스의 Finder pattern은 상기 도 16의 (b)와이 같이 좌측 경계와 아래 경계부분에 위치하고 데이터 매트릭스의 상기 도 16의 (a)와이 같이 우측 경계와 위쪽 경계부분 각각에 흑백패턴 1:1:1:1:1 비율로 존재할 수 있다.
상기 도 16의 (a)는 우측 경계와 위쪽 경계부분에 각각 흑백패턴 1:1:1:1:1 비율로 존재하는 alignment pattern을 기반으로 사용자 제스처가 검출되는 경우이고, 상기 도 16의 (b)는 좌측 경계와 아래 경계부분에 존재하는 Finder pattern을 기반으로 사용자 제스처가 검출되는 경우이고, 상기 도 16의 (c)는 우측 경계와 위쪽 경계부분에 각각 흑백패턴 1:1:1:1:1 비율로 존재하는 alignment pattern 및 좌측 경계와 아래 경계부분에 존재하는 Finder pattern을 기반으로 사용자 제스처가 검출되는 경우이고, 도 16의 (d)는 데이터 매트릭스 내에 "D"라는 문자가 사용자 제스처를 통해 입력되는 경우이다.
상술한 바와 같이, 데이터 매트릭스의 Finder pattern 및 alignment pattern 정보에 기반한 사용자 제스처 패턴을 인식하여 데이터 매트릭스임을 인지하거나 또는 데이터 매트릭스임을 지시하는 D 문자입력의 사용자 제스처를 통해 데이터 매트릭스임을 인지할 수 있다.
도 17은 본 발명의 다양한 실시 예에 따른 사용자 제스처에 기반하여 PDF 417 혹은 바코드를 인식하는 예를 도시하고 있다.
상기 도 17을 참조하면, PDF417은 start pattern, end pattern, 데이터영역으로 구성될 수 있다. start pattern은 코드의 시작을 알리는 것이고, end pattern은 코드의 종료를 알리는 것이다. 도시하지 않았지만, start pattern 다음에 왼쪽임을 알리는 left row indicator가 있고 end pattern 바로 옆에 오른쪽임을 알리는 Right Row indicator가 위치할 수 있다. 또한, PDF417은 도 17의 (c)와 같이 중간 중간에 alignment pattern이 포함될 수 있다.
도 17의 (a)는 start pattern이 있는 지점에서 end pattern이 있는 지점으로 사용자 제스처가 일직선으로 검출되는 경우이고, 도 17의 (b) 및 (c)는 start pattern이 있는 지점에서 end pattern이 있는 지점으로 사용자 제스처가 대각선방향으로 검출되는 경우이고, 도 17의 (d)는 데이터 매트릭스 내에 "P"라는 문자가 사용자 제스처를 통해 입력되는 경우이다.
상술한 바와 같이, PDF417은 start pattern, end pattern 및 alignment pattern 정보에 기반한 사용자 제스처 패턴을 인식하여 PDF417임을 인지하거나 또는 PDF417임을 지시하는 P 문자입력의 사용자 제스처를 통해 PDF417임을 인지할 수 있다.
본 개시에 따른 전자 장치는, 통신 기능이 포함된 장치일 수 있다. 예를 들면, 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동전화기(mobile phone), 화상전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 카메라(camera), 웨어러블 장치(wearable device), 전자 시계(electronic clock), 손목 시계(wrist watch), 스마트 가전(smart white appliance)(예: 냉장고, 에어컨, 청소기, 인공 지능 로봇, TV, DVD(digital video disk) 플레이어, 오디오, 오븐, 전자레인지, 세탁기, 공기 청정기, 전자 액자 등), 각종 의료기기(예: MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 초음파기 등), 네비게이션(navigation) 장치, GPS 수신기(global positioning system receiver), EDR(event data recorder), FDR(flight data recorder), 셋톱 박스(set-top box), TV 박스(예를 들면, 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 전자 사전, 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(electronic equipment for ship, 예를 들면, 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 전자 의복, 전자 키, 캠코더(camcorder), 게임 콘솔(game consoles), HMD(head-mounted display), 평판표시장치(flat panel display device), 전자 앨범, 통신 기능을 포함한 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 입력장치(electronic signature receiving device) 또는 프로젝터(projector) 등의 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. . 본 개시에 따른 전자 장치는 전술한 기기들에 한정되지 않음은 당업자에게 자명하다.
도 18은 다양한 실시 예에 따른 전자 장치에 대한 블록도를 도시한다. 도 18을 참조하면, 상기 전자장치(1800)는 버스(1810), 프로세서(1820), 메모리 (1830), 사용자 입력 모듈(1840), 디스플레이 모듈(1850), 또는 통신 모듈(1860)을 포함할 수 있다.
*상기 버스(1810)는 전술한 구성요소들을 서로 연결하고, 전술한 구성요소들 간의 통신(예: 제어 메시지)을 전달하는 회로일 수 있다.
상기 프로세서(1820)는, 예를 들면, 상기 버스(1810)를 통해 전술한 다른 구성요소들(예: 상기 메모리(1830), 상기 사용자 입력 모듈(1840), 상기 디스플레이 모듈(1850), 상기 통신 모듈(1860) 등)로부터 명령을 수신하여, 수신된 명령을 해독하고, 해독된 명령에 따른 연산이나 데이터 처리를 실행할 수 있다.
상기 메모리(1830)는, 상기 프로세서(1820) 또는 다른 구성요소들(예: 상기 사용자 입력 모듈(1840), 상기 디스플레이 모듈(1850), 상기 통신 모듈(1860)등)로부터 수신되거나 상기 프로세서(1820) 또는 다른 구성요소들에 의해 생성된 명령 또는 데이터를 저장할 수 있다. 상기 메모리(1830)는, 예를 들면, 커널(1831), 미들웨어(1832), 애플리케이션 프로그래밍 인터페이스(API: application programming interface)(1833) 또는 애플리케이션(1834) 등의 프로그래밍 모듈들을 포함할 수 있다. 전술한 각각의 프로그래밍 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다.
상기 커널(1831)은 나머지 다른 프로그래밍 모듈들, 예를 들면, 상기 미들웨어(1832), 상기 API(1833) 또는 상기 애플리케이션(1834)에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 상기 버스(1810), 상기 프로세서(1820) 또는 상기 메모리(1830) 등)을 제어 또는 관리할 수 있다. 또한, 상기 커널(1831)은 상기 미들웨어(1832), 상기 API(1833) 또는 상기 애플리케이션(1834)에서 상기 전자 장치(1800)의 개별 구성요소에 접근하여 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
상기 미들웨어(1832)는 상기 API(1833) 또는 상기 애플리케이션(1834)이 상기 커널(1831)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 상기 미들웨어(1832)는 상기 (다수의) 애플리케이션들(1834)로부터 수신된 작업 요청들과 관련하여, 예를 들면, 상기 (다수의) 애플리케이션들(1834)들 중 적어도 하나의 애플리케이션에 상기 전자 장치(1800)의 시스템 리소스(예: 상기 버스(1810), 상기 프로세서(1820) 또는 상기 메모리(1830) 등)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 로드 밸런싱을 수행할 수 있다.
상기 API(1833)는 상기 애플리케이션(1834)이 상기 커널(1831) 또는 상기 미들웨어(1832)에서 제공하는 기능을 제어할 수 있는 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수를 포함할 수 있다.
상기 사용자 입력 모듈(1840)은, 예를 들면, 사용자로부터 명령 또는 데이터를 입력받아 상기 버스(1810)를 통해 상기 프로세서(1820) 또는 상기 메모리(1830)에 전달할 수 있다. 상기 디스플레이 모듈(1850)은 사용자에게 화상, 영상 또는 데이터 등을 표시할 수 있다.
상기 통신 모듈(1860)은 다른 전자 장치(1802)와 상기 전자 장치(1800) 간의 통신을 연결할 수 있다. 상기 통신 모듈(1860)은 소정의 근거리 통신 프로토콜(예: Wifi(wireless fidelity), BT(Bluetooth), NFC(near field communication) 또는 소정의 네트워크 통신(예: Internet, LAN(local area network), WAN(wire area network), telecommunication network, cellular network, satellite network 또는 POTS(plain old telephone service) 등)(1862)을 지원할 수 있다. 상기 전자 장치 102, 104 각각은 상기 전자 장치(1800)와 동일한 (예: 같은 타입의) 장치이거나 또는 다른 (예: 다른 타입의) 장치일 수 있다.
또한, 상기 통신 모듈(1860)은 또 다른 전자 장치(1804) 및 서버(1864)와 상기 전자 장치(1800) 간 네트워크(1862)를 통해 연결할 수 있다.
도 19는 다양한 실시 예들에 따른 하드웨어(1900)의 블록도를 도시한다. 상기 하드웨어(1900)는, 예를 들면, 도 18에 도시된 전자 장치(1800)일 수 있다. 도 19를 참조하면, 상기 하드웨어(1900)는 하나 이상의 프로세서(1910), SIM(subscriber identification module) 카드(1914), 메모리(1920), 통신 모듈(1930), 센서 모듈(1940), 사용자 입력 모듈(1950), 디스플레이 모듈(1960), 인터페이스(270), 오디오 코덱(1980), 카메라 모듈(1991), 전력관리 모듈(1995), 배터리(1996), 인디케이터(1997)또는 모터(1998) 를 포함할 수 있다.
상기 프로세서(1910)(예: 상기 프로세서(1820))는 하나 이상의 애플리케이션 프로세서(AP: application processor)(1911) 또는 하나 이상의 커뮤니케이션 프로세서(CP: communication processor)(1913)를 포함할 수 있다. 상기 프로세서(1910)는, 예를 들면, 도 18에 도시된 프로세서(1820)일 수 있다. 도 19에서는 상기 AP(1911) 및 상기 CP(1913)가 프로세서(1910) 내에 포함된 것으로 도시되었으나, 상기 AP(1911)와 상기 CP(1913)는 서로 다른 IC 패키지들 내에 각각 포함될 수 있다. 한 실시 예에서는 상기 AP(1911) 및 상기 CP(1913)는 하나의 IC 패키지 내에 포함될 수 있다.
상기 AP(1911)는 운영체제 또는 응용 프로그램을 구동하여 상기 AP(1911)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어하고, 멀티미디어 데이터를 포함한 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP(1911)는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시 예에 따르면, 상기 프로세서(1910)는 GPU(graphic processing unit, 미도시)를 더 포함할 수 있다.
상기 CP(1913)는 상기 하드웨어(1900)를 포함하는 전자 장치(예: 상기 전자 장치(1800))와 네트워크로 연결된 다른 전자 장치들 간의 통신에서 데이터 링크를 관리하고 통신 프로토콜을 변환하는 기능을 수행할 수 있다. 상기 CP (1913)는, 예를 들면, SoC로 구현될 수 있다. 한 실시 예에 따르면, 상기 CP(1913)는 멀티미디어 제어 기능의 적어도 일부를 수행할 수 있다. 상기 CP(1913)는, 예를 들면, 가입자 식별 모듈(예: SIM 카드(1914))을 이용하여 통신 네트워크 내에서 단말의 구별 및 인증을 수행할 수 있다. 또한, 상기 CP(1913)는 사용자에게 음성 통화, 영상 통화, 문자 메시지 또는 패킷 데이터(packet data) 등의 서비스들을 제공할 수 있다.
또한, 상기 CP(1913)는 상기 통신 모듈(1930)의 데이터 송수신을 제어할 수 있다. 도 19에서는, 상기 CP(1913), 상기 전력관리 모듈(1995) 또는 상기 메모리(1920) 등의 구성요소들이 상기 AP(1911)와 별개의 구성요소로 도시되어 있으나, 한 실시 예에 따르면, 상기 AP(1911)가 전술한 구성요소들의 적어도 일부(예: 상기 CP(1913))를 포함하도록 구현될 수 있다.
한 실시 예에 따르면, 상기 AP(1911) 또는 상기 CP(1913)는 각각에 연결된 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 상기 AP(1911) 또는 상기 CP(1913)는 다른 구성요소 중 적어도 하나로부터 수신하거나 다른 구성요소 중 적어도 하나에 의해 생성된 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
상기 SIM 카드(1914)는 가입자 식별 모듈을 구현한 카드일 수 있으며, 전자 장치의 특정 위치에 형성된 슬롯에 삽입될 수 있다. 상기 SIM 카드(1914)는 고유한 식별 정보(예: ICCID(integrated circuit card identifier))또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
상기 메모리(1920)는 내장 메모리(1922) 또는 외장 메모리(1924)를 포함할 수 있다. 상기 메모리(1920)는, 예를 들면, 도 18에 도시된 메모리(1830)일 수 있다. 상기 내장 메모리(1922)는, 예를 들면, 휘발성 메모리(예를 들면, DRAM(dynamic RAM), SRAM(static RAM), SDRAM(synchronous dynamic RAM) 등) 또는 비휘발성 메모리(non-volatile Memory, 예를 들면, OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, NAND flash memory, NOR flash memory 등) 중 적어도 하나를 포함할 수 있다. 한 실시예에 따르면, 상기 내장 메모리 222는 Solid State Drive (SSD)의 형태를 취할 수도 있다. 상기 외장 메모리(1924)는, 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital) 또는 memorystick 등을 더 포함할 수 있다.
상기 통신 모듈(1930)은 무선 통신 모듈(1931) 또는 RF 모듈(1934)을 포함할 수 있다. 상기 통신 모듈(1930)은, 예를 들면, 도 18에 도시된 통신 모듈(1860)일 수 있다. 상기 무선 통신 모듈(1931)은, 예를 들면, WiFi 233, BT(bluetooth)(1935), GPS(1937) 또는 NFC(near field communication)(1939)를 포함할 수 있다. 예를 들면, 상기 무선 통신 모듈(1931)은 무선 주파수를 이용하여 무선 통신 기능을 제공할 수 있다. 추가로 또는 대체적으로, 상기 무선 통신 모듈(1931)은 상기 하드웨어(1900)를 네트워크(예: Internet, LAN(local area network), WAN(wire area network), telecommunication network, cellular network, satellite network 또는 POTS(plain old telephone service) 등)와 연결시키기 위한 네트워크 인터페이스(예: LAN card) 또는 모뎀 등을 포함할 수 있다.
상기 RF 모듈(1934)은 데이터의 송수신, 예를 들면, RF 신호 또는 호출된 전자 신호의 송수신을 담당할 수 있다. 상기RF 모듈(1934)은, 도시되지는 않았으나, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter) 또는 LNA(low noise amplifier) 등을 포함할 수 있다. 또한, 상기 RF 모듈(1934)은 무선통신에서 자유공간상의 전자파를 송수신하기 위한 부품, 예를 들면, 도체 또는 도선 등을 더 포함할 수 있다.
상기 센서 모듈(1940)은, 예를 들면, 제스처 센서(1940A), 자이로 센서(1940B), 기압 센서(1940C), 마그네틱 센서(1940D), 가속도 센서(1940E), 그립 센서(1940F), 근접 센서(1940G), RGB(red, green, blue) 센서(1940H), 생체 센서(1940I), 온/습도 센서(1940J), 조도 센서(1940K) 또는 UV(ultra violet) 센서(1940M) 중의 적어도 하나를 포함할 수 있다. 상기 센서 모듈(1940)은 물리량을 계측하거나 전자 장치의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 추가적으로/대체적으로, 상기 센서 모듈(1940)은, 예를 들면, 후각 센서(E-nose sensor, 미도시), EMG 센서(electromyography sensor, 미도시), EEG 센서(electroencephalogram sensor, 미도시), ECG 센서(electrocardiogram sensor, 미도시) 또는 지문 센서 등을 포함할 수 있다. 상기 센서 모듈(1940)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어회로를 더 포함할 수 있다.
상기 사용자 입력 모듈(1950)은 터치 패널(touch panel)(1952), (디지털) 펜 센서(pen sensor)(1954), 키(key)(1956) 또는 초음파 입력 장치(1958)를 포함할 수 있다. 상기 사용자 입력 모듈(1950)은, 예를 들면, 도 18에 도시된 사용자 입력 모듈(1840)일 수 있다. 상기 터치 패널1(952)은, 예를 들면, 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 터치 입력을 인식할 수 있다. 또한, 상기 터치 패널(1952)은 컨트롤러(미도시)를 더 포함할 수도 있다. 정전식의 경우, 직접 터치뿐만 아니라 근접 인식도 가능하다. 상기 터치 패널(1952)은 택타일 레이어(tactile layer)를 더 포함할 수도 있다. 이 경우, 상기 터치 패널(1952)은 사용자에게 촉각 반응을 제공할 수 있다.
상기 (디지털) 펜 센서(1954)는, 예를 들면, 사용자의 터치 입력을 받는 것과 동일 또는 유사한 방법 또는 별도의 인식용 쉬트(sheet)를 이용하여 구현될 수 있다. 상기 키(1956)로서, 예를 들면, 키패드 또는 터치 키가 이용될 수 있다. 상기 초음파 입력 장치(1958)는 초음파 신호를 발생하는 펜을 통해, 단말에서 마이크(예: 마이크(1988))로 음파를 감지하여 데이터를 확인할 수 있는 장치로서, 무선 인식이 가능하다. 한 실시 예에 따르면, 상기 하드웨어(1900)는 상기 통신 모듈(1930)을 이용하여 이와 연결된 외부 장치(예: 네트워크, 컴퓨터 또는 서버)로부터 사용자 입력을 수신할 수도 있다.
상기 디스플레이 모듈(1960)은 패널(1962) 또는 홀로그램 264을 포함할 수 있다. 상기 디스플레이 모듈(1960)은, 예를 들면, 도 18에 도시된 디스플레이 모듈(1950)일 수 있다. 상기 패널(1962)은, 예를 들면, LCD(liquid-crystal display) 또는 AM-OLED(active-matrix organic light-emitting diode) 등일 수 있다. 상기 패널(1962)은, 예를 들면, 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 상기 패널262은 상기 터치 패널(1952)과 하나의 모듈로 구성될 수도 있다. 상기 홀로그램(1964)은 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 한 실시 예에 따르면, 상기 디스플레이 모듈(1960)은 상기 패널(1962) 또는 상기 홀로그램(1964)을 제어하기 위한 제어회로를 더 포함할 수 있다.
상기 인터페이스(1970)는, 예를 들면, HDMI(high-definition multimedia interface)(1972), USB(universal serial bus)(1974), 프로젝터(1976) 또는 D-sub(D-subminiature)(1978)를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스(1970)는, 예를 들면, SD(secure Digital)/MMC(multi-media card)(미도시) 또는 IrDA(infrared data association, 미도시)를 포함할 수 있다.
상기 오디오 코덱(1980)은 음성과 전기신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 코덱(1980)은, 예를 들면, 스피커(1982), 리시버(1984), 이어폰(1986) 또는 마이크(1988) 등을 통해 입력 또는 출력되는 음성 정보를 변환시킬 수 있다.
상기 카메라 모듈(1991)은 화상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 렌즈 또는 후면 렌즈), ISP(image signal processor, 미도시) 또는 플래쉬 LED(flash LED, 미도시)를 포함할 수 있다.
상기 전력관리 모듈(1995)은 상기 하드웨어(1900)의 전력을 관리할 수 있다. 도시하지는 않았으나, 상기 전력관리 모듈(1995)은, 예를 들면, PMIC(power management integrated circuit), 충전 IC(charger integrated circuit) 또는 배터리 게이지(battery fuel gauge)를 포함할 수 있다.
상기 PMIC는, 예를 들면, 집적회로 또는 SoC 반도체 내에 탑재될 수 있다. 충전 방식은 유선과 무선으로 구분될 수 있다. 상기 충전 IC는 배터리를 충전시킬 수 있으며, 충전기로부터의 과전압 또는 과전류 유입을 방지할 수 있다. 한 실시 예에 따르면, 상기 충전 IC는 유선 충전 방식 또는 무선 충전 방식 중 적어도 하나를 위한 충전 IC를 포함할 수 있다. 무선 충전 방식으로는, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등이 있으며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 정류기 등의 회로가 추가될 수 있다.
상기 배터리 게이지는, 예를 들면, 상기 배터리(1996)의 잔량, 충전 중 전압, 전류 또는 온도를 측정할 수 있다. 상기 배터리(1996)는 전기를 생성하여 전원을 공급할 수 있고, 예를 들면, 충전식 전지(rechargeable battery)일 수 있다.
상기 인디케이터(1997)는 상기 하드웨어(1900) 혹은 그 일부(예: 상기 AP 1911)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 상기 모터(1998)는 전기적 신호를 기계적 진동으로 변환할 수 있다. 상기 MCU(1999)은, 상기 센서 모듈(1940)을 제어할 수 있다.
도시되지는 않았으나, 상기 하드웨어(1900)는 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 상기 모바일 TV지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting) 또는 미디어플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
본 개시에 따른 하드웨어의 전술한 구성요소들의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 본 개시에 따른 하드웨어는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 본 개시에 따른 하드웨어의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
도 20은 한 실시 예에 따른 프로그래밍 모듈(2000)의 블록도를 도시한다. 상기 프로그래밍 모듈(2000)은 도 18에 도시된 전자 장치(1800)(예: 상기 메모리(1830))에 포함(예: 저장)될 수 있다. 상기 프로그래밍 모듈(2000)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다. 상기 프로그래밍 모듈(2000)은 하드웨어(예: 상기 하드웨어(1900))에 구현되어 전자 장치(예: 상기 전자 장치(1800))에 관련된 자원을 제어하는 운영체제(OS: operation system) 또는 운영체제 상에서 구동되는 다양한 어플리케이션(예: 상기 애플리케이션(2070)을 포함할 수 있다. 예를 들면, 상기 운영체제는 안드로이드(Android), iOS, 윈도우즈(Windows), 심비안(Symbian), 타이젠(Tizen) 또는 바다(Bada) 등이 될 수 있다. 도 20을 참조하면, 상기 프로그래밍 모듈(2000)은 커널(2010), 미들웨어(2030), API(application programming interface)(2060) 또는 어플리케이션(2070)을 포함할 수 있다.
상기 커널(2010)(예: 상기 커널 131)은 시스템 리소스 매니저(2011) 또는 디바이스 드라이버 312를 포함할 수 있다. 상기 시스템 리소스 매니저(2011)는, 예를 들면, 프로세스관리부(2013), 메모리관리부(2015) 또는 파일시스템관리부 (2017) 등을 포함할 수 있다. 상기 시스템 리소스 매니저(2011)는 시스템 리소스의 제어, 할당 또는 회수 등을 수행할 수 있다. 상기 디바이스 드라이버(2012)는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WiFi 드라이버 또는 오디오 드라이버를 포함할 수 있다. 또한, 한 실시 예에 따르면, 상기 디바이스 드라이버(2012)는 IPC (inter-process communication, 미도시) 드라이버를 포함할 수 있다.
상기 미들웨어(2030)는 상기 애플리케이션(2070)이 공통적으로 필요로 하는 기능을 제공하기 위해 미리 구현해 놓은 복수의 모듈들을 포함할 수 있다. 또한, 상기 미들웨어(2030)는 상기 어플리케이션(2070)이 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 상기 API(2060)를 통해 기능을 제공할 수 있다. 예를 들면, 도 20에 도시된 바와 같이, 상기 미들웨어(2030)(예: 상기 미들웨어 1832)는 런타임 라이브러리(2035), 이미지 인식 매니저(3136), 어플리케이션 매니저(application manager)(2041), 윈도우 매니저(window manager)(2042), 멀티미디어 매니저(multimedia manager)(2043), 리소스 매니저(resource manager) (2044), 파워 매니저(power manager)(2045), 데이터베이스 매니저(database manager)(2046), 패키지 매니저(2047), 연결 매니저(connectivity manager) (2048), 통지 매니저(notification manager)(2049), 위치 매니저(location manager)(2050), 그래픽 매니저(graphic manager)(2051) 또는 보안 매니저(security manager)(2052) 중 적어도 하나를 포함할 수 있다.
상기 런타임 라이브러리(2035)는, 예를 들면, 상기 어플리케이션(2070)이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 한 실시 예에 따르면, 상기 런타임 라이브러리(2035)는 입출력, 메모리 관리 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
상기 어플리케이션 매니저(2041)는, 예를 들면, 상기 어플리케이션(2070) 중 적어도 하나의 어플리케이션의 생명주기(life cycle)를 관리할 수 있다. 상기 윈도우 매니저(2042)는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 상기 멀티미디어 매니저(2043)는 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱(codec)을 이용하여 미디어 파일의 인코딩(encoding) 또는 디코딩(decoding)을 수행할 수 있다. 상기 리소스 매니저 (2044)는 상기 어플리케이션(2070) 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
상기 파워 매니저(2045)는 바이오스(BIOS: basic input/output system) 등과 함께 동작하여 배터리(battery) 또는 전원을 관리하고, 동작에 필요한 전력 정보 등을 제공할 수 있다. 상기 데이터베이스 매니저(2046)는 상기 어플리케이션(2070) 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색 또는 변경할 수 있도록 관리할 수 있다. 상기 패키지 매니저(2047)는 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
상기 연결 매니저(2048)는, 예를 들면, WiFi 또는 블루투스 등의 무선 연결을 관리할 수 있다. 상기 통지 매니저(2049)는 도착 메시지, 약속, 근접성 알림 등의 사건(event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 상기 위치 매니저(2050)는 전자 장치의 위치 정보를 관리할 수 있다. 상기 그래픽 매니저(2051)는 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 상기 보안 매니저(2052)는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 한 실시 예에 따르면, 전자 장치(예: 상기 전자 장치(1800))가 전화 기능을 구비한 경우에는, 상기 미들웨어(2030)는 상기 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저(telephony manager, 미도시)를 더 포함할 수 있다.
상기 이미지 인식 매니저(2136)는, 본 개시의 이미지 내의 객체영역 선택 및 객체인식모듈 선택과 관련한 사용자 인터페이스를 관리할 수 있다.
한 실시 예에 따르면, 촬영된 이미지에서 인물, 사물, 얼굴, 배경 등과 같은 개체나 영역들을 추출, 분리하고 각각의 객체나 각각의 영역에 해당하는 주요 속성(이미지 내 객체 위치, 객체/영역간 상대 위치 혹은 위상, 형상, 색상, 화자관련 정보, 메타데이터 등)을 하나 이상 식별하는 기능을 수행하는 모듈임. 식별된 객체나 영역의 주요 속성을 메모리에 전달하여 저장함으로써, 상기 이미지에 포함된 개체나 영역에 대하여 정보 질의가 발생하였을 때, 프로세스가 메모리에서 이에 대응하는 하나 이상의 속성 정보를 수신하고 처리할 수 있다. 상기 정보 질의는 이미지, 오디오, 사용자 입력 인터페이스에 의한 좌표나 영역 지정, 키워드에 의한 질의 등이 가능함
상기 이미지 인식 매니저(2136)는, 전처리, 영상분할(segmentation), 특징 추출(feature extraction), 인식(recognition), 인식(recognition) 같은 다양한 영상처리를 관리할 수 있다.
예컨대, 아래 기술된 이미지 처리 기법들이 이용될 수 있다.
이진화(binarization), 회색조 변환(gray-level scaling), 컬러 변환(color conversion) 등과 같은 속성 변환 기법을 이용함으로써 불필요한 정보를 제거하거나 프로세싱 속도를 빠르게 할 수 있다. 한 예로 영상에서 특정 객체의 형상을 추출하기 위해서 컬러 이미지를 사용하는 것보다는 이진화된 흑백이미지를 사용하는 것이 처리 속도 측면에서 이득을 얻을 수 있다. 예를 들어 문자, 숫자, 1차원 바코드, 2차원 흑백 바코드, 얼굴 영역 등은 우선 이진화를 통해 흑백화를 하여 패턴 정보나 경계선 추출 연산시 연산량을 줄일 수 있다.
다음 푸리에 변환(Fourier Transformation), 이산 코사인 변환(Discrete Cosine Transformation), 웨이블릿 변환(Wavelet Transformation) 등과 같은 디지털 영상변환 기법을 사용할 시, high-pass filtering, Low-pass filtering 등의 기법을 적용하기 용이하므로 영상 개선 및 관심 영역 추출 등을 처리할 수 있다.
영상을 구성하는 픽셀들의 정보를 분석하여 블러링(Blurring), 샤프닝(sharpening), 확장, 감축, 잡영제거(noise reduction), 평활화(smoothing), 밝기 조정 등의 영상 개선 기법 (Digital Image Enhancement)을 이용함으로써 영상에서 객체의 형상, 위치, 색상 등과 같은 주요 속성들의 손실을 줄이거나 복원함으로써 특징 추출과 인식에 이용할 수 있다.
경계선 추출(edge detection), 외곽선 추적(boundary following), 특징점(feature point) 추출, 실루엣 추출, 색상 분리, 영역 컬러링 알고리즘 등을 통해 디지털 영상의 크기나 특정 영역의 크기와 객체의 형태를 파악하는 과정이 필요하다. 이 밖에 디지털 영상의 윤곽선을 찾고, 색상 및 무늬를 구별하며, 질감을 알아내는 작업 등을 통해 영상의 추출 및 구분, 인식에 이용할 수 있다.
모션, 제스처 인식을 위해 두 개 이상의 이미지를 분석하여 두 이미지간 차분 영상을 구하고 이를 통해 객체의 움직임 패턴이나 변화량을 조사하여 움직임, 모션, 제스처 등을 판별할 수 있다.
상기 이미지 인식 매니저(2136)는, 이미지 영역 추출 및 사용자 입력을 위한 이미지 영역을 설정할 수 있다. 상기 이미지 처리 기법들을 하나 이상 적용하여 얼굴영역, 인물이나 사물의 실루엣, 객체의 움직임(모션)과 같은 객체의 영역을 추출할 수 있다. 그리고, 해당 영역의 범위, 좌표, 경계선 데이터, 실루엣 데이터 등의 정보를 메모리에 저장되도록 관리할 수 있다.
상기 이미지 인식 매니저(2136)는, 증강현실(augmented reality), VR(Virtual Reality), MR(Mixed Reality) 기법을 이용하여 처리된 인식 결과 표시할 수 있다. 예를 들어, 2차원 이미지 코드의 경우, finder pattern, alignment pattern, 혹은 코드의 패턴의 분포에 따라 카메라나 객체의 pitch, yaw, roll 정보를 얻을 수 있다.
한 예로 QR 코드의 경우, finder pattern이 코드 이미지의 네 귀퉁이 중 좌상, 우상, 좌하에 존재하고, 우하에는 존재하지 않으므로 코드 이미지가 회전되더라도 쉽게 코드의 회전된 각도를 판별할 수 있다. 또 다른 예로 데이터 매트릭스의 경우 코드 이미지의 경계부들 중 좌와 하는 굵은 실선이고, 상과 하는 1:1의 흑백 패턴으로 구성되므로 코드의 회전 각도를 판별할 수 있다. 1차원 바코드나 PDF-417 등의 경우도 시작 패턴, 종료 패턴의 형태, 그리고 패턴의 스캔 방향에 따라서 패리티 정보를 이용하면 방향 탐지가 가능하다.
이와 함께 이러한 코드 이미지의 (x, y) 평면에 배치된 모양에 따라서 코드 이미지의 수직방향 법선 벡터를 추정할 수 있으므로 증강현실이나 가상현실의 가상 객체의 3차원 공간상의 위치와 모양 등을 쉽게 계산할 수 있다. 따라서 이러한 포즈 정보를 이용하여 3D나 2D의 가상적인 객체(리스트 메뉴, 사진, 아바타, 3D 캐릭터 등의 GUI 정보)를 상기 이미지의 패턴에 부합하여 정합(match)하여 표시할 수도 있다.
상기 미들웨어(2030)는 전술한 내부 구성요소 모듈들의 다양한 기능 조합을 통해 새로운 미들웨어 모듈을 생성하여 사용할 수 있다. 상기 미들웨어(2030)는 차별화된 기능을 제공하기 위해 운영체제의 종류 별로 특화된 모듈을 제공할 수 있다. 또한, 상기 미들웨어(2030)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. 따라서, 본 개시의 실시예에 기재된 구성요소를 일부 생략하거나 다른 구성요소를 더 구비하거나 또는 유사한 기능을 수행하는 다른 명칭을 갖는 구성요소로 대체할 수 있다.
상기 API 360(예: 상기 API(1833))는 API 프로그래밍 함수들의 집합으로, 운영체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 예를 들면, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠(Tizen)의 경우, 예를 들면, 두 개 이상의 API 셋을 제공할 수 있다.
상기 어플리케이션(2070)(예: 상기 어플리케이션(1834))은, 예를 들면, 프리로드 어플리케이션(preloaded Application) 또는 제 삼자 어플리케이션(third party application)을 포함할 수 있다. 예를 들어, 상기 어플리케이션(2070)은 홈(2071), 다이얼러(2072), SMS/MMS(2073), IM(2074), 브러우저(2075), 카메라(2076), 알람(2077), 컨택트(2078), 음성다이얼(2079), 이메일(2080), 달력(2081), 미디어 플레이어(2082), 앨범(2083), 시계(2084) 등을 포함할 수 있다.
상기 프로그래밍 모듈(2000)의 적어도 일부는 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 하나 이상의 프로세서 (예: 상기 프로세서(1910))에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 메모리(1920)가 될 수 있다. 상기 프로그래밍 모듈(2000)의 적어도 일부는, 예를 들면, 상기 프로세서(1910)에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그래밍 모듈(2000)의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 또는 프로세스 등을 포함할 수 있다.
본 개시에 따른 프로그래밍 모듈(예: 상기 프로그래밍 모듈(2000))의 구성요소들의 명칭은 운영체제의 종류에 따라서 달라질 수 있다. 또한, 본 개시에 따른 프로그래밍 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다.
본 발명의 청구항 및/또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금, 본 발명의 청구항 및/또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM, Read Only Memory), 전기적 삭제가능 프로그램가능 롬(EEPROM, Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM, Compact Disc-ROM), 디지털 다목적 디스크(DVDs, Digital Versatile Discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 전자 장치에 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 전자 장치에 접속할 수 있다.
또한, 통신 네트워크상의 별도의 저장장치가 휴대용 전자 장치에 접속할 수도 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
1800: 전자장치,
1801: 버스,
1820: 프로세서,
1830: 메모리,
1840: 사용자 입력 모듈,
1850: 디스플레이 모듈,
1860: 통신 모듈.

Claims (30)

  1. 휴대 통신 장치에 있어서,
    디스플레이; 및
    프로세서를 포함하되, 상기 프로세서는
    제1 정보 타입을 포함하는 제1 정보 및 제2 정보 타입에 대응하는 제2 정보를 포함하는 객체를 포함하는 포토그래픽(photographic) 이미지를 상기 디스플레이를 통해 표시하고,
    상기 표시된 객체와 관련된 사용자 입력을 상기 디스플레이를 통해 수신하고,
    상기 사용자 입력이 상기 제1 정보와 관련하여 수신되었다는 결정에 적어도 일부 기초하여, 상기 제1 정보 타입에 대응하는 제1 인식 기능을 이용하여 생성된 제1 인식 결과를 상기 디스플레이를 통해 표시하고, 및
    상기 사용자 입력이 상기 제2 정보와 관련하여 수신되었다는 결정에 적어도 일부 기초하여, 상기 제2 정보 타입에 대응하는 제2 인식 기능을 이용하여 생성된 제2 인식 결과를 상기 디스플레이를 통해 표시하도록 하는 휴대 통신 장치.
  2. 제1 항에 있어서,
    상기 프로세서는
    텍스트를 상기 제1 정보 타입의 적어도 일부로 식별하고, 및
    비-텍스트 객체를 상기 제2 정보 타입의 적어도 일부로 식별하도록 하는 휴대 통신 장치.
  3. 제1 항에 있어서,
    상기 프로세서는
    상기 제1 인식 기능의 적어도 일부로서, OCR(optical character reader)기능을 이용하여 생성된 상기 제1 인식 결과의 표시를 수행하도록 하는 휴대 통신 장치.
  4. 제1 항에 있어서,
    상기 프로세서는
    상기 제2 인식 기능의 적어도 일부로서, 이미지 인식 기능을 이용하여 생성된 상기 제2 인식 결과의 표시를 수행하도록 하는 휴대 통신 장치.
  5. 제1 항에 있어서,
    상기 제2 정보는 QR(quick response) 코드를 포함하고,
    상기 프로세서는
    상기 제2 인식 기능의 적어도 일부로서, 코드 인식 기능을 이용하여 생성된 상기 제2 인식 결과의 표시를 수행하도록 하는 휴대 통신 장치.
  6. 제1 항에 있어서,
    상기 프로세서는
    상기 제1 정보 타입 및 상기 제2 정보 타입 중 해당 정보 타입과 관련된 하나 이상의 기능들을 나타내는 메뉴를 상기 제1 인식 결과 및 상기 제2 인식 결과 중 해당 인식 결과와 함께 표시하도록 하는 휴대 통신 장치.
  7. 제6 항에 있어서,
    상기 프로세서는
    상기 메뉴의 적어도 일부로서 상기 하나 이상의 메뉴들 중 해당 기능을 나타내는 아이콘을 표시하도록 하는 휴대 통신 장치.
  8. 제1 항에 있어서,
    상기 디스플레이는 터치스크린 디스플레이를 포함하고,
    상기 프로세서는
    상기 사용자 입력이 수신된 상기 터치스크린 디스플레이 상의 위치에 적어도 일부 기초하여, 상기 표시된 객체로부터 상기 제1 정보 및 상기 제2 정보 중 해당 정보를 결정하도록 하는 휴대 통신 장치.
  9. 제1 항에 있어서,
    상기 사용자 입력은 사용자 제스처를 포함하고,
    상기 프로세서는
    상기 사용자 제스처에 적어도 일부 기초하여, 상기 표시된 객체로부터 상기 제1 정보 및 상기 제2 정보 중 해당 정보를 선택하도록 하는 휴대 통신 장치.
  10. 제1 항에 있어서,
    상기 제1 인식 기능 및 상기 제2 인식 기능 중 해당 인식 기능은 다수의 인식 기능들로부터 선택되는 휴대 통신 장치.
  11. 제10 항에 있어서,
    상기 다수의 인식 기능들을 저장하는 메모리를 더 포함하고,
    상기 프로세서는
    상기 메모리에 저장된 상기 다수의 인식 기능들로부터 상기 제1 인식 기능 및 상기 제2 인식 기능 중 해당 인식 기능을 선택하도록 하는 휴대 통신 장치.
  12. 휴대 통신 장치에 있어서,
    디스플레이; 및
    프로세서를 포함하고, 상기 프로세서는
    객체를 포함하는 포토그래픽(photographic) 이미지를 상기 디스플레이를 통해 표시하고,
    상기 표시된 객체가 제1 정보 타입에 대응하는 제1 정보를 포함한다는 결정에 적어도 일부 기초하여, 상기 제1 정보 타입에 대응하는 제1 인식 기능을 이용하여 생성된 제1 인식 결과를 상기 디스플레이를 통해 표시하고, 및
    상기 표시된 객체가 제2 정보 타입에 대응하는 제2 정보를 포함한다는 결정에 적어도 일부 기초하여, 상기 제2 정보 타입에 대응하는 제2 인식 기능을 이용하여 생성된 제2 인식 결과를 상기 디스플레이를 통해 표시하도록 하는 휴대 통신 장치.
  13. 제12 항에 있어서,
    상기 프로세서는
    텍스트를 상기 제1 정보 타입의 적어도 일부로 식별하고, 및
    비-텍스트 객체를 상기 제2 정보 타입의 적어도 일부로 식별하도록 하는 휴대 통신 장치.
  14. 제12 항에 있어서,
    상기 프로세서는
    상기 제1 인식 기능의 적어도 일부로서, OCR(optical character reader)기능을 이용하여 생성된 상기 제1 인식 결과의 표시를 수행하도록 하는 휴대 통신 장치.
  15. 제12 항에 있어서,
    상기 프로세서는
    상기 제2 인식 기능의 적어도 일부로서, 이미지 인식 기능을 이용하여 생성된 상기 제2 인식 결과의 표시를 수행하도록 하는 휴대 통신 장치.
  16. 제12 항에 있어서,
    상기 제2 정보는 QR(quick response) 코드를 포함하고,
    상기 프로세서는
    상기 제2 인식 기능의 적어도 일부로서, 코드 인식 기능을 이용하여 생성된 상기 제2 인식 결과의 표시를 수행하도록 하는 휴대 통신 장치.
  17. 제12 항에 있어서,
    상기 프로세서는
    상기 제1 정보 타입 및 상기 제2 정보 타입 중 해당 정보 타입과 관련된 하나 이상의 기능들을 나타내는 메뉴를 상기 제1 인식 결과 및 상기 제2 인식 결과 중 해당 인식 결과와 함께 표시하도록 하는 휴대 통신 장치.
  18. 제12 항에 있어서,
    상기 디스플레이는 터치스크린 디스플레이를 포함하고,
    상기 프로세서는
    상기 표시된 객체와 관련된 사용자 입력을 상기 디스플레이를 통해 수신하고,
    상기 사용자 입력의 수신에 대응하여, 상기 사용자 입력이 수신된 상기 터치스크린 디스플레이 상의 위치에 적어도 일부 기초하여, 상기 표시된 객체를 결정하도록 하는 휴대 통신 장치.
  19. 적어도 하나의 프로세서에 의해 실행되었을 때, 상기 적어도 하나의 프로세서가 설정된 동작들을 수행하도록 하는 인스트럭션들을 저장하는 비-일시적 컴퓨터 판독 가능한 기록 매체에 있어서, 상기 동작들은
    제1 정보 타입을 포함하는 제1 정보 및 제2 정보 타입에 대응하는 제2 정보를 포함하는 객체를 포함하는 포토그래픽(photographic) 이미지를 상기 적어도 하나의 프로세서와 작동적으로(operatively) 연결된 디스플레이를 통해 표시하는 동작;
    상기 표시된 객체와 관련된 사용자 입력을 상기 디스플레이를 통해 수신하는 동작;
    상기 사용자 입력이 상기 제1 정보와 관련하여 수신되었다는 결정에 적어도 일부 기초하여, 상기 제1 정보 타입에 대응하는 제1 인식 기능을 이용하여 생성된 제1 인식 결과를 상기 디스플레이를 통해 표시하는 동작; 및
    상기 사용자 입력이 상기 제2 정보와 관련하여 수신되었다는 결정에 적어도 일부 기초하여, 상기 제2 정보 타입에 대응하는 제2 인식 기능을 이용하여 생성된 제2 인식 결과를 상기 디스플레이를 통해 표시하는 동작을 포함하는 기록 매체.
  20. 제19 항에 있어서,
    상기 동작들은
    상기 제1 정보 타입 및 상기 제2 정보 타입 중 해당 정보 타입과 관련된 하나 이상의 기능들을 나타내는 메뉴를 상기 제1 인식 결과 및 상기 제2 인식 결과 중 해당 인식 결과와 함께 표시하는 동작을 더 포함하는 기록 매체.
  21. 휴대 통신 장치에 있어서,
    카메라;
    디스플레이;
    프로세서를 포함하고, 상기 프로세서는
    이미지를 캡쳐하기 위해 상기 카메라를 제어하고,
    제1 이미지 부분 및 제2 이미지 부분을 포함하는 객체를 포함하는 캡쳐된 이미지를 상기 디스플레이를 통해 표시하고,
    상기 표시된 객체와 관련된 사용자 입력을 상기 디스플레이를 통해 수신하고,
    상기 사용자 입력이 상기 제1 이미지 부분과 관련하여 수신되었다는 결정에 적어도 일부 기초하여, 상기 제1 이미지 부분과 관련된 기능들을 실행하기 위한 사용자 인터페이스 아이템들의 제1 셋을 상기 디스플레이를 통해 표시하고, 및
    상기 사용자 입력이 상기 제2 이미지 부분과 관련하여 수신되었다는 결정에 적어도 일부 기초하여, 상기 제2 이미지 부분과 관련된 기능들을 실행하기 위한 사용자 인터페이스 아이템들의 제2 셋을 상기 디스플레이를 통해 표시하고,
    상기 사용자 인터페이스 아이템들의 상기 제1 셋은 제1 타입의 이미지 인식 기능이 상기 제1 이미지 부분에 적용 가능한 것에 대응하여 표시되고,
    상기 사용자 인터페이스 아이템들의 상기 제2 셋은 제2 타입의 이미지 인식 기능이 상기 제2 이미지 부분에 적용 가능한 것에 대응하여 표시되는 휴대 통신 장치.
  22. 제21 항에 있어서,
    상기 제1 타입의 이미지 인식 기능은 객체 인식 기능에 대응하고,
    상기 제2 타입의 이미지 인식 기능은 문자 인식 기능에 대응하는 휴대 통신 장치.
  23. 제21 항에 있어서,
    상기 제1 이미지 부분은 제1 정보에 대응하고, 상기 제2 이미지 부분은 제2 정보에 대응하고,
    제1 인식 결과는 상기 제1 정보에 기초하여 생성되고, 제2 인식 결과는 상기 제2 정보에 기초하여 생성되는 휴대 통신 장치.
  24. 제23 항에 있어서,
    상기 제1 인식 결과에 대응하는 제1 아이템은 상기 사용자 인터페이스 아이템들의 상기 제1 셋과 함께 표시되고, 상기 제2 인식 결과에 대응하는 제2 아이템은 상기 사용자 인터페이스 아이템들의 상기 제2 셋과 함께 표시되는 휴대 통신 장치.
  25. 제24 항에 있어서,
    적어도 하나의 제1 아이템은 상기 제1 정보를 이용한 기능을 나타내는 아이콘을 더 포함하는 휴대 통신 장치.
  26. 제21 항에 있어서,
    비-텍스트 객체는 상기 제1 타입의 이미지 인식 기능을 통해 상기 제1 이미지 부분으로부터 식별되고, 하나 이상의 문자는 상기 제2 타입의 이미지 인식 기능을 통해 상기 제2 이미지 부분으로부터 식별되는 휴대 통신 장치.
  27. 제26 항에 있어서,
    상기 프로세서는
    상기 식별된 비-텍스트 객체에 기초하여 획득된 제1 결과를 표시하기 위해 상기 디스플레이를 제어하고, 및
    상기 식별된 하나 이상의 문자에 기초하여 획득된 제2 결과를 표시하기 위해 상기 디스플레이를 제어하는 휴대 통신 장치.
  28. 제21 항에 있어서,
    상기 제2 이미지 부분은 QR(quick response) 코드를 포함하고,
    상기 프로세서는
    상기 QR 코드에 기초하여 코드 인식 기능을 통해 획득된 제3 결과를 표시하기 위해 상기 디스플레이를 제어하는 휴대 통신 장치.
  29. 제21 항에 있어서,
    다수의 인식 기능들을 저장하는 메모리를 더 포함하고,
    상기 프로세서는
    상기 메모리에 저장된 상기 다수의 인식 기능들로부터 상기 제1 타입의 이미지 인식 기능 및 상기 제2 타입의 이미지 인식 기능 중 해당 이미지 인식 기능을 선택하도록 하는 휴대 통신 장치.
  30. 제21 항에 있어서,
    상기 디스플레이는 터치스크린 디스플레이를 포함하고,
    상기 프로세서는
    상기 사용자 입력이 수신된 상기 터치스크린 디스플레이 상의 위치에 적어도 일부 기초하여, 상기 표시된 객체로부터 상기 제1 이미지 부분 및 상기 제2 이미지 부분 중 해당 이미지 부분을 결정하도록 하는 휴대 통신 장치.
KR1020200140483A 2013-11-22 2020-10-27 전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법 및 장치 KR102303206B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200140483A KR102303206B1 (ko) 2013-11-22 2020-10-27 전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법 및 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130143096A KR102173123B1 (ko) 2013-11-22 2013-11-22 전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법 및 장치
KR1020200140483A KR102303206B1 (ko) 2013-11-22 2020-10-27 전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020130143096A Division KR102173123B1 (ko) 2013-11-22 2013-11-22 전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200127928A KR20200127928A (ko) 2020-11-11
KR102303206B1 true KR102303206B1 (ko) 2021-09-16

Family

ID=73451754

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200140483A KR102303206B1 (ko) 2013-11-22 2020-10-27 전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102303206B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112580383B (zh) * 2020-12-29 2023-08-29 科大讯飞(苏州)科技有限公司 二维码识别方法、装置、电子设备及存储介质
WO2024034865A1 (ko) * 2022-08-09 2024-02-15 삼성전자 주식회사 전자 장치 및 전자 장치의 텍스트 기반 컨텐츠 운용 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100919818B1 (ko) * 2007-06-26 2009-10-01 주식회사 더존씨앤티 이동통신 단말기에 사용하기 위한 분할형 2차원 바코드의인코딩 방법
KR101729938B1 (ko) * 2010-08-09 2017-04-26 에스케이플래닛 주식회사 통합 영상 검색 시스템 및 그 서비스 방법
US9349063B2 (en) * 2010-10-22 2016-05-24 Qualcomm Incorporated System and method for capturing token data with a portable computing device
KR101832372B1 (ko) * 2011-09-02 2018-02-27 엘지전자 주식회사 이동 단말기 및 그 제어방법
KR101590386B1 (ko) * 2011-09-07 2016-02-01 네이버 주식회사 검색 서비스 제공 장치 및 방법

Also Published As

Publication number Publication date
KR20200127928A (ko) 2020-11-11

Similar Documents

Publication Publication Date Title
US11113523B2 (en) Method for recognizing a specific object inside an image and electronic device thereof
US10366519B2 (en) Operating method for image and electronic device supporting the same
CN108664829B (zh) 用于提供与图像中对象有关的信息的设备
KR102240279B1 (ko) 컨텐트 처리 방법 및 그 전자 장치
US11158057B2 (en) Device, method, and graphical user interface for processing document
US10671258B2 (en) Electronic device having hole area and method of controlling hole area thereof
CN115097981B (zh) 处理内容的方法及其电子设备
EP3510517B1 (en) Method of displaying user interface related to user authentication and electronic device for implementing same
CN108463799B (zh) 电子设备的柔性显示器及其操作方法
KR20160103398A (ko) 이미지의 품질 측정 방법 및 장치
KR20160026142A (ko) 스크랩 정보를 제공하는 전자 장치 및 그 제공 방법
US9129150B2 (en) Electronic apparatus and display control method
KR20160027862A (ko) 이미지 데이터를 처리하는 방법과 이를 지원하는 전자 장치
KR102303206B1 (ko) 전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법 및 장치
KR102274944B1 (ko) 오브젝트를 식별하는 전자 장치 및 방법
US20230215118A1 (en) Api to provide product cards generated by augmented reality content generators
KR20230011349A (ko) 디바이스의 후면 부분 상의 트랙패드
WO2020055480A1 (en) Multi-region detection for images
KR20180111242A (ko) 채색 가능한 콘텐트를 제공하는 전자 장치 및 그 방법
CN113273167B (zh) 数据处理设备、方法和存储介质
US20180074697A1 (en) Method for outputting screen according to force input and electronic device supporting the same
CN113835582B (zh) 一种终端设备、信息显示方法和存储介质
US11327538B2 (en) Electronic apparatus having a hole area within screen and control method thereof
KR102605451B1 (ko) 이미지 내에 포함된 복수의 외부 객체들 각각에 대응하는 복수의 서비스들을 제공하는 전자 장치 및 방법
CN117631847A (zh) 输入法候选内容的显示方法及电子设备

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right