KR20240056796A - 콘텐츠 캡처 디바이스에 대한 세팅들을 결정하기 위한 기술들 - Google Patents

콘텐츠 캡처 디바이스에 대한 세팅들을 결정하기 위한 기술들 Download PDF

Info

Publication number
KR20240056796A
KR20240056796A KR1020247013313A KR20247013313A KR20240056796A KR 20240056796 A KR20240056796 A KR 20240056796A KR 1020247013313 A KR1020247013313 A KR 1020247013313A KR 20247013313 A KR20247013313 A KR 20247013313A KR 20240056796 A KR20240056796 A KR 20240056796A
Authority
KR
South Korea
Prior art keywords
image
examples
pixel groups
luma value
pixel
Prior art date
Application number
KR1020247013313A
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 KR20240056796A publication Critical patent/KR20240056796A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/2224Studio circuitry; Studio devices; Studio equipment related to virtual studio applications
    • H04N5/2226Determination of depth image, e.g. for foreground/background separation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/76Circuitry for compensating brightness variation in the scene by influencing the image signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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/63Control of cameras or camera modules by using electronic viewfinders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/71Circuitry for evaluating the brightness variation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/72Combination of two or more compensation controls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/73Circuitry for compensating brightness variation in the scene by influencing the exposure time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/741Circuitry for compensating brightness variation in the scene by increasing the dynamic range of the image compared to the dynamic range of the electronic image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/743Bracketing, i.e. taking a series of images with varying exposure conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/82Camera processing pipelines; Components thereof for controlling camera response irrespective of the scene brightness, e.g. gamma correction
    • H04N23/83Camera processing pipelines; Components thereof for controlling camera response irrespective of the scene brightness, e.g. gamma correction specially adapted for colour signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Molecular Biology (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)
  • Exposure Control For Cameras (AREA)
  • Stereophonic System (AREA)
  • Paper (AREA)
  • Steroid Compounds (AREA)
  • Image Processing (AREA)

Abstract

콘텐츠 캡처 디바이스의 하나 이상의 세팅들을 결정하기 위한 방법들, 시스템들 및 컴퓨터 프로그램 제품들이 제공된다. 일부 예들에서, 하나 이상의 세팅들을 결정하기 위해, 콘텐츠 캡처 디바이스로부터의 이미지의 픽셀들의 루마(luma) 값들이 식별될 수 있다. 이미지 내의 객체들 및 객체들과 연관된 정보가 또한 식별될 수 있다. 객체들과 연관된 정보는 정보의 카테고리들로 분할될 수 있다. 그리고, 객체들 및 정보를 사용하여, 정보의 각각의 카테고리에 대한 별개의 가중치 어레이가 컴퓨팅될 수 있다. 별개의 가중치 어레이들은 루마 값들을 증강시키기 위한 총 가중치 어레이를 생성하기 위해 조합될 수 있다. 증강된 루마 값들은 이미지에 대한 가중된 루마 평균을 컴퓨팅하기 위해 집성될 수 있다. 가중된 루마 평균 및 타겟의 차이에 기초하여, 하나 이상의 세팅들이 조절될 수 있다.

Description

