KR20230074136A - 세일리언시 기반 캡처 또는 이미지 프로세싱 - Google Patents

세일리언시 기반 캡처 또는 이미지 프로세싱 Download PDF

Info

Publication number
KR20230074136A
KR20230074136A KR1020237009576A KR20237009576A KR20230074136A KR 20230074136 A KR20230074136 A KR 20230074136A KR 1020237009576 A KR1020237009576 A KR 1020237009576A KR 20237009576 A KR20237009576 A KR 20237009576A KR 20230074136 A KR20230074136 A KR 20230074136A
Authority
KR
South Korea
Prior art keywords
saliency
image
additional
map
maps
Prior art date
Application number
KR1020237009576A
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 KR20230074136A publication Critical patent/KR20230074136A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B13/00Viewfinders; Focusing aids for cameras; Means for focusing for cameras; Autofocus systems for cameras
    • G03B13/32Means for focusing
    • G03B13/34Power focusing
    • G03B13/36Autofocus systems
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B3/00Focusing arrangements of general interest for cameras, projectors or printers
    • G03B3/10Power-operated focusing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • H04N23/55Optical parts specially adapted for electronic image sensors; Mounting thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/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
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • H04N23/632Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters for displaying or modifying preview images prior to image capturing, e.g. variety of image resolutions or capturing parameters
    • 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/67Focus control based on electronic image sensor signals
    • 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/67Focus control based on electronic image sensor signals
    • H04N23/672Focus control based on electronic image sensor signals based on the phase difference signals
    • 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/695Control of camera direction for changing a field of view, e.g. pan, tilt or based on tracking of objects
    • 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
    • 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/80Camera processing pipelines; Components thereof
    • 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/84Camera processing pipelines; Components thereof for processing colour signals
    • H04N23/88Camera processing pipelines; Components thereof for processing colour signals for colour balance, e.g. white-balance circuits or colour temperature control

Abstract

이미지 캡처를 위한 디바이스는, 메모리 및 메모리에 커플링된 하나 이상의 프로세서를 포함하고, 하나 이상의 프로세서는, 프리뷰 모드 또는 레코딩 동안, 제 1 이미지를 수신하고, 제 1 이미지 내의 상이한 영역들의 상대적 세일리언시(saliency)를 표시하는 제 1 세일리언시 맵을 생성하는 것으로서, 상이한 영역들의 상대적 세일리언시는 뷰어 시선을 끌 가능성을 표시하는, 상기 제 1 세일리언시 맵을 생성하고, 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 하나 이상의 부가 이미지를 생성하고, 하나 이상의 부가 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 하나 이상의 부가 세일리언시 맵을 생성하며, 그리고 프리뷰 모드 또는 레코딩 동안, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 설정을 결정하도록 구성된다.

Description

세일리언시 기반 캡처 또는 이미지 프로세싱
본 출원은 2021 년 9 월 21 일 출원된 미국 출원 제 17/480,970 호, 및 2020 년 9 월 25 일 출원된 미국 가출원 제 63/083,579 호에 대한 우선권을 주장하며, 이 출원들 각각의 전체 내용은 본 명세서에 참조로 통합된다. 미국 출원 제 17/480,970 호는 2020 년 9 월 25 일 출원된 미국 가출원 제 63/083,579 호의 이익을 주장한다.
기술분야
본 개시는 캡처 또는 이미지 프로세싱에 관한 것이다.
카메라 디바이스는 프레임들 (예를 들어, 이미지들) 을 캡처하는 하나 이상의 카메라를 포함한다. 카메라 디바이스의 예는 독립형 디지털 카메라 또는 디지털 비디오 캠코더, 카메라장착형 무선 통신 디바이스 핸드셋, 예컨대 하나 이상의 카메라를 갖는 모바일 폰, 셀룰러 또는 위성 라디오 전화, 카메라장착형 개인용 디지털 보조기 (personal digital assistant; PDA), 컴퓨팅 패널 또는 태블릿, 게이밍 디바이스, 소위 "웹-캡" 과 같은 카메라를 포함하는 컴퓨터 디바이스 또는 디지털 이미징 또는 비디오 능력들을 갖는 임의의 디바이스를 포함할 수도 있다.
카메라 디바이스는 캡처된 프레임들을 프로세싱하고 디스플레이를 위해 프레임들을 출력한다. 일부 예들에서, 카메라 디바이스는 고품질 이미지들을 캡처하기 위해 노출, 포커스, 및 화이트 밸런스를 제어한다.
일반적으로, 본 개시는 세일리언시 기반 캡처 또는 이미지 프로세싱을 위한 기법들을 설명한다. 세일리언시는 눈에 띄고 뷰어의 주의를 끄는 엘리먼트들과 같은, 이미지에서의 뷰어의 초점들을 지칭할 수도 있다. 세일리언시 맵은 뷰어 시선을 끌 때 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시할 수도 있다.
더 상세히 설명되는 바와 같이, 하나 이상의 프로세서는 제 1 이미지에 대한 제 1 세일리언시 맵을 생성하고, 하나 이상의 부가 이미지 각각에 대한 하나 이상의 세일리언시 맵을 생성하도록 구성될 수도 있다. 하나 이상의 부가 이미지는 제 1 이미지에서의 픽셀들을 조작하는 것에 기초할 수도 있다. 하나 이상의 프로세서는 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 설정 (예를 들어, 오토포커스 설정, 오토노출 설정 등) 을 결정할 수도 있다.
예를 들어, 디바이스는 카메라에 대한 카메라 설정을 결정하기 위해 제 1 세일리언시 맵과 하나 이상의 부가 세일리언시 맵을 비교할 수도 있다. 일부 예들에서, 세일리언트 영역들은 상이한 깊이들에 있을 수도 있다. 제 1 세일리언시 맵과 하나 이상의 부가 세일리언시 맵을 비교함으로써, 디바이스는 세일리언시 영역의 깊이를 확인하고, 정확한 깊이에 기초하여 카메라 설정을 결정할 수도 있다. 환언하면, 디바이스는 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 가장 세일리언트한 깊이를 결정하고, 그리고 결정된 가장 세일리언트한 깊이에 기초하여 카메라 설정을 결정할 수도 있다.
일 예에서, 본 개시는 이미지 캡처를 위한 디바이스를 설명하며, 디바이스는, 메모리; 및 메모리에 커플링된 하나 이상의 프로세서를 포함하고, 하나 이상의 프로세서는, 프리뷰 모드 또는 레코딩 동안, 제 1 이미지를 수신하고, 제 1 이미지 내의 상이한 영역들의 상대적 세일리언시(saliency)를 표시하는 제 1 세일리언시 맵을 생성하는 것으로서, 상이한 영역들의 상대적 세일리언시는 뷰어 시선을 끌 가능성을 표시하는, 상기 제 1 세일리언시 맵을 생성하고, 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 하나 이상의 부가 이미지를 생성하고, 하나 이상의 부가 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 하나 이상의 부가 세일리언시 맵을 생성하며, 그리고 프리뷰 모드 또는 레코딩 동안, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 설정을 결정하도록 구성된다.
일 예에서, 본 개시는 이미지 캡처를 위한 방법을 설명하며, 방법은, 프리뷰 모드 또는 레코딩 동안, 제 1 이미지를 수신하는 단계; 제 1 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 제 1 세일리언시 맵을 생성하는 단계로서, 상이한 영역들의 상대적 세일리언시는 뷰어 시선을 끌 가능성을 표시하는, 상기 제 1 세일리언시 맵을 생성하는 단계; 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 하나 이상의 부가 이미지를 생성하는 단계; 하나 이상의 부가 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 하나 이상의 부가 세일리언시 맵을 생성하는 단계; 및 프리뷰 모드 또는 레코딩 동안, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 설정을 결정하는 단계를 포함한다.
일 예에서, 본 개시는 명령들을 저장하는 컴퓨터 판독가능 저장 매체를 설명하며, 명령들은, 실행될 때, 하나 이상의 프로세서로 하여금, 프리뷰 모드 또는 레코딩 동안, 제 1 이미지를 수신하게 하고; 제 1 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 제 1 세일리언시 맵을 생성하게 하는 것으로서, 상이한 영역들의 상대적 세일리언시는 뷰어 시선을 끌 가능성을 표시하는, 상기 제 1 세일리언시 맵을 생성하게 하고; 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 하나 이상의 부가 이미지를 생성하게 하고; 하나 이상의 부가 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 하나 이상의 부가 세일리언시 맵을 생성하게 하며; 그리고 프리뷰 모드 또는 레코딩 동안, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 설정을 결정하게 한다.
일 예에서, 본 개시는 이미지 캡처를 위한 디바이스를 설명하며, 디바이스는, 프리뷰 모드 또는 레코딩 동안, 제 1 이미지를 수신하는 수단; 제 1 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 제 1 세일리언시 맵을 생성하는 수단으로서, 상이한 영역들의 상대적 세일리언시는 뷰어 시선을 끌 가능성을 표시하는, 상기 제 1 세일리언시 맵을 생성하는 수단; 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 하나 이상의 부가 이미지를 생성하는 수단; 하나 이상의 부가 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 하나 이상의 부가 세일리언시 맵을 생성하는 수단; 및 프리뷰 모드 또는 레코딩 동안, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 설정을 결정하는 수단을 포함한다.
하나 이상의 예의 상세들이 첨부 도면들 및 하기의 설명에서 제시된다. 다른 특징들, 목적들 및 이점들은 설명, 도면들, 및 청구항들로부터 명백해질 것이다.
도 1 은 본 개시에서 설명된 예시의 기법들 중 하나 이상을 수행하도록 구성된 디바이스의 블록 다이어그램이다.
도 2 는 도 1 의 디바이스의 시스템 메모리 및 중앙 프로세싱 유닛 (CPU) 을 더 상세히 도시하는 블록 다이어그램이다.
도 3 은 세일리언시 값들의 함수로서 오토노출을 위해 적용될 스케일링 가중치들을 도시하는 그래프이다.
도 4 는 본 개시에 설명된 하나 이상의 예에 따른 예시의 동작 방법을 도시하는 플로우챠트이다.
도 5 는 본 개시에 설명된 하나 이상의 예에 따른 다른 예의 동작 방법을 도시하는 플로우챠트이다.
도 6 은 본 개시에 설명된 하나 이상의 예에 따른 다른 예의 동작 방법을 도시하는 플로우챠트이다.
도 7 은 본 개시에 설명된 하나 이상의 예에 따른 다른 예의 동작 방법을 도시하는 플로우챠트이다.
도 8 은 본 개시에 설명된 하나 이상의 예에 따른 다른 예의 동작 방법을 도시하는 플로우챠트이다.
도 9 는 본 개시에 설명된 하나 이상의 예에 따른 다른 예의 동작 방법을 도시하는 플로우챠트이다.
도 10a 내지 도 10e 는 세일리언시 맵을 생성 및 활용하는 예들을 도시하는 다이어그램들이다.
도 11 은 오토포커스를 위해 다중의 세일리언시 맵들을 활용하는 예를 도시하는 플로우 다이어그램이다.
도 12 는 오토포커스를 위해 다중의 세일리언시 맵들을 활용하는 부가 예를 도시하는 플로우 다이어그램이다.
본 개시에 설명된 예시의 기법들은 (예를 들어, 프리뷰 모드 또는 레코딩 동안) 뷰어 시선을 끌 때 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 세일리언시 맵을 생성하는 것에 관한 것이다. 예를 들어, 세일리언시 맵은 이미지 내의 상이한 영역들이 뷰어 시선을 끌고 따라서 세일리언트할 확률들을 표시할 수도 있다. 즉, 세일리언시 맵은 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시할 수도 있고, 상이한 영역들의 상대적 세일리언시는 뷰어 시선을 끌 가능성을 표시할 수도 있다.
그 후 카메라 디바이스는 카메라의 포커스 또는 노출과 같은 카메라를 제어하기 위해 세일리언시 맵을 활용할 수도 있다. 일반적으로, 카메라 디바이스는 이미지를 프로세싱 (예를 들어, 캡처 프로세스 또는 이미지 프로세스) 하기 위해 세일리언시 맵을 활용할 수도 있으며, 여기서 이미지를 프로세싱하는 예들은 포커스, 노출, 및 화이트 밸런스를 제어하는 것을 포함한다. 일 예로서, 이미지 캡처 프로세싱을 위해, 카메라 디바이스는 이미지를 캡처하기 위해 오토-화이트 밸런스, 오토포커스, 또는 오토노출을 조정할 수도 있다. 다른 예로서, 이미지 프로세싱을 위해, 카메라 디바이스는 이미지를 인코딩하기 위한 양자화 레벨, 이미지의 줌 또는 크롭 부분을 결정하거나, 또는 다른 영역들에 비해 상대적으로 더 높은 세일리언시를 갖는 영역들에 대한 프로세싱의 양을 증가시킬 수도 있다.
위에 언급된 바와 같이, 세일리언시 맵은 뷰어 시선을 끌 때 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시할 수도 있다. 세일리언시 맵에 기초하여 이미지를 프로세싱함으로써, 예시의 기법들은 세일리언시 맵에 의존하지 않는 이미지 캡처 또는 이미지 프로세싱 기법들과 비교하여 더 시각적으로 만족스러운 이미지들을 생성하는 방식들을 설명한다.
예를 들어, 카메라 디바이스는 비-세일리언트 영역들에 비해 세일리언트 영역들 (예를 들어, 뷰어 시선을 끌 가능성이 더 높은 영역들) 에 대해 더 많이 포커싱하도록 오토포커스를 제어하여, 세일리언트 영역들에서 더 명확하고 선명한 캡처된 이미지를 생성할 수도 있다. 오토노출로, 카메라 디바이스는 이미지 콘텐츠의 어느 영역이 노출될지를 (예를 들어, 미터링 맵을 사용하여) 결정할 수도 있다. 일부 예들에서, 카메라 디바이스는 세일리언트 영역이 적절하게 노출되는 것을 보장하기 위해 노출을 수정할 수도 있다. 일부 예들에서, 미터링 맵은 일반적으로 이미지의 중심을 향해 바이어싱될 수도 있지만, 다른 타입들의 미터링이 가능하다. 예를 들어, 미터링 맵은 어느 부분들이 노출될 것인지를 식별할 수도 있고, 이미지의 중간 영역에 대한 노출이 다른 영역들보다 더 많이 노출됨을 표시할 수도 있지만, 다른 타입들의 미터링 맵들이 가능하다. 본 개시에 설명된 예시의 기법들로, 세일리언시 맵에 기초하여 세일리언트 영역들을 통해 노출이 일정하게 유지되도록 미터링 맵을 스케일링하는 것이 가능할 수도 있다. 세일리언시 맵이 이미지를 프로세싱하는데 사용되는 부가적인 예시의 방식들이 있을 수도 있다.
일부 예들에서, 세일리언시 맵은 카메라가 포커싱해야 하는 이미지에서 세일리언트 영역들을 정확하게 식별하는데 비교적 정확할 수도 있다. 그러나, 상이한 깊이들에서 세일리언트 영역들이 있을 수도 있다 (예를 들어, 상이한 깊이들에서 상이한 오브젝트들을 갖는 다중의 세일리언트 영역들이 있을 수도 있다). 카메라 설정들이 적절한 깊이로 오브젝트들에 대해 포커싱하도록 조정되어야 함을 보장하기 위해, 카메라 디바이스는 하나 이상의 부가 이미지를 생성할 수도 있다. 예를 들어, 이미지는 제 1 이미지로서 간주될 수도 있고, 카메라 디바이스는, 예컨대 제 1 이미지에서의 픽셀들을 조작함으로써, 제 1 이미지에 기초하여 하나 이상의 부가 이미지를 생성할 수도 있다.
카메라 디바이스는 하나 이상의 부가 이미지에서 하나 이상의 부가 세일리언시 맵을 결정할 수도 있다. 더 상세히 설명된 바와 같이, 하나 이상의 예에서, 카메라 디바이스는 상이한 이미지 콘텐츠의 깊이를 결정할 수도 있고, 오토포커스 설정을 결정하기 위한 방식으로서 세일리언시에 기여하는 이미지 콘텐츠를 결정할 수도 있다. 예를 들어, 제 1 깊이에서, 제 1 이미지 콘텐츠로서 표현된 제 1 오브젝트, 및 제 2 깊이에서, 제 2 이미지 콘텐츠로서 표현된 제 2 오브젝트가 있을 수도 있다. 본 개시는 오토포커스가 제 1 이미지의 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵을 어디서 사용해야 하는지를 확인하는 예시의 방식들을 설명한다.
예를 들어, 하기에서 더 상세히 설명되는 바와 같이, 하나 이상의 부가 세일리언시 맵이 제 1 이미지에 대한 제 1 세일리언시 맵과 실질적으로 동일하면, 카메라 디바이스는 오토포커스가 제 1 이미지의 결정된 세일리언트 영역들에 기초해야 함을 확인할 수도 있다. 그러나, 하나 이상의 부가 세일리언시 맵이 제 1 세일리언시 맵과 실질적으로 동일하지 않으면, 카메라 디바이스는 오토포커스가 제 1 이미지의 전경에서의 오브젝트들에 기초하여 결정되어야 한다고 결정할 수도 있다. 이러한 방식으로, 카메라 디바이스의 오토포커스 동작은 포커스가 세일리언트하지 않은 영역들에 있지 않음을 보장함으로써 개선될 수도 있다.
제 1 세일리언시 맵이 하나 이상의 부가 세일리언시 맵과 실질적으로 동일한지 또는 실질적으로 동일하지 않은지를 결정하는 하나의 예시의 방식은, 제 1 세일리언시 맵과 하나 이상의 부가 세일리언시 맵 사이의 차이를 결정하는 것, 및 차이가 임계치 미만이거나 임계치보다 크다고 결정하는 것에 기초할 수도 있다. 상술한 바와 같이, 하나 이상의 부가 이미지는 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 생성될 수도 있다. 제 1 이미지에서의 픽셀들을 조작하는 하나의 예시의 방식은 (예를 들어, 픽셀들의 상대적 거리들을 결정하는 위상 검출 오토포커스 (PDAF) 기법들에 기초하는 것과 같은) 제 1 이미지에서의 오브젝트들의 픽셀들을 결정하고 (예를 들어, 전경에서의 오브젝트들에 대한 픽셀들을 인페인팅하는 것에 의해서와 같은) 전경에서의 오브젝트들에 대한 픽셀들을 조작하는 것이다. 인페인팅에서, 인페인팅될 픽셀들은 제거되고 전경에서 오브젝트의 픽셀들에 이웃하는 픽셀들의 블렌딩 (예를 들어, 적색, 청색 및 녹색 값들의 평균화) 에 의해 대체된다.
위의 예는 카메라 설정의 예로서 오토포커스 설정을 설명한다. 카메라 설정의 다른 예는 오토노출 설정일 수도 있다. 일부 예들에서, 카메라 디바이스는 제 1 이미지 상의 상이한 노출들을 시뮬레이션함으로써, 예컨대 제 1 이미지의 톤을 변경하는 것에 의해, 하나 이상의 부가 이미지를 생성할 수도 있다. 카메라 디바이스는 시뮬레이션에 의해 생성되는 하나 이상의 추가 이미지 내에 하나 이상의 부가 세일리언시 맵을 생성할 수도 있다.
카메라 디바이스는 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 미터링 맵을 생성할 수도 있다. 예를 들어, 카메라 디바이스는 개개의 세일리언시 맵들에 기초하여 복수의 미터링 맵들, 이미지들 (예를 들어, 제 1 이미지 및 하나 이상의 부가 이미지) 각각에 대한 하나의 미터링 맵을 생성할 수도 있다. 카메라 디바이스는 (일 예로서) 미터링 맵들을 평균화하여 업데이트된 미터링 맵을 생성할 수도 있다. 카메라 디바이스는 업데이트된 미터링 맵 (즉, 복수의 미터링 맵들의 평균화로부터 생성된 미터링 맵) 에 기초하여 오토노출 설정을 결정할 수도 있다.
설명의 용이함을 위해, 예시의 기법들은 이미지 캡처를 위한 오토-화이트 밸런스, 오토노출, 및 오토포커스, 및 이미지 프로세싱을 위한 양자화, 주밍/크로핑, 및 프로세싱 양들에 대해 설명된다. 그러나, 예시의 기법들은 이러한 예들로 제한되는 것으로 간주되지 않아야 한다. 예시의 기법들은 다른 캡처 또는 이미지 프로세싱에 활용될 수도 있다.
하나 이상의 예에서, 카메라 디바이스가 이미지 캡처를 위해 이미지를 프로세싱하기 위해 세일리언시 맵을 사용하기 때문에, 카메라 디바이스는 실시간 또는 라이브 (즉, 이미지를 캡처하는 프로세스에서, 정지 이미지로서 또는 비디오 레코딩으로서) 세일리언시 맵을 결정하도록 구성될 수도 있다. 실시간 또는 라이브는 실질적으로 순시적 (예를 들어, 밀리초 미만 이내) 인 것을 지칭할 수도 있다. 예를 들어, 카메라 디바이스는 이미지를 캡처하기 위해 또는 레코딩을 위해 애플리케이션을 실행할 수도 있고, 이는 애플리케이션의 실행-시간 동안 카메라 디바이스가 세일리언시 맵을 생성할 수도 있다는 것이다. 일 예로서, 카메라 디바이스는 (예를 들어, 이미지 캡처 이전에) 프리뷰 모드에서 세일리언시 맵을 생성하고 그 후 이미지를 프로세싱하기 위해 세일리언시 맵을 활용할 수도 있다 (예를 들어, 오토노출, 오토포커스, 오토-화이트 밸런스 파라미터들 및/또는 양자화, 주밍/크롭을 조정하고, 세일리언시 맵에 기초하여 이미지 프로세싱을 위한 프로세싱 양들을 결정한다). 모든 예들이 아닌 일부 예들에서, (예를 들어, 카메라의 렌즈의 위치를 이동시킴으로써) 노출 또는 포커스를 변경하는 것은 세일리언시 맵이 프리뷰 모드에서 생성되는 경우에만 수행될 수도 있다.
가능하지만, 하나 이상의 예에서, 화이트 밸런스, 포커스, 또는 노출을 정정하기 위해 포스트-프로세싱 기법들 (예를 들어, 캡처된 이미지에 적용하는 기법들) 을 활용하기보다는, 예시의 기법들은 (예를 들어, 실시간으로) 캡처 시의 세일리언시 맵을 활용한다. 화이트 밸런스, 오토포커스, 또는 노출을 보정하기 위한 포스트-프로세싱 기법은 가능한 보정의 양으로 제한되는 경향이 있다. 부가적으로, 일부 예들에서, 포스트-프로세싱 기법들은 잠재적으로 이미지에 다른 아티팩트들을 생성할 수 있다. (예를 들어, 캡처의 일부로서) 이미지를 프로세싱하기 위한 세일리언시 맵의 실시간 활용 및 세일리언시 맵의 실시간 생성으로, 예시의 기법들은 포스트-프로세싱 기법들에 비해 우수한 이미지 프로세싱을 제공할 수도 있다.
세일리언시 맵들의 실시간 생성으로 인해, 카메라 디바이스는 세일리언시 맵들을 생성하고 세일리언시 맵들을 사용하여 이미지를 상대적으로 빠르게 (예를 들어, 20 ms 미만과 같은 밀리초 정도) 프로세싱하도록 구성될 수도 있다. 그러나, 세일리언트 영역들은 매우 다양하다. 예를 들어, 숲속의 집 한 채가 하나의 장면에서는 세일리언트할 것인 한편, 도시 이웃의 배경에서는 나무 한 그루가 세일리언트할 것이다.
본 개시는 카메라 디바이스가 세일리언시 맵들을 결정하기 위해 뉴럴 네트워크 (NN) 를 구현할 수도 있는 예시의 기법들을 설명한다. 하나 이상의 예에서, 뉴럴 네트워크에 의해 활용된 가중치들은 머신-러닝 기법들에 기초하여 생성될 수도 있다.
일 예로서, 하나 이상의 뷰어는 수백 또는 수천 개의 상이한 훈련 이미지들로 제시될 수도 있다. 뷰어들은 눈-추적 회로부가 있는 고글들을 착용할 수도 있거나, 눈-추적 회로부는 뷰어가 훈련 이미지들을 뷰잉하고 있는 디바이스 (예를 들어, 모니터) 에 커플링될 수도 있다. 눈-추적 회로부는 각각의 훈련 이미지 상의 뷰어의 시선의 위치들이 어디인지를 결정하고, 위치들을 표시하는 정보를 저장할 수도 있다. 일부 예들에서, 눈-추적 회로부를 사용하기보다는 또는 그에 부가하여, 뷰어들은 뷰어들의 시선을 끈 영역들을 수동으로 식별할 수도 있다. 그러나, 눈-추적 회로부를 사용하면 수동 입력보다 훨씬 더 빠르게 뷰어들의 시선을 끈 위치들의 결정을 허용한다.
위치들을 표시하는 정보는 "실측 자료(ground truths)" (즉, 뷰어의 시선을 끄는 검증된 위치들) 일 수도 있다. "실측 자료" 를 활용하여, 하나 이상의 프로세서 (예를 들어, 클라우드 네트워크에서의 하나 이상의 서버 상에 위치됨) 은 입력 이미지의 샘플 값들이 가중치들에 의해 곱해질 때, 출력이 세일리언시 맵이도록 뉴럴 네트워크에 대한 가중치들을 생성할 수도 있다. 가중치들은 훈련된 모델로서 간주될 수도 있으며, 여기서 훈련된 모델은 "실측 자료" 로 훈련되지 않은 모델을 훈련함으로써 생성된다.
하나 이상의 프로세서는 "실측 자료" 를 생성하는데 사용된 이미지들을 입력함으로써 가중치들의 정확도를 테스트하고, 뉴럴 네트워크가 출력하는 세일리언시 맵이 눈-추적 회로부에 의해 또는 뷰어들에 의한 수동 식별에 기초하여 결정된 바와 같이 뷰어들의 시선을 끈 위치들과 대략 동일한지 여부를 결정할 수도 있다. 예를 들어, 하나 이상의 프로세서는 훈련된 이미지들 및 실측 자료을 수신하고, 어떤 타입의 이미지 콘텐츠가 뷰어 시선을 끌지를 일반화 (예를 들어, 러닝) 할 수도 있다. 러닝의 결과는 이미지의 샘플 값들에 곱해져서 그 이미지에 대한 세일리언시 맵을 생성하는 가중치들일 수도 있다.
클라우드 네트워크에 있어서 하나 이상의 서버에서의 하나 이상의 프로세서는 가중치들을 카메라 디바이스에 출력할 수도 있다. 일부 예들에서, 카메라 디바이스 자체를 활용하여 가중치들을 생성하는 것이 가능할 수도 있다. 그 후 카메라 디바이스의 뉴럴 네트워크는 가중치들을 활용하고 가중치들에 기초하여 이미지 (예를 들어, 프리뷰 모드에서와 같은, 캡처될 또는 레코딩에서와 같은 캡처되고 있는 이미지) 를 프로세싱하여 프로세싱 이미지에 대한 세일리언시 맵을 실시간으로 (예를 들어, 이미지 캡처에 사용된 애플리케이션의 런-타임) 생성할 수도 있다.
본 개시에 설명된 세일리언시 맵은 오브젝트 검출 (예를 들어, 얼굴 검출, 애완동물 검출 등) 알고리즘과 혼동되지 않아야 한다. 오브젝트 검출 알고리즘은 특정 오브젝트를 식별한다. 가능하지만, 세일리언시 맵들은 특정 오브젝트를 반드시 식별하지 않을 수도 있다. 오히려, 세일리언시 맵들은 뷰어시선을 끌 가능성의 정보를 제공한다. 예를 들어, 세일리언시 맵은 특정 위치가 세일리언트함을 표시할 수도 있지만 (예를 들어, 뷰어의 시선이 특정 위치에 끌릴 가능성이 높음), 뷰어의 시선을 끌고 있는 오브젝트에 대한 부가 정보를 제공하지 않을 수도 있다. 뷰어 시선을 끌 확률 (즉, 가능성) 이 높은 특정 위치가 얼굴 또는 애완동물 등이 되는 것이 가능할 수도 있지만, 세일리언시 맵은 오브젝트의 타입을 표시하지 않을 수도 있다. 한편, 오브젝트 검출은 특정 타형의 오브젝트의 위치 또는 존재를 표시할 수도 있지만, 뷰어의 시선을 끌 확률과 같은, 세일리언시의 정보를 제공하지 않을 수도 있다. 우연히, 뷰어가 검출된 오브젝트에 자연스럽게 끌리는 것이 가능할 수도 있지만, 오브젝트 검출은 뷰어의 시선을 끌 확률을 표시하지 않을 수도 있다.
더욱이, 세일리언시 맵은 오브젝트가 얼마나 관심있는 것인지가 아니라 이미지 구성 (예를 들어, 디스플레이되고 있는 것이 무엇인지) 에 기초하여 영역이 세일리언트함을 표시할 수도 있다. 예를 들어, 이미지에서 세일리언트한 원근 소실 포인트들이 있을 수도 있다. 다른 예로서, 빌딩 또는 터널 입구에서의 개구들은 세일리언트할 수도 있다. 다른 예로서, 사람이 그들의 손으로 가리키는 것을 나타내는 이미지가 세일리언트할 수도 있는데, 이는 뷰어가 가리킨 라인/방향을 따르는 경향이 있을 것이기 때문이다.
세일리언시 맵을 활용하는 예시의 기법들은 오토포커스, 오토노출, 및 오토-화이트 밸런스 제어를 위해 카메라 디바이스의 다른 기능들과 함께 동작할 수도 있다. 예를 들어, 일부 카메라 디바이스들은 배경 대신에 전경에서의 오브젝트들을 식별하고 전경 오브젝트들에 대해 포커싱하도록 구성될 수도 있다. 일부 예들에서, 카메라 디바이스는 먼저 이미지에서 세일리언트 영역들을 결정하고, 그 후 또한 전경에서의 세일리언트 영역들에 대한 포커스를 제어할 수도 있다. 먼저 세일리언트 영역들을 결정한 다음, 전경에서의 세일리언트 영역들에서 오브젝트들에 대한 포커스를 조정함으로써 프로세싱하는 순서는 하나의 예이다. 다른 예로서, 카메라 디바이스들은 전경에서의 오브젝트들을 식별하고, 그 후 세일리언시 맵을 활용하여 식별된 오브젝트들과의 포커스를 추가로 제어할 수도 있다.
도 1 은 본 개시에서 설명된 예시의 기법들 중 하나 이상을 수행하도록 구성된 디바이스의 블록 다이어그램이다. 카메라 디바이스 (10) 의 예들은 독립형 디지털 카메라 또는 디지털 비디오 캠코더, 카메라장착형 무선 통신 디바이스 핸드셋, 예컨대 하나 이상의 카메라를 갖는 모바일 폰, 셀룰러 또는 위성 라디오 전화, 카메라장착형 개인용 디지털 보조기 (personal digital assistant; PDA), 컴퓨팅 패널 또는 태블릿, 게이밍 디바이스, 소위 "웹-캡" 과 같은 카메라를 포함하는 컴퓨터 디바이스 또는 디지털 이미징 또는 비디오 능력들을 갖는 임의의 디바이스를 포함할 수도 있다.
도 1 의 예에 도시된 바와 같이, 카메라 디바이스 (10) 는 (예를 들어, 이미지 센서 및 렌즈를 갖는) 카메라 (12), 카메라 프로세서 (14) 및 카메라 프로세서 (14) 의 로컬 메모리 (20), 중앙 프로세싱 유닛 (CPU)(16), 그래픽 프로세싱 유닛 (GPU)(18), 사용자 인터페이스 (22), 시스템 메모리 (30) 에 대한 액세스를 제공하는 메모리 제어기 (24), 및 그래픽 데이터가 디스플레이 (28) 상에 디스플레이되게 하는 신호들을 출력하는 디스플레이 인터페이스 (26) 를 포함한다. 도 1 의 예는 하나의 카메라 (12) 를 포함하는 카메라 디바이스 (10) 를 도시하지만, 일부 예들에서, 카메라 디바이스 (10) 는 전방향(omnidirectional) 이미지 또는 비디오 캡처를 위한 것과 같은 복수의 카메라들을 포함할 수도 있다.
또한, 다양한 컴포넌트들이 별도의 컴포넌트들로서 도시되지만, 일부 예들에서, 컴포넌트들은 시스템 온 칩 (SoC) 을 형성하도록 조합될 수도 있다. 예로서, 카메라 프로세서 (14), CPU (16), GPU (18), 및 디스플레이 인터페이스 (26) 는 공통 집적 회로 (IC) 칩 상에 형성될 수도 있다. 일부 예들에서, 카메라 프로세서 (14), CPU (16), GPU (18) 및 디스플레이 인터페이스 (26) 중 하나 이상은 별도의 IC 칩들 상에 있을 수도 있다. 예시의 기법들을 수행하도록 구성될 수도 있는 컴포넌트들의 부가 예들은, 디지털 신호 프로세서 (DSP), 벡터 프로세서, 또는 뉴럴 네트워크 (NN) 계산들에 사용된 다른 하드웨어 블록들을 포함한다. 다양한 다른 치환들 및 조합들이 가능하며, 기법들은 도 1 에 도시된 예에 제한되는 것으로 간주되지 않아야 한다.
(하나의 디바이스 상에 형성되든 상이한 디바이스들 상에 형성되든) 도 1 에 도시된 다양한 컴포넌트들은, 하나 이상의 마이크로프로세서, 주문형 집적 회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA), 디지털 신호 프로세서 (DSP), 또는 다른 등가의 통합된 또는 이산 로직 회로부에서와 같이, 고정-기능 또는 프로그램가능 회로부 중 적어도 하나로서 형성될 수도 있다. 로컬 메모리 (20) 및 시스템 메모리 (30) 의 예들은 랜덤 액세스 메모리 (RAM), 정적 RAM (SRAM), 동적 RAM (DRAM), 소거가능한 프로그램가능 ROM (EPROM), 전기적으로 소거가능한 프로그램가능 ROM (EEPROM), 플래시 메모리, 자기 데이터 매체들 또는 광학 저장 매체들과 같은, 하나 이상의 휘발성 또는 비휘발성 메모리 또는 저장 디바이스를 포함한다.
도 1 에 도시된 다양한 유닛들은 버스 (32) 를 사용하여 서로 통신한다. 버스 (32) 는 제 3 세대 버스 (예를 들어, HyperTransport 버스 또는 InfiniBand 버스), 제 2 세대 버스 (예를 들어, Advanced Graphics Port 버스, PCI (Peripheral Component Interconnect) Express 버스, 또는 AXI (Advanced eXtensible Interface) 버스) 또는 다른 타입의 버스 또는 디바이스 상호접속과 같은 다양한 버스 구조들 중 임의의 것일 수도 있다. 도 1 에 나타낸 상이한 컴포넌트들 사이의 통신 인터페이스들 및 버스들의 특정 구성은 단지 예시적일 뿐이고, 동일하거나 상이한 컴포넌트들을 갖는 다른 이미지스 프로세싱 시스템들 및/또는 카메라 디바이스들의 다른 구성들이 본 개시의 기법들을 구현하는데 사용될 수도 있다.
카메라 프로세서 (14) 는 카메라 (12) 로부터 이미지 프레임들을 수신하고, 디스플레이를 위한 출력 프레임들을 생성하기 위해 이미지 프레임들을 프로세싱하도록 구성된다. CPU (16), GPU (18), 카메라 프로세서 (14), 또는 일부 다른 회로부는 카메라 프로세서 (14) 에 의해 생성된 이미지 콘텐츠를 포함하는 출력 프레임을 디스플레이 (28) 상에 디스플레이하기 위한 이미지들로 프로세싱하도록 구성될 수도 있다. 일부 예들에서, GPU (18) 는 추가로 디스플레이 (28) 상에 그래픽스 콘텐츠를 렌더링하도록 구성될 수도 있다.
일부 예들에서, 카메라 프로세서 (14) 는 이미지 프로세싱 파이프라인으로서 구성될 수도 있다. 예를 들어, 카메라 프로세서 (14) 는 카메라 (12) 와 카메라 프로세서 (14) 사이에서 인터페이스하는 카메라 인터페이스를 포함할 수도 있다. 카메라 프로세서 (14) 는 이미지 콘텐츠를 프로세싱하기 위한 부가 회로부를 포함할 수도 있다. 카메라 프로세서 (14) 는 이미지 콘텐츠 (예를 들어, 이미지 픽셀들의 각각에 대한 픽셀 값들) 를 갖는 결과적인 프레임들을 메모리 제어기 (24) 를 통해 시스템 메모리 (30) 에 출력한다.
CPU (16) 는 카메라 디바이스 (10) 의 동작을 제어하는 범용 또는 특수 목적 프로세서를 포함할 수도 있다. 사용자는 CPU (16) 로 하여금 하나 이상의 소프트웨어 애플리케이션을 실행하게 하기 위해 카메라 디바이스 (10) 에 입력을 제공할 수도 있다. CPU (16) 상에서 실행되는 소프트웨어 애플리케이션들은 예를 들어, 미디어 플레이어 애플리케이션, 비디오 게임 애플리케이션, 그래픽 사용자 인터페이스 애플리케이션 또는 다른 프로그램을 포함할 수도 있다. 사용자는 하나 이상의 입력 디바이스 (미도시), 예컨대, 키보드, 마우스, 마이크로 폰, 터치 패드, 또는 사용자 입력 인터페이스 (22) 를 통하여 카메라 디바이스 (10) 에 커플링되는 다른 입력 디바이스를 통하여 카메라 디바이스 (10) 에 입력을 제공할 수도 있다.
소프트웨어 애플리케이션의 일 예가 카메라 애플리케이션이다. CPU (16) 는 카메라 애플리케이션을 실행하고, 이에 응답하여, 카메라 애플리케이션은 CPU (16) 로 하여금 디스플레이 (28) 가 출력하는 콘텐츠를 생성하게 한다. GPU (18) 는 디스플레이 (28) 상에 렌더링하기 위해 CPU (16) 에 의해 생성된 콘텐츠를 프로세싱하도록 구성될 수도 있다. 예를 들어, 디스플레이 (28) 는 광 강도, 플래시가 인에이블되는지 여부, 및 다른 이러한 정보와 같은 정보를 출력할 수도 있다. 카메라 디바이스 (10) 의 사용자는 (예를 들어, 플래시, 포커스 설정들, 노출 설정들, 및 다른 파라미터들로 또는 이들 없이) 이미지들이 생성되는 방식을 구성하기 위해 디스플레이 (28) 와 인터페이스할 수도 있다.
일 예로서, 카메라 애플리케이션을 실행한 후에, 카메라 디바이스 (10) 는 프리뷰 모드에 있는 것으로 간주될 수도 있다. 프리뷰 모드에서, 카메라 (12) 는 카메라 프로세싱을 수행하는 카메라 프로세서 (14) 에 이미지 콘텐츠를 출력하고 디스플레이 인터페이스 (26) 가 디스플레이 (28) 상에서 취출하고 출력하는 시스템 메모리 (30) 에 이미지 콘텐츠를 출력한다. 프리뷰 모드에서, 사용자는, 디스플레이 (28) 를 통해, 사용자가 사진을 촬영하기 위해 (실제 또는 디스플레이 상의) 버튼을 사용할 때 캡처될 이미지 콘텐츠를 뷰잉할 수 있다. 다른 예로서, 정지 이미지 (예를 들어, 사진) 를 촬영하기보다, 사용자는 비디오 콘텐츠 (예를 들어, 일련의 이미지들) 를 레코딩할 수도 있다. 레코딩 동안, 사용자는 디스플레이 (28) 상에서 캡처되고 있는 이미지 콘텐츠를 뷰잉하는 것이 가능할 수도 있다.
프리뷰 모드 또는 레코딩 동안, 카메라 디바이스 (10) 는 (예를 들어, CPU (16) 를 통해) 카메라 (12) 가 (예를 들어, 이미지의 캡처 또는 저장 전에) 이미지들을 캡처하는 방식을 제어할 수도 있다. 본 개시는 예시의 기법들을 CPU (16)에 의해 수행되는 것으로 설명한다. 그러나, 예시의 기법들은 예시의 기법들을 수행하는 CPU (16) 로 제한되는 것으로 간주되지 않아야 한다. 예를 들어, CPU (16) 는 카메라 프로세서 (14), GPU (18), DSP, 벡터 프로세서, 및/또는 디스플레이 인터페이스 (26) 와 조합하여 본 개시에서 설명된 예시의 기법들을 수행하도록 구성될 수도 있다. 예를 들어, 프로세서는 본 개시에 설명된 예시의 기법들을 수행하도록 구성될 수도 있다. 프로세서의 예들은 카메라 프로세서 (14), CPU (16), GPU (18), 디스플레이 인터페이스 (26), DSP, 벡터 프로세서, 또는 카메라 프로세서 (14), CPU (16), GPU (18), 디스플레이 인터페이스 (26), DSP, 또는 벡터 프로세서 중 하나 이상의 임의의 조합을 포함한다.
CPU (16) 는 시각적으로 만족스러운 이미지들을 캡처하기 위해 카메라 (12) 의 카메라 설정 (예를 들어, 노출 및/또는 포커스) 을 제어하도록 구성될 수도 있다. 예를 들어, CPU (16) 는 몇몇 비제한적인 예들로서, 카메라 (12) 의 노출, 포커스, 및 화이트 밸런스 설정들을 제어하는 신호들을 생성하도록 구성될 수도 있다. 노출 설정을 제어하는 것은 오토노출 설정을 결정하는 것으로 지칭되고, 포커스 설정을 제어하는 것은 오토포커스 설정을 결정하는 것으로 지칭되며, 화이트 밸런스를 제어하는 것은 오토-화이트 밸런스 설정을 결정하는 것으로 지칭된다. CPU (16) 는 프리뷰 모드 또는 레코딩 동안 카메라 프로세서 (14) 로부터 수신된 이미지들에 기초하여 노출, 포커스, 및 화이트 밸런스 설정들을 제어하도록 구성될 수도 있다. 이러한 방식으로, 정지 이미지들에 대해, 사용자가 사진을 촬영하기 위해 관여할 때, 노출, 포커스, 및 화이트 밸런스가 조정된다 (예를 들어, 노출, 포커스, 및 가능하게는 화이트 밸런스 설정들에 대한 파라미터들은 노출, 포커스, 및 화이트 밸런스가 이미지 캡처 동안 정정될 수 있도록 이미지 캡처 전에 결정된다). 레코딩을 위해, 노출, 포커스, 및 화이트 밸런스는 레코딩 동안 정기적으로 업데이트될 수도 있다.
오토노출 설정에 대해, CPU (16) 는 외부 조명 조건들과 같은 팩터들에 기초하여 카메라 (12) 의 어퍼처, 셔터 속도, 및 아날로그 이득을 결정할 수도 있다. 일 예로서, 카메라 프로세서 (14) 는 광을 표시하는 정보를 결정하고, 이에 따라 어퍼처, 셔터 속도, 및 아날로그 이득을 조정하여 이미지의 노출을 일정하게 유지할 수도 있다. 예를 들어, 너무 많은 광이 있는 경우 (즉, 과다 노출된 경우), 이미지들에서의 상세들은 손실될 수도 있고, 너무 적은 광이 있는 (즉, 언더노출된) 경우, 이미지는 너무 어두울 수 있고 상세들은 보이지 않을 수도 있다. 이미지의 중심에서의 노출이 더 높게 유지되고 이미지의 에지들 근방에서 점진적으로 낮아지는 중심-가중 미터링 맵과 같은 "미터링" 을 사용하여 노출이 제어되는 다양한 방식들이 있다. 본 개시에 설명된 기법들은 중심-가중 미터링 맵들의 예들로 제한되지 않는다 (예를 들어, 이미지의 중간에 대한 노출 제어를 향해 바이어싱되는 미터링 맵들로 제한되지 않는다).
오토포커스 설정을 위해, CPU (16) 는 포커싱된 영역들에서의 이미지 콘텐츠가 다른 영역들보다 더 선명하게 보이도록 포커싱할 영역을 결정할 수도 있다. 일 예로서, CPU (16) 는 하기에 설명되는 위상 검출 오토포커스 (PDAF) 기법들을 활용할 수도 있다. 그 후 CPU (16) 는 포커싱할 영역에 기초하여 카메라 (12)(예를 들어, 카메라 (12) 의 렌즈의 위치) 를 제어할 수도 있다. 일부 예들에서, CPU (16) 는 전경에 있는 오브젝트들을 결정할 수도 있고, 전경 오브젝트들에 포커싱하도록 카메라 (12) 를 제어할 수도 있다. 다른 예로서, CPU (16) 는 포커싱할 영역을 결정하기 위해, 얼굴 검출과 같은 오브젝트 검출 기법들을 활용할 수도 있다.
오토-화이트 밸런스를 위해, CPU (16) 는 광원의 "컬러 온도" 를 결정할 수도 있고, 여기서 컬러 온도는 화이트 컬러의 상대적 온기 또는 냉기를 지칭한다. 일부 경우들에서, 캡처된 이미지들은 비현실적인 컬러 캐스트를 가질 수도 있다. CPU (16) 는 이미지를 캡처하는 방식을 제어하기 위해 컬러 온도를 결정할 수도 있다. 예를 들어, CPU (16) 는 카메라 프로세서 (14) 에 의해 제공된 밝기 정보에 기초하여, 이미지의 가장 밝은 부분을 화이트 컬러으로서 결정할 수도 있다.
일부 예들에서, 오토-화이트 밸런스 알고리즘은 적색, 녹색 및 청색 컴포넌트 사이의 비율을 분석하고 제안된 적색 및 청색 이득 레벨들의 결과인 휴리스틱스(heuristics)를 적용한다. R, B 채널들이 이러한 승수들로 곱해질 때, 이미지가 더 밸런싱있게 보일 것이며; 회색 영역들은 회색으로 보일 것이고 부자연스러운 컬러 캐스트는 없을 것이다. 그러나, 멀티-조명 장면들의 경우 (예를 들어, 음영들이 있는 경우), 상이한 곱셈기들이 상이한 영역들에 이상적이기 때문에 곱셈기들을 결정하는 것은 더 도전적일 수도 있다.
상기는 캡처 프로세싱 (예를 들어, 오토노출, 오토포커스, 및 오토-화이트 밸런스) 을 위한 일부 예시의 기법들을 설명한다. 본 개시에 설명된 하나 이상의 예에서, CPU (16) 는 세일리언시 맵에 기초하여 오토노출, 오토포커스, 및 오토-화이트 밸런스 설정들을 결정하도록 구성될 수도 있다. 세일리언시 맵은 뷰어 시선을 끌 때 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시할 수 있다. 예를 들어, 세일리언시 맵은 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시할 수도 있고, 상이한 영역들의 상대적 세일리언시는 뷰어 시선을 끌 가능성을 표시할 수도 있다.
일 예로서, 세일리언시 맵은 이미지 내의 상이한 영역들이 뷰어 시선을 끌 확률들 (예를 들어, 가능성) 을 표시할 수도 있다. 다른 예로서, 세일리언시 맵은 영역이 세일리언트한지 세일리언트하지 않은지를 표시하는 이진 값들을 포함할 수도 있다. 노출, 포커스, 및/또는 화이트 밸런스를 조정하는 것이 실시간으로 또는 라이브로 (예를 들어, 이미지가 캡처되는 것과 실질적으로 동시에) 수행되기 때문에, CPU (16) 는 프리뷰 모드 또는 레코딩 동안, 뷰어 시선을 끌 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 세일리언시 맵을 생성하도록 구성될 수도 있다.
하나 이상의 예에서, CPU (16) 는 머신 러닝 기법들과 같은 인공 지능 (AI) 기법들을 활용할 수도 있다. 예를 들어, 머신 러닝에서, 가중치를 정의하는 하나 이상의 머신-러닝 모델 (예를 들어, 훈련된 모델) 이 있을 수도 있다. CPU (16) 는 (예를 들어, 프리뷰 모드에서 또는 레코딩의 일부로서) 이미지에서의 샘플들 (예를 들어, 픽셀들) 의 샘플 값들을 프로세싱하기 위해 가중치들을 활용할 수도 있고, 프로세싱의 결과는 세일리언시 맵일 수도 있다. 예를 들어, CPU (16) 는 하나 이상의 머신-러닝 모델들에 의해 생성된, 메모리 (예를 들어, 시스템 메모리 (30)) 에 저장된 가중치들을 이미지의 샘플 값들과 곱하여 뷰어 시선을 끌 확률들이 더 낮은 이미지에서의 영역들과 상이하게 뷰어 시선을 끌 확률들이 더 높은 이미지에서의 영역들을 식별할 수도 있다.
예를 들어, 세일리언시 맵은 복수의 샘플들일 수도 있으며, 여기서 각각의 샘플에 값 (예를 들어, 0 과 255 사이) 이 할당된다. 낮은 값 (예를 들어, 0 에 더 가까움) 은 낮은 값을 갖는 샘플에 대응하는 이미지에서의 영역이 세일리언트하지 않음 (예를 들어, 뷰어 시선을 끌 낮은 확률) 을 의미할 수도 있다. 높은 값 (예를 들어, 255 에 더 가까움) 은 높은 값을 갖는 샘플에 대응하는 이미지에서의 영역이 세일리언트함 (예를 들어, 뷰어 시선을 끌 높은 확률) 을 의미할 수도 있다. 따라서, 뷰어 시선을 끌 확률이 더 높은 이미지에서의 영역들은 뷰어 시선을 끌 확률이 더 낮은 이미지에서의 영역들과 상이하게 식별될 수도 있다. 예를 들어, 세일리언시 맵은 뷰어 시선을 끌 확률이 더 높은 이미지에서의 영역들에 대응하는 더 높은 값들을 갖고, 세일리언시 맵은 뷰어 시선을 끌 확률이 더 낮은 이미지 내의 영역들에 대응하는 더 낮은 값을 갖는다.
다른 예로서, 세일리언시 맵은 복수의 샘플들일 수도 있으며, 여기서 각각의 샘플에 이진 값 (예를 들어, 1 또는 0) 이 할당된다. 샘플이 0 의 값을 할당받으면, 샘플은 세일리언트하지 않은 이미지의 영역에 대응한다 (예를 들어, 뷰어 시선을 끌 낮은 확률). 샘플이 1 의 값을 할당받으면, 샘플은 세일리언트 이미지의 영역에 대응한다 (예를 들어, 뷰어 시선을 끌 높은 확률). 세일리언시 맵의 다른 예들이 있을 수도 있다. 하나 이상의 예에서, 세일리언시 맵은 뷰어 시선을 끌 확률들이 더 낮은 이미지 (예를 들어, 이진 값 또는 0 내지 255 와 같은 범위 내의 값들) 에서의 영역들과 상이하게 뷰어 시선을 끌 확률들이 더 높은 이미지에서의 영역들을 식별할 수도 있다.
CPU (16) 가 머신-러닝 모델들에 대한 가중치들을 결정할 수도 있는 다양한 방식들이 있을 수도 있다. 일 예로서, 가중치들은 미리생성되고 시스템 메모리 (30) 에 업로드될 수도 있다. CPU (16) 는 시스템 메모리 (30) 에 저장된 가중치들로부터 가중치들을 결정할 수도 있다. 예를 들어, 하나 이상의 뷰어에게 뷰잉할 복수의 (예를 들어, 수백 또는 수천) 훈련 이미지들이 주어질 수도 있다. 뷰어들은 눈 추적 고글들을 착용할 수도 있거나 눈 추적 회로부가 뷰어들이 보고 있는 곳의 정보를 결정하는 이미지들을 뷰어들이 뷰잉하는 디바이스 (예를 들어, 모니터) 에 커플링될 수도 있고 뷰어들이 보고 있었던 영역들로 이미지들을 태그할 수도 있다. 태그들은 세일리언시 포인트들일 수도 있다. (예를 들어, 클라우드 시스템에서의 하나 이상의 서버에서) 하나 이상의 프로세서는 훈련 이미지들의 샘플 값들을 프로세싱하는데 활용될 때 세일리언시 맵을 생성하는 가중치들을 결정하기 위해 (예를 들어, 가중치들을 정의하는 훈련된 모델을 생성하기 위해) 태그된 이미지들에서의 이러한 세일리언시 포인트들을 “실측 자료" 로서 활용할 수도 있다.
하나 이상의 예에서, CPU (16) 는 이미지를 캡처하도록 구성된 디바이스 (10)(예를 들어, 카메라 (12)) 의 화이트 밸런스를 조정하는 것, 이미지를 캡처하도록 구성된 디바이스 (10)(예를 들어, 카메라 (12)) 의 포커스를 조정하는 것, 또는 이미지를 캡처하도록 구성된 디바이스 (10)(예를 들어, 카메라 (12)) 의 노출을 조정하는 것 중 하나 이상에 세일리언시 맵을 활용할 수도 있다. 일 예로서, CPU (16) 는 오토노출, 오토포커스, 및/또는 오토-화이트 밸런스를 결정할 수도 있고, 그 후 CPU (16) 는 세일리언시 맵에 기초하여 오토노출, 오토포커스, 및/또는 오토-화이트 밸런스를 업데이트할 수도 있다. 다른 예로서, 오토노출, 오토포커스, 및/또는 오토-화이트 밸런스를 먼저 결정한 다음 업데이트하기보다, CPU (16) 는 오토노출, 오토포커스, 및/또는 오토-화이트 밸런스 설정들의 결정의 일부로서 세일리언시 맵을 통합하도록 구성될 수도 있다. 이러한 예들 각각에서, CPU (16) 는 이미지를 캡처하도록 구성된 디바이스 (10)(예를 들어, 카메라 (12)) 의 화이트 밸런스를 조정하는 것, 이미지를 캡처하도록 구성된 디바이스 (10)(예를 들어, 카메라 (12)) 의 포커스를 조정하는 것, 또는 이미지를 캡처하도록 구성된 디바이스 (10)(예를 들어, 카메라 (12)) 의 노출을 조정하는 것으로 간주될 수도 있다.
일 예로서, 오토노출을 위해, CPU (16) 는 세일리언시 맵에 기초하여 미터링 맵을 생성하도록 구성될 수도 있으며, 여기서 미터링 맵은 이미지의 어느 영역들이 노출될지를 표시한다. 일 예로서, CPU (16) 는 미터링 맵을 취출할 수도 있고, 세일리언시 맵에 기초하여 미터링 맵을 스케일링하여 업데이트된 미터링 맵을 생성할 수도 있다. CPU (16) 는 업데이트된 미터링 맵에 기초하여 노출을 조정할 수도 있다. 일부 예들에서, 세일리언시 맵 자체를 미터링 맵으로서 활용하는 것이 가능할 수도 있다. 그러나, 세일리언시 맵이 불완전한 경우 (예를 들어, 높은 세일리언시를 갖는 것으로 결정된 영역들은 높은 세일리언시를 갖는 영역들이 아님), CPU (16) 가 세일리언시 맵에 기초하여 오토노출을 위한 미터링 맵을 스케일링하여 업데이트 미터링 맵을 생성하고, 업데이트된 미터링 맵에 기초하여 이미지의 노출을 조정하는 이점들이 있을 수도 있다. 일부 예들에서, 미터링 맵 및 세일리언시 맵의 사이즈는 상이할 수도 있고, 따라서 미터링 맵 및/또는 세일리언시 맵은 동일한 사이즈로 업스케일링되거나 다운스케일링될 수도 있다.
다른 예로서, 오토포커스에 대해, CPU (16) 는 이미지의 하나 이상의 다른 영역보다 상대적으로 더 높은 세일리언시를 표시하는 이미지에서의 영역을 결정하도록 구성될 수도 있다 (예를 들어, 더 높은 세일리언시은 뷰어 시선을 끌 더 높은 확률을 지칭한다). CPU (16) 는 결정된 영역에 기초하여 포커스를 조정하도록 구성될 수도 있다. 예를 들어, CPU (16) 는 더 높은 세일리언시를 갖는 결정된 영역이 다른 영역들보다 더 선명하게 (예를 들어, 더 명확하고, 더 상세하고, 덜 버리(burry) 등) 보이도록 카메라 (12) 의 렌즈의 위치를 제어하도록 구성될 수도 있다.
다른 예로서, 오토-화이트 밸런스에 대해, 완전한 이미지를 평가하기 보다, CPU (16) 는 카메라 프로세서 (14) 에 의해 제공된 밝기 정보에 기초하여, 가장 높은 세일리언시를 갖는 영역들 중 가장 밝은 부분을 화이트 포인트로서 결정할 수도 있다. 가장 높은 세일리언시를 갖는 영역들의 가장 밝은 부분으로부터 결정된 화이트 포인트를 활용하여, CPU (16) 는 화이트 밸런스를 수행하도록 카메라 (12) 및/또는 카메라 프로세서 (14) 를 구성할 수도 있다. 이러한 예들에서, 비-세일리언트 영역들 (예를 들어, 뷰어의 시선을 끌 가능성이 낮은 영역들) 상에 비현실적인 컬러 캐스트가 있을 가능성이 있는 한편, 세일리언트 영역들 (예를 들어, 뷰어의 시선을 끌 가능성이 있는 영역들) 에서의 화이트 밸런스는 정확하다. 그러나, 비-세일리언트 영역들 상에 그러한 비현실적인 컬러 캐스트를 갖는 것은 뷰어가 그러한 영역들을 보지 않을 수 있기 때문에 문제가 되지 않을 수도 있다. 이러한 방식으로, 세일리언시 맵은 다른 영역들보다 더 세일리인터한 오브젝트들 주위의 영역들에서 정정하도록 바이어싱함으로써 오토-화이트 밸런스 알고리즘을 보조할 수도 있다.
일부 예들에서, CPU (16) 는 세일리언시 맵을 활용하여 오토노출, 오토포커스, 및/또는 오토-화이트 밸런스를 결정하기 위한 다른 기법들을 보완할 수도 있다. 예를 들어, 일부 예들에서, CPU (16) 는 전경 오브젝트들 및 배경 오브젝트들을 결정하도록 구성될 수도 있다. 예를 들어, 카메라 (12) 는 CPU (16) 가 전경 오브젝트들 및 배경 오브젝트들을 식별하기 위해 오브젝트들의 상대적 깊이들을 결정하는데 활용하는 깊이 카메라를 포함할 수도 있다. 일부 예시의 기법들은 전경 오브젝트들에 오토포커싱하도록 구성될 수도 있다. 하나 이상의 예에서, CPU (16) 는 관심 영역 (예를 들어, 전경 오브젝트들에서의 오브젝트들) 을 결정하도록 구성될 수도 있고, 그 후 그 관심 영역 내에서, CPU (16) 는 세일리언트 영역들을 결정할 수도 있다. 즉, 세일리언시 맵을 생성하기 위해, CPU (16) 는 결정된 관심 영역 내에서 세일리언시 맵을 결정할 수도 있다. 다른 예로서, CPU (16) 는 (예를 들어, 전체 이미지에 대한) 세일리언시 맵을 결정하고 관심 영역 (예를 들어, 전경 오브젝트들) 을 결정할 수도 있다. 이 예에서, CPU (16) 는 관심 영역에서의 어느 오브젝트들이 또한 세일리언트한지를 결정하고, 또한 관심 영역에 있는 세일리언트 영역들에 대해 포커싱할 수도 있다.
세일리언시 맵을 활용하는 것의 잠재적 이점들 중 하나는, 전경 오브젝트들에 대한 포커싱이 많은 경우들에서 잘 작동하지만, 전경 오브젝트들에 대한 포커싱이 이상적이지 않은 시기들이 있을 수도 있다는 것이다. 예를 들어, 일부 예들에서는, 배경에서의 오브젝트가 더 관심이 있을 수도 있다. 본 개시에 설명된 예시의 기법들을 활용함으로써, CPU (16) 는 세일리언시 맵에 기초하여 배경에서의 오브젝트들이 더 관심있는 것으로 결정할 수도 있다. 이러한 예들에서, CPU (16) 는 배경 오브젝트들이 이미지에서 더 선명하게 보이도록 포커스를 조정하도록 구성될 수도 있다.
즉, 전경 오브젝트들의 식별에 단순히 의존하는 것은 본 개시에 설명된 바와 같이, 세일리언시 맵을 활용하는 예시의 기법들에 비해 더 열악한 이미지들을 초래할 수도 있다. 그러나, 세일리언트 영역들이 전경에 있게 되는 예들에서, 예시의 기법들은 전경 오브젝트들의 식별에 기초하는 오토포커스를 추가로 보완할 수도 있다.
세일리언시 맵들의 사용으로 하나의 가능한 쟁점은 세일리언트 영역들이 상이한 상대적 깊이들에 있을 수도 있다는 것이다. 일 예로서, 상대적으로 세일리언트한 상이한 깊이들에 2개의 오브젝트가 있을 수도 있다. 이러한 경우들에서, 2개의 오브젝트 중 어느 것에 포커싱할지는 불명확할 수도 있다. 본 개시는 상이한 깊이들에서 세일리언트 영역들에 오브젝트들이 있는 경우들에서와 같이, CPU (16) 가 카메라 설정들 (예를 들어, 오토포커스 설정, 오토노출 설정, 및/또는 오토-화이트 밸런스 설정) 을 결정할 수도 있는 예시의 방법들을 설명한다. 즉, 세일리언트 영역들은 다중 깊이들을 포함할 수도 있고, 본 개시는 어느 깊이의 컴포넌트가 포커싱되어야 하는지, 또는 어느 깊이의 컴포넌트가 오토노출 및/또는 오토-화이트 밸런스를 위해 사용되어야 하는지를 선정하기 위한 예시의 기법들을 설명한다. 달리 말하면, CPU (16) 는 가장 세일리언트한 깊이를 결정하고, 결정된 가장 세일리언트한 깊이에 기초하여 카메라 설정을 결정하도록 구성될 수도 있다. 가장 세일리언트한 깊이는 오토포커스 설정, 오토노출 설정, 및/또는 오토-화이트 밸런스 설정을 결정하기 위해 사용되어야 하는 깊이 컴포넌트들을 지칭할 수도 있다.
카메라 설정 (예를 들어, 오토포커스, 오토노출, 및/또는 오토-화이트 밸런스 설정들) 을 결정 (예를 들어, 제어) 하기 위한 세일리언트 영역들을 확인하는 예시의 방식은 이미지의 세일리언시 맵들을 하나 이상의 부가 이미지에 대해 생성된 하나 이상의 부가 세일리언시 맵과 비교하는 것에 의한 것이며, 여기서 하나 이상의 부가 이미지는 이미지에 기초하여 생성된다. 예를 들어, 프리뷰 모드에서 또는 레코딩의 일부로서 캡처된 이미지는 제 1 이미지로서 간주될 수도 있다. CPU (16) 는 프리뷰 모드 또는 레코딩 동안, 제 1 이미지를 수신할 수도 있다.
CPU (16) 는 제 1 이미지에 대한 제 1 세일리언시 맵을 생성할 수도 있다. (예를 들어, GPU (18) 및/또는 다른 컴포넌트들을 갖는) CPU (16) 는 (예를 들어, 제 1 이미지에서의 픽셀들을 조작함으로써) 제 1 이미지에 기초하여 하나 이상의 부가 이미지를 생성할 수도 있다. 일 예로서, CPU (16) 는 제 1 이미지에서의 오브젝트들의 상대적 깊이들을 결정할 수도 있다. (예를 들어, GPU (18) 및/또는 다른 컴포넌트들을 갖는) CPU (16) 는 하나 이상의 부가 이미지를 생성하기 위해, 제 1 이미지에서의 이미지 콘텐츠의 깊이에 기초하여, 제 1 이미지에서의 오브젝트들의 픽셀들을 조작할 수도 있다. 예를 들어, CPU (16) 는 하나 이상의 부가 이미지를 생성하기 위해 제 1 이미지의 전경에서 오브젝트들의 픽셀들을 조작할 수도 있다. 예를 들어, CPU (16) 및/또는 GPU (18) 는 전경 에서의 오브젝트들의 픽셀들 (예를 들어, 카메라 (12) 에 가장 가까운 최소 깊이를 갖는 픽셀들) 을 제거하고 제거된 픽셀들을 대체하기 위해 디지털 인페인팅을 수행할 수도 있다. 결과적인 이미지는 하나 이상의 부가 이미지의 일 예일 수도 있다.
하나 이상의 부가 이미지들을 생성하기 위해 전경에서의 이미지들의 깊이에 기초하여 오브젝트들의 픽셀들을 조작하는 것 (예를 들어, 오브젝트들의 픽셀들을 조작하는 것) 은 하나의 예이며, 제한하는 것으로 간주되지 않아야 한다. 전경에서의 오브젝트들의 픽셀들을 조작하는 것보다 또는 이에 부가하여, 하나 이상의 부가 이미지를을 생성하기 위해 배경에서의 오브젝트들의 픽셀들, 시야 외부의 오브젝트들의 픽셀들, 또는 다른 픽셀들을 조작하는 것이 가능할 수도 있다. 또한, 인페인팅은 오브젝트들의 픽셀들을 조작하기 위한 하나의 예시의 기법이며, 예시의 기법들은 인페인팅에 제한되는 것으로 간주되지 않아야 한다.
다른 예로서, CPU (16) 는 제 1 세일리언시 맵 (예를 들어, 제 1 이미지의 세일리언시 맵) 에 기초하여 제 1 이미지에 대한 제 1 미터링 맵을 생성할 수도 있다. CPU (16) 는 제 1 이미지의 톤을 변경함으로써 하나 이상의 부가 이미지를 생성할 수도 있다. 예를 들어, CPU (16) 는 제 1 부가 이미지를 생성하기 위해 제 1 이미지에 대한 제 1 미터링 맵을 적용하는 결과를 시뮬레이션할 수도 있다. 톤을 변경하는 것은 제 1 미터링 맵에 기초하여 제 1 이미지의 밝기를 조정하는 것을 지칭할 수도 있으며, 제 1 이미지에서의 픽셀들을 조작하는 하나의 방식일 수도 있다. 제 1 이미지에서의 픽셀들을 조작하는 다른 방식들이 있을 수도 있다.
일부 예들에서, 하나 이상의 부가 이미지를 생성하기 위해, CPU (16) 및/또는 GPU (18) 는 반복 프로세스에서 픽셀들을 조작할 수도 있다. 예를 들어, CPU (16) 및/또는 GPU (18) 는 제 1 부가 이미지를 생성하기 위해 제 1 이미지에서의 픽셀들의 세트를 조작할 수도 있다. 그 후 CPU (16) 및/또는 GPU (18) 는 제 2 부가 이미지를 생성하기 위해 제 1 부가 이미지에서의 픽셀들의 세트를 조작할 수도 있는 등이다. 이러한 예들에서, CPU (16) 및/또는 GPU (18) 는 제 1 이미지에 기초하여 하나 이상의 부가 이미지를 생성하는 것으로서 간주될 수도 있다. 예를 들어, 제 2 부가 이미지가 제 1 부가 이미지로부터 생성되지만, 제 1 부가 이미지는 제 1 이미지에 대해 생성되었기 때문에, 제 2 부가 이미지는 제 1 이미지로부터 생성된 것으로 간주될 수도 있다.
CPU (16) 및/또는 GPU (18) 는 “멀티-계층 필링" 에 의해 복수의 부가 이미지들을 생성할 수도 있다. 예를 들어, 제 1 이미지는 복수의 계층들을 갖는 것으로 간주될 수도 있으며, 여기서 각각의 계층은 대략 동일한 상대적 거리에 있는 오브젝트들의 픽셀들을 포함한다. CPU (16) 및/또는 GPU (18) 는 제 1 부가 이미지를 생성하기 위해 제 1 계층에서의 픽셀들을 조작하고, 그 후 제 2 부가 이미지를 생성하기 위해 제 1 부가 이미지에서의 제 2 계층을 조작할 수도 있는 등이다.
따라서, 하나 이상의 부가 이미지를 생성하는 것은 제 1 이미지의 계층을 조작하는 프로세스로서 간주될 수도 있다. 제 1 이미지의 각각의 계층은 동일한 상대적 깊이를 갖는 오브젝트들로서 간주될 수도 있고, 하나 이상의 부가 이미지를 생성하는 것은 특정 계층 (예를 들어, 깊이) 에 대응하는 픽셀들을 조작하는 것의 일부일 수도 있다. 노출을 위해, "멀티-계층 필링" 보다, CPU (16) 는 픽셀들을 조작하기 위해 제 1 이미지에서의 픽셀들의 톤을 변경할 수도 있다.
CPU (16) 는 하나 이상의 부가 이미지에 대한 하나 이상의 부가 세일리언시 맵 (예를 들어, 부가 이미지들의 각각에 대한 하나의 부가 세일리언시 맵) 을 결정할 수도 있다. CPU (16) 는 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 (12) 에 대한 카메라 설정 (예를 들어, 오토포커스 설정, 오토노출 설정, 및/또는 오토-화이트 밸런스 설정) 을 결정 (예를 들어, 제어) 할 수도 있다.
예를 들어, CPU (16) 는 제 1 세일리언시 맵 (예를 들어, 제 1 이미지의 세일리언시 맵) 을 하나 이상의 부가 세일리언시 맵과 비교할 수도 있다. 비교에 기초하여, CPU (16) 는 카메라 (12) 의 카메라 설정을 결정 (예를 들어, 제어) 할 수도 있다. 예로서, CPU (16) 는 제 1 세일리언시 맵과 하나 이상의 부가 세일리언시 맵이 실질적으로 동일한지 여부를 결정할 수도 있다. 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵이 실질적으로 동일한 경우, CPU (16) 는 제 1 이미지 또는 하나 이상의 부가 이미지에서 결정된 세일리언트 영역들이 오토포커스가 있어야 하는 깊이에서의 세일리언트 영역들이라고 결정하고, 오토포커스 설정을 세일리언트 영역들 중 하나 이상으로 조정할 수도 있다.
예를 들어, 제 1 이미지와 하나 이상의 부가 이미지에서의 차이는 제 1 이미지에서의 전경 픽셀들이 필링되어 하나 이상의 부가 이미지를 생성한다는 것일 수도 있다. 제 1 이미지의 제 1 세일리언시 맵과 하나 이상의 세일리언시 맵이 동일하면, 전경에서의 오브젝트들이 세일리언트하지 않을 가능성이 있다 (예를 들어, 장면 구성에 중요하지 않음). 예를 들어, 전경에서의 오브젝트들이 세일리언트했다면, 하나 이상의 부가 세일리언시 맵이 전경 픽셀들이 필링되는 하나 이상의 부가 이미지에 기초하기 때문에 하나 이상의 부가 세일리언시 맵과 제 1 세일리언시 맵은 상이할 것이다.
그러나, 일부 경우들에서, 제 1 세일리언시 맵과 하나 이상의 부가 세일리언시 맵이 상이한 것이 가능할 수도 있다. 이 경우, 전경에서의 오브젝트들이 세일리언트할 가능성이 있고, 전경에 대해 포커싱하도록 포커스가 조정될 수도 있다.
일부 예들에서, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵이 실질적으로 동일하지 않은 경우, CPU (16) 는 전경 오브젝트들에 대한 픽셀들이 오토포커싱할 영역들이라고 결정할 수도 있다. 예를 들어, 제 1 세일리언시 맵과 하나 이상의 부가 세일리언시 맵이 실질적으로 동일하지 않은 경우, CPU (16) 는 인페인팅이 수행된 픽셀들은 세일리언가 있을 수 있는 깊이에 있다고 결정할 수도 있다. 따라서, CPU (16) 는 추가로 전경에 있는 오브젝트들에 대한 픽셀들이 오토포커싱할 곳이어야 한다고 결정할 수도 있다.
다른 예로서, 멀티-계층 필링의 예들에서, CPU (16) 는 제 1 세일리언시 맵이 제 1 부가 세일리언시 맵과 동일한지 여부를 결정할 수도 있고, 실질적으로 동일한 경우, 제 1 세일리언시 맵이 제 2 부가 세일리언시 맵과 동일한지 여부를 결정할 수도 있는 등이다. CPU (16) 는 부가 세일리언시 맵들 중 어느 것이 제 1 세일리언시 맵과 상이한지를 결정할 수도 있다. 예를 들어, 계층들이 필링됨에 따라 (예를 들어, 각각의 층의 오브젝트의 픽셀들이 조작됨에 따라), 부가 세일리언시 맵들 중 일부는 제 1 세일리언시 맵과 동일할 수도 있다. 그러나, 부가 이미지들 중 하나에 대해, 그의 연관된 부가 세일리언시 맵은 다른 세일리언시 맵들과 상이할 수도 있다. 이 경우, CPU (16) 는 세일리언시 맵들이 변경될 때 필링된 층이 포커스가 있어야 하는 깊이에 대응한다고 결정할 수도 있다.
일 예로서, 제 1 세일리언시 맵 (예를 들어, 제 1 이미지의 세일리언시 맵) 은 제 1 부가 세일리언시 맵 및 제 2 부가 세일리언시 맵과 동일할 수도 있다. 이 예에서, 제 1 부가 세일리언시 맵은 제 1 부가 이미지와 연관되고, 제 2 부가 세일리언시 맵은 제 2 부가 이미지와 연관된다. 제 1 부가 이미지는 조작되고 있는 가장 전경이 전경 오브젝트들과 연관된 픽셀들을 갖는 제 1 이미지에 기초할 수도 있다. 제 2 부가 이미지는 조작되고 있는 다음의 가장 전경인 오브젝트들과 연관된 픽셀들을 갖는 제 1 부가 이미지에 기초할 수도 있다.
제 3 부가 이미지는 조작되고 있는 다음 전경 오브젝트들과 연관된 픽셀들을 갖는 제 2 부가 이미지에 기초할 수도 있다. 이 예에서, 제 3 부가 이미지와 연관된 제 3 세일리언시 맵은 제 1 세일리언시 맵, 제 1 부가 세일리언시 맵, 또는 제 2 부가 세일리언시 맵과 상이할 수도 있다. CPU (16) 는 제 2 부가 세일리언시 맵에서 결정된 세일리언트 영역들이 오토포커스가 설정되어야 하는 깊이에 대응한다고 결정하고, 오토포커스를 제 2 부가 이미지에서의 세일리언트 영역들로 조정할 수도 있다.
예를 들어, 제 1 이미지는 제 1 렌즈 포지션에서 카메라 (12) 의 렌즈로 생성될 수도 있다. 즉, 제 1 이미지의 이미지 콘텐츠가 프리뷰 모드 또는 레코딩에서 수신될 때, 카메라 (12) 의 렌즈 포지션은 제 1 렌즈 포지션에 있을 수도 있다. 카메라 설정을 결정하기 위해 (예를 들어, 카메라 설정을 제어하기 위해), CPU (16) 는 카메라 (12) 의 렌즈에 대한 제 2 렌즈 포지션을 정의하는 오토포커스 설정을 결정할 수도 있다.
제 1 경우에, CPU (16) 는 제 2 렌즈 포지션과 제 1 렌즈 포지션이 동일하다고 결정할 수도 있다. 제 1 경우에, 오토포커스 설정을 위해, 카메라 (12) 의 렌즈의 렌즈 포지션은 제 1 이미지가 수신되었을 때 적절한 포지션에 있을 수도 있다. 제 1 경우에서, CPU (16) 는 렌즈의 렌즈 포지션의 조정을 회피할 수도 있다.
제 2 경우에, CPU (16) 는 제 2 렌즈 포지션과 제 1 렌즈 포지션이 상이하다고 결정할 수도 있다. 제 2 경우에, 오토포커스 설정을 위해, 카메라 (12) 의 렌즈의 렌즈 포지션이 조정될 필요가 있을 수도 있다. 따라서, CPU (16) 는 렌즈의 렌즈 포지션을 제 2 렌즈 포지션에 대해 조정할 수도 있다.
이러한 방식으로, CPU (16) 는 카메라 (12) 의 렌즈의 렌즈 위치가 조정되어야 하는지 여부에 기초하여 카메라 설정을 제어 (예를 들어, 오토포커스 설정을 결정) 할 수도 있다. 오토포커스 설정은 적절한 깊이 컴포넌트가 캡처되는 것을 보장하기 위해 카메라 (12) 의 렌즈의 렌즈 포지션을 정의할 수도 있다.
위의 예시의 기법들은 제 1 세일리언시 맵이 하나 이상의 부가 세일리언시 맵과 실질적으로 동일한지 또는 실질적으로 동일하지 않은지를 결정하는 방식들을 설명한다. 제 1 세일리언시 맵과 하나 이상의 부가 세일리언시 맵이 실질적으로 동일한지 여부를 결정하는 다양한 방식들이 있을 수도 있다.
일 예로서, CPU (16) 는 제 1 세일리언시 맵과 하나 이상의 부가 세일리언시 맵 사이의 교차 상관을 수행할 수도 있다. 교차상관의 결과가 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵이 상관 임계치 내에서 상관됨을 표시하는 경우, CPU (16) 는 제 1 세일리언시 맵과 하나 이상의 세일리언시 맵이 실질적으로 동일하다고 결정할 수도 있다. 교차 상관의 결과가 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵이 상관 임계치 내에서 상관되지 않음을 표시하는 경우, CPU (16) 는 제 1 세일리언시 맵과 하나 이상의 세일리언시 맵이 실질적으로 동일하지 않다고 결정할 수도 있다.
다른 예로서, CPU (16) 는 제 1 세일리언시 맵과 하나 이상의 부가 세일리언시 맵 사이의 절대 차의 합 프로세스를 수행할 수도 있다. 예를 들어, CPU (16) 는 제 1 세일리언시 맵과 하나 이상의 부가 세일리언시 맵에서의 픽셀들 사이의 픽셀-바이-픽셀 차이를 결정 (예를 들어, 픽셀 값들을 감산) 할 수도 있다. CPU (16) 는 그 차이에 기초하여 절대 차의 합을 결정할 수도 있다. 절대 차의 합의 결과가 임계치 미만이면, CPU (16) 는 제 1 세일리언시 맵과 하나 이상의 세일리언시 맵이 실질적으로 동일하다고 결정할 수도 있다. 절대 차의 합의 결과가 임계치 미만이 아니면, CPU (16) 는 제 1 세일리언시 맵과 하나 이상의 세일리언시 맵이 실질적으로 동일하지 않다고 결정할 수도 있다.
다른 예로서, CPU (16) 는 제 1 세일리언시 맵과 하나 이상의 부가 세일리언시 맵 사이의 평균 제곱 에러 프로세스를 수행할 수도 있다. 예를 들어, CPU (16) 는 제 1 세일리언시 맵과 하나 이상의 부가 세일리언시 맵에서의 픽셀들 사이의 픽셀-바이-픽셀 차이를 결정 (예를 들어, 픽셀 값들을 감산) 할 수도 있다. CPU (16) 는 그 차이에 기초하여 평균 제곱 에러를 결정할 수도 있다. 평균 제곱 에러의 결과가 임계치 미만이면, CPU (16) 는 제 1 세일리언시 맵과 하나 이상의 세일리언시 맵이 실질적으로 동일하다고 결정할 수도 있다. 평균 제곱 에러의 결과가 임계치 미만이 아니면, CPU (16) 는 제 1 세일리언시 맵과 하나 이상의 세일리언시 맵이 실질적으로 동일하지 않다고 결정할 수도 있다.
또한, 본 개시에 설명된 세일리언시 맵 기법들의 활용이 오토포커스, 오토노출, 및/또는 오토-화이트 밸런스를 보완할 수도 있다는 일반적으로 얼굴 검출 또는 애완동물 검출, 또는 오브젝트 검출과 같은 다른 기법들이 있을 수도 있다. 그러나, 프리뷰 모드 또는 레코딩 동안 실시간으로 세일리언시 맵을 생성하는 것은 오브젝트 검출과 혼동되지 않아야 한다. 위에 설명된 바와 같이, 세일리언시 맵은 이미지 내의 상이한 영역들이 뷰어 시선을 끌 확률들 (예를 들어, 가능성) 과 같은, 뷰어 시선을 끌 때 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시할 수도 있다. 세일리언트 영역은 얼굴 또는 애완동물 또는 일부 특정 오브젝트가 있는 영역일 가능성이 있지만, 세일리언시 맵은 오브젝트 타입을 식별하지 못할 수도 있다. 그러나, 기법들은 오브젝트 타입의 식별을 배제하는 것으로 해석되지 않아야 한다.
일부 예들에서, CPU (16) 는 노출, 포커스, 및 화이트 밸런스를 조정하는 방법을 우선순위화할 수도 있다. 예를 들어, 노출, 포커스, 및/또는 화이트 밸런스에 대한 명시적 사용자 제공 정보가 존재하면, CPU (16) 는 먼저 노출, 포커스, 및 화이트 밸런스를 조정하기 위해 사용자 제공 정보를 사용하여 우선순위화할 수도 있다. 오브젝트 검출 알고리즘이 물체를 검출했다면, CPU (16) 는 그 후 노출, 포커스, 및 화이트 밸런스를 조정하기 위해 오브젝트 검출 알고리즘으로부터의 정보를 사용하여 우선순위화할 수도 있다. CPU (16) 는 그 후 노출, 포커스, 및 화이트 밸런스를 조정하기 위해 세일리언시 맵을 우선순위화할 수도 있다.
위의 예시의 우선순위화 순서는 단지 예로서만 제공되며 제한하는 것으로 간주되지 않아야 한다. 우선순위화 순서는 상이할 수도 있다. 일부 예들에서, CPU (16) 는 노출, 포커스, 및 화이트 밸런스를 조정하기 위해 사용자 제공 정보, 오브젝트 검출, 및 세일리언시 맵의 일부 가중치를 활용할 수도 있다.
오브젝트 검출 기법들은 특정 오브젝트의 위치를 식별하는 정보를 생성할 수도 있지만 세일리언시 (예를 들어, 오브젝트가 뷰어의 시선을 끌 확률) 의 어떠한 표시도 제공하지 않을 수도 있다. 식별된 오브젝트가 뷰어의 시선을 끌 가능성이 있지만, 오브젝트 검출은 그러한 정보를 생성하지 않을 수도 있다. 예를 들어, 사람이 개인의 초상화 옆에 서 있는 경우, 얼굴 검출은 초상화에서의 사람과 개인 양자 모두의 얼굴을 식별할 수도 있지만, 둘 중 어느 것이 더 세일리언트한지에 관한 정보는 없다.
위의 예들에서, CPU (16) 는 이미지들을 캡처하기 위해 세일리언시 맵을 활용할 수도 있다. 그러나, 예시의 기법들은 그렇게 제한되지 않는다. 하나 이상의 예에서, CPU (16) 는 이미지가 캡처된 후에 세일리언시 맵을 활용할 수도 있다.
일 예로서, 카메라 디바이스 (10) 는, 예컨대 개발 중인 고효율 비디오 코딩 (HEVC) 표준 또는 다기능 비디오 코딩 (VVC) 표준에 따라, 캡처된 이미지와 연관된 이미지 데이터를 압축하도록 구성되는 비디오 또는 이미지 인코더를 포함할 수도 있다. 비디오 또는 이미지 인코딩은 값들이 양자화되는 양자화 동작을 포함한다. 양자화는 손실 동작이며, 이는 이미지 콘텐츠의 일부가 손실됨을 의미하지만, 이미지를 재구성하기 위해 비디오 또는 이미지 디코더에 시그널링될 필요가 있는 비트들의 수를 감소시키는 경향이 있다. 양자화를 위한 양자화 레벨은 디코딩될 때 이미지 콘텐츠가 얼마나 선명하거나 흐릿한지에 영향을 미친다. 하나 이상의 예에서, CPU (16) 는 세일리언시 맵에 기초하여 캡처된 이미지(들)에 대한 양자화 레벨을 결정할 수도 있다. 예를 들어, 세일리언트 영역에 대한 양자화 레벨은 비-세일리언트 영역에 대한 것보다 작을 수도 있어서, 세일리언트 영역들의 선명도가 유지되는 한편, 비-세일리언트 영역들은 시그널링되는 비트들의 수를 절약하기 위해 흐릿할 수도 있다.
다른 예로서, 카메라 디바이스 (10) 는 세일리언시 맵에 기초하여 이미지의 주밍 또는 크로핑을 결정할 수도 있다. 예를 들어, 이미지 콘텐츠가 크로핑될 때, CPU (16) 는 세일리언시 맵에 기초하여, 세일리언트한 것으로 결정된 영역들이 이미지에서 크로핑되지 않는 것을 보장할 수도 있다.
유사하게, 주밍이 인에이블될 때, CPU (16) 는 이미지의 선명도를 유지하면서 세일리언트 영역들로의 주밍을 허용하기 위해 세일리언트 영역들의 해상도가 상대적으로 높은 것을 보장할 수도 있다. 예를 들어, 상이한 크로핑의 세일리언시는 세일리언시가 주밍 프로세스 전체에 걸쳐 일관되게 유지되는 것을 보장하기 위해 오토 주밍을 보조할 수도 있다.
다른 예로서, 카메라 디바이스 (10) 는 다른 영역들에 비해 상대적으로 세일리언시가 더 높은 영역들에 대해 수행된 프로세싱의 양을 증가시킬 수도 있다. 일 예로서, GPU (18) 는, 이미지 콘텐츠를 렌더링하는 것의 일부로서, 하나 이상의 픽셀 셰이더 (또한 프래그먼트 셰이더로 지칭됨) 를 실행하도록 구성될 수도 있다. GPU (18) 가 이미지의 영역을 렌더링하기 위해 실행하는 픽셀 셰이더들이 많을수록, 이미지 콘텐츠는 그 영역에 대해 더 선맹해질 것이다. 예를 들어, GPU (18) 가 영역에 대한 픽셀 셰이더의 100 개의 인스턴스들을 실행하면, 그 영역에 대한 해상도는 10x10 일 것이다. 그러나, GPU (18) 가 동일한 영역에 대해 픽셀 셰이더의 16 개의 인스턴스들을 실행하면, 그 영역에 대한 해상도는 4x4 일 것이다. 16개의 인스턴스들 대신에 픽셀 셰이더의 100개의 인스턴스들을 실행하는 것은 다른 영역들에 비해 상대적으로 더 높은 세일리언시를 갖는 영역들에 대해 수행되는 (예를 들어, 비-세일리언트 영역들에 비해 세일리언트 영역에 대해 수행되는) 증가된 양의 프로세싱을 필요로 한다. 이미지의 상이한 영역들의 해상도를 관리하기 위해 실행되는 픽셀 셰이더들의 수를 제어하는 것은 포비티드 렌더링 (foveated rendering) 으로 지칭된다. 비-세일리언트 영역들에 비해 세일리언트 영역들에 대해 수행되는 프로세싱의 양을 증가시키는 다른 방식들이 있을 수도 있고, 포비티드 렌더링을 위한 픽셀 셰이더들의 실행은 하나의 예이다.
이미지 프로세싱을 위한 상기 예들에서, CPU (16) 는 실시간 또는 라이브로 (예를 들어, 이미지가 실제로 캡처되기 전에 및 애플리케이션이 이미지를 캡처하는데 사용되고 있는 동안 런-타임에) 세일리언시 맵을 생성하도록 구성될 수도 있다. 그러나, 일부 경우들에서, CPU (16) 가 반드시 실시간으로 세일리언시 맵을 생성하는 것이 아니라, 다른 영역들에 비해 상대적으로 더 높은 세일리언시를 갖는 영역들에 대해 수행된 프로세싱의 양을 증가시키도록 이미지를 인코딩하기 위한 양자화 레벨들을 결정하거나, 이미지를 주밍 또는 크로핑하거나, 또는 이미지를 렌더링할 때와 같은 나중에 생성하는 것이 가능할 수도 있다. 용이성을 위해, 예들은 세일리언시 맵의 실시간 생성으로 설명되지만, 예시의 기법들은 그렇게 제한되지 않는다. 또한, 상기는 이미지 프로세싱을 위한 세일리언시 맵의 활용의 몇몇 비제한적인 예들이며, 예시의 기법들은 상기 예들에 제한되는 것으로 간주되지 않아야 한다.
이러한 방식으로, CPU (16) 는 (예를 들어, 카메라 프로세서 (14) 또는 카메라 (12) 로부터) 프리뷰 모드에서 또는 레코딩을 위해 이미지를 수신하고, 이미지 내의 상이한 영역들이 뷰어의 시선을 끌 확률들을 표시하는 세일리언시 맵을 생성하며, 세일리언시 맵에 기초하여 이미지를 프로세싱하도록 구성될 수도 있다. 이미지를 프로세싱하는 것은 이미지 캡처 프로세싱을 포함할 수도 있다. 이미지 캡처 프로세싱의 예들은 이미지를 캡처하도록 구성된 디바이스의 화이트 밸런스를 조정하는 것, 이미지를 캡처하도록 구성된 디바이스의 포커스를 조정하는 것, 또는 이미지를 캡처하도록 구성된 디바이스의 노출을 조정하는 것 중 하나 이상과 같은 캡처하는 것 이전에 이미지를 프로세싱하는 것을 포함한다. 이미지를 프로세싱하는 것은 또한, 이미지를 인코딩하기 위한 양자화 레벨들을 결정하는 것, 이미지를 주밍 또는 크로핑하는 것, 또는 비-세일리언트 영역들에 비해 세일리언트 영역들에 대해 수행된 프로세싱의 양을 증가시키는 것 중 하나 이상과 같은 캡처하는 것 이후에 이미지를 프로세싱하는 것을 포함할 수도 있다.
예를 들어, CPU (16) 는 프리뷰 모드 또는 레코딩 동안, 제 1 이미지를 수신할 수도 있다. 제 1 이미지는 제 1 렌즈 포지션에서 카메라 (12) 의 렌즈로 생성될 수도 있다. CPU (16) 는 제 1 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 제 1 세일리언시 맵을 생성할 수도 있고, 여기서 상이한 영역들의 상대적 세일리언시는 뷰어 시선을 끌 가능성을 표시할 수도 있다. CPU (16) 는 제 1 이미지에서 픽셀들을 조작하는 것에 기초하여 하나 이상의 부가 이미지를 생성하고, 하나 이상의 부가 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 하나 이상의 부가 세일리언시 맵을 생성할 수도 있다. 하나 이상의 예에서, CPU (16) 는 프리뷰 모드 또는 레코딩 동안, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 설정을 결정 (예를 들어, 제어) 할 수도 있다. 카메라 설정을 결정하는 하나의 예는 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 설정을 제어하는 것을 포함한다.
일 예로서, 카메라 설정을 결정하기 위해, CPU (16) 는 카메라 (12) 의 렌즈에 대한 제 2 렌즈 포지션을 정의하는 오토포커스 설정을 결정할 수도 있다. 상술한 바와 같이, 제 1 이미지는 제 1 렌즈 포지션에서 카메라 (12) 의 렌즈로 생성될 수도 있다.
제 1 경우에서, CPU (16) 는 제 2 렌즈 포지션 및 제 1 렌즈 포지션이 동일하다고 결정하고, 렌즈의 렌즈 포지션의 조정을 회피할 수도 있다. 제 2 경우에서, CPU (16) 는 제 2 렌즈 포지션 및 제 1 렌즈 포지션이 상이하다고 결정하고, 렌즈의 렌즈 포지션을 제 2 렌즈 포지션에 대해 조정할 수도 있다. 이러한 방식으로, CPU (16) 는 프리뷰 모드 또는 레코딩 동안, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 설정 (예를 들어, 오토포커스 설정) 을 제어할 수도 있다.
예를 들어, CPU (16) 는 제 1 세일리언시 맵을 하나 이상의 부가 세일리언시 맵과 비교하고, 그 비교에 기초하여 오토포커스 설정을 결정할 수도 있다. 제 1 세일리언시 맵을 하나 이상의 부가 세일리언시 맵과 비교하는 예들은, 픽셀들의 교차 상관, 절대차의 합 프로세스, 또는 평균 제곱 에러 프로세스를 수행하는 것 중 하나 이상을 포함한다.
일 예로서, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 설정을 결정하기 위해, CPU (16) 는,제 1 세일리언시 맵을 하나 이상의 부가 세일리언시 맵과 비교하고, 제 1 세일리언시 맵과 하나 이상의 부가 세일리언시 맵이 실질적으로 동일하다고 결정하며, 그리고 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에서 상대적 세일리언시를 갖는 영역들에 기초하여 오토포커스를 조정하도록 구성될 수도 있다. 다른 예로서, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 오토포커스 설정을 결정하기 위해, CPU (16) 는 제 1 세일리언시 맵을 하나 이상의 부가 세일리언시 맵과 비교하고, 제 1 세일리언시 맵과 하나 이상의 부가 세일리언시 맵이 실질적으로 동일하지 않다고 결정하고, (예를 들어, 제 1 세일리언시 맵과 하나 이상의 부가 세일리언시 맵이 실질적으로 동일하지 않은 것에 기초하여) 제 1 이미지에서의 전경 영역들을 결정하며, 그리고 전경 영역들에 기초하여 오토포커스를 조정하도록 구성될 수도 있다.
(예를 들어, 제 1 이미지에서의 픽셀들을 조작함으로써) 하나 이상의 부가 이미지를 생성하는 하나의 예시의 방식은 하나 이상의 부가 이미지를 생성하기 위해 제 1 이미지를 인페인팅하는 것이다. 제 1 이미지에 기초하여 하나 이상의 부가 이미지를 생성하는 하나의 예시의 방식은, 상이한 계층들을 조작하는 것 (예를 들어, 상이한 상대적 깊이들에서 오브젝트들에 대해 픽셀들을 조작함으로써 멀티-계층 필링) 에 기초하여 하나 이상의 부가 이미지를 연속적으로 생성하는 것에 의해서이다. 예를 들어, 하나 이상의 부가 이미지는 제 1 부가 이미지 및 제 2 부가 이미지를 포함할 수도 있다. CPU (16) 는 제 1 부가 이미지를 생성하기 위해 제 1 이미지의 픽셀들을 조작하고 제 2 부가 이미지를 생성하기 위해 제 1 부가 이미지의 픽셀들을 조작함으로써 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 하나 이상의 부가 이미지를 생성하도록 구성될 수도 있다. 이러한 방식으로, CPU (16) 는 제 1 이미지에서의 이미지 콘텐츠의 깊이 (예를 들어, 어떤 픽셀들이 전경 오브젝트들에 대한 것인지를 결정하는 것, 및 그 픽셀들을 조작하는 것) 에 기초하여 하나 이상의 부가 이미지를 생성할 수도 있다.
상기는 카메라 설정을 결정하는 것을 설명하며, 여기서 카메라 설정 예는 오토포커스 설정이다. 일부 예들에서, 카메라 설정을 결정 (예를 들어, 제어) 하는 것은 오토노출 설정을 결정하는 것을 포함할 수도 있다.
예를 들어, 하나 이상의 부가 이미지를 생성하기 위해, CPU (16) 는 제 1 이미지의 톤을 변경함으로써 제 1 이미지 상에 상이한 노출들을 시뮬레이션하여 하나 이상의 부가 이미지를 생성할 수도 있다. 상이한 노출을 시뮬레이션하는 것은 상이한 톤들 (예를 들어, 밝기) 을 갖는 시뮬레이팅 이미지들을 생성하는 것을 지칭할 수도 있다. 이러한 예들에서, 하나 이상의 부가 세일리언시 맵을 생성하기 위해, CPU (16) 는 제 1 이미지 상에 상이한 노출들을 시뮬레이션함으로써 생성되는 하나 이상의 부가 이미지 내에서 하나 이상의 부가 세일리언시 맵을 생성할 수도 있다.
CPU (16) 는 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 복수의 미터링 맵들을 생성할 수도 있다. 예를 들어, CPU (16) 는 제 1 이미지 및 제 1 세일리언시 맵에 기초하여 제 1 미터링 맵을 생성할 수도 있고, 제 1 부가 이미지 및 제 1 세일리언시 맵에 기초하여 제 2 미터링 맵을 생성할 수도 있는 등이다. CPU (16) 는 (예를 들어, 복수의 미터링 맵들을 평균함으로써) 복수의 미터링 맵들에 기초하여 업데이트된 미터링 맵을 결정할 수도 있다. CPU (16) 는 미터링 맵에 기초하여 오토노출 설정을 결정 (예를 들어, 제어) 할 수도 있다.
일반적으로, 세일리언시 맵들은 이미지에서의 영역들에 대한 값들을 포함할 수도 있고, 여기서 값들은 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하고, 상이한 영역들의 상대적 세일리언시는 뷰어 시선을 끌 가능성을 표시한다 (예를 들어, 2개의 비제한적인 예로서, 대응하는 영역들에 대한 뷰어 시선을 끌 확률을 표시하는 값들 또는 대응하는 영역들이 바이너리인지 여부를 표시하는 이진 값들). 따라서, 뷰어 시선을 끌 확률들이 더 높은 이미지에서의 영역들은 뷰어 시선을 끌 확률들이 더 낮은 이미지에서의 영역들과 상이하게 식별될 수도 있다 (상이한 값들). 그러나, 세일리언시 맵들에서 뷰어 시선을 끌 확률들이 더 높은 이미지에서의 영역들이 뷰어 시선을 클 확률들이 더 낮은 이미지에서의 영역들과 상이하게 식별되는 다른 방식들이 있을 수도 있다.
상술한 바와 같이, 일부 예들에서, 세일리언시 맵들을 생성하기 위한 (예를 들어, 하나 이상의 머신-러닝 모델들에 의해 생성된) 가중치들은 시스템 메모리 (30) 에 저장될 수도 있다. 일부 예들에서, 세일리언시 맵들을 생성한 후, CPU (16) 는 세일리언시 맵들에 기초하여 이미지를 프로세싱하는데 사용하기 위해 세일리언시 맵들을 시스템 메모리 (30) 에 저장할 수도 있다. 세일리언시 맵들을 시스템 메모리 (30) 에 저장하는 것보다 또는 이에 부가하여, CPU (16) 는 세일리언시 맵들을 CPU (16) 의 로컬 메모리에 저장할 수도 있다. 세일리언시 맵들을 저장하는 메모리는 이미지들의 메타 데이터를 저장하는, 카메라 속성 풀 (property pool) 로 지칭될 수도 있다.
메모리 제어기 (24) 는 시스템 메모리 (30) 로 들어가고 나오는 데이터의 이송을 용이하게 한다. 예를 들어, 메모리 제어기 (24) 는 메모리 읽기 및 쓰기 커맨드를 수신하고, 메모리 (30) 에 대해 그러한 커맨드들을 서비스하여 카메라 디바이스 (10) 에서의 컴포넌트들에 메모리 서비스를 제공할 수도 있다. 메모리 제어기 (24) 는 시스템 메모리 (30) 에 통신 가능하게 커플링된다. 메모리 제어기 (24) 가 CPU (16) 및 시스템 메모리 (30) 양자 모두로부터 분리되는 프로세싱 회로인 것으로서 도 1 의 예시의 카메라 디바이스 (10) 에 도시되어 있지만, 다른 예들에서는 메모리 제어기 (24) 의 기능성의 일부 또는 전부가 CPU (16) 및 시스템 메모리 (30) 중 하나 또는 양자 모두 상에서 구현될 수도 있다.
시스템 메모리 (30) 는 카메라 프로세서 (14), CPU (16), 및 GPU (18) 에 의해 액세스가능한 프로그램 모듈들 및/또는 명령들 및/또는 데이터를 저장할 수도 있다. 예를 들어, 시스템 메모리 (30) 는 사용자 애플리케이션들 (예를 들어, 카메라 애플리케이션에 대한 명령들) 을 저장하여, 카메라 프로세서 (14) 등으로부터 프레임들을 야기할 수도 있다. 시스템 메모리 (30) 는 부가적으로 카메라 디바이스 (10) 의 다른 컴포넌트들에 의한 사용을 위한 및/또는 이에 의해 생성된 정보를 저장할 수도 있다. 예를 들어, 시스템 메모리 (30) 는 카메라 프로세서 (14) 를 위한 디바이스 메모리로서 작용할 수도 있다.
도 2 는 도 1 의 디바이스의 시스템 메모리 및 중앙 프로세성 유닛 (CPU) 을 더 상세히 도시하는 블록 다이어그램이다. 도 2 에 도시된 바와 같이, 카메라 (12) 는 렌즈 (34) 및 센서 (36) 를 포함한다. CPU (16) 는 오토노출 애플리케이션 (38), 오토포커스 애플리케이션 (40), 및 오토-화이트 밸런스 애플리케이션 (42) 을 실행하도록 구성될 수도 있다. CPU (16) 는 또한 시스템 메모리 (30) 에 저장된 세일리언시 맵 (46) 및 하나 이상의 부가 세일리언시 맵 (47) 을 생성하기 위해 컨볼루셔널 뉴럴 네트워크 (CNN) 애플리케이션 (44) 을 실행하도록 구성될 수도 있다. 시스템 메모리 (30) 는 또한 뉴럴 네트워크 (NN) 가중치들 (48) 을 저장할 수도 있다.
하나 이상의 예에서, 시스템 메모리 (30) 는 CPU (16) 가 취출하고 실행하는 오토노출 애플리케이션 (38), 오토포커스 애플리케이션 (40), 오토-화이트 밸런스 애플리케이션 (42), 및 CNN 애플리케이션 (44) 에 대한 오브젝트 코드를 저장할 수도 있다. 하나 이상의 예에서, CPU (16) 상에서 실행되는 소프트웨어 애플리케이션들이기보다는, CPU (16) 는 오토노출, 오토포커스, 오토-화이트 밸런스의 동작들을 수행하기 위한 특수 하드웨어뿐만 아니라 세일리언시 맵 (46) 및 하나 이상의 부가 세일리언시 맵 (47) 을 생성하기 위한 특수 하드웨어를 포함할 수도 있다.
일 예로서, 카메라 디바이스 (10) 는 벡터 프로세서 (미도시) 를 포함할 수도 있다. 벡터 프로세서는 곱셈 연산을 비교적 빠르게 수행하도록 구성된 특수 하드웨어일 수도 있다. 상술한 바와 같이, 세일리언시 맵 (46) 또는 하나 이상의 부가 세일리언시 맵 (47) 과 같은 세일리언시 맵을 생성하는 것은 이미지로부터의 샘플 값들의 많은 곱셈 연산들을 포함할 수도 있다. CPU (16) 는 (예를 들어, CNN 애플리케이션 (44) 을 통해) 곱셈 태스크를 벡터 프로세서에 오프로드할 수도 있다.
하나 이상의 예에서, 광은 렌즈 (34) 를 통해 진입하고 센서 (36) 에 의해 수신된다. 오토포커스 애플리케이션 (40) 은 렌즈 (34) 의 포커스를 조정하도록 카메라 (12) 내의 렌즈 (34) 의 위치를 수정할 수도 있다. 예를 들어, 렌즈 (34) 의 위치를 수정함으로써, 오토포커스 애플리케이션 (40) 은 센서 (36) 에 대한 초점 (focal point) 을 제어하고, 따라서 이미지 콘텐츠의 어느 부분들이 포커싱될 것인지를 제어할 수도 있다.
오토노출에 대해, 오토노출 애플리케이션 (38) 은 이미지 콘텐츠의 어느 영역을 노출 미터링 또는 공간 미터링 맵에 사용할지를 결정하도록 구성될 수도 있다. 예로서, 오토노출 애플리케이션 (38) 은 미터링 맵을 활용할 수도 있다. 미터링 맵은 이미지에 걸친 가중치 맵으로서 간주될 수도 있다. 미터링 맵은 이미지를 밝게 하거나 어둡게 하기 위해 글로벌 노출을 변경할 필요가 있는 경우 오토노출 애플리케이션 (38) 에 표시할 수도 있다. 가능하게는 셔터 속도 및 센서 이득과 함께, 개구 (즉, 광이 렌즈 (34) 에 입사하고 및/또는 센서 (36) 에 도달할 수 있는 영역) 의 변경은, 오토노출 애플리케이션 (38) 이 원하는 노출 변화를 달성할 수 있는 예시의 방식일 수도 있다. 예를 들어, 오토노출 애플리케이션 (38) 은 또한 셔터 속도 (예를 들어, 광이 렌즈 (34) 에 진입하고 및/또는 센서 (36) 에 도달하도록 허용되는 시간량) 및 센서 (36) 의 광에 대한 감도를 제어하기 위해 미터링 맵 또는 일부 다른 기법을 활용할 수도 있다.
일부 예들에서, 미터링 맵은 중심 바이어싱되며, 이는 오토노출 애플리케이션 (38) 이 중심 픽셀들이 적절하게 노출되고 에지를 향하는 픽셀들이 덜 노출되는 것을 보장하기 위해 바이어싱될 수도 있음을 의미한다. 미터링 맵들의 다른 예들이 있을 수도 있고, 기법들은 이미지의 중간 영역에 대한 노출 제어를 위해 바이어싱되는 미터링 맵들에 제한되지 않는다. 하나 이상의 예에서, 시스템 메모리 (30) 는 다양한 미터링 맵들 (예를 들어, 사용자 선택가능한 미터링 맵들) 을 저장할 수도 있고, 오토노출 애플리케이션 (38) 은 사용자 선택된 미터링 맵을 활용할 수도 있다.
오토-화이트 밸런스 애플리케이션 (42) 은 화이트 밸런스를 제어하도록 구성될 수도 있다. 오토-화이트 밸런스 애플리케이션 (42) 은 이미지에서 화이트 컬러의 온도를 결정하고, 결정된 화이트 컬러의 온도에 기초하여 이미지 콘텐츠를 생성할 수도 있다. 예를 들어, 혼합 조명이 있는 경우 (예를 들어, 음영 영역과 비음영 영역), 화이트 컬러의 온도는 비음영 영역과 비교하여 음영 영역에서 상이할 수도 있다. 오토-화이트 밸런스 애플리케이션 (42) 은 음영 및 비음영 영역들 상에서 비현실적인 컬러 캐스트를 최소화하기 위해 화이트 컬러에 대한 적절한 온도를 결정하도록 구성될 수도 있다.
오토노출 애플리케이션 (38), 오토포커스 애플리케이션 (40), 및 오토-화이트 밸런스 애플리케이션 (42) 이 상대적으로 잘 동작할 수도 있지만, 소정의 제한들이 있을 수도 있다. 예를 들어, 오토포커스는 렌즈 (34) 가 이미지에서 세일리언트 영역들에 포커싱되는 것을 보장함으로써 개선될 수도 있어서, 세일리언트 영역들의 선명도가 유지되는 우수한 품질의 이미지들을 야기한다. 얼굴 검출 또는 오브젝트 검출과 같은 일부 기법들은, 렌즈 (34) 가 포커싱할 수 있는 오브젝트들을 식별하는 것을 보조하고, 오토포커스 애플리케이션 (40) 은 렌즈 (34) 가 검출된 오브젝트들에 포커싱하게 할 수도 있다. 그러나, 이러한 오브젝트 검출 알고리즘은 (예를 들어, 복수의 훈련 이미지들에 걸친 인간 뷰어들의 시선 추적 데이터에 따라 뉴럴 네트워크를 훈련함으로써 결정된 바와 같이) 검출된 오브젝트가 세일리언트한지 여부를 표시하지 않는다.
오토노출 설정을 위해, 오토노출 애플리케이션 (38) 은 미터링 맵을 활용하도록 구성될 수도 있다. 그러나, 미터링 맵은 이미지 콘텐츠의 세일리언시를 고려하지 않을 수도 있다. 오히려, 미터링 맵은 중심과 같은 이미지에서의 소정의 영역을 노출하도록 설정될 수도 있지만, 중심은 어떠한 세일리언트 콘텐츠도 포함하지 않고, 세일리언트 콘텐츠가 이미지에서의 다른 곳에 위치될 확률이 있다. 따라서, 오토노출 설정을 위한 세일리언시 맵에 대한 사용이 유익할 수도 있다.
오토-화이트 밸런스 설정에 대해, 오토-화이트 밸런스 애플리케이션 (42) 은 음영 영역들 및 비-음영 영역들이 적합하게 보이도록 (예를 들어, 양자 모두 어느 정도의 비현실적인 컬러 캐스트를 가짐) 화이트 컬러의 온도를 결정하도록 구성될 수도 있다. 하지만, 음영 영역들이 비-음영 영역들보다 세일리언트하면, 음영 영역에 기초하여 화이트 컬러 온도를 설정함으로써 우수한 이미지들이 캡처될 수도 있다. 이 경우, 비-음영 영역 상에 더 많은 컬러 캐스트가 있을 수도 있다. 그러나, 비-음영 영역은 세일리언트하지 않기 때문에, 컬러 캐스트로부터 어떠한 부정적인 영향도 없을 수도 있지만, 세일리언트 영역은 컬러 캐스트를 갖지 않기 때문에 유리할 수도 있다.
하나 이상의 예에서, CPU (16) 는 CNN 애플리케이션 (44) 을 실행하여 오토포커스, 오토노출, 또는 오토-화이트 밸런스 설정들 중 하나 이상에 대해 CPU (16) 가 활용하는 하나 이상의 부가 세일리언시 맵 (47) 및 세일리언시 맵 (46) 을 생성하도록 구성될 수도 있다. 세일리언시 맵 (46) 및 하나 이상의 부가 세일리언시 맵 (47) 을 생성하기 위한 예시의 기법들은 CPU (16) 가 오토포커스, 오토노출, 및 오토-화이트 밸런스 설정들을 결정할 수도 있는 방식으로부터 변하지 않을 수도 있다. 예를 들어, CNN 애플리케이션 (44) 은 오토포커스 애플리케이션 (40), 오토노출 애플리케이션 (38), 및 오토-화이트 밸런스 애플리케이션 (42) 에 의해 각각 결정된 오토포커스, 오토노출, 및 오토-화이트 밸런스로 캡처 후에 생성된 이미지를 활용하지 않을 수도 있다. CPU (16) 는 세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 을 활용하여 오토포커스, 오토노출, 및/또는 오토-화이트 밸런스를 업데이트할 수도 있다.
CPU (16) 는 (예를 들어, CNN 애플리케이션 (44) 을 통해) 이미지들의 프리뷰 모드 또는 레코딩 동안 실시간으로 세일리언시 맵 (46) 및 하나 이상의 세일리언시 맵 (47) 을 생성하도록 구성될 수도 있으며, 여기서 세일리언시 맵 (46) 은 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하고 하나 이상의 세일리언시 맵 (47) 은 세일리언시 맵 (46) 을 생성하는데 사용된 이미지에 기초하여 생성된 하나 이상의 부가 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시한다.
예를 들어, 세일리언시 맵 (46) 을 생성하는데 사용된 이미지는 제 1 이미지일 수도 있고, 세일리언시 맵 (46) 은 제 1 세일리언시 맵일 수도 있다. CPU (16) 는 제 1 이미지에 기초하여 하나 이상의 부가 이미지를 생성할 수도 있다. 예를 들어, CPU (16) 는 픽셀 조작 유닛 (49) 을 실행할 수도 있다. 픽셀 조작 유닛 (49) 이 CPU (16) 가 실행하는 소프트웨어인 것으로 예시되지만, 예시의 기법들은 그렇게 제한되지 않는다. 픽셀 조작 유닛 (49) 은 고정 기능 회로부 또는 하드웨어와 소프트웨어의 일부 조합으로서 구현될 수도 있다.
픽셀 조작 유닛 (49) 은 하나 이상의 부가 이미지를 생성하기 위해 제 1 이미지에서의 픽셀들을 조작하도록 구성될 수도 있다. CPU (16) 는 CNN 애플리케이션 (44) 을 실행하여 하나 이상의 부가 이미지 각각에 대해, 하나 이상의 부가 세일리언시 맵 (47) 을 생성할 수도 있다.
일 예로서, CPU (16) 는 제 1 이미지에서의 오브젝트들의 상대적 깊이들을 결정할 수도 있다. 예를 들어, CPU (16) 는 상대적 깊이들의 정보를 생성하기 위해 위상 검출 오토포커스 (PDAF) 알고리즘을 활용할 수도 있지만, 전파시간 (time of flight; ToF) 과 같은 다른 기법들이 또한 가능하다. PDAF 에서, 카메라 (12) 내의 센서들 (또는 가능하게는 일부 다른 센서들) 은 상대적 깊이를 결정하기 위한 목적으로 이미지 콘텐츠의 2개의 이미지를 캡처할 수도 있다. 상대적 깊이들을 결정하기 위해 캡처된 이미지들은 반드시 고해상도 이미지들일 필요는 없지만, 픽처들이 고해상도인 것이 가능할 수도 있다. 2개의 이미지에서의 이미지 콘텐츠의 상대적 디스패리티(disparity)는 오브젝트들의 깊이를 표시할 수도 있다. 상대적 디스패리티를 활용하여, CPU (16) 는 제 1 이미지에서의 오브젝트들의 상대적 깊이들을 표시하는 깊이 맵을 생성할 수도 있다. PDAF 가 하기에서 더 상세히 설명된다.
픽셀 조작 유닛 (49) 은 오브젝트들의 상대적 깊이에 기초하여 오브젝트들의 픽셀들을 조작할 수도 있다. 일 예로서, 픽셀 조작 유닛 (49) 은 깊이 맵에 의해 표시된 바와 같이, 전경에 있는 오브젝트들의 픽셀들을 제거하고, 그 픽셀들을 인페인팅으로 대체할 수도 있다. 인페인팅을 수행하는 하나의 예시의 방식은 픽셀들을 제거하는 것 및 제거된 픽셀들에 대한 픽셀들을 생성하기 위해 이웃 픽셀들을 블렌딩하는 것을 포함한다. 인페인팅을 수행하는 다른 방식은 전경에서의 픽셀들을 흐릿하게 하는 것일 수도 있다. 인페인팅은 하나의 예이고, 픽셀들을 조작하기 위한 다른 기법들이 가능하다. 픽셀 조작 유닛 (49) 의 동작들로부터의 결과는 제 1 부가 이미지일 수도 있다. 픽셀 조작 유닛 (49) 은 제 1 부가 이미지에 대해 이러한 동작들을 반복 (예를 들어, 제 1 부가 이미지에서 전경에서의 오브젝트들의 픽셀들을 인페인팅) 하여 제 2 부가 이미지를 생성할 수도 있는 등이다.
위에서 언급된 바와 같이, CPU (16) 는 CNN 애플리케이션 (44) 을 실행하여 하나 이상의 부가 이미지 각각에 대해, 하나 이상의 부가 세일리언시 맵 (47) 을 생성할 수도 있다. 예를 들어, CPU (16) 는 제 1 부가 이미지에 대한 제 1 부가 세일리언시 맵을 생성할 수도 있으며, 여기서 제 1 부가 세일리언시 맵은 하나 이상의 부가 세일리언시 맵 (47) 중 하나이다. CPU (16) 는 제 2 부가 이미지에 대한 제 2 부가 세일리언시 맵을 생성할 수도 있고, 여기서 제 2 부가 세일리언시 맵은 하나 이상의 부가 세일리언시 맵 (47) 중 다른 하나인 등이다.
세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 은 전체 이미지에 대한 세일리언시를 표시할 수도 있다. 예를 들어, 세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 은 단지 관심 영역 (ROI) 에 대한 바운딩 박스 또는 오브젝트 검출로부터의 바운딩 박스가 아닐 수도 있다. 일부 예들에서, 세일리언시 맵 (46) 및 하나 이상의 부가 세일리언시 맵 (47) 은 어느 부분들이 세일리언트하고 어느 부분들이 세이리언트하지 않은지를 표시하는 전체 이미지 (예를 들어, 제 1 이미지) 또는 개개의 부가 이미지들의 맵일 수도 있다.
세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 을 생성하기 위해, CNN 애플리케이션 (44) 은 NN 가중치들 (48) 을 활용하도록 구성될 수도 있다. NN 가중치들 (48) 은 훈련 이미지들을 뷰잉하는 하나 이상의 뷰어의 눈 추적에 기초하여 식별된, 복수의 훈련 이미지들 상의, 세일리언시 포인트들로부터 생성되는 훈련된 모델의 가중치들일 수도 있다.
CNN 애플리케이션 (44)(예를 들어, 가능하게는 벡터 프로세서의 사용에 의해) 은 시스템 메모리 (30) 에 저장된 가중치들 (48) 을 활용하도록 구성될 수도 있지만, 가중치들 (48) 은 뷰어 시선을 끌 확률들이 더 낮은 이미지에서의 영역들과는 상이하게 뷰어 시선을 끌 확률들이 더 높은 이미지에서의 영역들을 식별하기 위해 이미지로부터의 샘플 값들을 프로세싱하도록 하나 이상의 머신-러닝 모델로 데이터를 훈련함으로써 생성된, 일부 다른 메모리에 저장될 수도 있다. 즉, 세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 은 이미지 또는 개개의 하나 이상의 부가 이미지에서의 영역들에 매핑하는 값들을 포함할 수도 있고, 값들은 뷰어 시선을 끌 확률을 표시하거나 영역이 세일리언트한지 여부를 표시하는 이진 값들이 또한 가능할 수도 있다. 따라서, 뷰어 시선을 클 확률들이 높은 이미지에서의 영역에 대한 세일리언시 맵의 값들은 뷰어 시선을 클 확률들이 낮은 이미지에서의 영역에 대한 세일리언시 맵의 값들과 상이하다.
세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 을 나타내는 다양한 방식들이 있을 수도 있다. 일 예로서, 세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 은 값들의 2차원 맵일 수도 있으며, 여기서 각각의 값은 이미지의 영역과 연관되고 0 과 255 사이의 값을 갖는다. 255 의 값은 이미지에서의 연관된 영역이 높은 세일리언시를 갖는다는 것을 의미할 수도 있고, 0 의 값은 이미지에서의 연관된 영역이 낮은 세일리언시를 갖는다는 것을 의미할 수도 있다.
상술한 바와 같이, NN 가중치들 (48) 은 하나 이상의 머신-러닝 모델에 의해 생성될 수도 있다. 다음은 NN 가중치들 (48) 을 생성할 하나의 예시의 방식을 설명한다. 훈련 동안, 클라우드 네트워크에서 하나 이상의 서버 상의 하나 이상의 프로세서는 복수의 훈련 이미지들 (예를 들어, 10,000개의 이미지) 를 뷰잉하는 하나 이상의 뷰어의 눈 추적에 기초하여 식별된, 복수의 훈련 이미지 상의 세일리언시 포인트들을 결정하도록 구성될 수도 있다. 클라우드 네트워크에서 하나 이상의 서버 상의 하나 이상의 프로세서에 대해 설명되었지만, 카메라 디바이스 (10)(예를 들어, CPU (16)) 상에서 NN 가중치들 (48)(예를 들어, 훈련된 모델) 을 생성하는 것이 가능할 수도 있다.
세일리언시 포인트들로부터, 하나 이상의 프로세서는 "실측 자료"로 지칭되는 세일리언트 영역들의 정보를 생성할 수도 있다. 하나 이상의 프로세서는 훈련 이미지들 및 실측 자료를 피딩하고, CNN 애플리케이션 (44) 과 같은 컨볼루셔널 뉴럴 네트워크에 대한 가중치들을 생성하도록 하나 이상의 머신 러닝 모델을 훈련할 수도 있어서, 가중치들이 훈련닝 이미지들에 적용될 때, 결과가 실측 자료와 유사한 세일리언시 맵이도록 한다. 시스템 메모리 (30) 는 하나 이상의 머신-러닝 모델에 의해 생성된 가중치들을 NN 가중치들 (48) 로서 저장할 수도 있다.
(예를 들어, 프리뷰 모드로부터 또는 레코딩 동안) 새로운 이미지들에 대해, CNN 애플리케이션 (44) 은 세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 을 생성하기 위해 NN 가중치들 (48) 을 활용할 수도 있다. 따라서, 세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 은 머신-러닝 모델 기반 세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 으로서 간주될 수도 있다. 일부 예들에서, CNN 애플리케이션 (44) 은 머신 러닝 모델 기반 세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 을 생성하기 위해 대부분의 계층들 상에서 8개의 채널을 갖는 3x3 커널을 갖는 2+16 컨볼루션 계층 (예를 들어, 계층 당 8개의 채널 및 3x3 의 커널 사이즈를 갖는, 16개의 컨볼루션 계층의 시퀀스) 을 활용할 수도 있다.
예를 들어, CNN 애플리케이션 (44) 은 많은 순차적 계층들로 구성될 수도 있으며, 각각은 이전 계층의 출력에 대해 작동한다. 계층들의 예들은 컨볼루션 계층들 및 활성화 계층들을 포함한다. 일부 예들에서, 이들 2개의 타입의 층은 인터리빙될 수도 있다. 컨볼루션 계층들은 (예를 들어, 3x3 커널을 활용하여) 샘플의 이전 계층과 그 주변들의 모든 채널들을 곱한다. 예를 들어, 이전 계층이 32개의 채널을 갖고 3x3 커널이 사용되는 경우, 새로운 계층 출력은 32x3x3 수를 곱하고 이들을 합산한 결과이다. 이는 층들 각각에 대해 반복된다. 더 상세히 설명되는 바와 같이, 일부 예들에서, 입력 이미지는 128x96 의 사이즈로 다운스케일링될 수도 있으며, 이는 CPU (16)(또는, DSP, DSP 가 CNN 애플리케이션 (44) 의 동작들을 실행하거나 수행하고 있는 경우) 가 128x96x32x3x3x32 배로 곱할 필요가 있을 수도 있음을 의미한다. 활성화 계층들은 각각의 채널에 대해 적용되는 간단한, 비선형 응답 함수들이다. 몇가지 일반적인 기능들은, ReLU (정류된 선형 유닛), PReLU (파라메트릭 ReLU), ELU (지수 선형 유닛), TAHH, 및 Sigmoid 를 포함한다.
상술한 바와 같이, CNN 애플리케이션 (44) 은 총 18개의 컨볼루셔널 계층 (예를 들어, 2+16개의 컨볼루션 계층) 을 활용할 수도 있다. 이들 컨볼루션 계층들 중 2개는 이들이 다운스케일링하는데 사용됨을 의미하는 "스트라이딩된 컨볼루션 (strided convolution)" 이다. 따라서, 사이즈 128x96 의 입력 이미지에 대해, 제 1 다운스케일링은 64x48 로 되고, 그 후 제 2 다운스케일링은 32x24 로 된다. 다운스케일링에 의해, 곱셈들의 수가 감소될 수 있다. 다음 계층들은 모두 스트라이딩되지 않지만, 64x48 의 사이즈를 유지하도록 패딩을 포함한다. 그러나, 패딩은 모든 예들에서 필수적인 것은 아니다. 따라서, 이 예에서, CNN 애플리케이션 (44) 에 의해 생성된 세일리언시 맵의 사이즈는 64x48 의 사이즈이고, 패딩이 사용되지 않는 예들에서, 세일리언시 맵의 사이즈는 32x24 이다. CNN 애플리케이션 (44) 의 일부 예들은 순차적 네트워크, U-Net, resNET (잔여 뉴럴 네트워크), VGGNet (Visual Geometry Group Net) 등을 포함한다.
따라서, 세일리언시 맵(46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 을 생성하기 위해, CNN 애플리케이션 (44) 은 이미지 (예를 들어, 제 1 이미지 및/또는 하나 이상의 부가 이미지) 의 다운스케일링된 (예를 들어, 다운샘플링된) 버전을 입력으로서 수신할 수도 있다. 예를 들어, CPU (16) 는 (예를 들어, 하나의 비제한적인 예로서, 1024x768 의 해상도를 갖는) 이미지를 다운스케일링하여 NxM 사이즈의 다운스케일링된 이미지 (예를 들어, 128x96 RGB 이미지) 를 생성할 수도 있다. CNN 애플리케이션 (44) 은 다운스케일링된 이미지에 대해 예시의 기법들을 수행할 수도 있다 (예를 들어, 다운스케일링된 이미지에 기초하여 세일리언시 맵 (46) 을 생성하고 및/또는 다운스케일링된 하나 이상의 부가 이미지에 기초하여 하나 이상의 부가 세일리언시 맵 (47) 을 생성). CNN 애플리케이션 (44) 으로부터의 출력은 세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 이다. 세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 의 사이즈는 XxY 이고, X 가 N 미만인 것 또는 Y 가 M 미만인 것 중 적어도 하나이다. 예를 들어, 세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 의 사이즈는 32x24 이다. CNN 애플리케이션 (44) 은 이미지들에 대한 메타데이터를 저장하도록 구성된 지정된 메모리 공간 (예를 들어, 시스템 메모리 (30) 내 또는 다른 곳) 일 수도 있는, 속성 풀에 세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 을 저장할 수도 있다.
그 후 CPU (16) 는 화이트 밸런스, 포커스, 및/또는 노출 설정들 중 하나 이상을 조정 (즉, 카메라 설정을 조정) 하기 위해 세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 을 활용할 수도 있다. 예를 들어, 세일리언시 맵 (46) 에서, 상이한 깊이들에서 상이한 세일리언시 영역들이 있을 수도 있고, 오토포커스 설정을 위해 어느 깊이를 사용할지가 불명확할 수도 있다. 오토포커스의 깊이를 결정하는 하나의 예시의 방식은 세일리언시 맵 (46) 을 하나 이상의 부가 세일리언시 맵 (47) 과 비교하는 것에 기초한다.
예를 들어, CPU (16) 는 제 1 세일리언시 맵 (46) 을 하나 이상의 부가 세일리언시 맵 (47) 과 비교하고, 그 비교에 기초하여 카메라 설정 (예를 들어, 오토포커스, 화이트 밸런스, 및/또는 노출 설정들) 을 결정 (예를 들어, 제어) 할 수도 있다. 제 1 세일리언시 맵 (46) 을 하나 이상의 부가 세일리언시 맵 (47) 과 비교하는 것은, 픽셀 값들의 교차 상관, 절대차의 합 프로세스, 또는 평균 제곱 에러 프로세스를 수행하는 것 중 하나 이상을 포함할 수도 있다.
예를 들어, 하나 이상의 부가 이미지를 생성하기 위해, CPU (16) 및/또는 GPU (18) 는 상이한 깊이들에 대응하는 픽셀들을 조작 (예를 들어, 인페인팅) 할 수도 있다. 예를 들어, 조작되고 있는 전경에서의 오브젝트들에 대응하는 픽셀들로 제 1 부가 이미지가 생성될 수도 있고, 조작되고 있는 다음의 가장 전경에서의 오브젝트들에 대응하는 픽셀들로 제 2 부가 이미지가 생성될 수도 있는 등이다. 제 1 세일리언시 맵 (46) 이 제 1 부가 이미지에 대응하는 제 1 부가 세일리언시 맵과 동일하면, 오토포커스에 대한 깊이는 제 1 이미지 및 제 1 부가 이미지에 대해 동일한 세일리언트 영역들에 있어야 한다. 예를 들어, 제 1 세일리언시 맵 (46) 및 제 1 부가 세일리언시 맵이 동일하다는 것은 전경 픽셀들이 그렇게 세일리언트하지 않다는 것을 의미할 수도 있다. 일부 예들에서, 제 1 부가 이미지는 제 1 이미지의 전경 픽셀들을 인페인팅 (예를 들어, 전경 픽셀들을 보간하거나 흐릿하게) 함으로써 생성되기 때문에, 제 1 세일리언시 맵 (46) 과 제 1 부가 세일리언시 맵이 동일하게 되도록, 전경 픽셀들이 세일리언트하지 않을 수도 있다. 전경 픽셀들이 세일리언트했다면, 제 1 세일리언시 맵 (46) 및 제 1 부가 세일리언시 맵은 상이할 것이다.
그러나, 제 1 세일리언시 맵 (46) 이 제 1 부가 이미지에 대응하는 제 1 부가 세일리언시 맵과 동일하지 않으면, 오토포커스는 제 1 부가 세일리언시 맵이 표시할 것보다 더 전경에 있을 필요가 있을 수도 있다. 예를 들어, 제 1 세일리언시 맵 (46) 및 제 1 부가 세일리언시 맵이 상이하다는 것은, 전경 픽셀들이 인페인팅되었을 때, 세일리언시 영역들이 변경되었기 때문에 전경 픽셀들이 세일리언트함을 의미할 수도 있다.
하나 이상의 부가 이미지를 생성하기 위한 다른 예시의 방식으로서, 픽셀 조작 유닛 (49) 은 제 1 이미지의 톤을 변경함으로써 (예를 들어, 제 1 이미지 상의 밝기를 변경함으로써) 제 1 이미지 상에 상이한 노출들을 시뮬레이션할 수도 있다. CNN 애플리케이션 (44) 은 제 1 이미지 상의 상이한 노출들을 시뮬레이션함으로써 생성되는 하나 이상의 부가 이미지 내에 하나 이상의 부가 세일리언시 맵 (47) 을 생성할 수도 있다.
오토노출 애플리케이션 (38) 은 세일리언시 맵 (46) 및 하나 이상의 부가 세일리언시 맵 (47)에 기초하여 복수의 미터링 맵들을 생성할 수도 있다. 예를 들어, 오토노출 애플리케이션 (38) 은 세일리언시 맵 (46) 에 기초하여 제 1 이미지에 대한 제 1 미터링 맵을 생성하고, 하나 이상의 부가 세일리언시 맵 (47) 의 제 1 부가 세일리언시 맵에 기초하여 제 1 부가 이미지에 대한 제 2 미터링 맵을 생성하고, 하나 이상의 부가 세일리언시 맵 (47) 의 제 2 부가 세일리언시 맵에 기초하여 제 2 부가 이미지에 대한 제 3 미터링 맵을 생성할 수도 있는 등이다. 오토노출 애플리케이션 (38) 은 (예를 들어, 평균화에 의해) 복수의 미터링 맵들에 기초하여 업데이트된 미터링 맵을 결정할 수도 있다. 오토노출 애플리케이션 (38) 은 업데이트된 미터링 맵에 기초하여 오토노출 설정을 결정할 수도 있다.
일 예로서, 제 1 세일리언시 맵 (46) 및 하나 이상의 부가 세일리언시 맵 (47)에 기초하여 오토포커스, 오토-화이트 밸런스, 또는 오토노출 설정들을 결정 (예를 들어, 제어) 하기 위해, CPU (16) 는 제 1 세일리언시 맵 (46) 을 하나 이상의 부가 세일리언시 맵 (47) 과 비교하고, 제 1 세일리언시 맵 (46) 및 하나 이상의 부가 세일리언시 맵 (47) 이 실질적으로 동일하다고 (예를 들어, 상호 상관이 상관 임계치를 만족하거나, 절대 차의 합이 임계치 미만이거나, 또는 평균 제곱 에러가 임계치 미만임) 결정하도록 구성될 수도 있다. CPU (16) 는 (예를 들어, 오토노출 애플리케이션 (38), 오토포커스 애플리케이션 (40), 또는 오토-화이트 밸런스 애플리케이션 (42) 을 통해) 제 1 세일리언시 맵 (46) 및 하나 이상의 부가 세일리언시 맵 (47) 에서 상대적 세일리언시를 갖는 영역들에 기초하여 오토포커스, 오토노출, 또는 오토-화이트 밸런스 설정들을 결정할 수도 있다.
다른 예로서, 제 1 세일리언시 맵 (46) 및 하나 이상의 부가 세일리언시 맵 (47) 에 기초하여 오토포커스, 오토-화이트 밸런스, 또는 오토노출 설정들을 결정하기 위해, CPU (16) 는 제 1 세일리언시 맵 (46) 을 하나 이상의 부가 세일리언시 맵 (47) 과 비교하고, 제 1 세일리언시 맵 (46) 및 하나 이상의 부가 세일리언시 맵 (47) 이 실질적으로 동일하지 않다고 (예를 들어, 상호 상관이 상관 임계치를 만족하지 않거나, 절대 차의 합이 임계치 이상이거나, 또는 평균 제곱 에러가 임계치 이상임) 결정하도록 구성될 수도 있다. 제 1 세일리언시 맵 (46) 및 하나 이상의 부가 세일리언시 맵 (47) 이 실질적으로 동일하지 않다고 결정하는 것에 응답하여, CPU (16) 는 제 1 이미지에서 전경 영역들을 결정할 수도 있다. CPU (16) 는 (예를 들어, 오토노출 애플리케이션 (38), 오토포커스 애플리케이션 (40), 또는 오토-화이트 밸런스 애플리케이션 (42) 을 통해) 전경 영역들에 기초하여 오토포커스, 오토노출, 또는 오토-화이트 밸런스 설정을 결정할 수도 있다.
일 예로서, CPU (16) 는 오토노출 애플리케이션 (38) 이 (예를 들어, 세일리언시 맵 (46) 과 하나 이상의 부가 세일리언시 맵 (47) 사이의 비교에 기초하여) 세일리언시 맵 (46) 으로 활용할 미터링 맵을 대체할 수도 있다. 그러나, 세일리언시 맵 (46) 이 불완전할 가능성이 있을 수도 있다. 하나 이상의 예에서, CPU (16) 는 세일리언시 맵 (46) 을 미터링 맵으로 스케일링하여 업데이트된 미터링 맵을 생성할 수도 있다. 세일리언시 맵 (46) 을 미터링 맵으로 스케일링하기 위해, CPU (16) 는 미터링 맵에 적용할 스케일링 가중치를 결정할 수도 있으며, 여기서 스케일링 가중치는 세일리언시 맵 (46) 에서의 세일리언시 값에 기초한다. CPU (16) 는 오토노출 설정을 결정하기 위한 것과 같은, 하나 이상의 부가 이미지에 대한 미터링 맵들의 유사한 스케일링 동작들을 수행할 수도 있다.
도 3 은 세일리언시 값들의 함수로서 오토노출을 위해 적용될 스케일링 가중치들을 도시하는 그래프이다. 예를 들어, 도 3 은 CPU (16) 가 세일리언시 값에 기초하여 미터링 맵에 적용할 스케일링 가중치를 나타내는 라인 (50) 을 도시한다. 일부 예들에서는, 라인 (50) 을 활용하기보다, 시스템 메모리 (30) 가 세일리언시 값에 대한 미터링 맵에 적용하기 위한 스케일링 가중치를 표시하는 룩업 테이블을 저장할 수도 있다.
상술한 바와 같이, 일부 예들에서, 세일리언시 맵 (46) 의 사이즈는 비교적 작을 수도 있다 (예를 들어, 32x24). 미터링 맵의 사이즈는 세일리언시 맵 (46) 의 사이즈와 상이할 수도 있다 (예를 들어, 더 크거나 더 작을 수도 있다). CPU (16) 는 세일리언시 맵 (46) 의 값들을 보간하여 세일리언시 맵 (46) 의 사이즈를 미터링 맵의 사이즈로 업스케일링 또는 다운스케일링할 수도 있다. 그 후 CPU (16) 는 업스케일링된 또는 다운스케일링된 세일리언시 맵 (46) 에 기초하여 스케일링 가중치들을 결정할 수도 있다. 세일리언시 맵 (46) 에 부가하여 또는 그 대신에 미터링 맵을 업스케일링 또는 다운스케일링하는 것이 가능할 수도 있다.
CPU (16) 는 업데이트된 미터링 맵을 생성하기 위해 미터링 맵의 (예를 들어, 라인 (50) 에 의해 도시된 바와 같이) 값들로 스케일링 가중치를 곱할 수도 있다. 오토노출 애플리케이션 (38) 은 업데이트된 미터링 맵에 기초하여 노출 (예를 들어, 어퍼처) 을 조정하기 위해 업데이트된 미터링 맵을 활용할 수도 있다. 이러한 방식으로, 세일리언트 영역들에 대한 더 높은 미터링 가중치가 있을 것이고, 세일리언트 영역들이 적절하게 노출되는 것을 보장할 것이다.
다시 도 2 를 참조하면, 하나 이상의 예에서, 오토포커스 애플리케이션 (40) 은 어느 영역들에 렌즈 (34) 를 포커싱할지를 결정하기 위해 세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 을 활용할 수도 있다. 예를 들어, 오토포커스 애플리케이션 (40) 은 이미지의 하나 이상의 다른 영역보다 상대적으로 더 높은 세일리언시를 갖는 이미지에서의 영역을 결정할 수도 있다. 오토포커스 애플리케이션 (40) 은 결정된 영역에 기초하여 포커스 (예를 들어, 렌즈 (34) 의 렌즈 포지션) 를 조정할 수도 있다. 그러나, 오토포커스 애플리케이션 (40) 은 세일리언시 맵 (46) 의 세일리언트 영역들의 깊이가 오토포커스가 세일리언시 맵 (46) 과 하나 이상의 부가 세일리언시 맵 (47) 의 비교에 기초해야 하는 곳임을 확인할 수도 있다. 예를 들어, 세일리언시 맵 (46) 이 하나 이상의 부가 세일리언시 맵 (47) 과 실질적으로 동일하면, 오토포커스 애플리케이션 (40) 은 세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 에서의 세일리언트 영역들에 기초하여 오토포커싱할 수도 있다. 그러나, 세일리언시 맵 (46) 이 하나 이상의 부가 세일리언시 맵 (47) 과 실질적으로 동일하지 않으면, 오토포커스 애플리케이션 (40) 은 세일리언시 맵 (46) 을 생성하는데 사용된 이미지의 전경에서의 오브젝트들에 기초하여 오토포커싱할 수도 있다.
또한, 일부 예들에서, 오토포커스 애플리케이션 (40) 은 오토포커스 설정에 대한 변경이 있어야 하는지 여부를 결정할 수도 있다. 예를 들어, 제 1 이미지는 제 1 렌즈 포지션에서 카메라 (12) 의 렌즈 (34) 에 의해 생성될 수도 있고, 카메라 설정을 결정하기 위해, 오토포커스 애플리케이션 (40) 은 렌즈 (34) 에 대한 제 2 렌즈 포지션을 정의하는 오토포커스 설정을 결정할 수도 있다. 즉, 세일리언시 맵 (46) 과 하나 이상의 세일리언시 맵 (47) 의 비교에 기초하여, 오토포커스 애플리케이션 (40) 은 렌즈 (34) 에 대한 제 2 렌즈 포지션을 결정할 수도 있다.
오토포커스 애플리케이션 (40) 은 제 2 렌즈 포지션과 제 1 렌즈 포지션이 동일한지 또는 상이한지를 결정할 수도 있다. 예를 들어, 제 1 경우에서, 오토포커스 애플리케이션 (40) 은 제 2 렌즈 포지션 및 제 1 렌즈 포지션이 동일하다고 결정하고, 렌즈 (34) 의 렌즈 포지션의 조정을 회피할 수도 있다. 제 2 경우에서, 오토포커스 애플리케이션 (40) 은 제 2 렌즈 포지션 및 제 1 렌즈 포지션이 상이하다고 결정하고, 렌즈 (34) 의 렌즈 포지션을 제 2 렌즈 포지션에 대해 조정할 수도 있다.
일부 예들에서, 오토포커스 애플리케이션 (40) 은 다른 기법들을 사용하여 오토포커스 애플리케이션 (40) 에 의해 결정된 포커싱할 영역을 보완하기 위해 세일리언시 맵 (46) 을 활용할 수도 있다. 예를 들어, 오토포커스 애플리케이션 (40) 은 위상 검출 오토포커스 (PDAF) 를 활용하도록 구성될 수도 있다. PDAF 에서, 오토포커스 애플리케이션 (40) 은 어느 영역이 포커싱되어야 하는지를 제어하기 위해 센서 (36) 의 상이한 포토다이오드들 상에 캡처된 광 사이의 위상차를 활용할 수도 있다. PDAF 는 상이한 비대칭 어퍼처들로 생성된 2 이상의 이미지들의 비교에 기초할 수도 있다. 메인 렌즈가 포커스에 있지 않을 때, 비대칭의 흐릿한 상이한 형상에 의한 디스패리티를 검출하는 것이 가능하다. 디스패리티의 사이즈 및 방향은 디포커스 양 및 방향과 상관된다. 카메라 디바이스 (10) 상의 오토 포커스는 마스킹 층들, 듀얼 다이오드들, 또는 특수 울렌즈(ulens) 설계들을 사용하여 센서 픽셀 레벨에서 구현되는 PDAF 를 사용할 수도 있다. 이는 카메라 디바이스 (10) 가 부가 비용이 거의 또는 전혀 없이 신뢰성있게 효율적으로 포커스할 수 있도록 한다.
다른 예로서, 오토포커스 애플리케이션 (40) 은 오브젝트 검출 (예를 들어, 얼굴 검출, 애완동물 검출 등) 로 구성되고, 검출된 오브젝트들에 포커싱하도록 구성될 수도 있다. 다른 예로서, 오토포커스 애플리케이션 (40) 은 전경에 있는 오브젝트들을 검출하도록 구성되고, 전경에서의 오브젝트들에 포커싱하도록 구성될 수도 있다. 전경 검출은 또한 PDAF 로 수행될 수도 있으며, 여기서 PDAF 에 대해 캡처된 이미지들 사이의 이미지 콘텐츠의 상대적 디스패리티는 깊이를 표시한다. 깊이를 결정하기 위한 PDAF 는 하나의 예이고, 깊이를 결정하기 위한 다른 기법들이 가능할 수도 있다.
이러한 예시의 기법들 (예를 들어, PDAF, 오브젝트 검출, 전경 검출) 또는 스테레오 디스패리티, 구조화된 광, 또는 전경을 검출하기 위한 전파 시간과 같은 다른 기법들에서, 오토포커스 애플리케이션 (40) 은 관심 영역 (ROI) 을 결정하고, ROI 에 대해 포커싱하도록 구성될 수도 있다. 이러한 예시의 기법들을 보완하기 위해, CPU (16) 는 (예를 들어, CNN 애플리케이션 (44) 을 통해) ROI 내에서 세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 을 결정하도록 구성될 수도 있다. 예를 들어, ROI 내에서 세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 을 결정함으로써, 오토포커스 애플리케이션 (40) 은 ROI 내에서 보다 국부적으로 포커스를 최적화할 수도 있다. 다른 예로서, CPU (16) 는 상대적으로 높은 세일리언시를 갖는 것으로 식별되는 세일리언시 맵 (46) 및/또는 하나 이상의 부가 세일리언시 맵 (47) 에서의 어느 영역들이 또한 오브젝트 검출 또는 전경 검출로부터 결정된 ROI 내에 있는지를 결정하고, 또한 ROI 에 있는 그러한 영역들에 대해 더 국부적으로 포커싱할 수도 있다.
하나 이상의 예에서, 오토-화이트 밸런스 애플리케이션 (42) 은 (예를 들어, 세일리언시 맵 (46) 과 하나 이상의 부가 세일리언시 맵 (47) 의 비교에 기초하여) 화이트 컬러의 온도가 결정되어야 하는 영역을 결정하기 위해 세일리언시 맵 (46) 을 활용할 수도 있다. 예를 들어, 오토-화이트 밸런스 애플리케이션 (42) 은 화이트 컬러의 온도를 결정하기 위해 더 세일리언트 (예를 들어, 뷰어 시선을 끌 더 높은 확률을 갖는) 이미지에서의 영역들을 활용할 수도 있다.
도 4 는 본 개시에 설명된 하나 이상의 예에 따른 예시의 동작 방법을 도시하는 플로우챠트이다. 도 4 의 예시의 기법들은 하나 이상의 프로세서와 관련하여 설명되며, 그 예들은 카메라 프로세서 (14), CPU (16), GPU (18), 디스플레이 인터페이스 (26), 또는 일부 다른 프로세서 (예를 들어, 벡터 프로세서) 를 포함한다.
하나 이상의 프로세서는 프리뷰 모드 동안 또는 레코딩을 위해, 제 1 이미지를 수신할 수도 있다 (60). 예를 들어, 사용자는 사진 촬영을 준비하도록 카메라 디바이스 (10) 를 구성할 수도 있다. 이 경우, 디스플레이 (28) 는 사용자가 취할 수도 있는 이미지의 이미지 콘텐츠를 디스플레이할 수도 있다. 디스플레이 (28) 가 사용자가 이미지를 촬영하기 전에 이미지의 이미지 콘텐츠를 디스플레이하는 시간은 프리뷰 모드일 수도 있다. 사용자가 무비를 레코딩하고 있을 때, 사용자는 복수의 사진을 촬영하고 있을 수도 있다.
하나 이상의 프로세서는 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 세일리언시 맵 (46) 을 생성할 수도 있다 (62). 예를 들어, 세일리언시 맵 (46) 은 이미지 내의 상이한 영역들이 뷰어 시선을 끌 확률들 (예를 들어, 가능성) 을 표시할 수도 있다. 일 예로서, 하나 이상의 프로세서는 (예를 들어, CNN 애플리케이션 (44) 및 가능하게는 벡터 프로세서를 통해) 뷰어 시선을 끌 가능성이 더 낮은 이미지에서의 영역들과 상이하게 뷰어 시선을 끌 가능성이 더 높은 이미지에서 영역들을 식별하기 위해 이미지로부터의 샘플 값들을 프로세싱하도록 시스템 메모리 (30) 에 저장된 가중치들 (48) 을 활용할 수도 있다. 하나 이상의 머신 러닝 모델에 의해 생성된 가중치들 (48) 은 복수의 훈련 이미지들을 뷰잉하는 하나 이상의 뷰어의 눈 추적에 기초하여 식별된, 복수의 훈련 이미지들 상의, 세일리언시 포인트들로부터 생성될 수도 있다.
일부 예들에서, 하나 이상의 프로세서는 (예를 들어, PDAF, 오브젝트 검출, 또는 전경 검출에 기초하여) 이미지에서 관심 영역을 결정할 수도 있다. 이러한 예들에서, 세일리언시 맵 (46) 을 생성하는 것은 결정된 관심 영역 내에서 세일리언시 맵 (46) 을 결정하는 것을 포함할 수 있다.
하나 이상의 프로세서는 세일리언시 맵에 기초하여 이미지를 프로세싱할 수도 있다 (64). 예를 들어, 이미지를 프로세싱하는 것은 이미지를 캡처하도록 구성된 디바이스의 화이트 밸런스를 조정하는 것, 이미지를 캡처하도록 구성된 디바이스의 포커스를 조정하는 것, 또는 이미지를 캡처하도록 구성된 디바이스의 노출을 조정하는 것 중 하나 이상을 포함할 수도 있다. 다른 예들로서, 이미지를 프로세싱하는 것은 이미지를 인코딩하기 위한 양자화 레벨들을 결정하는 것, 이미지를 주밍 또는 크로핑하는 것; 또는 다른 영역들에 비해 상대적으로 더 높은 세일리언시를 갖는 영역들에 대해 수행된 프로세싱의 양을 증가시키는 것 중 하나 이상을 포함할 수도 있다.
노출을 조정하는 하나의 예시의 방식으로서, 하나 이상의 프로세서는 업데이트된 미터링 맵을 생성하기 위해 세일리언시 맵 (46) 에 기초하여 오토노출에 대한 미터링 맵을 스케일링하도록 구성될 수도 있다. 이러한 예들에서, 이미지를 프로세싱하는 것은 업데이트된 미터링 맵에 기초하여 이미지의 노출을 조정하는 것을 포함할 수도 있다.
포커스를 조정하는 하나의 예시의 방법으로서, 하나 이상의 프로세서는 세일리언시 맵에 기초하여 이미지의 하나 이상의 다른 영역보다 상대적으로 더 높은 세일리언시를 갖는 이미지에서의 영역을 결정하도록 구성될 수도 있다. 이러한 예들에서, 이미지를 프로세싱하는 것은 결정된 영역에 기초하여 포커스를 조정하는 것을 포함할 수도 있다.
도 5 는 본 개시에 설명된 하나 이상의 예에 따른 다른 예의 동작 방법을 도시하는 플로우챠트이다. 예를 들어, 도 5 는 세일리언시 맵 (46) 을 생성하는 예시의 방식을 도시한다. 상술한 바와 같이, 하나 이상의 프로세서는 프리뷰 모드에서 또는 레코딩을 위해 이미지를 수신할 수도 있다 (70).
하나 이상의 프로세서는 NxM 사이즈의 다운스케일링된 이미지를 생성하기 위해 이미지를 다운스케일링 (예를 들어, 다운샘플링) 할 수도 있다 (72). 일 예로서, NxM 은 128x96 이다. 하나 이상의 프로세서는 다운스케일링된 이미지에 기초하여, 사이즈 XxY 를 갖는, 세일리언시 맵 (46) 을 생성할 수도 있다 (74). 일 예에서, X 가 N 미만인 것 또는 Y 가 M 미만인 것 중 적어도 하나, 즉 X < N 및/또는 Y < M 이다. 예를 들어, CNN 애플리케이션 (44) 은 사이즈 128x96 를 갖는 다운스케일링된 이미지를 수신하고 사이즈 32x24 를 갖는 세일리언시 맵 (46) 을 출력할 수도 있다.
도 4 및 도 5 의 예들에서, CPU (16) 는 (예를 들어, 도 5 에서) NxM 사이즈들의 다운스케일링된 이미지를 생성하기 위해 이미지를 다운스케일링하도록 평균 4.45 밀리초, 최소 0.75 밀리초, 및 최대 15.4 밀리초를 활용할 수도 있다. CPU (16) 는 세일리언시 맵 (46) 을 생성하기 위해 평균 4.09 밀리초, 최소 2.52 밀리초, 및 최대 12.15 밀리초를 활용할 수도 있다. CPU (16) 는 세일리언시 맵 (46) 에 기초하여 포커스, 노출, 및/또는 화이트 밸런스를 조정하기 위해 평균 0.1 밀리초, 최소 0.02 밀리초, 및 최대 1.53 밀리초를 활용할 수도 있다. 따라서, 일부 예들에서, 세일리언시 맵에 기초하여 이미지를 프로세싱하기 위한 최대 시간은 19.17 밀리초일 수도 있고, 평균 시간은 8.78 밀리초이다. 세일리언시 맵에 기초하여 이미지를 프로세싱하는 시간의 양이 (평균적으로) 10 ms 미만이기 때문에, 세일리언시 맵이 프리뷰 모드 및 비디오 레코딩에서 매 프레임에 대해 이용가능할 충분한 시간이 있다.
도 6 은 본 개시에 설명된 하나 이상의 예에 따른 다른 예의 동작 방법을 도시하는 플로우챠트이다. 예를 들어, 도 6 은 이미지들에서 ROI들을 결정하기 위해 세일리언시 맵을 활용하는 예를 도시한다. 상술한 바와 같이, 일부 예들에서, CNN 애플리케이션 (44) 은 오토포커스를 위해 (예를 들어, PDAF, 오브젝트 검출, 또는 전경 검출로부터 결정된) 결정된 ROI 내에서 세일리언시를 활용할 수도 있다. 그러나, 일부 예들에서, PDAF, 오브젝트 검출, 또는 전경 검출을 활용하기보다, ROI 를 결정하기 위해 세일리언시 맵 (46) 을 사용하는 것이 가능할 수도 있다.
하나 이상의 프로세서는 세일리언시 맵 (46) 의 세일리언시 값들을 특정 범위 내에 있도록 정규화할 수도 있다 (80). 하나 이상의 프로세서는 ROI 안정화를 위해 이전 ROI 및 중심 ROI 우선순위 곱셈기들을 적용할 수도 있다 (82). 예를 들어, (예를 들어, 비디오 레코딩에서와 같이) 이미지에서 이미지로, ROI 에 실질적인 변화가 없을 수도 있다. 하나 이상의 프로세서는 현재 이미지에 대한 ROI 가 있을 수 있는 영역을 생성하기 위해 세일리언시 맵 (46) 의 중심뿐만 아니라 이전 이미지의 ROI 를 활용할 수도 있다.
하나 이상의 프로세서는 최대 세일리언시 위치를 찾을 수도 있다 (84). 예를 들어, 하나 이상의 프로세서는 세일리언시 맵 (46) 에서 세일리언시가 가장 큰 곳을 결정할 수도 있다. 하나 이상의 프로세서는 세일리언시 위치 주위에 ROI 를 구축할 수도 있다 (86). 예를 들어, ROI 중심 및 사이즈에 기초하여 평가된 다양한 휴리스틱스(heuristics) 및 우선순위 승수들에 기초하여, 하나 이상의 프로세서는 현재 이미지에 대한 ROI 를 결정할 수도 있다.
일부 예들에서, 하나 이상의 프로세서는 현재 ROI 와 이전 ROI 의 통계를 비교할 수도 있다 (88). 예를 들어, 하나 이상의 프로세서는 ROI 세일리언시 합 및 최대 세일리언시와 같은 통계를 비교하여 이전 ROI 로부터의 ROI 에서의 변화가 안정적인지 (예를 들어, 임계 변화량 미만) 여부를 결정할 수도 있다. 현재 ROI 가 안정적인 것에 기초하여 (예를 들어, 이전 ROI 로부터의 ROI 의 변화가 안정적임), 하나 이상의 프로세서는 ROI 를 출력할 수도 있다 (90).
도 7 은 본 개시에 설명된 하나 이상의 예에 따른 다른 예의 동작 방법을 도시하는 플로우챠트이다. 도 4 와 유사하게, 도 7 의 예시의 기법들은 하나 이상의 프로세서와 관련하여 설명되며, 그 예들은 카메라 프로세서 (14), CPU (16), GPU (18), 디스플레이 인터페이스 (26), 또는 일부 다른 프로세서 (예를 들어, 벡터 프로세서) 를 포함한다.
하나 이상의 프로세서는 프리뷰 모드 또는 레코딩 동안, 제 1 이미지를 수신할 수도 있다 (91). 일부 예들에서, 제 1 이미지는 제 1 렌즈 포지션에서 렌즈 (34) 에 의한 것일 수도 있다. 도 4 와 유사하게, 하나 이상의 프로세서는 제 1 이미지 내의 상이한 영역들의 제 1 세일리언시 맵 (46) 을 생성할 수도 있다 (92). 상이한 영역들의 상대적 세일리언시는 뷰어 시선을 끌 가능성을 표시한다.
도 7 의 예에서, 하나 이상의 프로세서는 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 하나 이상의 부가 이미지를 생성할 수도 있다 (94). 예를 들어, 하나 이상의 프로세서는 하나 이상의 부가 이미지를 생성하기 위해 픽셀 조작 유닛 (49) 을 활용할 수도 있다. 하나 이상의 부가 이미지는 시스템 메모리 (30) 에 저장될 수도 있다.
일 예로서, 하나 이상의 부가 이미지를 생성하기 위해, 하나 이상의 프로세서는 제 1 이미지에서의 이미지 콘텐츠의 깊이에 기초하여 하나 이상의 부가 이미지를 생성할 수도 있다. 예를 들어, 하나 이상의 프로세서는 제 1 이미지의 전경에서의 오브젝트들의 픽셀들을 조작하는 것에 기초하여 하나 이상의 부가 이미지를 생성할 수도 있다. 하나 이상의 프로세서는 오브젝트들의 상대적 깊이들을 결정하고, 상대적 깊이들에 기초하여 전경에서의 오브젝트들을 식별하기 위해 상술한 PDAF 기법들을 활용할 수도 있다.
일부 예들에서, 하나 이상의 프로세서는 하나 이상의 부가 이미지를 생성하기 위해 제 1 이미지의 인페인팅(inpainting)을 수행할 수도 있다. 하나 이상의 프로세서는 하나 이상의 부가 이미지를 생성하기 위해 멀티-계층 필링(multi-layer peeling)을 수행하도록 구성될 수도 있다. 예를 들어, 하나 이상의 부가 이미지는 제 1 부가 이미지 및 제 2 부가 이미지를 포함할 수도 있다. 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 하나 이상의 부가 이미지를 생성하기 위해, 하나 이상의 프로세서는 제 1 부가 이미지를 생성하기 위해 제 1 이미지의 픽셀들을 조작하고, 제 2 부가 이미지를 생성하기 위해 제 1 부가 이미지의 픽셀들을 조작하도록 구성될 수도 있다.
다른 예로서, 하나 이상의 프로세서는 제 1 이미지의 톤을 변경하는 것에 의해 제 1 이미지 상의 상이한 노출들을 시뮬레이션함으로써 하나 이상의 부가 이미지를 생성할 수도 있다. 하나 이상의 부가 이미지를 생성하는 다른 방식들이 있을 수도 있음, 상기는 몇 가지 예들이다.
하나 이상의 프로세서는 하나 이상의 부가 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 하나 이상의 부가 세일리언시 맵 (47) 을 생성할 수도 있다 (96). 예를 들어, 하나 이상의 프로세서는 부가 이미지들의 각각에 대한 부가 세일리언시 맵을 생성하기 위해 CNN 애플리케이션 (44) 을 활용할 수도 있다.
하나 이상의 프로세서는 프리뷰 모드 또는 레코딩 동안, 제 1 세일리언시 맵 (46) 및 하나 이상의 부가 세일리언시 맵 (47) 에 기초하여 카메라 설정을 결정할 수도 있다 (98). 일 예로서, 하나 이상의 프로세서는 제 1 세일리언시 맵 (46) 및 하나 이상의 부가 세일리언시 맵 (47) 에 기초하여 오토포커스 설정 (예를 들어, 카메라 설정의 일 예) 을 조정할지 여부를 결정할 수도 있다. 다른 예로서, 하나 이상의 프로세서는 제 1 세일리언시 맵 (46) 및 하나 이상의 부가 세일리언시 맵 (47) 에 기초하여 오토노출 설정 (예를 들어, 카메라 설정의 다른 예) 을 조정할지 여부를 결정할 수도 있다.
일 예로서, 상술한 바와 같이, 제 1 이미지는 제 1 렌즈 위치에서 카메라 (12) 의 렌즈 (34) 로 생성되고, 카메라 설정을 결정하기 위해, 하나 이상의 프로세서는 렌즈 (34) 에 대한 제 2 렌즈 포지션을 정의하는 오토포커스 설정을 결정할 수도 있다. 일 예로서, 하나 이상의 프로세서는 제 2 렌즈 포지션 및 제 1 렌즈 포지션이 동일하다고 결정하고, 그리고 렌즈 (34) 의 렌즈 포지션의 조정을 회피하도록 구성된다. 다른 예로서, 하나 이상의 프로세서는 제 2 렌즈 포지션 및 제 1 렌즈 포지션이 상이하다고 결정하고, 렌즈의 렌즈 포지션을 제 2 렌즈 포지션에 대해 조정할 수도 있다.
다른 예로서, 카메라 설정을 결정하기 위해, 하나 이상의 프로세서는 하나 이상의 부가 이미지를 생성하도록 제 1 이미지의 톤을 변경함으로써 제 1 이미지 상에 상이한 노출들을 시뮬레이션하도록 구성될 수도 있다. 하나 이상의 프로세서는 제 1 이미지 상의 상이한 노출들을 시뮬레이션함으로써 생성되는 하나 이상의 부가 이미지 내에 하나 이상의 부가 세일리언시 맵을 생성할 수도 있다. 하나 이상의 프로세서는 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 복수의 미터링 맵들을 생성하고, 상기 복수의 미터링 맵들에 기초하여 업데이트된 미터링 맵을 결정할 수도 있다. 이러한 예에서, 하나 이상의 프로세서는 업데이트된 미터링 맵에 기초하여 오토노출 설정을 결정함으로써 카메라 설정을 결정할 수도 있다.
세일리언시 맵 (46) 과 하나 이상의 부가 세일리언시 맵 (47) 의 비교를 위해, 일부 예들에서, 하나 이상의 프로세서는 제 1 세일리언시 맵 (46) 과 하나 이상의 부가 세일리언시 맵 (47) 을 비교하고, 그 비교에 기초하여 오토포커스 설정을 결정할 수도 있다. 제 1 세일리언시 맵 (46) 을 하나 이상의 부가 세일리언시 맵 (47) 과 비교하는 예들은, 교차 상관, 절대차의 합 프로세스, 또는 평균 제곱 에러 프로세스를 수행하는 것 중 하나 이상을 포함한다.
일 예로서, 멀티-계층 필링을 위한 것과 같이, 하나 이상의 프로세서는 하나 이상의 부가 세일리언시 맵 (47) 중 어느 것이 제 1 세일리언시 맵 (46) 과 실질적으로 동일하지 않은지를 결정할 수도 있다. 하나 이상의 프로세서는 제 1 세일리언시 맵 (46) 과 실질적으로 동일하지 않은 부가 세일리언시 맵 (47) 중 하나에서의 영역들이 오토포커스가 포커싱되어야 하는 깊이들에 있지 않다고 (예를 들어, 가장 세일리언트한 깊이에 있지 않다고) 결정할 수도 있다. 즉, 하나 이상의 프로세서는 가장 세일리언트한 깊이 (예를 들어, 하나 이상의 부가 세일리언시 맵 (47) 중 하나가 세일리언시 맵 (46) 과 상이한 깊이 이전의 깊이) 를 결정하고, 결정된 가장 세일리언트한 깊이에 기초하여 카메라 설정을 결정할 수도 있다. 제 1 세일리언시 맵 (46) 과 하나 이상의 부가 세일리언시 맵 (47) 을 비교하는 다른 방식들이 있을 수도 있다.
도 8 은 본 개시에 설명된 하나 이상의 예에 따른 다른 예의 동작 방법을 도시하는 플로우챠트이다. 예를 들어, 도 8 은 오토포커스 설정을 결정하기 위해 제 1 세일리언시 맵 (46) 과 하나 이상의 부가 세일리언시 맵 (47) 을 비교하는 일 예의 방식을 도시한다.
하나 이상의 프로세서는 제 1 세일리언시 맵 (46) 을 하나 이상의 부가 세일리언시 맵 (47) 과 비교하도록 구성될 수도 있다 (100). 예를 들어, 하나 이상의 프로세서는 교차 상관, 절대차의 합 프로세스, 또는 평균 제곱 에러 프로세스를 수행할 수도 있다.
하나 이상의 프로세서는 제 1 세일리언시 맵 (46) 과 하나 이상의 부가 세일리언시 맵 (47) 이 실질적으로 동일하다고 결정할 수도 있다 (102). 예를 들어, 하나 이상의 프로세서는 상호 상관이 제 1 세일리언시 맵 (46) 및 하나 이상의 부가 세일리언시 맵 (47) 이 상관 임계치 내에서 상관됨을 표시한다고 결정할 수도 있다. 하나 이상의 프로세서는 제 1 세일리언시 맵 (46) 과 하나 이상의 부가 세일리언시 맵 (47) 의 절대 차의 합이 임계치 미만이라고 결정할 수도 있다. 하나 이상의 프로세서는 제 1 세일리언시 맵 (46) 과 하나 이상의 부가 세일리언시 맵 (47) 사이의 평균 제곱 에러가 임계치 미만이라고 결정할 수도 있다.
이러한 예들에서, 하나 이상의 프로세서는 제 1 세일리언시 맵 (46) 및 하나 이상의 부가 세일리언시 맵 (47) 에서 상대적 세일리언시를 갖는 영역들에 기초하여 오토포커스 설정을 결정할 수도 있다 (104). 예를 들어, 세일리언트하다고 결정된 제 1 이미지에서의 영역들은, 제 1 세일리언시 맵 (46) 및 하나 이상의 부가 세일리언시 맵 (47) 이 동일한 경우 오토포커스 설정이 결정되어야 하는 깊이에 있을 수도 있다.
도 9 는 본 개시에 설명된 하나 이상의 예에 따른 다른 예의 동작 방법을 도시하는 플로우챠트이다. 예를 들어, 도 9 는 오토포커스 설정을 결정하기 위해 제 1 세일리언시 맵 (46) 과 하나 이상의 부가 세일리언시 맵 (47) 을 비교하는 다른 예의 방식을 도시한다.
도 8 과 유사하게, 하나 이상의 프로세서는 제 1 세일리언시 맵 (46) 을 하나 이상의 부가 세일리언시 맵 (47) 과 비교하도록 구성될 수도 있다 (106). 예를 들어, 하나 이상의 프로세서는 교차 상관, 절대차의 합 프로세스, 또는 평균 제곱 에러 프로세스를 수행할 수도 있다.
도 9 에서, 하나 이상의 프로세서는 제 1 세일리언시 맵 (46) 과 하나 이상의 부가 세일리언시 맵 (47) 이 실질적으로 동일하지 않다고 결정할 수도 있다 (108). 예를 들어, 하나 이상의 프로세서는 상호 상관이 제 1 세일리언시 맵 (46) 및 하나 이상의 부가 세일리언시 맵 (47) 이 상관 임계치 내에서 상관되지 않음을 표시한다고 결정할 수도 있다. 하나 이상의 프로세서는 제 1 세일리언시 맵 (46) 과 하나 이상의 부가 세일리언시 맵 (47) 의 절대 차의 합이 임계치 이상이라고 결정할 수도 있다. 하나 이상의 프로세서는 제 1 세일리언시 맵 (46) 과 하나 이상의 부가 세일리언시 맵 (47) 사이의 평균 제곱 에러가 임계치 미만이 아니라고 결정할 수도 있다.
이 예에서, 제 1 세일리언시 맵 (46) 이 하나 이상의 부가 세일리언시 맵 (47) 과 실질적으로 동일하지 않기 때문에, 제 1 세일리언시 맵 (46) 에서 결정된 세일리언트 영역들이 오토포커스 설정이 결정되어야 하는 깊이가 아닌 곳 (예를 들어, 가장 세일리언트한 깊이가 아님) 일 가능성이 있을 수도 있다. 이러한 예들에서, 하나 이상의 프로세서는 제 1 세일리언시 맵 (46) 에서 세일리언트하다고 결정된 영역에 대한 오토포커스 설정을 결정하지 않을 수도 있다.
오히려, 하나 이상의 프로세서는 제 1 이미지에서 전경 영역들을 결정할 수도 있다 (110). 일 예로서, 하나 이상의 프로세서는 상대적 깊이들을 결정하기 위해 PDAF에 대해 동일한 이미지 콘텐츠를 캡처하는 2개의 이미지들 사이의 디스패리티를 이용할 수 있다. 상대적 깊이들로부터, 하나 이상의 프로세서는 어느 오브젝트들이 전경에 있는지를 결정할 수도 있다. 하나 이상의 프로세서는 전경 영역들에 기초하여 오토포커스 설정을 결정할 수도 있다 (112).
도 10a 내지 도 10e 는 세일리언시 맵을 생성 및 활용하는 예들을 도시하는 다이어그램들이다. 도 10a 는 CNN 애플리케이션 (44) 이 도 10b 에 도시된 세일리언시 맵 (116) 과 같은 세일리언시 맵을 결정할 수더 있는 입력 이미지 (114) 의 예를 도시한다. 일부 예들에서, CNN 애플리케이션 (44) 은 이미지 (114) 를 다운스케일링 (또는 다운스케일링된 버전을 수신) 할 수도 있으며, 여기서 다운스케일링된 이미지는 NxM 의 사이즈 (예를 들어, 128x96) 를 갖는다. CNN 애플리케이션 (44) 은 세일리언시 맵 (116) 을 출력할 수도 있다. 일부 예들에서, 세일리언시 맵 (116) 의 사이즈는 더 작다 (예를 들어, 32x24). 예시의 용이함을 위해, 도 10b 는 세일리언시 맵 (116) 이 이미지 (114) 와 동일한 사이즈인 것으로 도시된다.
도시된 바와 같이, 도 10a 에서, 이미지 (114) 에서, 전경에 꽃이 있고 배경에 호수와 산들이 있다. 이미지 (114) 에서 꽃은 이미지 (114) 에서의 다른 영역들보다 뷰어의 시선을 더 많이 끄는 경향이 있다. 도 10b 에서, 세일리언시 맵 (116) 은 0 내지 255 범위의 값들을 갖는 샘플들을 포함한다. 예를 들어, 세일리언시 맵 (116) 은 휘도(luminance) 맵으로서 간주될 수도 있으며, 여기서 어두운 샘플들 (예를 들어, 0 에 더 가까운 값들을 갖는 샘플들) 은 뷰어 시선을 끌 확률이 더 낮은 이미지 (114) 에서의 영역들을 나타내고 밝은 샘플들 (예를 들어, 255 에 더 가까운 값들을 갖는 샘플들) 은 뷰어 시선을 끌 확률이 더 높은 이미지 (114) 에서의 영역들을 나타낸다. 세일리언시 맵 (116) 에서 볼 수 있는 바와 같이, 세일리언시 맵 (116) 에서의 밝은 샘플들은 꽃을 포함하는 이미지 (114) 에서의 영역 주위에 모인다.
도 10c 및 10d 는 세일리언시 맵에 기초하여 미터링 맵을 업데이트하기 위한 예들을 도시한다. 예를 들어, 도 10d 는 노출이 이미지 (114) 의 중심 영역들을 향해 바이어싱되도록 중심 바이어싱되는 미터링 맵 (118) 을 도시한다. 미터링 맵 (118) 은 휘도 맵으로서 간주될 수도 있으며, 여기서 미터링 맵 (118) 에서의 밝은 샘플들 (예를 들어, 255 에 가까운 값들) 은 적절한 노출을 위해 더 높은 미터링 가중치가 있을 곳이며, 미터링 맵 (118) 에서의 어두운 샘플들 (예를 들어, 0 에 가까운 값들) 은 미터링 맵에 의해 더 적은 가중치가 있을 곳이다. 하나 이상의 예에서, 오토노출 애플리케이션 (38) 은 도 3 의 라인 (50)(또는 가능하게는 룩업 테이블) 을 사용하는 것과 같은, 세일리언시 맵 (116) 의 세일리언시 값들에 기초하여 스케일링 가중치들을 결정할 수도 있다. 오토노출 애플리케이션 (38) 은 미터링 맵 (118) 을 업데이트하고 미터링 맵 (120) 을 생성하기 위해 스케일링 가중치들을 미터링 맵 (118) 에서의 값들로 곱할 수도 있다. 미터링 맵 (120) 에서 볼 수 있는 바와 같이, 노출은 이미지 (114) 의 더 세일리언트한 영역들 (예를 들어, 꽃이 이미지 (114) 에 있는 곳) 에 대응하는 이미지 (114) 의 영역들에서 증가될 것이다.
도 10e 는 오토포커스를 제어하는 예를 도시한다. 일 예로서, 오토포커스 애플리케이션 (40) 은 세일리언시 맵 (116) 에 기초하여 이미지 (114) 의 하나 이상의 다른 영역보다 상대적으로 더 높은 세일리언시를 갖는 이미지 (114) 에서의 영역을 결정할 수도 있다. 예를 들어, 도 10e 는 세일리언시이 다른 영역들보다 상대적으로 더 높은 영역 (122) 을 도시한다. 일부 예들에서, 오토포커스 애플리케이션 (40) 은 세일리언시 맵 (116) 의 영역에서의 샘플들의 집성 값이 임계 값 이상인 곳을 결정할 수도 있다. 예를 들어, 도 10e 의 예에서, 영역 (122) 에서의 세일리언시 맵 (116) 의 총집계 값들은 세일리언시 맵 (116) 의 총 집계 값들의 대략 50% 이다. 하나 이상의 예에서, 오토포커스 애플리케이션 (40) 은 세일리언시 맵 (116) 에서의 영역 (122) 에 대응하는 이미지 (114) 에서의 영역에 대해 포커싱하도록 렌즈 (34) 를 조정할 수도 있다. 알 수 있는 바와 같이, 오토포커스는 이미지 (114) 에서 꽃에 대해 포커싱할 것이다.
도 11 은 오토포커스를 위해 다중의 세일리언시 맵들을 활용하는 예를 도시하는 플로우 다이어그램이다. 도 11 의 예에서, 제 1 이미지 (130) 는 프리뷰 또는 레코딩의 일부로서 캡처된 이미지의 예일 수도 있다. 하나 이상의 프로세서는 제 1 이미지 (130) 에 대한 세일리언시 맵 (132) 을 생성할 수도 있다. 세일리언시 맵 (132) 은 도 2 의 세일리언시 맵 (46) 의 예이다.
이미지 (134) 는 상이한 상대적 깊이들을 갖는 영역들을 나타내는 개념적 이미지이다. 예를 들어, 이미지 (134) 에서 더 어두운 컬러의 픽셀들은 더 전경에 있는 오브젝트들의 픽셀들을 나타낸다. 나타낸 바와 같이, 펜스는 화분 앞에 있으므로, 픽셀들이 더 어둡다.
이미지 (136) 는 이미지 (130) 의 전경에서 오브젝트들의 픽셀들을 인페인팅하는 결과이다. 예를 들어, 이미지 (136) 에서, 펜스는 인페인팅된다. 이미지 (136) 는 제 1 이미지 (130) 로부터 생성된 부가 이미지의 예이다. 하나 이상의 프로세서는 부가 세일리언시 맵 (138) 을 생성할 수도 있다. 부가 세일리언시 맵 (138) 은 하나 이상의 부가 세일리언시 맵 (47) 의 예이다.
하나 이상의 프로세서는 세일리언시 맵 (132) 과 세일리언시 맵 (138) 이 실질적으로 동일한지 여부를 결정할 수도 있다. 도 11 의 예에서, 하나 이상의 프로세서는 세일리언시 맵 (132) 과 세일리언시 맵 (138) 이 실질적으로 동일하다고 결정할 수도 있다. 따라서, 하나 이상의 프로세서는 전경에서의 오브젝트들에 대한 픽셀들이 실제로 세일리언트하지 않음을 확인할 수도 있다. 예를 들어, 펜스가 전경에 있기 때문에, 그리고 펜스가 인페인팅 (예를 들어, 조작) 된 후에, 세일리언시 맵 (132) 과 세일리언시 맵 (138) 은 동일하게 유지되었고; 따라서, 펜스는 세일리언트한 것으로 간주되지 않을 수도 있다. 펜스가 세일리언트했다면, 세일리언시 맵 (132) 과 세일리언시 맵 (138) 은 상이했을 것이다. 이 예에서, 하나 이상의 프로세서는 세일리언시 맵 (132) 또는 세일리언시 맵 (138) 에서의 세일리언시 영역들에 따라, 그리고 펜스로부터 더 뒤에 있도록 오토포커스 설정을 결정할 수도 있다.
도 12 는 오토포커스를 위해 다중의 세일리언시 맵들을 활용하는 부가 예를 도시하는 플로우 다이어그램이다. 도 12 의 예에서, 제 1 이미지 (140) 는 프리뷰 또는 레코딩의 일부로서 캡처된 이미지의 예일 수도 있다. 하나 이상의 프로세서는 제 1 이미지 (140) 에 대한 세일리언시 맵 (142) 을 생성할 수도 있다. 세일리언시 맵 (142) 은 도 2 의 세일리언시 맵 (46) 의 예이다.
이미지 (144) 는 상이한 상대적 깊이들을 갖는 영역들을 나타내는 개념적 이미지이다. 예를 들어, 이미지 (144) 에서 더 어두운 컬러의 픽셀들은 더 전경에 있는 오브젝트들의 픽셀들을 나타낸다. 나타낸 바와 같이, 테디 베어는 펜스 앞에 있으므로, 픽셀들이 더 어둡다. 펜스는 벽 앞에 있으므로, 벽보다 픽셀들이 더 어둡지만, 테디 베어보다 픽셀들이 더 밝다.
이미지 (146) 는 이미지 (140) 의 전경에서 오브젝트들의 픽셀들을 인페인팅하는 결과이다. 예를 들어, 이미지 (146) 에서, 테디 베어는 인페인팅된다. 이미지 (146) 는 제 1 이미지 (140) 로부터 생성된 부가 이미지의 예이다. 하나 이상의 프로세서는 부가 세일리언시 맵 (148) 을 생성할 수도 있다. 부가 세일리언시 맵 (148) 은 하나 이상의 부가 세일리언시 맵 (47) 의 예이다.
하나 이상의 프로세서는 세일리언시 맵 (142) 과 세일리언시 맵 (148) 이 실질적으로 동일한지 여부를 결정할 수도 있다. 도 12 의 예에서, 하나 이상의 프로세서는 세일리언시 맵 (142) 과 세일리언시 맵 (148) 이 실질적으로 동일하지 않다고 결정할 수도 있다. 따라서, 하나 이상의 프로세서는 세일리언트 전경에서의 부분들이 있음을 확인할 수도 있다. 예를 들어, 세일리언시 맵 (142) 과 세일리언시 맵 (148) 이 동일하면, 전경에서의 오브젝트들에 대한 픽셀들은 그 세일리언트는 아닐 수도 있다. 그러나, 세일리언시 맵 (142) 과 세일리언시 맵 (148) 이 상이하기 때문에, 그 후 전경 (예를 들어, 페인팅되지 않았음) 에서의 오브젝트들은 세일리언트할 수도 있다. 따라서, 하나 이상의 프로세서는 세일리언시 맵 (142) 으로부터의 세일리언트 영역들의 깊이에 기초하여 오토포커스 설정을 결정하고, 전경 영역에 대해 오토포커스를 조정할 수도 있다.
다음은 본 개시에 따른 하나 이상의 예시의 기법을 설명한다.
조항 1A. 캡처 또는 이미지 프로세싱을 위한 디바이스로서, 디바이스는 메모리; 및 메모리에 커플링된 하나 이상의 프로세서를 포함하고, 하나 이상의 프로세서는, 프리뷰 모드 또는 레코딩을 위해 이미지를 수신하고; 프리뷰 모드 또는 레코딩 동안 실시간으로, 뷰어 시선을 끌 때 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 세일리언시 맵을 생성하며; 그리고 세일리언시 맵에 기초하여 이미지를 프로세싱하도록 구성된다.
조항 2A. 조항 1B 의 디바이스에서, 세일리언시 맵은 이미지 내의 상이한 영역들이 뷰어 시선을 끌 확률들을 표시하고, 확률들은 상대적 세일리언시를 표시한다.
조항 3A. 조항들 1A 및 2A 중 임의의 것의 디바이스에서, 세일리언시 맵을 생성하는 것은, 뷰어 시선을 끌 더 낮은 확률들을 갖는 이미지에서의 영역들과는 상이하게 뷰어 시선을 끌 더 높은 확률들을 갖는 이미지에서의 영역들을 식별하기 위해 이미지로부터의 샘플 값들을 프로세싱하도록 하나 이상의 머신-러닝 모델에 의해 생성된, 메모리에 저장된 가중치들을 활용하는 것을 포함한다.
조항 4A. 조항 3A 의 디바이스에서, 하나 이상의 머신 러닝 모델에 의해 생성된 가중치들은 훈련 이미지들을 뷰잉하는 하나 이상의 뷰어의 눈 추적에 기초하여 식별된, 복수의 훈련 이미지들 상의, 세일리언시 포인트들로부터 생성된다.
조항 5A. 조항들 1A-4A 중 임의의 것의 디바이스에서, 이미지를 프로세싱하는 것은, 이미지를 캡처하도록 구성된 디바이스의 화이트 밸런스를 조정하는 것; 이미지를 캡처하도록 구성된 디바이스의 포커스를 조정하는 것; 또는 이미지를 캡처하도록 구성된 디바이스의 노출을 조정하는 것 중 하나 이상을 포함한다.
조항 6A. 조항들 1A-5A 중 임의의 것의 디바이스에서, 이미지를 프로세싱하는 것은, 이미지를 인코딩하기 위한 양자화 레벨들을 결정하는 것; 이미지를 주밍 또는 크로핑하는 것; 또는 다른 영역들에 비해 상대적으로 더 높은 세일리언시를 갖는 영역들에 대해 수행된 프로세싱의 양을 증가시키는 것 중 하나 이상을 포함한다.
조항 7A. 조항들 1A-6A 중 임의의 것의 디바이스에서, 하나 이상의 프로세서는 이미지에서의 관심 영역을 결정하도록 구성되고, 세일리언시 맵을 생성하는 것은 결정된 관심 영역 내에서 세일리언시 맵을 결정하는 것을 포함한다.
조항 8A. 조항들 1A-7A 중 임의의 것의 디바이스에서, 하나 이상의 프로세서는 업데이트된 미터링 맵을 생성하기 위해 세일리언시 맵에 기초하여 오토노출을 위한 미터링 맵을 스케일링하도록 구성되고, 이미지를 프로세싱하는 것은 업데이트된 미터링 맵에 기초하여 이미지의 노출을 조정하는 것을 포함한다.
조항 9A. 조항들 1A-8A 중 임의의 것의 디바이스에서, 하나 이상의 프로세서는 세일리언시 맵에 기초하여 이미지의 하나 이상의 다른 영역보다 상대적으로 더 높은 세일리언시를 갖는 이미지에서의 영역을 결정하도록 구성되고, 이미지를 프로세싱하는 것은 결정된 영역에 기초하여 포커스를 조정하는 것을 포함한다.
조항 10A. 조항들 1A-9A 중 임의의 것의 디바이스에서, 세일리언시 맵을 생성하는 것은, NxM 사이즈의 다운스케일링된 이미지를 생성하기 위해 이미지를 다운스케일링하는 것; 및 다운스케일링된 이미지에 기초하여 세일리언시 맵을 생성하는 것을 포함하고, 세일리언시 맵의 사이즈는 XxY 이고, X 가 N 미만인 것 또는 Y 가 M 미만인 것 중 적어도 하나이다.
조항 11A. 조항들 1A-10A 중 임의의 것의 디바이스에서, 디바이스는 디지털 카메라, 디지털 비디오 캠코더, 또는 카메라-장착형 무선 통신 디바이스 핸드셋 중 하나 이상이다.
조항 12A. 캡처 또는 이미지 프로세싱을 위한 방법으로서, 방법은, 하나 이상의 프로세서로, 프리뷰 모드 또는 레코딩을 위해 이미지를 수신하는 단계; 하나 이상의 프로세서로, 프리뷰 모드 또는 레코딩 동안 실시간으로, 뷰어 시선을 끌 때 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 세일리언시 맵을 생성하는 단계; 및 하나 이상의 프로세서로, 세일리언시 맵에 기초하여 이미지를 프로세싱하는 단계를 포함한다.
조항 13A. 조항 12A 의 방법에서, 세일리언시 맵은 이미지 내의 상이한 영역들이 뷰어 시선을 끌 확률들을 표시하고, 확률들은 상대적 세일리언시를 표시한다.
조항 14A. 조항들 12A 및 13A 중 임의의 것의 방법에서, 세일리언시 맵을 생성하는 단계는, 뷰어 시선을 끌 더 낮은 확률들을 갖는 이미지에서의 영역들과는 상이하게 뷰어 시선을 끌 더 높은 확률들을 갖는 이미지에서의 영역들을 식별하기 위해 이미지로부터의 샘플 값들을 프로세싱하도록 하나 이상의 머신-러닝 모델에 의해 생성된, 메모리에 저장된 가중치들을 활용하는 단계를 포함한다.
조항 15A. 조항 14A 의 방법에서, 하나 이상의 머신 러닝 모델에 의해 생성된 가중치들은 훈련 이미지들을 뷰잉하는 하나 이상의 뷰어의 눈 추적에 기초하여 식별된, 복수의 훈련 이미지들 상의, 세일리언시 포인트들로부터 생성된다.
조항 16A. 조항들 12A-15A 중 임의의 것의 방법에서, 이미지를 프로세싱하는 단계는, 이미지를 캡처하도록 구성된 디바이스의 화이트 밸런스를 조정하는 단계; 이미지를 캡처하도록 구성된 디바이스의 포커스를 조정하는 단계; 또는 이미지를 캡처하도록 구성된 디바이스의 노출을 조정하는 단계 중 하나 이상을 포함한다.
조항 17A. 조항들 12A-16A 중 임의의 것의 방법에서, 이미지를 프로세싱하는 단계는, 이미지를 인코딩하기 위한 양자화 레벨들을 결정하는 단계; 이미지를 주밍 또는 크로핑하는 단계; 또는 다른 영역들에 비해 상대적으로 더 높은 세일리언시를 갖는 영역들에 대해 수행된 프로세싱의 양을 증가시키는 단계 중 하나 이상을 포함한다.
조항 18A. 조항들 12A-17A 중 임의의 것의 방법은, 이미지에서의 관심 영역을 결정하는 단계를 더 포함하고, 세일리언시 맵을 생성하는 단계는 결정된 관심 영역 내에서 세일리언시 맵을 결정하는 단계를 포함한다.
조항 19A. 조항들 12A-18A 중 임의의 것의 방법은, 업데이트된 미터링 맵을 생성하기 위해 세일리언시 맵에 기초하여 오토노출을 위한 미터링 맵을 스케일링하는 단계를 더 포함하고, 이미지를 프로세싱하는 단계는 업데이트된 미터링 맵에 기초하여 이미지의 노출을 조정하는 단계를 포함한다.
조항 20A. 조항들 12A-19A 중 임의의 것의 방법은, 세일리언시 맵에 기초하여 이미지의 하나 이상의 다른 영역보다 상대적으로 더 높은 세일리언시를 갖는 이미지에서의 영역을 결정하는 단계를 더 포함하고, 이미지를 프로세싱하는 단계는 결정된 영역에 기초하여 포커스를 조정하는 단계를 포함한다.
조항 21A. 조항들 12A-20A 중 임의의 것의 방법에서, 세일리언시 맵을 생성하는 단계는, NxM 사이즈의 다운스케일링된 이미지를 생성하기 위해 이미지를 다운스케일링하는 단계; 및 다운스케일링된 이미지에 기초하여 세일리언시 맵을 생성하는 단계를 포함하고, 세일리언시 맵의 사이즈는 XxY 이고, X 가 N 미만인 것 또는 Y 가 M 미만인 것 중 적어도 하나이다.
조항 22A. 조항들 12A-21A 중 임의의 것의 방법에서, 디바이스의 하나 이상의 프로세서는 디지털 카메라, 디지털 비디오 캠코더, 또는 카메라-장착형 무선 통신 디바이스 핸드셋 중 하나 이상이다.
조항 23A. 명령들이 저장된 컴퓨터 판독가능 저장 매체로서, 명령들은 실행될 때 하나 이상의 프로세서로 하여금, 프리뷰 모드 또는 레코딩을 위해 이미지를 수신하게 하고; 프리뷰 모드 또는 레코딩 동안 실시간으로, 뷰어 시선을 끌 때 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 세일리언시 맵을 생성하게 하며; 그리고 세일리언시 맵에 기초하여 이미지를 프로세싱하게 한다.
조항 24A. 조항 23A 의 컴퓨터 판독가능 저장 매체에서, 세일리언시 맵은 이미지 내의 상이한 영역들이 뷰어 시선을 끌 확률들을 표시하고, 확률들은 상대적 세일리언시를 표시한다.
조항 25A. 조항들 23A 및 24A 중 임의의 것의 컴퓨터 판독가능 저장 매체에서, 하나 이상의 프로세서로 하여금 세일리언시 맵을 생성하게 하는 명령들은, 하나 이상의 프로세서로 하여금, 뷰어 시선을 끌 더 낮은 확률들을 갖는 이미지에서의 영역들과는 상이하게 뷰어 시선을 끌 더 높은 확률들을 갖는 이미지에서의 영역들을 식별하기 위해 이미지로부터의 샘플 값들을 프로세싱하도록 하나 이상의 머신-러닝 모델에 의해 생성된, 메모리에 저장된 가중치들을 활용하게 하는 명령들을 포함한다.
조항 26A. 조항들 23A-25A 중 임의의 것의 컴퓨터 판독가능 저장 매체에서, 하나 이상의 프로세서로 하여금 이미지를 프로세싱하게 하는 명령들은, 하나 이상의 프로세서로 하여금, 이미지를 캡처하도록 구성된 디바이스의 화이트 밸런스를 조정하게 하는 것; 이미지를 캡처하도록 구성된 디바이스의 포커스를 조정하게 하는 것; 또는 이미지를 캡처하도록 구성된 디바이스의 노출을 조정하게 하는 것 중 하나 이상을 행하게 하는 명령들을 포함한다.
조항 27A. 조항들 23A-26A 중 임의의 것의 컴퓨터 판독가능 매체에서, 하나 이상의 프로세서로 하여금 이미지를 프로세싱하게 하는 명령들은, 하나 이상의 프로세서로 하여금, 이미지를 인코딩하기 위한 양자화 레벨들을 결정하게 하는 것; 이미지를 주밍 또는 크로핑하게 하는 것; 또는 다른 영역들에 비해 상대적으로 더 높은 세일리언시를 갖는 영역들에 대해 수행된 프로세싱의 양을 증가시키게 하는 것 중 하나 이상의 행하게 하는 명령들을 포함한다.
조항 28A. 캡처 또는 이미지 프로세싱을 위한 디바이스로서, 디바이스는 프리뷰 모드 또는 레코딩을 위해 이미지를 수신하는 수단; 프리뷰 모드 또는 레코딩 동안 실시간으로, 뷰어 시선을 끌 때 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 세일리언시 맵을 생성하는 수단; 및 세일리언시 맵에 기초하여 이미지를 프로세싱하는 수단을 포함한다.
조항 29A. 조항 28A 의 디바이스에서, 세일리언시 맵은 이미지 내의 상이한 영역들이 뷰어 시선을 끌 확률들을 표시하고, 확률들은 상대적 세일리언시를 표시한다.
조항 30A. 조항들 28A 및 29A 중 임의의 것의 디바이스에서, 세일리언시 맵을 생성하는 수단은, 뷰어 시선을 끌 더 낮은 확률들을 갖는 이미지에서의 영역들과는 상이하게 뷰어 시선을 끌 더 높은 확률들을 갖는 이미지에서의 영역들을 식별하기 위해 이미지로부터의 샘플 값들을 프로세싱하도록 하나 이상의 머신-러닝 모델에 의해 생성된, 메모리에 저장된 가중치들을 활용하는 수단을 포함한다.
조항 1B. 이미지 캡처를 위한 디바이스로서, 디바이스는, 메모리 및 메모리에 커플링된 하나 이상의 프로세서를 포함하고, 하나 이상의 프로세서는, 프리뷰 모드 또는 레코딩 동안, 제 1 이미지를 수신하고, 제 1 이미지 내의 상이한 영역들의 상대적 세일리언시(saliency)를 표시하는 제 1 세일리언시 맵을 생성하는 것으로서, 상이한 영역들의 상대적 세일리언시는 뷰어 시선을 끌 가능성을 표시하는, 상기 제 1 세일리언시 맵을 생성하고, 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 하나 이상의 부가 이미지를 생성하고, 하나 이상의 부가 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 하나 이상의 부가 세일리언시 맵을 생성하며, 그리고 프리뷰 모드 또는 레코딩 동안, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 설정을 결정하도록 구성된다.
조항 2B. 조항 1B 의 디바이스에서, 제 1 이미지는 제 1 렌즈 포지션에서 카메라의 렌즈로 생성되고, 상기 카메라 설정을 결정하는 것은 렌즈에 대한 제 2 렌즈 포지션을 정의하는 오토포커스 설정을 결정하는 것을 포함한다.
조항 3B. 조항 2B 의 디바이스에서, 하나 이상의 프로세서는 제 2 렌즈 포지션 및 제 1 렌즈 포지션이 동일하다고 결정하고; 그리고 렌즈의 렌즈 포지션의 조정을 회피하도록 구성된다.
조항 4B. 조항 2B 의 디바이스에서, 하나 이상의 프로세서는 제 2 렌즈 포지션 및 제 1 렌즈 포지션이 상이하다고 결정하고; 그리고 렌즈의 렌즈 포지션을 제 2 렌즈 포지션에 대해 조정하도록 구성된다.
조항 5B. 조항들 1B-4B 중 임의의 것의 디바이스에서, 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 상기 하나 이상의 부가 이미지를 생성하는 것은, 제 1 이미지에서의 이미지 콘텐츠의 깊이에 기초하여 하나 이상의 부가 이미지를 생성하는 것을 포함한다.
조항 6B. 조항들 1B-5B 중 임의의 것의 디바이스에서, 하나 이상의 부가 이미지를 생성하는 것은, 제 1 이미지의 전경에서의 오브젝트들의 픽셀들을 조작하는 것에 기초하여 상기 하나 이상의 부가 이미지를 생성하는 것을 포함한다.
조항 7B. 조항들 1B-6B 중 임의의 것의 디바이스에서, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 설정을 결정하는 것은, 제 1 세일리언시 맵을 하나 이상의 부가 세일리언시 맵과 비교하는 것; 및 비교에 기초하여 카메라 설정을 결정하는 것을 포함한다.
조항 8B. 조항 7B 의 디바이스에서, 제 1 세일리언시 맵을 하나 이상의 부가 세일리언시 맵과 비교하는 것은, 교차 상관, 절대차의 합 프로세스, 또는 평균 제곱 에러 프로세스를 수행하는 것 중 하나 이상을 포함한다.
조항 9B. 조항들 1B-8B 중 임의의 것의 디바이스에서, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 설정을 결정하는 것은, 제 1 세일리언시 맵을 하나 이상의 부가 세일리언시 맵과 비교하는 것; 및 제 1 세일리언시 맵과 하나 이상의 부가 세일리언시 맵이 실질적으로 동일하다고 결정하는 것; 및 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에서 상대적 세일리언시를 갖는 영역들에 기초하여 오토포커스 설정을 결정하는 것을 포함한다.
조항 10B. 조항들 1B-8B 중 임의의 것의 디바이스에서, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 설정을 결정하는 것은, 제 1 세일리언시 맵을 하나 이상의 부가 세일리언시 맵과 비교하는 것; 제 1 세일리언시 맵과 하나 이상의 부가 세일리언시 맵이 실질적으로 동일하지 않다고 결정하는 것; 제 1 이미지에서 전경 영역들을 결정하는 것; 및 전경 영역들에 기초하여 오토포커스 설정을 결정하는 것을 포함한다.
조항 11B. 조항들 1B-10B 중 임의의 것의 디바이스에서, 하나 이상의 부가 이미지는 제 1 부가 이미지 및 제 2 부가 이미지를 포함하고, 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 하나 이상의 부가 이미지를 생성하는 것은, 제 1 부가 이미지를 생성하기 위해 제 1 이미지의 픽셀들을 조작하는 것; 및 제 2 부가 이미지를 생성하기 위해 제 1 부가 이미지의 픽셀들을 조작하는 것을 포함한다.
조항 12B. 조항들 1B-11B 중 임의의 것의 디바이스에서, 하나 이상의 부가 이미지를 생성하는 것은, 하나 이상의 부가 이미지를 생성하기 위해 제 1 이미지를 인페인팅하는 것을 포함한다.
조항 13B. 조항들 1B-12B 중 임의의 것의 디바이스에서, 세일리언시 맵을 생성하는 것은, NxM 사이즈의 다운스케일링된 이미지를 생성하기 위해 이미지를 다운스케일링하는 것; 및 다운스케일링된 이미지에 기초하여 세일리언시 맵을 생성하는 것을 포함하고, 세일리언시 맵의 사이즈는 XxY 이고, X 가 N 미만인 것 또는 Y 가 M 미만인 것 중 적어도 하이다.
조항 14B. 조항들 1B, 5B, 6B, 11B, 및 13B 중 임의의 것의 디바이스에서, 하나 이상의 부가 이미지를 생성하는 것은, 하나 이상의 부가 이미지를 생성하기 위해 제 1 이미지의 톤을 변경함으로써 제 1 이미지 상에 상이한 노출들을 시뮬레이션하는 것을 포함하고, 하나 이상의 부가 세일리언시 맵을 생성하는 것은, 제 1 이미지 상에 상이한 노출들을 시뮬레이션함으로써 생성되는 하나 이상의 부가 이미지 내에서 하나 이상의 부가 세일리언시 맵을 생성하는 것을 포함하고, 하나 이상의 프로세서는 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 복수의 미터링 맵들을 생성하고, 복수의 미터링 맵들에 기초하여 업데이트된 미터링 맵을 결정하도록 구성되며, 그리고 카메라 설정을 결정하는 것은, 업데이트된 미터링 맵에 기초하여 오토노출 설정을 결정하는 것을 포함한다.
조항 15B. 조항들 1B-14B 중 임의의 것의 디바이스에서, 카메라 설정을 결정하는 것은, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 가장 세일리언트한 깊이를 결정하는 것; 및 결정된 가장 세일리언트한 깊이에 기초하여 카메라 설정을 결정하는 것을 포함한다.
조항 16B. 조항들 1B-15B 중 임의의 것의 디바이스에서, 디바이스는 디지털 카메라, 디지털 비디오 캠코더, 또는 카메라-장착형 무선 통신 디바이스 핸드셋 중 하나 이상이다.
조항 17B. 이미지 캡처를 위한 방법으로서, 방법은, 프리뷰 모드 또는 레코딩 동안, 제 1 이미지를 수신하는 단계; 제 1 이미지 내의 상이한 영역들의 상대적 세일리언시(saliency)를 표시하는 제 1 세일리언시 맵을 생성하는 단계로서, 상이한 영역들의 상대적 세일리언시는 뷰어 시선을 끌 가능성을 표시하는, 상기 제 1 세일리언시 맵을 생성하는 단계; 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 하나 이상의 부가 이미지를 생성하는 단계; 하나 이상의 부가 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 하나 이상의 부가 세일리언시 맵을 생성하는 단계; 및 프리뷰 모드 또는 레코딩 동안, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 설정을 결정하는 단계를 포함한다.
조항 18B. 조항 17B 의 방법에서, 제 1 이미지는 제 1 렌즈 포지션에서 카메라의 렌즈로 생성되고, 상기 카메라 설정을 결정하는 단계는 렌즈에 대한 제 2 렌즈 포지션을 정의하는 오토포커스 설정을 결정하는 단계를 포함한다.
조항 19B. 조항 18B 의 방법은, 제 2 렌즈 포지션 및 제 1 렌즈 포지션이 동일하다고 결정하는 단계; 및 렌즈의 렌즈 포지션의 조정을 회피하는 단계를 더 포함한다.
조항 20B. 조항 18B 의 방법은, 제 2 렌즈 포지션 및 제 1 렌즈 포지션이 상이하다고 결정하는 단계; 및 렌즈의 렌즈 포지션을 제 2 렌즈 포지션에 대해 조정하는 단계를 더 포함한다.
조항 21B. 조항들 17B-20B 중 임의의 것의 방법에서, 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 상기 하나 이상의 부가 이미지를 생성하는 단계는, 제 1 이미지에서의 이미지 콘텐츠의 깊이에 기초하여 하나 이상의 부가 이미지를 생성하는 단계를 포함한다.
조항 22B. 조항들 17B-21B 중 임의의 것의 방법에서, 하나 이상의 부가 이미지를 생성하는 단계는, 제 1 이미지의 전경에서의 오브젝트들의 픽셀들을 조작하는 것에 기초하여 하나 이상의 부가 이미지를 생성하는 단계를 포함한다.
조항 23B. 조항들 17B-22B 중 임의의 것의 방법에서, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 설정을 결정하는 단계는, 제 1 세일리언시 맵을 하나 이상의 부가 세일리언시 맵과 비교하는 단계; 및 비교에 기초하여 카메라 설정을 결정하는 단계를 포함한다.
조항 24B. 조항 23B 의 방법에서, 제 1 세일리언시 맵을 하나 이상의 부가 세일리언시 맵과 비교하는 단계는, 교차 상관, 절대차의 합 프로세스, 또는 평균 제곱 에러 프로세스를 수행하는 것 중 하나 이상을 포함한다.
조항 25B. 조항들 17B-24B 중 임의의 것의 방법에서, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 설정을 결정하는 단계는, 제 1 세일리언시 맵을 하나 이상의 부가 세일리언시 맵과 비교하는 단계; 제 1 세일리언시 맵과 하나 이상의 부가 세일리언시 맵이 실질적으로 동일하다고 결정하는 단계; 및 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에서 상대적 세일리언시를 갖는 영역들에 기초하여 오토포커스 설정을 결정하는 단계를 포함한다.
조항 26B. 조항들 17B-24B 중 임의의 것의 방법에서, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 설정을 결정하는 단계는, 제 1 세일리언시 맵을 하나 이상의 부가 세일리언시 맵과 비교하는 단계; 제 1 세일리언시 맵과 하나 이상의 부가 세일리언시 맵이 실질적으로 동일하지 않다고 결정하는 단계; 제 1 이미지에서 전경 영역들을 결정하는 단계; 및 전경 영역들에 기초하여 오토포커스 설정을 결정하는 단계를 포함한다.
조항 27B. 조항들 17B, 21B, 및 22B 중 임의의 것의 방법에서, 하나 이상의 부가 이미지를 생성하는 단계는, 하나 이상의 부가 이미지를 생성하기 위해 제 1 이미지의 톤을 변경함으로써 제 1 이미지 상에 상이한 노출들을 시뮬레이션하는 단계를 포함하고, 하나 이상의 부가 세일리언시 맵을 생성하는 단계는, 제 1 이미지 상에 상이한 노출들을 시뮬레이션함으로써 생성되는 하나 이상의 부가 이미지 내에서 하나 이상의 부가 세일리언시 맵을 생성하는 단계를 포함하고, 방법은, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 복수의 미터링 맵들을 생성하는 단계, 및 복수의 미터링 맵들에 기초하여 업데이트된 미터링 맵을 결정하는 단계를 더 포함하고, 카메라 설정을 결정하는 단계는, 업데이트된 미터링 맵에 기초하여 오토노출 설정을 결정하는 단계를 포함한다.
조항 28B. 조항들 17B-27B 중 임의의 것의 방법에서, 하나 이상의 부가 이미지를 생성하는 단계는, 하나 이상의 부가 이미지를 생성하기 위해 제 1 이미지를 인페인팅하는 단계를 포함한다.
조항 29B. 조항들 17B-28B 중 임의의 것의 방법에서, 카메라 설정을 결정하는 단계는, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 가장 세일리언트한 깊이를 결정하는 단계; 및 결정된 가장 세일리언트한 깊이에 기초하여 카메라 설정을 결정하는 단계를 포함한다.
조항 30B. 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서, 명령들은 실행될 때 하나 이상의 프로세서로 하여금, 프리뷰 모드 또는 레코딩 동안, 제 1 이미지를 수신하게 하고; 제 1 이미지 내의 상이한 영역들의 상대적 세일리언시(saliency)를 표시하는 제 1 세일리언시 맵을 생성하게 하는 것으로서, 상이한 영역들의 상대적 세일리언시는 뷰어 시선을 끌 가능성을 표시하는, 상기 제 1 세일리언시 맵을 생성하게 하고; 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 하나 이상의 부가 이미지를 생성하게 하고; 하나 이상의 부가 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 하나 이상의 부가 세일리언시 맵을 생성하게 하며; 그리고 프리뷰 모드 또는 레코딩 동안, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 설정을 결정하게 한다.
조항 31B. 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서, 명령들은 실행될 때, 하나 이상의 프로세서로 하여금, 조항들 17B-29B 중 임의의 것의 방법을 수행하게 한다.
조항 32B. 이미지 캡처를 위한 디바이스로서, 디바이스는, 프리뷰 모드 또는 레코딩 동안, 제 1 이미지를 수신하는 수단; 제 1 이미지 내의 상이한 영역들의 상대적 세일리언시(saliency)를 표시하는 제 1 세일리언시 맵을 생성하는 수단으로서, 상이한 영역들의 상대적 세일리언시는 뷰어 시선을 끌 가능성을 표시하는, 상기 제 1 세일리언시 맵을 생성하는 수단; 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 하나 이상의 부가 이미지를 생성하는 수단; 하나 이상의 부가 이미지 내의 상이한 영역들의 상대적 세일리언시를 표시하는 하나 이상의 부가 세일리언시 맵을 생성하는 수단; 및 프리뷰 모드 또는 레코딩 동안, 제 1 세일리언시 맵 및 하나 이상의 부가 세일리언시 맵에 기초하여 카메라 설정을 결정하는 수단을 포함한다.
조항 33B. 조항 32B 의 디바이스는, 조항들 17B-29B 중 임의의 것의 방법을 수행하는 수단을 더 포함한다.
하나 이상의 예에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에서 구현될 수도 있다.  소프트웨어로 구현되면, 그 기능들은 컴퓨터 판독가능 매체 상의 하나 이상의 명령 또는 코드로서 저장되거나 송신될 수도 있고 하드웨어 기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체들은 데이터 저장 매체들과 같은 유형의 매체에 대응하는 컴퓨터 판독가능 저장 매체들을 포함할 수도 있다. 이러한 방식으로, 컴퓨터 판독가능 매체들은 일반적으로 비일시적인 유형의 컴퓨터 판독가능 저장 매체들에 대응할 수도 있다. 데이터 저장 매체들은 본 개시에서 설명된 기법들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다. 컴퓨터 프로그램 제품이 컴퓨터 판독가능 매체를 포함할 수도 있다.
한정이 아닌 예시로서, 이러한 컴퓨터 판독가능 저장 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장, 자기 디스크 저장, 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 명령들 또는 데이터 구조들의 형태로 희망하는 프로그램 코드를 저장하기 위해 이용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다.  컴퓨터 판독가능 저장 매체들 및 데이터 저장 매체들은, 캐리어 파들, 신호들, 또는 다른 일시적 매체들을 포함하지 않고, 그 대신 비일시적 유형의 저장 매체들과 관련되는 것으로 이해되어야 한다. 본 명세서에서 사용된 바와 같이, 디스크 (disk) 와 디스크 (disc) 는, 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크, 및 블루레이 디스크를 포함하며, 여기서 디스크(disk)들은 통상 자기적으로 데이터를 재생하는 한편, 디스크(disc) 들은 레이저들을 이용하여 광학적으로 데이터를 재생한다. 또한, 상기의 조합은 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 프로세서, 예컨대 하나 이상의 디지털 신호 프로세서 (DSP), 범용 마이크로프로세서, 주문형 집적 회로 (ASIC), 필드 프로그램가능 로직 어레이 (FPGA), 또는 다른 등가의 집적 또는 이산 로직 회로에 의해 실행될 수도 있다. 따라서, 본 명세서에 사용된 용어 "프로세서" 는 전술한 구조 중 임의의 것 또는 본 명세서에 설명된 기법들의 구현에 적합한 임의의 다른 구조를 지칭할 수도 있다. 부가적으로, 일부 양태들에서, 본 명세서에서 설명된 기능성이 인코딩 및 디코딩을 위해 구성되거나 또는 결합된 코덱에서 통합된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수도 있다. 또한, 그 기법들은 하나 이상의 회로 또는 로직 엘리먼트에서 완전히 구현될 수 있다.
본 개시의 기법들은 무선 핸드셋, 집적 회로 (IC) 또는 IC들의 세트 (예를 들어, 칩 세트) 를 포함하여, 광범위하게 다양한 디바이스들 또는 장치들에서 구현될 수도 있다. 다양한 컴포넌트들, 모듈들 또는 유닛들이, 개시된 기술들을 수행하도록 구성된 디바이스들의 기능적인 양태들을 강조하기 위하여 본 개시에 설명되었지만, 상이한 하드웨어 유닛들에 의한 실현을 반드시 필요로 하는 것은 아니다. 오히려, 상술한 바와 같이, 다양한 유닛들이 코덱 하드웨어 유닛에 결합될 수도 있거나, 또는 적합한 소프트웨어 및/또는 펌웨어와 함께, 상술한 하나 이상의 프로세서를 포함하는 상호동작 하드웨어 유닛들의 집합에 의해 제공될 수도 있다.
다양한 예들이 설명되었다. 이들 및 다른 예들은 다음의 청구항들의 범위 내에 있다.

Claims (30)

  1. 이미지 캡처를 위한 디바이스로서,
    메모리; 및
    상기 메모리에 커플링된 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는,
    프리뷰 모드 또는 레코딩 동안, 제 1 이미지를 수신하고;
    상기 제 1 이미지 내의 상이한 영역들의 상대적 세일리언시(saliency)를 표시하는 제 1 세일리언시 맵을 생성하는 것으로서, 상기 상이한 영역들의 상대적 세일리언시는 뷰어 시선을 끌 가능성을 표시하는, 상기 제 1 세일리언시 맵을 생성하고;
    상기 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 하나 이상의 부가 이미지들을 생성하고;
    상기 하나 이상의 부가 이미지들 내의 상이한 영역들의 상대적 세일리언시를 표시하는 하나 이상의 부가 세일리언시 맵들을 생성하며; 그리고
    상기 프리뷰 모드 또는 상기 레코딩 동안, 상기 제 1 세일리언시 맵 및 상기 하나 이상의 부가 세일리언시 맵들에 기초하여 카메라 설정을 결정하도록 구성되는, 이미지 캡처를 위한 디바이스.
  2. 제 1 항에 있어서,
    상기 제 1 이미지는 제 1 렌즈 포지션에서 카메라의 렌즈로 생성되고, 상기 카메라 설정을 결정하는 것은 상기 렌즈에 대한 제 2 렌즈 포지션을 정의하는 오토포커스 설정을 결정하는 것을 포함하는, 이미지 캡처를 위한 디바이스.
  3. 제 2 항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 제 2 렌즈 포지션과 상기 제 1 렌즈 포지션이 동일하다고 결정하고; 그리고
    상기 렌즈의 렌즈 포지션의 조정을 회피하도록 구성되는, 이미지 캡처를 위한 디바이스.
  4. 제 2 항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 제 2 렌즈 포지션과 상기 제 1 렌즈 포지션이 상이하다고 결정하고; 그리고
    상기 렌즈의 렌즈 포지션을 상기 제 2 렌즈 포지션에 대해 조정하도록 구성되는, 이미지 캡처를 위한 디바이스.
  5. 제 1 항에 있어서,
    상기 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 상기 하나 이상의 부가 이미지들을 생성하는 것은, 상기 제 1 이미지에서의 이미지 콘텐츠의 깊이에 기초하여 상기 하나 이상의 부가 이미지들을 생성하는 것을 포함하는, 이미지 캡처를 위한 디바이스.
  6. 제 1 항에 있어서,
    상기 하나 이상의 부가 이미지들을 생성하는 것은, 상기 제 1 이미지의 전경에서의 오브젝트들의 픽셀들을 조작하는 것에 기초하여 상기 하나 이상의 부가 이미지들을 생성하는 것을 포함하는, 이미지 캡처를 위한 디바이스.
  7. 제 1 항에 있어서,
    상기 제 1 세일리언시 맵 및 상기 하나 이상의 부가 세일리언시 맵들에 기초하여 상기 카메라 설정을 결정하는 것은,
    상기 제 1 세일리언시 맵을 상기 하나 이상의 부가 세일리언시 맵들과 비교하는 것; 및
    상기 비교에 기초하여 상기 카메라 설정을 결정하는 것을 포함하는, 이미지 캡처를 위한 디바이스.
  8. 제 7 항에 있어서,
    상기 제 1 세일리언시 맵을 상기 하나 이상의 부가 세일리언시 맵들과 비교하는 것은, 교차 상관, 절대차의 합 프로세스, 또는 평균 제곱 에러 프로세스를 수행하는 것 중 하나 이상을 포함하는, 이미지 캡처를 위한 디바이스.
  9. 제 1 항에 있어서,
    상기 제 1 세일리언시 맵 및 상기 하나 이상의 부가 세일리언시 맵들에 기초하여 상기 카메라 설정을 결정하는 것은,
    상기 제 1 세일리언시 맵을 상기 하나 이상의 부가 세일리언시 맵들과 비교하는 것;
    상기 제 1 세일리언시 맵과 상기 하나 이상의 부가 세일리언시 맵들이 실질적으로 동일하다고 결정하는 것; 및
    상기 제 1 세일리언시 맵과 상기 하나 이상의 부가 세일리언시 맵들에서 상대적 세일리언시를 갖는 영역들에 기초하여 오토포커스 설정을 결정하는 것을 포함하는, 이미지 캡처를 위한 디바이스.
  10. 제 1 항에 있어서,
    상기 제 1 세일리언시 맵 및 상기 하나 이상의 부가 세일리언시 맵들에 기초하여 상기 카메라 설정을 결정하는 것은,
    상기 제 1 세일리언시 맵을 상기 하나 이상의 부가 세일리언시 맵들과 비교하는 것; 및
    상기 제 1 세일리언시 맵과 상기 하나 이상의 부가 세일리언시 맵들이 실질적으로 동일하지 않다고 결정하는 것;
    상기 제 1 이미지에서 전경 영역들을 결정하는 것; 및
    상기 전경 영역들에 기초하여 오토포커스 설정을 결정하는 것을 포함하는, 이미지 캡처를 위한 디바이스.
  11. 제 1 항에 있어서,
    상기 하나 이상의 부가 이미지들은 제 1 부가 이미지 및 제 2 부가 이미지를 포함하고, 상기 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 하나 이상의 부가 이미지들을 생성하는 것은,
    상기 제 1 부가 이미지를 생성하기 위해 상기 제 1 이미지의 픽셀들을 조작하는 것; 및
    상기 제 2 부가 이미지를 생성하기 위해 상기 제 1 부가 이미지의 픽셀들을 조작하는 것을 포함하는, 이미지 캡처를 위한 디바이스.
  12. 제 1 항에 있어서,
    상기 하나 이상의 부가 이미지들을 생성하는 것은 상기 하나 이상의 부가 이미지들을 생성하기 위해 상기 제 1 이미지를 인페인팅하는 것을 포함하는, 이미지 캡처를 위한 디바이스.
  13. 제 1 항에 있어서,
    상기 세일리언시 맵을 생성하는 것은,
    NxM 사이즈의 다운스케일링된 이미지를 생성하기 위해 상기 이미지를 다운스케일링하는 것; 및
    상기 다운스케일링된 이미지에 기초하여 상기 세일리언시 맵을 생성하는 것을 포함하고,
    상기 세일리언시 맵의 사이즈는 XxY 이고, 그리고
    X 가 N 미만인 것 또는 Y 가 M 미만인 것 중 적어도 하나인, 이미지 캡처를 위한 디바이스.
  14. 제 1 항에 있어서,
    상기 하나 이상의 부가 이미지들을 생성하는 것은, 상기 하나 이상의 부가 이미지들을 생성하기 위해 상기 제 1 이미지의 톤을 변경함으로써 상기 제 1 이미지 상에 상이한 노출들을 시뮬레이션하는 것을 포함하고,
    상기 하나 이상의 부가 세일리언시 맵들을 생성하는 것은, 상기 제 1 이미지 상에 상이한 노출들을 시뮬레이션함으로써 생성되는 상기 하나 이상의 부가 이미지들 내에서 상기 하나 이상의 부가 세일리언시 맵들을 생성하는 것을 포함하고,
    상기 하나 이상의 프로세서는 상기 제 1 세일리언시 맵 및 상기 하나 이상의 부가 세일리언시 맵들에 기초하여 복수의 미터링 맵들을 생성하고, 상기 복수의 미터링 맵들에 기초하여 업데이트된 미터링 맵을 결정하도록 구성되며, 그리고
    상기 카메라 설정을 결정하는 것은, 상기 업데이트된 미터링 맵에 기초하여 오토노출 설정을 결정하는 것을 포함하는, 이미지 캡처를 위한 디바이스.
  15. 제 1 항에 있어서,
    상기 카메라 설정을 결정하는 것은,
    상기 제 1 세일리언시 맵 및 상기 하나 이상의 부가 세일리언시 맵들에 기초하여 가장 세일리언트한 깊이를 결정하는 것; 및
    결정된 상기 가장 세일리언트한 깊이에 기초하여 상기 카메라 설정을 결정하는 것을 포함하는, 이미지 캡처를 위한 디바이스.
  16. 제 1 항에 있어서,
    상기 디바이스는 디지털 카메라, 디지털 비디오 캠코더, 또는 카메라-장착형 무선 통신 디바이스 핸드셋 중 하나 이상인, 이미지 캡처를 위한 디바이스.
  17. 이미지 캡처를 위한 방법으로서,
    프리뷰 모드 또는 레코딩 동안, 제 1 이미지를 수신하는 단계;
    상기 제 1 이미지 내의 상이한 영역들의 상대적 세일리언시(saliency)를 표시하는 제 1 세일리언시 맵을 생성하는 단계로서, 상기 상이한 영역들의 상대적 세일리언시는 뷰어 시선을 끌 가능성을 표시하는, 상기 제 1 세일리언시 맵을 생성하는 단계;
    상기 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 하나 이상의 부가 이미지들을 생성하는 단계;
    상기 하나 이상의 부가 이미지들 내의 상이한 영역들의 상대적 세일리언시를 표시하는 하나 이상의 부가 세일리언시 맵들을 생성하는 단계; 및
    상기 프리뷰 모드 또는 상기 레코딩 동안, 상기 제 1 세일리언시 맵 및 상기 하나 이상의 부가 세일리언시 맵들에 기초하여 카메라 설정을 결정하는 단계를 포함하는, 이미지 캡처를 위한 방법.
  18. 제 17 항에 있어서,
    상기 제 1 이미지는 제 1 렌즈 포지션에서 카메라의 렌즈로 생성되고, 상기 카메라 설정을 결정하는 단계는 상기 렌즈에 대한 제 2 렌즈 포지션을 정의하는 오토포커스 설정을 결정하는 단계를 포함하는, 이미지 캡처를 위한 방법.
  19. 제 18 항에 있어서,
    상기 제 2 렌즈 포지션과 상기 제 1 렌즈 포지션이 동일하다고 결정하는 단계; 및
    상기 렌즈의 렌즈 포지션의 조정을 회피하는 단계를 더 포함하는, 이미지 캡처를 위한 방법.
  20. 제 18 항에 있어서,
    상기 제 2 렌즈 포지션과 상기 제 1 렌즈 포지션이 상이하다고 결정하는 단계; 및
    상기 렌즈의 렌즈 포지션을 상기 제 2 렌즈 포지션에 대해 조정하는 단계를 더 포함하는, 이미지 캡처를 위한 방법.
  21. 제 17 항에 있어서,
    상기 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 상기 하나 이상의 부가 이미지들을 생성하는 단계는, 상기 제 1 이미지에서의 이미지 콘텐츠의 깊이에 기초하여 상기 하나 이상의 부가 이미지들을 생성하는 단계를 포함하는, 이미지 캡처를 위한 방법.
  22. 제 17 항에 있어서,
    상기 하나 이상의 부가 이미지들을 생성하는 단계는, 상기 제 1 이미지의 전경에서의 오브젝트들의 픽셀들을 조작하는 것에 기초하여 상기 하나 이상의 부가 이미지들을 생성하는 단계를 포함하는, 이미지 캡처를 위한 방법.
  23. 제 17 항에 있어서,
    상기 제 1 세일리언시 맵 및 상기 하나 이상의 부가 세일리언시 맵들에 기초하여 상기 카메라 설정을 결정하는 단계는,
    상기 제 1 세일리언시 맵을 상기 하나 이상의 부가 세일리언시 맵들과 비교하는 단계; 및
    상기 비교에 기초하여 상기 카메라 설정을 결정하는 단계를 포함하는, 이미지 캡처를 위한 방법.
  24. 제 23 항에 있어서,
    상기 제 1 세일리언시 맵을 상기 하나 이상의 부가 세일리언시 맵들과 비교하는 단계는, 교차 상관, 절대차의 합 프로세스, 또는 평균 제곱 에러 프로세스를 수행하는 것 중 하나 이상을 포함하는, 이미지 캡처를 위한 방법.
  25. 제 17 항에 있어서,
    상기 제 1 세일리언시 맵 및 상기 하나 이상의 부가 세일리언시 맵들에 기초하여 상기 카메라 설정을 결정하는 단계는,
    상기 제 1 세일리언시 맵을 상기 하나 이상의 부가 세일리언시 맵들과 비교하는 단계;
    상기 제 1 세일리언시 맵과 상기 하나 이상의 부가 세일리언시 맵들이 실질적으로 동일하다고 결정하는 단계; 및
    상기 제 1 세일리언시 맵과 상기 하나 이상의 부가 세일리언시 맵들에서 상대적 세일리언시를 갖는 영역들에 기초하여 오토포커스 설정을 결정하는 단계를 포함하는, 이미지 캡처를 위한 방법.
  26. 제 17 항에 있어서,
    상기 제 1 세일리언시 맵 및 상기 하나 이상의 부가 세일리언시 맵들에 기초하여 상기 카메라 설정을 결정하는 단계는,
    상기 제 1 세일리언시 맵을 상기 하나 이상의 부가 세일리언시 맵들과 비교하는 단계;
    상기 제 1 세일리언시 맵과 상기 하나 이상의 부가 세일리언시 맵들이 실질적으로 동일하지 않다고 결정하는 단계;
    상기 제 1 이미지에서 전경 영역들을 결정하는 단계; 및
    상기 전경 영역에 기초하여 오토포커스 설정을 결정하는 단계를 포함하는, 이미지 캡처를 위한 방법.
  27. 제 17 항에 있어서,
    상기 하나 이상의 부가 이미지들을 생성하는 단계는, 상기 하나 이상의 부가 이미지들을 생성하기 위해 상기 제 1 이미지의 톤을 변경함으로써 상기 제 1 이미지 상에 상이한 노출들을 시뮬레이션하는 단계를 포함하고,
    상기 하나 이상의 부가 세일리언시 맵들을 생성하는 단계는, 상기 제 1 이미지 상에 상이한 노출들을 시뮬레이션함으로써 생성되는 상기 하나 이상의 부가 이미지들 내에서 상기 하나 이상의 부가 세일리언시 맵들을 생성하는 단계를 포함하고,
    상기 방법은, 상기 제 1 세일리언시 맵 및 상기 하나 이상의 부가 세일리언시 맵들에 기초하여 복수의 미터링 맵들을 생성하는 단계, 및 상기 복수의 미터링 맵들에 기초하여 업데이트된 미터링 맵을 결정하는 단계를 더 포함하며, 그리고
    상기 카메라 설정을 결정하는 단계는, 상기 업데이트된 미터링 맵에 기초하여 오토노출 설정을 결정하는 단계를 포함하는, 이미지 캡처를 위한 방법.
  28. 제 17 항에 있어서,
    상기 하나 이상의 부가 이미지들을 생성하는 단계는 상기 하나 이상의 부가 이미지들을 생성하기 위해 상기 제 1 이미지를 인페인팅하는 단계를 포함하는, 이미지 캡처를 위한 방법.
  29. 제 17 항에 있어서,
    상기 카메라 설정을 결정하는 단계는,
    상기 제 1 세일리언시 맵 및 상기 하나 이상의 부가 세일리언시 맵들에 기초하여 가장 세일리언트한 깊이를 결정하는 단계; 및
    결정된 상기 가장 세일리언트한 깊이에 기초하여 상기 카메라 설정을 결정하는 단계를 포함하는, 이미지 캡처를 위한 방법.
  30. 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은 실행될 때, 하나 이상의 프로세서로 하여금,
    프리뷰 모드 또는 레코딩 동안, 제 1 이미지를 수신하게 하고;
    상기 제 1 이미지 내의 상이한 영역들의 상대적 세일리언시(saliency)를 표시하는 제 1 세일리언시 맵을 생성하게 하는 것으로서, 상기 상이한 영역들의 상대적 세일리언시는 뷰어 시선을 끌 가능성을 표시하는, 상기 제 1 세일리언시 맵을 생성하게 하고;
    상기 제 1 이미지에서의 픽셀들을 조작하는 것에 기초하여 하나 이상의 부가 이미지들을 생성하게 하고;
    상기 하나 이상의 부가 이미지들 내의 상이한 영역들의 상대적 세일리언시를 표시하는 하나 이상의 부가 세일리언시 맵들을 생성하게 하며; 그리고
    상기 프리뷰 모드 또는 상기 레코딩 동안, 상기 제 1 세일리언시 맵 및 상기 하나 이상의 부가 세일리언시 맵들에 기초하여 카메라 설정을 결정하게 하는, 컴퓨터 판독가능 저장 매체.
KR1020237009576A 2020-09-25 2021-09-22 세일리언시 기반 캡처 또는 이미지 프로세싱 KR20230074136A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063083579P 2020-09-25 2020-09-25
US63/083,579 2020-09-25
US17/480,970 2021-09-21
US17/480,970 US11977319B2 (en) 2020-09-25 2021-09-21 Saliency based capture or image processing
PCT/US2021/051496 WO2022066726A1 (en) 2020-09-25 2021-09-22 Saliency based capture or image processing

Publications (1)

Publication Number Publication Date
KR20230074136A true KR20230074136A (ko) 2023-05-26

Family

ID=80821132

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237009576A KR20230074136A (ko) 2020-09-25 2021-09-22 세일리언시 기반 캡처 또는 이미지 프로세싱

Country Status (5)

Country Link
US (1) US11977319B2 (ko)
EP (1) EP4218228A1 (ko)
KR (1) KR20230074136A (ko)
CN (1) CN116368811A (ko)
WO (1) WO2022066726A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230137744A1 (en) * 2021-10-29 2023-05-04 Microsoft Technology Licensing, Llc Deep gradient activation map model refinement
US11843858B1 (en) * 2022-05-19 2023-12-12 Qualcomm Incorporated Machine learning for phase detection autofocus
CN114782878B (zh) * 2022-05-26 2024-04-30 广东南方电信规划咨询设计院有限公司 一种视频显著性检测方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2888375A1 (fr) * 2005-07-06 2007-01-12 Thomson Licensing Sa Procede d'obtention d'une carte de saillance a partir d'une pluralite de cartes de saillances etablies a partir de grandeurs visuelles differentes
AU2011253982B9 (en) 2011-12-12 2015-07-16 Canon Kabushiki Kaisha Method, system and apparatus for determining a subject and a distractor in an image
US9330334B2 (en) * 2013-10-24 2016-05-03 Adobe Systems Incorporated Iterative saliency map estimation
US20150154466A1 (en) * 2013-11-29 2015-06-04 Htc Corporation Mobile device and image processing method thereof
US10216267B2 (en) * 2014-05-08 2019-02-26 Sony Corporation Portable electronic equipment and method of controlling a portable electronic equipment
WO2016011457A1 (en) * 2014-07-18 2016-01-21 Acrovirt, LLC Generating and using a predictive virtual personification
US9626584B2 (en) 2014-10-09 2017-04-18 Adobe Systems Incorporated Image cropping suggestion using multiple saliency maps
US9699371B1 (en) 2016-03-29 2017-07-04 Sony Corporation Image processing system with saliency integration and method of operation thereof
US10033918B2 (en) * 2016-03-29 2018-07-24 Sony Corporation Method and system for image processing to detect salient objects in image
JPWO2018078806A1 (ja) * 2016-10-28 2019-09-05 オリンパス株式会社 画像処理装置、画像処理方法及び画像処理プログラム
US10440276B2 (en) * 2017-11-02 2019-10-08 Adobe Inc. Generating image previews based on capture information
US11308345B2 (en) * 2019-05-31 2022-04-19 Apple Inc. Saliency of an object for image processing operations
US20210004962A1 (en) 2019-07-02 2021-01-07 Qualcomm Incorporated Generating effects on images using disparity guided salient object detection
US11532147B2 (en) * 2020-09-25 2022-12-20 Microsoft Technology Licensing, Llc Diagnostic tool for deep learning similarity models

Also Published As

Publication number Publication date
CN116368811A (zh) 2023-06-30
US20220100054A1 (en) 2022-03-31
EP4218228A1 (en) 2023-08-02
WO2022066726A1 (en) 2022-03-31
US11977319B2 (en) 2024-05-07

Similar Documents

Publication Publication Date Title
US11558558B1 (en) Frame-selective camera
US10666873B2 (en) Exposure-related intensity transformation
US9444991B2 (en) Robust layered light-field rendering
US9639945B2 (en) Depth-based application of image effects
EP2987134B1 (en) Generation of ghost-free high dynamic range images
US10129485B2 (en) Methods and systems for generating high dynamic range images
US11977319B2 (en) Saliency based capture or image processing
US20140176592A1 (en) Configuring two-dimensional image processing based on light-field parameters
US10897558B1 (en) Shallow depth of field (SDOF) rendering
US10992845B1 (en) Highlight recovery techniques for shallow depth of field rendering
KR102049080B1 (ko) 영상 처리 장치 및 방법
CN113888437A (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
EP4055556B1 (en) Defocus blur removal and depth estimation using dual-pixel image data
Singh et al. Weighted least squares based detail enhanced exposure fusion
CN113379609A (zh) 一种图像处理方法、存储介质及终端设备
WO2021145913A1 (en) Estimating depth based on iris size
EP4150560B1 (en) Single image 3d photography with soft-layering and depth-aware inpainting
US20220398704A1 (en) Intelligent Portrait Photography Enhancement System
WO2023110880A1 (en) Image processing methods and systems for low-light image enhancement using machine learning models
CN113379608A (zh) 一种图像处理方法、存储介质及终端设备
US11935285B1 (en) Real-time synthetic out of focus highlight rendering
US20230186612A1 (en) Image processing methods and systems for generating a training dataset for low-light image enhancement using machine learning models
CN116016883A (zh) 图像的白平衡处理方法、装置、电子设备及存储介质