KR20230053594A - 오브젝트 카테고리화에 기초한 이미지 프로세싱 - Google Patents

오브젝트 카테고리화에 기초한 이미지 프로세싱 Download PDF

Info

Publication number
KR20230053594A
KR20230053594A KR1020237005032A KR20237005032A KR20230053594A KR 20230053594 A KR20230053594 A KR 20230053594A KR 1020237005032 A KR1020237005032 A KR 1020237005032A KR 20237005032 A KR20237005032 A KR 20237005032A KR 20230053594 A KR20230053594 A KR 20230053594A
Authority
KR
South Korea
Prior art keywords
image
image data
confidence
isp
category
Prior art date
Application number
KR1020237005032A
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 KR20230053594A publication Critical patent/KR20230053594A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/35Categorising the entire scene, e.g. birthday party or wedding scene
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/6072Colour correction or control adapting to different types of images, e.g. characters, graphs, black and white image portions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/6083Colour correction or control controlled by factors external to the apparatus
    • 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/62Control of parameters via user interfaces
    • 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/66Remote control of cameras or camera parts, e.g. by remote control devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • 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/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/683Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
    • 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/70Circuitry for compensating brightness variation in the scene
    • H04N23/741Circuitry for compensating brightness variation in the scene by increasing the dynamic range of the image compared to the dynamic range of the electronic image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/75Circuitry for compensating brightness variation in the scene by influencing optical camera components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/76Circuitry for compensating brightness variation in the scene by influencing the image signals
    • 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
    • H04N2101/00Still video cameras
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

이미지 데이터의 상이한 부분에 이미지 캡처를 위한 상이한 설정을 적용하는 예가 설명된다. 예를 들어, 이미지 센서는 장면의 이미지 데이터를 캡처할 수 있고 프로세싱을 위해 이미지 신호 프로세서(ISP) 및 분류 엔진으로 이미지 데이터를 전송할 수 있다. 분류 엔진은 제 1 오브젝트 이미지 영역이 제 1 카테고리의 오브젝트를 묘사하고 제 2 오브젝트 이미지 영역이 제 2 카테고리의 오브젝트를 묘사한다고 결정할 수 있다. 이미지 데이터의 상이한 신뢰도 영역은 분류에서 상이한 신뢰도의 정도를 식별할 수 있다. ISP는 이미지 데이터의 상이한 부분에 상이한 설정을 적용하여 이미지를 생성할 수 있다. 이미지 데이터의 상이한 부분은 오브젝트 이미지 영역 및 신뢰도 영역에 기초하여 식별될 수 있다.

Description

오브젝트 카테고리화에 기초한 이미지 프로세싱
본 출원은 이미지 캡처 및 이미지 프로세싱에 관한 것이다. 보다 구체적으로, 본 출원은 촬영된 장면에서 오브젝트의 카테고리화에 기초하여 사진의 이미지 프로세싱을 자동으로 안내하는 시스템 및 방법에 관한 것이다.
이미지 캡처 디바이스는 포토다이오드의 어레이가 있는 이미지 센서를 사용하여 장면으로부터 제 1 광에 의해 이미지를 캡처한다. 그런 다음 ISP(image signal processor)는 이미지 센서의 포토다이오드에서 캡처한 미가공 이미지 데이터(raw image data)를 사용자가 저장하고 볼 수 있는 이미지로 프로세싱한다. 장면이 이미지에 묘사되는 방식은 노출 시간 설정 및 조리개 크기 설정과 같이 이미지 센서가 얼마나 많은 광을 수신하는 지를 제어하는 캡처 설정에 적어도 부분적으로 의존한다. 장면이 이미지에 묘사되는 방식은 또한, ISP가 이미지 센서에 의해 캡처된 포토다이오드 데이터를 이미지로 프로세싱하도록 어떻게 튜닝되는 지에 의존한다.
전통적으로 이미지 캡처 디바이스의 ISP는 제조 과정에서 한 번만 튜닝된다. ISP의 튜닝은 그 이미지 캡처 디바이스에서 모든 이미지가 어떻게 프로세싱되는지에 영향을 미치고 모든 이미지의 모든 픽셀에 영향을 미친다. 사용자는 일반적으로 어떤 장면을 촬영하든 관계 없이 이미지 캡처 디바이스가 고품질 이미지를 캡처할 것으로 기대한다. 이미지 캡처 디바이스가 소정 유형의 장면을 제대로 촬영할 수 없는 상황을 피하기 위해, 일반적으로 가능한 한 많은 유형의 장면에 대해 합리적으로 잘 작동하도록 ISP의 튜닝이 선택된다. 그러나, 이 때문에 전통적인 ISP의 튜닝은 일반적으로 모든 유형의 장면을 촬영하는 데 최적은 아니다.
개요
상이한 이미지 영역에 대해 상이한 ISP 설정을 결정하고 적용하기 위한 시스템 및 기술이 본 명세서에서 설명된다. 일부 예에서, 이미지 캡처 및 프로세싱 디바이스는 상이한 이미지 영역에 대해 상이한 ISP 설정을 사용하여 이미지 센서에 의해 캡처된 미가공 이미지 데이터를 프로세싱할 수 있다. 일부 경우에, 분류 엔진은 미가공 이미지 데이터에서 상이한 이미지 영역 내의 상이한 유형의 오브젝트의 검출에 기초하여 미가공 이미지 데이터를 상이한 오브젝트 이미지 영역으로 파티셔닝할 수 있다. 이미지에서 상이한 영역에 대해 상이한 ISP 설정을 적용함으로써, ISP는 이미지에 묘사된 오브젝트 유형에 대해 최적화된다. 하나의 예시적인 예에서, ISP는 사람의 모발(hair)을 묘사하는 이미지 영역에서 샤프니스를 향상시키는 ISP 설정을 사용할 수 있으며, 이는 모발의 텍스처 선명도를 향상시킬 수 있다. 동일한 이미지 내에서, ISP는 사람의 피부를 묘사하는 이미지 영역에서 샤프니스를 줄이고 노이즈 감소를 향상시키는 상이한 ISP 설정을 사용할 수 있고, 이는 더 매끄러운 피부를 묘사하는 프로세싱된 이미지를 낳을 수 있다. 이미지 데이터의 상이한 신뢰도 영역은 분류에서 상이한 신뢰도의 정도를 식별할 수 있다. 신뢰도에 기초하여 설정을 추가로 수정할 수 있다. 노이즈 감소, 샤프니스, 색상 채도 또는 톤 맵핑과 같은 특정 ISP 파라미터의 강도는 픽셀에 대한 디폴트 값(default value)으로부터, 픽셀에 묘사된 오브젝트의 카테고리 및 그 카테고리화의 신뢰도 수준에 기초하여, 조정될 수 있다. 예를 들어 특정 카테고리의 오브젝트와 연관된 디폴트 값으로부터의 증가 또는 감소는 그 카테고리화의 신뢰도 수준이 낮은 경우 완화될 수 있거나 또는 그 카테고리화의 신뢰도 수준이 높은 경우 확대될 수 있다.
일 예에서, 데이터 인코딩을 위한 장치가 제공된다. 장치는 메모리 및 메모리에 커플링된 (예를 들어, 회로에 구현되는) 하나 이상의 프로세서를 포함한다. 하나 이상의 프로세서들은: 이미지 센서에 의해 캡처된 이미지 데이터를 수신하고; 이미지 데이터에서의 제 1 오브젝트 이미지 영역이 복수의 카테고리의 오브젝트 중 제 1 카테고리의 오브젝트를 묘사하는 것으로 결정하고; 이미지 데이터에서의 제 2 오브젝트 이미지 영역이 복수의 카테고리의 오브젝트 중 제 2 카테고리의 오브젝트를 묘사하는 것으로 결정하고; 이미지 데이터의 복수의 신뢰도 이미지 영역에 대응하는 복수의 신뢰도 수준을 식별하는 것으로서, 복수의 신뢰도 수준 중 각각의 신뢰도 수준은 복수의 신뢰도 이미지 영역 중 대응하는 신뢰도 이미지 영역이 복수의 카테고리의 오브젝트 중 하나를 묘사하는 신뢰도를 식별하는, 상기 복수의 신뢰도 수준을 식별하고; 이미지 캡처 프로세스를 위한 상이한 설정을 이미지 데이터의 상이한 부분에 적용하는 것에 의한 것을 포함하는 이미지 캡처 프로세스를 사용하여 이미지 데이터에 기초하여 이미지를 생성하는 것으로서, 이미지 데이터의 상이한 부분은 제 1 오브젝트 이미지 영역, 제 2 오브젝트 이미지 영역, 및 복수의 신뢰도 이미지 영역에 기초하여 식별되는, 상기 이미지를 생성하도록 구성되고 할 수 있다.
다른 예에서, 이미지 프로세싱 방법이 제공된다. 방법은 이미지 센서에 의해 캡처된 이미지 데이터를 수신하는 단계를 포함한다. 방법은 이미지 데이터에서의 제 1 오브젝트 이미지 영역이 복수의 카테고리의 오브젝트 중 제 1 카테고리의 오브젝트를 묘사하는 것으로 결정하는 단계를 포함한다. 방법은 이미지 데이터에서의 제 2 오브젝트 이미지 영역이 복수의 카테고리의 오브젝트 중 제 2 카테고리의 오브젝트를 묘사하는 것으로 결정하는 단계를 포함한다. 방법은 이미지 데이터의 복수의 신뢰도 이미지 영역에 대응하는 복수의 신뢰도 수준을 식별하는 단계로서, 복수의 신뢰도 수준 중 각각의 신뢰도 수준은 복수의 신뢰도 이미지 영역 중 대응하는 신뢰도 이미지 영역이 복수의 카테고리의 오브젝트 중 하나를 묘사하는 신뢰도를 식별하는, 상기 복수의 신뢰도 수준을 식별하는 단계를 포함한다. 방법은 이미지 캡처 프로세스를 위한 상이한 설정을 이미지 데이터의 상이한 부분에 적용하는 것에 의한 것을 포함하는 이미지 캡처 프로세스를 사용하여 이미지 데이터에 기초하여 이미지를 생성하는 단계로서, 이미지 데이터의 상이한 부분은 제 1 오브젝트 이미지 영역, 제 2 오브젝트 이미지 영역, 및 복수의 신뢰도 이미지 영역에 기초하여 식별되는, 상기 이미지를 생성하는 단계를 포함한다.
다른 예에서, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금: 이미지 센서에 의해 캡처된 이미지 데이터를 수신하고; 이미지 데이터에서의 제 1 오브젝트 이미지 영역이 복수의 카테고리의 오브젝트 중 제 1 카테고리의 오브젝트를 묘사하는 것으로 결정하고; 이미지 데이터에서의 제 2 오브젝트 이미지 영역이 복수의 카테고리의 오브젝트 중 제 2 카테고리의 오브젝트를 묘사하는 것으로 결정하고; 이미지 데이터의 복수의 신뢰도 이미지 영역에 대응하는 복수의 신뢰도 수준을 식별하는 것으로서, 복수의 신뢰도 수준 중 각각의 신뢰도 수준은 복수의 신뢰도 이미지 영역 중 대응하는 신뢰도 이미지 영역이 복수의 카테고리의 오브젝트 중 하나를 묘사하는 신뢰도를 식별하는, 상기 복수의 신뢰도 수준을 식별하고; 이미지 캡처 프로세스를 위한 상이한 설정을 이미지 데이터의 상이한 부분에 적용하는 것에 의한 것을 포함하는 이미지 캡처 프로세스를 사용하여 이미지 데이터에 기초하여 이미지를 생성하는 것으로서, 이미지 데이터의 상이한 부분은 제 1 오브젝트 이미지 영역, 제 2 오브젝트 이미지 영역, 및 복수의 신뢰도 이미지 영역에 기초하여 식별되는, 상기 이미지를 생성하게 하는 명령을 저장한 비일시적 컴퓨터 판독가능 저장 매체가 제공된다.
다른 예에서, 이미지 프로세싱을 위한 장치가 제공된다. 장치는 이미지 센서에 의해 캡처된 이미지 데이터를 수신하는 수단을 포함한다. 장치는 이미지 데이터에서의 제 1 오브젝트 이미지 영역이 복수의 카테고리의 오브젝트 중 제 1 카테고리의 오브젝트를 묘사하는 것으로 결정하는 수단을 포함한다. 장치는 이미지 데이터에서의 제 2 오브젝트 이미지 영역이 복수의 카테고리의 오브젝트 중 제 2 카테고리의 오브젝트를 묘사하는 것으로 결정하는 수단을 포함한다. 장치는 이미지 데이터의 복수의 신뢰도 이미지 영역에 대응하는 복수의 신뢰도 수준을 식별하는 수단으로서, 복수의 신뢰도 수준 중 각각의 신뢰도 수준은 복수의 신뢰도 이미지 영역 중 대응하는 신뢰도 이미지 영역이 복수의 카테고리의 오브젝트 중 하나를 묘사하는 신뢰도를 식별하는, 상기 복수의 신뢰도 수준을 식별하는 수단을 포함한다. 장치는 이미지 캡처 프로세스를 위한 상이한 설정을 이미지 데이터의 상이한 부분에 적용하는 것에 의한 것을 포함하는 이미지 캡처 프로세스를 사용하여 이미지 데이터에 기초하여 이미지를 생성하는 수단으로서, 이미지 데이터의 상이한 부분은 제 1 오브젝트 이미지 영역, 제 2 오브젝트 이미지 영역, 및 복수의 신뢰도 이미지 영역에 기초하여 식별되는, 상기 이미지를 생성하는 수단을 포함한다.
일부 양태에서, 위에 설명된 방법, 장치 및 컴퓨터 판독 가능 매체는: 하나 이상의 수정자를 생성하는 것으로서, 하나 이상의 수정자는 제 1 오브젝트 이미지 영역에 대한 이미지 캡처 프로세스를 위한 디폴트 설정으로부터의 제 1 편차 및 제 2 오브젝트 이미지 영역에 대한 이미지 캡처 프로세스를 위한 디폴트 설정으로부터의 제 2 편차 중 적어도 하나를 식별하고, 이미지 캡처 프로세스를 위한 상이한 설정은 하나 이상의 수정자에 기초하는, 상기 하나 이상의 수정자를 생성하는 것을 더 포함한다. 일부 양태에서, 위에 설명된 방법, 장치 및 컴퓨터 판독 가능 매체는: 복수의 신뢰도 이미지 영역에 대응하는 복수의 신뢰도 수준에 기초하는 블렌딩 업데이트와 하나 이상의 수정자를 블렌딩하는 것을 포함하는, 하나 이상의 수정자를 조정하는 것으로서, 블렌딩 업데이트와 하나 이상의 수정자를 블렌딩하는 것은 이미지 데이터의 적어도 하나의 영역에서 제 1 편차 및 제 2 편차 중 적어도 하나를 조정하는, 상기 하나 이상의 수정자를 조정하는 것을 더 포함한다.
일부 양태에서, 위에 설명된 방법, 장치 및 컴퓨터 판독 가능 매체는: 이미지 데이터를 제 1 오브젝트 이미지 영역 및 제 2 오브젝트 이미지 영역을 포함하는 복수의 오브젝트 이미지 영역으로 파티셔닝하는 카테고리 맵을 생성하는 것으로서, 복수의 오브젝트 이미지 영역 중 각각의 오브젝트 이미지 영역은 복수의 카테고리의 오브젝트 중 하나에 대응하는, 상기 카테고리 맵을 생성하는 것; 제 1 카테고리의 오브젝트가 이미지 캡처 프로세스를 위한 제 1 설정에 대응함을 식별하는 것; 및 제 2 카테고리의 오브젝트가 이미지 캡처 프로세스를 위한 제 2 설정에 대응함을 식별하는 것을 더 포함한다. 일부 양태에서, 위에 설명된 방법, 장치 및 컴퓨터 판독 가능 매체는: 이미지 데이터를 복수의 신뢰도 수준에 대응하는 복수의 신뢰도 이미지 영역으로 파티셔닝하는 신뢰도 맵을 생성하는 것으로서, 이미지 데이터의 상이한 부분은 카테고리 맵 및 신뢰도 맵에 기초하여 식별되는, 상기 신뢰도 맵을 생성하는 것을 더 포함한다.
일부 양태에서, 이미지 캡처 프로세스는 하나 이상의 프로세서 중 이미지 신호 프로세서(ISP)를 사용하여 이미지 데이터를 프로세싱하는 것을 포함하고, 이미지 캡처 프로세스를 위한 상이한 설정은 ISP를 위한 상이한 튜닝 설정이다. 일부 양태에서, ISP를 위한 상이한 튜닝 설정은 ISP를 사용하여 이미지 데이터를 프로세싱하는 동안 ISP 튜닝 파라미터가 적용되는 상이한 강도를 포함하며, ISP 튜닝 파라미터는 노이즈 감소(noise reduction), 샤프닝(sharpening), 색상 채도(color saturation), 색상 맵핑(color mapping), 색상 프로세싱 (color processing) 및 톤 맵핑 (tone mapping) 중 하나이다. 일부 양태에서, 상이한 설정은 렌즈 포지션(lens position), 플래시, 포커스, 노출, 화이트 밸런스, 조리개 크기, 셔터 속도, ISO, 아날로그 이득, 디지털 이득, 디노이징(denoising), 샤프닝, 톤 맵핑, 색상 채도, 디모자이킹(demosaicking), 색 공간 변환, 쉐이딩(shading), 에지 향상, HDR(High Dynamic Range)을 위한 이미지 결합, 특수 효과, 인공 노이즈 추가, 에지 지향 업스케일링(edge-directed upscaling), 업스케일링, 다운스케일링, 및 전자 이미지 안정화 중 적어도 하나와 연관된 설정을 포함한다. 일부 양태에서, 위에 설명된 방법, 장치 및 컴퓨터 판독 가능 매체는: 이미지 데이터를 디모자이킹하는 것 및 이미지 데이터를 제 1 색 공간에서 제 2 색 공간으로 변환하는 것 중 적어도 하나를 포함하는, 이미지 데이터를 프로세싱하는 것을 더 포함한다.
일부 양태에서, 위에 설명된 방법, 장치 및 컴퓨터 판독 가능 매체는: 제 1 오브젝트 이미지 영역 및 제 2 오브젝트 이미지 영역 중 적어도 하나와 연관된 사용자 입력을 수신하는 것으로서, 상이한 설정 중 적어도 하나는 사용자 입력에 기초하여 정의되고 제 1 오브젝트 이미지 영역 및 제 2 오브젝트 이미지 영역 중 하나에 대응하는, 상기 사용자 입력을 수신하는 것을 더 포함한다. 일부 양태에서, 이미지 캡처 프로세스를 위한 상이한 설정을 이미지 데이터의 상이한 부분에 적용하는 것은 이미지 신호 프로세서(ISP)를 사용하여 이미지 캡처 프로세스를 위한 상이한 설정을 이미지 데이터의 상이한 부분에 적용하는 것을 포함한다. 일부 양태에서, 제 1 오브젝트 이미지 영역 및 제 2 오브젝트 이미지 영역을 식별하는 것은 집적 회로 칩 상에 적어도 부분적으로 배치된 분류 엔진을 사용하여 제 1 오브젝트 이미지 영역 및 제 2 오브젝트 이미지 영역을 식별하는 것을 포함한다. 일부 양태에서, 위에 설명된 방법, 장치 및 컴퓨터 판독 가능 매체는: 디스플레이 상에 이미지를 표시하는 것을 더 포함한다.
일부 양태에서, 장치는 카메라, 모바일 디바이스 (예컨대, 모바일 전화기 또는 소위 "스마트폰" 또는 다른 모바일 디바이스), 무선 통신 디바이스, 웨어러블 디바이스, 확장 현실 디바이스 (예컨대, 가상 현실 (VR) 디바이스, 증강 현실 (AR) 디바이스, 또는 혼합 현실 (MR) 디바이스), 개인용 컴퓨터, 랩톱 컴퓨터, 서버 컴퓨터, 또는 다른 디바이스를 포함한다. 일부 양태에서, 하나 이상의 프로세서는 이미지 신호 프로세서(ISP)를 포함한다. 일부 양태에서, 장치는 하나 이상의 이미지들을 캡처하기 위한 카메라 또는 다수의 카메라들을 포함한다. 일부 양태에서, 장치는 이미지 데이터를 캡처하는 이미지 센서를 포함할 수 있다. 일부 양태에서, 장치는 이미지, (예를 들어, 이미지의 프로세싱과 연관된) 하나 이상의 알림, 및/또는 다른 표시가능한 데이터를 표시하기 위한 디스플레이를 더 포함한다.
이 개요는, 청구된 요지의 핵심적인 또는 본질적인 특징들을 식별하도록 의도되지 않으며, 청구된 요지의 범위를 결정하는 데 별개로 사용되도록 의도되지도 않는다. 요지는 본 특허의 전체 명세서, 임의의 또는 모든 도면들, 및 각각의 청구항의 적절한 부분들을 참조하여 이해되어야 한다.
전술한 내용은, 다른 특징 및 실시 형태들과 함께, 다음의 명세서, 청구항 및 첨부 도면을 참조하면 더욱 명백해질 것이다.
본 출원의 예시적 실시형태들은 다음 도면들을 참조하여 이하에서 상세히 설명된다.
도 1 은 이미지 캡처 및 프로세싱 디바이스의 아키텍처를 예시한 블록도이다;
도 2는 카테고리 맵 및 신뢰도 맵을 이용한 이미지 프로세싱을 예시하는 개념도이다;
도 3은 오브젝트 카테고리화에 기초한 이미지 프로세싱을 위한 ISP(Image Signal Processor) 파이프라인을 예시하는 개념도이다;
도 4는 맵 디코더 파이프라인을 예시하는 개념도이다;
도 5a는 ISP 모듈에서의 수정자의 적용을 예시하는 개념도이며, 수정자는 승수로서 적용된다;
도 5b는 ISP 모듈에서의 수정자의 적용을 예시하는 개념도이며, 수정자는 오프셋으로서 적용된다;
도 5c는 ISP 모듈에서의 수정자의 적용을 예시하는 개념도이며, 수정자는 파라미터에 기초한 로직을 사용하여 적용된다;
도 6은 카테고리 맵 생성 동안 이미지 영역으로의 이미지의 세그먼트화에 있어서 아노말리(anomaly) 를 통해 도입되는 시각적 이미지 아티팩트(visual image artifact)를 예시하는 개념도이다;
도 7는 평활 천이 맵 프로세서 파이프라인(smooth transition map processor pipeline)을 예시하는 개념도이다;
도 8은 평활 천이 맵 프로세서를 사용하여 이미지 영역에 대응하는 수정자의 평활화를 예시하는 개념도이다;
도 9는 카테고리 맵 업스케일러(CMUS) 파이프라인을 예시하는 도면이다;
도 10은 최근접 이웃 업스케일링(nearest neighbor upscaling)을 이용하여 업스케일링된 카테고리 맵과 CMUS(category map upscaler)를 이용하여 적용된 공간 가중치 필터링으로 수정된 최근접 이웃 업스케일링을 이용하여 업스케일링된 동일 카테고리 맵간의 비교를 예시하는 도면이다;
도 11은 다운스케일링 및 업스케일링 동작 동안 카테고리 맵에 대응하는 이미지 데이터의 예시적인 해상도를 예시하는 개념도이다;
도 12a는 이미지 프로세싱 기술을 예시하는 흐름도이다;
도 12b는 이미지 프로세싱 기술을 예시하는 흐름도이다;
도 13은 천이 평활화 기술을 예시하는 흐름도이다;
도 14는 이미지 업스케일링 기술을 예시하는 흐름도이다; 그리고
도 15 는 본 기술의 특정 양태들을 예시하기 위한 시스템의 예를 예시하는 도이다.
상세한 설명
본 개시의 특정 양태들 및 실시형태들이 이하에 제공된다. 이들 양태들 및 실시형태들 중 일부는 독립적으로 적용될 수 있고 그들 중 일부는 당업자에게 자명한 바와 같이 조합하여 적용될 수도 있다. 다음의 설명에 있어서, 설명의 목적으로, 특정 상세들이 본 출원의 실시형태들의 철저한 이해를 제공하기 위해 제시된다. 하지만, 다양한 실시형태들이 이들 특정 상세 없이도 실시될 수도 있음이 분명할 것이다. 도면들 및 설명은 제한적인 것으로 의도되지 않는다.
다음의 설명은 단지 예시적인 실시 형태들을 제공하며, 본 개시의 범위, 적용가능성 또는 구성을 제한하는 것으로 의도되지 않는다. 오히려, 예시적인 실시형태들의 다음의 설명은 예시적인 실시형태를 구현하기 위한 실시 가능한 설명을 당업자에게 제공할 것이다. 첨부된 청구범위에 설명된 바와 같이 본 출원의 사상 및 범위를 벗어나지 않으면서 요소들의 기능 및 배열에 다양한 변경들이 이루어질 수도 있음이 이해되어야 한다.
이미지 캡처 디바이스(예: 카메라)는 이미지 센서를 사용하여, 광을 수신하고 정지 이미지 또는 비디오 프레임과 같은 이미지 프레임들을 캡처하는 디바이스이다. 용어 "이미지", "이미지 프레임", 및 "프레임" 은 본원에서 상호교환가능하게 사용된다. 이미지 캡처 디바이스는 일반적으로 장면으로부터 광을 수신하고 이미지 캡처 디바이스의 이미지 센서를 향해 광을 휘게 하는 적어도 하나의 렌즈를 포함한다. 렌즈에 의해 수신된 광은 하나 이상의 제어 메커니즘에 의해 제어되는 조리개를 통과하고 이미지 센서에 의해 수신된다. 하나 이상의 제어 메커니즘은 이미지 센서로부터의 정보에 기초하여 및/또는 이미지 프로세서(예: 호스트 또는 애플리케이션 프로세스 및/또는 이미지 신호 프로세서)로부터의 정보에 기초하여 노출, 포커스, 및/또는 줌을 제어할 수 있다. 일부 예에서, 하나 이상의 제어 메커니즘은 이미지 캡처 디바이스의 렌즈를 타겟 렌즈 포지션으로 이동시키는 모터 또는 다른 제어 메커니즘을 포함한다.
아래에서 더 자세히 설명되는 바와 같이, 이미지 센서로부터 이미지 데이터의 상이한 이미지 영역에 이미지 캡처 프로세스를 위한 상이한 설정을 결정하고 적용하기 위한 시스템 및 기술이 여기에서 설명된다. 일부 예에서, 이미지 캡처 및 프로세싱 디바이스는 상이한 이미지 영역을 위한 상이한 설정을 사용하여 이미지 센서에 의해 캡처된 이미지 데이터를 프로세싱할 수 있다. 이미지 데이터는 미가공 이미지 데이터일 수도 있거나 또는 ISP(Image Signal Processor) 또는 다른 컴포넌트에 의해 부분적으로 프로세싱된 데이터일 수도 있다. 예를 들어, 미가공 이미지 데이터 또는 부분적으로 프로세싱된 이미지 데이터는 디모자이킹, 색 공간 변환 및/또는 본 명세서에 논의된 다른 프로세싱 동작을 사용하여 ISP에 의해 프로세싱될 수 있다.
일부 경우에, 분류 엔진은 이미지 데이터에서 상이한 이미지 영역 내의 상이한 유형의 오브젝트의 검출에 기초하여 이미지 데이터를 상이한 이미지 영역으로 파티셔닝할 수 있다. 이미지 데이터에서 상이한 영역에 대해 상이한 설정을 적용함으로써, 이미지에서 이미지 데이터의 캡처 및/또는 프로세싱이 이미지에 묘사된 오브젝트의 유형 각각에 대해 최적화된 이미지가 생성된다. 일부 예에서, 설정은 ISP의 소정 ISP 튜닝 파라미터와 연관될 수도 있다. 하나의 예시적인 예에서, ISP는 사람의 모발을 묘사하는 이미지 데이터의 영역에서 샤프니스를 향상시키는 ISP 설정을 사용하여 이미지 데이터를 프로세싱할 수 있으며, 이는 프로세싱된 이미지에서 모발의 텍스처 선명도(texture clarity)를 향상시킬 수 있다. ISP는 사람의 피부를 묘사하는 이미지 데이터의 상이한 영역에서 샤프니스를 줄이고 노이즈 감소를 향상시키는 상이한 ISP 설정을 사용할 수 있다. 상이한 ISP 설정은 프로세싱된 이미지가 매끄러운 피부를 묘사하는 한편 또한 선명하고 질감이 있는 모발을 묘사하는 것을 낳을 수 있다. 일부 예에서, 설정은 포커스, 노출 시간, 조리개 크기, ISO, 플래시, 이들의 임의의 조합, 및/또는 본 명세서에서 논의된 다른 이미지 캡처 설정과 같은 이미지 캡처 설정에 적용될 수도 있다. 일부 예에서, 설정은 ISP가 이미 이미지 센서로부터의 미가공 이미지 데이터로부터 이미지 데이터를 이미지로 변환한 후에 적용되는 포스트 프로세싱 설정에 적용될 수도 있다. 포스트 프로세싱 설정은 밝기, 콘트라스트, 채도, 톤 레벨, 히스토그램, 이들의 임의의 조합 및/또는 본 명세서에서 논의되는 다른 프로세싱 설정에 대한 조정과 같은 설정을 포함할 수 있다.
도 1 은 이미지 캡처 및 프로세싱 시스템 (100) 의 아키텍처를 예시하는 블록도이다. 이미지 캡처 및 프로세싱 시스템(100)은 장면의 이미지(예를 들어, 장면(110)의 이미지)를 캡처 및 프로세싱하는 데 사용되는 다양한 컴포넌트들을 포함한다. 이미지 캡처 및 프로세싱 시스템(100)은 독립형 이미지(또는 사진)를 캡처할 수 있거나 및/또는 특정 시퀀스에서 다수의 이미지(또는 비디오 프레임)를 포함하는 비디오를 캡처할 수 있다. 시스템(100)의 렌즈(115)는 장면(110)을 향하고 장면(110)으로부터 광을 수신한다. 렌즈 (115) 는 이미지 센서 (130) 를 향해 광을 휘어지게 한다. 렌즈(115)에 의해 수신된 광은 하나 이상의 제어 메커니즘(120)에 의해 제어되는 조리개를 통과하고 이미지 센서(130)에 의해 수신된다.
하나 이상의 제어 메커니즘(120)은 이미지 센서(130)로부터의 정보에 기초하여 및/또는 이미지 프로세서(150)로부터의 정보에 기초하여 노출, 포커스, 및/또는 줌을 제어할 수도 있다. 하나 이상의 제어 메커니즘(120)은 다수의 메커니즘 및 컴포넌트들을 포함할 수도 있으며; 예를 들어, 제어 메커니즘(120)은 하나 이상의 노출 제어 메커니즘(125A), 하나 이상의 포커스 제어 메커니즘(125B), 및/또는 하나 이상의 줌 제어 메커니즘(125C)을 포함할 수도 있다. 하나 이상의 제어 메커니즘(120)은 또한 아날로그 이득, 플래시, HDR, 피사계 심도, 및/또는 다른 이미지 캡처 속성을 제어하는 제어 메커니즘과 같이 예시된 것 외에 추가적인 제어 메커니즘을 포함할 수도 있다.
제어 메커니즘(120)의 포커스 제어 메커니즘(125B)은 포커스 설정을 얻을 수 있다. 일부 예에서, 포커스 제어 메커니즘(125B)은 메모리 레지스터에 포커스 설정을 저장한다. 포커스 설정에 기초하여, 포커스 제어 메커니즘(125B)은 이미지 센서(130)의 포지션에 상대적으로 렌즈(115)의 포지션을 조정할 수 있다. 예를 들어, 포커스 설정에 기초하여, 포커스 제어 메커니즘(125B)은 모터 또는 서보 (또는 다른 렌즈 메커니즘)을 작동시켜 렌즈(115)를 이미지 센서(130)에 더 가깝게 또는 이미지 센서(130)로부터 더 멀리 이동시켜, 포커스를 조절할 수 있다. 일부 경우에, 광이 포토다이오드에 도달하기 전에 대응하는 포토다이오드를 향해 렌즈(115)로부터 수신된 광을 각각 휘어지게 하는, 이미지 센서(130)의 각각의 포토다이오드 위의 하나 이상의 마이크로렌즈와 같은 추가 렌즈가 시스템(100)에 포함될 수도 있다. 포커스 설정은 CDAF(contrast detection autofocus), PDAF(phase detection autofocus), HAF (hybrid autofocus) 또는 이들의 일부 조합을 통해 결정될 수도 있다. 포커스 설정은 제어 메커니즘(120), 이미지 센서(130), 및/또는 이미지 프로세서(150)를 이용하여 결정될 수도 있다. 포커스 설정은 이미지 캡처 설정 및/또는 이미지 프로세싱 설정이라고 할 수도 있다.
제어 메커니즘(120)의 노출 제어 메커니즘(125A) 은 노출 설정을 얻을 수 있다. 일부 경우에, 노출 제어 메커니즘(125A)은 메모리 레지스터에 노출 설정을 저장한다. 이 노출 설정에 기초하여, 노출 제어 메커니즘(125A)은 조리개의 크기(예를 들어, 조리개 크기 또는 f/스톱), 조리개가 열려 있는 지속 시간(예를 들어, 노출 시간 또는 셔터 속도), 이미지 센서(130)의 감도(예를 들어, ISO 속도 또는 필름 속도), 이미지 센서(130)에 의해 적용된 아날로그 이득, 또는 이들의 임의의 조합을 제어할 수 있다. 노출 설정은 이미지 캡처 설정 및/또는 이미지 프로세싱 설정으로서 지칭될 수도 있다.
제어 메카니즘(120)의 줌 제어 메카니즘(125C)은 줌 설정을 얻을 수 있다. 일부 예들에서, 줌 제어 메커니즘(125C)은 메모리 레지스터에 줌 설정을 저장한다. 줌 설정에 기초하여, 줌 제어 메커니즘(125C)은 렌즈(115) 및 하나 이상의 추가 렌즈를 포함하는 렌즈 요소들의 어셈블리(렌즈 어셈블리)의 초점 길이를 제어할 수 있다. 예를 들어, 줌 제어 메커니즘(125C)은 서로에 대해 하나 이상의 렌즈를 이동시키기 위해 하나 이상의 모터 또는 서보 (또는 다른 렌즈 메커니즘)를 작동시킴으로써 렌즈 어셈블리의 초점 길이를 제어할 수 있다. 줌 설정은 이미지 캡처 설정 및/또는 이미지 프로세싱 설정이라고 할 수도 있다. 일부 예에서, 렌즈 어셈블리는 동초점(parfocal) 줌 렌즈 또는 가변초점(varifocal) 줌 렌즈를 포함할 수도 있다. 일부 예에서, 렌즈 어셈블리는 먼저 장면(110)으로부터 광을 수신하는 (일부 경우에 렌즈 (115) 일 수 있는) 포커싱 렌즈를 포함할 수도 있으며, 다음으로 광이 이미지 센서(130)에 도달하기 전에 포커싱 렌즈(예: 렌즈 (115))와 이미지 센서 (130) 사이의 무한초점(afocal) 줌 시스템을 광이 통과한다. 무한초점 줌 시스템은, 일부 경우에, 초점 길이가 같거나 유사한(예를 들어, 서로의 임계 차이 내에 있는) 2개의 포지티브(예를 들어, 수렴하는, 볼록) 렌즈를 포함할 수도 있으며, 그 사이에는 네거티브(예를 들어, 발산하는, 오목) 렌즈를 갖는다. 일부 경우에, 줌 제어 메커니즘(125C)은 네거티브 렌즈 및 하나 또는 둘 모두의 포지티브 렌즈와 같은 무한초점 줌 시스템에서의 렌즈 중 하나 이상을 이동시킨다.
이미지 센서(130)는 포토다이오드 또는 다른 감광성 요소의 하나 이상의 어레이를 포함한다. 각각의 포토다이오드는 이미지 센서(130)에 의해 생성된 이미지에서의 특정 픽셀에 최종적으로 대응하는 광의 양을 측정한다. 일부 경우에, 상이한 포토다이오드들은 상이한 색상 필터들에 의해 커버될 수도 있고, 따라서, 포토다이오드를 커버하는 필터의 색상에 매칭하는 광을 측정할 수도 있다. 예를 들어, Bayer 색상 필터들은 적색 색상 필터들, 청색 색상 필터들, 및 녹색 색상 필터들을 포함하고, 이미지의 각각의 픽셀은 적색 색상 필터에서 커버된 적어도 하나의 포토다이오드로부터의 적색 광 데이터, 청색 색상 필터에서 커버된 적어도 하나의 포토다이오드로부터의 청색 광 데이터, 및 녹색 색상 필터에서 커버된 적어도 하나의 포토다이오드로부터의 녹색 광 데이터에 기초하여 생성된다. 다른 유형들의 색상 필터들이 적색, 청색, 및/또는 녹색 색상 필터들 대신에 또는 그에 부가하여 황색, 마젠타, 및/또는 시안 ("에메랄드” 로도 지칭됨) 색상 필터들을 사용할 수도 있다. 일부 이미지 센서(예를 들어, 이미지 센서 (130))에는 색상 필터가 전적으로 없을 수도 있으며, 대신에 (일부 경우에 수직으로 적층된) 픽셀 어레이 전체에 걸쳐 상이한 포토다이오드를 사용할 수도 있다. 픽셀 어레이 전체에 걸쳐 상이한 포토다이오드는 상이한 스펙트럼 감도 커브를 가질 수 있으므로, 상이한 파장의 광에 대응한다. 모노크롬 이미지 센서에도 색상 필터가 없을 수도 있으며, 따라서 색 심도가 없을 수도 있다.
일부 경우에, 이미지 센서(130)는, PDAF(phase detection autofocus)에 사용될 수도 있는, 특정 시간에 및/또는 특정 각도로부터, 특정 포토다이오드, 또는 특정 포토다이오드의 부분에 광이 도달하는 것을 차단하는 불투명 및/또는 반사 마스크를 대안적으로 또는 추가적으로 포함할 수도 있다. 이미지 센서(130)는 또한 포토다이오드에 의해 출력된 아날로그 신호를 증폭하기 위한 아날로그 이득 증폭기 및/또는 포토다이오드의 출력된 (및/또는 아날로그 이득 증폭기에 의해 증폭된) 아날로그 신호를 디지털 신호로 변환하기 위한 아날로그-디지털 변환기(ADC)를 포함할 수도 있다. 일부 경우에, 제어 메커니즘(120) 중 하나 이상과 관련하여 논의된 특정 컴포넌트 또는 기능이 이미지 센서(130) 대신에 또는 추가적으로 포함될 수도 있다. 이미지 센서(130)는 CCD(charge-coupled device) 센서, EMCCD(electron-multiplying CCDD) 센서, APS(active-pixel sensor), CMOS(complimentary metal-oxide semiconductor), NMOS(N-type metal-oxide semiconductor), 하이브리드 CCD/CMOS 센서(예: sCMOS), 또는 이들의 기타 조합일 수도 있다.
이미지 프로세서(150)는 하나 이상의 이미지 신호 프로세서(ISP)(ISP(154) 포함), 하나 이상의 호스트 프로세서(호스트 프로세서(152) 포함), 및/또는 컴퓨팅 디바이스(1100)와 관련하여 논의된 하나 이상의 임의의 다른 유형의 프로세서(1110)와 같은 하나 이상의 프로세서를 포함할 수도 있다. 호스트 프로세서(152)는 디지털 신호 프로세서(DSP) 및/또는 다른 유형의 프로세서일 수 있다. 일부 구현에서, 이미지 프로세서 (150) 는, 호스트 프로세서 (152) 및 ISP (154) 를 포함하는 단일의 집적 회로 또는 칩 (예컨대, 시스템-온-칩 또는 SoC 라고 함) 이다. 일부 경우에서, 칩은 또한, 하나 이상의 입력/출력 포트들 (예컨대, 입력/출력 (I/O) 포트 (156)), 중앙 프로세싱 유닛들 (CPU들), 그래픽스 프로세싱 유닛들 (GPU들), 광대역 모뎀들 (예컨대, 3G, 4G 또는 LTE, 5G 등), 메모리, 접속성 컴포넌트들 (예컨대, BluetoothTM, 글로벌 포지셔닝 시스템 (GPS) 등), 이들의 임의의 조합, 및/또는 다른 컴포넌트들을 포함할 수 있다. I/O 포트들 (156) 은, I2C (Inter-Integrated Circuit 2) 인터페이스, I3C (Inter-Integrated Circuit 3) 인터페이스, SPI (Serial Peripheral Interface) 인터페이스, GPIO (serial General Purpose Input/Output) 인터페이스, MIPI (Mobile Industry Processor Interface) (예컨대, MIPI CSI-2 물리 (PHY) 계층 포트 또는 인터페이스, AHB (Advanced High-performance Bus) 버스, 이들의 임의의 조합, 및/또는 다른 입력/출력 포트와 같은, 하나 이상의 프로토콜 또는 사양에 따른 임의의 적합한 입력/출력 포트들 또는 인터페이스를 포함할 수 있다. 하나의 예시적인 예에서, 호스트 프로세서 (152) 는 I2C 포트를 사용하여 이미지 센서 (130) 와 통신할 수 있고, ISP (154) 는 MIPI 포트를 사용하여 이미지 센서 (130) 와 통신할 수 있다.
이미지 프로세서(150)는 디모자이킹, 색 공간 변환, 이미지 프레임 다운샘플링, 픽셀 보간, 자동 노출(AE) 제어, 자동 이득 제어(AGC), CDAF, PDAF, 자동 화이트 밸런스, HDR 이미지를 형성하기 위한 이미지 프레임의 병합, 이미지 인식, 오브젝트 인식, 특징 인식, 입력 수신, 출력 관리, 메모리 관리, 또는 이들의 일부 조합과 같은 다수의 태스크들을 수행할 수도 있다. 이미지 프로세서 (150) 는 이미지 프레임들 및/또는 프로세싱된 이미지들을 랜덤 액세스 메모리 (RAM) (140/1020), 판독 전용 메모리 (ROM) (145/1025), 캐시, 메모리 유닛, 다른 저장 디바이스, 또는 이들의 일부 조합에 저장할 수도 있다.
이미지 프로세서(150)에는 다양한 입력/출력 (I/O) 디바이스(160)가 접속될 수 있다. I/O 디바이스(160)는 디스플레이 스크린, 키보드, 키패드, 터치스크린, 트랙패드, 터치 감지 표면, 프린터, 임의의 다른 출력 디바이스(1035), 임의의 다른 입력 디바이스(1045), 또는 이들의 일부 조합을 포함할 수 있다. 일부 경우에, 캡션은 I/O 디바이스(160)의 물리적 키보드 또는 키패드를 통해, 또는 I/O 디바이스(160)의 터치스크린의 가상 키보드 또는 키패드를 통해 이미지 프로세싱 디바이스(105B)에 입력될 수도 있다. I/O(160)는 시스템(100)과 하나 이상의 주변 디바이스 사이의 유선 접속을 가능하게 하는 하나 이상의 포트, 잭, 또는 다른 커넥터를 포함할 수도 있으며, 이를 통해 시스템(100)은 하나 이상의 주변 디바이스로부터 데이터를 수신하거나 및/또는 하나 이상의 주변 디바이스에 데이터를 송신할 수도 있다. I/O(160)는 시스템(100)과 하나 이상의 주변 디바이스 사이의 무선 접속을 가능하게 하는 하나 이상의 무선 트랜시버를 포함할 수도 있으며, 이를 통해 시스템(100)은 하나 이상의 주변 디바이스로부터 데이터를 수신하거나 및/또는 하나 이상의 주변 디바이스에 데이터를 송신할 수도 있다. 주변 디바이스는 이전에 논의된 유형의 I/O 디바이스들(160) 중 임의의 것을 포함할 수도 있으며 포트, 잭, 무선 트랜시버, 또는 다른 유선 및/또는 무선 커넥터에 커플링되면 그 자체가 I/O 디바이스(160)로 고려될 수도 있다.
일부 경우에, 이미지 캡처 및 프로세싱 시스템(100)은 단일 디바이스일 수도 있다. 일부 경우에, 이미지 캡처 및 프로세싱 시스템(100)은 이미지 캡처 디바이스(105A)(예를 들어, 카메라) 및 이미지 프로세싱 디바이스(105B)(예를 들어, 카메라에 커플링된 컴퓨팅 디바이스)를 포함하는 둘 이상의 별개의 디바이스일 수도 있다. 일부 구현들에서, 이미지 캡처 디바이스(105A) 및 이미지 프로세싱 디바이스(105B)는, 예를 들어, 하나 이상의 와이어, 케이블, 또는 다른 전기 커넥터를 통해, 및/또는 하나 이상의 무선 트랜시버를 통해 무선으로 함께 커플링될 수도 있다. 일부 구현들에서, 이미지 캡처 디바이스(105A) 및 이미지 프로세싱 디바이스(105B)는 서로 분리될 수도 있다.
도 1에 도시된 바와 같이, 수직 파선은 도 1의 이미지 캡처 및 프로세싱 시스템(100)을 이미지 캡처 디바이스(105A) 및 이미지 프로세싱 디바이스(105B)를 나타내는 두 부분으로 각각 나눈다. 이미지 캡처 디바이스(105A)는 렌즈(115), 제어 메커니즘(120) 및 이미지 센서(130)를 포함한다. 이미지 프로세싱 디바이스(105B)는 (ISP(154) 및 호스트 프로세서(152)를 포함하는)이미지 프로세서(150), RAM(140), ROM(145) 및 I/O(160)를 포함한다. 일부 경우에, ISP(154) 및/또는 호스트 프로세서(152)와 같은 이미지 캡처 디바이스(105A)에 예시된 특정 컴포넌트는 이미지 캡처 디바이스(105A)에 포함될 수도 있다.
이미지 캡처 및 프로세싱 시스템 (100) 은 이동식 또는 고정식 전화 핸드셋 (예를 들어, 스마트폰, 셀룰러 전화기 등), 데스크탑 컴퓨터, 랩톱 또는 노트북 컴퓨터, 태블릿 컴퓨터, 셋탑 박스, 텔레비전, 카메라, 디스플레이 디바이스, 디지털 미디어 플레이어, 비디오 게이밍 콘솔, 비디오 스트리밍 디바이스, 인터넷 프로토콜(IP) 카메라, 또는 임의의 다른 적합한 전자 디바이스와 같은 전자 디바이스를 포함할 수 있다. 일부 예들에 있어서, 이미지 캡처 및 프로세싱 시스템 (100) 은 셀룰러 네트워크 통신, 802.11 wi-fi 통신, 무선 로컬 영역 네트워크 (WLAN) 통신, 또는 이들의 일부 조합과 같은 무선 통신을 위한 하나 이상의 무선 트랜시버를 포함할 수 있다. 일부 구현들에서, 이미지 캡처 디바이스 (105A) 및 이미지 프로세싱 디바이스 (105B) 는 상이한 디바이스들일 수 있다. 예를 들어, 이미지 캡처 디바이스(105A)는 카메라 디바이스를 포함할 수 있고 이미지 프로세싱 디바이스(105B)는 모바일 핸드셋, 데스크탑 컴퓨터, 또는 다른 컴퓨팅 디바이스와 같은 컴퓨팅 디바이스를 포함할 수 있다.
이미지 캡처 및 프로세싱 시스템 (100) 이 특정 컴포넌트들을 포함하는 것으로 도시되어 있지만, 당업자는 이미지 캡처 및 프로세싱 시스템 (100) 이 도 1 에 도시된 것들보다 더 많은 컴포넌트들을 포함할 수 있다는 것을 이해할 것이다. 이미지 캡처 및 프로세싱 시스템(100)의 컴포넌트는 소프트웨어, 하드웨어, 또는 소프트웨어와 하드웨어의 하나 이상의 조합을 포함할 수 있다. 예를 들어, 일부 구현들에서, 이미지 캡처 및 프로세싱 시스템 (100) 의 컴포넌트들은, 하나 이상의 프로그래머블 전자 회로들 (예컨대, 마이크로프로세서들, GPU들, DSP들, CPU들, 및/또는 다른 적합한 전자 회로들) 을 포함할 수 있는 전자 회로들 또는 다른 전자 하드웨어를 포함하거나 및/또는 이들을 이용하여 구현될 수 있거나, 및/또는 본 명세서에 기재된 다양한 동작들을 수행하기 위해 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 임의의 조합을 포함하거나 및/또는 이들을 이용하여 구현될 수 있다. 소프트웨어 및/또는 펌웨어는 컴퓨터 판독 가능한 저장 매체에 저장되고 이미지 캡처 및 프로세싱 시스템(100)을 구현하는 전자 디바이스의 하나 이상의 프로세서에 의해 실행 가능한 하나 이상의 명령들을 포함할 수 있다.
ISP는 다수의 ISP 튜닝 파라미터를 위한 설정을 선택하여 튜닝된다. ISP 튜닝 파라미터를 위한 설정은 ISP 설정, ISP 튜닝 설정, ISP 튜닝 파라미터 설정, 튜닝 설정, 튜닝 파라미터 설정 또는 이들의 일부 조합으로 지칭될 수 있다. ISP는 ISP 튜닝 파라미터를 위해 선택된 설정을 사용하여 이미지를 프로세싱한다. ISP를 튜닝하는 것은 계산 비용이 많이드는 프로세스이므로 ISP는 전통적으로 고정 튜닝 기술을 사용하여, 제조 과정에서, 한 번만 튜닝된다. ISP 튜닝 파라미터를 위한 설정은 일반적으로 제조 후에 변경되지 않으므로, ISP에 의해 프로세싱되는 모든 이미지의 각각의 픽셀에 걸쳐 전역적으로 사용된다. 이미지 캡처 디바이스가 소정 유형의 장면을 제대로 촬영할 수 없는 상황을 피하기 위해, 일반적으로 가능한 한 많은 유형의 장면에 대해 합리적으로 잘 작동하도록 ISP의 튜닝이 선택된다. 그러나, 이 때문에 전통적인 ISP의 튜닝은 일반적으로 임의의 유형의 장면을 촬영하는 데 최적이 아니다. 결과적으로, 전통적인 ISP 튜닝은 전통적인 ISP를 팔방미인이 되게 하지만, 잠재적으로 어느 것의 마스터도 되지 못하게 한다.
ISP 튜닝은 계산 비용이 많이 들지만, 제조 과정에서 특정 ISP 튜닝 파라미터를 위해 다수의 설정을 생성할 수 있다. 예를 들어, 샤프니스와 같은 ISP 튜닝 파라미터의 경우, 높은 샤프니스 설정은 증가된 샤프니스 수준에 대응할 수도 있는 반면, 낮은 샤프니스 설정은 감소된 샤프니스 수준에 대응할 수도 있다. 상이한 설정은 식물, 사람의 얼굴, 차량 또는 음식의 클로즈업 이미지와 같이 단일 유형의 오브젝트를 주로 묘사하는 이미지를 캡처할 때 유용할 수도 있다. 사람의 얼굴 이미지의 경우, 더 매끄러운 얼굴의 피부를 묘사하기 위해, 사용자 인터페이스를 통해 또는 미리 보기 이미지에서 얼굴 검출에 기초하여 자동으로, 낮은 샤프니스 설정을 선택할 수 있다. 식물의 이미지의 경우, 식물의 잎 및 꽃의 텍스쳐에서의 더 많은 디테일을 묘사하기 위해, 사용자 인터페이스를 통해 또는 미리 보기 이미지에서 식물의 검출에 기초하여 자동으로, 높은 샤프니스 설정을 선택할 수 있다. 그러나, 대부분의 이미지가 많은 유형의 오브젝트를 묘사하기 때문에, 한 가지 유형의 오브젝트만 묘사하는 이미지는 드물다. 다수의 유형의 오브젝트를 묘사하는 이미지의 경우, 조정된 설정을 사용하면 원치 않는 효과가 발생할 수도 있다. 예를 들어, 이미지가 얼굴과 식물을 모두 묘사하는 경우, 높은 샤프니스 설정을 사용하면 얼굴 피부가 고르지 않게 보일 수도 있는 반면, 낮은 샤프니스 설정을 사용하면 식물의 잎과 꽃이 함께 블렌딩되게 보일 수도 있다. 이러한 원치 않는 효과를 방지하기 위해, 이러한 조정된 설정은 모든 픽셀에 전역적으로 튜닝 설정을 적용하는 ISP에서 매우 드물게 사용될 가능성이 있다.
도 2는 카테고리 맵(230)과 신뢰도 맵(235)을 이용한 이미지 프로세싱을 예시하는 개념도(200)이다. 도면(200)은 이미지 캡처 및 프로세싱 디바이스(100)의 3개의 하드웨어 컴포넌트, 즉 이미지 센서(205), ISP(240) 및 분류 엔진(220)을 도시한다. 이미지 센서 (205) 는 도 1 의 이미지 센서 (130) 의 예일 수도 있다. ISP (240) 는 도 1 의 ISP (154) 의 예일 수도 있다. 분류 엔진(220)은 도 1의 호스트 프로세서(152), 도 1의 ISP(154), 도 1의 이미지 프로세서(150), 중앙 프로세싱 유닛(CPU), 그래픽스 프로세싱 유닛(GPU), 가속 프로세싱 유닛(APU), 다른 유형의 프로세서(1510) 또는 이들의 일부 조합의 예일 수도 있다.
이미지 센서(205)는 이미지 캡처 및 프로세싱 디바이스(100)에 의해 촬영되고 있는 장면으로부터 광(202)을 수신한다. 도면(200)에서 촬영되고 있는 장면은 아이가 식탁에 차려진 접시에서 음식을 먹고 있는 장면이다. 이미지 센서(205)는 장면으로부터의 광(202)에 기초하여 미가공 이미지 데이터(210)를 캡처한다. 미가공 이미지 데이터(210)는 이미지 센서(205)의 포토다이오드 어레이의 포토다이오드로부터의 신호이며, 일부 경우에는 아날로그 이득 증폭기를 통해 증폭되고 일부 경우에는 아날로그-디지털 변환기(ADC)를 사용하여 아날로그 형식에서 디지털 형식으로 변환된다. 미가공 이미지 데이터(210)는 일반적으로 상이한 색상 필터를 갖는 상이한 포토다이오드로부터의 개별 이미지 데이터를 포함한다. 예를 들어, 이미지 센서(205)가 Bayer 색상 필터를 사용하는 경우, 미가공 이미지 데이터(210)는 적색 필터링된 포토다이오드에 대응하는 이미지 데이터, 녹색 필터링된 포토다이오드에 대응하는 이미지 데이터 및 청색 필터링된 포토다이오드에 대응하는 이미지 데이터를 포함한다.
이미지 센서(205)는 미가공 이미지 데이터(210)의 제 1 카피를 ISP(240)로 전송한다. 이미지 센서(205)는 미가공 이미지 데이터(215)의 제 2 카피를 분류 엔진(220)로 전송한다. 일부 경우에, 미가공 이미지 데이터(215)의 제 2 카피는 예를 들어 1:2 비율에 의해, 1:4 비율에 의해, 1:8 비율에 의해, 1:16 비율에 의해, 1: 32 비율에 의해, 1:64 비율에 의해, 1:64보다 높은 다른 비율에 의해 또는 앞서 나열된 비율 중 어느 것 사이의 다른 비율에 의해 다운스케일링될 수 있다. 미가공 이미지 데이터(215)의 제 2 카피는 단순성을 위해 이미 다운스케일링되는 것으로 도면(200)에 예시되어 있지만, 미가공 이미지 데이터(215)의 제 2 카피는 미가공 이미지 데이터(215)의 제 2 카피를 수신할 때 분류 엔진(220)에 의해 다운스케일링될 수 있음을 이해해야 한다. 일부 경우에, 미가공 이미지 데이터(215)의 제 2 카피가 분류 엔진(220)으로 전송되거나 및/또는 이에 의해 수신되기 전에 미가공 이미지 데이터(215)의 제 2 카피는 다운스케일링될 수 있다. 예를 들어, 미가공 이미지 데이터(215)의 제 2 카피는 이미지 센서(205), ISP(240), 이미지 센서(205) 및 ISP(240)로부터 분리된 다운스케일러 컴포넌트(미도시) 또는 이들의 일부 조합에서 다운스케일링될 수 있다. 미가공 이미지 데이터(215)의 제 2 카피를 다운스케일링하기 위해 사용되는 다운스케일링 기술(들)은 최근접 이웃 다운스케일링, 쌍선형 보간, 쌍입방 보간, Sinc 리샘플링, Lanczos 리샘플링, 박스 샘플링, 밉맵핑(mipmapping), 푸리에-변환 스케일링, 에지 지향 보간법, 고품질 스케일링(hqx) 또는 이들의 일부 조합을 포함할 수도 있다. 일부 경우에, 미가공 이미지 데이터(215)의 제 2 카피가 분류 엔진(220)으로 전송되거나 및/또는 이에 의해 수신되기 전에 미가공 이미지 데이터(215)의 제 2 카피는 ISP (240) 및/또는 하나 이상의 추가 컴포넌트들에 의해 적어도 부분적으로 프로세싱될 수도 있다. 예를 들어, 미가공 이미지 데이터(215)의 제 2 카피가 분류 엔진(220)에 의해 수신되기 전에 미가공 이미지 데이터(215)의 제 2 카피는 ISP (240) 에 의해 디모자이킹될 수도 있다. 미가공 이미지 데이터(215)의 제 2 카피가 분류 엔진(220)에 의해 수신되기 전에 미가공 이미지 데이터(215)의 제 2 카피는 하나의 색 공간(예를 들어, RGB 색 공간)으로부터 다른 색 공간(예를 들어, YUV 색 공간)으로 변환될 수도 있다. 이 프로세싱은 미가공 이미지 데이터(215)의 제 2 카피의 다운스케일링 전 또는 후에 수행될 수 있다.
일부 예에서, 분류 엔진(220)은 미가공 이미지 데이터(215)의 다운스케일링된 제 2 사본을 수신한다. 일부 예에서, 분류 엔진(220)은 미가공 이미지 데이터(215)의 제 2 카피를 수신하고 다운스케일링을 수행하여 미가공 이미지 데이터(215)의 다운스케일링된 제 2 카피를 생성한다. 분류 엔진(220)은 미가공 이미지 데이터(215)의 다운스케일링된 제 2 카피를 사용하여 카테고리 맵(230) 및 신뢰도 맵(235)을 생성할 수 있다. 예를 들어, 분류 엔진(220)은 미가공 이미지 데이터(215)의 다운스케일링된 제 2 카피에서 상이한 이미지 영역 내의 상이한 카테고리의 오브젝트의 검출에 기초하여 미가공 이미지 데이터(215)의 다운스케일링된 제 2 카피를 상이한 이미지 영역으로 파티셔닝할 수 있다. 예시적인 예로서, 도면(200)에 예시된 카테고리 맵(230)은 제 1 (대각선 줄무늬) 쉐이딩 패턴으로 쉐이딩되고 "피부"로 레이블된 아이의 얼굴 및 팔에 대응하는 2개의 이미지 영역들을 포함하고, 이는 분류 엔진(220)이 그러한 이미지 영역들에서 피부를 검출한다는 것을 의미한다. 유사하게, 도면(200)에 예시된 카테고리 맵(230)은 제 2 (대각선 줄무늬) 쉐이딩 패턴으로 쉐이딩되고 "모발"로 레이블된 아이의 머리 상의 모발에 대응하는 이미지 영역을 포함하고, 이는 분류 엔진(220)이 그 이미지 영역에서 모발을 검출한다는 것을 의미한다. 일부 경우에, 속눈썹, 눈썹, 턱수염, 콧수염, 및/또는 다른 모발 오브젝트가 있는 영역도 분류 엔진(220)에 의해 모발로 식별될 수 있다. 카테고리 맵(230)에 예시된 다른 이미지 영역은 분류 엔진(220)이 셔츠를 검출하는 제 3 (대각선 줄무늬) 쉐이딩 패턴으로 쉐이딩되고 “셔츠"로 레이블된 이미지 영역, 분류 엔진(220)이 음식을 검출하는 제 4 대각선 줄무늬) 쉐이딩 패턴으로 착색 쉐이딩되고 "음식" 으로 레이블된 여러 이미지 영역, 분류 엔진(220)이 패브릭을 검출하는 제 5 (대각선 줄무늬) 쉐이딩 패턴으로 착색 쉐이딩되고 "패브릭"으로 레이블된 2개의 이미지 영역, 분류 엔진(220)이 금속을 검출하는 제 6 (대각선 줄무늬) 쉐이딩 패턴으로 쉐이딩되고 "금속" 으로 레이블된 3개의 이미지 영역, 및 분류 엔진(220)이 무엇이 묘사되었는지 불확실한 제 7 (크로스 해치된) 쉐이딩 패턴으로 쉐이딩되고 "정의되지 않음"으로 레이블된 2개의 이미지 영역을 포함한다. 분류 엔진(220)이 상이한 카테고리의 오브젝트를 묘사하는 것으로 분류하는 이미지 영역은 상이한 오브젝트, 상이한 유형의 오브젝트, 상이한 재료, 상이한 물질, 상이한 요소, 상이한 구성요소, 상이한 속성을 갖는 오브젝트, 또는 이들의 일부 조합을 묘사할 수도 있다. 도 2의 카테고리 맵(230)에서의 상이한 쉐이딩 패턴은 상이한 색상, 상이한 회색 음영, 상이한 숫자, 상이한 문자 또는 상이한 비트 시퀀스와 같이 카테고리 맵(230)에서 대응하는 픽셀 위치에 저장된 상이한 값을 나타낼 수도 있다. 일부 경우에, 오브젝트의 특정 카테고리를 묘사하는 것으로 결정된 이미지 영역은 이미지 영역, 오브젝트 이미지 영역, 이미지 오브젝트 영역, 카테고리 이미지 영역, 이미지 카테고리 영역, 카테고리 영역, 오브젝트 카테고리 영역, 오브젝트 카테고리 이미지 영역, 이미지 오브젝트 카테고리 영역 또는 이들의 조합으로 지칭될 수도 있다. 예를 들어, 오브젝트의 제 1 카테고리를 묘사하는 것으로 결정된 이미지 영역은 제 1 오브젝트 이미지 영역으로 지칭될 수도 있고, 제 2 카테고리의 오브젝트를 묘사하는 것으로 결정된 이미지 영역은 제 2 오브젝트 이미지 영역으로 지칭될 수도 있는 등등이다.
신뢰도 맵(235)은 분류 엔진(220)이 카테고리 맵(230)에서 주어진 픽셀의 분류에 대해 갖는 신뢰도의 정도를 식별한다. 특정 신뢰도 수준을 갖는 이미지 데이터의 영역은 신뢰도 영역, 신뢰도 이미지 영역, 이미지 영역, 영역, 부분 또는 이들의 조합으로 지칭될 수도 있다. 신뢰도 맵(235)에서 흰색으로 예시된 픽셀은 90%와 같은 높은 임계 백분율을 초과하는 신뢰도 수준과 같은 높은 신뢰도 수준을 나타낸다. 신뢰도 맵(235)에서 검은색으로 예시된 픽셀은 10% 와 같은 낮은 임계 백분율 아래로 떨어지는 신뢰도 수준과 같은 낮은 신뢰도 수준을 나타낸다. 신뢰도 맵(235)은 또한 6개의 상이한 (흑백 외의) 회색 음영을 포함하며, 각각은 높은 임계치 백분율과 낮은 임계치 백분율 사이의 상이한 신뢰도 범위에 속하는 신뢰도 수준을 나타낸다. 예를 들어, 가장 밝은 회색 음영(흰색보다는 여전히 더 어두움)은 신뢰도 값이 90% 와 80% 사이로 떨어질 수도 있으며, 이전에 나열된 회색 음영보다 한 음영 어두운 다음 회색 음영은 신뢰도 값이 80%과 70% 사이로 떨어지는 것을 나타낼 수도 있으며, 이전에 나열된 회색 음영보다 한 음영 어두운 다음 회색 음영은 신뢰도 값이 70%과 60% 사이로 떨어지는 것을 나타낼 수도 있는 등이다. 검정색, 흰색, 및 검정색과 흰색 사이의 6개의 회색 음영을 포함하여, 예시적 신뢰도 맵(235)은 8개의 가능한 신뢰도 수준에 대응하는 총 8개의 회색 음영을 포함한다. 일부 예에서, 특정 픽셀에 대한 신뢰도 수준은 3비트 값으로 저장될 수도 있다. 분류 엔진(220)은 카테고리 맵(230) 및 신뢰도 맵(235)을 ISP(240)로 전송한다. 신뢰도 맵(235)은 예를 들어 음영 사이의 구배가 존재하는 경우, 상이한 회색 음영 사이에 가시적 밴딩(visible banding)을 갖는 것으로 시각적으로 나타날 수도 있다. 일부 예에서, 회색 음영은 위에서 설명한 것과 반대 방향의 신뢰도 수준으로 맵핑되어, 검은색 및 더 어두운 회색 음영은 더 높은 신뢰도 값을 나타내고 흰색 및 더 밝은 회색 음영은 더 낮은 신뢰도 값을 나타낼 수도 있다.
일부 경우에, 카테고리 맵(230) 및 신뢰도 맵(235)은 단일 파일, 데이터 스트림 및/또는 메타데이터 세트일 수 있다. 카테고리 맵(230) 또는 신뢰도 맵(235) 중 어느 하나에 대한 본 명세서에서의 임의의 논의는 잠재적으로 카테고리 맵(230) 또는 신뢰도 맵(235) 모두를 포함하는 것으로 이해되어야 한다. 일례에서, 단일 파일은 이미지일 수 있다. 예를 들어, 이미지의 각 픽셀은 미가공 이미지 데이터(215)의 제 2 카피의 대응하는 픽셀과 연관된 카테고리화 및 신뢰도에 대응하는 하나 이상의 값을 포함할 수 있다. 다른 예에서, 단일 파일은 매트릭스 또는 테이블일 수 있으며, 매트릭스 또는 테이블의 각각의 셀은 미가공 이미지 데이터(215)의 제 2 카피의 대응하는 픽셀과 연관된 카테고리화 및 신뢰도에 대응하는 값을 저장한다. 미가공 이미지 데이터(215)의 제 2 카피의 주어진 픽셀에 대해, 파일은 대응하는 셀 또는 픽셀에 값을 저장한다. 일부 예에서, 저장된 값에서의 제 1 복수의 비트는 분류 엔진(220)이 픽셀을 묘사하는 것으로 분류하는 오브젝트의 카테고리를 나타낸다. 그러한 예에서, 저장된 값에서 제 2 복수의 비트는 오브젝트의 카테고리를 묘사하는 것으로 픽셀을 분류함에 있어서 분류 엔진(220)의 신뢰도를 나타낼 수 있다.
하나의 예시적인 예에서, 파일에 저장된 값은 길이가 8비트일 수도 있으며, 이는 바이트(byte) 또는 옥텟(octet)으로 지칭될 수도 있다. 오브젝트의 카테고리를 식별하는 제 1 복수의 비트는 8비트 값의 가장 초기 또는 최상위 5비트와 같은 8비트 값의 5비트일 수도 있다. 5비트로, 제 1 복수의 비트는 32개의 가능한 카테고리의 오브젝트를 식별할 수 있다. 제 1 복수의 비트는 저장된 값의 최상위 비트(MSB)를 나타낼 수도 있다. 위의 예시적인 예에서, 신뢰도를 나타내는 제 2 복수의 비트는 8비트 값의 마지막 또는 최하위 3비트와 같은 8비트 값의 3비트일 수도 있다. 3비트로, 제 2 복수의 비트는 8개의 가능한 신뢰도 값을 식별할 수 있다. 제 2 복수의 비트는 저장된 값의 최하위 비트(LSB)를 나타낼 수도 있다. 일부 경우에, 제 1 복수의 비트는 값 내에서 제 2 복수의 비트보다 늦을 수도 있다. 일부 경우에, 비트 길이 분할에서 상이한 분해가 가능하다. 예를 들어, 제 1 복수의 비트 및 제 2 복수의 비트는 각각 4 비트를 포함할 수 있다. 제 1 복수의 비트는 1비트, 2비트, 3비트, 4비트, 5비트, 6비트, 7비트 또는 8비트를 포함할 수 있다. 제 2 복수의 비트는 1비트, 2비트, 3비트, 4비트, 5비트, 6비트, 7비트 또는 8비트를 포함할 수 있다. 일부 예에서, 파일에 저장된 값은 길이가 8비트보다 작거나 클 수 있다.
일부 예에서, 위에서 언급한 바와 같이, 신뢰도 맵(235) 및 카테고리 맵(230)은 미가공 이미지 데이터(215)의 제 2 카피의 픽셀당 2개의 개별 값을 저장하는 단일 파일이며, 값 중 하나는 오브젝트의 카테고리를 나타내고 값 중 다른 하나는 신뢰도를 나타낸다. 일부 예에서, 신뢰도 맵(235) 및 카테고리 맵(230)은 개별 파일이며, 파일 중 하나는 오브젝트의 카테고리를 나타내는 값을 저장하고 파일 중 다른 하나는 신뢰도를 나타내는 값을 저장한다.
일부 경우에, 분류 엔진(220)은 미가공 이미지 데이터(215)의 다운스케일링된 제 2 카피의 크기에서 미가공 이미지 데이터(215)의 제 1 카피의 크기로 및/또는 프로세싱된 이미지(250)의 크기로 카테고리 맵(230) 및 신뢰도 맵(235)을 업스케일링한다. 이 업스케일링 프로세스는 최근접 이웃 (NN) 업스케일링 또는 특수 카테고리 맵 업스케일링(CMUS)을 사용할 수도 있으며, 이는 적어도 도 9, 도 10 및 도 11에 예시되고 논의된 바와 같이 공간 가중치 필터링으로 수정된 NN 업스케일링으로도 지칭된다. 일부 경우에, 분류 엔진(220)은 카테고리 맵(230) 및 신뢰도 맵(235)을 단일 파일로 블렌딩하거나 또는 병합한 후 그 단일 파일을 ISP(240)로 송신한다.
ISP(240)는 이미지 센서(205)로부터 미가공 이미지 데이터(210)의 제 1 카피를 수신하고, 분류 엔진(220)으로부터 카테고리 맵(230) 및 신뢰도 맵(235)을 수신한다. 일부 경우에, ISP(240)는 분류 엔진(220)이 카테고리 맵(230) 및 신뢰도 맵(235)을 생성하는 동안 및/또는 ISP(240)가 분류 엔진(220)으로부터 카테고리 맵(230) 및 신뢰도 맵(235)을 수신하기 전에 미가공 이미지 데이터(210)의 제 1 카피에 대해 특정 초기 프로세싱 태스크를 수행할 수 있다. 이들 초기 이미지 프로세싱 태스크는 예를 들어 디모자이킹, 색 공간 변환(예: RGB에서 YUV로), 픽셀 보간 및/또는 다운샘플링을 포함할 수도 있다. 그러나, 다른 경우에, ISP(240)는 ISP(240)가 분류 엔진(220)으로부터 카테고리 맵(230) 및 신뢰도 맵(235)을 수신할 때까지 이들 초기 이미지 프로세싱 태스크 중 일부 또는 전부를 지연시킬 수도 있다.
ISP(240)가 분류 엔진(220)으로부터 카테고리 맵(230) 및 신뢰도 맵(235)을 수신하고 나면, ISP(240)는 분류 엔진(220)으로부터 카테고리 맵(230) 및 신뢰도 맵(235)을 사용하여 이미지를 프로세싱한다. ISP(240)는 ISP(240)가 상이한 설정으로 설정할 수 있는 상이한 ISP 튜닝 파라미터의 적용을 제어하는 다수의 모듈을 포함한다. 일 예에서, ISP 튜닝 파라미터는 노이즈 감소(NR), 샤프닝, 톤 맵핑(TM) 및 색상 채도(CS)를 포함한다. 일부 경우에, ISP 튜닝 파라미터는 또한, 감마, 이득, 휘도, 쉐이딩, 에지 향상, 색상 보정(CC), 색상 맵핑(CM)(예: 2D 룩업 테이블 및/또는 3D 룩업 테이블에 기초함), 색상 시프트, 색상 향상, HDR(High Dynamic Range)을 위한 이미지 결합, 특수 효과 프로세싱(예: 배경 교체, 보케 효과), 인공 노이즈(예: 그레인) 가산기, 디모자이킹, 에지 지향 업스케일링, 본 명세서에서 논의된 다른 프로세싱 파라미터, 또는 이들의 조합과 같은 추가 파라미터를 포함할 수 있다. 각각의 ISP 모듈을 위한 상이한 설정은 디폴트 설정(기본 ISP 튜닝 설정이라고도 함), 디폴트 설정에 비해 ISP 튜닝 파라미터 적용을 증가시키는 하나 이상의 설정, 및 디폴트 값에 비해 ISP 튜닝 파라미터 적용을 감소시키는 하나 이상의 설정을 포함할 수 있다. 예를 들어, 노이즈 감소(NR) ISP 튜닝 파라미터의 경우, 이용 가능한 설정은 디폴트 수준의 노이즈 감소, 디폴트 수준보다 더 많은 노이즈 감소를 수행하는 하나 이상의 증가된 수준의 노이즈 감소, 및 디폴트 수준보다 더 적은 노이즈 감소를 수행하는 하나 이상의 감소된 수준의 노이즈 감소를 포함할 수 있다. 일부 경우에, 하나 이상의 상이한 ISP 튜닝 파라미터는 하위 파라미터를 포함할 수 있다. 이러한 ISP 튜닝 파라미터를 위한 설정에는 이들 하위 파라미터 중 하나 이상에 대한 값 또는 수정자가 포함될 수 있다. 예를 들어, NR ISP 튜닝 파라미터는 루마 NR 강도, 크로마 NR 강도, 시간적 필터(temporal filter)(예를 들어, 비디오 또는 시퀀스 디노이징용)를 포함하는 하위 파라미터를 포함할 수 있다. NR을 위한 설정은 루마 NR 강도 하위 파라미터, 크로마 NR 강도 하위 파라미터 및/또는 시간적 필터 하위 파라미터를 위한 수정자를 포함할 수 있다. 일부 예에서, 색상 채도(CS) 모듈(350)은 색상 채도(CS) 대신에 또는 이에 더하여 색상 보정(CC) 및/또는 색상 맵핑(CM) 및/또는 색상 시프트 및/또는 색상 향상을 제어할 수 있다. 색상 채도(CS) 모듈(350)은 위에 열거된 파라미터 중 임의의 것을 위한 모듈(예를 들어, CC 모듈, CM 모듈, 색상 시프트 모듈, 색상 향상 모듈)로 지칭될 수 있다. 색상 채도(CS) 모듈(350)은 일부 경우에 따라 색상 프로세싱 모듈로 지칭될 수 있다. 일부 예에서, ISP 파이프라인(305)은 별도의 색상 보정(CC) 및/또는 색상 맵핑(CM) 및/또는 색상 시프트 및/또는 색상 향상 모듈을 포함할 수도 있다. 일부 예에서, 노이즈 감소(NR)는 공간 노이즈 감소, 시간 노이즈 감소, 또는 둘 다를 포함한다. NR 모듈(320)은 도 3에서 단일 모듈로 예시되어 있지만, 일부 예에서 ISP 파이프라인(305)은 분리된 공간적 노이즈 감소 모듈 및 분리된 시간적 노이즈 감소 모듈을 포함할 수도 있다.
ISP(240)가 미가공 이미지 데이터(210)의 제 1 카피를 프로세싱할 때, ISP(240)는 미가공 이미지 데이터(210)의 제 1 카피의 각각의 이미지 영역을 카테고리 맵(230)에 따라 어느 카테고리의 오브젝트가 그 이미지 영역에 묘사되는지에 기초하여 상이하게 프로세싱한다. 특히, 제 1 이미지 영역이 카테고리 맵(230)에 의해 피부를 묘사하 것으로 식별되면, ISP(240)는 피부에 대응하는 설정에 따라 그 제 1 이미지 영역을 프로세싱한다. 피부에 대응하는 설정은 특정 매개변수가 얼마나 강하게 적용되는지를 위한 디폴트 강도 수준에 대한 (피부에 대응하는) 특정 수정으로서 저장될 수 있다. 제 2 이미지 영역이 카테고리 맵(230)에 의해 모발을 묘사하는 것으로 식별되면, ISP(240)는 모발에 대응하는 설정을 사용하여 그 제 2 이미지 영역을 프로세싱한다. 모발에 대응하는 설정은 특정 파라미터가 얼마나 강하게 적용되는지를 위한 디폴트 강도 수준에 대한 (모발에 대응하는) 특정 편차로 저장될 수 있다. ISP(240)는 카테고리 맵(230)에서의 오브젝트 카테고리 식별자를 대응하는 설정으로 맵핑하는 룩업 테이블, 데이터베이스, 또는 다른 데이터 구조로부터 사용할 설정을 식별할 수도 있다.
일부 경우에, ISP(240)는 신뢰도 맵(235)에서의 각각의 픽셀과 연관된 신뢰도 수준에 기초하여 상이하게 이미지 영역 내의 상이한 픽셀을 프로세싱할 수 있다. ISP(240)는 그렇게 하기 위해 카테고리 맵(230) 및 신뢰도 맵(235)의 조합을 사용할 수 있다. 예를 들어, 도 3에 예시되고 이와 관련하여 논의된 ISP(240)의 맵 디코더 컴포넌트는 도 4에 예시되고 이와 관련하여 논의된 바와 같이 카테고리 맵(230) 및 신뢰도 맵(235)을 사용하여 수정자를 생성할 수 있다. 유사하게, 일부 경우에, 도 3에 예시되고 이와 관련하여 논의된 매끄러운 천이 맵 프로세서(365)는 도 7에 예시되고 이와 관련하여 논의된 바와 같이 카테고리 맵(230) 및 신뢰도 맵(235)을 사용하여 수정자를 생성할 수 있다. ISP(240)는 수정자에 기초하여 이미지 데이터에 노이즈 감소, 샤프닝, 톤 맵핑 및/또는 색상 채도와 같은 특정 ISP 튜닝 파라미터를 적용할 수 있다. 특히, ISP(240)가 특정 ISP 튜닝 파라미터를 이미지 데이터의 주어진 픽셀에 적용하는 설정은 도 4, 도 5a, 도 5b 및 도 5c에 예시되고 이와 관련하여 논의된 바와 같이 수정자의 적용에 의존한다. 효과적으로, 수정자는 ISP(240)가 수정자에 기초하여 이미지 데이터의 주어진 픽셀에 특정 ISP 튜닝 파라미터를 적용하는 강도 또는 가중치를 제어한다.
결국, ISP(240)는 카테고리 맵(230) 에 기초하여 및/또는 신뢰도 맵(235)에 기초하여 이미지 영역마다 상이한 설정으로 설정된 상이한 모듈을 사용하여 미가공 이미지 데이터(210)의 제 1 카피의 상이한 이미지 영역을 프로세싱함으로써 프로세싱된 이미지(250)를 생성한다. 앞서 언급한 바와 같이, 오브젝트 이미지 영역에 대응하는 설정은 특정 파라미터가 얼마나 강하게 적용되는지를 위한 디폴트 강도 수준에 대한 (오브젝트의 카테고리에 대응하는) 특정 편차로 저장될 수 있다. 도면(200)에 예시되지 않았지만, ISP(240)는 예를 들어 I/O(156) 및/또는 I/O(160)를 사용하여 프로세싱된 이미지(250)를 저장 디바이스로 전송할 수도 있다. 저장 디바이스는 이미지 버퍼, RAM(Random Access Memory)(140/1525), ROM(Read Only Memory)(145/1520), 캐시(1512), 저장 디바이스(1530), SD(Secure Digital) 카드, 미니 SD 카드, 마이크로 SD 카드, 스마트 카드, 집적 회로(IC) 메모리 카드, 컴팩트 디스크, 휴대용 저장 매체, 하드 드라이브(HDD), 솔리드 스테이트 드라이브(SSD), 플래시 메모리 드라이브, 비일시적 컴퓨터 판독 가능 저장 매체, 본 명세서에서 논의된 임의의 다른 유형의 메모리 또는 저장 디바이스, 또는 이들의 일부 조합을 포함할 수도 있다. 도면(200)에 예시되어 있지는 않지만, ISP(240)는 프로세싱된 이미지(250)를 디스플레이 버퍼 및/또는 디스플레이 스크린 또는 프로젝터로 전송하여, 디스플레이 스크린 상에 및/또는 프로젝터를 사용하여 이미지가 렌더링되고 디스플레이되게 할 수도 있다.
일부 경우에, 미가공 이미지 데이터(210)의 제 1 카피 및 미가공 이미지 데이터(215)의 제 2 카피 중 하나 또는 둘 다는 단순히 미가공 이미지 데이터 또는 이미지 데이터로 지칭될 수 있다. 이미지 센서(205)는 미가공 이미지 데이터(210)의 제 1 카피 및 미가공 이미지 데이터(215)의 제 2 카피를 도 2에 예시된 바와 같이 ISP(240) 및/또는 분류 엔진(220)으로 전송할 수 있다. 대안적으로, 이미지 센서(205)는 미가공 이미지 데이터의 단일 카피를 ISP(240) 및/또는 분류 엔진(220) 및/또는 도 2에 예시되지 않은 다른 이미지 프로세싱 컴포넌트일 수도 있는 수신자 컴포넌트로 단순히 내보낼 수 있다. 이 수신자 컴포넌트는 미가공 이미지 데이터의 하나 이상의 카피를 생성할 수 있으며, 그 중 하나 이상을 수신자 컴포넌트가 미가공 이미지 데이터(210)의 제 1 카피 및/또는 미가공 이미지 데이터(215)의 제 2 카피로서 ISP(240)로 및/또는 분류 엔진(220)으로 전송한다. 수신자 컴포넌트는 그것이 미가공 이미지 데이터(210)의 제 1 사본 및/또는 미가공 이미지 데이터(215)의 제 2 사본으로서 이미지 센서로부터 수신하는 미가공 이미지 데이터(210)의 오리지널 카피(original copy)를 사용하거나 및/또는 내보낼 수 있다.
일부 경우에, 예를 들어 포커스, 노출 시간, 조리개 크기, ISO, 플래시, 이들의 임의의 조합 및/또는 본 명세서 논의된 다른 이미지 캡처 설정을 포함하는, 이미지 데이터의 상이한 이미지 영역에 대해 상이한 이미지 캡처 설정이 또한 생성될 수 있다. 일부 예에서, 이들 이미지 캡처 설정 중 하나 이상이 ISP(240)에서 결정될 수 있다. 일부 예에서, 이러한 이미지 캡처 설정 중 하나 이상이 이미지 데이터에 적용하기 위해 이미지 센서(205)로 다시 보내질 수 있다. 일부 경우에, 상이한 이미지 프레임은 상이한 이미지 캡처 설정을 사용하여 이미지 센서(205)에 의해 캡처된 후 ISP(240), 호스트 프로세서(152), 이미지 프로세서(150), 다른 이미지 프로세싱 컴포넌트 또는 이들의 일부 조합에 의해 함께 병합되어, 상이한 이미지 캡처 설정을 사용하여 캡처된 이미지 프레임으로부터 상이한 이미지 영역이 취해지도록 할 수도 있다. 일부 예에서, 예를 들어 밝기, 콘트라스트, 채도, 톤 레벨, 히스토그램, 이들의 임의의 조합 및/또는 본 명세서 논의된 다른 프로세싱 설정을 포함하는, 이미지의 상이한 이미지 영역에 대해 상이한 포스트 프로세싱 설정이 또한 생성될 수 있다. 일부 경우에, ISP(240)에서 설정을 적용하면 결과적인 프로세싱된 이미지에 대한 더 큰 제어 및 적용된 프로세싱 효과에서의 더 큰 품질(예를 들어, 포스트 프로세싱 설정과 비교할 때)이 허용될 수 있다. 이는 ISP(240)가 이미지 센서(205)로부터 미가공 이미지 데이터를 그의 입력으로 수신하는 반면, 포스트 프로세싱은 일반적으로 ISP(240)에 의해 이미 생성된 이미지(250)에 대해 적용되기 때문이다.
일부 경우에, 상이한 카테고리의 오브젝트를 위한 상이한 설정 - 예를 들어, ISP 튜닝 설정, 이미지 캡처 설정 및/또는 포스트 프로세싱 설정 - 중 적어도 하나는 사용자 인터페이스를 사용하여 사용자에 의해 수동으로 설정될 수 있다. 예를 들어, 사용자 인터페이스는 하이라이트된 샤프닝 설정이 텍스트를 묘사하는 이미지 영역에 항상 적용되어야 함을 나타내는 설정을 지정하는 사용자로부터 입력(들)을 수신할 수 있다. 유사하게, 사용자 인터페이스는, 얼굴의 피부가 더 매끄럽게 보이도록 감소된 샤프닝 설정 및 증가된 노이즈 감소 설정이 얼굴을 묘사하는 이미지 영역에 항상 적용되어야 함을 나타내는 설정을 지정하는 사용자로부터 입력(들)을 수신할 수 있다. 일부 경우에, 상이한 카테고리의 오브젝트를 위한 상이한 설정 중 적어도 하나는 ISP(240), 분류 엔진(220), 호스트 프로세서(152), 이미지 프로세서(150), 애플리케이션(예를 들어, 이미지의 포스트 프로세싱에 사용되는 애플리케이션), 다른 이미지 프로세싱 컴포넌트 또는 이들의 일부 조합에 의해 자동으로 설정될 수 있다. 일부 경우에, 상이한 카테고리의 오브젝트를 위한 상이한 설정 중 적어도 하나는, 예를 들어, 승수(multiplier), 오프셋(offset), 또는 로직 기반 수정자와 같은 수정자에 기초하여 수동으로 설정된 설정으로부터 벗어하는 설정을 자동으로 결정하는 것에 의해, 수동으로 설정된 설정에 기초하여 자동으로 설정될 수 있다. 수정자로부터의 편차는 예를 들어 텍스쳐 또는 색상과 같은 특정 시각적 특성에 대해 하나의 카테고리의 오브젝트가 다른 카테고리의 오브젝트로부터 얼마나 상이한 것으로 결정되는지에 기초하여 미리 결정되거나 자동으로 결정될 수도 있다. 예를 들어, ISP(240)는 텍스트를 묘사하는 이미지 영역에 대해 라인 아트(line art)를 묘사하는 이미지 영역에 유사하거나 동일한 설정이 적용되어야 하는 것을 결정할 수도 있다. ISP(240)는 모발 그루터기(hair stubble)가 있는 피부를 묘사하는 이미지 영역에 적용되는 설정이 피부를 묘사하는 이미지 영역에 적용되는 설정과 더 긴 모발을 묘사하는 이미지 영역에 적용되는 설정 사이의 대략 중간이어야 한다고 결정할 수도 있다. ISP(240)는 스투코 벽(stucco wall)을 묘사하는 이미지 영역에 적용되는 설정이 벽돌 벽을 묘사하는 이미지 영역에 적용되는 설정과 유사해야 하지만 노이즈 감소가 10% 만큼 증가해야 한다고 결정할 수도 있다.
도 3은 오브젝트 카테고리화에 기초한 이미지 프로세싱을 위한 ISP 파이프라인(305)을 예시하는 개념도(300)이다. ISP 파이프라인(305)은 ISP(240)의 컴포넌트에 의해 수행되는 동작을 예시한다. ISP 파이프라인(305)의 동작 및 컴포넌트는 흐름도에서와 같이 예시적인 배열 및 순서로 레이아웃된다.
ISP 파이프라인(305)에 대한 입력, 그리고 따라서 ISP(240)에 대한 입력은 ISP 파이프라인(305)의 좌측에 예시되어 있다. ISP 파이프라인(305)에 대한 입력은 카테고리 맵(230), 신뢰도 맵(235) 및 이미지 데이터(210)의 제 1 카피를 포함한다. 이미지 데이터(210)의 제 1 카피는 색상 필터 도메인(예를 들어, Bayer 도메인), RGB 도메인, YUV 도메인, 또는 본 명세서에서 논의되는 다른 색상 도메인에 있을 수도 있다. 디모자이킹 및 색상 도메인 변환은 도면(300) 내에 예시되지 않았지만, 디모자이킹 및/또는 색상 도메인 변환은 도면(200)에 예시된 동작 이전에, 도면(200)에 예시된 동작 이후에, 및/또는 도면(200)에 예시된 동작 중 어느 2개 사이에, ISP(240)에 의해 수행될 수도 있음을 이해해야 한다. 카테고리 맵(230) 및 신뢰도 맵(235)은 ISP 파이프라인(305)의 상이한 요소에 의해 두 번 수신되는 것으로 예시되어 있다. 그러나, ISP(240)는 카테고리 맵(230) 및 신뢰도 맵(235)을 한번 수신하고, 카테고리 맵(230) 및 신뢰도 맵(235)을 ISP(240)의 모든 적절한 컴포넌트 및 요소에 내부적으로 분배할 수도 있음을 이해해야 한다.
ISP 파이프라인(305)은 분류 엔진(220)으로부터 카테고리 맵(230) 및 신뢰도 맵(235)을 수신하여 상이한 모듈에 각각 대응하는 다수의 맵 디코더(325, 335, 345, 및 355)를 통과시킨다. 카테고리 맵(230) 및 신뢰도 맵(235)을 맵 디코더(325, 335, 345 및 355)에 전달하기 전에, ISP 파이프라인(305)은 업스케일러(310)를 사용하여, 예를 들어, 최근접 이웃 (NN) 업스케일링 및/또는 특수 카테고리 맵 업스케일링 (CMUS) 을 사용하여, 카테고리 맵 (230) 및 신뢰도 맵(235)을 업스케일링할 수 있다. 업스케일러(310)는 카테고리 맵(230) 및 신뢰도 맵(235)의 치수가 미가공 이미지 데이터(210)의 제 1 카피의 치수 및/또는 프로세싱된 이미지(250)의 치수에 매칭되도록 카테고리 맵(230) 및 신뢰도 맵(235)을 업스케일링할 수 있다. 일부 경우에, 업스케일러(310)와 관련하여 논의된 업스케일링 중 적어도 일부는 ISP(240)가 카테고리 맵(230) 및 신뢰도 맵(235)을 수신하기 전에 분류 엔진(220)에서 발생할 수 있다. 일부 경우에, 카테고리 맵(230)과 신뢰도 맵(235)은 분류 엔진(220)에서 한 번 그리고 ISP(240)의 업스케일러(310)에서 또 한 번 업스케일링될 수 있다.
ISP 파이프라인(305)이 카테고리 맵(230) 및 신뢰도 맵(235)을 업스케일링하기 위해 업스케일러(310)를 사용하든 그렇지 않든, ISP(240)는 카테고리 맵(230) 및 신뢰도 맵(235)을 수신하고 노이즈 감소(NR) 모듈(320)에 대응하는 맵 디코더(325)로 전달한다. 카테고리 맵(230) 및 신뢰도 맵(235)에 기초하여, 맵 디코더(325)는 하나 이상의 수정자(modifier)(327)를 생성한다. NR 모듈(320)은 하나 이상의 수정자(237)를 사용하여 미가공 이미지 데이터(210)의 제 1 카피의 상이한 픽셀에 적용할 NR을 위한 설정을 결정할 수 있다. NR 모듈(320)은 수정자(327)에 기초하여 미가공 이미지 데이터(210)의 제 1 카피를 프로세싱함으로써 NR 프로세싱된 이미지 데이터를 생성한다. NR 모듈 (320) 은 NR 프로세싱된 이미지 데이터를 샤프닝 모듈 (330) 로 전송할 수 있다. 일부 예에서, NR는 공간 노이즈 감소, 시간 노이즈 감소, 또는 둘 다를 포함한다. NR 모듈(320)은 도 3에서 단일 모듈로 예시되어 있지만, 일부 예에서 ISP 파이프라인(305)은 분리된 공간적 노이즈 감소 모듈 및 분리된 시간적 노이즈 감소 모듈을 포함할 수도 있다.
맵 디코더(325)는 카테고리 맵(230) 및 신뢰도 맵(235)을 샤프닝 모듈(330)에 대응하는 맵 디코더(335)로 전달한다. 카테고리 맵(230) 및 신뢰도 맵(235)에 기초하여, 맵 디코더(335)는 하나 이상의 수정자(modifier)(337)를 생성한다. 샤프닝 모듈(330)은 하나 이상의 수정자(337)를 사용하여 NR 모듈(320)로부터 NR 프로세싱된 이미지 데이터의 상이한 픽셀에 적용할 샤프닝을 위한 설정을 결정할 수 있다. 샤프닝 모듈(330)은 수정자(337)에 기초하여 NR 프로세싱된 이미지 데이터를 프로세싱하여 샤프닝 프로세싱된 이미지 데이터를 생성하고, 샤프닝 프로세싱된 이미지 데이터를 톤 맵핑(TM) 모듈(340)로 전송한다.
맵 디코더(335)는 카테고리 맵(230) 및 신뢰도 맵(235)을 TM 모듈(340)에 대응하는 맵 디코더(345)로 전달한다. 카테고리 맵(230) 및 신뢰도 맵(235)에 기초하여, 맵 디코더(345)는 TM 모듈(340)이 샤프닝 모듈(330)로부터 샤프닝 프로세싱된 이미지 데이터의 상이한 픽셀에 적용할 TM에 대한 설정을 결정하기 위해 사용하는 하나 이상의 수정자(347A)를 생성한다. TM 모듈(340)은 수정자(347A)에 기초하여 샤프닝 프로세싱된 이미지 데이터를 프로세싱하여 TM 프로세싱된 이미지 데이터를 생성하고, 샤프닝 프로세싱된 이미지 데이터를 색상 채도(TM) 모듈(350)로 전송한다.
맵 디코더(345)는 카테고리 맵(230) 및 신뢰도 맵(235)을 CS 모듈(350)에 대응하는 맵 디코더(355)로 전달한다. 일부 경우에, 맵 디코더(345)와 맵 디코더(355) 사이에 지연(315)이 적용된다. 카테고리 맵(230) 및 신뢰도 맵(235)에 기초하여, 맵 디코더(355)는 CS 모듈(350)이 TM 모듈(340)로부터 TM 프로세싱된 이미지 데이터의 상이한 픽셀에 적용할 CS를 위한 설정을 결정하기 위해 사용하는 하나 이상의 수정자(357A)를 생성한다. CS 모듈(350)은 수정자(357A)에 기초하여 TM 프로세싱된 이미지 데이터를 프로세싱함으로써 CS 프로세싱된 이미지 데이터를 생성한다. 일부 예에서, 지연(315)은 맵 디코더(355)로부터 CS 모듈(350)에서의 수정자(357A)의 수신을 CS 모듈(350)에서의 TM 프로세싱된 이미지 데이터의 수신으로 동기화하는 역할을 할 수 있다. 이미지 캡처 및 프로세싱 디바이스(100) 내부의 다른 신호의 송신 및/또는 수신을 동기화하는 것을 돕기 위해 (ISP(240)를 포함하는) 이미지 캡처 및 프로세싱 디바이스(100) 의 임의의 두 요소 사이에 유사한 지연이 삽입될 수 있다. 일부 경우에, 다음으로 CS 프로세싱된 이미지 데이터는 프로세싱된 이미지(250)로서 ISP(240)에 의해 출력된다. 일부 경우에, ISP(240)는 CS 프로세싱된 이미지 데이터에 하나 이상의 추가 이미지 프로세싱 동작을 수행하여 프로세싱된 이미지(250)를 생성한다. 이들 하나 이상의 추가 이미지 프로세싱 동작은 예를 들어 다운스케일링, 업스케일링, 감마 조정, 이득 조정, 본 명세서에서 논의된 다른 이미지 프로세싱 동작 또는 이들의 일부 조합을 포함할 수도 있다. 일부 경우에, ISP 튜닝 파라미터 모듈(320, 330, 340, 또는 350) 중 하나를 이용한 이미지 프로세싱이 스킵(skip)될 수도 있다. 일부 경우에, 스킵된 ISP 튜닝 파라미터 모듈에 대응하는 맵 디코더(325, 335, 345, 또는 355)가 스킵될 수도 있다. 이들 중 하나 또는 둘 다가 스킵되는 경우, 스킵된 모듈(ISP 파라미터 모듈 및/또는 대응하는 맵 디코더) 대신에 지연(315)과 유사한 지연이 추가되어 프로세싱 요소가 앞으로(moving forward) 동기화된 상태로 유지되게 할 수도 있다. 일부 경우에, 맵 디코더(325, 335, 345 및/또는 355)는 내부적으로 타이밍을 추적할 수도 있고 모듈이 스킵되거나 제거되는 때를 검출할 수 있고 수정자가 생성되거나 및/또는 대응하는 ISP 튜닝 파라미터 모듈(320, 330, 340 또는 350)에 전송되는 타이밍을 동적으로 조정할 수 있다.
지연(315)은, 맵 디코더(345)로부터 카테고리 맵(230) 및 신뢰도 맵(235)을 수신하고 카테고리 맵(230) 및 신뢰도 맵(235)을 카테고리 맵(230) 및/또는 신뢰도 맵(235)을 사용하여 수정자를 생성하지 않고서 다음 맵 디코더(355)로 전송한다는 점에서, 카테고리 맵(230) 및 신뢰도 맵(235)에 대해 애그노스틱(agnostic)인 모듈이다. 일부 경우에, 카테고리 맵(230) 및/또는 신뢰도 맵(235)에 대해 애그노스틱인 다른 컴포넌트가 ISP 파이프라인(305) 내에 포함될 수 있다(그러나 예시되지는 않음). 일부 경우에, 지연 (315) 은 제거될 수 있다. 일부 경우에, 지연(315)과 유사한 하나 이상의 지연 모듈이 ISP 파이프라인(305), ISP(240), 임의의 맵 디코더, STMP(smooth transition map processor)(365), 분류 엔진(220), 이미지 캡처 및 프로세싱 디바이스(100), 컴퓨팅 시스템(1500), 이들 모듈 중 어느 것의 컴포넌트, 본 명세서에서 논의된 임의의 다른 컴포넌트 또는 모듈 또는 디바이스, 또는 이들 중 조합의 임의의 2개의 다른 컴포넌트 사이에 삽입될 수 있다.
일부 경우에, ISP(240)는 카테고리 맵(230) 및 신뢰도 맵(235)을 STMP(smooth transition map processor)(365)로 전달할 수 있다. ISP(240)는 STMP(365)를 사용하여 수정자를 생성하고 그러한 수정자를 맵 디코더(325, 335, 345 및 355) 대신에 또는 이에 추가로 모듈(320, 330, 340, 및 355) 중 적어도 일부에 전달할 수 있다. STMP(365)는 적어도 도 6, 도 7 및 도 8 에 예시되고 이와 관련하여 논의된 바와 같이 사이에 매끄러운 천이를 생성하기 위해 사용될 수 있다. 일부 예에서, 다운스케일러(360)는 STMP(365)가 카테고리 맵(230) 및 신뢰도 맵(235)을 수신하기 전에 카테고리 맵(230) 및 신뢰도 맵(235)을 다운스케일링한다. 개념도(300)에서, 다운스케일러(360)는 ISP(240)의 일부가 아닌 컴포넌트로서 예시된다; 따라서, ISP(240)는 분류 엔진(220)으로부터 카테고리 맵(230) 및 신뢰도 맵(235)을 수신할 수 있을 뿐만 아니라 다운스케일러(360)로부터 카테고리 맵(230) 및 신뢰도 맵(235)의 다운스케일링된 버전을 수신할 수도 있다. 다운스케일러(360)는 분류 엔진으로부터 분류 엔진(220)으로부터 신뢰도 맵(235)을 수신할 수 있다. 일부 예들에서, 다운스케일러(360)는 ISP(240)의 일부일 수 있어서, ISP(240)는 카테고리 맵(230) 및 신뢰도 맵(235)을 수신하고 카테고리 맵(230) 및 신뢰도 맵(235)을 다운스케일러(360) 자체로 라우팅한 후 다운스케일링된 카테고리 맵(230) 및 신뢰도 맵(235)를 STMP(365)로 전달한다.
도면(300)에서, STMP(365)는 TM 모듈(340)을 위한 대안의 수정자(347B)를 생성하고 대안의 수정자(347B)를 TM 모듈(340)에 전달하여 TM 모듈(340)이 샤프닝 프로세싱된 이미지 데이터를 프로세싱함에 있어서 사용하는 것으로 예시되어 있다. STMP(365)는 CS 모듈(350)을 위한 대안의 수정자(357B)를 생성하고 CS 모듈(350)에 대안의 수정자(357B)를 전달하여 CS 모듈(350)이 TM 프로세싱된 이미지 데이터를 프로세싱함에 있어서 사용하는 것으로 예시되어 있다. 도면(300)에 예시되지 않았지만, STMP(365)는 또한 NR 모듈(320) 및/또는 샤프닝 모듈(325)을 위한 수정자를 생성하고 생성된 수정자를 이에 전달할 수도 있다.
도면(300)은 하나에서 다음으로 맵 디코더(325, 335, 345, 및 355) 사이에서 직렬로 전달되는 카테고리 맵(230) 및 신뢰도 맵(235)을 예시한다. 그러나, 대신에 ISP(240)는 카테고리 맵(230) 및 신뢰도 맵(235)의 카피를 맵 디코더(325, 335, 345, 및 355) 중 2개 이상에 병렬로 전달할 수도 있다. 이러한 방식으로 맵 디코더(325, 335, 345, 355)는 수정자(327, 337, 347A, 및 357A)를 병렬로 생성하여, 잠재적으로 이미지 프로세싱 효율을 높일 수도 있다.
STMP(365) 및 업스케일러(310)는 ISP 파이프라인(305) 및 ISP(240)의 컴포넌트로서 예시되지만, 일부 예에서 이들 중 적어도 하나는 ISP 파이프라인(305) 및/또는 ISP(240)와 분리될 수도 있다. 예를 들어, STMP(365) 및/또는 업스케일러(310) 중 적어도 하나는 분류 엔진(220)의 일부, 이미지 캡처 및 프로세싱 디바이스(100)의 다른 컴포넌트, 컴퓨팅 시스템(1500)의 다른 컴포넌트, 또는 이들의 일부 조합일 수도 있다. 다운스케일러(360)는 ISP 파이프라인(305) 및 ISP(240)와 분리된 컴포넌트로서 예시되지만, 일부 예에서 다운스케일러(360)는 ISP 파이프라인(305) 및/또는 ISP(240)의 일부일 수도 있다.
예시의 목적을 위해, 상이한 ISP 파라미터 모듈이 특정 순서로 예시되고 설명되어 있다. 대안의 실시형태에서, ISP 파라미터 모듈은 설명된 것과 상이한 순서로 배열될 수도 있거나 및/또는 ISP 파라미터 모듈에 의해 수행되는 동작이 설명된 것과 상이한 순서로 수행될 수도 있다는 것을 이해해야 한다. 예를 들어, TM 모듈(340)은 샤프닝 모듈(330) 전 및/또는 NR 모듈(320)전에 배치될 수도 있다.
도 4는 맵 디코더 (325) 파이프라인을 예시하는 개념도(400)이다. 개념도(400)는 ISP(240)의 맵 디코더(325)의 컴포넌트에 의해 수행되는 동작을 포함한다. 맵 디코더(325)는 NR 모듈(320)에 대응하며, 도면(400)은 수정자(327) 중 수정자(455)의 생성, 및 NR 모듈(320)로 수정자(455)의 송신을 예시한다. 맵 디코더(325)의 동작 및 컴포넌트는 흐름도에서와 같이 예시적인 배열 및 순서로 레이아웃된다.
맵 디코더(325) 는 분류 엔진(220)에 의해 생성되고 ISP(240)에 의해 수신되는 카테고리 맵(230) 및 신뢰도 맵(235)을 수신한다. 일부 예에서, 맵 디코더(325)는 지연 라인 버퍼(410)를 포함할 수 있다. 지연 라인 버퍼(410)는 맵 디코더(325)로부터 ISP 파이프라인(305)에서 다음 라인에 있는 샤프닝 모듈(330)에 대응하는 맵 디코더(335)로 카테고리 맵(230) 및 신뢰도 맵(235)의 전송을 지연시킬 수 있다. 지연 라인 버퍼(410)는 또한 NR 모듈(320)에 의한 수정자(327)의 수신 타이밍이 NR 모듈(320)에 의해 미가공 이미지 데이터(210)의 제 1 카피의 수신 타이밍과 동기화되도록 NR 모듈(320)로의 수정자(327)(수정자(455)를 포함)의 송신을 지연시킬 수 있다.
도 4에 도시된 바와 같이, 카테고리 기반 수정자(465)의 생성기(430)는 (예를 들어, 지연 라인 버퍼(410)의 버퍼로부터 또는 직접) 카테고리 맵(230)을 획득한다. 개념도(400)의 하단에 여러 카테고리의 오브젝트 중 하나에 각각 대응하는 상이한 수치 값으로 여러 상이한 색상의 이미지 영역의 각각을 레이블하는 예시적인 카테고리 맵(230)이 예시되어 있다. 특히, 개념도(400)의 카테고리 맵(230)은 제 1 쉐이딩 패턴으로 쉐이딩되고 "0"으로 레이블된 제 1 이미지 영역을 포함하며, 이는 오브젝트의 카테고리로서 인간을 나타낸다. 도 4의 카테고리 맵(230)은 나무와 풀을 묘사하는 여러 2차 이미지 영역을 포함하며, 모두는 제 2 쉐이딩 패턴으로 쉐이딩되고 "1"로 레이블되며, 이는 오브젝트의 카테고리로서 식물을 나타낸다. 카테고리 맵(230)에서 제 3 이미지 영역은 제 3 쉐이딩 패턴으로 쉐이딩되고 2"로 레이블되며, 이는 오브젝트의 카테고리로서 하늘을 나타낸다. 카테고리 맵(230)에서의 제 4 이미지 영역은 제 4 쉐이딩 패턴으로 쉐이딩되고 "6"으로 레이블되며, 이는 오브젝트의 카테고리로서 아스팔트 도로를 나타낸다. 마지막으로, 카테고리 맵(230)에서의 제 5 이미지 영역은 제 5 쉐이딩 패턴으로 쉐이딩되고 "9"로 레이블되며, 이는 오브젝트의 카테고리로서 차량을 나타낸다. 도 4의 카테고리 맵(230)에서의 상이한 쉐이딩 패턴은 상이한 색상, 상이한 회색 음영, 상이한 숫자, 상이한 문자 또는 상이한 비트 시퀀스와 같이 카테고리 맵(230)에서 대응하는 픽셀 위치에 저장된 상이한 값을 나타낼 수도 있다.
카테고리 기반 수정자(465)를 생성하기 위해, 생성기(430)는 데이터 구조(480)에 대해 카테고리 맵(230)의 상이한 이미지 영역에 있는 오브젝트의 카테고리를 상호 참조(cross-reference)한다. 데이터 구조(480)는 예를 들어 룩업 테이블, 데이터베이스, 사전, 목록, 어레이, 어레이목록, 값들 사이의 연관성을 저장할 수 있는 상이한 데이터 구조, 또는 이들의 일부 조합일 수도 있다. 데이터 구조(480)는 오브젝트의 카테고리 각각에 대해 그리고 당해 ISP 튜닝 파라미터에 대해 적합한 미리 결정된 설정을 저장한다. 맵 디코더(325)는 NR 모듈(320)에 대응하기 때문에, 데이터 구조(480)는 오브젝트의 카테고리 각각에 대해 그리고 NR에 대해 적합한 미리 결정된 설정을 저장한다. 상이한 미리 결정된 설정은 본질적으로 NR을 적용할 상이한 강도를 나타낼 수 있다. 일부 예에서, 상이한 미리 결정된 설정은 절대 척도(absolute scale)에 따른 값으로 표현된다. 일부 예에서, 상이한 미리 결정된 설정은 다른 값에 상대적인, 예를 들어 디폴트 설정에 있는 값에 상대적인 값으로 표현된다.
생성기(430)에 의해 생성된 예시적인 카테고리 기반 수정자(465)는 개념도(400)의 하단에 예시되어 있다. 예시적인 카테고리 기반 수정자(465)는 그레이스케일로 예시되며 더 밝은 음영은 더 높은 수준의 NR과 연관된 미리 결정된 설정을 나타내고 더 어두운 음영은 더 낮은 수준의 NR과 연관된 미리 결정된 설정을 나타낸다. 카테고리 맵(230)에 기초하여, 총 4개의 구별되는 회색 음영이 사용된다. 따라서 카테고리 맵(230)에서 하늘(2) 및 차량(9)을 묘사하는 것으로 카테고리화된 이미지 영역 양자 모두는 높은 수준의 NR로 프로세싱될 것이며, 카테고리 맵(230)에서 인간(0)을 묘사하는 것으로 카테고리화된 이미지 영역은 중간 수준의 NR로 프로세싱될 것이고, 아스팔트 도로 (6) 를 묘사하는 것으로 카테고리 맵(230)에서 카테고리화된 이미지 영역(6)은 낮은 수준의 NR로 프로세싱될 것이고, 카테고리 맵(230)에서 식물(1)을 묘사하는 것으로 카테고리화된 이미지 영역은 가장 낮은 수준의 NR로 프로세싱될 것이다.
맵 디코더(325) 내에서, 신뢰도 맵(235)은 카테고리 기반 수정자(465)에 대한 블렌딩 업데이트의 생성기(435)로 전송된다. 예시적인 신뢰도 맵(235)이 개념도(400)의 하단에 예시되어 있다. 신뢰도 맵(235)은 이전에 논의된 바와 같이 8개의 그레이스케일 음영으로 예시되며, 더 밝은 음영은 더 높은 수준 또는 정도의 신뢰도를 나타내고 더 어두운 음영은 더 낮은 수준 또는 정도의 신뢰도를 나타낸다. 도 4의 신뢰도 맵은 예를 들어 음영 사이의 구배가 존재하는 경우, 상이한 회색 음영 사이에 가시적 밴딩을 갖는 것으로 시각적으로 보일 수도 있다. 신뢰도 맵(235)은 분류 엔진(220)이 일반적으로 높은 수준의 신뢰도로 카테고리 맵(230)을 생성했으며, 보다 낮은 수준의 신뢰도를 갖는 대부분의 부분이 상이한 카테고리의 오브젝트를 나타내는 상이한 이미지 영역 사이의 에지 주변에 있음을 나타낸다. 생성기(435)는 상이한 신뢰도 수준에 기초하여 카테고리 기반 수정자(465)의 미리 결정된 설정에 대한 적절한 조정을 식별할 수도 있다. 이들 조정은 또한 데이터 구조(480)에서 지정될 수도 있다.
카테고리 신뢰도 블렌딩 동작(440)에서, 생성기(430)에 의해 생성된 카테고리 기반 수정자(465)는 생성기(435)에 의해 생성된 카테고리 기반 수정자(465)에 대한 블렌딩 업데이트와 블렌딩된다. 카테고리-신뢰도 블렌딩 동작(440)은 카테고리-신뢰도 블렌딩된 수정자(470)를 생성한다. 특정 픽셀에 대한 수정자 값은 신뢰도 맵(235)에서의 그 픽셀에 대한 신뢰도 수준에 기초하여 카테고리 기반 수정자(465)에서 결정된 양으로부터 감소될 수 있다. 예를 들어 신뢰도 맵(235)에서 최대 신뢰도 수준을 갖는 픽셀은 카테고리 기반 수정자(465)로부터의 그의 수정자 값을 유지할 수 있다. 반면, 신뢰도 맵(235)에서 신뢰도 수준이 낮은 픽셀에 대한 수정자 값은 카테고리 기반 수정자(465)로부터의 그의 수정자 값으로부터 감소될 수 있으므로, 그 픽셀에서 ISP 튜닝 파라미터 모듈에 의해 적용되는 효과의 강도를 감소시킨다. 예를 들어, ISP 튜닝 파라미터 모듈이 개념도(400)에 예시된 바와 같이 NR 모듈(320)인 경우, 분류 엔진(220)이 높은 신뢰도로 카테고리화한 픽셀보다 분류 엔진(220)이 낮은 신뢰도로 카테고리화한 픽셀에 더 약한 NR 효과가 적용된다. 일부 예에서, 카테고리 기반 수정자(465)를 위한 블렌딩은 무연산 값(No-Operation value)으로 수행된다. 일부 예에서, 카테고리-신뢰도 블렌딩 작업(440)은 카테고리-신뢰도 조정 동작이라고 할 수 있다.
예시적인 카테고리-신뢰도 블렌딩된 수정자(470)가 개념도(400)의 하단에 예시되어 있다. 카테고리-신뢰도 블렌딩된 수정자(470)는 그레이스케일로 예시되어 있다. 예시적인 카테고리 기반 수정자(465)와 유사하게, 카테고리-신뢰도 블렌딩된 수정자(470)에서 더 밝은 회색 음영은 더 높은 수준의 NR과 연관된 설정을 나타내는 반면, 더 어두운 음영은 더 낮은 수준의 NR과 연관된 설정을 나타낸다. 신뢰도 값에 기초한 블렌딩 업데이트는 미리 결정된 설정(예: 카테고리 기반 수정자(465)에서의 수정자 값)과 블렌딩되어 이를 조정하기 때문에, 카테고리-신뢰도 블렌딩된 수정자(470)는 임의의 특정 카테고리의 오브젝트와 연관된 미리 결정된 설정에 매칭하지 않는 설정에 대응하는 부분을 가질 수도 있다. 블렌딩은 예를 들어 카테고리 기반 수정자(465)에서의 설정과 카테고리 기반 수정자(465)에 대한 블렌딩 업데이트에서의 값의 가산, 감산 또는 승산을 통해 수행될 수도 있다. ISP 튜닝 파라미터 모듈에 대한 이러한 보다 미세 튜닝된 제어는 ISP(240)로 하여금 예를 들어 카테고리화인 신뢰도가 덜한 영역에 그의 ISP 튜닝 파라미터를 덜 강하게 적용하는 것을 허용한다. 이렇게 하면 이미지 부분의 잘못된 카테고리화로 인한 이미지 부분에 부적절한 설정이 적용되는 위험이 줄어든다. 잘못 카테고리화될 가능성이 큰 이미지의 그러한 부분들 - 카테고리화에서 신뢰도가 낮은 부분들- 의 경우, 설정이 약화되거나 또는 그렇지 않으면 조정되어 ISP 튜닝 파라미터가 보다 보수적으로 적용된다. 도 4의 카테고리-신뢰도 블렌딩된 수정자(470)는 예를 들어 음영 사이의 구배가 존재하는 경우, 상이한 회색 음영 사이에 가시적 밴딩을 갖는 것으로 시각적으로 보일 수도 있다. 카테고리-신뢰도 블렌딩된 수정자(470)에서의 밴딩은 도 4의 신뢰도 맵(235)에서의 밴딩으로부터, 카테고리 기반 수정자(465)의 구별되는 이미지 영역에 대응하는 구별되는 음영으로부터, 또는 이들의 조합으로부터 물려 받을 수도 있다.
다음으로, 카테고리-신뢰도 블렌딩된 수정자(470)는 로우 패스 필터(445)를 통과하여 필터링된 수정자(475)를 생성한다. 필터링된 수정자(475)의 예가 개념도(400)의 하단에 예시되어 있다. 필터링된 수정자(475)는 카테고리-신뢰도 블렌딩된 수정자(470)와 유사하지만 다른 설정 간의 천이가 평활화된다. 예를 들어, 카테고리-신뢰도 블렌딩된 수정자(470)에서의 이미지 영역들 사이의 경계는 신뢰도 맵(235)으로부터의 상이한 수준의 신뢰도, 카테고리 기반 수정자(465)에서의 상이한 이미지 영역, 또는 이들의 조합으로부터 생기는 밴딩을 포함할 수도 있다. 필터링된 수정자(475)에서, 밴딩은 중간 값으로 평활화되어, 블러링 효과를 낳는다. 이것은 모듈(여기서는 NR)을 사용하여 적용되는 상이한 설정 간의 천이로 하여금 천이가 카테고리-신뢰도 블렌딩된 수정자(470)를 사용하는 것보다 더 매끄러울 수 있게 한다. 필터링된 수정자(475)는 업스케일러(450)를 사용하여 업스케일링되어 최종 수정자(455)를 생성한다. 업스케일러(450)는 예를 들어 최근접 이웃(NN) 업스케일링, 쌍선형 보간, 쌍입방 보간, Sinc 리샘플링, Lanczos 리샘플링, 박스 샘플링, 밉맵핑, 푸리에 변환 스케일링, 에지 지향 보간, 고품질 스케일링(hqx) 또는 이들의 일부 조합을 사용하여 이 업스케일링을 수행할 수 있다. 맵 디코더(325)는 최종 수정자(455)를 NR 모듈(320)의 NR 모듈 로직(405)으로 보낸다. 최종 수정자(455)는 하나 이상의 수정자(327)의 세트 중 하나일 수도 있다. NR 모듈(320)의 NR 모듈 로직(405)은 최종 수정자(455)에 기초한 강도로 미가공 이미지 데이터(210)의 제 1 카피의 각 픽셀에 NR을 적용한다. 강도는 예시적인 필터링된 수정자(475)에서 가장 어두운 회색으로 나타내는 미리 결정된 범위 내의 최소 강도로부터 예시적 필터링된 수정자(475)에서 흰색으로 표현되는 미리 결정된 범위 내의 최대 강도까지의 범위일 수도 있다. 일부 예들에서, 로우 패스 필터 (445) 는 Gaussian 블러 필터를 포함할 수도 있다. 일부 예에서, 로우 패스 필터(445)는 다른 유형의 필터 또는 블러링 효과, 이를테면 평균 필터, 박스 블러, 렌즈 블러, 방사형 블러, 모션 블러, 형상 블러, 스마트 블러, 표면 블러 또는 이들의 조합으로 보충되거나 또는 이로 대체될 수도 있다.
전술한 바와 같이, 도면(400)는 NR 모듈(320)에 대응하는 맵 디코더(325)에 의한 수정자(327)의 생성을 예시한다. 대체로 동일한 프로세스가 맵 디코더(335)에 의해 사용되어 샤프닝 모듈(330)을 위한 수정자(337)를 생성하고, 맵 디코더(345)에 의해 사용되어 TM 모듈(340)을 위한 수정자(347)를 생성하고, 맵 디코더(355)에 의해 사용되어 CS 모듈 (350) 용 수정자(357)를 생성한다. 다른 맵 디코더(335, 345, 및 355)에 대한 주요 차이는 이러한 맵 디코더에 대응하는 모듈을 위한 미리 결정된 설정을 저장하는 상이한 데이터 구조(480)가 사용될 것이라는 점이다. 대안적으로, 데이터 구조(480)는 예를 들어, 테이블의 상이한 열에, 다수의 모듈을 위한 미리 결정된 설정을 저장할 수도 있고, 이 경우 동일한 데이터 구조(480)가 사용될 수도 있지만, 상이한 열이 질의된다.
도 5a는 ISP 모듈에서의 수정자 (545A) 의 적용을 예시하는 개념도 (510) 이며, 수정자 (545A) 는 승수로서 적용된다; 내부 신호(540A)가 수신된다. 내부 신호(540A)는 모듈이 이미지 데이터의 일부에 ISP 튜닝 파라미터를 적용하는 디폴트 설정 또는 디폴트 강도를 나타낸다. (이를테면 로우 패스 필터(LPF)(445)가 적용된 것과 같은) 수정자(545A)가 수신된다. 수정자(545A)는 이미지 데이터의 모든 픽셀에 대한 값을 식별한다. 필터링된 수정자(475) 및/또는 최종 수정자(455)는 수정자(545A)의 예이다. 필터링된 수정자(475)와 같이, 수정자(545A)는 각 픽셀에서 상이한 회색 음영 -상이한 휘도 값- 을 갖는 이미지로 저장될 수도 있다. 대안적으로, 수정자(545A)는 이미지 데이터의 모든 픽셀에 대응하는 셀을 갖는 매트릭스 또는 테이블 또는 다른 데이터 구조로서 저장될 수도 있다. 이미지 데이터의 주어진 픽셀에 대해, 모듈은 내부 신호(540A) - ISP 튜닝 파라미터를 적용하기 위한 디폴트 설정 -를 취하고 그 내부 신호(540A)에, 이미지 데이터에 있는 그 픽셀에 대응하는 수정자(545A)에서의 값을 승산한다.
예를 들어, 내부 신호(54A0)는 특정 ISP 파라미터를 적용하기 위한 디폴트 설정 또는 디폴트 강도가 3임을 표시할 수도 있다. 수정자(545A)는 이미지 데이터의 주어진 픽셀에 대응하는 1.6의 값을 포함할 수도 있으며, 이는 ISP 튜닝 파라미터가 이미지 데이터의 그 픽셀에서 내부 신호(540)에 의해 표시된 디폴트 설정의 1.6배 또는 3 * 1.6 = 4.8에서 적용됨을 의미한다. 수정자(545A)는 이미지 데이터의 상이한 픽셀에 대응하는 0.8의 값을 포함할 수도 있으며, 이는 ISP 튜닝 파라미터가 이미지 데이터의 그 픽셀에서 내부 신호(540A)에 의해 표시된 디폴트 설정의 0.8배 또는 3 * 0.8 = 2.4에서 적용됨을 의미한다. 수정된 내부 신호(550A)는 이러한 승산의 결과이며 따라서 모듈이 궁극적으로 이미지 데이터의 주어진 부분을 위해 ISP 튜닝 파라미터를 적용하는 강도이다. 수정된 내부 신호(550A)는, 일부 경우에, 소수 값(decimal value) 또는 분수(fraction)로 표현될 수 있다. 대안적으로, 수정된 내부 신호(550A)는 최근접 정수로 반올림(round)될 수 있거나, 또는 각각 승산 결과보다 작거나 또는 승산 결과보다 큰 최근접 정수로 반올림하기 위해 바닥 또는 천장 함수가 적용될 수 있다.
일부 경우에, 내부 신호(540A)로부터의 디폴트 설정에 수정자(545A)를 승산하여 생성된 수정된 내부 신호(550A)는 상이한 카테고리의 오브젝트 및/또는 신뢰도 수준에 대응하는 미리 결정된 설정 세트 중 하나와 등가일 수도 있다. 일부 경우에, 수정된 내부 신호(550A)는 미리 결정된 설정 세트 중 두 설정 사이에 있을 수도 있거나, 또는 미리 결정된 설정 세트에 의해 표현되는 범위 밖에 있을 수도 있다.
도 5b는 ISP 모듈에서의 수정자 (545B) 의 적용을 예시하는 개념도 (520) 이며, 수정자 (545B) 은 오프셋으로서 적용된다. 개념도(520)는 내부 신호(540B) 및 수정자(545B)를 포함한다. 내부 신호(540B)는 내부 신호(540A)와 동일할 수도 있다. 수정자(545B)는 수정자(545A)와 동일할 수도 있다. 그러나, 개념도(520)에서, 주어진 픽셀을 위한 수정자(545B)에서의 값은 내부 신호(540B)에서의 값에 가산되어 수정된 내부 신호(550B)를 생성한다.
예를 들어, 내부 신호(540B)는 특정 ISP 파라미터를 적용하기 위한 디폴트 설정 또는 디폴트 강도가 3임을 표시할 수도 있다. 수정자(545B)는 이미지 데이터의 주어진 픽셀에 대응하는 1.6의 값을 포함할 수도 있으며, 이는 ISP 튜닝 파라미터가 이미지 데이터의 그 픽셀에서 내부 신호(540)에 의해 표시된 디폴트 설정 더하기 1.6, 또는 3 + 1.6 = 4.6 에서 적용됨을 의미한다. 수정자(545)는 이미지 데이터의 상이한 픽셀에 대응하는 -0.8의 값을 포함할 수도 있으며, 이는 ISP 튜닝 파라미터가 이미지 데이터의 그 픽셀에서 내부 신호(540B)에 의해 표시된 디폴트 설정 더하기 -0.8, 또는 3 - 0.8 = 2.2 에서 적용됨을 의미한다. 수정된 내부 신호(550B)는 이러한 합산의 결과이며 따라서 모듈이 궁극적으로 이미지 데이터의 주어진 부분을 위해 ISP 튜닝 파라미터를 적용하는 강도이다.
일부 경우에, 수정자 (545B) 에 의해 내부 신호(540B)로부터의 디폴트 설정을 함께 합산함으로써 생성된 수정된 내부 신호(550B)는 상이한 카테고리의 오브젝트 및/또는 신뢰도 수준에 대응하는 미리 결정된 설정 세트 중 하나와 등가일 수도 있다. 일부 경우에, 수정된 내부 신호(550B)는 미리 결정된 설정 세트 중 두 설정 사이에 있을 수도 있거나, 또는 미리 결정된 설정 세트에 의해 표현되는 범위 밖에 있을 수도 있다.
도 5c는 ISP 모듈에서의 수정자(545C)의 적용을 예시하는 개념도(530)이며, 수정자(535C)는 파라미터(560)에 기초한 로직(555)을 사용하여 적용된다; 개념도(530)는 내부 신호(540C) 및 수정자(545C)를 포함한다. 내부 신호(540C)는 내부 신호(540A) 및/또는 내부 신호(540B)와 동일할 수도 있다. 수정자(545C)는 수정자(545A) 및/또는 수정자(545B)와 동일할 수도 있다. 그러나, 개념도(530)에서, 주어진 픽셀을 위한 수정자(545C)의 값은 하나의 미리 결정된 설정에서 다른 미리 결정된 설정으로의 변경을 나타낸다.
예를 들어, 내부 신호(540C)는 특정 ISP 파라미터를 적용할 디폴트 설정 또는 디폴트 강도가 3임을 표시할 수도 있다. 수정자(545C)는 이미지 데이터의 주어진 픽셀에 대응하는 2의 값을 포함할 수도 있으며, 이는 ISP 튜닝 파라미터가 목록에서 제 2 연속적으로 더 큰 미리 결정된 설정을 선택함으로써 미리 결정된 설정의 목록으로부터 선택된 강도로 이미지 데이터의 그 픽셀에서 적용될 것임을 의미한다. 미리 결정된 설정의 목록이 예를 들어 세트 {1.5, 3, 4, 6, 8} 을 포함한다면, 수정된 내부 신호(550C)는 6인데, 왜냐하면 6은 목록에서 디폴트 설정(3)보다 두 값 더 높기 때문이다. 유사하게, 수정자(545C)가 이미지 데이터의 상이한 픽셀에 대응하는 -1의 값을 갖고 미리 결정된 설정의 동일한 목록이 사용된다면, 수정된 내부 신호(550C)는 1.5인데, 왜냐하면 1.5가 목록에서 디폴트 설정(3)보다 한 값 더 낮기 때문이다. 미리 결정된 설정의 목록은 데이터 구조(480)로부터 취해질 수도 있고, 상이한 카테고리의 오브젝트에 각각 대응할 수도 있고, 일부 경우에 파라미터(560)라고 칭해질 수도 있다. 일부 예에서, 미리 결정된 설정 목록에서 각각의 미리 결정된 설정은 상이한 카테고리의 오브젝트 및/또는 상이한 신뢰도 수준을 나타낼 수도 있다. 예를 들어, 오브젝트의 카테고리 및 신뢰도 수준이 카테고리 맵(230) 및 신뢰도 맵(235) 에서 8비트내로 표현되면, 미리 결정된 설정의 목록은 256개의 서로 다른 미리 결정된 설정을 포함할 수 있다. 일부 경우에, 미리 결정된 설정의 목록은 오브젝트의 특정 카테고리 및 신뢰도 수준에 대응하는 두 개의 다른 미리 결정된 설정 사이에 있는 중간의 미리 결정된 설정을 포함할 수 있다. 이러한 중간의 미리 결정된 설정의 사용은 프로세싱된 이미지(250)에서 더 적은 밴딩으로 더 매끄러운 천이를 생성하는 데 도움이 될 수 있으며 로우 패스 필터(445)에 의해 생성된 평활화를 실행하는 것을 도울 수 있다. 일부 예에서, 로직(555)은 위에서 논의된 동작 대신에 또는 그에 더하여 승산(510), 오프셋(520) 및/또는 다른 산술 동작의 조합을 포함할 수 있다. 일부 예에서, 로직(555)은 위에서 논의된 동작 대신에 또는 그에 더하여 파라미터(560)로부터의 데이터와 수정자(545C)를 함께 블렌딩할 수 있다. 일부 예에서, 로직(555)은 위에서 논의된 동작 대신에 또는 그에 더하여 조건부 프로그래밍(예를 들어, if...else), 루프 및/또는 다른 프로그래밍 로직을 포함할 수 있다. 위에서 논의된 바와 같이 수정된 내부 신호(550C)의 결정은 파라미터(560)에 기초한 로직(555)의 적용으로, 파라미터(560)에 기초한 로직(555)을 사용하여 수정된 내부 신호(550C)를 결정하는 로직 엔진의 적용으로 또는 이들의 조합으로 지칭될 수도 있다.
도 6은 카테고리 맵의 생성 동안 이미지 영역으로의 이미지의 세그먼트화에 있어서 아노말리를 통해 도입되는 시각적 이미지 아티팩트를 예시하는 개념도이다. 특히, 도 6은 제 1 이미지(610), 제 2 이미지(620) 및 제 3 이미지(630)를 포함한다. 제 1 이미지(610)는 파란 하늘을 배경으로 하는 두 개의 건물과 나무의 이미지이다. 도 6에 있는 제1 이미지(610)는 오브젝트 카테고리에 기초하여 아직 ISP(240)에 의해 프로세싱되지 않은 미가공 이미지 데이터를 나타낸다.
제 2 이미지(620)는 제 1 이미지(610)와 유사하지만 하늘 이미지 영역(625)으로 레이블된 흰색 이미지 영역을 포함한다. 하늘 이미지 영역(625)은 분류 엔진(220)이 하늘을 묘사하는 것으로 검출한 제 1 이미지(610)의 부분을 나타낸다. 하늘은 이 예에서 오브젝트의 카테고리이다. 따라서, 하늘 이미지 영역(625)은 분류 엔진(220)이 오브젝트의 "하늘" 카테고리를 묘사하는 것으로 검출한 이미지 영역이다. 하늘 이미지 영역(625)의 경계는 하늘을 묘사하는 제 1 이미지(610)의 영역 및 건물과 나무를 묘사하는 영역의 경계 부근의 소정 영역에서 아티팩트(640)를 포함한다. 이들 아노말리는 예를 들어 하늘과 건물 창에 나타나는 유사한 파란색 음영으로 인해, 또는 나무 잎의 복잡한 경계로 인해 오브젝트의 카테고리를 불완전하게 검출한 결과로 생성될 수 있다.
제 3 이미지(630)는 제 2 이미지(620)의 카테고리 세그먼트화에 기초하고 하늘 이미지 영역(625)을 포함하는 카테고리 맵을 사용하여 오브젝트 카테고리에 기초하여 ISP(240)에 의해 프로세싱되는 제 1 이미지(610)의 버전을 나타낸다. 제 2 이미지(620)에 있는 하늘 이미지 영역(625) 내 아티팩트(640)의 포지션에서, 제 3 이미지(630)는 톤 및 색상 천이에서 시각적 이미지 아티팩트(645)를 포함한다. 예를 들어, 건물과 하늘의 경계 부근, 그리고 나무와 하늘의 경계 부근의 제 3 이미지(630)에 있는 하늘 지역은 나머지 하늘보다 더 밝고 채도가 낮게 보인다. 이러한 아티팩트(645)는 결국 더 밝아지고 채도가 낮아져 아티팩트(640)로 인해 제 2 이미지(620)에 있는 하늘 이미지 영역(625) 내에 속하지 않았다. 이와 같은 상황에서, 한 설정에서 다른 설정으로 갑자기 천이하면 이러한 유형의 시각적 이미지 아티팩트 또는 유사한 시각적 이미지 아티팩트가 생성될 수도 있다. 한 설정과 다른 설정 사이의 보다 매끄러운 천이는 유사한 상황에서 이러한 아티팩트의 출현을 줄일 수 있다. 예를 들어, 도 8에 예시된 것들과 같은 평활화된 수정자를 생성하기 위해 도 7에 예시된 기술을 사용하여 하늘 이미지 영역(625)에 대응하는 더 매끄러운 수정자를 생성함으로써 더 매끄러운 천이가 달성될 수 있다.
도 7은 평활 천이 맵 프로세서 (STMPLPF)(365) 파이프라인을 예시하는 개념도(700)이다. STMP(365)는 동일한 이미지 내에서 한 설정에서 다른 설정으로 매끄러운 천이를 생성한다. STMP(365)는, TM 모듈(340)에 수정자(755A)를 제공하고 CS 모듈(350)에 수정자(755B)를 제공하는, 아래 논의된 바와 같은 하나의 컴포넌트로 결합된 2개의 맵 디코더(435)와 유사하게 기능한다. 그러나, 카테고리 맵(230) 및 신뢰도 맵(235)은 STMP(365)에서 수정자(755A 및 755B)를 생성하기 전에 추가적인 다운스케일러(360) 및 프런트 엔드(FE)(705)를 통과할 수도 있다. 다운스케일러(360)에 의해 제공되는 추가적인 다운스케일링은, 업스케일러(750A 및 750B)에 의해 업스케일될 때, 상이한 설정 사이의 경계에 블러링 효과를 효과적으로 생성한다. STMP(365)는, 일부 경우에, 로우 패스 필터(445)보다 더 강한 로우 패스 필터(745A 및 745B)를 또한 사용할 수 있으며, 이는 천이에서 밴딩을 감소시키기 위해 상이한 설정들 사이의 천이를 더 평활화할 수 있다. 일부 예들에서, 로우 패스 필터 (745A 및 745B) 는 Gaussian 블러 필터를 포함할 수도 있다. 일부 예에서, 로우 패스 필터(745A 및 745B)는 다른 유형의 필터 또는 블러링 효과, 이를테면 평균 필터, 박스 블러, 렌즈 블러, 방사형 블러, 모션 블러, 형상 블러, 스마트 블러, 표면 블러 또는 이들의 조합으로 보충되거나 또는 이로 대체될 수도 있다.
맵 디코더(435) STMP(365)와 유사하게, 라인 버퍼(710)는 카테고리 맵(230)을 카테고리 기반 수정자(765A 및 765B)의 2개의 생성기(730A 및 730B)로 라우팅하며, 이들 각각은 카테고리 기반 수정자(465)의 생성기(430)와 유사하게 기능한다. 라인 버퍼(710)는 신뢰도 맵(235)을 카테고리 기반 수정자(765A 및 765B)에 대한 블렌딩 업데이트의 2개의 생성기(735A 및 735B)로 라우팅하며, 이들 각각은 카테고리 기반 수정자(465)에 대한 블렌딩 업데이트의 생성기(435)와 유사하게 기능한다. 카테고리-신뢰도 블렌딩 동작(740A)은 카테고리-신뢰도 블렌딩 동작(440)과 유사하게 카테고리 기반 수정자(765A)에 대한 블렌딩 업데이트와 카테고리 기반 수정자(765A)를 블렌딩한다. 결과적인 블렌딩된 수정자는 로우 패스 필터(745A)에 의해 필터링되고 업스케일러(750A)에 의해 업스케일링되어, (수정자(347B)의 예인) 매끄러운 천이(755A)를 갖는 수정자를 생성한다. 매끄러운 천이(755A)을 갖는 수정자는 수정자(347A) 대신에 STMP(365)에서 TM 모듈(340)로 전송된다. 마찬가지로, 카테고리-신뢰도 블렌딩 동작(740B)은 카테고리-신뢰도 블렌딩 동작(440)과 유사하게 카테고리 기반 수정자(765B)에 대한 블렌딩 업데이트와 카테고리 기반 수정자(765B)를 블렌딩한다. 결과적인 블렌딩된 수정자는 로우 패스 필터(745B)에 의해 필터링되고 업스케일러(750B)에 의해 업스케일링되어, (수정자(357B)의 예인) 매끄러운 천이(755B)를 갖는 수정자를 생성한다. 매끄러운 천이(755B)를 갖는 수정자는 수정자(347B) 의 예로서 STMP(365)에서 CS 모듈(350)로 전송된다.
TM 모듈(340)은 CS 모듈(350)로 전송되는 TM 프로세싱된 이미지 데이터(770B)를 생성하기 위해 매끄러운 천이(755A)을 갖는 수정자에 기초하여 샤프닝 프로세싱된 이미지 데이터(770A)를 프로세싱한다. CS 모듈(350)은, 프로세싱된 이미지(250)일 수 있거나 또는 프로세싱된 이미지(250)를 생성하기 위해 추가 프로세싱을 위해 ISP(240)에서의 다른 컴포넌트로 전송될 수 있는, CS 프로세싱된 이미지 데이터(770C)를 생성하기 위해 매끄러운 천이(755B)을 갖는 수정자에 기초하여 TM 프로세싱된 이미지 데이터(770B)를 프로세싱한다. 도면(700)에 예시되지 않았지만, STMP(365)는 또한 NR 모듈(320) 및/또는 샤프닝 모듈(325)을 위한 수정자를 생성하고 생성된 수정자를 이에 전달할 수도 있다. 일부 예에서, TM 모듈(340)은 STMP 기반 수정자(347B/755A) 및 맵 디코더 기반 수정자(347A) 둘 다를 병렬로 사용할 수 있고 저해상도 프로세싱 수정 + 고해상도 프로세싱 수정 둘 다를 향유할 수 있다. 일부 예에서, CS 모듈(350)은 STMP 기반 수정자(357B/755B) 및 맵 디코더 기반 수정자(357A) 둘 다를 병렬로 사용할 수 있고 저해상도 프로세싱 수정 + 고해상도 프로세싱 수정 둘 다를 향유할 수 있다.
도 8은 평활 천이 맵 프로세서를 사용하여 이미지 영역에 대응하는 수정자의 평활화를 예시하는 개념도이다. 특히, 도 8은 STMP(365)에 의해 상이한 스케일링을 사용하여 생성된 도 6의 하늘 이미지 영역(625)에 기초하여 생성된 수정자의 4가지 버전을 예시한다. 제 1 수정자(810)는 1:1 스케일링을 사용하여 생성되며, 이는 다운스케일러(360)가 생략되었거나 또는 카테고리 맵(230) 및/또는 신뢰도 맵(235)의 다운스케일링을 수행하지 않는다는 것을 의미한다. 그 결과, 하늘 이미지 영역(625)에 대응하는 제 1 수정자(810)에서의 영역과 제 1 수정자(810)에서의 다른 영역 사이의 경계가 선명하다.
제 2 수정자(820)는 1:4 스케일링을 사용하여 생성되며, 이는 다운스케일러(360)가 카테고리 맵(230) 및/또는 신뢰도 맵(235)을 카테고리 맵(230) 및/또는 신뢰도 맵(235) 의 원래 크기(들)의 1/4로 다운스케일링함을 의미한다. 그 결과, 하늘 이미지 영역(625)에 대응하는 제 2 수정자(820)에서의 영역과 제 2 수정자(820)에서의 다른 영역 사이의 경계는 제 1 수정자(810)에서의 동일한 경계보다 흐릿하다. 유사하게, 1:16 스케일링은 제 3 수정자(830)를 생성하기 위해 다운스케일러(360)에 의해 사용되어, 카테고리 맵(230) 및/또는 신뢰도 맵(235)은 그들의 원래 크기의 1/16으로 다운스케일링된다. 따라서 제 3 수정자(830)에서의 경계는 제 2 수정자(820)에서의 경계보다 흐릿하다. 마지막으로, 1:64 스케일링은 제 4 수정자(840)를 생성하기 위해 다운스케일러(360)에 의해 사용되어, 카테고리 맵(230) 및/또는 신뢰도 맵(235)은 그들의 원래 크기의 1/64로 다운스케일링된다. 따라서, 제 4 수정자(840)에서의 경계는 제 3 수정자(830)에서의 경계보다 흐릿하다. 도 8에 예시된 것보다 훨씬 더 높은 수준의 다운스케일링, 이를테면 1:256 스케일링이 가능하다. 1:3 스케일링, 1:6 스케일링, 1:10 스케일링, 1:32 스케일링, 1:50 스케일링, 1:100 스케일링 또는 1:128 스케일링과 같은 임의의 앞서 논의된 수준의 다운스케일링 사이의 다운스케일링 수준도 마찬가지로 가능하다.
도 9는 카테고리 맵 업스케일러(CMUS) (905) 파이프라인을 예시하는 도면 (900) 이다. 카테고리 맵(230)에 있는 모든 값은 오브젝트의 특정 카테고리를 나타내기 때문에, 일반적으로 쌍선형 또는 쌍입방 보간과 같은 보간 기반 업스케일링을 사용하여 카테고리 맵(230)을 업스케일링할 수 없다. 보간은 오브젝트의 의도하지 않은 카테고리 또는 오브젝트의 비존재 카테고리를 나타낼 수도 있는 중간 값을 생성할 수 있다. 예를 들어, 2의 값을 갖는 픽셀이 4의 값을 갖는 픽셀에 이웃하는 카테고리 맵이 존재할 수도 있다. 예를 들어, 2의 값은 오브젝트의 하늘 카테고리를 나타내는 한편, 4의 값은 오브젝트의 식물 카테고리를 나타낼 수도 있다. 보간을 이용한 업스케일링은 2의 값을 갖는 픽셀과 4의 값을 갖는 픽셀 사이에 3의 값을 갖는 픽셀을 생성할 수도 있다. 3의 값은 하늘이나 식물과는 완전히 상이한 ISP 튜닝 설정에 대응할 수도 있는 패브릭과 같은 오브젝트의 또 다른 카테고리를 나타낼 수도 있고, 오브젝트 카테고리화에 기초한 이미지 프로세싱에 사용되는 경우 시각적 아티팩트를 초래할 수도 있다. 다르게는, 3의 값은 오브젝트의 임의의 알려진 카테고리를 전혀 나타내지 않을 수도 있으며, 이는 오브젝트 카테고리화에 기초하여 이미지 프로세싱에 사용되는 경우 오류 또는 시각적 아티팩트를 초래할 수도 있다.
보간 기반 업스케일링에서 발생하는 문제 없이 카테고리 맵을 업스케일링하는 데 사용할 수 있는 한 가지 방법은 최근접 이웃(NN) 업스케일링이다. NN 업스케일링은 중간 값을 생성하지 않는다. 그러나, NN 업스케일링은 선명한, 블록키 에지(blocky edge)를 생성할 수 있다. 때로는 사람의 눈썹, 그림자 또는 옷 끈과 같이 이미지에 묘사된 좁고 구부러진 오브젝트가 NN 업스케일링의 결과로 특히 블록키하고 부정확하게 보일 수 있다. 공간 가중치 필터링으로 수정된 NN이라고도 하는 CMUS(Category map upscaling)는 중간 값과 같은 보간과 연관된 문제를 도입하지 않고서 카테고리 맵을 보다 정확하게 업스케일링한다. 업스케일링의 개선은 특히 이미지 영역 사이의 경계와 좁은 이미지 영역에서 두드러진다.
개념도(900)의 CMUS(905) 파이프라인은 필터 및 업스케일 동작(920) 및 필터 크기 결정 동작(910)에 대한 카테고리 맵(230) 입력을 사용한다. 필터 크기 결정 동작(910)은 2x2 픽셀, 4x2 픽셀, 2x4 픽셀 또는 4x4 픽셀의 크기를 갖는 필터와 같이 주어진 픽셀을 업스케일링하기 위한 필터 크기 세트 중 하나를 적응적으로 선택할 수 있다. 더 미세한 디테일을 유지하기 위해, 카테고리 맵(230)에서 좁거나 작은 이미지 영역에 더 작은 필터가 사용된다. 신뢰도 맵(235)에 기초한 이웃 가중치(915)는 필터 및 업스케일 동작(920)에 제공된다. 2배화(x2) 업스케일링(970) 및 4배화(x4) 업스케일링(975)이 있는 2개의 예가 예시되어 있으며, 원형 포인트(픽셀)는 정사각형 포인트의 카테고리에서의 신뢰도, 정사각형 포인트로부터 원형 포인트까지의 거리, 이들의 조합에 기초으로 정사각형 포인트(이웃 픽셀)로부터 보간된다.
카테고리 당 누적 가중치를 동작(925)에서 산출한다. 이 산출의 일례가 예(965)에 제공된다. 신뢰 맵(235)에서 더 낮은 수준의 신뢰도를 갖는 이웃 픽셀은 신뢰도 맵(235)에서 더 높은 수준의 신뢰도를 갖는 이웃 픽셀보다 이웃 가중치(915)에서 더 낮은 가중치를 가질 수 있고, 따라서 가중치 합계에 더 적게 기여할 수 있다. 업스케일링되는 픽셀(들)에서 더 멀리 있는 이웃 픽셀은 업스케일링되는 픽셀(들)에 더 가까운 이웃 픽셀보다 낮은 가중치를 가질 수 있으므로, 가중치 합계에 더 적게 기여할 수 있다. 즉, 업스케일링되는 픽셀(들)에 더 가까운 이웃 픽셀은 업스케일링되는 픽셀(들)에서 더 멀리 있는 이웃 픽셀보다 더 높은 가중치를 가질 수 있다. 동작(930)에서, 최대 가중치를 갖는 카테고리는 업스케일링된 카테고리 맵(950)에서 업스케일링된 픽셀에 사용된다. 일부 예에서, 업스케일러(310)는 NN 업스케일링, CMUS 업스케일링 또는 이들의 일부 조합을 사용하여 업스케일링을 수행할 수 있다. 일부 예에서, 업스케일러(450, 750A, 및 750B) 중 하나 이상은 NN 업스케일링, CMUS 업스케일링, 본 명세서에서 논의된 또 다른 업스케일링 기술, 또는 이들의 일부 조합을 사용하여 업스케일링을 수행할 수 있다.
도 10은 최근접 이웃 업스케일링을 이용하여 업스케일링된 카테고리 맵과 CMUS(category map upscaler) (905) 를 이용하여 적용된 공간 가중치 필터링으로 수정된 최근접 이웃 업스케일링을 이용하여 업스케일링된 동일 카테고리 맵간의 비교를 예시하는 도면이다. 도 10에서의 카테고리 맵은 동일한 이미지- 남자 사진, 여자 사진, 3개의 펜, ?? 테블릿 디바이스의 코너가 책상 위에 놓여 있는 책상 표면의 이미지 - 에 기초한다. 카테고리 맵 둘 다는 상이한 회색 음영을 사용하여 묘사된 다양한 이미지 영역을 포함한다. 도 10에서의 제 1 카테고리 맵(1010)은 NN 업스케일링을 사용하여 업스케일링된다. 제 1 카테고리 맵(1010)에서의 다양한 이미지 영역의 경계는 NN 업스케일링의 사용으로 인해 극히 블록키하고 들쭉날쭉하다.
도 10의 제 2 카테고리 맵(1020)은 제 1 카테고리 맵(1010)과 동일한 카테고리 맵이지만, 일반적인 최근접 이웃 업스케일링이 아닌 CMUS(Category Map Upscaling)를 이용하여 업스케일링된다. CMUS(Category map upscaling)는 또한, 공간 가중치 필터링으로 수정된 NN 업스케일링이라고도 한다. 그 결과, 상이한 이미지 영역간의 경계는 적절한 경우 더 둥글고 전체적으로 덜 블록키하다. 업스케일링 충실도의 개선은 사진에서 여성의 옷 끈을 나타내는 이미지 영역과 같은 좁은 이미지 영역에서 특히 두드러진다.
도 11은 다운스케일링 및 업스케일링 동작 동안 카테고리 맵에 대응하는 이미지 데이터의 예시적인 해상도를 예시하는 개념도(1100)이다. 개념도(1100)에서, 이미지 센서(205)에 의해 캡처된 미가공 이미지 데이터(1105)는 4K 해상도 더하기 EIS(Electronic Image Stabilization) 마진을 가져, 4800x2700 해상도를 생성한다. 미가공 이미지 데이터는 동작(1110)에서 848x480의 해상도로 다운스케일링된다. 이것은 다운스케일러를 사용하여 수행될 수도 있는 도 2의 미가공 이미지 데이터(215)의 제 2 카피에 예시된 다운스케일링이다. 이 다운스케일러는 이미지 센서(205)의 일부이거나, 분류 엔진(220)에, ISP(240)에, 또는 도 2에 예시되지 않은 다른 구성요소에 있을 수도 있다. 분류 엔진(220)은 동작(1110)으로부터 다운스케일링된 이미지 데이터를 동작(1115)에서 이미지 영역으로 파티셔닝하여 카테고리 맵(1120)을 생성하고 이는 또한 848x480의 해상도를 갖는다. 개념도(1100)의 예에서, 카테고리 맵(1120)은 NN 업스케일링 동작(1125)을 사용하여 1200x675의 해상도로 한번 업스케일링된다. 이 한번 업스케일링된 카테고리 맵은 CMUS 업스케일링 동작(1130)을 사용하여 다시 1920x1080의 해상도로 업스케일링된다. 일부 예에서, 업스케일러(310)는 업스케일링 동작(1125 및/또는 1130) 중 하나 또는 둘 다를 수행할 수 있다. 일부 예에서, 분류 엔진(220)에서의 업스케일러는 업스케일링 동작(1125 및/또는 1130) 중 하나 또는 둘 다를 수행할 수 있다. 일부 예에서, ISP(240)에서의 업스케일러는 업스케일링 동작(1125 및/또는 1130) 중 하나 또는 둘 다를 수행할 수 있다.
도 12a는 이미지 프로세싱 기술을 예시하는 흐름도(1200)이다. 흐름도(1200)에 예시된 이미지 프로세싱 기술은 디바이스에 의해 수행될 수도 있다. 디바이스는 이미지 캡처 및 프로세싱 디바이스(100), 이미지 캡처 디바이스(105A), 이미지 프로세싱 디바이스(105B), 분류 엔진(220), ISP(240), 이미지 센서(205), 클라우드 서비스의 하나 이상의 네트워크 서버, 컴퓨팅 시스템(1500) 또는 이들의 일부 조합일 수도 있다.
동작(1205)에서, 이미지 프로세싱 기술의 일부로서, 디바이스는 이미지 센서(205)에 의해 캡처된 이미지 데이터를 수신한다. 일부 경우에, 디바이스는 이미지 센서(205)에 커플링된 커넥터를 포함할 수도 있고, 이미지 데이터는 커넥터를 사용하여 수신될 수도 있다. 커넥터는 포트, 잭, 와이어, 입력/출력(IO) 핀, 인쇄 회로 판(PCB) 상의 전도성 트레이스, 본 명세서에서 논의된 임의의 다른 유형의 커넥터, 또는 이들의 일부 조합을 포함할 수도 있다. 일부 경우에, 디바이스는 이미지 센서 (205) 를 포함할 수도 있다.
일부 예에서, 이미지 데이터는 미가공 이미지 데이터일 수 있다. 일부 예에서, 디바이스는 이미지 데이터를 디모자이킹할 수 있다. 하나의 예시적인 예에서, 디바이스는 동작(1205)에서 이미지 데이터를 수신한 후 그러나 다른 동작들(1210-1235) 중 적어도 하나 전에 이미지 데이터를 디모자이킹할 수 있다. 일부 예에서, 디바이스는 이미지 데이터를 제 1 색 공간에서 제 2 색 공간으로 변환할 수 있다. 하나의 예시적인 예에서, 디바이스는 동작(1205)에서 이미지 데이터를 수신한 후 그러나 다른 동작(1210-1235) 중 적어도 하나 전에 이미지 데이터를 제 1 색 공간에서 제 2 색 공간으로 변환할 수 있다. 일부 예에서, 제 2 색 공간은 YUV 색 공간이다. 일부 예에서, 제 2 색 공간은 RGB 색 공간이다. 일부 예에서 제 1 색 공간은 RGB 색 공간이다. 일부 예에서, 제 1 색 공간은 Bayer 색 공간 또는 이미지 센서(205) 위의 하나 이상의 색 필터와 연관된 다른 색 공간이다.
동작(1210)에서, 이미지 프로세싱 기술의 일부로서, 디바이스는 이미지 데이터에서의 제 1 오브젝트 이미지 영역이 복수의 카테고리의 오브젝트 중 제 1 카테고리의 오브젝트를 묘사하는 것으로 결정한다. 동작(1215)에서, 이미지 프로세싱 기술의 일부로서, 디바이스는 이미지 데이터에서의 제 2 오브젝트 이미지 영역이 복수의 카테고리의 오브젝트 중 제 2 카테고리의 오브젝트를 묘사하는 것으로 결정한다.
동작(1220)에서, 이미지 프로세싱 기술의 일부로서, 디바이스는 이미지 데이터를 제 1 오브젝트 이미지 영역 및 제 2 오브젝트 이미지 영역을 포함하는 복수의 오브젝트 이미지 영역으로 파티셔닝함으로써 카테고리 맵(230)을 생성한다. 복수의 영역 각각은 복수의 카테고리의 오브젝트 중 하나에 대응한다(예를 들어, 제 1 영역은 제 1 오브젝트에 대응하고, 제 2 영역은 제 2 오브젝트에 대응하는 등). 일부 양태에서, 디바이스는 또한 이미지 데이터를 다운스케일링함으로써 이미지 데이터의 다운스케일링된 카피를 생성한다. 이미지 데이터에 기초하여 카테고리 맵을 생성하는 것은 이미지 데이터의 다운스케일링된 카피에 기초하여 카테고리 맵을 생성하는 것을 포함한다.
흐름도(1200)에 예시되지 않았지만, 동작(1220)은 또한 이미지 데이터에 기초하여 신뢰도 맵(235)을 생성하는 것을 포함할 수 있다. 신뢰도 맵(235)은 이미지 데이터의 복수의 부분에 대응하는 복수의 신뢰도 수준을 식별한다. 복수의 신뢰도 수준 중 각각의 신뢰도 수준은 복수의 부분 중 대응하는 부분이 복수의 카테고리의 오브젝트 중 하나를 묘사한다고 결정함에 있어서 신뢰도의 정도를 식별한다. 일례에서, 신뢰도 맵(235) 및 카테고리 맵(230)은 각 픽셀에 대한 단일 값을 저장하는 단일 파일이다. 그 값에서의 제 1 복수의 비트는 분류 엔진(220)이 묘사하는 것으로 픽셀을 분류하는 오브젝트의 카테고리를 나타낸다. 그 값에서 제 2 복수의 비트는 오브젝트의 카테고리를 묘사하는 것으로 픽셀을 분류함에 있어서 분류 엔진(220)의 신뢰도를 나타낸다. 다른 예에서, 신뢰도 맵(235) 및 카테고리 맵(230)은 픽셀 당 2개의 값을 저장하는 단일 파일이며, 여기서 하나의 값은 오브젝트의 카테고리를 나타내고 다른 하나의 값은 신뢰도를 나타낸다.
일부 양태에서, 디바이스는 카테고리 맵을 또한 업스케일링한다. 일부 예에서, 카테고리 맵을 업스케일링하는 것은 카테고리 맵을 이미지 데이터 및 이미지 중 적어도 하나의 크기에 매칭하는 크기로 업스케일링하는 것을 포함할 수 있다. 일부 예에서, 카테고리 맵은 최근접 이웃 업스케일링을 사용하거나 또는 수정된 최근접 이웃 업스케일링(예를 들어, 본 명세서에서 카테고리 맵 업스케일링(CMUS)이라고도 지칭될 수도 있는 공간 가중치 필터링으로 수정됨)을 사용하여 업스케일링될 수 있다. 공간 가중치 필터링으로 수정된 최근접 이웃 업스케일링을 사용하여 카테고리 맵을 업스케일링하는 것은 제 1 오브젝트 이미지 영역에 대응하는 제 1 필터 크기 및 제 2 오브젝트 이미지 영역에 대응하는 제 2 필터 크기를 식별하는 것을 포함할 수 있다. 제 1 필터 크기는 제 2 필터 크기보다 작다. 공간 가중치 필터링으로 수정된 최근접 이웃 업스케일링을 사용하여 카테고리 맵을 업스케일링하는 것은 제 1 오브젝트 이미지 영역 내의 제 1 픽셀을, 제 1 필터 크기 및 제 1 픽셀에 이웃하는 하나 이상의 픽셀에 대응하는 신뢰도 맵으로부터의 하나 이상의 신뢰도 값과 연관된 하나 이상의 가중치에 기초하여, 업스케일링하는 것을 포함할 수 있다. 공간 가중치 필터링으로 수정된 최근접 이웃 업스케일링을 사용하여 카테고리 맵을 업스케일링하는 것은 제 2 오브젝트 이미지 영역 내의 제 2 픽셀을, 제 2 필터 크기 및 제 2 픽셀에 이웃하는 하나 이상의 픽셀에 대응하는 신뢰도 맵으로부터 하나 이상의 신뢰도 값과 연관된 하나 이상의 가중치에 기초하여, 업스케일링하는 것을 포함할 수 있다.
동작(1225)에서, 이미지 프로세싱 기술의 일부로서, 디바이스는 제 1 카테고리의 오브젝트가 이미지 신호 프로세서(ISP)를 위한 제 1 튜닝 설정에 대응함을 식별한다. 동작(1230)에서, 이미지 프로세싱 기술은 제 2 카테고리의 오브젝트가 ISP를 위한 제 2 튜닝 설정에 대응함을 식별하는 것을 포함한다. 제 1 튜닝 설정 및 제 2 튜닝 설정은 이미지 데이터의 프로세싱 중에 NR(Noise Reduction) ISP 튜닝 파라미터가 적용되는 상이한 강도의 표시자를 포함할 수 있다. 제 1 튜닝 설정 및 제 2 튜닝 설정은 이미지 데이터의 프로세싱 중에 샤프닝 ISP 튜닝 파라미터가 적용되는 상이한 강도의 표시자를 포함할 수 있다. 제 1 튜닝 설정 및 제 2 튜닝 설정은 이미지 데이터 프로세싱 중에 색상 채도 (CS) ISP 튜닝 파라미터가 적용되는 상이한 강도의 표시자를 포함할 수 있다. 제 1 튜닝 설정 및 제 2 튜닝 설정은 이미지 데이터의 프로세싱 중에 톤 맵핑 (TM) ISP 튜닝 파라미터가 적용되는 상이한 강도의 표시자를 포함할 수 있다. 제 1 튜닝 설정 및 제 2 튜닝 설정은 이미지 데이터의 프로세싱 중에 감마 ISP 튜닝 파라미터가 적용되는 상이한 강도의 표시자를 포함할 수 있다. 제 1 튜닝 설정 및 제 2 튜닝 설정은 이미지 데이터의 프로세싱 중에 상이한 ISP 튜닝 파라미터가 적용되는 상이한 강도의 표시자를 포함할 수 있다. 상이한 ISP 튜닝 파라미터는 예를 들어, 이득, 휘도, 쉐이딩, 에지 향상, HDR(High Dynamic Range)을 위한 이미지 결합, 특수 효과 프로세싱(예: 배경 교체, 보케 효과), 인공 노이즈 가산기, 디모자이킹, 에지 지향 업스케일링, 본 명세서에서 논의된 다른 프로세싱 파라미터, 또는 이들의 조합을 포함할 수 있다.
일부 경우에, 전술한 바와 같이, 제 1 설정, 제 2 설정, 및/또는 제 1 및 제 2 튜닝 설정은 제 1 오브젝트 이미지 영역 및 제 2 오브젝트 이미지 영역과 연관된 사용자 입력에 기초하여 정의된다. 일부 경우에, 전술한 바와 같이, 제 1 설정 및 제 2 설정 중 적어도 하나가 자동으로 결정된다.
동작(1235)에서, 이미지 프로세싱 기술의 일부로서, 디바이스는 카테고리 맵에 기초하여 튜닝된 ISP를 이용하여 이미지 데이터를 프로세싱하여 이미지를 생성한다. 예를 들어, ISP는 제 1 튜닝 설정을 이용하여 이미지 데이터에서 제 1 오브젝트 이미지 영역을 프로세싱할 수 있다. ISP는 제 2 튜닝 설정을 이용하여 이미지 데이터에서 제 2 오브젝트 이미지 영역을 프로세싱할 수 있다. 일부 경우에, 이미지를 생성하는 것은 카테고리 맵 및 신뢰도 맵에 기초하여 튜닝된 ISP를 사용하여 미가공 이미지 데이터를 프로세싱하는 것을 포함한다.
일부 양태에서, 디바이스는 또한 카테고리 맵에 기초하여 하나 이상의 수정자를 생성한다. 하나 이상의 수정자는 제 1 편차 또는 제 2 편차 중 적어도 하나를 식별한다. 제 1 편차는 ISP가 이미지 데이터를 프로세싱하는 동안 제 1 오브젝트 이미지 영역에 적용하는 디폴트 설정과의 편차이다. 제 2 편차는 ISP가 이미지 데이터를 프로세싱하는 동안 제 2 오브젝트 이미지 영역에 적용하는 디폴트 ISP 튜닝 설정과의 편차이다. 일부 양태에서, ISP는 하나 이상의 수정자 및 디폴트 튜닝 설정의 산술 함수를 수행함으로써 제 1 편차 또는 제 2 편차 중 적어도 하나를 식별한다. 산술 함수는 승산 함수, 가산 함수, 감산 함수, 제산 함수 또는 이들의 일부 조합 중 적어도 하나를 포함할 수 있다. 승산 함수는 예를 들어 도 5a에 예시된 바와 같이 하나 이상의 수정자에 디폴트 튜닝 설정을 승산할 수 있다. 합산 함수은 예를 들어 도 5c에 예시된 바와 같이 디폴트 튜닝 설정에 하나 이상의 수정자를 가산할 수 있다. 감산 함수는 디폴트 튜닝 설정으로부터 하나 이상의 수정자를 감산할 수 있거나 그 반대로 마찬가지이다. 제산 함수는 디폴트 튜닝 설정을 하나 이상의 수정자로 제산할 수 있거나 그 반대로 마찬가지이다. 일부 양태에서, ISP는 예를 들어 도 5c에 예시된 바와 같이 디폴트 설정을 포함하는 미리 결정된 가능한 설정의 목록의 증분에 기초하여 제 1 편차 및 제 2 편차 중 적어도 하나를 식별하고, 증분은 수정자에 기초한다. 일부 양태에서, 디바이스는 또한 카테고리 맵에 기초하여 하나 이상의 수정자를 생성하기 전에 카테고리 맵을 다운스케일링할 수 있다.
디바이스는 신뢰도 맵에 대응하는 정보와 하나 이상의 수정자를 블렌딩하여 하나 이상의 블렌딩된 수정자를 생성할 수 있다. 디바이스는 로우 패스 필터를 사용하여 하나 이상의 블렌딩된 수정자를 필터링함으로써 하나 이상의 필터링된 수정자를 생성할 수 있다. 디바이스는 하나 이상의 필터링된 수정자를 업스케일링하여 하나 이상의 업스케일링된 수정자를 생성할 수 있다. 동작(1235)에서와 같이 카테고리 맵에 기초하여 튜닝된 ISP를 이용하여 이미지 데이터를 프로세싱하는 것은 하나 이상의 수정자, 하나 이상의 블렌딩된 수정자, 하나 이상의 필터링된 수정자, 하나 이상의 업스케일링된 수정자 또는 이들의 일부 조합을 사용하여 이미지 데이터를 프로세싱하는 것을 포함할 수 있다.
흐름도(1200)에 예시된 이미지 프로세싱 기술은 또한 흐름도(1250, 1300 및/또는 1400) 중 어느 것에 예시되거나 또는 그에 대해 논의된 임의의 동작을 포함할 수도 있다.
도 12b는 이미지 프로세싱 기술을 예시하는 흐름도(1250)이다. 흐름도(1250)에 예시된 이미지 프로세싱 기술은 디바이스에 의해 수행될 수도 있다. 디바이스는 이미지 캡처 및 프로세싱 디바이스(100), 이미지 캡처 디바이스(105A), 이미지 프로세싱 디바이스(105B), 분류 엔진(220), ISP(240), 이미지 센서(205), 클라우드 서비스의 하나 이상의 네트워크 서버, 컴퓨팅 시스템(1500) 또는 이들의 일부 조합일 수도 있다.
동작(1255)에서, 이미지 프로세싱 기술의 일부로서, 디바이스는 이미지 센서(205)에 의해 캡처된 이미지 데이터를 수신한다. 흐름도(1200)의 동작(1205)은 흐름도(1250)의 동작(1255)의 예일 수도 있다.
동작(1250)에서, 이미지 프로세싱 기술의 일부로서, 디바이스는 이미지 데이터에서의 오브젝트 제 1 이미지 영역이 복수의 카테고리의 오브젝트 중 제 1 카테고리의 오브젝트를 묘사하는 것으로 결정한다. 흐름도(1200)의 동작(1210)은 흐름도(1250)의 동작(1260)의 예일 수도 있다.
동작(1265)에서, 이미지 프로세싱 기술의 일부로서, 디바이스는 이미지 데이터에서의 제 2 오브젝트 이미지 영역이 복수의 카테고리의 오브젝트 중 제 2 카테고리의 오브젝트를 묘사하는 것으로 결정한다. 흐름도(1200)의 동작(1215)은 흐름도(1250)의 동작(1265)의 예일 수도 있다.
동작(1270)에서, 이미지 프로세싱 기술의 일부로서, 디바이스는 이미지 데이터의 복수의 신뢰도 이미지 영역에 대응하는 복수의 신뢰도 수준을 식별하고, 여기서 복수의 신뢰도 수준 중 각각의 신뢰도 수준은 복수의 신뢰도 이미지 영역 중 대응하는 신뢰도 이미지 영역이 복수의 카테고리의 오브젝트 중 하나를 묘사하는 신뢰도를 식별한다. 흐름도(1200)의 동작(1220)은 흐름도(1250)의 동작(1270)을 포함할 수도 있다.
동작(1275)에서, 이미지 프로세싱 기술의 일부로서, 디바이스는 이미지 캡처 프로세스를 위한 상이한 설정을 이미지 데이터의 상이한 부분에 적용하는 것에 의한 것을 포함하는 이미지 캡처 프로세스를 사용하여 이미지 데이터에 기초하여 이미지를 생성하고, 이미지 데이터의 상이한 부분은 제 1 오브젝트 이미지 영역, 제 2 오브젝트 이미지 영역, 및 복수의 신뢰도 이미지 영역에 기초하여 식별된다. 흐름도(1250)의 동작(1275)은 일부 예에서, 흐름도(1200)의 동작(1220, 1225, 1230, 및/또는 1235) 중 적어도 하나의 적어도 서브세트를 포함할 수도 있다. 예를 들어, 이미지 데이터의 상이한 부분 중 일부는 서로 상이한 신뢰도 수준을 갖는 제 1 오브젝트 이미지 영역의 상이한 부분일 수도 있다. 이미지 데이터의 상이한 부분 중 일부는 서로 상이한 신뢰도 수준을 갖는 제 2 오브젝트 이미지 영역의 상이한 부분일 수도 있다. 이미지 데이터의 상이한 부분 중 일부는 제 1 오브젝트 이미지 영역 및/또는 제 2 오브젝트 이미지 영역의 밖에 있을 수도 있다.
일부 예에서, 이미지 캡처 프로세스는 하나 이상의 수정자를 생성하는 것을 포함한다. 하나 이상의 수정자는 제 1 오브젝트 이미지 영역에 대한 이미지 캡처 프로세스를 위한 디폴트 설정으로부터의 제 1 편차, 제 2 오브젝트 이미지 영역에 대한 이미지 캡처 프로세스를 위한 디폴트 설정으로부터의 제 2 편차, 또는 둘 다를 식별할 수도 있다. 이미지 캡처 프로세스를 위한 상이한 설정은 하나 이상의 수정자에 기초할 수 있다. 디폴트 설정은 특정 파라미터(예: ISP 매개변수)가 적용되는 디폴트 강도일 수 있으며, 각각의 수정자에 대응하는 각각의 편차는 그 디폴트 강도의 약화 또는 강화를 나타낼 수도 있다. 일부 예에서, 이미지 프로세싱 기술의 일부로서, 디바이스는 하나 이상의 수정자를 조정한다. 하나 이상의 수정자를 조정하는 것은 복수의 신뢰도 이미지 영역에 대응하는 복수의 신뢰도 수준에 기초하는 블렌딩 업데이트(예를 들어, 도 4의 생성기(435)에 의해 생성된 블렌딩 업데이트)와 하나 이상의 수정자를 블렌딩하는 것을 포함할 수 있다. 블렌딩 업데이트와 하나 이상의 수정자를 블렌딩하는 것은 이미지 데이터의 적어도 하나의 영역에서 제 1 편차 및 제 2 편차 중 적어도 하나를 조정할 수 있다. 수정은 특정 파라미터(예: ISP 파라미터)가 적용되는 강도를 더 약화시키거나 강화할 수 있다.
일부 예에서, 이미지 프로세싱 기술의 일부로서, 디바이스는 이미지 데이터를 제 1 오브젝트 이미지 영역 및 제 2 오브젝트 이미지 영역을 포함하는 복수의 오브젝트 이미지 영역으로 파티셔닝하는 카테고리 맵을 생성한다. 복수의 오브젝트 이미지 영역 중 각각의 오브젝트 이미지 영역은 복수의 카테고리의 오브젝트 중 하나에 대응한다. 디바이스는 제 1 카테고리의 오브젝트가 이미지 캡처 프로세스를 위한 제 1 설정에 대응하는 것을 식별할 수 있다. 디바이스는 제 2 카테고리의 오브젝트가 이미지 캡처 프로세스를 위한 제 2 설정에 대응함을 식별할 수 있다. 일부 예에서, 이미지 프로세싱 기술의 일부로서, 디바이스는 이미지 데이터를 복수의 신뢰도 수준에 대응하는 복수의 신뢰도 이미지 영역으로 파티셔닝하는 신뢰도 맵을 생성한다. 이미지 데이터의 상이한 부분은 카테고리 맵 및 신뢰도 맵에 기초하여 (예를 들어, 디바이스에 의해) 식별될 수 있다.
일부 예에서, 이미지 캡처 프로세스는 동작(1235)의 이미지 데이터의 프로세싱을 포함할 수 있다. 일부 예에서, 이미지 캡처 프로세스를 위한 제 1 설정은 동작(1225 및 1235)과 관련하여 논의된 제 1 튜닝 설정일 수 있다. 일부 예에서, 이미지 캡처 프로세스를 위한 제 2 설정은 동작(1230 및 1235)과 관련하여 논의된 제 2 튜닝 설정일 수 있다.
일부 예에서 이미지 캡처 프로세스는 이미지 신호 프로세서(ISP)를 사용하여 이미지 데이터를 프로세싱하는 것을 포함한다. 이미지 캡처 프로세스를 위한 상이한 설정은 ISP 를 위한 상이한 타이밍 설정일 수 있다. 일부 예에서, ISP를 위한 상이한 튜닝 설정은 ISP를 사용하여 이미지 데이터를 프로세싱하는 동안 ISP 튜닝 파라미터가 적용되는 상이한 강도를 포함한다. ISP 튜닝 파라미터는 예를 들어 노이즈 감소, 샤프닝, 색상 채도, 색상 맵핑, 색상 프로세싱, 및 톤 맵핑 중 하나일 수 있다. 일부 예에서, 상이한 설정은 렌즈 포지션, 플래시, 포커스, 노출, 화이트 밸런스, 조리개 크기, 셔터 속도, ISO, 아날로그 이득, 디지털 이득, 디노이징, 샤프닝, 톤 맵핑, 색상 채도, 디모자이킹, 색 공간 변환, 쉐이딩, 에지 향상, HDR(High Dynamic Range)을 위한 이미지 결합, 특수 효과, 인공 노이즈 추가, 에지 지향 업스케일링, 업스케일링, 다운스케일링, 전자 이미지 안정화, 또는 이들 조합 중 적어도 하나와 연관된 설정을 포함한다. 일부 예에서, 디바이스는 이미지 데이터를 프로세싱한다. 이미지 데이터를 프로세싱하는 것은 이미지 데이터를 디모자이킹하는 것 및/또는 이미지 데이터를 제 1 색 공간에서 제 2 색 공간으로(예를 들어, Bayer 색 공간, RGB 색 공간, 및/또는 YUV 색 공간 사이에서) 변환하는 것을 포함할 수 있다.
일부 예에서, 이미지 프로세싱 기술의 일부로서, 디바이스는 제 1 오브젝트 이미지 영역 및 제 2 오브젝트 이미지 영역 중 적어도 하나와 연관된 사용자 입력을 수신한다. 상이한 설정들 중 적어도 하나는 사용자 입력에 기초하여 정의될 수 있으며, 제 1 오브젝트 이미지 영역 또는 제 2 오브젝트 이미지 영역 중 어느 일방에 대응될 수 있다. 일부 예에서, 이미지 캡처 프로세스를 위한 상이한 설정을 이미지 데이터의 상이한 부분에 적용하는 것은 이미지 신호 프로세서(ISP)를 사용하여 이미지 캡처 프로세스를 위한 상이한 설정을 이미지 데이터의 상이한 부분에 적용하는 것을 포함한다. 일부 예에서, 제 1 오브젝트 이미지 영역 및 제 2 오브젝트 이미지 영역을 식별하는 것은 ASIC(application specific integrated circuit) 칩 상과 같은 집적 회로(IC) 칩 상에 적어도 부분적으로 배치된 분류 엔진을 사용하여 제 1 오브젝트 이미지 영역 및 제 2 오브젝트 이미지 영역을 식별하는 것을 포함한다. 일부 예에서, 이미지 프로세싱 기술의 일부로서, 디바이스는 디스플레이 상에 이미지를 표시한다.
흐름도(1250)에 예시된 이미지 프로세싱 기술은 또한 흐름도(1200, 1300 및/또는 1400) 중 어느 것에 예시되거나 또는 그에 대해 논의된 임의의 동작을 포함할 수도 있다.
도 13은 천이 평활화 기술을 예시하는 흐름도(1300)이다. 흐름도(1300)에 예시된 이미지 프로세싱 기술은 디바이스에 의해 수행될 수도 있다. 디바이스는 이미지 캡처 및 프로세싱 디바이스(100), 이미지 캡처 디바이스(105A), 이미지 프로세싱 디바이스(105B), 분류 엔진(220), ISP(240), 이미지 센서(205), 클라우드 서비스의 하나 이상의 네트워크 서버, 컴퓨팅 시스템(1500) 또는 이들의 일부 조합일 수도 있다.
동작(1305)에서, 천이 평활화 기술은 카테고리 맵 및 신뢰도 맵을 수신하는 것을 포함한다. 동작(1310)에서, 천이 평활화 기술은 카테고리 맵을 다운스케일링하는 것을 포함한다. 일부 예에서, 카테고리 맵이 다운스케일링되지 않도록 동작(1310)은 스킵될 수도 있다.
동작(1315)에서, 천이 평활화 기술은 카테고리 맵에 기초하여 하나 이상의 수정자를 생성하는 것을 포함한다. 예를 들어, 하나 이상의 수정자는 ISP가 이미지 데이터의 프로세싱 동안 제 1 이미지 영역에 적용하는 디폴트 설정으로부터의 제 1 편차 및 ISP가 이미지 데이터의 프로세싱 동안 제 2 이미지 영역에서 적용하는 디폴트 설정으로부터의 제 2 편차 중 적어도 하나를 식별한다. 도 5a, 도 5b, 및 도 5c에 예시된 내부 신호(540)는 디폴트 설정의 예를 나타낼 수도 있다. 카테고리 기반 수정자(465, 765A, 및 765B)는 카테고리 맵에 기초한 하나 이상의 수정자의 예를 나타낼 수도 있다. 생성기(430, 730A, 및 730B)는 동작(1315)를 수행할 수도 있다.
동작(1320)에서, 천이 평활화 기술은 신뢰도 맵에 대응하는 정보와 하나 이상의 수정자를 블렌딩하여 하나 이상의 블렌딩된 수정자를 생성하는 것을 포함한다. (예를 들어, 신뢰도에 따라 무연산 등가 수정자 값과 수정자를 블렌딩하는 것과 같이 블렌딩 인자로서 신뢰도를 사용하는) 카테고리-신뢰도 블렌딩 동작(440, 740A, 및 740B)은 동작(1320)의 예를 나타낼 수도 있다. 생성기(435, 735A, 및 735B)에 의해 생성된 카테고리 기반 수정자(465, 765A, 및 765B)에 대한 블렌딩 업데이트는 신뢰도 맵에 대응하는 정보의 예를 나타낼 수도 있다.
동작(1325)에서, 천이 평활화 기술은 로우 패스 필터(LPF)로 하나 이상의 블렌딩된 수정자를 필터링하여 하나 이상의 필터링된 수정자를 생성하는 것을 포함한다. LPF(445, 745A, 및 745B)는 동작(1325)의 LPF의 예를 나타낼 수도 있다.
동작(1330)에서, 천이 평활화 기술은 하나 이상의 필터링된 수정자를 업스케일링하여 하나 이상의 업스케일링된 수정자를 생성하는 것을 포함한다. 업스케일러(450, 750A, 및 750B)는 동작(1330)를 수행할 수도 있다.
동작(1335)에서, 천이 평활화 기술은 하나 이상의 업스케일링된 수정자에 기초하여 튜닝된 ISP를 사용하여 이미지 데이터를 프로세싱하는 것을 포함한다. 일례에서, 동작(1335)은 NR 모듈(320)의 NR 모듈 로직(405)과 같은 ISP 튜닝 파라미터 모듈의 모듈 로직에 의해 수행될 수도 있다.
일부 경우에, 흐름도(1300)의 동작(1305-1335) 중 하나 이상은 흐름도(1200)의 동작(1205-1235) 중 하나 이상을 수행하는 디바이스에 의해 수행될 수 있다. 일부 경우에, 도 13의 천이 평활화 기술은 도 12a의 이미지 프로세싱 기술의 일부일 수도 있다. 도 12a의 이미지 프로세싱 기술은 분류 엔진(220) 및/또는 ISP(240)의 동작 중 적어도 일부를 나타낼 수도 있다. 도 13의 천이 평활화 기술은 STMP(365) 및/또는 다운스케일러(360)의 동작 중 적어도 일부를 나타낼 수도 있다.
흐름도(1300)에 예시된 천이 평활화 기술은 또한 흐름도(1200, 1250 및/또는 1400) 중 어느 것에 예시되거나 또는 그에 대해 논의된 임의의 동작을 포함할 수도 있다.
도 14는 이미지 업스케일링 기술을 예시하는 흐름도(1400)이다. 흐름도(1400)에 예시된 이미지 프로세싱 기술은 디바이스에 의해 수행될 수도 있다. 디바이스는 이미지 캡처 및 프로세싱 디바이스(100), 이미지 캡처 디바이스(105A), 이미지 프로세싱 디바이스(105B), 분류 엔진(220), ISP(240), 이미지 센서(205), 클라우드 서비스의 하나 이상의 네트워크 서버, 컴퓨팅 시스템(1500) 또는 이들의 일부 조합일 수도 있다.
동작(1405)에서, 이미지 업스케일링 기술은 카테고리 맵 (230) 및 신뢰도 맵(235)을 수신하는 것을 포함한다. 일부 경우에, 카테고리 맵(230) 및 신뢰도 맵(235)은 이전에 논의된 바와 같이 각각의 픽셀에 대한 카테고리 정보 및 신뢰도 정보 둘 다를 갖는 단일 파일일 수도 있다.
동작(1410)에서, 이미지 업스케일링 기술은 카테고리 맵(230)의 제 1 이미지 영역 및 제 2 이미지 영역을 식별하는 것을 포함하고, 여기서 제 1 이미지 영역은 제 2 이미지 영역보다 좁다.
동작(1415)에서, 이미지 업스케일링 기술은 제 1 이미지 영역에 대응하는 제 1 필터 크기 및 제 2 이미지 영역에 대응하는 제 2 필터 크기를 식별하는 것을 포함하고, 여기서 제 1 필터 크기는 제 2 필터 크기보다 작다.
동작(1420)에서, 이미지 업스케일링 기술은 제 1 이미지 영역 내의 제 1 픽셀을, 제 1 필터 크기 및 제 1 픽셀에 이웃하는 하나 이상의 픽셀에 대응하는 신뢰도 맵(235)으로부터의 하나 이상의 신뢰도 값과 연관된 하나 이상의 가중치에 기초하여, 업스케일링하는 것을 포함한다. 신뢰도 수준은 신뢰도 수준 또는 신뢰도 정도라고 할 수도 있다.
동작(1425)에서, 이미지 업스케일링 기술은 제 2 이미지 영역 내의 제 2 픽셀을, 제 2 필터 크기 및 제 2 픽셀에 이웃하는 하나 이상의 픽셀에 대응하는 신뢰도 맵으로부터의 하나 이상의 신뢰도 값과 연관된 하나 이상의 가중치에 기초하여, 업스케일링하는 것을 포함한다.
흐름도(1400)에 예시된 이미지 업스케일링 기술은 또한 흐름도(1200, 1250 및/또는 1300) 중 어느 것에 예시되거나 또는 그에 대해 논의된 임의의 동작을 포함할 수도 있다.
일부 경우에, 흐름도(1400)의 동작(1405-1435) 중 하나 이상은 흐름도(1200)의 동작(1205-1235) 중 하나 이상을 수행하는 디바이스에 의해 수행될 수 있다. 일부 경우에, 도 14의 이미지 업스케일링 기술은 도 12a의 이미지 프로세싱 기술의 일부일 수도 있다. 도 12a의 이미지 프로세싱 기술은 분류 엔진(220) 및/또는 ISP(240)의 동작 중 적어도 일부를 나타낼 수도 있다. 도 14의 이미지 업스케일링 기술은 업스케일러(310)에서 사용될 수도 있는 CMUS(category map upscaler)(905)의 동작 중 적어도 일부를 나타낼 수도 있다.
일부 경우에, 흐름도(1200, 1250, 1300 및 1400)에 의해 예시된 기술의 적어도 서브세트는 클라우드 서비스의 하나 이상의 네트워크 서버에 의해 원격으로 수행될 수도 있다. 일부 예들에서, 본 명세서에서 설명된 프로세스들 (예컨대, 동작들 (200, 300, 400, 700, 900, 1100, 1200, 1250, 1300, 1400) 을 포함하는 프로세스들 및/또는 본 명세서에서 설명된 다른 프로세스(들)) 은 컴퓨팅 디바이스 또는 장치에 의해 수행될 수도 있다. 일례에서, 프로세스들 (200, 300, 400, 700, 900, 1100, 1200, 1250, 1300, 및/또는 1400) 은 도 1 의 이미지 캡처 디바이스 (105A) 에 의해 수행될 수 있다. 다른 예에서, 동작들 (200, 300, 400, 700, 900, 1100, 1200, 1250, 1300, 및/또는 1400) 을 포함하는 프로세스들은 도 1 의 이미지 프로세싱 디바이스 (105B) 에 의해 수행될 수 있다. 동작들 (200, 300, 400, 700, 900, 1100, 1200, 1250, 1300, 및/또는 1400) 을 포함하는 프로세스들은 또한, 도 1 의 이미지 캡처 및 프로세싱 시스템 (100) 에 의해 수행될 수 있다. 동작들 (200, 300, 400, 700, 900, 1100, 1200, 1250, 1300, 및/또는 1400) 을 포함하는 프로세스들은 도 15 에 도시된 컴퓨팅 시스템 (1500)의 아키텍처를 갖는 컴퓨팅 디바이스에 의해 수행될 수 있다. 컴퓨팅 디바이스는 임의의 적합한 디바이스, 예컨대, 모바일 디바이스 (예컨대, 모바일 폰), 데스크탑 컴퓨팅 디바이스, 태블릿 컴퓨팅 디바이스, 웨어러블 디바이스 (예컨대, VR 헤드셋, AR 헤드셋, AR 안경, 네트워크 연결형 시계 또는 스마트워치, 또는 다른 웨어러블 디바이스), 서버 컴퓨터, 자율주행 차량 또는 자율주행 차량의 컴퓨팅 디바이스, 로보틱 디바이스, 텔레비전, 및/또는 동작들 (200, 300, 400, 700, 900, 1100, 1200, 1250, 1300, 및/또는 1400) 을 포함하는 프로세스들을 포함하는, 본 명세서에 설명된 프로세스들을 수행하기 위한 리소스 능력들을 갖는 임의의 다른 컴퓨팅 디바이스를 포함할 수 있다. 일부 경우에서, 컴퓨팅 디바이스 또는 장치는 하나 이상의 입력 디바이스들, 하나 이상의 출력 디바이스들, 하나 이상의 프로세서들, 하나 이상의 마이크로프로세서들, 하나 이상의 마이크로컴퓨터들, 하나 이상의 카메라들, 하나 이상의 센서들, 및/또는 여기에 설명된 프로세스들의 단계들을 수행하도록 구성되는 다른 컴포넌트(들)과 같은 다양한 컴포넌트들을 포함할 수도 있다. 일부 예에서, 컴퓨팅 디바이스는 디스플레이, 데이터를 통신 및/또는 수신하도록 구성된 네트워크 인터페이스, 이들의 임의의 조합, 및/또는 다른 컴포넌트(들)를 포함할 수도 있다. 네트워크 인터페이스는 인터넷 프로토콜 (IP) 기반 데이터 또는 다른 유형의 데이터를 통신 및/또는 수신하도록 구성될 수도 있다.
컴퓨팅 디바이스의 컴포넌트들은 회로에서 구현될 수 있다. 예를 들어, 컴포넌트들은, 하나 이상의 프로그래밍가능 전자 회로들 (예컨대, 마이크로프로세서들, 그래픽 프로세싱 유닛들 (GPU들), 디지털 신호 프로세서들 (DSP들), 중앙 프로세싱 유닛들 (CPU들), 및/또는 다른 적합한 전자 회로들) 을 포함할 수 있는 전자 회로들 또는 다른 전자 하드웨어를 포함하거나 및/또는 이들을 사용하여 구현될 수 있거나, 및/또는 본 명세서에서 설명된 다양한 동작들을 수행하기 위해 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 임의의 조합을 포함하거나 및/또는 이들을 사용하여 구현될 수 있다.
개념도 및 흐름도(200, 300, 400, 700, 900, 1100, 1200, 1250, 1300, 1400)에 의해 예시된 프로세스는 논리 흐름도로서 조직되고, 그의 동작들은 하드웨어, 컴퓨터 명령 또는 이들의 조합으로 구현될 수 있는 동작들의 시퀀스를 나타낸다. 컴퓨터 명령들의 맥락에서, 그 동작들은 하나 이상의 프로세서들에 의해 실행될 때 열거된 동작들을 수행하는, 하나 이상의 컴퓨터 판독 가능 저장 매체에 저장된 컴퓨터 실행 가능 명령들을 나타낸다. 일반적으로, 컴퓨터 실행 가능 명령들은 특정 기능들을 수행하거나 또는 특정 데이터 유형을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 동작들이 기재되는 순서는 제한으로서 해석되게 의도되지 않으며, 임의의 수의 기재된 동작들은 임의의 순서 및/또는 병렬로 조합되어 프로세스를 구현할 수 있다.
추가적으로, 개념도 및 흐름도(200, 300, 400, 700, 900, 1100, 1200, 1250, 1300, 1400)에 의해 예시된 프로세스들 및/또는 여기에 설명된 다른 프로세스는 실행가능 명령들로 구성된 하나 이상의 컴퓨터 시스템들의 제어 하에서 수행될 수도 있고, 집합적으로 하나 이상의 프로세서 상에서 실행하는 코드 (예를 들어, 실행가능 명령들, 하나 이상의 컴퓨터 프로그램들, 또는 하나 이상의 애플리케이션들) 로서, 하드웨어에 의해, 또는 이들의 조합으로 구현될 수도 있다. 전술한 바와 같이, 코드는 예를 들어, 하나 이상의 프로세서에 의해 실행 가능한 복수의 명령을 포함하는 컴퓨터 프로그램의 형태로 컴퓨터 판독 가능 또는 머신 판독 가능 저장 매체에 저장될 수도 있다. 컴퓨터 판독 가능 또는 머신 판독 가능 저장 매체는 비일시적일 수도 있다.
도 15 는 본 기술의 특정 양태들을 예시하기 위한 시스템의 예를 예시하는 도면이다. 특히, 도 15은 예를 들어 내부 컴퓨팅 시스템, 원격 컴퓨팅 시스템, 카메라 또는 이들의 임의의 컴포넌트를 구성하는 임의의 컴퓨팅 디바이스일 수 있는 컴퓨팅 시스템(1500)의 예를 예시하고, 여기서 시스템의 컴포넌트는 접속부(1505)를 사용하여 서로 통신한다. 접속부(1505)는 버스를 사용한 물리적 접속부이거나, 또는 칩셋 아키텍처에서와 같이 프로세서(1510)로의 직접 접속부일 수 있다. 접속부(1505)는 가상 접속, 네트워크형 접속부 또는 논리적 접속부일 수도 있다.
일부 실시형태에서, 컴퓨팅 시스템(1500)은 본 개시에서 설명된 기능들이 데이터센터, 다수의 데이터 센터, 피어 네트워크 등 내에서 분산될 수 있는 분산 시스템이다. 일부 실시형태에서, 설명된 시스템 컴포넌트 중 하나 이상은 컴포넌트가 설명된 기능의 일부 또는 전부를 각각 수행하는 많은 이러한 컴포넌트를 나타낸다. 일부 실시형태에서, 컴포넌트는 물리적 또는 가상 디바이스일 수 있다.
예시적인 시스템(1500)은 적어도 하나의 프로세싱 유닛(CPU 또는 프로세서)(1510) 및 시스템 메모리(1515), 예컨대 판독 전용 메모리(ROM)(1520) 및 랜덤 액세스 메모리(RAM)(1525)를 포함하는 다양한 시스템 컴포넌트를 프로세서(1510)에 커플링하는 접속부(1505)를 포함한다. 컴퓨팅 시스템 (1500) 은 프로세서 (1510) 와 직접 접속되거나, 이에 매우 근접하거나, 또는 이의 일부로서 통합된 고속 메모리의 캐시(1512)를 포함할 수 있다.
프로세서 (1510) 는, 임의의 범용 프로세서 및 프로세서 (1510) 를 제어하도록 구성된, 저장 디바이스(1530) 에 저장된, 서비스 (1532, 1534, 및 1536)과 같은, 하드웨어 또는 소프트웨어 서비스뿐만 아니라, 소프트웨어 명령들이 실제 프로세서 설계에 통합되는 특수 목적 프로세서를 포함할 수 있다. 프로세서(1510)는 본질적으로 다수의 코어 또는 프로세서, 버스, 메모리 제어기, 캐시 등을 포함하는 완전히 독립적인 컴퓨팅 시스템일 수도 있다. 다중 코어 프로세서는 대칭 또는 비대칭적일 수도 있다.
사용자 상호작용을 가능하게 하기 위해, 컴퓨팅 시스템(1500)은 스피치용 마이크로폰, 제스처 또는 그래픽 입력용 터치 감지 스크린, 키보드, 마우스, 모션 입력, 스피치 등과 같은 임의의 수의 입력 메커니즘을 나타낼 수 있는 입력 디바이스(1545)를 포함한다. 컴퓨팅 시스템(1500)은 또한 다수의 출력 메커니즘 중 하나 이상일 수 있는 출력 디바이스(1535)를 포함할 수 있다. 일부 예에서, 다중 모드 시스템은 사용자가 컴퓨팅 시스템(1500)과 통신하기 위해 여러 유형의 입력/출력을 제공할 수 있게 한다. 컴퓨팅 시스템 (1500) 은 일반적으로 사용자 입력 및 시스템 출력을 통제하고 관리할 수 있는 통신 인터페이스 (1540) 를 포함할 수 있다. 통신 인터페이스는, 오디오 잭/플러그, 마이크로폰 잭/플러그, 범용 직렬 버스 (USB) 포트/플러그, Apple® Lightning® 포트/플러그, 이더넷 포트/플러그, 광섬유 포트/플러그, 독점적 유선 포트/플러그, BLUETOOTH® 무선 신호 전송, BLUETOOTH® 저에너지 (BLE) 무선 신호 전송, IBEACON® 무선 신호 전송, 무선 주파수 식별 (RFID) 무선 신호 전송, 근접장 통신 (NFC) 무선 신호 전송, 전용 단거리 통신 (DSRC) 무선 신호 전송, 802.11 Wi-Fi 무선 신호 전송, 무선 로컬 영역 네트워크 (WLAN) 신호 전송, 가시광 통신 (VLC), WiMAX (Worldwide Interoperability for Microwave Access), 적외선 (IR) 통신 무선 신호 전송, 공중 교환 전화 네트워크 (PSTN) 신호 전송, 통합 서비스 디지털 네트워크 (ISDN) 신호 전송, 3G/4G/5G/LTE 셀룰러 데이터 네트워크 무선 신호 전송, 애드혹 네트워크 신호 전송, 라디오파 신호 전송, 마이크로파 신호 전송, 적외선 신호 전송, 가시광 신호 전송, 자외선 광 신호 전송, 전자기 스펙트럼을 따른 무선 신호 전송, 또는 이들의 일부 조합을 이용하는 것들을 포함하는, 유선 및/또는 무선 트랜시버들을 사용하여 유선 또는 무선 통신들의 수신 및/또는 송신을 수행하거나 용이하게 할 수도 있다. 통신 인터페이스(1540)는 또한 하나 이상의 GNSS(Global Navigation Satellite System) 시스템과 연관된 하나 이상의 위성으로부터 하나 이상의 신호의 수신에 기초하여 컴퓨팅 시스템(1500)의 위치를 결정하는 데 사용되는 하나 이상의 GNSS 수신기 또는 트랜시버를 포함할 수도 있다. GNSS 시스템은 미국 기반의 GPS(Global Positioning System), 러시아 기반의 GLONASS(Global Navigation Satellite System), 중국 기반의 BeiDou Navigation Satellite System(BDS) 및 유럽 기반의 갈릴레오 GNSS 를 포함하지만 이에 국한되지는 않는다. 임의의 특정 하드웨어 배열에 대해 동작하는 것에 대한 제한은 없으며, 따라서 여기서 기본 특징들은 이들이 개발됨에 따라 개선된 하드웨어 또는 펌웨어 배열들을 쉽게 대체할 수도 있다.
저장 장치(1530)는 비휘발성 및/또는 비일시적 및/또는 컴퓨터 판독 가능 메모리 디바이스일 수 있으며 하드 디스크 또는 컴퓨터에 의해 액세스 가능한 데이터를 저장할 수 있는 다른 유형의 컴퓨터 판독가능 매체, 이를테면 자기 카세트, 플래시 메모리 카드, 솔리드 스테이트 메모리 디바이스, 디지털 다목적 디스크, 카트리지, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 자기 스트립/스트라이프, 기타 자기 저장 매체, 플래시 메모리, 멤리스터 메모리, 기타 솔리드 스테이트 메모리, CD-ROM(compact disc read only memory) 광 디스크, 재기록 가능한 컴팩트 디스크(CD) 광 디스크, DVD(digital video disk) 광 디스크, 블루레이 디스크(BDD) 광 디스크, 홀로그램 광 디스크, 다른 광 매체, 보안 디지털(SD) 카드, 마이크로 보안 디지털(microSD) 카드, Memory Stick® 카드, 스마트카드 칩, EMV 칩, 가입자 식별 모듈(SIM) 카드 , 미니/마이크로/나노/피코 SIM 카드, 다른 집적 회로(IC) 칩/카드, 랜덤 액세스 메모리(RAM), 정적 RAM(SRAM), 동적 RAM(DRAM), 읽기 전용 메모리(ROM), 프로그래밍 가능 읽기 전용 메모리(PROM), 지울 수 있는 프로그래머블 읽기 전용 메모리(EPROM), 전기적으로 지울 수 있는 프로그래머블 읽기 전용 메모리(EEPROM), 플래시 EPROM (FLASHEPROM), 캐시 메모리(L1/L2/L3/L4/L5/L#), 저항성 랜덤 액세스 메모리(RRAM/ReRAM), 상변화 메모리(PCM), 스핀 전달 토크 RAM(STT-RAM), 다른 메모리 칩 또는 카트리지 및/또는 이들의 조합일 수 있다.
저장 디바이스(1530)는 소프트웨어 서비스, 서버, 서비스 등을 포함할 수 있으며, 그러한 소프트웨어를 정의하는 코드가 프로세서(1510)에 의해 실행될 때 그것은 시스템이 기능을 수행하게 한다. 일부 실시형태들에서, 특정 기능을 수행하는 하드웨어 서비스는, 그 기능을 수행하기 위해, 프로세서 (1510), 접속부 (1505), 출력 디바이스 (1535) 등과 같은 필요한 하드웨어 컴포넌트들과 관련하여 컴퓨터 판독가능 매체에 저장된 소프트웨어 컴포넌트를 포함할 수 있다.
용어 "컴퓨터 판독가능 매체" 는, 휴대 또는 비휴대 저장 디바이스, 광학 저장 디바이스, 및 명령(들) 및/또는 데이터를 저장, 포함 또는 운반할 수 있는 다양한 다른 매체를 포함하지만, 이에 한정되지는 않는다. 컴퓨터 판독가능 매체는 데이터가 저장될 수 있고 반송파 및/또는 무선 또는 유선 접속을 통해 전파되는 일시적인 전자 신호를 포함하지 않는 비일시적인 매체를 포함할 수도 있다. 비일시적인 매체의 예들은 자기 디스크 또는 테이프, 콤팩트 디스크 (CD) 또는 디지털 다용도 디스크 (DVD) 와 같은 광학 저장 매체, 플래시 메모리, 메모리 또는 메모리 디바이스를 포함할 수도 있지만, 이에 한정되는 것은 아니다. 컴퓨터 판독가능 매체는 프로시저, 함수, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패키지, 클래스, 또는 명령들, 데이터 구조들, 또는 프로그램 스테이트먼트들의 임의의 조합을 나타낼 수도 있는 코드 및/또는 머신 실행가능 명령들을 저장할 수도 있다. 코드 세그먼트는, 정보, 데이터, 인수들 (arguments), 파라미터들, 또는 메모리 콘텐츠를 전달 및/또는 수신함으로써 다른 코드 세그먼트 또는 하드웨어 회로에 커플링될 수도 있다. 정보, 인수들, 파라미터들, 데이터 등은 메모리 공유, 메시지 전달, 토큰 전달, 네트워크 송신 등을 포함한 임의의 적합한 수단을 사용하여 전달, 포워딩, 또는 송신될 수도 있다.
일부 실시형태들에서, 컴퓨터 판독가능 저장 디바이스들, 매체들, 및 메모리들은 비트 스트림 등을 포함하는 무선 신호 또는 케이블을 포함할 수 있다. 하지만, 언급될 때, 비일시적인 컴퓨터 판독가능 저장 매체들은 에너지, 캐리어 신호들, 전자기 파들, 및 신호들 그 자체와 같은 매체들을 명시적으로 배제한다.
구체적 상세들은 본원에 제공된 실시형태들 및 예들의 철저한 이해를 제공하기 위하여 위에 설명에서 제공되었다. 하지만, 실시형태들은 이들 특정 상세들 없이 실시될 수도 있음이 당업자에 의해 이해될 것이다. 설명의 명료성을 위해, 일부 사례들에서, 본 기술은 디바이스들, 디바이스 컴포넌트들, 소프트웨어로 구체화된 방법의 단계들 또는 루틴들, 또는 하드웨어와 소프트웨어의 조합들을 포함하는 기능적 블록들을 포함하는 개별의 기능적 블록들을 포함하는 것으로서 제시될 수도 있다. 도면들에서 도시되거나 및/또는 본 명세서에서 설명된 것들 외의 추가적인 컴포넌트들이 사용될 수도 있다. 예를 들어, 회로, 시스템, 네트워크, 프로세스 및 다른 컴포넌트들은, 실시형태들을 불필요한 상세들에서 불분명하게 하지 않기 위하여 블록도 형태의 컴포넌트들로서 보여질 수도 있다. 다른 예들에서, 잘 알려진 회로들, 프로세스들, 알고리즘, 구조들, 및 기법들은 실시형태들을 모호하게 하는 것을 회피하기 위하여 불필요한 상세없이 보여질 수도 있다.
개별 실시형태들은, 플로우차트, 흐름도, 데이터 흐름도, 구조도, 또는 블록도로서 도시되는 프로세스 또는 방법으로서 위에서 설명될 수도 있다. 비록 플로우차트가 동작들을 순차적인 프로세스로서 기술할 수도 있지만, 동작들 중 다수는 병렬로 또는 동시에 수행될 수 있다. 또한, 동작들의 순서는 재배열될 수도 있다. 프로세스는 그의 동작들이 완료되면 종결되지만, 도에 포함되지 않은 추가의 단계들을 가질 수 있다. 프로세스는 방법 (method), 함수 (function), 프로시저 (procedure), 서브루틴 (subroutine), 서브프로그램 (subprogram) 등에 대응할 수도 있다. 프로세스가 함수에 대응할 때, 그의 종결은 호출 함수 (calling function) 또는 메인 함수 (main function) 에 대한 함수의 리턴에 대응할 수 있다.
상술된 예들에 따른 프로세스들 및 방법들은 컴퓨터 판독가능 매체들에 저장되거나 그렇지 않으면 컴퓨터 판독가능 매체들로부터 이용가능한 컴퓨터 실행가능 명령들을 이용하여 구현될 수 있다. 이러한 명령들은, 예를 들어, 범용 컴퓨터, 특수 목적 컴퓨터, 또는 프로세싱 디바이스가 특정 기능 또는 기능들의 그룹을 수행하게 하거나 그렇지 않으면 수행하도록 구성하는 명령들 및 데이터를 포함할 수 있다. 사용되는 컴퓨터 리소스들의 부분들은 네트워크를 통해 액세스가능할 수 있다. 컴퓨터 실행 가능 명령들은 예를 들어 바이너리, 중간 형식 명령 이를테면 어셈블리 언어, 펌웨어, 소스 코드 등일 수도 있다. 명령들, 사용된 정보, 및/또는, 설명된 예들에 따른 방법들 동안 작성된 정보를 저장하기 위해 사용될 수도 있는 컴퓨터 판독가능 매체들의 예들은 자기 또는 광학 디스크들, 플래시 메모리, 비휘발성 메모리가 제공된 USB 디바이스들, 네트워크형 저장 디바이스들 등을 포함한다.
이들 개시에 따른 프로세스들 및 방법들을 구현하는 디바이스들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술 언어, 또는 이들의 임의의 조합을 포함할 수 있고, 다양한 폼 팩터들 중 임의의 것을 취할 수 있다. 소프트웨어, 펌웨어, 미들웨어, 또는 마이크로코드로 구현될 경우, 필요한 태스크들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들 (예를 들어, 컴퓨터 프로그램 제품) 은 컴퓨터 판독가능 또는 머신 판독가능 매체에 저장될 수도 있다. 프로세서(들)는 필요한 태스크들을 수행할 수도 있다. 폼 팩터들의 통상적인 예들은 랩톱들, 스마트 폰들, 모바일 폰들, 태블릿 디바이스들 또는 다른 소형 폼 팩터 개인용 컴퓨터들, PDA(personal digital assistant), 랙마운트 디바이스들, 독립적인 디바이스들 등을 포함한다. 본 명세서에서 설명된 기능성은 또한, 주변기기들 또는 애드-인 (add-in) 카드들에서 구체화될 수 있다. 그러한 기능성은 또한, 추가의 예에 의해, 단일 디바이스에서 실행되는 상이한 칩들 또는 상이한 프로세스들 중에서 회로 보드 상에서 구현될 수 있다.
명령들, 이러한 명령들을 운반하기 위한 매체들, 그것들을 실행하기 위한 컴퓨팅 리소스들, 및 이러한 컴퓨팅 리소스들을 지원하기 위한 다른 구조들은 본 개시에서 설명될 기능들을 제공하기 위한 예시적인 수단들이다.
전술한 설명에서, 본 출원의 양태들은 그것들의 특정 실시형태들을 참조하여 설명되었지만, 당업자는 본원이 이에 한정되지 않는다는 것을 인식할 것이다. 따라서, 본원의 예시적 실시 형태들이 본원에서 상세하게 설명되었지만, 본 발명의 개념은 이와 달리 다양하게 구체화되고 채용될 수도 있으며, 첨부된 청구 범위는 선행 기술에 의해 제한되는 것을 제외하고는 그러한 변형을 포함하는 것으로 해석되도록 의도된다 전술한 애플리케이션의 다양한 특징들 및 양태들은 개별적으로 또는 공동으로 사용될 수도 있다. 또한, 실시형태들은 본 명세서의 더 넓은 사상 및 범위를 벗어나지 않으면서 본 명세서에 기재된 것 이외의 임의의 수의 환경들 및 애플리케이션들에서 이용될 수 있다. 이에 따라, 명세서 및 도면들은 한정적이기보다는 예시적으로 간주되어야 한다. 예시의 목적을 위해, 방법들은 특정 순서로 설명되었다. 대안적인 실시형태들에서, 방법들은 설명된 것과 상이한 순서로 수행될 수도 있다는 것을 이해해야 한다.
당업자는 본 명세서에서 사용된 미만 ("<") 및 초과 (">") 기호들 또는 용어가 본 개시의 범위로부터 일탈함 없이, 각각 이하 ("≤") 및 이상 ("≥") 기호들로 대체될 수 있다는 것을 이해할 것이다.
컴포넌트들이 특정 동작을 수행하도록 "구성된" 것으로 기술되는 경우, 그러한 구성은 예를 들어, 전자 회로 또는 다른 하드웨어를 설계하여 그 동작을 수행하는 것에 의해, 프로그래머블 전자 회로 (예를 들어, 마이크로프로세서 또는 다른 적절한 전자 회로) 를 프로그래밍하여 그 동작을 수행하는 것에 의해 또는 이들의 임의의 조합에 의해, 달성될 수 있다.
문구 “~ 에 커플링된 (coupled to)” 은 다른 컴포넌트에 직접적으로 또는 간접적으로 물리적으로 접속된 임의의 컴포넌트, 및/또는, 다른 컴포넌트와 직접적으로 또는 간접적으로 통신하는 (예컨대, 유선 또는 무선 접속, 및/또는 다른 적합한 통신 인터페이스를 통해 다른 컴포넌트에 접속된) 임의의 컴포넌트를 지칭한다.
세트 "중 적어도 하나" 또는 세트 "중 하나 이상" 을 언급하는 청구항 언어 또는 다른 언어는 그 세트의 하나의 멤버 또는 (임의의 조합의) 그 세트의 다수의 멤버들이 청구항을 충족하는 것을 나타낸다. 예를 들어, "A 및 B 중 적어도 하나" 를 언급하는 청구항 문언은 A, B, 또는 A 및 B 를 의미한다. 다른 예에서, "A, B, 및 C 중 적어도 하나" 를 언급하는 청구항 문언은 A, B, C, 또는 A 및 B, 또는 A 및 C, 또는 B 및 C, 또는 A 및 B 및 C 를 의미한다. 문언 세트 “중 적어도 하나” 및/또는 세트 중 “하나 이상” 은 세트를 그 세트에 열거된 항목들로 제한하지 않는다. 예를 들어, "A 및 B 중 적어도 하나" 를 언급하는 청구항 문언은 A, B, 또는 A 및 B 를 의미할 수 있고, A 및 B 의 세트에 열거되지 않은 항목들을 추가적으로 포함할 수 있다.
본 명세서에 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 조합들로서 구현될 수도 있다. 하드웨어와 소프트웨어의 이러한 상호대체 가능성을 분명히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 일반적으로 그들의 기능성의 관점에서 위에서 설명되었다. 그러한 기능이 하드웨어로서 구현될지 또는 소프트웨어로서 구현될지는 전체 시스템에 부과된 설계 제약들 및 특정 애플리케이션에 의존한다. 당업자는 설명된 기능성을 각각의 특정 애플리케이션에 대하여 다양한 방식들로 구현할 수도 있지만, 그러한 구현의 결정들이 본 출원의 범위로부터의 일탈을 야기하는 것으로서 해석되지는 않아야 한다.
본원에 기술된 기법들은 또한 전자 하드웨어, 컴퓨터 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수도 있다. 그러한 기술들은 범용 컴퓨터들, 무선 통신 디바이스 핸드셋들, 또는 무선 통신 디바이스 핸드셋들 및 다른 디바이스들에서의 애플리케이션을 포함하여 다수의 이용들을 갖는 집적 회로 디바이스들과 같은 임의의 다양한 디바이스들에서 구현될 수도 있다. 모듈들, 또는 컴포넌트들로서 설명된 임의의 특징들은 집적 로직 디바이스 (integrated logic device) 에서 함께 구현되거나 또는 이산이지만 연동적인 (interoperable) 로직 디바이스들로서 따로 구현될 수도 있다. 소프트웨어로 구현되면, 기법들은, 실행될 때, 위에서 설명된 방법들 중 하나 이상을 수행하는 명령들을 포함하는 프로그램 코드를 포함하는 컴퓨터 판독가능 데이터 저장 매체에 의해 적어도 부분적으로 실현될 수도 있다. 컴퓨터 판독가능 데이터 저장 매체는 패키징 재료들을 포함할 수도 있는 컴퓨터 프로그램 제품의 일부를 형성할 수도 있다. 컴퓨터 판독가능 매체는 메모리 또는 저장 저장 매체, 이를테면 RAM (random access memory) 이를테면, SDRAM (synchronous dynamic random access memory), ROM (read-only memory), NVRAM (non-volatile random access memory), EEPROM (electrically erasable programmable read-only memory), FLASH 메모리, 자기 또는 광학 데이터 저장 매체 등을 포함할 수도 있다. 추가로 또는 대안적으로 기법들은, 전파된 신호들 또는 파들과 같은, 명령들 또는 데이터 구조들의 형태의 프로그램 코드를 나르거나 통신하고, 컴퓨터에 의해 액세스, 판독 및/또는 실행될 수 있는 컴퓨터 판독가능 통신 매체에 의해 적어도 부분적으로 실현될 수도 있다.
프로그램 코드는 프로세서에 의해 실행될 수도 있고, 프로세서는 하나 이상의 프로세서들, 이를테면 하나 이상의 DSP (digital signal processor), 범용 마이크로프로세서, ASIC (application specific integrated circuit), FPGA (field programmable logic array), 또는 다른 등가 집적 또는 이산 로직 회로를 포함할 수도 있다. 그러한 프로세서는 본 개시에서 설명된 기법들 중 임의의 기법을 수행하도록 구성될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로, 그 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예컨대, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로서 구현될 수도 있다. 따라서, 본원에 사용된 용어 "프로세서" 는 임의의 이전 구조, 이전 구조의 임의의 조합, 또는 본원에 설명된 기술들의 구현에 적합한 임의의 다른 구조 또는 장치를 지칭할 수도 있다. 부가적으로, 일부 양태에 있어서, 본 명세서에서 설명된 기능성은, 인코딩 및 디코딩을 위해 구성된 전용 소프트웨어 모듈들 또는 하드웨어 모듈들 내에서 제공되거나, 또는 결합된 비디오 인코더-디코더 (CODEC) 에 통합될 수도 있다.
본 개시의 예시적 양태들은 다음을 포함한다:
양태 1: 비디오 데이터를 프로세싱하는 방법. 그 방법은: 이미지 센서에 의해 캡처된 이미지 데이터를 수신하는 단계; 이미지 데이터에서의 제 1 이미지 영역이 복수의 카테고리의 오브젝트 중 제 1 카테고리의 오브젝트를 묘사하는 것으로 결정하는 단계; 이미지 데이터에서의 제 2 이미지 영역이 복수의 카테고리의 오브젝트 중 제 2 카테고리의 오브젝트를 묘사하는 것으로 결정하는 단계; 이미지 캡처 프로세스를 위한 제 1 설정을 제 1 이미지 영역에 적용하는 것에 의해 그리고 이미지 캡처 프로세스를 위한 제 2 설정을 제 2 이미지 영역에 적용하는 것에 의해 이미지 캡처 프로세스를 사용하여 이미지 데이터에 기초하여 이미지를 생성하는 단계를 포함한다.
양태 2: 양태 1에 있어서, 이미지 데이터를 제 1 이미지 영역 및 제 2 이미지 영역을 포함하는 복수의 이미지 영역으로 파티셔닝하는 것에 의해 카테고리 맵을 생성하는 단계로서, 복수의 이미지 영역 중 각각의 이미지 영역은 복수의 카테고리의 오브젝트 중 하나에 대응하는, 상기 카테고리 맵을 생성하는 단계; 제 1 카테고리의 오브젝트가 이미지 캡처 프로세스를 위한 제 1 설정에 대응함을 식별하는 단계; 및 제 2 카테고리의 오브젝트가 이미지 캡처 프로세스를 위한 제 2 설정에 대응함을 식별하는 단계을 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
양태 3: 양태 1 또는 2 중 어느 하나에 있어서, 이미지 데이터를 다운스케일링하는 것에 의해 이미지 데이터의 다운스케일링된 카피를 생성하는 단계를 더 포함하고, 이미지 데이터에 기초하여 카테고리 맵을 생성하는 단계는 이미지 데이터의 다운스케일링된 카피에 기초하여 카테고리 맵을 생성하는 단계를 포함하는, 비디오 데이터를 프로세싱하는 방법.
양태 4: 양태 1 내지 3 중 어느 하나에 있어서, 이미지 데이터에 기초하여 신뢰도 맵을 생성하는 단계를 더 포함하고, 신뢰도 맵은 이미지 데이터의 복수의 부분에 대응하는 복수의 신뢰도 수준을 식별하고, 복수의 신뢰도 수준 중 각각의 신뢰도 수준은 복수의 부분 중 대응하는 부분이 복수의 카테고리의 오브젝트 중 하나를 묘사하는 신뢰도를 식별하고, 이미지를 생성하는 단계는 카테고리 맵 및 신뢰도 맵에 기초하여 튜닝된 이미지 신호 프로세서(ISP)를 사용하여 이미지 데이터를 프로세싱하는 단계를 포함하는, 비디오 데이터를 프로세싱하는 방법.
양태 5: 양태 1 내지 4 중 어느 하나에 있어서, 카테고리 맵을 업스케일링하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
양태 6: 양태 1 내지 5 중 어느 하나에 있어서, 카테고리 맵을 업스케일링하는 단계는 카테고리 맵을 이미지 데이터 및 이미지 중 적어도 하나의 크기에 매칭하는 크기로 업스케일링하는 단계를 포함하는, 비디오 데이터를 프로세싱하는 방법.
양태 7: 양태 1 내지 6 중 어느 하나에 있어서, 카테고리 맵을 업스케일링하는 단계는 최근접 이웃 업스케일링을 사용하여 수행되는, 비디오 데이터를 프로세싱하는 방법.
양태 8: 양태 1 내지 7 중 어느 하나에 있어서, 카테고리 맵을 업스케일링하는 단계는 공간 가중치 필터링으로 수정된 최근접 이웃 업스케일링을 사용하여 수행되는, 비디오 데이터를 프로세싱하는 방법.
양태 9: 양태 1 내지 8 중 어느 하나에 있어서, 공간 가중치 필터링으로 수정된 최근접 이웃 업스케일링을 사용하여 카테고리 맵을 업스케일링하는 단계는: 제 1 이미지 영역에 대응하는 제 1 필터 크기 및 제 2 이미지 영역에 대응하는 제 2 필터 크기를 식별하는 단계로서, 제 1 필터 크기는 제 2 필터 크기보다 작은, 상기 제 2 필터 크기를 식별하는 단계; 제 1 이미지 영역 내의 제 1 픽셀을, 제 1 필터 크기 및 제 1 픽셀에 이웃하는 하나 이상의 픽셀에 대응하는 신뢰도 맵으로부터의 하나 이상의 신뢰도 값과 연관된 하나 이상의 가중치에 기초하여, 업스케일링하는 단계; 및 제 2 이미지 영역 내의 제 2 픽셀을, 제 2 필터 크기 및 제 2 픽셀에 이웃하는 하나 이상의 픽셀에 대응하는 신뢰도 맵으로부터의 하나 이상의 신뢰도 값과 연관된 하나 이상의 가중치에 기초하여, 업스케일링하는 단계를 포함하는, 비디오 데이터를 프로세싱하는 방법.
양태 10: 양태 1 내지 9 중 어느 하나에 있어서, 이미지 캡처 프로세스는 이미지 신호 프로세서(ISP)를 사용하여 이미지 데이터를 프로세싱하는 것을 포함하고, 이미지 캡처 프로세스를 위한 제 1 설정은 ISP 를 위한 제 1 튜닝 설정이고, 이미지 캡처 프로세스를 위한 제 2 설정은 ISP 를 위한 제 2 튜닝 설정인, 비디오 데이터를 프로세싱하는 방법.
양태 11: 양태 1 내지 10 중 어느 하나에 있어서, 제 1 튜닝 설정 및 제 2 튜닝 설정은 이미지 데이터의 프로세싱 동안 노이즈 감소 ISP 튜닝 파라미터가 적용되는 상이한 강도를 포함하는, 비디오 데이터를 프로세싱하는 방법.
양태 12: 양태 1 내지 11 중 어느 하나에 있어서, 제 1 튜닝 설정 및 제 2 튜닝 설정은 이미지 데이터의 프로세싱 동안 샤프닝 ISP 튜닝 파라미터가 적용되는 상이한 강도를 포함하는, 비디오 데이터를 프로세싱하는 방법.
양태 13: 양태 1 내지 12 중 어느 하나에 있어서, 제 1 튜닝 설정 및 제 2 튜닝 설정은 이미지 데이터의 프로세싱 동안 색상 채도 ISP 튜닝 파라미터가 적용되는 상이한 강도를 포함하는, 비디오 데이터를 프로세싱하는 방법.
양태 14: 양태 1 내지 13 중 어느 하나에 있어서, 제 1 튜닝 설정 및 제 2 튜닝 설정은 이미지 데이터의 프로세싱 동안 톤 맵핑 ISP 튜닝 파라미터가 적용되는 상이한 강도를 포함하는, 비디오 데이터를 프로세싱하는 방법.
양태 15: 양태 1 내지 14 중 어느 하나에 있어서, 제 1 튜닝 설정 및 제 2 튜닝 설정은 이미지 데이터의 프로세싱 동안 감마 ISP 튜닝 파라미터가 적용되는 상이한 강도를 포함하는, 비디오 데이터를 프로세싱하는 방법.
양태 16: 양태 1 내지 15 중 어느 하나에 있어서, ISP 를 위한 이미지 신호 프로세서(ISP) 튜닝 설정은 ISP의 디노이징 모듈, ISP의 샤프닝 모듈, ISP의 톤 맵핑 모듈, ISP의 색상 채도 모듈, ISP의 감마 모듈, ISP의 블러링 모듈, ISP의 디모자이킹 모듈, ISP의 색 공간 변환 모듈, ISP의 이득 모듈, ISP의 휘도 모듈, ISP의 쉐이딩 모듈, ISP의 에지 향상 모듈, ISP의 HDR(High Dynamic Range)을 위한 이미지 결합 모듈, ISP의 특수 효과 프로세싱 모듈, ISP의 인공 노이즈(예: 그레인) 가산기 모듈 , ISP의 에지 지향 업스케일링 모듈, ISP의 오토포커스 모듈, ISP의 자동 노출 모듈, ISP의 자동 화이트 밸런스 모듈, ISP의 조리개 크기 제어 모듈, ISP의 셔터 속도 제어 모듈, ISP의 ISO 제어 모듈, ISP의 렌즈 포지션 모듈, ISP의 전자 이미지 안정화 모듈 및 ISP의 플래시 제어 모듈 중 적어도 하나와 관련된 적어도 하나의 값을 설정하는, 비디오 데이터를 프로세싱하는 방법.
양태 17: 양태 1 내지 16 중 어느 하나에 있어서, 하나 이상의 수정자를 생성하는 단계를 더 포함하고, 하나 이상의 수정자는 ISP가 이미지 데이터의 프로세싱 동안 제 1 이미지 영역에 적용하는 디폴트 튜닝 설정으로부터의 제 1 편차 및 ISP가 이미지 데이터의 프로세싱 동안 제 2 이미지 영역에서 적용하는 디폴트 튜닝 설정으로부터의 제 2 편차 중 적어도 하나를 식별하는, 비디오 데이터를 프로세싱하는 방법.
양태 18: 양태 1 내지 17 중 어느 하나에 있어서, 하나 이상의 수정자는 하나 이상의 수정자에 디폴트 ISP 튜닝 설정을 승산함으로써 제 1 편차 및 제 2 편차 중 적어도 하나를 식별하는, 비디오 데이터를 프로세싱하는 방법.
양태 19: 양태 1 내지 18 중 어느 하나에 있어서, 하나 이상의 수정자는 디폴트 ISP 튜닝 설정에 하나 이상의 수정자를 가산함으로써 제 1 편차 및 제 2 편차 중 적어도 하나를 식별하는, 비디오 데이터를 프로세싱하는 방법.
양태 20: 양태 1 내지 19 중 어느 하나에 있어서, 하나 이상의 수정자는 디폴트 ISP 튜닝 설정을 포함하는 미리 결정된 가능한 ISP 튜닝 설정의 목록에서의 증분에 기초하여 제 1 편차 및 제 2 편차 중 적어도 하나를 식별하고, 증분은 수정자에 기초하는, 비디오 데이터를 프로세싱하는 방법.
양태 21: 양태 1 내지 20 중 어느 하나에 있어서, 이미지 데이터를 제 1 이미지 영역 및 제 2 이미지 영역을 포함하는 복수의 이미지 영역으로 파티셔닝하는 것에 의해 카테고리 맵을 생성하는 단계로서, 복수의 이미지 영역 중 각각의 이미지 영역은 복수의 카테고리의 오브젝트 중 하나에 대응하는, 상기 카테고리 맵을 생성하는 단계를 더 포함하고, 하나 이상의 수정자는 적어도 카테고리 맵에 기초하여 생성되는, 비디오 데이터를 프로세싱하는 방법.
양태 22: 양태 1 내지 21 중 어느 하나에 있어서, 카테고리 맵에 기초하여 하나 이상의 수정자를 생성하기 전에 카테고리 맵을 다운스케일링하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
양태 23: 양태 1 내지 22 중 어느 하나에 있어서, 신뢰도 맵에 대응하는 정보와 하나 이상의 수정자를 블렌딩함으로써 하나 이상의 블렌딩된 수정자를 생성하는 단계를 더 포함하고, 신뢰도 수준은 이미지 데이터의 복수의 부분에 대응하는 복수의 신뢰도 수준을 식별하고, 복수의 신뢰도 수준 중 각각의 신뢰도 수준은 복수의 부분 중 대응하는 부분이 복수의 카테고리의 오브젝트 중 하나를 묘사한다고 결정함에 있어서 신뢰도의 정도를 식별하는, 비디오 데이터를 프로세싱하는 방법
양태 24: 양태 1 내지 23 중 어느 하나에 있어서, 로우 패스 필터를 사용하여 하나 이상의 블렌딩된 수정자를 필터링함으로써 하나 이상의 필터링된 수정자를 생성하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
양태 25: 양태 1 내지 24 중 어느 하나에 있어서, 하나 이상의 필터링된 수정자를 업스케일링하여 하나 이상의 업스케일링된 수정자를 생성하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
양태 26: 양태 1 내지 25 중 어느 하나에 있어서, ISP를 사용하여 이미지 데이터를 프로세싱하는 단계는 하나 이상의 수정자, 하나 이상의 블렌딩된 수정자, 하나 이상의 필터링된 수정자 및 하나 이상의 업스케일링된 수정자 중 적어도 하나를 사용하여 이미지 데이터를 프로세싱하는 단계를 포함하는, 비디오 데이터를 프로세싱하는 방법.
양태 27: 양태 1 내지 26 중 어느 하나에 있어서, 이미지 캡처 프로세스를 위한 제 1 설정 및 이미지 캡처 프로세스를 위한 제 2 설정 중 적어도 하나는 렌즈 포지션, 플래시, 포커스, 노출, 화이트 밸런스, 조리개 크기, 셔터 속도, ISO, 아날로그 이득, 디지털 이득, 디노이징, 샤프닝, 톤 맵핑, 색상 채도, 디모자이킹, 색 공간 변환, 쉐이딩, 에지 향상, HDR(High Dynamic Range)을 위한 이미지 결합, 특수 효과, 그레인 추가, 인공 노이즈 추가, 에지 지향 업스케일링, 업스케일링, 다운스케일링 및 전자 이미지 안정화 중 적어도 하나와 연관된 튜닝 설정인, 비디오 데이터를 프로세싱하는 방법.
양태 28: 양태 1 내지 27 중 어느 하나에 있어서, 이미지 데이터는 미가공 이미지 데이터인, 비디오 데이터를 프로세싱하는 방법.
양태 29: 양태 1 내지 28 중 어느 하나에 있어서, 이미지 데이터를 디모자이킹하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
양태 30: 양태 1 내지 29 중 어느 하나에 있어서, 이미지 데이터를 제 1 색 공간에서 제 2 색 공간으로 변환하는 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
양태 31: 양태 1 내지 30 중 어느 하나에 있어서, 제 2 색 공간은 YUV 색 공간인, 비디오 데이터를 프로세싱하는 방법.
양태 32: 이미지 프로세싱을 위한 장치로서, 명령들을 저장하는 하나 이상의 메모리 유닛; 및 명령들을 실행하는 하나 이상의 프로세서를 포함하고, 하나 이상의 프로세서에 의한 명령들의 실행은 하나 이상의 프로세서로 하여금 양태 1 내지 31 중 어느 하나에 따른 방법을 수행하게 하는, 이미지 프로세싱을 위한 장치.
양태 33: 양태 32 에 있어서, 장치는 모바일 디바이스인, 이미지 프로세싱을 위한 장치.
양태 34: 양태 32 또는 33 중 어느 하나에 있어서, 장치는 무선 통신 디바이스인, 이미지 프로세싱을 위한 장치.
양태 35: 양태 32 내지 34 중 어느 하나에 있어서, 장치는 적어도 이미지 센서 및 하나 이상의 프로세서를 포함하는 카메라인, 이미지 프로세싱을 위한 장치.
양태 36: 양태 32 내지 35 중 어느 하나에 있어서, 하나 이상의 프로세서는 이미지 신호 프로세서(ISP)를 포함하는, 이미지 프로세싱을 위한 장치.
양태 37: 양태 32 내지 36 중 어느 하나에 있어서, 하나 이상의 프로세서는 분류 엔진을 포함하는, 이미지 프로세싱을 위한 장치.
양태 38: 양태 32 내지 37 중 어느 하나에 있어서, 장치는 이미지를 표시하도록 구성된 디스플레이를 포함하는, 이미지 프로세싱을 위한 장치.
양태 39: 프로그램을 수록한 비일시적 컴퓨터 판독 가능 저장 매체로서, 프로그램은 이미지 프로세싱 방법을 수행하기 위해 프로세서에 의해 실행 가능하고, 상기 방법은, 양태 1 내지 31 중 어느 하나에 따른 방법을 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
양태 40: 이미지 프로세싱을 위한 장치로서, 양태 1 내지 31 중 어느 하나에 따른 방법을 수행하는 수단을 포함하는, 이미지 프로세싱을 위한 장치.
양태 41: 이미지 프로세싱을 위한 장치로서, 메모리; 및 메모리에 커플링된 하나 이상의 프로세서들을 포함하고, 하나 이상의 프로세서들은, 이미지 센서에 의해 캡처된 이미지 데이터를 수신하고; 이미지 데이터에서의 제 1 오브젝트 이미지 영역이 복수의 카테고리의 오브젝트 중 제 1 카테고리의 오브젝트를 묘사하는 것으로 결정하고; 이미지 데이터에서의 제 2 오브젝트 이미지 영역이 복수의 카테고리의 오브젝트 중 제 2 카테고리의 오브젝트를 묘사하는 것으로 결정하고; 이미지 데이터의 복수의 신뢰도 이미지 영역에 대응하는 복수의 신뢰도 수준을 식별하는 것으로서, 복수의 신뢰도 수준 중 각각의 신뢰도 수준은 복수의 신뢰도 이미지 영역 중 대응하는 신뢰도 이미지 영역이 복수의 카테고리의 오브젝트 중 하나를 묘사하는 신뢰도를 식별하는, 상기 복수의 신뢰도 수준을 식별하고; 이미지 캡처 프로세스를 위한 상이한 설정을 이미지 데이터의 상이한 부분에 적용하는 것에 의한 것을 포함하는 이미지 캡처 프로세스를 사용하여 이미지 데이터에 기초하여 이미지를 생성하는 것으로서, 이미지 데이터의 상이한 부분은 제 1 오브젝트 이미지 영역, 제 2 오브젝트 이미지 영역, 및 복수의 신뢰도 이미지 영역에 기초하여 식별되는, 상기 이미지를 생성하도록 구성된, 이미지 프로세싱을 위한 장치.
양태 42: 양태 41에 있어서, 하나 이상의 프로세서들은: 하나 이상의 수정자를 생성하는 것으로서, 하나 이상의 수정자는 제 1 오브젝트 이미지 영역에 대한 이미지 캡처 프로세스를 위한 디폴트 설정으로부터의 제 1 편차 및 제 2 오브젝트 이미지 영역에 대한 이미지 캡처 프로세스를 위한 디폴트 설정으로부터의 제 2 편차 중 적어도 하나를 식별하고, 이미지 캡처 프로세스를 위한 상이한 설정은 하나 이상의 수정자에 기초하는, 상기 하나 이상의 수정자를 생성하도록 구성된, 이미지 프로세싱을 위한 장치.
양태 43: 양태 41 내지 42 중 어느 것에 있어서, 하나 이상의 프로세서들은: 복수의 신뢰도 이미지 영역에 대응하는 복수의 신뢰도 수준에 기초하는 블렌딩 업데이트와 하나 이상의 수정자를 블렌딩하는 것을 포함하는, 하나 이상의 수정자를 조정하는 것으로서, 블렌딩 업데이트와 하나 이상의 수정자를 블렌딩하는 것은 이미지 데이터의 적어도 하나의 영역에서 제 1 편차 및 제 2 편차 중 적어도 하나를 조정하는, 상기 하나 이상의 수정자를 조정하도록 구성된, 이미지 프로세싱을 위한 장치.
양태 44: 양태 41 내지 43 중 어느 것에 있어서, 하나 이상의 프로세서들은: 이미지 데이터를 제 1 오브젝트 이미지 영역 및 제 2 오브젝트 이미지 영역을 포함하는 복수의 오브젝트 이미지 영역으로 파티셔닝하는 카테고리 맵을 생성하는 것으로서, 복수의 오브젝트 이미지 영역 중 각각의 오브젝트 이미지 영역은 복수의 카테고리의 오브젝트 중 하나에 대응하는, 상기 카테고리 맵을 생성하고; 제 1 카테고리의 오브젝트가 이미지 캡처 프로세스를 위한 제 1 설정에 대응함을 식별하고; 제 2 카테고리의 오브젝트가 이미지 캡처 프로세스를 위한 제 2 설정에 대응함을 식별하도록 구성된, 이미지 프로세싱을 위한 장치.
양태 45: 양태 41 내지 44 중 어느 것에 있어서, 하나 이상의 프로세서들은: 이미지 데이터를 복수의 신뢰도 수준에 대응하는 복수의 신뢰도 이미지 영역으로 파티셔닝하는 신뢰도 맵을 생성하는 것으로서, 이미지 데이터의 상이한 부분은 카테고리 맵 및 신뢰도 맵에 기초하여 식별되는, 상기 신뢰도 맵을 생성하도록 구성된, 이미지 프로세싱을 위한 장치.
양태 46: 양태 41 내지 45 중 어느 것에 있어서, 이미지 캡처 프로세스는 하나 이상의 프로세서 중 이미지 신호 프로세서(ISP)를 사용하여 이미지 데이터를 프로세싱하는 것을 포함하고, 이미지 캡처 프로세스를 위한 상이한 설정은 ISP를 위한 상이한 튜닝 설정인, 이미지 프로세싱을 위한 장치.
양태 47: 양태 41 내지 46 중 어느 것에 있어서, ISP 를 위한 상이한 튜닝 설정은 ISP를 사용하여 이미지 데이터의 프로세싱 동안 ISP 튜닝 파라미터가 적용되는 상이한 강도를 포함하며, ISP 튜닝 파라미터는 노이즈 감소, 샤프닝, 색상 채도, 색상 맵핑, 색상 프로세싱 및 톤 맵핑 중 하나인, 이미지 프로세싱을 위한 장치.
양태 48: 양태 41 내지 47 중 어느 것에 있어서, ISP 를 위한 상이한 튜닝 설정은 ISP를 사용하여 이미지 데이터의 프로세싱 동안 ISP 튜닝 파라미터가 적용되는 상이한 강도를 포함하며, ISP 튜닝 파라미터는 노이즈 감소, 샤프닝, 색상 채도, 색상 맵핑, 색상 프로세싱 및 톤 맵핑 중 하나인, 이미지 프로세싱을 위한 장치.
양태 49: 양태 41 내지 48 중 어느 것에 있어서, 상이한 설정은 렌즈 포지션, 플래시, 포커스, 노출, 화이트 밸런스, 조리개 크기, 셔터 속도, ISO, 아날로그 이득, 디지털 이득, 디노이징, 샤프닝, 톤 맵핑, 색상 채도, 디모자이킹, 색 공간 변환, 쉐이딩, 에지 향상, HDR(High Dynamic Range)을 위한 이미지 결합, 특수 효과, 인공 노이즈 추가, 에지 지향 업스케일링, 업스케일링, 다운스케일링 및 전자 이미지 안정화 중 적어도 하나와 연관된 설정을 포함하는, 이미지 프로세싱을 위한 장치.
양태 50: 양태 41 내지 49 중 어느 것에 있어서, 하나 이상의 프로세서들은: 이미지 데이터를 디모자이킹하는 것 및 이미지 데이터를 제 1 색 공간에서 제 2 색 공간으로 변환하는 것 중 적어도 하나를 포함하는, 이미지 데이터를 프로세싱하도록 구성된, 이미지 프로세싱을 위한 장치.
양태 51: 양태 41 내지 50 중 어느 것에 있어서, 하나 이상의 프로세서들은: 제 1 오브젝트 이미지 영역 및 제 2 오브젝트 이미지 영역 중 적어도 하나와 연관된 사용자 입력을 수신하는 것으로서, 상이한 설정 중 적어도 하나는 사용자 입력에 기초하여 정의되고 제 1 오브젝트 이미지 영역 및 제 2 오브젝트 이미지 영역 중 하나에 대응하는, 상기 사용자 입력을 수신하도록 구성된, 이미지 프로세싱을 위한 장치.
양태 52: 양태 41 내지 51 중 어느 것에 있어서, 하나 이상의 프로세서는 이미지 캡처 프로세스를 위한 상이한 설정을 이미지 데이터의 상이한 부분에 적용하는 이미지 신호 프로세서(ISP)를 포함하는, 이미지 프로세싱을 위한 장치.
양태 53: 양태 41 내지 52 중 어느 것에 있어서, 하나 이상의 프로세서는 적어도 제 1 오브젝트 이미지 영역 및 제 2 오브젝트 이미지 영역을 식별하는 분류 엔진을 포함하고, 분류 엔진은 집적 회로 칩 상에 적어도 부분적으로 배치되는, 이미지 프로세싱을 위한 장치.
양태 54: 양태 41 내지 53 중 어느 것에 있어서, 장치는 모바일 디바이스, 무선 통신 디바이스, 및 카메라 중 하나인, 이미지 프로세싱을 위한 장치.
양태 55: 양태 41 내지 54 중 어느 것에 있어서, 이미지 센서를 더 포함하는, 이미지 프로세싱을 위한 장치.
양태 56: 양태 41 내지 55 중 어느 것에 있어서, 이미지를 표시하는 디스플레이를 더 포함하는, 이미지 프로세싱을 위한 장치.
양태 57: 이미지 프로세싱 방법으로서, 이미지 센서에 의해 캡처된 이미지 데이터를 수신하는 단계; 이미지 데이터에서의 제 1 오브젝트 이미지 영역이 복수의 카테고리의 오브젝트 중 제 1 카테고리의 오브젝트를 묘사하는 것으로 결정하는 단계; 이미지 데이터에서의 제 2 오브젝트 이미지 영역이 복수의 카테고리의 오브젝트 중 제 2 카테고리의 오브젝트를 묘사하는 것으로 결정하는 단계; 이미지 데이터의 복수의 신뢰도 이미지 영역에 대응하는 복수의 신뢰도 수준을 식별하는 단계로서, 복수의 신뢰도 수준 중 각각의 신뢰도 수준은 복수의 신뢰도 이미지 영역 중 대응하는 신뢰도 이미지 영역이 복수의 카테고리의 오브젝트 중 하나를 묘사하는 신뢰도를 식별하는, 상기 복수의 신뢰도 수준을 식별하는 단계; 이미지 캡처 프로세스를 위한 상이한 설정을 이미지 데이터의 상이한 부분에 적용하는 것에 의한 것을 포함하는 이미지 캡처 프로세스를 사용하여 이미지 데이터에 기초하여 이미지를 생성하는 단계로서, 이미지 데이터의 상이한 부분은 제 1 오브젝트 이미지 영역, 제 2 오브젝트 이미지 영역, 및 복수의 신뢰도 이미지 영역에 기초하여 식별되는, 상기 이미지를 생성하는 단계를 포함하는, 이미지 프로세싱 방법.
양태 58: 양태 57에 있어서, 하나 이상의 수정자를 생성하는 단계로서, 하나 이상의 수정자는 제 1 오브젝트 이미지 영역에 대한 이미지 캡처 프로세스를 위한 디폴트 설정으로부터의 제 1 편차 및 제 2 오브젝트 이미지 영역에 대한 이미지 캡처 프로세스를 위한 디폴트 설정으로부터의 제 2 편차 중 적어도 하나를 식별하고, 이미지 캡처 프로세스를 위한 상이한 설정은 하나 이상의 수정자에 기초하는, 상기 하나 이상의 수정자를 생성하는 단계를 더 포함하는, 이미지 프로세싱 방법.
양태 59: 양태 57 내지 58 중 어느 것에 있어서, 복수의 신뢰도 이미지 영역에 대응하는 복수의 신뢰도 수준에 기초하는 블렌딩 업데이트와 하나 이상의 수정자를 블렌딩하는 것을 포함하는, 하나 이상의 수정자를 조정하는 단계로서, 블렌딩 업데이트와 하나 이상의 수정자를 블렌딩하는 것은 이미지 데이터의 적어도 하나의 영역에서 제 1 편차 및 제 2 편차 중 적어도 하나를 조정하는, 상기 하나 이상의 수정자를 조정하는 단계를 더 포함하는, 이미지 프로세싱 방법.
양태 60: 양태 57 내지 59 중 어느 것에 있어서, 이미지 데이터를 제 1 오브젝트 이미지 영역 및 제 2 오브젝트 이미지 영역을 포함하는 복수의 오브젝트 이미지 영역으로 파티셔닝하는 카테고리 맵을 생성하는 단계로서, 복수의 오브젝트 이미지 영역 중 각각의 오브젝트 이미지 영역은 복수의 카테고리의 오브젝트 중 하나에 대응하는, 상기 카테고리 맵을 생성하는 단계; 제 1 카테고리의 오브젝트가 이미지 캡처 프로세스를 위한 제 1 설정에 대응함을 식별하는 단계; 및 제 2 카테고리의 오브젝트가 이미지 캡처 프로세스를 위한 제 2 설정에 대응함을 식별하는 단계를 더 포함하는, 이미지 프로세싱 방법.
양태 61: 양태 57 내지 60 중 어느 것에 있어서, 이미지 데이터를 복수의 신뢰도 수준에 대응하는 복수의 신뢰도 이미지 영역으로 파티셔닝하는 신뢰도 맵을 생성하는 단계로서, 이미지 데이터의 상이한 부분은 카테고리 맵 및 신뢰도 맵에 기초하여 식별되는, 상기 신뢰도 맵을 생성하는 단계를 더 포함하는, 이미지 프로세싱 방법.
양태 62: 양태 57 내지 61 중 어느 것에 있어서, 이미지 캡처 프로세스는 하나 이상의 프로세서 중 이미지 신호 프로세서(ISP)를 사용하여 이미지 데이터를 프로세싱하는 것을 포함하고, 이미지 캡처 프로세스를 위한 상이한 설정은 ISP를 위한 상이한 튜닝 설정인, 이미지 프로세싱 방법.
양태 63: 양태 57 내지 62 중 어느 것에 있어서, 상이한 설정은 렌즈 포지션, 플래시, 포커스, 노출, 화이트 밸런스, 조리개 크기, 셔터 속도, ISO, 아날로그 이득, 디지털 이득, 디노이징, 샤프닝, 톤 맵핑, 색상 채도, 디모자이킹, 색 공간 변환, 쉐이딩, 에지 향상, HDR(High Dynamic Range)을 위한 이미지 결합, 특수 효과, 그레인 추가, 인공 노이즈 추가, 에지 지향 업스케일링, 업스케일링, 다운스케일링 및 전자 이미지 안정화 중 적어도 하나와 연관된 설정을 포함하는, 이미지 프로세싱 방법.
양태 64: 양태 57 내지 63 중 어느 것에 있어서, 이미지 데이터를 디모자이킹하는 것 및 이미지 데이터를 제 1 색 공간에서 제 2 색 공간으로 변환하는 것 중 적어도 하나를 포함하는, 이미지 데이터를 프로세싱하는 단계를 더 포함하는, 이미지 프로세싱 방법.
양태 65: 양태 57 내지 64 중 어느 것에 있어서, 제 1 오브젝트 이미지 영역 및 제 2 오브젝트 이미지 영역 중 적어도 하나와 연관된 사용자 입력을 수신하는 단계로서, 상이한 설정 중 적어도 하나는 사용자 입력에 기초하여 정의되고 제 1 오브젝트 이미지 영역 및 제 2 오브젝트 이미지 영역 중 하나에 대응하는, 상기 사용자 입력을 수신하는 단계를 더 포함하는, 이미지 프로세싱 방법.
양태 66: 양태 57 내지 65 중 어느 것에 있어서, 이미지 캡처 프로세스를 위한 상이한 설정을 이미지 데이터의 상이한 부분에 적용하는 단계는 이미지 신호 프로세서(ISP)를 사용하여 이미지 캡처 프로세스를 위한 상이한 설정을 이미지 데이터의 상이한 부분에 적용하는 단계를 포함하는, 이미지 프로세싱 방법.
양태 67: 양태 57 내지 66 중 어느 것에 있어서, 제 1 오브젝트 이미지 영역 및 제 2 오브젝트 이미지 영역을 식별하는 단계는 집적 회로 칩 상에 적어도 부분적으로 배치된 분류 엔진을 사용하여 제 1 오브젝트 이미지 영역 및 제 2 오브젝트 이미지 영역을 식별하는 단계를 포함하는, 이미지 프로세싱 방법.
양태 68: 양태 57 내지 67 중 어느 것에 있어서, 디스플레이 상에 이미지를 표시하는 단계를 더 포함하는, 이미지 프로세싱 방법.
양태 69: 이미지 프로세싱 방법을 수행하기 위해 프로세서에 의해 실행 가능한 프로그램이 수록된 비일시적 컴퓨터 판독 가능 저장 매체로서, 방법은: 이미지 센서에 의해 캡처된 이미지 데이터를 수신하는 단계; 이미지 데이터에서의 제 1 오브젝트 이미지 영역이 복수의 카테고리의 오브젝트 중 제 1 카테고리의 오브젝트를 묘사하는 것으로 결정하는 단계; 이미지 데이터에서의 제 2 오브젝트 이미지 영역이 복수의 카테고리의 오브젝트 중 제 2 카테고리의 오브젝트를 묘사하는 것으로 결정하는 단계; 이미지 데이터의 복수의 신뢰도 이미지 영역에 대응하는 복수의 신뢰도 수준을 식별하는 단계로서, 복수의 신뢰도 수준 중 각각의 신뢰도 수준은 복수의 신뢰도 이미지 영역 중 대응하는 신뢰도 이미지 영역이 복수의 카테고리의 오브젝트 중 하나를 묘사하는 신뢰도를 식별하는, 상기 복수의 신뢰도 수준을 식별하는 단계; 이미지 캡처 프로세스를 위한 상이한 설정을 이미지 데이터의 상이한 부분에 적용하는 것에 의한 것을 포함하는 이미지 캡처 프로세스를 사용하여 이미지 데이터에 기초하여 이미지를 생성하는 단계로서, 이미지 데이터의 상이한 부분은 제 1 오브젝트 이미지 영역, 제 2 오브젝트 이미지 영역, 및 복수의 신뢰도 이미지 영역에 기초하여 식별되는, 상기 이미지를 생성하는 단계를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.

Claims (29)

  1. 이미지 프로세싱을 위한 장치로서,
    메모리; 및
    상기 메모리에 커플링된 하나 이상의 프로세서들을 포함하고,
    상기 하나 이상의 프로세서들은,
    이미지 센서에 의해 캡처된 이미지 데이터를 수신하고;
    상기 이미지 데이터에서의 제 1 오브젝트 이미지 영역이 복수의 카테고리의 오브젝트 중 제 1 카테고리의 오브젝트를 묘사하는 것으로 결정하고;
    상기 이미지 데이터에서의 제 2 오브젝트 이미지 영역이 상기 복수의 카테고리의 오브젝트 중 제 2 카테고리의 오브젝트를 묘사하는 것으로 결정하고;
    상기 이미지 데이터의 복수의 신뢰도 이미지 영역에 대응하는 복수의 신뢰도 수준을 식별하는 것으로서, 상기 복수의 신뢰도 수준 중 각각의 신뢰도 수준은 상기 복수의 신뢰도 이미지 영역 중 대응하는 신뢰도 이미지 영역이 상기 복수의 카테고리의 오브젝트 중 하나를 묘사하는 신뢰도를 식별하는, 상기 복수의 신뢰도 수준을 식별하고;
    이미지 캡처 프로세스를 위한 상이한 설정을 상기 이미지 데이터의 상이한 부분에 적용하는 것에 의해 적어도 부분적으로 상기 이미지 캡처 프로세스를 사용하여 상기 이미지 데이터에 기초하여 이미지를 생성하는 것으로서, 상기 이미지 데이터의 상기 상이한 부분은 상기 제 1 오브젝트 이미지 영역, 상기 제 2 오브젝트 이미지 영역, 및 상기 복수의 신뢰도 이미지 영역에 기초하여 식별되는, 상기 이미지를 생성하도록 구성되는, 이미지 프로세싱을 위한 장치.
  2. 제 1 항에 있어서,
    상기 하나 이상의 프로세서들은
    하나 이상의 수정자를 생성하는 것으로서, 상기 하나 이상의 수정자는 상기 제 1 오브젝트 이미지 영역에 대한 상기 이미지 캡처 프로세스를 위한 디폴트 설정으로부터의 제 1 편차 및 상기 제 2 오브젝트 이미지 영역에 대한 상기 이미지 캡처 프로세스를 위한 상기 디폴트 설정으로부터의 제 2 편차 중 적어도 하나를 식별하고, 상기 이미지 캡처 프로세스를 위한 상기 상이한 설정은 상기 하나 이상의 수정자에 기초하는, 상기 하나 이상의 수정자를 생성하도록 구성되는, 이미지 프로세싱을 위한 장치.
  3. 제 2 항에 있어서,
    상기 하나 이상의 프로세서들은
    상기 복수의 신뢰도 이미지 영역에 대응하는 상기 복수의 신뢰도 수준에 기초하는 블렌딩 업데이트와 상기 하나 이상의 수정자를 블렌딩하는 것을 포함하는, 상기 하나 이상의 수정자를 조정하는 것으로서, 상기 블렌딩 업데이트와 상기 하나 이상의 수정자를 블렌딩하는 것은 상기 이미지 데이터의 적어도 하나의 영역에서 상기 제 1 편차 및 상기 제 2 편차 중 적어도 하나를 조정하는, 상기 하나 이상의 수정자를 조정하도록 구성되는, 이미지 프로세싱을 위한 장치.
  4. 제 1 항에 있어서,
    상기 하나 이상의 프로세서들은
    상기 이미지 데이터를 상기 제 1 오브젝트 이미지 영역 및 상기 제 2 오브젝트 이미지 영역을 포함하는 복수의 오브젝트 이미지 영역으로 파티셔닝하는 카테고리 맵을 생성하는 것으로서, 상기 복수의 오브젝트 이미지 영역 중 각각의 오브젝트 이미지 영역은 상기 복수의 카테고리의 오브젝트 중 하나에 대응하는, 상기 카테고리 맵을 생성하고;
    상기 제 1 카테고리의 오브젝트가 상기 이미지 캡처 프로세스를 위한 제 1 설정에 대응함을 식별하고;
    상기 제 2 카테고리의 오브젝트가 상기 이미지 캡처 프로세스를 위한 제 2 설정에 대응함을 식별하도록 구성되는, 이미지 프로세싱을 위한 장치.
  5. 제 4 항에 있어서,
    상기 하나 이상의 프로세서들은
    상기 이미지 데이터를 상기 복수의 신뢰도 수준에 대응하는 상기 복수의 신뢰도 이미지 영역으로 파티셔닝하는 신뢰도 맵을 생성하는 것으로서, 상기 이미지 데이터의 상이한 부분은 상기 카테고리 맵 및 상기 신뢰도 맵에 기초하여 식별되는, 상기 신뢰도 맵을 생성하도록 구성되는, 이미지 프로세싱을 위한 장치.
  6. 제 1 항에 있어서,
    상기 이미지 캡처 프로세스는 상기 하나 이상의 프로세서들 중 이미지 신호 프로세서(ISP)를 사용하여 상기 이미지 데이터를 프로세싱하는 것을 포함하고, 상기 이미지 캡처 프로세스를 위한 상기 상이한 설정은 상기 ISP를 위한 상이한 튜닝 설정인, 이미지 프로세싱을 위한 장치.
  7. 제 6 항에 있어서,
    상기 ISP 를 위한 상기 상이한 튜닝 설정은 상기 ISP를 사용하여 상기 이미지 데이터의 프로세싱 동안 ISP 튜닝 파라미터가 적용되는 상이한 강도를 포함하며, 상기 ISP 튜닝 파라미터는 노이즈 감소, 샤프닝, 색상 채도, 색상 맵핑, 색상 프로세싱 및 톤 맵핑 중 하나인, 이미지 프로세싱을 위한 장치.
  8. 제 1 항에 있어서,
    상기 상이한 설정은 렌즈 포지션, 플래시, 포커스, 노출, 화이트 밸런스, 조리개 크기, 셔터 속도, ISO, 아날로그 이득, 디지털 이득, 디노이징, 샤프닝, 톤 맵핑, 색상 채도, 디모자이킹, 색 공간 변환, 쉐이딩, 에지 향상, HDR(High Dynamic Range)을 위한 이미지 결합, 특수 효과, 인공 노이즈 추가, 에지 지향 업스케일링, 업스케일링, 다운스케일링 및 전자 이미지 안정화 중 적어도 하나와 연관된 설정을 포함하는, 이미지 프로세싱을 위한 장치.
  9. 제 1 항에 있어서,
    상기 하나 이상의 프로세서들은
    상기 이미지 데이터를 디모자이킹하는 것 및 상기 이미지 데이터를 제 1 색 공간에서 제 2 색 공간으로 변환하는 것 중 적어도 하나를 포함하는 상기 이미지 데이터를 프로세싱하도록 구성되는, 이미지 프로세싱을 위한 장치.
  10. 제 1 항에 있어서,
    상기 하나 이상의 프로세서들은
    상기 제 1 오브젝트 이미지 영역 및 상기 제 2 오브젝트 이미지 영역 중 적어도 하나와 연관된 사용자 입력을 수신하는 것으로서, 상기 상이한 설정 중 적어도 하나는 상기 사용자 입력에 기초하여 정의되고 상기 제 1 오브젝트 이미지 영역 및 상기 제 2 오브젝트 이미지 영역 중 하나에 대응하는, 상기 사용자 입력을 수신하도록 구성되는, 이미지 프로세싱을 위한 장치.
  11. 제 1 항에 있어서,
    상기 하나 이상의 프로세서들은 상기 이미지 캡처 프로세스를 위한 상기 상이한 설정을 상기 이미지 데이터의 상기 상이한 부분에 적용하는 이미지 신호 프로세서(ISP)를 포함하는, 이미지 프로세싱을 위한 장치.
  12. 제 1 항에 있어서,
    상기 하나 이상의 프로세서는 적어도 상기 제 1 오브젝트 이미지 영역 및 상기 제 2 오브젝트 이미지 영역을 식별하는 분류 엔진을 포함하고, 상기 분류 엔진은 집적 회로 칩 상에 적어도 부분적으로 배치되는, 이미지 프로세싱을 위한 장치.
  13. 제 1 항에 있어서,
    상기 장치는 모바일 디바이스, 무선 통신 디바이스, 및 카메라 중 하나인, 이미지 프로세싱을 위한 장치.
  14. 제 1 항에 있어서,
    상기 이미지 센서를 더 포함하는, 이미지 프로세싱을 위한 장치.
  15. 제 1 항에 있어서,
    상기 이미지를 표시하는 디스플레이를 더 포함하는, 이미지 프로세싱을 위한 장치.
  16. 이미지 프로세싱 방법으로서,
    이미지 센서에 의해 캡처된 이미지 데이터를 수신하는 단계;
    상기 이미지 데이터에서의 제 1 오브젝트 이미지 영역이 복수의 카테고리의 오브젝트 중 제 1 카테고리의 오브젝트를 묘사하는 것으로 결정하는 단계;
    상기 이미지 데이터에서의 제 2 오브젝트 이미지 영역이 상기 복수의 카테고리의 오브젝트 중 제 2 카테고리의 오브젝트를 묘사하는 것으로 결정하는 단계;
    상기 이미지 데이터의 복수의 신뢰도 이미지 영역에 대응하는 복수의 신뢰도 수준을 식별하는 단계로서, 상기 복수의 신뢰도 수준 중 각각의 신뢰도 수준은 상기 복수의 신뢰도 이미지 영역 중 대응하는 신뢰도 이미지 영역이 상기 복수의 카테고리의 오브젝트 중 하나를 묘사하는 신뢰도를 식별하는, 상기 복수의 신뢰도 수준을 식별하는 단계;
    이미지 캡처 프로세스를 위한 상이한 설정을 상기 이미지 데이터의 상이한 부분에 적용하는 것에 의한 것을 포함하는 상기 이미지 캡처 프로세스를 사용하여 상기 이미지 데이터에 기초하여 이미지를 생성하는 단계로서, 상기 이미지 데이터의 상기 상이한 부분은 상기 제 1 오브젝트 이미지 영역, 상기 제 2 오브젝트 이미지 영역, 및 상기 복수의 신뢰도 이미지 영역에 기초하여 식별되는, 상기 이미지를 생성하는 단계
    를 포함하는, 이미지 프로세싱 방법.
  17. 제 16 항에 있어서,
    하나 이상의 수정자를 생성하는 단계로서, 상기 하나 이상의 수정자는 상기 제 1 오브젝트 이미지 영역에 대한 상기 이미지 캡처 프로세스를 위한 디폴트 설정으로부터의 제 1 편차 및 상기 제 2 오브젝트 이미지 영역에 대한 상기 이미지 캡처 프로세스를 위한 상기 디폴트 설정으로부터의 제 2 편차 중 적어도 하나를 식별하고, 상기 이미지 캡처 프로세스를 위한 상기 상이한 설정은 상기 하나 이상의 수정자에 기초하는, 상기 하나 이상의 수정자를 생성하는 단계
    를 더 포함하는, 이미지 프로세싱 방법.
  18. 제 17 항에 있어서,
    상기 복수의 신뢰도 이미지 영역에 대응하는 상기 복수의 신뢰도 수준에 기초하는 블렌딩 업데이트와 상기 하나 이상의 수정자를 블렌딩하는 것을 포함하는, 상기 하나 이상의 수정자를 조정하는 단계로서, 상기 블렌딩 업데이트와 상기 하나 이상의 수정자를 블렌딩하는 것은 상기 이미지 데이터의 적어도 하나의 영역에서 상기 제 1 편차 및 상기 제 2 편차 중 적어도 하나를 조정하는, 상기 하나 이상의 수정자를 조정하는 단계를 더 포함하는, 이미지 프로세싱 방법.
  19. 제 16 항에 있어서,
    상기 이미지 데이터를 상기 제 1 오브젝트 이미지 영역 및 상기 제 2 오브젝트 이미지 영역을 포함하는 복수의 오브젝트 이미지 영역으로 파티셔닝하는 카테고리 맵을 생성하는 단계로서, 상기 복수의 오브젝트 이미지 영역 중 각각의 오브젝트 이미지 영역은 상기 복수의 카테고리의 오브젝트 중 하나에 대응하는, 상기 카테고리 맵을 생성하는 단계;
    상기 제 1 카테고리의 오브젝트가 상기 이미지 캡처 프로세스를 위한 제 1 설정에 대응함을 식별하는 단계; 및
    상기 제 2 카테고리의 오브젝트가 상기 이미지 캡처 프로세스를 위한 제 2 설정에 대응함을 식별하는 단계를 더 포함하는, 이미지 프로세싱 방법.
  20. 제 19 항에 있어서,
    상기 이미지 데이터를 상기 복수의 신뢰도 수준에 대응하는 상기 복수의 신뢰도 이미지 영역으로 파티셔닝하는 신뢰도 맵을 생성하는 단계로서, 상기 이미지 데이터의 상기 상이한 부분은 상기 카테고리 맵 및 상기 신뢰도 맵에 기초하여 식별되는, 상기 신뢰도 맵을 생성하는 단계를 더 포함하는, 이미지 프로세싱 방법.
  21. 제 16 항에 있어서,
    상기 이미지 캡처 프로세스는 상기 하나 이상의 프로세서들 중 이미지 신호 프로세서(ISP)를 사용하여 상기 이미지 데이터를 프로세싱하는 것을 포함하고, 상기 이미지 캡처 프로세스를 위한 상기 상이한 설정은 상기 ISP를 위한 상이한 튜닝 설정인, 이미지 프로세싱 방법.
  22. 제 21 항에 있어서,
    상기 ISP 를 위한 상기 상이한 튜닝 설정은 상기 ISP를 사용하여 상기 이미지 데이터의 프로세싱 동안 ISP 튜닝 파라미터가 적용되는 상이한 강도를 포함하며, 상기 ISP 튜닝 파라미터는 노이즈 감소, 샤프닝, 색상 채도, 색상 맵핑, 색상 프로세싱 및 톤 맵핑 중 하나인, 이미지 프로세싱 방법.
  23. 제 16 항에 있어서,
    상기 상이한 설정은 렌즈 포지션, 플래시, 포커스, 노출, 화이트 밸런스, 조리개 크기, 셔터 속도, ISO, 아날로그 이득, 디지털 이득, 디노이징, 샤프닝, 톤 맵핑, 색상 채도, 디모자이킹, 색 공간 변환, 쉐이딩, 에지 향상, HDR(High Dynamic Range)을 위한 이미지 결합, 특수 효과, 인공 노이즈 추가, 에지 지향 업스케일링, 업스케일링, 다운스케일링 및 전자 이미지 안정화 중 적어도 하나와 연관된 설정을 포함하는, 이미지 프로세싱 방법.
  24. 제 16 항에 있어서,
    상기 이미지 데이터를 디모자이킹하는 것 및 상기 이미지 데이터를 제 1 색 공간에서 제 2 색 공간으로 변환하는 것 중 적어도 하나를 포함하는, 상기 이미지 데이터를 프로세싱하는 단계를 더 포함하는, 이미지 프로세싱 방법.
  25. 제 16 항에 있어서,
    상기 제 1 오브젝트 이미지 영역 및 상기 제 2 오브젝트 이미지 영역 중 적어도 하나와 연관된 사용자 입력을 수신하는 단계로서, 상기 상이한 설정 중 적어도 하나는 상기 사용자 입력에 기초하여 정의되고 상기 제 1 오브젝트 이미지 영역 및 상기 제 2 오브젝트 이미지 영역 중 하나에 대응하는, 상기 사용자 입력을 수신하는 단계를 더 포함하는, 이미지 프로세싱 방법.
  26. 제 16 항에 있어서,
    상기 이미지 캡처 프로세스를 위한 상기 상이한 설정을 상기 이미지 데이터의 상기 상이한 부분에 적용하는 단계는 이미지 신호 프로세서(ISP)를 사용하여 상기 이미지 캡처 프로세스를 위한 상기 상이한 설정을 상기 이미지 데이터의 상기 상이한 부분에 적용하는 단계를 포함하는, 이미지 프로세싱 방법.
  27. 제 16 항에 있어서,
    상기 제 1 오브젝트 이미지 영역 및 상기 제 2 오브젝트 이미지 영역을 식별하는 단계는 집적 회로 칩 상에 적어도 부분적으로 배치된 분류 엔진을 사용하여 상기 제 1 오브젝트 이미지 영역 및 상기 제 2 오브젝트 이미지 영역을 식별하는 단계를 포함하는, 이미지 프로세싱 방법.
  28. 제 16 항에 있어서,
    디스플레이 상에 상기 이미지를 표시하는 단계를 더 포함하는, 이미지 프로세싱 방법.
  29. 이미지 프로세싱 방법을 수행하기 위해 프로세서에 의해 실행 가능한 프로그램이 수록된 비일시적 컴퓨터 판독 가능 저장 매체로서, 상기 방법은
    이미지 센서에 의해 캡처된 이미지 데이터를 수신하는 단계;
    상기 이미지 데이터에서의 제 1 오브젝트 이미지 영역이 복수의 카테고리의 오브젝트 중 제 1 카테고리의 오브젝트를 묘사하는 것으로 결정하는 단계;
    상기 이미지 데이터에서의 제 2 오브젝트 이미지 영역이 상기 복수의 카테고리의 오브젝트 중 제 2 카테고리의 오브젝트를 묘사하는 것으로 결정하는 단계;
    상기 이미지 데이터의 복수의 신뢰도 이미지 영역에 대응하는 복수의 신뢰도 수준을 식별하는 단계로서, 상기 복수의 신뢰도 수준 중 각각의 신뢰도 수준은 상기 복수의 신뢰도 이미지 영역 중 대응하는 신뢰도 이미지 영역이 상기 복수의 카테고리의 오브젝트 중 하나를 묘사하는 신뢰도를 식별하는, 상기 복수의 신뢰도 수준을 식별하는 단계;
    이미지 캡처 프로세스를 위한 상이한 설정을 상기 이미지 데이터의 상이한 부분에 적용하는 것에 의한 것을 포함하는 상기 이미지 캡처 프로세스를 사용하여 상기 이미지 데이터에 기초하여 이미지를 생성하는 단계로서, 상기 이미지 데이터의 상기 상이한 부분은 상기 제 1 오브젝트 이미지 영역, 상기 제 2 오브젝트 이미지 영역, 및 상기 복수의 신뢰도 이미지 영역에 기초하여 식별되는, 상기 이미지를 생성하는 단계
    를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
KR1020237005032A 2020-08-20 2021-07-20 오브젝트 카테고리화에 기초한 이미지 프로세싱 KR20230053594A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063068333P 2020-08-20 2020-08-20
US63/068,333 2020-08-20
US17/158,917 2021-01-26
US17/158,917 US11895409B2 (en) 2020-08-20 2021-01-26 Image processing based on object categorization
PCT/US2021/042429 WO2022039870A1 (en) 2020-08-20 2021-07-20 Image processing based on object categorization

Publications (1)

Publication Number Publication Date
KR20230053594A true KR20230053594A (ko) 2023-04-21

Family

ID=80271199

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237005032A KR20230053594A (ko) 2020-08-20 2021-07-20 오브젝트 카테고리화에 기초한 이미지 프로세싱

Country Status (8)

Country Link
US (2) US11895409B2 (ko)
EP (1) EP4200742A1 (ko)
JP (1) JP2023538020A (ko)
KR (1) KR20230053594A (ko)
CN (1) CN116034400A (ko)
BR (1) BR112023002200A2 (ko)
TW (1) TW202209251A (ko)
WO (1) WO2022039870A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022051008A (ja) * 2020-09-18 2022-03-31 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US11995156B2 (en) * 2021-02-03 2024-05-28 Samsung Electronics Co., Ltd. Confidence aided upsampling of categorical maps
JP2022190237A (ja) * 2021-06-14 2022-12-26 キヤノン株式会社 電子機器、電子機器の制御方法、プログラム、記憶媒体
WO2024044936A1 (en) * 2022-08-30 2024-03-07 Qualcomm Incorporated Composition for layer roi processing
TWI824796B (zh) * 2022-10-26 2023-12-01 鴻海精密工業股份有限公司 圖像分類方法、電腦設備及儲存介質

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7212668B1 (en) * 2000-08-18 2007-05-01 Eastman Kodak Company Digital image processing system and method for emphasizing a main subject of an image
US7933454B2 (en) 2007-06-25 2011-04-26 Xerox Corporation Class-based image enhancement system
US20130177242A1 (en) * 2012-01-10 2013-07-11 James E. Adams, Jr. Super-resolution image using selected edge pixels
US10679326B2 (en) * 2015-11-24 2020-06-09 Canon Kabushiki Kaisha Image data processing apparatus and image data processing method that determine confidence data indicating a level of confidence in a pixel value in high resolution image data
WO2018088794A2 (ko) * 2016-11-08 2018-05-17 삼성전자 주식회사 디바이스가 이미지를 보정하는 방법 및 그 디바이스
KR102558166B1 (ko) * 2018-08-08 2023-07-24 삼성전자주식회사 복수의 객체들을 포함하는 이미지를 보정하는 전자 장치 및 그 제어 방법
CN110248096B (zh) * 2019-06-28 2021-03-12 Oppo广东移动通信有限公司 对焦方法和装置、电子设备、计算机可读存储介质
KR20210121508A (ko) * 2020-03-30 2021-10-08 삼성전자주식회사 이미지 신호 처리부의 동작 방법 및 이미지 신호 처리부를 포함하는 이미지 시스템
US11776129B2 (en) * 2020-12-16 2023-10-03 Qualcomm Incorporated Semantic refinement of image regions

Also Published As

Publication number Publication date
CN116034400A (zh) 2023-04-28
US20220060619A1 (en) 2022-02-24
TW202209251A (zh) 2022-03-01
EP4200742A1 (en) 2023-06-28
JP2023538020A (ja) 2023-09-06
US20240121521A1 (en) 2024-04-11
US11895409B2 (en) 2024-02-06
WO2022039870A1 (en) 2022-02-24
BR112023002200A2 (pt) 2023-03-14

Similar Documents

Publication Publication Date Title
US11983846B2 (en) Machine learning based image adjustment
US11895409B2 (en) Image processing based on object categorization
US20210390747A1 (en) Image fusion for image capture and processing systems
US11776129B2 (en) Semantic refinement of image regions
US20220138964A1 (en) Frame processing and/or capture instruction systems and techniques
TW202320019A (zh) 影像修改技術
US20230388623A1 (en) Composite image signal processor
US20220414847A1 (en) High dynamic range image processing
WO2023283855A1 (en) Super resolution based on saliency
US20240144717A1 (en) Image enhancement for image regions of interest
WO2023178588A1 (en) Capturing images using variable aperture imaging devices
US20240078635A1 (en) Compression of images for generating combined images
JP2024506932A (ja) カメラズームのためのシステムおよび方法
TW202410685A (zh) 使用可變光圈成像設備擷取影像
TW202416719A (zh) 用於產生組合圖像的圖像壓縮