KR102337835B1 - 지향성 스케일링 시스템들 및 방법들 - Google Patents

지향성 스케일링 시스템들 및 방법들 Download PDF

Info

Publication number
KR102337835B1
KR102337835B1 KR1020217003253A KR20217003253A KR102337835B1 KR 102337835 B1 KR102337835 B1 KR 102337835B1 KR 1020217003253 A KR1020217003253 A KR 1020217003253A KR 20217003253 A KR20217003253 A KR 20217003253A KR 102337835 B1 KR102337835 B1 KR 102337835B1
Authority
KR
South Korea
Prior art keywords
pixel
pixel values
data
input
resolution
Prior art date
Application number
KR1020217003253A
Other languages
English (en)
Other versions
KR20210018508A (ko
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 애플 인크.
Priority to KR1020217039842A priority Critical patent/KR102462265B1/ko
Publication of KR20210018508A publication Critical patent/KR20210018508A/ko
Application granted granted Critical
Publication of KR102337835B1 publication Critical patent/KR102337835B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/403Edge-driven scaling; Edge-based scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • G06T5/002
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20192Edge enhancement; Edge preservation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20216Image averaging

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)

Abstract

전자 디바이스는 입력 픽셀 데이터를 더 큰 해상도로 스케일링하기 위한 스케일링 회로부를 포함할 수 있다. 지향성 스케일링 회로부는, 이미지의 콘텐츠에 대응하는 하나 이상의 각도들을 포함하는 최상 모드 데이터를 수신하기 위한, 그리고 최상 모드 데이터 및 입력 픽셀 데이터의 입력 픽셀 포지션들에 대응하는 입력 픽셀 값들에 기초하여 입력 픽셀 포지션들로부터 대각선으로 오프셋된 제1 픽셀 포지션들에서 제1 픽셀 값들을 보간하기 위한 제1 보간 회로부를 포함할 수 있다. 지향성 스케일링 회로부는, 또한, 최상 모드 데이터 및 입력 픽셀 값들을 수신하기 위한, 그리고 최상 모드 데이터 및 입력 픽셀 값들에 적어도 부분적으로 기초하여 입력 픽셀 포지션들로부터 수평으로 또는 수직으로 오프셋된 제2 픽셀 포지션들에서 제2 픽셀 값들을 보간하기 위한 제2 보간 회로부를 포함할 수 있다.

Description

지향성 스케일링 시스템들 및 방법들
본 발명은 대체적으로 이미지 프로세싱에 관한 것으로, 더 구체적으로는, 전자 디스플레이 상에 이미지들을 디스플레이하는 데 사용되는 이미지 데이터의 픽셀 통계치들, 스케일링(scaling), 및/또는 향상(enhancement)의 분석에 관한 것이다.
이 섹션은 아래에서 설명되고 그리고/또는 청구되는 본 개시내용의 다양한 태양들에 관련될 수 있는 기술의 다양한 태양들을 독자에게 소개하도록 의도된다. 이러한 논의는 본 개시내용의 다양한 태양들에 대한 더 양호한 이해를 용이하게 하기 위해 독자에게 배경 정보를 제공하는 데 도움이 될 것으로 여겨진다. 따라서, 이들 진술들이 종래 기술의 인정들로서가 아니라 이러한 관점에서 읽혀질 것임이 이해되어야 한다.
전자 디바이스들은, 종종, 하나 이상의 전자 디스플레이들을 사용하여, 하나 이상의 이미지들(예컨대, 이미지 프레임들)을 디스플레이함으로써 정보의 시각적 표현들을 텍스트, 정지 이미지들, 및/또는 비디오로서 제시한다. 예를 들어, 그러한 전자 디바이스들은, 많은 다른 것들 중에서, 컴퓨터, 이동 전화, 휴대용 미디어 디바이스, 태블릿, 텔레비전, 가상현실 헤드셋, 및 차량 계기판을 포함할 수 있다. 이미지를 디스플레이하기 위해, 전자 디스플레이는 대응하는 이미지/픽셀 데이터에 적어도 부분적으로 기초하여 그의 디스플레이 픽셀들의 발광(예컨대, 휘도)을 제어할 수 있다.
대체적으로, 이미지 데이터는 이미지에 대응하는 해상도(예컨대, 사용될 픽셀들의 치수들)를 나타낼 수 있다. 그러나, 일부 경우들에 있어서, 예를 들어 더 높은 해상도 출력을 갖는 전자 디스플레이들 상에 디스플레이하기 위해, 이미지를 더 높은 해상도로 스케일링하는 것이 바람직할 수 있다. 따라서, 이미지를 디스플레이하는 데 사용되기 전에, 이미지 데이터는 이미지 데이터를 원하는 해상도로 변환하도록 프로세싱될 수 있다. 그러나, 적어도 일부 경우들에 있어서, 이미지 데이터를 스케일링하는 데 사용되는 기법들은, 예를 들어, 톱니형 에지(jagged edge)들과 같은 이미지 아티팩트들을 도입함으로써, 대응하는 이미지의 인지된 이미지 품질에 영향을 미칠 수 있다. 그러한 아티팩트들을 보정하기 위해 이미지 향상을 겪을 때 픽셀 통계치들이 채용될 수 있다.
본 명세서에 개시된 소정의 실시예들의 개요가 아래에 기재된다. 이들 태양들은 단지 이들 소정의 실시예들의 간단한 개요를 독자에게 제공하기 위해 제시되며, 이들 태양들은 본 개시내용의 범주를 제한하도록 의도되지 않는다는 것을 이해해야 한다. 실제로, 본 개시내용은 아래에 기재되지 않을 수 있는 다양한 태양들을 포함할 수 있다.
일부 예들에서, 전자 디바이스는 이미지의 인지된 품질을 개선하기 위해 이미지 데이터를 스케일링하고/하거나 향상시킬 수 있다. 일부 실시예들에서, 이미지 데이터에 대한 변경들은 이미지 데이터에 대응하는 이미지의 콘텐츠에 적어도 부분적으로 기초할 수 있다. 그러한 변경된 이미지 데이터는 메모리에 저장되거나 전자 디스플레이 상에 디스플레이될 수 있다. 일부 실시예들에서, 이미지 데이터는, 예를 들어 적색 성분 이미지 데이터, 청색 성분 이미지 데이터, 및 녹색 성분 이미지 데이터를 통해, 컬러 성분(예컨대, 채널)당 타깃 휘도를 나타낼 수 있다. 추가적으로 또는 대안적으로, 이미지 데이터는 그레이스케일(grayscale)(예컨대, 그레이 레벨)에서 또는 루마 및 크로미넌스(chrominance) 성분들(예컨대, YCbCr)을 통해 타깃 휘도를 나타낼 수 있다.
이미지 데이터에 대한 개선들을 용이하게 하기 위해, 잡음 통계치들이 수집되고 분석될 수 있다. 예를 들어, 이미지 데이터 내의 주파수 대역들은 이미지 콘텐츠를 잡음으로부터 구별하는 것을 돕도록 식별될 수 있다. 이와 같이, 이미지의 콘텐츠는 출력 이미지에 미치는 잡음의 영향을 최소화하면서 향상될 수 있다. 일부 실시예들에서, 소정 기준들을 충족시키지 않는 픽셀들은 잡음 통계치들로부터 배제될 수 있다.
추가적으로, 차동 통계치들 및 절대차들의 합(sum of absolute differences, SAD)은 이미지 데이터의 픽셀 그룹화에 적용될 수 있다. 그러한 픽셀 그룹화들은, 보간의 최상 모드(예컨대, 각도)를 식별하도록 관심 픽셀에 대한 다수의 방향들로 각도 검출 회로부를 통해 선택 및 비교될 수 있다. 상이한 픽셀 그룹화들의 비교들은, 최상 모드를 사용하여 이미지 데이터를 향상시키거나 스케일링하는 데 도움을 줄 수 있는 이미지의 콘텐츠 내의 특징부들(에지들, 라인들, 및/또는 변화들)을 식별할 수 있다. 최상 모드 데이터는 관심 픽셀의 포지션에서 이미지의 콘텐츠의 특징부들을 가장 정확하게 설명하는 하나 이상의 각도들을 포함할 수 있다. 추가적으로, 다수의 관심 픽셀들로부터의 최상 모드 데이터는 픽셀 값 보간에서의 사용을 위해 함께 컴파일될 수 있다.
예를 들어, 일 실시예에서, 차동 및 SAD 통계치들은 최상 모드 데이터에 적어도 부분적으로 기초하여 새로운 픽셀 값들을 보간함으로써 이미지 해상도의 증가를 용이하게 할 수 있다. 지향성 스케일링 회로부는 식별된 각도들을 활용하여 이미지의 특징부들을 유지하면서, 톱니형 에지들(예컨대, 계단)과 같은 아티팩트들의 도입을 최소화할 수 있다. 일부 실시예들에서, 지향성 스케일링 회로부는 오리지널 픽셀들의 가중 평균을 생성함으로써 오리지널 이미지 데이터 픽셀 위치들에 대해 대각선의 픽셀들을 보간할 수 있다. 가중 평균은, 예를 들어, 차동 및 SAD 통계치들 및 이들로부터 식별되는 각도에 기초할 수 있다. 추가적으로, 지향성 스케일링 회로부는 오리지널 픽셀들 및/또는 새로운 대각선 픽셀들의 가중 평균을 결정함으로써 오리지널 픽셀들로부터 수평으로 그리고 수직으로 위치되는 픽셀 값들을 생성할 수 있다. 이러한 가중 평균은, 또한, 차동 및 SAD 통계치들에 적어도 부분적으로 기초할 수 있다.
지향성 스케일링 회로부와 함께 또는 그와 별개로 사용되면, 향상 회로부는, 또한, 차동 및 SAD 통계치들을 사용하여 이미지의 이미지 데이터를 조정할 수 있다. 추가적으로 또는 대안적으로, 향상 회로부는 이미지의 잡음 통계치들 및/또는 낮은 해상도 버전을 사용하여 이미지 향상을 발생시킬 수 있다. 그러한 향상은 이미지에 증가된 선예도(sharpness)를 제공할 수 있다. 일부 실시예들에서, 비교를 위해 이미지의 더 낮은 해상도 버전을 사용하는 예시 기반 향상(example-based enhancement)은 이미지 데이터의 하나 이상의 채널들에 대한 향상을 제공할 수 있다. 예를 들어, 이미지 데이터의 루마 채널은, 이미지와 이미지의 낮은 해상도 버전 사이의 정사각형 차이들의 합 또는 그의 근사치에 기초하여 향상될 수 있다. 추가적으로, 향상 회로부는 피킹 필터(peaking filter)를 채용하여 이미지의 고주파 태양들(예컨대, 크로스 해칭(cross hatching))을 향상시킬 수 있다. 그러한 향상은 개선된 공간 해상도 및/또는 감소된 블러(blur)를 제공할 수 있다. 더욱이, 향상 회로부는 이미지 내의 컬러 톤들을 결정하여 소정 콘텐츠(예컨대, 하늘, 잔디, 및/또는 피부)를 식별할 수 있다. 예시 기반 향상, 피킹 필터, 및/또는 톤 결정은 각각 향상을 통합하기 위해 이미지의 상이한 텍스처들을 타깃팅할 수 있고, 각각으로부터 기인하는 향상들은 독립적으로 그리고 이미지의 국소 특징부들에 기초하여 제어될 수 있다.
구현예에 따라, 잡음 통계 회로부, 각도 검출 회로부, 지향성 스케일링 회로부, 및 향상 회로부는 개별적으로 그리고/또는 조합하여 사용되어, 인지된 이미지 품질을 개선하는 것을 용이하게 하고/하거나 이미지 아티팩트들의 가능성을 감소시키면서 이미지 데이터를 더 높은 해상도로 변경할 수 있다.
본 개시내용의 다양한 태양들은 다음의 상세한 설명을 판독할 시에 그리고 도면들을 참조할 시에 더 양호하게 이해될 수 있다.
도 1은 일 실시예에 따른, 전자 디스플레이를 포함하는 전자 디바이스의 블록도이다.
도 2는 일 실시예에 따른 도 1의 전자 디바이스들의 일례이다.
도 3은 일 실시예에 따른 도 1의 전자 디바이스의 다른 예이다.
도 4는 일 실시예에 따른 도 1의 전자 디바이스의 다른 예이다.
도 5는 일 실시예에 따른 도 1의 전자 디바이스의 다른 예이다.
도 6은 일 실시예에 따른, 도 1의 전자 디바이스의 메모리에 커플링된 프로세싱 파이프라인의 블록도이다.
도 7은 일 실시예에 따른, 도 1의 전자 디바이스에 의해 사용될 수 있는 스케일러 블록의 블록도이다.
도 8은 일 실시예에 따른, 도 7의 스케일러 블록을 동작시키기 위한 프로세스의 흐름도이다.
도 9는 일 실시예에 따른, 도 7의 스케일러 블록에서 구현되는 잡음 통계 블록의 블록도이다.
도 10은 일 실시예에 따른, 도 9의 잡음 통계 블록을 동작시키기 위한 프로세스의 흐름도이다.
도 11은 일 실시예에 따른, 도 7의 스케일러 블록에서 구현되는 각도 검출 블록의 블록도이다.
도 12는 일 실시예에 따른, 픽셀 위치들 및 이들의 예시적인 샘플링들의 개략도이다.
도 13은 일 실시예에 따른, 픽셀 위치들 및 이들의 예시적인 샘플링들의 개략도이다.
도 14는 일 실시예에 따른, 도 11의 각도 검출 블록을 동작시키기 위한 프로세스의 흐름도이다.
도 15는 일 실시예에 따른, 도 7의 스케일러 블록에서 구현되는 지향성 스케일러 블록의 블록도이다.
도 16은 일 실시예에 따른 예시적인 픽셀 보간 포인트들의 개략도이다.
도 17은 일 실시예에 따른, 도 15의 지향성 스케일링 블록을 동작시키기 위한 프로세스의 흐름도이다.
도 18은 도 7의 스케일러 블록에서 구현되는 이미지 향상 블록의 블록도이다.
도 19는 도 18의 이미지 향상 블록에서 구현되는 예시 기반 개선의 블록도이다.
도 20은 일 실시예에 따른, 도 18의 향상 블록을 동작시키기 위한 프로세스의 흐름도이다.
하나 이상의 구체적인 실시예들이 아래에서 설명될 것이다. 이러한 실시예들에 대한 간명한 설명을 제공하려는 노력으로, 명세서에는 실제 구현의 모든 특징들이 설명되어 있지는 않다. 임의의 엔지니어링 또는 설계 프로젝트에서와 같이 임의의 그러한 실제 구현의 개발에서, 구현마다 다를 수 있는 시스템-관련 및 사업-관련 제약들의 준수와 같은 개발자들의 특정 목표들을 달성하기 위해 많은 구현-특정 결정들이 이루어져야 한다는 것을 이해해야 한다. 또한, 그러한 개발 노력은 복잡하고 시간 소모적일 수 있지만, 그럼에도 본 개시내용의 이익을 갖는 본 발명이 속한 기술분야에서 통상의 지식을 가진 자들을 위한 설계, 제조, 및 제작의 일상적인 과제일 것이라는 것을 이해해야 한다.
정보의 통신을 용이하게 하기 위해, 전자 디바이스들은, 종종, 하나 이상의 전자 디스플레이들을 사용하여, 하나 이상의 이미지들(예컨대, 이미지 프레임들)을 통해 정보의 시각적 표현들을 제시한다. 그러한 전자 디바이스들은 많은 다른 것들 중에서, 컴퓨터, 이동 전화, 휴대용 미디어 디바이스, 태블릿, 텔레비전, 가상현실 헤드셋, 및 차량 대시보드를 포함할 수 있다. 추가적으로 또는 대안적으로, 전자 디스플레이는 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 플라즈마 디스플레이 등의 형태를 취할 수 있다.
임의의 경우에 있어서, 이미지를 디스플레이하기 위해, 전자 디스플레이는, 대체적으로, 특정 해상도(예컨대, 픽셀 치수들)에서 수신된 대응하는 이미지 데이터에 기초하여 그의 디스플레이 픽셀들의 발광(예컨대, 휘도 및/또는 컬러)을 제어한다. 예를 들어, 이미지 데이터 소스(예컨대, 메모리, 입력/출력(I/O) 포트, 및/또는 통신 네트워크)는, 각각의 픽셀에 대한 데이터가 대응하는 픽셀 포지션들에 위치된 하나 이상의 디스플레이 픽셀들의 타깃 휘도(예컨대, 밝기 및/또는 컬러)를 나타내는 픽셀 데이터(예컨대, 이미지 데이터)의 스트림으로서 이미지 데이터를 출력할 수 있다. 일부 실시예들에서, 이미지 데이터는, 예를 들어 적색 성분 이미지 데이터, 청색 성분 이미지 데이터, 및 녹색 성분 이미지 데이터(총체적으로, RGB)를 통해, 컬러 성분당 휘도를 나타낼 수 있다. 추가적으로 또는 대안적으로, 이미지 데이터는 루마 채널 및 하나 이상의 크로미넌스 채널들(예컨대, YCbCr, YUV 등), 그레이스케일(예컨대, 그레이 레벨), 또는 다른 컬러 기준에 의해 나타내질 수 있다. 루마 채널은, 본 명세서에 개시된 바와 같이, 선형, 비선형, 및/또는 감마 보정 루마 값들을 포함할 수 있다는 것이 이해되어야 한다.
인지되는 이미지 품질을 개선하는 것을 용이하게 하기 위해, 이미지 데이터는 전자 디스플레이에 출력되기 전에 프로세싱될 수 있거나, 또는 차후 사용을 위해 메모리에 저장될 수 있다. 예를 들어, 하드웨어(예컨대, 회로부) 및/또는 소프트웨어(예컨대, 유형적인(tangible) 비일시적 매체에 저장된 명령어들의 실행)를 통해 구현되는 프로세싱 파이프라인은 그러한 이미지 프로세싱을 용이하게 할 수 있다. 일부 경우들에 있어서, 이미지 데이터를 더 높은 해상도로 스케일링하는 것, 예를 들어 전자 디스플레이의 해상도와 매칭하거나 이미지를 더 크게 보이게 하는 것이 바람직할 수 있다. 그러나, 적어도 일부 경우들에 있어서, 이는, 예를 들어, 블러리니스(blurriness), 톱니형 에지들(예컨대, 계단), 및/또는 세부사항의 손실(loss of detail)과 같은 인지가능한 시각적 아티팩트들을 생성함으로써, 인지되는 이미지 품질에 영향을 미칠 수 있다.
따라서, 인지되는 이미지 품질을 개선하는 것을 용이하게 하기 위해, 본 발명은, (예컨대, 통계치들을 통해) 이미지의 콘텐츠를 식별하고/하거나, 이미지 데이터를 스케일링하여 이미지 선명도(definition)(예컨대, 선예도)를 유지하면서 해상도를 증가시키고/시키거나, 이미지 데이터를 향상시켜서 이미지의 명료성을 증가시키기 위한 기법들을 제공한다. 일부 실시예들에서, 프로세싱 파이프라인은 이미지 내의 라인들, 에지들, 패턴들, 및 각도들을 고려하면서 이미지 데이터를 지향적으로 스케일링하기 위한 스케일러 블록을 포함할 수 있다. 그러한 콘텐츠 종속적 프로세싱은, 아티팩트들 없이 또는 감소된 양의 아티팩트들로, 이미지 데이터가 더 높은 해상도로 스케일링되게 할 수 있다. 일 실시예에서, 현저한 아티팩트들을 도입하지 않고서 이미지의 해상도를 증가시키는 능력은 이미지들이 더 낮은 해상도로 저장되게 하여, 이에 따라, 메모리 공간 및/또는 대역폭을 절약할 수 있으며, 이미지를 디스플레이하기 전에 이미지를 더 높은 해상도로 복원할 수 있다. 추가적으로, 이미지 데이터는 출력되거나 저장되기 전에 추가 향상을 겪을 수 있다.
그러한 콘텐츠 종속적 프로세싱을 위해, 스케일러 블록은, 예를 들어, 잡음 통계 블록, 각도 검출 블록, 지향성 스케일링 블록, 및 이미지 향상 블록을 포함할 수 있다. 잡음 통계 블록은, 수집된 픽셀 통계치들에 대한 통계 분석을 사용하여, 이미지 데이터의 나머지로부터의 잡음을 식별 및 구별할 수 있다. 이와 같이, 잡음은, 이미지 데이터가 향상을 겪는 경우에/겪을 때, 무시되거나 더 적은 가중치를 부여받을 수 있다. 각도 검출 블록은 절대차들의 합(SAD) 및/또는 미분(DIFF)에 기초하여 통계치들을 수집할 수 있다. 이러한 SAD 및 DIFF 통계치들은 입력 픽셀들 둘레에서 다수의 각도들로 결정되어, 스케일링 보간 및/또는 향상의 기초가 되는 관심 각도들을 식별할 수 있다. 따라서, 각각의 입력 픽셀에 대한, 예를 들어 최상 각도들, 가중치들 등을 포함하는, 식별된 최상 모드 데이터는 이미지 콘텐츠를 특성화하는 것을 보조하여 이미지 데이터의 지향성 스케일링을 도울 수 있다. 지향성 스케일링 블록은 입력 이미지 데이터 및 최상 모드 데이터를 취하고 중간점 픽셀 및 외부 포인트 픽셀을 보간하여, 입력 이미지 데이터에 추가할 새로운 픽셀 데이터를 생성하여, 이에 따라, 스케일링된 이미지 데이터를 생성할 수 있다. 스케일링된 이미지 데이터는, 추가적으로, 이미지 내의 톤들을 식별하고, 예시 기반 개선을 통해, 스케일링된 이미지 데이터를 입력 이미지 데이터와 비교함으로써, 이미지 향상 블록을 통해 향상될 수 있다. 이와 같이, 스케일러 블록은 하드웨어 및/또는 소프트웨어 컴포넌트들을 통합하여, 관심 잡음 및 각도들의 결정, 이미지 아티팩트들의 가능성을 감소시키면서 더 높은 해상도로의 이미지 데이터의 스케일링, 및/또는 이미지 향상을 용이하게 할 수 있다.
설명을 돕기 위해, 전자 디스플레이(12)를 포함할 수 있는 전자 디바이스(10)가 도 1에 도시되어 있다. 아래에서 더 상세히 기술되는 바와 같이, 전자 디바이스(10)는, 컴퓨터, 이동 전화, 휴대용 미디어 디바이스, 태블릿, 텔레비전, 가상현실 헤드셋, 차량 계기판 등과 같은 임의의 적합한 전자 디바이스(10)일 수 있다. 따라서, 도 1이 단지 특정 구현의 하나의 예이고, 전자 디바이스(10)에 존재할 수 있는 컴포넌트들의 유형들을 예시하도록 의도되는 것이라는 것에 유의해야 한다.
도시된 실시예에서, 전자 디바이스(10)는 전자 디스플레이(12), 하나 이상의 입력 디바이스들(14), 하나 이상의 입력/출력(I/O) 포트들(16), 하나 이상의 프로세서(들) 또는 프로세서 코어들을 갖는 프로세서 코어 컴플렉스(18), 로컬 메모리(20), 메인 메모리 저장 디바이스(22), 네트워크 인터페이스(24), 전원(26), 및 이미지 프로세싱 회로부(27)를 포함한다. 도 1에 설명된 다양한 컴포넌트들은 하드웨어 요소들(예컨대, 회로부), 소프트웨어 요소들(예컨대, 명령어들을 저장하는 유형적인 비일시적 컴퓨터 판독가능 매체), 또는 하드웨어와 소프트웨어 요소들 둘 모두의 조합을 포함할 수 있다. 다양한 도시된 컴포넌트들은 더 적은 수의 컴포넌트들로 조합될 수 있거나 추가의 컴포넌트들로 분리될 수 있다는 것에 유의해야 한다. 예를 들어, 로컬 메모리(20) 및 메인 메모리 저장 디바이스(22)는 단일 컴포넌트 내에 포함될 수 있다. 추가적으로 또는 대안적으로, 이미지 프로세싱 회로부(27)(예컨대, 그래픽 프로세싱 유닛)는 프로세서 코어 컴플렉스(18) 내에 포함될 수 있다.
도시된 바와 같이, 프로세서 코어 컴플렉스(18)는 로컬 메모리(20) 및 메인 메모리 저장 디바이스(22)와 동작가능하게 커플링된다. 따라서, 프로세서 코어 컴플렉스(18)는 이미지 데이터를 생성하고/하거나 송신하는 것과 같은 동작들을 수행하기 위해 로컬 메모리(20) 및/또는 메인 메모리 저장 디바이스(22)에 저장된 명령어를 실행할 수 있다. 이와 같이, 프로세서 코어 컴플렉스(18)는 하나 이상의 범용 마이크로프로세서, 하나 이상의 ASIC(application specific integrated circuit), 하나 이상의 FPGA(field programmable gate array), 또는 이들의 임의의 조합을 포함할 수 있다.
명령어들에 더하여, 로컬 메모리(20) 및/또는 메인 메모리 저장 디바이스(22)는 프로세서 코어 컴플렉스(18)에 의해 프로세싱될 데이터를 저장할 수 있다. 따라서, 일부 실시예들에서, 로컬 메모리(20) 및/또는 메인 메모리 저장 디바이스(22)는 하나 이상의 유형적인 비일시적 컴퓨터 판독가능 매체들을 포함할 수 있다. 예를 들어, 로컬 메모리(20)는 RAM(random access memory)을 포함할 수 있고, 메인 메모리 저장 디바이스(22)는 ROM(read only memory), 재기록가능한 비휘발성 메모리, 예컨대, 플래시 메모리, 하드 드라이브, 광학 디스크 등을 포함할 수 있다.
도시된 바와 같이, 프로세서 코어 컴플렉스(18)는 또한 네트워크 인터페이스(24)와 동작가능하게 커플링된다. 일부 실시예들에서, 네트워크 인터페이스(24)는 다른 전자 디바이스 및/또는 통신 네트워크와의 데이터 통신을 용이하게 할 수 있다. 예를 들어, 네트워크 인터페이스(24)(예컨대, 무선 주파수 시스템)는 전자 디바이스(10)가 블루투스 네트워크와 같은 개인 영역 네트워크(PAN), 802.11x Wi-Fi 네트워크와 같은 로컬 영역 네트워크(LAN), 및/또는 4G 또는 LTE 셀룰러 네트워크와 같은 광역 네트워크(WAN)에 통신가능하게 커플링되는 것을 가능하게 할 수 있다.
추가로, 도시된 바와 같이, 프로세서 코어 컴플렉스(18)는 전원(26)에 동작가능하게 커플링된다. 일부 실시예들에서, 전원(26)은 프로세서 코어 컴플렉스(18) 및/또는 전자 디스플레이(12)와 같은, 전자 디바이스(10) 내의 하나 이상의 컴포넌트들에 전력을 제공할 수 있다. 따라서, 전원(26)은 재충전가능한 리튬 폴리머(Li-poly) 배터리 및/또는 교류(AC) 전력 변환기와 같은 임의의 적합한 에너지원을 포함할 수 있다.
더욱이, 도시된 바와 같이, 프로세서 코어 컴플렉스(18)는 하나 이상의 I/O 포트들(16)과 동작가능하게 커플링된다. 일부 실시예들에서, I/O 포트들(16)은 전자 디바이스(10)가 다른 전자 디바이스들과 인터페이싱하는 것을 가능하게 할 수 있다. 예를 들어, 휴대용 저장 디바이스가 접속될 때, I/O 포트(16)는 프로세서 코어 컴플렉스(18)가 데이터를 휴대용 저장 디바이스와 통신할 수 있게 할 수 있다.
도시된 바와 같이, 전자 디바이스(10)는 또한 하나 이상의 입력 디바이스들(14)과 동작가능하게 커플링된다. 일부 실시예들에서, 입력 디바이스(14)는, 예를 들어 사용자 입력들을 수신함으로써, 전자 디바이스(10)와의 사용자 상호작용을 용이하게 할 수 있다. 따라서, 입력 디바이스(14)는 버튼, 키보드, 마우스, 트랙패드 등을 포함할 수 있다. 추가로, 일부 실시예들에서, 입력 디바이스(14)는 전자 디스플레이(12) 내의 터치 감지 컴포넌트들을 포함할 수 있다. 그러한 실시예들에서, 터치 감지 컴포넌트들은 전자 디스플레이(12)의 표면을 터치하는 객체의 발생 및/또는 포지션을 검출함으로써 사용자 입력들을 수신할 수 있다.
사용자 입력들을 가능하게 하는 것에 더하여, 전자 디스플레이(12)는 하나 이상의 디스플레이 픽셀들을 갖는 디스플레이 패널을 포함할 수 있다. 전자 디스플레이(12)는, 대응하는 이미지 데이터(예컨대, 개별적인 픽셀 포지션들에 위치된 이미지 픽셀 데이터)에 적어도 부분적으로 기초하여 프레임들을 디스플레이함으로써, 운영 체제의 그래픽 사용자 인터페이스(GUI), 애플리케이션 인터페이스, 정지 이미지, 또는 비디오 콘텐츠와 같은 정보의 시각적 표현들을 제시하기 위해 그의 디스플레이 픽셀들로부터의 발광을 제어할 수 있다.
도시된 바와 같이, 전자 디스플레이(12)는 프로세서 코어 컴플렉스(18) 및 이미지 프로세싱 회로부(27)에 동작가능하게 커플링된다. 이러한 방식으로, 전자 디스플레이(12)는, 이미지 데이터 소스, 예컨대, 프로세서 코어 컴플렉스(18) 및/또는 이미지 프로세싱 회로부(27)로부터 수신된 이미지 데이터에 적어도 부분적으로 기초하여 이미지들을 디스플레이할 수 있다. 일부 실시예들에서, 이미지 데이터 소스는 소스 이미지 데이터를 생성하여, 디스플레이될 이미지의 디지털 표현을 생성할 수 있다. 다시 말하면, 이미지 데이터는 전자 디스플레이(12) 상의 뷰가 의도된 이미지를 정확하게 표현하도록 생성된다. 추가적으로 또는 대안적으로, 전자 디스플레이(12)는 네트워크 인터페이스(24), 입력 디바이스(14), 및/또는 I/O 포트(16)를 통해 수신된 이미지 데이터에 적어도 부분적으로 기초하여 이미지들을 디스플레이할 수 있다. 이미지를 정확하게 표현하는 것을 용이하게 하기 위해, 이미지 데이터는, 예를 들어 프로세서 코어 컴플렉스(18) 및/또는 이미지 프로세싱 회로부(27)에서 구현된 프로세싱 파이프라인 및/또는 디스플레이 파이프라인을 통해, 전자 디스플레이(12)에 공급되기 전에 프로세싱될 수 있다. 추가적으로, 일부 실시예들에서, 이미지 데이터는, 예를 들어 메모리(20)로부터 획득되고, 예를 들어 프로세싱 파이프라인에서 프로세싱되고, 그의 소스(예컨대, 메모리(20))로 반환될 수 있다. 그러한 기법은, 본 명세서에 기술된 바와 같이, 메모리-투-메모리(memory-to-memory) 프로세싱으로 알려져 있다.
아래에서 더 상세히 기술되는 바와 같이, 프로세싱 파이프라인은, 이미지 스케일링, 회전, 향상, 픽셀 통계치 수집 및 해석, 공간적 및/또는 시간적 디더링(dithering), 픽셀 색공간 변환, 휘도 결정, 휘도 최적화 등과 같은 다양한 프로세싱 동작들을 수행할 수 있다. 예를 들어, 프로세싱 파이프라인은, 대응하는 이미지가 전자 디스플레이(12) 상에 디스플레이될 때 이미지 데이터의 콘텐츠를 사용하여 인지가능한 시각적 아티팩트들(예컨대, 톱니형 에지들, 밴딩(banding), 및/또는 블러)을 생성할 가능성을 감소시키면서 이미지 데이터를 지향성으로 스케일링하여 해상도를 증가시킬 수 있다.
일부 실시예들에서, 이미지 데이터가 수신된 후에, 전자 디스플레이(12)는 이미지 데이터에 대한 추가 프로세싱을 수행할 수 있는데, 예를 들어, 관찰된 이미지의 정확도를 추가로 개선하는 것을 용이하게 할 수 있다. 예를 들어, 전자 디스플레이(12)는 이미지 데이터를 다시 스케일링하고/하거나 회전하고/하거나 공간적으로 디더링하고/하거나 향상시킬 수 있다. 이와 같이, 일부 실시예들에서, 프로세싱 파이프라인은 전자 디스플레이(12)로 구현될 수 있다.
전술된 바와 같이, 전자 디바이스(10)는 임의의 적합한 전자 디바이스일 수 있다. 설명을 돕기 위해, 적합한 전자 디바이스(10)의 하나의 예, 특히 핸드헬드 디바이스(10A)가 도 2에 도시되어 있다. 일부 실시예들에서, 핸드헬드 디바이스(10A)는 휴대용 전화, 미디어 플레이어, 개인용 데이터 오거나이저(personal data organizer), 핸드헬드 게임 플랫폼 등일 수 있다. 예시를 위해, 핸드헬드 디바이스(10A)는 Apple Inc.로부터 입수가능한 임의의 iPhone® 모델과 같은 스마트 폰일 수 있다.
도시된 바와 같이, 핸드헬드 디바이스(10A)는 인클로저(28)(예컨대, 하우징)를 포함한다. 일부 실시예들에서, 인클로저(28)는 물리적 손상으로부터 내부 컴포넌트들을 보호하고/하거나 전자기 간섭으로부터 그들을 차폐시킬 수 있다. 추가로, 도시된 바와 같이, 인클로저(28)는 전자 디스플레이(12)를 둘러쌀 수 있다. 도시된 실시예에서, 전자 디스플레이(12)는 아이콘들(32)의 어레이를 갖는 그래픽 사용자 인터페이스(GUI)(30)를 디스플레이하고 있다. 예로서, 아이콘(32)이 입력 디바이스(14) 또는 전자 디스플레이(12)의 터치 감지 컴포넌트 중 어느 하나에 의해 선택될 때, 애플리케이션 프로그램이 시작될 수 있다.
더욱이, 도시된 바와 같이, 입력 디바이스들(14)은 인클로저(28) 내의 개구들을 통해 액세스될 수 있다. 전술된 바와 같이, 입력 디바이스들(14)은 사용자가 핸드헬드 디바이스(10A)와 상호작용하는 것을 가능하게 할 수 있다. 예를 들어, 입력 디바이스들(14)은, 사용자가 핸드헬드 디바이스(10A)를 활성화 또는 비활성화시키고/시키거나 사용자 인터페이스를 홈 스크린으로 내비게이트하고/하거나 사용자 인터페이스를 사용자-구성가능 애플리케이션 스크린으로 내비게이트하고/하거나 음성-인식 특징부를 활성화시키고/시키거나 볼륨 제어부를 제공하고/하거나 진동 모드와 벨소리 모드 사이에서 토글링하는 것을 가능하게 할 수 있다. 도시된 바와 같이, I/O 포트들(16)은 인클로저(28) 내의 개구들을 통해 액세스될 수 있다. 일부 실시예들에서, I/O 포트들(16)은, 예를 들어, 외부 디바이스들에 접속하기 위한 오디오 잭을 포함할 수 있다.
추가로 예시하기 위해, 적합한 전자 디바이스(10)의 다른 예, 특히 태블릿 디바이스(10B)가 도 3에 도시되어 있다. 예시를 위해, 태블릿 디바이스(10B)는 Apple Inc.로부터 입수가능한 임의의 iPad® 모델일 수 있다. 적합한 전자 디바이스(10)의 추가의 예, 특히 컴퓨터(10C)가 도 4에 도시되어 있다. 예시를 위해, 컴퓨터(10C)는 Apple Inc.로부터 입수가능한 임의의 Macbook® 또는 iMac® 모델일 수 있다. 적합한 전자 디바이스(10)의 다른 예, 특히 시계(10D)가 도 5에 도시되어 있다. 예시를 위해, 시계(10D)는 Apple Inc.로부터 입수가능한 임의의 Apple Watch® 모델일 수 있다. 도시된 바와 같이, 태블릿 디바이스(10B), 컴퓨터(10C), 및 시계(10D) 각각은 또한 전자 디스플레이(12), 입력 디바이스들(14), I/O 포트들(16), 및 인클로저(28)를 포함한다.
전술된 바와 같이, 전자 디스플레이(12)는 이미지 데이터 소스로부터 수신된 이미지 데이터에 기초하여 이미지들을 디스플레이할 수 있다. 설명을 돕기 위해, 이미지 데이터를 동작가능하게 검색, 프로세싱, 및 출력하는 프로세싱 파이프라인(36)을 포함하는 전자 디바이스(10)의 일부분(34)이 도 6에 도시되어 있다. 일부 실시예들에서, 프로세싱 파이프라인(36)은, 예를 들어 이미지 데이터가 이미지를 디스플레이하는 데 사용되거나 메모리-투-메모리 프로세싱에서와 같이 메모리(20)에 저장되기 전에 이미지 데이터를 지향성으로 스케일링하고 향상시킴으로써, 메모리(20)로부터 수신된 이미지 데이터를 분석하고/하거나 프로세싱할 수 있다. 그러한 시나리오에서, 이미지 데이터는 더 높은 해상도로 지향성으로 스케일링될 수 있고, 이어서, 추후 관찰을 위해 메모리에 저장될 수 있다. 일부 실시예들에서, 프로세싱 파이프라인(36)은 디스플레이 파이프라인일 수 있거나 그 내에 통합될 수 있고, 이에 따라, 디스플레이 드라이버(38)에 동작가능하게 커플링되어, 아날로그 및/또는 디지털 전기 신호들을 생성 및 공급하여, 이미지 데이터에 적어도 부분적으로 기초하여 전자 디스플레이(12)의 픽셀들을 디스플레이할 수 있다.
일부 실시예들에서, 프로세싱 파이프라인(36)은 전자 디바이스(10), 전자 디스플레이(12), 또는 이들의 조합에서 구현될 수 있다. 예를 들어, 프로세싱 파이프라인(36)은 프로세서 코어 컴플렉스(18), 이미지 프로세싱 회로부(27), 전자 디스플레이(12) 내의 타이밍 제어기(TCON), 하나 이상의 다른 프로세싱 유닛들 또는 회로부, 또는 이들의 임의의 조합 내에 포함될 수 있다.
일부 실시예들에서, 제어기(40)는 프로세싱 파이프라인(36), 메모리(20), 및/또는 디스플레이 드라이버(38)의 동작을 제어할 수 있다. 동작을 제어하는 것을 용이하게 하기 위해, 제어기(40)는 제어기 프로세서 및 제어기 메모리를 포함할 수 있다. 일부 실시예들에서, 제어기 프로세서는 펌웨어와 같은 제어기 메모리 내에 저장된 명령어들을 실행할 수 있다. 일부 실시예들에서, 제어기 프로세서는 프로세서 코어 컴플렉스(18), 이미지 프로세싱 회로부(27), 전자 디스플레이(12) 내의 타이밍 제어기, 별개의 프로세싱 모듈, 또는 이들의 임의의 조합 내에 포함될 수 있다. 추가적으로, 일부 실시예들에서, 제어기 메모리는 로컬 메모리(20), 메인 메모리 저장 디바이스(22), 별개의 유형적인 비일시적 컴퓨터 판독가능 매체, 또는 이들의 임의의 조합 내에 포함될 수 있다.
일부 실시예들에서, 메모리(20)는 소스 이미지 데이터를 저장하는 소스 버퍼를 포함할 수 있다. 따라서, 그러한 실시예들에서, 프로세싱 파이프라인(36)은 프로세싱을 위해 소스 버퍼로부터 소스 이미지 데이터를 페칭(fetch)(예컨대, 검색)할 수 있다. 일부 실시예들에서, 전자 디바이스(10)는 이미지 데이터를 프로세싱하도록 구현된 다수의 파이프라인들(예컨대, 프로세싱 파이프라인(36), 디스플레이 파이프라인 등)을 포함할 수 있다. 통신을 용이하게 하기 위해, 이미지 데이터는 파이프라인들 외부의 메모리(20)에 저장될 수 있다. 그러한 실시예들에서, 파이프라인들(예컨대, 프로세싱 파이프라인(36))은 메모리(20) 내의 이미지 데이터를 판독(예컨대, 검색)하고/하거나 기록(예컨대, 저장)하는 직접 메모리 액세스(direct memory access, DMA) 블록을 포함할 수 있다.
메모리(20)로부터 수신된 후에, 프로세싱 파이프라인(36)은 스케일 및 회전 블록(42) 또는 다른 프로세싱 블록들(44)(예컨대, 디더 블록)과 같은 하나 이상의 이미지 프로세싱 블록들을 통해 소스 이미지 데이터를 프로세싱할 수 있다. 도시된 실시예에서, 스케일 및 회전 블록(42)은 스케일러 블록(46)을 포함하고, 또한, 다른 변경 블록(들)(48)(예컨대, 회전 블록, 플립핑 블록, 미러링 블록 등)을 포함할 수 있다. 아래에서 더 상세히 기술되는 바와 같이, 스케일러 블록(46)은 (예컨대, 지향성 스케일링 및/또는 향상을 통해) 이미지 데이터를 조정하여, 예를 들어, 스케일링과 대체적으로 연관된 이미지 아티팩트들의 가능성을 감소시키는 것 또는 그들을 보정하는 것을 용이하게 할 수 있다. 예시적인 예로서, 이미지 데이터의 해상도를 증가시켜서, 대응하는 이미지의 관찰을 확대하거나 전자 디스플레이(12)의 해상도를 수용하는 것이 바람직할 수 있다. 이를 달성하기 위해, 스케일러 블록(46)은 잡음 통계치들 및/또는 SAD 및 DIFF 통계치들을 채용하여, 이미지 데이터의 콘텐츠를 분석할 수 있고, 이미지 선명도(예컨대, 선예도)를 유지하면서 이미지 데이터를 더 높은 해상도로 스케일링할 수 있다. 일부 실시예들에서, 이미지 데이터는 또한 향상을 겪을 수 있다.
설명을 돕기 위해, 도 7은, 입력 이미지 데이터(50)를 수신하고 프로세싱된 이미지 데이터(52)를 출력하는 스케일러 블록(46)의 블록도이다. 스케일러 블록(46)은 다수의 처리 블록들(54)을 포함하여, 지향성 스케일링 및/또는 향상을 수행할 수 있다. 예를 들어, 스케일러 블록(46)은 변환 블록(56), 잡음 통계 블록(58), 각도 검출 블록(60), 지향성 스케일링 블록(62), 이미지 향상 블록(64), 및 수직/수평 스케일링 블록(66)을 포함할 수 있다.
스케일러 블록(46)의 프로세싱 블록들(54)은 입력 이미지 데이터(50)를 다수의 컬러 기준들(예컨대, 적색-녹색-청색(RGB), 알파-적색-녹색-청색(ARGB), 루마-크로미넌스(YCC 포맷, 예컨대 YCbCr 또는 YUV) 등) 및/또는 비트 깊이들(예컨대, 8-비트, 16-비트, 24-비트, 30-비트, 32-비트, 64-비트, 및/또는 다른 적절한 비트 깊이들)로 수신하고/하거나 프로세싱할 수 있다. 추가적으로, 높은 동적 범위(high dynamic range, HDR) 이미지 데이터(예컨대, HDR10, 지각 양자화기(perceptual quantizer, PQ) 등)가 또한 프로세싱될 수 있다. 그러나, 일부 실시예들에서, 루마 값(예컨대, Y 채널)을 표현하는 채널을 활용하여 입력 이미지 데이터(50)로부터 통계치들을 프로세싱 또는 생성하는 것이 바람직할 수 있다. 단일 루마 채널은 지향성 스케일링 및 향상에 대한 픽셀 통계치 수집 및 해석을 위해 이미지의 콘텐츠(예컨대, 에지들, 각도들, 라인들 등)를 보유할 수 있다. 입력 이미지 데이터(50)의 컬러 기준에 따라, 변환 블록(56)은 입력 이미지 데이터(50)의 타깃 백색, 흑색, 또는 회색 포인트를 표현하는 루마 픽셀 데이터를 생성할 수 있다. 이어서, 루마 픽셀 데이터는 다른 프로세싱 블록들(54)에 의해 사용될 수 있다. 예로서, 입력 이미지 데이터(50)가 RGB 포맷을 사용하는 경우, 변환 블록(56)은 각각의 채널(즉, 적색, 녹색 및 청색 채널들)에 가중 계수를 적용할 수 있고, 그 결과를 조합하여 루마 픽셀 데이터의 단일 채널을 출력할 수 있다. 추가적으로 또는 대안적으로, 프로세싱 블록들(54)은 비-루마 픽셀 데이터를 사용하여, 픽셀 통계치들뿐만 아니라 지향성 스케일링 및 향상에 대한 것을 수집 및 해석할 수 있다.
일 실시예에서, 잡음 통계 블록(58)은 입력 이미지 데이터(50)에 대응하는 루마 픽셀 데이터를 수신할 수 있다. 이어서, 잡음 통계 블록(58)은 하나 이상의 수직 및/또는 수평 필터들을 통해 루마 픽셀 데이터를 프로세싱할 수 있고, 각각의 픽셀에 대응하는 루마 픽셀 데이터에 대한 적격화(qualification)를 정량화할 수 있다. 루마 픽셀 데이터의 적격화는 잡음 통계치들을 생성하는 데 사용될 수 있는데, 이들로부터, 잡음 통계 블록(58)은, 예를 들어 이미지 향상 블록(64)에 사용하기 위해, 이미지 데이터 콘텐츠에서의 패턴들을 식별할 수 있다. 이미지 향상 블록(64)은 스케일링된 이미지 데이터 및/또는 입력 이미지 데이터(50)를 취할 수 있고, 톤 검출, 저해상도 입력과 고해상도 입력 사이의 비교들, 및 잡음 통계치들을 사용하여, 이미지 데이터를 향상시켜서(예컨대, 선명해지게 하여) 향상된 이미지 데이터를 생성할 수 있다.
각도 검출 블록(60)은, 또한, 입력 이미지 데이터(50)에 대응하는 루마 픽셀 데이터를 수신할 수 있다. 각도 검출 블록(60)은 관심 픽셀을 중심으로 한 다수의 각도들에서의 SAD 및 DIFF 통계치들을 분석하여, 입력 이미지 데이터(50) 콘텐츠 내의 라인들 및/또는 에지들에 대응하는 각도들을 식별할 수 있다. 이어서, 이러한 각도들은 지향성 스케일링 블록(62)에서 사용되어, 더 높은 해상도로 스케일링할 때 생성되는 새로운 픽셀들의 개선된 보간을 용이하게 할 수 있다(예컨대, 오리지널 이미지의 치수들의 2배는 대략 4배 정도 많은 픽셀들을 생성함). 추가적으로 또는 대안적으로, 수직/수평 스케일링 블록(66)은 스케일링된 이미지 데이터를 더 높은 또는 더 낮은 해상도로 추가로 스케일링하여, 원하는 출력 해상도와 매칭시킬 수 있다.
설명을 돕기 위해, 도 8은 스케일러 블록(46)에 의해 수행되는 프로세스의 일 실시예를 도시하는 흐름도(68)이다. 전술된 바와 같이, 원한다면, 스케일러 블록(46)은, 예를 들어 변환 블록(56)을 사용하여, 입력 이미지 데이터(50)를 루마 픽셀 데이터로 변환할 수 있다(프로세스 블록(70)). 루마 픽셀 데이터는, 예를 들어 잡음 통계 블록(58)을 통해, 잡음 통계치들을 결정하는 데 사용될 수 있다(프로세스 블록(72)). 루마 픽셀 데이터는, 또한, SAD 및/또는 DIFF 통계치들을 결정하는 데 사용될 수 있으며(프로세스 블록(74)), 이는, 이어서, 예를 들어 각도 검출 블록(60)을 사용하여, 각도 검출을 위해 사용될 수 있다(프로세스 블록(76)). 스케일러 블록(46)은, 또한, 예를 들어 지향성 스케일링 블록(62)을 통해, 검출된 각도들에 적어도 부분적으로 기초하여 입력 이미지 데이터(50)를 스케일링할 수 있다(프로세스 블록(78)). 입력 이미지 데이터(50) 또는 스케일링된 이미지 데이터 중 어느 하나를 사용하여, 루마 픽셀 데이터 및/또는 크로미넌스 픽셀 데이터는, 예를 들어 이미지 향상 블록(64)을 통해, 향상된 이미지 데이터를 생성하도록 향상될 수 있다(프로세스 블록(80)). 추가적으로, 그렇게 원하는 경우, 스케일러 블록(46)은, 또한, 예를 들어 수직/수평 스케일링 블록(66)을 통해, 이미지 데이터의 수직 및/또는 수평 스케일링을 수행할 수 있다(프로세스 블록(82)).
전술된 바와 같이, 잡음 통계 블록(58)은, 도 9에 도시된 바와 같이, 루마 픽셀 데이터(84)를 취하고 잡음 통계치들(86)을 생성할 수 있다. 잡음 통계치들(86)은, 입력 이미지 데이터(50)의 콘텐츠에 적어도 부분적으로 기초하여, 이미지의 더 많은 의도적인 특징부들(예컨대, 이미지에 대해 향상되도록 요구되는 특징부들)로부터의 잡음의 구별을 허용할 수 있다. 일부 실시예들에서, 이미지의 잡음 태양들은 향상을 겪을 때 무시된다. 그러한 잡음을 결정하는 것을 용이하게 하기 위해, 잡음 통계 블록(58)은 픽셀 적격화 서브블록(88), 수직 필터들(90), 및/또는 수평 필터들(92)을 포함할 수 있다.
루마 픽셀 데이터(84)는 직렬, 시퀀스, 및/또는 병렬로 하나 이상의 수직 필터들(90) 및/또는 수평 필터들(92)에서의 프로세싱을 겪을 수 있다. 그러한 필터들(90, 92)은, 예를 들어, 이미지에 대응하는 상이한 주파수 대역들의 주파수 콘텐츠를 식별하고/하거나 생성할 수 있는 저역 통과, 대역통과, 및/또는 고역 통과 필터들을 포함할 수 있다. 픽셀 적격화 서브블록(88)은 루마 픽셀 데이터(84) 및/또는 필터링된 루마 픽셀 데이터를 사용하여, 각각의 단일 픽셀에 대한 픽셀 데이터가 잡음 통계치들(86)에 사용되도록 적격화되는지 여부를 결정할 수 있다. 일부 실시예들에서, 잡음 통계 블록(58)은 루마 픽셀 데이터(84)의 각각의 픽셀을 샘플링할 수 있다. 그러나, 일부 실시예들에서, 예를 들어, 지향성 스케일링 블록(62)이 인에이블되지 않은 경우, 잡음 통계 블록(58)은 루마 픽셀 데이터(84)의 전체 세트보다 적게(예를 들어, 모든 4개의 픽셀들로부터 1개를 빼고) 샘플링할 수 있다.
픽셀들을 적격화하는 것은 그들이 하나 이상의 기준들을 충족시키도록 결정된다. 예를 들어, 일 실시예에서, 픽셀은, 픽셀이 활성 영역 내에 속하는 경우, 잡음 통계치들(86)에 대해 적격화된다. 일부 실시예들에서, 활성 영역은 이미지의 관련되지 않은 부분들을 배제하면서 이미지의 관련 부분들을 함께 그룹화하도록 설정될 수 있다. 예를 들어, 활성 영역은 자막들, 일정한 컬러 섹션들(예컨대, 우편함들) 등을 배제하도록 설정될 수 있다. 더욱이, 활성 영역은 다양한 콘텐츠들로부터 다양한 형태들의 잡음을 검출할 가능성을 증가시키도록 프로그래밍가능할 수 있고/있거나 소프트웨어-최적화가능할 수 있다. 예를 들어, 영화 콘텐츠는 각각의 비디오 프레임에 의도적으로 추가되는, 필름그레인(film grain)과 같은 인공 잡음을 포함할 수 있다. 특정 활성 영역 크기를 사용하여 그러한 인공 잡음들을 검출함으로써 향상을 증가 또는 감소시키는 것이 바람직할 수 있다. 일부 실시예들에서, 활성 영역은 전체 이미지를 포함할 수 있다.
추가적으로 또는 대안적으로, 다른 기준들이 또한 적용될 수 있는데, 예를 들어, 관심 픽셀 둘레의 윈도우(예컨대, 1x1 (픽셀 자체) 또는 3x3 픽셀 윈도우) 내의 픽셀들의 비율이 특정 범위 내의 루마 값들을 포함할 수 있다. 더욱이, 로컬 활동 측정치(예컨대, 이웃 픽셀들의 필터링된 또는 필터링되지 않은 루마 값들의 합)가, 또한, 그 로컬 활동 측정치가 임계치보다 큰 경우, 잡음 통계치들(86)에서 사용하기 위한 픽셀을 적격화할 수 있다.
일단 적격화되면, 필터링된 및/또는 필터링되지 않은 루마 픽셀 데이터(84)는, 예를 들어 히스토그램, 합, 최대, 최소, 평균, 분산, 및/또는 블록화(blockiness) 메트릭(예컨대, 코너들 및/또는 에지들의 측정치)을 결정함으로써 잡음 통계치들(86)을 형성할 수 있다. 블록화 메트릭은, 예를 들어 블록 기반 압축 기법들로부터 비롯된 아티팩트들을 나타낼 수 있다. 그러한 잡음 통계치들(86)은 활성 영역 내의 글로벌 루마 값들 및/또는 픽셀 윈도우들(예컨대, 5x5 픽셀 윈도우) 내의 로컬 값들을 대표할 수 있다. 잡음 통계치들(86)은, 아마도 이미지 내에 포함되는 블록화, 잡음, 또는 특정 특징부들(예컨대, 필름그레인, 비디오 캡처 잡음 등)을 나타내는 이미지 데이터의 주파수 시그니처들(예컨대, 주파수 대역들)을 표현할 수 있다. 일부 실시예들에서, 필름그레인과 같은 특징부들은 이미지 내에서 의도적이고, 이와 같이, 적절하게 향상 및 스케일링되도록 요구된다. 상이한 이미지 특징부들은 상이한 주파수 시그니처들을 가질 수 있고, 따라서, 특징부들은 프로그래밍된 주파수 대역들의 분석에 기초하여 결정될 수 있다. 잡음으로부터의 그러한 특징부들의 구별은 바람직한 이미지 특징부들의 개선된 스케일링 및 향상, 그리고 이미지 내의 잡음 또는 잡음 영역들의 감소된 향상을 허용한다.
도 10은 잡음 통계치들(86)을 결정하기 위한 프로세스의 일 실시예를 설명하는 흐름도(94)이다. 잡음 통계 블록(58)은, 먼저, 예를 들어 변환 블록(56)을 통해 변환된 것으로서 또는 입력 이미지 데이터(50)로부터, 루마 픽셀 데이터(84)를 수신할 수 있다(프로세스 블록(96)). 잡음 통계 블록(58)은, 이어서, 루마 픽셀 데이터에 수직 및/또는 수평 필터들을 적용할 수 있다(프로세스 블록(98)). 잡음 통계 블록(58)은, 또한, 루마 픽셀 데이터의 적격화를 결정할 수 있다(프로세스 블록(100)). 루마 픽셀 데이터를 적격화하는 것은 잡음 통계치들(86)에 업데이트들을 덧붙일 수 있다(프로세스 블록(102)). 예를 들어, 잡음 통계치들(86)은 루마 픽셀 데이터를 적격화하는 히스토그램, 최대, 합, 평균, 분산, 블록화 메트릭, 및/또는 다른 적합한 메트릭들을 생성함으로써 업데이트될 수 있다(프로세스 블록(104)). 잡음 통계 블록(58)은, 또한, 이미지의 콘텐츠로부터 바람직한 콘텐츠(예컨대, 필름그레인)의 잡음 및 주파수 시그니처들(예컨대, 미리 프로그래밍된 주파수 대역들)을 구별할 수 있다(프로세스 블록(106)). 이어서, 잡음 통계치들(86)은 이미지 향상 및/또는 다른 이미지 프로세싱 기법들에서 사용하기 위해 출력될 수 있다.
잡음 통계 블록(58)과 유사하게, 각도 검출 블록(60)은, 또한, 통계치들을 결정하게 되는 루마 픽셀 데이터(84)를 입력으로서 취할 수 있다. 그러한 통계치들로부터, 도 11에 도시된 바와 같은 각도 검출 블록(60)은 최상 모드 데이터(108)를 생성할 수 있다. 일 실시예에서, 최상 모드 데이터(108)는 이미지의 라인들 및 에지들에 대응하는 하나 이상의 각도들을 포함할 수 있다. 추가적으로, 각각의 샘플링된 픽셀에 대한 최상 모드 데이터(108)는 이웃 픽셀들의 것들에 대한 각도(들)의 유사성 및/또는 각도(들)에 대한 신뢰도 레벨에 대응하는 하나 이상의 각도들에 대한 가중치들을 포함할 수 있다. 최상 모드 데이터(108)는 이미지 데이터의 개선된 지향성 스케일링을 용이하게 할 수 있다. 각도 검출 블록(60)은 변경자(112)를 갖는 SAD 및 DIFF 통계치 수집 서브블록(110), 분류기(114), 고주파수 및 저각(low angle) 검출 서브블록(116), 각도 일관성 및 차동 설정 서브블록(118), 및 모드 및 가중치 결정 서브블록(120)을 포함할 수 있다. 신뢰도들 및 일관성들의 검정과 함께 SAD 및 DIFF 통계치들의 생성 및 분석은 최상 모드 데이터(108)를 산출할 수 있다.
SAD 및 DIFF 통계치들을 생성하기 위해, SAD 및 DIFF 통계치 수집 서브블록(110)은 각각의 관심 픽셀을 중심으로 다수의 방향들로 루마 픽셀 데이터(84)를 분석할 수 있다. 예를 들어, 도 12는 상이한 각도들에서 루마 픽셀 데이터(84)를 평가하기 위한 다수의 픽셀 그룹화들(122)을 도시한다. 일부 실시예들에서, 직사각형 기반 픽셀 클러스터(124)는 관심 픽셀에 대한 SAD 및 DIFF 통계치들을 결정하게 되는 기준으로서 사용된다. 일부 실시예들에서, 직사각형 기반 픽셀 클러스터 내의 관심 픽셀은 상부 좌측 픽셀이지만, 다른 픽셀 위치들이 또한 마찬가지로 사용될 수 있다. 직사각형 기반 픽셀 클러스터(124)와 비교할 때, 오프셋 픽셀 클러스터들(126, 128, 130, 132, 134, 136, 138, 140, 142)은 루마 픽셀 데이터(84)가 오프셋 픽셀 클러스터들(126, 128, 130, 132, 134, 136, 138, 140, 142)에 대응하는 상이한 방향들로 어떻게 변화되는지에 관한 정보를 산출할 수 있다. 예를 들어, 오프셋 픽셀 클러스터들(126, 128)은 직사각형 기반 픽셀 클러스터(124)로부터의 45도 오프셋에 대응할 수 있다. 45도 오프셋에 직교하여, 135도 오프셋이 오프셋 픽셀 클러스터들(130, 132)에 의해 표현될 수 있다. 추가적으로, 수직 오프셋 클러스터들(134, 136) 및 수평 오프셋 클러스터들(140, 142)이 또한 분석될 수 있다. 픽셀 클러스터가 활성 영역 내에 있지 않은 픽셀 위치를 포함하는 경우에, 활성 영역 내의 가장 가까운 픽셀의 픽셀 값이 대체될 수 있다. 일 실시예에서, 활성 영역의 에지 상의 픽셀 위치들의 픽셀 값들은 활성 영역 외부의 픽셀들에 대한 값들을 정의하기 위해 수평 및 수직으로 반복될 수 있다.
다른 각도들(예컨대, 0, -1, 1, 또는 무한대 이외의 기울기들을 갖는 각도들)을 표현하기 위해, 도 13에 도시된 바와 같이, 대각선 기반 픽셀 클러스터들(144, 146, 148, 150, 152, 154)이 고려될 수 있다. 직사각형 기반 픽셀 클러스터(124)에서와 같이, 대각선 기반 픽셀 클러스터들(144, 146, 148, 150, 152, 154)은 오프셋에 의해 시프트되고 비교되어, 각자의 각도들에 대응하는 SAD 및 DIFF 통계치들을 획득할 수 있다. 일부 실시예들에서, 일부 각도들은 픽셀 클러스터 내의 더 많은 수의 픽셀들을 사용함으로써 더 양호하게 표현될 수 있다. 예를 들어, 대각선 기반 픽셀 클러스터(144)는 1/2의 기울기에서 SAD 및 DIFF 통계치들을 수집할 때 사용될 수 있고, 대각선 기반 픽셀 클러스터(152)는 1/6의 기울기에서 사용될 수 있다. 이와 같이, 대각선 기반 픽셀 클러스터(144)는 직사각형 기반 픽셀 클러스터(124)보다 많은 픽셀들 및 대각선 기반 픽셀 클러스터(152)보다 더 적은 픽셀들을 활용할 수 있다.
SAD 및 DIFF 통계치 수집 서브블록(110)은 기반 및 오프셋 픽셀 그룹화들(122) 사이의 절대차들의 합(SAD)을 활용하여, 각각의 원하는 각도에 대한 메트릭들을 계산할 수 있다. 픽셀 그룹화들(122)에 의해 입증된 각도들은 예로서 도시되고, 이와 같이, 비제한적이다. 일부 실시예들에서, 이미지의 콘텐츠의 평가는 다수의 유형들의 구배들(예컨대, 기울기, 곡선, 각도 등)에서 달성될 수 있다. SAD를 사용하는 것에 더하여, 차동(DIFF) 통계치들이 또한 수집될 수 있다. DIFF 통계치들은 (예컨대, 라인 또는 곡선 내의) 연속적인 픽셀들 사이의 차이, 이미지의 콘텐츠 내의 코너들 및/또는 에지들을 결정할 에지 메트릭, 및/또는 다른 메트릭들과 같은 메트릭들을 포함할 수 있다.
일부 실시예들에서, 조작 및/또는 분석의 용이함을 위해 입력 이미지 데이터(50) 또는 다른 데이터(예컨대, 루마 픽셀 데이터(84))의 비트 깊이를 더 작은 비트 깊이로 감소시키는 것이 바람직할 수 있다. 비트 깊이의 그러한 감소들은 시프트 동작들, 클램핑, 클리핑, 및/또는 절단(truncation)에 의해 달성될 수 있지만, 이들로 제한되지 않는다. 예를 들어, SAD 및 DIFF 통계치들을 계산하기 전에, 분석된 데이터의 비트 깊이는 시프트 동작과 그 뒤의 클램프에 의해 감소되어, 리소스 오버헤드(예컨대, 시간, 계산 대역폭, 하드웨어 능력 등)를 감소시킬 수 있다. 추가적으로 또는 대안적으로, 비트 깊이 감소는 프로그래밍가능 파라미터들에 기초하여 스케일링가능하여, 얼마나 많은 비트 깊이 감소가 요구되는지를 설정할 수 있는데, 이는 (예컨대, 고선명 이미지 프로세싱 또는 저선명 이미지 프로세싱에 대한) 구현예에 따라 변화될 수 있다. 비트 감소는 2의 배수일 수 있거나 그렇지 않을 수 있는 임의의 입도의 비트 깊이들을 산출할 수 있다. 더욱이, 비트 감소는, 또한, 리소스 오버헤드를 감소시키기 위해 다른 프로세싱 블록들(54)에서 사용될 수 있다.
SAD 및 DIFF 통계치 수집 서브블록(110)은, 또한, 각도 통계치들을 정규화하고 상이한 각도들에서 사용되는 상이한 수의 픽셀들을 처리하기 위한 변경자(112)를 포함할 수 있다. 일부 실시예들에서, 각각의 각도 및/또는 메트릭에 대한 분석들은 체크된 각도에 기초하여 변경자(112)에 의해 추가로 조정될 수 있다. 일부 시나리오들에서, 더 낮은 각도들(예컨대, 1/3 또는 1/4 미만 또는 2 또는 3 초과의 기울기를 갖는 것들)은 SAD 및 DIFF 분석을 겪을 때 위양성(false positive)에 민감할 수 있다. 이와 같이, 저각 분석들에서의 신뢰도는 수평 방향 또는 수직 방향에서의 신뢰도보다 작을 수 있으며, 따라서, 저각 분석들은, 예를 들어 변경자(112)를 통해 그에 따라 조정될 수 있다. SAD 및 DIFF 분석들에 기초하여, 분류기(114)는 하나 이상의 최상 각도들을 결정할 수 있다. 최상 각도는 이미지의 콘텐츠에서의 동형물(uniformity)(예컨대, 라인, 에지 등)의 방향을 가장 잘 근사화하는 각도에 대응할 수 있다. 일부 실시예들에서, 분류기(114)는 각도 검출 블록(60)에서 추가 고려를 위해 최상 각도 및 제2 최상 각도를 생성한다.
일부 실시예들에서, 수평 및 수직 방향들은 각도 검출 블록(60)에 의해 분석된 다른 각도들과는 별개로 처리될 수 있다. 예를 들어, 스케일링 동안의 보간 방법에 따라, 대각선으로 위치된 픽셀들을 수직 또는 수평 이외의 각도들로 보간하는 것이 바람직할 수 있다. 한편, 오리지널 픽셀들에 바로 수직 또는 수평으로 위치된 픽셀들에 대해 수직 및 수평 보간법을 사용하는 것이 또한 바람직할 수 있다. 이와 같이, 일부 실시예들에서, 분류기(114)는 비-수직/수평 각도들 중의 최상 각도 및 제2 최상 각도뿐만 아니라 최상 수직 또는 수평 각도를 출력할 수 있다.
하나 이상의 최상 각도들이 계산되면, 각도 검출 블록(60)은 고주파수 및 저각 검출 서브블록(116)을 활용하여, 결정된 최상 각도(들)를 추가로 평가할 수 있다. 일부 시나리오들에서, 이미지의 콘텐츠는 이미지를 정확하게 표현하지 않는 각도들의 표시들(예컨대, 거짓 각도들)을 초래할 수 있는 고주파수 특징부들(예컨대, 체커보드 패턴)을 가질 수 있다. 고주파수 및 저각 검출 서브블록(116)은, 예를 들어 수평 및 수직 DIFF 통계치들을 사용하여, 그러한 고주파수 특징부들을 탐색할 수 있다. 일부 실시예들에서, 최상 각도(들)는 오리지널 픽셀들의 것들 사이의 중간 픽셀 값들을 보간하는 데 사용될 수 있고, 고주파수 및 저각 검출 서브블록(116)은 근사화된 보간들이 이웃 픽셀들과 일치하는지 여부를 체크할 수 있다.
추가적으로 또는 대안적으로, 고주파수 및 저각 검출 서브블록(116)은 하나 이상의 조건들 및/또는 파라미터들을 활용하여, 결정된 저각의 존립가능성(viability)을 결정할 수 있다. 예를 들어, (예컨대, 루마 픽셀 데이터(84)에 기초하여) 연속적인 그리고/또는 연속적으로 고려되는 픽셀 값들 사이의 차이가 고려될 수 있다. 주어진 픽셀들의 그룹에 대해, 이러한 차이들(예컨대, 양, 음, 또는 0임)은 런(run)(예컨대, 픽셀 값들에서 양의 차이들, 음의 차이들, 또는 차이 없음의 스트링) 시에 함께 고려될 수 있다. 그러한 런들의 길이는 하나 이상의 저각 딜레마(dilemma)들을 식별하기 위해 하나 이상의 저각 조건들에 대한 파라미터로서 계산되고 사용될 수 있다. 예를 들어, 픽셀 값 차이들의 런 길이가 구성가능 범위 내에 있는 경우(예컨대, 구현에 기초하여 설정된 임계치 미만 및/또는 초과), 검출된 각도는 거짓 각도(예컨대, 잡음 때문에 검출된 거짓 에지)일 수 있고, 결정된 각도에서의 신뢰도가 그에 따라 증가되거나 감소될 수 있다.
일부 실시예들에서, 각도 검출 블록(60)의 데이터 처리량을 유지하면서 고주파수 및 저각 검출 서브블록(116)에 대한 조건들 및/또는 파라미터들을 인식 및 계산하는 것은 하드웨어에서 구현하기에 비용이 많이 들 수 있다. 예를 들어, 주어진 기간 내의 런 길이를 결정하기 위해, 픽셀 값당 8-비트 또는 16-비트 구현예가 각각 8개 또는 16개의 복제된 논리 회로들을 사용할 수 있다. 그러나, 일부 실시예들에서, 순방향 및 역방향 전파를 조합하는 논리 회로 설계는, 논리 회로를 변경하거나 복제하지 않고서, 데이터 경로 속도(예컨대, 루마 픽셀 데이터 84 비트 깊이의 배증마다 5%, 10%, 또는 20% 미만)에 대해 최소 비용으로 다수의 상이한 구현들로 스케일링가능한 단일 논리 회로를 제공할 수 있다. 이와 같이, 고주파수 및 저각 검출 서브블록(116)은 조건들 및/또는 파라미터들을 효율적으로 체크하여, 최상 각도에서의 신뢰도를 식별하는 것을 도울 수 있다.
더욱이, 최상 각도 및/또는 제2 최상 각도가 수평 및 수직(예컨대, 1/3 미만 및 3 초과의 기울기들)을 기준으로 저각들이고 고주파수 특징부 또는 저각 딜레마가 검출되는 경우, 저각(들)에 대한 신뢰도가 감소될 수 있다. 일 실시예에서, 최상 각도가 저각이고, 제2 최상 각도가 저각이 아니며, 고주파수 특징부가 검출되는 경우, 제2 최상 각도는 새로운 최상 각도로서 고주파수 및 저각 검출 서브블록(116)으로부터 출력될 수 있고, 오래된 최상 각도는 새로운 제2 최상 각도가 될 수 있다.
추가적으로, 각도 검출 블록(60)은 또한 각도 일관성 및 차동 설정 서브블록(118)을 포함할 수 있다. 일부 실시예들에서, (예컨대, 보간 또는 비교를 위해) 최상 각도와 함께 직교 각도를 사용하는 것이 바람직할 수 있다. 각도 일관성 및 차동 설정 서브블록(118)은 이전에 분석된 각도들로부터 최상 각도에 대한 직교 각도를 결정할 수 있다. 이와 같이, SAD 및 DIFF 통계치 수집 서브블록(110)에서 분석된 각각의 각도는, 또한 분석된 직교 또는 대략적으로 직교하는 대응부(counterpart)를 가질 수 있다. 추가적으로, 일부 실시예들에서, 최상 각도 및 제2 최상 각도는 도(degree) 측정치로 변환되고 서로에 대해 비교될 수 있다. 최상 각도 및 제2 최상 각도는, 그들 사이의 차이가 임계치보다 작은 경우, 일관되는 것으로 간주될 수 있다. 각도 일관성은 최상 각도의 신뢰도를 증대시키고/시키거나, 각도가 일치하지 않는 경우, 신뢰도를 감소시킬 수 있다. 추가적으로, 일부 실시예들에서, 최상 각도의 신뢰도 메트릭들은, 또한, 신뢰도 레벨들을 추가로 변경하기 위해 그의 직교 각도의 신뢰도 메트릭과 비교될 수 있다. 예를 들어, 이미지의 콘텐츠 내의 라인 또는 에지가 직교 방향으로 존재하는 신뢰도가 거의 최상 각도의 신뢰도만큼 높은 경우, 최상 각도에 대한 신뢰도 레벨은 감소될 수 있다.
SAD 및 DIFF 통계치 수집 서브블록(110), 분류기(114), 고주파수 및 저각 검출 서브블록(116), 및/또는 각도 일관성 및 차동 설정 서브블록(118)의 출력들은 모드 및 가중치 결정 서브블록(120) 내로 공급될 수 있다. 모드 및 가중치 결정 서브블록(120)은 최상 각도, 최상 수평/수직 각도, 및/또는 각각에 대한 직교 각도들에 대응하는 최상 모드 데이터(108)를 결정할 수 있다. 추가적으로, 최상 모드 데이터(108)는 각도들의 신뢰도들에 적어도 부분적으로 기초한 가중치들을 포함할 수 있다. 더욱이, 특정 픽셀 포지션에서 최상 각도 및 최상의 수평/수직 각도에 부여된 가중치들은, 추가적으로, 이웃 픽셀 포지션들의 최상 각도들에 적어도 부분적으로 기초할 수 있다. 예를 들어, 관심 픽셀을 둘러싸는 픽셀들의 대부분이 관심 픽셀과 동일한 최상 각도를 갖는 경우, 관심 픽셀의 최상 각도의 신뢰도 및 그에 따른 가중치가 증가될 수 있다.
설명을 돕기 위해, 도 14는 단일 픽셀 위치에 대한 각도 검출 블록(60)의 동작을 설명하는 흐름도(156)이다. 각도 검출 블록(60)은, 먼저, 루마 픽셀 데이터(84)로부터의 다수의 각도들에서의 차동 통계치들 및 절대차들의 합을 결정할 수 있다(프로세스 블록(158)). 결정된 SAD 및 DIFF 통계치들은, 예를 들어 개별 각도들에 기초하여, 정규화/변경될 수 있다(프로세스 블록(160)). 분석된 각도들 중, 하나 이상의 최상 각도들이, 예를 들어 분류기(114)에 의해 결정될 수 있다(프로세스 블록(162)). 최상 각도(들)를 사용하여, 각도 검출 블록(60)은 가능한 바람직하지 않은 상황(undesirability)에 대해 높은 주파수 및 저각 발생들을 검출할 수 있고(프로세스 블록(164)), 그에 따라 각도(들)의 신뢰도를 조정할 수 있다. 추가적으로, 각도 검출 블록은 제1 및 제2 최상 각도들 사이의 각도들의 일관성을 결정할 수 있을 뿐만 아니라(프로세스 블록(166)), 최상 각도들에 대한 직교 각도들을 결정할 수 있다(프로세스 블록(168)). 전술된 바와 같이, 수직 및 수평 각도들은 나머지로부터 개별적으로 처리될 수 있고, 이와 같이, 최상 수평/수직 각도 및 대응하는 직교 각도가 또한 포함될 수 있다. 이웃 픽셀들은, 또한, 예를 들어 각도 신뢰도를 업데이트하기 위해, 결정된 최상 각도와의 일치성에 대해 체크될 수 있다(프로세스 블록(170)). 이어서, 각도 검출 블록(60)은, 예를 들어 지향성 스케일링 블록(62)에서의 사용을 위해, 최상 각도(들) 및 대응하는 가중치들을 포함하는 최상 모드 데이터(108)를 출력할 수 있다(프로세스 블록(172)).
지향성 스케일링 블록(62)에 의해 수신될 때, 최상 모드 데이터(108) 및 입력 이미지 데이터(50)는, 도 15에 도시된 바와 같이, 스케일링된 이미지 데이터(174)를 생성하도록 조합될 수 있다. 일 실시예에서, 지향성 스케일링 블록(62)은 중간점 보간 서브블록(176) 및 외부 포인트 보간 서브블록(178)을 포함할 수 있다. 각도 분석을 위해 루마 픽셀 데이터(84)를 사용하는 것으로 위에서 언급되었지만, 각도 검출 및 지향성 스케일링을 위한 통계치들을 수집하기 위해 다른 컬러 채널들이 또한 사용될 수 있다. 더욱이, 단일 채널로부터 수집된 최상 모드 데이터(108)는 다수의 컬러 채널들을 스케일링하는 데 사용될 수 있다. 이와 같이, 동일한 가중치들, 또는 그의 도함수, 및 보간을 위한 각도들은 각각의 컬러 채널에 대해 중간점 보간 서브블록(176) 및 외부 포인트 보간 서브블록(178)에서 사용될 수 있다.
일부 실시예들에서, 픽셀 그리드(180)는, 도 16에 도시된 바와 같이, 픽셀들의 위치들 및 상대 포지션들을 개략적으로 표현할 수 있다. 지향성 스케일링 블록(62)은 입력 픽셀들(182)을 사용하여, 중간점 픽셀들(184) 및 외부 포인트 픽셀들(186)을 보간할 수 있다. 추가적으로, 일부 실시예들에서, 중간점 픽셀들(184)은 외부 포인트 픽셀들(186) 이전에 보간된다. 중간점 픽셀들(184) 둘레의 수직 또는 수평 방향들에서의 픽셀 데이터의 결여로 인해, 중간점 픽셀들(184)은 최상 각도, 직교 각도, 및/또는 최상 모드 데이터(108)로부터의 가중치들을 사용하여 대각선 방식으로 보간될 수 있다. 이웃 입력 픽셀들(182)을 사용하여, 중간점 보간 서브블록(176)은 각각의 중간점 픽셀(184)의 각각의 컬러 채널에 대한 값을 결정할 수 있다. 각각의 주변 입력 픽셀(182)의 보간의 가중화는 최상 모드 데이터(108)의 가중치들에 적어도 부분적으로 기초한다. 이와 같이, 최상 모드 데이터의 가중치들은 이웃 픽셀 값들의 가중 평균에서의 가중치들에 대응할 수 있다. 일부 실시예들에서, 임시 픽셀 값들은 둘 이상의 입력 픽셀들(182)을 보간함으로써 확립될 수 있다. 이어서, 임시 픽셀 값들은 중간점 픽셀들(184)을 보간하는 데 사용될 수 있다. 그러한 임시 픽셀 값들은 특정 각도로 중간점 픽셀(184)의 값을 더 양호하게 보간하는 데 사용될 수 있다. 추가적으로, 일부 실시예들에서, 중간점 픽셀들(184)의 수평/수직 보간은 최상 수직/수평 각도에 적어도 부분적으로 기초하여 생성될 수 있고, 중간점 픽셀들(184)에 대한 값들을 생성하도록 대각선 보간과 블렌딩될 수 있다.
일단 중간점 픽셀들(184)이 결정되었다면, 외부 포인트 픽셀들(186)이 결정될 수 있다. 중간점 픽셀들(184)과는 달리, 각각의 외부 포인트 픽셀(186)은 그것을 수직 및 수평 둘 모두로 둘러싸는 입력이나 결정된 픽셀 데이터를 갖는다. 이와 같이, 최상 수직/수평 각도 및 가중치는 외부 포인트 픽셀들(186)을 보간하는 데 사용될 수 있다. 예를 들어, 결정된 최상 수직/수평 각도가 수직 방향으로 있는 경우, 외부 포인트 픽셀(186)은 외부 포인트 픽셀(186)의 위 및 아래의 픽셀들에 부여되는 더 높은 가중치를 갖고서 보간될 수 있다. 이해되는 바와 같이, 수직/수평 및 대각선 최상 각도들의 조합이, 또한, 중간점 픽셀 보간 또는 외부 포인트 보간 중 어느 하나를 위해 사용될 수 있다. 추가적으로, 일부 실시예들에서, 외부 포인트 픽셀들(186)은 중간점 픽셀들(184) 이전에 결정될 수 있다.
일부 실시예들에서, 지향성 스케일링 블록(62)은 고정된 속도로 스케일링하여, 예를 들어 치수들을 2, 4 등과 곱할 수 있다. 더 높은 또는 더 낮은 레벨들의 해상도 스케일링을 달성하기 위해, 지향성 스케일링 블록(62)은 다수회(예컨대, 캐스케이드로) 구현될 수 있고/있거나, 수직/수평 스케일링 블록(66)은 배수외(off-multiple) 해상도들(예컨대, 입력 해상도의 1.2, 2.5, 3.75, 또는 다른 배수들의 해상도들)을 달성하기 위해 채용될 수 있다. 수직/수평 스케일링 블록(66)은 원하는 해상도를 달성하기 위해 선형 스케일러들, 다상 스케일러들, 및/또는 임의의 적합한 스케일러를 포함할 수 있다. 더욱이, 스케일링은 각각의 치수가 상이한 스케일링된 배수를 갖도록 달성될 수 있다. 추가적으로 또는 대안적으로, 수직/수평 스케일링 블록(66)은 입력 이미지 데이터(50)를 지향성 스케일링 블록(62)과 병렬로 스케일링할 수 있다. 그러한 경우에, 수직/수평 스케일링 블록(66)의 출력 및 지향성 스케일링 블록(62)의 출력은 스케일링된 이미지 데이터(174)를 생성하도록 블렌딩될 수 있다.
추가의 예시에서, 도 17은 지향성 스케일링 블록(62)의 단순화된 동작을 설명하는 흐름도(188)이다. 지향성 스케일링 블록(62)은, 먼저, 입력 이미지 데이터(50) 및 최상 모드 데이터(108)를 수신할 수 있다(프로세스 블록(190)). 지향성 스케일링 블록은, 또한, 중간점 픽셀들(184)을 입력 픽셀들(182) 사이에 대각선으로 보간할 수 있고(프로세스 블록(192)), 입력 픽셀들(182) 및 중간점 픽셀들(184)로부터 외부 포인트 픽셀들(186)을 보간할 수 있다(프로세스 블록(194)). 이어서, 스케일링된 이미지 데이터(174)가 출력된다(프로세스 블록(196)).
일부 실시예들에서, 스케일링된 이미지 데이터(174)는 이미지 향상 블록(64)으로 전송될 수 있다. 이미지 향상 블록(64)은 스케일러 블록(46)의 외부에서 추가적으로 사용될 수 있다. 실제로, 일부 실시예들에서, 이미지 향상 블록(64)은, 더 높은 해상도로 업스케일링하지 않고서, 입력 이미지 데이터(50)를 향상시킬 수 있다. 도 18에 도시된 바와 같이, 이미지 향상 블록(64)은 스케일링된 이미지 데이터(174), 입력 이미지 데이터(50), 또는 둘 모두뿐만 아니라 잡음 통계치들 중 어느 하나를 입력으로서 취할 수 있고, 향상된 이미지 데이터(198)를 출력할 수 있다. 스케일링된 이미지 데이터(174)가 이용가능하지 않은 경우, 이미지 향상 블록(64)은 다운샘플링 서브블록(200)을 활용하여 입력 이미지 데이터(50)의 샘플(예컨대, 4개의 픽셀들 중 1개)을 취할 수 있다. 이는, 또한, 잡음 통계 블록(58)의 샘플링에 대응할 수 있으며, 여기서 지향성 스케일링 블록(62)이 디스에이블되는 경우, 입력 이미지 데이터(50)의 서브샘플이 사용될 수 있다. 다운샘플링된 이미지 데이터는 예시 기반 개선의 저해상도 입력으로서 사용될 수 있다. 스케일링된 이미지 데이터(174)가 이용가능한 경우, 입력 이미지 데이터(50)는 저해상도 입력으로서 사용될 수 있다.
이미지 향상 블록(64)은, 또한, 톤 검출 서브블록(202), 루마 프로세싱 서브블록(204) 및 크로미넌스 프로세싱 서브블록(206)을 포함할 수 있다. 톤 검출 서브블록(202)은 가능한 이미지 표현들(예컨대, 하늘, 잔디, 피부 등)과 매칭하는 인식가능한 컬러 톤들에 대한 이미지 콘텐츠를 탐색할 수 있다. 일부 실시예들에서, 톤 검출 서브블록(202)은 다수의 컬러 채널들을 조합하여, 인식가능한 컬러 톤이 존재하는지 여부를 결정할 수 있다. 더욱이, 일부 실시예들에서, 톤 검출 서브블록(202)은 하나 이상의 컬러 채널들을, 분석을 위해, HSV(hue, saturation, value) 포맷으로 변환할 수 있다. 각각의 탐색된 컬러 톤은, 또한, 검출된 컬러 톤이 이미지 표현의 특성일 가능성에 적어도 부분적으로 기초하여 신뢰도 레벨을 부여받을 수 있다. 이미지 내의 컬러 톤들의 인식은 이미지 콘텐츠의 개선된 평가를 포함함으로써 이미지의 개선된 향상을 가져올 수 있다. 예를 들어, 루마 프로세싱 서브블록(204) 및 크로미넌스 프로세싱 서브블록(206)은 컬러 톤 데이터를 사용하여, 컬러 톤들이 검출된 영역들에서 입력 이미지 데이터(50) 또는 스케일링된 이미지 데이터(174)의 루마 및 크로미넌스 값들을 (예컨대, 증가된 또는 감소된 향상으로) 조정할 수 있다. 일 실시예에서, 다양한 컬러 톤들의 영역들에 대한 효과들은 소프트웨어 프로그래밍가능할 수 있다.
일 실시예에서, 루마 프로세싱 서브블록(204)은 입력 이미지 데이터(50) 또는 스케일링된 이미지 데이터(174)의 루마 채널을 향상시키고(예컨대, 선명해지게 함), 루마 전이 개선(208) 및 예시 기반 개선(210)을 포함한다. 루마 전이 개선(208)은 피킹 필터로서 적응적 또는 프로그래밍가능 이득 로직으로 배열된 하나 이상의 수평 또는 수직 필터들(예컨대, 고역 통과 및/또는 저역 통과)을 포함할 수 있다. 피킹 필터는 이미지의 콘텐츠 특징부들(예컨대, 크로스 해칭, 다른 고주파수 성분들)에 대응하는 주파수들의 프로그래밍가능 범위들을 증대시킬 수 있다. 증대된 주파수 범위들은 루마 채널에 더 양호한 주파수 및/또는 공간 해상도를 제공할 수 있다. 추가적으로, 루마 전이 개선(208)은, 예를 들어, 잡음 통계 블록(58)에 의해 결정되는 바와 같이, 입력 이미지 데이터(50)의 잡음 영역들에서의 루마 향상의 양을 최소화하기 위한 코어링 회로부(coring circuitry)를 포함할 수 있다. 더욱이, 루마 전이 개선(208)은 코어링 회로부 내에서 에지 메트릭, 예를 들어 SAD 및 DIFF 통계치 수집 서브블록(110)으로부터 결정된 에지 메트릭을 사용하여, 예를 들어 증대된 주파수 범위들로 인해, 에지 전이들 근처에서 발생할 수 있는 오버슈트 및/또는 언더슈트를 감소시킬 수 있다.
추가적으로, 예시 기반 개선(210)은 루마 프로세싱 서브블록(204)의 일부로서 휘도 전이 개선(208)과 병렬로 또는 직렬로 실행될 수 있다. 예시 기반 개선(210)은, 도 19에 도시된 바와 같이, 저해상도 입력(214)을 취할 수 있고, 그의 섹션들(예컨대, 5x5 픽셀 섹션들)을 고해상도 입력(216)(예컨대, 입력 이미지 데이터(50) 또는 스케일링된 이미지 데이터(174))의 섹션들에 대해 비교할 수 있다. 일부 실시예들에서, 예시 기반 개선(210)은 저해상도 입력(214)의 다수의(예컨대, 25개의) 섹션들(예컨대, 5x5 픽셀 섹션들)을 수집할 수 있고, 각각을 고해상도 입력(216)의 단일 섹션과 비교할 수 있다. 추가적으로, 저해상도 입력(214)은 필터링된 저해상도 입력(220)을 생성하기 위해 필터(218)(예컨대, 저역 통과 필터)를 통과할 수 있다. 고해상도 입력(216), 저해상도 입력(214), 및/또는 필터링된 저해상도 입력(220)은 비교 및 가중치 서브블록(222)에서 검정될 수 있다. 예를 들어, 비교 및 가중치 서브블록(222)은 루마 채널 값들의 제곱차(square difference)들의 합 또는 제곱차 근사치를 활용할 수 있다. 일부 실시예들에서, 제곱차들의 합을 채용하는 것은 리소스(예컨대, 시간, 계산 대역폭) 집약적 프로세스일 수 있고, 따라서, 대신에 제곱차 근사치를 활용하는 것이 바람직할 수 있다.
제곱차 근사치는 저해상도 입력(214)의 섹션과 고해상도 입력(216)의 섹션의 각각의 값 사이에서 달성될 수 있다. 일 실시예에서, 단일 제곱차는 비트별 값의 선두(leading) 0들의 수를 반환하기 위한 함수를 사용하여 근사화될 수 있으며, 여기서 비트별 값은 고해상도 입력(216)의 섹션의 값과 저해상도 입력(214)의 섹션의 대응하는 값 사이의 차이에 대응한다. 이어서, 제곱차 근사치들의 합산은, 적어도 부분적으로, 고해상도 입력(216)의 섹션과 저해상도 입력(214)의 섹션 사이의 제곱차들의 합의 근사치를 표현할 수 있다. 제곱차 근사치의 합은, 비교 및 가중치 서브블록(222)에 사용하기 위해, 저해상도 입력(214)의 다수의(예를 들어, 25개의) 섹션들(예컨대, 5x5 픽셀 섹션들) 각각과 고해상도 입력(216)의 단일 섹션 사이에서 달성될 수 있다. 다른 동작들은, 또한, 제곱차 근사치 또는 제곱차 근사치의 합의 계산, 예컨대 클리핑, 프로그래밍가능 파라미터에 의한 곱셈, 비트 시프트 등에 포함될 수 있다.
고해상도 입력(216), 저해상도 입력(214), 및/또는 필터링된 저해상도 입력(220)의 유사점들 및 차이들에 따라, 비교 및 가중치 서브블록(222)은 입력들의 가중 평균을 생성하게 되는 가중치들을 결정할 수 있다. 예를 들어, 비교 및 가중치 서브블록(222)은 유사점들 및/또는 차이들에 대한 룩업 테이블을 적용하여, 가중 평균에 대한 가중치들을 생성할 수 있다. 생성된 가중치들에 적어도 부분적으로 기초하여, 혼합 서브블록(224)은 입력들을 조합하여, 개선된 루마 데이터(226)를 생성할 수 있다. 더욱이, 루마 프로세싱 서브블록(204)은, 예를 들어 구배 통계치들에 기초하여, 예시 기반 개선(210)으로부터의 개선된 루마 데이터(226)를 루마 전이 개선(208)의 피킹 및 코어링 개선들과 조합할 수 있다.
구배 통계치들은 특정 방향으로의(예컨대, 픽셀 그리드(180)에 대한 x-방향 및/또는 y-방향으로의) 픽셀 값들의 선형 변화를 나타낼 수 있다. 예를 들어, x-방향으로의 픽셀 값들의 변화들의 가중 평균은, 예시 기반 개선(210)으로부터의 개선된 루마 데이터(226)를 루마 전이 개선(208)의 피킹 및 코어링 개선들과 어떻게 블렌딩할지를 결정하기 위해 y-방향으로의 픽셀 값들의 변화의 가중 평균과 조합될 수 있다. 예시 기반 개선(210)은 이미지 내의 우세한 구배들의 개선된 식별 및 디스플레이를 산출할 수 있고, 루마 전이 개선(208)은 이미지에서의 인지되는 텍스처를 개선할 수 있으며, 그 조합은 향상된(예컨대, 선명해진) 루마 채널 출력을 허용할 수 있다.
루마 전이 개선(208)과 유사하게, 크로미넌스 프로세싱 서브블록(206)은 피킹 필터들 및 코어링 회로부를 포함하는 크로미넌스 전이 개선(212)을 포함할 수 있다. 일부 실시예들에서, 크로미넌스 전이 개선(212)은 루마 전이 개선(208)에 적어도 부분적으로 기초하여 추가로 향상될 수 있다. 일부 시나리오들에서, 루마 채널이 크로미넌스 채널(들)을 보상하지 않고서 향상되는 경우, 이미지는 과포화 또는 불포화된 것으로 나타날 수 있다. 이와 같이, 크로미넌스 전이 개선(212)은, 크로미넌스 전이 개선(212)으로부터의 변화를 결정함에 있어서 루마 프로세싱 서브블록(204)으로 인한 루마 채널의 변화를 채용할 수 있다. 추가적으로 또는 대안적으로, 크로미넌스 전이 개선(212)은, 예를 들어 루마 채널 향상이 거의 또는 전혀 없는 경우에 디스에이블될 수 있다. 이미지 향상 블록(64)으로부터의 출력으로서, 향상된 이미지 데이터(198)(예컨대, 향상된 루마 및 크로미넌스 채널들)는 선명하고 생동감있는 이미지를 표현할 수 있다.
추가의 예시를 돕기 위해, 도 20은 이미지 향상 블록(64)의 예시적인 프로세스를 표현하는 흐름도(228)이다. 이미지 향상 블록(64)은 입력 이미지 데이터(50)를 수신할 수 있고(프로세스 블록(230)), 스케일링된 이미지 데이터(174)가 이용가능한지 여부를 결정할 수 있다(결정 블록(232)). 스케일링된 이미지 데이터(174)가 이용가능하지 않은 경우, 입력 이미지 데이터(50)는 예시 기반 개선(210)에 대한 저해상도 입력(214)으로서 사용하기 위해 다운샘플링될 수 있다(프로세스 블록(234)). 그러나, 스케일링된 이미지 데이터(174)가 이용가능한 경우, 스케일링된 이미지 데이터(174)가 수신될 수 있고(프로세스 블록(236)), 입력 이미지 데이터(50)는 예시 기반 개선(210)을 위한 저해상도 입력(214)으로서 사용될 수 있다(프로세스 블록(238)). 이와 같이, 예시 기반 개선(210)이 결정될 수 있다(프로세스 블록(240)). 추가적으로, 이미지 향상 블록(64)은, 예를 들어 톤 검출 서브블록(202)을 통해, 톤 검출들을 결정할 수 있다(프로세스 블록(242)). 이미지 향상 블록(64)은, 또한, 루마 전이 개선(208)을 결정할 수 있고(프로세스 블록(244)), 루마 채널 출력을 결정할 수 있다(프로세스 블록(246)). 예를 들어 루마 채널 출력을 사용하여, 크로미넌스 전이 개선(212)이 또한 결정될 수 있고(프로세스 블록(248)), 크로미넌스 채널 출력(들)이 결정될 수 있다(프로세스 블록(250)). 함께, 루마 채널 출력 및 크로미넌스 채널 출력(들)은 향상된 이미지 데이터(198)를 형성한다.
일부 실시예들에서, 향상된 이미지 데이터(198)는 향상 후에 스케일링될 수 있다. 예를 들어, 향상된 이미지 데이터(198)는 향상 후에 수직/수평 스케일링 블록(66)을 통과할 수 있다. 추가적으로 또는 대안적으로, 향상된 이미지 데이터(198)는 향상 전 및/또는 후에 지향성 스케일링 블록(62)에서 스케일링될 수 있다. 스케일링 및/또는 향상은 원하는 해상도가 달성될 때까지 다수회 캐스케이드될 수 있다.
이해되는 바와 같이, 스케일러 블록(46)의 다수의 컴포넌트들(예컨대, 변환 블록(56), 잡음 통계 블록(58), 각도 검출 블록(60), 지향성 스케일링 블록(62), 이미지 향상 블록(64), 수직/수평 스케일링 블록(66))은 구현예에 따라 함께 또는 개별적으로 인에이블되거나, 디스에이블되거나, 채용될 수 있다. 더욱이, 스케일러 블록(46) 내에서의 사용 순서는, 또한, 구현예에 따라 변경(예컨대, 스위칭, 반복, 병렬 또는 직렬로 실행 등)될 수 있다. 이와 같이, 전술된 흐름도들이 주어진 순서로 도시되어 있지만, 소정 실시예들에서, 프로세스/결정 블록들은 동시에 재정렬되고/되거나, 변경되고/되거나, 삭제되고/되거나 발생할 수 있다. 추가적으로, 언급된 흐름도들은 예시적인 툴들로서 주어지며, 추가 결정 및 프로세스 블록들이 또한 구현예에 따라 추가될 수 있다.
위에서 설명된 특정 실시예들은 예로서 도시되었으며, 이들 실시예들은 다양한 변경들 및 대안적인 형태들을 받아들일 수 있다는 것이 이해되어야 한다. 청구항들은 개시된 특정 형태들로 제한되도록 의도되는 것이 아니라, 오히려 본 개시의 기술적 사상 및 범주 내에 속하는 모든 변경들, 등가물들, 및 대안들을 커버하도록 의도된다는 것이 추가로 이해되어야 한다.
본 명세서에서 제시되고 청구된 기법들은 본 발명의 기술 분야를 명백히 개선시키고 그러므로 추상적이거나 무형이거나 순수하게 이론적이지 않은 실용적인 속성의 물질적인 대상들 및 구체적인 예들을 참조하고 그에 적용된다. 추가로, 본 명세서의 말단에 첨부된 임의의 청구항들이 "[기능]을 [수행]하기 위한 수단 ..." 또는 "[기능]을 [수행]하기 위한 단계..."로 지정된 하나 이상의 요소들을 포함하면, 그러한 요소들은 35 U.S.C. 112(f) 하에서 해석될 것이라고 의도된다. 그러나, 임의의 다른 방식으로 지정된 요소들을 포함하는 임의의 청구항들에 대해, 그러한 요소들이 35 U.S.C. 112(f) 하에서 해석되지 않을 것이라고 의도된다.

Claims (25)

  1. 스케일링 회로부를 포함하는 전자 디바이스로서, 상기 스케일링 회로부는 이미지에 대응하는, 스케일링된 이미지 데이터를 생성하기 위한, 입력 픽셀 데이터를 제1 해상도로부터 제2 해상도로 스케일링하도록 구성된 지향성 스케일링 회로부를 포함하고, 상기 제2 해상도는 상기 제1 해상도보다 크고, 상기 지향성 스케일링 회로부는,
    제1 보간 회로부로서,
    상기 이미지의 콘텐츠에 대응하는 하나 이상의 각도들을 포함하는 최상 모드 데이터를 수신하도록; 그리고
    상기 최상 모드 데이터 및 상기 입력 픽셀 데이터의 입력 픽셀 포지션들에 대응하는 입력 픽셀 값들에 적어도 부분적으로 기초하여 상기 입력 픽셀 포지션들로부터 대각선으로 오프셋된 제1 픽셀 포지션들에서 제1 픽셀 값들을 보간하도록 구성되는, 상기 제1 보간 회로부; 및
    제2 보간 회로부로서,
    상기 최상 모드 데이터 및 상기 입력 픽셀 값들을 수신하도록; 그리고
    상기 최상 모드 데이터, 상기 제1 픽셀 값들, 및 상기 입력 픽셀 값들에 적어도 부분적으로 기초하여 상기 입력 픽셀 포지션들로부터 수평으로 또는 수직으로 오프셋된 제2 픽셀 포지션들에서 제2 픽셀 값들을 보간하도록 - 상기 제2 해상도의 스케일링된 이미지 데이터는 상기 제1 픽셀 값들 및 상기 제2 픽셀 값들을 포함함 - 구성되는, 상기 제2 보간 회로부를 포함하는, 전자 디바이스.
  2. 제1항에 있어서, 상기 스케일링 회로부는 수직/수평 스케일링 회로부를 포함하고, 상기 수직/수평 스케일링 회로부는 상기 스케일링된 픽셀 데이터를 상기 제2 해상도로부터 제3 해상도로 스케일링하도록 구성되는, 전자 디바이스.
  3. 제2항에 있어서, 상기 제3 해상도는 상기 제2 해상도보다 작고 상기 제1 해상도보다 큰, 전자 디바이스.
  4. 제2항에 있어서, 상기 수직/수평 스케일링 회로부는 다상 스케일러들, 선형 스케일러들, 또는 이들의 조합을 포함하는, 전자 디바이스.
  5. 제1항에 있어서, 상기 최상 모드 데이터의 하나 이상의 각도들은 보간의 최상 각도 및 직교 각도를 포함하는, 전자 디바이스.
  6. 제1항에 있어서, 상기 최상 모드 데이터는 상기 하나 이상의 각도들 중 적어도 하나에 대한 신뢰도를 포함하고, 상기 신뢰도는 보간 동안 상기 제1 픽셀 값들, 상기 제2 픽셀 값들, 또는 둘 모두에 부여되는 가중치들에 대응하는, 전자 디바이스.
  7. 제1항에 있어서, 상기 제1 보간 회로부는 상기 입력 픽셀 값들의 제1 서브세트를 페칭(fetch)하도록 구성되고, 상기 제2 보간 회로부는 상기 최상 모드 데이터에 적어도 부분적으로 기초하여 상기 입력 픽셀 값들의 제2 서브세트를 페칭하도록 구성되는, 전자 디바이스.
  8. 제1항에 있어서, 상기 제1 보간 회로부는 상기 제2 보간 회로부가 상기 제2 픽셀 값들을 보간하기 전에 상기 제1 픽셀 값들을 보간하도록 구성되는, 전자 디바이스.
  9. 제1항에 있어서, 상기 제2 해상도는 상기 제1 해상도의 4배인, 전자 디바이스.
  10. 방법으로서,
    스케일링 회로부를 통해, 이미지에 대응하는 입력 픽셀 데이터, 및 상기 입력 픽셀 데이터의 복수의 픽셀 위치들 각각에 대한 보간의 최상 각도에 대응하는 최상 모드 데이터를 수신하는 단계;
    상기 스케일링 회로부를 통해, 상기 입력 픽셀 데이터를 더 높은 해상도로 스케일링하는 단계로서, 상기 입력 픽셀 데이터를 스케일링하는 단계는,
    상기 보간의 최상 각도 및 상기 입력 픽셀 데이터에 적어도 부분적으로 기초하여 픽셀 값들의 제1 세트를 보간하는 단계 - 상기 픽셀 값들의 제1 세트는 중간점 위치들에 대응하고, 상기 중간점 위치들 각각은 픽셀 그리드에 대해 상기 복수의 픽셀 위치들 각각에 대해 대각선으로 포지셔닝됨 -; 및
    상기 입력 픽셀 데이터 및 상기 픽셀 값들의 제1 세트에 적어도 부분적으로 기초하여 픽셀 값들의 제2 세트를 보간하는 단계 - 상기 픽셀 값들의 제2 세트는 외부 포인트 위치들에 대응하고, 상기 외부 포인트 위치들 각각은 상기 픽셀 그리드에 대해 상기 복수의 픽셀 위치들 각각에 대해 수평으로 또는 수직으로 포지셔닝됨 - 를 포함하는, 상기 입력 픽셀 데이터를 스케일링하는 단계; 및
    상기 스케일링 회로부를 통해, 상기 중간점 위치들에서의 상기 픽셀 값들의 제1 세트 및 상기 외부 포인트 위치들에서의 상기 픽셀 값들의 제2 세트를 포함하는 스케일링된 이미지 데이터를 출력하는 단계를 포함하는, 방법.
  11. 제10항에 있어서, 상기 픽셀 값들의 제1 세트의 하나의 픽셀 값을 보간하는 단계는, 상기 픽셀 값들의 제1 세트의 상기 하나의 픽셀 값 근처에 있고 상기 보간의 최상 각도에 대응하는 상기 복수의 픽셀 위치들에 대응하는 상기 입력 픽셀 데이터의 제1 세트의 가중 평균을 보간하는 단계를 포함하는, 방법.
  12. 제11항에 있어서, 상기 가중 평균은, 상기 픽셀 값들의 제1 세트의 상기 하나의 픽셀 값 근처에 있고 상기 보간의 최상 각도에 직교하는 직교 각도에 대응하는 상기 복수의 픽셀 위치들에 대응하는 상기 입력 픽셀 데이터의 제2 세트를 포함하는, 방법.
  13. 제10항에 있어서, 상기 픽셀 그리드는 활성 윈도우를 포함하고, 상기 활성 윈도우는 스케일링될 상기 입력 픽셀 데이터의 적어도 일부분을 포함하는, 방법.
  14. 제13항에 있어서, 상기 활성 윈도우 밖에 놓이는 픽셀 값들의 제3 세트는 상기 활성 윈도우의 에지 상에 놓이는 픽셀 값들의 제4 세트로서 근사화되는, 방법.
  15. 시스템으로서,
    프로세싱 회로부로서,
    이미지에 대응하는 입력 픽셀 데이터, 및 상기 이미지의 콘텐츠에 대응하는 하나 이상의 각도들을 포함하는 최상 모드 데이터를 수신하도록;
    상기 최상 모드 데이터 및 상기 입력 픽셀 데이터의 입력 픽셀 포지션들에 대응하는 입력 픽셀 값들에 적어도 부분적으로 기초하여 상기 입력 픽셀 포지션들로부터 대각선으로 오프셋된 제1 픽셀 포지션들에서 제1 픽셀 값들을 보간하도록;
    상기 제1 픽셀 값들을 보간한 후, 상기 최상 모드 데이터, 상기 입력 픽셀 값들, 및 상기 제1 픽셀 값들에 적어도 부분적으로 기초하여 상기 입력 픽셀 포지션들로부터 수평으로 또는 수직으로 오프셋된 제2 픽셀 포지션들에서 제2 픽셀 값들을 보간하도록; 그리고
    상기 입력 픽셀 데이터를 제1 해상도로부터 제2 해상도로 스케일링함으로써 스케일링된 이미지 데이터를 생성하도록 - 상기 제2 해상도는 상기 제1 해상도보다 더 크고, 상기 스케일링된 이미지 데이터는 상기 제1 픽셀 값들 및 상기 제2 픽셀 값들을 포함함 - 구성되는, 상기 프로세싱 회로부; 및
    상기 프로세싱 회로부를 위한 메모리로부터 상기 입력 픽셀 데이터를 페칭하도록, 그리고 상기 스케일링된 이미지 데이터를 전자 디스플레이 또는 상기 메모리로 출력하도록 구성되는 제어기를 포함하는, 시스템.
  16. 제15항에 있어서, 상기 프로세싱 회로부는 상기 스케일링된 이미지 데이터를 고정된 비로 생성하도록 구성되고, 상기 프로세싱 회로부는 상기 스케일링된 이미지 데이터를 추가로 스케일링하여 원하는 비를 달성하도록 구성되는, 시스템.
  17. 제15항에 있어서, 상기 최상 모드 데이터는 동형물(uniformity)의 각도를 포함하고, 상기 동형물의 각도는 상기 이미지 내의 라인에 대응하는, 시스템.
  18. 제15항에 있어서, 상기 프로세싱 회로부는 상기 입력 픽셀 값들의 제1 가중 평균에 기초하여 상기 제1 픽셀 값들을 보간하도록, 그리고 상기 입력 픽셀 값들의 제2 가중 평균 및 상기 제1 픽셀 값들에 기초하여 상기 제2 픽셀 값들을 보간하도록 구성되는, 시스템.
  19. 제15항에 있어서, 상기 프로세싱 회로부는 상기 스케일링된 이미지 데이터를 상기 제2 해상도로부터 제3 해상도로 리스케일(rescaling)하도록 구성되는, 시스템.
  20. 전자 디바이스로서,
    입력 픽셀 데이터를 저장하도록 구성된 메모리;
    상기 입력 픽셀 데이터에 기초하여 스케일링된 이미지 데이터를 디스플레이하도록 구성된 전자 디스플레이;
    상기 입력 픽셀 데이터를,
    이미지에 대응하는 입력 픽셀 데이터, 및 상기 이미지의 콘텐츠에 대응하는 하나 이상의 각도들을 포함하는 최상 모드 데이터를 수신하는 것;
    상기 최상 모드 데이터 및 상기 입력 픽셀 데이터의 입력 픽셀 포지션들에 대응하는 입력 픽셀 값들에 적어도 부분적으로 기초하여 상기 입력 픽셀 포지션들로부터 대각선으로 오프셋된 제1 픽셀 포지션들에서 제1 픽셀 값들을 보간하는 것;
    상기 제1 픽셀 값들을 보간한 후, 상기 최상 모드 데이터, 상기 입력 픽셀 값들, 및 상기 제1 픽셀 값들에 적어도 부분적으로 기초하여 상기 입력 픽셀 포지션들로부터 수평으로 또는 수직으로 오프셋된 제2 픽셀 포지션들에서 제2 픽셀 값들을 보간하는 것; 및
    상기 입력 픽셀 데이터를 제1 해상도로부터 제2 해상도로 스케일링함으로써 스케일링된 이미지 데이터를 생성하는 것 - 상기 제2 해상도는 상기 제1 해상도보다 더 크고, 상기 스케일링된 이미지 데이터는 상기 제1 픽셀 값들 및 상기 제2 픽셀 값들을 포함함 - 을 포함하는 동작들을 수행함으로써, 스케일링하도록 구성되는 프로세싱 회로부; 및
    상기 프로세싱 회로부를 위한 메모리로부터 상기 입력 픽셀 데이터를 페칭하도록, 그리고 상기 스케일링된 이미지 데이터를 상기 전자 디스플레이로 출력하도록 구성되는 제어기를 포함하는, 전자 디바이스.
  21. 제20항에 있어서, 상기 프로세싱 회로부는 상기 스케일링된 이미지 데이터를 고정된 비로 생성하도록 구성되고, 상기 프로세싱 회로부는 상기 스케일링된 이미지 데이터를 추가로 스케일링하여 원하는 비를 달성하도록 구성되는, 전자 디바이스.
  22. 제20항에 있어서, 상기 최상 모드 데이터는 동형물의 각도를 포함하고, 상기 동형물의 각도는 상기 이미지 내의 라인에 대응하는, 전자 디바이스.
  23. 제20항에 있어서, 상기 프로세싱 회로부는 상기 입력 픽셀 값들의 제1 가중 평균에 기초하여 상기 제1 픽셀 값들을 보간하도록, 그리고 상기 입력 픽셀 값들의 제2 가중 평균 및 상기 제1 픽셀 값들에 기초하여 상기 제2 픽셀 값들을 보간하도록 구성되는, 전자 디바이스.
  24. 시스템으로서,
    입력 픽셀 데이터를 더 높은 해상도로 스케일링하기 위한 수단으로서,
    보간의 최상 각도 및 상기 입력 픽셀 데이터에 적어도 부분적으로 기초하여 픽셀 값들의 제1 세트를 보간하기 위한 수단 - 상기 픽셀 값들의 제1 세트는 중간점 위치들에 대응하고, 상기 중간점 위치들 각각은 픽셀 그리드에 대해 복수의 픽셀 위치들 각각에 대해 대각선으로 포지셔닝됨 -; 및
    상기 입력 픽셀 데이터 및 상기 픽셀 값들의 제1 세트에 적어도 부분적으로 기초하여 픽셀 값들의 제2 세트를 보간하기 위한 수단 - 상기 픽셀 값들의 제2 세트는 외부 포인트 위치들에 대응하고, 상기 외부 포인트 위치들 각각은 상기 픽셀 그리드에 대해 상기 복수의 픽셀 위치들 각각에 대해 수평으로 또는 수직으로 포지셔닝됨 - 을 포함하는, 상기 스케일링하기 위한 수단; 및
    상기 중간점 위치들에서의 상기 픽셀 값들의 제1 세트 및 상기 외부 포인트 위치들에서의 상기 픽셀 값들의 제2 세트를 포함하는 스케일링된 이미지 데이터를 출력하기 위한 수단을 포함하는, 시스템.
  25. 제24항에 있어서, 상기 픽셀 그리드는 활성 윈도우를 포함하고, 상기 활성 윈도우는 스케일링될 상기 입력 픽셀 데이터의 적어도 일부분을 포함하는, 시스템.
KR1020217003253A 2018-08-02 2019-07-24 지향성 스케일링 시스템들 및 방법들 KR102337835B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020217039842A KR102462265B1 (ko) 2018-08-02 2019-07-24 지향성 스케일링 시스템들 및 방법들

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/053,360 2018-08-02
US16/053,360 US11024012B2 (en) 2018-08-02 2018-08-02 Directional scaling systems and methods
PCT/US2019/043322 WO2020028123A1 (en) 2018-08-02 2019-07-24 Directional scaling systems and methods

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020217039842A Division KR102462265B1 (ko) 2018-08-02 2019-07-24 지향성 스케일링 시스템들 및 방법들

Publications (2)

Publication Number Publication Date
KR20210018508A KR20210018508A (ko) 2021-02-17
KR102337835B1 true KR102337835B1 (ko) 2021-12-09

Family

ID=67614622

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020227037715A KR102583038B1 (ko) 2018-08-02 2019-07-24 지향성 스케일링 시스템들 및 방법들
KR1020237032330A KR102635355B1 (ko) 2018-08-02 2019-07-24 지향성 스케일링 시스템들 및 방법들
KR1020217003253A KR102337835B1 (ko) 2018-08-02 2019-07-24 지향성 스케일링 시스템들 및 방법들
KR1020217039842A KR102462265B1 (ko) 2018-08-02 2019-07-24 지향성 스케일링 시스템들 및 방법들

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020227037715A KR102583038B1 (ko) 2018-08-02 2019-07-24 지향성 스케일링 시스템들 및 방법들
KR1020237032330A KR102635355B1 (ko) 2018-08-02 2019-07-24 지향성 스케일링 시스템들 및 방법들

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020217039842A KR102462265B1 (ko) 2018-08-02 2019-07-24 지향성 스케일링 시스템들 및 방법들

Country Status (4)

Country Link
US (2) US11024012B2 (ko)
KR (4) KR102583038B1 (ko)
CN (2) CN112534466B (ko)
WO (1) WO2020028123A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11321813B2 (en) * 2018-08-02 2022-05-03 Apple Inc. Angular detection using sum of absolute difference statistics systems and methods
KR20220114908A (ko) 2021-02-09 2022-08-17 주식회사 엘지에너지솔루션 전해액 주액 전의 전극 조립체 불량 검사장치 및 불량 검사방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080055338A1 (en) 2006-08-30 2008-03-06 Ati Technologies Inc. Multi-stage edge-directed image scaling
US20130050272A1 (en) 2010-05-11 2013-02-28 Zoran (France) Two-dimensional super resolution scaling

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI91029C (fi) 1992-04-14 1994-04-25 Salon Televisiotehdas Oy Menetelmä ja kytkentäjärjestely kuvaruudulla näytettävän kuvan pysty- ja vaakaresoluution kaksinkertaistamiseksi
US5790714A (en) * 1994-11-01 1998-08-04 International Business Machines Corporation System and method for scaling video
US7054501B1 (en) 2000-11-14 2006-05-30 Eastman Kodak Company Estimating noise for a digital image utilizing updated statistics
US7084906B2 (en) 2002-10-15 2006-08-01 Eastman Kodak Company Reducing computation time in removing color aliasing artifacts from color digital images
US7116838B2 (en) 2002-10-25 2006-10-03 Eastman Kodak Company Enhancing the tonal and spatial characteristics of digital images using selective spatial filters
JP4871144B2 (ja) 2006-01-13 2012-02-08 株式会社東芝 画像処理装置、方法、プログラム
TWI339527B (en) 2006-02-15 2011-03-21 Realtek Semiconductor Corp Method and apparatus for enhancing image quality
US7782401B1 (en) * 2006-06-20 2010-08-24 Kolorific, Inc. Method and system for digital image scaling with sharpness enhancement and transient improvement
US8538203B2 (en) 2007-07-24 2013-09-17 Sharp Laboratories Of America, Inc. Image upscaling technique
US8300987B2 (en) 2007-09-28 2012-10-30 Ati Technologies Ulc Apparatus and method for generating a detail-enhanced upscaled image
US9407890B2 (en) 2008-01-14 2016-08-02 Broadcom Corporation Method and system for sharpening the luma and the chroma signals
TWI381732B (zh) 2008-10-08 2013-01-01 Silicon Integrated Sys Corp 低角度內插裝置及其方法
US8165415B2 (en) * 2009-04-24 2012-04-24 Silicon Integrated Systems Corp. Image processing system having scaling and sharpness device and method thereof
US8643777B2 (en) 2009-09-25 2014-02-04 Vixs Systems Inc. Pixel interpolation with edge detection based on cross-correlation
US8175411B2 (en) 2010-09-28 2012-05-08 Sharp Laboratories Of America, Inc. Methods and systems for estimation of compression noise
US8494308B2 (en) 2011-03-10 2013-07-23 Sharp Laboratories Of America, Inc. Image upscaling based upon directional interpolation
KR101744761B1 (ko) * 2012-11-30 2017-06-09 한화테크윈 주식회사 영상처리장치 및 방법
CN103093418B (zh) * 2013-02-21 2015-08-26 深圳市晶日盛科技有限公司 一种改进的数字图像缩放方法
JP6369019B2 (ja) 2013-12-12 2018-08-08 セイコーエプソン株式会社 画像評価装置および画像評価プログラム
JP6232994B2 (ja) * 2013-12-16 2017-11-22 ソニー株式会社 画像処理装置、および画像処理方法、並びにプログラム
US9626760B2 (en) 2014-10-30 2017-04-18 PathPartner Technology Consulting Pvt. Ltd. System and method to align and merge differently exposed digital images to create a HDR (High Dynamic Range) image

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080055338A1 (en) 2006-08-30 2008-03-06 Ati Technologies Inc. Multi-stage edge-directed image scaling
US20130050272A1 (en) 2010-05-11 2013-02-28 Zoran (France) Two-dimensional super resolution scaling

Also Published As

Publication number Publication date
CN114693526A (zh) 2022-07-01
US20210287344A1 (en) 2021-09-16
KR20210018508A (ko) 2021-02-17
KR20210149908A (ko) 2021-12-09
KR102583038B1 (ko) 2023-09-26
KR20230142636A (ko) 2023-10-11
WO2020028123A1 (en) 2020-02-06
US11941785B2 (en) 2024-03-26
KR20220153657A (ko) 2022-11-18
US11024012B2 (en) 2021-06-01
CN112534466B (zh) 2022-05-13
CN112534466A (zh) 2021-03-19
KR102635355B1 (ko) 2024-02-08
US20200043139A1 (en) 2020-02-06
KR102462265B1 (ko) 2022-11-03
KR20240018700A (ko) 2024-02-13

Similar Documents

Publication Publication Date Title
KR102425302B1 (ko) 번-인 통계 및 번-인 보상
US11551336B2 (en) Chrominance and luminance enhancing systems and methods
CN109416829B (zh) 并行计算机视觉和图像缩放架构
US8760537B2 (en) Capturing and rendering high dynamic range images
US10714049B2 (en) Electronic display border gain systems and methods
JP6101817B2 (ja) 画像高画質化装置、画像表示装置、画像高画質化方法及びコンピュータプログラム
CN102202162A (zh) 图像处理设备,图像处理方法和程序
US11941785B2 (en) Directional scaling systems and methods
CN111292269B (zh) 图像色调映射方法、计算机装置及计算机可读存储介质
KR102166219B1 (ko) 전자 디스플레이 경계 이득 시스템 및 방법
JPWO2015064671A1 (ja) 画像高画質化装置、画像表示装置、画像高画質化方法及びコンピュータプログラム
JP2019049705A5 (ko)
US10719916B2 (en) Statistical noise estimation systems and methods
KR102276902B1 (ko) 픽셀 콘트라스트 제어 시스템들 및 방법들
KR102669220B1 (ko) 지향성 스케일링 시스템들 및 방법들
US11321813B2 (en) Angular detection using sum of absolute difference statistics systems and methods
US9928577B2 (en) Image correction apparatus and image correction method
US10068548B1 (en) Sub-pixel layout resampler systems and methods
CN111492399B (zh) 图像处理装置、图像处理方法以及记录介质

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant