KR20220087081A - 집적 게이즈 추적기 및 그 작동 방법 - Google Patents

집적 게이즈 추적기 및 그 작동 방법 Download PDF

Info

Publication number
KR20220087081A
KR20220087081A KR1020200177440A KR20200177440A KR20220087081A KR 20220087081 A KR20220087081 A KR 20220087081A KR 1020200177440 A KR1020200177440 A KR 1020200177440A KR 20200177440 A KR20200177440 A KR 20200177440A KR 20220087081 A KR20220087081 A KR 20220087081A
Authority
KR
South Korea
Prior art keywords
image data
row
memory
processor
gaze
Prior art date
Application number
KR1020200177440A
Other languages
English (en)
Inventor
김우식
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020200177440A priority Critical patent/KR20220087081A/ko
Priority to US17/472,989 priority patent/US20220197375A1/en
Publication of KR20220087081A publication Critical patent/KR20220087081A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Ophthalmology & Optometry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Optics & Photonics (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)

Abstract

영상을 캡처하도록 구성된 픽셀 어레이(pixel array), 픽셀 어레이의 출력 신호에 기초하여 행 단위로 리드아웃된 행 영상 데이터(row image data)를 저장하도록 구성된 메모리 및 행 영상 데이터를 포함하는 부분 영상 데이터(partial image data)에 기초하여 게이즈 벡터를 생성하도록 구성된 프로세서를 포함하는 집적 게이즈 추적기가 제공될 수 있다.

Description

집적 게이즈 추적기 및 그 작동 방법{INTEGRATED GAZE TRACKER AND OPERATION METHOD THEREOF}
집적 게이즈 추적기 및 그 작동 방법에 관한다.
게이즈 추적(gaze tracking) 기술은 사람의 눈이 주시하고 있는 방향인 게이즈 벡터(gaze vector)를 산출하는 기술이다.
게이즈 추적 기술은 HMD(Head Mounted Display), VR(Virtual Reality) Headset, AR(Augmented Reality) Glasses 등에서 유저 인터페이스(user interface), 또는 사용자가 바라보는 곳에 초점을 맞추거나 집중하여 렌더링하는 포비티드 렌더링(foveated rendering) 등으로 활용될 수 있다. 또한, 운전자 모니터링 시스템(driver monitoring system)에 게이즈 추적 기술을 활용하여 운전자의 게이즈 벡터를 산출함으로써, 운전자가 졸고 있는지 여부, 운행 방향과 다른 방향으로 시선이 이동하여 위험한 상황에 놓일 수 있는지 등을 파악할 수 있다.
게이즈 추적 기술은 실시간으로 빠르게 변화하는 게이즈 벡터를 산출해야 하므로 빠른 프로세싱을 필요로 한다. 또한, 게이즈 추적 기술이 유저 인터페이스 등에 활용되기 위해서는 게이즈 추적기에 의해 소모되는 전력의 크기가 작아야 하며, 작은 폼 팩터(form factor)로 기술을 구현해 낼 필요가 있다.
실시예들의 기술적 과제는 집적 게이즈 추적기 및 그 작동 방법을 제공하는데 있다. 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
일 측면에 따르면, 집적 게이즈 추적기는, 영상을 캡처하도록 구성된 픽셀 어레이(pixel array); 상기 픽셀 어레이의 출력 신호에 기초하여 행 단위로 리드아웃된 행 영상 데이터(row image data)를 저장하도록 구성된 메모리; 상기 행 영상 데이터를 포함하는 부분 영상 데이터(partial image data)에 기초하여 게이즈 벡터를 생성하도록 구성된 프로세서;를 포함한다.
다른 측면에 따르면, 집적 게이즈 추적기의 작동 방법은, 픽셀 어레이(pixel array)를 사용하여 영상을 캡처하는 단계; 상기 픽셀 어레이의 출력 신호에 기초하여 행 단위로 리드아웃된 행 영상 데이터(row image data)를 메모리에 저장하는 단계; 및 상기 행 영상 데이터를 포함하는 부분 영상 데이터(partial image data)에 기초하여 게이즈 벡터를 생성하는 프로세싱 단계;를 포함한다.
도 1은 일 실시예에 따른 집적 게이즈 추적기를 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 집적 게이즈 추적기의 컴포넌트들을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 집적 게이즈 추적기의 컴포넌트들을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 픽셀들의 출력 신호들을 처리하는 방법을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 픽셀을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 행 영상 데이터 및 부분 영상 데이터를 설명하기 위한 도면이다.
도 7a 내지 도 7c는 일 실시예에 따른 메모리에 저장된 영상 데이터를 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 메모리를 설명하기 위한 도면이다.
도 9a 및 도 9b는 일 실시예에 따른 레이턴시(latency)를 설명하기 위한 도면이다.
도 10a 및 도 10b는 일 실시예에 따른 인터페이스(interface)를 설명하기 위한 도면이다.
도 11a 및 도 11b는 일 실시예에 따른 시스템을 설명하기 위한 도면이다.
도 12는 일 실시예에 따른 게이즈 벡터 생성을 설명하기 위한 도면이다.
도 13은 일 실시예에 따른 게이즈 벡터 생성을 설명하기 위한 도면이다.
도 14는 일 실시예에 따른 집적 게이즈 추적기의 작동 방법을 나타내는 순서도이다.
실시예들에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "-부", "-모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
일 실시예는 집적 게이즈 추적기 및 그 작동 방법을 제공한다. 이하에서는 도면들을 참조하여 보다 상세하게 설명하도록 한다. 유사한 참조 문자들은 도면 전체에 걸쳐 대응하는 특징들을 나타내고, 예시적인 실시예들이 도시된다.
도 1은 일 실시예에 따른 집적 게이즈 추적기를 설명하기 위한 도면이다.
도 1을 참조하면, 일 실시예에 따른 집적 게이즈 추적기(100)는 픽셀 레이어(110), 메모리 레이어(120) 및 로직 레이어(130)를 포함한다.
집적 게이즈 추적기(100)는 단일 칩 시스템(system on chip)일 수 있다. 집적 게이즈 추적기(100)가 단일 칩 시스템으로 구현될 때, 각 레이어들(110, 120, 130)은 수평 또는 수직 구조로 배열될 수 있다. 또한, 로직 레이어(130)는 기능에 따라 분리되어 서로 다른 위치에 배치될 수 있다. 예를 들어, 레이어들(110, 120, 130)이 TSV(Through Silicon Via)에 의해 연결됨으로써, 집적 게이즈 추적기(100)가 단일 칩 시스템으로 구현될 수 있으며, 다만, 이에 한정되는 것은 아니다.
픽셀 레이어(110)는 영상을 캡처하도록 구성될 수 있다. 픽셀 레이어(110)는 CCD(Charge-Coupled Device) 또는 CMOS(Complementary Metal Oxide Semiconductor)에 기초한 픽셀 어레이를 포함할 수 있다.
메모리 레이어(120)는 영상 데이터를 저장하도록 구성될 수 있다. 집적 게이즈 추적기(100)에 메모리 레이어(120)가 집적됨으로써, 집적 게이즈 추적기(100)는 영상 데이터 및/또는 프로그램들을 저장할 수 있는 용량을 갖는 메모리를 포함할 수 있다.
로직 레이어(130)는 픽셀 레이어(110) 및 메모리 레이어(120)의 작동을 제어하고, 디지털 영상 처리(digital image processing)가 수행될 수 있도록 구성될 수 있다. 로직 레이어(130)는 디지털 신호 처리를 위한 프로세서를 포함할 수 있다. 또한, 로직 레이어(130)는 픽셀 레이어(110)를 제어하고 픽셀 레이어(110)의 출력 신호를 처리하기 위한 아날로그 회로를 포함할 수 있다.
집적 게이즈 추적기(100)는 픽셀 레이어(110)에 집적된 메모리 레이어(120) 및 로직 레이어(130)를 포함함으로써, 다양한 작동들을 수행할 수 있다. 예를 들어, 로직 레이어(130)는 메모리 레이어(120)에 저장된 영상 데이터를 독출하고 분석하여, 사용자의 눈이 주시하고 있는 방향인 게이즈 벡터(gaze vector)를 생성하기 위한 파라미터들을 획득할 수 있다.
집적 게이즈 추적기(100)는 HMD(Head Mounted Display), VR(Virtual Reality) Headset, AR(Augmented Reality) Glasses, 스마트폰(smart phone), PC(Personal Computer), 랩탑 컴퓨터(laptop computer), 포터블 디바이스(portable device), 웨어러블 디바이스(wearable device), 운전자 모니터링 시스템(driver monitoring system), 포비티드 렌더링(foveated rendering), 가변-초점 서포트(vari-facal support) 등 다양한 플랫폼에 이용될 수 있다.
도 2는 일 실시예에 따른 집적 게이즈 추적기의 컴포넌트들을 설명하기 위한 도면이다.
도 2를 참조하면, 일 실시예에 따른 집적 게이즈 추적기(200)는 픽셀 어레이(210), 메모리(230), 및 프로세서(250)를 포함한다.
픽셀 어레이(210)는 영상을 캡처하도록 구성될 수 있다. 일 실시예에 따른 픽셀 어레이(210)는 CMOS 트랜지스터로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 다른 실시예에 따른 집적 게이즈 추적기(200)가 CCD 영상 센서로서 구현될 수 있음은 통상의 기술자에게 자명하다.
메모리(230)는 영상 데이터를 저장하도록 구성될 수 있다.
메모리(230)는 픽셀 어레이(210)의 출력 신호에 기초하여 행 단위로 리드아웃(readout)된 행 영상 데이터(row image data)를 저장하도록 구성될 수 있다. 행 영상 데이터는 영상 프레임에 포함된 데이터로서, 영상 프레임의 어느 하나의 행에 대응되는 데이터를 의미할 수 있다.
또한, 메모리(230)는 행 영상 데이터를 포함하는 부분 영상 데이터(partial image data)를 저장하도록 구성될 수 있다. 부분 영상 데이터는 영상 프레임에 포함되는 데이터로서, 영상 프레임의 적어도 어느 하나의 행에 대응되는 데이터를 의미할 수 있다. 부분 영상 데이터는 적어도 하나의 행 영상 데이터의 집합일 수 있다.
메모리(230)는 버퍼(buffer)일 수 있다. 예를 들어, 메모리(230)는 영상 데이터를 행 단위로 저장하도록 구성된 라인 버퍼(line buffer)(라인 메모리)일 수 있다.
메모리(230)는 SRAM(Static Random Access Memory) 또는 DRAM(Dynamic Random Access Memory)으로 구현될 수 있으며, 다만, 이에 제한되는 것은 아니다.
메모리(230)는 부분 영상 데이터를 저장하므로, 대용량의 메모리일 것을 요하지 않으며, 따라서, 소량의 SRAM을 사용하여 구현될 수 있다.
프로세서(250)는 적어도 하나의 행 영상 데이터를 포함하는 부분 영상 데이터에 기초하여 게이즈 벡터를 생성하도록 구성될 수 있다.
또한, 프로세서(250)는 행 영상 데이터가 영상 프레임에서 위치한 행 번호에 기초하여 시작 행 번호(start row number) 및 끝 행 번호(end row number)를 결정하고, 시작 행 번호에 대응하는 시작 행 영상 데이터 및 끝 행 번호에 대응하는 끝 행 영상 데이터를 포함하도록 부분 영상 데이터를 결정하도록 구성될 수 있다. 또한, 프로세서(250)는 새로운 행 영상 데이터가 메모리(230)에 저장되면, 시작 행 번호 및 종료 행 번호 중 적어도 어느 하나를 변경하도록 구성될 수 있다.
또한, 프로세서(250)는 다음 행 영상 데이터(next row image data)가 메모리(230)에 저장되면, 다음 행 영상 데이터를 포함하도록 다음 부분 영상 데이터를 결정하고, 부분 영상 데이터 및 다음 부분 영상 데이터에 기초하여 게이즈 벡터를 생성하도록 구성될 수 있다.
또한, 프로세서(250)는 적어도 2개 이상의 메모리들(230)을 사용하여 핑퐁 버퍼(ping pong buffer)방식으로 프로세싱하도록 구성될 수 있다.
또한, 프로세서(250)는 메모리(230)에 저장된 부분 영상 데이터를 열 단위로 프로세싱하여 게이즈 벡터 생성하도록 구성될 수 있다.
또한, 프로세서(250)는 특징점 검출(feature points detection), 타원 정합(ellipse fitting), 및 눈동자 중심 검출(pupil center detection)로 생성된 데이터에 기초하여 상기 게이즈 벡터를 생성하도록 구성될 수 있다.
또한, 프로세서(250)는 SWIR(Short Wave InfraRed)이 동공에 반사되어 생성된 광 신호에 기초하여 게이즈 벡터를 생성하도록 구성될 수 있다.
또한, 프로세서(250)는 눈동자의 중심 위치 데이터, 눈동자의 특징점(feature points) 데이터, 눈의 위치 데이터, 눈동자들 사이의 거리 데이터, 글린트 포지션(glint position) 데이터, 및 홍채 데이터 중 적어도 하나를 출력하도록 구성될 수 있다.
또한, 프로세서(250)는 뉴럴 네트워크(neural network)에 기초하여 게이즈 벡터를 생성하도록 구성될 수 있다. 또한, 프로세서(250)는 기계 학습을 수행하도록 구성된 하드웨어 가속기(hardware accelerator)를 포함할 수 있다. 또한, 프로세서(250)는 기계 학습 또는 영상 처리를 위해 구현된 ASIC(Application Specific IC)를 포함할 수 있다.
또한, 프로세서(250)는 MIPI(Mobile Industry Processor Interface)를 사용하여 게이즈 벡터를 출력하도록 구성될 수 있다.
또한, 프로세서(250)는 직렬 인터페이스(serial interface)를 사용하여 게이즈 벡터를 출력하도록 구성될 수 있다.
집적 게이즈 추적기(200)는 내부에 픽셀 어레이(210), 메모리(230), 및 프로세서(250)를 포함함으로써, 게이즈 추적기의 외부에 있는 메모리, 및 프로세서를 사용할 때보다 게이즈 벡터의 생성 속도를 향상시킬 수 있다. 예를 들어, 게이즈 추적기의 외부에 있는 메모리를 사용하는 경우, 이미지 센서를 통해 영상을 캡처하고, 캡처된 영상을 외부 메모리로 전송하여 외부 메모리에 저장한 후, 게이즈 추적기가 외부 메모리에 엑세스(access)하여 게이즈 벡터를 생성하는 과정을 거쳐야 한다. 그러나, 집적 게이즈 추적기(200)의 경우, 영상이 픽셀 어레이(210)에 의해 캡처되면서 곧바로 메모리(230)에 저장되고, 저장된 영상 데이터는 프로세서(250)에 의해 프로세싱 되면서 게이즈 벡터가 생성될 수 있다. 따라서, 집적 게이즈 추적기(200)는 메모리에 엑세스 하는 시간, 영상 데이터를 전송하는 시간, 레이턴시(latency) 등을 줄임으로써, 게이즈 벡터의 생성 속도를 향상시킬 수 있다. 이와 관련된 보다 자세한 내용은 후술하기로 한다.
도 3은 일 실시예에 따른 집적 게이즈 추적기의 컴포넌트들을 설명하기 위한 도면이다.
도 3을 참조하면, 일 실시예에 따른 집적 게이즈 추적기(300)는 픽셀 어레이(310), 아날로그 회로(330), 메모리(350), 및 프로세서(370)를 포함한다. 일 실시예에 따른 아날로그 회로(330)는 행 선택 회로(331), 열 선택 회로(332), 및 아날로그 신호 처리 회로(333)를 포함한다. 또한, 일 실시예에 따른 아날로그 신호 처리 회로(333)는 ROIC(Read-Out Integrated Circuit)/ADC(Analog-Digital Converter)를 포함한다.
일 실시예에 따른 집적 게이즈 추적기(300), 픽셀 어레이(310), 메모리(350), 및 프로세서(370)는 도 2의 집적 게이즈 추적기(200), 픽셀 어레이(210), 메모리(230), 및 프로세서(250)에 대응될 수 있으며, 동일한 기능을 수행할 수 있다.
집적 게이즈 추적기(300)는 게이즈 벡터를 생성하는 과정 중에 사용자의 눈의 위치를 파악할 수 있다. 따라서, 집적 게이즈 추적기(300)는 영상을 캡처하여 게이즈 벡터를 생성한 후, 다음 영상을 캡처할 때, 사용자의 눈이 존재할 가능성이 있는 위치를 추정할 수 있다. 사용자의 눈이 존재할 가능성이 있는 위치를 추정함으로써, 집적 게이즈 추적기(300)는 픽셀 어레이(310) 중 일부만을 사용하여 영상을 캡처할 수 있다. 다시 말해, 사용자의 눈이 존재할 가능성이 있는 위치에 대응되는 픽셀 어레이만을 활성화시킬 수 있다. 예를 들어, 집적 게이즈 추적기(300)는 행 선택 회로(331) 및 열 선택 회로(332)를 제어함으로써 픽셀 어레이(310) 중 일부만을 활성화 시킬 수 있다. 픽셀 어레이(310) 중 일부만을 활성화 시킴으로써, 집적 게이즈 추적기(300)는 전력 소모를 감소시킬 수 있다.
행 선택 회로(331)는 제어 신호에 기초하여 픽셀 어레이(310)의 픽셀들을 활성화시키도록 구성될 수 있다. 행 선택 회로(331)는 픽셀들을 행 단위로 활성화시킬 수 있다.
열 선택 회로(332)는 제어 신호에 기초하여 리드아웃을 위한 열 선택 신호를 출력하도록 구성될 수 있다. 열 선택 회로(332)는 일부 픽셀들의 열들 또는 픽셀 어레이(310)의 전체 열들을 선택하기 위한 열 선택 신호를 출력할 수 있다.
행 선택 회로(331)에 의해 행 단위로 픽셀들이 제어되고, 열 선택 회로(332)에 의해 열 단위로 픽셀들의 출력 신호가 제어될 수 있으므로, 활성화시키고자 하는 픽셀들의 형상은 임의의 형상으로 설정될 수 있다.
다른 실시예에 따른 열 선택 회로(332)는 제어 신호에 기초하여 픽셀 어레이(310)의 픽셀들을 활성화시키도록 구성될 수 있다. 즉, 열 선택 회로(332)는 행 선택 회로(331)와 동일한 기능을 수행하도록 구성될 수 있다.
도 4는 일 실시예에 따른 픽셀들의 출력 신호들을 처리하는 방법을 설명하기 위한 도면이다.
도 4를 참조하면, 행 선택 회로(451)에 의해 선택된 행의 픽셀들(410)이 활성화될 수 있다. 픽셀들(410)은 빛에 대응하는 전압을 출력 신호(Vout)로서 출력할 수 있다. 픽셀들(410)의 출력 신호(Vout)는 아날로그 신호 처리 회로(430)에 전달될 수 있다.
아날로그 신호 처리 회로(430)는 출력 신호(Vout)를 처리함으로써 영상 데이터(Dout)를 리드아웃하도록 구성될 수 있다.
열 선택 회로(452)는 서브 영역에 대응하는 픽셀들의 열들 또는 픽셀 어레이의 전체 열들을 선택하기 위한 열 선택 신호를 출력할 수 있다.
아날로그 신호 처리 회로(430)의 리드아웃회로(Readout IC)는 열 선택 신호(Col_Sel)에 기초하여, 디지타이즈된(digitized) 서브 영역에 대응하는 픽셀들의 출력 신호 또는 디지타이즈된 전체 열들의 픽셀들의 출력 신호를 독출하도록 구성될 수 있다.
도 4에서 아날로그 신호 처리 회로(430)는 CDS, ADC, 리드아웃회로로 구현되는 것으로 도시되어 있으나, 이에 제한되지 않는다. 예를 들어, 아날로그 신호 처리 회로(430)는 ADC의 출력 단자와 전기적으로 연결된 CDS를 더 포함하거나, PGA(Programmable Gain Amplifier) 등을 포함할 수 있다. 다른 예를 들어, 아날로그 신호 처리 회로(430)는 병렬로 연결된 CDS들과 직렬로 연결된 ADC를 포함하도록 구성될 수 있다.
도 5는 일 실시예에 따른 픽셀을 설명하기 위한 도면이다.
도 5를 참조하면, 일 실시예에 따른 집적 게이즈 추적기의 픽셀은 4T-APS(4Transistor-Active Pixel Sensor) 구조일 수 있다. 이와 달리, 픽셀이 3T-APS, 5T-APS 등으로 구현될 수 있음은 통상의 기술자에게 자명하다.
일 실시예에서 전송 제어 신호(TG), 리셋 신호(RS), 및 선택 신호(SEL)는 행 선택 회로로부터 출력될 수 있다.
포토 다이오드(PD)는 입사된 빛에 따라 전하(electric charge)를 생성한다. 포토 다이오드(PD)는 포토 트랜지스터(photo transistor), 포토 게이트(photo gate), 또는 핀포토다이오드(Pinned Photo Diode(PPD)) 등으로 구현될 수 있으나, 이에 제한되는 것은 아니다.
전송 트랜지스터(transfer transistor, TX)는 전송 제어 신호(TG)에 응답하여 포토 다이오드(PD)의 전하를 부동 확산(Floating Diffusion, FD) 노드로 전달한다. 리셋 트랜지스터(reset transistor, RX)는 리셋 신호(RS)에 응답하여 부동 확산(FD) 노드를 리셋시킨다. 드라이브 트랜지스터(drive transistor, DX)는 부동 확산(FD) 노드의 전압에 응답하여 동작하는 증폭기(amplifier)의 기능을 수행한다. 선택 트랜지스터(select transistor, SX)는 선택 신호(SEL)에 응답하여 포토 다이오드(PD)에서 생성된 전하에 대응하는 출력 신호(Vout)를 출력한다.
전송 트랜지스터(TX)의 게이트의 전압은 포토 다이오드(PD)가 축적할 수 있는 최대 전하량과 관련이 있다. 일 실시예에서 행 선택 회로는 전송 제어 신호(TG)를 조정하여 노출 시간에 따른 포토 다이오드(PD)의 전하량을 조정할 수 있다.
도 6은 일 실시예에 따른 행 영상 데이터 및 부분 영상 데이터를 설명하기 위한 도면이다.
도 2 및 6을 참조하면, 메모리(230)는 픽셀 어레이(210)의 출력 신호에 기초하여 행 단위로 리드아웃된 행 영상 데이터를 저장하도록 구성될 수 있다.
도 6에는 N개의 행으로 구성된 영상 프레임(610)이 도시되어 있다. 영상 프레임(610)의 최상단에 있는 행부터 최하단에 있는 행까지 1부터 N의 행 번호를 붙일 수 있다. 행 영상 데이터는 영상 프레임(610)의 1번 행 내지 N번 행 중 어느 하나의 행에 포함된 데이터를 나타낸다. 구체적으로, 행 영상 데이터(611)는 1번 행(Row 1)에 포함된 영상 데이터이고, 행 영상 데이터(612)는 2번 행(Row 2)에 포함된 영상 데이터이고, 행 영상 데이터(613)는 N번 행(Row N)에 포함된 영상 데이터이다.
픽셀 어레이(210)가 행 단위로 영상 데이터를 출력함에 따라, 메모리(230)에는 행 영상 데이터가 순차적으로 저장될 수 있다. 예를 들어, 행 영상 데이터(611)가 메모리(230)에 저장된 후, 행 영상 데이터(612)가 메모리(230)에 저장되고, 마지막으로 행 영상 데이터(613)가 메모리(230)에 저장될 수 있다.
프로세서(250)는 메모리(230)로부터 부분 영상 데이터(630)를 독출하여 게이즈 벡터를 생성할 수 있다. 부분 영상 데이터(630)는 적어도 하나의 행 영상 데이터를 포함할 수 있다. 부분 영상 데이터(630)는 미리 결정된 개수의 행 영상 데이터를 포함할 수 있다. 예를 들어, 부분 영상 데이터(630)에 포함될 수 있는 행 영상 데이터의 개수는, 프로세서(250)가 프로세싱하는 데에 필요한 블록의 크기에 기초하여 결정될 수 있다.
프로세서(250)는 k개의 행 영상 데이터를 포함하는 부분 영상 데이터(630)를 메모리(230)로부터 독출하여 프로세싱을 수행할 수 있다. 이때, k는 N보다 작을 수 있다.
일 실시예에 따른 집적 게이즈 추적기(200)는 픽셀 어레이(210), 메모리(230), 및 프로세서(250)가 집적되어 구성되므로, 메모리(230)에 부분 영상 데이터(630)만 저장되면 프로세서(250)가 게이즈 벡터를 생성할 수 있다. 따라서, 메모리에 영상 프레임이 저장된 후 게이즈 벡터를 생성하는 방식과 비교하여, 프로세싱의 속도가 빠르다.
도 7a 내지 도 7c는 일 실시예에 따른 메모리에 저장된 영상 데이터를 설명하기 위한 도면이다.
도 2 및 7a를 참조하면, 메모리(230)는 픽셀 어레이(210)의 출력 신호에 기초하여 행 단위로 리드아웃된 행 영상 데이터를 저장하도록 구성될 수 있다. 예를 들어, 메모리(230)는, 픽셀 어레이(210)의 출력 신호에 기초하여 Row 1에서 Row N까지 행 단위로 영상 데이터를 순차적으로 저장하도록 구성될 수 있다.
프로세서(250)는 메모리(230)에 미리 결정된 개수의 행 영상 데이터가 저장되면 프로세싱을 수행하도록 구성될 수 있다. 예를 들어, 프로세서(250)는 메모리(230)에 k개의 행 영상 데이터가 저장되면 프로세싱을 수행하도록 구성될 수 있다.
또한, 프로세서(250)는 메모리(230)로부터 프레임 단위가 아닌 블록(즉, 서브 프레임) 단위로 영상 데이터를 독출하여 프로세싱을 수행하도록 구성될 수 있다. 즉, 프로세서(250)는 메모리(230)로부터 부분 영상 데이터 단위로 영상 데이터를 독출하여 프로세싱을 수행하도록 구성될 수 있다.
도 7a는 메모리(230)에 영상 프레임(710) 중 1번 행부터 k-1번 행까지의 행 영상 데이터(730)가 저장되었고, 프로세서(250)가 프로세싱을 수행하기 위해 k개의 행 영상 데이터가 요구되는 실시예를 나타낸다. 프로세서(250)가 프로세싱을 수행하기 위한 충분한 행 영상 데이터가 메모리(230)에 저장되지 못하였으므로, 프로세서(250)는 프로세싱을 시작하지 않을 수 있다.
도 7b에는, 메모리에 행 영상 데이터가 순차적으로 저장됨으로써, 1번 행(Row 1)부터 k번 행(Row k)까지의 행 영상 데이터가 저장된 모습이 도시되어 있다.
도 2 및 7b를 참조하면, 프로세서(250)는 행 영상 데이터가 영상 프레임에서 위치한 행 번호에 기초하여 시작 행 번호(start row number) 및 끝 행 번호(end row number)를 결정하고, 시작 행 번호에 대응하는 시작 행 영상 데이터 및 상기 끝 행 번호에 대응하는 끝 행 영상 데이터를 포함하도록 부분 영상 데이터를 결정하도록 구성될 수 있다. 예를 들어, 프로세서(250)는 시작 행 번호를 1, 끝 행 번호를 k로 결정하고, 시작 행 영상 데이터(731)부터 끝 행 영상 데이터(732)까지의 행 영상 데이터들을 부분 영상 데이터(750)로 결정할 수 있다. 따라서, 도 7b와 같이, 1번 행(Row 1)부터 k번 행(Row k)까지의 행 영상 데이터가 저장됨에 따라, 프로세서(250)는 프로세싱을 시작할 수 있다. 예를 들어, 프로세서(250)는 메모리(230)에 저장된 부분 영상 데이터(750)에 기초하여 게이즈 벡터를 생성하도록 구성될 수 있다.
또한, 프로세서(250)는 메모리(230)에 저장된 부분 영상 데이터(750)를 열 단위로 프로세싱하여 게이즈 벡터를 생성하도록 구성될 수 있다. 예를 들어, 1번 열(Col 1)에 포함된 k개의 픽셀 데이터에 대하여 가우시안(Gaussian) 필터링, 소벨(Sobel) 필터링 등의 연산을 수행함으로써 게이즈 벡터를 생성할 수 있다.
도 7c에는 메모리에 행 영상 데이터가 순차적으로 저장됨으로써, 2번 행(Row 2)부터 k+1번 행(Row k+1)까지의 행 영상 데이터가 저장된 모습이 도시되어 있다.
도 2, 7b, 및 7c를 참조하면, 도 7b의 부분 영상 데이터(750)에 대한 프로세싱이 모두 수행된 경우, 다음 행 영상 데이터(733)가 메모리(230)에 순차적으로 저장될 수 있다. 프로세서(250)는 다음 행 영상 데이터가 메모리(230)에 저장되면, 시작 행 번호 및 끝 행 번호 중 적어도 어느 하나를 변경하도록 구성될 수 있다. 예를 들어, 부분 영상 데이터(770)에 포함되는 시작 행 번호는 1에서 2로, 끝 행 번호는 k에서 k+1로 변경될 수 있다. 이에 따라, 메모리(230)에는 2번 행(Row 2)부터 k+1번 행(Row k+1)까지의 부분 영상 데이터(770)가 저장될 수 있다. 프로세서(250)는 부분 영상 데이터(750)를 프로세싱한 후 부분 영상 데이터(770)를 프로세싱할 수 있다. 메모리(230)에 마지막 행의 행 영상 데이터가 저장될 때까지, 상술한 과정들이 반복됨으로써, 프로세서(250)가 순차적으로 변화하는 부분 영상 데이터에 기초하여 게이즈 벡터를 생성할 수 있다.
집적 게이즈 추적기(200)는, 상술한 바와 같이, 메모리(230)에 부분 영상 데이터만 저장하고 프로세서(250)에서 순차적으로 복수의 부분 영상 데이터를 프로세싱함으로써, 보안을 강화할 수 있다. 예를 들어, 게이즈 추적을 위해서는 사용자의 눈을 포함하는 영상이 캡처되어야 하는데, 눈을 포함하는 영상은 사용자의 홍채 정보를 포함할 수 있다. 홍채 정보는 개인 인증 정보로 사용될 수 있기 때문에 메모리에 저장된 정보가 유출될 경우 심각한 보안 문제를 야기할 수 있다. 다만, 집적 게이즈 추적기(200)에 포함된 메모리(230)는 영상 프레임 전체를 저장하는 것이 아닌 부분 영상 데이터만을 저장하고, 프로세서(250)는 부분 영상 데이터에 기초하여 프로세싱하므로, 영상 프레임 전체가 유출될 염려가 없다. 또한, 집적 게이즈 추적기(200)는 외부 장치와의 데이터 교환 없이 내부 프로세싱만으로 게이즈 벡터 생성이 가능하므로, 영상 데이터가 외부로 유출될 염려가 없다. 따라서, 집적 게이즈 추적기(200)를 사용함으로써 보안을 강화할 수 있다.
도 8은 일 실시예에 따른 메모리를 설명하기 위한 도면이다.
도 2 및 8을 참조하면, 메모리(230)는 적어도 2개 이상의 저장 영역들을 포함하고, 적어도 2개 이상의 저장 영역들은 서로 다른 부분 영상 데이터를 저장하도록 구성되고, 프로세서(250)는 서로 다른 부분 영상 데이터를 핑퐁 버퍼(ping pong buffer) 방식으로 프로세싱하도록 구성될 수 있다. 이 때, 적어도 2개 이상의 저장 영역들은, 메모리(230) 내에서 논리적으로 구분되어 데이터를 저장할 수 있는 영역들일 수 있다.
예를 들어, 도 8을 참조하면, 메모리(230)는 2개의 저장 영역들(830, 850)을 포함할 수 있다. 프로세서(250)는 2개의 저장 영역들(830, 850)에 영상 프레임(810)의 부분 영상 데이터를 저장함으로써 프로세싱할 수 있다. 행 영상 데이터를 저장 영역(830)에 저장하는 중에는, 프로세서(250)가 저장 영역(830)에 저장된 데이터를 프로세싱할 수 없다. 또한, 프로세서(250)가 저장 영역(830)에 저장된 부분 영상 데이터를 프로세싱하는 중에는, 다음 행 영상 데이터를 저장할 수 없다. 따라서, 메모리(230)는 논리적으로 저장 영역(830)과 구분된 다른 저장 영역(850)을 더 포함함으로써, 저장 영역(850)에서 부분 영상 데이터를 프로세싱하는 동안 다른 저장 영역(830)에서 다음 부분 영상 데이터를 저장하고, 저장 영역(830)에 저장된 부분 영상 데이터를 프로세싱하는 동안 다른 저장 영역(850)에서 그 다음 부분 영상 데이터를 저장할 수 있다.
또한, 집적 게이즈 추적기(200)는 적어도 2개 이상의 메모리들(230)을 포함하고, 프로세서(250)는 적어도 2개 이상의 메모리들(230)을 사용하여 핑퐁 버퍼 방식으로 프로세싱하도록 구성될 수도 있다. 다시 말해, 프로세서(250)가 물리적으로 분리된 복수개의 메모리들(230)을 사용함으로써, 상술한 바와 같은 핑퐁 버퍼 방식의 프로세싱을 수행할 수도 있다.
상술한 바와 같이 프로세서(250)가 핑퐁 버퍼 방식으로 프로세싱을 수행함으로써, 영상 데이터 저장과 프로세싱이 동시에 이루어질 수 있다. 이에 따라, 게이즈 추적 속도가 향상되고, 게이즈 추적 속도가 충분히 빠르지 못함으로써 이전 시간에 취득된 영상을 사용하여 계산된 게이즈 벡터로 사용자가 이전 시점에 바라보고 있던 위치를 렌더링하는 문제를 해결할 수 있다.
도 9a 및 도 9b는 일 실시예에 따른 레이턴시(latency)를 설명하기 위한 도면이다.
도 9a는 집적 게이즈 추적기를 사용하지 않았을 때, 게이즈 벡터를 디스플레이하는 데에 소모되는 시간을 도시한 도면이다.
도 9a를 참조하면, 게이즈 벡터를 디스플레이하는 과정은, 카메라로 영상을 캡처, 게이즈 벡터 생성, 어플리케이션(application)에 적용, 렌더링, 디스플레이하는 과정을 포함할 수 있다. 이 때, 어플리케이션은 포비티드 렌더링(foveated rendering), 가변-초점 서포트(vari-focal support) 등일 수 있으며, 그 외에도 다양한 어플리케이션이 사용될 수 있음은 통상의 기술자에게 자명하다.
파이프라인(pipeline)에서 하나의 작업을 처리하는데 걸리는 시간을 8.3msec라고 가정할 수 있다. 예를 들어, 카메라로 영상을 캡처하는 데에 8.3msec, 게이즈 벡터를 생성하는 데에 8.3msec, 렌더링하는 데에 8.3msec, 디스플레이하는 데에 8.3msec가 소모될 수 있다. 어플리케이션의 경우 어플리케이션 마다 소모하는 시간이 상이하므로, αmsec가 소모된다고 표현한다. 따라서, 게이즈 벡터를 디스플레이하는 과정에는 총 33.2+αmsec가 소모될 수 있다.
도 9b는 일 실시예에 따른 집적 게이즈 추적기를 사용하였을 때, 게이즈 벡터를 디스플레이하는 데에 소모되는 시간을 도시한 도면이다.
도 9b를 참조하면, 일 실시예에 따른 집적 게이즈 추적기를 사용하는 경우, 카메라에 의해 캡처된 영상을 외부 메모리에 저장하는 과정이 없으므로, 카메라로 영상을 캡처하고 게이즈 벡터를 생성하는 과정이 한 번에 이루어짐에 따라, 카메라로 영상을 캡처하고 게이즈 벡터를 생성하는 데에 8.3msec가 소모될 수 있다. 따라서, 게이즈 벡터를 디스플레이하는 데에 총 24.9+αmsec가 소모될 수 있다. 즉, 집적 게이즈 추적기를 사용하는 경우, 레이턴시(latency)를 줄일 수 있으며, 따라서, 집적 게이즈 추적기를 사용하지 않는 경우보다 빠르게 게이즈 벡터를 반영하여 디스플레이 할 수 있다. 이에 따라, 이전 시간에 취득된 영상을 사용하여 산출된 게이즈 벡터로 사용자가 이전 시점에 바라보고 있던 위치를 반영하여 디스플레이하는 문제를 해결할 수 있다.
도 10a 및 도 10b는 일 실시예에 따른 인터페이스(interface)를 설명하기 위한 도면이다.
도 10a는 병렬 인터페이스(parallel interface)를, 도 10b는 직렬 인터페이스(serial interface)를 도시한 도면이다.
도 10a 및 도 10b를 참조하면, 병렬 인터페이스를 사용하는 경우, 신호(1010)를 병렬로 전송할 수 있지만, 직렬 인터페이스를 사용하는 경우는 순차적으로 신호(1030)를 전송한다. 따라서, 직렬 인터페이스는 아웃풋 데이터 레잇(output data rate)이 크지 않은 경우에 주로 사용될 수 있다.
인터페이스로 직렬 인터페이스를 사용할 경우, 2개의 핀(pin)인 데이터 핀(data pin)과 클록 핀(clock pin)만을 사용하여 데이터를 출력할 수 있으며, 따라서, 직렬 인터페이스를 사용하는 장치의 폼 팩터(form factor)가 작아질 수 있다.
일 실시예에 따른 집적 게이즈 추적기 사용하는 경우, 캡처된 영상 프레임 전체를 출력하는 것이 아닌, 순차적으로 저장된 부분 영상 데이터를 프로세싱함으로써 생성된 정보만을 출력하므로, 아웃풋 데이터 레잇을 크게 감소시킬 수 있다. 예를 들어, 영상 프레임의 크기는 640x640, 픽셀은 10 bit per pixel의 크기를 갖고, 영상 프레임 전체를 프로세싱하여 데이터를 출력한다고 가정하면, 각 프레임 당 데이터는 4.1 Mbits가 되고, 초당 120장을 출력한다고 가정하면 아웃풋 데이터 레잇은 약 490 Mbps가 된다. 그러나, 일 실시예에 따른 집적 게이즈 추적기를 사용하는 경우, 영상 프레임 전체에 대한 데이터가 아닌, 부분 영상 데이터를 프로세싱함으로써 생성된 데이터를 출력하므로, 아웃풋 데이터 레잇은 수백 또는 수천 bps에 불과할 수 있다. 따라서, 집적 게이즈 추적기의 프로세서는 직렬 인터페이스(serial interface)를 사용하여 게이즈 벡터를 생성하도록 구성될 수 있다. 집적 게이즈 추적기가 직렬 인터페이스를 사용하는 경우, 상술한 바와 같이 작은 폼 팩터로 구현될 수 있으므로, 작은 폼 팩터를 요구하는 HMD(Head Mounted Display), VR(Virtual Reality) Headset, AR(Augmented Reality) Glasses 등에서 효율적으로 사용될 수 있다.
또한, 집적 게이즈 추적기에는 직렬 인터페이스 외에도 다양한 인터페이스들이 사용될 수 있음은 통상의 기술자에게 자명하다. 예를 들어, 일 실시예에 따른 집적 게이즈 추적기의 프로세서는 MIPI(Mobile Industry Processor Interface)를 사용하여 게이즈 벡터를 출력하도록 구성될 수 있다. 집적 게이즈 추적기는 작은 아웃풋 데이터 레잇을 가지므로, MIPI를 사용하는 경우, 전력 소모량을 감소시킬 수 있다. 따라서, 집적 게이즈 추적기(200)는 적은 전력 소모량을 요구하는 HMD(Head Mounted Display), VR(Virtual Reality) Headset, AR(Augmented Reality) Glasses 등에서 효율적으로 사용될 수 있다.
도 11a 및 도 11b는 일 실시예에 따른 시스템을 설명하기 위한 도면이다.
도 11a는 집적 게이즈 추적기를 사용하지 않고 데이터를 전송하는 시스템을 도시한 도면이다.
도 11a를 참조하면, 게이즈 추적기(1110)는 영상 프레임 전체를 전송해야 하므로, 아웃풋 데이터 레잇이 상대적으로 높으며, 따라서, 직렬 인터페이스가 아닌 MIPI를 사용하고 있다. 또한, 상대적으로 높은 아웃풋 데이터 레잇에 의해 호스트 디바이스(host device)(1130)로 데이터를 전송하기 위해 필요한 전력도 상대적으로 크다. 예를 들어, 게이즈 추적기(1110)가 호스트 디바이스(1130)로 데이터를 무선으로 전송하기 위해서는 대역폭이 큰 Wi-Fi 방식 등을 사용하여 1~5 W의 전력이 소모될 수 있다.
도 11b는 일 실시예에 따른 TSV 스택된 집적 게이즈 추적기를 사용하여 데이터를 전송하는 시스템을 도시한 도면이다.
도 11b를 참조하면, 일 실시예에 따른 집적 게이즈 추적기(1150)는 상술한 바와 같이 상대적으로 작은 아웃풋 데이터 레잇을 가지므로, 데이터를 전송할 때 상대적으로 적은 전력이 소모될 수 있다. 예를 들어, 집적 게이즈 추적기(1150)가 호스트 디바이스(1170)로 데이터를 무선으로 전송하기 위해서는 대역폭이 작은 블루투스 등의 방식을 사용하여 20mW의 전력이 소모될 수 있다. 따라서, 집적 게이즈 추적기(1150)를 사용하는 경우, 전력 소모량을 크게 감소시킬 수 있다.
도 12는 일 실시예에 따른 게이즈 벡터 생성을 설명하기 위한 도면이다.
일 실시예에 따른 집적 게이즈 추적기가 게이즈 벡터를 생성하기 위해 특징점 검출(feature points detection) 방법 또는 글린트 포인트 검출(glint points detection) 방법이 사용될 수 있다.
특징점 검출 방법은, 캡처된 영상에 포함된 눈동자(pupil) 영상을 필터링하여 눈동자의 중심을 검출(pupil center detection)하는 방법이다. 눈동자의 중심을 검출할 때에는 타원 정합(ellipse fitting) 활용될 수 있다. 따라서, 프로세서는 특징점 검출, 타원 정합 및 눈동자 중심 검출로 생성된 데이터에 기초하여 게이즈 벡터를 생성하도록 구성될 수 있다. 또한, 눈동자의 중심을 검출한 데이터 등과 카메라 파라미터들(camera parameters)을 종합하여 게이즈 벡터를 생성할 수 있다. 카메라 파라미터에는 카메라의 위치정보, 렌즈에 대한 정보 등이 포함될 수 있으며, 이에 제한되는 것은 아니다.
글린트 포인트 검출 방법은, SWIR LED(Short Wave InfraRed Light Emitting Diode)를 사용하는 방법으로, SWIR을 눈동자에 비추고, 눈동자로부터 반사된 빛을 검출하여 글린트 포지션(glint position)을 매핑함으로써 게이즈 벡터를 생성하는 방법이다. 따라서, 프로세서는 SWIR이 동공에 반사되어 생성된 광 신호에 기초하여 게이즈 벡터를 생성하도록 구성될 수 있다. 게이즈 벡터 생성시에는 카메라 파라미터들이 활용될 수 있다.
또한, 프로세서는 뉴럴 네트워크에 기초하여 게이즈 벡터를 생성하도록 구성될 수 있다. 예를 들어, 뉴럴 네트워크를 사용하는 경우 메모리에 소정 개수의 행 영상 데이터들을 순차적으로 저장하고, 필요한 크기의 블록이 구성되면 CNN(Convolution Neural Network) 방법을 활용하여 게이즈 벡터를 생성할 수 있다. 뉴럴 네트워크의 트레이닝을 수행할 때에는 리소스(resource)에 제한을 둘 필요가 없으므로, 영상 데이터 전체를 뉴럴 네트워크에 입력하여 트레이닝을 수행할 수 있다.
또한, 프로세서는 모노크롬 카메라(monochrome camera)로 촬영한 RGB 대역의 영상을 활용하여 게이즈 벡터를 생성할 수 있다.
도 13은 일 실시예에 따른 게이즈 벡터 생성을 설명하기 위한 도면이다.
사용자의 눈동자(1350)가 주시하고 있는 방향인 게이즈 벡터(1330)는 일 실시예에 따른 집적 게이즈 추적기(1310)를 활용하여 생성되고, 디스플레이에 표시될 수 있다. 집적 게이즈 추적기(1310)는 상술한 방법들을 활용하여 눈동자의 특징점, 눈의 위치, 홍채 정보, 눈동자 중심의 위치, 또는 글린트 포지션 등에 관한 데이터를 획득할 수 있다. 또한, 상술한 데이터들은 게이즈 벡터를 생성하는데 활용하는 것뿐만 아니라, 다른 용도(예를 들어, 개인 인증 정보)로도 활용될 수 있으며, 따라서, 집적 게이즈 추적기는 상술한 데이터들을 출력할 수 있다. 다시 말해, 프로세서는 눈동자의 특징점 데이터, 눈의 위치 데이터, 눈동자들 사이의 거리 데이터, 글린트 포지션데이터 및 홍채 데이터 중 적어도 하나를 출력하도록 구성될 수 있다.
도 14는 일 실시예에 따른 집적 게이즈 추적기의 작동 방법을 나타내는 순서도이다.
도 2 및 14를 참조하면, S1410 단계에서, 집적 게이즈 추적기(200)는 픽셀 어레이(pixel array)를 사용하여 영상을 캡처할 수 있다.
S1430 단계에서, 집적 게이즈 추적기(200)는 픽셀 어레이의 출력 신호에 기초하여 행 단위로 리드아웃된 행 영상 데이터(row image data)를 메모리에 저장할 수 있다.
S1450 단계에서, 집적 게이즈 추적기(200)는 행 영상 데이터를 포함하는 부분 영상 데이터(partial image data)에 기초하여 게이즈 벡터를 생성할 수 있다.
한편, 상술한 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 실시예들에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
본 실시예와 관련된 기술 분야에서 통상의 지식을 가진 자는 상기된 기재의 본질적인 특성에서 벗어나지 않는 범위에서 실시예가 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예는 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 권리 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 실시예에 포함된 것으로 해석되어야 할 것이다.

Claims (20)

  1. 영상을 캡처하도록 구성된 픽셀 어레이(pixel array);
    상기 픽셀 어레이의 출력 신호에 기초하여 행 단위로 리드아웃된 행 영상 데이터(row image data)를 저장하도록 구성된 메모리; 및
    상기 행 영상 데이터를 포함하는 부분 영상 데이터(partial image data)에 기초하여 게이즈 벡터를 생성하도록 구성된 프로세서;를 포함하는, 집적 게이즈 추적기.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 행 영상 데이터가 영상 프레임에서 위치한 행 번호에 기초하여 시작 행 번호(start row number) 및 끝 행 번호(end row number)를 결정하고, 상기 시작 행 번호에 대응하는 시작 행 영상 데이터 및 상기 끝 행 번호에 대응하는 끝 행 영상 데이터를 포함하도록 상기 부분 영상 데이터를 결정하도록 구성된, 집적 게이즈 추적기.
  3. 제2항에 있어서,
    상기 프로세서는,
    새로운 행 영상 데이터가 상기 메모리에 저장되면, 상기 시작 행 번호 및 상기 끝 행 번호 중 적어도 어느 하나를 변경하도록 구성된, 집적 게이즈 추적기.
  4. 제1항에 있어서,
    상기 프로세서는,
    다음 행 영상 데이터(next row image data)가 상기 메모리에 저장되면, 상기 다음 행 영상 데이터를 포함하도록 다음 부분 영상 데이터를 결정하고,
    상기 부분 영상 데이터 및 상기 다음 부분 영상 데이터에 기초하여 상기 게이즈 벡터를 생성하도록 구성된, 집적 게이즈 추적기.
  5. 제1항에 있어서,
    상기 메모리는 영상 데이터를 행 단위로 저장하도록 구성된 라인 메모리인, 집적 게이즈 추적기.
  6. 제1항에 있어서,
    상기 메모리는 적어도 2개 이상의 저장 영역들을 포함하고,
    상기 적어도 2개 이상의 저장 영역들은 서로 다른 상기 부분 영상 데이터를 저장하도록 구성되고,
    상기 프로세서는 상기 서로 다른 부분 영상 데이터를 핑퐁 버퍼(ping pong buffer) 방식으로 프로세싱하도록 구성된, 집적 게이즈 추적기.
  7. 제1항에 있어서,
    상기 메모리는 SRAM(Static Random Access Memory)을 포함하는, 집적 게이즈 추적기.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 메모리에 저장된 부분 영상 데이터를 열 단위로 프로세싱하여 상기 게이즈 벡터를 생성하도록 구성된, 집적 게이즈 추적기.
  9. 제1항에 있어서,
    상기 프로세서는,
    특징점 검출(feature points detection), 타원 정합(ellipse fitting), 및 눈동자 중심 검출(pupil center detection)로 생성된 데이터에 기초하여 상기 게이즈 벡터를 생성하도록 구성된, 집적 게이즈 추적기.
  10. 제1항에 있어서,
    상기 프로세서는,
    SWIR(Short Wave InfraRed)이 동공에 반사되어 생성된 광 신호에 기초하여 상기 게이즈 벡터를 생성하도록 구성된, 집적 게이즈 추적기.
  11. 제1항에 있어서,
    상기 프로세서는,
    눈동자의 중심(pupil center) 위치 데이터, 눈동자의 특징점(feature point) 데이터, 눈의 위치 데이터, 눈동자들 사이의 거리 데이터, 글린트 포지션(glint position) 데이터, 및 홍채 데이터 중 적어도 하나를 출력하도록 구성된, 집적 게이즈 추적기.
  12. 제1항에 있어서,
    상기 프로세서는,
    뉴럴 네트워크에 기초하여 상기 게이즈 벡터를 생성하도록 구성된, 집적 게이즈 추적기.
  13. 제1항에 있어서,
    상기 프로세서는,
    MIPI(Mobile Industry Processor Interface)를 사용하여 상기 게이즈 벡터를 출력하도록 구성된, 집적 게이즈 추적기.
  14. 제1항에 있어서,
    상기 프로세서는,
    직렬 인터페이스(serial interface)를 사용하여 상기 게이즈 벡터를 출력하도록 구성된, 집적 게이즈 추적기.
  15. 제1항에 있어서,
    단일 칩 시스템(system on a chip)인, 집적 게이즈 추적기.
  16. 픽셀 어레이(pixel array)를 사용하여 영상을 캡처하는 단계;
    상기 픽셀 어레이의 출력 신호에 기초하여 행 단위로 리드아웃된 행 영상 데이터(row image data)를 메모리에 저장하는 단계; 및
    상기 행 영상 데이터를 포함하는 부분 영상 데이터(partial image data)에 기초하여 게이즈 벡터를 생성하는 프로세싱 단계;를 포함하는, 집적 게이즈 추적기의 작동 방법.
  17. 제16항에 있어서,
    상기 프로세싱 단계는,
    상기 행 영상 데이터가 영상 프레임에서 위치한 행 번호에 기초하여 시작 행 번호(start row number) 및 끝 행 번호(end row number)를 결정하고, 상기 시작 행 번호에 대응하는 시작 행 영상 데이터 및 상기 끝 행 번호에 대응하는 끝 행 영상 데이터를 포함하도록 상기 부분 영상 데이터를 결정하는 단계를 포함하는, 집적 게이즈 추적기의 작동 방법.
  18. 제17항에 있어서,
    상기 프로세싱 단계는,
    새로운 행 영상 데이터가 상기 메모리에 저장되면, 상기 시작 행 번호 및 상기 끝 행 번호 중 적어도 어느 하나를 변경하는 단계를 포함하는, 집적 게이즈 추적기의 작동 방법.
  19. 제16항에 있어서,
    상기 프로세싱 단계는,
    다음 행 영상 데이터(next row image data)가 상기 메모리에 저장되면, 상기 다음 행 영상 데이터를 포함하도록 다음 부분 영상 데이터를 결정하고,
    상기 부분 영상 데이터 및 상기 다음 부분 영상 데이터에 기초하여 상기 게이즈 벡터를 생성하 하는 단계를 포함하는, 집적 게이즈 추적기의 작동 방법.
  20. 제16항에 있어서,
    상기 메모리는 영상 데이터를 행 단위로 저장하도록 구성된 라인 메모리인, 집적 게이즈 추적기의 작동 방법.
KR1020200177440A 2020-12-17 2020-12-17 집적 게이즈 추적기 및 그 작동 방법 KR20220087081A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200177440A KR20220087081A (ko) 2020-12-17 2020-12-17 집적 게이즈 추적기 및 그 작동 방법
US17/472,989 US20220197375A1 (en) 2020-12-17 2021-09-13 Integrated gaze tracker and operation method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200177440A KR20220087081A (ko) 2020-12-17 2020-12-17 집적 게이즈 추적기 및 그 작동 방법

Publications (1)

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

Family

ID=82021268

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200177440A KR20220087081A (ko) 2020-12-17 2020-12-17 집적 게이즈 추적기 및 그 작동 방법

Country Status (2)

Country Link
US (1) US20220197375A1 (ko)
KR (1) KR20220087081A (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8761259B2 (en) * 2005-09-22 2014-06-24 Qualcomm Incorporated Multi-dimensional neighboring block prediction for video encoding
KR20230004854A (ko) * 2012-10-05 2023-01-06 램버스 인코포레이티드 조건부-리셋, 멀티-비트 판독 이미지 센서
US10310998B2 (en) * 2015-06-30 2019-06-04 Microsoft Technology Licensing, Llc Direct memory access with filtering
KR20180057668A (ko) * 2015-09-24 2018-05-30 토비 에이비 눈 추적 가능한 웨어러블 디바이스들

Also Published As

Publication number Publication date
US20220197375A1 (en) 2022-06-23

Similar Documents

Publication Publication Date Title
JP6039889B2 (ja) モノクロ画像データおよびカラー画像データを出力する端末
JP6808993B2 (ja) 撮像素子、電子機器、撮像方法、およびプログラム
US20150193658A1 (en) Enhanced Photo And Video Taking Using Gaze Tracking
US9678303B2 (en) Imaging device and focusing control method
KR102606824B1 (ko) 멀티 카메라를 포함하는 장치 및 이의 이미지 처리방법
US10277807B2 (en) Image device and method for memory-to-memory image processing
US11736823B2 (en) Integrated high-speed image sensor and operation method thereof
US20130195374A1 (en) Image processing apparatus, image processing method, and recording medium
US20230232117A1 (en) Processing circuit analyzing image data and generating final image data
US8953067B2 (en) Method, device, and machine readable medium for image capture and selection
KR20220087081A (ko) 집적 게이즈 추적기 및 그 작동 방법
US11843868B2 (en) Electronic apparatus based on multiple exposure image and operating method thereof
US11800242B2 (en) Low-power fusion for negative shutter lag capture
JP6467116B2 (ja) 撮像装置、撮像方法、撮像プログラム
US20240040271A1 (en) Information processing device, information processing system, information processing method, and program
US20140104459A1 (en) Imaging device, method for processing image, and program product for processing image
US11381762B2 (en) Integrated circuit chip and image capturing apparatus
JP7433792B2 (ja) 撮像装置およびその制御方法
US10742876B2 (en) Imaging device, imaging method, and imaging program
EP4300988A1 (en) Foveated readout of an image sensor using regions of interest
US20230231979A1 (en) Image signal processor processing image data having non-bayer pattern and image processing device including same
US20240104748A1 (en) Image Acquisition with Dynamic Resolution
US20230206613A1 (en) Apparatus and methods for object detection using machine learning processes
US20230026684A1 (en) Biometric authentication system and electronic device for same
US20240185536A1 (en) Object depth estimation processes within imaging devices

Legal Events

Date Code Title Description
A201 Request for examination