KR20240039130A - 이벤트 맵핑에 기초한 카메라 설정 조정 - Google Patents

이벤트 맵핑에 기초한 카메라 설정 조정 Download PDF

Info

Publication number
KR20240039130A
KR20240039130A KR1020247003453A KR20247003453A KR20240039130A KR 20240039130 A KR20240039130 A KR 20240039130A KR 1020247003453 A KR1020247003453 A KR 1020247003453A KR 20247003453 A KR20247003453 A KR 20247003453A KR 20240039130 A KR20240039130 A KR 20240039130A
Authority
KR
South Korea
Prior art keywords
image
event
capture device
image capture
interest
Prior art date
Application number
KR1020247003453A
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 퀄컴 인코포레이티드
Publication of KR20240039130A publication Critical patent/KR20240039130A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/61Control of cameras or camera modules based on recognised objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/65Control of camera operation in relation to power supply
    • H04N23/651Control 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
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B7/00Mountings, adjusting means, or light-tight connections, for optical elements
    • G02B7/02Mountings, adjusting means, or light-tight connections, for optical elements for lenses
    • G02B7/04Mountings, adjusting means, or light-tight connections, for optical elements for lenses with mechanism for focusing or varying magnification
    • G02B7/09Mountings, adjusting means, or light-tight connections, for optical elements for lenses with mechanism for focusing or varying magnification adapted for automatic focusing or varying magnification
    • 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/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features
    • 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
    • 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/107Static hand or arm
    • G06V40/11Hand-related biometrics; Hand pose recognition
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • H04N23/54Mounting of pick-up tubes, electronic image sensors, deviation or focusing coils
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • H04N23/55Optical parts specially adapted for electronic image sensors; Mounting thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/57Mechanical or electrical details of cameras or camera modules specially adapted for being embedded in other devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/61Control of cameras or camera modules based on recognised objects
    • H04N23/611Control of cameras or camera modules based on recognised objects where the recognised objects include parts of the human body
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/65Control of camera operation in relation to power supply
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/667Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/31Acquisition or tracking of other signals for positioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Optics & Photonics (AREA)
  • Studio Devices (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Computer Networks & Wireless Communication (AREA)

Abstract

이벤트 데이터에 기초하여 카메라 설정들을 조정하기 위한 시스템들, 방법들, 및 비일시적 매체들이 제공된다. 예시적인 방법은 모바일 디바이스의 이미지 캡처 디바이스를 통해, 환경의 적어도 일부를 묘사하는 이미지를 획득하는 단계; 이미지로부터 추출된 하나 이상의 시각적 특징들과 키프레임과 연관된 하나 이상의 시각적 특징들 사이의 매칭을 결정하는 단계; 및 매칭에 기초하여, 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하는 단계를 포함할 수 있다.

Description

이벤트 맵핑에 기초한 카메라 설정 조정
본 개시는 일반적으로 카메라 설정 조정들에 관한 것이다. 예를 들어, 본 개시의 양태들은 이벤트 맵핑에 기초한 카메라 설정 조정들에 관한 것이다.
전자 디바이스들은 소비를 위해 이미지들 및/또는 비디오들을 캡처하기 위한 카메라 하드웨어를 점점 더 구비하고 있다. 예를 들어, 컴퓨팅 디바이스는, 컴퓨팅 디바이스가 장면, 사람, 객체 등의 비디오 또는 이미지를 캡처할 수 있게 하기 위한 카메라(예를 들어, 하나 이상의 카메라들을 포함하는 모바일 전화 또는 스마트폰과 같은 모바일 디바이스)를 포함할 수 있다. 이미지 또는 비디오는 컴퓨팅 디바이스(예를 들어, 모바일 디바이스, IP 카메라, 확장 현실 디바이스, 접속된 디바이스 등)에 의해 캡처 및 프로세싱되고, 소비를 위해 저장 또는 출력(예를 들어, 디바이스 및/또는 다른 디바이스 상에 디스플레이)될 수 있다. 일부 경우들에서, 이미지 또는 비디오는 다른 것들 중에서도, 효과들(예를 들어, 압축, 이미지 향상, 이미지 복원, 스케일링, 프레임레이트 변환 등) 및/또는 특정 애플리케이션들, 이를테면 컴퓨터 비전, 확장 현실(예를 들어, 증강 현실, 가상 현실 등), 객체 검출, 이미지 인식(예를 들어, 얼굴 인식, 객체 인식, 장면 인식 등), 특징 추출, 인증, 및 자동화를 위해 추가로 프로세싱될 수 있다.
일부 경우들에서, 전자 디바이스는 객체들, 얼굴들 및/또는 이미지들에 의해 캡처된 임의의 다른 항목들을 검출하기 위해 이미지들을 프로세싱할 수 있다. 객체 검출은 다른 것들 중에서도, 예를 들어, 인증, 자동화, 제스처 인식, 감시, 확장 현실, 컴퓨터 비전과 같은 다양한 애플리케이션들에 유용할 수 있다. 일부 예들에서, 전자 디바이스는 환경에서 특정 객체들을 자동으로 검출하도록 지속적으로 또는 주기적으로 동작하는 저전력 또는 "AON(always-on)" 카메라를 구현할 수 있다. 저전력 카메라는 예를 들어, 지속적인 제스처 검출, 지속적인 객체(예를 들어, 얼굴/사람, 동물, 차량, 디바이스, 평면 등) 검출, 지속적인 객체 스캐닝(scanning)(예를 들어, QR(quick response) 코드 스캐닝, 바코드 스캐닝 등), 인증을 위한 지속적인 얼굴 인식 등과 같은 다양한 사용 사례들을 위해 구현될 수 있다. 그러나, 저전력 카메라들의 지속적인 동작 및/또는 더 빈번한 동작 및 다른 카메라 셋업들은 높은 전체 전력 소비를 초래할 수 있다. 또한, 이러한 저전력 카메라들을 구현하는 모바일 디바이스들은 감소된 배터리 수명을 겪을 수 있으며, 고정식 디바이스들은 더 복잡한 열 소산 설계들을 요구하고 그리고/또는 장기간 사용 동안 허용불가능한 낮은 전력 효율을 나타낼 수 있다. 따라서, 상당히 더 높은 전력 소비는 전자 디바이스의 사용, 디바이스의 성능 및 사용자 경험에 부정적으로 영향을 미칠 수 있다.
이벤트 맵핑에 기초한 카메라 설정 조정들을 위한 시스템들 및 기법들이 본 명세서에서 설명된다. 적어도 하나의 예에 따르면, 이벤트 데이터에 기초하여 카메라 설정들을 조정하기 위한 방법이 제공된다. 방법은 전자 디바이스의 이미지 캡처 디바이스를 통해, 환경의 적어도 일부를 묘사하는 이미지를 획득하는 단계; 이미지로부터 추출된 하나 이상의 시각적 특징들과 하나 이상의 검출 이벤트들과 연관된 키프레임과 연관된 하나 이상의 시각적 특징들 사이의 매칭을 결정하는 단계; 및 매칭에 기초하여, 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하는 단계를 포함할 수 있다.
적어도 하나의 예에 따르면, 이벤트 데이터에 기초하여 카메라 설정들을 조정하기 위한 비일시적 컴퓨터 판독가능 매체가 제공된다. 비일시적 컴퓨터 판독가능 매체는 저장된 명령들을 포함할 수 있고, 명령들은, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금, 전자 디바이스의 이미지 캡처 디바이스를 통해, 환경의 적어도 일부를 묘사하는 이미지를 획득하게 하고; 이미지로부터 추출된 하나 이상의 시각적 특징들과 하나 이상의 검출 이벤트들과 연관된 키프레임과 연관된 하나 이상의 시각적 특징들 사이의 매칭을 결정하게 하고; 매칭에 기초하여, 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하게 한다.
적어도 하나의 예에 따르면, 이벤트 데이터에 기초하여 카메라 설정들을 조정하기 위한 장치가 제공된다. 장치는, 장치의 이미지 캡처 디바이스를 통해, 환경의 적어도 일부를 묘사하는 이미지를 획득하고; 이미지로부터 추출된 하나 이상의 시각적 특징들과 하나 이상의 검출 이벤트들과 연관된 키프레임과 연관된 하나 이상의 시각적 특징들 사이의 매칭을 결정하고; 매칭에 기초하여, 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하도록 구성된 메모리 및 하나 이상의 프로세서들을 포함할 수 있다.
적어도 하나의 예에 따르면, 이벤트 데이터에 기초하여 카메라 설정들을 조정하기 위한 다른 장치가 제공된다. 장치는 장치의 이미지 캡처 디바이스를 통해, 환경의 적어도 일부를 묘사하는 이미지를 획득하기 위한 수단; 이미지로부터 추출된 하나 이상의 시각적 특징들과 하나 이상의 검출 이벤트들과 연관된 키프레임과 연관된 하나 이상의 시각적 특징들 사이의 매칭을 결정하기 위한 수단; 및 매칭에 기초하여, 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하기 위한 수단을 포함할 수 있다.
일부 양태들에서, 전술된 방법, 비일시적 컴퓨터 판독가능 매체 및 장치들은, 전자 디바이스에서 이벤트 데이터의 키프레임 엔트리들과 연관된 검출 이벤트들의 개개의 카운트들을 주기적으로 감소시킬 수 있고, 검출 이벤트들의 개개의 카운트들은 이벤트 데이터의 모든 키프레임 엔트리들에 걸쳐 비례적으로 감소된다.
일부 예들에서, 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하는 것은 이미지 캡처 디바이스의 전력 모드를 수정하는 것을 포함할 수 있다. 일부 경우들에서, 이미지 캡처 디바이스의 전력 모드를 수정하는 것은, 이미지 캡처 디바이스의 프레임레이트, 이미지 캡처 디바이스의 해상도, 이미지 캡처 디바이스의 비닝(binning) 모드, 이미지 캡처 디바이스의 이미징 모드, 및 이미지 캡처 디바이스 및 전자 디바이스 중 적어도 하나에 의해 호출되는 이미지 센서들의 수 중 적어도 하나를 수정하는 것을 포함할 수 있다. 일부 예들에서, 이미지 캡처 디바이스의 전력 모드를 수정하는 것은, 환경에서 관심 이벤트가 발생할 가능성이 임계치 미만이라는 결정에 기초하여, 프레임레이트, 해상도, 비닝 모드, 이미징 모드 및 호출된 이미지 센서들의 수 중 적어도 하나를 감소시키는 것을 포함할 수 있다. 일부 예들에서, 이미지 캡처 디바이스의 전력 모드를 수정하는 것은, 환경에서 관심 이벤트가 발생할 가능성이 임계치 초과라는 결정에 기초하여, 프레임레이트, 해상도, 비닝 모드, 이미징 모드 및 호출된 이미지 센서들의 수 중 적어도 하나를 증가시키는 것을 포함할 수 있다.
일부 예들에서, 이미지 캡처 디바이스는 제1 이미지 캡처 디바이스를 포함할 수 있고, 전술된 방법, 비일시적 컴퓨터 판독가능 매체 및 장치들은, 환경에서 관심 이벤트가 발생할 가능성이 임계치를 초과한다는 결정에 기초하여, 전자 디바이스의 제2 이미지 캡처 디바이스의 전력 모드를 증가시키는 것을 더 포함할 수 있고, 제2 이미지 캡처 디바이스는 제1 이미지 캡처 디바이스보다 높은 전력 모드, 제1 이미지 캡처 디바이스보다 높은 프레임레이트, 제1 이미지 캡처 디바이스보다 높은 해상도, 제1 이미지 캡처 디바이스보다 많은 수의 이미지 센서들, 및 제1 이미지 캡처 디바이스와 연관된 프로세싱 파이프라인보다 높은 전력의 프로세싱 파이프라인 중 적어도 하나를 이용한다. 일부 예들에서, 제2 이미지 캡처 디바이스의 전력 모드를 증가시키는 것은 제2 이미지 캡처 디바이스를 초기화하는 것을 포함할 수 있다.
일부 경우들에서, 키프레임은 전자 디바이스에서의 이벤트 데이터에 포함되고, 이벤트 데이터는 이미지 캡처 디바이스와 연관된 검출 이벤트들로부터의 다수의 키프레임들을 포함할 수 있다. 일부 경우들에서, 이벤트 데이터는 상기 수의 키프레임들 중 각각의 키프레임과 연관된 검출 이벤트들의 개개의 카운트를 더 포함한다.
일부 양태들에서, 전술된 방법, 비일시적 컴퓨터 판독가능 매체 및 장치들은, 매칭 및 상기 수의 키프레임들로부터의 하나 이상의 키프레임들에 기초하여 환경에서 관심 이벤트가 발생할 가능성을 결정하는 것을 포함할 수 있다.
일부 양태들에서, 전술된 방법, 비일시적 컴퓨터 판독가능 매체 및 장치들은, 매칭 및 키프레임과 연관된 검출 이벤트들의 개개의 카운트에 기초하여 환경에서 관심 이벤트가 발생할 가능성을 결정하는 것을 포함할 수 있다.
일부 양태들에서, 전술된 방법, 비일시적 컴퓨터 판독가능 매체 및 장치들은, 이미지로부터 추출된 하나 이상의 시각적 특징들과 키프레임과 연관된 하나 이상의 시각적 특징들 사이의 매칭을 결정하는 것에 응답하여, 이벤트 데이터에서 키프레임과 연관된 검출 이벤트들의 개개의 카운트를 증가시키는 것을 포함할 수 있다.
일부 양태들에서, 전술된 방법, 비일시적 컴퓨터 판독가능 매체 및 장치들은, 이미지 캡처 디바이스를 통해, 상이한 환경의 적어도 일부를 묘사하는 상이한 이미지를 획득하는 것; 상이한 이미지로부터 추출된 하나 이상의 시각적 특징들이 전자 디바이스에서의 이벤트 데이터의 임의의 키프레임과 연관된 시각적 특징들과 매칭하지 않는다고 결정하는 것; 및 상이한 이미지에 대응하는 이벤트 데이터에서 새로운 엔트리를 생성하는 것을 포함할 수 있고, 새로운 엔트리는, 상이한 이미지로부터 추출된 하나 이상의 시각적 특징들이 이벤트 데이터 내의 임의의 키프레임과 연관된 시각적 특징들과 매칭하지 않는다고 결정하는 것, 관심 이벤트가 상이한 이미지에서 검출되었다는 결정, 이벤트 데이터 내의 개개의 키프레임이 생성된 마지막 시간 이후 경과된 시간, 및 이벤트 데이터 내의 특정 키프레임과 이미지 캡처 디바이스에 의해 캡처된 특정 이미지 사이에서 개개의 매칭이 식별된 마지막 시간 이후 경과된 시간 중 적어도 하나에 응답하여 생성된다.
일부 양태들에서, 전술된 방법, 비일시적 컴퓨터 판독가능 매체 및 장치들은, 관심 이벤트가 상이한 이미지에서 검출되었다고 결정하는 것; 관심 이벤트가 상이한 이미지에서 검출되었다는 결정에 기초하여, 상이한 환경에서 추가적인 관심 이벤트가 발생할 제2 가능성을 결정하는 것; 및 상이한 환경에서 추가적인 관심 이벤트가 발생할 제2 가능성에 기초하여 이미지 캡처 디바이스의 적어도 하나의 설정을 조정하는 것을 포함할 수 있다.
일부 경우들에서, 이미지 캡처 디바이스의 하나 이상의 설정들은 프레임레이트를 포함할 수 있고, 전술된 방법, 비일시적 컴퓨터 판독가능 매체 및 장치들은, 검출 이벤트들에 대한 미리 결정된 프레임레이트 및 환경에서 관심 이벤트가 발생할 가능성에 기초하여 프레임레이트를 결정하는 것; 및 적어도 구성된 시간 기간의 만료 또는 이미지 캡처 디바이스에 의해 캡처된 상이한 이미지와 전자 디바이스에서의 이벤트 데이터 내의 적어도 하나의 키프레임 사이의 후속 매칭의 결정까지 프레임레이트를 유지하는 것을 포함할 수 있다.
일부 양태들에서, 전술된 방법, 비일시적 컴퓨터 판독가능 매체 및 장치들은, 구성된 시간 기간의 만료 또는 후속 매칭의 결정 후에, 이미지 캡처 디바이스의 프레임레이트를 상이한 프레임레이트로 조정하는 것을 포함할 수 있다. 일부 예들에서, 상이한 프레임레이트는 미리 결정된 프레임레이트 및 후속 매칭과 연관된 특정 관심 이벤트를 검출할 제2 가능성에 기초하여 결정된 특정 프레임레이트 또는 디폴트 프레임레이트를 포함할 수 있다.
일부 예들에서, 미리 결정된 프레임레이트는 이미지 캡처 디바이스에 의해 지원되는 최고 프레임레이트를 포함할 수 있고, 프레임레이트를 결정하는 것은 환경에서 검출 이벤트가 발생할 가능성에 대응하는 값을 미리 결정된 프레임레이트에 곱하는 것을 포함할 수 있다.
일부 예들에서, 미리 결정된 프레임레이트는 디폴트 프레임레이트보다 높고, 전술된 방법, 비일시적 컴퓨터 판독가능 매체 및 장치들은, 전자 디바이스에서 이벤트 데이터에 하나 이상의 키프레임들을 추가하는 것에 응답하여, 디폴트 프레임레이트를 더 낮은 프레임레이트로 감소시키는 것을 포함할 수 있다.
일부 경우들에서, 이미지로부터 추출된 하나 이상의 시각적 특징들과 키프레임과 연관된 하나 이상의 시각적 특징들 사이의 매칭을 결정하는 것은 이미지로부터 추출된 하나 이상의 시각적 특징들 중 적어도 하나를 키프레임과 연관된 하나 이상의 시각적 특징들과 비교하고, 이미지로부터 추출된 하나 이상의 시각적 특징들의 제1 디스크립터를 키프레임과 연관된 하나 이상의 시각적 특징들의 제2 디스크립터와 비교하는 것을 더 포함할 수 있다.
일부 양태들에서, 전술된 방법, 비일시적 컴퓨터 판독가능 매체 및 장치들은, 환경에서 관심 이벤트가 발생할 가능성에 기초하여, 전자 디바이스의 활성 깊이 송신기, 오디오 알고리즘, GNSS(global navigation satellite) 시스템, 무선 위치 영역 네트워크 접속 및 GPS(global positioning system) 중 적어도 하나와 연관된 위치 서비스 중 적어도 하나의 하나 이상의 상이한 설정들을 조정하는 것을 포함할 수 있다.
일부 예들에서, 하나 이상의 상이한 설정들을 조정하는 것은 활성 깊이 송신기, 오디오 알고리즘 및 위치 서비스 중 적어도 하나를 턴 오프시키거나 또는 구현하는 것을 포함할 수 있다.
일부 예들에서, 하나 이상의 검출 이벤트들은, 이미지에 의해 묘사된 얼굴, 이미지에 의해 묘사된 손 제스처, 이미지에 의해 묘사된 감정, 이미지에 의해 묘사된 장면, 이미지에 의해 묘사된 하나 이상의 사람들, 이미지에 의해 묘사된 동물, 이미지에 의해 묘사된 머신 판독가능 코드, 이미지에 의해 묘사된 적외선, 이미지에 의해 묘사된 2차원 표면, 및 이미지에 의해 묘사된 텍스트 중 적어도 하나의 검출을 포함할 수 있다. 일부 경우들에서, 키프레임은 전자 디바이스에서의 이벤트 데이터의 일부이고, 이벤트 데이터는 복수의 키프레임들을 포함한다.
일부 양태들에서, 전술된 방법, 비일시적 컴퓨터 판독가능 매체 및 장치들은, 매칭에 기초하여, 환경에서 관심 이벤트가 발생할 가능성을 결정하는 것; 및 환경에서 관심 이벤트가 발생할 가능성에 추가로 기초하여 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하는 것을 포함할 수 있다.
일부 양태들에서, 전술된 방법, 비일시적 컴퓨터 판독가능 매체 및 장치들은, 전자 디바이스의 비-이미지 캡처 디바이스로부터의 데이터에 추가로 기초하여 이벤트의 가능성을 결정하는 것; 또는 전자 디바이스의 비-이미지 캡처 디바이스로부터의 데이터에 추가로 기초하여 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하는 것을 포함할 수 있다.
일부 양태들에서, 전술된 장치들 각각은 모바일 디바이스, 스마트 또는 접속된 디바이스, 카메라 시스템 및/또는 XR(extended reality) 디바이스(예를 들어, VR(virtual reality) 디바이스, AR(augmented reality) 디바이스, 또는 MR(mixed reality) 디바이스)이거나, 그 일부일 수 있거나, 이를 포함할 수 있다. 일부 예들에서, 장치들은 차량, 모바일 디바이스(예를 들어, 모바일 전화 또는 소위 "스마트폰" 또는 다른 모바일 디바이스), 웨어러블 디바이스, 개인용 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 서버 컴퓨터, 로봇 디바이스 또는 시스템, 항공 시스템, 또는 다른 디바이스를 포함하거나 그 일부일 수 있다. 일부 양태들에서, 장치는 하나 이상의 이미지들을 캡처하기 위한 이미지 센서(예를 들어, 카메라) 또는 다수의 이미지 센서들(예를 들어, 다수의 카메라들)을 포함한다. 일부 양태들에서, 장치는 하나 이상의 이미지들, 통지들, 및/또는 다른 디스플레이 가능한 데이터를 디스플레이하기 위한 하나 이상의 디스플레이들을 포함한다. 일부 양태들에서, 장치는 하나 이상의 스피커들, 하나 이상의 발광 디바이스들, 및/또는 하나 이상의 마이크로폰들을 포함한다. 일부 양태들에서, 전술된 장치들은 하나 이상의 센서들을 포함할 수 있다. 일부 경우들에서, 하나 이상의 센서들은 장치들의 위치, 장치들의 상태(예를 들어, 추적 상태, 동작 상태, 온도, 습도 레벨, 및/또는 다른 상태)를 결정하기 위해 그리고/또는 다른 목적들을 위해 사용될 수 있다.
이 개요는 청구 대상의 핵심적인 또는 본질적인 특징들을 식별하도록 의도되지 않으며, 청구 대상의 범위를 결정하기 위해 별개로 사용되도록 의도되지 않는다. 청구 대상은 본 특허의 전체 명세서의 적절한 부분들, 임의의 또는 모든 도면들, 및 각각의 청구항에 대한 참조에 의해 이해되어야 한다.
전술한 내용은 다른 특징들 및 실시예들과 함께, 하기의 명세서, 청구항들 및 첨부 도면들을 참조할 때 더 명백해질 것이다.
본 출원의 예시적인 예들은 다음의 도면들을 참조하여 아래에서 상세히 설명된다:
도 1은 본 개시의 일부 예들에 따른, 이벤트 데이터를 결정하고 이벤트 데이터에 기초하여 전자 디바이스의 하나 이상의 컴포넌트들 및/또는 동작들을 제어하기 위해 사용되는 전자 디바이스의 예를 예시하는 도면이다.
도 2a 및 도 2b는 본 개시의 일부 예들에 따른, 환경과 연관된 이벤트들을 맵핑하고 맵핑된 이벤트들에 기초하여 디바이스의 설정들을 제어하기 위한 예시적인 시스템 프로세스들을 예시하는 도면들이다.
도 3a 및 도 3b는 본 개시의 일부 예들에 따른, 이벤트 맵을 업데이트하기 위한 예시적인 프로세스들을 예시하는 도면들이다.
도 4는 본 개시의 일부 예들에 따른, 캡처된 프레임 내의 특징들과 이벤트 데이터의 키프레임 내의 특징들 사이의 매칭에 기초하여 상이한 시간들에 조절되는 예시적인 설정을 예시하는 도면이다.
도 5는 본 개시의 일부 예들에 따른, 전자 디바이스가 상이한 장면들에 있을 때 구현되는 상이한 전력 상태들의 예를 예시하는 도면이다.
도 6은 본 개시의 일부 예들에 따른, 이벤트 데이터에 기초하여 카메라 설정들을 조정하기 위한 예시적인 프로세스를 예시하는 흐름도이다.
도 7은 본 개시의 일부 예들에 따른 예시적인 컴퓨팅 디바이스 아키텍처를 예시한다.
본 개시의 특정 양태들 및 실시예들이 아래에서 제공된다. 이러한 양태들 및 실시예들 중 일부는 독립적으로 적용될 수 있고, 이들 중 일부는 당해 기술분야에서 통상의 지식을 가진 자들에게 명백하듯이, 조합하여 적용될 수 있다. 다음의 설명에서는, 설명의 목적으로, 본 출원의 실시예들의 전반적인 이해를 제공하기 위해 특정 세부사항들이 기재된다. 그러나, 다양한 실시예들은 이들 특정 세부사항들 없이 실시될 수 있음이 명백할 것이다. 도면들 및 설명은 제한적인 것으로 의도되지 않는다.
다음의 설명은 예시적인 예들만을 제공하며, 본 개시의 범위, 적용가능성, 또는 구성을 제한하도록 의도되지 않는다. 오히려, 예시적인 실시예들의 다음의 설명은 예시적인 실시예를 구현하기 위한 가능한 설명을 당업자들에게 제공할 것이다. 첨부된 청구항들에 제시된 바와 같이 본 출원의 사상 및 범위를 벗어나지 않으면서 엘리먼트들의 기능 및 배열에 다양한 변경들이 이루어질 수 있다고 이해되어야 한다.
전자 디바이스들(예를 들어, 모바일 폰들, 웨어러블 디바이스들(예를 들어, 스마트 시계들, 스마트 팔찌들, 스마트 안경 등), 태블릿 컴퓨터들, XR(extended reality) 디바이스들(예를 들어, VR(virtual reality) 디바이스들, AR(augmented reality) 디바이스들, MR(mixed reality) 디바이스들 등), 접속된 디바이스들, 랩톱 컴퓨터들 등)은 관심 이벤트들을 검출 및/또는 인식하기 위한 카메라들을 구현할 수 있다. 예를 들어, 전자 디바이스들은 감소된 전력 모드에서 동작할 수 있고 그리고/또는 요구에 따라, 진행중인 또는 주기적으로 관심 이벤트들을 검출 및/또는 인식하기 위해 (예를 들어, 전자 디바이스 상의 카메라들 및/또는 임의의 다른 카메라들의 용량보다 더 낮은) 저전력 카메라들로서 동작할 수 있는 카메라들을 구현할 수 있다. 일부 예들에서, 저전력 카메라는 (예를 들어, 카메라 및/또는 고전력 모드/소비 능력들을 갖는 다른 카메라의 전력 모드/소비 능력들에 비해) 감소된 또는 더 낮은 전력 모드/소비로 동작하는 카메라를 포함할 수 있다. 일부 경우들에서, 저전력 카메라는 메인 카메라 및/또는 메인 카메라 파이프라인과 같은 다른 카메라들 및/또는 카메라 파이프라인들과 비교하여 제한되거나 감소된 전력 소비로 지속적인 이미징을 허용하기 위해 저전력 설정들(예를 들어, 저전력 모드들, 저전력 동작들, 저전력 하드웨어, 저전력 카메라 파이프라인 등)을 이용할 수 있다. 저전력 카메라에 의해 이용되는 저전력 설정들은 예를 들어 그리고 제한 없이, 더 낮은 해상도, 더 적은 양의 이미지 센서들(및/또는 전자 디바이스 상의 다른 이미지 센서들보다 더 적은 전력 소비를 갖는 이미지 센서(들)), 더 낮은 프레임레이트, 일반적으로 SRAM(static random-access memory)보다 더 많은 전력을 인출할 수 있는 DRAM(dynamic random-access memory)보다는 온-칩 SRAM, 아일랜드 전압 레일들, 잠금 소싱을 위한 (예를 들어, 더 높은 전력 인출을 가질 수 있는 PLL(phase lock loop)들보다는) 오실레이터들, 및/또는 더 낮은 전력 소비를 초래하는 다른 하드웨어/소프트웨어 컴포넌트들/설정들을 포함할 수 있다.
위에서 언급된 바와 같이, 카메라들은 관심 이벤트들을 검출하기 위해 사용될 수 있다. 예시적인 관심 이벤트들은 제스처들(예를 들어, 손 제스처들 등), (예를 들어, 디바이스, 사람 및/또는 동물에 의한) 액션, 하나 이상의 객체들의 존재 또는 발생 등을 포함할 수 있다. 관심 이벤트와 연관된 객체는 예를 들어 그리고 제한 없이, 얼굴, 손, 하나 이상의 손가락들, 인간의 신체의 일부, 코드(예를 들어, QR(quick response) 코드, 바코드 등), 문서, 장면 또는 환경, 링크, 머신 판독가능 코드 등으로 지칭될 수 있고 그리고/또는 이를 포함할 수 있다. 저전력 카메라들은 관심 이벤트들을 검출하기 위해 사용되는 저전력 하드웨어 및/또는 에너지 효율적인 이미지 프로세싱 소프트웨어를 구현할 수 있다. 저전력 카메라들은, 더 높은 전력/해상도 카메라들과 같은 다른 디바이스들보다 더 적은 배터리 전력을 사용하면서, 장면에서 움직임 및/또는 객체들을 주시하고 장면에서 이벤트들을 검출하기 위해 온 상태를 유지하거나 또는 "웨이크 업"할 수 있다.
예를 들어, 카메라는 객체들을 발견하기 위해 장면에서 움직임 및/또는 활동을 주시할 수 있다. 일부 예들에서, 카메라는 전술된 바와 같이 그리고 카메라 또는 고전력 설정들을 이용하는 다른 카메라와 비교하여 더 낮은 또는 제한된 전력 소비를 위해 저전력 설정들을 이용할 수 있다. 예시하자면, XR 디바이스는 XR 제어기 및/또는 다른 추적된 객체들을 주기적으로 발견하는 카메라를 구현할 수 있고, 모바일 폰은 스캔할 코드(예를 들어, QR 코드) 또는 문서를 주기적으로 체크하는 카메라를 구현할 수 있고, 스마트 홈 어시스턴트는 사용자 존재 등을 주기적으로 체크하는 카메라를 구현할 수 있다. 객체를 발견할 시에, 카메라는, 다른 액션들 중에서도, 예를 들어 객체 검출, 객체 인식, 인증(예를 들어, 얼굴 인증 등) 및/또는 이미지 프로세싱 작업들과 같은 하나 이상의 액션들을 트리거할 수 있다. 일부 경우들에서, 카메라들은 다른 디바이스들 및/또는 컴포넌트들, 이를테면 다른 카메라들, 센서들, 프로세싱 하드웨어 등을 "웨이크 업"할 수 있다.
저전력 설정들을 이용하는 카메라의 전력 소비는 카메라 또는 저전력 설정들에 비해 더 높은 전력 설정들(예를 들어, 저전력 설정들에 비해 더 높은 해상도, 저전력 설정들에 비해 더 많은 양의 이미지 센서들(및/또는 디바이스 상의 다른 이미지 센서들보다 높은 전력 소비를 갖는 이미지 센서(들)), 더 낮은 전력 설정들에 비해 더 높은 프레임레이트, 온-칩 SRAM과 대조적으로 DRAM, 링 오실레이터들과 대조적으로 PLL들, 등)을 이용하는 다른 카메라와 비교하여 비교적 낮을 수 있지만, 전력 소비는 관심 이벤트들의 발생이 증가함에 따라 증가할 수 있다. 또한, 일부 사용 사례들에서, 더 높은 프레임레이트들, 해상도들, 사용된 카메라 센서들의 수 등을 지시하는 레이턴시 목표들 및/또는 요건들이 존재할 수 있으며, 이는 카메라의 전력 소비를 추가로 증가시킬 수 있다. 예를 들어, 일부 경우들에서, QR 코드를 검출할 때, 카메라는 QR 코드를 더 빠르게 등록하고 등록 레이턴시를 감소시키기 위해 더 높은 프레임레이트를 사용할 수 있다. 따라서, 시간이 지남에 따라, 카메라들은 디바이스에서의 전체 전력 소비에 영향을 미칠 수 있는 증가하는 양의 전력을 소비할 수 있다. 일부 경우들에서, 저전력 카메라들은 거짓 양성 검출 이벤트들의 수가 증가함에 따라 점점 더 불필요한 양의 전력을 소비할 수 있다.
카메라는 특정 위치들/환경들에서 특정 관심 이벤트들에 직면할 가능성이 더 높을 수 있다. 예를 들어, XR 디바이스의 사용자는 통상적으로 집의 특정 룸에서 증강 현실 게임들을 플레이할 수 있다. XR 디바이스는, 가상 현실 게임들을 플레이하기 위해 XR 디바이스와 함께 사용되는 제어기를 발견하는 카메라를 구현할 수 있다. 따라서, XR 디바이스의 카메라는, XR 디바이스가 그 룸에 있을 때, 카메라가 그 환경에서 빈번한 검출 이벤트들에 직면하기 때문에 더 많은 전력을 소비할 수 있다. 다른 예로서, 사용자는 통상적으로 주방으로부터 배달을 주문할 때 식당 메뉴들 상의 QR 코드들을 스캔할 수 있다. 따라서, QR 코드를 발견하기 위해 사용자의 모바일 디바이스에 의해 구현된 카메라는, (예를 들어, 모바일 디바이스가 하나 이상의 다른 환경들에 있을 때와 대조적으로) 모바일 디바이스가 주방에 있을 때 카메라가 그 환경에서 더 빈번한 검출 이벤트들에 직면하기 때문에 더 높은 전력 소비를 경험할 수 있다.
위에서 예시된 바와 같이, 상이한 환경들은 다른 환경들보다 카메라로부터 더 높은 또는 더 낮은 전력 소비를 트리거할 수 있으며, 특정 환경들에서 더 높거나 더 낮은 주파수를 가질 수 있는 특정 사용 사례들은 더 높거나 더 낮은 레이턴시 요건들을 가질 수 있다. 이는 일부 경우들 및 환경들에서는 불필요하고 그리고/또는 과도한 전력 소비뿐만 아니라, 일부 경우들 및 환경들에서는 과도하거나 부적절한 성능/디바이스 설정들(예를 들어, 프레임레이트들, 해상도, 센서들의 수 및 사용 빈도 등)로 이어질 수 있다.
이벤트 데이터에 기초한 카메라 설정 조정들을 위한 시스템들, 장치들, 방법들(프로세스들로 또한 지칭됨) 및 컴퓨터 판독가능 매체들(본 명세서에서 집합적으로 "시스템들 및 기법들"로 지칭됨)이 본 명세서에서 설명된다. 일부 예들에서, 카메라는 환경 내의 이벤트들을 검출하고 검출된 이벤트들을 환경 및/또는 환경과 연관된 위치와 연관시키기 위한 프로세스를 구현할 수 있다. 프로세스는 특정 환경들/위치들에서 관심 이벤트들의 가능성을 결정하기 위해 환경들/위치들 및 검출된 이벤트들의 연관성들을 사용할 수 있다. 프로세스는 가능성 정보를 사용하여, 불필요한 전력 소비를 감소시키기 위해 카메라의 설정들을 조정하고 그리고/또는 더 가능성이 높은/예상되는 레이턴시 요건들에 따라 성능 설정들을 조정할 수 있다. 예를 들어, 관심 검출 이벤트(예를 들어, 관심 이벤트의 검출)가 발생할 가능성이 더 높은 환경에 카메라가 있을 때 카메라의 레이턴시를 감소시키기 위해 카메라는 하나 이상의 설정들(예를 들어, 프레임레이트, 해상도, 호출된 이미지 센서들의 수, 전력 모드 등)을 증가시킬 수 있다. 다른 예로서, 관심 검출 이벤트가 발생할 가능성이 더 낮은 환경에 카메라가 있을 때 카메라의 전력 소비를 감소시키기 위해 카메라는 하나 이상의 설정들(예를 들어, 프레임레이트, 해상도, 호출된 이미지 센서들의 수, 전력 모드 등)을 감소시킬 수 있다.
일부 양태들에서, 카메라를 갖는 전자 디바이스(예를 들어, XR 디바이스, 모바일 디바이스, 접속된 디바이스, 태블릿 컴퓨터, 랩톱 컴퓨터, 스마트 웨어러블 디바이스 등)는, 하나 이상의 환경들에서 관심 이벤트들의 발생들을 식별하는 이벤트 데이터(예를 들어, 하나 이상의 환경들(및/또는 연관된 영역들/부분들)을 이전에 검출된 관심 이벤트들, 분류 맵, 분류 데이터, 하나 이상의 키프레임들, 프레임들로부터 추출된 특징들, 이벤트 통계, 이력 데이터 등과 연관시키는 이벤트 맵)에 기초하여 카메라 설정들(예를 들어, 프레임레이트, 해상도, 호출된 이미지 센서들의 수, 전력 모드 등)을 조절함으로써 전력을 소비하고 카메라 성능을 증가시킬 수 있다. 일부 예들에서, 카메라 설정들을 조절하기 위해 사용되는 이벤트 데이터(예를 들어, 이벤트 맵, 추출된 특징들, 하나 이상의 키프레임들, 분류 데이터, 이벤트 통계 등)를 생성하기 위해, 전자 디바이스는 카메라에 의해 획득된 착신 프레임들로부터 시각적 특징들을 기회적으로 추출하는 특징 추출기를 구현할 수 있다. 특징 추출기는, 예를 들어, SIFT(scale-invariant feature transform), SURF(speeded up robust features), ORB(Oriented FAST and rotated BRIEF) 및/또는 임의의 다른 검출기/알고리즘과 같은 검출기 및/또는 알고리즘을 구현할 수 있다. 카메라 설정들을 조절하기 위해 사용되는 이벤트 데이터(예를 들어, 이벤트 맵, 추출된 특징들, 분류 데이터 등)를 생성하기 위해, 전자 디바이스는 또한, 착신 카메라 프레임들의 특징들을 이벤트 데이터 내의 키프레임들의 특징들과 비교하는 키프레임 매칭기를 구현할 수 있다.
일부 예들에서, 이벤트 데이터의 키프레임들은 검출된 관심 이벤트와 연관된 카메라 프레임들에 기초하여 생성된 키프레임들을 포함할 수 있다. 전자 디바이스는 이벤트와 연관된 새로운 키프레임을 생성할지(또는 기존의 키프레임을 대체할지) 여부를 결정하고, 그 키프레임과 연관된 이벤트 카운트를 이벤트 데이터에 기록(또는 업데이트)하는 맵퍼를 구현할 수 있다. 이벤트 데이터는 카메라 이벤트들이 관측된 위치들/환경들에 대응하는 다수의 키프레임들을, 이들 키프레임들과 연관된 이벤트 카운트들과 함께 포함할 수 있다. 제어기는 착신 카메라 프레임과 맵 내의 키프레임 사이의 매칭에 기초하여 카메라의 하나 이상의 설정들(예를 들어, 프레임레이트, 해상도, 전력 모드, 비닝 모드, 이미징 모드, 호출된 이미지 센서들의 수 등)을 조절하기 위해 맵을 사용할 수 있다.
일부 경우들에서, 이벤트 데이터는 키프레임들의 시각적 특징들 및 키프레임들 각각과 일치하는 관심 카메라 이벤트들의 발생들의 수(및/또는 키프레임에 대한 매칭들의 수)를 포함하는 엔트리들을 갖는 딕셔너리(dictionary) 또는 데이터 구조를 포함할 수 있다. 예를 들어, 이벤트 데이터는 n개의 얼굴 검출 이벤트들(예를 들어, n개의 얼굴의 이전 검출들)이 키프레임 x에 대응하는 하나 이상의 시각적 특징들과 연관됨을 표시하는 엔트리를 갖는 딕셔너리를 포함할 수 있다. 특정 환경 및/또는 관심 이벤트들과 연관된 환경의 영역/부분에 관련된 키프레임들에 걸쳐 관심 이벤트들의 카운트를 합산함으로써, 각각의 이벤트에 대한 (예를 들어, 기록된 키프레임들에 대한) 총 카운트가 컴퓨팅될 수 있다. 이벤트에 대한 총 카운트는 그 이벤트와 연관된 주어진 키프레임에 대한 그 이벤트의 사전 확률을 결정하기 위해 사용될 수 있다. 예를 들어, 키프레임들 xy에 대한 검출 이벤트들(예를 들어, 관심 이벤트들의 이전 검출들)의 총 카운트(또는 키프레임들 xy에 대한 매칭들의 수)는, 검출 이벤트들의 특정 퍼센트가 키프레임 x와 연관되고, 검출 이벤트들의 특정 퍼센트가 키프레임 y와 연관된다고 결정하기 위해 사용될 수 있다. 확률들은, 카메라가 맵퍼 내의 키프레임과 연관된 환경에 있을 때 (예를 들어, 그 환경에서 캡처된 카메라 프레임과 그 환경과 연관된 맵퍼 내의 키프레임 사이의 매칭에 기초하여) 카메라의 설정들을 조정하기 위해 사용될 수 있다.
맵퍼는 하나 이상의 팩터들에 기초하여 맵에 새로운 엔트리를 생성할지 여부를 결정할 수 있다. 예를 들어, 일부 경우들에서, 맵퍼는, 현재 프레임이 맵 내의 기존의 키프레임과 매칭하는지 여부, 관심 카메라 이벤트가 현재 프레임에서 검출되었는지 여부, 마지막 키프레임이 생성된 이후 경과된 시간, 마지막 키프레임이 매칭된 이후 경과된 시간 등에 따라 맵에서 새로운 엔트리를 생성할지 여부를 결정할 수 있다. 일부 경우들에서, 맵퍼는 이벤트들의 가능성이 낮은 맵 엔트리들(예를 들어, 임계치 이하의 이벤트 가능성을 갖는 맵 엔트리들)을 제거하기 위해 주기적인 컬링(culling) 프로세스를 이용할 수 있다. 일부 예들에서, 주기적인 컬링 프로세스는 자원 이용가능성(예를 들어, 이용가능한 메모리 등)과 같은 하나 이상의 팩터들에 기초하여 적응적일 수 있다. 예를 들어, 디바이스 상에서 이용가능한 메모리의 양이 임계치를 초과하면, 맵퍼는 관심 이벤트의 가능성이 낮은(예를 들어, 임계치 이하의 가능성) 하나 이상의 맵 엔트리들이 존재하는 경우에도 컬링 프로세스를 수행하지 않을 수 있다(또는 스킵하거나 지연시킬 수 있음). 다른 예로서, 디바이스 상에서 이용가능한 메모리의 양이 임계치 미만이면, 맵퍼는, 이러한 엔트리들이 그렇지 않으면 이용가능한 메모리의 양이 임계치 미만이 아닐 때 맵퍼가 이러한 엔트리들을 유지하게 할 특정 임계치 초과인 이벤트 가능성을 갖는 경우에도 컬링 프로세스를 수행하고 하나 이상의 맵 엔트리들을 제거할 수 있다.
제어기는, 현재(또는 임계 기간 내에서 최근에) 매칭된 키프레임에 대한 카메라 이벤트 사전 확률들에 기초하여 카메라의 하나 이상의 설정들(예를 들어, 프레임레이트, 해상도, 전력 모드, 호출된 이미지 센서들의 수, 비닝 모드, 이미징 모드 등)을 조절할 수 있다. 일부 예들에서, 제어기는 각각의 관심 카메라 이벤트에 대한 구성가능한 프레임레이트를 통합할 수 있다. 일부 예들에서, 맵퍼가 매칭된 키프레임을 표시할 때마다, 제어기는 카메라의 프레임레이트를 구성가능한 프레임레이트와 동일한 프레임레이트 곱하기 맵 내의 매칭된 키프레임 엔트리에 대한 사전 확률로 설정할 수 있다. 일부 예들에서, 카메라는 구성가능한 시간 기간 동안 또는 다음 매칭된 키프레임까지 이러한 프레임레이트를 유지할 수 있다. 일부 경우들에서, 현재(또는 임계 기간 내에서 최근에) 매칭된 키프레임들이 없을 때/경우, 카메라는 디폴트 프레임레이트, 이를테면, 가능성이 낮은 검출 이벤트들의 기간들 동안 더 낮은 전력 소비를 초래할 수 있는 더 낮은 프레임레이트를 구현할 수 있다.
전자 디바이스(및/또는 전자 디바이스 상의 카메라)는 다양한 타입들의 이벤트들을 모니터링할 수 있다(그리고 그에 대해 본 명세서에 설명된 시스템들 및 기법들을 구현할 수 있음). 검출 이벤트들의 비제한적인 예들은, 얼굴 검출, 장면 검출(예를 들어, 노을, 문서 스캐닝 등), 인간 그룹 검출, 동물/애완동물 검출, 코드(예를 들어, QR 코드, 바코드 등) 검출, (예를 들어, 6DOF(six degrees of freedom) 모션 추적기에서와 같은) 적외선 LED 검출, 2차원 평면 검출, 텍스트 검출, 디바이스 검출(예를 들어, 제어기, 스크린, 가제트, 컴퓨팅 디바이스 등), 제스처 검출(예를 들어, 미소 검출, 감정 검출, 손 흔들기, 손가락 포인팅 등) 등을 포함할 수 있다.
일부 경우들에서, 맵퍼는 이벤트 카운트들이 맵 엔트리들에 걸쳐 구성가능한 양만큼 비례적으로 감소되는 주기적인 감쇠 정규화 프로세스를 이용할 수 있다. 이는 카운트 값들을 수치적으로 한정된 상태로 유지할 수 있고, 이벤트/키프레임 상관들이 변할 때 사전의 더 신속한 조정을 허용할 수 있다.
일부 경우들에서, 카메라는 프레임레이트와 같은 감쇠 디폴트 설정을 구현할 수 있다. 예를 들어, 감소된 프레임레이트는 증가된 이벤트 검출 레이턴시와 연관될 수 있다(예를 들어, 더 높은 프레임레이트는 더 낮은 레이턴시를 초래할 수 있음). 디폴트 프레임레이트(예를 들어, 어떠한 키프레임들도 매칭되지 않은 때의 프레임레이트)의 경우, 제어기는, 맵이 더 작은 수(예를 들어, 임계치 미만)의 기록된 이벤트들을 포함할 때, 카메라의 프레임레이트를 더 낮은 프레임레이트로 디폴트시킬 수 있다(예를 들어, 이는 더 높은 검출 레이턴시를 초래할 수 있음). 이러한 경우들에 대해, 제어기는, 높게 시작하지만 더 많은 이벤트들이 맵에 추가됨에 따라(예를 들어, 디바이스가 어느 위치들/환경들이 관심 이벤트들과 가장 연관되는지를 학습함에 따라) 감쇠되는 디폴트 프레임레이트를 구현할 수 있다.
일부 경우들에서, 전자 디바이스는 맵퍼 의사-결정을 위해 비-카메라 이벤트들을 사용할 수 있다. 예를 들어, 전자 디바이스는 새로운 키프레임들의 생성, 오래된 키프레임들의 컬링/제거 등과 같은 비-카메라 이벤트들을 사용할 수 있다. 일부 경우들에서, 제어기는 카메라 키프레임들 및/또는 비-카메라 이벤트들에 기초하여 비-카메라 작업부하들/자원들을 조절할 수 있다. 예를 들어, 제어기는 카메라 키프레임들 및/또는 오디오-기반 존재 검출에 의해 조절되는 오디오 알고리즘들(예를 들어, 빔형성 등)을 구현할 수 있다. 다른 예로서, 제어기는 위치 서비스들(예를 들어, GNSS(Global Navigation Satellite System), Wi-Fi 등), 애플리케이션 데이터(예를 들어, XR 애플리케이션과 같은 전자 디바이스 상의 하나 이상의 애플리케이션들로부터의 데이터), 하나 이상의 사용자 입력들 및/또는 카메라 키프레임들 및/또는 위치 서비스들의 사용에 의해 조절된 다른 데이터를 구현할 수 있다.
본 출원의 다양한 양태들이 도면들과 관련하여 설명될 것이다.
도 1은 본 개시의 일부 예들에 따른, 이벤트들을 맵핑하고 맵핑된 이벤트들에 기초하여 전자 디바이스(100)의 하나 이상의 컴포넌트들 및/또는 동작들을 제어하기 위해 사용되는 전자 디바이스(100)의 예를 예시하는 도면이다. 일부 예들에서, 전자 디바이스(100)는 예를 들어, 이미징 기능들, XR(extended reality) 기능들(예를 들어, 로컬화/추적, 검출, 분류, 맵핑, 콘텐츠 렌더링 등), 이미지 프로세싱 기능들, 디바이스 관리 및/또는 제어 기능들, 게이밍 기능들, 자율 주행 또는 내비게이션 기능들, 컴퓨터 비전 기능들, 로봇 기능들, 자동화, 컴퓨터 비전 등과 같은 하나 이상의 기능들을 제공하도록 구성된 전자 디바이스를 포함할 수 있다.
예를 들어, 일부 경우들에서, 전자 디바이스(100)는 XR 디바이스(예를 들어, 헤드-장착 디스플레이, 헤드-업 디스플레이 디바이스, 스마트 안경 등)의 위치를 검출, 로컬화 및 맵핑하고, XR 기능들을 제공하고, XR 디바이스의 하나 이상의 동작들/상태들을 제어하기 위해 본 명세서에 설명된 바와 같은 이벤트들을 맵핑하도록 구성된 XR 디바이스일 수 있다. 일부 경우들에서, 전자 디바이스(100)는 예를 들어 그리고 제한 없이, XR 애플리케이션, 전자 디바이스(100)의 컴포넌트들 및/또는 동작들을 관리 및/또는 제어하기 위한 애플리케이션, 스마트 홈 애플리케이션, 비디오 게임 애플리케이션, 디바이스 제어 애플리케이션, 자율 주행 애플리케이션, 내비게이션 애플리케이션, 생산성 애플리케이션, 소셜 미디어 애플리케이션, 통신 애플리케이션, 모델링 애플리케이션, 미디어 애플리케이션, 전자 거래 애플리케이션, 브라우저 애플리케이션, 설계 애플리케이션, 맵 애플리케이션, 및/또는 임의의 다른 애플리케이션과 같은 하나 이상의 애플리케이션들을 구현할 수 있다.
도 1에 도시된 예시적인 예에서, 전자 디바이스(100)는 이미지 센서들(102 및 104), 오디오 센서(106)(예를 들어, 초음파 센서, 마이크로폰 등), IMU(inertial measurement unit)(108) 및 하나 이상의 컴퓨팅 컴포넌트들(110)과 같은 하나 이상의 이미지 센서들을 포함할 수 있다. 일부 경우들에서, 전자 디바이스(100)는 선택적으로, 예를 들어 그리고 제한 없이, 레이더, LIDAR(light detection and ranging) 센서, 터치 센서, 압력 센서(예를 들어, 기압 센서 및/또는 임의의 다른 압력 센서), 자이로스코프, 가속도계, 자력계 및/또는 임의의 다른 센서와 같은 하나 이상의 다른/추가적인 센서들을 포함할 수 있다. 일부 예들에서, 전자 디바이스(100)는 예를 들어, LED(light-emitting diode) 디바이스, 저장 디바이스, 캐시, 통신 인터페이스, 디스플레이, 메모리 디바이스 등과 같은 추가적인 컴포넌트들을 포함할 수 있다. 전자 디바이스(100)에 의해 구현될 수 있는 예시적인 아키텍처 및 예시적인 하드웨어 컴포넌트들은 도 7과 관련하여 아래에서 추가로 설명된다.
전자 디바이스(100)는 단일 컴퓨팅 디바이스 또는 다수의 컴퓨팅 디바이스들의 일부이거나 또는 그에 의해 구현될 수 있다. 일부 예들에서, 전자 디바이스(100)는 카메라 시스템(예를 들어, 디지털 카메라, IP 카메라, 비디오 카메라, 보안 카메라 등), 전화 시스템(예를 들어, 스마트폰, 셀룰러 전화, 회의 시스템 등), 랩톱 또는 노트북 컴퓨터, 태블릿 컴퓨터, 셋톱 박스, 스마트 텔레비전, 디스플레이 디바이스, 게이밍 콘솔, HMD와 같은 XR 디바이스, 드론, 차량 내 컴퓨터, IoT(Internet-of-Things) 디바이스, 스마트 웨어러블 디바이스, 또는 임의의 다른 적합한 전자 디바이스(들)와 같은 전자 디바이스(또는 디바이스들)의 일부일 수 있다.
일부 구현들에서, 이미지 센서(102), 이미지 센서(104), 오디오 센서(106), IMU(108) 및/또는 하나 이상의 컴퓨팅 컴포넌트들(110)은 동일한 컴퓨팅 디바이스의 부분일 수 있다. 예를 들어, 일부 경우들에서, 이미지 센서(102), 이미지 센서(104), 오디오 센서(106), IMU(108) 및/또는 하나 이상의 컴퓨팅 컴포넌트들(110)은 카메라 시스템, 스마트폰, 스마트폰, 랩톱, 태블릿 컴퓨터, 스마트 웨어러블 디바이스, HMD와 같은 XR 디바이스, IoT 디바이스, 게이밍 시스템, 및/또는 임의의 다른 컴퓨팅 디바이스와 또는 그 안에 통합될 수 있다. 다른 구현들에서, 이미지 센서(102), 이미지 센서(104), 오디오 센서(106), IMU(108) 및/또는 하나 이상의 컴퓨팅 컴포넌트들(110)은 2개 이상의 별개의 컴퓨팅 디바이스들의 일부이거나 그에 의해 구현될 수 있다.
전자 디바이스(100)의 하나 이상의 컴퓨팅 컴포넌트들(110)은 예를 들어 그리고 제한 없이, CPU(central processing unit)(112), GPU(graphics processing unit)(114), DSP(digital signal processor)(116) 및/또는 ISP(image signal processor)(118)를 포함할 수 있다. 일부 예들에서, 전자 디바이스(100)는 예를 들어, CV(computer vision) 프로세서, NNP(neural network processor), ASIC(application-specific integrated circuit), FPGA(field-programmable gate array) 등과 같은 다른 프로세서들을 포함할 수 있다. 전자 디바이스(100)는 예를 들어 확장 현실 동작들(예를 들어, 추적, 로컬화, 객체 검출, 분류, 포즈 추정, 맵핑, 콘텐츠 앵커링, 콘텐츠 렌더링 등), 디바이스 제어 동작들, 이미지/비디오 프로세싱, 그래픽스 렌더링, 이벤트 맵핑, 머신 러닝, 데이터 프로세싱, 모델링, 계산들, 컴퓨터 비전, 및/또는 임의의 다른 동작들과 같은 다양한 컴퓨팅 동작들을 수행하기 위해 하나 이상의 컴퓨팅 컴포넌트들(110)을 사용할 수 있다.
일부 경우들에서, 하나 이상의 컴퓨팅 컴포넌트들(110)은 본 명세서에서 설명된 다양한 동작들 중 임의의 것을 수행하기 위해 다른 전자 회로들 또는 하드웨어, 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 임의의 조합을 포함할 수 있다. 일부 예들에서, 하나 이상의 컴퓨팅 컴포넌트들(110)은 도 1에 도시된 것들보다 더 많은 또는 더 적은 컴퓨팅 컴포넌트들을 포함할 수 있다. 또한, CPU(112), GPU(114), DSP(116), 및 ISP(118)는 단지 설명 목적들을 위해 제공된 컴퓨팅 컴포넌트들의 예시적인 예들일 뿐이다.
이미지 센서(102) 및/또는 이미지 센서(104)는 디지털 카메라 센서, 비디오 카메라 센서, 스마트폰 카메라 센서, 텔레비전 또는 컴퓨터와 같은 전자 장치 상의 이미지/비디오 캡처 디바이스, 카메라 등과 같은 임의의 이미지 및/또는 비디오 센서 또는 캡처 디바이스를 포함할 수 있다. 일부 경우들에서, 이미지 센서(102) 및/또는 이미지 센서(104)는 카메라 또는 컴퓨팅 디바이스, 이를테면 디지털 카메라, 비디오 카메라, IP 카메라, 스마트폰, 스마트 텔레비전, 게임 시스템 등의 일부일 수 있다. 또한, 일부 경우들에서, 이미지 센서(102) 및 이미지 센서(104)는 다수의 이미지 센서들, 이를테면 후방 및 전방 센서 디바이스들을 포함할 수 있고, 듀얼 카메라 또는 다른 멀티 카메라 조립체(예를 들어, 2개의 카메라, 3개의 카메라들, 4개의 카메라들 또는 다른 수의 카메라들을 포함함)의 일부일 수 있다.
일부 예들에서, 이미지 센서(102)는 이전에 설명된 바와 같이 저전력 카메라 설정들을 구현하거나 구현할 수 있는 카메라와 같은 카메라의 일부일 수 있고, 이미지 센서(104)는 (예를 들어, 이미지 센서(102)와 연관된 카메라와 비교하여) 고전력 카메라 설정들을 구현하거나 구현할 수 있는 카메라와 같은 카메라의 일부일 수 있다. 일부 예들에서, 이미지 센서(102)와 연관된 카메라는 이벤트들을 검출하고 그리고/또는 캡처된 이미지 데이터를 프로세싱하기 위해 사용되는 (예를 들어, 이미지 센서(104)와 연관된 카메라와 비교하여) 저전력 하드웨어 및/또는 (예를 들어, 이미지 센서(104)와 연관된 카메라와 비교하여) 더 에너지 효율적인 이미지 프로세싱 소프트웨어를 구현할 수 있다. 일부 경우들에서, 카메라는 예를 들어, 더 낮은 프레임레이트, 더 낮은 해상도, 더 적은 수의 이미지 센서들, 더 낮은 전력 모드, 더 낮은 전력 이미징 모드 등과 같이, 이미지 센서(104)와 연관된 카메라보다 더 낮은 전력 설정들 및/또는 모드들을 구현할 수 있다. 일부 예들에서, 카메라는 고전력 카메라보다 더 적은 및/또는 더 낮은 전력 이미지 센서들을 구현할 수 있고, DRAM(dynamic random-access memory)보다는 온-칩 SRAM(static random-access memory)과 같은 저전력 메모리를 사용할 수 있고, 누설을 감소시키기 위해 아일랜드 전압 레일들을 사용할 수 있고, PLL(phased-locked loop)들보다는 클록 소스들로서 오실레이터들을 사용할 수 있고, 그리고/또는 다른 저전력 프로세싱 하드웨어/컴포넌트들을 사용할 수 있다.
일부 경우들에서, 이미지 센서(102) 및/또는 이미지 센서(104)와 연관된 카메라들은 더 높은 전력/해상도 카메라들과 같은 다른 디바이스들보다 더 적은 배터리 전력을 사용하면서, 장면에서 움직임 및/또는 이벤트들을 주시하고 그리고/또는 장면에서 이벤트들을 검출하기 위해 온 상태를 유지하거나 또는 "웨이크 업"할 수 있다. 예를 들어, 이미지 센서(102)와 연관된 카메라는 장면에서 객체들을 발견하기 위해 장면에서 움직임 및/또는 활동을 주시하기 위해 지속적으로 주시하거나 웨이크 업할 수 있다(예를 들어, 근접 센서에 의해 또는 주기적으로 웨이크 업). 일부 경우들에서, 이벤트를 발견할 시에, 카메라는 다른 액션들 중에서도, 예를 들어, 객체 검출, 객체 인식, 얼굴 인증, 이미지 프로세싱 작업들과 같은 하나 이상의 액션들을 트리거할 수 있다. 일부 경우들에서, 이미지 센서(102) 및/또는 이미지 센서(104)와 연관된 카메라들은 또한 다른 센서들, 프로세싱 하드웨어 등과 같은 다른 디바이스들을 "웨이크 업"할 수 있다.
일부 예들에서, 각각의 이미지 센서(102 및 104)는 이미지 데이터를 캡처하고, 이미지 데이터에 기초하여 프레임들을 생성하고 그리고/또는 프로세싱을 위해 이미지 데이터 또는 프레임들을 하나 이상의 컴퓨팅 컴포넌트들(110)에 제공할 수 있다. 프레임은 비디오 시퀀스의 비디오 프레임 또는 정지 이미지를 포함할 수 있다. 프레임은 장면을 표현하는 픽셀 어레이를 포함할 수 있다. 예를 들어, 프레임은 픽셀당 적색, 녹색 및 청색 색상 컴포넌트들을 갖는 RGB(red-green-blue) 프레임; 픽셀당 루마 컴포넌트 및 2개의 크로마(색상) 컴포넌트들(크로마-적색 및 크로마-청색)을 갖는 YCbCr(luma, chroma-red, chroma-blue) 프레임; 또는 임의의 다른 적합한 타입의 색상 또는 단색 픽처일 수 있다.
일부 예들에서, 하나 이상의 컴퓨팅 컴포넌트들(110)은 이미지 센서(102), 이미지 센서(104), 오디오 센서(106), IMU(108) 및/또는 임의의 다른 센서들 및/또는 컴포넌트로부터의 데이터를 사용하여 본 명세서에서 설명된 바와 같이, 이미지/비디오 프로세싱, 이벤트 맵핑, XR 프로세싱, 디바이스 관리/제어, 및/또는 다른 동작들을 수행할 수 있다. 예를 들어, 일부 경우들에서, 하나 이상의 컴퓨팅 컴포넌트들(110)은 이미지 센서(102), 이미지 센서(104), 오디오 센서(106), IMU(108) 및/또는 임의의 다른 컴포넌트로부터의 데이터에 기초하여 이벤트 맵핑, 디바이스 제어/관리, 추적, 로컬화, 객체 검출, 객체 분류, 포즈 추정, 형상 추정, 장면 맵핑, 콘텐츠 앵커링, 콘텐츠 렌더링, 이미지 프로세싱, 모델링, 콘텐츠 생성, 제스처 검출, 제스처 인식 및/또는 다른 동작들을 수행할 수 있다. 일부 예들에서, 하나 이상의 컴퓨팅 컴포넌트들(110)은 이미지 센서(102), 이미지 센서(104), 오디오 센서(106), IMU(108), 및/또는 임의의 다른 컴포넌트로부터의 데이터를 사용하여, 이벤트 데이터(예를 들어, 검출된 이벤트들을 특정 환경들 및/또는 환경의 영역들/부분들에 상관시키는 이벤트 맵)를 생성하고, 예를 들어, 이미지 센서(102), 이미지 센서(104), 오디오 센서(106), IMU(108), 하나 이상의 컴퓨팅 컴포넌트들(110) 및/또는 전자 디바이스(100)의 임의의 다른 컴포넌트들과 같은 하나 이상의 컴포넌트들의 상태(예를 들어, 전력 모드, 설정 등) 및/또는 동작을 조정할 수 있다. 일부 예들에서, 하나 이상의 컴퓨팅 컴포넌트들(110)은, 이미지 센서(102), 이미지 센서(104), 오디오 센서(106), IMU(108) 및/또는 임의의 다른 컴포넌트로부터의 데이터에 기초하여, 장면에서 이벤트들을 검출 및 맵핑하고 그리고/또는 전자 디바이스(100)(및/또는 그의 하나 이상의 컴포넌트들)의 동작/상태를 제어할 수 있다.
일부 예들에서, 하나 이상의 컴퓨팅 컴포넌트들(110)은 본 명세서에서 설명된 바와 같이, 예를 들어, 특징 추출기(120), 키프레임 매칭기(122), 맵퍼(124), 및 제어기(126)와 같은 하나 이상의 소프트웨어 엔진들 및/또는 알고리즘들을 구현할 수 있다. 일부 경우들에서, 하나 이상의 컴퓨팅 컴포넌트들(110)은 하나 이상의 추가적인 컴포넌트들 및/또는 알고리즘들, 이를테면 머신 러닝 모델(들), 컴퓨터 비전 알고리즘(들), 뉴럴 네트워크(들) 및/또는 임의의 다른 알고리즘 및/또는 컴포넌트를 포함한다.
일부 예들에서, 특징 추출기(120)는 이미지 센서(102)와 연관된 카메라 디바이스와 같은 카메라 디바이스에 의해 획득된 하나 이상의 프레임들로부터 시각적 특징들을 추출할 수 있다. 특징 추출기(120)는, 예를 들어 그리고 제한 없이, SIFT(scale-invariant feature transform), SURF(speeded up robust features), ORB(Oriented FAST and rotated BRIEF) 및/또는 임의의 다른 검출기/알고리즘과 같은 시각적 특징들을 추출하기 위한 검출기 및/또는 알고리즘을 구현할 수 있다.
일부 예들에서, 키프레임 매칭기(122)는 카메라 디바이스에 의해 획득된 하나 이상의 프레임들의 특징들(예를 들어, 특징 추출기(120)에 의해 추출된 시각적 특징들)을 맵퍼(124)에 의해 생성된 이벤트 데이터(예를 들어, 이벤트 맵) 내의 키프레임들의 특징들과 비교할 수 있다. 일부 경우들에서, 이벤트 데이터는 검출된 관심 이벤트들(및/또는 키프레임들, 추출된 이미지 특징들, 이벤트 카운트들 등과 같은 연관된 데이터)을 이러한 이벤트들이 발생한(그리고/또는 검출된) 하나 이상의 특정 환경들(및/또는 특정 환경들의 부분들/영역들)과 상관시키는 이벤트 맵을 포함할 수 있다. 일부 예들에서, 이벤트 데이터의 키프레임들은 검출된 관심 이벤트들과 연관된 프레임들에 기초하여 생성된 키프레임들을 포함할 수 있다. 맵퍼(124)는 이벤트와 연관된 새로운 키프레임을 생성할지(또는 기존의 키프레임을 대체할지) 여부를 결정하고, 그 키프레임과 연관된 이벤트 카운트를 이벤트 데이터에 기록(또는 업데이트)할 수 있다. 이벤트 데이터는 관심 이벤트들이 관측된(예를 들어, 카메라 디바이스에 의해 획득된 하나 이상의 프레임들로부터 검출된) 하나 이상의 위치들/환경들에 대응하는 다수의 키프레임들 및 이들 키프레임들과 연관된 이벤트 카운트들을 포함할 수 있다. 제어기(126)는, 카메라 디바이스로부터의 착신 프레임과 이벤트 데이터 내의 키프레임 사이의 매칭에 기초하여 카메라 디바이스의 하나 이상의 설정들(예를 들어, 프레임레이트, 해상도, 전력 모드, 호출된 이미지 센서들의 수, 비닝 모드, 이미징 모드 등)(예를 들어, 이미지 센서(102) 및/또는 하나 이상의 다른 하드웨어 및/또는 소프트웨어 컴포넌트들의 하나 이상의 설정들)을 조절하기 위해 이벤트 데이터를 사용할 수 있다.
일부 경우들에서, 이벤트 데이터는 이벤트 맵, 분류 데이터, 키프레임 데이터, 프레임들로부터 추출된 특징들, 분류 맵 데이터, 이벤트 통계, 및/또는 키프레임들의 시각적 특징들 및 키프레임들 각각과 일치하는 검출된 관심 이벤트들의 발생들의 수(및/또는 키프레임에 대한 매칭들의 수)를 포함하는 엔트리들을 갖는 딕셔너리를 포함할 수 있다. 예를 들어, 이벤트 데이터는 n개의 얼굴 검출 이벤트들이 키프레임 x에 대응하는 하나 이상의 시각적 특징들과 연관됨을 표시하는 엔트리를 갖는 딕셔너리를 포함할 수 있다. 일부 예들에서, 맵퍼(124)는 각각의 이벤트에 대한 (예를 들어, 기록된 키프레임들에 대한) 카운트를 컴퓨팅할 수 있다. 일부 경우들에서, 카운트는 특정 시간 기간 내의 관심 이벤트의 발생들의 카운트 및/또는 평균을 포함할 수 있다. 일부 경우들에서, 카운트는 관심 이벤트의 총 발생 카운트를 포함할 수 있다. 일부 예들에서, 맵퍼(124)는 이벤트들에 대응하는 환경(들) 및/또는 환경(들)의 영역/부분과 연관된 키프레임들에 걸친 관심 이벤트들의 카운트의 합에 기초하여 총 카운트를 결정할 수 있다. 이벤트에 대한 카운트는 그 이벤트와 연관된 주어진 키프레임에 대한 그 이벤트의 사전 확률을 결정하기 위해 사용될 수 있다. 예를 들어, 키프레임들 xy에 대한 검출 이벤트들의 카운트(또는 키프레임들 xy에 대한 매칭들의 수)는, 검출 이벤트들의 제1 측정이 키프레임 x와 연관되고, 검출 이벤트들의 제2 측정이 키프레임 y와 연관된다고 결정하기 위해 사용될 수 있다.
제어기(126)는, 카메라 디바이스가 이벤트 데이터 내의 키프레임과 연관된 환경에 있을 때 (예를 들어, 그 환경에서 캡처된 프레임과 그 환경과 연관된 및 이벤트 데이터 내의 키프레임 사이의 매칭에 기초하여) 카메라 디바이스(예를 들어, 이미지 센서(102)와 연관된 카메라 디바이스)의 하나 이상의 설정들을 조정하기 위해 확률들을 사용할 수 있다. 일부 경우들에서, 제어기(126)는 대안적으로 또는 추가적으로, 전자 디바이스(100)가 이벤트 데이터 내의 키프레임과 연관된 환경에 있거나 있지 않을 때, 다른 카메라 디바이스(예를 들어, 이미지 센서(104)와 연관된 카메라 디바이스, 이미지 센서(102)와 연관된 카메라 디바이스보다 높은 전력 카메라 설정들을 이용하고 그리고/또는 이용할 능력들을 갖는 카메라 디바이스 등), 프로세싱 컴포넌트 및/또는 파이프라인 등과 같은, 전자 디바이스(100)의 다른 컴포넌트들의 하나 이상의 설정들을 조정하기 위해 확률들을 사용할 수 있다.
맵퍼(124)는 하나 이상의 팩터들에 기초하여 이벤트 데이터에 새로운 엔트리를 생성할지 여부를 결정할 수 있다. 예를 들어, 일부 경우들에서, 맵퍼(124)는, 카메라 디바이스(예를 들어, 이미지 센서(102)와 연관된 카메라 디바이스)에 의해 캡처된 현재 프레임이 이벤트 데이터 내의 기존의 키프레임과 매칭하는지 여부, 관심 카메라 이벤트가 현재 프레임에서 검출되었는지 여부, 마지막 키프레임이 생성된 이후 경과된 시간, 마지막 키프레임이 매칭된 이후 경과된 시간 등에 따라 이벤트 데이터에서 새로운 엔트리를 생성할지 여부를 결정할 수 있다. 일부 경우들에서, 맵퍼(124)는 이벤트들의 가능성이 더 낮은(예를 들어, 임계치 이하의 확률 값을 갖는 가능성을 갖는) 맵 엔트리들을 제거하기 위해 주기적인 컬링 프로세스를 이용할 수 있다.
일부 예들에서, 제어기(126)는 예를 들어 그리고 제한 없이, 프레임 레이트, 해상도, 전력 모드, 이미징 모드, 관심 이벤트와 연관된 하나 이상의 이미지들을 캡처하기 위해 호출되는 이미지 센서들, 캡처된 이미지들을 프로세싱하고 그리고/또는 캡처된 이미지들에서 이벤트들을 검출하기 위한 프로세싱 액션들 및/또는 프로세싱 파이프라인의 수 등을 증가 또는 감소시키는 것과 같은 카메라 디바이스(예를 들어, 이미지 센서(102)와 연관된 카메라 디바이스)의 하나 이상의 설정들을 조절할 수 있다. 예를 들어, 일부 경우들에서, 전자 디바이스(100)는 특정 환경들에서 특정 관심 이벤트들에 직면할 가능성이 통계적으로 더 높을 수 있다. 일부 경우들에서, 전자 디바이스(100)가 관심 이벤트에 직면할 더 낮은 가능성을 갖는 환경에 전자 디바이스(100)가 위치될 때 불필요한 전력을 낭비하는 것을 피하기 위해, 제어기(126)는 카메라 디바이스를 턴 오프시키거나 카메라 디바이스의 하나 이상의 설정들을 조절하여, 전자 디바이스(100)가 관심 이벤트를 직면할 더 낮은 가능성과 연관된 환경에 있을 때 카메라 디바이스에 의한 전력 사용을 감소시킬 수 있다. 전자 디바이스(100)가 관심 이벤트에 직면할 더 높은 가능성을 갖는 환경에 전자 디바이스(100)가 위치될 때, 제어기(126)는 카메라 디바이스를 턴 온시키거나 카메라 디바이스의 하나 이상의 설정들을 조절하여, 전자 디바이스(100)가 관심 이벤트를 직면할 더 높은 가능성과 연관된 환경에 있을 때 카메라 디바이스에 의한 전력 사용 및/또는 카메라 디바이스의 성능을 감소시킬 수 있다.
일부 경우들에서, 제어기(126)는, 현재(또는 임계 기간 내에서 최근에) 매칭된 키프레임에 대한 카메라 이벤트 사전 확률들에 기초하여 카메라 디바이스(들)(예를 들어, 이미지 센서(102), 이미지 센서(104))의 하나 이상의 설정들을 조절할 수 있다. 일부 예들에서, 제어기(126)는 각각의 관심 카메라 이벤트에 대한 구성가능한 프레임레이트를 통합할 수 있다. 일부 예들에서, 맵퍼(124)가 매칭된 키프레임을 표시할 때, 제어기(126)는 카메라 디바이스의 프레임레이트를 구성가능한 프레임레이트와 동일한 프레임레이트 곱하기 이벤트 데이터 내의 매칭된 키프레임 엔트리에 대한 사전 확률로 설정할 수 있다. 일부 예들에서, 카메라 디바이스는 구성가능한 시간 기간 동안 또는 다음 매칭된 키프레임까지 이러한 프레임레이트를 유지할 수 있다. 일부 경우들에서, 현재(또는 임계 기간 내에서 최근에) 매칭된 키프레임들이 없을 때/경우, 카메라 디바이스는 디폴트 프레임레이트, 이를테면, 가능성이 낮은 검출 이벤트들의 기간들 동안 더 낮은 전력 소비를 초래하는 더 낮은 프레임레이트를 구현할 수 있다.
일부 예들에서, 전자 디바이스(100)(및/또는 전자 디바이스(100) 상의 제어기(126))는 다양한 타입들의 이벤트들을 모니터링할 수 있다(그리고 그에 대해 본 명세서에 설명된 기법들을 구현할 수 있음). 검출 이벤트들의 비제한적인 예들은, 다른 것들 중에서도, 얼굴 검출, 장면 검출(예를 들어, 노을, 룸 등), 인간 그룹 검출, 동물/애완동물 검출, 코드(예를 들어, QR 코드 등) 검출, 문서 검출, (예를 들어, 6DOF(six degrees of freedom) 모션 추적기에서와 같은) 적외선 LED 검출, 평면 검출, 텍스트 검출, 디바이스 검출(예를 들어, 제어기, 스크린, 가제트 등), 제스처 검출(예를 들어, 미소 검출, 감정 검출, 손 흔들기 등)을 포함할 수 있다.
일부 경우들에서, 맵퍼(124)는 이벤트 카운트들이 맵 엔트리들에 걸쳐 구성가능한 양만큼 감소되는 주기적인 감쇠 정규화 프로세스를 이용할 수 있다. 이는 카운트 값들을 수치적으로 한정된 상태로 유지할 수 있고, 이벤트/키프레임 상관들이 변할 때 사전의 더 신속한 조정을 허용할 수 있다.
일부 경우들에서, 카메라 디바이스(예를 들어, 이미지 센서(102))는 프레임레이트와 같은 감쇠 디폴트 설정을 구현할 수 있다. 예를 들어, 감소된 프레임레이트는 증가된 이벤트 검출 레이턴시와 연관될 수 있다(예를 들어, 더 높은 프레임레이트는 더 낮은 레이턴시를 초래할 수 있음). 디폴트 프레임레이트(예를 들어, 어떠한 키프레임들도 매칭되지 않은 때의 프레임레이트)의 경우, 제어기(126)는, 이벤트 데이터가 더 작은 수(예를 들어, 임계치 미만)의 기록된 이벤트들을 포함할 때, 카메라 디바이스의 프레임레이트를 더 낮은 프레임레이트로 디폴트시킬 수 있다(예를 들어, 이는 더 높은 검출 레이턴시를 초래할 수 있음). 이러한 경우들에 대해, 제어기(126)는, 임계 레벨에서 시작하지만 더 많은 이벤트들이 이벤트 데이터에 추가됨에 따라(예를 들어, 전자 디바이스가 어느 위치들/환경들이 관심 이벤트들과 가장 연관되는지를 학습함에 따라) 감쇠되는 디폴트 프레임레이트를 구현할 수 있다.
일부 경우들에서, 맵퍼(124)는 맵퍼 의사-결정을 위해 비-카메라 이벤트들을 사용할 수 있다. 예를 들어, 맵퍼(124)는 새로운 키프레임들의 생성, 오래된 키프레임들의 컬링/제거 등과 같은 비-카메라 이벤트들을 사용할 수 있다. 일부 경우들에서, 제어기(126)는 키프레임들 및/또는 비-카메라 이벤트들에 기초하여 비-카메라 작업부하들/자원들을 조절할 수 있다. 예를 들어, 제어기(126)는 카메라 디바이스 키프레임들 및/또는 오디오-기반 존재 검출에 의해 조절되는 하나 이상의 오디오 알고리즘들(예를 들어, 빔형성 등)을 구현할 수 있다. 다른 예로서, 제어기(126)는 위치 서비스들(예를 들어, GNSS(Global Navigation Satellite System), Wi-Fi 등), 애플리케이션 데이터, 사용자 입력들 및/또는 카메라 디바이스 키프레임들 및/또는 위치 서비스들의 사용에 의해 조절된 다른 데이터를 구현할 수 있다.
일부 경우들에서, IMU(108)는 전자 디바이스(100)의 가속도, 각속도 및/또는 배향을 검출하고 검출된 가속도에 기초하여 측정들을 생성할 수 있다. 일부 경우들에서, IMU(108)는 전자 디바이스(100)의 배향, 선형 속도 및/또는 각속도를 검출 및 측정할 수 있다. 예를 들어, IMU(108)는 전자 디바이스(100)의 움직임 및/또는 피치, 롤, 및 요를 측정할 수 있다. 일부 예들에서, 전자 디바이스(100)는 IMU(108)에 의해 획득된 측정들 및/또는 이미지 센서(102), 이미지 센서(104), 오디오 센서(106) 등 중 하나 이상으로부터의 데이터를 사용하여, 3D 공간 내에서 전자 디바이스(100)의 포즈를 계산할 수 있다. 일부 경우들에서, 전자 디바이스(100)는 추가적으로 또는 대안적으로, 이미지 센서(102), 이미지 센서(104), 오디오 센서(106), 및/또는 임의의 다른 센서로부터의 센서 데이터를 사용하여, 추적, 포즈 추정, 맵핑, 이벤트 데이터 엔트리들의 생성 및/또는 본 명세서에서 설명되는 다른 동작들을 수행할 수 있다.
전자 디바이스(100)와 관련하여 도 1에 도시된 컴포넌트들은 설명을 목적으로 제공된 예시적인 예들이다. 다른 예들에서, 전자 디바이스(100)는 도 1에 도시된 것들보다 더 많은 또는 더 적은 컴포넌트들을 포함할 수 있다. 전자 디바이스(100)가 특정 컴포넌트들을 포함하는 것으로 도시되지만, 당업자는 전자 디바이스(100)가 도 1에 도시된 컴포넌트들보다 더 많거나 더 적은 컴포넌트들을 포함할 수 있음을 인식할 것이다. 예를 들어, 전자 디바이스(100)는, 일부 경우들에서, 하나 이상의 메모리 디바이스들(예를 들어, RAM, ROM, 캐시 등), 하나 이상의 네트워킹 인터페이스들(예를 들어, 유선 및/또는 무선 통신 인터페이스들 등), 하나 이상의 디스플레이 디바이스들, 캐시들, 저장 디바이스들 및/또는 도 1에 도시되지 않은 다른 하드웨어 또는 프로세싱 디바이스들을 포함할 수 있다. 전자 디바이스(100)와 함께 구현될 수 있는 컴퓨팅 디바이스 및/또는 하드웨어 컴포넌트들의 예시적인 예가 도 7과 관련하여 아래에서 설명된다.
도 2a는 환경과 연관된 이벤트들을 맵핑하고 맵핑된 이벤트들에 기초하여 카메라 디바이스의 설정들(예를 들어, 전력 상태들, 동작들, 파라미터들 등)을 제어하기 위한 예시적인 시스템 프로세스(200)를 예시하는 도면이다. 이 예에서, 이미지 센서(102)는 이미지 센서(102)가 위치된 환경에서 장면 및/또는 이벤트의 프레임(210)을 캡처할 수 있다. 일부 예들에서, 이미지 센서(102)는 환경을 모니터링하고 그리고/또는 환경에서 임의의 관심 이벤트의 프레임을 캡처하기 위해 환경에서 관심 이벤트들을 찾을 수 있다. 관심 이벤트는 예를 들어 그리고 제한 없이, 제스처(예를 들어, 손 제스처 등), 감정(예를 들어, 미소 등), (예를 들어, 사람, 디바이스, 동물 등에 의한) 활동 또는 액션, 객체의 발생 또는 현재 등을 포함할 수 있다. 관심 이벤트와 연관된 객체는 예를 들어 그리고 제한 없이, 얼굴, 장면(예를 들어, 일몰, 공원, 룸 등), 사람, 사람들의 그룹, 동물, 문서, 객체(예를 들어, 디바이스, 문서, 디스플레이, 문 또는 벽과 같은 구조물, 싸인 등) 상의 코드(예를 들어, QR 코드, 바코드 등), 광, 패턴, 객체 상의 링크, 물리적 공간 내의 평면(예를 들어, 표면 상의 평면 등), 텍스트, 적외선(IR) LED(light-emitting diode) 검출 및/또는 임의의 다른 객체를 포함하고, 표현하고 그리고/또는 지칭할 수 있다.
전자 디바이스(100)는 이미지 프로세싱 모듈(212)을 사용하여 프레임(210)에 대해 하나 이상의 이미지 프로세싱 동작들을 수행할 수 있다. 일부 예들에서, 하나 이상의 이미지 프로세싱 동작들은 프레임(210)에 기초하여 하나 이상의 카메라 이벤트 검출 트리거들(214)을 검출하기 위한 객체 검출을 포함할 수 있다. 예를 들어, 이미지 프로세싱 모듈(212)은 프레임으로부터 특징들을 추출하고 추출된 특징들을 객체 검출을 위해 사용할 수 있다. 이미지 프로세싱 모듈(212)은 추출된 특징들에 기초하여 하나 이상의 카메라 이벤트 검출 트리거들(214)을 검출할 수 있다. 하나 이상의 카메라 이벤트 검출 트리거들(214)은 전술된 바와 같이 하나 이상의 관심 이벤트들을 포함할 수 있다. 일부 예들에서, 하나 이상의 이미지 프로세싱 동작들은 이미지 센서(102)와 연관된 카메라 프로세싱 파이프라인을 포함할 수 있다. 일부 경우들에서, 하나 이상의 이미지 프로세싱 동작들은 하나 이상의 카메라 이벤트 검출 트리거들(214)을 검출 및/또는 인식할 수 있다. 이미지 프로세싱 모듈(212)은 하나 이상의 카메라 이벤트 검출 트리거들(214)을 특징 추출기(120), 맵퍼(124), 제어기(126), 및/또는 전자 디바이스(100) 상의 애플리케이션(204)에 제공할 수 있다. 특징 추출기(120), 맵퍼(124), 제어기(126), 및/또는 애플리케이션(204)은 하나 이상의 카메라 이벤트 검출 트리거들(214)을 사용하여, 본 명세서에서 설명된 바와 같은 하나 이상의 액션들, 이를테면, 애플리케이션 동작들, 카메라 설정 조정들, 객체 검출, 객체 인지 등을 수행할 수 있다. 예를 들어, 하나 이상의 카메라 이벤트 검출 트리거들(214)은 본 명세서에서 설명된 바와 같이, 특징 추출기(120), 맵퍼(124), 제어기(126) 및/또는 애플리케이션(204)에 의한 하나 이상의 액션들을 트리거하도록 구성될 수 있다.
일부 예들에서, 애플리케이션(204)은 환경에서 검출된 이벤트들에 관한 정보를 사용할 수 있는 전자 디바이스(100) 상의 임의의 애플리케이션을 포함할 수 있다. 예를 들어, 애플리케이션(204)은 인증 애플리케이션(예를 들어, 얼굴 인증 애플리케이션 등), XR 애플리케이션, 내비게이션 애플리케이션, 아이템들을 주문 또는 구매하기 위한 애플리케이션, 비디오 게임 애플리케이션, 사진 애플리케이션, 디바이스 관리 애플리케이션, 웹 애플리케이션, 통신 애플리케이션(예를 들어, 메시징 애플리케이션, 비디오 및/또는 음성 애플리케이션 등), 미디어 재생 애플리케이션, 소셜 미디어 네트워크 애플리케이션, 브라우저 애플리케이션, 스캐닝 애플리케이션 등을 포함할 수 있다. 애플리케이션(204)은 하나 이상의 액션들을 수행하기 위해 하나 이상의 카메라 이벤트 검출 트리거들(214)을 사용할 수 있다. 예를 들어, 애플리케이션(204)이 XR 애플리케이션이면, 애플리케이션(204)은 예를 들어, 디바이스(예를 들어, 제어기 또는 다른 입력 디바이스 등), 손, 경계, 사람 등과 같은 애플리케이션(204)에 의한 사용을 위한 환경에서의 이벤트를 발견하기 위해 하나 이상의 카메라 이벤트 검출 트리거들(214)을 사용할 수 있다. 다른 예로서, 애플리케이션(204)은 문서, 링크 또는 코드를 스캔하기 위해 하나 이상의 카메라 이벤트 검출 트리거들(214)을 사용하고, 문서, 링크 또는 코드에 기초하여 액션을 수행할 수 있다. 또 다른 예로서, 애플리케이션(204)이 스마트 홈 어시스턴트 애플리케이션이면, 애플리케이션(204)은 스마트 홈 디바이스 동작/액션을 트리거하기 위해 사람 및/또는 객체의 존재를 발견하기 위해 하나 이상의 카메라 이벤트 검출 트리거들(214)을 사용할 수 있다.
또한, 특징 추출기(120)는 프레임(210)에서 시각적 특징들을 추출하기 위해 프레임(210)을 분석할 수 있다. 일부 예들에서, 특징 추출기(120)는 프레임(210)에서 시각적 특징들을 추출하고 추출된 특징들과 연관된 이벤트를 분류하기 위해 객체 인식을 수행할 수 있다. 일부 경우들에서, 특징 추출기(120)는 프레임(210)으로부터 시각적 특징들을 추출하고 추출된 특징들의 디스크립터(들)를 결정하기 위한 알고리즘을 구현할 수 있다. 특징 추출기/검출기 알고리즘의 비제한적인 예들은 SIFT, SURF, ORB 등을 포함할 수 있다.
특징 추출기(120)는 프레임(210) 및 연관된 디스크립터(들)로부터 추출된 특징들을 키프레임 매칭기(122) 및 맵퍼(124)에 제공할 수 있다. 연관된 디스크립터(들)는 프레임(210)으로부터 추출된 특징들 및/또는 추출된 특징들로부터 검출된 이벤트를 식별 및/또는 설명할 수 있다. 일부 예들에서, 연관된 디스크립터(들)는 태그, 라벨, 식별자 및/또는 임의의 다른 디스크립터를 포함할 수 있다.
키프레임 매칭기(122)는, 관심 이벤트들이 이전에 검출된 환경(예를 들어, 환경 내의 영역/위치)에 전자 디바이스(100)가 위치되는지 여부를 결정(또는 전자 디바이스(100)가 위치될 가능성을 결정)하기 위해 특징 추출기(120)로부터의 특징들 및/또는 디스크립터(들)를 사용할 수 있다. 일부 예들에서, 키프레임 매칭기(122)는, 관심 이벤트들이 이전에 검출된 환경(예를 들어, 환경 내의 영역/위치)에 전자 디바이스(100)가 위치되는지 여부를 결정(또는 전자 디바이스(100)가 위치될 가능성을 결정)하기 위해 키프레임들을 포함하는 이벤트 데이터(202)를 사용할 수 있다. 일부 예들에서, 이벤트 데이터(202)는 검출된 관심 이벤트들을 캡처하는 프레임들에 대응하는 키프레임들을 포함할 수 있다. 일부 경우들에서, 이벤트 데이터(202)는 관심 이벤트들이 관측된(예를 들어, 이미지 센서(102) 또는 이미지 센서(104)에 의해 획득된 하나 이상의 프레임들로부터 검출된) 위치들/환경들에 대응하는 다수의 키프레임들 및 이들 키프레임들과 연관된 이벤트 카운트들을 포함할 수 있다.
일부 경우들에서, 이벤트 데이터(202)는 이벤트 맵, 이벤트 엔트리들, 분류 데이터, 하나 이상의 키프레임들, 분류 맵, 이벤트 통계, 추출된 특징들, 특징 디스크립터들 및/또는 임의의 다른 데이터를 포함할 수 있다. 일부 예들에서, 이벤트 데이터(202)는 키프레임들의 시각적 특징들 및 키프레임들 각각과 일치하는 검출된 관심 이벤트들(예를 들어, 이벤트 카운트들)의 발생들의 수(및/또는 키프레임에 대한 매칭들의 수)를 포함하는 엔트리들을 갖는 딕셔너리를 포함할 수 있다. 예를 들어, 이벤트 데이터(202)는 n개의 QR 코드 검출 이벤트들(예를 들어, n개의 QR 코드의 이전 검출들)이 키프레임 x에 대응하는 하나 이상의 시각적 특징들과 연관됨을 표시하는 엔트리를 갖는 딕셔너리를 포함할 수 있다. 일부 경우들에서, 키프레임 매칭기(122)는 이벤트 카운트들이 하나 이상의 이벤트 데이터 엔트리들에 걸쳐 구성가능한 양만큼 감소되는 주기적인 감쇠 정규화 프로세스를 이용할 수 있다. 예를 들어, 키프레임 매칭기(122)는 이벤트 카운트들이 모든 이벤트 데이터 엔트리들에 걸쳐 구성가능한 양만큼 감소되는 주기적인 감쇠 정규화 프로세스를 이용할 수 있다. 이는 카운트 값들을 수치적으로 한정된 상태로 유지할 수 있고, 이벤트/키프레임 상관들이 변할 때 사전의 더 신속한 조정을 허용할 수 있다.
일부 예들에서, 키프레임 매칭기(122)는 프레임(210)으로부터 추출된 특징들을 이벤트 데이터(202)의 키프레임들의 특징들과 비교할 수 있다. 일부 예들에서, 키프레임 매칭기(122)는 프레임(210)으로부터 추출된 특징들의 디스크립터(들)를 이벤트 데이터(202)의 키프레임들의 특징들의 디스크립터들과 비교할 수 있다. 이벤트 데이터(202)의 키프레임들은 관심 이벤트가 이전에 검출된 환경 또는 환경 내의 위치에 대응하기 때문에, 프레임(210)(및/또는 연관된 디스크립터)으로부터 추출된 특징들과 이벤트 데이터(202)의 키프레임(및/또는 연관된 디스크립터)의 특징들 사이의 매칭은 관심 이벤트가 이전에 검출된 환경 또는 환경 내의 위치에 전자 디바이스(100)가 위치되는 것(또는 전자 디바이스(100)가 위치될 가능성)을 표시할 수 있다. 일부 예들에서, 키프레임 매칭기(122)는 프레임(210)으로부터 추출된 특징들과 이벤트 데이터(202) 내의 특징 키프레임들의 사이의 매칭에 기초하여 프레임(210) 및/또는 프레임(210)으로부터 추출된 특징들을 특정 환경(및/또는 특정 환경 내의 위치/영역)과 상관시킬 수 있다. 이러한 상관은 전자 디바이스(100)가 특정 환경(및/또는 특정 환경 내의 위치/영역)에 위치된다는 것을 표시할 수 있다. 관심 이벤트가 이전에 검출된 환경 또는 환경 내의 위치에 전자 디바이스(100)가 위치되는 것에 관한 정보는, 전자 디바이스(100)가 환경 또는 환경 내의 위치에 위치될 때 관심 이벤트가 다시 검출될 가능성을 결정하기 위해 사용될 수 있다.
예를 들어, 일부 경우들에서, 관심 이벤트가 환경에서 관측/검출될 가능성은, 관심 이벤트가 그 환경에서 이전에 관측/검출되었는지 여부 및/또는 관심 이벤트가 그 환경에서 이전에 관측/검출된 횟수에 따라 증가 또는 감소될 수 있다. 예시하자면, 관심 이벤트가 특정 룸에서 빈번하게 관측/검출되었다는 결정은, 특정 룸에서 어떠한 관심 이벤트도 관측/검출되지 않았다는 결정보다 전자 디바이스(100)가 특정 룸에 있을 때 관심 이벤트가 다시 관측/검출될 더 높은 가능성을 제안할 수 있다. 따라서, 관심 이벤트가 이전에 검출된 환경 또는 환경 내의 위치에 전자 디바이스(100)가 위치된다는 결정은, 전자 디바이스(100)가 환경 또는 환경 내의 위치에 위치될 때 관심 이벤트가 다시 검출될 가능성을 결정하기 위해 사용될 수 있다. 이전에 설명된 바와 같이, 일부 예들에서, 관심 이벤트가 이전에 검출된 환경 또는 위치에 전자 디바이스(100)가 위치된다는 결정은 프레임(210)으로부터 추출된 특징들과 특정 환경 또는 위치와 상관되는 이벤트 데이터 내의 하나 이상의 키프레임들의 특징들 사이의 매칭에 기초할 수 있다.
본 명세서에서 추가로 설명되는 바와 같이, 전자 디바이스(100)가 환경 또는 환경 내의 위치에 위치될 때 관심 이벤트가 다시 검출될 가능성은, 전자 디바이스(100)가 이벤트 검출의 더 낮은 가능성과 연관된 환경(또는 그의 위치)에 위치될 때 전력 소비를 감소시키고 전력 절감들을 증가시키기 위해, 디바이스 및/또는 프로세싱 설정들(예를 들어, 전력 모드들, 동작들, 디바이스 구성들, 프로세싱 구성들, 프로세싱 파이프라인들 등)을 제어하는 데 사용될 수 있다. 유사하게, 전자 디바이스(100)가 환경 또는 환경 내의 위치에 위치될 때 관심 이벤트가 다시 검출될 가능성은, 이벤트 검출 성능, 이미징 및/또는 이미지 프로세싱 성능(예를 들어, 이미지/이미징 품질, 해상도, 스케일링, 프레임레이트 등) 등을 증가시키는 것과 같이 전자 디바이스(100)가 이벤트 검출의 더 높은 가능성과 연관된 환경(또는 그의 위치)에 위치될 때 전자 디바이스(100)의 성능 및/또는 동작 상태를 증가시키기 위해 디바이스 및/또는 프로세싱 설정들을 제어하는 데 사용될 수 있다.
키프레임 매칭기(122)는 프레임(210)으로부터 추출된 특징들과 이벤트 데이터(202)의 키프레임들의 특징들의 비교 결과를 맵퍼(124)에 제공할 수 있다. 예를 들어, 키프레임 매칭기(122)는 프레임(210)으로부터 추출된 특징들이 이벤트 데이터(202) 내의 키프레임의 특징들과 매칭하거나 또는 이벤트 데이터(202) 내의 임의의 키프레임들의 특징들과 매칭하지 않는다는 표시를 맵퍼(124)에 제공할 수 있다. 맵퍼(124)는 이벤트와 연관된 새로운 키프레임을 생성할지(또는 기존의 키프레임을 대체할지) 여부를 결정하고, 그 키프레임과 연관된 이벤트 카운트를 기록(또는 업데이트)하기 위해 키프레임 매칭기(122)로부터의 정보를 사용할 수 있다. 예를 들어, 프레임(210)으로부터 추출된 특징들이 이벤트 데이터(202) 내의 키프레임의 특징들과 매칭하면, 맵퍼(124)는 이벤트 데이터(202)의 그 키프레임과 연관된 검출된 이벤트들의 카운트를 증가시킬 수 있다. 일부 예들에서, 맵퍼(124)는 그 키프레임과 연관된 검출된 이벤트들의 카운트로 엔트리를 기록 또는 업데이트할 수 있다.
일부 경우들에서, 프레임(210)으로부터 추출된 특징들이 이벤트 데이터(202) 내의 임의의 키프레임들의 특징들과 매칭하지 않으면, 맵퍼(124)는 이벤트 데이터(202)에서 새로운 키프레임을 생성할 수 있고, 이(예를 들어, 새로운 키프레임)는 프레임(210)에 대응할 수 있다. 예를 들어, 이전에 설명된 바와 같이, 전자 디바이스(100)는 프레임(210)에 기초하여 하나 이상의 카메라 이벤트 검출 트리거들(214)을 (예를 들어, 이미지 프로세싱 모듈(212)을 통해) 이전에 검출했으며, 이는 관심 이벤트가 프레임(210)에서 검출되었음을 표시할 수 있다. 따라서, 프레임(210)으로부터 추출된 특징들이 이벤트 데이터(202) 내의 임의의 키프레임들의 특징들과 매칭하지 않으면, 맵퍼(124)는 프레임(210)에 대응하는 새로운 키프레임을 이벤트 데이터(202)에 추가할 수 있다. 새로운 키프레임은 프레임(210)으로부터의 특징들을 검출된 관심 이벤트 및/또는 연관된 환경(및/또는 그의 위치)과 연관시킬 수 있다. 맵퍼(124)는 새로운 키프레임과 연관된 이벤트 검출 카운트를 이벤트 데이터(202)에 포함할 수 있고, 새로운 프레임(또는 그의 특징들)이 새로운 키프레임과 연관된 특징들과 매칭할 때마다 카운트를 증분시킬 수 있다.
맵퍼(124)는 프레임(210)에 대응하는 키프레임(예를 들어, 새로운 키프레임 또는 기존 키프레임)과 연관된 검출된 이벤트들의 카운트 및 프레임(210)과 연관된 특징들을 사용하여, 그 키프레임과 연관된 이벤트 사전 확률(216)을 결정 또는 업데이트할 수 있다. 예를 들어, 일부 경우들에서, 맵퍼(124)는 프레임(210)에 대응하는 키프레임과 연관된 이벤트들의 총 및/또는 평균 카운트, 및 연관된 환경, 및/또는 프레임(210)과 연관된 특징들을 사용하여, 그 키프레임과 연관된 이벤트 사전 확률(216)을 결정 또는 업데이트할 수 있다. 이벤트 사전 확률(216)은 프레임(210)의 특징들 및/또는 프레임(210)과 연관된 환경 또는 환경 내의 위치에서 관심 이벤트를 검출할 추정된 가능성/확률을 표현하는 값을 포함할 수 있다. 예를 들어, 프레임(210)이 특정 룸으로부터 캡처되었고 프레임(210)의 시각적 특징들이 특정 룸 또는 특정 룸 내의 영역/객체에 대응하면, 이벤트 사전 확률(216)은 전자 디바이스(100)가 특정 룸(및/또는 특정 룸 내의 영역)에 있을 때 및/또는 특정 룸(또는 특정 룸 내의 영역)에서 캡처된 프레임 내의 시각적 특징들이 그 특정 룸 및/또는 특정 룸 내의 영역/객체와 연관된 이벤트 데이터(202) 내의 키프레임의 시각적 특정들과 매칭할 때 관심 이벤트를 검출할 추정된 가능성을 표시할 수 있다.
일부 예들에서, 이벤트 사전 확률(216)은 이벤트 사전 확률(216)과 연관된 키프레임에 대해 기록된 검출된 관심 이벤트들의 카운트에 적어도 부분적으로 기초할 수 있다. 일부 경우들에서, 키프레임과 연관된 이벤트 사전 확률(216)의 가능성/확률 값은 그 키프레임과 연관된 검출된 관심 이벤트들의 카운트가 증가함에 따라 증가할 수 있다. 일부 경우들에서, 이벤트 사전 확률(216)의 가능성/확률 값은 예를 들어, 키프레임과 연관된 검출된 관심 이벤트들 사이의 시간량, 키프레임과 연관된 마지막으로 검출된 관심 이벤트 및/또는 키프레임과 연관된 마지막 n개의 검출된 관심 이벤트들 이후의 시간량, 키프레임과 연관된 검출된 관심 이벤트(들)의 타입 및/또는 특성, 네거티브 검출 결과를 산출한 환경에서 캡처된 프레임들의 수에 비해 포지티브 검출 결과를 산출한 키프레임과 연관된 그 환경에서 캡처된 프레임들의 수, 키프레임과 연관된 환경의 하나 이상의 특성들(예를 들어, 환경의 크기, 환경에서 잠재적 관심 이벤트들의 수 또는 밀도, 환경에서 수행되는 통상적인 활동 등), 키프레임과 연관된 환경에서 전자 디바이스(100)의 사용 빈도(및/또는 사용 시간량)(예를 들어, 더 낮은 포지티브 검출 결과들을 갖는 더 높은 사용량은 가능성/확률 값을 감소시키기 위해 사용될 수 있고 그 반대도 마찬가지임), 및/또는 임의의 다른 팩터들과 같은 하나 이상의 다른 팩터들에 추가로 기초할 수 있다.
예를 들어, 키프레임과 연관된 환경에서 검출된 관심 이벤트들 사이의 시간의 증가 또는 감소는 이벤트 사전 확률(216)의 가능성/확률 값을 증가 또는 감소시키는 데 사용될 수 있다. 다른 예로서, 네거티브 검출 결과를 산출한 환경에서 캡처된 프레임들의 수에 비해 포지티브 검출을 산출한 환경에서 캡처된 프레임들의 수의 증가 또는 감소는 이벤트 사전 확률(216)의 가능성/확률 값을 증가 또는 감소시키는 데 사용될 수 있다. 또 다른 예로서, 환경 내의 전자 디바이스(100)의 사용량에 비해 그 환경에서 검출된 관심 이벤트들의 수는 이벤트 사전 확률(216)의 가능성/확률 값을 감소 또는 증가시키는 데 사용될 수 있다(예를 들어, 더 적은 검출된 관심 이벤트들에 대한 더 많은 사용은 더 많은 검출된 관심 이벤트들 또는 동일한 양의 검출된 관심 이벤트들에 대한 더 적은 사용보다 더 낮은 가능성/확률 값을 초래할 수 있다).
맵퍼(124)는 매칭된 키프레임과 연관된 이벤트 사전 확률(216)을 제어기(126)에 제공할 수 있다. 제어기(126)는 이미지 센서(102)와 연관된 하나 이상의 설정들 및/또는 이미지 센서(102)와 연관된 이미지 프로세싱을 제어/조정하기 위해 이벤트 사전 확률(216)을 사용할 수 있다. 예를 들어, 제어기(126)는 이벤트 사전 확률(216)이 전자 디바이스(100)의 현재 환경에서 관심 이벤트의 더 낮은 가능성/확률을 표시할 때 전자 디바이스(100)의 전력 소비를 감소시키도록 하나 이상의 설정들을 조정하거나, 또는 이벤트 사전 확률(216)이 전자 디바이스(100)의 현재 환경에서 관심 이벤트의 더 높은 가능성/확률을 표시할 때 전자 디바이스(100)의 성능 및/또는 프로세싱 능력들(예를 들어, 이미지 센서(102)의 성능)을 증가시키도록 하나 이상의 설정들을 조정하기 위해 이벤트 사전 확률(216)을 사용할 수 있다.
예시하자면, 이벤트 사전 확률(216)이 전자 디바이스(100)의 현재 환경에서 관심 이벤트의 더 높은 가능성/확률을 표시할 때, 제어기(126)는 프레임레이트, 해상도, 스케일 팩터, 이미지 안정화, 전력 모드 및 /또는 이미지 센서(102)와 연관된 다른 설정들을 증가시키고; 추가적인 이미지 센서들을 호출하고; 더 높은 성능, 복잡성, 기능들 및/또는 프로세싱 능력들과 연관된 이미지 프로세싱 파이프라인 및/또는 동작들을 구현하고; 고전력 또는 메인 카메라 디바이스(예를 들어, 이미지 센서(104))를 호출 또는 초기화하고; 구조화된 광 시스템 또는 플러드(flood) 조명기, 깊이 및 스테레오를 위한 듀얼 카메라 시스템 또는 비행 시간 카메라 컴포넌트와 같은 활성 깊이 송신기 시스템을 턴 온시키는 것; 등을 할 수 있다.
반면에, 이벤트 사전 확률(216)이 전자 디바이스(100)의 현재 환경에서 관심 이벤트의 더 낮은 가능성/확률을 표시할 때, 제어기(126)는 이미지 센서(102)를 턴 오프시키고; 프레임레이트, 해상도, 스케일 팩터, 이미지 안정화, 및/또는 이미지 센서(102)와 연관된 다른 설정들을 감소시키고; 더 적은 수의 이미지 센서들을 호출하고; 더 낮은 전력 소비, 복잡성, 기능들 및/또는 프로세싱 능력들과 연관된 이미지 프로세싱 파이프라인 및/또는 동작들을 구현하고; 구조화된 광 시스템 또는 플러드 조명기, 듀얼 카메라 시스템 또는 비행 시간 카메라 컴포넌트와 같은 활성 깊이 송신기 시스템을 턴 오프시키는 것; 등을 할 수 있다. 이러한 방식으로, 제어기(126)는 전자 디바이스(100)의 현재 환경에서 관심 이벤트의 존재/발생의 가능성/확률에 기초하여 전자 디바이스(100) 및 연관된 컴포넌트들의 전력 절감, 성능 및/또는 능력들을 증가시킬 수 있다.
일부 경우들에서, 제어기(126)는 또한 이벤트 사전 확률(216)에 기초하여(예를 들어, 전자 디바이스(100)의 현재 환경에서 관심 이벤트의 존재/발생의 가능성/확률에 기초하여) 비-카메라 설정들(220)을 조절할 수 있다. 예를 들어, 제어기(126)는 (예를 들어, 전자 디바이스(100)의 현재 환경에서 관심 이벤트의 존재/발생의 가능성/확률에 기초하여) 턴 온/오프하고, 전력 모드를 증가/감소시킬 수 있고, 그리고/또는 오디오 알고리즘(들)(예를 들어, 빔형성 등), 위치 서비스들(예를 들어, GNSS 또는 GPS, WIFI 등), 추적 알고리즘, 오디오 디바이스(예를 들어, 오디오 센서(106)), 비-카메라 작업부하, 추가적인 프로세서 등과 같은 하나 이상의 컴포넌트들, 알고리즘들, 서비스들 등의 프로세싱 능력 및/또는 복잡성을 증가/감소시킬 수 있다.
일부 경우들에서, 전자 디바이스(100)는 또한, 맵핑된 이벤트들에 기초하여 환경 및 제어 디바이스 설정들(예를 들어, 전력 상태들, 동작들, 파라미터들 등)과 연관된 이벤트들을 맵핑하기 위해 비-카메라 이벤트들을 활용할 수 있다. 예를 들어, 도 2b를 참조하면, 전자 디바이스(100)는 비-카메라 센서들(232)로부터의 데이터(234)를 사용하여 이벤트 데이터(202)를 업데이트하고(예를 들어, 새로운 키프레임들 및 연관된 검출 카운트들을 추가하고, 기존의 키프레임들 및/또는 검출 카운트들을 업데이트하고, 기존의 키프레임들 및/또는 검출 카운트들을 제거하고) 그리고/또는 매칭된 키프레임에 대한 이벤트 사전 확률(236)을 컴퓨팅할 수 있다.
비-카메라 센서들(232)은 예를 들어 그리고 제한 없이, 오디오 센서(예를 들어, 오디오 센서(106)), IMU(예를 들어, IMU(108)), 레이더, GNSS 또는 GPS 센서/수신기, 무선 수신기(예를 들어, WIFI, 셀룰러 등) 등을 포함할 수 있다. 비-카메라 센서(232)로부터의 데이터(234)는 예를 들어 그리고 제한 없이, 전자 디바이스(100)의 위치/포지션, 전자 디바이스(100)와 하나 이상의 객체들 사이의 거리, 환경 내의 하나 이상의 객체들의 위치, 전자 디바이스(100)의 움직임, 환경에서 캡처된 사운드, 하나 이상의 이벤트들의 시간 등에 관한 정보를 포함할 수 있다.
일부 예들에서, 비-카메라 센서들(232)로부터의 데이터(234)는 이벤트 데이터(202)에 대한 업데이트들(예를 들어, 키프레임들 및/또는 연관된 데이터)과 연관된 데이터를 보충하기 위해 사용될 수 있다. 예를 들어, 비-카메라 센서들(232)로부터의 데이터(234)는 이벤트 데이터(202)에서 추가, 업데이트 또는 제거된 키프레임과 연관된 이벤트들의 타임스탬프들을 추가하고; 키프레임과 연관된 검출된 이벤트의 위치/포지션을 표시하고; 검출된 이벤트 전에, 그 동안에, 그리고/또는 그 후에 전자 디바이스(100)의 위치/포지션을 표시하고; 검출된 이벤트 동안 전자 디바이스(100)의 움직임의 표시, 검출된 이벤트에 대한 전자 디바이스(100)의 근접도, 검출된 이벤트 및/또는 환경과 연관된 오디오 특징들의 표시, 환경의 하나 이상의 특성들의 표시(예를 들어, 위치, 기하구조, 구성, 활동, 객체들 등)를 표시하는 것 등을 위해 사용될 수 있다. 맵퍼(124)는 매칭된 키프레임의 이벤트 사전 확률(236)에서 가능성/확률 값을 결정하고; 환경, 전자 디바이스(100) 및/또는 매칭된 키프레임과 연관된 검출된 이벤트에 관한 더 세분화된 정보(예를 들어, 위치, 활동, 움직임, 시간 등)를 제공하고; 오래된 키프레임들을 컬링/제거하고; 이벤트 데이터(202)에/내에서/로부터 키프레임(및/또는 연관된 정보)을 추가할지, 업데이트할지 또는 제거할지를 결정하고; 검출된 이벤트들을 검증하는 것; 등을 돕기 위해 이벤트 데이터(202) 내의 키프레임들과 연관된 카운트들 및/또는 특징들/디스크립터들과 관련된 데이터(234)를 사용할 수 있다.
일부 경우들에서, 제어기(126)는 또한, 이전에 설명된 바와 같이 어떻게 또는 어떤 설정들을 조정/조절할지를 결정하기 위해 비-카메라 센서들(232)로부터의 데이터(234)를 사용할 수 있다. 예를 들어, 제어기(126)는 이벤트 사전 확률(236)과 함께 데이터(234)를 사용하여, 이미지 센서(102)의 어떤 설정을(및/또는 어떻게) 조정할지, 전자 디바이스(100) 상의 하나 이상의 다른 디바이스들로부터 어떤 설정을(및/또는 어떻게) 조정할지, 비-카메라 설정들(220) 중 어느 것을(및/또는 어떻게) 조정할지 등을 결정할 수 있다. 예를 들어, 이전에 설명된 바와 같이, 일부 경우들에서, 이벤트 사전 확률이 전자 디바이스(100)의 현재 환경에서 발생하는 관심 이벤트의 더 높은 가능성을 표시할 때, 제어기(126)는 이미지 센서(102)의 프레임레이트를 증가시키고 그리고/또는 (예를 들어, 이미지 센서(102)와 연관된 카메라 디바이스와 비교하여) 더 높은 프레임레이트 능력들을 갖는 고전력 또는 메인 카메라 디바이스를 활성화시킬 수 있다. 이 예에서, 데이터(234)가 매칭된 키프레임 및/또는 전자 디바이스(100)의 검출된 이벤트와 연관된 임계량의 모션을 표시하면, 제어기(126)는, 모션의 양이 임계치 미만임을 데이터(234)가 표시하는 경우보다 이미지 센서(102) 및/또는 고전력 또는 메인 카메라 디바이스의 프레임레이트를 더 증가시킬 수 있다.
다른 예로서, 전자 디바이스(100)가 이전 관심 이벤트의 위치의 근접도 내의 환경 내의 위치에 접근하고 있음을 데이터(234)가 표시하는 경우, 제어기(126)는 고전력 또는 메인 카메라 디바이스(예를 들어, 이미지 센서(102)와 연관된 카메라 디바이스와 비교하여 고전력 능력들/설정들을 갖는 카메라 디바이스)를 활성화시키고 그리고/또는 전자 디바이스(100)가 이전 관심 이벤트의 위치에 도달하기 전에 이미지 센서(102)의 설정을 증가시킬 수 있다. 유사하게, 전자 디바이스(100)가 환경으로부터 멀어지게 이동하고 있음을 데이터(234)가 표시하는 경우, 제어기(126)는, (예를 들어, 이벤트 사전 확률에 기초하여) 환경에서 관심 이벤트가 발생할 더 높은 가능성/확률을 갖는 것으로 결정하는 경우에도 전자 디바이스(100)에 의한 전력 소비를 감소시키기 위해 하나 이상의 설정들을 조절할 수 있다(예컨대, 이미지 센서(102) 또는 다른 디바이스를 턴 오프시키고, 이미지 센서(102) 또는 다른 디바이스의 전력 모드를 감소시키고, 프로세싱 복잡도 및/또는 전력 소비를 감소시키는 것 등을 할 수 있다). 또 다른 예로서, 이벤트 사전 확률이 전자 디바이스(100)의 환경에서 발생하는 관심 이벤트의 더 높은 가능성을 표시하고, 데이터(234)가 전자 디바이스(100) 및/또는 환경 내의 하나 이상의 객체들에 의한 모션의 임계량을 표시하는 경우, 제어기(126)는 환경에서 관심 이벤트를 캡처하는 임의의 프레임들의 더 양호한 이미지 안정화를 보장하기 위해 이미지 안정화 설정/동작을 활성화시키고 그리고/또는 그의 복잡성/성능을 증가시킬 수 있다.
도 3a는 이벤트 데이터(예를 들어, 이벤트 데이터(202))를 업데이트하기 위한 예시적인 프로세스(300)를 예시하는 도면이다. 이 예에서, 블록(302)에서, 전자 디바이스(100)는 전자 디바이스(100)의 카메라 디바이스(예를 들어, 이미지 센서(102)와 연관된 카메라 디바이스, 이미지 센서(104)와 연관된 카메라 디바이스)에 의해 캡처된 프레임으로부터 특징들을 추출할 수 있다.
블록(304)에서, 전자 디바이스(100)는 추출된 특징들에 기초하여, 관심 이벤트가 프레임에서 검출되는지 여부를 결정할 수 있다. 블록(306)에서, 관심 이벤트가 프레임에서 검출되지 않으면, 전자 디바이스(100)는 새로운 키프레임을 이벤트 데이터에 추가하지 않는다. 관심 이벤트가 프레임에서 검출되면, 블록(308)에서, 전자 디바이스(100)는 선택적으로, 전자 디바이스(100)에 의해 키프레임이 생성된(예를 들어, 이벤트 데이터에 추가된) 이후 타이머가 만료되었는지 여부를 결정할 수 있고, 그리고/또는 블록(312)에서, 전자 디바이스(100)는 이벤트 데이터 내의 키프레임과 프레임으로부터 추출된 시각적 특징들 사이의 매칭이 식별되었는지 여부를 결정할 수 있다.
타이머는 프로그래밍가능할 수 있다. 일부 경우들에서, 타이머(예를 들어, 타이머의 만료를 트리거하도록 구성된 시간량)는 예를 들어, 전자 디바이스(100)와 연관된 사용 이력 및/또는 패턴, 검출 이벤트들의 패턴(예를 들어, 하나 이상의 관심 이벤트들의 이전 검출들과 연관된 패턴), 검출 이벤트를 트리거(예를 들어, 관심 이벤트의 검출을 트리거)하도록 구성된 관심 이벤트들의 타입들, 하나 이상의 환경들의 하나 이상의 특성들 등과 같은 하나 이상의 팩터들에 기초하여 결정될 수 있다. 일부 예들에서, 타이머는 더 많은 수의 키프레임들이 생성되는 것을 방지하고 그리고/또는 키프레임들이 너무 빈번하게 생성되는 것을 방지하도록 설정될 수 있다.
예를 들어, 전자 디바이스(100)가 주방의 냉장고 상의 식당 메뉴로부터 QR 코드를 캡처하는 프레임에서 QR 코드를 검출하고, 냉장고 상의 식당 메뉴에서 검출된 QR 코드와 연관된 키프레임을 생성한다고 가정한다. QR 코드의 검출 및 키프레임의 생성은, 전자 디바이스(100)가 QR 코드와 동일한 룸(예를 들어, 주방)에 있고 적어도 일정 시간 기간 동안 그 동일한 룸에 있을 가능성이 있음을 표시할 수 있다. 이러한 예에서, 타이머는 전자 디바이스(100)가 그 환경에 남아 있을 가능성이 있는 동안 전자 디바이스(100)가 그 환경과 연관된 이벤트들의 추가적인 키프레임들을 생성하는 것을 방지할 수 있다. 따라서, 타이머는 일정 시간 기간 내에 생성된 키프레임들의 볼륨, 시간 기간 내에 추가적인 키프레임들을 생성하는 것으로 인한 전력 소비, 및 일정 시간 기간 내에 추가적인 키프레임들을 생성하는 데 있어서 자원들의 사용을 감소시킬 수 있다.
타이머가 만료되지 않았다면, 프로세스(300)는 블록(306)으로 리턴할 수 있고, 여기서 전자 디바이스(100)는 새로운 키프레임을 이벤트 데이터에 추가하지 않기로 결정한다. 타이머가 만료되었다면, 블록(310)에서, 전자 디바이스(100)는 타이머를 재시작 또는 리셋할 수 있다. 블록(312)에서, 전자 디바이스(100)는 블록(302)에서 프레임으로부터 추출된 특징들이 이벤트 데이터의 키프레임의 특징들과 매칭하는지 여부를 결정할 수 있다. 예를 들어, 전자 디바이스(100)는 블록(302)에서 프레임으로부터 추출된 특징들 및/또는 연관된 디스크립터를 이벤트 데이터 내의 키프레임들의 특징들 및/또는 연관된 디스크립터들과 비교할 수 있다.
블록(314)에서, 전자 디바이스(100)가 블록(302)에서 프레임으로부터 추출된 특징들과 이벤트 데이터에서 키프레임의 특징들 사이의 매칭을 발견하면, 전자 디바이스(100)는 이벤트 데이터의 매칭하는 키프레임과 연관된 검출 이벤트들의 카운트(예를 들어, 하나 이상의 관심 이벤트들의 이전 검출들의 카운트)를 증분시킬 수 있다. 블록(316)에서, 전자 디바이스(100)가 블록(302)에서 프레임으로부터 추출된 특징들과 이벤트 데이터의 임의의 키프레임들의 특징들 사이의 매칭를 발견하지 못하면, 전자 디바이스(100)는 블록(302)에서 프레임으로부터 추출된 특징들과 연관된 이벤트 검출(예를 들어, 관심 이벤트의 검출)을 위해 이벤트 데이터에서 새로운 엔트리를 생성할 수 있다. 일부 예들에서, 새로운 엔트리는 블록(302)에서 프레임으로부터 추출된 특징들을 포함하는 키프레임 및 검출 이벤트와 연관된 관심 이벤트의 발생들의 수를 표시하는 이벤트 카운트를 포함할 수 있다. 일부 예들에서, 새로운 엔트리는 또한 키프레임과 연관된 특징들의 디스크립터를 포함할 수 있다.
일부 경우들에서, 프로세스(300)는 타이머를 구현하지 않고 그리고/또는 블록(308) 및 블록(310)에 대해 설명된 바와 같이 타이머가 만료되었는지 여부를 체크하지 않을 수 있다. 예를 들어, 도 3b를 참조하면, 일부 경우들에서, 블록(304)에서 관심 이벤트가 검출되었다고 결정한 후, 전자 디바이스(100)는 블록(302)에서 프레임으로부터 추출된 특징들이 이벤트 데이터의 키프레임의 특징들과 매칭하는지 여부를 결정하기 위해 블록(312)으로 진행할 수 있다.
다른 경우들에서, 프로세스(300)는 타이머를 구현할 수 있지만, 타이머가 만료되었는지 여부를 체크하는 것은 프로세스의 상이한 포인트에서 수행될 수 있다. 예를 들어, 일부 경우들에서, 전자 디바이스(100)는 (예를 들어, 블록(304)에 대해 설명된 바와 같이) 관심 이벤트가 검출되었는지 여부를 결정하기 전에 (예를 들어, 블록(308)에 대해 설명된 바와 같이) 타이머가 만료되었는지 여부를 체크할 수 있다. 일부 예들에서, 타이머가 만료되었다면, 전자 디바이스(100)는 (예를 들어, 블록(304)에 대해 설명된 바와 같이) 관심 이벤트가 검출되었는지 여부를 결정하기 전에 또는 관심 이벤트가 검출되었다고 결정한 후에 (예를 들어, 블록(310)에 대해 설명된 바와 같이) 타이머를 재시작할 수 있다.
도 4는 캡처된 프레임의 특징들과 이벤트 데이터(예를 들어, 이벤트 데이터(202)) 상의 키프레임의 특징들 사이의 매칭에 기초하여 상이한 시간들에 (예를 들어, 제어기(126)를 통해) 조절되는 예시적인 설정을 예시하는 도면이다. 이러한 예에서, 조절된 설정은 전자 디바이스(100)의 카메라 디바이스(예를 들어, 이미지 센서(102))의 프레임레이트이다. 그러나, 이전에 설명된 바와 같이, 다른 예들에서, 전자 디바이스(100)는 (추가적으로 또는 대안적으로) 카메라 디바이스의 다른 설정들, 전자 디바이스(100)의 다른 디바이스, 전자 디바이스(100)의 동작, 프로세싱 파이프라인 등을 (예를 들어, 제어기(126)를 통해) 조절할 수 있다.
일부 예들에서, 카메라 디바이스는 시간 t1에서 디폴트 프레임레이트(402)를 구현할 수 있다. 디폴트 프레임레이트(402)는 카메라 디바이스가 지원하는 임의의 프레임레이트일 수 있다. 예를 들어, 디폴트 프레임레이트(402)는 카메라 디바이스의 최저 프레임레이트, 카메라 디바이스의 최고 프레임레이트, 또는 카메라 디바이스에 의해 지원되는 임의의 다른 프레임레이트일 수 있다. 도 4에서, 디폴트 프레임레이트(402)는 카메라 디바이스에 의해 지원되는 최고 프레임레이트보다 낮다.
시간 t2에, 전자 디바이스(100)는 디폴트 프레임레이트(402)에서 캡처된 프레임 내의 특징들에 기초하여 이벤트 데이터(예를 들어, 이벤트 데이터(202))에서 매칭된 키프레임(410)을 발견한다. 매칭된 키프레임(410)은 키프레임(410)과 연관된 검출 이벤트들의 카운트(예를 들어, 키프레임(410)과 연관된 하나 이상의 관심 이벤트들의 이전 검출들의 카운트)에 적어도 부분적으로 기초하여 계산된 이벤트 사전 확률을 포함할 수 있다. 매칭된 키프레임(410)을 발견하는 것에 응답하여, 전자 디바이스(100)는 프레임레이트(404)를 (예를 들어, 제어기(126)를 통해) 결정하고 카메라 디바이스의 프레임레이트를 디폴트 프레임레이트(402)로부터 프레임레이트(404)로 변경할 수 있다. 일부 예들에서, 전자 디바이스(100)는 매칭된 키프레임(410)과 연관된 이벤트 사전 확률에 기초하여 프레임레이트(404)를 결정할 수 있다. 예를 들어, 전자 디바이스(100)는 카메라 디바이스와 연관된 구성가능한 또는 피크 프레임레이트에 이벤트 사전 확률의 값을 곱할 수 있다. 예시하자면, 이벤트 사전 확률의 값이 0.75이면, 전자 디바이스(100)는 프레임레이트(404)를 결정하기 위해 구성가능한 또는 피크 프레임레이트에 0.75를 곱할 수 있다. 이 예에서, 프레임레이트(404)는 구성가능한 또는 피크 프레임레이트에 0.75를 곱한 결과일 수 있다.
피크 프레임레이트는 전술된 바와 같이 프레임레이트들을 결정하는 데 사용되는 구성가능한 프레임레이트일 수 있다. 예를 들어, 피크 프레임레이트는 카메라 디바이스에 의해 지원되는 프레임레이트들로부터 선택된 프레임레이트일 수 있다. 일부 경우들에서, 카메라 디바이스에 의해 지원되는 최고 프레임레이트가 피크 프레임레이트로서 선택될 수 있다.
카메라 디바이스는 구성가능한 시간 기간 동안 또는 다른 키프레임 매칭이 발견될 때까지 프레임레이트(404)를 유지할 수 있다. 도 4에서, 시간 t3에, 전자 디바이스(100)는, 프레임레이트(404)를 유지하기 위한 타이머(412)가 다른 키프레임 매칭 전에 만료되었다고 결정한다. 타이머(412)의 만료에 기초하여, 전자 디바이스(100)는 프레임레이트(404)로부터 디폴트 프레임레이트(402)로 카메라 디바이스의 프레임레이트를 다시 변경할 수 있다.
시간 t4에, 전자 디바이스(100)는 디폴트 프레임레이트(402)에서 캡처된 프레임 내의 특징들에 기초하여 이벤트 데이터(예를 들어, 이벤트 데이터(202))에서 매칭된 키프레임(414)을 발견한다. 매칭된 키프레임(414)은 전술된 바와 같이 이벤트 사전 확률을 포함할 수 있다. 매칭된 키프레임(414)을 발견하는 것에 응답하여, 전자 디바이스(100)는 프레임레이트(406)를 (예를 들어, 제어기(126)를 통해) 결정하고 카메라 디바이스의 프레임레이트를 디폴트 프레임레이트(402)로부터 프레임레이트(406)로 변경할 수 있다. 전자 디바이스(100)는 매칭된 키프레임(414)과 연관된 이벤트 사전 확률에 기초하여 프레임레이트(406)를 결정할 수 있다. 일부 경우들에서, 프레임레이트(406)는 프레임레이트(404)와 동일할 수 있다. 다른 경우들에서, 프레임레이트(406)는 프레임레이트(404)보다 더 높거나 더 낮은 프레임레이트일 수 있다. 예를 들어, 일부 경우들에서, 프레임레이트(406)는 매칭된 키프레임(414)과 연관된 이벤트 사전 확률의 값 및/또는 프레임레이트(406)를 계산하는 데 사용된 구성가능한 또는 피크 프레임레이트에 따라 프레임레이트(404)보다 더 높거나 낮을 수 있다.
시간 t5에, 타이머의 만료 전에, 전자 디바이스(100)는 프레임레이트(406)에서 캡처된 프레임 내의 특징들에 기초하여 이벤트 데이터(예를 들어, 이벤트 데이터(202))에서 매칭된 키프레임(416)을 발견한다. 매칭된 키프레임(416)은 전술된 바와 같이 이벤트 사전 확률을 포함할 수 있다. 매칭된 키프레임(416)을 발견하는 것에 응답하여, 전자 디바이스(100)는 프레임레이트(408)를 (예를 들어, 제어기(126)를 통해) 결정하고 카메라 디바이스의 프레임레이트를 프레임레이트(406)로부터 프레임레이트(408)로 변경할 수 있다. 전자 디바이스(100)는 매칭된 키프레임(416)과 연관된 이벤트 사전 확률에 기초하여 프레임레이트(408)를 결정할 수 있다. 일부 예들에서, 프레임레이트(408)는 매칭된 키프레임(414)과 연관된 이벤트 사전 확률에서의 가능성/확률 값보다, 매칭된 키프레임(416)과 연관된 이벤트 사전 확률에서의 더 높은 가능성/확률 값에 기초하여 프레임레이트(406)보다 더 높은 프레임레이트일 수 있다. 다른 예들에서, 프레임레이트(408)는 매칭된 키프레임(414)과 연관된 이벤트 사전 확률에서의 가능성/확률 값보다, 매칭된 키프레임(416)과 연관된 이벤트 사전 확률에서의 더 낮은 가능성/확률 값에 기초하여 프레임레이트(406)보다 더 낮은 프레임레이트일 수 있다. 또 다른 예들에서, 프레임레이트(408)는 (예를 들어, 프레임레이트(406)를 결정하기 위해 사용된 구성가능한 또는 피크 프레임레이트와 비교하여) 프레임레이트(408)를 결정하는 데 사용되는 상이한 구성가능한 또는 피크 프레임레이트에 기초하여 프레임레이트(406)보다 더 높거나 또는 더 낮은 프레임레이트일 수 있다.
시간 t6에, 전자 디바이스(100)는, 프레임레이트(408)를 유지하기 위한 타이머(418)가 다른 키프레임 매칭 전에 만료되었다고 결정한다. 타이머(418)의 만료에 기초하여, 전자 디바이스(100)는 프레임레이트(408)로부터 디폴트 프레임레이트(402)로 카메라 디바이스의 프레임레이트를 다시 변경할 수 있다. 일부 예들에서, 타이머(418)는 타이머(412)와 동일할 수 있다. 다른 예들에서, 타이머(418)는 타이머(412)와 상이한 만료 기간을 포함할 수 있다.
일부 경우들에서, 전자 디바이스(100)는 감쇠 디폴트 프레임레이트를 구현할 수 있다. 예를 들어, 감소된 프레임레이트는 증가된 이벤트 검출 레이턴시와 연관될 수 있다(예를 들어, 더 높은 프레임레이트는 더 낮은 레이턴시를 초래할 수 있음). 디폴트 프레임레이트(402)의 경우, 전자 디바이스(100)는, 이벤트 데이터가 더 작은 수(예를 들어, 임계치 미만)의 기록된 이벤트들을 포함할 때, 카메라 디바이스의 프레임레이트를 더 낮은 프레임레이트로 디폴트시킬 수 있다(예를 들어, 이는 더 높은 검출 레이턴시를 초래할 수 있음). 이러한 경우들에 대해, 전자 디바이스(100)는, 높게 시작하지만 더 많은 이벤트들이 이벤트 데이터에 추가됨에 따라(예를 들어, 전자 디바이스(100)가 어느 위치들/환경들이 관심 이벤트들과 가장 연관되는지를 학습함에 따라) 감쇠되는 디폴트 프레임레이트를 구현할 수 있다.
예시하자면, 이벤트 데이터가 더 적은 수의 이벤트들(예를 들어, 임계 수 미만의 이벤트들)을 포함할 때, 디폴트 프레임레이트는, 어느 위치들/환경들이 관심 이벤트와 가장 연관되는지를 더 양호하게 학습하기 위해 그리고/또는 위치/환경 및/또는 관심 이벤트와 연관된 사전 확률의 정확도를 증가시키기 위해 전자 디바이스(100)가 관심 이벤트 및/또는 연관된 환경에 관한 더 많은 정보를 수집하는 동안 검출 레이턴시를 감소시키기 위해 더 많은 수의 이벤트들(예를 들어, 임계 수 초과의 이벤트들)을 포함할 때보다 높게 시작할 수 있다. 더 많은 엔트리들이 이벤트 데이터에 추가되고 전자 디바이스(100)가 관심 이벤트에 관한 더 견고한 데이터/통계를 가지면, 전자 디바이스(100)는 디폴트 프레임레이트를 감소시키기 시작할 수 있다. 감소된 디폴트 프레임레이트는, 전자 디바이스(100)가 디폴트 프레임레이트를 구현하고 있는 동안 전자 디바이스(100)가 특정 환경에서 관심 이벤트를 검출할 확률을 반영하는 결정된 사전 확률의 신뢰도 및/또는 정확도를 증가시키기 위해 사용할 수 있는 환경 및/또는 이벤트에 관한 더 많은 데이터(더 많은 맵 엔트리들)를 가질 때 전자 디바이스(100)가 전력 소비를 감소시킬 수 있게 할 수 있다. 따라서, 전자 디바이스(100)는, 관심 이벤트가 발생하는 경우 더 높은 레이턴시를 회피하기 위해 디폴트 프레임레이트를 구현하면서 관심 이벤트를 검출할 가능성을 평가하기 위해 가져야 하는 정보의 양이 낮을 때 더 높은 디폴트 프레임레이트를 구현할 수 있고, 더 많은 양의 관련 데이터에 기초하여 어떠한 관심 이벤트도 검출되지 않고 그리고/또는 이러한 이벤트를 검출할 가능성이 더 낮다고(예를 들어, 임계치 미만이라고) 결정할 때 카메라 디바이스에 의한 전력 소비를 감소시키기 위해 정보의 양이 증가할 때(그리고 예를 들어, 이벤트를 검출할 더 낮은 가능성의 연관된 신뢰도) 더 낮은 디폴트 프레임레이트를 구현할 수 있다.
도 5는 전자 디바이스(100)가 상이한 장면들에 있을 때 구현되는 상이한 전력 상태들의 예를 예시하는 도면이다. 이 예에서, 전자 디바이스(100)는 관심 이벤트를 검출/직면할 더 낮은 가능성/확률을 갖는 장면(500)에 위치될 때 저전력 상태(502)로 실행되고 있다. 저전력 상태(502)는 장면(500)에서 관심 이벤트를 검출/직면할 가능성/확률에 기초할 수 있다. 저전력 상태(502)는 예를 들어, (예를 들어, 카메라 디바이스 또는 다른 카메라 디바이스에 의해 지원되는 고전력 설정 또는 모드와 비교하여) 전자 디바이스(100)의 카메라 디바이스의 저전력 설정 또는 모드를 포함할 수 있다. 일부 예들에서, 저전력 상태(502)는 또한 전자 디바이스(100)의 카메라 디바이스에 의해 캡처된 프레임들을 프로세싱하도록 구현된 저전력 동작 및/또는 프로세싱 파이프라인을 포함할 수 있다. 예를 들어, 저전력 상태(502)는 감소된 프로세싱 복잡성 및/또는 전력 소비와 연관된 이미지 프로세싱 동작(들) 또는 이미지 프로세싱 파이프라인을 구현하기 위한 설정을 포함할 수 있다. 일부 예들에서, 저전력 상태(502)는 또한 센서(들), 프로세서, 다른 카메라 디바이스 및/또는 임의의 다른 디바이스와 같은 전자 디바이스(100)의 다른 디바이스의 저전력 설정 또는 모드를 포함할 수 있다.
장면(510)은 또한 관심 이벤트를 검출/직면할 더 낮은 가능성/확률을 갖는다. 전자 디바이스(100)가 장면(510)에 위치될 때, 전자 디바이스(100)는 디폴트 전력 상태(512)를 구현할 수 있다. 디폴트 상태(512)는 장면(510)에서 관심 이벤트를 검출/직면할 가능성/확률에 기초할 수 있다. 장면(510)에서의 디폴트 전력 상태(512)는 장면(500)에서의 저전력 상태(502)와 동일하거나 상이할 수 있다. 일부 예들에서, 디폴트 전력 상태(512)는 저전력 상태(502)보다 더 낮은 전력 소비와 연관될 수 있다. 일부 예들에서, 디폴트 전력 상태(512)는 전자 디바이스(100)의 카메라 디바이스에 의해 지원되는 최저 전력 설정 또는 모드일 수 있다. 다른 예들에서, 디폴트 전력 상태(512)는 저전력 상태(502)와 동일하거나 더 높은 전력 소비와 연관될 수 있다. 일부 경우들에서, 디폴트 전력 상태(512)는 도 4에 도시된 디폴트 프레임레이트(402)와 같은 디폴트 프레임레이트를 포함할 수 있다.
다른 한편으로, 장면(520)은 관심 이벤트를 검출/직면할 더 높은 가능성/확률을 갖는다. 여기서, 전자 디바이스(100)는 장면(520)에서 관심 이벤트를 검출/직면할 더 높은 가능성/확률에 기초하여 고전력 상태(522)를 구현할 수 있다. 일부 예들에서, 고전력 상태(522)는 카메라 디바이스 또는 이미지 프로세싱 파이프라인의 고전력 설정(예를 들어, 더 높은 프레임레이트, 더 높은 상향 변환, 더 높은 해상도, 호출된 더 많은 수의 이미지 센서들, 더 높은 충실도 이미지 프로세싱 파이프라인 등)을 포함할 수 있다. 일부 예들에서, 고전력 상태(522)는 전자 디바이스(100)가 더 높은 가능성/확률에 기초하여 고전력 카메라 디바이스를 활성화 및/또는 사용하는 상태를 포함할 수 있다. 예를 들어, 고전력 상태(522)에서, 전자 디바이스(100)는 장면(500) 및 장면(510)의 전자 디바이스(100)에 의해 구현되는 저전력 카메라 디바이스보다 더 높은 능력들, 더 높은 복잡도/충실도를 갖는 프로세싱 파이프라인 등을 갖는 고전력 또는 메인 카메라 디바이스를 활성화 및/또는 구현할 수 있다.
전자 디바이스(100)가 장면(520)에서 객체(530)를 직면할 때, 전자 디바이스(100)는 (예를 들어, 이미지 센서(102) 및/또는 이미지 센서(104)를 통해) 객체(530)의 이미지를 캡처할 수 있다. 전자 디바이스(100)는 고전력 상태(522)에 있는 동안 객체(530)의 이미지를 캡처하고, 이미지에서 객체(530)를 검출하기 위해 객체 검출을 수행할 수 있다. 일부 예들에서, 고전력 상태(522)는, 전자 디바이스(100)가 저전력 상태(502) 또는 디폴트 전력 상태(512)에 있을 때보다 더 높은 품질의 이미지(예를 들어, 더 높은 해상도, 더 높은 프레임레이트 등)를 캡처하게 허용할 수 있다. 일부 예들에서, 고전력 상태(522)는 전자 디바이스(100)가 저전력 상태(502) 또는 디폴트 전력 상태(512)에 있을 때보다 이미지의 더 견고한/복잡한 및/또는 더 높은 충실도 프로세싱을 수행할 수 있게 할 수 있다.
도 6은 이벤트 데이터에 기초하여 카메라 설정들을 조정하기 위한 예시적인 프로세스(600)를 예시하는 흐름도이다. 블록(602)에서, 프로세스(600)는, 전자 디바이스(예를 들어, 전자 디바이스(100))의 이미지 캡처 디바이스(예를 들어, 이미지 센서(102))를 통해, 환경의 적어도 일부를 묘사하는 이미지(예를 들어, 프레임)를 획득하는 것을 포함할 수 있다. 환경은 예를 들어 그리고 제한 없이, 룸(예를 들어, 주방, 침실, 사무실, 거실, 차고, 지하 등), 공간 또는 영역(예를 들어, 마당, 파티오, 계단, 들판, 공원 등) 및/또는 임의의 다른 환경을 포함할 수 있다.
블록(604)에서, 프로세스(600)는 이미지로부터 추출된 하나 이상의 시각적 특징들과 키프레임과 연관된 하나 이상의 시각적 특징들 사이의 매칭을 결정하는 것을 포함할 수 있다. 일부 경우들에서, 키프레임은 전자 디바이스 상의 이벤트 데이터(예를 들어, 이벤트 데이터(202))에 복수의 키프레임들 중 하나를 포함할 수 있다. 일부 예들에서, 키프레임은 하나 이상의 검출 이벤트들과 연관될 수 있다. 예를 들어, 키프레임은 이미지에 의해 이전에 캡처되고 전자 디바이스에 의해 이미지에서 검출된 이벤트의 시각적 특징들을 포함할 수 있다. 일부 예들에서, 하나 이상의 검출 이벤트들은, 이미지에 의해 캡처된 얼굴, 이미지에 의해 캡처된 손 제스처, 이미지에 의해 캡처된 감정, 이미지에 의해 캡처된 장면, 이미지에 의해 캡처된 하나 이상의 사람들, 이미지에 의해 캡처된 동물, 이미지에 의해 캡처된 머신 판독가능 코드(예를 들어, QR 코드, 바코드, 링크 등), 이미지에 의해 캡처된 적외선, 이미지에 의해 캡처된 2차원 표면 또는 평면, 및/또는 이미지에 의해 캡처된 텍스트의 검출을 포함할 수 있다.
일부 예들에서, 이벤트 데이터는 이미지 캡처 디바이스와 연관된 검출 이벤트들로부터의 다수의 키프레임들 및/또는 이벤트 데이터 내의 다수의 키프레임들 중 각각의 키프레임과 연관된 검출 이벤트들의 개개의 카운트를 포함할 수 있다.
일부 예들에서, 이미지로부터 추출된 하나 이상의 시각적 특징들과 이벤트 데이터의 키프레임과 연관된 하나 이상의 시각적 특징들 사이의 매칭을 결정하는 것은 이미지로부터 추출된 하나 이상의 시각적 특징들을 키프레임과 연관된 하나 이상의 시각적 특징들과 비교하는 것, 및/또는 이미지로부터 추출된 하나 이상의 시각적 특징들의 제1 디스크립터를 키프레임과 연관된 하나 이상의 시각적 특징들의 제2 디스크립터와 비교하는 것을 포함할 수 있다.
일부 경우들에서, 프로세스(600)는 매칭에 기초하여, 환경에서 발생하는 관심 이벤트의 가능성을 추정하는 것을 포함할 수 있다. 일부 예들에서, 전자 디바이스는 환경에서 발생하는 관심 이벤트의 추정된 가능성을 표현하는 가능성 또는 확률 값을 포함하는 이벤트 사전 확률을 계산할 수 있다.
블록(606)에서, 프로세스(600)는 매칭에 기초하여 이미지 캡처 디바이스의 하나 이상의 설정들을 조정(예를 들어, 수정/조절)하는 것을 포함할 수 있다. 일부 경우들에서, 프로세스(600)는 환경에서 관심 이벤트가 발생할 가능성에 추가로 기초하여 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하는 것을 포함할 수 있다.
일부 예들에서, 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하는 것은 이미지 캡처 디바이스의 전력 모드를 수정하는 것을 포함할 수 있다. 일부 경우들에서, 이미지 캡처 디바이스의 전력 모드를 수정하는 것은, 이미지 캡처 디바이스의 프레임레이트, 이미지 캡처 디바이스의 해상도, 이미지 캡처 디바이스의 비닝(binning) 모드, 이미지 캡처 디바이스의 이미징 모드, 및/또는 이미지 캡처 디바이스 및/또는 전자 디바이스에 의해 호출되는 이미지 센서들의 수를 수정하는 것을 포함할 수 있다.
일부 예들에서, 이미지 캡처 디바이스의 전력 모드를 수정하는 것은, 환경에서 발생하는 관심 이벤트의 가능성이 임계치 미만이라는 결정에 기초하여, 프레임레이트, 해상도, 비닝 모드, 스케일링 팩터, 이미징 모드 및/또는 호출된 이미지 센서들의 수를 감소시키는 것을 포함할 수 있다. 일부 예들에서, 이미지 캡처 디바이스의 전력 모드를 수정하는 것은, 환경에서 발생하는 관심 이벤트의 가능성이 임계치 초과라는 결정에 기초하여, 프레임레이트, 해상도, 비닝 모드, 스케일링 팩터, 이미징 모드 및/또는 호출된 이미지 센서들의 수를 증가시키는 것을 포함할 수 있다.
일부 예들에서, 이미지 캡처 디바이스는 제1 이미지 캡처 디바이스를 포함할 수 있다. 일부 양태들에서, 프로세스(600)는, 환경에서 발생하는 관심 이벤트의 가능성이 임계치를 초과한다는 결정에 기초하여, 전자 디바이스의 제2 이미지 캡처 디바이스의 전력 모드를 증가시키는 것을 포함할 수 있다. 일부 경우들에서, 제2 이미지 캡처 디바이스는 제1 이미지 캡처 디바이스보다 높은 전력 모드, 제1 이미지 캡처 디바이스보다 높은 프레임레이트, 제1 이미지 캡처 디바이스보다 높은 해상도, 제1 이미지 캡처 디바이스보다 많은 수의 이미지 센서들, 및/또는 제1 이미지 캡처 디바이스와 연관된 프로세싱 파이프라인보다 높은 전력의 프로세싱 파이프라인을 이용할 수 있다. 일부 예들에서, 제2 이미지 캡처 디바이스의 전력 모드를 증가시키는 것은 제2 이미지 캡처 디바이스를 턴 온시키는 것 및/또는 제2 이미지 캡처 디바이스를 초기화하는 것을 포함할 수 있다.
일부 경우들에서, 키프레임은 전자 디바이스에서 이벤트 데이터(예를 들어, 이벤트 데이터(202))에 구비 또는 포함될 수 있다. 일부 예들에서, 이벤트 데이터(202)는 하나 이상의 환경들(및/또는 하나 이상의 환경들의 하나 이상의 부분들)과 연관된 하나 이상의 키프레임들의 특징들을 하나 이상의 환경들과 상관시키는 이벤트 맵을 포함할 수 있다. 일부 경우들에서, 이벤트 데이터는 키프레임을 포함할 수 있다. 일부 예들에서, 이벤트 데이터는 이미지 캡처 디바이스에 의한 이전 검출 이벤트들(예를 들어, 하나 이상의 관심 이벤트들의 이전 검출들)로부터의 복수의 키프레임들을 포함할 수 있다. 일부 경우들에서, 이벤트 데이터는 또한 복수의 키프레임들 중 각각의 키프레임과 연관된 검출 이벤트들의 개개의 카운트를 더 포함할 수 있다.
일부 예들에서, 프로세스(600)는 환경에서 발생하는 관심 이벤트의 가능성을 추정하는 것을 포함할 수 있다. 일부 경우들에서, 환경에서 발생하는 관심 이벤트의 가능성을 추정하는 것은 매칭 및 키프레임과 연관된 검출 이벤트들(예를 들어, 관심 이벤트(들)의 이전 검출들)의 개개의 카운트에 기초하여 환경에서 발생하는 검출 이벤트의 가능성을 추정하는 것을 포함할 수 있다. 일부 예들에서, 프로세스(600)는 이미지로부터 추출된 하나 이상의 시각적 특징들과 키프레임과 연관된 하나 이상의 시각적 특징들 사이의 매칭을 결정하는 것에 응답하여, 키프레임과 연관된 검출 이벤트들의 개개의 카운트를 증가시키는 것을 포함할 수 있다.
일부 예들에서, 프로세스(600)는 이미지 캡처 디바이스를 통해, 상이한 환경의 적어도 일부를 묘사하는 상이한 이미지를 획득하는 것; 상이한 이미지로부터 추출된 하나 이상의 시각적 특징들이 전자 디바이스에서의 이벤트 데이터의 임의의 키프레임과 연관된 시각적 특징들과 매칭하지 않는다고 결정하는 것; 및 상이한 이미지에 대응하는 이벤트 데이터에서 새로운 엔트리를 생성하는 것을 포함할 수 있다. 일부 경우들에서, 새로운 엔트리는, 상이한 이미지로부터 추출된 하나 이상의 시각적 특징들이 이벤트 데이터 내의 임의의 키프레임과 연관된 시각적 특징들과 매칭하지 않는다고 결정하는 것, 관심 이벤트가 상이한 이미지에서 검출되었다는 결정, 이벤트 데이터 내의 개개의 키프레임이 생성된 마지막 시간 이후 경과된 시간, 및 이벤트 데이터 내의 특정 키프레임과 이미지 캡처 디바이스에 의해 캡처된 특정 이미지 사이에서 개개의 매칭이 식별된 마지막 시간 이후 경과된 시간 중 적어도 하나에 응답하여 생성된다.
일부 예들에서, 프로세스(600)는 관심 이벤트가 상이한 이미지에서 검출되었다고 결정하는 것; 관심 이벤트가 상이한 이미지에서 검출되었다는 결정에 기초하여, 상이한 환경에서 추가적인 관심 이벤트가 발생할 제2 가능성을 결정하는 것; 및 상이한 환경에서 추가적인 관심 이벤트가 발생할 제2 가능성에 기초하여 이미지 캡처 디바이스의 적어도 하나의 설정을 조정하는 것을 포함할 수 있다.
일부 예들에서, 이미지 캡처 디바이스의 하나 이상의 설정들은 프레임레이트를 포함할 수 있고, 프로세스(600)는, 검출 이벤트들에 대한 미리 결정된 프레임레이트 및 환경에서 관심 이벤트가 발생할 가능성에 기초하여 프레임레이트를 결정하는 것; 및 적어도 구성된 시간 기간의 만료(예를 들어, 타이머의 만료) 또는 이미지 캡처 디바이스에 의해 캡처된 상이한 이미지와 이벤트 데이터 내의 적어도 하나의 키프레임 사이의 후속 매칭의 결정까지 프레임레이트를 유지하는 것을 포함할 수 있다. 일부 예들에서, 프로세스(600)는 구성된 시간 기간의 만료 또는 후속 매칭의 결정 후에, 이미지 캡처 디바이스의 프레임레이트를 상이한 프레임레이트로 조정하는 것을 포함할 수 있다. 일부 경우들에서, 상이한 프레임레이트는 미리 결정된 프레임레이트 및 후속 매칭과 연관된 검출 이벤트의 상이한 가능성에 기초하여 계산된 특정 프레임레이트 또는 디폴트 프레임레이트를 포함할 수 있다. 일부 경우들에서, 상이한 프레임레이트는 미리 결정된 프레임레이트 및 후속 매칭과 연관된 특정 관심 이벤트를 검출할 제2 가능성에 기초하여 결정된 특정 프레임레이트 또는 디폴트 프레임레이트를 포함할 수 있다.
일부 경우들에서, 미리 결정된 프레임레이트는 이미지 캡처 디바이스에 의해 지원되는 최고 프레임레이트를 포함할 수 있다. 일부 예들에서, 프레임레이트를 결정하는 것은 환경에서 관심 이벤트가 발생할 가능성에 대응하는 값을 미리 결정된 프레임레이트에 곱하는 것을 포함할 수 있다. 일부 경우들에서, 미리 결정된 프레임레이트는 디폴트 프레임레이트보다 높다. 일부 예에서, 프로세스(600)는 하나 이상의 키프레임들을 이벤트 데이터에 추가하는 것에 응답하여, 디폴트 프레임레이트들을 더 낮은 프레임레이트로 감소시키는 것을 포함할 수 있다.
일부 예들에서, 프로세스(600)는 환경에서 관심 이벤트가 발생할 가능성에 기초하여, 전자 디바이스의 플러드 조명기, 전자 디바이스의 깊이 센서 디바이스, 전자 디바이스의 듀얼 이미지 캡처 디바이스 시스템, 전자 디바이스의 구조화된 광 시스템, 전자 디바이스의 비행 시간 시스템과 같은 활성 깊이 송신기 시스템의 하나 이상의 상이한 설정들을 조정하는 것을 포함할 수 있다. 일부 경우들에서, 프로세스(600)는 환경에서 관심 이벤트가 발생할 가능성에 기초하여, 오디오 알고리즘, GNSS(global navigation satellite) 시스템, 무선 위치 영역 네트워크 접속 및/또는 데이터(예를 들어, WIFI) 및/또는 GPS(global positioning system) 중 적어도 하나와 연관된 위치 서비스의 하나 이상의 설정들을 조정하는 것을 포함할 수 있다. 일부 예들에서, 하나 이상의 상이한 설정들을 조정하는 것은, 플러드 조명기, 깊이 센서 디바이스, 듀얼 이미지 캡처 디바이스 시스템, 구조화된 광 시스템, 비행 시간 시스템, 오디오 알고리즘 및/또는 위치 서비스를 턴 오프 또는 구현(예를 들어, 턴 온, 활성화, 초기화, 파워 업 등)하는 것을 포함할 수 있다. 일부 예들에서, 하나 이상의 상이한 설정들을 조정하는 것은 활성 깊이 송신기를 턴 오프시키거나 또는 구현하는 것을 포함할 수 있다.
일부 양태들에서, 프로세스(600)는, 매칭에 기초하여, 환경에서 관심 이벤트가 발생할 가능성을 결정하는 것; 및 환경에서 관심 이벤트가 발생할 가능성에 추가로 기초하여 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하는 것을 포함할 수 있다.
일부 양태들에서, 프로세스(600)는 전자 디바이스의 비-이미지 캡처 디바이스로부터의 데이터에 추가로 기초하여 이벤트의 가능성을 결정하는 것; 또는 전자 디바이스의 비-이미지 캡처 디바이스로부터의 데이터에 추가로 기초하여 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하는 것을 포함할 수 있다.
일부 예들에서, 프로세스(600)는 이벤트 데이터 내의 키프레임 엔트리들과 연관된 검출 이벤트들의 개개의 카운트들을 주기적으로 감소시키는 것을 포함할 수 있다. 일부 경우들에서, 검출 이벤트들의 개개의 카운트들은 이벤트 데이터의 모든 키프레임 엔트리들에 걸쳐 비례적으로 감소된다.
일부 예들에서, 프로세스(600)는 하나 이상의 컴퓨팅 디바이스들 또는 장치들에 의해 수행될 수 있다. 하나의 예시적인 예에서, 프로세스(600)는 도 1에 도시된 전자 디바이스(100)에 의해 수행될 수 있다. 일부 예들에서, 프로세스(600)는 도 7에 도시된 컴퓨팅 전자 아키텍처(700)를 갖는 하나 이상의 컴퓨팅 디바이스들에 의해 수행될 수 있다. 일부 경우들에서, 그러한 컴퓨팅 디바이스 또는 장치는 프로세스(600)의 단계들을 수행하도록 구성되는 프로세서, 마이크로프로세서, 마이크로컴퓨터, 또는 디바이스의 다른 컴포넌트를 포함할 수 있다. 일부 예들에서, 그러한 컴퓨팅 디바이스 또는 장치는 이미지 데이터 및/또는 다른 센서 측정들을 캡처하도록 구성된 하나 이상의 센서들을 포함할 수 있다. 예를 들어, 컴퓨팅 디바이스는 스마트폰, 헤드 장착형 디스플레이, 모바일 디바이스, 또는 다른 적절한 디바이스를 포함할 수 있다. 일부 예들에서, 그러한 컴퓨팅 디바이스 또는 장치는 하나 이상의 이미지들 또는 비디오들을 캡처하도록 구성된 카메라를 포함할 수 있다. 일부 경우들에서, 그러한 컴퓨팅 디바이스는 이미지들을 디스플레이하기 위한 디스플레이를 포함할 수 있다. 일부 예들에서, 하나 이상의 센서들 및/또는 카메라는 컴퓨팅 디바이스로부터 분리될 수 있고, 이 경우, 컴퓨팅 디바이스는 감지된 데이터를 수신한다. 그러한 컴퓨팅 디바이스는 데이터를 통신하도록 구성된 네트워크 인터페이스를 추가로 포함할 수 있다.
컴퓨팅 디바이스의 컴포넌트들은 회로부에서 구현될 수 있다. 예를 들어, 컴포넌트들은 하나 이상의 프로그래밍가능 전자 회로들(예를 들어, 마이크로프로세서들, GPU(graphics processing unit)들, DSP(digital signal processor)들, CPU(central processing unit)들 및/또는 다른 적합한 전자 회로들)을 포함할 수 있는 전자 회로들 또는 다른 전자 하드웨어를 포함할 수 있고 그리고/또는 이들을 사용하여 구현될 수 있으며, 그리고/또는 본 명세서에서 설명되는 다양한 동작들을 수행하기 위해 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 임의의 조합을 포함할 수 있고 그리고/또는 이들을 사용하여 구현될 수 있다. 컴퓨팅 디바이스는 (출력 디바이스의 예로서 또는 출력 디바이스에 추가하여) 디스플레이, 데이터를 통신 및/또는 수신하도록 구성된 네트워크 인터페이스, 이들의 임의의 조합, 및/또는 다른 컴포넌트(들)를 더 포함할 수 있다. 네트워크 인터페이스는 IP(Internet Protocol) 기반 데이터 또는 다른 타입의 데이터를 통신 및/또는 수신하도록 구성될 수 있다.
프로세스(600)는 논리 흐름도들로서 예시되며, 이들의 동작들은 하드웨어, 컴퓨터 명령들, 또는 이들의 조합으로 구현될 수 있는 동작들의 시퀀스를 표현한다. 컴퓨터 명령들과 관련하여, 동작들은 하나 이상의 컴퓨터 판독가능 저장 매체들 상에 저장된 컴퓨터 실행가능 명령들을 표현하며, 이러한 명령들은 하나 이상의 프로세서들에 의해 실행될 때, 열거된 동작들을 수행한다. 일반적으로, 컴퓨터 실행가능 명령들은 특정 기능들을 수행하거나 특정 데이터 타입들을 구현하는 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 등을 포함한다. 동작들이 설명되는 순서는 제한으로서 해석되는 것으로 의도되지 않으며, 임의의 수의 설명되는 동작들이 임의의 순서로 그리고/또는 병렬로 조합되어 프로세스들을 구현할 수 있다.
추가적으로, 프로세스(600)는 실행가능 명령들로 구성된 하나 이상의 컴퓨터 시스템들의 제어 하에 수행될 수 있으며, 하나 이상의 프로세서들 상에서 집합적으로 실행하는 코드(예를 들어, 실행가능 명령들, 하나 이상의 컴퓨터 프로그램들, 또는 하나 이상의 어플리케이션들)로서, 하드웨어에 의해, 또는 이들의 조합으로 구현될 수 있다. 위에서 언급된 바와 같이, 코드는 예를 들어, 하나 이상의 프로세서들에 의해 실행가능한 복수의 명령들을 포함하는 컴퓨터 프로그램의 형태로, 컴퓨터 판독가능 또는 머신 판독가능 저장 매체 상에 저장될 수 있다. 컴퓨터 판독가능 또는 머신 판독가능 저장 매체는 비일시적일 수 있다.
도 7은 본 명세서에 설명된 다양한 기법들을 구현할 수 있는 예시적인 컴퓨팅 디바이스의 예시적인 컴퓨팅 디바이스 아키텍처(700)를 예시한다. 예를 들어, 컴퓨팅 디바이스 아키텍처(700)는 도 1에 도시된 전자 디바이스(100)의 적어도 일부 부분들을 구현할 수 있다. 컴퓨팅 디바이스 아키텍처(700)의 컴포넌트들은 버스와 같은 접속(705)을 사용하여 서로 전기적으로 통신하는 것으로 도시된다. 예시적인 컴퓨팅 디바이스 아키텍처(700)는 프로세싱 유닛(CPU 또는 프로세서)(710), 및 ROM(read only memory)(720) 및 RAM(random access memory)(725)과 같은 컴퓨팅 디바이스 메모리(715)를 포함하는 다양한 컴퓨팅 디바이스 컴포넌트들을 프로세서(710)에 커플링하는 컴퓨팅 디바이스 접속(705)을 포함한다.
컴퓨팅 디바이스 아키텍처(700)는 프로세서(710)와 직접 접속되거나, 이에 매우 근접하거나, 또는 이의 일부로서 통합된 고속 메모리의 캐시를 포함할 수 있다. 컴퓨팅 디바이스 아키텍처(700)는 프로세서(710)에 의한 빠른 액세스를 위해 메모리(715) 및/또는 저장 디바이스(730)로부터 캐시(712)로 데이터를 복사할 수 있다. 이러한 방식으로, 캐시는 데이터를 기다리는 동안 프로세서(710) 지연들을 회피하는 성능 부스트를 제공할 수 있다. 이들 및 다른 모듈들은 다양한 액션들을 수행하도록 프로세서(710)를 제어하거나 또는 제어하도록 구성될 수 있다. 다른 컴퓨팅 디바이스 메모리(715)가 또한 사용을 위해 이용가능할 수 있다. 메모리(715)는 상이한 성능 특성들을 갖는 다수의 상이한 타입들의 메모리를 포함할 수 있다. 프로세서(710)는 소프트웨어 명령들이 프로세서 설계 내에 통합되는 특수 목적 프로세서뿐만 아니라 프로세서(710)를 제어하도록 구성되고 저장 디바이스(730)에 저장된 하드웨어 또는 소프트웨어 서비스 및 임의의 범용 프로세서를 포함할 수 있다. 프로세서(710)는 다수의 코어들 또는 프로세서들, 버스, 메모리 제어기, 캐시 등을 포함하는 독립형 시스템일 수 있다. 다중 코어 프로세서는 대칭 또는 비대칭일 수 있다.
컴퓨팅 디바이스 아키텍처(700)와의 사용자 상호작용을 가능하게 하기 위해, 입력 디바이스(745)는 스피치를 위한 마이크로폰, 제스처 또는 그래픽 입력을 위한 터치 감지 스크린, 키보드, 마우스, 모션 입력, 스피치 등과 같은 임의의 수의 입력 메커니즘들을 표현할 수 있다. 출력 디바이스(735)는 또한, 디스플레이, 프로젝터, 텔레비전, 스피커 디바이스와 같은, 당업자에게 알려진 다수의 출력 메커니즘들 중 하나 이상일 수 있다. 일부 경우들에서, 멀티모달(multimodal) 컴퓨팅 디바이스들은, 사용자가 컴퓨팅 디바이스 아키텍처(700)와 통신하기 위해 다수의 타입들의 입력을 제공하는 것을 가능하게 할 수 있다. 통신 인터페이스(740)는 일반적으로 사용자 입력 및 컴퓨팅 디바이스 출력을 운영 및 관리할 수 있다. 임의의 특정 하드웨어 배열에 대해 동작하는 것에 제한이 없으며, 따라서, 여기에서의 기본 특징들은 이들이 개발됨에 따라 개선된 하드웨어 또는 펌웨어 배열들로 쉽게 대체될 수 있다.
저장 디바이스(730)는 비휘발성 메모리이고, 하드 디스크 또는 컴퓨터에 의해 액세스가능한 데이터를 저장할 수 있는 다른 타입들의 컴퓨터 판독가능 매체, 예를 들어, 자기 카세트들, 플래시 메모리 카드들, 솔리드 스테이트 메모리 디바이스들, 디지털 다기능 디스크들, 카트리지들, RAM(random access memory)들(725), ROM(read only memory)(720) 및 이들의 하이브리드들일 수 있다. 저장 디바이스(730)는 프로세서(710)를 제어하기 위한 소프트웨어, 코드, 펌웨어 등을 포함할 수 있다. 다른 하드웨어 또는 소프트웨어 모듈들이 고려된다. 저장 디바이스(730)는 컴퓨팅 디바이스 접속(705)에 접속될 수 있다. 일 양태에서, 특정 기능을 수행하는 하드웨어 모듈은, 그 기능을 수행하기 위해, 프로세서(710), 접속부(705), 출력 디바이스(735) 등과 같은 필요한 하드웨어 컴포넌트들과 연관되어 컴퓨터 판독가능 매체에 저장된 소프트웨어 컴포넌트를 포함할 수 있다.
용어 "컴퓨터 판독가능 매체(computer-readable medium)"는, 휴대 또는 비휴대 저장 디바이스, 광학 저장 디바이스, 및 명령(들) 및/또는 데이터를 저장, 포함 또는 운반할 수 있는 다양한 다른 매체를 포함하지만, 이에 한정되지는 않는다. 컴퓨터 판독가능 매체는 데이터가 저장될 수 있고 무선으로 또는 유선 접속들을 통해 전파되는 반송파들 및/또는 일시적 전자 신호들을 포함하지 않는 비일시적 매체를 포함할 수 있다. 비일시적 매체의 예들은 자기 디스크 또는 테이프, CD(compact disk) 또는 DVD(digital versatile disk)와 같은 광학 저장 매체들, 플래시 메모리, 메모리 또는 메모리 디바이스들을 포함할 수 있지만, 이것들로 제한되지는 않는다. 컴퓨터 판독가능 매체 상에는 절차, 함수, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패키지, 클래스, 또는 명령들, 데이터 구조들 또는 프로그램 명령문들의 임의의 조합을 표현할 수 있는 코드 및/또는 머신 실행가능 명령들이 저장될 수 있다. 코드 세그먼트는 정보, 데이터, 독립변수(argument)들, 파라미터들, 또는 메모리 콘텐츠를 전달 및/또는 수신함으로써 다른 코드 세그먼트 또는 하드웨어 회로에 커플링될 수 있다. 정보, 인수들, 파라미터들, 데이터 등은 메모리 공유, 메시지 전달, 토큰 전달, 네트워크 송신 등을 포함한 임의의 적합한 수단을 통해 전달, 포워딩, 또는 송신될 수 있다.
일부 실시예들에서, 컴퓨터 판독가능 저장 디바이스들, 매체들 및 메모리들은 비트 스트림 등을 포함하는 케이블 또는 무선 신호를 포함할 수 있다. 그러나 언급될 때, 비일시적 컴퓨터 판독가능 저장 매체들은 에너지, 캐리어 신호들, 전자파들, 및 신호들 그 자체와 같은 매체들을 명시적으로 배제한다.
본 명세서에서 제공되는 실시예들 및 예들의 철저한 이해를 제공하기 위해, 특정 세부사항들이 위의 설명에서 제공된다. 그러나 실시예들은 이러한 특정 세부사항들 없이 실시될 수 있음이 당해 기술분야에서 통상의 지식을 가진 자에 의해 이해될 것이다. 설명의 명료화를 위해, 일부 사례들에 있어서, 본 기술은 디바이스들, 디바이스 컴포넌트들, 소프트웨어에서 구현된 방법에서의 단계들 또는 루틴들, 또는 하드웨어와 소프트웨어의 조합들을 포함하는 개별 기능 블록들을 포함하는 것으로서 제시될 수 있다. 도면들에 도시된 그리고/또는 본 명세서에서 설명되는 것들 이외의 추가적인 컴포넌트들이 사용될 수 있다. 예를 들어, 불필요한 세부사항으로 실시예들을 모호하게 하지 않도록 회로들, 시스템들, 네트워크들, 프로세스들 및 다른 컴포넌트들은 블록도 형태로 컴포넌트들로서 도시될 수 있다. 다른 경우들에는, 실시예들을 모호하게 하는 것을 피하기 위해, 잘 알려진 회로들, 프로세스들, 알고리즘들, 구조들 및 기법들이 불필요한 세부사항 없이 도시될 수 있다.
개별 실시예들은 위에서 흐름도, 순서도, 데이터 순서도, 구조도, 또는 블록도로서 도시된 프로세스 또는 방법으로서 설명될 수 있다. 흐름도가 동작들을 순차적인 프로세스로서 설명할 수 있지만, 동작들의 대부분은 병렬로 또는 동시에 수행될 수 있다. 또한, 동작들의 순서는 재배열될 수 있다. 프로세스는 프로세서의 동작들이 완료될 때 종료되지만 도면에 포함되지 않은 추가적인 단계들을 가질 수 있다. 프로세스는 방법, 함수, 절차, 서브루틴, 서브프로그램 등에 대응할 수 있다. 프로세스가 함수에 대응할 때, 그 종료는 호출 함수 또는 메인 함수로의 함수의 리턴에 대응할 수 있다.
위에서 설명된 예들에 따른 프로세스들 및 방법들은 컴퓨터 판독가능 매체들로부터 저장되거나 아니면 컴퓨터 판독가능 매체들로부터 이용가능한 컴퓨터 실행가능 명령들을 사용하여 구현될 수 있다. 그러한 명령들은 예를 들어, 범용 컴퓨터, 특수 목적 컴퓨터 또는 프로세싱 디바이스로 하여금 특정 기능 또는 기능들의 그룹을 수행하게 하거나 아니면 구성하는 명령들 및 데이터를 포함할 수 있다. 사용되는 컴퓨터 자원들의 부분들은 네트워크를 통해 액세스가능할 수 있다. 컴퓨터 실행가능 명령들은, 예를 들어, 어셈블리 언어, 펌웨어, 소스 코드와 같은 바이너리들, 중간 포맷 명령들일 수 있다. 설명되는 예들에 따른 방법들 동안 생성된 정보, 명령들, 및/또는 사용되는 정보를 저장하는 데 사용될 수 있는 컴퓨터 판독가능 매체들의 예들은 자기 또는 광 디스크들, 플래시 메모리, 비휘발성 메모리가 제공된 USB 디바이스들, 네트워킹된 저장 디바이스들 등을 포함한다.
이들 개시들에 따른 프로세스들 및 방법들을 구현하는 디바이스들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술 언어들, 또는 이들의 임의의 조합을 포함할 수 있고, 다양한 폼 팩터들 중 임의의 폼 팩터를 취할 수 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드로 구현될 때, 필요한 작업들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들(예를 들어, 컴퓨터 프로그램 제품)은 컴퓨터 판독가능 또는 머신 판독가능 매체에 저장될 수 있다. 프로세서(들)는 필요한 작업들을 수행할 수 있다. 폼 팩터들의 통상적인 예들은 랩톱들, 스마트 폰들, 모바일 폰들, 태블릿 디바이스들 또는 다른 소형 폼 팩터 퍼스널 컴퓨터들, 퍼스널 디지털 어시스턴트들, 랙마운트 디바이스들, 독립형 디바이스들 등을 포함한다. 본 명세서에서 설명되는 기능은 또한 주변 기기들 또는 애드인(add-in) 카드들로 구현될 수 있다. 그러한 기능은 또한 추가 예로서, 단일 디바이스에서 실행되는 상이한 프로세스들 또는 상이한 칩들 사이의 회로 기판 상에서 구현될 수 있다.
명령들, 그러한 명령들을 전달하기 위한 매체들, 명령들을 실행하기 위한 컴퓨팅 자원들, 및 그러한 컴퓨팅 자원들을 지원하기 위한 다른 구조들은 본 개시에서 설명되는 기능들을 제공하기 위한 예시적인 수단들이다.
위의 설명에서, 본 출원의 양태들은 본 출원의 특정 실시예들을 참조하여 설명되지만, 당해 기술분야에서 통상의 지식을 가진 자들은 본 출원이 이에 제한되지 않음을 인식할 것이다. 따라서, 본 출원의 예시적인 실시예들이 본 명세서에서 상세히 설명되었지만, 본 발명의 개념들은 다른 방식으로 다양하게 구현 및 이용될 수 있고, 첨부된 청구항들은 종래 기술에 의해 제한된 것을 제외하면, 그러한 변형들을 포함하는 것으로 해석되어야 한다고 이해되어야 한다. 위에서 설명된 애플리케이션의 다양한 특징들 및 양태들은 개별적으로 또는 공동으로 사용될 수 있다. 추가로, 실시예들은, 본 명세서의 더 넓은 사상 및 범주를 벗어나지 않으면서, 본 명세서에서 설명되는 것들 이외의 임의의 수의 환경들 및 애플리케이션들에서 활용될 수 있다. 그에 따라, 본 명세서 및 도면들은 제한적인 것이 아니라 예시적인 것으로 간주되어야 한다. 예시의 목적들로, 방법들은 특정 순서로 설명되었다. 대안적인 실시예들에서, 방법들은 설명된 것과 상이한 순서로 수행될 수 있다고 인식되어야 한다.
당업자는 본 명세서에서 사용된 미만("<") 및 초과(">") 기호들 또는 용어가 본 설명의 범위를 벗어나지 않으면서 이하("≤") 및 이상("≥") 기호들로 각각 대체될 수 있음을 알 것이다.
컴포넌트들이 특정 동작을 수행하도록 "구성된" 것으로 기술되는 경우, 그러한 구성은 예를 들어, 전자 회로 또는 다른 하드웨어를 설계하여 그 동작을 수행하는 것에 의해, 프로그래밍 가능한 전자 회로(예를 들어, 마이크로프로세서 또는 다른 적절한 전자 회로)를 프로그래밍하여 그 동작을 수행하는 것에 의해 또는 이들의 임의의 조합에 의해, 달성될 수 있다.
문구 "~ 에 커플링된(coupled to)"은 다른 컴포넌트에 직접적으로 또는 간접적으로 물리적으로 접속된 임의의 컴포넌트, 및/또는, 다른 컴포넌트와 직접적으로 또는 간접적으로 통신하는 (예컨대, 유선 또는 무선 접속, 및/또는 다른 적합한 통신 인터페이스를 통해 다른 컴포넌트에 접속된) 임의의 컴포넌트를 지칭한다.
세트 중 "적어도 하나" 및/또는 세트 중 "하나 이상"을 인용하는 본 개시의 청구항 언어 또는 다른 언어는 세트 중 하나의 멤버 또는 세트 중 다중 멤버들이 (임의의 조합으로) 청구항을 만족한다는 것을 나타낸다. 예를 들어, "A 및 B 중 적어도 하나" 또는 "A 또는 B 중 적어도 하나"를 언급하는 청구항 언어는 A, B, 또는 A와 B를 의미한다. 다른 예에서, "A, B 및 C 중 적어도 하나" 또는 "A, B 또는 C 중 적어도 하나"를 언급하는 청구항 언어는 A, B, C, 또는 A와 B, 또는 A와 C, 또는 B와 C, 또는 A와 B와 C를 의미한다. 그 언어, 세트 "중 적어도 하나" 및/또는 세트 중 "하나 이상"은 세트를 그 세트에 열거된 항목들로 제한하지 않는다. 예를 들어, "A 및 B 중 적어도 하나" 또는 "A 또는 B 중 적어도 하나"를 인용하는 청구항 언어는 A, B, 또는 A 및 B를 의미할 수 있으며, A 및 B의 세트에 열거되지 않은 항목들을 추가적으로 포함할 수 있다.
본 명세서에 개시된 예들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 회로들 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 조합들로 구현될 수 있다. 하드웨어와 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 일반적으로 이들의 기능적 관점에서 앞서 설명되었다. 그러한 기능이 하드웨어로 구현되는지 또는 소프트웨어로 구현되는지는 특정 애플리케이션 및 전체 시스템에 대해 부과된 설계 제약들에 의존한다. 당업자들은 설명된 기능을 특정 출원마다 다양한 방식들로 구현할 수 있지만, 그러한 구현 결정들이 본 출원의 범주를 벗어나게 하는 것으로 해석되지는 않아야 한다.
본 명세서에서 설명되는 기법들은 또한 전자 하드웨어, 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 그러한 기법들은 무선 통신 디바이스 핸드셋들 및 다른 디바이스들에서의 적용을 포함하여 다수의 용도들을 갖는 범용 컴퓨터들, 무선 통신 디바이스 핸드셋들 또는 집적 회로 디바이스들과 같은 다양한 디바이스들 중 임의의 디바이스에서 구현될 수 있다. 모듈들 또는 컴포넌트들로서 설명되는 임의의 특징들은 통합된 로직 디바이스로 함께 또는 개별적이지만 상호운용가능한 로직 디바이스들로서 별개로 구현될 수 있다. 소프트웨어에서 구현되면, 그 기법들은, 실행될 경우 상기 설명된 방법들, 알고리즘들, 및/또는 동작들 중 하나 이상을 수행하는 명령들을 포함하는 프로그램 코드를 포함하는 컴퓨터 판독가능 데이터 저장 매체에 의해 적어도 부분적으로 실현될 수 있다. 컴퓨터 판독가능 데이터 저장 매체는 패키징 재료들을 포함할 수 있는 컴퓨터 프로그램 제품의 일부를 형성할 수 있다. 컴퓨터 판독가능 매체는 메모리 또는 데이터 저장 매체들, 이를테면 RAM(random access memory), 이를테면 SDRAM(synchronous dynamic random access memory), ROM(read-only memory), NVRAM(non-volatile random access memory), EEPROM(electrically erasable programmable read-only memory), FLASH 메모리, 자기 또는 광 데이터 저장 매체들 등을 포함할 수 있다. 추가로 또는 대안으로, 이 기법들은 적어도 부분적으로는, 명령들 또는 데이터 구조들의 형태로 프로그램 코드를 운반 또는 전달하고 컴퓨터, 이를테면 전파 신호들 또는 파들 의해 액세스, 판독 및/또는 실행될 수 있는 컴퓨터 판독가능 통신 매체에 의해 실현될 수 있다.
프로그램 코드는 하나 이상의 프로세서들, 이를테면 하나 이상의 DSP(digital signal processor)들, 범용 마이크로프로세서들, ASIC(application specific integrated circuit)들, FPGA(field programmable logic array)들 또는 다른 대등한 집적 또는 이산 로직 회로를 포함할 수 있는 프로세서에 의해 실행될 수 있다. 그러한 프로세서는 본 개시에서 설명되는 기법들 중 임의의 기법을 수행하도록 구성될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만; 대안으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들어, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 조합된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로서 구현될 수 있다. 그에 따라, 본 명세서에서 사용된 바와 같은 용어 "프로세서"는 전술한 구조, 전술한 구조의 임의의 조합, 또는 본 명세서에서 설명된 기법들의 구현에 적합한 임의의 다른 구조 또는 장치 중 임의의 것을 지칭할 수 있다.
본 개시의 예시적인 예들은 다음을 포함한다:
양태 1. 이미지를 획득하기 위한 장치로서, 장치는, 메모리; 및 메모리에 커플링된 하나 이상의 프로세서들을 포함하고, 하나 이상의 프로세서들은, 장치의 이미지 캡처 디바이스를 통해, 환경의 적어도 일부를 묘사하는 이미지를 획득하고; 이미지로부터 추출된 하나 이상의 시각적 특징들과 하나 이상의 검출 이벤트들과 연관된 키프레임과 연관된 하나 이상의 시각적 특징들 사이의 매칭을 결정하고; 매칭에 기초하여, 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하도록 구성되는, 장치.
양태 2. 양태 1에 있어서, 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하기 위해, 하나 이상의 프로세서들은 이미지 캡처 디바이스의 전력 모드를 수정하도록 구성되는, 장치.
양태 3. 양태 2에 있어서, 이미지 캡처 디바이스의 전력 모드를 수정하기 위해, 하나 이상의 프로세서들은, 이미지 캡처 디바이스의 프레임레이트, 이미지 캡처 디바이스의 해상도, 이미지 캡처 디바이스의 비닝 모드, 이미지 캡처 디바이스의 이미징 모드, 및 이미지 캡처 디바이스 및 장치 중 적어도 하나에 의해 호출되는 이미지 센서들의 수 중 적어도 하나를 수정하도록 구성되는, 장치.
양태 4. 양태 3에 있어서, 이미지 캡처 디바이스의 전력 모드를 수정하기 위해, 하나 이상의 프로세서들은, 환경에서 관심 이벤트가 발생할 가능성이 임계치 미만이라는 결정에 기초하여, 프레임레이트, 해상도, 비닝 모드, 이미징 모드 및 호출된 이미지 센서들의 수 중 적어도 하나를 감소시키도록 구성되는, 장치.
양태 5. 양태 3에 있어서, 이미지 캡처 디바이스의 전력 모드를 수정하기 위해, 하나 이상의 프로세서들은, 환경에서 관심 이벤트가 발생할 가능성이 임계치 초과라는 결정에 기초하여, 프레임레이트, 해상도, 비닝 모드, 이미징 모드 및 호출된 이미지 센서들의 수 중 적어도 하나를 증가시키도록 구성되는, 장치.
양태 6. 양태 1 내지 양태 5 중 어느 하나에 있어서, 이미지 캡처 디바이스는 제1 이미지 캡처 디바이스를 포함하고, 하나 이상의 프로세서들은, 환경에서 관심 이벤트가 발생할 가능성이 임계치를 초과한다는 결정에 기초하여, 장치의 제2 이미지 캡처 디바이스의 전력 모드를 증가시키도록 구성되고, 제2 이미지 캡처 디바이스는 제1 이미지 캡처 디바이스보다 높은 전력 모드, 제1 이미지 캡처 디바이스보다 높은 프레임레이트, 제1 이미지 캡처 디바이스보다 높은 해상도, 제1 이미지 캡처 디바이스보다 많은 수의 이미지 센서들, 및 제1 이미지 캡처 디바이스와 연관된 프로세싱 파이프라인보다 높은 전력의 프로세싱 파이프라인 중 적어도 하나를 이용하는, 장치.
양태 7. 양태 6에 있어서, 제2 이미지 캡처 디바이스의 전력 모드를 증가시키기 위해, 하나 이상의 프로세서들은 제2 이미지 캡처 디바이스를 초기화하도록 구성되는, 장치.
양태 8. 양태 1 내지 양태 7 중 어느 하나에 있어서, 키프레임은 장치에서의 이벤트 데이터에 포함되고, 이벤트 데이터는 이미지 캡처 디바이스와 연관된 검출 이벤트들로부터의 다수의 키프레임들을 포함하는, 장치.
양태 9. 양태 8에 있어서, 이벤트 데이터는 상기 수의 키프레임들 중 각각의 키프레임과 연관된 검출 이벤트들의 개개의 카운트를 더 포함하는, 장치.
양태 10. 양태 8 내지 양태 9 중 어느 하나에 있어서, 하나 이상의 프로세서들은 환경에서 관심 이벤트가 발생할 가능성을 결정하도록 구성되고, 환경에서 이벤트가 발생할 가능성을 결정하기 위해, 하나 이상의 프로세서들은, 매칭 및 키프레임과 연관된 검출 이벤트들의 개개의 카운트에 기초하여 환경에서 이벤트가 발생할 가능성을 결정하도록 구성되는, 장치.
양태 11. 양태 9 내지 양태 10 중 어느 하나에 있어서, 하나 이상의 프로세서들은, 이미지로부터 추출된 하나 이상의 시각적 특징들과 키프레임과 연관된 하나 이상의 시각적 특징들 사이의 매칭을 결정하는 것에 응답하여, 이벤트 데이터에서 키프레임과 연관된 검출 이벤트들의 개개의 카운트를 증가시키도록 구성되는, 장치.
양태 12. 양태 9 내지 양태 11 중 어느 하나에 있어서, 하나 이상의 프로세서들은 환경에서 관심 이벤트가 발생할 가능성을 결정하도록 구성되고, 환경에서 이벤트가 발생할 가능성을 결정하기 위해, 하나 이상의 프로세서들은, 매칭 및 수의 키프레임들로부터의 하나 이상의 키프레임들에 기초하여 환경에서 이벤트가 발생할 가능성을 결정하도록 구성되는, 장치.
양태 13. 양태 1 내지 양태 12 중 어느 하나에 있어서, 하나 이상의 프로세서들은, 이미지 캡처 디바이스를 통해, 상이한 환경의 적어도 일부를 묘사하는 상이한 이미지를 획득하고; 상이한 이미지로부터 추출된 하나 이상의 시각적 특징들이 장치에서의 이벤트 데이터의 임의의 키프레임과 연관된 시각적 특징들과 매칭하지 않는다고 결정하고; 상이한 이미지에 대응하는 이벤트 데이터에서 새로운 엔트리를 생성하도록 구성되고, 새로운 엔트리는, 상이한 이미지로부터 추출된 하나 이상의 시각적 특징들이 이벤트 데이터 내의 임의의 키프레임과 연관된 시각적 특징들과 매칭하지 않는다고 결정하는 것, 관심 이벤트가 상이한 이미지에서 검출되었다는 결정, 이벤트 데이터 내의 개개의 키프레임이 생성된 마지막 시간 이후 경과된 시간, 및 이벤트 데이터 내의 특정 키프레임과 이미지 캡처 디바이스에 의해 캡처된 특정 이미지 사이에서 개개의 매칭이 식별된 마지막 시간 이후 경과된 시간 중 적어도 하나에 응답하여 생성되는, 장치.
양태 14. 양태 13에 있어서, 하나 이상의 프로세서들은, 관심 이벤트가 상이한 이미지에서 검출되었다고 결정하고; 관심 이벤트가 상이한 이미지에서 검출되었다는 결정에 기초하여, 상이한 환경에서 추가적인 관심 이벤트가 발생할 제2 가능성을 결정하고; 상이한 환경에서 추가적인 관심 이벤트가 발생할 제2 가능성에 기초하여 이미지 캡처 디바이스의 적어도 하나의 설정을 조정하도록 구성되는, 장치.
양태 15. 양태 1 내지 양태 14 중 어느 하나에 있어서, 이미지 캡처 디바이스의 하나 이상의 설정들은 프레임레이트를 포함하고, 하나 이상의 프로세서들은, 검출 이벤트들에 대한 미리 결정된 프레임레이트 및 환경에서 관심 이벤트가 발생할 가능성에 기초하여 프레임레이트를 결정하고; 적어도 구성된 시간 기간의 만료 또는 이미지 캡처 디바이스에 의해 캡처된 상이한 이미지와 장치에서의 이벤트 데이터 내의 적어도 하나의 키프레임 사이의 후속 매칭의 결정까지 프레임레이트를 유지하도록 구성되는, 장치.
양태 16. 양태 15에 있어서, 하나 이상의 프로세서들은, 구성된 시간 기간의 만료 또는 후속 매칭의 결정 후에, 이미지 캡처 디바이스의 프레임레이트를 상이한 프레임레이트로 조정하도록 구성되는, 장치.
양태 17. 양태 16에 있어서, 상이한 프레임레이트는 미리 결정된 프레임레이트 및 후속 매칭과 연관된 특정 관심 이벤트를 검출할 제2 가능성에 기초하여 결정된 특정 프레임레이트 또는 디폴트 프레임레이트를 포함하는, 장치.
양태 18. 양태 15 내지 양태 17 중 어느 하나에 있어서, 미리 결정된 프레임레이트는 디폴트 프레임레이트보다 높고, 하나 이상의 프로세서들은, 장치에서 이벤트 데이터에 하나 이상의 키프레임들을 추가하는 것에 응답하여, 디폴트 프레임레이트를 더 낮은 프레임레이트로 감소시키도록 구성되는, 장치.
양태 19. 양태 16에 있어서, 미리 결정된 프레임레이트는 이미지 캡처 디바이스에 의해 지원되는 최고 프레임레이트를 포함하고, 프레임레이트를 결정하기 위해, 하나 이상의 프로세서들은, 환경에서 검출 이벤트가 발생할 가능성에 대응하는 값을 미리 결정된 프레임레이트에 곱하도록 구성되는, 장치.
양태 20. 양태 1 내지 양태 19 중 어느 하나에 있어서, 이미지로부터 추출된 하나 이상의 시각적 특징들과 키프레임과 연관된 하나 이상의 시각적 특징들 사이의 매칭를 결정하기 위해, 하나 이상의 프로세서들은, 이미지로부터 추출된 하나 이상의 시각적 특징들 중 적어도 하나를 키프레임과 연관된 하나 이상의 시각적 특징들과 비교하고, 이미지로부터 추출된 하나 이상의 시각적 특징들의 제1 디스크립터를 키프레임과 연관된 하나 이상의 시각적 특징들의 제2 디스크립터와 비교하도록 구성되는, 장치.
양태 21. 양태 1 내지 양태 20 중 어느 하나에 있어서, 하나 이상의 프로세서들은, 환경에서 관심 이벤트가 발생할 가능성에 기초하여, 장치의 활성 깊이 송신기, 오디오 알고리즘, GNSS(global navigation satellite) 시스템, 무선 위치 영역 네트워크 접속 및 GPS(global positioning system) 중 적어도 하나와 연관된 위치 서비스 중 적어도 하나의 하나 이상의 상이한 설정들을 조정하도록 구성되는, 장치.
양태 22. 양태 21에 있어서, 하나 이상의 상이한 설정들을 조정하기 위해, 하나 이상의 프로세서들은 활성 깊이 송신기, 오디오 알고리즘 및 위치 서비스 중 적어도 하나를 턴 오프시키거나 또는 구현하도록 구성되는, 장치.
양태 23. 양태 1 내지 양태 22 중 어느 하나에 있어서, 하나 이상의 프로세서들은, 장치에서 이벤트 데이터의 키프레임 엔트리들과 연관된 검출 이벤트들의 개개의 카운트들을 주기적으로 감소시키도록 구성되고, 검출 이벤트들의 개개의 카운트들은 이벤트 데이터의 모든 키프레임 엔트리들에 걸쳐 비례적으로 감소되는, 장치.
양태 24. 양태 1 내지 양태 23 중 어느 하나에 있어서, 하나 이상의 검출 이벤트들은, 이미지에 의해 묘사된 얼굴, 이미지에 의해 묘사된 손 제스처, 이미지에 의해 묘사된 감정, 이미지에 의해 묘사된 장면, 이미지에 의해 묘사된 하나 이상의 사람들, 이미지에 의해 묘사된 동물, 이미지에 의해 묘사된 머신 판독가능 코드, 이미지에 의해 묘사된 적외선, 이미지에 의해 묘사된 2차원 표면, 및 이미지에 의해 묘사된 텍스트 중 적어도 하나의 검출을 포함하는, 장치.
양태 25. 양태 1 내지 양태 24 중 어느 하나에 있어서, 키프레임은 장치에서의 이벤트 데이터의 일부이고, 이벤트 데이터는 복수의 키프레임들을 포함하는, 장치.
양태 26. 양태 1 내지 양태 25 중 어느 하나에 있어서, 하나 이상의 프로세서들은, 매칭에 기초하여, 환경에서 관심 이벤트가 발생할 가능성을 결정하고; 환경에서 관심 이벤트가 발생할 가능성에 추가로 기초하여 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하도록 구성되는, 장치.
양태 27. 양태 26에 있어서, 하나 이상의 프로세서들은, 장치의 비-이미지 캡처 디바이스로부터의 데이터에 추가로 기초하여 이벤트의 가능성을 결정하거나; 또는 장치의 비-이미지 캡처 디바이스로부터의 데이터에 추가로 기초하여 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하도록 추가로 구성되는, 장치.
양태 28. 양태 1 내지 양태 27 중 어느 하나에 있어서, 장치는 모바일 디바이스를 포함하는, 장치.
양태 29. 양태 1 내지 양태 28 중 어느 하나에 있어서, 장치는 증강 현실 디바이스를 포함하는, 장치.
양태 30. 이미지를 획득하기 위한 방법으로서, 방법은 전자 디바이스의 이미지 캡처 디바이스를 통해, 환경의 적어도 일부를 묘사하는 이미지를 획득하는 단계; 이미지로부터 추출된 하나 이상의 시각적 특징들과 하나 이상의 검출 이벤트들과 연관된 키프레임과 연관된 하나 이상의 시각적 특징들 사이의 매칭을 결정하는 단계; 및 매칭에 기초하여, 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하는 단계를 포함하는, 방법.
양태 31. 양태 30에 있어서, 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하는 단계는 이미지 캡처 디바이스의 전력 모드를 수정하는 단계를 포함하는, 방법.
양태 32. 양태 31에 있어서, 이미지 캡처 디바이스의 전력 모드를 수정하는 단계는, 이미지 캡처 디바이스의 프레임레이트, 이미지 캡처 디바이스의 해상도, 이미지 캡처 디바이스의 비닝 모드, 이미지 캡처 디바이스의 이미징 모드, 및 이미지 캡처 디바이스 및 전자 디바이스 중 적어도 하나에 의해 호출되는 이미지 센서들의 수 중 적어도 하나를 수정하는 단계를 포함하는, 방법.
양태 33. 양태 31 내지 양태 32 중 어느 하나에 있어서, 이미지 캡처 디바이스의 전력 모드를 수정하는 단계는, 환경에서 관심 이벤트가 발생할 가능성이 임계치 미만이라는 결정에 기초하여, 프레임레이트, 해상도, 비닝 모드, 이미징 모드 및 호출된 이미지 센서들의 수 중 적어도 하나를 감소시키는 단계를 포함하는, 방법.
양태 34. 양태 31 내지 양태 32 중 어느 하나에 있어서, 이미지 캡처 디바이스의 전력 모드를 수정하는 단계는, 환경에서 관심 이벤트가 발생할 가능성이 임계치 초과라는 결정에 기초하여, 프레임레이트, 해상도, 비닝 모드, 이미징 모드 및 호출된 이미지 센서들의 수 중 적어도 하나를 증가시키는 단계를 포함하는, 방법.
양태 35. 양태 30 내지 양태 34 중 어느 하나에 있어서, 이미지 캡처 디바이스는 제1 이미지 캡처 디바이스를 포함하고, 방법은, 환경에서 관심 이벤트가 발생할 가능성이 임계치를 초과한다는 결정에 기초하여, 전자 디바이스의 제2 이미지 캡처 디바이스의 전력 모드를 증가시키는 단계를 더 포함하고, 제2 이미지 캡처 디바이스는 제1 이미지 캡처 디바이스보다 높은 전력 모드, 제1 이미지 캡처 디바이스보다 높은 프레임레이트, 제1 이미지 캡처 디바이스보다 높은 해상도, 제1 이미지 캡처 디바이스보다 많은 수의 이미지 센서들, 및 제1 이미지 캡처 디바이스와 연관된 프로세싱 파이프라인보다 높은 전력의 프로세싱 파이프라인 중 적어도 하나를 이용하는, 방법.
양태 36. 양태 35에 있어서, 제2 이미지 캡처 디바이스의 전력 모드를 증가시키는 단계는 제2 이미지 캡처 디바이스를 초기화하는 단계를 포함하는, 방법.
양태 37. 양태 30 내지 양태 36 중 어느 하나에 있어서, 키프레임은 전자 디바이스에서의 이벤트 데이터에 포함되고, 이벤트 데이터는 이미지 캡처 디바이스와 연관된 검출 이벤트들로부터의 다수의 키프레임들을 포함하는, 방법.
양태 38. 양태 37에 있어서, 이벤트 데이터는 상기 수의 키프레임들 중 각각의 키프레임과 연관된 검출 이벤트들의 개개의 카운트를 더 포함하는, 방법.
양태 39. 양태 37 내지 양태 38 중 어느 하나에 있어서, 상기 매칭 및 상기 키프레임과 연관된 검출 이벤트들의 상기 개개의 카운트에 기초하여 상기 환경에서 관심 이벤트가 발생할 가능성을 결정하는 단계를 더 포함하는, 방법.
양태 40. 양태 38 내지 양태 39 중 어느 하나에 있어서, 이미지로부터 추출된 하나 이상의 시각적 특징들과 키프레임과 연관된 하나 이상의 시각적 특징들 사이의 매칭을 결정하는 것에 응답하여, 이벤트 데이터에서 키프레임과 연관된 검출 이벤트들의 개개의 카운트를 증가시키는 단계를 더 포함하는, 방법.
양태 41. 양태 38 내지 양태 40 중 어느 하나에 있어서, 매칭 및 상기 수의 키프레임들로부터의 하나 이상의 키프레임들에 기초하여 환경에서 관심 이벤트가 발생할 가능성을 결정하는 단계를 더 포함하는, 방법.
양태 42. 양태 30 내지 양태 41 중 어느 하나에 있어서, 이미지 캡처 디바이스를 통해, 상이한 환경의 적어도 일부를 묘사하는 상이한 이미지를 획득하는 단계; 상이한 이미지로부터 추출된 하나 이상의 시각적 특징들이 전자 디바이스에서의 이벤트 데이터의 임의의 키프레임과 연관된 시각적 특징들과 매칭하지 않는다고 결정하는 단계; 및 상이한 이미지에 대응하는 이벤트 데이터에서 새로운 엔트리를 생성하는 단계를 더 포함하고, 새로운 엔트리는, 상이한 이미지로부터 추출된 하나 이상의 시각적 특징들이 이벤트 데이터 내의 임의의 키프레임과 연관된 시각적 특징들과 매칭하지 않는다고 결정하는 것, 관심 이벤트가 상이한 이미지에서 검출되었다는 결정, 이벤트 데이터 내의 개개의 키프레임이 생성된 마지막 시간 이후 경과된 시간, 및 이벤트 데이터 내의 특정 키프레임과 이미지 캡처 디바이스에 의해 캡처된 특정 이미지 사이에서 개개의 매칭이 식별된 마지막 시간 이후 경과된 시간 중 적어도 하나에 응답하여 생성되는, 방법.
양태 43. 양태 42에 있어서, 관심 이벤트가 상이한 이미지에서 검출되었다고 결정하는 단계; 관심 이벤트가 상이한 이미지에서 검출되었다는 결정에 기초하여, 상이한 환경에서 추가적인 관심 이벤트가 발생할 제2 가능성을 결정하는 단계; 및 상이한 환경에서 추가적인 관심 이벤트가 발생할 제2 가능성에 기초하여 이미지 캡처 디바이스의 적어도 하나의 설정을 조정하는 단계를 더 포함하는, 방법.
양태 44. 양태 30 내지 양태 43 중 어느 하나에 있어서, 이미지 캡처 디바이스의 하나 이상의 설정들은 프레임레이트를 포함하고, 방법은, 검출 이벤트들에 대한 미리 결정된 프레임레이트 및 환경에서 관심 이벤트가 발생할 가능성에 기초하여 프레임레이트를 결정하는 단계; 적어도 구성된 시간 기간의 만료 또는 이미지 캡처 디바이스에 의해 캡처된 상이한 이미지와 전자 디바이스에서의 이벤트 데이터 내의 적어도 하나의 키프레임 사이의 후속 매칭의 결정까지 프레임레이트를 유지하는 단계를 더 포함하는, 방법.
양태 45. 양태 44에 있어서, 구성된 시간 기간의 만료 또는 후속 매칭의 결정 후에, 이미지 캡처 디바이스의 프레임레이트를 상이한 프레임레이트로 조정하는 단계를 더 포함하는, 방법.
양태 46. 양태 45에 있어서, 상이한 프레임레이트는 미리 결정된 프레임레이트 및 후속 매칭과 연관된 특정 관심 이벤트를 검출할 제2 가능성에 기초하여 결정된 특정 프레임레이트 또는 디폴트 프레임레이트를 포함하는, 방법.
양태 47. 양태 44 내지 양태 46 중 어느 하나에 있어서, 미리 결정된 프레임레이트는 디폴트 프레임레이트보다 높고, 방법은, 전자 디바이스에서 이벤트 데이터에 하나 이상의 키프레임들을 추가하는 것에 응답하여, 디폴트 프레임레이트를 더 낮은 프레임레이트로 감소시키는 단계를 더 포함하는, 방법.
양태 48. 양태 47에 있어서, 미리 결정된 프레임레이트는 이미지 캡처 디바이스에 의해 지원되는 최고 프레임레이트를 포함하고, 프레임레이트를 결정하는 단계는 환경에서 검출 이벤트가 발생할 가능성에 대응하는 값을 미리 결정된 프레임레이트에 곱하는 단계를 포함하는, 방법.
양태 49. 양태 30 내지 양태 48 중 어느 하나에 있어서, 이미지로부터 추출된 하나 이상의 시각적 특징들과 키프레임과 연관된 하나 이상의 시각적 특징들 사이의 매칭를 결정하는 단계는, 이미지로부터 추출된 하나 이상의 시각적 특징들 중 적어도 하나를 키프레임과 연관된 하나 이상의 시각적 특징들과 비교하고, 이미지로부터 추출된 하나 이상의 시각적 특징들의 제1 디스크립터를 키프레임과 연관된 하나 이상의 시각적 특징들의 제2 디스크립터와 비교하는 단계를 더 포함하는, 방법.
양태 50. 양태 30 내지 양태 49 중 어느 하나에 있어서, 환경에서 관심 이벤트가 발생할 가능성에 기초하여, 전자 디바이스의 활성 깊이 송신기, 오디오 알고리즘, GNSS(global navigation satellite) 시스템, 무선 위치 영역 네트워크 접속 및 GPS(global positioning system) 중 적어도 하나와 연관된 위치 서비스 중 적어도 하나의 하나 이상의 상이한 설정들을 조정하는 단계를 더 포함하는, 방법.
양태 51. 양태 50에 있어서, 하나 이상의 상이한 설정들을 조정하는 단계는 활성 깊이 송신기, 오디오 알고리즘 및 위치 서비스 중 적어도 하나를 턴 오프시키거나 또는 구현하는 단계를 포함하는, 방법.
양태 52. 양태 30 내지 양태 51 중 어느 하나에 있어서, 전자 디바이스에서 이벤트 데이터의 키프레임 엔트리들과 연관된 검출 이벤트들의 개개의 카운트들을 주기적으로 감소시키는 단계를 더 포함하고, 검출 이벤트들의 개개의 카운트들은 이벤트 데이터의 모든 키프레임 엔트리들에 걸쳐 비례적으로 감소되는, 방법.
양태 53. 양태 30 내지 양태 52 중 어느 하나에 있어서, 하나 이상의 검출 이벤트들은, 이미지에 의해 묘사된 얼굴, 이미지에 의해 묘사된 손 제스처, 이미지에 의해 묘사된 감정, 이미지에 의해 묘사된 장면, 이미지에 의해 묘사된 하나 이상의 사람들, 이미지에 의해 묘사된 동물, 이미지에 의해 묘사된 머신 판독가능 코드, 이미지에 의해 묘사된 적외선, 이미지에 의해 묘사된 2차원 표면, 및 이미지에 의해 묘사된 텍스트 중 적어도 하나의 검출을 포함하는, 방법.
양태 54. 양태 30 내지 양태 53 중 어느 하나에 있어서, 키프레임은 전자 디바이스에서의 이벤트 데이터의 일부이고, 이벤트 데이터는 복수의 키프레임들을 포함하는, 방법.
양태 55. 양태 30 내지 양태 54 중 어느 하나에 있어서, 매칭에 기초하여, 환경에서 관심 이벤트가 발생할 가능성을 결정하는 단계; 및 환경에서 관심 이벤트가 발생할 가능성에 추가로 기초하여 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하는 단계를 더 포함하는, 방법.
양태 56. 양태 55에 있어서, 전자 디바이스의 비-이미지 캡처 디바이스로부터의 데이터에 추가로 기초하여 이벤트의 가능성을 결정하는 단계; 또는 전자 디바이스의 비-이미지 캡처 디바이스로부터의 데이터에 추가로 기초하여 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하는 단계를 더 포함하는, 방법.
양태 57. 양태 30 내지 양태 56 중 어느 하나에 있어서, 전자 디바이스는 모바일 디바이스를 포함하는, 방법.
양태 58. 양태 30 내지 양태 57 중 어느 하나에 있어서, 전자 디바이스는 증강 현실 디바이스를 포함하는, 방법.
양태 59. 장치로서, 양태 30 내지 양태 58 중 어느 하나에 따른 방법을 수행하기 위한 수단을 포함하는, 장치.
양태 60. 양태 59에 있어서, 장치는 모바일 디바이스를 포함하는, 장치.
양태 61. 양태 59 내지 양태 60 중 어느 하나에 있어서, 장치는 증강 현실 디바이스를 포함하는, 장치.
양태 62. 명령들이 저장된 비일시적 컴퓨터 판독가능 매체로서, 명령들은, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금, 양태 30 내지 양태 58 중 어느 하나에 따른 방법을 수행하게 하는, 비일시적 컴퓨터 판독가능 매체.
양태 63. 양태 62에 있어서, 전자 디바이스는 모바일 디바이스를 포함하는, 비일시적 컴퓨터 판독가능 매체.
양태 64. 양태 62 내지 양태 63 중 어느 하나에 있어서, 전자 디바이스는 증강 현실 디바이스를 포함하는, 비일시적 컴퓨터 판독가능 매체.

Claims (50)

  1. 이미지를 획득하기 위한 장치로서,
    메모리; 및
    상기 메모리에 커플링된 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은,
    상기 장치의 이미지 캡처 디바이스를 통해, 환경의 적어도 부분을 묘사하는 이미지를 획득하고;
    상기 이미지로부터 추출된 하나 이상의 시각적 특징들과 하나 이상의 검출 이벤트들과 연관된 키프레임과 연관된 하나 이상의 시각적 특징들 사이의 매칭을 결정하고; 그리고
    상기 매칭에 기초하여, 상기 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하도록
    구성되는, 이미지를 획득하기 위한 장치.
  2. 제1항에 있어서, 상기 이미지 캡처 디바이스의 상기 하나 이상의 설정들을 조정하기 위해, 상기 하나 이상의 프로세서들은 상기 이미지 캡처 디바이스의 전력 모드를 수정하도록 구성되는, 이미지를 획득하기 위한 장치.
  3. 제2항에 있어서, 상기 이미지 캡처 디바이스의 상기 전력 모드를 수정하기 위해, 상기 하나 이상의 프로세서들은, 상기 이미지 캡처 디바이스의 프레임레이트, 상기 이미지 캡처 디바이스의 해상도, 상기 이미지 캡처 디바이스의 비닝(binning) 모드, 상기 이미지 캡처 디바이스의 이미징 모드, 및 상기 이미지 캡처 디바이스 및 상기 장치 중 적어도 하나에 의해 호출되는 이미지 센서들의 수 중 적어도 하나를 수정하도록 구성되는, 이미지를 획득하기 위한 장치.
  4. 제3항에 있어서, 상기 이미지 캡처 디바이스의 상기 전력 모드를 수정하기 위해, 상기 하나 이상의 프로세서들은,
    상기 환경에서 관심 이벤트가 발생할 가능성이 임계치 미만이라는 결정에 기초하여, 상기 프레임레이트, 상기 해상도, 상기 비닝 모드, 상기 이미징 모드 및 상기 호출된 이미지 센서들의 수 중 적어도 하나를 감소시키도록 구성되는, 이미지를 획득하기 위한 장치.
  5. 제3항에 있어서, 상기 이미지 캡처 디바이스의 상기 전력 모드를 수정하기 위해, 상기 하나 이상의 프로세서들은,
    상기 환경에서 관심 이벤트가 발생할 가능성이 임계치 초과라는 결정에 기초하여, 상기 프레임레이트, 상기 해상도, 상기 비닝 모드, 상기 이미징 모드 및 상기 호출된 이미지 센서들의 수 중 적어도 하나를 증가시키도록 구성되는, 이미지를 획득하기 위한 장치.
  6. 제1항에 있어서, 상기 이미지 캡처 디바이스는 제1 이미지 캡처 디바이스를 포함하고, 상기 하나 이상의 프로세서들은,
    상기 환경에서 관심 이벤트가 발생할 가능성이 임계치를 초과한다는 결정에 기초하여, 상기 장치의 제2 이미지 캡처 디바이스의 전력 모드를 증가시키도록 구성되고, 상기 제2 이미지 캡처 디바이스는 상기 제1 이미지 캡처 디바이스보다 높은 전력 모드, 상기 제1 이미지 캡처 디바이스보다 높은 프레임레이트, 상기 제1 이미지 캡처 디바이스보다 높은 해상도, 상기 제1 이미지 캡처 디바이스보다 많은 수의 이미지 센서들, 및 상기 제1 이미지 캡처 디바이스와 연관된 프로세싱 파이프라인보다 높은 전력의 프로세싱 파이프라인 중 적어도 하나를 이용하는, 이미지를 획득하기 위한 장치.
  7. 제6항에 있어서, 상기 제2 이미지 캡처 디바이스의 상기 전력 모드를 증가시키기 위해, 상기 하나 이상의 프로세서들은 상기 제2 이미지 캡처 디바이스를 초기화하도록 구성되는, 이미지를 획득하기 위한 장치.
  8. 제1항에 있어서, 상기 키프레임은 상기 장치에서의 이벤트 데이터에 포함되고, 상기 이벤트 데이터는 상기 이미지 캡처 디바이스와 연관된 검출 이벤트들로부터의 다수의 키프레임들을 포함하는, 이미지를 획득하기 위한 장치.
  9. 제8항에 있어서, 상기 이벤트 데이터는 상기 수의 키프레임들 중 각각의 키프레임과 연관된 검출 이벤트들의 개개의 카운트를 더 포함하는, 이미지를 획득하기 위한 장치.
  10. 제8항에 있어서, 상기 하나 이상의 프로세서들은 상기 환경에서 관심 이벤트가 발생할 가능성을 결정하도록 구성되고, 상기 환경에서 상기 이벤트가 발생할 가능성을 결정하기 위해, 상기 하나 이상의 프로세서들은,
    상기 매칭 및 상기 수의 키프레임들로부터의 하나 이상의 키프레임들에 기초하여 상기 환경에서 상기 이벤트가 발생할 가능성을 결정하도록 구성되는, 이미지를 획득하기 위한 장치.
  11. 제9항에 있어서, 상기 하나 이상의 프로세서들은 상기 환경에서 관심 이벤트가 발생할 가능성을 결정하도록 구성되고, 상기 환경에서 상기 이벤트가 발생할 가능성을 결정하기 위해, 상기 하나 이상의 프로세서들은, 상기 매칭 및 상기 키프레임과 연관된 검출 이벤트들의 상기 개개의 카운트에 기초하여 상기 환경에서 상기 이벤트가 발생할 가능성을 결정하도록 구성되는, 이미지를 획득하기 위한 장치.
  12. 제9항에 있어서, 상기 하나 이상의 프로세서들은,
    상기 이미지로부터 추출된 하나 이상의 시각적 특징들과 상기 키프레임과 연관된 하나 이상의 시각적 특징들 사이의 상기 매칭을 결정하는 것에 응답하여, 상기 이벤트 데이터에서 상기 키프레임과 연관된 검출 이벤트들의 상기 개개의 카운트를 증가시키도록 구성되는, 이미지를 획득하기 위한 장치.
  13. 제1항에 있어서, 상기 하나 이상의 프로세서들은,
    상기 이미지 캡처 디바이스를 통해, 상이한 환경의 적어도 부분을 묘사하는 상이한 이미지를 획득하고;
    상기 상이한 이미지로부터 추출된 하나 이상의 시각적 특징들이 상기 장치에서의 이벤트 데이터의 임의의 키프레임과 연관된 시각적 특징들과 매칭하지 않는다고 결정하고; 그리고
    상기 상이한 이미지에 대응하는 상기 이벤트 데이터에서 새로운 엔트리를 생성하도록
    구성되고,
    상기 새로운 엔트리는, 상기 상이한 이미지로부터 추출된 상기 하나 이상의 시각적 특징들이 상기 이벤트 데이터 내의 임의의 키프레임과 연관된 시각적 특징들과 매칭하지 않는다고 결정하는 것, 및 관심 이벤트가 상기 상이한 이미지에서 검출되었다는 결정, 상기 이벤트 데이터 내의 개개의 키프레임이 생성된 마지막 시간 이후 경과된 시간, 및 상기 이벤트 데이터 내의 특정 키프레임과 상기 이미지 캡처 디바이스에 의해 캡처된 특정 이미지 사이에서 개개의 매칭이 식별된 마지막 시간 이후 경과된 시간 중 적어도 하나에 응답하여 생성되는, 이미지를 획득하기 위한 장치.
  14. 제13항에 있어서, 상기 하나 이상의 프로세서들은,
    상기 관심 이벤트가 상기 상이한 이미지에서 검출되었다고 결정하고;
    상기 관심 이벤트가 상기 상이한 이미지에서 검출되었다는 결정에 기초하여, 상기 상이한 환경에서 추가적인 관심 이벤트가 발생할 제2 가능성을 결정하고; 그리고
    상기 상이한 환경에서 상기 추가적인 관심 이벤트가 발생할 상기 제2 가능성에 기초하여 상기 이미지 캡처 디바이스의 적어도 하나의 설정을 조정하도록
    구성되는, 이미지를 획득하기 위한 장치.
  15. 제1항에 있어서, 상기 이미지 캡처 디바이스의 상기 하나 이상의 설정들은 프레임레이트를 포함하고, 상기 하나 이상의 프로세서들은,
    검출 이벤트들에 대한 미리 결정된 프레임레이트 및 상기 환경에서 관심 이벤트가 발생할 가능성에 기초하여 상기 프레임레이트를 결정하고; 그리고
    적어도 구성된 시간 기간의 만료 또는 상기 이미지 캡처 디바이스에 의해 캡처된 상이한 이미지와 상기 장치에서의 이벤트 데이터 내의 적어도 하나의 키프레임 사이의 후속 매칭의 결정까지 상기 프레임레이트를 유지하도록
    구성되는, 이미지를 획득하기 위한 장치.
  16. 제15항에 있어서, 상기 하나 이상의 프로세서들은,
    상기 구성된 시간 기간의 만료 또는 상기 후속 매칭의 결정 후에, 상기 이미지 캡처 디바이스의 상기 프레임레이트를 상이한 프레임레이트로 조정하도록 구성되는, 이미지를 획득하기 위한 장치.
  17. 제16항에 있어서, 상기 상이한 프레임레이트는 상기 미리 결정된 프레임레이트 및 상기 후속 매칭과 연관된 특정 관심 이벤트를 검출할 제2 가능성에 기초하여 결정된 특정 프레임레이트 또는 디폴트 프레임레이트를 포함하는, 이미지를 획득하기 위한 장치.
  18. 제1항에 있어서, 상기 하나 이상의 프로세서들은,
    상기 환경에서 관심 이벤트가 발생할 가능성에 기초하여, 상기 장치의 활성 깊이 송신기, 오디오 알고리즘, GNSS(global navigation satellite) 시스템, 무선 위치 영역 네트워크 접속 및 GPS(global positioning system) 중 적어도 하나와 연관된 위치 서비스 중 적어도 하나의 하나 이상의 상이한 설정들을 조정하도록 구성되는, 이미지를 획득하기 위한 장치.
  19. 제18항에 있어서, 상기 하나 이상의 상이한 설정들을 조정하기 위해, 상기 하나 이상의 프로세서들은 상기 활성 깊이 송신기, 상기 오디오 알고리즘 및 상기 위치 서비스 중 적어도 하나를 턴 오프시키거나 또는 구현하도록 구성되는, 이미지를 획득하기 위한 장치.
  20. 제1항에 있어서, 상기 하나 이상의 프로세서들은,
    상기 장치에서 이벤트 데이터의 키프레임 엔트리들과 연관된 검출 이벤트들의 개개의 카운트들을 주기적으로 감소시키도록 구성되고, 검출 이벤트들의 상기 개개의 카운트들은 상기 이벤트 데이터의 모든 키프레임 엔트리들에 걸쳐 비례적으로 감소되는, 이미지를 획득하기 위한 장치.
  21. 제1항에 있어서, 상기 하나 이상의 검출 이벤트들은, 상기 이미지에 의해 묘사된 얼굴, 상기 이미지에 의해 묘사된 손 제스처, 상기 이미지에 의해 묘사된 감정, 상기 이미지에 의해 묘사된 장면, 상기 이미지에 의해 묘사된 하나 이상의 사람들, 상기 이미지에 의해 묘사된 동물, 상기 이미지에 의해 묘사된 머신 판독가능 코드, 상기 이미지에 의해 묘사된 적외선, 상기 이미지에 의해 묘사된 2차원 표면, 및 상기 이미지에 의해 묘사된 텍스트 중 적어도 하나의 검출을 포함하는, 이미지를 획득하기 위한 장치.
  22. 제1항에 있어서, 상기 키프레임은 상기 장치에서의 이벤트 데이터의 일부이고, 상기 이벤트 데이터는 복수의 키프레임들을 포함하는, 이미지를 획득하기 위한 장치.
  23. 제1항에 있어서, 상기 하나 이상의 프로세서들은,
    상기 매칭에 기초하여, 상기 환경에서 관심 이벤트가 발생할 가능성을 결정하고; 그리고
    상기 환경에서 상기 관심 이벤트가 발생할 가능성에 추가로 기초하여 상기 이미지 캡처 디바이스의 상기 하나 이상의 설정들을 조정하도록
    구성되는, 이미지를 획득하기 위한 장치.
  24. 제23항에 있어서, 상기 하나 이상의 프로세서들은,
    상기 장치의 비-이미지 캡처 디바이스로부터의 데이터에 추가로 기초하여 상기 이벤트의 가능성을 결정하거나; 또는
    상기 장치의 상기 비-이미지 캡처 디바이스로부터의 데이터에 추가로 기초하여 상기 이미지 캡처 디바이스의 상기 하나 이상의 설정들을 조정하도록
    추가로 구성되는, 이미지를 획득하기 위한 장치.
  25. 제1항에 있어서, 상기 장치는 모바일 디바이스를 포함하는, 이미지를 획득하기 위한 장치.
  26. 제21항에 있어서, 상기 장치는 증강 현실 디바이스를 포함하는, 이미지를 획득하기 위한 장치.
  27. 이미지를 획득하기 위한 방법으로서,
    전자 디바이스의 이미지 캡처 디바이스를 통해, 환경의 적어도 부분을 묘사하는 이미지를 획득하는 단계;
    상기 이미지로부터 추출된 하나 이상의 시각적 특징들과 하나 이상의 검출 이벤트들과 연관된 키프레임과 연관된 하나 이상의 시각적 특징들 사이의 매칭을 결정하는 단계; 및
    상기 매칭에 기초하여, 상기 이미지 캡처 디바이스의 하나 이상의 설정들을 조정하는 단계를 포함하는, 이미지를 획득하기 위한 방법.
  28. 제27항에 있어서, 상기 이미지 캡처 디바이스의 상기 하나 이상의 설정들을 조정하는 단계는 상기 이미지 캡처 디바이스의 전력 모드를 수정하는 단계를 포함하는, 이미지를 획득하기 위한 방법.
  29. 제28항에 있어서, 상기 이미지 캡처 디바이스의 상기 전력 모드를 수정하는 단계는, 상기 이미지 캡처 디바이스의 프레임레이트, 상기 이미지 캡처 디바이스의 해상도, 상기 이미지 캡처 디바이스의 비닝 모드, 상기 이미지 캡처 디바이스의 이미징 모드, 및 상기 이미지 캡처 디바이스 및 상기 전자 디바이스 중 적어도 하나에 의해 호출되는 이미지 센서들의 수 중 적어도 하나를 수정하는 단계를 포함하는, 이미지를 획득하기 위한 방법.
  30. 제29항에 있어서, 상기 이미지 캡처 디바이스의 상기 전력 모드를 수정하는 단계는,
    상기 환경에서 관심 이벤트가 발생할 가능성이 임계치 미만이라는 결정에 기초하여, 상기 프레임레이트, 상기 해상도, 상기 비닝 모드, 상기 이미징 모드 및 상기 호출된 이미지 센서들의 수 중 적어도 하나를 감소시키는 단계를 포함하는, 이미지를 획득하기 위한 방법.
  31. 제29항에 있어서, 상기 이미지 캡처 디바이스의 상기 전력 모드를 수정하는 단계는,
    상기 환경에서 관심 이벤트가 발생할 가능성이 임계치 초과라는 결정에 기초하여, 상기 프레임레이트, 상기 해상도, 상기 비닝 모드, 상기 이미징 모드 및 상기 호출된 이미지 센서들의 수 중 적어도 하나를 증가시키는 단계를 포함하는, 이미지를 획득하기 위한 방법.
  32. 제27항에 있어서, 상기 이미지 캡처 디바이스는 제1 이미지 캡처 디바이스를 포함하고, 상기 방법은,
    상기 환경에서 관심 이벤트가 발생할 가능성이 임계치를 초과한다는 결정에 기초하여, 상기 전자 디바이스의 제2 이미지 캡처 디바이스의 전력 모드를 증가시키는 단계를 더 포함하고, 상기 제2 이미지 캡처 디바이스는 상기 제1 이미지 캡처 디바이스보다 높은 전력 모드, 상기 제1 이미지 캡처 디바이스보다 높은 프레임레이트, 상기 제1 이미지 캡처 디바이스보다 높은 해상도, 상기 제1 이미지 캡처 디바이스보다 많은 수의 이미지 센서들, 및 상기 제1 이미지 캡처 디바이스와 연관된 프로세싱 파이프라인보다 높은 전력의 프로세싱 파이프라인 중 적어도 하나를 이용하는, 이미지를 획득하기 위한 방법.
  33. 제32항에 있어서, 상기 제2 이미지 캡처 디바이스의 상기 전력 모드를 증가시키는 단계는 상기 제2 이미지 캡처 디바이스를 초기화하는 단계를 포함하는, 이미지를 획득하기 위한 방법.
  34. 제27항에 있어서, 상기 키프레임은 상기 전자 디바이스에서의 이벤트 데이터에 포함되고, 상기 이벤트 데이터는 상기 이미지 캡처 디바이스와 연관된 검출 이벤트들로부터의 다수의 키프레임들을 포함하는, 이미지를 획득하기 위한 방법.
  35. 제34항에 있어서, 상기 이벤트 데이터는 상기 수의 키프레임들 중 각각의 키프레임과 연관된 검출 이벤트들의 개개의 카운트를 더 포함하는, 이미지를 획득하기 위한 방법.
  36. 제34항에 있어서,
    상기 매칭 및 상기 수의 키프레임들로부터의 하나 이상의 키프레임들에 기초하여 상기 환경에서 관심 이벤트가 발생할 가능성을 결정하는 단계를 더 포함하는, 이미지를 획득하기 위한 방법.
  37. 제35항에 있어서, 상기 매칭 및 상기 키프레임과 연관된 검출 이벤트들의 상기 개개의 카운트에 기초하여 상기 환경에서 관심 이벤트가 발생할 가능성을 결정하는 단계를 더 포함하는, 이미지를 획득하기 위한 방법.
  38. 제35항에 있어서,
    상기 이미지로부터 추출된 하나 이상의 시각적 특징들과 상기 키프레임과 연관된 하나 이상의 시각적 특징들 사이의 상기 매칭을 결정하는 것에 응답하여, 상기 이벤트 데이터에서 상기 키프레임과 연관된 검출 이벤트들의 상기 개개의 카운트를 증가시키는 단계를 더 포함하는, 이미지를 획득하기 위한 방법.
  39. 제27항에 있어서,
    상기 이미지 캡처 디바이스를 통해, 상이한 환경의 적어도 부분을 묘사하는 상이한 이미지를 획득하는 단계;
    상기 상이한 이미지로부터 추출된 하나 이상의 시각적 특징들이 상기 전자 디바이스에서의 이벤트 데이터의 임의의 키프레임과 연관된 시각적 특징들과 매칭하지 않는다고 결정하는 단계; 및
    상기 상이한 이미지에 대응하는 상기 이벤트 데이터에서 새로운 엔트리를 생성하는 단계를 더 포함하고, 상기 새로운 엔트리는, 상기 상이한 이미지로부터 추출된 상기 하나 이상의 시각적 특징들이 상기 이벤트 데이터 내의 임의의 키프레임과 연관된 시각적 특징들과 매칭하지 않는다고 결정하는 것, 및 관심 이벤트가 상기 상이한 이미지에서 검출되었다는 결정, 상기 이벤트 데이터 내의 개개의 키프레임이 생성된 마지막 시간 이후 경과된 시간, 및 상기 이벤트 데이터 내의 특정 키프레임과 상기 이미지 캡처 디바이스에 의해 캡처된 특정 이미지 사이에서 개개의 매칭이 식별된 마지막 시간 이후 경과된 시간 중 적어도 하나에 응답하여 생성되는, 이미지를 획득하기 위한 방법.
  40. 제39항에 있어서,
    상기 관심 이벤트가 상기 상이한 이미지에서 검출되었다고 결정하는 단계;
    상기 관심 이벤트가 상기 상이한 이미지에서 검출되었다는 결정에 기초하여, 상기 상이한 환경에서 추가적인 관심 이벤트가 발생할 제2 가능성을 결정하는 단계; 및
    상기 상이한 환경에서 상기 추가적인 관심 이벤트가 발생할 상기 제2 가능성에 기초하여 상기 이미지 캡처 디바이스의 적어도 하나의 설정을 조정하는 단계를 더 포함하는, 이미지를 획득하기 위한 방법.
  41. 제27항에 있어서, 상기 이미지 캡처 디바이스의 상기 하나 이상의 설정들은 프레임레이트를 포함하고, 상기 방법은,
    검출 이벤트들에 대한 미리 결정된 프레임레이트 및 상기 환경에서 관심 이벤트가 발생할 가능성에 기초하여 상기 프레임레이트를 결정하는 단계; 및
    적어도 구성된 시간 기간의 만료 또는 상기 이미지 캡처 디바이스에 의해 캡처된 상이한 이미지와 상기 전자 디바이스에서의 이벤트 데이터 내의 적어도 하나의 키프레임 사이의 후속 매칭의 결정까지 상기 프레임레이트를 유지하는 단계를 더 포함하는, 이미지를 획득하기 위한 방법.
  42. 제41항에 있어서,
    상기 구성된 시간 기간의 만료 또는 상기 후속 매칭의 결정 후에, 상기 이미지 캡처 디바이스의 상기 프레임레이트를 상이한 프레임레이트로 조정하는 단계를 더 포함하는, 이미지를 획득하기 위한 방법.
  43. 제42항에 있어서, 상기 상이한 프레임레이트는 상기 미리 결정된 프레임레이트 및 상기 후속 매칭과 연관된 특정 관심 이벤트를 검출할 제2 가능성에 기초하여 결정된 특정 프레임레이트 또는 디폴트 프레임레이트를 포함하는, 이미지를 획득하기 위한 방법.
  44. 제27항에 있어서,
    상기 환경에서 관심 이벤트가 발생할 가능성에 기초하여, 상기 전자 디바이스의 활성 깊이 송신기, 오디오 알고리즘, GNSS(global navigation satellite) 시스템, 무선 위치 영역 네트워크 접속 및 GPS(global positioning system) 중 적어도 하나와 연관된 위치 서비스 중 적어도 하나의 하나 이상의 상이한 설정들을 조정하는 단계를 더 포함하는, 이미지를 획득하기 위한 방법.
  45. 제44항에 있어서, 상기 하나 이상의 상이한 설정들을 조정하는 단계는 상기 활성 깊이 송신기, 상기 오디오 알고리즘 및 상기 위치 서비스 중 적어도 하나를 턴 오프시키거나 또는 구현하는 단계를 포함하는, 이미지를 획득하기 위한 방법.
  46. 제27항에 있어서,
    상기 전자 디바이스에서 이벤트 데이터의 키프레임 엔트리들과 연관된 검출 이벤트들의 개개의 카운트들을 주기적으로 감소시키는 단계를 더 포함하고, 검출 이벤트들의 상기 개개의 카운트들은 상기 이벤트 데이터의 모든 키프레임 엔트리들에 걸쳐 비례적으로 감소되는, 이미지를 획득하기 위한 방법.
  47. 제27항에 있어서, 상기 하나 이상의 검출 이벤트들은, 상기 이미지에 의해 묘사된 얼굴, 상기 이미지에 의해 묘사된 손 제스처, 상기 이미지에 의해 묘사된 감정, 상기 이미지에 의해 묘사된 장면, 상기 이미지에 의해 묘사된 하나 이상의 사람들, 상기 이미지에 의해 묘사된 동물, 상기 이미지에 의해 묘사된 머신 판독가능 코드, 상기 이미지에 의해 묘사된 적외선, 상기 이미지에 의해 묘사된 2차원 표면, 및 상기 이미지에 의해 묘사된 텍스트 중 적어도 하나의 검출을 포함하는, 이미지를 획득하기 위한 방법.
  48. 제27항에 있어서, 상기 키프레임은 상기 전자 디바이스에서의 이벤트 데이터의 일부이고, 상기 이벤트 데이터는 복수의 키프레임들을 포함하는, 이미지를 획득하기 위한 방법.
  49. 제27항에 있어서,
    상기 매칭에 기초하여, 상기 환경에서 관심 이벤트가 발생할 가능성을 결정하는 단계; 및
    상기 환경에서 상기 관심 이벤트가 발생할 가능성에 추가로 기초하여 상기 이미지 캡처 디바이스의 상기 하나 이상의 설정들을 조정하는 단계를 더 포함하는, 이미지를 획득하기 위한 방법.
  50. 제49항에 있어서,
    상기 전자 디바이스의 비-이미지 캡처 디바이스로부터의 데이터에 추가로 기초하여 상기 이벤트의 가능성을 결정하는 단계; 또는
    상기 전자 디바이스의 상기 비-이미지 캡처 디바이스로부터의 데이터에 추가로 기초하여 상기 이미지 캡처 디바이스의 상기 하나 이상의 설정들을 조정하는 단계를 더 포함하는, 이미지를 획득하기 위한 방법.
KR1020247003453A 2021-08-05 2022-07-27 이벤트 맵핑에 기초한 카메라 설정 조정 KR20240039130A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/395,348 2021-08-05
US17/395,348 US11831973B2 (en) 2021-08-05 2021-08-05 Camera setting adjustment based on event mapping
PCT/US2022/074213 WO2023015124A1 (en) 2021-08-05 2022-07-27 Camera setting adjustment based on event mapping

Publications (1)

Publication Number Publication Date
KR20240039130A true KR20240039130A (ko) 2024-03-26

Family

ID=83004670

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247003453A KR20240039130A (ko) 2021-08-05 2022-07-27 이벤트 맵핑에 기초한 카메라 설정 조정

Country Status (5)

Country Link
US (2) US11831973B2 (ko)
KR (1) KR20240039130A (ko)
CN (1) CN117716697A (ko)
TW (1) TW202309839A (ko)
WO (1) WO2023015124A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3979618A1 (en) * 2020-10-01 2022-04-06 Axis AB A method of configuring a camera

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180056656A (ko) * 2015-09-25 2018-05-29 퀄컴 인코포레이티드 비디오 처리를 위한 시스템들 및 방법들
US20170094171A1 (en) 2015-09-28 2017-03-30 Google Inc. Integrated Solutions For Smart Imaging
US9918006B2 (en) 2016-05-20 2018-03-13 International Business Machines Corporation Device, system and method for cognitive image capture
US10757377B2 (en) 2016-06-01 2020-08-25 Pixart Imaging Inc. Surveillance system and operation method thereof
WO2019082670A1 (ja) * 2017-10-25 2019-05-02 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及び、移動体
JP2020173656A (ja) * 2019-04-11 2020-10-22 ソニー株式会社 情報処理装置、情報処理方法、及び記録媒体
US20220165054A1 (en) * 2020-10-13 2022-05-26 Google Llc Distributed sensor data processing using multiple classifiers on multiple devices

Also Published As

Publication number Publication date
CN117716697A (zh) 2024-03-15
US20240056668A1 (en) 2024-02-15
TW202309839A (zh) 2023-03-01
WO2023015124A1 (en) 2023-02-09
US20230038159A1 (en) 2023-02-09
US11831973B2 (en) 2023-11-28

Similar Documents

Publication Publication Date Title
US11381741B2 (en) CMOS-assisted inside-out dynamic vision sensor tracking for low power mobile platforms
US11102398B2 (en) Distributing processing for imaging processing
US10755425B2 (en) Automatic tuning of image signal processors using reference images in image processing environments
US11450055B2 (en) Displaying method, animation image generating method, and electronic device configured to execute the same
CN107257980B (zh) 视频中的局部改变检测
US9922439B2 (en) Displaying method, animation image generating method, and electronic device configured to execute the same
CN112889068A (zh) 用于图像处理的神经网络对象识别的方法和系统
US20240056668A1 (en) Camera setting adjustment based on event mapping
WO2023044233A1 (en) Region of interest capture for electronic devices
US20240098357A1 (en) Camera initialization for reduced latency
US20190096073A1 (en) Histogram and entropy-based texture detection
US20230115371A1 (en) Efficient vision perception
KR20240068636A (ko) 전자 디바이스들을 위한 관심 영역 캡처
WO2023216957A1 (zh) 一种目标定位方法、系统和电子设备
WO2023059962A1 (en) Efficient vision perception
US20240005518A1 (en) Scale image resolution for motion estimation
CN118043859A (zh) 高效视觉感知