콘텐츠 캡처 디바이스에 대한 세팅들을 결정하기 위한 기술들 {TECHNIQUES FOR DETERMINING SETTINGS FOR A CONTENT CAPTURE DEVICE}
[0001] 본 출원은, 2016년 12월 23일자로 출원되고 발명의 명칭이 "Method and System For Determining Exposure Levels"인 미국 가특허 출원 제62/438,926호에 대한 우선권을 주장하며, 상기 가출원의 개시는 그 전체가 모든 목적들을 위해 본 명세서에 참조로서 통합된다.
[0002] 본 개시는 일반적으로 콘텐츠 캡처 디바이스에 대한 세팅들(예를 들어, 노출 세팅)을 결정하는 것에 관한 것이다. 노출 세팅은 콘텐츠(예를 들어, 이미지 또는 비디오)가 캡처될 때 콘텐츠 캡처 디바이스의 센서가 수신하는 광의 양에 관한 것일 수 있다. 노출 세팅들의 예들은 셔터 속도, 조리개 세팅, 또는 ISO(International Standards Organization) 속도를 포함한다.
[0003] 세팅 노출에 대한 종래의 솔루션들은 사용자에 의해 처리되었다. 예를 들어, 사용자는 노출 세팅들을 자신들의 기호로 조절할 것이다. 그러나, 이는 신뢰가능하지 않은 것으로 판명되었고, 종종 차선의 결과들을 생성하였다.
[0004] 오늘날, AEC(automatic exposure control)가 카메라들에 대한 표준 특징이다. AEC는 사용자 입력 없이 이미지에 대한 노출 세팅들을 자동으로 결정한다. AEC를 사용하여, 카메라는 카메라에 대한 노출 세팅을 결정할 수 있다. 그러나, AEC는 통상적으로 시야 내에 있는 것을 참조하지 않고 시야 내의 광의 양을 측정한다. 따라서, 개선된 AEC에 대한 필요성이 본 기술분야에 존재한다.
[0005] 콘텐츠 캡처 디바이스에 대한 하나 이상의 세팅들(예를 들어, 노출 세팅 및/또는 이득 세팅)을 결정하기 위한 기술들이 제공된다. 일부 예들에서, 하나 이상의 세팅들을 결정하기 위해, 콘텐츠 캡처 디바이스로부터의 이미지의 픽셀들의 루마(luma) 값들이 식별될 수 있다. 이미지 내의 객체들 및 객체들과 연관된 정보가 또한 식별될 수 있다. 객체들과 연관된 정보는 카테고리들로 분할될 수 있다. 그리고, 객체들 및 정보를 사용하여, 정보의 각각의 카테고리에 대한 별개의 가중치 어레이가 컴퓨팅될 수 있다. 별개의 가중치 어레이들은 루마 값들을 증강시키기 위한 총 가중치 어레이를 생성하기 위해 조합될 수 있다. 증강된 루마 값들은 이미지에 대한 가중된 루마 평균을 컴퓨팅하기 위해 집성될 수 있다. 가중된 루마 평균 및 타겟의 차이에 기초하여, 하나 이상의 세팅들이 조절될 수 있다.
[0006] 다른 예들에서, 정보의 각각의 카테고리에 대한 별개의 가중치 어레이를 컴퓨팅하기 보다는, 각각의 객체와 연관된 정보가 별개의 학습 기반 모델에서 사용될 수 있다. 각각의 학습 기반 모델의 출력을 조합하여, 이미지의 루마 값들을 증강시키기 위해 총 가중치 어레이가 생성될 수 있다. 증강된 루마 값들은 이미지에 대한 가중된 루마 평균을 컴퓨팅하기 위해 집성될 수 있다. 가중된 루마 평균 및 타겟의 차이에 기초하여, 하나 이상의 세팅들이 조절될 수 있다.
[0007] 다른 예들에서, 본 명세서에서 설명된 바와 같은 가중 모델이 장면의 이미지 내의 객체에 대해 사용될 수 있다. 그 다음, 최적화된 이미지를 생성하기 위해 이미지 스티처(sticher)가 이미지와 다른 이미지들을 함께 조합할 수 있도록, 장면의 다른 이미지들 내의 다른 객체들에 대해 동일한 가중 모델이 사용될 수 있다.
[0008] 종래의 기술들에 비해 본 개시의 방식에 의해 다수의 이점들이 달성된다. 예를 들어, 본 개시의 실시예들은 더 높은 우선순위 객체들에 집중함으로써 이미지들의 더 양호한 노출을 제공한다. 본 개시는 또한 혼합 또는 증강 현실 장면의 일부로서 적절히 노출된 이미지들을 제공한다. 일부 예들에서, 본 개시는 심지어 이미지들 내의 객체들에 할당된 우선순위들을 학습하고 적응시킨다.
[0009] 특정 예들은, 눈 시선의 벡터가 변할 때, 사용자의 눈 시선에 기초하여 노출이 동적으로 조절되도록 허용한다. 예들은 또한 사용자의 이동 또는 이미지 내의 포커스 레티클을 리사이징하는 것에 기초하여 객체 우선순위들을 동적으로 재순서화할 수 있다.
[0010] 본 개시는 또한, 다수의 높은 우선순위 객체들이 적절히 노출되는 객체-기반 HDR(high-dynamic-range) 방법을 허용한다. 본 개시의 이러한 및 다른 실시예들은, 본 발명의 많은 이점들 및 특징들과 함께, 아래의 텍스트 및 첨부된 도면들과 관련하여 더 상세히 설명된다.
[0011] 콘텐츠 캡처 디바이스의 세팅을 업데이트하기 위한 기술들이 제공된다. 예를 들어, 방법은 콘텐츠 캡처 디바이스에 의해 캡처된 이미지를 수신하는 단계를 포함할 수 있다. 일부 예들에서, 이미지는 복수의 픽셀들을 포함할 수 있다. 일부 예들에서, 이미지는 사용자에게 제시되지 않을 수 있다. 방법은 이미지에 대한 타겟 루마 값을 식별하는 단계를 더 포함할 수 있다. 일부 예들에서, 타겟 루마 값은 콘텐츠 캡처 디바이스의 노출 세팅 또는 이득 세팅 중 적어도 하나에 기초하여 결정될 수 있다.
[0012] 방법은 이미지 내에서 객체를 식별하는 단계, 이미지의 복수의 픽셀들을 복수의 픽셀 그룹들로 분할하는 단계, 및 복수의 픽셀 그룹들 각각에 대해 픽셀 그룹 루마 값을 계산하는 단계를 더 포함할 수 있다. 방법은, 객체와 연관되지 않은 제1 세트의 픽셀 그룹들을 정의하는 단계, 제1 세트의 픽셀 그룹들 내의 픽셀 그룹들 각각에 대한 가중치들을 설정하는 단계, 객체와 연관된 제2 세트의 픽셀 그룹들을 정의하는 단계, 및 제2 세트의 픽셀 그룹들 내의 픽셀 그룹들 각각에 대한 가중치들을 설정하는 단계를 더 포함할 수 있다. 일부 예들에서, 제2 세트의 픽셀 그룹들 내의 픽셀 그룹들에 대한 가중치들은 제2 세트의 픽셀 그룹들과 객체 사이의 연관에 기초할 수 있다. 일부 예들에서, 제1 픽셀 그룹 내의 픽셀들의 수는 제2 픽셀 그룹 내의 픽셀들의 수와 동일할 수 있다. 일부 예들에서, 제1 픽셀 그룹은 제2 픽셀 그룹과 상이할 수 있다.
[0013] 방법은 복수의 픽셀 그룹들 각각에 대해, 가중치 및 픽셀 그룹 루마 값을 사용하여 이미지 루마 값을 계산하는 단계를 더 포함할 수 있다. 방법은 컴퓨팅된 차이에 기초하여 콘텐츠 캡처 디바이스의 세팅(예를 들어, 이득 및/또는 노출)을 업데이트하는 단계를 더 포함할 수 있다.
[0014] 일부 예들에서, 방법은 이미지 내에서 제2 객체를 식별하는 단계, 제2 객체와 연관된 제3 세트의 픽셀 그룹들을 정의하는 단계, 및 제3 세트의 픽셀 그룹들 내의 픽셀 그룹들 각각에 대한 가중치들을 설정하는 단계를 더 포함할 수 있다. 제2 객체들에 대해 설정된 가중치들은 이미지 루마 값을 계산할 때 사용될 수 있다.
[0015] 일부 예들에서, 방법은 객체와 연관된 추가적인 정보를 식별하는 단계를 더 포함할 수 있다. 이러한 예들에서, 추가적인 정보는 객체와 연관된 카테고리, 객체의 크기, 콘텐츠 캡처 디바이스로부터 객체의 거리, 또는 객체가 콘텐츠 캡처 디바이스의 포커스 레티클로부터 위치된 거리일 수 있다. 일부 예들에서, 제1 세트의 픽셀 그룹들 내의 픽셀 그룹들 각각에 대한 가중치들은 추가적인 정보에 기초할 수 있다. 일부 예들에서, 제1 세트의 픽셀 그룹들 내의 픽셀 그룹들 각각에 대한 가중치들은 제2 추가적인 정보에 추가로 기초할 수 있다. 이러한 예들에서, 추가적인 정보는 제2 추가적인 정보와 상이할 수 있다.
[0016] 일례로서, 방법은 객체와 연관된 추가적인 정보를 식별하는 단계를 더 포함할 수 있다. 제1 세트의 픽셀 그룹들 내의 픽셀 그룹들 각각에 대한 가중치들은 추가적인 정보에 기초할 수 있다. 다른 예에서, 추가적인 정보는 객체와 연관된 카테고리, 객체의 크기, 콘텐츠 캡처 디바이스로부터 객체의 거리, 또는 객체가 콘텐츠 캡처 디바이스의 포커스 레티클로부터 위치된 거리를 포함할 수 있다.
[0017] 일부 예들에서, 방법은, 사용자가 보고있는 방향을 식별하는 단계, 사용자가 보고있는 방향에 대응하는 이미지 상의 위치를 결정하는 단계, 및 위치로부터 객체가 위치된 거리를 결정하는 단계를 더 포함할 수 있다. 일부 예들에서, 제1 세트의 픽셀 그룹들 내의 픽셀 그룹들 각각에 대한 가중치들은 추가적인 정보에 기초할 수 있다. 제1 세트의 픽셀 그룹들 내의 픽셀 그룹들 각각에 대한 가중치들은 제2 추가적인 정보와 상이한 제2 추가적인 정보에 기초할 수 있다.
[0018] 다른 예를 들어, 방법은 콘텐츠 캡처 디바이스에 의해 캡처된 이미지를 수신하는 단계를 포함할 수 있다. 일부 예들에서, 이미지는 복수의 픽셀들을 포함할 수 있다. 방법은 이미지에 대한 타겟 루마 값을 식별하는 단계를 더 포함할 수 있다. 일부 예들에서, 타겟 루마 값은 시야에 기초할 수 있다. 방법은, 이미지 내에서 객체를 식별하는 단계, 객체의 하나 이상의 속성들을 식별하는 단계, 및 신경 네트워크를 사용하여 객체에 대한 가중치를 계산하는 단계를 더 포함할 수 있다. 일부 예들에서, 신경 네트워크는 하나 이상의 속성들을 입력으로서 사용할 수 있다. 이러한 예들에서, 객체의 하나 이상의 속성들 중의 속성은 객체 우선순위, 객체 거리 또는 객체 크기를 포함할 수 있다. 일부 예들에서, 신경 네트워크는 다중 계층 퍼셉트론(perceptron)일 수 있다. 방법은 이미지의 복수의 픽셀들을 복수의 픽셀 그룹들로 분할하는 단계를 더 포함할 수 있다. 일부 예들에서, 복수의 픽셀 그룹들의 각각의 픽셀 그룹은 동일한 크기일 수 있다.
[0019] 방법은 객체와 연관되지 않은 제1 세트의 픽셀 그룹들을 정의하는 단계, 및 객체와 연관된 제2 세트의 픽셀 그룹들을 정의하는 단계를 더 포함할 수 있다. 방법은 제2 세트의 픽셀 그룹들의 각각의 픽셀 그룹에 대한 픽셀 그룹 루마 값을 계산하는 단계를 더 포함할 수 있다. 방법은 제2 세트의 픽셀 그룹들의 각각의 픽셀 그룹에 대한 픽셀 그룹 루마 값을 계산하는 단계를 더 포함할 수 있다. 방법은 제2 세트의 픽셀 그룹들의 각각의 픽셀 그룹에 대한 가중된 픽셀 그룹 루마 값을 제공하기 위해 픽셀 그룹 루마 값을 가중치와 곱하는 단계를 더 포함할 수 있다.
[0020] 방법은 이미지에 대한 총 루마 값을 계산하는 단계를 더 포함할 수 있다. 일부 예들에서, 총 루마 값은 가중된 픽셀 그룹 루마 값들의 합산을 포함할 수 있다. 방법은, 총 루마 값과 타겟 루마 값 사이의 차이를 컴퓨팅하는 단계, 및 컴퓨팅된 차이에 기초하여 콘텐츠 캡처 디바이스의 세팅을 업데이트하는 단계를 더 포함할 수 있다. 일부 예들에서, 콘텐츠 캡처 디바이스의 세팅은 노출 또는 이득과 연관될 수 있다.
[0021] 방법은, 이미지 내에서 제2 객체를 식별하는 단계, 제2 객체의 하나 이상의 제2 속성들을 식별하는 단계, 제2 객체와 연관된 제3 세트의 픽셀 그룹들을 정의하는 단계, 및 제2 신경 네트워크를 사용하여 제2 객체에 대한 제2 가중치를 계산하는 단계를 더 포함할 수 있다. 일부 예들에서, 제2 신경 네트워크는 하나 이상의 제2 속성들을 입력으로서 사용할 수 있다. 방법은 제3 세트의 픽셀 그룹들의 각각의 픽셀 그룹에 대한 제2 픽셀 그룹 루마 값을 계산하는 단계를 더 포함할 수 있다. 방법은 제3 세트의 픽셀 그룹들의 각각의 픽셀 그룹에 대한 가중된 제2 픽셀 그룹 루마 값을 제공하기 위해 제2 픽셀 그룹 루마 값을 제2 가중치와 곱하는 단계를 더 포함할 수 있다. 일부 예들에서, 총 루마 값은 가중된 제2 픽셀 그룹 루마 값들의 합산을 더 포함할 수 있다.
[0022] 다른 예를 들어, 방법은, 콘텐츠 캡처 디바이스에 의해 캡처된 제1 이미지를 수신하는 단계, 제1 이미지 내에서 제1 객체를 식별하는 단계, 및 콘텐츠 캡처 디바이스의 제1 세팅에 대한 제1 업데이트를 결정하는 단계를 포함할 수 있다. 일부 예들에서, 제1 업데이트는 제1 객체에 대해 결정될 수 있다. 일부 예들에서, 제1 업데이트는 신경 네트워크를 사용하여 결정될 수 있다. 방법은 콘텐츠 캡처 디바이스에 의해 캡처된 제2 이미지를 수신하는 단계를 더 포함할 수 있다. 일부 예들에서, 제2 이미지는 제1 이미지 이후 캡처될 수 있다. 방법은, 제2 이미지 내에서 제2 객체를 식별하는 단계, 및 콘텐츠 캡처 디바이스의 제2 세팅에 대한 제2 업데이트를 결정하는 단계를 더 포함할 수 있다. 일부 예들에서, 제2 업데이트는 제2 객체에 대해 결정될 수 있다. 일부 예들에서, 제1 세팅 및 제2 세팅은 노출 또는 이득과 연관될 수 있다. 일부 예들에서, 제1 세팅은 제2 세팅일 수 있다. 일부 예들에서, 제1 업데이트는 제2 업데이트와 상이할 수 있다. 일부 예들에서, 제1 이미지 및 제2 이미지는 동일한 시야에 있을 수 있다. 방법은, 콘텐츠 캡처 디바이스의 제1 세팅에 대한 제1 업데이트를 수행하는 단계, 및 콘텐츠 캡처 디바이스에 의해 캡처된 제3 이미지를 수신하는 단계를 더 포함할 수 있다. 일부 예들에서, 제3 이미지는 제1 업데이트가 수행된 이후 캡처될 수 있다. 방법은, 콘텐츠 캡처 디바이스의 제2 세팅에 대한 제2 업데이트를 수행하는 단계, 및 콘텐츠 캡처 디바이스에 의해 캡처된 제4 이미지를 수신하는 단계를 더 포함할 수 있다. 일부 예들에서, 제4 이미지는 제2 업데이트가 수행된 이후 캡처될 수 있다. 방법은 제3 이미지 및 제4 이미지를 단일 이미지로 조합하는 단계를 더 포함할 수 있다. 일부 예들에서, 제3 이미지 및 제4 이미지는 이미지 스티처를 사용하여 조합될 수 있다.
[0023] 본 발명의 실시예에 따르면, 방법이 제공된다. 방법은, 콘텐츠 캡처 디바이스에 의해 캡처된 제1 이미지를 수신하는 단계, 및 제1 이미지에서 미리 결정된 수의 우선순위 객체들을 식별하는 단계를 포함한다. 미리 결정된 수는 2 이상이다. 방법은 또한, 미리 결정된 수의 우선순위 객체들 각각에 대해, 콘텐츠 캡처 디바이스의 하나 이상의 세팅들에 대한 하나 이상의 업데이트들을 결정하는 단계를 포함한다. 방법은 반복적으로, 하나 이상의 업데이트들 각각을 사용하여 콘텐츠 캡처 디바이스를 업데이트하는 단계, 및 하나 이상의 업데이트들 각각을 사용하여 콘텐츠 캡처 디바이스에 의해 캡처된 미리 결정된 수의 이미지들을 수신하는 단계를 더 포함한다. 추가적으로, 방법은 합성 이미지를 형성하기 위해 미리 결정된 수의 이미지들을 함께 스티칭하는 단계를 포함한다.
[0024] 다른 예를 들어, 방법은 콘텐츠 캡처 디바이스에 의해 캡처된 이미지를 수신하는 단계를 포함할 수 있다. 이미지는 복수의 픽셀들을 포함할 수 있다. 방법은 이미지에 대한 타겟 루마 값을 식별하는 단계, 이미지의 복수의 픽셀들을 복수의 픽셀 그룹들로 분할하는 단계, 복수의 픽셀 그룹들 각각에 대해 픽셀 그룹 루마 값을 계산하는 단계, 및 이미지에서 위치를 식별하는 단계를 더 포함할 수 있다. 위치는, 사용자가 이미지에 대응하는 환경에서 보고있는 포인트에 대응할 수 있다. 일부 예들에서, 위치는 사용자의 하나 이상의 눈들의 이미지에 기초하여 식별될 수 있다. 다른 예들에서, 위치는 사용자의 시선의 방향에 기초하여 식별될 수 있다. 다른 예들에서, 위치는 이미지에서 식별된 객체의 위치에 기초하여 식별될 수 있다. 방법은, 식별된 위치에 기초하여 복수의 픽셀 그룹들 각각에 대한 가중치들을 설정하는 단계, 복수의 픽셀 그룹들 각각에 대해, 가중치 및 픽셀 그룹 루마 값을 사용하여 이미지 루마 값을 계산하는 단계, 이미지 루마 값과 타겟 루마 값 사이의 차이를 컴퓨팅하는 단계, 및 컴퓨팅된 차이에 기초하여 콘텐츠 캡처 디바이스의 세팅을 업데이트하는 단계를 더 포함할 수 있다. 세팅은 이득 또는 노출과 관련될 수 있다. 일부 예들에서, 방법은 이미지의 복수의 픽셀들을 복수의 패치들로 분할하는 단계를 더 포함할 수 있고, 여기서 패치는 하나 이상의 픽셀 그룹들을 포함할 수 있다. 이러한 예들에서, 가중치들을 설정하는 단계는 위치를 포함하는 패치로부터의 거리에 추가로 기초할 수 있다. 일부 예들에서, 가중치들을 설정하는 단계는 위치로부터의 거리에 추가로 기초할 수 있다.
[0025] 다른 예를 들어, 방법은 콘텐츠 캡처 디바이스에 의해 캡처된 이미지를 수신하는 단계를 포함할 수 있고, 이미지는 복수의 픽셀들을 포함한다. 방법은, 이미지에 대한 타겟 루마 값을 식별하는 단계, 이미지의 복수의 픽셀들을 복수의 픽셀 그룹들로 분할하는 단계, 복수의 픽셀 그룹들 각각에 대해 픽셀 그룹 루마 값을 계산하는 단계, 이미지에 대응하는 깊이 맵을 수신하는 단계, 깊이 맵에 기초하여 복수의 픽셀 그룹들 각각에 대한 가중치들을 설정하는 단계, 복수의 픽셀 그룹들 각각에 대해, 가중치 및 픽셀 그룹 루마 값을 사용하여 이미지 루마 값을 계산하는 단계, 이미지 루마 값과 타겟 루마 값 사이의 차이를 컴퓨팅하는 단계, 및 컴퓨팅된 차이에 기초하여 콘텐츠 캡처 디바이스의 세팅을 업데이트하는 단계를 더 포함할 수 있다. 세팅은 이득 또는 노출과 관련될 수 있다. 일부 예들에서, 깊이 맵은 하나 이상의 포인트들에 대한 공간에서 일 포인트로부터의 거리를 표시할 수 있고, 여기서 하나 이상의 포인트들 각각은 이미지의 하나 이상의 픽셀들에 대응한다. 일부 예들에서, 방법은 이미지 캡처와 동시에 깊이 맵을 캡처하는 단계를 더 포함할 수 있다. 다른 예들에서, 방법은 이미지가 캡처되기 전에 깊이 맵을 캡처하는 단계를 더 포함할 수 있고, 여기서 깊이 맵은 다수의 이미지들에 대한 가중치들을 설정하기 위해 사용된다. 일부 예들에서, 가중치들을 설정하는 단계는 이미지로부터의 객체의 위치를 표시하는 데이터에 추가로 기초할 수 있다. 객체의 위치를 표시하는 데이터는 객체의 저장된 이미지의 하나 이상의 픽셀들에 매칭하는, 이미지의 하나 이상의 픽셀들을 식별하기 위해 이미지의 픽셀들을 분석함으로써 결정될 수 있다.
[0026] 다른 예를 들어, 방법은 콘텐츠 캡처 디바이스에 의해 캡처된 이미지를 수신하는 단계를 포함할 수 있고, 이미지는 복수의 픽셀들을 포함한다. 방법은 이미지에 대한 타겟 루마 값을 식별하는 단계, 이미지의 복수의 픽셀들을 복수의 픽셀 그룹들로 분할하는 단계, 및 이미지에서 다수의 패치들을 식별하는 단계를 더 포함할 수 있다. 다수의 패치들은 제1 패치 및 제2 패치를 포함할 수 있고, 여기서 제1 패치는 하나 이상의 픽셀 그룹들을 포함하고, 여기서 제2 패치는 제1 패치의 하나 이상의 픽셀 그룹들과 상이한 하나 이상의 픽셀 그룹들을 포함한다. 일부 예들에서, 다수의 패치들은 복수의 픽셀들에 기초하여 식별될 수 있다. 일부 예들에서, 다수의 패치들은 이미지에서 식별된 하나 이상의 객체들에 기초하여 식별될 수 있고, 여기서 제1 패치는 제1 객체와 연관된 픽셀들을 포함한다. 방법은, 제1 모델을 사용하여 제1 패치에 대한 하나 이상의 가중치들을 계산하는 단계, 및 제2 모델을 사용하여 제2 패치에 대한 하나 이상의 가중치들을 계산하는 단계를 더 포함할 수 있다. 일부 예들에서, 제1 모델은 제1 패치에 포함된 픽셀들에 대해 결정된 하나 이상의 속성들에 기초할 수 있다. 이러한 예들에서, 제2 모델은 제2 패치에 포함된 픽셀들에 대해 결정된 하나 이상의 속성들에 기초할 수 있고, 여기서 제1 모델과 연관된 하나 이상의 속성들은 제2 모델과 연관된 하나 이상의 속성들과 상이하다. 일부 예들에서, 제1 모델은 제1 패치에 포함된 픽셀들에 대해 결정된 하나 이상의 속성들에 기초한 신경 네트워크이다. 일부 예들에서, 제1 패치에 대한 하나 이상의 가중치들은 제2 패치에 대한 하나 이상의 가중치들과 동시에 계산될 수 있다. 일부 예들에서, 제1 패치는 제2 패치와 상이한 크기일 수 있다. 방법은, 각각의 픽셀 그룹에 대해, 픽셀 그룹 루마 값을 계산하는 단계, 및 가중된 픽셀 그룹 루마 값을 제공하기 위해 픽셀 그룹 루마 값을 가중치와 곱하는 단계를 더 포함할 수 있다. 방법은 이미지에 대한 총 루마 값을 계산하는 단계를 더 포함할 수 있고, 여기서 총 루마 값은 가중된 픽셀 그룹 루마 값들의 합산을 포함한다. 방법은, 총 루마 값과 타겟 루마 값 사이의 차이를 컴퓨팅하는 단계, 및 컴퓨팅된 차이에 기초하여 콘텐츠 캡처 디바이스의 세팅을 업데이트하는 단계를 더 포함할 수 있다. 세팅은 이득 또는 노출과 관련될 수 있다.
[0027] 방법들이 앞서 설명되었지만, 컴퓨터 제품이 앞서 설명된 방법들 중 임의의 방법의 동작을 수행하기 위해 컴퓨터 시스템을 제어하기 위한 복수의 명령들을 저장하는 컴퓨터 판독가능 매체를 포함할 수 있음을 인식해야 한다. 또한, 시스템은 컴퓨터 판독가능 매체 상에 저장된 명령들을 실행하기 위한 컴퓨터 제품 및 하나 이상의 프로세서들을 포함할 수 있다. 또한, 시스템은 앞서 설명된 방법들 중 임의의 방법을 수행하기 위한 수단을 포함할 수 있다. 또한, 시스템은 앞서 설명된 방법들 중 임의의 방법을 수행하도록 구성될 수 있다. 또한, 시스템은 앞서 설명된 방법들 중 임의의 방법의 단계들을 각각 수행하는 모듈들을 포함할 수 있다.
[0028] 본 요약은, 청구된 청구물의 핵심적인 또는 필수적인 특징들을 식별하려는 의도가 아니며, 청구된 청구물의 범위를 결정하기 위해 단독으로 사용되도록 의도되는 것도 아니다. 청구물은 본 특허의 전체 명세서의 적절한 부분들, 임의의 또는 모든 도면들 및 각각의 청구항을 참조하여 이해되어야 한다.
[0029] 전술한 것은, 다른 특징들 및 예들과 함께, 하기 명세서, 청구항들 및 첨부된 도면들에서 더 상세히 아래에서 설명될 것이다.
[0030] 예시적인 실시예들은 하기 도면들을 참조하여 상세히 아래에서 설명된다.
[0031] 도 1a는 자동 노출 제어를 사용하여 콘텐츠 캡처 디바이스의 하나 이상의 세팅들을 업데이트하기 위한 프로세스의 예를 예시한다.
[0032] 도 1b는 콘텐츠 캡처 디바이스의 하나 이상의 세팅들을 업데이트하는 방법을 결정하기 위한 프로세스의 예를 예시한다.
[0033] 도 2는 루마 값들을 가중하기 위한 다양한 계측 기술들의 예들을 예시한다.
[0034] 도 3은 객체에 대한 우선순위 가중치 어레이의 예를 예시한다.
[0035] 도 4는 다수의 객체들에 대한 우선순위 가중치 어레이의 예를 예시한다.
[0036] 도 5는 포커스 레티클 가중치 어레이의 예를 예시한다.
[0037] 도 6은 눈 시선 가중치 어레이의 예를 예시한다.
[0038] 도 7은 정규화된 총 가중치 어레이의 예를 예시한다.
[0039] 도 8은 제1 가중 모델을 사용하는 자동 노출 제어에 대한 프로세스의 실시예를 예시하는 흐름도이다.
[0040] 도 9는 자동 노출 제어에 사용될 수 있는 제2 가중 모델의 제1 부분의 예를 예시한다.
[0041] 도 10은 자동 노출 제어에 사용될 수 있는 제2 가중 모델의 제2 부분의 예를 예시한다.
[0042] 도 11은 제2 가중 모델을 사용하는 자동 노출 제어에 대한 프로세스의 실시예를 예시하는 흐름도이다.
[0043] 도 12a는 자동 노출 제어의 다수의 인스턴스들을 사용할 수 있는 이미지 스티칭 프로세스의 예를 예시한다.
[0044] 도 12b는 자동 노출 제어의 다수의 인스턴스들을 사용할 수 있는 이미지 스티칭 프로세스의 다른 예를 예시한다.
[0045] 도 12c는 자동 노출 제어의 다수의 인스턴스들을 사용하기 위한 프로세스의 실시예를 예시하는 흐름도이다.
[0046] 도 13은 이미지 스티칭 프로세스와 함께 사용될 수 있는 이미지 스트림의 예를 예시한다.
[0047] 도 14는 이미지 스티칭 프로세스를 사용하는 자동 노출 제어에 대한 프로세스의 실시예를 예시하는 흐름도이다.
[0048] 도 15는 컴퓨터 시스템에 대한 블록도의 예를 예시한다.
[0049] 도 16은 사용자의 시선에 기초하여 식별된 위치를 사용하는 자동 노출 제어에 대한 프로세스의 실시예를 예시하는 흐름도이다.
[0050] 도 17은 깊이 맵을 사용하는 자동 노출 제어에 대한 프로세스의 실시예를 예시하는 흐름도이다.
[0051] 도 18은 다수의 모델들을 사용하는 자동 노출 제어에 대한 프로세스의 실시예를 예시하는 흐름도이다.
[0052] 하기 설명에서, 설명의 목적들로, 본 개시의 실시예들의 철저한 이해를 제공하기 위해 특정 세부사항들이 제시된다. 그러나, 이러한 특정 세부사항들 없이도 다양한 실시예들이 실시될 수 있음은 자명할 것이다. 도면들 및 설명은 제한적인 것으로 의도되지 않는다.
[0053] 후속하는 설명은 단지 예시적인 실시예들을 제공하며, 본 개시의 범위, 적용가능성 또는 구성을 제한하는 것으로 의도되지 않는다. 오히려, 예시적인 실시예들의 후속하는 설명은 예시적인 실시예를 구현하기 위한 가능한 설명을 당업자들에게 제공할 것이다. 예를 들어, 설명은 픽셀 정보, 이미지들 및/또는 디스플레이를 설명할 수 있지만, 시각적 콘텐츠 대신에 또는 그에 추가로 증강 현실 디바이스에 의해 오디오가 생성되어 사용자에게 제시될 수 있음을 인식해야 한다. 또한, 첨부된 청구항들에서 제시되는 바와 같이 본 개시의 사상 및 범위를 벗어남이 없이 요소들의 기능 및 배열에서 다양한 변화들이 행해질 수 있음을 이해해야 한다.
[0054] 본 개시는 일반적으로 콘텐츠 캡처 디바이스에 대한 노출 세팅을 결정하는 것에 관한 것이다. 노출 세팅은 콘텐츠(예를 들어, 이미지 또는 비디오)가 캡처될 때 콘텐츠 캡처 디바이스의 센서가 수신하는 광의 양에 관한 것일 수 있다. 노출 세팅들의 예들은 셔터 속도, 조리개 세팅, 또는 ISO(International Standards Organization) 속도를 포함한다.
[0055] 세팅 노출에 대한 종래의 솔루션들은 사용자에 의해 처리되었다. 예를 들어, 사용자는 노출 세팅들을 자신들의 기호로 조절할 것이다. 그러나, 이는 신뢰가능하지 않은 것으로 판명되었고, 종종 차선의 결과들을 생성하였다.
[0056] 오늘날, AEC(automatic exposure control)가 카메라들에 대한 표준 특징이다. AEC는 사용자 입력 없이 이미지에 대한 노출 세팅들을 자동으로 결정한다. AEC를 사용하여, 카메라는 카메라에 대한 노출 세팅을 결정할 수 있다. 일부 예들에서, AEC는 시야에 대한 자동 포커스 제어(AF) 및/또는 자동 화이트 밸런스 제어(AWB)와 관련되어 실행될 수 있다. 이러한 예들에서, AEC는 초기에 시야에 대한 노출의 양에 대한 추정치를 컴퓨팅하기 위해 사용될 수 있다. 추정치가 컴퓨팅된 후, AF는 시야에 대한 포커스의 양을 결정하는 것을 실행할 수 있다. 일부 예들에서, 포커스의 양이 결정된 후, AEC는 시야에 대한 노출 세팅들을 미세 튜닝하는 것을 계속 실행할 수 있다. 일부 예들에서, AWB는 AEC에 대해 적어도 부분적으로 병렬적으로 실행될 수 있다. 이러한 예들에서, AWB는 AF 이전에 또는 이후에 종료될 수 있다. 일부 예들에서, AWB는 AF가 종료된 후에 실행을 시작할 수 있다. 앞서 시야가 설명되었지만, 이미지에서 캡처된 장면이 시야를 구성할 수 있음을 인식해야 한다.
[0057] 콘텐츠 캡처 디바이스에 대한 하나 이상의 세팅들(예를 들어, 노출 세팅 및/또는 이득 세팅)을 결정하기 위한 기술들이 아래에서 추가로 설명된다. 일부 예들에서, 하나 이상의 세팅들을 결정하기 위해, 콘텐츠 캡처 디바이스로부터의 이미지의 픽셀들의 루마(luma) 값들이 식별될 수 있다. 이미지 내의 객체들 및 객체들과 연관된 정보가 또한 식별될 수 있다. 객체들과 연관된 정보는 카테고리들로 분할될 수 있다. 그리고, 객체들 및 정보를 사용하여, 정보의 각각의 카테고리에 대한 별개의 가중치 어레이가 컴퓨팅될 수 있다. 별개의 가중치 어레이들은 루마 값들을 증강시키기 위한 총 가중치 어레이를 생성하기 위해 조합될 수 있다. 증강된 루마 값들은 이미지에 대한 가중된 루마 평균을 컴퓨팅하기 위해 집성될 수 있다. 가중된 루마 평균 및 타겟의 차이에 기초하여, 하나 이상의 세팅들이 조절될 수 있다.
[0058] 다른 예들에서, 정보의 각각의 카테고리에 대한 별개의 가중치 어레이를 컴퓨팅하기 보다는, 각각의 객체와 연관된 정보가 별개의 학습 기반 모델에서 사용될 수 있다. 각각의 학습 기반 모델의 출력을 조합하여, 이미지의 루마 값들을 증강시키기 위해 총 가중치 어레이가 생성될 수 있다. 증강된 루마 값들은 이미지에 대한 가중된 루마 평균을 컴퓨팅하기 위해 집성될 수 있다. 가중된 루마 평균 및 타겟의 차이에 기초하여, 하나 이상의 세팅들이 조절될 수 있다.
[0059] 다른 예들에서, 본 명세서에서 설명된 바와 같은 가중 모델이 장면의 이미지 내의 객체에 대해 사용될 수 있다. 그 다음, 최적화된 이미지를 생성하기 위해 이미지 스티처(sticher)가 이미지와 다른 이미지들을 함께 조합할 수 있도록, 장면의 다른 이미지들 내의 다른 객체들에 대해 동일한 가중 모델이 사용될 수 있다.
[0060] 도 1a는 AEC(automatic exposure control)를 사용하여 콘텐츠 캡처 디바이스의 하나 이상의 세팅들을 업데이트하기 위한 프로세스(100)의 예를 예시한다. 일부 예들에서, 하나 이상의 세팅들은 노출 세팅, 이득 세팅 또는 이들의 임의의 조합을 포함할 수 있다. 이러한 예들에서, 노출 세팅은 셔터 속도, ISO 속도 또는 이들의 임의의 조합일 수 있다. 이득 세팅은 디지털 이득, 아날로그 이득 또는 이들의 임의의 조합일 수 있다.
[0061] 프로세스(100)는 이미지를 수신하는 것(110)을 포함할 수 있다. 일부 예들에서, 이미지는 콘텐츠 캡처 디바이스의 센서로부터 수신될 수 있다. 다른 예들에서, 이미지는 프로세스(100)에 공급되는 피드(feed)에 포함될 수 있다. 이미지는 다수의 디바이스들 및 시스템들로부터 수신될 수 있음을 인식해야 한다.
[0062] 일부 예들에서, 이미지는 이미지 버퍼에서 수신될 수 있다. 이러한 예들에서, 이미지는 이미지의 각각의 픽셀에 대한 픽셀 정보를 포함하는 비트-매핑된 이미지일 수 있다. 일부 예들에서, 이미지 버퍼는 이미지의 픽셀 높이 및 픽셀 폭과 동일한 크기일 수 있다. 예시하자면, 이미지 버퍼 크기는 640 x 480일 수 있고, 여기서 640은 이미지의 픽셀들의 수에서의 폭에 대응할 수 있고, 480은 이미지의 픽셀들의 수에서의 높이에 대응할 수 있다.
[0063] 프로세스(100)는 이미지를 픽셀 그룹들로 분할하는 것(120)을 더 포함할 수 있다. 각각의 픽셀 그룹의 크기 및 형상은 미리 정의될 수 있다. 일부 예들에서, 각각의 픽셀 그룹의 크기 및 형상은 동일하거나 변동될 수 있다. 예시의 목적들로, 픽셀 그룹들은 직사각형들로 설명될 것이다. 그러나, 픽셀 그룹들은 이미지를 복수의 부분들로 분할하는 임의의 형상일 수 있음을 인식해야 한다. 예를 들어, 픽셀 그룹들은 이미지의 센터로부터 반경일 수 있다. 이러한 예에서, 각각의 픽셀 그룹은 상이한 범위의 직경들을 포함할 수 있다(예를 들어, 제1 반경은 중심으로부터 0 내지 1 단위들일 수 있고, 제2 반경은 중심으로부터 1 내지 2 단위들일 수 있고, 제3 반경은 중심으로부터 2 내지 3 단위들일 수 있다). 다른 예를 들어, 픽셀 그룹들은 각각의 객체와 연관될 수 있다(예를 들어, 제1 객체는 제1 픽셀 그룹일 수 있고, 제2 객체는 제2 픽셀 그룹일 수 있고, 이미지의 나머지는 제3 픽셀 그룹일 수 있다). 픽셀 그룹들은 이미지를 복수의 부분들로 분할하는 임의의 다른 형태일 수 있음을 또한 인식해야 한다. 일부 예들에서, 픽셀 그룹은, 둘 이상의 픽셀 그룹들이 중첩하도록 배열될 수 있다.
[0064] 하나의 예시적인 예에서, 이미지는 96개의 픽셀 그룹들(12개의 픽셀 그룹들 x 8개의 픽셀 그룹들, 여기서 12는 이미지의 폭을 따른 픽셀 그룹들의 수에 대응하고, 8은 이미지의 높이를 따른 픽셀 그룹들의 수에 대응함)로 분할될 수 있다. 이러한 예시에서, 640 x 480 이미지에서 12 x 8개의 픽셀 그룹들을 갖는 것은, 각각의 픽셀 그룹이 대략 50개의 픽셀들의 높이 및 대략 60개의 픽셀들의 폭을 가질 것임을 의미할 것이다. 이러한 예시는 각각의 픽셀 그룹의 폭 및 높이가 상이할 것임을 표시하지만, 픽셀 그룹의 폭은 픽셀 그룹의 높이와 동일할 수 있음을 인식해야 한다.
[0065] 프로세스(100)는 이미지의 각각의 픽셀 그룹에 대한 평균 루마 픽셀 그룹 값들을 컴퓨팅하는 것(130)을 더 포함할 수 있다. 일부 예들에서, 평균 루마 픽셀 그룹 값은 픽셀 그룹의 각각의 픽셀에 대한 루마 값들을 누산함으로써 컴퓨팅될 수 있다. 이러한 예들에서, 루마 값들은 이미지(예를 들어, 이미지의 무채색 부분)의 밝기를 표현할 수 있다. 일부 예들에서, 루마 값은 컬러 성분이 없는 이미지의 표현일 수 있다. 예를 들어, YUV 컬러공간에서, 루마 값은 Y일 수 있다. 일부 예들에서, 루마 값은 이미지의 감마-압축된 RGB 성분들의 가중된 합산이다. 이러한 예들에서, 루마 값은 감마-보정된 루마로 지칭될 수 있다. 일부 예들에서, 누산은 픽셀 그룹의 각각의 픽셀에 대한 루마 값들을 가산함으로써 소프트웨어 또는 하드웨어에 의해 수행될 수 있다. 픽셀 그룹에 대한 루마 값들이 누산되면, 픽셀 그룹에 대한 평균 루마 픽셀 그룹 값을 컴퓨팅하기 위해, 총 수가 픽셀 그룹 내의 픽셀들의 수로 나누어질 수 있다. 이러한 프로세스는 이미지 내의 각각의 픽셀 그룹에 대해 반복될 수 있다.
[0066] 프로세스(100)는 AEC를 수행하는 것(140)을 더 포함할 수 있다. AEC는 이미지의 각각의 픽셀 그룹에 대한 평균 루마 픽셀 그룹 값들을 입력으로서 취할 수 있다. 일부 예들에서, AEC 방법은 가중치 어레이를 사용하여 앞서 설명된 평균 루마 픽셀 그룹 값들에 가중치들을 적용할 수 있다. 이러한 예들에서, AEC는 또한 가중치 어레이를 입력으로서 취할 수 있고, 이는 이미지의 각각의 픽셀 그룹에 적용할 가중치를 식별할 수 있다.
[0067] 일부 예들에서, 가중치 어레이는 이미지를 분할함으로써 생성되는 픽셀 그룹들에 대응하는 픽셀 그룹들을 포함할 수 있다. 예를 들어, 이미지가 25개의 픽셀 그룹들(5개의 픽셀 그룹들 x 5개의 픽셀 그룹들)로 분할되면, 가중치 어레이는 25개의 픽셀 그룹들(5개의 픽셀 그룹들 x 5개의 픽셀 그룹들)에 대한 가중치들을 포함할 수 있다. 이러한 예에서, 이미지 내의 최상위 최좌측 픽셀 그룹은 가중치 어레이 내의 최상위 최좌측 픽셀 그룹에 대응할 수 있는 식이다. 일부 예들에서, 가중치 어레이 내의 각각의 픽셀 그룹에 대한 값들은, 계측, 객체 우선순위, 포커스 레티클, 눈 시선, 정규화된 총 가중치 어레이, 학습 기반 방법들 등 또는 이들의 임의의 조합을 포함하는, 본 명세서에 논의된 다수의 기술들에 기초할 수 있다.
[0068] 일부 예들에서, 가중치 어레이(예를 들어, 도 1 내지 도 7 및 도 10에 설명된 가중치 어레이)는 가중된 루마 픽셀 그룹들을 컴퓨팅하기 위해 평균 루마 픽셀 그룹 값들과 조합될 수 있다. 예를 들어, 각각의 평균 루마 픽셀 그룹 값은 대응하는 가중치와 곱해질 수 있다. 다른 예들에서, 가중치 어레이는 생성된 픽셀 그룹들에 기초하여 픽셀들의 루마 값들과 조합될 수 있다. 이러한 예들에서, 픽셀에 적용할 가중치는 픽셀을 포함하는 픽셀 그룹에 기초하여 결정될 수 있다. 예를 들어, 픽셀이 이미지 내의 최상위 좌측 픽셀 그룹에 있으면, 가중치 어레이 내의 최상위 좌측 픽셀 그룹과 연관된 가중치는 픽셀에 적용될 수 있다. 일부 예들에서, 픽셀 그룹과 연관된 가중치는, 대응하는 픽셀 그룹의 각각의 픽셀에 대한 가중된 루마 값을 컴퓨팅하기 위해 이미지의 대응하는 픽셀 그룹 내의 각각의 픽셀과 곱해질 수 있다.
[0069] 일부 예들에서, 가중된 루마 값들은 이미지에 대한 가중된 루마 평균을 생성하기 위해 함께 평균화될 수 있다. 일부 예들에서, 가중된 루마 평균은 로서 표현될 수 있고: 여기서 WLA는 가중된 루마 평균이고, M은 픽셀 그룹의 높이이고, N은 픽셀 그룹의 폭이고, w[r,c]는 가중치 어레이 내의 위치 r 및 위치 c이고, lumaavg[r,c]는 위치 r 및 위치 c에서 픽셀의 평균 루마 값이다.
[0070] 다른 예들에서, 가중치 어레이는 로컬 톤 매핑에 사용될 수 있다. 예를 들어, 로컬 톤 매핑 시스템은 밝아져야 하는 시야의 부분들을 식별하기 위해 가중된 어레이를 사용할 수 있다. 이러한 기술은 앞서 설명된 평균화 기술들의 일부 예들에서와 같이 전체 시야보다는 시야의 부분들을 다룰 수 있다. 일부 예들에서, 세팅(예를 들어, 노출 세팅 및/또는 이득 세팅)은 가중치 어레이에 기초하여 하나 이상의 부분들에 적용될 수 있다. 이러한 예들에서, 가중치 어레이는 로컬 톤 매핑에 대한 가이드로서 사용될 수 있다.
[0071] 일부 예들에서, 로컬 톤 매핑은 미리 정의된 임계치 초과인 픽셀들에 대해 수행될 수 있고, 여기서 임계치는 가중치 어레이의 가중치에 대응한다. 예를 들어, 임계치 초과의 가중치가 부여된 픽셀은 로컬 톤 매핑 시스템이 픽셀에 대한 세팅(예를 들어, 노출 세팅 및/또는 이득 세팅)의 조절을 결정하게 할 수 있다. 일부 예들에서, 픽셀 및 하나 이상의 이웃 픽셀들은 임계치와 비교되는 경우에 사용될 수 있다. 예를 들어, 픽셀 및 하나 이상의 이웃 픽셀들은 픽셀 및/또는 하나 이상의 이웃 픽셀들에 적용할 로컬 톤 매핑에 대한 임계치 초과가 되어야 할 것이다. 일부 예들에서, 로컬 톤 매핑은 소프트웨어 및/또는 하드웨어로 지원될 수 있다.
[0072] 일부 예들에서, 프로세스(100)는 하나 이상의 세팅들을 업데이트하는 것을 더 포함할 수 있다. 앞서 설명된 바와 같이, 하나 이상의 세팅들은 노출 세팅, 이득 세팅 또는 이들의 임의의 조합을 포함할 수 있다. 이러한 예들에서, 노출 세팅은 셔터 속도, ISO 속도 또는 이들의 임의의 조합일 수 있다. 일부 예들에서, 셔터 속도는 글로벌 셔터 또는 롤링 셔터일 수 있다. 글로벌 셔터는 시야의 모든 픽셀들을 노출시키기 위한 시간의 지속기간을 표시할 수 있다. 롤링 셔터는 시야의 (수평으로 또는 수직으로) 행을 노출시키기 위한 시간의 지속기간을 표시할 수 있다. 롤링 셔터에서, 이미지의 라인들은 시야의 스냅샷보다는 롤링 방식으로 스캔될 수 있다. 이득 세팅은 디지털 이득, 아날로그 이득 또는 이들의 임의의 조합일 수 있다. 예를 들어, 이득 세팅은 2x의 아날로그 이득 및 4x의 디지털 이득을 가짐으로써 8x일 수 있다. 일부 예들에서, 노출 세팅은 노출을 증가시키는 경우 이득 세팅 전에 조절될 수 있다. 이러한 예들에서, 이득 세팅은 노출을 감소시키는 경우 이득 세팅 전에 조절될 수 있다.
[0073] 도 1b는 콘텐츠 캡처 디바이스의 하나 이상의 세팅들을 업데이트하는 방법을 결정하기 위한 프로세스(160)의 예를 예시한다. 프로세스는 타겟 루마 값을 루마 값(예를 들어, 가중된 루마 평균)과 비교하는 것(단계(170))을 포함할 수 있다.
[0074] 가중된 루마 평균이 타겟 루마 평균보다 미리 정의된 제1 임계치만큼 작으면, 이미지를 더 밝게 하기 위해 하나 이상의 세팅들이 조절될 수 있다(단계(172)). 예를 들어, 하나 이상의 세팅들의 노출 세팅이 최대 허용된 노출 세팅에 있지 않으면, 노출 세팅은 최대 허용된 노출 세팅까지 증가(예를 들어, 점진적으로 증가)될 수 있다(단계들(174 및 176)). 하나의 예시적인 예에서, 최대 허용된 노출 세팅은 초당 30 프레임의 프레임 레이트에 대해 16.6 ms일 수 있다. 그러나, 심지어 초당 30 프레임의 프레임 레이트에 대해서도, 최대 허용된 노출 세팅은 상이할 수 있음을 인식해야 한다. 최대 허용된 노출 세팅은 ISO 속도 및 콘텐츠 캡처 디바이스에 기초할 수 있다. 일부 예들에서, 콘텐츠 캡처 디바이스의 소프트웨어 및/또는 하드웨어는 최대 허용된 노출 세팅을 결정할 수 있다(예를 들어, 최대 허용된 노출 세팅은 프레임 기간(1/프레임 레이트)에서 센서와 호스트 프로세서 사이에서 이미지를 전송하기 위한 시간을 뺀 것 미만일 수 있다). 일부 예들에서, 최대 허용된 노출 세팅은 소프트웨어 및/또는 하드웨어가 허용하는 것 미만일 수 있다.
[0075] 노출 세팅이 최대 허용된 노출 세팅에 있으면, 하나 이상의 세팅들의 이득 세팅은 최대 허용된 이득 세팅까지 증가(예를 들어, 점진적으로 증가)될 수 있다(단계들(174 및 178)). 하나의 예시적인 예에서, 최대 허용된 이득 세팅은 8x일 수 있다. 그러나, 최대 허용된 이득 세팅은 상이할 수 있음을 인식해야 한다. 최대 허용된 이득 세팅은 원하는 이미지 품질(예를 들어, 이미지 내의 잡음은 이득 세팅이 증가함에 따라 증가할 수 있음) 및 콘텐츠 캡처 디바이스의 소프트웨어 및/또는 하드웨어(예를 들어, 센서는 특정 이득 세팅까지 지원할 수 있음)에 기초할 수 있다.
[0076] 가중된 루마 평균이 타겟 루마 평균보다 미리 정의된 제2 임계치(제1 임계치와 동일하거나 상이할 수 있음)만큼 크면, 이미지를 더 어둡게 하기 위해 하나 이상의 세팅들이 조절될 수 있다(단계(180)). 예를 들어, 이득 세팅이 최소 허용된 이득 세팅(예를 들어, 1x)에 있지 않으면, 이득 세팅은 최소 허용된 이득 세팅까지 감소(예를 들어, 점진적으로 감소)될 수 있다(단계들(182 및 184)). 일부 예들에서, 최소 허용된 이득 세팅은 콘텐츠 캡처 디바이스의 소프트웨어 및/또는 하드웨어(예를 들어, 콘텐츠 캡처 디바이스의 센서)에 기초하여 결정될 수 있다.
[0077] 이득 세팅이 최소 허용된 이득 세팅에 있으면, 노출 세팅은 최소 허용된 노출 세팅(예를 들어, 20 μsec)까지 감소(예를 들어, 점진적으로 감소)될 수 있다(단계들(182 및 186)). 최소 허용된 노출은 콘텐츠 캡처 디바이스의 소프트웨어 및/또는 하드웨어(예를 들어, 콘텐츠 캡처 디바이스의 센서)에 기초하여 시야가 노출되어야 하는 시간양에 대응할 수 있다. 어느 한 상황에 대한 조절의 양은, 타겟 루마 평균과 가중치 루마 평균의 차이의 양에 기초할 수 있다.
[0078] 일부 예들에서, 타겟 루마 평균이 제공될 수 있다. 이러한 예들에서, 타겟 루마 평균은, 새로운 타겟 루마 평균이 제공될 때까지 제공 및 사용될 수 있다. 다른 예들에서, 상이한 상황들에 대해 복수의 타겟 루마 평균들이 제공될 수 있다. 예를 들어, 타겟 루마 평균은 실내에서보다 실외에서 약간 더 높을 수 있는데, 이는 실외가 더 밝을 수 있기 때문이다. 따라서, 일부 예들에서, 실내에 대해 하나 및 실외에 대해 하나씩, 2개의 상이한 타겟 루마 평균들이 제공 또는 결정될 수 있다. 다른 예들에서, 타겟 루마 평균이 결정될 수 있다. 이러한 예들에서, 현재 물리적 환경이 하나 이상의 센서들에 의해 결정될 수 있다. 예를 들어, 하나 이상의 센서들은 현재 물리적 환경에서의 광의 양을 검출할 수 있다. 일부 예들에서, 타겟 루마 값을 결정하기 위해 하나 이상의 세팅들의 임의의 조합이 사용될 수 있다.
[0079] 도 2는 루마 값들을 가중하기 위한 다양한 계측 기술들의 예들을 예시한다. 다양한 계측 기술들에 대해, 가중치 스케일(210)은 특정 가중치들에 대한 키(key)가 되도록 제공되었다. 가중치 스케일(210)의 각각의 레벨은 가중치 어레이에 포함되는 경우 특정 가중치에 대응하는 컬러를 포함한다. 예를 들어, 가중치 스케일(210) 내의 최상부 박스는 가장 어두운 컬러이고 1의 가중치를 표현하며, 가중치 스케일(210) 내의 바닥 박스는 가장 밝은 컬러이고 0의 가중치를 표현한다. 가중치 스케일(210)은 최상부 박스로부터 바닥 박스까지 선형으로 변하는 것으로 나타나지만, 가중치 스케일(210)이 단일 이미지에 걸쳐 일정한 한, 가중치 스케일(210)은 상이할 수 있음을 인식해야 한다. 일부 예들에서, 아래에서 설명되는 계측 기술들 중 둘 이상은 단일 가중치 어레이에서 조합될 수 있다.
[0080] 제1 계측 기술은 스팟(spot) 계측일 수 있다. 일부 예들에서, 스팟 계측은 이미지의 선택된 영역의 각각의 픽셀에 동일한 가중치를 부여하는 것을 지칭할 수 있다. 이러한 예들에서, 스팟 계측은 선택된 영역으로부터 더 멀어질수록 감소하는 가중치를 부여하도록 구현될 수 있다. 일부 예들에서, 선택된 영역은 사용자의 모션(예를 들어, 시야 내에서 스크린 터치의 모션을 행하는 것에 의함)에 기초하여 식별될 수 있다. 이러한 예들에서, 허공의 제1 위치로부터 제2 위치로 이동하는 손가락은 영역을 선택하는 것에 대응할 수 있다. 사용자가 터치하고 있는 실제 스크린이 없을 것이지만, 모션 자체가 검출될 수 있다. 영역이 선택될 수 있는 다른 방식은, 대략 원을 생성하는 방식으로 손가락들을 모으는 것일 것이고, 원 내부의 모든 것이 선택일 것이다. 다른 예들에서, 사용자에 의해 이동될 수 있는 가상 프레임이 나타날 수 있다. 이러한 예들에서, 이동 및/또는 리사이징될 수 있는 원이 사용자의 디스플레이에 도시될 수 있다.
[0081] 스팟 계측은 제1 가중치가 하나 이상의 제1 픽셀 그룹들에 할당되게 하고 제2 가중치가 하나 이상의 제2 픽셀 그룹들에 할당되게 할 수 있다. 통상적으로, 하나 이상의 제1 픽셀 그룹들은 사용자 선택에 기초하여 식별된다. 예를 들어, 사용자는 스팟을 표시하기 위해 스크린 상에 손가락을 둘 수 있다. 손가락의 위치는 스팟 계측에 사용될 하나 이상의 제1 픽셀 그룹들을 정의할 수 있다. 스팟 계측의 결과는 스팟 계측 가중치 어레이(220)일 수 있다. 볼 수 있는 바와 같이, 스팟 계측 가중치 어레이(220)는 스팟(222)을 포함한다. 스팟(222)은 사용자 선택(예를 들어, 하나 이상의 제1 픽셀 그룹들)에 기초하여 식별된 위치일 수 있다. 스팟(222)은 1로 나타나는 제1 가중치를 포함한다. 스팟 계측 가중치 어레이(220)이 나머지(예를 들어, 하나 이상의 제2 픽셀 그룹들)는 0으로 나타나는 제2 가중치를 포함한다. 상이한 가중치들이 사용될 수 있음을 인식해야 한다. 하나 초과의 스팟이 식별될 수 있음을 또한 인식해야 한다.
[0082] 제2 계측 기술은 중심 계측일 수 있다. 일부 예들에서, 중심 계측은 이미지의 중심에 있는 픽셀들의 그룹들에 더 큰 가중치들 그리고 이미지의 에지들 쪽으로 갈수록 감소하는 가중치를 부여하는 것을 지칭할 수 있다.
[0083] 중심 계측은 가중치 어레이의 일 포인트(예를 들어, 중심)으로부터의 거리에 기초하여 픽셀 그룹들에 복수의 가중치들이 할당되게 할 수 있다. 중심 계측의 결과는 중심 계측 가중치 어레이(230)일 수 있다. 중심 계측 가중치 어레이(230)는 중심으로부터 떨어진 특정 거리에 대한 제1 가중치를 포함할 수 있다. 제1 가중치는 가장 큰 가중치일 수 있다. 중심 계측 가중치 어레이(230)에서, 제1 가중치는 중심으로부터 수직으로 2개의 픽셀 그룹들 및 중심으로부터 수평으로 3개의 픽셀 그룹들에 포함된다. 이는 중심으로부터의 거리가 수평 및 수직으로 상이할 수 있음을 예시한다. 중심 계측은 또한 대각을 포함하는 다양한 방식들로 달라질 수 있음을 또한 인식해야 한다.
[0084] 중심 계측 가중치 어레이(230)는 또한 제2, 제3, 제4 및 제5 가중치를 포함할 수 있고, 이들 각각은 이전 가중치로부터 떨어진 하나의 픽셀 그룹이다. 일부 예들에서, 가중치의 각각의 연속적인 레벨이 가중치에서 감소할 수 있다. 예를 들어, 제5 가중치는 제4 가중치 미만일 수 있고, 제4 가중치는 제3 가중치 미만일 수 있고, 제3 가중치는 제2 가중치 미만일 수 있고, 제2 가중치는 제1 가중치 미만일 수 있다. 또한, 중심 계측 가중치 어레이는 단지 일례이고, 가중치의 각각의 레벨 및 특정 가중치들의 다른 구성들이 사용될 수 있음을 인식해야 한다.
[0085] 제3 계측 기술은 이미지 계측일 수 있다. 이미지 계측은 가중치 어레이의 모든 픽셀 그룹에 단일 가중치가 할당되게 할 수 있다. 이미지 계측의 결과는 이미지 계측 가중치 어레이(240)일 수 있다. 이미지 계측 가중치 어레이(240)는 모든 픽셀 그룹에 대한 단일 가중치를 포함한다. 이미지 계측은 전체 장면에 대한 평균 노출을 생성할 수 있다.
[0086] 일부 예들에서, 계측에 추가로(또는 그 대신에), 이미지에 대한 가중치 어레이에 영향을 미치는 우선순위가 이미지 내의 하나 이상의 객체들에 할당될 수 있다. 하나 이상의 객체들에 기초하여 가중치 어레이에 대한 가중치들을 할당함으로써, 하나 이상의 객체들이 이미지 및 가중치 어레이와 관련하여 이동하고 있는 경우에도, 하나 이상의 객체들은 다수의 이미지들 전반에 걸쳐 적절히 노출된 채로 유지될 수 있다. 하나 이상의 객체들은 다수의 이미지들에 걸쳐 적절히 노출될 수 있는데, 이는 가중치들이 단일 위치에 매번 적용되는 것이 아니라 오히려 하나 이상의 객체들에 기초하여 변하기 때문이다.
[0087] 도 3은 이미지 내의 객체에 대한 우선순위 가중치 어레이(320)의 예를 예시한다. 상기와 유사하게, 가중치 스케일(310)은 특정 가중치들에 대한 키가 되도록 제공되었다. 일부 예들에서, 이미지 내의 객체는 객체 인식 시스템에 의해 식별될 수 있다. 이러한 예들에서, 객체 인식 시스템은 객체의 카테고리(예를 들어, 사람, 동물, 의자 등)를 식별할 수 있다. 다른 예들에서, 식별자는 (객체의 카테고리에 추가로) 객체의 하나 이상의 추가적인 세부사항들을 식별할 수 있다. 예를 들어, 사람의 아이덴티티, 동물의 식별자(예를 들어, 이는 골든 리트리버임, 또는 이는 점이 있음) 등이 식별될 수 있다. 객체 인식 시스템은 또한 객체를 포함하는 픽셀 그룹들을 결정할 수 있다.
[0088] 하나의 예시적인 예에서, 아래에 예시된 바와 같은 표는 식별된 객체에 가중치를 할당하기 위해 사용될 수 있다. 이러한 표를 사용하여, 객체가 식별되는 경우, 객체에 대해 식별된 하나 이상의 픽셀 그룹들에 표 내의 우선순위 가중치가 할당된다.
[0089] 일부 예들에서, (상기 표에 표시된 바와 같은) 활성 객체는 애플리케이션에 의해 활성으로 사용중인 객체를 표현할 수 있다. 예를 들어, 혼합 현실 애플리케이션에 의해 일 표면이 사용중일 수 있다. 이러한 예에서, 캐릭터가 표면 상에서 춤을 추고 있을 수 있다. 표면이 우선순위인 것을 보장하기 위해, 표면과 연관된 가중치들은 이미지의 다른 영역들에 대한 가중치들보다 클 수 있다.
[0090] 일부 예들에서, (상기 표에 표시된 바와 같은) 사용자-선택 객체는 앞서 설명된 스팟 계측과 유사하게, 사용자에 의해 선택된 객체를 표현할 수 있다. 그러나, 스팟 계측과 달리, 사용자-선택 객체는 단지 손가락이 커버하는 픽셀 그룹들보다 오히려 객체가 포함되는 모든 픽셀 그룹들을 포함할 수 있다.
[0091] 일부 예들에서, (상기 표에 표시된 바와 같은) 식별된 사람은 얼굴 인식 시스템(또는 다른 식별 시스템)에 의해 식별된 이미지 내의 사람을 표현할 수 있다. 예를 들어, 얼굴 인식 시스템은 사람을 Clark Kent로서 인식할 수 있다. 이러한 예에서, Clark Kent는 더 높은 가중치가 할당되어야 하는 식별된 사람들의 리스트에 포함될 수 있다. 또한, 일부 예들에서, 특정한 사람들에게 상이한 가중치들이 할당될 수 있다. 일부 예들에서, 리스트에 포함되지 않은 사람들 및/또는 이름으로 식별되지 않은 사람들에게는 (상기 표에서 "사람들"에 의해 표시된 바와 같이) 식별된 사람들과 상이한 가중치가 부여될 수 있다.
[0092] 유사하게, (상기 표에 표시된 바와 같은) 식별된 애완동물은 얼굴 인식 시스템(또는 다른 식별 시스템)에 의해 식별된 이미지 내의 애완동물을 표현할 수 있다. 예를 들어, 얼굴 인식 시스템은 애완동물을 Dixie로서 인식할 수 있다. 이러한 예에서, Dixie는 더 높은 가중치가 할당되어야 하는 식별된 애완동물들의 리스트에 포함될 수 있다. 또한, 일부 예들에서, 특정한 애완동물들에게 상이한 가중치들이 할당될 수 있다. 일부 예들에서, 리스트에 포함되지 않은 애완동물들 및/또는 이름으로 식별되지 않은 애완동물들에게는 (상기 표에서 "애완동물들"에 의해 표시된 바와 같이) 식별된 애완동물들과 상이한 가중치가 부여될 수 있다.
[0093] 일부 예들에서, (상기 표에 표시된 바와 같은) 식별된 객체들의 하나 이상의 다른 카테고리들에는 다양한 가중치들(예를 들어, 애완동물들, 자동차들, 꽃들, 건물들, 곤충들, 나무들/관목들, 미술품, 가구 등)이 할당될 수 있다. 이러한 예들에서, 각각의 카테고리에는 객체를 포함하는 모든 픽셀 그룹들에 적용될 수 있는 가중치가 할당될 수 있다. 일부 예들에서, 객체를 포함하지 않는 임의의 픽셀 그룹에는 (상기 표에서 "기타"에 의해 표현된 바와 같은) 상이한 가중치가 할당될 수 있다. 이러한 예들에서, 상이한 가중치는 제로 또는 일부 다른 넌-제로 수일 수 있다. 대부분의 예들에서, 상이한 가중치는 다른 가중치들 중 하나 이상보다 작을 수 있다. 일부 예들에서, 상이한 가중치는 식별된 객체로부터 떨어진 거리에 따라 달라질 수 있다.
[0094] 일부 예들에서, 표의 가중치들, 우선순위들 및 객체 타입들은 미리 정의될 수 있다. 일부 예들에서, 가중치들, 우선순위들 및 객체 타입들은 사용자의 액션들로부터의 학습에 기초하여 시간에 걸쳐 조절될 수 있다. 예를 들어, 사용자가 특정 객체를 포함하는 이미지들을 지배적으로 캡처하면, 그 객체에는 더 높은 우선순위가 할당될 수 있다. 다른 예를 들어, 가중치들은 유사한 장면의 다수의 이미지들과 관련하여 사용자의 하나 이상의 액션들에 기초하여 변할 수 있다. 예를 들어, 어느 이미지들이 삭제되는지에 기초하여, 우선순위 가중치들은 사용자의 선호도들로 업데이트될 수 있다. 삭제와 유사하게, 다른 사람들과 공유되는 이미지들은 그 이미지에 대한 하나 이상의 세팅들이 최적이었음을 표시할 수 있다.
[0095] 도 3을 다시 참조하면, 객체(322)를 포함하는 이미지의 영역이 식별될 수 있다. 객체(322)가 무엇으로 식별되는지에 기초하여, 객체(322)를 포함하는 우선순위 가중치 어레이(320)의 하나 이상의 픽셀 그룹들에 제1 가중치가 할당될 수 있다. 일부 예들에서, 객체(322)에 포함되지 않은 우선순위 가중치 어레이(320)의 하나 이상의 픽셀 그룹들에 제2 가중치가 할당될 수 있다. 우선순위 가중치 어레이(320)는 1의 가중치를 갖는 객체(322) 및 0의 가중치를 갖는 객체(322)에 포함되지 않은 하나 이상의 픽셀 그룹들을 예시하지만, 객체(322) 뿐만 아니라 객체(322)에 포함되지 않은 하나 이상의 픽셀 그룹들에 임의의 가중치가 할당될 수 있음을 인식해야 한다.
[0096] 도 4는 다수의 객체들에 대한 우선순위 가중치 어레이(420)의 예를 예시한다. 상기와 유사하게, 가중치 스케일(410)은 특정 가중치들에 대한 키가 되도록 제공되었다. 일부 예들에서, 하나 이상의 객체들이 이미지에서 식별될 수 있다. 이러한 예들에서, AEC는 이미지에서 식별된 하나 이상의 객체들의 서브세트를 사용하여 실행하도록 결정할 수 있다. 예를 들어, 하나 초과의 객체가 이미지에서 식별되면, AEC는 객체들 중 오직 하나를 사용하여 실행하도록 결정할 수 있다. 일부 예들에서, AEC는 가장 높은 우선순위를 갖는 객체에 기초하여 실행하도록 결정할 수 있다. 다른 예들에서, AEC는 식별된 객체들 전부가 아닌, 식별된 객체들 중 하나 이상에 기초하여 실행하도록 결정할 수 있다. 다른 예들에서, AEC는 식별된 모든 객체들에 기초하여 실행하도록 결정할 수 있다.
[0097] 하나의 예시적인 예에서, 하나 이상의 객체들은 제1 객체(422), 제2 객체(424) 및 제3 객체(426)를 포함할 수 있다. 일부 예들에서, 각각의 객체에는 가중치가 할당될 수 있다. 일부 예들에서, 둘 이상의 가중치들이 유사할 수 있고 그리고/또는 둘 이상의 가중치들이 상이할 수 있다. 예를 들어, 제1 객체(422)는 (상기 표에서 설명된 바와 같은) 활성 객체일 수 있고, 제2 객체(424)는 (상기 표에서 설명된 바와 같은) 사용자-선택 객체일 수 있고, 제3 객체(426)는 (상기 표에서 설명된 바와 같은) 자동차일 수 있다.
[0098] 도 5는 포커스 레티클 가중치 어레이(530)의 예를 예시한다. 상기와 유사하게, 가중치 스케일(510)은 특정 가중치들에 대한 키가 되도록 제공되었다. 일부 예들에서, 포커스 레티클 가중치 어레이(530)는 이미지(520)에서 포커스 레티클(522)의 위치를 식별할 수 있다. 일부 예들에서, 포커스 레티클(522)은 손 제스처들, (앞서 설명된 바와 같은) 자동 포커스 제어(AF) 및/또는 포커스 레티클(522)의 리사이징에 기초하여 조절될 수 있다. 일부 예들에서, 손 제스처는 포커스 레티클(522)을 형성하거나 드로잉할 수 있다. 이러한 예들에서, 객체가 포커스 레티클(522)의 내부에 있으면, 객체의 픽셀 그룹들에는 더 높은 가중치가 부여될 수 있다. 객체가 포커스 레티클(522)의 경계 상에 있으면, 객체의 픽셀 그룹들에는 더 낮은 가중치가 부여될 수 있다. 객체가 포커스 레티클(522)의 외부에 있으면, 객체의 픽셀 그룹들에는 가장 낮은 가중치가 부여될 수 있다. 일부 예들에서, 포커스 레티클(522)은 콘텐츠 캡처 디바이스로부터 원격(예를 들어, 손 제스처, 원격 디바이스 등)의 또는 콘텐츠 캡처 디바이스 상의 커맨드를 사용하여 리사이징될 수 있다. 다른 예들에서, AF는 이미지(520)의 포커스인 이미지(520)의 영역을 표시할 수 있다. 이러한 예들에서, 영역 내의 객체들에는 더 높은 가중치가 부여될 수 있다.
[0099] 일부 예들에서, 중심 계측 가중치 어레이(230)와 유사하게, 포커스 레티클 가중치 어레이(530)의 가중치들은 포커스 레티클(522)의 중심으로부터의 거리가 증가함에 따라 감소할 수 있다. 예를 들어, 포커스 레티클(522)의 중심은 가장 높은 가중치를 가질 수 있다. 중심 주위의 픽셀 그룹들은 또한 가장 높은 가중치를 가질 수 있다. 그러나, 중심으로부터의 거리가 증가함에 따라, 픽셀 그룹들은 가중치의 양에서 감소할 수 있다.
[0100] 다른 예들에서, 포커스 레티클 가중치 어레이(530)는 적어도 부분적으로 포커스 레티클(522) 내에 있는 객체들을 포함하는 픽셀 그룹들의 가중치를 증가시키기 위해 객체 식별 시스템과 함께 활용될 수 있다. 예를 들어, 객체가 포커스 레티클(522)과 중첩하거나 그 안에 완전히 포함되면, 객체를 포함하는 픽셀 그룹들의 가중치는 증가될 수 있다. 객체가 포커스 레티클(522)의 완전히 외부에 있으면, 객체를 포함하는 픽셀 그룹들의 가중치는 감소될 수 있다.
[0101] 도 6은 눈 시선 가중치 어레이(690)의 예를 예시한다. 상기와 유사하게, 가중치 스케일(610)은 특정 가중치들에 대한 키가 되도록 제공되었다. 눈 시선 가중치 어레이(690)를 구현하기 위해, 시스템은 하나 이상의 눈 캡처 디바이스들을 포함할 수 있다. 눈 캡처 디바이스는 사용자의 하나 이상의 눈들(예를 들어, 눈들(660))의 하나 이상의 이미지들 및/또는 하나 이상의 비디오들을 캡처하기 위해 사용될 수 있다. 이미지들 및/또는 비디오들은 눈들(660)의 시선(670)을 결정하기 위해 추가로 프로세싱될 수 있다. 일부 예들에서, 시선(670)은, 눈들(660)이 보고있는 방향 또는 눈들(660)이 보고있는 위치를 표시할 수 있다.
[0102] 일부 예들에서, 시선(670)은 또한 사용자의 눈들(660)에 기초하여 눈들(660)이 보고있는 깊이를 표시할 수 있다. 일부 예들에서, 좌측 눈 및 우측 눈을 봄으로써, 시스템은 시선(670)이 특정 깊이의 특정 객체를 보고있다고 결정할 수 있다. 일부 예들에서, 중심 계측 가중치 어레이(230)와 유사하게, 눈 시선 가중치 어레이(690)의 가중치들은 시선(670)이 보고있는 위치로부터의 거리가 증가함에 따라 감소할 수 있다. 예를 들어, 시선(670)이 보고있는 위치의 중심은 가장 높은 가중치를 가질 수 있다. 중심 주위의 픽셀 그룹들은 또한 가장 높은 가중치를 가질 수 있다. 그러나, 중심으로부터의 거리가 증가함에 따라, 픽셀 그룹들은 가중치의 양에서 감소할 수 있다.
[0103] 눈 시선 가중치 어레이(690)를 예시하자면, 시선(670)은 제2 객체(632)를 포함할 수 있는 제2 세트의 픽셀 그룹들(630)을 향할 수 있다. 제2 객체(632)를 포함하는 픽셀 그룹들에 가장 높은 가중치가 할당될 수 있다. 그 다음, 가중치들은 제2 객체(632)로부터 떨어진 거리에 기초하여 및/또는 식별되는 다른 객체들에 기초하여 할당될 수 있다.
[0104] 예를 들어, 제1 세트의 픽셀 그룹들(620) 내의 제1 객체(622) 및 제3 세트의 픽셀 그룹들(640) 내의 제3 객체(642)가 식별될 수 있다. 이러한 예에서, 제1 세트의 픽셀 그룹들(620)에는 제2 객체(632)로부터의 거리 및 제1 객체(622)의 식별자에 대응하는 가중치가 할당될 수 있다. 제1 객체(622)가 높은 우선순위를 갖는 객체이면, 제1 세트의 픽셀 그룹들의 가중치들은 증가될 수 있다. 한편, 제1 객체(622)가 낮은 우선순위를 갖는 객체이면, 제1 세트의 픽셀 그룹들의 가중치들은 감소될 수 있다. 제3 세트의 픽셀 그룹들(640) 및 제3 객체(642)에 대해 유사한 동작이 수행될 수 있다. 일부 예들에서, 픽셀 그룹들의 세트(예를 들어, 제4 세트의 픽셀 그룹들(650))에서 어떠한 객체도 식별되지 않을 수 있다. 어떠한 객체도 식별되지 않는 경우, 픽셀 그룹들의 세트에는 객체들(예를 들어, 제2 객체(632)) 중 하나 이상으로부터의 거리 또는 시선(670)의 위치에 기초한 값 또는 디폴트 값이 할당될 수 있다.
[0105] 도 16은 사용자의 시선에 기초하여 식별된 위치를 사용하는 자동 노출 제어에 대한 프로세스(1600)의 실시예를 예시하는 흐름도이다. 일부 양상들에서, 프로세스(1600)는 컴퓨팅 디바이스(예를 들어, 카메라와 같은 콘텐츠 캡처 디바이스)에 의해 수행될 수 있다.
[0106] 프로세스(1600)는 로직 흐름도로서 예시되고, 로직 흐름도의 동작은 하드웨어, 컴퓨터 명령들 또는 이들의 조합으로 구현될 수 있는 동작들의 시퀀스를 표현한다. 컴퓨터 명령들의 맥락에서, 동작들은, 하나 이상의 프로세서들에 의해 실행되는 경우 인용된 동작들을 수행하는, 하나 이상의 컴퓨터 판독가능 저장 매체들 상에 저장된 컴퓨터 실행가능 명령들을 표현한다. 일반적으로, 컴퓨터 실행가능 명령들은 특정한 기능들을 수행하거나 특정한 데이터 타입들을 구현하는 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 등을 포함한다. 동작들이 설명되는 순서는 제한으로 해석되도록 의도되지 않으며, 임의의 수의 설명되는 동작들은 프로세스들을 구현하도록 임의의 순서로 및/또는 병렬적으로 조합될 수 있다.
[0107] 추가적으로, 프로세스(1600)는 실행가능한 명령들로 구성된 하나 이상의 컴퓨터 시스템들의 제어 하에서 수행될 수 있고, 하나 이상의 프로세서들 상에서, 하드웨어에 의해, 또는 이들의 조합들로 집합적으로 실행되는 코드(예를 들어, 실행가능한 명령들, 하나 이상의 컴퓨터 프로그램들 또는 하나 이상의 애플리케이션들)로서 구현될 수 있다. 앞서 언급된 바와 같이, 코드는 예를 들어, 하나 이상의 프로세서들에 의해 실행가능한 복수의 명령들을 포함하는 컴퓨터 프로그램의 형태로, 머신 판독가능 저장 매체 상에 저장될 수 있다. 머신 판독가능 저장 매체는 비일시적일 수 있다.
[0108] 프로세스(1600)는 콘텐츠 캡처 디바이스에 의해 캡처된 이미지를 수신하는 것(1610)을 포함할 수 있다. 일부 예들에서, 이미지는 복수의 픽셀들을 포함할 수 있다. 일부 예들에서, 이미지는 카메라 또는 다른 콘텐츠 캡처 디바이스로부터 수신될 수 있다. 다른 예들에서, 이미지는 이미지들의 피드(또는 스트림)으로부터 수신될 수 있다. 이러한 예들에서, 피드는 현재 또는 과거 이미지들일 수 있다. 도 6은 제1 세트의 패치들(620), 제2 세트의 패치들(630), 제3 세트의 패치들(640) 및 제4 세트의 패치들(650)을 포함하는 것으로 이미지를 예시한다. 이미지는 도 6에 예시된 것보다 많거나 적은 세트들의 패치들을 포함할 수 있음을 인식해야 한다.
[0109] 프로세스(1600)는 이미지에 대한 타겟 루마 값을 식별하는 것(1620)을 더 포함할 수 있다. 일부 예들에서, 타겟 루마 값은 이미지에 대한 루마의 최적의 양을 표시할 수 있다. 이러한 예들에서, 이미지의 각각의 픽셀은 루마 값과 연관될 수 있다. 일부 예들에서, 타겟 루마 값은 이미지의 루마 값들의 평균에 대응할 수 있다. 다른 예들에서, 타겟 루마 값은 이미지의 루마 값들의 가중된 평균에 대응할 수 있다. 다른 예들에서, 타겟 루마 값은 가중치 어레이를 루마 값들과 곱하는 것으로부터 얻어질 수들에 대응할 수 있다.
[0110] 일부 예들에서, 타겟 루마 값이 미리 정의될 수 있다. 다른 예들에서, 타겟 루마 값은 하나 이상의 센서들에 기초하여 결정될 수 있다. 하나의 예시적인 예를 들어, 센서는 환경에서 광의 양을 검출할 수 있다. 광의 양에 기초하여, 타겟 루마 값이 설정될 수 있다. 이러한 예에서, 타겟 루마 값에 대한 임계치들이 존재할 수 있다. 예를 들어, 광의 양이 특정 양 초과이면, 타겟 루마 값은 특정 양일 수 있다.
[0111] 프로세스(1600)는 이미지의 복수의 픽셀들을 복수의 픽셀 그룹들로 분할하는 것(1630)을 더 포함할 수 있다. 일부 예들에서, 픽셀 그룹은 픽셀들의 근접한(또는 인접한/접한) 그룹을 표현할 수 있다. 이러한 예들에서, 픽셀 그룹의 형상은 달라질 수 있다. 예를 들어, 각각의 픽셀 그룹은, 이미지가 행들 및 열들로 분할되도록 직사각형 또는 정사각형일 수 있다. 다른 예들에서, 각각의 픽셀 그룹은 이미지의 중심으로부터 특정 수의 픽셀들을 포함할 수 있다. 일부 예들에서, 상이한 픽셀 그룹들은 (예를 들어, 픽셀 그룹 객체를 포함하도록 생성되면) 상이한 형상들일 수 있다. 일부 예들에서, 픽셀 그룹들은 상이한 크기일 수 있다. 일부 예들에서, 픽셀 그룹은, 둘 이상의 픽셀 그룹들이 중첩하도록 배열될 수 있다.
[0112] 프로세스(1640)는 복수의 픽셀 그룹들 각각에 대해 픽셀 그룹 루마 값을 계산하는 것(1640)을 더 포함할 수 있다. 일부 예들에서, 픽셀 그룹에 대한 픽셀 그룹 루마 값은 픽셀 그룹의 각각의 픽셀에 대한 루마 값들의 평균을 포함할 수 있다. 다른 예들에서, 픽셀 그룹 루마 값은 픽셀 그룹의 각각의 픽셀에 대한 루마 값들의 합일 수 있다. 다른 예들에서, 픽셀 그룹 루마 값은 각각의 픽셀의 루마 값들과 이미지에 대한 평균 루마 값 사이의 차이일 수 있다. 예를 들어, 평균 루마 값은 모든 픽셀을 고려하여 이미지에 대해 컴퓨팅될 수 있다. 그 다음, 평균 루마 값은, 픽셀 그룹에 대해 평균 루마 값으로부터의 차이가 생성되도록 각각의 픽셀에 대한 차이를 컴퓨팅하기 위해 사용될 수 있다. 픽셀 그룹의 루마 값들의 다른 요약 값들이 사용될 수 있음을 인식해야 한다.
[0113] 프로세스(1600)는 이미지에서 위치를 식별하는 것(1650)을 더 포함할 수 있다. 위치는, 사용자가 이미지에 대응하는 환경(즉, 사용자가 위치된 물리적 영역)에서 보고있는 포인트에 대응할 수 있다. 예를 들어, 이미지는 사용자가 보고있는 일반적 방향에 대응할 수 있다. 위치는, 사용자가 실제로 보고있는 것으로 결정되는 이미지 내의 위치일 수 있다.
[0114] 일부 예들에서, 위치는 사용자의 하나 이상의 눈들의 눈 이미지에 기초하여 식별될 수 있다. 눈 이미지는 앞서 설명된 이미지와 별개일 수 있다. 이러한 예들에서, 눈 이미지는 사용자가 어디를 보고있는지를 식별하기 위해 분석될 수 있다. 예를 들어, 눈 이미지의 하나 이상의 픽셀들의 각각의 세트는 이미지의 하나 이상의 픽셀들의 상이한 세트에 대응하는 것으로 결정될 수 있다. 이러한 예에서, 눈 이미지 내의 하나 이상의 눈들이 눈 이미지의 하나 이상의 픽셀들의 특정 세트를 보고있는 것으로 결정되면, 이미지 내의 위치는 눈 이미지의 하나 이상의 픽셀들의 특정 세트에 대응하는 이미지의 하나 이상의 픽셀들의 세트로서 식별될 수 있다. 하나 초과의 눈 이미지가 사용될 수 있음을 인식해야 한다. 예를 들어, 제1 눈의 눈 이미지 및 제2 눈의 눈 이미지가 사용될 수 있다. 일부 예들에서, 위치는 이미지에서 식별된 객체의 위치에 대응할 수 있다. 사용자의 하나 이상의 눈들의 눈 이미지에 기초하여 사용자가 어디를 보고있는지를 식별하기 위한 다른 방법들이 사용될 수 있음을 또한 인식해야 한다.
[0115] 다른 예들에서, 위치는 사용자의 시선의 방향에 기초하여 식별될 수 있다. 이러한 예들에서, 사용자의 하나 이상의 눈들의 눈 이미지를 사용하는 것 대신에, 사용자가 착용한 디바이스의 배향이 사용될 수 있다. 하나의 예시적인 예에서, 배향은 피치(pitch), 요(yaw) 및 롤(roll)의 세트로부터 하나 이상을 포함할 수 있다. 이러한 예에서, 디바이스의 배향을 측정하는 센서(예를 들어, 자이로스코프)가 디바이스에 포함될 수 있다. 디바이스의 배향에 기초하여 사용자가 어디를 보고있는지를 식별하기 위한 다른 방법들이 사용될 수 있음을 인식해야 한다.
[0116] 프로세스(1600)는 식별된 위치에 기초하여 복수의 픽셀 그룹들 각각에 대한 가중치들을 설정하는 것(1660)을 더 포함할 수 있다. 예를 들어, 식별된 위치에 더 가까운 위치들에 대응하는 픽셀들의 그룹들은 식별된 위치로부터 더 멀리 있는 위치들에 대응하는 픽셀들의 그룹들보다 높은 가중치들로 설정될 수 있다. 가중치들은 다른 방법들에 따라 설정될 수 있음을 인식해야 한다. 도 6은 눈 가중치 어레이(690) 내의 픽셀 그룹들에 대해 설정된 가중치들을 예시한다.
[0117] 일부 예들에서, 프로세스(1600)는 이미지의 복수의 픽셀들을 복수의 패치들로 분할하는 것을 더 포함할 수 있고, 여기서 패치는 하나 이상의 픽셀 그룹들을 포함한다. 이러한 예들에서, 가중치들을 설정하는 단계는 위치를 포함하는 패치로부터의 거리에 추가로 기초할 수 있다. 도 6은 이미지의 복수의 픽셀들을 복수의 패치들로 분할하는 것을 예시한다. 예를 들어, 제1 패치는 제1 세트의 패치들(620)일 수 있고, 제2 패치는 제2 세트의 패치들(630)일 수 있고, 제3 패치는 제3 세트의 패치들(640)일 수 있고, 제4 패치는 제4 세트의 패치들(650)일 수 있다. 이미지는 도 6에 예시된 것보다 많거나 적은 세트들의 패치들로 분할될 수 있음을 인식해야 한다.
[0118] 프로세스(1600)는 복수의 픽셀 그룹들 각각에 대해, 가중치 및 픽셀 그룹 루마 값을 사용하여 이미지 루마 값을 계산하는 것(1670)을 더 포함할 수 있다. 일부 예들에서, 이미지 루마 값을 계산하는 것은 가중된 픽셀 그룹 루마 값들 각각을 합산하는 것을 포함할 수 있고, 여기서 가중된 픽셀 그룹 루마 값은 픽셀 그룹과 연관된 가중치를 픽셀 그룹과 연관된 루마 값과 곱함으로써 컴퓨팅될 수 있다.
[0119] 프로세스(1600)는, 이미지 루마 값과 타겟 루마 값 사이의 차이를 컴퓨팅하는 것(1680), 및 컴퓨팅된 차이에 기초하여 콘텐츠 캡처 디바이스의 세팅을 업데이트하는 것(1690)을 더 포함할 수 있다. 일부 예들에서, 세팅은 노출 세팅 또는 이득 세팅일 수 있다. 이러한 예들에서, 노출 세팅은 셔터 속도, ISO 속도 또는 이들의 임의의 조합일 수 있다. 일부 예들에서, 셔터 속도는 글로벌 셔터 또는 롤링 셔터일 수 있다. 글로벌 셔터는 시야의 모든 픽셀들을 노출시키기 위한 시간의 지속기간을 표시할 수 있다. 롤링 셔터는 시야의 (수평으로 또는 수직으로) 행을 노출시키기 위한 시간의 지속기간을 표시할 수 있다. 롤링 셔터에서, 이미지의 라인들은 시야의 스냅샷보다는 롤링 방식으로 스캔될 수 있다. 이득 세팅은 디지털 이득, 아날로그 이득 또는 이들의 임의의 조합일 수 있다. 예를 들어, 이득 세팅은 2x의 아날로그 이득 및 4x의 디지털 이득을 가짐으로써 8x일 수 있다. 일부 예들에서, 노출 세팅은 노출을 증가시키는 경우 이득 세팅 전에 조절될 수 있다. 이러한 예들에서, 이득 세팅은 노출을 감소시키는 경우 노출 세팅 전에 조절될 수 있다. 일부 예들에서, 조절의 양은 차이에 비례할 수 있다. 예를 들어, 조절은, 이미지 루마 값과 타겟 루마 값 사이의 차이가 더 크면, 더 클 수 있다.
[0120] 도 7은 이미지(720)에 대한 정규화된 총 가중치 어레이(730)의 예를 예시한다. 상기와 유사하게, 가중치 스케일(710)은 특정 가중치들에 대한 키가 되도록 제공되었다. 일부 예들에서, 정규화된 총 가중치 어레이(730)는 둘 이상의 가중치 어레이들의 조합일 수 있다. 이러한 예들에서, 둘 이상의 가중치 어레이들은 앞서 설명된 방법들(예를 들어, 계측, 시선, 포커스 레티클 등)을 포함하는 임의의 방법에 기초하여 생성될 수 있다.
[0121] 일부 예들에서, 정규화된 총 가중치 어레이(730)는 이미지(720)에 기초할 수 있다. 이러한 예들에서, 하나 이상의 객체들(예를 들어, 여성(722), 어린이(724), 고양이(726), 장난감 집(728) 및 장난감 트럭(729))이 이미지(720)에서 식별될 수 있다. 하나 이상의 객체들을 식별하는 것에 기초하여, 하나 이상의 가중치 어레이들이 생성될 수 있다.
[0122] 예를 들어, 객체 우선순위 가중치 어레이(740)(우선순위 가중치 어레이(420)와 유사함)가 생성될 수 있다. 객체 우선순위 가중치 어레이(740)는 하나 이상의 객체들을 포함하는 픽셀 그룹들에 가중치들을 할당할 수 있다. 일부 예들에서, 가중치들은 도 3에 대해 앞서 설명된 바와 같은 표에 기초할 수 있다. 예를 들어, 사람들은 동물들보다 더 높은 가중치와 연관될 수 있다. 따라서, 여성(722) 및 어린이(724)를 포함하는 픽셀 그룹들에는 고양이(726)를 포함하는 픽셀 그룹들보다 높은 가중치가 부여될 수 있다. 또한, 장난감들은 동물들보다 낮은 가중치와 연관될 수 있고, 따라서 장난감 집(728) 및 장난감 트럭(729)을 포함하는 픽셀 그룹들은 고양이(726)를 포함하는 픽셀 그룹들보다 낮은 가중치를 가질 수 있다. 식별된 객체를 포함하지 않는 다른 픽셀 그룹들은 장난감들보다 낮은 가중치를 가질 수 있다. 예를 들어, 도 7의 예시는 다른 픽셀 그룹들을 0의 가중치를 갖도록 도시하지만; 가중치는 넌-제로일 수 있다.
[0123] 다른 예를 들어, 하나 이상의 식별된 객체들을 사용하여 객체 거리 가중치 어레이(750)가 생성될 수 있다. 이러한 예에서, 객체 거리 가중치 어레이(750)는 깊이 맵에 추가로 기초할 수 있다. 깊이 맵은 이미지(또는 이미지들의 세트)로부터 생성될 수 있고, 각각의 픽셀의 깊이를 설명할 수 있다. 깊이 맵을 사용하여, 식별된 객체가 깊이와 연관될 수 있다. 그 다음, 이미지 소스(예를 들어, 이미지(720)를 취한 콘텐츠 캡처 디바이스)에 더 가까운 객체들에 더 높은 가중치가 할당될 수 있다.
[0124] 예를 들어, 장난감 집(728)의 픽셀 그룹들에 가장 높은 가중치가 부여될 수 있는데, 이는 장난감 집이 가장 가까운 객체이기 때문이다. 여성(722), 어린이(724) 및 고양이(726)의 픽셀 그룹들에는 장난감 집(728)에 대한 가중치 미만의 유사한 가중치가 할당될 수 있는데, 이는 이러한 객체들이 이미지 소스로부터 대략 동일한 거리에 있지만 장난감 집(728)보단 멀리 있기 때문이다. 유사하게, 장난감 트럭(729)의 픽셀 그룹들에는 식별된 객체들 중 가장 작은 가중치가 할당될 수 있는데, 이는 장난감 트럭(729)이 가장 멀리 있는 객체이기 때문이다. 일부 예들에서, 객체를 포함하지 않는 다른 픽셀 그룹들에는 제로의 가중치, 또는 객체들의 픽셀 그룹들에 할당된 가중치들 미만의 일부 다른 넌-제로 가중치가 할당될 수 있다.
[0125] 다른 예들에서, 각각의 픽셀 그룹에는, 객체가 식별되는지 여부와 무관하게 가중치가 할당될 수 있다. 이러한 예들에서, 객체들은 식별될 필요가 없는데, 이는 각각의 가중치가 깊이 맵의 값에 대응할 수 있기 때문이다. 거리에 기초하여 객체들을 가중하기 위한 다른 방법들이 사용될 수 있음을 인식해야 한다.
[0126] 다른 예를 들어, 하나 이상의 식별된 객체들을 사용하여 객체 크기 가중치 어레이(760)가 생성될 수 있다. 객체의 크기가 몇몇 상이한 방식들로 컴퓨팅될 수 있지만, 객체의 크기를 결정하는 하나의 방식은 객체에 대한 객체 크기 가중치 어레이(760)에서 식별된 픽셀 그룹의 수를 카운팅하는 것이다.
[0127] 일부 예들에서, 각각의 식별된 객체의 크기를 컴퓨팅한 후, 각각의 식별된 객체의 픽셀 그룹들에는 이의 크기에 비례하는 가중치가 할당될 수 있다. 예를 들어, 장난감 집(728)에는 가장 큰 가중치가 부여될 수 있는데, 이는 장난감 집이 가장 큰 객체이기 때문이다. 하나의 예시적인 예에서, 여성(722), 어린이(724) 및 장난감 트럭(729) 모두에는 동일한 가중치가 부여될 수 있는데, 이는 이들 모두가 유사한 크기들이기 때문이다. 그리고, 고양이(726)에는 가장 작은 가중치가 부여될 수 있는데, 이는 고양이가 가장 작기 때문이다. 식별된 객체를 포함하지 않는 다른 픽셀 그룹들에는 제로 가중치 또는 식별된 객체에 대한 가장 작은 가중치보다 작은 넌-제로 가중치가 부여될 수 있다.
[0128] 다른 예들에서, 각각의 식별된 객체의 크기를 컴퓨팅한 후, 각각의 식별된 객체의 픽셀 그룹들에는 식별된 객체에 대해 식별된 각각의 픽셀 그룹에 대한 가중치의 소정 퍼센티지가 부여될 수 있다. 예를 들어, 각각의 픽셀 그룹이 .1 가중치의 가치가 있으면, 4개의 픽셀 그룹들을 갖는 객체는 .4 가중치일 것이다. 다른 예들에서, 각각의 픽셀 그룹이 갖는 가중치의 양은 가장 큰 객체의 소정 퍼센티지일 수 있다. 예를 들어, 가장 큰 객체에는 1의 가중치가 부여될 수 있다. 그리고, 그 객체가 10개의 픽셀 그룹들의 크기이면, 5개의 픽셀 그룹들을 갖는 객체에는 .5 가중치가 부여될 수 있다. 크기에 기초하여 객체들을 가중하기 위한 다른 방법들이 사용될 수 있음을 인식해야 한다.
[0129] 다른 예를 들어, 도 2에 설명된 바와 같이, 하나 이상의 계측 가중치 어레이들이 생성될 수 있다. 하나의 예시적인 예에서, 중심 계측 가중치 어레이(770)(중심 계측 가중치 어레이(230)와 유사함)가 생성될 수 있다.
[0130] 다른 예를 들어, 눈 시선 가중치 어레이(790)(눈 시선 가중치 어레이(690)와 유사함)가 생성될 수 있다.
[0131] 일부 예들에서, 이미지(720)는 또한 도 4에 대해 설명된 바와 같은 포커스 레티클과 연관된 정보를 포함할 수 있다. 포커스 레티클은 단독으로 또는 식별된 객체들과 조합하여, 포커스 레티클 가중치 어레이(780)(포커스 레티클 가중치 어레이(530)와 유사함)를 생성하기 위해 사용될 수 있다.
[0132] 앞서 설명된 바와 같이, 둘 이상의 가중치 어레이들이 생성된 후, 둘 이상의 가중치 어레이들은 정규화된 총 가중치 어레이(730)를 생성하도록 조합될 수 있다. 예를 들어, 복수의 가중치 어레이들에 걸친 픽셀 그룹에 대한 가중치들은 픽셀 그룹에 대한 업데이트된 가중치를 생성하도록 조합될 수 있다(예를 들어 함께 곱해질 수 있다). 정규화된 총 가중치 어레이(730)는 도 1에 대해 앞서 설명된 바와 같이, 가중된 루마 픽셀 그룹들을 컴퓨팅하기 위해 평균 루마 픽셀 그룹 값들과 조합될 수 있다. 일부 예들에서, 정규화된 총 가중치 어레이(730)는 로서 표현될 수 있고: 여기서 Nw는 가중치 어레이들의 수이다. 일부 예들에서, 총 가중치 어레이의 정규화는, 총 가중치 어레이가 1의 값을 갖는 가장 큰 가중치 및 wT[r,c](예를 들어, 0)의 최소값을 갖는 가장 작은 가중치에 따라 스케일링되도록 수행될 수 있다. 일부 예들에서, 정규화는 스킵될 수 있는데, 이는, 총 가중치 어레이의 합산을 나눔으로써, 가중된 루마 평균이 결과들을 자동으로 스케일링하기 때문이다.
[0133] 도 8은 제1 가중 모델을 사용하는 자동 노출 제어에 대한 프로세스의 실시예를 예시하는 흐름도이다. 일부 양상들에서, 프로세스(800)는 컴퓨팅 디바이스에 의해 수행될 수 있다.
[0134] 프로세스(800)는 로직 흐름도로서 예시되고, 로직 흐름도의 동작은 하드웨어, 컴퓨터 명령들 또는 이들의 조합으로 구현될 수 있는 동작들의 시퀀스를 표현한다. 컴퓨터 명령들의 맥락에서, 동작들은, 하나 이상의 프로세서들에 의해 실행되는 경우 인용된 동작들을 수행하는, 하나 이상의 컴퓨터 판독가능 저장 매체들 상에 저장된 컴퓨터 실행가능 명령들을 표현한다. 일반적으로, 컴퓨터 실행가능 명령들은 특정한 기능들을 수행하거나 특정한 데이터 타입들을 구현하는 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 등을 포함한다. 동작들이 설명되는 순서는 제한으로 해석되도록 의도되지 않으며, 임의의 수의 설명되는 동작들은 프로세스들을 구현하도록 임의의 순서로 및/또는 병렬적으로 조합될 수 있다.
[0135] 추가적으로, 프로세스(800)는 실행가능한 명령들로 구성된 하나 이상의 컴퓨터 시스템들의 제어 하에서 수행될 수 있고, 하나 이상의 프로세서들 상에서, 하드웨어에 의해, 또는 이들의 조합들로 집합적으로 실행되는 코드(예를 들어, 실행가능한 명령들, 하나 이상의 컴퓨터 프로그램들 또는 하나 이상의 애플리케이션들)로서 구현될 수 있다. 앞서 언급된 바와 같이, 코드는 예를 들어, 하나 이상의 프로세서들에 의해 실행가능한 복수의 명령들을 포함하는 컴퓨터 프로그램의 형태로, 머신 판독가능 저장 매체 상에 저장될 수 있다. 머신 판독가능 저장 매체는 비일시적일 수 있다.
[0136] 프로세스(800)는 콘텐츠 캡처 디바이스에 의해 캡처된 이미지를 수신하는 것(805)을 포함할 수 있다. 일부 예들에서, 이미지는 복수의 픽셀들을 포함할 수 있다. 일부 예들에서, 이미지는 카메라 또는 다른 콘텐츠 캡처 디바이스로부터 수신될 수 있다. 다른 예들에서, 이미지는 이미지들의 피드(또는 스트림)으로부터 수신될 수 있다. 이러한 예들에서, 피드는 현재 또는 과거 이미지들일 수 있다.
[0137] 프로세스(800)는 이미지에 대한 타겟 루마 값을 식별하는 것(810)을 더 포함할 수 있다. 일부 예들에서, 타겟 루마 값은 이미지에 대한 루마의 최적의 양을 표시할 수 있다. 이러한 예들에서, 이미지의 각각의 픽셀은 루마 값과 연관될 수 있다. 일부 예들에서, 타겟 루마 값은 이미지의 루마 값들의 평균에 대응할 수 있다. 다른 예들에서, 타겟 루마 값은 이미지의 루마 값들의 가중된 평균에 대응할 수 있다. 다른 예들에서, 타겟 루마 값은 가중치 어레이를 루마 값들과 곱하는 것으로부터 얻어질 수들에 대응할 수 있다.
[0138] 일부 예들에서, 타겟 루마 값이 미리 정의될 수 있다. 다른 예들에서, 타겟 루마 값은 하나 이상의 센서들에 기초하여 결정될 수 있다. 하나의 예시적인 예를 들어, 센서는 환경에서 광의 양을 검출할 수 있다. 광의 양에 기초하여, 타겟 루마 값이 설정될 수 있다. 이러한 예에서, 타겟 루마 값에 대한 임계치들이 존재할 수 있다. 예를 들어, 광의 양이 특정 양 초과이면, 타겟 루마 값은 특정 양일 수 있다.
[0139] 프로세스(800)는 이미지에서 객체를 식별하는 것(815)을 더 포함할 수 있다. 일부 예들에서, 객체는 객체 식별 시스템을 사용하여 식별될 수 있다. 이러한 예들에서, 객체 식별 시스템은 객체의 타입(예를 들어, 사람, 동물, 건물 등)을 식별할 수 있다. 다른 예들에서, 객체 식별 시스템은, 단지 객체의 타입보다 더 많은 것(예를 들어, 객체가 Bill Nye인 것)을 표시하는 객체의 하나 이상의 속성들을 식별할 수 있다. 일부 예들에서, 객체 식별 시스템은 객체가 다른 시스템(예를 들어, 가상 객체를 어디에 배치할지를 결정하고 있는 혼합 현실 시스템)에 의해 프로세싱되고 있는지 여부를 식별할 수 있다.
[0140] 프로세스(800)는 이미지의 복수의 픽셀들을 복수의 픽셀 그룹들로 분할하는 것(820)을 더 포함할 수 있다. 일부 예들에서, 픽셀 그룹은 픽셀들의 근접한(또는 인접한/접한) 그룹을 표현할 수 있다. 이러한 예들에서, 픽셀 그룹의 형상은 달라질 수 있다. 예를 들어, 각각의 픽셀 그룹은, 이미지가 행들 및 열들로 분할되도록 직사각형 또는 정사각형일 수 있다. 다른 예들에서, 각각의 픽셀 그룹은 이미지의 중심으로부터 특정 수의 픽셀들을 포함할 수 있다. 일부 예들에서, 상이한 픽셀 그룹들은 (예를 들어, 픽셀 그룹 객체를 포함하도록 생성되면) 상이한 형상들일 수 있다. 일부 예들에서, 픽셀 그룹들은 상이한 크기일 수 있다. 일부 예들에서, 픽셀 그룹은, 둘 이상의 픽셀 그룹들이 중첩하도록 배열될 수 있다.
[0141] 프로세스(800)는 복수의 픽셀 그룹들 각각에 대해 픽셀 그룹 루마 값을 계산하는 것(825)을 더 포함할 수 있다. 일부 예들에서, 픽셀 그룹에 대한 픽셀 그룹 루마 값은 픽셀 그룹의 각각의 픽셀에 대한 루마 값들의 평균을 포함할 수 있다. 다른 예들에서, 픽셀 그룹 루마 값은 픽셀 그룹의 각각의 픽셀에 대한 루마 값들의 합일 수 있다. 다른 예들에서, 픽셀 그룹 루마 값은 각각의 픽셀의 루마 값들과 이미지에 대한 평균 루마 값 사이의 차이일 수 있다. 예를 들어, 평균 루마 값은 모든 픽셀을 고려하여 이미지에 대해 컴퓨팅될 수 있다. 그 다음, 평균 루마 값은, 픽셀 그룹에 대해 평균 루마 값으로부터의 차이가 생성되도록 각각의 픽셀에 대한 차이를 컴퓨팅하기 위해 사용될 수 있다. 픽셀 그룹의 루마 값들의 다른 요약 값들이 사용될 수 있음을 인식해야 한다.
[0142] 프로세스(800)는 객체와 연관되지 않은 제1 세트의 픽셀 그룹들을 정의하는 것(830)을 더 포함할 수 있다. 일부 예들에서, 제1 세트의 픽셀 그룹들은 하나 이상의 다른 객체들을 포함할 수 있고 그리고/또는 어떠한 객체들도 포함하지 않을 수 있다. 일부 예들에서, 객체와 연관되지 않은 것은, 객체로서 식별된 하나 이상의 픽셀들 중의 픽셀이 제1 세트의 픽셀 그룹들에 포함되지 않은 것을 표시할 수 있다.
[0143] 프로세스(800)는 제1 세트의 픽셀 그룹들 내의 픽셀 그룹들 각각에 대한 가중치들을 설정하는 것(835)을 더 포함할 수 있다. 일부 예들에서, 제1 세트의 픽셀 그룹들 내의 픽셀 그룹들 각각에 대한 가중치들은 도 3에 대해 앞서 설명된 바와 같은 표에 기초할 수 있다. 다른 예들에서, 제1 세트의 픽셀 그룹들 내의 픽셀 그룹들 각각의 가중치들은 자동으로 제로로 설정될 수 있는데, 이는 객체가 픽셀 그룹들에 포함되지 않기 때문이다. 객체가 없는 픽셀 그룹의 가중치를 결정하는 다른 방식들이 사용될 수 있음을 인식해야 한다.
[0144] 프로세스(800)는 객체와 연관된 제2 세트의 픽셀 그룹들을 정의하는 것(840)을 더 포함할 수 있다. 일부 예들에서, 객체와 연관되는 것은, 객체로서 식별된 하나 이상의 픽셀들 중의 픽셀이 제2 세트의 픽셀 그룹들에 포함되는 것을 표시할 수 있다.
[0145] 프로세스(800)는 제2 세트의 픽셀 그룹들 내의 픽셀 그룹들 각각에 대한 가중치들을 설정하는 것(845)을 더 포함할 수 있다. 앞서 설명된 것과 유사하게, 제2 세트의 픽셀 그룹들 내의 픽셀 그룹들 각각에 대한 가중치들은 도 3에 대해 앞서 설명된 바와 같은 표에 기초할 수 있다. 다른 예들에서, 제2 세트의 픽셀 그룹들 내의 픽셀 그룹들 각각의 가중치들은 자동으로 1로 설정될 수 있는데, 이는 객체가 픽셀 그룹들에 포함되기 때문이다. 객체를 갖는 픽셀 그룹의 가중치를 결정하는 다른 방식들이 사용될 수 있음을 인식해야 한다.
[0146] 프로세스(800)는 복수의 픽셀 그룹들 각각에 대해, 가중치 및 픽셀 그룹 루마 값을 사용하여 이미지 루마 값을 계산하는 것(850)을 더 포함할 수 있다. 일부 예들에서, 이미지 루마 값을 계산하는 것은 가중된 픽셀 그룹 루마 값들 각각을 합산하는 것을 포함할 수 있고, 여기서 가중된 픽셀 그룹 루마 값은 픽셀 그룹과 연관된 가중치를 픽셀 그룹과 연관된 루마 값과 곱함으로써 컴퓨팅될 수 있다.
[0147] 프로세스(800)는, 이미지 루마 값과 타겟 루마 값 사이의 차이를 컴퓨팅하는 것(855), 및 컴퓨팅된 차이에 기초하여 콘텐츠 캡처 디바이스의 세팅을 업데이트하는 것(860)을 더 포함할 수 있다. 일부 예들에서, 세팅은 노출 세팅 또는 이득 세팅일 수 있다. 이러한 예들에서, 노출 세팅은 셔터 속도, ISO 속도 또는 이들의 임의의 조합일 수 있다. 일부 예들에서, 셔터 속도는 글로벌 셔터 또는 롤링 셔터일 수 있다. 글로벌 셔터는 시야의 모든 픽셀들을 노출시키기 위한 시간의 지속기간을 표시할 수 있다. 롤링 셔터는 시야의 (수평으로 또는 수직으로) 행을 노출시키기 위한 시간의 지속기간을 표시할 수 있다. 롤링 셔터에서, 이미지의 라인들은 시야의 스냅샷보다는 롤링 방식으로 스캔될 수 있다. 이득 세팅은 디지털 이득, 아날로그 이득 또는 이들의 임의의 조합일 수 있다. 예를 들어, 이득 세팅은 2x의 아날로그 이득 및 4x의 디지털 이득을 가짐으로써 8x일 수 있다. 일부 예들에서, 노출 세팅은 노출을 증가시키는 경우 이득 세팅 전에 조절될 수 있다. 이러한 예들에서, 이득 세팅은 노출을 감소시키는 경우 노출 세팅 전에 조절될 수 있다. 일부 예들에서, 조절의 양은 차이에 비례할 수 있다. 예를 들어, 조절은, 이미지 루마 값과 타겟 루마 값 사이의 차이가 더 크면, 더 클 수 있다.
[0148] 도 1에 대해 앞서 설명된 가중된 루마 평균 수식을 사용하여, 가중치와 연관된 어레이를 단일값(unity)으로 설정함으로써 제1 가중 모델에 대한 특정 가중치는 디스에이블될 수 있다.
[0149] 도 17은 깊이 맵을 사용하는 자동 노출 제어에 대한 프로세스(1700)의 실시예를 예시하는 흐름도이다. 깊이 맵은 하나 이상의 거리들을 포함할 수 있고, 여기서 거리는 하나 이상의 거리들 각각에 대한 단일 포인트로부터 측정된다. 하나 이상의 픽셀들에 포함된 콘텐츠가 단일 포인트로부터 떨어져 있는 거리를 각각의 거리가 표시하도록, 각각의 거리는 이미지 내의 하나 이상의 픽셀들에 대응할 수 있다.
[0150] 일부 양상들에서, 프로세스(1700)는 컴퓨팅 디바이스(예를 들어, 카메라와 같은 콘텐츠 캡처 디바이스)에 의해 수행될 수 있다. 프로세스(1700)는 로직 흐름도로서 예시되고, 로직 흐름도의 동작은 하드웨어, 컴퓨터 명령들 또는 이들의 조합으로 구현될 수 있는 동작들의 시퀀스를 표현한다. 컴퓨터 명령들의 맥락에서, 동작들은, 하나 이상의 프로세서들에 의해 실행되는 경우 인용된 동작들을 수행하는, 하나 이상의 컴퓨터 판독가능 저장 매체들 상에 저장된 컴퓨터 실행가능 명령들을 표현한다. 일반적으로, 컴퓨터 실행가능 명령들은 특정한 기능들을 수행하거나 특정한 데이터 타입들을 구현하는 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 등을 포함한다. 동작들이 설명되는 순서는 제한으로 해석되도록 의도되지 않으며, 임의의 수의 설명되는 동작들은 프로세스들을 구현하도록 임의의 순서로 및/또는 병렬적으로 조합될 수 있다.
[0151] 추가적으로, 프로세스(1700)는 실행가능한 명령들로 구성된 하나 이상의 컴퓨터 시스템들의 제어 하에서 수행될 수 있고, 하나 이상의 프로세서들 상에서, 하드웨어에 의해, 또는 이들의 조합들로 집합적으로 실행되는 코드(예를 들어, 실행가능한 명령들, 하나 이상의 컴퓨터 프로그램들 또는 하나 이상의 애플리케이션들)로서 구현될 수 있다. 앞서 언급된 바와 같이, 코드는 예를 들어, 하나 이상의 프로세서들에 의해 실행가능한 복수의 명령들을 포함하는 컴퓨터 프로그램의 형태로, 머신 판독가능 저장 매체 상에 저장될 수 있다. 머신 판독가능 저장 매체는 비일시적일 수 있다.
[0152] 프로세스(1700)는 콘텐츠 캡처 디바이스에 의해 캡처된 이미지를 수신하는 것(1710)을 포함할 수 있다. 일부 예들에서, 이미지는 복수의 픽셀들을 포함할 수 있다. 일부 예들에서, 이미지는 카메라 또는 다른 콘텐츠 캡처 디바이스로부터 수신될 수 있다. 다른 예들에서, 이미지는 이미지들의 피드(또는 스트림)으로부터 수신될 수 있다. 이러한 예들에서, 피드는 현재 또는 과거 이미지들일 수 있다.
[0153] 프로세스(1700)는 이미지에 대한 타겟 루마 값을 식별하는 것(1720)을 더 포함할 수 있다. 일부 예들에서, 타겟 루마 값은 이미지에 대한 루마의 최적의 양을 표시할 수 있다. 이러한 예들에서, 이미지의 각각의 픽셀은 루마 값과 연관될 수 있다. 일부 예들에서, 타겟 루마 값은 이미지의 루마 값들의 평균에 대응할 수 있다. 다른 예들에서, 타겟 루마 값은 이미지의 루마 값들의 가중된 평균에 대응할 수 있다. 다른 예들에서, 타겟 루마 값은 가중치 어레이를 루마 값들과 곱하는 것으로부터 얻어질 수들에 대응할 수 있다.
[0154] 일부 예들에서, 타겟 루마 값이 미리 정의될 수 있다. 다른 예들에서, 타겟 루마 값은 하나 이상의 센서들에 기초하여 결정될 수 있다. 하나의 예시적인 예를 들어, 센서는 환경에서 광의 양을 검출할 수 있다. 광의 양에 기초하여, 타겟 루마 값이 설정될 수 있다. 이러한 예에서, 타겟 루마 값에 대한 임계치들이 존재할 수 있다. 예를 들어, 광의 양이 특정 양 초과이면, 타겟 루마 값은 특정 양일 수 있다.
[0155] 프로세스(1700)는 이미지의 복수의 픽셀들을 복수의 픽셀 그룹들로 분할하는 것(1730)을 더 포함할 수 있다. 일부 예들에서, 픽셀 그룹은 픽셀들의 근접한(또는 인접한/접한) 그룹을 표현할 수 있다. 이러한 예들에서, 픽셀 그룹의 형상은 달라질 수 있다. 예를 들어, 각각의 픽셀 그룹은, 이미지가 행들 및 열들로 분할되도록 직사각형 또는 정사각형일 수 있다. 다른 예들에서, 각각의 픽셀 그룹은 이미지의 중심으로부터 특정 수의 픽셀들을 포함할 수 있다. 일부 예들에서, 상이한 픽셀 그룹들은 (예를 들어, 픽셀 그룹 객체를 포함하도록 생성되면) 상이한 형상들일 수 있다. 일부 예들에서, 픽셀 그룹들은 상이한 크기일 수 있다. 일부 예들에서, 픽셀 그룹은, 둘 이상의 픽셀 그룹들이 중첩하도록 배열될 수 있다.
[0156] 프로세스(1740)는 복수의 픽셀 그룹들 각각에 대해 픽셀 그룹 루마 값을 계산하는 것(1740)을 더 포함할 수 있다. 일부 예들에서, 픽셀 그룹에 대한 픽셀 그룹 루마 값은 픽셀 그룹의 각각의 픽셀에 대한 루마 값들의 평균을 포함할 수 있다. 다른 예들에서, 픽셀 그룹 루마 값은 픽셀 그룹의 각각의 픽셀에 대한 루마 값들의 합일 수 있다. 다른 예들에서, 픽셀 그룹 루마 값은 각각의 픽셀의 루마 값들과 이미지에 대한 평균 루마 값 사이의 차이일 수 있다. 예를 들어, 평균 루마 값은 모든 픽셀을 고려하여 이미지에 대해 컴퓨팅될 수 있다. 그 다음, 평균 루마 값은, 픽셀 그룹에 대해 평균 루마 값으로부터의 차이가 생성되도록 각각의 픽셀에 대한 차이를 컴퓨팅하기 위해 사용될 수 있다. 픽셀 그룹의 루마 값들의 다른 요약 값들이 사용될 수 있음을 인식해야 한다.
[0157] 프로세스(1700)는 이미지에 대응하는 깊이 맵을 수신하는 것(1750)을 더 포함할 수 있다. 앞서 설명된 바와 같이, 깊이 맵은 하나 이상의 거리들을 포함할 수 있고, 여기서 거리는 하나 이상의 거리들 각각에 대한 단일 포인트로부터 측정된다. 하나 이상의 픽셀들에 포함된 콘텐츠가 단일 포인트로부터 떨어져 있는 거리를 각각의 거리가 표시하도록, 각각의 거리는 이미지 내의 하나 이상의 픽셀들에 대응할 수 있다.
[0158] 일부 예들에서, 깊이 맵은 앞서 설명된 이미지 캡처와 동시에 캡처될 수 있다. 예를 들어, 콘텐츠 캡처 디바이스에 대한 세팅을 결정하는데 사용하기 위한 이미지가 캡처될 때마다, 깊이 맵이 또한 캡처될 수 있다. 다른 예들에서, 깊이 맵이 다수의 이미지들에 대한 가중치들을 설정하기 위해 사용될 수 있도록, 깊이 맵은 이미지가 캡처되기 전에 어떠한 포인트에서 캡처될 수 있다. 이러한 예들에서, 깊이 맵들은 이미지가 캡처된 배향에 기초하여 사용될 수 있다. 예를 들어, 하나 이상의 깊이 맵들 각각은 상이한 배향에 대응할 수 있다. 이미지가 특정 배향에서 취해지는 경우, 특정 배향에 대응하는 깊이 맵(또는 깊이 맵의 일부)은, 콘텐츠 캡처 디바이스에 대한 세팅을 결정하기 위해 사용될 가중치들을 설정하는 경우에 사용될 수 있다.
[0159] 도 7을 참조하면, 깊이 맵은, 여성(722), 어린이(724), 고양이(726), 장난감 집(728) 및 장난감 트럭(729) 각각이 콘텐츠 캡처 디바이스로부터 떨어져 있는 거리를 표시할 수 있다. 거리가 객체보다는 오히려 픽셀에 대한 것이 되도록 거리들은 객체 기반이 아닌 픽셀 기반일 수 있음을 인식해야 한다. 깊이 맵은 앞서 설명된 것과 상이한 방식들로 깊이들을 표시할 수 있음을 또한 인식해야 한다.
[0160] 프로세스(1700)는 깊이 맵에 기초하여 복수의 픽셀 그룹들 각각에 대한 가중치들을 설정하는 것(1760)을 더 포함할 수 있다. 가중치들은, 하나 이상의 픽셀들의 더 가까운 세트들이 더 멀리 떨어진 하나 이상의 픽셀들의 세트들보다 높도록 설정될 수 있다. 일부 예들에서, 가중치들을 설정하는 단계는 이미지로부터의 객체의 위치를 표시하는 데이터에 추가로 기초할 수 있다. 예를 들어, 도 7에 예시된 바와 같이, 객체 거리 가중치 어레이(750) 내의 가중치들은, 객체와 연관된 것으로 식별된 픽셀들에만 가중치가 부여되도록 설정된다. 다른 픽셀들은 제로 이상의 상이한 가중치들로 설정될 수 있음을 인식해야 한다. 일부 예들에서, 객체의 위치를 표시하는 데이터는 객체의 저장된 이미지의 하나 이상의 픽셀들에 매칭하는, 이미지의 하나 이상의 픽셀들을 식별하기 위해 이미지의 픽셀들을 분석함으로써 결정된다. 거리 가중치 어레이는 가중치들을 설정한 결과일 수 있고, 거리 가중치 어레이는 이미지에서 식별된 객체들에 기초하지 않음을 또한 인식해야 한다. 깊이 맵을 사용하여 가중치들을 설정하기 위한, 앞서 설명된 것과 다른 방법들이 사용될 수 있음을 또한 인식해야 한다.
[0161] 프로세스(1700)는 복수의 픽셀 그룹들 각각에 대해, 가중치 및 픽셀 그룹 루마 값을 사용하여 이미지 루마 값을 계산하는 것(1770)을 더 포함할 수 있다. 일부 예들에서, 이미지 루마 값을 계산하는 것은 가중된 픽셀 그룹 루마 값들 각각을 합산하는 것을 포함할 수 있고, 여기서 가중된 픽셀 그룹 루마 값은 픽셀 그룹과 연관된 가중치를 픽셀 그룹과 연관된 루마 값과 곱함으로써 컴퓨팅될 수 있다.
[0162] 프로세스(1700)는, 이미지 루마 값과 타겟 루마 값 사이의 차이를 컴퓨팅하는 것(1780), 및 컴퓨팅된 차이에 기초하여 콘텐츠 캡처 디바이스의 세팅을 업데이트하는 것(1790)을 더 포함할 수 있다. 일부 예들에서, 세팅은 노출 세팅 또는 이득 세팅일 수 있다. 이러한 예들에서, 노출 세팅은 셔터 속도, ISO 속도 또는 이들의 임의의 조합일 수 있다. 일부 예들에서, 셔터 속도는 글로벌 셔터 또는 롤링 셔터일 수 있다. 글로벌 셔터는 시야의 모든 픽셀들을 노출시키기 위한 시간의 지속기간을 표시할 수 있다. 롤링 셔터는 시야의 (수평으로 또는 수직으로) 행을 노출시키기 위한 시간의 지속기간을 표시할 수 있다. 롤링 셔터에서, 이미지의 라인들은 시야의 스냅샷보다는 롤링 방식으로 스캔될 수 있다. 이득 세팅은 디지털 이득, 아날로그 이득 또는 이들의 임의의 조합일 수 있다. 예를 들어, 이득 세팅은 2x의 아날로그 이득 및 4x의 디지털 이득을 가짐으로써 8x일 수 있다. 일부 예들에서, 노출 세팅은 노출을 증가시키는 경우 이득 세팅 전에 조절될 수 있다. 이러한 예들에서, 이득 세팅은 노출을 감소시키는 경우 노출 세팅 전에 조절될 수 있다. 일부 예들에서, 조절의 양은 차이에 비례할 수 있다. 예를 들어, 조절은, 이미지 루마 값과 타겟 루마 값 사이의 차이가 더 크면, 더 클 수 있다.
[0163] 도 9는 자동 노출 제어(AEC)에 사용되는 제2 가중 모델의 제1 부분의 예를 예시한다. 일부 예들에서, 제2 가중 모델은 이미지의 각각의 객체를 이미지 내의 다른 모든 것과 독립적으로 취급할 수 있다. 이러한 예들에서, 학습 기반 모델(예를 들어, 신경 네트워크, 클러스터링 등)은 이미지의 각각의 객체(또는 객체들의 서브세트)에 대해 사용될 수 있다. 학습 기반 모델은 객체에 대한 각각의 픽셀 그룹에 대한 가중치로서 사용될 값을 출력할 수 있다. 이미지의 각각의 객체에 대해 가중치가 생성된 후, 각각의 객체에 대한 가중치 어레이들의 각각의 가중치 어레이를 합산함으로써 최종 가중치 어레이가 생성될 수 있다. 이는 제1 가중 모델과 상이하며, 여기서 가중치 어레이들을 함께 곱한다. 다른 예들에서, 학습 기반 모델은 객체의 각각의 픽셀 그룹에 대해 사용될 수 있다. 이러한 예들에서, 프로세스의 나머지는, 객체의 모든 픽셀 그룹에 대해 사용되는 단일 값을 갖기 보다는 각각의 픽셀 그룹에 대한 값이 컴퓨팅될 것을 제외하면, 각각의 객체에 대해 학습 기반 모델을 갖는 것과 유사하게 수행될 것이다. 다른 예들에서, 학습 기반 모델은 객체에 대한 각각의 가중치(예를 들어, 객체 거리, 객체 우선순위, 계측 등)에 대해 사용될 수 있다. 이러한 예들에서, 단일 객체에 대한 가중치들은 제1 가중치 모델에 대해 앞서 논의된 바와 같이 조합될 필요가 있을 것이다. 각각의 객체에 대한 가중치들이 조합된 후, 프로세스의 나머지는 제2 가중 모델이 계속됨에 따라 계속될 수 있다.
[0164] 하나의 예시적인 예에서, 제2 가중 모델은 가중치 어레이를 결정하기 위해 하나 이상의 신경 네트워크들(예를 들어, 다중 계층 퍼셉트론)을 활용할 수 있다. 일부 예들에서, 제2 가중치 모델은 이미지 내의 하나 이상의 식별된 객체들 각각에 대해 신경 네트워크를 생성할 수 있다. 이러한 예들에서, 신경 네트워크에 대한 입력들은 가중치 어레이들에 대해 앞서 설명된 것들과 유사한 가중치들을 포함할 수 있다. 하나의 예시적인 예에서, 가중치들은 다음을 포함할 수 있다: 객체 우선순위 - {.1 ... 1}; 객체 크기 - 작음, 중간 또는 큼 {.5, .75, 1}; 객체 거리 - 근처, 중간 또는 멂 {.5, .75, 1}; 계측 - 에지 내지 중심 {.9...1}; 포커스 레티클 - 내부, 근처 또는 외부 {.5, .75 또는 1}; 및 눈 시선 - "벡터에", "벡터 근처" 또는 "벡터 외부" {.5, .75, 1}.
[0165] 상기 예에서, 객체 우선순위 가중치는 객체의 우선순위를 표시할 수 있다. 객체의 우선순위는 0 내지 1일 수 있다. 일부 예들에서, 우선순위는 도 3에 대해 앞서 설명된 바와 같은 표에 의해 정의될 수 있다.
[0166] 객체 크기 가중치는 객체의 크기를 표시할 수 있다. 객체의 크기는 나열된 세트(예를 들어, 작음, 중간 또는 큼) 중 하나일 수 있다. 일부 예들에서, 나열된 세트 중 각각의 하나에 대응하는 크기는 미리 정의될 수 있다 (예를 들어, 객체가 3개 이하의 픽셀 그룹들에 포함되면, 객체는 작고 .5의 가중치를 수신하고; 객체가 4개 내지 6개의 픽셀 그룹들에 포함되면, 객체는 중간이고 .75의 가중치를 수신하고; 객체가 6개 이상의 픽셀 그룹들에 포함되면, 객체는 크고 1의 가중치를 수신한다). 다른 예들에서, 객체의 크기는 단지, 객체가 포함된 픽셀 그룹들의 수일 수 있다.
[0167] 객체 거리 가중치는 이미지 소스(예를 들어, 콘텐츠 캡처 디바이스)로부터의 거리를 표시할 수 있다. 객체의 거리는 나열된 세트(예를 들어, 근처, 중간 또는 멂) 중 하나일 수 있다. 일부 예들에서, 나열된 세트 중 각각의 하나에 대응하는 거리는 미리 정의될 수 있다 (예를 들어, 객체가 이미지 소스의 10 피트 이내이면, 객체는 근처에 있고 .5의 가중치를 수신하고; 객체가 이미지 소스의 10 내지 50 피트이면, 객체는 중간에 있고 .75의 가중치를 수신하고; 객체가 이미지 소스로부터 50 피트를 초과하여 떨어져 있으면, 객체는 멀리 있고 1의 가중치를 수신한다). 일부 예들에서, 거리는 깊이 캡처 디바이스를 사용하여 생성된 깊이 맵을 사용하여 컴퓨팅될 수 있다.
[0168] 계측 가중치는 앞서 설명된 바와 같은 하나 이상의 계측 기술들로부터 객체와 연관된 값을 표시할 수 있다. 예를 들어, 객체가 이미지의 시야의 에지 근처에 있으면, 0.9의 가중치 값이 할당될 수 있다. 객체가 시야의 중심에 있으면, 1.0의 가중치 값이 할당될 수 있다.
[0169] 포커스 레티클 가중치는 객체가 포커스 레티클에 대해 어디에 있는지를 표시할 수 있다. 포커스 레티클에 대한 값은 객체의 거리는 나열된 세트(예를 들어, 내부, 근처 또는 외부) 중 하나일 수 있다. 일부 예들에서, 나열된 세트에 대한 값들은 미리 정의될 수 있다 (예를 들어, 객체가 포커스 레티클 내부에 있으면, 객체는 내부에 있고 .5의 가중치를 수신하고; 객체가 포커스 레티클과 중첩하면, 객체는 근처에 있고 .75의 가중치를 수신하고; 객체가 포커스 레티클 외부에 있으면, 객체는 외부에 있고 1의 가중치를 수신한다).
[0170] 눈 시선 가중치는 사용자가 객체에 대해 어디를 보고있는지를 표시할 수 있다. 눈 시선에 대한 값은 나열된 세트(예를 들어, "벡터에", "벡터 근처" 또는 "벡터 외부") 중 하나일 수 있다. 일부 예들에서, 나열된 세트에 대한 값들은 미리 정의될 수 있다 (예를 들어, 눈 시선이 객체로부터 제2 거리(제1 거리보다 큼)에 있으면, 눈 시선은 "벡터 외부"에 있고 .5의 가중치를 수신하고; 눈 시선이 객체로부터 제1 거리에 있으면, 눈 시선은 "벡터 근처"에 있고 .75의 가중치를 수신하고; 눈 시선이 객체를 향하면, 눈 시선은 "벡터에" 있고 1의 가중치를 수신한다).
[0171] 도 9를 참조하면, 제1 객체에 대한 제1 신경 네트워크(910)가 사용될 수 있다. 제1 신경 네트워크에 대해, 제1 객체에 대해 앞서 설명된 각각의 가중치는 입력들(920) 중 일 입력일 수 있다. 예를 들어, 객체 우선순위 가중치는 노출 가중치 파라미터 1(922)일 수 있고, 객체 크기 가중치는 노출 가중치 파라미터 2(924)일 수 있고, 눈 시선 가중치는 노출 가중치 파라미터 n(926)일 수 있다. 임의의 수의 가중치들이 입력들(920)로서 사용될 수 있음을 인식해야 한다.
[0172] 그 다음, 입력들(920)은 은닉된 계층(930)에 전달될 수 있다. 은닉된 계층(930)은 일 레벨로서 예시되어 있지만, 신경 네트워크의 구현에 따라 더 많은 레벨들이 존재할 수 있다. 은닉된 계층(930)의 각각의 레벨에 대해, (제1 레벨에 대한 입력들(920)일) 선행하는 레벨의 각각의 값은 그 레벨의 각각의 노드(예를 들어, 노드(932), 노드(934), 노드(936) 및 노드(938))에 대한 신경 네트워크에 의해 결정된 값과 곱해진다. 각각의 노드에서, 노드의 입력에 기능이 적용된다. 은닉된 계층(930)이 완료된 후, 마지막 값이 각각의 출력과 곱해지고, 결과가 조합되어 객체 1 노출 가중치(922)가 생성된다.
[0173] 도 9에서 볼 수 있는 바와 같이, 앞서 설명된 바와 유사한 프로세스가 이미지 내의 각각의 객체에 대해 수행될 수 있다(예를 들어, 객체 2 신경 네트워크(950) 및 객체 M 신경 네트워크(960)).
[0174] 도 10은 자동 노출 제어(AEC)에 사용될 수 있는 제2 가중 모델의 제2 부분의 예를 예시한다. 제2 부분은, 하나 이상의 신경 네트워크들이 이미지 내의 각각의 객체에 대해 수행된 후 무엇이 발생하는지를 예시할 수 있다. 신경 네트워크들(예를 들어, 객체 1 신경 네트워크(1030), 객체 2 신경 네트워크(1040), 객체 3 신경 네트워크(1050), 객체 4 신경 네트워크(1060), 및 객체 5 신경 네트워크(1070)) 각각은 (앞서 설명된 바와 같이) 단일 값을 출력할 수 있다. 단일 값은 신경 네트워크와 연관된 객체에 대한 가중치일 수 있다.
[0175] 단일 값은 (총 가중치 어레이(1080)에 도시된 바와 같이) 객체의 픽셀 그룹들 모두에 적용될 수 있다. 수식으로 예시하자면, 총 가중치 어레이 wT는 각각의 객체의 신경 네트워크로부터의 출력들의 합산, 예를 들어, 일 수 있고, 여기서 No는 객체들의 수이다.
[0176] 총 가중치 어레이(1080)가 생성된 후, 총 가중치 어레이(1080)는 도 1을 참조하여 앞서 설명된 바와 같이 타겟과 비교될 수 있다. 또한, 도 1에 대해 앞서 설명된 가중된 루마 평균 수식을 사용하여, 가중치와 연관된 어레이를 제로로 설정함으로써 제2 가중 모델에 대한 특정 가중치는 디스에이블될 수 있다.
[0177] 도 11은 제2 가중 모델을 사용하는 자동 노출 제어(AEC)에 대한 프로세스(1100)의 실시예를 예시하는 흐름도이다. 일부 양상들에서, 프로세스(1100)는 컴퓨팅 디바이스에 의해 수행될 수 있다.
[0178] 프로세스(1100)는 로직 흐름도로서 예시되고, 로직 흐름도의 동작은 하드웨어, 컴퓨터 명령들 또는 이들의 조합으로 구현될 수 있는 동작들의 시퀀스를 표현한다. 컴퓨터 명령들의 맥락에서, 동작들은, 하나 이상의 프로세서들에 의해 실행되는 경우 인용된 동작들을 수행하는, 하나 이상의 컴퓨터 판독가능 저장 매체들 상에 저장된 컴퓨터 실행가능 명령들을 표현한다. 일반적으로, 컴퓨터 실행가능 명령들은 특정한 기능들을 수행하거나 특정한 데이터 타입들을 구현하는 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 등을 포함한다. 동작들이 설명되는 순서는 제한으로 해석되도록 의도되지 않으며, 임의의 수의 설명되는 동작들은 프로세스들을 구현하도록 임의의 순서로 및/또는 병렬적으로 조합될 수 있다.
[0179] 추가적으로, 프로세스(1100)는 실행가능한 명령들로 구성된 하나 이상의 컴퓨터 시스템들의 제어 하에서 수행될 수 있고, 하나 이상의 프로세서들 상에서, 하드웨어에 의해, 또는 이들의 조합들로 집합적으로 실행되는 코드(예를 들어, 실행가능한 명령들, 하나 이상의 컴퓨터 프로그램들 또는 하나 이상의 애플리케이션들)로서 구현될 수 있다. 앞서 언급된 바와 같이, 코드는 예를 들어, 하나 이상의 프로세서들에 의해 실행가능한 복수의 명령들을 포함하는 컴퓨터 프로그램의 형태로, 머신 판독가능 저장 매체 상에 저장될 수 있다. 머신 판독가능 저장 매체는 비일시적일 수 있다.
[0180] 프로세스(1100)는 콘텐츠 캡처 디바이스에 의해 캡처된 이미지를 수신하는 것(1105)을 포함할 수 있다. 일부 예들에서, 이미지는 복수의 픽셀들을 포함할 수 있다. 일부 예들에서, 이미지는 카메라 또는 다른 콘텐츠 캡처 디바이스로부터 수신될 수 있다. 다른 예들에서, 이미지는 이미지들의 피드(또는 스트림)으로부터 수신될 수 있다. 이러한 예들에서, 피드는 현재 또는 과거 이미지들일 수 있다.
[0181] 프로세스(1100)는 이미지에 대한 타겟 루마 값을 식별하는 것(1110)을 더 포함할 수 있다. 일부 예들에서, 타겟 루마 값은 이미지에 대한 루마의 최적의 양을 표시할 수 있다. 이러한 예들에서, 이미지의 각각의 픽셀은 루마 값과 연관될 수 있다. 일부 예들에서, 타겟 루마 값은 이미지의 루마 값들의 평균에 대응할 수 있다. 다른 예들에서, 타겟 루마 값은 이미지의 루마 값들의 가중된 평균에 대응할 수 있다. 일부 예들에서, 타겟 루마 값이 미리 정의될 수 있다. 다른 예들에서, 타겟 루마 값은 하나 이상의 센서들에 기초하여 결정될 수 있다. 하나의 예시적인 예를 들어, 센서는 환경에서 광의 양을 검출할 수 있다.
[0182] 프로세스(1100)는 이미지에서 객체를 식별하는 것(1115)을 더 포함할 수 있다. 일부 예들에서, 객체는 객체 식별 시스템을 사용하여 식별될 수 있다. 이러한 예들에서, 객체 식별 시스템은 객체의 타입(예를 들어, 사람, 동물, 건물 등)을 식별할 수 있다. 다른 예들에서, 객체 식별 시스템은, 단지 객체의 타입보다 더 많은, 객체의 하나 이상의 속성들 또는 특성들(예를 들어, 객체가 Shania Twain인 것)을 식별할 수 있다. 일부 예들에서, 객체 식별 시스템은 객체가 다른 시스템(예를 들어, 가상 객체를 어디에 배치할지를 결정하고 있는 혼합 현실 시스템)에 의해 프로세싱되고 있는지 여부를 식별할 수 있다.
[0183] 프로세스(1100)는 객체의 하나 이상의 속성들을 식별하는 것(1120)을 더 포함할 수 있다. 일부 예들에서, 속성은 (도 9를 참조하여 설명된 바와 같이) 객체 우선순위, 객체 크기, 객체 거리, 계측, 포커스 레티클, 눈 시선 등에 대한 가중치 어레이와 같은 가중치 어레이와 연관될 수 있다. 이러한 예들에서, 속성은 객체의 픽셀 그룹들 각각의 가중치들의 평균을 표현하는 단일 값일 수 있다.
[0184] 프로세스(1100)는 신경 네트워크를 사용하여 객체에 대한 가중치를 계산하는 것(1125)을 더 포함할 수 있다. 일부 예들에서, 신경 네트워크는 (도 9를 참조하여 설명된 바와 같이) 하나 이상의 속성들을 입력으로서 사용할 수 있다. 이러한 예들에서, 하나 이상의 속성들은 단일 객체와 연관될 수 있다. 추가적인 신경 네트워크는 하나 이상의 다른 객체들(또는 하나 이상의 다른 객체들 각각)에 대해 사용될 수 있다. 다른 예들에서, 신경 네트워크는 복수의 객체들과 연관될 수 있다.
[0185] 프로세스(1100)는 이미지의 복수의 픽셀들을 복수의 픽셀 그룹들로 분할하는 것(1130)을 더 포함할 수 있다. 일부 예들에서, 픽셀 그룹은 픽셀들의 근접한(또는 인접한/접한) 그룹을 표현할 수 있다. 이러한 예들에서, 픽셀 그룹의 형상은 달라질 수 있다. 예를 들어, 각각의 픽셀 그룹은, 이미지가 행들 및 열들로 분할되도록 직사각형 또는 정사각형일 수 있다. 다른 예들에서, 각각의 픽셀 그룹은 이미지의 중심으로부터 특정 수의 픽셀들을 포함할 수 있다. 일부 예들에서, 상이한 픽셀 그룹들은 (예를 들어, 픽셀 그룹 객체를 포함하도록 생성되면) 상이한 형상들일 수 있다. 일부 예들에서, 픽셀 그룹들은 상이한 크기일 수 있다.
[0186] 프로세스(1100)는 객체와 연관되지 않은 제1 세트의 픽셀 그룹들을 정의하는 것(1135)을 더 포함할 수 있다. 일부 예들에서, 제1 세트의 픽셀 그룹들은 하나 이상의 다른 객체들을 포함할 수 있고 그리고/또는 어떠한 객체들도 포함하지 않을 수 있다. 일부 예들에서, 객체와 연관되지 않은 것은, 객체로서 식별된 하나 이상의 픽셀들 중의 픽셀이 제1 세트의 픽셀 그룹들에 포함되지 않은 것을 표시할 수 있다.
[0187] 프로세스(1100)는 객체와 연관된 제2 세트의 픽셀 그룹들을 정의하는 것(1140)을 더 포함할 수 있다. 일부 예들에서, 객체와 연관되는 것은, 객체로서 식별된 하나 이상의 픽셀들 중의 픽셀이 제2 세트의 픽셀 그룹들에 포함되는 것을 표시할 수 있다.
[0188] 프로세스(1100)는 제2 세트의 픽셀 그룹들의 각각의 픽셀 그룹에 대한 픽셀 그룹 루마 값을 계산하는 것(1145A)을 더 포함할 수 있다. 일부 예들에서, 픽셀 그룹에 대한 픽셀 그룹 루마 값은 픽셀 그룹의 각각의 픽셀에 대한 루마 값들의 평균을 포함할 수 있다. 다른 예들에서, 픽셀 그룹 루마 값은 픽셀 그룹의 각각의 픽셀에 대한 루마 값들의 합일 수 있다. 다른 예들에서, 픽셀 그룹 루마 값은 각각의 픽셀의 루마 값들과 이미지에 대한 평균 루마 값 사이의 차이일 수 있다. 예를 들어, 평균 루마 값은 모든 픽셀을 고려하여 프레임에 대해 컴퓨팅될 수 있다. 그 다음, 평균 루마 값은, 픽셀 그룹에 대해 평균 루마 값으로부터의 차이가 생성되도록 각각의 픽셀에 대한 차이를 컴퓨팅하기 위해 사용될 수 있다. 픽셀 그룹의 루마 값들의 다른 요약 값들이 사용될 수 있음을 인식해야 한다.
[0189] 또한, 프로세스(1100)는 제2 세트의 픽셀 그룹들의 각각의 픽셀 그룹에 대한 가중된 픽셀 그룹 루마 값을 제공하기 위해 픽셀 그룹 루마 값을 가중치와 곱하는 것(1145B)을 더 포함할 수 있다. 일부 예들에서, 가중치는 객체와 연관된 각각의 픽셀 그룹에 대해 동일할 수 있다.
[0190] 프로세스(1100)는 이미지에 대한 총 루마 값을 계산하는 것(1150)을 더 포함할 수 있다. 일부 예들에서, 총 루마 값은 가중된 픽셀 그룹 루마 값들의 합산을 포함할 수 있다. 일부 예들에서, 이미지 루마 값을 계산하는 것은 가중된 픽셀 그룹 루마 값들 각각을 합산하는 것을 포함할 수 있고, 여기서 가중된 픽셀 그룹 루마 값은 픽셀 그룹과 연관된 가중치를 픽셀 그룹과 연관된 루마 값과 곱함으로써 컴퓨팅될 수 있다.
[0191] 프로세스(1100)는, 총 루마 값과 타겟 루마 값 사이의 차이를 컴퓨팅하는 것(1155), 및 컴퓨팅된 차이에 기초하여 콘텐츠 캡처 디바이스의 세팅을 업데이트하는 것(1160)을 더 포함할 수 있다. 일부 예들에서, 세팅은 노출 세팅 또는 이득 세팅일 수 있다. 이러한 예들에서, 노출 세팅은 셔터 속도, ISO 속도 또는 이들의 임의의 조합일 수 있다. 일부 예들에서, 셔터 속도는 글로벌 셔터 또는 롤링 셔터일 수 있다. 글로벌 셔터는 시야의 모든 픽셀들을 노출시키기 위한 시간의 지속기간을 표시할 수 있다. 롤링 셔터는 시야의 (수평으로 또는 수직으로) 행을 노출시키기 위한 시간의 지속기간을 표시할 수 있다. 롤링 셔터에서, 이미지의 라인들은 시야의 스냅샷보다는 롤링 방식으로 스캔될 수 있다. 이득 세팅은 디지털 이득, 아날로그 이득 또는 이들의 임의의 조합일 수 있다. 예를 들어, 이득 세팅은 2x의 아날로그 이득 및 4x의 디지털 이득을 가짐으로써 8x일 수 있다. 일부 예들에서, 노출 세팅은 노출을 증가시키는 경우 이득 세팅 전에 조절될 수 있다. 이러한 예들에서, 이득 세팅은 노출을 감소시키는 경우 노출 세팅 전에 조절될 수 있다. 일부 예들에서, 조절의 양은 차이에 비례할 수 있다. 예를 들어, 조절은, 이미지 루마 값과 타겟 루마 값 사이의 차이가 더 크면, 더 클 수 있다.
[0192] 도 18은 다수의 모델들을 사용하는 자동 노출 제어에 대한 프로세스(1800)의 실시예를 예시하는 흐름도이다. 다수의 모델들을 사용하는 경우, 다수의 모델들 중 둘 이상은 동일하거나 상이한 타입들의 모델들일 수 있다. 예를 들어, (도 9 내지 도 11에 앞서 설명된 바와 같은) 다수의 신경 네트워크들이 사용될 수 있다. (이러한 도면에 따라) 다수의 모델들이 사용되는 경우, 다수의 모델들 각각은, 다수의 모델들 각각과 연관된 가중치들이 중첩하지 않도록 이미지의 특정 부분에 대한 가중치들을 제공할 수 있다.
[0193] 일부 양상들에서, 프로세스(1800)는 컴퓨팅 디바이스에 의해 수행될 수 있다. 프로세스(1800)는 로직 흐름도로서 예시되고, 로직 흐름도의 동작은 하드웨어, 컴퓨터 명령들 또는 이들의 조합으로 구현될 수 있는 동작들의 시퀀스를 표현한다. 컴퓨터 명령들의 맥락에서, 동작들은, 하나 이상의 프로세서들에 의해 실행되는 경우 인용된 동작들을 수행하는, 하나 이상의 컴퓨터 판독가능 저장 매체들 상에 저장된 컴퓨터 실행가능 명령들을 표현한다. 일반적으로, 컴퓨터 실행가능 명령들은 특정한 기능들을 수행하거나 특정한 데이터 타입들을 구현하는 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 등을 포함한다. 동작들이 설명되는 순서는 제한으로 해석되도록 의도되지 않으며, 임의의 수의 설명되는 동작들은 프로세스들을 구현하도록 임의의 순서로 및/또는 병렬적으로 조합될 수 있다.
[0194] 추가적으로, 프로세스(1800)는 실행가능한 명령들로 구성된 하나 이상의 컴퓨터 시스템들의 제어 하에서 수행될 수 있고, 하나 이상의 프로세서들 상에서, 하드웨어에 의해, 또는 이들의 조합들로 집합적으로 실행되는 코드(예를 들어, 실행가능한 명령들, 하나 이상의 컴퓨터 프로그램들 또는 하나 이상의 애플리케이션들)로서 구현될 수 있다. 앞서 언급된 바와 같이, 코드는 예를 들어, 하나 이상의 프로세서들에 의해 실행가능한 복수의 명령들을 포함하는 컴퓨터 프로그램의 형태로, 머신 판독가능 저장 매체 상에 저장될 수 있다. 머신 판독가능 저장 매체는 비일시적일 수 있다.
[0195] 프로세스(1800)는 콘텐츠 캡처 디바이스에 의해 캡처된 이미지를 수신하는 것(1802)을 포함할 수 있다. 일부 예들에서, 이미지는 복수의 픽셀들을 포함할 수 있다. 일부 예들에서, 이미지는 카메라 또는 다른 콘텐츠 캡처 디바이스로부터 수신될 수 있다. 다른 예들에서, 이미지는 이미지들의 피드(또는 스트림)으로부터 수신될 수 있다. 이러한 예들에서, 피드는 최근에 취해진 또는 저장된 이미지들일 수 있다.
[0196] 프로세스(1800)는 이미지에 대한 타겟 루마 값을 식별하는 것(1804)을 더 포함할 수 있다. 일부 예들에서, 타겟 루마 값은 이미지에 대한 루마의 최적의 양을 표시할 수 있다. 이러한 예들에서, 이미지의 각각의 픽셀은 루마 값과 연관될 수 있다. 일부 예들에서, 타겟 루마 값은 이미지의 루마 값들의 평균에 대응할 수 있다. 다른 예들에서, 타겟 루마 값은 이미지의 루마 값들의 가중된 평균에 대응할 수 있다. 일부 예들에서, 타겟 루마 값이 미리 정의될 수 있다. 다른 예들에서, 타겟 루마 값은 하나 이상의 센서들에 기초하여 결정될 수 있다. 하나의 예시적인 예를 들어, 센서는 환경에서 광의 양을 검출할 수 있다.
[0197] 프로세스(1800)는 이미지의 복수의 픽셀들을 복수의 픽셀 그룹들로 분할하는 것(1806)을 더 포함할 수 있다. 일부 예들에서, 픽셀 그룹은 픽셀들의 근접한(또는 인접한/접한) 그룹을 표현할 수 있다. 이러한 예들에서, 픽셀 그룹의 형상은 달라질 수 있다. 예를 들어, 각각의 픽셀 그룹은, 이미지가 행들 및 열들로 분할되도록 직사각형 또는 정사각형일 수 있다. 다른 예들에서, 각각의 픽셀 그룹은 이미지의 중심으로부터 특정 수의 픽셀들을 포함할 수 있다. 일부 예들에서, 상이한 픽셀 그룹들은 (예를 들어, 픽셀 그룹 객체를 포함하도록 생성되면) 상이한 형상들일 수 있다. 일부 예들에서, 픽셀 그룹들은 상이한 크기일 수 있다.
[0198] 프로세스(1800)는 이미지에서 다수의 패치들을 식별하는 것(1808)을 더 포함할 수 있다. 다수의 패치들은 제1 패치 및 제2 패치를 포함할 수 있다. 각각의 패치는 하나 이상의 픽셀 그룹들을 포함할 수 있다. 일부 예들에서, 일부 패치들은 다른 패치들보다 많거나 적은 픽셀 그룹들을 포함할 수 있다. 일부 예들에서, 패치는 이미지의 콘텐츠에 기초하여 식별될 수 있다. 예를 들어, 하나 이상의 객체들이 이미지에서 식별될 수 있고, 여기서 각각의 패치는 상이한 객체의 픽셀들을 포함한다. 다른 예들에서, 각각의 패치는 하나 이상의 픽셀들의 세트일 수 있고, 각각의 세트는 어떤 이미지가 수신되든 사용된다. 패치들을 식별하기 위한 다른 방법들이 사용될 수 있음을 인식해야 한다.
[0199] 프로세스(1800)는 제1 패치에 대한 하나 이상의 가중치들을 계산하는 것(1810)을 더 포함할 수 있다. 제1 패치에 대한 하나 이상의 가중치들은 제1 모델을 사용하여 계산될 수 있다. 제1 모델은, 본 명세서에 설명된 임의의 모델, 예를 들어, 객체 우선순위 가중치 어레이, 객체 크기 가중치 어레이, 객체 거리 가중치 어레이, 계측 가중치 어레이, 포커스 레티클 가중치 어레이, 눈 시선 가중치 어레이, 제1 패치에 포함된 콘텐츠에 기초하는 신경 네트워크 등일 수 있다.
[0200] 프로세스(1800)는 제2 패치에 대한 하나 이상의 가중치들을 계산하는 것(1812)을 더 포함할 수 있다. 제2 패치에 대한 하나 이상의 가중치들은 제1 모델과 동일하거나 상이한 모델일 수 있는 제2 모델을 사용하여 계산될 수 있다. 둘 초과의 모델들이 사용될 수 있음을 인식해야 한다. 특정 패치들은 동일한 모델을 사용할 수 있는 한편 동일한 이미지 내의 다른 패치들은 상이한 모델들을 사용할 수 있음을 또한 인식해야 한다. 이러한 경우들에서, 공통으로 하나 이상의 특정 특성들을 갖는 것으로 결정되는 패치들은 동일한 모델을 사용하게 될 수 있다.
[0201] 프로세스(1800)는 제2 세트의 픽셀 그룹들의 각각의 픽셀 그룹에 대한 픽셀 그룹 루마 값을 계산하는 것(1814)을 더 포함할 수 있다. 일부 예들에서, 픽셀 그룹에 대한 픽셀 그룹 루마 값은 픽셀 그룹의 각각의 픽셀에 대한 루마 값들의 평균을 포함할 수 있다. 다른 예들에서, 픽셀 그룹 루마 값은 픽셀 그룹의 각각의 픽셀에 대한 루마 값들의 합일 수 있다. 다른 예들에서, 픽셀 그룹 루마 값은 각각의 픽셀의 루마 값들과 이미지에 대한 평균 루마 값 사이의 차이일 수 있다. 예를 들어, 평균 루마 값은 모든 픽셀을 고려하여 프레임에 대해 컴퓨팅될 수 있다. 그 다음, 평균 루마 값은, 픽셀 그룹에 대해 평균 루마 값으로부터의 차이가 생성되도록 각각의 픽셀에 대한 차이를 컴퓨팅하기 위해 사용될 수 있다. 픽셀 그룹의 루마 값들의 다른 요약 값들이 사용될 수 있음을 인식해야 한다.
[0202] 또한, 프로세스(1800)는 제2 세트의 픽셀 그룹들의 각각의 픽셀 그룹에 대해, 가중된 픽셀 그룹 루마 값을 제공하기 위해, 픽셀 그룹에 대한 픽셀 그룹 루마 값을 픽셀 그룹에 대한 가중치와 곱하는 것(1816)을 더 포함할 수 있다. 일부 예들에서, 가중치는 객체와 연관된 각각의 픽셀 그룹에 대해 동일할 수 있다.
[0203] 프로세스(1800)는 이미지에 대한 총 루마 값을 계산하는 것(1818)을 더 포함할 수 있다. 일부 예들에서, 총 루마 값은 가중된 픽셀 그룹 루마 값들의 합산을 포함할 수 있다. 일부 예들에서, 이미지 루마 값을 계산하는 것은 가중된 픽셀 그룹 루마 값들 각각을 합산하는 것을 포함할 수 있고, 여기서 가중된 픽셀 그룹 루마 값은 픽셀 그룹과 연관된 가중치를 픽셀 그룹과 연관된 루마 값과 곱함으로써 컴퓨팅될 수 있다.
[0204] 프로세스(1800)는, 총 루마 값과 타겟 루마 값 사이의 차이를 컴퓨팅하는 것(1820), 및 컴퓨팅된 차이에 기초하여 콘텐츠 캡처 디바이스의 세팅을 업데이트하는 것(1822)을 더 포함할 수 있다. 일부 예들에서, 세팅은 노출 세팅 또는 이득 세팅일 수 있다. 이러한 예들에서, 노출 세팅은 셔터 속도, ISO 속도 또는 이들의 임의의 조합일 수 있다. 일부 예들에서, 셔터 속도는 글로벌 셔터 또는 롤링 셔터일 수 있다. 글로벌 셔터는 시야의 모든 픽셀들을 노출시키기 위한 시간의 지속기간을 표시할 수 있다. 롤링 셔터는 시야의 (수평으로 또는 수직으로) 행을 노출시키기 위한 시간의 지속기간을 표시할 수 있다. 롤링 셔터에서, 이미지의 라인들은 시야의 스냅샷보다는 롤링 방식으로 스캔될 수 있다. 이득 세팅은 디지털 이득, 아날로그 이득 또는 이들의 임의의 조합일 수 있다. 예를 들어, 이득 세팅은 2x의 아날로그 이득 및 4x의 디지털 이득을 가짐으로써 8x일 수 있다. 일부 예들에서, 노출 세팅은 노출을 증가시키는 경우 이득 세팅 전에 조절될 수 있다. 이러한 예들에서, 이득 세팅은 노출을 감소시키는 경우 노출 세팅 전에 조절될 수 있다. 일부 예들에서, 조절의 양은 차이에 비례할 수 있다. 예를 들어, 조절은, 이미지 루마 값과 타겟 루마 값 사이의 차이가 더 크면, 더 클 수 있다.
[0205] 도 12a는 이미지 스티칭 프로세스(1200)를 예시한다. 일부 예들에서, 이미지 스티칭 프로세스(1200)는 자동 노출 제어(AEC)의 다수의 인스턴스들을 포함할 수 있고, 각각의 인스턴스는 동일하거나 상이한 하나 이상의 세팅들을 조절한다. 그리고 AEC 인스턴스들이 사용되기 때문에, 앞서 논의된 제1 및 제2 가중 모델들을 포함하는 임의의 가중 모델이 사용될 수 있다. 일부 예들에서, 이미지 스티칭 프로세스(1200)는 둘 이상의 이미지들을 조합하는 출력 이미지(1204)를 생성할 수 있다. 이러한 예들에서, 이미지 스티칭 프로세스(1200)는 AEC의 다수의 인스턴스들 각각으로부터의 조절들에 기초하여 캡처된 이미지들을 조합할 수 있다. 예를 들어, AEC의 인스턴스로 인해 하나 이상의 세팅들이 설정된 후, AEC의 다른 인스턴스들로 인해 하나 이상의 세팅들이 설정된 후 또한 캡처된 다른 이미지들과 조합되는 이미지가 캡처될 수 있다.
[0206] 일부 예들에서, 콘텐츠 캡처 디바이스(1210)는 HDR(high dynamic range) 모드로 구성될 수 있다. HDR 모드는 유사한 장면의 다수의 이미지들을 캡처하는 것 및 다수의 이미지들을 함께 스티칭하는 것을 용이하게 할 수 있다. 이러한 예들에서, HDR 모드는 특정 이미지들에 대해 변경된 하나 이상의 세팅들을 갖는 능력을 포함할 수 있다. 종래의 HDR 모드에서, 콘텐츠 캡처 디바이스와 연관된 소프트웨어 및/또는 하드웨어는 3개 또는 5개의 프레임들의 시퀀스에 대한 노출 값(예를 들어, 때때로 EV로 축약되는, 콘텐츠 캡처 디바이스의 셔터 속도 및 f-수의 조합을 표현하는 수)을 +/- 1 EV 또는 +/- 1 EV 및 +/- 3 EV만큼 자동으로 조절하도록 프로그래밍될 수 있다. 일부 예들에서, EV는 미리 결정된 크기의 노출 단계일 수 있다. 예를 들어, 3-프레임 HDR 모드는 EV를 제1 프레임에 대해 -1로, 제2 프레임에 대해 0으로 및 제3 프레임에 대해 +1로 조절할 수 있다. 이러한 예들에서, 종래의 HDR 모드는 이미지에서 콘트라스트를 증가시키려는 시도로 노출을 고정된 양만큼 맹목적으로 조절할 수 있다. 본 명세서에 설명된 객체-기반 노출 방법들은 이미지에서 객체들의 수에 대한 적절한 세팅들을 제공할 수 있다. 예를 들어, 3-프레임 HDR 모드는 제1 프레임에 대한 제1 객체에 대해, 제2 프레임 내의 제2 객체에 대해 및 제3 프레임 내의 나머지 객체들에 대해 EV를 조절할 수 있다.
[0207] 일부 예들에서, AEC 인스턴스는 이미지의 하나 이상의 객체들과 연관될 수 있다. 이러한 예들에서, AEC 인스턴스는 하나 이상의 객체들에 대한 콘텐츠 캡처 디바이스(1210)의 하나 이상의 세팅들을 업데이트하는 것으로 결정할 수 있다. 일부 예들에서, AEC의 각각의 인스턴스는, 인스턴스로부터의 업데이트가 그 인스턴스의 하나 이상의 객체들에 대해 맞춤화되도록, 상이한 이미지 및 상이한 하나 이상의 객체들과 연관될 수 있다. 이러한 예들에서, 상이한 업데이트들(상이한 하나 이상의 객체들에 대한 각각의 업데이트)을 사용하여 캡처된 이미지는 상이한 객체들에 대해 개별적으로 및 별개로 맞춤화되는 이미지를 생성하도록 조합될 수 있다.
[0208] 일부 예들에서, 이미지 스티칭 프로세스(1200)는 콘텐츠 캡처 디바이스(1210)로부터 3개의 이미지들(예를 들어, 이미지 n(1212), 이미지 n+1(1214) 및 이미지 n+2(1216))을 수신하는 것을 포함할 수 있다. 3개의 이미지들은 한번에 또는 순차적으로 수신될 수 있다. 또한, 3개보다 많거나 적은 이미지들이 수신될 수 있음을 인식해야 한다.
[0209] 일부 예들에서, 3개의 이미지들은 이미지 제어기(1220)에 의해 수신될 수 있다. 이미지 제어기(1220)는 어느 AEC 인스턴스가 이미지를 전송할지를 결정할 수 있다. 일부 예들에서, 이미지 제어기(1220)는 이미지들이 수신될 때 이미지들을 루프 내의 AEC 인스턴스들에 전송할 수 있다. 예를 들어, 루프는 제1 이미지(예를 들어, 이미지 n(1212))가 제1 AEC 인스턴스(1230)에 전송되게 하고, 제2 이미지(예를 들어, 이미지 n+1(1214))가 제2 AEC 인스턴스(1240)에 전송되게 하고, 제3 이미지(예를 들어, 이미지 n+2(1216))가 제3 AEC 인스턴스(1250)에 전송되게 할 수 있다. 루프의 순서를 사용하여, 제4 이미지는 제1 AEC 인스턴스(1230)에 전송될 수 있고(제1 이미지와 유사함), 제5 이미지는 제2 AEC 인스턴스(1240)에 전송될 수 있고(제2 이미지와 유사함), 제6 이미지는 제3 AEC 인스턴스(1250)에 전송될 수 있다(제3 이미지와 유사함).
[0210] 이미지 내의 객체들은 하나의 완전한 루프 내에 더 많거나 더 적은 이미지들이 포함되도록 더 크거나 더 작은 그룹들로 분할될 수 있음을 인식해야 한다. 예를 들어, 크기 2의 루프는 제3 이미지가 제3 AEC 인스턴스보다는 제1 AEC 인스턴스에 전송되게 할 것이다. 일부 예들에서, 이미지 스티칭 프로세스(1200)의 이미지들은 이미지들이 쉽게 함께 조합될 수 있도록 대략 동일한 장면과 연관될 수 있다.
[0211] 일부 예들에서, 제1 AEC 인스턴스(1230)는 제1 이미지로부터 하나 이상의 제1 객체들에 대한 하나 이상의 제1 세팅들(1232)(예를 들어, 노출 세팅, 이득 세팅 또는 이들의 임의의 조합)을 결정할 수 있다. 하나 이상의 제1 세팅들(1232)은 장래의 이미지에 대해 사용되도록 콘텐츠 캡처 디바이스(1210)에 전송될 수 있다. 일부 예들에서, 장래의 이미지는 다음 이미지일 수 있다. 다른 예들에서, 장래의 이미지는 AEC 인스턴스들의 수에 기초할 수 있다. 예를 들어, 3개의 AEC 인스턴스들이 존재하면, 장래의 이미지는 장래에 3개의 이미지들일 수 있다.
[0212] 일부 예들에서, 제2 AEC 인스턴스(1240)는 제2 이미지로부터 하나 이상의 제2 객체들에 대한 하나 이상의 제2 세팅들(1242)(예를 들어, 노출 세팅, 이득 세팅 또는 이들의 임의의 조합)을 결정할 수 있다. 이러한 예들에서, 제2 이미지는 제1 이미지 이전에 또는 이후에 캡처될 수 있다. 하나 이상의 제2 세팅들(1242)은 제1 AEC 인스턴스에 대해 앞서 설명된 것과 유사하게, 장래의 이미지에 대해 사용되도록 콘텐츠 캡처 디바이스(1210)에 전송될 수 있다.
[0213] 일부 예들에서, 제3 AEC 인스턴스(1250)는 제3 이미지로부터 하나 이상의 제3 객체들에 대한 하나 이상의 제3 세팅들(1252)(예를 들어, 노출 세팅, 이득 세팅 또는 이들의 임의의 조합)을 결정할 수 있다. 이러한 예들에서, 제3 이미지는 제2 이미지 이전에 또는 이후에 캡처될 수 있다. 하나 이상의 제3 세팅들(1252)은 제1 AEC 인스턴스에 대해 앞서 설명된 것과 유사하게, 장래의 이미지에 대해 사용되도록 콘텐츠 캡처 디바이스(1210)에 전송될 수 있다.
[0214] 일부 예들에서, AEC 인스턴스들로부터 콘텐츠 캡처 디바이스(1210)에 대한 조절들 이후, 콘텐츠 캡처 디바이스(1210)는 이미지 제어기(1220)에 전송될 이미지들을 계속 캡처할 수 있다. 이러한 예들에서, 조절들이 행해짐에 따라, 특정 객체들에 대해 새로운 이미지들이 최적화될 수 있어서, 이미지들에 대한 노출을 점진적으로 개선한다.
[0215] 일부 예들에서, 이미지 제어기(1220)는 또한 이미지 스티처(1202)에 이미지를 전송할 수 있다. 이미지 스티처(1202)는 식별된 객체들에 기초하여 이미지들을 조합할 수 있다. 예를 들어, 이미지 스티처(1202)는 하나 이상의 제1 객체들에 대해 최적화된 제1 이미지, 하나 이상의 제2 객체들에 대해 최적화된 제2 이미지, 및 제1 및 제2 객체들에 포함되지 않은 다른 부분들에 대해 최적화된 제3 이미지 및/또는 전체로서의 제3 이미지를 수신할 수 있다. 이러한 예에서, 이미지 스티처(1202)는 출력 이미지(1204)를 생성하기 위해, 하나 이상의 제1 객체들과 연관된 제1 이미지의 부분들, 하나 이상의 제2 객체들과 연관된 제2 이미지의 부분들, 및 제3의 부분들을 사용할 수 있다.
[0216] 일부 예들에서, 이미지 스티처(1202)는 다수의 AEC 인스턴스들에 대응하는 다수의 이미지들에 대해 이미지들을 함께 스티칭하기 전에 대기할 수 있다. 예를 들어, 3개의 AEC 인스턴스들이 존재하는 경우, 이미지 스티처(1202)는 이미지들을 조합(또는 스티칭)하기 전에 3개의 이미지들을 수신할 때까지 대기할 수 있다.
[0217] 일부 예들에서, 이미지 스티처(1202)는 식별된 객체들 또는 이들의 상대적 우선순위들을 인식할 수 있다. 이러한 예들에서, 이미지 스티처(1202)는 식별된 객체들 또는 이들의 상대적 우선순위들에 기초하여 출력 이미지(1204)를 생성할 수 있다. 예를 들어, 이미지 스티처(1202)는 더 낮은 우선순위 부분들을 먼저 생성하고, 그 다음 더 낮은 우선순위 부분들의 최상부 상에 더 높은 우선순위 부분들을 생성할 수 있다. 즉, 더 높은 우선순위 객체들에 대해 조절된 이미지들은 더 낮은 우선순위 객체들에 대해 조절된 이미지들의 최상부 상에 오버레이된다. 일부 예들에서, 이미지 스티처(1202)는 이미지를 생성할 수 있다. 다른 예들에서, 이미지 스티처(1202)는 할당된 우선순위들을 갖는 3개의 이미지들에 대해 동작하도록 프로그래밍될 수 있다. 3개의 이미지들 각각에 대해 AEC가 안착함에 따라, 이미지 스티처(1202)는 점점 더 양호한 스티칭된 이미지를 생성할 수 있다. 스티칭된 이미지는, 객체들이 최적화되지 않은 이미지보다는 스티칭된 이미지에서 식별되도록 객체 식별 시스템에 대한 입력으로서, 사용자에게 (예를 들어, 콘텐츠 캡처 디바이스의 뷰파인더에서 또는 원격 디스플레이 상에서) 디스플레이되는 것 또는 추후의 사용을 위해 (콘텐츠 캡처 디바이스로부터 로컬 또는 원격인) 메모리에 저장되는 것을 포함하는 다양한 방식들로 사용될 수 있다.
[0218] 본 발명의 실시예에 따르면, 방법이 제공된다. 방법은, 콘텐츠 캡처 디바이스에 의해 캡처된 제1 이미지를 수신하는 단계, 제1 이미지 내에서 제1 객체를 식별하는 단계, 및 콘텐츠 캡처 디바이스의 제1 세팅에 대한 제1 업데이트를 결정하는 단계를 포함하고, 제1 업데이트는 제1 객체에 대해 결정된다. 방법은 또한, 콘텐츠 캡처 디바이스에 의해 캡처된 제2 이미지를 수신하는 단계 ― 제2 이미지는 제1 이미지 이후 캡처됨 ―, 제2 이미지 내에서 제2 객체를 식별하는 단계, 및 콘텐츠 캡처 디바이스의 제2 세팅에 대한 제2 업데이트를 결정하는 단계를 포함하고, 제2 업데이트는 제2 객체에 대해 결정된다. 방법은, 콘텐츠 캡처 디바이스의 제1 세팅에 대한 제1 업데이트를 수행하는 단계, 콘텐츠 캡처 디바이스에 의해 캡처된 제3 이미지를 수신하는 단계 ― 제3 이미지는 제1 업데이트가 수행된 이후 캡처됨 ―, 및 콘텐츠 캡처 디바이스의 제2 세팅에 대한 제2 업데이트를 수행하는 단계를 더 포함한다. 방법은 추가적으로, 콘텐츠 캡처 디바이스에 의해 캡처된 제4 이미지를 수신하는 단계 ― 제4 이미지는 제2 업데이트가 수행된 이후 캡처됨 ―, 및 제3 이미지 및 제4 이미지를 단일 이미지로 조합하는 단계를 포함한다.
[0219] 일례로서, 제1 세팅 및 제2 세팅은 노출 또는 이득과 연관될 수 있다. 제1 세팅은 제2 세팅일 수 있다. 또한, 제3 이미지 및 제4 이미지는 이미지 스티처를 사용하여 조합될 수 있다. 제1 업데이트는 신경 네트워크를 사용하여 결정될 수 있다. 일 실시예에서, 제1 업데이트는 제2 업데이트와 상이하다. 예를 들어, 제1 이미지 및 제2 이미지는 동일한 시야를 가질 수 있다.
[0220] 도 12b는 자동 노출 제어의 다수의 인스턴스들을 사용할 수 있는 이미지 스티칭 프로세스의 다른 예를 예시한다. 도 12b에 예시된 프로세스는 도 12a에 예시된 것과 일부 유사성들을 공유하며, 도 12a와 관련하여 제공된 설명은 적절히 도 12b에 적용가능하다. 도 12b를 참조하면, 콘텐츠 캡처 디바이스(1210)(명확성을 위해 도 12b에서 카메라로서 참조됨)는 제1 이미지(이미지 N(1261))를 캡처하기 위해 사용된다.
[0221] 이미지 N(1261)은 이미지 제어기(1220)에 제공된다. 이미지 제어기(1220)는 이미지 N에서 미리 결정된 수까지의 우선순위 객체들을 식별하고, 미리 결정된 수는 2 이상이다. 일례로서, 2-5개의 우선순위 객체들이 일 실시예에서 식별될 수 있다. 도 12b에 예시된 예는 합성 이미지(1266)에서 3개의 우선순위 객체들(1267, 1268 및 1269)을 사용한다. 이미지(1266)는 3개의 우선순위 객체들을 가질 수 있는데, 이는, 1) 그것이 허용된 최대값이거나(즉, 미리 결정된 수의 우선순위 객체들은 3이어서, 3개 초과의 잠재적인 우선순위 객체들이 식별되었더라도, 오직 최상위 3개의 옵션들만이 선택됨), 또는 2) 최대값에 도달되지 않더라도(예를 들어, 미리 결정된 수의 우선순위 객체들은 5임) 우선순위 객체들로 고려될 수 있는 오직 3개의 객체들만이 이미지에서 식별되었거나, 또는 3) 장면 내에 무엇이 포함되든지 무관하게 시스템이 항상 미리 결정된 수의 우선순위 객체들을 리턴할 것(즉, 시스템은 3의 선택을 강요할 것임)이기 때문이다. 3개의 우선순위 객체들이 도 12b에 예시되어 있지만, 더 작은 수(예를 들어, 2) 또는 더 큰 수(예를 들어, 4 이상)가 본 발명의 실시예들에서 활용될 수 있음은 당업자에게 자명할 것이다. 일부 예들에서, 제1 이미지에서 식별된 더 큰 세트의 우선순위 객체들로부터 우선순위 객체들의 세트가 사용을 위해 선택된다. 시스템 복잡도 및 컴퓨테이셔널 부담을 감소시키기 위해, 우선순위 객체들의 수는 부여된 수, 예를 들어, 최대 5개의 우선순위 객체들로 제한될 수 있다.
[0222] 이미지 제어기(1220)는 이미지를 다수의 AEC 인스턴스들(1230, 1240 및 1250)에 전송하고, 여기서 AEC 인스턴스들의 수는 식별된 우선순위 객체들의 수와 동일하다. 일부 예들에서, 이미지 제어기(1220)는 이미지 N을 N개의 AEC 인스턴스들에 동시에 직렬 방식으로 전송할 수 있다.
[0223] AEC 인스턴스들은, 미리 결정된 수의 우선순위 객체들 각각에 대해, 콘텐츠 캡처 디바이스의 하나 이상의 세팅들에 대한 업데이트들을 결정하기 위해 사용된다. 도 12b에 예시된 바와 같이, 이미지 N(1261)은 하나 이상의 세팅들에 대한 업데이트들을 결정하기 위해 3개의 상이한 AEC 인스턴스들(1230, 1240 및 1250)을 사용하여 분석될 수 있고, 업데이트들 각각은 우선순위 객체들 중 하나로 맞춤화된다. 따라서, AEC 인스턴스들은 콘텐츠 캡처 디바이스에 대한 세팅들을 결정하기 위해 사용되고, 각각의 AEC 인스턴스는 특정 우선순위 객체들 중 하나로 맞춤화되는 기능들을 수행한다. 세팅들은 노출 세팅, 이득 세팅 또는 이들의 임의의 조합일 수 있다.
[0224] 그 다음, 반복적 프로세스가 수행되고, 반복들의 수는 미리 결정된 수와 동일하다. 도 12b에 예시된 바와 같이, 콘텐츠 캡처 디바이스가 미리 결정된 수의 업데이트들(즉, 3개의 업데이트들) 각각을 사용하여 업데이트됨에 따라, 이미지들(N+1, N+2 및 N+3)의 세트가 캡처된다. 제1 이미지는 제1 우선순위 객체로 맞춤화되어, 일 실시예에서 제1 우선순위 객체에 대한 최적화된 노출 세팅들을 제공한다. 반복적 방식으로, 콘텐츠 캡처 디바이스는 콘텐츠 캡처 디바이스의 하나 이상의 세팅들에 대한 다음 업데이트를 사용하여 업데이트되고, 다음 이미지가 획득된다. 이러한 프로세스는, 미리 결정된 수의 이미지들이 캡처될 때까지 업데이트들 각각에 대해 계속된다. 따라서, 도 12b에서, 이미지들 N+1, N+2, N+3의 세트 각각은 각각의 우선순위 객체들(1267, 1268 및 1269)에 대해 맞춤화된(예를 들어, 최적화된) 하나 이상의 세팅들을 사용하여 캡처된다. 물론, 3개 초과의 세팅들 및 이미지들이 캡처될 수 있다.
[0225] 당업자에게 자명할 바와 같이, 이미지들의 세트(1265)의 각각은 미리 결정된 수의 우선순위 객체들 각각과 연관된 부분을 포함할 것이다. 일례로서, 이미지 N+1은 우선순위 객체(1267)와 연관될 수 있고, 이미지 N+2는 우선순위 객체(1268)와 연관될 수 있고, 이미지 N+3은 우선순위 객체(1269)와 연관될 수 있다. 특정 우선순위 객체에 대해 맞춤화된(예를 들어, 최적화된) 세팅들을 사용하여 각각 캡처되는 이미지들의 세트는 이미지 스티처(1260)에 제공된다. 이미지 스티처(1260)는 미리 결정된 수의 이미지들(즉, 이미지들의 세트(1265))을 합성 이미지(1266)로 함께 스티칭하기 위해 사용된다. 도 12b에 예시된 바와 같이, 이미지들의 세트(1265)는 우선순위 객체들 중 하나와 연관된 각각의 이미지 부분을 추출하기 위해 사용될 수 있고, 그 다음, 이러한 부분들은 함께 스티칭되어, 부분들을 단일 이미지로 조합하는 합성 이미지(1266)를 형성할 수 있다. 이미지들의 세트 각각의 일부분은 우선순위 객체들 중 하나에 대해 최적화되기 때문에, 단일 이미지는 각각의 우선순위 객체의 최적화된 이미지들을 포함할 것이다. 그 다음, 합성 이미지는 사용자에게 디스플레이될 수 있다.
또한, 일부 구현들에서, 이미지 제어기(1220) 및 이미지 스티처(1260)의 기능은 단일 마스터 이미지 프로세싱 유닛에서 조합될 수 있다.
[0227] 도 12c는 자동 노출 제어의 다수의 인스턴스들을 사용하기 위한 프로세스의 실시예를 예시하는 흐름도이다. 방법(1270)은 콘텐츠 캡처 디바이스로부터 이미지를 수신하는 단계(1272), 및 이미지 내에서 미리 결정된 수(n개)의 우선순위 객체들을 식별하는 단계(1274)를 포함한다. 일 실시예에서, 식별된 우선순위 객체들은 이미지 내의 최상위 n개의 우선순위 객체들일 수 있다. 3개의 우선순위 객체들이 도 12b에 예시되어 있지만, 본 발명의 실시예들은 3으로 제한되지 않으며, n은 3보다 크거나 작을 수 있다. 방법은 또한, 우선순위 객체 1에 대한 콘텐츠 캡처 디바이스의 세팅들을 결정하는 단계(1276), 우선순위 객체 2에 대한 콘텐츠 캡처 디바이스의 세팅들을 결정하는 단계(1278), 및 우선순위 객체 n에 대한 콘텐츠 캡처 디바이스의 세팅들을 결정하는 단계(1280)를 포함한다. 일례로서, 하나 이상의 세팅들로 또한 지칭되는 세팅들은, 이들이 관심있는 우선순위 객체의 바람직한(예를 들어, 최상의) 노출을 도출하는 노출 값들을 제공한다는 점에서 최적화된 세팅들일 수 있다. 도 12b에 예시된 바와 같이, AEC 인스턴스들(1230, 1240 및 1250)은, 노출 세팅, 이득 세팅 또는 이들의 임의의 조합을 포함할 수 있는 이러한 세팅들을 제공하기 위해 활용될 수 있다.
[0228] 하나 이상의 제1 세팅들은 세팅들을 조절하기 위해 콘텐츠 캡처 디바이스로 전송될 수 있다. 따라서, 콘텐츠 캡처 디바이스에 대한 세팅들은 우선순위 객체 1(1282), 우선순위 객체 2(1284) 및 우선순위 객체 3(1286)에 대해 조절된다. 업데이트 세팅들의 세트를 사용하면, 콘텐츠 캡처 디바이스를 사용하여 이미지들의 세트가 캡처된다. 우선순위 객체 1에 대해 적응된 이미지가 캡처되고(1288), 우선순위 객체 2에 대해 적응된 이미지가 캡처되고(1290), 우선순위 객체 3에 대해 적응된 이미지가 캡처된다(1292). 이러한 새로운 이미지들은 특정 우선순위 객체들에 대해 최적화되기 때문에, 이러한 이미지들 각각에 대한 노출은 각각의 우선순위 객체와 관련하여 개선된다.
[0229] 방법은 또한, 우선순위 객체들 1 내지 n에 대해 적응된 합성 이미지를 형성하기 위해 이미지들의 세트의 부분들을 함께 스티칭하는 단계(1294)를 포함한다. 따라서, 도 12b에 예시된 이미지 스티처(1202)는 단일 이미지(1266)를 생성하기 위해, 제1 우선순위 객체와 연관된 제1 이미지의 부분, 제2 우선순위 객체와 연관된 제2 이미지의 부분 및 제3 우선순위 객체와 연관된 제3 이미지의 부분을 사용할 수 있다. 도 12a의 이미지 스티칭과 관련된 설명은 도 12c와 관련하여 설명된 방법에 적절히 적용가능하다.
[0230] 따라서, 다수의 우선순위 객체들을 포함하는 블록(1272)에서 수신된 단일 이미지를 사용하여, 하나 이상의 AEC 인스턴스들은, 단일 이미지에서 식별된 우선순위 객체들 각각에 특정되는 업데이트된(예를 들어, 최적화된) 세팅들을 결정하기 위해 사용될 수 있다. 그 다음, 업데이트 세팅들을 사용하여, 이미지들의 세트가 캡처될 수 있고, 세트 내의 각각의 이미지는 우선순위 객체들 각각에 대해 맞춤화된다(예를 들어, 최적화된다). 세트 내의 각각의 이미지의 부분들을 함께 스티칭하는 것 ― 여기서 부분들은 우선순위 객체 중 하나와 연관됨 ― 은, 사용자에게 디스플레이될 수 있는(1296) 스티칭된 이미지의 생성을 가능하게 하며, 여기서 노출 세팅들은 합성 이미지 전반에 걸쳐 변하고 우선순위 객체들로 맞춤화된다.
[0231] 도 13은 이미지 스티칭 프로세스(예를 들어, 이미지 스티칭 프로세스(1200))와 함께 사용될 수 있는 이미지 스트림의 예를 예시한다. 이미지 스트림은 이미지 제어기(예를 들어, 이미지 제어기(1220))에 의해 수신될 수 있는 복수의 이미지들을 예시한다. 도 13의 예에서, 점선들을 갖는 이미지 내의 객체는, AEC 인스턴스가 객체 상에 집중되지 않음을 표시한다. 한편, 실선들을 갖는 이미지 내의 객체는, AEC 인스턴스가 객체에 기초하여 수행됨을 표시한다.
[0232] 도 13의 이미지들은 어느 이미지들이 어느 AEC 인스턴스로 전송되는지로 분리된다. 예를 들어, 이미지 1(1332)은 제1 AEC 인스턴스(1330)로 전송된다. 이미지 1(1332)은 실선들을 갖는 제1 객체(1362)를 갖는 것으로 예시되고, 이는, 제1 AEC 인스턴스(1330)가 제1 객체(1362)에 기초하여 수행됨을 표시한다. 이미지 1(1332)은 또한 제2 객체(1364) 및 제3 객체(1366)를 갖는다. 제2 객체(1364) 및 제3 객체(1366)는 점선들을 갖는 것으로 예시되어, 제1 AEC 인스턴스(1330)가 식별되지 않은 객체들 둘 모두를 취급함을 표시한다.
[0233] 제1 AEC 인스턴스(1330)는 콘텐츠 캡처 디바이스(예를 들어, 콘텐츠 캡처 디바이스(1210))의 하나 이상의 세팅들(예를 들어, 노출 세팅, 이득 세팅 또는 이들의 임의의 조합)에 대한 조절을 결정할 수 있다. 조절은, 콘텐츠 캡처 디바이스(1210)가 콘텐츠 캡처 디바이스(1210)의 하나 이상의 세팅들을 조절하도록 콘텐츠 캡처 디바이스(1210)에 전송될 수 있다. 일부 예들에서, 하나 이상의 세팅들은, 콘텐츠 캡처 디바이스(1210)가 이미지를 캡처하기 직전에 콘텐츠 캡처 디바이스(1210)에 전송될 수 있다. 이러한 예들에서, 하나 이상의 세팅들의 수신 시에, 콘텐츠 캡처 디바이스(1210)는 자신의 세팅들을 조절할 수 있다. 다른 예들에서, 콘텐츠 캡처 디바이스(1210)는 하나 이상의 세팅들을 수신하고, 하나 이상의 세팅들로 (예를 들어, 앞서 설명된 바와 같은 루프에 기초하여) 이미지를 캡처할 시간이 될 때까지 대기하도록 구성될 수 있다.
[0234] 이미지 2(1368)는 제2 AEC 인스턴스(1340)에 전송될 수 있다. 제2 AEC 인스턴스(1340)는 제2 객체(1364)에 대응하는 객체에 기초하여 수행될 수 있다. 이미지 3(1370)은 제3 AEC 인스턴스(1350)에 전송될 수 있다. 제3 AEC 인스턴스(1350)는 제3 객체(1366)에 대응하는 객체에 기초하여 수행될 수 있다. 제2 및 제3 AEC 인스턴스들(1340, 1350)은 또한 (제1 AEC 인스턴스(1330)에 대해 앞서 설명된 것과 유사하게) 하나 이상의 세팅들을 결정하여, 콘텐츠 캡처 디바이스(1210)에 전송할 수 있다.
[0235] 이미지 1(1360), 이미지 2(1368), 및 이미지 3(1370)은 루프를 표현할 수 있다. 하나 이상의 세팅들이 AEC 인스턴스로 인해 설정된 후, 추가적인 이미지가 하나 이상의 세팅들로 캡처될 수 있다. 추가적인 이미지가 캡처된 후, 이미지 제어기는 하나 이상의 세팅들이 어느 AEC 인스턴스로부터 설정되었는지를 결정할 수 있다. 그 다음, 이미지 제어기는 결정된 AEC 인스턴스에 추가적인 이미지를 전송할 수 있다. 예를 들어, 제1 AEC 인스턴스(1330)는 이미지 1(1360)에 기초하여 하나 이상의 제1 세팅들을 설정할 수 있다. 이미지 제어기가 하나 이상의 제1 세팅들을 사용하여 캡처될 수 있는 이미지 4(1372)를 수신하는 경우, 이미지 제어기는 이미지 4(1372)를 제1 AEC 인스턴스(1330)에 전송할 수 있다. 유사하게, 이미지 5(1374)는 제2 AEC 인스턴스(1340)에 전송될 수 있고, 이미지 6(1376)은 제3 AEC 인스턴스(1350)에 전송될 수 있다.
[0236] 이미지들 4, 5 및 6(1372, 1374, 1376)은 제2 루프를 표현할 수 있다. 이러한 프로세스는, 이미지 n, n+1 및 n+2(1378, 1380, 1382)가 수신될 때까지 계속될 수 있다. 어느 AEC 인스턴스가 새로운 이미지들과 연관되는지를 결정하는 것, 및 새로운 이미지들을 캡처하기 위해 사용되는 하나 이상의 세팅들을 생성한 AEC 인스턴스에 새로운 이미지들을 전송하는 것을 포함하는 유사한 프로세스가 발생할 수 있다. 예를 들어, 이미지 n(1378)은 제1 AEC 인스턴스(1330)에 전송될 수 있고, 이미지 n+1(1380)은 제2 AEC 인스턴스(1340)에 전송될 수 있고, 이미지 n+2(1382)는 제3 AEC 인스턴스(1350)에 전송될 수 있다.
[0237] 도 14는 제3 가중 모델을 사용하는 자동 노출 제어에 대한 프로세스(1400)의 실시예를 예시하는 흐름도이다. 일부 양상들에서, 프로세스(1400)는 컴퓨팅 디바이스에 의해 수행될 수 있다.
[0238] 프로세스(1400)는 로직 흐름도로서 예시되고, 로직 흐름도의 동작은 하드웨어, 컴퓨터 명령들 또는 이들의 조합으로 구현될 수 있는 동작들의 시퀀스를 표현한다. 컴퓨터 명령들의 맥락에서, 동작들은, 하나 이상의 프로세서들에 의해 실행되는 경우 인용된 동작들을 수행하는, 하나 이상의 컴퓨터 판독가능 저장 매체들 상에 저장된 컴퓨터 실행가능 명령들을 표현한다. 일반적으로, 컴퓨터 실행가능 명령들은 특정한 기능들을 수행하거나 특정한 데이터 타입들을 구현하는 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 등을 포함한다. 동작들이 설명되는 순서는 제한으로 해석되도록 의도되지 않으며, 임의의 수의 설명되는 동작들은 프로세스들을 구현하도록 임의의 순서로 및/또는 병렬적으로 조합될 수 있다.
[0239] 추가적으로, 프로세스(1400)는 실행가능한 명령들로 구성된 하나 이상의 컴퓨터 시스템들의 제어 하에서 수행될 수 있고, 하나 이상의 프로세서들 상에서, 하드웨어에 의해, 또는 이들의 조합들로 집합적으로 실행되는 코드(예를 들어, 실행가능한 명령들, 하나 이상의 컴퓨터 프로그램들 또는 하나 이상의 애플리케이션들)로서 구현될 수 있다. 앞서 언급된 바와 같이, 코드는 예를 들어, 하나 이상의 프로세서들에 의해 실행가능한 복수의 명령들을 포함하는 컴퓨터 프로그램의 형태로, 머신 판독가능 저장 매체 상에 저장될 수 있다. 머신 판독가능 저장 매체는 비일시적일 수 있다.
[0240] 프로세스(1400)는 콘텐츠 캡처 디바이스에 의해 캡처된 제1 이미지를 수신하는 것(1405)을 포함할 수 있다. 일부 예들에서, 콘텐츠 캡처 디바이스는 HDR(high dynamic range) 모드에 있을 수 있다. HDR 모드는 복수의 픽처들이 가변 세팅들(예를 들어, 노출 세팅, 이득 세팅 또는 이들의 임의의 조합)로 시간상 가깝게 취해지게 할 수 있다.
[0241] 프로세스(1400)는 제1 이미지에서 제1 객체를 식별하는 것(1410)을 더 포함할 수 있다. 일부 예들에서, 제1 객체는 객체 식별 시스템을 사용하여 식별될 수 있다. 이러한 예들에서, 객체 식별 시스템은 제1 객체의 타입(예를 들어, 사람, 동물, 건물 등)을 식별할 수 있다. 다른 예들에서, 객체 식별 시스템은, 단지 제1 객체의 타입보다 더 많은, 제1 객체의 하나 이상의 속성들 또는 특성들(예를 들어, 제1 객체가 Bob Marley인 것)을 식별할 수 있다. 일부 예들에서, 객체 식별 시스템은 제1 객체가 다른 시스템(예를 들어, 가상 객체를 어디에 배치할지를 결정하고 있는 혼합 현실 시스템)에 의해 프로세싱되고 있는지 여부를 식별할 수 있다.
[0242] 프로세스(1400)는 콘텐츠 캡처 디바이스의 제1 세팅에 대한 제1 업데이트를 결정하는 것(1415)을 더 포함할 수 있다. 일부 예들에서, 제1 업데이트는 제1 객체에 대해 결정될 수 있다. 이러한 예들에서, 제1 업데이트는 제1 가중 모델 및/또는 제2 가중 모델을 포함하는, 본 명세서에서 설명된 가중 모델들 중 임의의 것을 사용하여 결정될 수 있다. 일부 예들에서, 제1 세팅은 노출 세팅, 이득 세팅 또는 이들의 임의의 조합일 수 있다. 이러한 예들에서, 노출 세팅은 셔터 속도, ISO 속도 또는 이들의 임의의 조합일 수 있다. 이득 세팅은 디지털 이득, 아날로그 이득 또는 이들의 임의의 조합일 수 있다.
[0243] 프로세스(1400)는 콘텐츠 캡처 디바이스에 의해 캡처된 제2 이미지를 수신하는 것(1420)을 더 포함할 수 있다. 일부 예들에서, 제2 이미지는 제1 이미지 이전에 또는 이후에 캡처될 수 있다. 일부 예들에서, 제2 이미지는 HDR 모드에 따라 캡처될 수 있다.
[0244] 프로세스(1400)는 제2 이미지에서 제2 객체를 식별하는 것(1425)을 더 포함할 수 있다. 일부 예들에서, 제2 객체는 앞서 설명된 객체 식별 시스템을 사용하여 식별될 수 있다.
[0245] 프로세스(1400)는 콘텐츠 캡처 디바이스의 제2 세팅에 대한 제2 업데이트를 결정하는 것(1430)을 더 포함할 수 있다. 일부 예들에서, 제2 업데이트는 제2 객체에 대해 결정될 수 있다. 일부 예들에서, 제2 업데이트는 제1 가중 모델 및/또는 제2 가중 모델을 포함하는, 본 명세서에서 설명된 가중 모델들 중 임의의 것을 사용하여 결정될 수 있다. 이러한 예들에서, 제2 업데이트에 대해 사용되는 가중 모델은 제1 업데이트에 대해 사용되는 가중 모델과 동일하거나 상이할 수 있다.
[0246] 프로세스(1400)는 콘텐츠 캡처 디바이스의 제1 세팅에 대한 제1 업데이트를 수행하는 것(1435)을 더 포함할 수 있다. 제1 업데이트를 수행하는 것은 콘텐츠 캡처 디바이스가 제1 세팅을 변경하게 하는 하나 이상의 명령들을 콘텐츠 캡처 디바이스에 전송하는 것을 포함할 수 있다. 일부 예들에서, 장래의 소정 시점에(예를 들어, 제1 세팅을 사용해야 하는 이미지가 취해질 때) 제1 세팅이 업데이트되게 하는 하나 이상의 명령들이 전송될 수 있다. 다른 예들에서, 콘텐츠 캡처 디바이스로부터 이미지가 캡처(또는 수신)된 후 하나 이상의 명령들이 전송될 수 있고, 캡처는, 제1 세팅을 사용할 수 있는 새로운 이미지가 캡처될 것을 표시한다.
[0247] 프로세스(1400)는 콘텐츠 캡처 디바이스에 의해 캡처된 제3 이미지를 수신하는 것(1440)을 더 포함할 수 있다. 일부 예들에서, 제3 이미지는 제1 업데이트가 수행된 이후 캡처될 수 있다. 이러한 예들에서, 제3 이미지가 제1 업데이트에 기초한 노출로 캡처되도록, 제1 업데이트가 콘텐츠 캡처 디바이스에 적용될 수 있다.
[0248] 프로세스(1400)는 콘텐츠 캡처 디바이스의 제2 세팅에 대한 제2 업데이트를 수행하는 것(1345)을 더 포함할 수 있다. 제2 업데이트를 수행하는 것은 콘텐츠 캡처 디바이스가 제2 세팅을 변경하게 하는 하나 이상의 명령들을 콘텐츠 캡처 디바이스에 전송하는 것을 포함할 수 있다. 일부 예들에서, 장래의 소정 시점에(예를 들어, 제2 세팅을 사용해야 하는 이미지가 취해질 때) 제2 세팅이 업데이트되게 하는 하나 이상의 명령들이 전송될 수 있다. 다른 예들에서, 콘텐츠 캡처 디바이스로부터 이미지가 캡처(또는 수신)된 후 하나 이상의 명령들이 전송될 수 있고, 캡처는, 제2 세팅을 사용할 수 있는 새로운 이미지가 캡처될 것으로 표시된다.
[0249] 프로세스(1400)는 콘텐츠 캡처 디바이스에 의해 캡처된 제4 이미지를 수신하는 것(1450)을 더 포함할 수 있다. 일부 예들에서, 제4 이미지는 제2 업데이트가 수행된 이후 캡처될 수 있다. 이러한 예들에서, 제4 이미지가 제2 업데이트에 기초한 노출로 캡처되도록, 제2 업데이트가 콘텐츠 캡처 디바이스에 적용될 수 있다.
[0250] 프로세스(1400)는 제3 이미지 및 제4 이미지를 뷰잉을 위해 단일 이미지로 조합하는 것(1455)을 더 포함할 수 있다. 일부 예들에서, 조합하는 것(예를 들어, 스티칭하는 것)은 제3 이미지의 일부 및 제4 이미지의 일부를 취하는 것을 포함할 수 있다. 예를 들어, 제3 이미지는 제1 객체에 대해 최적화된 제1 이미지에 대응할 수 있다. 이러한 예에서, 조합하는 것이 제1 객체와 연관된 제3 이미지의 일부를 취하는 것을 포함하도록, 취해진 제3 이미지의 일부는 제1 객체와 연관될 수 있다. 유사하게, 제4 이미지는 제2 객체에 대해 최적화된 제2 이미지에 대응할 수 있다. 따라서, 조합하는 것이 제2 객체와 연관된 제4 이미지의 일부를 취하는 것을 포함할 수 있도록, 취해진 제4 이미지의 일부는 제2 객체와 연관될 수 있다. 제1 및 제2 객체와 각각 연관된 제3 및 제4 이미지의 부분들을 취한 후, 제3 및 제4 이미지의 다른 부분들은 제3 이미지와 제4 이미지 사이에서 평균화될 수 있다. 다른 부분들이 제1 업데이트 및/또는 제2 업데이트에 의해 최적화되지 않도록, 다른 부분들은 제1 객체 또는 제2 객체 중 어느 것과도 연관되지 않을 수 있다. 그러나, 이미지들은 다양한 방식들로 스티칭(또는 조합)될 수 있음을 인식해야 한다.
[0251] 일부 예들에서, 프로세스(1400)는 제1 사이클 및 제2 사이클을 포함할 수 있다. 제1 사이클은 제1 이미지 및 제2 이미지를 포함할 수 있다. 제2 사이클은 제3 이미지 및 제4 이미지를 포함할 수 있다. 일부 예들에서, 동작들이 각각의 새로운 사이클에 대해 계속 수행되도록, 각각의 새로운 사이클은 2개의 추가의 이미지들을 포함할 수 있다. 일부 예들에서, 각각의 새로운 사이클은 (제1 이미지 및 제2 이미지와 유사하게) 콘텐츠 캡처 디바이스의 세팅을 업데이트하기 위해 사용될 뿐만 아니라 (제3 이미지 및 제4 이미지와 유사하게) 조합될 수 있다. 예를 들어, 업데이트들을 결정하는 것은 (제1 이미지 및 제2 이미지에 대해 설명된 바와 같이) 제3 이미지 및 제4 이미지에 대해 수행될 수 있다.
[0252] 도 15는 컴퓨터 시스템에 대한 블록도의 예를 예시한다. 이러한 예에서, 컴퓨터 시스템(1500)은 모니터(1510), 컴퓨터(1520), 키보드(1530), 사용자 입력 디바이스(1540), 하나 이상의 컴퓨터 인터페이스들(1550) 등을 포함한다. 본 예에서, 사용자 입력 디바이스(1540)는 통상적으로 컴퓨터 마우스, 트랙볼, 트랙 패드, 조이스틱, 무선 원격기, 드로잉 태블릿, 음성 커맨드 시스템, 눈 추적 시스템 등으로 구현된다. 사용자 입력 디바이스(1540)는 통상적으로, 사용자가, 버튼의 클릭 등과 같은 커맨드를 통해 모니터(1510) 상에 나타나는 객체들, 아이콘들, 텍스트 등을 선택하도록 허용한다.
[0253] 컴퓨터 인터페이스들(1550)의 예들은 통상적으로 이더넷 카드, 모뎀(전화, 위성, 케이블, ISDN), (비동기식) DSL(digital subscriber line) 유닛, 파이어와이어 인터페이스, USB 인터페이스 등을 포함한다. 예를 들어, 컴퓨터 인터페이스들(1550)은 컴퓨터 네트워크(1555), 파이어와이어 버스 등에 커플링될 수 있다. 다른 실시예들에서, 컴퓨터 인터페이스들(1550)은 물리적으로 컴퓨터(1520)의 마더보드 상에 통합될 수 있고, 소프트 DSL과 같은 소프트웨어 프로그램일 수 있고 기타 등등이 가능하다.
[0254] 다양한 예들에서, 컴퓨터(1520)는 통상적으로 친숙한 컴퓨터 컴포넌트들, 이를테면, 프로세서(1560) 및 메모리 저장 디바이스들, 이를테면, RAM(random access memory)(1570), 디스크 드라이브들(1580) 및 상기 컴포넌트들을 상호연결하는 시스템 버스(1590)를 포함한다.
[0255] RAM(1570) 및 디스크 드라이브(1580)는 실행가능한 컴퓨터 코드, 인간 판독가능 코드 등을 포함하는, 본 개시의 실시예들과 같은 데이터를 저장하도록 구성된 유형의(tangible) 매체들의 예들이다. 다른 타입들의 유형의 매체들은 플로피 디스크들, 착탈식 하드 디스크들, 광학 저장 매체들, 예를 들어, CD-ROM들, DVD들 및 바코드들, 반도체 메모리들, 예를 들어, 플래시 메모리들, ROM(read-only-memory)들, 배터리-배킹된 휘발성 메모리들, 네트워킹된 저장 디바이스들 등을 포함한다.
[0256] 다양한 예들에서, 컴퓨터 시스템(1500)은 또한 HTTP, TCP/IP, RTP/RTSP 프로토콜들 등과 같은 네트워크를 통한 통신들을 가능하게 하는 소프트웨어를 포함할 수 있다. 본 개시의 대안적인 실시예들에서, 예를 들어, IPX, UDP 등과 같은 다른 통신 소프트웨어 및 전송 프로토콜들이 또한 사용될 수 있다.
[0257] 본 명세서에서 설명되는 특징들은 디지털 전자 회로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합들로 구현될 수 있다. 장치는 정보 캐리어에 유형적으로 구현된 컴퓨터 프로그램 제품으로, 예를 들어, 프로그래밍가능 프로세서에 의한 실행을 위해 머신 판독가능 저장 디바이스로 구현될 수 있고; 방법 단계들은 입력 데이터에 대해 동작하고 출력을 생성함으로써 설명된 구현들의 기능들을 수행하기 위해 명령들의 프로그램을 실행하는 프로그래밍가능 프로세서에 의해 수행될 수 있다. 설명된 특징들은 유리하게는, 데이터 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령들을 수신하고 그에 데이터 및 명령들을 송신하도록 커플링된 적어도 하나의 프로그래밍가능 프로세서를 포함하는 프로그래밍가능 시스템 상에서 실행가능한 하나 이상의 컴퓨터 프로그램들로 구현될 수 있다. 컴퓨터 프로그램은 특정 활동을 수행하거나 특정 결과를 유발하기 위해 컴퓨터에서 직접 또는 간접적으로 사용될 수 있는 명령들의 세트이다. 컴퓨터 프로그램은 컴파일된 또는 해석된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램 또는 모듈, 컴포넌트, 서브루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛을 포함하는 임의의 형태로 배치될 수 있다.
[0258] 명령들의 프로그램의 실행에 적합한 프로세서들은 예를 들어, 범용 및 특수 목적 마이크로프로세서들 둘 모두, 및 유일한 프로세서 또는 임의의 종류의 컴퓨터의 다수의 프로세서들 중 하나를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령들을 실행하기 위한 프로세서 및 명령들 및 데이터를 저장하기 위한 하나 이상의 메모리들이다. 일반적으로, 컴퓨터는 또한 데이터 파일들을 저장하기 위한 하나 이상의 대용량 저장 디바이스들을 포함하거나, 또는 그와 통신하도록 동작가능하게 커플링될 것이고; 이러한 디바이스들은 자기 디스크들, 예를 들어, 내부 하드 디스크들 및 착탈식 디스크들; 자기-광학 디스크들; 및 광학 디스크들을 포함한다. 컴퓨터 프로그램 명령들 및 데이터를 유형적으로 구현하기에 적합한 저장 디바이스들은, 예를 들어, 반도체 메모리 디바이스들, 이를테면 EPROM, EEPROM 및 플래시 메모리 디바이스들; 자기 디스크들, 이를테면 내부 하드 디스크들 및 착탈식 디스크들; 자기-광학 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태들의 비휘발성 메모리를 포함한다. 프로세서 및 메모리는 ASIC(application-specific integrated circuit)에 의해 보완되거나 그에 통합될 수 있다.
[0259] 사용자와의 상호작용을 제공하기 위해, 특징들은 사용자에게 정보를 디스플레이하기 위한 CRT(cathode ray tube), LCD(liquid crystal display), LED(light emitting diode) 모니터와 같은 디스플레이 디바이스 및 키보드 및 포인팅 디바이스, 예를 들어, 사용자가 컴퓨터에 입력을 제공할 수 있도록 하는 마우스 또는 트랙볼을 갖는 컴퓨터 상에서 구현될 수 있다.
[0260] 특징들은, 백엔드 컴포넌트, 예를 들어, 데이터 서버를 포함하거나, 또는 미들웨어 컴포넌트, 예를 들어, 애플리케이션 서버 또는 인터넷 서버를 포함하거나, 또는 프론트엔드 컴포넌트, 예를 들어, 그래픽 사용자 인터페이스 또는 인터넷 브라우저를 갖는 클라이언트 컴퓨터 또는 이들의 임의의 조합을 포함하는 컴퓨터 시스템으로 구현될 수 있다. 시스템의 컴포넌트들은 임의의 형태 또는 매체의 디지털 데이터 통신, 예를 들어, 통신 네트워크에 의해 연결될 수 있다. 통신 네트워크들의 예들은, LAN, WAN, 및 인터넷을 형성하는 컴퓨터들 및 네트워크들을 포함한다.
[0261] 컴퓨터 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 원격이고, 통상적으로 설명된 네트워크와 같은 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는, 각각의 컴퓨터들 상에서 실행되고 서로에 대해 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해 발생한다. 앞서 몇몇 구현들이 상세히 설명되었지만, 다른 수정들이 가능하다.
[0262] 또한, 도면들에 도시된 논리 흐름들은, 바람직한 결과들을 달성하기 위해, 도시된 특정 순서 또는 순차적인 순서를 요구하지 않는다. 또한, 다른 단계들이 제공될 수 있거나, 설명된 흐름들로부터 단계들이 제거될 수 있고, 다른 컴포넌트들이 설명된 시스템들에 추가되거나 그로부터 제거될 수 있다. 따라서, 다른 구현들은 다음의 청구항들의 범위 내에 존재한다.
[0263] 컴포넌트들은 특정 동작들을 수행하도록 구성되는 것으로 설명되었지만, 이러한 구성은 예를 들어, 동작을 수행하도록 전자 회로들 또는 다른 하드웨어를 설계함으로써, 동작을 수행하도록 프로그래밍가능한 전자 회로들(예를 들어, 마이크로프로세서들, 또는 다른 적절한 전자 회로들)을 프로그래밍함으로써, 또는 이들의 임의의 조합으로 달성될 수 있다.
[0264] 본 개시의 다수의 실시예들이 설명되었다. 그럼에도 불구하고, 본 개시의 범위를 벗어나지 않고 다양한 수정이 행해질 수 있음이 이해될 것이다.

Claims (30)

  1. 방법으로서,
    콘텐츠 캡처 디바이스에 의해 캡처된 이미지를 수신하는 단계 ― 상기 이미지는 복수의 픽셀들을 포함함 ―;
    상기 이미지에 대한 타겟 루마 값을 식별하는 단계;
    상기 이미지 내에서 객체를 식별하는 단계;
    상기 이미지의 상기 복수의 픽셀들을 복수의 픽셀 그룹들로 분할하는 단계;
    상기 복수의 픽셀 그룹들 각각에 대해 픽셀 그룹 루마 값을 계산하는 단계;
    상기 객체와 연관되지 않은 제1 세트의 픽셀 그룹들을 정의하는 단계;
    상기 제1 세트의 픽셀 그룹들 내의 픽셀 그룹들 각각에 대한 가중치들을 설정하는 단계;
    상기 객체와 연관된 제2 세트의 픽셀 그룹들을 정의하는 단계;
    상기 제2 세트의 픽셀 그룹들 내의 픽셀 그룹들 각각에 대한 가중치들을 설정하는 단계;
    상기 복수의 픽셀 그룹들 각각에 대해, 상기 가중치 및 상기 픽셀 그룹 루마 값을 사용하여 이미지 루마 값을 계산하는 단계;
    상기 이미지 루마 값과 상기 타겟 루마 값 사이의 차이를 컴퓨팅하는 단계; 및
    상기 컴퓨팅된 차이에 기초하여 상기 콘텐츠 캡처 디바이스의 세팅을 업데이트하는 단계를 포함하는,
    방법.
  2. 제1항에 있어서,
    상기 제2 세트의 픽셀 그룹들 내의 상기 픽셀 그룹들에 대한 가중치들은 상기 제2 세트의 픽셀 그룹들과 상기 객체 사이의 연관에 기초하는,
    방법.
  3. 제1항에 있어서,
    상기 세팅은 이득 또는 노출과 관련되는,
    방법.
  4. 제1항에 있어서,
    상기 이미지 내에서 제2 객체를 식별하는 단계;
    상기 제2 객체와 연관된 제3 세트의 픽셀 그룹들을 정의하는 단계; 및
    상기 제3 세트의 픽셀 그룹들 내의 픽셀 그룹들 각각에 대한 가중치들을 설정하는 단계를 더 포함하는,
    방법.
  5. 제1항에 있어서,
    상기 타겟 루마 값은 상기 콘텐츠 캡처 디바이스의 노출 세팅 또는 이득 세팅 중 적어도 하나에 기초하여 결정되는,
    방법.
  6. 제1항에 있어서,
    상기 제1 픽셀 그룹 내의 픽셀들의 수는 상기 제2 픽셀 그룹 내의 픽셀들의 수와 동일한,
    방법.
  7. 제1항에 있어서,
    제1 픽셀 그룹은, 제2 픽셀 그룹과 상이한,
    방법.
  8. 제1항에 있어서,
    상기 객체와 연관된 추가적인 정보를 식별하는 단계를 더 포함하는,
    방법.
  9. 제8항에 있어서,
    상기 추가적인 정보는 상기 객체와 연관된 카테고리, 상기 객체의 크기, 상기 콘텐츠 캡처 디바이스로부터 상기 객체의 거리, 또는 상기 객체가 상기 콘텐츠 캡처 디바이스의 포커스 레티클로부터 위치된 거리이고, 상기 제1 세트의 픽셀 그룹들 내의 상기 픽셀 그룹들 각각에 대한 가중치들은 상기 추가적인 정보에 기초하는,
    방법.
  10. 제8항에 있어서,
    상기 제1 세트의 픽셀 그룹들 내의 상기 픽셀 그룹들 각각에 대한 가중치들은 적어도 부분적으로 상기 추가적인 정보에 기초하는,
    방법.
  11. 제1항에 있어서,
    사용자가 보고있는 방향을 식별하는 단계;
    상기 사용자가 보고있는 방향에 대응하는 상기 이미지 상의 위치를 결정하는 단계; 및
    상기 위치로부터 상기 객체가 위치된 거리를 결정하는 단계를 더 포함하고, 상기 제1 세트의 픽셀 그룹들 내의 상기 픽셀 그룹들 각각에 대한 가중치들은 상기 거리에 기초하는,
    방법.
  12. 제1항에 있어서,
    상기 이미지는 사용자에게 제시되지 않는,
    방법.
  13. 방법으로서,
    콘텐츠 캡처 디바이스에 의해 캡처된 이미지를 수신하는 단계 ― 상기 이미지는 복수의 픽셀들을 포함함 ―;
    상기 이미지에 대한 타겟 루마 값을 식별하는 단계;
    상기 이미지 내에서 객체를 식별하는 단계;
    상기 객체의 하나 이상의 속성들을 식별하는 단계;
    신경 네트워크를 사용하여 상기 객체에 대한 가중치를 계산하는 단계 ― 상기 신경 네트워크는 상기 하나 이상의 속성들을 입력으로서 사용함 ―;
    상기 이미지의 상기 복수의 픽셀들을 복수의 픽셀 그룹들로 분할하는 단계;
    상기 객체와 연관되지 않은 제1 세트의 픽셀 그룹들을 정의하는 단계;
    상기 객체와 연관된 제2 세트의 픽셀 그룹들을 정의하는 단계;
    상기 제2 세트의 픽셀 그룹들의 각각의 픽셀 그룹에 대해,
    픽셀 그룹 루마 값을 계산하는 단계; 및
    가중된 픽셀 그룹 루마 값을 제공하기 위해 상기 픽셀 그룹 루마 값을 상기 가중치와 곱하는 단계;
    상기 이미지에 대한 총 루마 값을 계산하는 단계 ― 상기 총 루마 값은 상기 가중된 픽셀 그룹 루마 값들의 합산을 포함함 ―;
    상기 총 루마 값과 상기 타겟 루마 값 사이의 차이를 컴퓨팅하는 단계; 및
    상기 컴퓨팅된 차이에 기초하여 상기 콘텐츠 캡처 디바이스의 세팅을 업데이트하는 단계를 포함하는,
    방법.
  14. 제13항에 있어서,
    상기 이미지 내에서 제2 객체를 식별하는 단계;
    상기 제2 객체의 하나 이상의 속성들을 식별하는 단계;
    상기 제2 객체와 연관된 제3 세트의 픽셀 그룹들을 정의하는 단계;
    제2 신경 네트워크를 사용하여 상기 제2 객체에 대한 가중치를 계산하는 단계 ― 상기 제2 신경 네트워크는 상기 제2 객체의 상기 하나 이상의 속성들을 입력으로서 사용함 ―; 및
    상기 제3 세트의 픽셀 그룹들의 각각의 픽셀 그룹에 대해,
    제2 픽셀 그룹 루마 값을 계산하는 단계; 및
    가중된 제2 픽셀 그룹 루마 값을 제공하기 위해 상기 제2 픽셀 그룹 루마 값을 상기 제2 객체에 대한 상기 가중치와 곱하는 단계를 더 포함하고, 상기 총 루마 값은 가중된 제2 픽셀 그룹 루마 값들의 합산을 더 포함하는,
    방법.
  15. 제13항에 있어서,
    상기 신경 네트워크는 다중 계층 퍼셉트론(perceptron)인,
    방법.
  16. 제13항에 있어서,
    상기 객체의 상기 하나 이상의 속성들 중의 속성은 객체 우선순위, 뷰어(viewer)로부터의 객체 거리, 레티클로부터의 객체 거리, 눈 시선으로부터의 객체 거리 또는 객체 크기를 포함하는,
    방법.
  17. 제13항에 있어서,
    상기 타겟 루마 값은 시야에 기초하는,
    방법.
  18. 제13항에 있어서,
    상기 콘텐츠 캡처 디바이스의 세팅은 노출 또는 이득과 연관되는,
    방법.
  19. 제13항에 있어서,
    상기 복수의 픽셀 그룹들의 각각의 픽셀 그룹은 동일한 크기인,
    방법.
  20. 방법으로서,
    콘텐츠 캡처 디바이스에 의해 캡처된 제1 이미지를 수신하는 단계;
    상기 제1 이미지에서 미리 결정된 수의 우선순위 객체들을 식별하는 단계 ― 상기 미리 결정된 수는 2 이상임 ―;
    상기 미리 결정된 수의 우선순위 객체들 각각에 대해, 상기 콘텐츠 캡처 디바이스의 하나 이상의 세팅들에 대한 하나 이상의 업데이트들을 결정하는 단계;
    반복적으로,
    상기 하나 이상의 업데이트들 각각을 사용하여 상기 콘텐츠 캡처 디바이스를 업데이트하는 단계; 및
    상기 하나 이상의 업데이트들 각각을 사용하여 상기 콘텐츠 캡처 디바이스에 의해 캡처된 미리 결정된 수의 이미지들을 수신하는 단계; 및
    합성 이미지를 형성하기 위해 상기 미리 결정된 수의 이미지들을 함께 스티칭(stitching)하는 단계를 포함하는,
    방법.
  21. 제20항에 있어서,
    상기 합성 이미지를 디스플레이하는 단계를 더 포함하는,
    방법.
  22. 제20항에 있어서,
    상기 제1 이미지는 미리 결정된 수의 부분들을 포함하고, 상기 미리 결정된 수의 부분들 각각은 상기 미리 결정된 수의 우선순위 객체들 중 하나와 연관되는,
    방법.
  23. 제22항에 있어서,
    상기 미리 결정된 수의 이미지들을 함께 스티칭하는 단계는 상기 미리 결정된 수의 부분들을 조합하는 단계를 포함하는,
    방법.
  24. 제20항에 있어서,
    상기 하나 이상의 세팅들 중의 세팅들은 노출 또는 이득과 연관되는,
    방법.
  25. 제20항에 있어서,
    상기 하나 이상의 업데이트들 중 하나 이상은 신경 네트워크를 사용하여 결정되는,
    방법.
  26. 제20항에 있어서,
    상기 하나 이상의 업데이트들 중 하나의 업데이트는 상기 하나 이상의 업데이트들 중 다른 업데이트와 상이한,
    방법.
  27. 제20항에 있어서,
    상기 제1 이미지 및 상기 미리 결정된 수의 이미지들은 동일한 시야 내에 있는,
    방법.
  28. 방법으로서,
    콘텐츠 캡처 디바이스에 의해 캡처된 이미지를 수신하는 단계 ― 상기 이미지는 복수의 픽셀들을 포함함 ―;
    상기 이미지에 대한 타겟 루마 값을 식별하는 단계;
    상기 이미지의 상기 복수의 픽셀들을 복수의 픽셀 그룹들로 분할하는 단계;
    상기 복수의 픽셀 그룹들 각각에 대해 픽셀 그룹 루마 값을 계산하는 단계;
    상기 이미지에서 위치를 식별하는 단계 ― 상기 위치는, 상기 이미지에 대응하는 환경에서 사용자가 보고있는 포인트에 대응함 ―;
    상기 식별된 위치에 기초하여 상기 복수의 픽셀 그룹들 각각에 대한 가중치들을 설정하는 단계;
    상기 복수의 픽셀 그룹들 각각에 대해, 상기 가중치 및 상기 픽셀 그룹 루마 값을 사용하여 이미지 루마 값을 계산하는 단계;
    상기 이미지 루마 값과 상기 타겟 루마 값 사이의 차이를 컴퓨팅하는 단계; 및
    상기 컴퓨팅된 차이에 기초하여 상기 콘텐츠 캡처 디바이스의 세팅을 업데이트하는 단계를 포함하는,
    방법.
  29. 제28항에 있어서,
    상기 위치는 상기 사용자의 하나 이상의 눈들의 이미지에 기초하여 식별되는,
    방법.
  30. 제28항에 있어서,
    상기 위치는 상기 사용자의 시선의 방향에 기초하여 식별되는,
    방법.
KR1020247013313A 2016-12-23 2017-12-13 콘텐츠 캡처 디바이스에 대한 세팅들을 결정하기 위한 기술들 KR20240056796A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662438926P 2016-12-23 2016-12-23
US62/438,926 2016-12-23
PCT/US2017/066195 WO2018118597A1 (en) 2016-12-23 2017-12-13 Techniques for determining settings for a content capture device
KR1020197021337A KR102660857B1 (ko) 2016-12-23 2017-12-13 콘텐츠 캡처 디바이스에 대한 세팅들을 결정하기 위한 기술들

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020197021337A Division KR102660857B1 (ko) 2016-12-23 2017-12-13 콘텐츠 캡처 디바이스에 대한 세팅들을 결정하기 위한 기술들

Publications (1)

Publication Number Publication Date
KR20240056796A true KR20240056796A (ko) 2024-04-30

Family

ID=62625040

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197021337A KR102660857B1 (ko) 2016-12-23 2017-12-13 콘텐츠 캡처 디바이스에 대한 세팅들을 결정하기 위한 기술들
KR1020247013313A KR20240056796A (ko) 2016-12-23 2017-12-13 콘텐츠 캡처 디바이스에 대한 세팅들을 결정하기 위한 기술들

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020197021337A KR102660857B1 (ko) 2016-12-23 2017-12-13 콘텐츠 캡처 디바이스에 대한 세팅들을 결정하기 위한 기술들

Country Status (9)

Country Link
US (3) US10701276B2 (ko)
EP (2) EP4075779A3 (ko)
JP (2) JP7285778B2 (ko)
KR (2) KR102660857B1 (ko)
CN (2) CN116886835A (ko)
AU (2) AU2017382721B2 (ko)
CA (1) CA3046966A1 (ko)
IL (2) IL296495B1 (ko)
WO (1) WO2018118597A1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11113821B2 (en) * 2017-12-20 2021-09-07 Duelight Llc System, method, and computer program for adjusting image contrast using parameterized cumulative distribution functions
US20190215440A1 (en) * 2018-01-10 2019-07-11 Duelight Llc Systems and methods for tracking a region using an image sensor
KR102660857B1 (ko) 2016-12-23 2024-04-24 매직 립, 인코포레이티드 콘텐츠 캡처 디바이스에 대한 세팅들을 결정하기 위한 기술들
TWI748035B (zh) * 2017-01-20 2021-12-01 日商半導體能源硏究所股份有限公司 顯示系統及電子裝置
US20180241927A1 (en) * 2017-02-23 2018-08-23 Motorola Mobility Llc Exposure Metering Based On Depth Map
JPWO2018186255A1 (ja) * 2017-04-06 2019-06-27 日鉄ソリューションズ株式会社 情報処理装置、情報処理方法、プログラム、及び、記録媒体
DE102017116849A1 (de) * 2017-07-25 2019-01-31 Mekra Lang Gmbh & Co. Kg Indirektes Sichtsystem für ein Fahrzeug
US20190126941A1 (en) * 2017-10-31 2019-05-02 Wipro Limited Method and system of stitching frames to assist driver of a vehicle
EP3914997A4 (en) 2019-01-25 2022-10-12 Magic Leap, Inc. OCULOMETRY USING IMAGES WITH DIFFERENT EXPOSURE TIMES
WO2020236827A1 (en) 2019-05-20 2020-11-26 Magic Leap, Inc. Systems and techniques for estimating eye pose
TWI700929B (zh) * 2019-06-11 2020-08-01 晶睿通訊股份有限公司 曝光補償方法及其攝影設備
US11164367B2 (en) 2019-07-17 2021-11-02 Google Llc Illumination effects from luminous inserted content
TWI731442B (zh) * 2019-10-18 2021-06-21 宏碁股份有限公司 電子裝置及其利用觸控資料的物件資訊辨識方法
CN110891149B (zh) * 2019-11-13 2021-07-23 深圳市道通智能航空技术股份有限公司 高动态范围图像自动曝光方法及无人飞行器
US11503204B2 (en) 2019-12-19 2022-11-15 Magic Leap, Inc. Gradient-based exposure and gain control techniques
KR20210109275A (ko) 2020-02-27 2021-09-06 삼성전자주식회사 사용자의 관심 객체를 예측하는 방법 및 장치
US11998275B2 (en) 2020-07-15 2024-06-04 Magic Leap, Inc. Eye tracking using aspheric cornea model
KR102478814B1 (ko) * 2020-08-14 2022-12-19 주식회사 지디에프랩 이미지 분할 기반 해상도 개선 방법 및 장치
CN112822425B (zh) * 2020-12-30 2023-01-06 上海掌门科技有限公司 一种用于生成高动态范围图像的方法与设备
CN112839181B (zh) * 2020-12-30 2022-10-11 上海掌门科技有限公司 一种用于生成高动态范围图像的方法与设备
CN112822426B (zh) * 2020-12-30 2022-08-30 上海掌门科技有限公司 一种用于生成高动态范围图像的方法与设备
CN114727024A (zh) * 2021-01-05 2022-07-08 广州汽车集团股份有限公司 自动曝光参数调节方法、装置、存储介质及拍摄设备
US11756221B2 (en) * 2021-01-28 2023-09-12 Qualcomm Incorporated Image fusion for scenes with objects at multiple depths
JP2022186166A (ja) * 2021-06-04 2022-12-15 キヤノン株式会社 撮像装置、その制御方法、プログラムおよび記憶媒体
US20230388673A1 (en) * 2022-05-25 2023-11-30 Qualcomm Incorporated Patch-based image sensor
WO2024025851A1 (en) * 2022-07-26 2024-02-01 Becton, Dickinson And Company System and method for estimating object distance and/or angle from an image capture device
US20240096049A1 (en) * 2022-09-19 2024-03-21 Qualcomm Incorporated Exposure control based on scene depth

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2023408A1 (de) 1969-06-17 1971-01-07 Burroughs Corp , Detroit, Mich (VStA) Magnetkopf mit Vielfachwandler
JPS5949685A (ja) 1982-09-14 1984-03-22 富士電機株式会社 自動販売機の制御装置
US5033029A (en) * 1983-05-12 1991-07-16 Westinghouse Electric Corp. Interlaced sonar system
JPS6423324A (en) 1987-07-17 1989-01-26 Ricoh Kk Data processor
JPH04163537A (ja) * 1990-10-29 1992-06-09 Nikon Corp 視線検知手段を有する多点測距装置
JPH04149413A (ja) * 1990-10-12 1992-05-22 Nikon Corp 視線検出手段を備えたカメラ
US5333029A (en) * 1990-10-12 1994-07-26 Nikon Corporation Camera capable of detecting eye-gaze
JPH055925A (ja) * 1990-10-25 1993-01-14 Nikon Corp 視線検知装置を備えたカメラの露出演算装置
JPH06326919A (ja) * 1993-05-13 1994-11-25 Sanyo Electric Co Ltd 自動露出調節装置
JPH1023324A (ja) * 1996-07-03 1998-01-23 Matsushita Electric Ind Co Ltd 撮像装置
JP4163537B2 (ja) 2003-03-12 2008-10-08 株式会社リコー 画像読取装置
JP4149413B2 (ja) 2004-05-21 2008-09-10 日信工業株式会社 炭素繊維複合材料及びその製造方法
JP2006108759A (ja) 2004-09-30 2006-04-20 Fuji Photo Film Co Ltd 撮像装置
US8009871B2 (en) 2005-02-08 2011-08-30 Microsoft Corporation Method and system to segment depth images and to detect shapes in three-dimensionally acquired data
US7903141B1 (en) 2005-02-15 2011-03-08 Videomining Corporation Method and system for event detection by multi-scale image invariant analysis
JP5005925B2 (ja) 2005-03-01 2012-08-22 株式会社リコー デジタルカメラ
US7683964B2 (en) * 2005-09-05 2010-03-23 Sony Corporation Image capturing apparatus and image capturing method
JP4872277B2 (ja) * 2005-09-05 2012-02-08 ソニー株式会社 撮像装置および撮像方法
JP2007074163A (ja) * 2005-09-05 2007-03-22 Sony Corp 撮像装置および撮像方法
JP4422667B2 (ja) 2005-10-18 2010-02-24 富士フイルム株式会社 撮影装置および撮影方法
US7821570B2 (en) * 2005-11-30 2010-10-26 Eastman Kodak Company Adjusting digital image exposure and tone scale
JP4656657B2 (ja) * 2006-07-31 2011-03-23 キヤノン株式会社 撮像装置及びその制御方法
JP4767904B2 (ja) 2007-05-10 2011-09-07 富士フイルム株式会社 撮像装置及び撮像方法
US8165416B2 (en) * 2007-06-29 2012-04-24 Microsoft Corporation Automatic gain and exposure control using region of interest detection
TWI369123B (en) * 2007-08-20 2012-07-21 Holtek Semiconductor Inc Method for determining image condition and controlling exposure thereof
TWI395483B (zh) * 2009-05-25 2013-05-01 Visionatics Inc 使用適應性背景模型之移動物體偵測方法及其電腦程式產品
US8515137B2 (en) * 2010-05-03 2013-08-20 Microsoft Corporation Generating a combined image from multiple images
US8488958B2 (en) * 2010-05-25 2013-07-16 Apple Inc. Scene adaptive auto exposure
US9813632B2 (en) 2011-05-19 2017-11-07 Foveon, Inc. Method of adjusting digital camera image processing parameters
JP6046905B2 (ja) * 2012-04-02 2016-12-21 キヤノン株式会社 撮像装置、露出制御方法、及びプログラム
JP6218389B2 (ja) * 2013-02-07 2017-10-25 キヤノン株式会社 画像処理装置及び画像処理方法
US9363446B2 (en) * 2013-04-15 2016-06-07 Htc Corporation Automatic exposure control for sequential images
KR102062921B1 (ko) 2013-05-14 2020-01-06 현대모비스 주식회사 다수 영상의 밝기 균일화 방법
JP2015032966A (ja) * 2013-08-01 2015-02-16 キヤノン株式会社 画像処理装置、撮像装置、制御方法、及びプログラム
EP2916325A1 (en) * 2014-03-06 2015-09-09 Thomson Licensing Method and device for processing a picture
US9232150B2 (en) 2014-03-12 2016-01-05 Apple Inc. System and method for estimating an ambient light condition using an image sensor
JP6326919B2 (ja) 2014-04-02 2018-05-23 大日本印刷株式会社 太陽電池モジュール用の封止材シート
CN106416217A (zh) * 2014-04-17 2017-02-15 索尼公司 照相机的深度辅助场景识别
JP6562770B2 (ja) * 2015-08-24 2019-08-21 キヤノン株式会社 画像処理装置及び画像処理方法、プログラム、記憶媒体
KR101679279B1 (ko) * 2015-09-10 2016-11-24 한국과학기술원 카메라 노출 조절 장치 및 방법
JP6723092B2 (ja) * 2016-06-24 2020-07-15 キヤノン株式会社 撮像装置およびその制御方法ならびにプログラム
KR102660857B1 (ko) 2016-12-23 2024-04-24 매직 립, 인코포레이티드 콘텐츠 캡처 디바이스에 대한 세팅들을 결정하기 위한 기술들
US11503204B2 (en) 2019-12-19 2022-11-15 Magic Leap, Inc. Gradient-based exposure and gain control techniques

Also Published As

Publication number Publication date
JP2020504868A (ja) 2020-02-13
KR102660857B1 (ko) 2024-04-24
CA3046966A1 (en) 2018-06-28
EP3559862A1 (en) 2019-10-30
AU2022291545A1 (en) 2023-02-02
IL296495B1 (en) 2024-03-01
WO2018118597A1 (en) 2018-06-28
JP7472204B2 (ja) 2024-04-22
US20180183986A1 (en) 2018-06-28
JP7285778B2 (ja) 2023-06-02
IL296495A (en) 2022-11-01
EP4075779A3 (en) 2022-12-21
US10701276B2 (en) 2020-06-30
EP3559862A4 (en) 2020-03-11
CN116886835A (zh) 2023-10-13
US11303818B2 (en) 2022-04-12
IL267412A (en) 2019-08-29
IL267412B2 (en) 2023-02-01
KR20190099485A (ko) 2019-08-27
JP2022172105A (ja) 2022-11-15
IL267412B (en) 2022-10-01
CN110100252B (zh) 2023-07-25
CN110100252A (zh) 2019-08-06
US11968456B2 (en) 2024-04-23
AU2017382721B2 (en) 2022-09-29
AU2017382721A1 (en) 2019-06-20
EP3559862B1 (en) 2022-06-15
EP4075779A2 (en) 2022-10-19
US20220303446A1 (en) 2022-09-22
US20200351427A1 (en) 2020-11-05

Similar Documents

Publication Publication Date Title
KR102660857B1 (ko) 콘텐츠 캡처 디바이스에 대한 세팅들을 결정하기 위한 기술들
US11138796B2 (en) Systems and methods for contextually augmented video creation and sharing
JP6961797B2 (ja) プレビュー写真をぼかすための方法および装置ならびにストレージ媒体
CN112492388B (zh) 视频处理方法、装置、设备以及存储介质
JP2017059235A (ja) イメージの明るさを調整する方法及び装置
JP6953128B2 (ja) 画像処理装置、制御方法、及びプログラム
US10176616B2 (en) Automatic capture and refinement of a digital image of a group of people without user intervention
KR101725884B1 (ko) 이미지들에 대한 자동 프로세싱
US20200336656A1 (en) Systems and methods for real time screen display coordinate and shape detection
CN104751406A (zh) 一种用于对图像进行虚化的方法和装置
JP2017076288A (ja) 情報処理装置、情報処理方法及びプログラム
KR20210067864A (ko) 적응적 포커스 범위 및 계층화 스캐터링을 이용한 보케 이미지들의 생성
EP3905135A1 (en) Edge learning display device and method
US10887525B2 (en) Delivery of notifications for feedback over visual quality of images
JP2016219879A (ja) 画像処理装置、画像処理方法及びプログラム
US20240223906A1 (en) Techniques for determining settings for a content capture device
JP6952298B2 (ja) 視線変換装置及び視線変換方法
NZ795514A (en) Techniques for determining settings for a content capture device
JP6632134B2 (ja) 画像処理装置、画像処理方法およびコンピュータプログラム

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination