KR102530222B1 - 이미지 센서 및 이미지 센서의 동작 방법 - Google Patents
이미지 센서 및 이미지 센서의 동작 방법 Download PDFInfo
- Publication number
- KR102530222B1 KR102530222B1 KR1020210034845A KR20210034845A KR102530222B1 KR 102530222 B1 KR102530222 B1 KR 102530222B1 KR 1020210034845 A KR1020210034845 A KR 1020210034845A KR 20210034845 A KR20210034845 A KR 20210034845A KR 102530222 B1 KR102530222 B1 KR 102530222B1
- Authority
- KR
- South Korea
- Prior art keywords
- image sensor
- target
- motion
- image
- frame
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
- G06V40/167—Detection; Localisation; Normalisation using comparisons between temporally consecutive images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/61—Control of cameras or camera modules based on recognised objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/40—Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled
- H04N25/42—Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled by switching between different modes of operation using different resolutions or aspect ratios, e.g. switching between interlaced and non-interlaced mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/215—Motion-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/251—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/61—Control of cameras or camera modules based on recognised objects
- H04N23/611—Control of cameras or camera modules based on recognised objects where the recognised objects include parts of the human body
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/617—Upgrading or updating of programs or applications for camera control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/64—Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/65—Control of camera operation in relation to power supply
- H04N23/651—Control of camera operation in relation to power supply for reducing power consumption by affecting camera operations, e.g. sleep mode, hibernation mode or power off of selective parts of the camera
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/667—Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6811—Motion detection based on the image signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/50—Control of the SSIS exposure
- H04N25/53—Control of the integration time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/70—SSIS architectures; Circuits associated therewith
- H04N25/71—Charge-coupled device [CCD] sensors; Charge-transfer registers specially adapted for CCD sensors
- H04N25/75—Circuitry for providing, modifying or processing image signals from the pixel array
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/2628—Alteration of picture size, shape, position or orientation, e.g. zooming, rotation, rolling, perspective, translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record 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/06009—Record 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/06046—Constructional details
- G06K19/06103—Constructional details the marking being embedded in a human recognizable image, e.g. a company logo with an embedded two-dimensional code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20132—Image cropping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
- Facsimile Heads (AREA)
- Transforming Light Signals Into Electric Signals (AREA)
Abstract
이미지 센서 및 이미지 센서의 동작 방법이 개시된다. 이미지 센서는 영상 프레임들 내의 움직임을 감지하는 움직임 감지 회로, 및 움직임의 감지 여부에 기초하여 영상 프레임들 중 대상 프레임의 적어도 일부 영역에 대한 조정을 수행하고, 조정된 대상 프레임에 의해 대상 객체의 존재 유무를 검출하는 마이크로 컨트롤 유닛을 포함한다.
Description
아래 실시예들은 이미지 센서 및 이미지 센서의 동작 방법에 관한 것이다.
사용자의 편의성 증대를 위해 사용자 단말에서 인공 지능(artificial intelligence; AI)과 관련된 다양한 동작들이 수행될 수 있다. 인공 지능 알고리즘은 일반적으로 많은 메모리와 컴퓨팅이 요구되므로 주로 독립형 서버(Standalone Server)나 클라우드 서비스(Cloud Service)를 통해 수행되었으며, 스마트 폰과 같은 사용자 단말에서의 수행이 용이하지 않았다. 따라서, 인공 지능 알고리즘을 스마트 폰에서 구동할 수 있는 방법이 요구된다.
일 실시예에 따르면, 이미지 센서는 영상 프레임들 내의 움직임을 감지하는 움직임 감지 회로; 및 상기 움직임의 감지 여부에 기초하여 상기 영상 프레임들 중 대상 프레임(target frame)의 적어도 일부 영역에 대한 조정(adjustment)을 수행하고, 상기 조정된 대상 프레임에 의해 대상 객체의 존재 유무를 검출하는 마이크로 컨트롤 유닛(micro control unit; MCU)을 포함한다.
상기 마이크로 컨트롤 유닛은 상기 움직임의 존재 유무에 따라 동작 모드를 제1 모드에서 제2 모드로 전환하여 상기 대상 프레임 내에 상기 대상 객체의 존재 유무를 판별하고, 상기 대상 객체의 존재 유무에 따라 어플리케이션 프로세서(Application Processor; AP)에 대한 트리거(trigger) 신호를 생성할 수 있다.
상기 마이크로 컨트롤 유닛은 상기 움직임의 존재 유무를 판별하여 동작 모드를 전환하는 판별 모듈; 상기 움직임의 존재 유무에 따라 상기 대상 프레임의 적어도 일부 영역에 대한 조정을 수행하는 조정 모듈; 및 상기 조정된 대상 프레임으로부터 상기 대상 객체의 존재 유무를 검출하는 객체 검출기를 포함할 수 있다.
상기 판별 모듈은 상기 움직임의 존재 유무에 따라 스테이트 머신(state machine)의 상태 정보를 변경함으로써 상기 동작 모드를 전환할 수 있다.
상기 조정 모듈은 상기 대상 프레임 내 일부 움직임(local motion)에 대응하는 대상 영역을 추출하는 크롭(crop) 연산을 수행하는 동작, 상기 대상 영역의 픽셀 정보를 이용하여 상기 대상 영역에 대한 밝기 보정 연산을 수행하는 동작, 및 상기 대상 프레임 내 전체 움직임(global motion)에 기초하여, 상기 대상 프레임의 대상 영역에 대한 회전(rotation) 연산을 수행하는 동작 중 어느 하나 또는 이들의 조합을 수행할 수 있다.
상기 조정 모듈은 상기 전체 움직임에 의해 상기 이미지 센서의 회전 각도를 추정하고, 상기 회전 각도에 기초하여 상기 대상 영역이 수직 위치(upright position)가 되도록 상기 대상 영역을 회전시킬 수 있다.
상기 객체 검출기는 상기 조정된 대상 프레임으로부터 상기 대상 객체의 존재 유무를 검출하도록 트레이닝된 신경망을 포함할 수 있다. \
상기 움직임 감지 회로는 상기 이미지 센서의 이동 및 상기 이미지 센서의 움직임에 의한 전체 움직임, 및 상기 영상 프레임들 내의 상기 대상 객체의 움직임에 의한 일부 움직임 중 어느 하나 또는 둘 다를 감지할 수 있다.
상기 움직임 감지 회로는 상기 영상 프레임들 중 제1 시간에 대응하는 제1 영상 프레임과 상기 제1 시간 이후의 제2 시간에 대응하는 제2 영상 프레임에 기초한 모션 필드를 산출하고, 상기 모션 필드에서 상기 일부 움직임이 관측되는 역을 구분할 수 있다.
상기 이미지 센서는 상기 영상 프레임들에 대한 화질 개선을 위한 전처리를 수행하는 전처리 회로; 및 상기 영상 프레임들의 아날로그 신호를 디지털 신호로 전환하는 ADC(converter) 중 어느 하나 또는 둘 다를 포함할 수 있다.
상기 대상 객체는 사용자 얼굴 및 QR(Quick Response) 코드 중 어느 하나를 포함할 수 있다.
일 실시예에 따르면, 사용자 단말은 영상 프레임들 내의 움직임을 감지하고, 상기 움직임의 감지 여부에 기초하여 상기 영상 프레임들 중 대상 프레임의 적어도 일부 영역에 대한 조정을 수행하며, 상기 조정된 대상 프레임에 의해 대상 객체의 존재 유무를 검출하여 트리거 신호를 발생하는 이미지 센서; 상기 트리거 신호에 의해 활성화되는 어플리케이션 프로세서; 및 상기 대상 객체의 존재 유무를 검출하도록 트레이닝된 신경망 모델을 저장하는 메모리를 포함한다.
일 실시예에 따르면, 이미지 센서의 동작 방법은 영상 프레임들 내에 움직임의 존재 유무를 결정하는 단계; 상기 움직임의 존재 유무에 따라 상기 영상 프레임들 중 대상 프레임의 적어도 일부 영역에 대한 조정을 수행하는 단계; 및 상기 조정된 대상 프레임에 의해 대상 객체의 존재 유무를 검출하는 단계를 포함한다.
상기 적어도 일부 영역에 대한 조정을 수행하는 단계는 상기 대상 프레임 내 일부 움직임에 대응하는 대상 영역을 추출하는 크롭 연산을 수행하는 단계; 상기 대상 영역의 픽셀 정보를 이용하여 상기 대상 영역에 대한 밝기 보정 연산을 수행하는 단계; 및 상기 대상 프레임 내 전체 움직임에 기초하여, 상기 대상 프레임의 대상 영역에 대한 회전 연산을 수행하는 단계 중 어느 하나 또는 이들의 조합을 포함할 수 있다.
상기 회전 연산을 수행하는 단계는 상기 전체 움직임에 의해 상기 이미지 센서의 회전 각도를 추정하는 단계; 및 상기 회전 각도를 기초로, 수직 위치가 되도록 상기 대상 프레임을 회전시키는 단계를 포함할 수 있다.
상기 움직임의 존재 유무를 결정하는 단계는 상기 움직임의 존재 유무에 따라 스테이트 머신의 상태 정보를 변경함으로써 상기 동작 모드를 제1 모드에서 제2 모드로 전환하는 단계를 포함할 수 있다.
상기 대상 객체의 존재 유무를 검출하는 단계는 상기 대상 객체의 존재 유무를 검출하도록 트레이닝된 신경망을 이용하여 상기 조정된 대상 프레임으로부터 상기 대상 객체의 존재 유무를 검출하는 단계를 포함할 수 있다.
상기 이미지 센서의 동작 방법은 상기 대상 객체의 존재 유무에 따라 어플리케이션 프로세서에 대한 트리거 신호를 발생시키는 단계를 더 포함할 수 있다.
상기 대상 객체는 사용자 얼굴 및 QR 코드 중 어느 하나를 포함할 수 있다.
도 1은 일 실시예에 따른 이미지 센서의 블록도.
도 2는 일 실시예에 따른 이미지 센서의 동작 모드 별 동작을 설명하기 위한 도면.
도 3은 일 실시예에 따른 이미지 센서의 조정 모듈의 동작 일 예시를 도시한 도면.
도 4는 일 실시예에 따른 이미지 센서의 활용예를 설명하기 위한 도면.
도 5는 다른 실시예에 따른 이미지 센서의 동작 모드 별 동작을 설명하기 위한 도면.
도 6 및 도 7은 실시예들에 따른 이미지 센서의 동작 방법을 나타낸 흐름들.
도 8은 일 실시예에 따른 사용자 단말의 블록도.
도 2는 일 실시예에 따른 이미지 센서의 동작 모드 별 동작을 설명하기 위한 도면.
도 3은 일 실시예에 따른 이미지 센서의 조정 모듈의 동작 일 예시를 도시한 도면.
도 4는 일 실시예에 따른 이미지 센서의 활용예를 설명하기 위한 도면.
도 5는 다른 실시예에 따른 이미지 센서의 동작 모드 별 동작을 설명하기 위한 도면.
도 6 및 도 7은 실시예들에 따른 이미지 센서의 동작 방법을 나타낸 흐름들.
도 8은 일 실시예에 따른 사용자 단말의 블록도.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 이미지 센서의 블록도이다. 도 1을 참조하면, 일 실시예에 따른 이미지 센서(100)는 움직임 감지 회로(110) 및 마이크로 컨트롤 유닛(micro control unit; MCU)(130)을 포함한다. 이미지 센서(100)는 예를 들어, 상시 동작하는 올웨이즈-온(Always-On) 이미지 센서 시스템일 수 있다.
움직임 감지 회로(110)는 영상 프레임들 내의 움직임을 감지한다. 움직임 감지 회로(110)는 이미지 센서(100) 또는 카메라와 같이 영상 프레임들을 촬영하는 장치의 움직임에 의한 전체 움직임(global movement), 및 영상 프레임들 내의 대상 객체의 움직임에 의한 일부 움직임(local movement) 중 어느 하나 또는 둘 다를 감지할 수 있다. 이미지 센서(100)의 움직임은 이미지 센서의 이동 및/또는 회전을 포함하는 움직임일 수 있다. 이때, 전체 움직임에 대한 정보 및 일부 움직임에 대한 정보는 움직임 감지 회로(110)에서 생성될 수도 있고, 또는 마이크로 컨트롤 유닛(MCU)(130)에서 생성될 수도 있다.
움직임 감지 회로(110)가 영상 프레임들 내의 움직임을 감지하는 방법들은 다음과 같다.
움직임 감지 회로(110)는 예를 들어, 영상 프레임들 내의 객체의 움직임 패턴에 해당하는 광학 흐름(optical flow)을 추정하는 방법에 의해 움직임을 감지할 수 있다. 광학 흐름은 영상 프레임들에서 이전 프레임과 다음 프레임 간에 픽셀이 이동한 방향과 거리 분포에 해당할 수 있다. 움직임 감지 회로(110)는 광학 흐름으로 영상 내 객체가 어느 방향으로 얼마만큼 움직였는지 연산하여 객체의 움직임을 감지 또는 예측할 수 있다. 광학 흐름은 i) 연속된 프레임들 사이에서 움직이는 객체의 픽셀 강도(pixel intensity)는 변함이 없고, ii) 이웃하는 픽셀들은 비슷한 움직임을 갖는다는 가정에 기초할 수 있다. 움직임 감지 회로(110)는 예를 들어, 영상 프레임들 중 제1 시간에 대응하는 제1 영상 프레임과 제1 시간 이후의 제2 시간에 대응하는 제2 영상 프레임에 기초한 모션 필드(motion field)를 산출할 수 있다. 움직임 감지 회로(110)는 모션 필드에서 일부 움직임이 관측되는 영역을 구분할 수 있다. 움직임 감지 회로(110)는 모션 필드에서 일부 움직임이 관측되는 영역에 대응되는 대상 프레임의 영역('대상 영역')을 추출하여 마이크로 컨트롤 유닛(MCU)(130)으로 전달할 수 있다. 여기서, '대상 프레임(target frame)'은 영상 프레임들 중 일부 움직임이 감지된 영상 프레임으로 이해될 수 있다.
또는 움직임 감지 회로(110)는 예를 들어, 영상 프레임들에 대응하는 호모그래피(homography)들을 이용하여 움직임을 감지할 수 있다. 움직임 감지 회로(110)는 영상 프레임들의 특징점들(feature points) 사이의 관련성(correspondence)에 기반하여 호모그래피를 추정하는 특징 기반의 방법을 사용하거나, 또는 영상 프레임들의 강도(intensity)를 이용하여 호모그래피를 추정하는 Indirect(Featureless) 방법에 의해 움직임을 감지할 수 있다.
마이크로 컨트롤 유닛(MCU)(130)은 움직임 감지 회로(110)에서 감지한 움직임의 감지 여부에 기초하여 영상 프레임들 중 대상 프레임의 적어도 일부 영역에 대한 조정(adjustment)을 수행한다. 마이크로 컨트롤 유닛(MCU)(130)은 조정된 대상 프레임에 의해 대상 객체의 존재 유무를 검출한다. 대상 객체는 예를 들어, 사용자 얼굴 및 QR(Quick Response) 코드 중 어느 하나일 수 있으며, 반드시 이에 한정되지는 않는다. 아래에서 보다 구체적으로 설명하겠지만, 마이크로 컨트롤 유닛(MCU)(130)의 동작은 펌웨어와 같은 소프트웨어 형태로 구현되어 상대적으로 많은 연산량이 소모되는 영상 조정 및 객체 검출이 보다 빠르고 보다 낮은 소비 전력으로 수행되도록 할 수 있다. 이하, 설명의 편의를 위하여 대상 객체가 사용자의 얼굴인 경우를 주로 설명하지만, 이는 대상 객체가 QR 코드인 경우를 배제하는 것은 아니며, 대상 객체가 QR코드인 경우에도 필요에 따라서 마찬가지의 동작들이 수행될 수 있다.
마이크로 컨트롤 유닛(MCU)(130)은 예를 들어, 움직임의 존재 유무에 따라 동작 모드를 제1 모드에서 제2 모드로 전환하여 대상 프레임 내에 대상 객체의 존재 유무를 판별할 수 있다. 예를 들어, 제1 모드는 움직임 검출(motion detection; MD) 모드이고, 제2 모드는 얼굴 존재 검출(face presence detection; FPD) 모드일 수 있으며, 반드시 이에 한정되지는 않는다. '얼굴 존재 검출 모드'는 '객체 검출 모드'라고도 간략화하여 불릴 수 있다.
이미지 센서(100)가 다양한 동작 모드 별로 동작하는 방법에 대하여는 아래의 도 2 및 도 5를 참조하여 보다 구체적으로 설명한다.
마이크로 컨트롤 유닛(MCU)(130)은 대상 객체의 존재 유무에 따라 어플리케이션 프로세서(Application Processor; AP)에 대한 트리거 신호를 발생시킬 수 있다.
마이크로 컨트롤 유닛(MCU)(130)은 예를 들어, 판별 모듈(131), 조정 모듈(133), 및 객체 검출기(object detector)(135)를 포함할 수 있다.
판별 모듈(131)은 영상 프레임들 내의 움직임의 존재 유무를 판별하여 동작 모드를 전환할 수 있다. 판별 모듈(131)은 예를 들어, 영상 프레임들 내의 움직임의 존재 유무 또는 동작 모드에 따라 스테이트 머신(state machine)의 상태 정보를 변경함으로써 동작 모드를 전환할 수 있다.
조정 모듈(133)은 판별 모듈(131)에서 전환된 동작 모드에 따라 대상 프레임의 적어도 일부 영역(예를 들어, 대상 영역)에 대한 조정을 수행할 수 있다. 조정 모듈(133)은 예를 들어, 대상 프레임 내 일부 움직임(local motion)에 대응하는 대상 영역을 추출하는 크롭(crop) 연산을 수행하는 동작, 대상 영역의 픽셀 정보를 이용하여 대상 영역에 대한 밝기 보정 연산을 수행하는 동작, 및 대상 프레임 내 전체 움직임(global motion)에 기초하여, 대상 프레임의 대상 영역에 대한 회전(rotation) 연산을 수행하는 동작 중 어느 하나 또는 이들의 조합을 수행할 수 있으며, 반드시 이에 한정되지는 않는다.
밝기 보정 연산은 예를 들어, 명암 대비 스트레칭(Contrast Stretching) 기법, 및 히스토그램 평활화(Histogram Equalization) 기법, 및 평균 변형(Mean translation) 기법 등에 의해 수행될 수 있다. 명암 대비 스트레칭 기법은 낮은 명암 대비 영상의 명암값 분포의 히스토그램을 펼쳐서 보다 넓은 영역으로 명암값 분포를 갖게 하는 방법이다. 명암 대비 스트레칭 기법에 따르면, 영상 내 픽셀의 최소, 최대값의 비율을 이용하여 고정된 비율로 영상의 밝기를 조정할 수 있다. 히스토그램 평활화 기법은 영상 전체의 가능한 영역을 모두 채우기 위해 영상의 픽셀 값들을 균일하게 분산시키는 방법이다. 영상의 픽셀 값들을 균일하게 분산시키는 데에는 예를 들어, 균일 함수(Uniform function)와 가우시안 함수(Gaussian function)가 사용될 수 있다. 평균 변환 기법에 대하여는 아래의 도 3을 통해 후술하기로 한다.
조정 모듈(133)은 대상 프레임 내 전체 움직임에 의해 이미지 센서(100) 또는 촬영 장치의 회전 각도를 추정하고, 회전 각도에 기초하여 대상 영역이 수직 위치(upright position)가 되도록 대상 영역을 회전시킬 수 있다.
객체 검출기(135)는 조정 모듈(133)에 의해 조정된 대상 프레임 또는 조정 모듈(133)에 의해 조정된 일부 영역으로부터 대상 객체의 존재 유무를 검출할 수 있다. 객체 검출기(135)는 조정 모듈(133)에 의해 조정된 대상 프레임으로부터 대상 객체의 존재 유무를 검출하도록 트레이닝된 신경망을 포함할 수 있다. 신경망은 예를 들어, 딥 러닝(deep learning) 구조의 신경망일 수 있다.
실시예에 따라서, 이미지 센서(100)는 영상 프레임들 내의 움직임의 존재 유무에 따라 영상 프레임들 중 대상 프레임의 적어도 일부 영역을 크롭핑할 수 있다. 이 경우, 조정 모듈(133)은 크롭핑된 일부 영역에 대해 조도 개선 및/또는 역광 개선을 위해 전술한 밝기 보정 연산 및/또는 회전(rotation) 연산을 수행할 수 있다.
도 2는 일 실시예에 따른 이미지 센서의 동작 모드 별 동작을 설명하기 위한 도면이다. 도 2를 참조하면, 하드웨어(Hardware; HW) 및 펌웨어(Firmware; FW)를 포함하는 이미지 센서(200)의 구성 및 각 동작 모드에 따른 동작들이 도시된다. 도 2에서 사선으로 표시된 블럭들은 활성화된 구성 요소를 나타내고, 흰색으로 표시된 블럭은 비활성화된 구성 요소를 나타낼 수 있다. 이하, 별도의 기재가 없더라도 사선으로 표시된 블럭은 활성화된 구성 요소로 이해될 수 있다.
이미지 센서(200)는 화질 개선 등과 같이 영상 프레임들에 대해 일반적으로 수행되는 동작은 하드웨어(HW)로 구성하여 빠른 처리가 가능하도록 할 수 있다. 또한, 이미지 센서(200)는 영상 조정 및 객체 검출 등과 같은 다양한 추가 기능은 메모리(예를 들어, 롬(ROM))에 탑재한 펌웨어(firmware; FW)와 같은 소프트웨어로 구성하여 낮은 소비 전력으로 빠른 처리가 가능하도록 할 수 있다.
이미지 센서(200)는 예를 들어, 전처리/ADC 모듈(210), 움직임 감지(motion detection; MD) 모듈(220), 움직임 감지 실시간 응용(Real Time Application) 모듈(MD RTA)(이하, '응용 모듈')(230), 프레임 조정(Frame Adjustment) 모듈(240), 얼굴 존재 검출기(Face Presence Detector; FPD)(250), 및 스테이트 머신(state machine)(260)을 포함할 수 있다. 예를 들어, 도 2에 도시된 전처리/ADC 모듈(210) 및 움직임 감지 회로(220)는 하드웨어로 구현되고, 응용 모듈(MD RTA)(230), 프레임 조정 모듈(240), 및 얼굴 존재 검출기(FPD)(250)는 펌웨어로 구현될 수 있다. 얼굴 존재 검출기(FPD)(250)는 전술한 객체 검출기(135)의 일 예시에 해당할 수 있다. 도 2의 실시예에서는 설명의 편의를 위해 얼굴 존재 검출기(FPD)(250)의 동작을 위주로 설명하지만, 반드시 이에 한정되는 것은 아니다. 실시예에 따라서, 얼굴 존재 검출기(FPD)(250) 이외에 QR 코드 검출기 등과 같은 다양한 객체 검출기가 얼굴 존재 검출기(FPD)(250)를 대체할 수 있다.
도 2의 (a)를 참조하면, 상대적으로 적은 연산량으로 빠르게 처리 가능한 움직임 감지 모드에서의 이미지 센서(200)의 동작이 도시된다. 움직임 감지 모드에서는 전처리/ADC 모듈(210), 움직임 감지 모듈(220), 응용 모듈(230) 및 스테이트 머신(260)이 활성화될 수 있다.
움직임 감지 모드에서, 이미지 센서(200)는 전처리/ADC 모듈(210)을 통해 화질이 개선된 영상 프레임들을 디지털 신호로 전환하여 움직임 감지 모듈(220)로 전달할 수 있다. 전처리/ADC 모듈(210)은 영상 프레임들에 대한 화질 개선을 위한 전처리를 수행하는 전처리 회로 및 영상 프레임들의 아날로그 신호를 디지털 신호로 전환하는 ADC(Analogue- to- Digital Converter)를 포함할 수 있다.
움직임 감지 모듈(220)은 디지털 신호로 전환된 2개 이상의 연속된 영상 프레임들을 이용하여 영상 내의 움직임을 감지 및/또는 검출할 수 있다. 움직임 감지 모듈(220)은 움직임 감지 시에 카메라 또는 이미지 센서(200)와 같은 영상 프레임들을 획득하는 장치의 이동 및 회전에 의한 전체 움직임 및 영상 내 대상 객체의 움직임에 의한 일부 움직임을 감지 또는 추정할 수 있다. 이미지 센서(200)는 움직임 감지 모듈(220)에서 감지된 전체 움직임 및 일부 움직임에 대한 정보를 마이크로 프로세서 유닛의 펌웨어(FW)로 전달할 수 있다.
움직임 감지 모듈(220)로부터 전체 움직임 및 일부 움직임에 대한 정보를 수신한 응용 모듈(230)은 영상 내에 움직임의 존재 여부를 판별할 수 있다. 응용 모듈(230)은 움직임의 존재 유무에 따라 스테이트 머신(260)의 상태 정보를 변경함으로써 동작 모드를 전환할 수 있다. 예를 들어, 전체 움직임 및 일부 움직임 중 어느 하나의 움직임이라도 존재한다고 판별된 경우, 응용 모듈(230)은 스테이트 머신(260)의 상태 정보를 변경하는 신호를 전송함으로써 동작 모드를 움직임 모드에서 객체 검출 모드로 전환할 수 있다. 응용 모듈(230)은 예를 들어, 도 1을 통해 전술한 판별 모듈(131)에 해당할 수 있다.
동작 모드가 객체 검출 모드로 전환됨에 따라 이미지 센서(200)는 도 2의 (b)와 같이 동작할 수 있다. 객체 검출 모드에서는 전처리/ADC 모듈(210), 프레임 조정 모듈(240), 얼굴 존재 검출기(FPD)(250) 및 스테이트 머신(260)이 활성화될 수 있다.
예를 들어, 이미지 센서(200)가 상시 동작하는 올웨이즈 온(Always ON; AON) 센서인 경우, 움직임 검출 모듈(220) 및 객체 존재 검출기(250)가 초저전력으로 동작해야 하므로 이미지 센서(200)에서 취득되는 영상 프레임들의 해상도, 프레임 레이트(frame rate) 및 화질이 일반 카메라에 비해 열화될 수 있다. 또한, 객체 검출 시에 영상 프레임 내 대상 객체의 크기가 작을수록 영상 내 정보량이 적으므로 검출 성공률이 낮아질 수 있다. 결국, 원거리로 촬영된 작은 얼굴 영상은 저해상도, 저화질의 영상 프레임에 해당하므로 얼굴 존재 검출기(FPD)(250)의 검출 정확도가 하락할 수 있다.
이와 별개로, 대상 객체를 인식 및 검출하도록 트레이닝된 신경망이 컨볼루션 신경망(Convolution Neural Network; CNN)이고, 객체 인식을 수행하는 경우에 연산량 절감이 요구된다 하자. 이 경우, 컨볼루션 신경망의 초기 레이어들(layers)에 스트라이드(stride)를 1 이상으로 두고 컨볼루션 연산을 수행하거나, 또는 풀링(pooling)에 기반한 서브 샘플링(sub-sampling)을 통해 영상 축소 연산이 수행될 수 있다. 얼굴 존재 검출기(FPD)(250)에 인가되는 저해상도 및 저화질의 영상 프레임에 대해 전술한 컨볼루션 연산 및/또는 영상 축소 연산을 적용하여 영상 프레임의 크기를 감소시킨다면 정보량의 손실이 심화되고, 이에 따라 객체의 검출 정확도는 더욱 하락할 수 있다.
이 밖에도, 이미지 센서(200)의 활용 상황에 따라 카메라 또는 이미지 센서(200)가 롤(roll) 회전된 채로 영상 프레임이 획득될 수도 있다. 이때, 사용자 단말의 어플리케이션 프로세서(AP)의 사용 없이 동작하는 이미지 센서(200)의 특성 상 IMU 센서의 출력 값을 사용할 수 없다. 롤 회전된 영상 프레임을 수직 방향(upright) 방향으로 변환하지 않고 그대로 대상 객체의 검출에 이용하면, 검출 정확도가 감소할 수 있다. 예를 들어, 얼굴 존재 검출기(FPD)(250)의 신경망이 수용력(capacity)이 큰 모델이라면 회전된 영상 프레임에 대해 강건하게 처리가 가능하다. 이와 달리, 얼굴 존재 검출기(FPD)(250)의 신경망이 롬(ROM)에 탑재되어 마이크로 컨트롤 유닛에서 동작 가능하도록 수용력이 작은 모델이라면 사용하는 메모리 크기 증가 및 전력 소비 증가로 인해 강건한 처리가 어려울 수 있다.
일 실시예에 따른 이미지 센서(200)는 객체 검출 모드에서 펌웨어를 통해 영상 프레임들의 적어도 일부 영역에 대한 조정을 수행하여 얼굴 존재 검출기(FPD)(250)의 입력을 적응적으로 조절함으로써 전술한 영상 프레임의 열화, 및 저해상도 및 저화질의 영상 프레임에 의한 검출 정확도 감소를 해소할 수 있다.
도 2의 (b)를 참조하면, 상대적으로 많은 연산량이 소요되는 객체 검출 모드에서의 이미지 센서(200)의 동작이 도시된다.
객체 검출 모드에서 이미지 센서(200)는 움직임이 존재하는 대상 프레임의 적어도 일부 영역에 대한 조정을 수행하고, 조정된 일부 영역에서 대상 객체(예를 들어, 사용자 얼굴)의 존재 유무를 판별하여 어플리케이션 프로세서에 대한 트리거 신호를 발생시킬 수 있다. 이미지 센서(200)는 객체 검출 모드에서의 동작을 펌웨어와 같은 소프트웨어를 통해 수행함으로써 소비 전력을 감소시킬 수 있다.
보다 구체적으로, 객체 검출 모드에서 이미지 센서(200)는 전처리/ADC 모듈(210)을 통해 화질이 개선되고, 디지털 신호로 전환된 영상 프레임들을 프레임 조정 모듈(240)로 전달할 수 있다. 프레임 조정 모듈(240)은 영상 프레임들 중 움직임이 감지된 대상 프레임의 적어도 일부 영역에 대한 조정을 수행할 수 있다.
프레임 조정 모듈(240)은 예를 들어, 아래의 도 3에 도시된 것과 같이 대상 프레임(310) 내 일부 움직임에 대응하는 영역에 대한 크롭 연산을 통해 대상 영역(320)을 추출할 수 있다. 프레임 조정 모듈(240)은 대상 영역(320)의 픽셀 정보를 이용하여 대상 영역(320)의 조도를 개선하거나, 및/또는 대상 영역(320)의 역광을 개선할 수 있다. 또한, 프레임 조정 모듈(240)은 대상 프레임(310) 내 전체 움직임(global motion)에 기초하여, 대상 영역(320)을 회전시킬 수도 있다. 프레임 조정 모듈(240)이 대상 프레임의 대상 영역에 대한 조정을 수행하는 방법은 아래의 도 3을 참조하여 보다 구체적으로 설명한다.
프레임 조정 모듈(240)은 다양하게 조정된 대상 영역(320)을 얼굴 존재 검출기(FPD)(250)로 전달할 수 있다. 얼굴 존재 검출기(FPD)(250)은 조정된 대상 영역(320)으로부터 사용자 얼굴의 존재 유무를 검출할 수 있다. 사용자 얼굴이 존재하는 것으로 검출된 경우, 얼굴 존재 검출기(FPD)(250)는 사용자 얼굴의 존재 유무에 따라 스테이트 머신(260)의 상태 정보를 변경하여 응용 프로그램(AP)에 대한 트리거 신호를 발생시킬 수 있다.
도면을 통해 도시하지는 않았지만, 실시예에 따라서, 프레임 조정 모듈(240)이 하드웨어로 구성될 수도 있다. 예를 들어, 전력 효율을 위해 1-channel 그레이 영상(Y-frame)만을 사용한다고 하자. 이 경우, 이미지 세서의 하드웨어 블럭 또는 전처리/ADC 모듈(210)에는 화질 개선을 위한 다양한 전처리 모듈들(예를 들어, FrontEnd ISP, binning/scaler, gamma correction, FPD preprocessing 등)이 추가될 수 있다.
프레임 조정 모듈(240)은 전처리/ADC 모듈(210)로부터 하드웨어 전처리가 완료된 영상 프레임 및 움직임 검출 모듈(220)에서 생성한 움직임 정보를 함께 입력으로 받아 영상 조정을 수행할 수 있다.
프레임 조정 모듈(240)은 조정된 영상을 얼굴 존재 검출기(FPD)(250)로 달함으로써 TG/ISP 설정 신호 또는 어플리케이션 프로세서(AP)에 대한 트리거 신호를 발생시킬 수 있다. 화질 개선을 위한 다양한 하드웨어 전처리 모듈들이 포함된 이미지 센서의 동작에 대하여는 아래의 도 5를 참조하여 보다 구체적으로 설명한다.
도 3은 일 실시예에 따른 이미지 센서의 조정 모듈의 동작 일 예시를 도시한 도면이다. 도 3을 참조하면, 일 실시예에 따른 일부 움직임(local motion)이 검출된 대상 프레임(310) 및 대상 프레임(310) 내 일부 움직임에 대응하여 크롭핑된 대상 영역(320)이 도시된다.
예를 들어, 영상 프레임 내의 대상 객체인 얼굴이 작은 경우, 영상 프레임을 조정 없이 원본대로 사용한다면 적은 정보량으로 인해 얼굴 검출에 실패하는 경우가 빈번하게 발생할 수 있다. 또한, 영상 프레임에 대한 축소를 위한 연산(예를 들어, 스트라이드 컨볼루션 연산, 풀링 연산 등)을 실행한다면 정보 손실은 더욱 커지므로 검출 정확도의 하락이 커질 수 있다.
일 실시예에서는 대상 프레임(310) 중 일부 움직임이 있는 얼굴 영역과 같은 부분 영상을 추출하여 객체 검출을 수행함으로써 객체를 검출하는 신경망이 유의미한 영상 영역을 집중 처리하도록 할 수 있다. 또한, 일 실시예에서는 영상 크기 축소 과정이 필요하지 않게 되어 추가 정보 손실의 위험이 사라지므로 검출율을 향상시킬 수 있다.
한편, 객체 검출 시의 인식률 향상을 위해 이미지 센서는 인식 수행 전 영상 프레임(310)에 대한 조정을 수행할 수 있다. 예를 들어, 대상 영역(320)의 조도가 낮은 경우, 이미지 센서는 대상 영역(320)에 대한 밝기 보정 연산을 통해 대상 영역(320)의 밝기를 보정할 수 있다. 밝기 보정 연산은 예를 들어, 전술한 명암 대비 스트레칭 기법, 및 히스토그램 평활화 기법, 및 평균 변형(Mean translation) 기법 등에 의해 수행될 수 있다. 평균 변형 기법은 각 영상 픽셀들의 평균(mean)과 표준 편차(standard deviation)를 이용하여 정규화(normalization)를 수행함으로써 명암 대비(contrast)를 향상시키는 방법에 해당할 수 있다.
예를 들어, 역광 환경에서 배경(background)은 매우 밝고 대상 객체인 사용자의 얼굴은 어둡게 촬영된 영상 프레임에서는 평균 변형 기법에 의한 얼굴 영역의 명암 대비(contrast)의 향상 효과가 크지 않을 수 있다. 일 실시예에서는 영상 프레임 전체가 아니라 일부 움직임이 있는 대상 영역(320)을 추출하므로 영상 프레임 내의 밝은 배경 영역이 상당 부분 제거될 수 있다. 이 경우, 대상 영역(320)에 해당하는 픽셀 값들의 평균이 작아지므로 평균 변형 기법에 의한 밝기 보정 효과가 증대될 수 있다.
또한, 이미지 센서는 움직임 검출 모듈에 의해 감지된 전체 움직임 정보에 의해 이미지 센서 또는 카메라의 회전 정보 및/또는 이동 정보를 추정할 수 있다. 이미지 센서는 추정한 정보를 이용하여 영상 프레임을 보상 보정하여 대상 영역(320)에 포함된 대상 객체를 검출할 수 있다. 이미지 센서는 회전 정보에 대한 보상을 통해 영상 프레임이 수직 방향으로 정렬되도록 조정함으로써 신경망이 얼굴이 모든 방향에 있을 가능성을 제외하고 수직 방향으로 정렬된 객체를 검출하므로 작은 수용력을 갖는 신경망을 사용하더라도 객체 검출율을 향상시킬 수 있다.
도 4는 일 실시예에 따른 이미지 센서의 활용예를 설명하기 위한 도면이다. 도 4를 참조하면, 일 실시예에 따른 사용자 단말에서 상시 동작하는 이미지 센서(400)만이 온(on)된 상태에서 이미지 센서(400)가 사용자 단말의 어플리케이션 프로세서(405)를 웨이크 업(Wake Up)시키는 트리거 신호를 전송하는 과정이 도시된다.
이미지 센서(400)는 예를 들어, 영상 획득 모듈(410), 움직임 검출(MD) 모듈(420), 마이크로 컨트롤 유닛(430), 메모리(440), 및 MIPI(Mobile Industry Processor Interface)(450)를 포함할 수 있다.
영상 회득 모듈(410)은 예를 들어, 포토다이오드(Photodiode)(411), 증폭기(Amplifier)(413), ADC(415)를 포함할 수 있다. 포토다이오드(411)는 빛 에너지를 전기 에너지로 전환하는 광 센서에 해당하며 빛의 세기를 정확하게 측정할 수 있다. 포토다이오드(411)에 의해 획득된 영상 프레임에 대응하는 아날로그 영상 신호는 증폭기(413)로 전달될 수 있다.
증폭기(413)는 포토다이오드(411)의 아날로그 영상 신호를 증폭할 수 있다. ADC(415)는 증폭기(413)를 통해 증폭된 아날로그 영상 신호를 디지털 영상 신호로 전환하여 움직임 검출 모듈(420)로 전달할 수 있다. 이때, 영상 획득 모듈(410)로부터 움직임 검출 모듈(420)로 전달되는 디지털 영상 신호는 예를 들어, 25 x 8 픽셀(pixel)의 데이터에 해당할 수 있다.
ADC(415)는 마이크로 컨트롤 유닛(430)에게 예를 들어, 160 x 120 픽셀의 데이터를 전송할 수 있다.
움직임 검출 모듈(420)은 하드웨어로 구성되며, 영상 회득 모듈(410)로부터 수신한 디지털 신호로부터 동작 또는 움직임을 검출할 수 있다.
마이크로 컨트롤 유닛(430)은 움직임 검출 모듈(420)에서 검출된 동작 또는 움직임에 기초하여 해당 영상 프레임에서 움직임이 검출된 일부 영역(예를 들어, 대상 영역)에 대한 조정을 수행하여 대상 객체(예를 들어, 사용자의 얼굴)을 검출할 수 있다.
마이크로 컨트롤 유닛(430)은 메모리(440)에 저장된 신경망 모델에 대한 코드(Code)(441) 및 객체를 검출하도록 미리 트레이닝된 신경망 모델(442)을 이용하여 대상 객체를 검출할 수 있다. 이때, 신경망 모델에 대한 코드(441) 및 신경망 모델(442)은 예를 들어, 메모리(400) 중 롬(ROM)에 저장될 수 있다. 마이크로 컨트롤 유닛(430)이 일부 영역에 대한 조정을 수행하고, 대상 객체를 검출하는 과정에서 사용하는 워킹 메모리(Working memory)(443)는 예를 들어, 메모리(400) 중 SRAM(Static Random Access Memory)에 해당할 수 있다.
마이크로 컨트롤 유닛(430)은 대상 객체에 검출됨에 따라 MIPI(450)를 통해 사용자 단말의 어플리케이션 프로세서(405)를 웨이크 업(Wake up)시키는 트리거 신호를 전송할 수 있다.
일 실시예에서 이미지 센서(400)에 의해 사용자의 얼굴과 같은 대상 객체가 검출된다는 것은 예를 들어, 사용자 단말을 사용할 의도로 사용자가 사용자 단말에 접근하고, 이미지 센서(400)가 이러한 사용자의 움직임을 감지한 경우에 해당할 수 있다. 이 경우, 이미지 센서(400)는 사용자 단말의 어플리케이션 프로세서(405)를 웨이크 업시키는 트리거 신호를 전송함으로써 오프(off) 상태 또는 유휴(idle) 상태와 같은 절전 상황에 있던 사용자 단말을 구동시켜 사용자의 다양한 요구를 수행하도록 할 수 있다.
도 5는 다른 실시예에 따른 이미지 센서의 동작 모드 별 동작을 설명하기 위한 도면이다. 도 5를 참조하면, 일 실시예에 따른 이미지 센서(500)는 구성 요소들이 하드웨어 형태로 구성된 하드웨어 블럭(501)과 구성 요소들이 소프트웨어 형태로 구성된 펌웨어 블록(503)으로 구분될 수 있다. 이때, 펌웨어 블록(503)에 포함된 구성 요소들은 이미지 센서(500)의 마이크로 컨트롤 유닛에서 펌웨어 형태로 동작할 수 있다.
하드웨어 블록(501)에는 카메라 모듈(505), 프론트 엔드 이미지 시그널 프로세서(FrontEnd Image Signal Processor; ISP_FE)(510), 비닝/크롭/스칼라(binning/crop/scaler) 모듈(520), 감마 콜렉션(Gamma correction) 모듈(525), Y-히스토그램(Y-Hist) 모듈(530), FPD 전처리(preprocessing) 모듈(535), 및 움직임 감지(MD) 모듈(540)이 포함될 수 있다.
펌웨어 블록(503)에는 ADLC 모듈(515), AE(Auto Exposure) 모듈(550), 스테이트 머신(560), MD RTA 모듈(565) 및 FPD 모듈(570)이 포함될 수 있다.
카메라 모듈(505)은 영상 프레임들을 캡쳐할 수 있다.
프론트 엔드 이미지 시그널 프로세서(ISP_FE)(510)은 카메라 모듈(505)에 의해 획득된 영상 프레임들에 대한 영상 신호 처리를 수행할 수 있다.
비닝/크롭/스칼라(binning/crop/scaler) 모듈(520)은 예를 들어, 영상 프레임들의 데이터에 대한 변수 구간화를 수행하는 비닝(binning), 데이터 값의 크기를 맞춰주는 스케일링(scaling), 벡터 값을 갖는 데이터를 스칼라 값으로 변화하는 등과 같은 동작을 통해 영상 프레임들의 데이터를 정제하고 분석하기 용이한 형태로 만들 수 있다. 비닝/크롭/스칼라(binning/crop/scaler) 모듈(520)은 예를 들어, 이산형 데이터 또는 연속형 데이터를 구간을 나누어 범주화하는 변수 구간화(binning) 알고리즘에 따라 영상 프레임들의 데이터를 일정 구간들로 범주화할 수 있다. 또한, 비닝/크롭/스칼라(binning/crop/scaler) 모듈(520)은 신경망의 크기에 맞춰 영상 프레임들의 데이터 값의 크기를 스케일링하거나, 또는 벡터 값을 갖는 데이터를 스칼라 값으로 변환할 수 있다.
감마 콜렉션(Gamma correction) 모듈(525)은 비선형 전달 함수를 사용하여 영상 프레임에서 빛의 강도 신호를 비선형적으로 변형하는 감마 부호화를 수행할 수 있다. 여기서, 감마는 픽셀의 수치와 실제 휘도의 관계를 정의하는 것으로서 사람 눈의 감도와 카메라의 감도 사이의 변환에 해당할 수 있다. 예를 들어, 디지털 카메라의 경우, 광자수가 2배가 되면 신호 세기도 2배가 수신되는 선형 관계를 가지지만, 사람의 눈에서는 신호 세기가 비선형 관계로 나타나므로 감마 콜렉션(Gamma correction) 모듈(525)은 이를 보정하기 위한 것이다.
Y-히스토그램(Y-Hist) 모듈(530)은 영상 프레임의 픽셀 값(예를 들어, 픽셀의 칼라 값과 밝기 값)을 0부터 255 사이의 값으로 정규화(normalization)한 히스토그램을 산출할 수 있다. 예를 들어, 노출 시간이 긴 영상 프레임, 다시 말해 밝게 촬영된 영상 프레임의 히스토그램은 픽셀 값이 높게 분포될 수 있다. 이와 달리, 노출 시간이 짧은 영상 프레임, 다시 말해 어둡게 촬영된 영상 프레임의 히스토그램은 픽셀 값이 낮게 분포될 수 있다.
FPD 전처리(preprocessing) 모듈(535)은 FPD 모듈(570)에서의 객체 검출에 앞서, 해당 영상 프레임에 대한 노이즈 제거 등과 같이 화질 개선을 위한 전처리를 수행할 수 있다.
움직임 감지(MD) 모듈(540)은 예를 들어, 도 1을 통해 전술한 움직임 감지 회로(110) 또는 도 2를 통해 전술한 움직임 감지 모듈(220)에 해당할 수 있다.
ADLC 모듈(515)은 전술한 ADC(Analogue-Digital Converter)와 같이 아날로그 신호를 디지털 신호로 전환할 수 있다.
AE 모듈(550)은 영상 프레임의 노출 시간을 자동으로 조정함으로써 영상 프레임의 밝기를 조정할 수 있다. 예를 들어, 영상 프레임의 밝기가 미리 설정된 기준보다 어두운 경우, AE모듈(550)은 해당 영상 프레임 전체의 밝기를 밝게 조정할 수 있다. 예를 들어, 영상 프레임의 밝기가 미리 설정된 기준보다 밝은 경우, AE모듈(550)은 해당 영상 프레임 전체의 밝기를 어둡게 조정할 수 있다. AE 모듈(550)은 예를 들어, 픽셀의 밝기 평균 값으로 적절한 노출 시간을 찾아 영상 프레임의 밝기를 조정하거나, 전체 픽셀 값들 중 중간 픽셀 값의 밝기 평균 값 및/또는 밝기 중간 값 등을 이용하여 영상 프레임의 밝기를 조정할 수 있다.
스테이트 머신(560)은 AE 모듈(550), MD RTA 모듈(565) 또는 FPD 모듈(570)의 신호에 따라 변경되는 상태 정보에 따른 동작들(예를 들어, 이미지 센서의 동작 모드 전환 또는 유지 등)을 포함할 수 있다.
MD RTA 모듈(565)은 영상 프레임에서의 움직임의 존재 유무를 판별하여 스테이트 머신(560)에게 동작 모드를 전환하는 신호를 전송할 수 있다. MD RTA 모듈(565)은 예를 들어, 도 1을 통해 전술한 판별 모듈(131) 또는 도 2를 통해 전술한 응용 모듈(230)에 해당할 수 있다.
FPD 모듈(570)은 대상 객체의 존재 유무를 검출할 수 있다. FPD 모듈(570)은 예를 들어, 도 1을 통해 전술한 객체 검출기(135) 또는 도 2를 통해 전술한 FPD 모듈(250)에 해당할 수 있다.
도 5(a)를 참조하면, 이미지 센서(500)의 동작 모드가 영상 프레임 전체에 대한 밝기를 조정하는 자동 노출(Auto Exposure; AE) 모드로 설정된 경우의 동작이 도시된다. '자동 노출(AE) 모드'는 영상 프레임으로부터 움직임을 감지하여 대상 객체를 검출하기에 앞서 영상 프레임에 대한 노이즈를 제거하고, 영상 프레임 전체에 대한 화질 및/또는 밝기를 조정하는 등과 같은 전처리를 수행하는 모드에 해당할 수 있다.
자동 노출(AE) 모드에서, 이미지 센서(500)는 카메라 모듈(505)을 통해 영상 프레임들이 획득되면, 획득된 영상 프레임들에 대해 프론트 엔드 이미지 시그널 프로세서(ISP_FE)(510)를 통해 영상 신호 처리를 수행할 수 있다. 영상 신호 처리 과정에서 프론트 엔드 이미지 시그널 프로세서(ISP_FE)(510)는 아날로그 신호에 해당하는 영상 프레임들을 ADLC 모듈(515)에 전송하고, ADLC 모듈(515)로부터 디지털 데이터로 전환된 영상 데이터를 수신할 수 있다. 영상 데이터는 비닝/크롭/스칼라 모듈(520)로 전달되어 영상 프레임들의 데이터를 정제하고 분석하기 용이한 형태로 변화될 수 있다. 비닝/크롭/스칼라 모듈(520)에서 변화된 데이터는 감마 콜렉션 모듈(525)에 의한 감마 부호화 과정을 거쳐 움직임 감지 모듈(540)로 전달될 수 있다. 움직임 감지 모듈(540)은 감마 부호화 과정을 거친 데이터로부터 움직임을 감지할 수 있다. 이때, 움직임은 카메라 모듈(505)의 이동 및 회전에 의한 전체 움직임, 및 영상 프레임들 내의 대상 객체의 움직임에 의한 일부 움직임을 모두 포함할 수 있다. 또한, 비닝/크롭/스칼라 모듈(520)에서 변화된 데이터는 Y-히스토그램 모듈(530)로 전달되어 히스토그램 형태로 변환될 수 있다. FPD 전처리 모듈(535)은 히스토그램 형태로 변환된 데이터를 수신하여 노이즈 제거 등과 같은 영상 프레임 전체의 화질 개선을 위한 전처리를 수행할 수 있다.
AE 모듈(550)은 FPD 전처리 모듈(535)을 통해 전처리가 완료된 데이터를 수신하여 영상 프레임 전체에 대한 밝기를 조정할 수 있다.
영상 프레임 전체에 대한 밝기 조정이 완료되면, AE 모듈(550)은 스테이트 머신(560)의 상태 정보를 변경함으로써 동작 모드가 전환되도록 할 수 있다. 스테이트 머신(560)은 변경된 상태 정보 및 카메라 설정 정보 및/또는 ISP설정 정보를 다음 동작 모드로 전달할 수 있다.
도 5(b)를 참조하면, 이미지 센서(500)의 동작 모드가 움직임 감지(MD) 모드로 설정된 경우의 동작이 도시된다. 이하, 자동 노출 모드와 동일한 동작에 대하여 전술한 자동 노출 모드의 설명을 참조하기로 한다.
움직임 감지(MD) 모드에서, MD RTA 모듈(565)은 움직임 감지 모듈(540)이 감마 부호화 과정을 거친 데이터로부터 움직임을 감지한 결과를 수신하여 움직임의 존재 유무를 판별할 수 있다. MD RTA 모듈(565)은 움직임의 존재 유무를 판별하여 스테이트 머신(560)에게 동작 모드를 전환하는 신호를 전송할 수 있다. 스테이트 머신(560)은 스테이트 정보를 다음 동작 모드로 전달할 수 있다.
도 5(c)를 참조하면, 이미지 센서(500)의 동작 모드가 객체 존재 감지(FPD) 모드로 설정된 경우의 동작이 도시된다.
객체 존재 감지(FPD) 모드에서, FPD 모듈(570)은 FPD 전처리 모듈(535)로부터 영상 프레임 전체의 화질 개선을 위한 전처리가 완료된 데이터를 수신하여 대상 객체의 존재 유무를 검출할 수 있다. 대상 객체의 존재 유무가 검출되면, FPD 모듈(570)은 어플리케이션 프로세서(AP)에 대한 트리거 신호를 생성하여 전송한 후, 스테이트 머신(560)의 상태 정보를 변경할 수 있다.
도 6은 일 실시예에 따른 이미지 센서의 동작 방법을 나타낸 흐름도이다. 이하 실시예에서 각 단계들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 단계들의 순서가 변경될 수도 있으며, 적어도 두 단계들이 병렬적으로 수행될 수도 있다.
도 6을 참조하면, 일 실시예에 따른 이미지 센서가 단계(610) 내지 단계(630)를 통해 대상 객체를 검출하는 과정이 도시된다.
단계(610)에서, 이미지 센서는 영상 프레임들 내에 움직임의 존재 유무를 결정한다.
단계(620)에서, 이미지 센서는 단계(610)에서 결정한 움직임의 존재 유무에 따라 영상 프레임들 중 대상 프레임의 적어도 일부 영역에 대한 조정을 수행한다. 이때, 대상 프레임의 적어도 일부 영역에 대한 조정은 예를 들어, 대상 프레임 내 일부 움직임에 대응하는 대상 영역을 추출하는 크롭 연산, 대상 영역의 픽셀 정보를 이용하여 대상 영역에 대한 밝기 보정 연산, 및 대상 프레임 내 전체 움직임에 기초하여 대상 프레임의 대상 영역에 대한 회전 연산 중 어느 하나 또는 이들의 조합을 수행할 수 있다.
밝기 보정 연산은 예를 들어, 명암 대비 스트레칭 기법, 및 히스토그램 평활화 기법, 및 평균 변형 기법 등에 의해 수행될 수 있다.
이미지 센서는 예를 들어, 대상 프레임 내 전체 움직임에 의해 이미지 센서의 회전 각도를 추정하고, 회전 각도를 기초로 수직 위치가 되도록 대상 프레임을 회전시킴으로써 회전 연산을 수행할 수 있다.
단계(630)에서, 이미지 센서는 단계(620)에서 조정된 대상 프레임에 의해 대상 객체의 존재 유무를 검출한다. 이미지 센서는 예를 들어, 움직임의 존재 유무에 따라 스테이트 머신의 상태 정보를 변경함으로써 동작 모드를 제1 모드(예를 들어, 움직임 감지 모드)에서 제2 모드(예를 들어, 객체 검출 모드)로 전환할 수 있다. 또는 이미지 센서는 대상 객체의 존재 유무를 검출하도록 트레이닝된 신경망을 이용하여 단계(620)에서 조정된 대상 프레임으로부터 대상 객체의 존재 유무를 검출할 수 있다. 대상 객체는 예를 들어, 사용자 얼굴 및 QR(Quick Response) 코드 중 어느 하나일 수 있으며, 반드시 이에 한정되지는 않는다.
이미지 센서는 단계(630)에서 검출한 대상 객체의 존재 유무에 따라 어플리케이션 프로세서에 대한 트리거 신호를 발생시킬 수 있다.
도 7은 다른 실시예에 따른 이미지 센서의 동작 방법을 나타낸 흐름도이다. 이하 실시예에서 각 단계들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 단계들의 순서가 변경될 수도 있으며, 적어도 두 단계들이 병렬적으로 수행될 수도 있다.
도 7을 참조하면, 일 실시예에 따른 이미지 센서가 단계(710) 내지 단계(740)를 통해 대상 객체를 검출하는 과정이 도시된다.
단계(710)에서, 이미지 센서는 영상 프레임들 내에 움직임의 존재 유무를 결정할 수 있다.
단계(720)에서, 이미지 센서는 단계(710)에서 결정한 움직임의 존재 유무에 따라 영상 프레임들 중 대상 프레임의 적어도 일부 영역을 크롭핑할 수 있다.
단계(730)에서, 이미지 센서는 단계(720)에서 크롭핑된 일부 영역에 대한 조정을 수행한다.
단계(730)에서, 이미지 센서는 크롭핑된 일부 영역에 대한 조도 개선 및/또는 역광 개선을 위한 밝기 보정 연산을 수행할 수 있다. 이미지 센서는 예를 들어, 전술한 명암 대비 스트레칭(Contrast Stretching) 기법, 및 히스토그램 평활화(Histogram Equalization) 기법, 및 평균 변형(Mean translation) 기법 등에 의해 크롭핑된 일부 영역에 대한 밝기 보정 연산을 수행할 수 있다. 또한, 단계(730)에서, 이미지 센서는 대상 프레임 내 전체 움직임(global motion)에 기초하여, 크롭핑된 일부 영역에 대한 회전 연산을 수행함으로써 크롭핑된 일부 영역의 상하가 수직 방향으로 맞춰지도록 할 수 있다.
단계(740)에서, 이미지 센서는 단계(730)에서 조정된 대상 프레임에 의해 대상 객체의 존재 유무를 검출한다.
이미지 센서는 단계(740)에서 검출한 대상 객체의 존재 유무에 따라 어플리케이션 프로세서에 대한 트리거 신호를 발생시킬 수 있다.
도 8은 일 실시예에 따른 사용자 단말의 블록도이다. 도 8을 참조하면, 일 실시예에 따른 사용자 단말(800)은 이미지 센서(810), 어플리케이션 프로세서(830) 및 메모리(850)를 포함할 수 있다. 이미지 센서(810), 어플리케이션 프로세서(830) 및 메모리(850)는 통신 버스(805)를 통해 서로 연결될 수 있다.
이미지 센서(810)는 영상 프레임들 내의 움직임을 감지한다. 이미지 센서(810)는 움직임의 감지 여부에 기초하여 영상 프레임들 중 대상 프레임의 적어도 일부 영역에 대한 조정을 수행한다. 이미지 센서(810)는 조정된 대상 프레임에 의해 대상 객체의 존재 유무를 검출하여 트리거 신호를 발생한다. 이미지 센서(810)는 전술한 이미지 센서(100)에 해당할 수 있으며, 도 1 내지 도7을 통해 전술한 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 기법을 동일하게 수행할 수 있다.
어플리케이션 프로세서(830)는 이미지 센서(810)가 발생시킨 트리거 신호에 활성화되어 다양한 어플리케이션 프로그램들을 수행한다.
어플리케이션 프로세서(830)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(Central Processing Unit; CPU), 그래픽 처리 장치(Graphic Processing Unit; GPU), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array), NPU(Neural Processing Unit) 등을 포함할 수 있다.
어플리케이션 프로세서(830)는 프로그램을 실행하고, 사용자 단말(800)를 제어할 수 있다. 어플리케이션 프로세서(830)에 의하여 실행되는 프로그램 코드는 메모리(850)에 저장될 수 있다.
메모리(850)는 ROM(850) 및 SRAM(856)을 포함할 수 있다. ROM(850)은 대상 객체의 존재 유무를 검출하도록 트레이닝된 신경망 모델 및 코드를 저장할 수 있다.
SRAM(856)은 어플리케이션 프로세서(830)에 의해 수행되는 동작들을 위한 워킹 메모리로 사용될 수 있으며, 다양한 어플리케이션 프로그램들을 저장한다. 메모리(850)는 상술한 이미지 센서(810) 및/또는 어플리케이션 프로세서(830)의 처리 과정에서 생성되는 다양한 정보를 저장할 수 있다. 이 밖에도, 메모리(850)는 각종 데이터와 프로그램 등을 저장할 수 있다. 메모리(850)는 하드 디스크 등과 같은 대용량 저장 매체를 구비하여 각종 데이터를 저장할 수 있다.
일 실시예에 따른 사용자 단말(800)은 예를 들어, 첨단 운전자 보조 시스템(Advanced Drivers Assistance System; ADAS), HUD(Head Up Display) 장치, 3D 디지털 정보 디스플레이(Digital Information Display, DID), 내비게이션 장치, 뉴로모픽 장치(neuromorphic device), 3D 모바일 기기, 스마트 폰, 스마트 가전(예를 들어, 스마트 TV, 스마트 냉장고, 스마트 세탁기 등), 스마트 차량, IoT(Internet of Things) 디바이스, 의료 디바이스, 및 계측 디바이스 등과 같이 다양한 분야의 장치에 해당할 수 있다. 여기서, 3D 모바일 기기는 예를 들어, 증강 현실(Augmented Reality; AR), 가상 현실(Virtual Reality; VR), 및/또는 혼합 현실(Mixed Reality; MR)을 표시하기 위한 디스플레이 장치, 머리 착용 디스플레이(Head Mounted Display; HMD), 얼굴 착용 디스플레이(Face Mounted Display; FMD), 및 증강 현실 안경(AR glasses) 등을 모두 포함하는 의미로 이해될 수 있다.
또한, 도면에 도시되지는 않았으나, 사용자 단말(800)은 디스플레이(미도시) 및 통신 인터페이스(미도시)를 더 포함할 수 있다. 디스플레이는 예를 들어, 터치 디스플레이, 또는 플렉서블 디스플레이일 수 있으며, 반드시 이에 한정되지는 않는다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 저장할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (20)
- 이미지 센서에 있어서,
영상 프레임들 내의 움직임을 감지하는 움직임 감지 회로; 및
상기 움직임의 감지 여부에 기초하여 상기 영상 프레임들 중 대상 프레임(target frame)의 적어도 일부 영역에 대한 조정(adjustment)을 수행하고, 상기 조정된 대상 프레임에 의해 대상 객체의 존재 유무를 검출하는 마이크로 컨트롤 유닛(micro control unit; MCU)
을 포함하고,
상기 마이크로 컨트롤 유닛은
상기 움직임의 존재 유무에 따라 스테이트 머신(state machine)의 상태 정보를 변경함으로써 상기 이미지 센서의 동작 모드를 움직임 검출(motion detection; MD)을 위한 제1 모드에서 상기 대상 객체 검출을 위한 제2 모드로 전환하여 상기 대상 객체의 존재 유무를 판별하는 판별 모듈; 및
상기 전환된 동작 모드에 따라 상기 대상 프레임의 적어도 일부 영역에 대응하는 대상 영역의 픽셀 정보를 이용하여 밝기 보정을 포함하는 상기 대상 영역에 대한 조정을 수행하는 조정 모듈
을 포함하는, 이미지 센서. - 제1항에 있어서,
상기 마이크로 컨트롤 유닛은
상기 대상 객체의 존재 유무에 따라 어플리케이션 프로세서(Application Processor)에 대한 트리거(trigger) 신호를 더 생성하는, 이미지 센서. - 제1항에 있어서,
상기 마이크로 컨트롤 유닛은
상기 조정된 대상 프레임으로부터 상기 대상 객체의 존재 유무를 검출하는 객체 검출기
를 더 포함하는, 이미지 센서. - 삭제
- 제3항에 있어서,
상기 조정 모듈은
상기 대상 프레임 내 일부 움직임(local motion)에 대응하는 대상 영역을 추출하는 크롭(crop) 연산을 수행하는 동작,
상기 대상 영역의 픽셀 정보를 이용하여 상기 대상 영역에 대한 밝기 보정 연산을 수행하는 동작, 및
상기 대상 프레임 내 전체 움직임(global motion)에 기초하여, 상기 대상 프레임의 대상 영역에 대한 회전(rotation) 연산을 수행하는 동작
중 어느 하나 또는 이들의 조합을 수행하는, 이미지 센서. - 제5항에 있어서,
상기 조정 모듈은
상기 전체 움직임에 의해 상기 이미지 센서의 회전 각도를 추정하고, 상기 회전 각도에 기초하여 상기 대상 영역이 수직 위치(upright position)가 되도록 상기 대상 영역을 회전시키는, 이미지 센서. - 제3항에 있어서,
상기 객체 검출기는
상기 조정된 대상 프레임으로부터 상기 대상 객체의 존재 유무를 검출하도록 트레이닝된 신경망을 포함하는, 이미지 센서. - 제1항에 있어서,
상기 움직임 감지 회로는
상기 이미지 센서의 이동 및 상기 이미지 센서의 움직임에 의한 전체 움직임, 및
상기 영상 프레임들 내의 상기 대상 객체의 움직임에 의한 일부 움직임
중 어느 하나 또는 둘 다를 감지하는, 이미지 센서. - 제8항에 있어서,
상기 움직임 감지 회로는
상기 영상 프레임들 중 제1 시간에 대응하는 제1 영상 프레임과 상기 제1 시간 이후의 제2 시간에 대응하는 제2 영상 프레임에 기초한 모션 필드를 산출하고, 상기 모션 필드에서 상기 일부 움직임이 관측되는 영역을 구분하는, 이미지 센서. - 제1항에 있어서,
상기 영상 프레임들에 대한 화질 개선을 위한 전처리를 수행하는 전처리 회로; 및
상기 영상 프레임들의 아날로그 신호를 디지털 신호로 전환하는 ADC(converter)
중 어느 하나 또는 둘 다를 포함하는, 이미지 센서. - 제1항에 있어서,
상기 대상 객체는
사용자 얼굴 및 QR(Quick Response) 코드 중 어느 하나를 포함하는, 이미지 센서. - 영상 프레임들 내의 움직임을 감지하고, 상기 움직임의 감지 여부에 기초하여 상기 영상 프레임들 중 대상 프레임의 적어도 일부 영역에 대한 조정을 수행하며, 상기 조정된 대상 프레임에 의해 대상 객체의 존재 유무를 검출하여 트리거 신호를 발생하는 이미지 센서;
상기 트리거 신호에 의해 활성화되는 어플리케이션 프로세서; 및
상기 대상 객체의 존재 유무를 검출하도록 트레이닝된 신경망 모델을 저장하는 메모리
를 포함하고,
상기 이미지 센서는
상기 움직임의 존재 유무에 따라 스테이트 머신(state machine)의 상태 정보를 변경함으로써 상기 이미지 센서의 동작 모드를 움직임 검출(motion detection; MD)을 위한 제1 모드에서 상기 대상 객체 검출을 위한 제2 모드로 전환하여 상기 대상 객체의 존재 유무를 판별하는 판별 모듈; 및
상기 전환된 동작 모드에 따라 상기 대상 프레임의 적어도 일부 영역에 대응하는 대상 영역의 픽셀 정보를 이용하여 밝기 보정을 포함하는 상기 대상 영역에 대한 조정을 수행하는 조정 모듈
을 포함하는, 사용자 단말. - 영상 프레임들 내에 움직임의 존재 유무를 결정하는 단계;
상기 움직임의 존재 유무에 따라 상기 영상 프레임들 중 대상 프레임의 적어도 일부 영역에 대한 조정을 수행하는 단계; 및
상기 조정된 대상 프레임에 의해 대상 객체의 존재 유무를 검출하는 단계
를 포함하고,
상기 움직임의 존재 유무를 검출하는 단계는
상기 움직임의 존재 유무에 따라 스테이트 머신(state machine)의 상태 정보를 변경함으로써 상기 이미지 센서의 동작 모드를 움직임 검출(motion detection; MD)을 위한 제1 모드에서 상기 대상 객체 검출을 위한 제2 모드로 전환하여 상기 대상 객체의 존재 유무를 판별하는 단계; 및
상기 전환된 동작 모드에 따라 상기 대상 프레임의 적어도 일부 영역에 대응하는 대상 영역의 픽셀 정보를 이용하여 밝기 보정을 포함하는 상기 대상 영역에 대한 조정을 수행하는 단계
를 포함하는, 이미지 센서의 동작 방법. - 제13항에 있어서,
상기 적어도 일부 영역에 대한 조정을 수행하는 단계는
상기 대상 프레임 내 일부 움직임에 대응하는 대상 영역을 추출하는 크롭 연산을 수행하는 단계;
상기 대상 영역의 픽셀 정보를 이용하여 상기 대상 영역에 대한 밝기 보정 연산을 수행하는 단계; 및
상기 대상 프레임 내 전체 움직임에 기초하여, 상기 대상 프레임의 대상 영역에 대한 회전 연산을 수행하는 단계
중 어느 하나 또는 이들의 조합을 포함하는, 이미지 센서의 동작 방법. - 제14항에 있어서,
상기 회전 연산을 수행하는 단계는
상기 전체 움직임에 의해 상기 이미지 센서의 회전 각도를 추정하는 단계; 및
상기 회전 각도를 기초로, 수직 위치가 되도록 상기 대상 프레임을 회전시키는 단계
를 포함하는, 이미지 센서의 동작 방법. - 삭제
- 제13항에 있어서,
상기 대상 객체의 존재 유무를 검출하는 단계는
상기 대상 객체의 존재 유무를 검출하도록 트레이닝된 신경망을 이용하여 상기 조정된 대상 프레임으로부터 상기 대상 객체의 존재 유무를 검출하는 단계
를 포함하는, 이미지 센서의 동작 방법. - 제13항에 있어서,
상기 대상 객체의 존재 유무에 따라 어플리케이션 프로세서에 대한 트리거 신호를 발생시키는 단계
를 더 포함하는, 이미지 센서의 동작 방법. - 제13항에 있어서,
상기 대상 객체는
사용자 얼굴 및 QR 코드 중 어느 하나를 포함하는, 이미지 센서의 동작 방법. - 하드웨어와 결합되어 제13항 내지 제15항 및 제17항 내지 제19항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210034845A KR102530222B1 (ko) | 2021-03-17 | 2021-03-17 | 이미지 센서 및 이미지 센서의 동작 방법 |
US17/407,463 US11997376B2 (en) | 2021-03-17 | 2021-08-20 | Image sensor and operating method of the image sensor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210034845A KR102530222B1 (ko) | 2021-03-17 | 2021-03-17 | 이미지 센서 및 이미지 센서의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220129920A KR20220129920A (ko) | 2022-09-26 |
KR102530222B1 true KR102530222B1 (ko) | 2023-05-09 |
Family
ID=83283957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210034845A KR102530222B1 (ko) | 2021-03-17 | 2021-03-17 | 이미지 센서 및 이미지 센서의 동작 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11997376B2 (ko) |
KR (1) | KR102530222B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230010320A1 (en) * | 2021-07-12 | 2023-01-12 | Getac Technology Corporation | Classification and indicating of events on an edge device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100686310B1 (ko) * | 2005-12-29 | 2007-02-22 | 엠텍비젼 주식회사 | 이미지 기울임 보정 방법, 프로세서 및 이를 위한프로그램이 기록된 기록매체 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100513739B1 (ko) * | 2002-08-23 | 2005-09-09 | 삼성전자주식회사 | 얼굴특징을 이용한 움직임 검출장치 및 이를 적용한감시시스템 |
JP4431532B2 (ja) * | 2005-09-16 | 2010-03-17 | 富士フイルム株式会社 | 対象画像の位置検出装置および方法ならびに対象画像の位置検出装置を制御するプログラム |
KR101156753B1 (ko) * | 2010-04-26 | 2012-06-14 | 팬터로그인터액티브 주식회사 | 휴대용 단말 장치 및 이를 이용한 피사체 모션 검출 방법 |
US8594488B1 (en) | 2012-03-13 | 2013-11-26 | Google Inc. | Methods and systems for video retargeting using motion saliency |
US9247136B2 (en) | 2013-08-21 | 2016-01-26 | Xerox Corporation | Automatic mobile photo capture using video analysis |
US10140827B2 (en) | 2014-07-07 | 2018-11-27 | Google Llc | Method and system for processing motion event notifications |
US10042031B2 (en) | 2015-02-11 | 2018-08-07 | Xerox Corporation | Method and system for detecting that an object of interest has re-entered a field of view of an imaging device |
US10275641B2 (en) | 2015-10-01 | 2019-04-30 | Intellivision Technologies Corp | Methods and systems for extracting feature descriptors for an image |
US10313417B2 (en) * | 2016-04-18 | 2019-06-04 | Qualcomm Incorporated | Methods and systems for auto-zoom based adaptive video streaming |
EP3465684A1 (en) * | 2016-05-27 | 2019-04-10 | IMINT Image Intelligence AB | System and method for a zoom function |
KR102621752B1 (ko) | 2017-01-13 | 2024-01-05 | 삼성전자주식회사 | Mram을 포함한 씨모스 이미지 센서 |
KR101944607B1 (ko) * | 2017-01-24 | 2019-02-01 | 울산대학교 산학협력단 | 차량의 위치 파악을 위한 안내표지판 내의 거리 정보를 습득하는 시스템 및 방법 |
US10510157B2 (en) * | 2017-10-28 | 2019-12-17 | Altumview Systems Inc. | Method and apparatus for real-time face-tracking and face-pose-selection on embedded vision systems |
US20190138795A1 (en) | 2017-11-07 | 2019-05-09 | Ooma, Inc. | Automatic Object Detection and Recognition via a Camera System |
WO2019120290A1 (zh) | 2017-12-22 | 2019-06-27 | 北京市商汤科技开发有限公司 | 动态手势识别方法和装置、手势交互控制方法和装置 |
US10489918B1 (en) | 2018-05-09 | 2019-11-26 | Figure Eight Technologies, Inc. | Video object tracking |
CN108985259B (zh) | 2018-08-03 | 2022-03-18 | 百度在线网络技术(北京)有限公司 | 人体动作识别方法和装置 |
KR102198912B1 (ko) | 2018-09-21 | 2021-01-06 | 네이버웹툰 유한회사 | 비디오 영상 내의 행동 인식 방법 및 장치 |
US10681313B1 (en) * | 2018-09-28 | 2020-06-09 | Ambarella International Lp | Home monitoring camera featuring intelligent personal audio assistant, smart zoom and face recognition features |
KR102179077B1 (ko) | 2018-12-04 | 2020-11-16 | 이노뎁 주식회사 | 상용분류기 외부 연동 학습형 신경망을 이용한 압축영상에 대한 신택스 기반의 객체 분류 방법 |
KR102261669B1 (ko) | 2019-03-22 | 2021-06-07 | 주식회사 핀텔 | 인공신경망 기반 객체영역 검출방법, 장치 및 이에 대한 컴퓨터 프로그램 |
CN110037667A (zh) | 2019-03-27 | 2019-07-23 | 乐歌人体工学科技股份有限公司 | 应用于工作站的基于人脸识别的人体生理参数监测方法 |
CN114009058B (zh) | 2019-04-26 | 2024-05-31 | 摹恩帝株式会社 | 多反应型图像生成方法及其存储介质 |
US11265480B2 (en) * | 2019-06-11 | 2022-03-01 | Qualcomm Incorporated | Systems and methods for controlling exposure settings based on motion characteristics associated with an image sensor |
-
2021
- 2021-03-17 KR KR1020210034845A patent/KR102530222B1/ko active IP Right Grant
- 2021-08-20 US US17/407,463 patent/US11997376B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100686310B1 (ko) * | 2005-12-29 | 2007-02-22 | 엠텍비젼 주식회사 | 이미지 기울임 보정 방법, 프로세서 및 이를 위한프로그램이 기록된 기록매체 |
Also Published As
Publication number | Publication date |
---|---|
KR20220129920A (ko) | 2022-09-26 |
US20220303455A1 (en) | 2022-09-22 |
US11997376B2 (en) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020259118A1 (en) | Method and device for image processing, method and device for training object detection model | |
US20200265567A1 (en) | Techniques for convolutional neural network-based multi-exposure fusion of multiple image frames and for deblurring multiple image frames | |
JP6737776B2 (ja) | センサ素子アレイにおける特徴計算 | |
US10511776B2 (en) | Image fusion method and apparatus, and terminal device | |
US9330446B2 (en) | Method and apparatus for processing image | |
KR102474041B1 (ko) | 이미지 데이터에서의 키포인트들의 검출 | |
CN111028189A (zh) | 图像处理方法、装置、存储介质及电子设备 | |
US9041834B2 (en) | Systems and methods for reducing noise in video streams | |
KR20210139450A (ko) | 이미지 디스플레이 방법 및 디바이스 | |
CN111583161A (zh) | 模糊图像的增强方法、计算机设备和存储介质 | |
US10880455B2 (en) | High dynamic range color conversion using selective interpolation | |
US11151731B2 (en) | Apparatus and method for efficient regularized image alignment for multi-frame fusion | |
US11539896B2 (en) | Method and apparatus for dynamic image capturing based on motion information in image | |
KR102530222B1 (ko) | 이미지 센서 및 이미지 센서의 동작 방법 | |
US20240205363A1 (en) | Sliding Window for Image Keypoint Detection and Descriptor Generation | |
CN107016637A (zh) | 一种用于提高鬼成像效率的自适应成像方法 | |
CN116740375A (zh) | 一种图像特征提取方法、***及介质 | |
US20230016350A1 (en) | Configurable keypoint descriptor generation | |
US20220301104A1 (en) | Pattern radius adjustment for keypoint descriptor generation | |
CN116917954A (zh) | 图像检测方法、装置和电子设备 | |
US20170289429A1 (en) | Systems and methods for producing an output image | |
Park et al. | Deep Learning Machine Vision System with High Object Recognition Rate using Multiple-Exposure Image Sensing Method | |
KR102617391B1 (ko) | 이미지 신호 프로세서의 제어 방법 및 이를 수행하는 제어 장치 | |
US20220301110A1 (en) | Image pyramid generation for image keypoint detection and descriptor generation | |
US20220417466A1 (en) | Method and apparatus for adjusting video brightness |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |