KR20190029433A - 전자 디스플레이 경계 이득 시스템 및 방법 - Google Patents

전자 디스플레이 경계 이득 시스템 및 방법 Download PDF

Info

Publication number
KR20190029433A
KR20190029433A KR1020180098520A KR20180098520A KR20190029433A KR 20190029433 A KR20190029433 A KR 20190029433A KR 1020180098520 A KR1020180098520 A KR 1020180098520A KR 20180098520 A KR20180098520 A KR 20180098520A KR 20190029433 A KR20190029433 A KR 20190029433A
Authority
KR
South Korea
Prior art keywords
gain
pixel
map
run
display
Prior art date
Application number
KR1020180098520A
Other languages
English (en)
Other versions
KR102166219B1 (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
Priority claimed from US15/701,086 external-priority patent/US10714049B2/en
Application filed by 애플 인크. filed Critical 애플 인크.
Publication of KR20190029433A publication Critical patent/KR20190029433A/ko
Application granted granted Critical
Publication of KR102166219B1 publication Critical patent/KR102166219B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/391Resolution modifying circuits, e.g. variable screen formats
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/10Intensity circuits
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/37Details of the operation on graphic patterns
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2300/00Aspects of the constitution of display devices
    • G09G2300/04Structural and physical details of display devices
    • G09G2300/0421Structural details of the set of electrodes
    • G09G2300/043Compensation electrodes or other additional electrodes in matrix displays related to distortions or compensation signals, e.g. for modifying TFT threshold voltage in column driver
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/02Addressing, scanning or driving the display screen or processing steps related thereto
    • G09G2310/0232Special driving of display border areas
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0242Compensation of deficiencies in the appearance of colours
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0285Improving the quality of display appearance using tables for spatial correction of display data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/06Adjustment of display parameters
    • G09G2320/0686Adjustment of display parameters with two or more screen areas displaying information with different brightness or colours
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0457Improvement of perceived resolution by subpixel rendering
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/10Use of a protocol of communication by packets in interfaces along the display data pipeline
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3066Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind

Abstract

둥근 경계를 갖는 디스플레이 영역 및 둥근 경계에 인접한 픽셀 위치에서의 디스플레이 픽셀을 포함하는 전자 디스플레이의 인지된 이미지 품질을 향상시키기 위한 시스템들 및 방법들. 전자 디스플레이에 통신가능하게 결합된 디스플레이 파이프라인은 직사각형 이미지 프레임 내의 픽셀 위치에서의 목표 휘도를 나타내는 제1 이미지 데이터를 수신하고; 이득 맵(gain map)으로부터 픽셀 위치와 연관된 이득 값을 결정하고 - 이득 값은 디스플레이 픽셀과 둥근 경계 사이의 거리에 반비례함 -; 이득 값에 적어도 부분적으로 기초하여 제1 이미지 데이터를 처리함으로써 디스플레이 픽셀의 목표 휘도를 나타내는 제2 이미지 데이터를 결정하고; 디스플레이 영역 상에 이미지 프레임의 비-직사각형 부분을 디스플레이하는 것을 용이하게 하기 위해 제2 이미지 데이터를 전자 디스플레이에 출력한다.

Description

전자 디스플레이 경계 이득 시스템 및 방법{ELECTRONIC DISPLAY BORDER GAIN SYSTEMS AND METHODS}
관련 출원에 대한 상호 참조
본 출원은 2016년 6월 6일자로 출원된 미국 가특허 출원 제62/346,517호에 대한 우선권을 주장하는 2017년 6월 5일자로 출원된 미국 특허 출원 제15/614,294호의 부분 계속 출원이며, 이들 각각은 모든 목적을 위하여 전체적으로 본 명세서에 포함된다.
본 개시내용은 일반적으로 전자 디스플레이에 관한 것으로서, 보다 상세하게는 전자 디스플레이 상에 이미지 또는 이미지 프레임을 디스플레이하기 위해 적용되는 이득에 관한 것이다.
이 섹션은 본 기술들의 다양한 양태들에 관련될 수 있는 다양한 양태들의 기술에 대하여 독자에게 소개하도록 의도되며, 이는 하기에 설명 및/또는 청구된다. 이 논의는 본 개시내용의 다양한 양태들에 대한 더 양호한 이해를 용이하게 하기 위해 독자에게 배경 정보를 제공하는 데 도움이 될 것으로 여겨진다. 따라서, 이들 진술들이 종래 기술의 인정들로서가 아니라 이러한 관점에서 판독될 것임이 이해되어야 한다.
전자 디바이스들은 종종 전자 디스플레이들을 사용하여, 하나 이상의 이미지를 디스플레이함으로써 정보의 시각적 표현들을 제공한다. 그러한 전자 디바이스들은 많은 다른 것들 중에서, 컴퓨터, 이동 전화, 휴대용 미디어 디바이스, 태블릿, 텔레비전, 가상 현실 헤드셋, 및 차량 대시보드를 포함할 수 있다. 이미지를 디스플레이하기 위해, 전자 디스플레이는 이미지의 목표 특성들을 나타내는 이미지 데이터에 적어도 부분적으로 기초하여 디스플레이 픽셀들로부터의 광 방출을 제어할 수 있다. 예를 들어, 이미지 데이터는 이미지 내의 다양한 지점들(예를 들어, 이미지 픽셀들)에서의, 녹색 컴포넌트, 청색 컴포넌트, 및/또는 적색 컴포넌트와 같은 특정 색상 컴포넌트들의 목표 휘도를 나타낼 수 있다.
색상 컴포넌트들의 블렌딩(예를 들어, 평균화)에 의존하여, 전자 디스플레이는 이미지 내의 다양한 색상들의 인지를 가능하게 할 수 있다. 예를 들어, 다양한 휘도 레벨들에서 녹색 컴포넌트, 청색 컴포넌트, 및 적색 컴포넌트들을 블렌딩하는 것은 흑색으로부터 백색까지 범위의 색상들의 인지를 가능하게 할 수 있다. 색상 컴포넌트들의 휘도를 제어하는 것을 용이하게 하기 위해, 전자 디스플레이 내의 각각의 디스플레이 픽셀은 하나 이상의 서브-픽셀을 포함할 수 있으며, 이들 각각은 하나의 색상 컴포넌트의 휘도를 제어한다. 예를 들어, 디스플레이 픽셀은 적색 서브-픽셀, 청색 서브-픽셀 및/또는 녹색 서브-픽셀을 포함할 수 있다.
일부 경우들에서, 전자 디스플레이 상에 디스플레이될 이미지와 대응하는 이미지 데이터는 이미지 데이터 소스에 의해 생성될 수 있다. 전자 디스플레이들은 종종 직사각형 형상을 가지므로, 이미지 데이터 소스는 직사각형 이미지에 대응하는 이미지 데이터를 생성할 수 있다. 그러나, 일부 경우들에서, 전자 디스플레이는 비-직사각형 디스플레이 영역으로 구현될 수도 있다. 그럼에도 불구하고, 동작 유연성을 용이하게 하기 위해, 이미지 데이터 소스는 예를 들어, 전자 디스플레이에서 구현되는 디스플레이 영역 형상을 거의 고려하지 않거나 전혀 고려하지 않고서, 이미지 데이터를 생성할 수 있다.
본 명세서에 개시된 소정의 실시예들의 개요가 아래에 기재된다. 이들 양태들은 단지 이들 소정의 실시예들의 간단한 개요를 독자에게 제공하기 위해 제시되며, 이들 양태들은 본 개시내용의 범위를 제한하도록 의도되지 않음이 이해되어야 한다. 사실상, 본 개시내용은 아래에 기재되지 않을 수 있는 다양한 양태들을 포함할 수 있다.
본 개시내용은 일반적으로 전자 디스플레이 상의 인지되는 이미지 품질을 향상시키는 것에 관련된다. 이미지를 디스플레이하기 위해, 전자 디스플레이는 이미지 내의 이미지 픽셀들에서의 목표 특성들(예를 들어, 휘도)을 나타내는 이미지 데이터에 적어도 부분적으로 기초하여 그것의 디스플레이 픽셀들로부터의 광 방출을 제어할 수 있다. 일부 경우들에서, 이미지 데이터는 이미지 데이터 소스에 의해 생성될 수 있다.
전자 디스플레이들은 종종 직사각형 디스플레이 영역을 가지므로, 이미지 데이터 소스는 직사각형 이미지와 대응하는 이미지 데이터를 생성할 수 있다. 그러나, 일부 실시예들에서, 전자 디스플레이는 비-직사각형 디스플레이 영역, 예를 들어, 하나 이상의 둥근(예를 들어, 만곡된) 경계로 구현될 수도 있다. 따라서, 일부 실시예들에서, 디스플레이 파이프라인은 예를 들어, 디스플레이 영역 외부의 픽셀 위치들에서 블랙 마스크를 적용함으로써, 비-직사각형 디스플레이 영역 상에서의 디스플레이를 위해 직사각형 이미지 프레임을 조정할 수 있다. 그러나, 일부 경우들에서, 단지 블랙 마스크를 적용하는 것은 디스플레이 영역의 경계를 따르는 색상 프린징(color fringing) 및/또는 디스플레이 영역의 둥근 경계를 따르는 에일리어싱(aliasing)과 같은 인지가능한 시각적 아티팩트를 야기할 수 있다.
인지되는 이미지 품질을 향상시키는 것을 용이하게 하기 위하여, 이미지 데이터는 이미지 내의 각각의 이미지 픽셀의 픽셀 위치와 연관된 이득 값들에 적어도 부분적으로 기초하여 처리될 수 있다. 픽셀 위치가 디스플레이 영역 내에 있을 때, 대응하는 디스플레이 픽셀은 픽셀 위치에 위치될 수 있다. 일부 실시예들에서, 디스플레이 픽셀은 다수의 서브-픽셀들을 포함할 수 있으므로, 픽셀 위치는 대응하는 이득 값과 각각 연관되는 다수의 서브-픽셀 위치들을 포함할 수 있다.
어떤 경우든, 일부 실시예들에서, 디스플레이 파이프라인은 디스플레이 영역의 경계들에 인접한 픽셀 위치들에서 프로그램가능 경계 이득 값들을 적용할 수 있다. 대응하는 프로그램가능 경계 이득 값을 적용함으로써, 경계에 인접한 디스플레이 픽셀들은, 이미지가 디스플레이될 때 경계를 따르는 인지가능한 색상 프린징을 생성할 가능성을 감소시키기 위해, 디밍(dimming)될 수 있다.
추가적으로 또는 대안적으로, 디스플레이 파이프라인은 디스플레이 영역의 둥근 경계들을 따르는 안티-에일리어싱(anti-aliasing) 영역들 내의 픽셀 위치들과 연관된 이득 값들을 결정할 수 있다. 일부 실시예들에서, 안티-에일리어싱 영역 내에 위치된 픽셀 위치와 연관된 이득 값은 픽셀 위치와, 대응하는 둥근 경계 사이의 거리에 적어도 부분적으로 기초하여 결정될 수 있다. 예를 들어, 픽셀 위치와 연관된 이득 값은 대응하는 서브-픽셀 위치와 둥근 경계 사이의 최단 거리에 반비례할 수 있다. 그러한 이득 값들을 적용함으로써, 둥근 경계에 인접한 디스플레이 픽셀들은, 이미지가 디스플레이될 때 둥근 경계를 따르는 인지가능한 에일리어싱을 생성할 가능성을 감소시키기 위해, 디밍될 수 있다.
일부 실시예들에서, 각각의 픽셀 위치와 연관된 이득 값들은 이득 맵(gain map)을 통해 나타내어질 수 있다. 예를 들어, 비압축된(uncompressed) 이득 맵이 각각의 픽셀 위치를 이득 값 세트에 명시적으로 연관시킬(예를 들어, 매핑할) 수 있다. 이와 같이, 비압축된 이득 맵의 크기는 비교적 클 수 있고, 따라서 외부 메모리에 저장될 수 있다.
그러나, 일부 경우들에서, 외부 메모리로부터의 이득 값들에 액세스하는 것은 처리 효율 및/또는 구현 관련 비용, 예컨대 디스플레이 파이프라인의 크기(예를 들어, 하드웨어 풋프린트)에 영향을 줄 수 있다. 처리 효율을 향상시키는 것 및/또는 구현 관련 비용을 감소시키는 것을 용이하게 하기 위해, 일부 실시예들에서, 압축된(compressed) 이득 맵이 대응하는 비압축된 이득 맵에 기초하여 결정될 수 있다. 압축으로 인해, 압축된 이득 맵의 크기는 일반적으로 더 작을 수 있으며, 이는 압축된 이득 맵을 디스플레이 파이프라인의 내부 메모리에 저장하는 것을 가능하게 할 수 있다. 따라서, 그러한 실시예들에서, 이득 값들을 결정하기 위해 외부 메모리에 액세스하는 것이 제거될 수 있으며, 이에 의해 처리 효율을 향상시키고/시키거나 직접 메모리 액세스 구현 관련 비용을 감소시키게 된다.
일부 실시예들에서, 압축된 이득 맵은 런 맵(run map), 위치 맵(position map), 및 이득 값 맵(gain value map)을 포함할 수 있다. 런 맵은 각각의 행 런(row run) 내에 포함된 비압축된 이득 맵의 이득 맵 행들의 수를 나타낼 수 있다. 따라서, 런 맵을 결정하는 것을 용이하게 하기 위해, 각각의 이득 맵 행은 코딩된 행 또는 코딩되지 않은 행 중 어느 하나로 분류될 수 있고, 동일한 행 분류를 갖는 하나 이상의 연속적인 이득 맵 행은 행 런으로 그룹화될 수 있다.
추가적으로, 위치 맵은 각각의 코딩된 행의 이득 런들 내에 포함된 픽셀 위치들을 나타낼 수 있다. 일부 실시예들에서, 이득 런 내에 포함된 픽셀 위치들은 대응하는 코딩된 행의 각각의 이득 런 내의 픽셀 위치들의 수에 적어도 부분적으로 기초하여 나타내어질 수 있다. 따라서, 위치 맵을 결정하는 것을 용이하게 하기 위해, 코딩된 행 내의 각각의 이득 맵 엔트리는 1의 이득(unity gain) 맵 엔트리, 0의 이득(zero gain) 맵 엔트리, 또는 중간 이득(intermediate gain) 맵 엔트리로서 분류될 수 있고, 동일한 엔트리 분류를 갖는 하나 이상의 연속적인 이득 맵 엔트리는 이득 런으로 그룹화될 수 있다. 압축 효율을 향상시키는 것을 용이하게 하기 위해, 일부 실시예들에서, 위치 맵은 이득 런 내의 픽셀 위치들을 다른 이득 런 내의 픽셀 위치들에 대하여 나타낼 수 있다. 추가적으로, 일부 실시예들에서, 위치 맵은 압축 효율을 추가로 향상시키는 것을 용이하게 하기 위해 엔트로피 인코딩(entropy encoding)될 수 있다.
또한, 이득 값 맵은 각각의 중간 이득 런(intermediate gain run) 내의 픽셀 위치들과 연관된 이득 값들을 나타낼 수 있다. 압축 효율을 향상시키는 것을 용이하게 하기 위해, 일부 실시예들에서, 이득 값 맵은 픽셀 위치와 연관된 이득 값을, 다른 (예를 들어, 이웃) 픽셀 위치와 연관된 이득 값에 대하여 나타낼 수 있다. 추가적으로, 일부 실시예들에서, 이득 값 맵은 압축 효율을 추가로 향상시키는 것을 용이하게 하기 위해 엔트로피 인코딩될 수 있다.
압축된 이득 맵을 통해 나타내어질 때, 디스플레이 파이프라인은 예를 들어, 대응하는 비압축된 이득 맵으로 압축해제(decompress)함으로써, 압축된 이득 맵을 판독하여, 각각의 픽셀 위치와 연관된 이득 값들을 결정할 수 있다. 일부 실시예들에서, 디스플레이 파이프라인은 런 맵을 판독함으로써 픽셀 위치를 포함하는 이득 맵 행의 행 분류를 결정할 수 있다. 추가적으로, 이득 맵 행이 코딩되지 않은 행으로서 분류될 때, 디스플레이 파이프라인은 픽셀 위치와 연관된 이득 값이 1이라고 결정할 수 있다.
한편, 이득 맵 행이 코딩된 행으로서 분류될 때, 디스플레이 파이프라인은 위치 맵을 판독함으로써 코딩된 행 내의 각각의 이득 런 내에 포함된 픽셀 위치들을 결정할 수 있다. 다시 말해서, 디스플레이 파이프라인은 위치 맵에 적어도 부분적으로 기초하여 이득 맵 행 내의 각각의 이득 맵 엔트리의 엔트리 분류를 결정할 수 있다. 엔트로피 인코딩될 때, 디스플레이 파이프라인은 위치 맵을 엔트로피 디코딩할 수 있다.
픽셀 위치와 대응하는 이득 맵 엔트리가 1의 이득 맵 엔트리로서 분류될 때, 디스플레이 파이프라인은 픽셀 위치와 연관된 이득 값이 1이라고 결정할 수 있다. 추가적으로, 픽셀 위치와 대응하는 이득 맵 엔트리가 0의 이득 맵 엔트리로서 분류될 때, 디스플레이 파이프라인은 픽셀 위치와 연관된 이득 값이 0이라고 결정할 수 있다. 또한, 픽셀 위치와 대응하는 이득 맵 엔트리가 중간 이득 맵 엔트리로서 분류될 때, 디스플레이 파이프라인은 이득 값 맵을 판독함으로써 픽셀 위치와 연관된 이득 값을 결정할 수 있다. 엔트로피 인코딩될 때, 디스플레이 파이프라인은 이득 값 맵을 엔트로피 디코딩할 수 있다.
전술된 바와 같이, 일부 실시예들에서, 압축된 이득 맵은 픽셀 위치와 연관된 이득 값들을 상대적인 방식으로, 예를 들어, 다른 픽셀 위치에 대하여 나타낼 수 있다. 그러한 실시예들에서, 디스플레이 파이프라인은 압축된 이득 맵을 압축해제할 때 데이터 종속성을 경험할 수 있고, 이에 의해 압축해제 효율(예를 들어, 픽셀 위치와 연관된 이득 값들이 결정되는 속도)을 제한한다.
압축해제 효율을 향상시키는 것을 용이하게 하기 위해, 일부 실시예들에서, 픽셀 위치들 및 연관된 이득 값들은, 예를 들어, 비압축된 이득 맵을 다수의 비압축된 이득 맵들로 분할함으로써, 다수의 픽셀 영역들로 그룹화될 수 있다. 각각의 비압축된 이득 맵을 압축함으로써, 픽셀 영역들 중 하나에 각각 대응하는 다수의 압축된 이득 맵들이 결정될 수 있다. 이러한 방식으로, 상이한 픽셀 영역들 내의 픽셀 위치들과 연관된 이득 값들 사이의 데이터 종속성은 감소될 수 있다. 사실, 다수의 압축된 이득 맵들을 이러한 방식으로 구현하는 것은 디스플레이 파이프라인으로 하여금 이득 값들이 결정되는 순서, 및 따라서, 압축된 이득 맵들에 대한 액세스(예를 들어, 페치) 패턴을 변화시킬 수 있게 한다. 일부 실시예들에서, 디스플레이 파이프라인은, 예를 들어, 랜덤 액세스 패턴을 구현함으로써, 메모리 액세스 효율을 향상시키기 위해 이득 값 결정 순서를 제어할 수 있다.
본 개시내용의 다양한 양태들은 다음의 상세한 설명을 판독할 시에 그리고 도면들을 참조할 시에 더 양호하게 이해될 수 있다.
도 1은 일 실시예에 따른, 이미지들을 디스플레이하기 위한 전자 디스플레이를 포함하는 전자 디바이스의 블록도이다.
도 2는 일 실시예에 따른 도 1의 전자 디바이스의 예이다.
도 3은 일 실시예에 따른 도 1의 전자 디바이스의 다른 예이다.
도 4는 일 실시예에 따른 도 1의 전자 디바이스의 다른 예이다.
도 5는 일 실시예에 따른 도 1의 전자 디바이스의 다른 예이다.
도 6은 일 실시예에 따른, 도 1의 전자 디바이스에서 구현되는 디스플레이 파이프라인의 블록도이다.
도 7은 일 실시예에 따른, 도 6의 디스플레이 파이프라인을 동작시키기 위한 프로세스의 흐름도이다.
도 8은 일 실시예에 따른, 도 6의 디스플레이 파이프라인 내의 서브-픽셀 레이아웃 리샘플러 블록 및 내부 메모리의 블록도이다.
도 9는 일 실시예에 따른, 설계 디바이스 및 도 8의 내부 메모리의 블록도이다.
도 10은 일 실시예에 따른, 도 10의 설계 디바이스를 동작시키기 위한 프로세스의 흐름도이다.
도 11은 일 실시예에 따른 직사각형 이미지 프레임을 나타내는 도면이다.
도 12는 일 실시예에 따른, 도 11의 직사각형 이미지 프레임의 상부 좌측 부분의 이미지 픽셀들을 나타내는 도면이다.
도 13은 일 실시예에 따른, 비-직사각형 형상을 갖는 디스플레이 영역의 예이다.
도 14는 일 실시예에 따른, 둥근 경계를 포함하는, 도 13의 디스플레이 영역의 상부 좌측 부분의 디스플레이 픽셀들의 예이다.
도 15는 일 실시예에 따른, 둥근 경계를 따르는 서브-픽셀들에서 적용될 이득 값들을 결정하기 위한 프로세스의 흐름도이다.
도 16은 일 실시예에 따른, 도 14의 둥근 경계를 따라 적용될 이득 값들을 결정하는 데 사용되는 예시적인 안티-에일리어싱 영역이다.
도 17은 일 실시예에 따른, 도 14의 둥근 경계를 따라 적용될 이득 값들을 결정하는 데 사용되는 다른 예시적인 안티-에일리어싱 영역이다.
도 18은 일 실시예에 따른, 비압축된 이득 맵을 나타내는 도면이다.
도 19는 일 실시예에 따른, 압축된 이득 맵을 결정하기 위한 프로세스의 흐름도이다.
도 20은 일 실시예에 따른, 압축된 이득 맵 내에 포함된 런 맵을 결정하기 위한 프로세스의 흐름도이다.
도 21은 일 실시예에 따른, 압축된 이득 맵 내에 포함된 위치 맵을 결정하기 위한 프로세스의 흐름도이다.
도 22는 일 실시예에 따른, 압축된 이득 맵 내에 포함된 이득 값 맵을 결정하기 위한 프로세스의 흐름도이다.
도 23은 일 실시예에 따른, 도 8의 서브-픽셀 레이아웃 리샘플러 블록을 동작시키기 위한 프로세스의 흐름도이다.
도 24는 일 실시예에 따른, 압축된 이득 맵으로부터 도 8의 서브-픽셀 레이아웃 리샘플러 블록에 의해 구현될 이득 값을 결정하기 위한 프로세스의 흐름도이다.
도 25는 일 실시예에 따른, 도 8의 서브-픽셀 레이아웃 리샘플러 블록에 의해 구현될 필터 파라미터들을 결정하기 위한 프로세스의 흐름도이다.
도 26은 일 실시예에 따른, 오프셋 서브-픽셀에서 적용될 이득 값에 적어도 부분적으로 기초하여 오프셋 필터 위상 값들을 결정하기 위한 프로세스의 흐름도이다.
도 27은 일 실시예에 따른, 디스플레이 픽셀 이미지 데이터를 결정하기 위해 이득 값을 적용하기 위한 프로세스의 흐름도이다.
도 28은 일 실시예에 따른, 디스플레이 픽셀 이미지 데이터를 업스케일링하기 위한 프로세스의 흐름도이다.
본 개시내용의 하나 이상의 특정 실시예가 아래에서 설명될 것이다. 이들 설명된 실시예들은 현재 개시된 기술들의 예들일 뿐이다. 추가적으로, 이들 실시예들의 간결한 설명을 제공하려는 노력으로, 명세서에는 실제 구현의 모든 특징들이 설명되지는 않을 수 있다. 임의의 엔지니어링 또는 설계 프로젝트에서처럼 임의의 그러한 실제 구현의 개발에서, 구현마다 다를 수 있는 시스템-관련 및 사업-관련 제약들의 준수와 같은 개발자들의 특정 목표들을 달성하기 위해 많은 구현-특정 결정들이 이루어져야 한다는 것이 인식되어야 한다. 더욱이, 그러한 개발 노력은 복잡하고 시간이 걸리는 것일 수 있지만, 그럼에도 불구하고 본 개시내용의 이익을 갖는 당업자에게는 설계, 제조 및 제작의 일상적인 과제일 수 있다는 것이 이해되어야 한다.
본 개시내용의 다양한 실시예들의 요소들을 소개할 때, 단수 형태("a", "an", 및 "the")는 요소들 중 하나 이상이 존재한다는 것을 의미하도록 의도된다. 용어들 "포함하는(comprising, including)", 및 "갖는(having)"은 포괄적인 것이고 열거된 요소들 이외의 부가적인 요소들이 존재할 수 있음을 의미하도록 의도된다. 추가적으로, 본 개시내용의 "하나의 실시예" 또는 "일 실시예"에 대한 언급은 언급된 특징부들을 또한 포함하는 추가적인 실시예들의 존재를 배제하는 것으로 해석되도록 의도되지 않음이 이해되어야 한다.
본 개시내용은 일반적으로 정보의 시각적 표현들을, 예를 들어, 하나 이상의 이미지 프레임에서의 이미지들로서 제시하는 데 사용될 수 있는 전자 디스플레이들에 관한 것이다. 이미지를 디스플레이하기 위해, 전자 디스플레이는 이미지의 목표 특성들을 나타내는 이미지 데이터에 적어도 부분적으로 기초하여 그것의 디스플레이 픽셀들로부터의 광 방출을 제어할 수 있다. 예를 들어, 이미지 데이터는 이미지의 부분(예를 들어, 이미지 픽셀) 내의 특정 색상 컴포넌트들의 목표 휘도(예를 들어, 밝기)를 나타낼 수 있으며, 이는 함께 블렌딩(예를 들어, 평균)될 때 일정 범위의 상이한 색상들의 인지를 야기할 수 있다.
일반적으로, 전자 디스플레이 내의 각각의 디스플레이 픽셀은 디스플레이될 이미지 내의 이미지 픽셀과 대응할 수 있다. 다시 말해서, 디스플레이 픽셀 및 이미지 픽셀은 픽셀 위치에 대응할 수 있다. 이미지를 디스플레이하는 것을 용이하게 하기 위해, 디스플레이 픽셀은 하나 이상의 서브-픽셀을 포함할 수 있으며, 이들은 각각 픽셀 위치에서의 하나의 색상 컴포넌트의 휘도를 제어한다. 예를 들어, 디스플레이 픽셀은 적색 컴포넌트의 휘도를 제어하는 적색 서브-픽셀, 녹색 컴포넌트의 휘도를 제어하는 녹색 서브-픽셀, 및/또는 청색 컴포넌트의 휘도를 제어하는 청색 서브-픽셀을 포함할 수 있다.
그러나, 상이한 전자 디스플레이들은 상이한 서브-픽셀 레이아웃들을 구현할 수 있다. 일부 경우들에서, 상이한 전자 디스플레이들에서 디스플레이 픽셀 당 서브-픽셀들의 수는 변화할 수 있다. 예를 들어, 제1 전자 디스플레이에서, 각각의 디스플레이 픽셀은 3개의 서브-픽셀들을 포함할 수 있다. 한편, 제2 전자 디스플레이에서, 각각의 디스플레이 픽셀은 2개의 서브-픽셀들을 포함할 수 있다. 게다가, 다른 전자 디스플레이들에서의 디스플레이 픽셀들은 임의의 적합한 수의 서브-픽셀들, 예를 들어, 디스플레이 픽셀 당 1개의 서브-픽셀 내지 디스플레이 픽셀 당 5개 이상의 서브-픽셀들을 포함할 수 있다.
추가적으로, 일부 경우들에서, 상이한 전자 디스플레이들의 디스플레이 픽셀들에서 구현되는 서브-픽셀들의 색상 컴포넌트들은 변화할 수 있다. 예를 들어, 제1 전자 디스플레이에서, 각각의 디스플레이 픽셀은 적색 서브-픽셀, 녹색 서브-픽셀, 및 청색 서브-픽셀을 포함할 수 있다. 한편, 제2 전자 디스플레이에서, 디스플레이 픽셀들 중 일부(예를 들어, 대략 절반)는 각각 녹색 서브-픽셀 및 적색 서브-픽셀을 포함할 수 있는 한편 다른 디스플레이 픽셀들은 각각 녹색 서브-픽셀 및 청색 서브-픽셀을 포함한다. 게다가, 다른 전자 디스플레이들에서의 디스플레이 픽셀들은 색상 컴포넌트 서브-픽셀들의 임의의 적합한 조합, 예를 들어, 디스플레이 픽셀 당 동일한 색상 컴포넌트의 다수의 서브-픽셀들을 포함할 수 있다.
또한, 일부 경우들에서, 상이한 전자 디스플레이들의 디스플레이 픽셀들 내의 서브-픽셀들의 위치는 변화할 수 있다. 예를 들어, 제1 전자 디스플레이에서, 서브-픽셀들 사이의 간격(예를 들어, 거리)은 더 작을 수 있다. 이와 같이, 간격의 인지가능성은 더 낮을 수 있으며, 따라서, 디스플레이 픽셀 내의 서브-픽셀들은 일반적으로 함께-위치된(co-located) 것으로서 여겨질 수 있다. 한편, 제2 전자 디스플레이에서, 서브-픽셀들 사이의 간격은, 각각의 서브-픽셀이 점 소스처럼 더 작용하는 것으로 인해, 더 클 수 있다. 이와 같이, 간격의 인지가능성은 더 높을 수 있으며, 따라서, 제2 전자 디스플레이의 디스플레이 픽셀 내의 서브-픽셀들은 일반적으로 서로 오프셋된 것으로서 여겨질 수 있다. 예를 들어, 제2 전자 디스플레이 내의 디스플레이 픽셀은 대응하는 이미지 픽셀과 함께-위치된 제1 서브-픽셀, 및 대응하는 이미지 픽셀로부터 오프셋된 제2 서브-픽셀을 포함할 수 있다.
게다가, 일부 경우들에서, 상이한 전자 디스플레이들 내의 서브-픽셀들은 변화하는 형상들을 갖는 디스플레이 영역들을 야기하도록 구현될 수 있다. 예를 들어, 제1 전자 디스플레이는 직사각형 형상을 갖는 제1 디스플레이 영역으로 구현될 수 있다. 다시 말해서, 제1 디스플레이 영역은 대략 90도의 코너들에서 연결되는 4개의 직선 경계들을 가질 수 있다. 한편, 제2 전자 디스플레이는 비-직사각형 형상을 갖는 제2 디스플레이 영역으로 구현될 수 있다. 예를 들어, 제2 디스플레이 영역은 4개의 둥근(예를 들어, 만곡된) 경계들로 연결된 4개의 직선 경계들을 가질 수 있다.
일부 경우들에서, 이미지 데이터 소스는 디스플레이될 이미지의 이미지 픽셀들과 대응하는 이미지 데이터를 생성할 수 있다. 전자 디스플레이들은 종종 직사각형 디스플레이 영역을 가지므로, 이미지 데이터 소스는 직사각형 이미지와 대응하는 이미지 데이터를 생성할 수 있다. 이와 같이, 직사각형 이미지 내의 각각의 이미지 픽셀은, 제1 디스플레이 영역이 직사각형 형상을 가지므로, 제1 전자 디스플레이 내의 디스플레이 픽셀과 대응할 수 있다. 다시 말해서, 각각의 픽셀 위치는 이미지 픽셀 및 디스플레이 픽셀 둘 모두와 대응할 수 있다.
그러나, 비-직사각형 형상으로 구현되므로, 직사각형 이미지 내의 일부 이미지 픽셀들은 제2 전자 디스플레이의 제2 디스플레이 영역 외부의 픽셀 위치에 대응할 수 있다. 예를 들어, 직사각형 이미지의 상부 경계가 제2 디스플레이 영역의 상부 경계와 정렬되고 직사각형 이미지의 좌측 경계가 제2 디스플레이 영역의 좌측 경계와 정렬될 때, 직사각형 이미지의 상부 좌측 코너에서의 이미지 픽셀은 제2 디스플레이 영역의 상부-좌측 둥근 경계(예를 들어, 코너) 외부의 픽셀 위치에 대응할 수 있다.
그럼에도 불구하고, 동작 유연성을 향상시키기 위해, 이미지 데이터 소스는 전자 디스플레이의 서브-픽셀 레이아웃을 고려하지 않거나 거의 고려하지 않고서 동일한 이미지 데이터를 출력할 수 있다. 예를 들어, 이미지 데이터 소스는 이미지가 제1 전자 디스플레이 상에 디스플레이될지 제2 전자 디스플레이 상에 디스플레이될지에 상관없이 직사각형 이미지와 대응하는 이미지 데이터를 출력할 수 있다. 그러나, 일부 경우들에서, 인지된 이미지 품질은 전자 디스플레이의 서브-픽셀 레이아웃에 의해 영향을 받을 수 있다. 예를 들어, 제2 전자 디스플레이의 서브-픽셀 레이아웃은 제2 디스플레이 영역의 경계들(예를 들어, 상부 직선 경계, 하부 직선 경계, 좌측 직선 경계, 및/또는 우측 직선 경계)을 따르는 인지가능한 색상 프린징을 야기할 수 있다. 추가적으로 또는 대안적으로, 제2 전자 디스플레이의 서브-픽셀 레이아웃은 디스플레이 영역의 둥근(예를 들어, 상부-좌측, 상부-우측, 하부-좌측, 및/또는 하부-우측) 경계들을 따르는 인지가능한 에일리어싱을 야기할 수 있다.
따라서, 본 개시내용은 예를 들어, 전자 디스플레이의 서브-픽셀 레이아웃에 적어도 부분적으로 기초하여 이미지 데이터를 처리함으로써, 전자 디스플레이의 인지된 이미지 품질을 향상시키기 위한 기술들을 제공한다. 일부 실시예들에서, 디스플레이 파이프라인은 대응하는 이미지가 전자 디스플레이 상에 디스플레이되기 전에 이미지 데이터 소스로부터 생성된 이미지 데이터를 수신 및 처리할 수 있다. 예를 들어, 디스플레이 파이프라인은 소스(예를 들어, RGB) 포맷의 이미지 데이터를 처리하여, 디스플레이(예를 들어, GR 또는 GB) 포맷의 이미지 데이터를 결정할 수 있다. 보다 구체적으로, 일부 실시예들에서, 디스플레이 파이프라인은, 이미지 픽셀 이미지 데이터(예를 들어, 이미지 픽셀과 대응하는 이미지 데이터)를 필터링(예를 들어, 보간 또는 샘플링)하고 이들에 이득 값들을 적용함으로써, 디스플레이 픽셀 이미지 데이터(예를 들어, 디스플레이 픽셀과 대응하는 이미지 데이터)를 결정할 수 있다.
일부 실시예들에서, 디스플레이 파이프라인은 주변 이미지 픽셀 이미지 데이터에 적어도 부분적으로 기초하여 이미지 픽셀 이미지 데이터를 필터링함으로써 디스플레이 픽셀 이미지 데이터를 결정할 수 있다. 예를 들어, 디스플레이 파이프라인은 주변 이미지 픽셀들의 대응하는 색상 컴포넌트 이미지 데이터를 동일하게 평균하는 저역 통과 필터를 적용함으로써 오프셋 서브-픽셀 이미지 데이터(예를 들어, 오프셋 서브-픽셀과 대응하는 이미지 데이터)를 결정할 수 있다. 주변 이미지 픽셀들로부터 오프셋되므로, 이러한 방식으로 오프셋 서브-픽셀 이미지 데이터를 결정하는 것은 보다 점진적인 휘도 변화를 야기할 수 있다.
그러나, 전자 디스플레이의 서브-픽셀 레이아웃에 적어도 부분적으로 기인하여, 일부 경우들에서, 보다 점진적인 휘도 변화는 인지가능한 시각적 아티팩트, 예컨대 디스플레이 영역의 경계들을 따르는 색상 프린징 및/또는 디스플레이 영역의 둥근 경계를 따르는 에일리어싱을 야기할 수 있다. 예를 들어, 디스플레이 픽셀들이 함께-위치된 녹색 서브-픽셀을 가질 때, 녹색 색상 프린징이 디스플레이 영역의 제1(예를 들어, 상부 또는 하부) 직선 경계를 따라 인지가능할 수 있다. 추가적으로, 디스플레이 픽셀들이 교번적으로 오프셋 적색 서브-픽셀 또는 오프셋 청색 서브-픽셀을 가질 때, 보라색 색상 프린징이 디스플레이 영역의 제2(예를 들어, 좌측 또는 우측) 직선 경계를 따라 인지가능할 수 있다. 또한, 디스플레이 픽셀들이 오프셋 서브-픽셀을 가질 때, 에일리어싱(예를 들어, 이미지의 어긋남(jaggedness))이 디스플레이 영역의 둥근 (예를 들어, 상부-좌측, 상부-우측, 하부-좌측, 또는 하부-우측) 경계를 따라 인지가능할 수 있다.
인지가능한 시각적 아티팩트를 생성할 가능성을 감소시키기 위해, 일부 실시예들에서, 디스플레이 파이프라인은, 디스플레이 영역의 경계들을 따르는 서브-픽셀들을 디밍하기 위해 이미지 픽셀 이미지 데이터를 필터링한 후 이득 값들을 적용함으로써, 디스플레이 픽셀 이미지 데이터를 결정할 수 있다. 예를 들어, 인지가능한 색상 프린징을 생성할 가능성을 감소시키기 위해, 디스플레이 파이프라인은 디스플레이 영역의 경계들(예를 들어, 직선 경계들)을 따르는 디스플레이 픽셀들 내의 서브-픽셀들을 디밍하도록 중간 이득 값들(예를 들어, 0보다 크고 1보다 작음)을 적용할 수 있다. 추가적으로, 인지가능한 에일리어싱을 생성할 가능성을 감소시키기 위해, 디스플레이 파이프라인은 디스플레이 영역의 둥근 경계들을 따르는 디스플레이 픽셀들 내의 서브-픽셀들을 디밍하도록 중간 이득 값들을 적용할 수 있다.
일부 실시예들에서, 둥근 경계를 따르는 디스플레이 픽셀 내의 서브-픽셀에서 적용될 이득 값은 서브-픽셀과 둥근 경계 사이의 거리에 적어도 부분적으로 기초하여 결정될 수 있다. 예를 들어, 둥근 경계를 따르는 서브-픽셀 위치들을 포함하는 안티-에일리어싱 영역이 결정될 수 있다. 추가적으로, 안티-에일리어싱 영역 내의 각각의 서브-픽셀 위치와 연관된 이득 값은 서브-픽셀 위치와 둥근 경계 사이의 최단 거리에 반비례할 수 있다. 이러한 방식으로 결정된 이득 값들을 적용함으로써, 둥근 경계를 따르는 서브-픽셀들은, 둥근 경계를 따르는 인지가능한 에일리어싱을 생성할 가능성을 감소시키기 위해 전자 디스플레이의 서브-픽셀 레이아웃에 적어도 부분적으로 기초하여 선형적으로 디밍될 수 있다.
추가적으로, 전자 디스플레이의 디스플레이 영역 및 안티-에일리어싱 영역 외부의 픽셀 위치들과 대응하는 이득 값은 0으로 설정될 수 있다. 이러한 방식으로 결정된 이득 값들을 적용함으로써, 디스플레이 영역 외부의 픽셀 위치들과 대응하는 이미지 데이터를 블랙 아웃하기 위해 블랙 마스크가 적용될 수 있다. 이러한 방식으로, 직사각형 이미지는 비-직사각형 디스플레이 영역을 갖는 전자 디스플레이 상의 디스플레이를 용이하게 하기 위해 조정될 수 있다. 인지된 이미지 품질의 추가적인 향상을 용이하게 하기 위하여, 일부 실시예들에서, 디스플레이 파이프라인은 대응하는 픽셀 위치와 연관된 이득 값들 및/또는 이웃 픽셀 위치들과 연관된 이득 값들에 적어도 부분적으로 기초하여 이미지 픽셀 이미지 데이터에 적용되는 필터링 파라미터들(예를 들어, 필터 위상 또는 필터 계수들)을 적응적으로 조정할 수 있다.
일부 실시예들에서, 디스플레이 파이프라인은 대응하는 이미지 픽셀 이미지 데이터를 처리하면서 픽셀 위치와 연관된 이득 값들을 계산할 수 있다. 추가적으로, 일부 실시예들에서, 디스플레이 영역의 경계를 따르는 디스플레이 픽셀들에서 적용될 이득 값은 프로그램가능 레지스터에 저장될 수 있다. 예를 들어, 상부 직선 경계를 따르는 디스플레이 픽셀들에서 적용될 제1 경계 이득 값은 제1 프로그램가능 레지스터에 저장될 수 있고, 하부 직선 경계를 따르는 디스플레이 픽셀들에서 적용될 제2 경계 이득 값은 제2 프로그램가능 레지스터에 저장될 수 있고, 좌측 직선 경계를 따르는 디스플레이 픽셀들에서 적용될 제3 이득 값은 제3 프로그램가능 레지스터에 저장될 수 있고, 우측 직선 경계를 따르는 디스플레이 픽셀들에서 적용될 제4 이득 값은 제4 프로그램가능 레지스터에 저장될 수 있다.
또한, 일부 실시예들에서, 전자 디스플레이들의 특성들(예를 들어, 해상도, 서브-픽셀 레이아웃, 및/또는 디스플레이 영역 형상)이 일반적으로 고정되어 있으므로, 픽셀 위치와 연관된 이득 값들은 미리결정될 수 있다. 예를 들어, 설계 디바이스는 이득 값들을 결정하고 이들을 이득 맵으로서 저장할 수 있으며, 이는 각각의 픽셀 위치와 연관된 이득 값들의 세트를 나타낸다. 일부 실시예들에서, 픽셀 위치와 연관된 이득 값 세트는 대응하는 디스플레이 픽셀 내의 각각의 색상 컴포넌트에 대한 이득 값을 포함할 수 있다. 예를 들어, 디스플레이 픽셀이 적색 서브-픽셀 및 녹색 서브-픽셀을 포함할 때, 그것의 픽셀 위치와 연관된 이득 값 세트는 적색 이득 값 및 녹색 이득 값을 포함할 수 있다. 추가적으로, 디스플레이 픽셀이 청색 서브-픽셀 및 녹색 서브-픽셀을 포함할 때, 그것의 픽셀 위치와 연관된 이득 값 세트는 청색 이득 값 및 녹색 이득 값을 포함할 수 있다.
일부 실시예들에서, 비압축된 이득 맵은 각각의 픽셀 위치를 대응하는 이득 값 세트에 명시적으로 연관시킬(예를 들어, 매핑할) 수 있다. 다시 말해서, 비압축된 이득 맵 내의 엔트리들의 수는 전자 디스플레이의 해상도보다 크거나 그와 같을 수 있다. 이와 같이, 비압축된 이득 맵의 크기(예를 들어, 비트들의 수)는 상대적으로 클 수 있는데, 특히 전자 디스플레이들의 해상도가 계속해서 증가함에 따라 그러하다. 그것의 크기를 수용하기 위하여, 일부 실시예들에서, 비압축된 이득 맵은 외부 메모리에 저장되고, 따라서, 직접 메모리 액세스(direct memory access, DMA) 채널을 통해 디스플레이 파이프라인에 의해 외부 메모리로부터 인출될 수 있다. 그러나, 직접 메모리 액세스 채널을 통해 외부 메모리에 액세스하는 것은 처리 효율 및/또는 구현 관련 비용, 예컨대 디스플레이 파이프라인의 전력 소모 및/또는 크기(예를 들어, 하드웨어 풋프린트)에 영향을 줄 수 있다.
처리 효율을 향상시키는 것 및/또는 구현 관련 비용을 감소시키는 것을 용이하게 하기 위해, 일부 실시예들에서, 압축된 이득 맵이 이득 값들을 나타내는 데 사용될 수 있다. 예를 들어, 설계 디바이스는 비압축된 이득 맵을 압축하여, 압축된 이득 맵을 결정할 수 있다. 압축으로 인해, 압축된 이득 맵의 크기는 일반적으로 비압축된 이득 맵보다 더 작다. 일부 실시예들에서, 감소된 크기는 디스플레이 파이프라인의 내부 메모리에 압축된 이득 맵을 저장하는 것을 가능하게 할 수 있다. 따라서, 그러한 실시예들에서, 이득 값들을 결정하기 위해 외부 메모리에 액세스하는 것이 제거될 수 있으며, 이에 의해 처리 효율을 향상시키고/시키거나 직접 메모리 액세스 구현 관련 비용을 감소시키게 된다.
압축을 용이하게 하기 위하여, 일부 실시예들에서, 비압축된 이득 맵 내의 각각의 이득 맵 행은 그것의 대응하는 이득 맵 엔트리들에 의해 나타내어진 이득 값들에 적어도 부분적으로 기초하여 코딩되지 않은 행 또는 코딩된 행 중 어느 하나로서 분류될 수 있다. 예를 들어, 설계 디바이스는, 이득 맵 행에 의해 나타내어진 각각의 이득 값이 1일 때, 이득 맵 행을 코딩되지 않은 행으로서 분류할 수 있다. 한편, 설계 디바이스는, 이득 맵 행에 의해 나타내어진 하나 이상의 이득 값이 1보다 작을 때, 이득 맵 행을 코딩된 행으로서 분류할 수 있다. 다시 말해서, 코딩된 행 내의 이득 값은 0, 1, 또는 중간 이득 값(예를 들어, 0보다 크고 1보다 작음)일 수 있다.
추가적으로, 행 분류에 기초하여, 각각의 이득 맵 행은 행 런으로 그룹화될 수 있다. 예를 들어, 설계 디바이스는 하나 이상의 연속적인 코딩된 행을 코딩된 행 런으로 그룹화할 수 있다. 추가적으로, 설계 디바이스는 하나 이상의 연속적인 코딩되지 않은 행을 코딩되지 않은 행 런으로 그룹화할 수 있다. 일부 실시예들에서, 행 런들은 코딩된 행 런들과 코딩되지 않은 행 런들 사이에서 교번할 수 있다.
또한, 각각의 코딩된 행 내의 이득 맵 엔트리들은 이득 런으로 그룹화될 수 있다. 예를 들어, 설계 디바이스는, 각각의 이득 맵 엔트리가 적어도 하나의 중간 이득 값을 나타낼 때, 하나 이상의 연속적인 이득 맵을 중간 이득 런으로 그룹화할 수 있다. 추가적으로, 설계 디바이스는, 이득 맵 엔트리들에 의해 나타내어진 각각의 이득 값이 0일 때, 하나 이상의 연속적인 이득 맵 엔트리를 0의 이득 런으로 그룹화할 수 있다. 또한, 설계 디바이스는, 이득 맵 엔트리들에 의해 나타내어진 각각의 이득 값이 1일 때, 하나 이상의 연속적인 이득 맵 엔트리를 1의 이득 런으로 그룹화할 수 있다. 일부 실시예들에서, 코딩된 행 내의 이득 런들은 위치(예를 들어, 0 또는 1의) 이득 런들과 중간 이득 런들 사이에서 교번할 수 있다.
추가적으로, 일부 실시예들에서, 압축된 이득 맵은 런 맵, 위치 맵, 이득 값 맵, 및 예를 들어, 내부 메모리의 프로그램가능 레지스터들 내에 저장된 하나 이상의 표시자를 포함할 수 있다. 런 맵은 각각의 행 런 내의 이득 맵 행들의 수를 나타낼 수 있고, 따라서 이득 맵 행들의 행 런들로의 그룹화에 적어도 부분적으로 기초하여 결정된다. 일부 실시예들에서, 각각의 런 맵 엔트리는 대응하는 행 런 내의 이득 맵 행들의 수를 명시적으로 나타낼 수 있다. 예를 들어, 제1 행 런이 처음 10개의 이득 맵 행들을 포함하고 제2 행 런이 다음 5개의 이득 맵 행들을 포함할 때, 설계 디바이스는 제1 런 맵 엔트리 내에 10의 값 그리고 제2 런 맵 엔트리 내에 5의 값을 나타낼 수 있다.
추가적으로, 일부 실시예들에서, 시작 행 런 표시자(starting row run indicator)는 비압축된 이득 맵 내에서 식별된 제1 행 런이 코딩된 행 런 또는 코딩되지 않은 행 런인지 여부를 나타낼 수 있다. 예를 들어, 제1 행 런이 코딩되지 않은 행 런일 때, 설계 디바이스는 시작 행 런 표시자 내에 제1 값(예를 들어, 0 비트)을 나타낼 수 있다. 한편, 제1 행 런이 코딩된 행 런일 때, 설계 디바이스는 시작 행 런 표시자 내에 제2 값(예를 들어, 1 비트)을 나타낼 수 있다.
위치 맵은 각각의 코딩된 행 내의 이득 런들과 연관된 픽셀 위치들을 나타낼 수 있다. 일부 실시예들에서, 각각의 위치 맵 엔트리는 이득 런 내에 포함된 이득 맵 엔트리들의 수를 명시적으로 나타냄으로써 이득 런과 연관된 픽셀 위치들을 나타낼 수 있다. 예를 들어, 제1 이득 런이 이득 맵 행의 처음 4개의 이득 맵 엔트리들을 포함하고 제2 이득 런이 이득 맵 행의 다음 6개의 이득 맵 엔트리들을 포함할 때, 설계 디바이스는 제1 위치 맵 엔트리 내에 4의 값 그리고 제2 런 맵 엔트리 내에 6의 값을 나타낼 수 있다.
압축 효율을 향상시키는 것을 용이하게 하기 위해, 다른 실시예들에서, 각각의 위치 맵 엔트리는 이득 런 내의 픽셀 위치들을 다른 이득 런 내의 픽셀 위치들에 대하여 나타낼 수 있다. 예를 들어, 제1 이득 런이 제1 이득 맵 행의 처음 4개의 이득 맵 엔트리들을 포함하고 제2 이득 런이 제2 이득 맵 행의 처음 5개의 이득 맵 엔트리들을 포함할 때, 설계 디바이스는 제2 이득 런이 제1 이득 런보다 하나 더 많은 픽셀 위치를 포함하므로 플러스 1(positive one)인 픽셀 위치 차이를 결정할 수 있다. 플러스 1의 위치 차이를 나타내기 위해, 설계 디바이스는 제1 위치 맵 엔트리 내에 제1 값(예를 들어, 0 비트)을 나타내고 제2 위치 맵 엔트리 내에 1의 값을 나타낼 수 있다. 추가적으로, 제3 이득 런이 제1 이득 맵 행의 다음 6개의 이득 맵 엔트리들을 포함하고 제4 이득 런이 제2 이득 맵 행의 다음 5개의 이득 맵 엔트리들을 포함할 때, 설계 디바이스는 제4 이득 런이 제3 이득 런보다 하나 더 작은 픽셀 위치를 포함하므로 마이너스 1(negative one)의 픽셀 위치 차이를 결정할 수 있다. 마이너스 1의 위치 차이를 나타내기 위해, 설계 디바이스는 제3 위치 맵 엔트리 내에 제2 값(예를 들어, 1 비트)을 나타내고 제4 위치 맵 엔트리 내에 1의 값을 나타낼 수 있다. 일부 실시예들에서, 픽셀 위치 차이들은 압축 효율을 추가로 향상시키는 것을 용이하게 하기 위해 엔트로피 인코딩될 수 있다.
이득 값 맵은 각각의 중간 이득 런 내의 픽셀 위치들과 연관된 이득 값들을 나타낼 수 있다. 일부 실시예들에서, 이득 값 맵 엔트리들은 픽셀 위치와 연관된 이득 값을 명시적으로 나타낼 수 있다. 예를 들어, 디스플레이 픽셀이 제1(예를 들어, 녹색) 서브-픽셀 및 제2(예를 들어, 적색 또는 청색) 서브-픽셀을 포함할 때, 설계 디바이스는 제1 이득 값 맵 엔트리 내에 제1 서브-픽셀과 연관된 제1 이득 값을 그리고 제2 이득 값 맵 엔트리 내에 제2 서브-픽셀과 연관된 제2 이득 값을 명시적으로 나타낼 수 있다. 압축 효율을 향상시키는 것을 용이하게 하기 위해, 일부 이득 값 맵 엔트리들은 픽셀 위치와 연관된 이득 값을, 다른 픽셀 위치와 연관된 이득 값에 대하여 나타낼 수 있다. 예를 들어, 현재 픽셀 위치와 연관된 제1 이득 값이 바로 이전의(예를 들어, 좌측 이웃) 픽셀 위치와 연관된 제2 이득 값과 동일할 때, 설계 디바이스는 현재 픽셀 위치와 연관된 이득 값 맵 엔트리 내에 제1 값(예를 들어, 1 비트)을 나타낼 수 있다. 한편, 제1 이득 값 및 제2 이득 값이 상이할 때, 설계 디바이스는 이득 맵 엔트리 내에 제2 값(예를 들어, 0 비트)을 나타낼 수 있다. 일부 실시예들에서, 명시적으로 나타내어진 이득 값들은 압축 효율을 추가로 향상시키는 것을 용이하게 하기 위해 엔트로피 인코딩될 수 있다.
전술된 바와 같이, 디스플레이 파이프라인은 대응하는 픽셀 위치와 연관된 이득 값들에 적어도 부분적으로 기초하여 이미지 픽셀 이미지 데이터를 처리할 수 있다. 따라서, 압축된 이득 맵을 사용하여 나타내어질 때, 디스플레이 파이프라인은 하나 이상의 픽셀 위치와 연관된 이득 값들(예를 들어, 적색 이득 값, 청색 이득 값, 및/또는 녹색 이득 값)을 결정하기 위해 압축된 이득 맵을 압축해제할 수 있다. 일부 실시예들에서, 디스플레이 파이프라인은 이미지 픽셀 이미지 데이터가 코딩된 행 런 또는 코딩되지 않은 행 런 내의 픽셀 위치에 대응하는지 여부를 결정하기 위해 (예를 들어, 비트 스트림을 통해) 런 맵 및/또는 시작 행 런 표시자를 판독할 수 있다. 이러한 방식으로, 디스플레이 파이프라인은 픽셀 위치가 코딩된 행 또는 코딩되지 않은 행 내에 있는지 여부를 결정할 수 있다.
전술된 바와 같이, 이득 맵 행은, 그것의 이득 맵 엔트리들에 의해 나타내어진 이득 값들 각각이 1과 같을 때, 코딩되지 않은 행으로서 분류될 수 있다. 따라서, 디스플레이 파이프라인이 픽셀 위치가 코딩되지 않은 행 내에 있다고 결정할 때, 디스플레이 파이프라인은 픽셀 위치와 연관된 각각의 이득 값이 1과 같다고 결정할 수 있다. 추가적으로, 전술된 바와 같이, 이득 맵 행은, 그것의 이득 맵 엔트리들에 의해 나타내어진 하나 이상의 이득 값이 1보다 작을 때, 코딩된 행으로서 분류될 수 있다. 따라서, 디스플레이 파이프라인이 픽셀 위치가 코딩된 행 내에 있다고 결정할 때, 디스플레이 파이프라인은 (예를 들어, 비트 스트림을 통해) 위치 맵을 판독하여 픽셀 위치가 위치 이득 런 또는 중간 이득 런 내에 있는지 여부를 결정할 수 있다. 추가적으로, 엔트로피 인코딩된 픽셀 위치 차이들을 통해 나타내어질 때, 디스플레이 파이프라인은 위치 맵을 엔트로피 디코딩하여, 픽셀 위치 차이를 결정하고 예를 들어, 상부 이웃 이득 맵 행 내의 다른 이득 런에 대한 픽셀 위치 차이를 적용함으로써 이득 런 내의 픽셀 위치들을 결정할 수 있다.
전술된 바와 같이, 하나 이상의 연속적인 이득 맵 엔트리는, 각각의 이득 맵 엔트리가 적어도 하나의 중간 이득 값(예를 들어, 0보다 크고 1보다 작음)을 포함할 때, 중간 이득 런으로서 분류될 수 있다. 따라서, 디스플레이 파이프라인이 픽셀 위치가 중간 이득 런 내에 있다고 결정할 때, 디스플레이 파이프라인은 (예를 들어, 비트 스트림을 통해) 이득 값 맵을 판독하여 픽셀 위치와 연관된 이득 값 세트를 결정할 수 있다. 추가적으로, 이득 값이 엔트로피 인코딩될 때, 디스플레이 파이프라인은 이득 값 맵을 엔트로피 디코딩하여 픽셀 위치와 연관된 이득 값을 결정할 수 있다.
전술된 바와 같이, 위치 이득 런은 0의 이득 런 또는 1의 이득 런 중 어느 하나일 수 있다. 따라서, 디스플레이 파이프라인이 픽셀 위치가 위치 이득 런 내에 있다고 결정할 때, 디스플레이 파이프라인은 대응하는 위치 이득 값 표시자(position gain value indicator)를 판독하여 픽셀 위치가 0의 이득 런 또는 1의 이득 런 내에 있는지 여부를 결정할 수 있다. 추가적으로, 전술된 바와 같이, 하나 이상의 연속적인 이득 맵 엔트리는 각각의 포함된 이득 값이 0일 때 0의 이득 런으로서 분류될 수 있다. 따라서, 대응하는 위치 이득 값 표시자가 픽셀 위치가 0의 이득 런 내에 있음을 나타낼 때, 디스플레이 파이프라인은 픽셀 위치와 연관된 각각의 이득 값이 0과 같다고 결정할 수 있다. 또한, 전술된 바와 같이, 하나 이상의 연속적인 이득 맵 엔트리는 각각의 포함된 이득 값이 1일 때 1의 이득 런으로서 분류될 수 있다. 따라서, 대응하는 위치 이득 값 표시자가 픽셀 위치가 1의 이득 런 내에 있음을 나타낼 때, 디스플레이 파이프라인은 픽셀 위치와 연관된 각각의 이득 값이 1과 같다고 결정할 수 있다.
이득 값들에 적어도 부분적으로 기초하여, 디스플레이 파이프라인은 이미지 픽셀 이미지 데이터를 처리하여 디스플레이 픽셀 이미지 데이터를 결정할 수 있으며, 이는 전자 디스플레이 상에 대응하는 이미지를 디스플레이하는 데 사용될 수 있다. 예를 들어, 이득 값들을 적용함으로써, 디스플레이 파이프라인은 비-직사각형 디스플레이 영역 상의 디스플레이를 위해 직사각형 이미지를 조정하는 블랙 마스크를 적용할 수 있다. 추가적으로, 디스플레이 파이프라인은 이미지 내의 에지들(예를 들어, 가파른 기울기 전이들)을 따르는 선예도(sharpness)를 향상시키기 위해 이득 값들에 적어도 부분적으로 기초하여 필터 파라미터들을 적응적으로(예를 들어, 동적으로) 조정할 수 있다. 또한, 이득 값들을 적용함으로써, 디스플레이 파이프라인은 디스플레이 영역 경계를 따르는 인지가능한 시각적 아티팩트(예를 들어, 에일리어싱 및/또는 프린징)를 생성할 가능성을 감소시키기 위해 디스플레이 영역 경계를 따르는 디스플레이 픽셀들을 디밍할 수 있다. 이러한 방식으로, 디스플레이 파이프라인은 전자 디스플레이의 인지된 이미지 품질을 향상시키기 위해 대응하는 이미지가 전자 디스플레이 상에 디스플레이되기 전에 (예를 들어, 압축된 또는 비압축된) 이득 맵으로부터 결정된 이득 값들에 적어도 부분적으로 기초하여 이미지 데이터를 처리할 수 있다.
설명을 돕기 위해, 전자 디스플레이(12)를 활용하는 전자 디바이스(10)의 일 실시예가 도 1에 도시된다. 아래에서 더욱 상세히 설명되는 바와 같이, 전자 디바이스(10)는, 핸드헬드 전자 디바이스, 태블릿 전자 디바이스, 노트북 컴퓨터 등과 같이, 임의의 적합한 전자 디바이스일 수 있다. 따라서, 도 1이 단지 특정 구현의 하나의 예이고, 전자 디바이스(10)에 존재할 수 있는 컴포넌트들의 유형들을 예시하도록 의도되는 것임을 주의해야 한다.
도시된 실시예에서, 전자 디바이스(10)는 전자 디스플레이(12), 입력 디바이스들(14), 입력/출력(I/O) 포트들(16), 하나 이상의 프로세서(들) 또는 프로세서 코어들을 갖는 프로세서 코어 컴플렉스(18), 로컬 메모리(20), 메인 메모리 저장 디바이스(22), 네트워크 인터페이스(24), 전원(26), 및 이미지 처리 회로부(27)를 포함한다. 도 1에 설명된 다양한 컴포넌트들은 하드웨어 요소들(예를 들어, 회로부), 소프트웨어 요소들(명령어들을 저장하는, 유형의(tangible) 비일시적 컴퓨터 판독가능 매체), 또는 하드웨어와 소프트웨어 요소들 둘 모두의 조합을 포함할 수 있다. 다양한 도시된 컴포넌트들은 더 적은 수의 컴포넌트들로 조합될 수 있거나 추가의 컴포넌트들로 분리될 수 있음을 유의해야 한다. 예를 들어, 로컬 메모리(20) 및 메인 메모리 저장 디바이스(22)는 단일 컴포넌트 내에 포함될 수 있다. 추가적으로, 이미지 처리 회로부(27)(예컨대, 그래픽 처리 유닛)는 프로세서 코어 컴플렉스(18) 내에 포함될 수 있다.
도시된 바와 같이, 프로세서 코어 컴플렉스(18)는 로컬 메모리(20) 및 메인 메모리 저장 디바이스(22)와 동작가능하게 결합된다. 일부 실시예들에서, 로컬 메모리(20) 및/또는 메인 메모리 저장 디바이스(22)는 프로세서 코어 컴플렉스(18)에 의해 실행가능한 명령어들 및/또는 프로세서 코어 컴플렉스(18)에 의해 처리될 데이터를 저장하는, 유형의 비일시적 컴퓨터 판독가능 매체일 수 있다. 예를 들어, 로컬 메모리(20)는 RAM(random access memory)을 포함할 수 있고, 메인 메모리 저장 디바이스(22)는 ROM(read only memory), 플래시 메모리와 같은 재기록가능한 비휘발성 메모리, 하드 드라이브들, 광학 디스크들 등을 포함할 수 있다.
일부 실시예들에서, 프로세서 코어 컴플렉스(18)는 소스 이미지 데이터를 생성하는 것과 같은 동작들을 수행하기 위해 로컬 메모리(20) 및/또는 메인 메모리 저장 디바이스(22)에 저장된 명령어를 실행할 수 있다. 이와 같이, 프로세서 코어 컴플렉스(18)는 하나 이상의 범용 마이크로프로세서, 하나 이상의 ASIC(application specific processor), 하나 이상의 FPGA(field programmable logic array), 또는 이들의 임의의 조합을 포함할 수 있다.
도시된 바와 같이, 프로세서 코어 컴플렉스(18)는 또한 네트워크 인터페이스(24)와 동작가능하게 결합된다. 네트워크 인터페이스(24)를 사용하여, 전자 디바이스(10)는 네트워크 및/또는 다른 전자 디바이스들에 통신가능하게 결합될 수 있다. 예를 들어, 네트워크 인터페이스(24)는 전자 디바이스(10)를 블루투스 네트워크와 같은 PAN(personal area network), 802.11x 와이파이 네트워크와 같은 LAN(local area network), 및/또는 4G 또는 LTE 셀룰러 네트워크와 같은 WAN(wide area network)에 연결할 수 있다. 이러한 방식으로, 네트워크 인터페이스(24)는 전자 디바이스(10)가 이미지 데이터를 네트워크에 전송하고/하거나 네트워크로부터 이미지 데이터를 수신하게 할 수 있다.
추가적으로, 도시된 바와 같이, 프로세서 코어 컴플렉스(18)는 전원(26)에 동작가능하게 결합된다. 일부 실시예들에서, 전원(26)은 프로세서 코어 컴플렉스(18) 및/또는 전자 디바이스(10) 내의 다른 컴포넌트들을 동작시키기 위해 전력을 제공할 수 있다. 따라서, 전원(26)은 재충전가능한 리튬 폴리머(Li-poly) 배터리 및/또는 교류(AC) 전력 변환기와 같은 임의의 적합한 에너지원을 포함할 수 있다.
또한, 도시된 바와 같이, 프로세서 코어 컴플렉스(18)는 I/O 포트들(16) 및 입력 디바이스들(14)과 동작가능하게 결합된다. 일부 실시예들에서, I/O 포트들(16)은 전자 디바이스(10)가 다양한 다른 전자 디바이스들과 인터페이스할 수 있게 한다. 추가적으로, 일부 실시예들에서, 입력 디바이스들(14)은 사용자가 전자 디바이스(10)와 상호작용하게 할 수 있다. 예를 들어, 입력 디바이스들(14)은 버튼들, 키보드들, 마우스들, 트랙패드들 등을 포함할 수 있다. 추가적으로 또는 대안적으로, 전자 디스플레이(12)는 그것의 스크린(예를 들어, 전자 디스플레이(12)의 표면)을 터치하는 물체의 발생 및/또는 위치를 검출함으로써 전자 디바이스(10)에 대한 사용자 입력들을 가능하게 하는 터치 감지 컴포넌트들을 포함할 수 있다.
사용자 입력들을 가능하게 하는 것에 더하여, 전자 디스플레이(12)는 (예를 들어, 하나 이상의 이미지 프레임에서) 이미지들을 디스플레이함으로써 정보의 시각적 표현들을 제공하는 것을 용이하게 할 수 있다. 예를 들어, 전자 디스플레이(12)는 운영 체제의 그래픽 사용자 인터페이스(GUI), 애플리케이션 인터페이스, 텍스트, 스틸 이미지, 또는 비디오 콘텐츠를 디스플레이할 수 있다. 이미지들을 디스플레이하는 것을 용이하게 하기 위해, 전자 디스플레이(12)는 하나 이상의 디스플레이 픽셀을 갖는 디스플레이 패널을 포함할 수 있다. 추가적으로, 각각의 디스플레이 픽셀은 하나 이상의 서브-픽셀을 포함할 수 있으며, 이들은 각각 하나의 색상 컴포넌트(예를 들어, 적색, 청색, 또는 녹색)의 휘도를 제어한다.
전술된 바와 같이, 전자 디스플레이(12)는 대응하는 이미지 데이터(예를 들어, 이미지 픽셀 이미지 데이터 및/또는 디스플레이 픽셀 이미지 데이터)에 적어도 부분적으로 기초하여 서브-픽셀들의 휘도를 제어함으로써 이미지를 디스플레이할 수 있다. 일부 실시예들에서, 이미지 데이터는 예를 들어, 네트워크 인터페이스(24) 및/또는 I/O 포트들(16)을 통해 다른 전자 디바이스로부터 수신될 수 있다. 추가적으로 또는 대안적으로, 이미지 데이터는 프로세서 코어 컴플렉스(18) 및/또는 이미지 처리 회로부(27)에 의해 생성될 수 있다.
전술된 바와 같이, 전자 디바이스(10)는 임의의 적합한 전자 디바이스일 수 있다. 설명을 돕기 위해, 적합한 전자 디바이스(10)의 하나의 예, 특히 핸드헬드 디바이스(10A)가 도 2에 도시된다. 일부 실시예들에서, 핸드헬드 디바이스(10A)는 휴대용 전화, 미디어 플레이어, 개인용 데이터 오거나이저, 핸드헬드 게임 플랫폼 등일 수 있다. 예를 들어, 핸드헬드 디바이스(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)는 애플 사로부터 입수가능한 임의의 아이패드(iPad®) 모델일 수 있다. 적합한 전자 디바이스(10)의 추가의 예, 특히 컴퓨터(10C)가 도 4에 도시된다. 예시의 목적을 위해, 컴퓨터(10C)는 애플 사로부터 입수가능한 임의의 맥북(Macbook®) 또는 아이맥(iMac®) 모델일 수 있다. 적합한 전자 디바이스(10)의 다른 예, 특히 워치(10D)가 도 5에 도시된다. 예시의 목적을 위해, 워치(10D)는 애플 사로부터 입수가능한 임의의 애플 워치(Apple Watch®) 모델일 수 있다. 도시된 바와 같이, 태블릿 디바이스(10B), 컴퓨터(10C), 및 워치(10D)는 각각 또한 전자 디스플레이(12), 입력 디바이스들(14), I/O 포트들(16), 및 인클로저(28)를 포함한다.
전술된 바와 같이, 전자 디스플레이(12)는 예를 들어, 프로세서 코어 컴플렉스(18) 및/또는 이미지 처리 회로부(27)로부터 수신된 이미지 데이터에 적어도 부분적으로 기초하여 이미지들을 디스플레이할 수 있다. 추가적으로, 전술된 바와 같이, 이미지 데이터는 전자 디스플레이(12) 상에 이미지를 디스플레이하는 데 사용되기 전에 처리될 수 있다. 일부 실시예들에서, 디스플레이 파이프라인은 전자 디스플레이(12)의 인지된 이미지 품질을 향상시키는 것을 용이하게 하기 위해, 예를 들어, 대응하는 픽셀 위치와 연관된 이득 값들에 기초하여 이미지 데이터를 처리할 수 있다.
설명을 돕기 위해, 디스플레이 파이프라인(36)을 포함하는 전자 디바이스(10)의 부분(34)이 도 6에 도시된다. 일부 실시예들에서, 디스플레이 파이프라인(36)은 전자 디바이스(10) 내의 회로부, 전자 디스플레이(12) 내의 회로부, 또는 이들의 조합에 의해 구현될 수 있다. 예를 들어, 디스플레이 파이프라인(36)은 프로세서 코어 컴플렉스(18), 이미지 처리 회로부(27), 전자 디스플레이(12) 내의 타이밍 제어기(TCON), 또는 이들의 임의의 조합 내에 포함될 수 있다.
도시된 바와 같이, 전자 디바이스(10)의 부분(34)은 또한 이미지 데이터 소스(38), 디스플레이 드라이버(40), 제어기(42), 및 외부 메모리(44)를 포함한다. 일부 실시예들에서, 제어기(42)는 디스플레이 파이프라인(36), 이미지 데이터 소스(38), 및/또는 디스플레이 드라이버(40)의 동작을 제어할 수 있다. 동작을 제어하는 것을 용이하게 하기 위해, 제어기(42)는 제어기 프로세서(50) 및 제어기 메모리(52)를 포함할 수 있다. 일부 실시예들에서, 제어기 프로세서(50)는 제어기 메모리(52)에 저장된 명령어들을 실행할 수 있다. 따라서, 일부 실시예들에서, 제어기 프로세서(50)는 프로세서 코어 컴플렉스(18), 이미지 처리 회로부(27), 전자 디스플레이(12) 내의 타이밍 제어기, 별개의 처리 모듈, 또는 이들의 임의의 조합에 포함될 수 있다. 추가적으로, 일부 실시예들에서, 제어기 메모리(52)는 로컬 메모리(20), 메인 메모리 저장 디바이스(22), 외부 메모리(44), 디스플레이 파이프라인(36)의 내부 메모리(46), 별개의 유형의 비일시적 컴퓨터 판독가능 매체, 또는 이들의 임의의 조합 내에 포함될 수 있다.
도시된 실시예에서, 디스플레이 파이프라인(36)은 이미지 데이터 소스(38)에 통신가능하게 결합된다. 이러한 방식으로, 디스플레이 파이프라인(36)은 전자 디스플레이(12) 상에 디스플레이될 이미지와 대응하는 이미지 데이터를 이미지 데이터 소스(38)로부터, 예를 들어, 소스(예를 들어, RGB) 포맷으로 그리고/또는 직사각형 이미지로서 수신할 수 있다. 일부 실시예들에서, 이미지 데이터 소스(38)는 프로세서 코어 컴플렉스(18), 이미지 처리 회로부(27), 또는 이들의 조합 내에 포함될 수 있다.
전술된 바와 같이, 디스플레이 파이프라인(36)은 이미지 데이터 소스(38)로부터 수신된 이미지 데이터를 처리할 수 있다. 이미지 데이터를 처리하기 위해, 디스플레이 파이프라인(36)은 하나 이상의 이미지 데이터 처리 블록(54)을 포함할 수 있다. 예를 들어, 도시된 실시예에서, 이미지 데이터 처리 블록들(54)은 서브-픽셀 레이아웃 리샘플러(sub-pixel layout resampler, SPLR) 블록(56)을 포함한다. 일부 실시예들에서, 이미지 데이터 처리 블록들(54)은, 추가적으로 또는 대안적으로, 주변 적응 픽셀(ambient adaptive pixel, AAP) 블록, 동적 픽셀 백라이트(dynamic pixel backlight, DPB) 블록, 화이트 포인트 보정(white point correction, WPC) 블록, 서브-픽셀 레이아웃 보상(sub-pixel layout compensation, SPLC) 블록, 번인 보상(burn-in compensation, BIC) 블록, 패널 응답 보정(panel response correction, PRC) 블록, 디더링 블록, 서브-픽셀 균일성 보상(sub-pixel uniformity compensation, SPUC) 블록, 콘텐츠 프레임 종속 지속기간(content frame dependent duration, CDFD) 블록, 주변광 감지(ambient light sensing, ALS) 블록, 또는 임의의 이들의 조합을 포함할 수 있다.
아래에서 더 상세히 설명되는 바와 같이, 디스플레이 파이프라인(36)은 외부 메모리(44) 및/또는 내부 메모리(46)에 저장된 데이터에 적어도 부분적으로 기초하여 이미지 데이터 소스(38)로부터 수신된 이미지 데이터를 처리할 수 있다. 일반적으로, 데이터를 내부 메모리(46)에 저장하는 것에 비해 외부 메모리(44)에 저장하는 것은 다양한 구현 관련 비용 및/또는 처리 효율 트레이드오프들을 제시할 수 있다. 예를 들어, 적어도 부분적으로 물리적 크기설정 제약들로 인해, 외부 메모리(44)의 저장 용량을 증가시키는 것은 내부 메모리(46)의 저장 용량을 증가시키는 것보다 더 용이할 수 있다. 이와 같이, 외부 메모리(44)의 저장 용량은 일반적으로 내부 메모리(46)의 저장 용량보다 더 클 수 있다.
추가적으로, 외부 메모리(44) 및 내부 메모리(46)에 대한 액세스는 상이할 수 있다. 예를 들어, 내부 메모리(46)는 디스플레이 파이프라인(36)에 의해 사용하도록 전용화될 수 있다. 다시 말해서, 내부 메모리(46)에 저장된 데이터는 디스플레이 파이프라인(36)에 의해 보다 용이하게, 예를 들어, 지연시간이 감소된 상태로, 액세스가능하며, 이는 디스플레이 파이프라인(36)의 처리 효율을 향상시키는 것을 용이하게 할 수 있다. 비교해 보면, 디스플레이 파이프라인(36)의 외부에 있으므로, 디스플레이 파이프라인(36)은 직접 메모리 액세스(DMA) 채널(58)을 통해 외부 메모리(44)에 액세스할 수 있다. 그러나, 이러한 방식으로 데이터 액세스를 제공하기 위해, 직접 메모리 액세스 채널(58)은 증가된 대역폭으로 구현될 수 있으며, 이는 구현 관련 비용을 증가시킨다. 게다가, 외부 메모리(44)가 다른 컴포넌트들과 공유될 때, 데이터 액세스 지연시간 및, 따라서, 디스플레이 파이프라인(36)의 처리 효율은 영향을 받을 수 있다.
처리 후, 디스플레이 파이프라인(36)은 디스플레이 픽셀 이미지 데이터와 같은 처리된 이미지 데이터를 디스플레이 드라이버(40)에 출력할 수 있다. 처리된 이미지 데이터에 적어도 부분적으로 기초하여, 디스플레이 드라이버(40)는 하나 이상의 이미지 프레임에서 이미지들을 디스플레이하기 위해 전자 디스플레이(12)의 디스플레이 픽셀들에 아날로그 전기 신호들을 인가할 수 있다. 이러한 방식으로, 디스플레이 파이프라인(36)은 전자 디스플레이(12) 상에 정보의 시각적 표현들을 제공하는 것을 용이하게 하도록 동작할 수 있다.
설명을 돕기 위해, 디스플레이 파이프라인(36)을 동작시키기 위한 프로세스(60)의 일 실시예가 도 7에서 설명된다. 일반적으로, 프로세스(60)는 이미지 픽셀 이미지 데이터를 수신하는 것(프로세스 블록(62)), 이미지 픽셀 이미지 데이터를 처리하여 디스플레이 픽셀 이미지 데이터를 결정하는 것(프로세스 블록(64)), 및 디스플레이 픽셀 이미지 데이터를 출력하는 것(프로세스 블록(66))을 포함한다. 일부 실시예들에서, 프로세스(60)는 디스플레이 파이프라인(36) 내에 형성된 회로 연결부들에 기초하여 구현될 수 있다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 프로세스(60)는 제어기 프로세서(50)와 같은 처리 회로부를 사용하여, 제어기 메모리(52)와 같은 유형의 비일시적 컴퓨터 판독가능 매체에 저장된 명령어들을 실행함으로써 구현될 수 있다.
전술된 바와 같이, 디스플레이 파이프라인(36)은 이미지 내의 점들(예를 들어, 이미지 픽셀들)에서의 색상 컴포넌트들의 목표 휘도를 나타내는 이미지 픽셀 이미지 데이터를 이미지 데이터 소스(38)로부터 수신할 수 있다(프로세스 블록(62)). 일부 실시예들에서, 이미지 픽셀 이미지 데이터는 직사각형 이미지에 대응할 수 있다. 추가적으로, 일부 실시예들에서, 이미지 픽셀 이미지 데이터는 소스 포맷일 수 있다. 예를 들어, 소스 포맷이 RGB 포맷일 때, 이미지 픽셀 이미지 데이터는 대응하는 픽셀 위치에서의 적색 컴포넌트의 목표 휘도, 청색 컴포넌트의 목표 휘도, 및 녹색 컴포넌트의 목표 휘도를 나타낼 수 있다.
추가적으로, 제어기(42)는 이미지 픽셀 이미지 데이터를 처리하여 디스플레이 픽셀 이미지 데이터 - 이는 전자 디스플레이(12)의 디스플레이 픽셀들에서의 색상 컴포넌트들의 목표 휘도를 나타냄 - 를 결정하고(프로세스 블록(64)), 디스플레이 픽셀 이미지 데이터를 디스플레이 드라이버(40)에 출력하도록(프로세스 블록(66)) 디스플레이 파이프라인(36)에 지시할 수 있다. 디스플레이 픽셀 이미지 데이터를 결정하기 위해, 디스플레이 파이프라인(36)은 이미지 데이터를 소스 포맷으로부터 디스플레이 포맷으로 변환할 수 있다. 일부 실시예들에서, 디스플레이 파이프라인(36)은 전자 디스플레이(12) 내의 서브-픽셀들의 레이아웃에 적어도 부분적으로 기초하여 디스플레이 포맷을 결정할 수 있다. 예를 들어, 일부 디스플레이 픽셀들이 녹색 및 적색 서브-픽셀들을 포함하지만 다른 디스플레이 픽셀들은 녹색 및 청색 서브-픽셀들을 포함할 때, 디스플레이 포맷은 녹색-적색 및 녹색-청색(GRGB) 포맷일 수 있다.
설명을 돕기 위해, 서브-픽셀 레이아웃 리샘플러 블록(56)을 포함하는 디스플레이 파이프라인(36)의 부분(68)이 도 8에 도시된다. 도시된 바와 같이, 서브-픽셀 레이아웃 리샘플러 블록(56)은 현재 이미지 픽셀과 대응하는 이미지 픽셀 이미지 데이터(70)를 수신하고 현재 디스플레이 픽셀과 대응하는 디스플레이 픽셀 이미지 데이터(72)를 출력한다. 일부 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 다른 이미지 데이터 처리 블록(54)으로부터 그리고/또는 이미지 데이터 소스(38)로부터 이미지 픽셀 이미지 데이터(70)를 수신할 수 있다. 추가적으로, 일부 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 디스플레이 픽셀 이미지 데이터(72)를 다른 이미지 데이터 처리 블록(54) 및/또는 디스플레이 드라이버(40)에 출력할 수 있다.
디스플레이 픽셀 이미지 데이터(72)를 생성하는 것을 용이하게 하기 위해, 서브-픽셀 레이아웃 리샘플러 블록(56)은 디-감마(de-gamma) 블록(78), 에지 검출 블록(80), 필터 블록(82), 이득 압축해제 블록(84), 경계 검출 블록(86), 및 리-감마(re-gamma) 블록(88)을 포함할 수 있다. 일부 실시예들에서, 이미지 픽셀 이미지 데이터(70)는 감마(예를 들어, 비선형) 도메인에 있을 수 있다. 후속 처리를 용이하게 하기 위해, 디-감마 블록(78)은 이미지 픽셀 이미지 데이터(70)를 선형 도메인으로 변환할 수 있다.
추가적으로, 에지 검출 블록(80)은 에지 파라미터들, 예컨대 현재 디스플레이 픽셀의 오프셋 서브-픽셀에서 에지가 발생할 가능성 및/또는 오프셋 서브-픽셀에서의 에지의 예상된 방향을 결정할 수 있다. 일부 실시예들에서, 에지 검출 블록(80)은 오프셋 서브-픽셀 주변의 영역의 기울기와 같은, 오프셋 서브-픽셀의 특성들에 적어도 부분적으로 기초하여 에지 파라미터들을 결정할 수 있다. 특성들을 결정하는 것을 용이하게 하기 위해, 에지 검출 블록(80)은 특성들을 나타내는 통계치들을 결정할 수 있다. 예를 들어, 에지 검출 블록(80)은 오프셋 서브-픽셀 주변의 이미지 픽셀 블록들 사이의 차이 메트릭들(예를 들어, 절대차의 합)을 결정할 수 있으며, 이는 오프셋 서브-픽셀 주변의 기울기를 나타낼 수 있고, 따라서 에지 파라미터들을 결정하는 데 사용될 수 있다.
일부 실시예들에서, 이미지 데이터 버퍼(76)는 예를 들어, 현재 이미지 픽셀과 이웃하는 픽셀 위치들에서의 다른 이미지 픽셀들과 대응하는 이미지 데이터를 저장할 수 있다. 다시 말해서, 프레임 버퍼는 오프셋 서브-픽셀 주변의 이미지 픽셀 블록들과 대응하는 이미지 데이터를 저장할 수 있다. 따라서, 에지 파라미터들을 결정하는 것을 용이하게 하기 위하여, 서브-픽셀 레이아웃 리샘플러 블록(56)은 이미지 데이터 버퍼(76)에 통신가능하게 결합될 수 있다.
또한, 필터 블록(82)은 에지 파라미터들에 적어도 부분적으로 기초하여 소스(예를 들어, RGB) 포맷으로부터 디스플레이(예를 들어, GRGB) 포맷으로 이미지 픽셀 이미지 데이터를 변환할 수 있다. 디스플레이 포맷으로 변환하기 위해, 일부 실시예들에서, 필터 블록(82)은 필터 파라미터들을 결정하여 이미지 픽셀 이미지 데이터(70)에 적용할 수 있다. 예를 들어, 필터 블록(82)은 RGB의 이미지 픽셀 이미지 데이터(70)를 필터링(예를 들어, 샘플링)하여, 녹색-적색(GR) 또는 녹색-청색(GB) 포맷의 디스플레이 픽셀 이미지 데이터(72)를 생성할 수 있다. 다시 말해서, 필터 블록(82)은 오프셋 서브-픽셀과 대응하는 이미지 데이터 및 현재 디스플레이 픽셀의 함께-위치된 서브-픽셀과 대응하는 이미지 데이터를 결정할 수 있다.
일부 실시예들에서, 필터 블록(82)은 현재 이미지 픽셀의 현재 픽셀 위치와 연관된 이득 값들에 적어도 부분적으로 기초하여 이미지 픽셀 이미지 데이터(70)에 적용될 필터 파라미터들을 결정할 수 있다. 추가적으로, 필터링 후, 필터 블록(82)은 현재 픽셀 위치와 연관된 이득 값들을 디스플레이 픽셀 이미지 데이터(72)에 적용할 수 있다. 일부 실시예들에서, 디스플레이 파이프라인(36)은 픽셀 위치와 연관된 이득 값들을 알고리즘적으로 계산할 수 있다.
추가적으로 또는 대안적으로, 이득 값들은 미리결정되고 이득 맵을 통해 저장될 수 있다. 일부 실시예들에서, 비압축된 이득 맵은 각각의 픽셀 위치를 이득 값들의 세트와 명시적으로 연관시킬(예를 들어, 매핑할) 수 있다. 픽셀 위치와 연관된 이득 값들의 세트는 픽셀 위치에서의 디스플레이 픽셀의 각각의 서브-픽셀에 대한 하나의 이득 값을 포함할 수 있다. 예를 들어, 디스플레이 픽셀이 적색 서브-픽셀, 청색 서브-픽셀, 및 녹색 서브-픽셀을 포함할 때, 그것의 픽셀 위치와 연관된 이득 값들의 세트는 적색 이득 값, 청색 이득 값, 및 녹색 이득 값을 포함할 수 있다. 추가적으로, 디스플레이 픽셀이 녹색 서브-픽셀 및 적색 서브-픽셀을 포함할 때, 그것의 픽셀 위치와 연관된 이득 값들의 세트는 적색 이득 값 및 녹색 이득 값을 포함할 수 있다. 또한, 디스플레이 픽셀이 녹색 서브-픽셀 및 청색 서브-픽셀을 포함할 때, 그것의 픽셀 위치와 연관된 이득 값들의 세트는 청색 이득 값 및 녹색 이득 값을 포함할 수 있다.
비압축된 이득 맵은 이득 값 세트를 각각의 디스플레이 픽셀에 대응하는 적어도 픽셀 위치들과 연관시키므로, 비압축된 이득 맵의 크기는 전자 디스플레이(12)의 해상도에 기초하여 변화할 수 있다. 다시 말해서, 비압축된 이득 맵의 크기는 상대적으로 클 수 있는데, 특히 전자 디스플레이들의 해상도가 계속해서 증가함에 따라 그러하다. 따라서, 일부 실시예들에서, 비압축된 이득 맵은 외부 메모리(44)에 저장되고 직접 메모리 액세스 채널(58)을 통해 액세스될 수 있다.
그러나, 전술된 바와 같이, 외부 메모리(44)에 대한 액세스를 디스플레이 파이프라인(36)에 제공하는 것은 구현 관련 비용 및/또는 처리 효율에 영향을 줄 수 있다. 따라서, 일부 실시예들에서, 각각의 픽셀 위치와 연관된 이득 값들을 나타내는 데이터는 내부 메모리(46)에 저장될 수 있다. 예를 들어, 도시된 실시예에서, 내부 메모리(46)는 대응하는 비압축된 이득 맵을 압축함으로써 결정될 수 있는 압축된 이득 맵(90), 및 대응하는 (예를 들어, 상부, 하부, 좌측, 또는 우측) 디스플레이 영역 경계를 따르는 디스플레이 픽셀들에서 적용될 이득 값을 각각 나타내는 하나 이상의 프로그램가능 경계 이득 값 표시자(92)를 저장한다.
따라서, 현재 픽셀 위치와 연관된 이득 값들을 결정하는 것을 용이하게 하기 위해, 이득 압축해제 블록(84)은 압축된 이득 맵(90)을 압축해제할 수 있다. 추가적으로, 경계 검출 블록(86)은 현재 디스플레이 픽셀이 디스플레이 영역의 경계를 따르는지 여부를 결정하고, 현재 디스플레이 픽셀이 경계를 따를 때 프로그램가능 경계 이득 값 표시자들(92) 중 대응하는 하나를 결정할 수 있다. 전술된 바와 같이, 이득 값들에 적어도 부분적으로 기초하여, 서브-픽셀 레이아웃 리샘플러 블록(56)은 이미지 픽셀 이미지 데이터(70)를 처리하여 디스플레이 픽셀 이미지 데이터(72)를 결정할 수 있다. 선형 도메인에서 결정되기 때문에, 리-감마 블록(88)은 디스플레이 픽셀 이미지 데이터(72)를 감마 도메인으로 변환할 수 있다. 추가적으로, 디스플레이 포맷에 있기 때문에, 서브-픽셀 레이아웃 리샘플러 블록(56)은 디스플레이 픽셀 이미지 데이터(72)를 소스 포맷으로 업스케일링할 수 있다.
따라서, 디스플레이 픽셀 이미지 데이터(72)를 결정하는 것을 용이하게 하기 위해, 압축된 이득 맵(90) 및 프로그램가능 경계 이득 값 표시자들(92)이 결정되고 내부 메모리(46)에 저장될 수 있다. 일부 실시예들에서, 설계 디바이스는 대응하는 비압축된 이득 맵에 적어도 부분적으로 기초하여 압축된 이득 맵(90)을 결정할 수 있다. 추가적으로, 일부 실시예들에서, 설계 디바이스는 디스플레이 파이프라인(36) 및/또는 전자 디스플레이(12)의 배치 이전에 압축된 이득 맵(90) 및 프로그램가능 경계 이득 값 표시자들(92)을 내부 메모리(46)에 저장할 수 있다.
설명을 돕기 위해, 내부 메모리(46)에 통신가능하게 결합된 설계 디바이스(94)가 도 9에 도시된다. 추가적으로, 압축된 이득 맵(90)의 하나의 예가 내부 메모리(46)에 저장된다. 예시적인 압축된 이득 맵(90)은 단지 예시적인 것이며 제한하려는 것으로 의도되지 않는다는 것이 이해되어야 한다. 다시 말해서, 다른 실시예들에서의 압축된 이득 맵들(90)은, 예를 들어, 설계 디바이스(94)에 의해 구현되는 압축 기술에 기초하여 변화할 수 있다.
전술된 바와 같이, 설계 디바이스(94)는 압축된 이득 맵(90)을 결정하고 내부 메모리(46)에 저장할 수 있다. 압축된 이득 맵(90)을 결정하는 것을 용이하게 하기 위해, 설계 디바이스(94)는 디바이스 프로세서(96) 및 디바이스 메모리(98)를 포함할 수 있다. 일부 실시예들에서, 디바이스 프로세서(96)는 디바이스 메모리(98)에 저장된 명령어들을 실행할 수 있다. 따라서, 일부 실시예들에서, 디바이스 프로세서(96)는 프로세서 코어 컴플렉스(18), 이미지 처리 회로부(27), 전자 디스플레이(12) 내의 타이밍 제어기, 제어기 프로세서(50), 별개의 처리 모듈, 또는 이들의 임의의 조합 내에 포함될 수 있다. 추가적으로, 일부 실시예들에서, 디바이스 메모리(98)는 로컬 메모리(20), 메인 메모리 저장 디바이스(22), 외부 메모리(44), 내부 메모리(46), 제어기 메모리(52), 별개의 유형의 비일시적 컴퓨터 판독가능 매체, 또는 이들의 임의의 조합 내에 포함될 수 있다.
도시된 실시예에서, 압축된 이득 맵(90)은 런 맵(100), 위치 맵(102), 이득 값 맵(104), 및 내부 메모리(46)의 프로그램가능 레지스터들(106)에 저장될 수 있는 하나 이상의 표시자를 포함할 수 있다. 일부 실시예들에서, 런 맵(100)은 이득 맵 행들의 수 및, 따라서, 각각의 행 런 내에 포함된 픽셀 위치 행들의 수를 나타낼 수 있다. 아래에서 더 상세히 설명되는 바와 같이, 각각이 1의 이득 값들만을 포함하는 하나 이상의 연속적인 이득 맵 행은 코딩되지 않은 행 런으로 그룹화될 수 있다. 추가적으로, 각각이 적어도 하나의 중간 이득 값 또는 0의 이득 값을 포함하는 하나 이상의 연속적인 이득 맵 행은 코딩된 행 런으로 그룹화될 수 있다. 따라서, 아래에서 더 상세히 설명되는 바와 같이, 픽셀 위치를 포함하는 행 런은 런 맵(100)에 적어도 부분적으로 기초하여 결정될 수 있다.
일부 실시예들에서, 시작 행 런 표시자(108)는 행 런이 코딩된 행 런 또는 코딩되지 않은 행 런인지 여부를 나타낼 수 있다. 예를 들어, 0인 시작 행 런 표시자(108)는 행 런이 코딩된 런임을 나타낼 수 있고 1인 시작 행 런 표시자(108)는 행 런이 코딩되지 않은 런임을 나타낼 수 있거나, 또는 그 반대일 수 있다. 일부 실시예들에서, 시작 행 런 표시자(108)는 대응하는 행 런의 분류를 명시적으로 나타내기 위해 각각의 행 런과 연관될 수 있다. 압축된 이득 맵(90)의 크기를 감소시키는 것을 용이하게 하기 위해, 다른 실시예들에서, 시작 행 런 표시자(108)는, 행 런들이 코딩된 행 런들과 코딩되지 않은 행 런들 사이에서 교번할 수 있을 때, 제1(예를 들어, 상부) 행 런과만 연관될 수 있다. 따라서, 아래에서 더 상세히 설명되는 바와 같이, 행 런 및, 따라서, 픽셀 위치를 포함하는 이득 맵 행의 분류는 런 맵(100) 및 시작 행 런 표시자(108)에 적어도 부분적으로 기초하여 결정될 수 있다.
추가적으로, 일부 실시예들에서, 위치 맵(102)은 각각의 코딩된 행의 이득 런들 내에 포함된 픽셀 위치들을 나타낼 수 있다. 아래에서 더 상세히 설명되는 바와 같이, 각각이 적어도 하나의 중간 이득 값(예를 들어, 0과 1 사이임)을 포함하는 하나 이상의 연속적인 이득 맵 엔트리는 중간 이득 런으로 그룹화될 수 있다. 추가적으로, 각각이 0의 이득 값들만을 포함하거나 1의 이득 값들만을 포함하는 하나 이상의 연속적인 이득 맵 엔트리는 위치 이득 런으로 그룹화될 수 있다. 다시 말해서, 위치 이득 런은 0의 이득 런 또는 1의 이득 런일 수 있다.
이득 런 내에 포함된 픽셀 위치들을 결정하는 것을 용이하게 하기 위해, 일부 실시예들에서, 위치 맵(102)은 이득 런 내에 포함된 픽셀 위치들의 수를 나타낼 수 있다. 추가적으로, 일부 실시예들에서, 코딩된 행은 위치 이득 런들과 중간 이득 런들 사이에서 교번할 수 있다. 또한, 일부 실시예들에서, 위치 맵(102)은 제1 이득 런 내에 포함된 픽셀 위치들을 제2 이득 런 내에 포함된 픽셀 위치들에 대하여 나타낼 수 있다. 따라서, 아래에서 더 상세히 설명되는 바와 같이, 픽셀 위치를 포함하는 이득 런은 위치 맵(100)에 적어도 부분적으로 기초하여 결정될 수 있다.
일부 실시예들에서, 위치 이득 값 표시자(110)는 대응하는 위치 런 내의 각각의 픽셀 위치와 연관된 이득 값들을 나타낼 수 있다. 예를 들어, 0인 위치 이득 값 표시자(110)는 대응하는 위치 런 내의 픽셀 위치와 연관된 각각의(예를 들어, 적색, 녹색, 및/또는 청색) 이득 값이 0임을 나타낼 수 있다. 추가적으로, 1인 위치 이득 값 표시자(110)는 대응하는 위치 런 내의 픽셀 위치와 연관된 각각의 이득 값이 1임을 나타낼 수 있다. 일부 실시예들에서, 위치 이득 값 표시자(110)는 각각의 위치 런과 연관될 수 있다. 따라서, 아래에서 더 상세히 설명되는 바와 같이, 위치 런 내의 픽셀 위치와 연관된 이득 값들은 대응하는 위치 이득 값 표시자(110)에 적어도 부분적으로 기초하여 결정될 수 있다.
또한, 일부 실시예들에서, 이득 값 맵(104)은 각각의 중간 이득 런 내의 픽셀 위치들과 연관된 이득 값들을 나타낼 수 있다. 일부 실시예들에서, 픽셀 위치와 연관된 이득 값 세트는 픽셀 위치에서의 디스플레이 픽셀의 서브-픽셀 당 하나의 이득 값을 포함할 수 있다. 예를 들어, 중간 이득 런 내의 픽셀 위치에서의 디스플레이 픽셀이 3개의 서브-픽셀들을 포함할 때, 이득 값 맵(104)은 픽셀 위치를 3개의 이득 값들과 연관시킬 수 있다. 추가적으로, 중간 이득 런 내의 픽셀 위치에서의 디스플레이 픽셀이 함께-위치된 서브-픽셀 및 오프셋 서브-픽셀을 포함할 때, 이득 값 맵(104)은 픽셀 위치를 함께-위치된 이득 값 및 오프셋 이득 값과 연관시킬 수 있다.
추가적으로 또는 대안적으로, 픽셀 위치와 연관된 이득 값 세트는 픽셀 위치에서의 디스플레이 픽셀의 색상 컴포넌트 당 하나의 이득 값을 포함할 수 있다. 예를 들어, 중간 이득 런 내의 픽셀 위치에서의 디스플레이 픽셀이 적색 서브-픽셀 및 녹색 서브-픽셀을 포함할 때, 이득 값 맵(104)은 픽셀 위치를 적색 이득 값 및 녹색 서브-픽셀과 연관시킬 수 있다. 추가적으로, 중간 이득 런 내의 픽셀 위치에서의 디스플레이 픽셀이 청색 서브-픽셀 및 녹색 서브-픽셀을 포함할 때, 이득 값 맵(104)은 픽셀 위치를 청색 이득 값 및 녹색 서브-픽셀과 연관시킬 수 있다. 따라서, 아래에서 더 상세히 설명되는 바와 같이, 중간 이득 런들 내의 픽셀 위치들과 연관된 이득 값들은 이득 값 맵(104)에 적어도 부분적으로 기초하여 결정될 수 있다.
설계 디바이스(94)를 동작시키기 위한 프로세스(112)의 일 실시예가 도 10에서 설명된다. 일반적으로, 프로세스(112)는 비압축된 이득 맵을 결정하는 것(프로세스 블록(114)), 압축된 이득 맵을 결정하는 것(프로세스 블록(116)), 및 압축된 이득 맵을 저장하는 것(프로세스 블록(118))을 포함한다. 일부 실시예들에서, 프로세스(112)는 디바이스 프로세서(96)와 같은 처리 회로부를 사용하여, 디바이스 메모리(98)와 같은 유형의 비일시적 컴퓨터 판독가능 매체에 저장된 명령어들을 실행함으로써 구현될 수 있다.
따라서, 일부 실시예들에서, 설계 디바이스(94)는 비압축된 이득 맵을 결정할 수 있다(프로세스 블록(114)). 전술된 바와 같이, 비압축된 이득 맵은 각각의 픽셀 위치를 이득 값 세트에 명시적으로 연관시킬(예를 들어, 매핑할) 수 있다. 추가적으로, 일부 실시예들에서, 비압축된 이득 맵은 전자 디스플레이(12)의 서브-픽셀 레이아웃, 이미지 데이터 소스(38)로부터 수신된 이미지 픽셀 이미지 데이터(70)와 대응하는 이미지의 형상, 및/또는 전자 디스플레이(12)의 디스플레이 영역 형상에 적어도 부분적으로 기초하여 결정될 수 있다.
설명을 돕기 위해, 예시적인 직사각형 이미지 프레임(120)이 도 11에 도시된다. 도시된 바와 같이, 직사각형 이미지 프레임(120)은 4개의 90도 코너들(124)에 의해 연결된 4개의 직선 경계들(125)을 포함한다. 예를 들어, 직사각형 이미지 프레임(120)은 상부 좌측 90도 코너(124A)에서 연결되는 상부 직선 경계(125A) 및 좌측 직선 경계(125B). 직사각형 이미지 프레임(120)을 디스플레이하기 위해, 디스플레이 파이프라인(36)은 직사각형 이미지 프레임(120) 내의 각각의 이미지 픽셀과 대응하는 이미지 픽셀 이미지 데이터(70)를 수신할 수 있다.
설명을 돕기 위해, 직사각형 이미지 프레임(120)의 상부 좌측 부분(122) 내의 이미지 픽셀들(126)이 도 12에 도시된다. 도시된 실시예에서, 각각의 이미지 픽셀(126)은 픽셀 위치에 대응한다. 전술된 바와 같이, 이미지 픽셀(126)과 대응하는 이미지 픽셀 이미지 데이터(70)는 이미지 내의 픽셀 위치에서의 목표 휘도를 나타낼 수 있다. 예를 들어, 제1 이미지 픽셀(126A)과 대응하는 이미지 픽셀 이미지 데이터(70)는 제1 픽셀 위치에서의 적색 컴포넌트의 목표 휘도, 청색 컴포넌트의 목표 휘도, 및 녹색 컴포넌트의 목표 휘도를 나타낼 수 있다.
그러나, 전술된 바와 같이, 상이한 전자 디스플레이들(12)은 상이한 디스플레이 영역 형상들을 가질 수 있다. 설명을 돕기 위해, 비-직사각형 디스플레이 영역(128)의 예가 도 13에 도시된다. 도시된 디스플레이 영역은 단지 예시적인 것이며 제한하려는 것으로 의도되지 않는다는 것이 이해되어야 한다. 다시 말해서, 다른 전자 디스플레이들(12)에서 구현되는 비-직사각형 디스플레이 영역들은 형상이 변화할 수 있다. 예를 들어, 전자 디스플레이(12)는 원형(예를 들어, 비-직사각형) 디스플레이 영역으로 구현될 수 있다.
도시된 바와 같이, 비-직사각형 디스플레이 영역(128)은 둥근(예를 들어, 만곡된) 경계들(130)에 의해 연결된 다수의 직선 경계들(134)을 포함한다. 예를 들어, 비-직사각형 디스플레이 영역(128)은 상부-좌측 둥근 경계(130A)에 의해 연결된 상부 직선 경계(134A) 및 좌측 직선 경계(134B)를 포함한다. 일부 실시예들에서, 비-직사각형 디스플레이 영역(128)은 그럼에도 불구하고 하나 이상의 90도 코너(132)를 포함할 수 있다.
전술된 바와 같이, 전자 디스플레이(12)는 대응하는 이미지 데이터에 기초하여 이미지를 디스플레이할 수 있다. 예를 들어, 전자 디스플레이(12)는 이미지 픽셀 이미지 데이터(70)를 처리함으로써 생성된 디스플레이 픽셀 이미지 데이터(72)에 기초하여 그것의 디스플레이 픽셀들의 휘도를 제어함으로써 이미지를 디스플레이할 수 있다. 따라서, 비-직사각형 디스플레이 영역(128)은 전자 디스플레이(12)에서 구현된 디스플레이 픽셀들에 대응하는 픽셀 위치들에 의해 정의될 수 있다.
설명을 돕기 위해, 비-직사각형 디스플레이 영역(128)의 상부-좌측 부분(138) 내의 디스플레이 픽셀들(136)이 도 13에 도시된다. 도시된 디스플레이 픽셀들(136)은 단지 예시적인 것이며 제한하려는 것으로 의도되지 않는다는 것이 이해되어야 한다. 다시 말해서, 다른 전자 디스플레이들(12) 내의 디스플레이 픽셀들(136)은 변화하는 서브-픽셀 레이아웃들로 구현될 수 있다.
도시된 실시예에서, 디스플레이 픽셀들(136)은 행들 및 열들로 조직화된다. 예를 들어, 제1 디스플레이 픽셀 행은 제1 디스플레이 픽셀(136A), 제2 디스플레이 픽셀(136B), 제3 디스플레이 픽셀(136C) 등을 포함한다. 추가적으로, 제2 디스플레이 픽셀 행은 제4 디스플레이 픽셀(136D), 제5 디스플레이 픽셀(136E), 제6 디스플레이 픽셀(136F) 등을 포함한다.
전술된 바와 같이, 디스플레이 픽셀(136)은 대응하는 색상 컴포넌트의 휘도를 각각 제어하는 하나 이상의 서브-픽셀을 포함할 수 있다. 도시된 실시예에서, 디스플레이 픽셀들(136)은 적색 서브-픽셀들(138), 녹색 서브-픽셀들(140), 및 청색 서브-픽셀들(142)을 포함한다. 추가적으로, 도시된 실시예에서, 비-직사각형 디스플레이 영역(128) 내에 완전히 포함된 디스플레이 픽셀들(136)은 각각 2개의 서브-픽셀들 - 즉 녹색 서브-픽셀(140) 및 교번적으로 적색 서브-픽셀(138) 또는 청색 서브-픽셀(142) - 을 포함한다. 예를 들어, 제2 디스플레이 픽셀 행을 따라서, 제4 디스플레이 픽셀(136D)은 청색 서브-픽셀(142) 및 녹색 서브-픽셀(140)을 포함하고, 제5 디스플레이 픽셀(136E)은 적색 서브-픽셀(138) 및 녹색 서브-픽셀(140)을 포함하며, 제6 디스플레이 픽셀(136F)은 적색 서브-픽셀(138) 및 녹색 서브-픽셀(140)을 포함하는 등이다.
비-직사각형 디스플레이 영역(128)을 구현하기 위해, 둥근 경계(130)를 따르는 일부 디스플레이 픽셀들(136)은 더 적은 서브-픽셀들을 포함할 수 있다. 도시된 실시예에서, 그러한 디스플레이 픽셀들(136)은 각각 하나의 서브-픽셀 - 즉 교번적으로 적색 서브-픽셀(138) 또는 청색 서브-픽셀(142) - 을 포함할 수 있다. 예를 들어, 상부-좌측 둥근 경계(130A)로 인해, 제1 디스플레이 픽셀(136A)은 청색 서브-픽셀(142)만을 포함하고, 제2 디스플레이 픽셀(136B)은 적색 서브-픽셀(138)만을 포함하며, 제3 디스플레이 픽셀(136C)은 청색 서브-픽셀(142)만을 포함한다.
어떤 경우든, 전술된 바와 같이, 각각의 디스플레이 픽셀(136)은 픽셀 위치 및, 따라서, 이미지 데이터 소스(38)로부터 수신된 이미지 픽셀과 대응할 수 있다. 도시된 실시예에 관하여, 각각의 디스플레이 픽셀(136)은 그것의 녹색 서브-픽셀(140)과 함께-위치된 이미지 픽셀(126)과 대응하거나 또는 대응하는 녹색 서브-픽셀(140)이 달리 위치될 곳과 대응할 수 있다. 다시 말해서, 녹색 서브-픽셀들(140)은 함께-위치된 서브-픽셀들일 수 있는 반면에, 적색 서브-픽셀들(138) 및 청색 서브-픽셀들(142)은 오프셋 서브-픽셀들이다. 추가적으로, 도시된 실시예에서, 오프셋 서브-픽셀(예를 들어, 적색 서브-픽셀(138) 또는 청색 서브-픽셀(142))은 함께-위치된 서브-픽셀(예를 들어, 녹색 서브-픽셀(140))의 하부-우측으로 오프셋된다. 다른 실시예들에서, 오프셋 서브-픽셀은 함께-위치된 서브-픽셀의 상부-우측, 상부-좌측, 또는 하부-좌측으로 오프셋될 수 있다.
이미지 프레임을 디스플레이하기 위해, 각각의 디스플레이 픽셀(136)의 휘도는 그것의 픽셀 위치에서의 이미지 픽셀(126)과 대응하는 이미지 픽셀 이미지 데이터(70)에 적어도 부분적으로 기초하여 제어될 수 있다. 그러나, 일부 경우들에서, 이미지 프레임의 형상은 전자 디스플레이(12)의 디스플레이 영역 형상과 상이할 수 있다. 그러한 경우들에서, 하나 이상의 이미지 픽셀(126)은 디스플레이 영역 외부의 픽셀 위치들에 대응할 수 있다. 예를 들어, 직사각형 이미지 프레임(120) 내의 제1 이미지 픽셀(126A)은 비-직사각형 디스플레이 영역(128) 외부에 있는 픽셀 위치(143)에 대응할 수 있다. 다시 말해서, 디스플레이 픽셀(136)은 이미지 픽셀(126)과 대응하는 픽셀 위치에서 전자 디스플레이(12) 내에 구현되지 않을 수도 있다.
따라서, 상이한 형상을 갖는 디스플레이 영역 상에 이미지 프레임을 디스플레이하는 것을 용이하게 하기 위해, 이미지 프레임은 예를 들어, 블랙 마스크를 적용함으로써, 디스플레이하기 전에 조정될 수 있다. 그러나, 전술된 바와 같이, 디스플레이 픽셀들(136)은 일정 범위의 상이한 색상들의 인지를 가능하게 하기 위해 색상 블렌딩에 의존할 수 있다. 다시 말해서, 디스플레이 영역 외부의 픽셀 위치들에 대응하는 이미지 픽셀들을 단순히 무시하는 것은, 일부 경우들에서, 둥근 경계(130)를 따르는 디스플레이 픽셀(136)에서의 인지가능한 에일리어싱을 야기할 수 있는데, 이는 그렇지 않았으면 디스플레이 픽셀(136)이 함께 블렌딩되었을 이웃 디스플레이 픽셀들(136)이 존재하지 않기 때문이다. 게다가, 인지가능한 색상 프린징이 직선 경계(134)를 따르는 디스플레이 픽셀(136)에서 발생할 수 있는데, 이는 그렇지 않았으면 디스플레이 픽셀(136)이 함께 블렌딩되었을 이웃 디스플레이 픽셀들(136)이 존재하지 않기 때문이다.
인지되는 이미지 품질을 향상시키는 것을 용이하게 하기 위해, 전술된 바와 같이, 이미지 픽셀 이미지 데이터(70)는 대응하는 픽셀 위치와 연관된 이득 값들에 기초하여 처리될 수 있다. 추가적으로, 전술된 바와 같이, 설계 디바이스(94)는 각각의 픽셀 위치를 이득 값 세트에 명시적으로 연관시키는(예를 들어, 매핑하는) 비압축된 이득 맵을 결정할 수 있다. 따라서, 비압축된 이득 맵을 결정하기 위해, 설계 디바이스(94)는 각각의 픽셀 위치 및, 따라서, 픽셀 위치들에서의 각각의 서브-픽셀 위치와 연관된 하나 이상의 이득 값을 결정할 수 있다.
설명을 돕기 위해, 이득 값을 서브-픽셀 위치에 연관시키기 위한 프로세스(144)의 일 실시예가 도 15에서 설명된다. 일반적으로, 프로세스(144)는 디스플레이 영역의 특성들을 결정하는 것(프로세스 블록(146)), 안티-에일리어싱 영역을 결정하는 것(프로세스 블록(148)), 서브-픽셀 위치를 결정하는 것(프로세스 블록(150)), 및 서브-픽셀 위치가 안티-에일리어싱 영역 내에 있는지 여부를 결정하는 것(결정 블록(152))을 포함한다. 서브-픽셀 위치가 안티-에일리어싱 영역 내에 있을 때, 프로세스(144)는 디스플레이 영역의 경계와 서브-픽셀 위치 사이의 최단 거리를 결정하는 것(프로세스 블록(154)) 및 최단 거리에 기초하여 결정된 이득 값을 서브-픽셀 위치와 연관시키는 것(프로세스 블록(156))을 포함한다. 서브-픽셀 위치가 안티-에일리어싱 영역 내에 있지 않을 때, 프로세스(144)는 서브-픽셀 위치가 디스플레이 영역 내에 있는지 여부를 결정하는 것(결정 블록(158)), 서브-픽셀이 디스플레이 영역 내부에 있을 때 1의 이득 값을 서브-픽셀 위치와 연관시키는 것(프로세스 블록(160)), 및 서브-픽셀이 디스플레이 영역 내부에 있지 않을 때 0의 이득 값을 서브-픽셀 위치와 연관시키는 것(프로세스 블록(162))을 포함한다. 일부 실시예들에서, 프로세스(144)는 디바이스 프로세서(96)와 같은 처리 회로부를 사용하여, 디바이스 메모리(98)와 같은 유형의 비일시적 컴퓨터 판독가능 매체에 저장된 명령어들을 실행함으로써 구현될 수 있다.
따라서, 일부 실시예들에서, 설계 디바이스(94)는 전자 디스플레이(12)에서 구현되는 디스플레이 영역의 예상된 특성들을 결정할 수 있다(프로세스 블록(146)). 일부 실시예들에서, 디스플레이 영역의 특성들은 서브-픽셀 레이아웃, 디스플레이 영역의 형상, 그것의 경계의 위치, 디스플레이 영역 내의 서브-픽셀 위치들 등을 포함할 수 있다. 일반적으로, 전자 디스플레이(12)의 특성들은 고정될 수 있다. 따라서, 일부 실시예들에서, 디스플레이 영역의 예상된 특성들이 결정되고 예를 들어, 하나 이상의 입력 디바이스를 통해 제조자에 의해 설계 디바이스(94)에 입력될 수 있다. 추가적으로 또는 대안적으로, 설계 디바이스(94)는 전자 디스플레이(12)를 분석함으로써 디스플레이 영역의 예상된 특성들을 결정할 수 있다.
인지가능한 에일리어싱을 생성할 가능성을 감소시키기 위해, 설계 디바이스(94)는 디스플레이 영역의 경계를 따르는 하나 이상의 안티-에일리어싱 영역을 결정할 수 있다(프로세스 블록(148)). 전술된 바와 같이, 인지가능한 에일리어싱은 디스플레이 영역의 둥근 경계를 따라 발생할 수 있다. 따라서, 일부 실시예들에서, 설계 디바이스(94)는 디스플레이 영역의 둥근 경계를 따르는 안티-에일리어싱 영역을 결정할 수 있으며, 이는 둥근 경계에 인접한 하나 이상의 픽셀 위치에서의 서브-픽셀 위치들을 포함한다.
설명을 돕기 위해, 비-직사각형 디스플레이 영역(128)의 상부-좌측 둥근 코너(130A)를 따르는 안티-에일리어싱 영역들(164)의 2개의 예가 도 16 및 도 17에 도시된다. 특히, 비-직사각형 디스플레이 영역(128) 외부의 서브-픽셀들 위치들(166)을 포함하는 제1 안티-에일리어싱 영역(164A)이 도 16에 도시된다. 한편, 비-직사각형 디스플레이 영역(128) 내부의 서브-픽셀들 위치들(166)을 포함하는 제2 안티-에일리어싱 영역(164B)이 도 17에 도시된다. 예시적인 안티-에일리어싱 영역들(164)은 단지 예시적인 것이며 제한하려는 것으로 의도되지 않는다는 것이 이해되어야 한다. 다시 말해서, 다른 실시예들은 서브-픽셀 위치들의 변화하는 형상 및/또는 변화하는 수를 갖는 안티-에일리어싱 영역들(164)을 구현할 수 있다.
도 16에 관하여, 제1 안티-에일리어싱 영역(164A)은, 상부-좌측 둥근 코너(130A)로부터 각각 고정된 임계 거리 내에 있는 서브-픽셀들(166)을 포함한다. 일부 실시예들에서, 고정된 임계 거리는 인접한 픽셀 위치들 사이의 예상된 거리, 인접한 이미지 픽셀들(126) 사이의 예상된 거리, 또는 인접한 디스플레이 픽셀들(136) 내의 함께-위치된 서브-픽셀들 사이의 예상된 거리일 수 있다. 따라서, 일부 실시예들에서, 안티-에일리어싱 영역(164)은 둥근 디스플레이 영역 경계로부터 균일한 거리 내에 있는 서브-픽셀 위치들(166)을 포함하는 것으로 결정될 수 있다.
추가적으로, 도 17에 관하여, 제2 안티-에일리어싱 영역(164B)은, 상부 좌측 둥근 코너(130A)로부터 각각 가변 거리 임계 거리 내에 있는 서브-픽셀 위치들(166)을 포함한다. 일부 실시예들에서, 거리 임계치는 둥근 디스플레이 영역 경계의 곡률에 적어도 부분적으로 기초하여 변화할 수 있다. 예를 들어, 상부 좌측 둥근 코너(130A)의 형상 및 서브-픽셀 레이아웃으로 인해, 가변 거리 임계치는 상부 좌측 둥근 코너(130A)의 중심 부분에서 더 클 수 있다. 따라서, 일부 실시예들에서, 안티-에일리어싱 영역(164)은 둥근 디스플레이 영역 경계로부터 가변 거리 내에 있는 서브-픽셀 위치들(166)을 포함하는 것으로 결정될 수 있다.
일부 실시예들에서, 안티-에일리어싱 영역(164)은 포함된 서브-픽셀 위치들(166)에 의해 나타내어질 수 있다. 따라서, 안티-에일리어싱 영역(164)을 후속적으로 식별하는 것을 용이하게 하기 위해, 설계 디바이스는 안티-에일리어싱 영역(164)의 특성들을 미리결정하고, 그것의 포함된 서브-픽셀 위치들을 디바이스 메모리(98)와 같은 메모리 컴포넌트에 저장할 수 있다, 유사한 방식으로, 설계 디바이스(94)는 각각의 둥근 디스플레이 영역 경계를 따르는 안티-에일리어싱 영역(164)을 결정할 수 있다.
도 15의 프로세스(144)로 돌아가면, 설계 디바이스(94)는 서브-픽셀 위치를 결정할 수 있다(프로세스 블록(150)). 전술된 바와 같이, 디스플레이 픽셀(136)은 하나 이상의 서브-픽셀을 포함할 수 있다. 따라서, 디스플레이 픽셀(136)과 대응하는 픽셀 위치는 하나 이상의 서브-픽셀 각각과 대응하는 서브-픽셀 위치를 포함할 수 있다. 일부 실시예들에서, 서브-픽셀 위치가 결정되고 예를 들어, 하나 이상의 입력 디바이스를 통해 제조자에 의해 설계 디바이스(94)에 입력될 수 있다. 추가적으로 또는 대안적으로, 설계 디바이스(94)는 전자 디스플레이(12) 및/또는 예상된 이미지 픽셀 이미지 데이터(70)를 분석함으로써 서브-픽셀 위치를 결정할 수 있다.
설계 디바이스(94)는 서브-픽셀 위치가 안티-에일리어싱 영역(164) 내에 있을 것으로 예상되는지 여부를 결정할 수 있다(결정 블록(152)). 전술된 바와 같이, 일부 실시예들에서, 안티-에일리어싱 영역(164)은 포함된 서브-픽셀 위치에 의해 나타내어질 수 있으며, 이는 디바이스 메모리(98)와 같은 메모리 컴포넌트에 저장될 수 있다. 따라서, 그러한 실시예들에서, 설계 디바이스(94)는 메모리 컴포넌트를 폴링(polling)하여 안티-에일리어싱 영역(164) 내에 포함된 서브-픽셀 위치들을 결정하고 서브-픽셀 위치를 안티-에일리어싱 영역(164) 내에 포함된 서브-픽셀 위치들과 비교함으로써 서브-픽셀 위치가 안티-에일리어싱 영역(164) 내에 있을 것으로 예상되는지 여부를 결정할 수 있다. 추가적으로 또는 대안적으로, 설계 디바이스(94)는 안티-에일리어싱 영역(164)과 연관된 거리 임계치에 적어도 부분적으로 기초하여 서브-픽셀 위치가 안티-에일리어싱 영역(164) 내에 있을 것으로 예상되는지 여부를 결정할 수 있다.
안티-에일리어싱 영역(164) 내에 있지 않을 때, 설계 디바이스(94)는 서브-픽셀 위치가 디스플레이 영역 내부에 있을 것으로 예상되는지 여부를 결정할 수 있다(결정 블록(158)). 전술된 바와 같이, 일부 실시예들에서, 디스플레이 영역은 포함된 서브-픽셀 위치들에 의해 나타내어질 수 있으며, 이는 디바이스 메모리(98)와 같은 메모리 컴포넌트에 저장될 수 있다. 따라서, 그러한 실시예들에서, 설계 디바이스(94)는 메모리 컴포넌트를 폴링하여 디스플레이 영역 내에 포함된 서브-픽셀 위치를 결정하고 서브-픽셀 위치를 디스플레이 영역 내에 포함된 서브-픽셀 위치들과 비교함으로써 서브-픽셀 위치가 디스플레이 영역 내에 있을 것으로 예상되는지 여부를 결정할 수 있다.
서브-픽셀 위치가 디스플레이의 영역 내부에 있을 것으로 예상되지 않을 때, 설계 디바이스(94)는 서브-픽셀이 서브-픽셀 위치에서의 전자 디스플레이(12)에서 구현될 것으로 예상되지 않는다고 결정하고, 따라서, 서브-픽셀 위치를 0의 이득 값과 연관시킬 수 있다(프로세스 블록(162)). 한편, 서브-픽셀 위치가 디스플레이 영역 내부에 있을 것으로 예상될 때, 설계 디바이스(94)는 서브-픽셀이 서브-픽셀 위치에서의 전자 디스플레이(12)에서 구현될 것으로 예상된다고 결정하고, 따라서, 서브-픽셀 위치를 1의 이득 값과 연관시킬 수 있다(프로세스 블록(160)). 이러한 방식으로, 설계 디바이스(94)는 이득 값들을 결정할 수 있으며, 이는, 적용될 때, 블랙 마스크가 디스플레이 영역 외부의 서브-픽셀 위치들에 대응하는 이미지 데이터에 적용되는 결과를 가져온다.
서브-픽셀 위치가 안티-에일리어싱 영역(164) 내에 있을 것으로 예상될 때, 설계 디바이스(94)는 디스플레이 영역의 경계와 서브-픽셀 위치 사이의 예상된 거리를 결정할 수 있다(프로세스 블록(154)). 전술된 바와 같이, 일부 실시예들에서, 디스플레이 영역의 예상된 특성들이 미리결정되고 디바이스 메모리(98)와 같은 메모리 컴포넌트에 저장될 수 있다. 따라서, 그러한 실시예들에서, 설계 디바이스(94)는 메모리 컴포넌트를 폴링하여 디스플레이 영역 경계의 예상된 위치를 결정하고 서브-픽셀 위치와 디스플레이 영역 경계의 예상된 위치 사이의 상대적 거리에 적어도 부분적으로 기초하여 서브-픽셀 위치와 디스플레이 영역 경계 사이의 예상된 위치를 결정할 수 있다.
디스플레이 영역 경계로부터의 최단 거리에 적어도 부분적으로 기초하여, 설계 디바이스(94)는 이득 값을 서브-픽셀 위치와 연관시킬 수 있다(프로세스 블록(156)). 일부 실시예들에서, 이득 값은 서브-픽셀과 디스플레이 영역 경계 사이의 최단 거리에 반비례할 수 있다. 다시 말해서, 이득 값은 서브-픽셀과 디스플레이 영역 경계 사이의 예상된 거리가 증가함에 따라 감소할 수 있다. 이러한 방식으로 결정된 이득 값들을 적용하는 것은 서브-픽셀들을 비교적 선형적으로 디밍할 수 있으며, 이는 디스플레이 영역 경계의 둥근 부분을 따라 인지가능한 에일리어싱을 생성할 가능성을 감소시킬 수 있다.
유사한 방식으로, 설계 디바이스(94)는 이득 값을 각각의 서브-픽셀 위치 및, 따라서, 각각의 픽셀 위치와 연관시킬 수 있다. 전술된 바와 같이, 비압축된 이득은 이득 값 세트를 각각의 픽셀 위치에 명시적으로 연관시킬(예를 들어, 매핑할) 수 있다. 따라서, 설계 디바이스(94)는 각각의 서브-픽셀 위치와 연관된 이득 값에 기초하여 비압축된 이득 맵을 결정할 수 있다.
설명을 돕기 위해, 비압축된 이득 맵(170)의 예가 도 18에 도시된다. 설명된 비압축된 이득 맵(170)은 단지 예시적인 것이며 제한하려는 것으로 의도되지 않는다는 것이 이해되어야 한다. 다시 말해서, 다른 실시예들은 비압축된 이득 맵(170)을 다른 형태들로 구현할 수 있다.
어떤 경우든, 도시된 실시예에서, 비압축된 이득 맵(170)은 다수의 이득 맵 행들(172)로 조직화된 이득 맵 엔트리들(174)을 포함한다. 각각의 이득 맵 엔트리(174)는 픽셀 위치와 대응할 수 있고, 따라서, 픽셀 위치를 이득 값 세트에 명시적으로 매핑할 수 있다. 예를 들어, 제1 이득 맵 엔트리(174A)는 제1 이미지 픽셀(126A)의 픽셀 위치(143)를 이득 값 세트와 연관시킬 수 있다. 전술된 바와 같이, 픽셀 위치는 하나 이상의 서브-픽셀 위치를 포함할 수 있고 이득 값 세트는 픽셀 위치에서의 각각의 서브-픽셀 위치와 대응하는 이득 값을 포함할 수 있다. 다시 말해서, 이득 맵 엔트리(174)는 이득 값을, 대응하는 픽셀 위치에서의 각각의 서브-픽셀 위치에 명시적으로 매핑할 수 있다.
전술된 바와 같이, 비압축된 이득 맵(170)의 크기는 전자 디스플레이(12)의 해상도에 의존할 수 있고, 따라서, 비교적 클 수 있다. 따라서, 일부 실시예들에서, 설계 디바이스(94)는 비압축된 이득(170)을 외부 메모리(44)에 저장할 수 있으며, 이에 의해 직접 메모리 액세스 채널(58)을 통한 비압축된 이득(170)에 대한 액세스를 디스플레이 파이프라인(36)에 제공할 수 있다. 그러나, 전술된 바와 같이, 직접 메모리 액세스 채널(58)을 통한 비압축된 이득(170)에 대한 액세스를 디스플레이 파이프라인(36)에 제공하는 것은, 디스플레이 파이프라인(36)의 구현 관련 비용(예를 들어, 직접 메모리 액세스 채널(58)의 대역폭을 증가시키기 위함) 및/또는 처리 효율에 영향을 줄 수 있다.
따라서, 도 10의 프로세스(112)로 돌아가면, 설계 디바이스(94)는 압축된 이득 맵(90)을 결정할 수 있다(프로세스 블록(116)). 일부 실시예들에서, 압축된 이득 맵(90)은 각각의 픽셀 위치를 이득 값 세트에 간접적으로 연관시킬 수 있다. 예를 들어, 디스플레이 파이프라인(36)은 압축된 이득 맵(90)을 압축해제하여 대응하는 비압축된 이득 맵(170)을 결정함으로써 픽셀 위치와 연관된 이득 값 세트를 결정할 수 있다. 따라서, 일부 실시예들에서, 설계 디바이스(94)는 대응하는 비압축된 이득 맵(170)에 적어도 부분적으로 기초하여 압축된 이득 맵(90)을 결정할 수 있다.
설명을 돕기 위해, 압축된 이득 맵(90)을 결정하기 위한 프로세스(176)의 일 실시예가 도 19에서 설명된다. 일반적으로, 프로세스(176)는 런 맵을 결정하는 것(프로세스 블록(178)), 위치 맵을 결정하는 것(프로세스 블록(180)), 및 이득 값 맵을 결정하는 것(프로세스 블록(182))을 포함한다. 일부 실시예들에서, 프로세스(176)는 디바이스 프로세서(96)와 같은 처리 회로부를 사용하여, 디바이스 메모리(98)와 같은 유형의 비일시적 컴퓨터 판독가능 매체에 저장된 명령어들을 실행함으로써 구현될 수 있다.
따라서, 일부 실시예들에서, 설계 디바이스(94)는 비압축된 이득 맵(170)에 기초하여 런 맵(100)을 결정할 수 있다(프로세스 블록(178)). 전술된 바와 같이, 런 맵(100)은 각각의 행 런 내에 포함된 이득 맵 행들(172)의 수를 나타낸다. 추가적으로, 전술된 바와 같이, 동일한 분류(예를 들어, 코딩된 행 또는 코딩되지 않은 행)를 갖는 하나 이상의 연속적인 이득 맵 행들(172)은 행 런(예를 들어, 코딩된 행 런 또는 코딩되지 않은 행 런)으로 그룹화될 수 있다.
런 맵(100)을 결정하기 위한 프로세스(184)의 일 실시예가 도 20에서 설명된다. 일반적으로, 프로세스(184)는 각각의 이득 맵 엔트리를 분류하는 것(프로세스 블록(185)), 각각의 이득 맵 행을 코딩된 행 또는 코딩되지 않은 행으로서 분류하는 것(프로세스 블록(186)), 연속적인 코딩된 행들을 코딩된 행 런으로 그룹화하는 것(프로세스 블록(188)), 연속적인 코딩되지 않은 행들을 코딩되지 않은 런으로 그룹화하는 것(프로세스 블록(190)), 및 각각의 행 런 내의 이득 맵 행들의 수를 결정하는 것(프로세스 블록(192))을 포함한다. 일부 실시예들에서, 프로세스(184)는 디바이스 프로세서(96)와 같은 처리 회로부를 사용하여, 디바이스 메모리(98)와 같은 유형의 비일시적 컴퓨터 판독가능 매체에 저장된 명령어들을 실행함으로써 구현될 수 있다.
따라서, 일부 실시예들에서, 설계 디바이스(94)는 비압축된 이득 맵(170)을 분석하여, 각각의 이득 맵 엔트리(174)를 0의 이득 맵 엔트리, 중간 이득 맵 엔트리, 또는 1의 이득 맵 엔트리로서 분류할 수 있다(프로세스 블록(185)). 일부 실시예들에서, 이득 맵 엔트리(174)는 그것의 이득 값들 각각이 1일 때 1의 이득 맵 엔트리로서 분류될 수 있다. 추가적으로, 이득 맵 엔트리(174)는 그것의 이득 값들 각각이 0일 때 0의 이득 맵 엔트리로서 분류될 수 있다. 또한, 이득 맵 엔트리(174)는 그것의 이득 값들 중 적어도 하나가 중간 이득 값(예를 들어, 0보다 크고 1보다 작음)일 때 중간 이득 맵 엔트리로서 분류될 수 있다.
예를 들어, 도 18의 비압축된 이득 맵(170)에 관하여, 설계 디바이스(94)는 제1 이득 맵 행(172A) 내의 처음 N개의 이득 맵 엔트리들(174) 각각을 0의 이득 맵 엔트리(174Z)로서 분류하고, 제1 이득 맵 행(172A) 내의 다음 M개의 이득 맵 엔트리들 각각을 중간 이득 맵 엔트리(174I)로서 분류할 수 있다. 추가적으로, 설계 디바이스(94)는 제2 이득 맵 행(172B) 내의 처음 N-1개의 이득 맵 엔트리들(174) 각각을 0의 이득 맵 엔트리(174Z)로서 분류하고, 제2 이득 맵 행(172B) 내의 다음 M개의 이득 맵 엔트리들 각각을 중간 이득 맵 엔트리(174I)로서 분류할 수 있다. 또한, 설계 디바이스(94)는 제7 이득 맵 행(172C) 내의 각각의 이득 맵 엔트리(174)를 1의 이득 맵 엔트리(174U)로서 분류할 수 있다. 이러한 방식으로, 설계 디바이스(94)는 비압축된 이득 맵(170) 내의 각각의 이득 맵 엔트리(174)를 0의 이득 맵 엔트리(174Z), 중간 이득 맵 엔트리(174I), 또는 1의 이득 맵 엔트리(174U)로서 분류할 수 있다.
도 20의 프로세스(184)로 돌아가면, 이득 맵 엔트리들(174)의 분류에 적어도 부분적으로 기초하여, 설계 디바이스(94)는 각각의 이득 맵 행들(172)을 코딩된 행 또는 코딩되지 않은 행 중 어느 하나로서 분류할 수 있다(프로세스 블록(186)). 전술된 바와 같이, 이득 맵 행(172)은, 그것의 이득 맵 엔트리들(174) 중 적어도 하나가 중간 이득 값 또는 0의 이득 값을 포함할 때 코딩된 행으로서 분류될 수 있다. 다시 말해서, 설계 디바이스(94)는 이득 맵 행(172)이 적어도 하나의 0의 이득 맵 엔트리(174Z) 또는 중간 이득 맵 엔트리(174)를 포함할 때 이득 맵 행(172)을 코딩된 행으로서 분류할 수 있다. 예를 들어, 도 18의 비압축된 이득 맵(170)에 관하여, 설계 디바이스(94)는 처음 6개의 이득 맵 행들(172) 각각을 코딩된 행으로서 분류할 수 있는데, 이는 각각이 다수의 0의 이득 맵 엔트리들(174Z) 및 중간 이득 맵 엔트리들(174)을 포함하기 때문이다.
추가적으로, 전술된 바와 같이, 이득 맵 행(172)은 이득 맵 행(172)이 1의 이득 값들만을 포함할 때 코딩되지 않은 행으로서 분류될 수 있다. 다시 말해서, 설계 디바이스(94)는 이득 맵 행(172)이 1의 이득 맵 엔트리들(174U)만을 포함할 때 이득 맵 행(172)을 코딩되지 않은 행으로서 분류할 수 있다. 예를 들어, 도 18의 비압축된 이득 맵(170)에 관하여, 설계 디바이스(94)는 다음 4개의 이득 맵 행들(172) 각각을 코딩되지 않은 행으로서 분류할 수 있는데, 이는 각각이 1의 이득 맵 엔트리들(174U)만을 포함하기 때문이다. 이러한 방식으로, 설계 디바이스(94)는 비압축된 이득 맵(170) 내의 각각의 이득 맵 행(172)을 코딩된 행 또는 코딩되지 않은 행 중 어느 하나로서 분류할 수 있다.
도 20의 프로세스(184)로 돌아가면, 설계 디바이스(94)는 그것의 행 분류에 적어도 부분적으로 기초하여 각각의 이득 맵 행(172)을 행 런으로 그룹화할 수 있다. 특히, 설계 디바이스(94)는 하나 이상의 연속적인 이득 맵 행(172) - 각각 코딩된 행으로서 분류됨 - 을 코딩된 행 런으로 그룹화할 수 있다(프로세스 블록(188)). 추가적으로, 설계 디바이스(94)는 하나 이상의 연속적인 이득 맵 행(172) - 각각 코딩되지 않은 행으로서 분류됨 - 을 코딩되지 않은 행 런으로 그룹화할 수 있다(프로세스 블록(190)). 예를 들어, 도 18의 비압축된 이득 맵(170)에 관하여, 설계 디바이스(94)는 처음 6개의 이득 맵 행들(172)을 제1 행 런(194A)(예를 들어, 코딩된 행 런)으로 그룹화할 수 있는데, 이는 각각이 코딩된 행으로서 분류되기 때문이다. 추가적으로, 설계 디바이스(94)는 다음 4개의 이득 맵 행들(172)을 제2 행 런(194B)(예를 들어, 코딩되지 않은 행 런)으로 그룹화할 수 있는데, 이는 각각이 코딩되지 않은 행으로서 분류되기 때문이다. 이러한 방식으로, 설계 디바이스(94)는 비압축된 이득 맵(170)의 각각의 이득 맵 행(172)을 행 런으로 그룹화할 수 있다.
도 20의 프로세스(184)로 돌아가면, 설계 디바이스(94)는 각각의 행 런 내의 이득 맵 행들(172)의 수를 결정할 수 있다(프로세스 블록(192)). 예를 들어, 도 18의 비압축된 이득 맵(170)에 관하여, 설계 디바이스(94)는 제1 행 런(194A)이 6개의 이득 맵 행들(172)을 포함한다고 결정하고, 따라서, 제1 런 맵 엔트리 내에 6의 값을 나타낼 수 있다. 추가적으로, 설계 디바이스(94)는 제2 행 런(194B)이 4개의 이득 맵 행들(172)을 포함한다고 결정하고, 따라서, 제2 런 맵 엔트리 내에 4의 값을 나타낼 수 있다. 이러한 방식으로, 설계 디바이스(94)는, 각각의 런 맵 엔트리들이 대응하는 행 런 내에 포함된 비압축된 이득 맵(170)의 이득 맵 행(172)의 수를 나타내도록, 런 맵(100)을 결정할 수 있다.
후속 압축해제를 용이하게 하기 위해, 일부 실시예들에서, 런 맵(100)은 각각의 행 런(194)이 코딩된 행 런 또는 코딩되지 않은 행 런인지 여부를 명시적으로 나타낼 수 있다. 다른 실시예들에서, 압축된 이득 맵(90)의 크기를 감소시키는 것을 추가로 용이하게 하기 위해, 설계 디바이스(94)는 시작 행 런 표시자(108)를 결정하고 연속적인 행 런들(194)을 코딩된 행 런들 및 코딩되지 않은 행 런들로서 분류하는 것 사이에서 교번할 수 있다. 그러한 실시예들에서, 제1 행 런(194A)의 분류는 시작 행 런 표시자(108)에 기초하여 결정될 수 있고 각각의 후속 행 런(194)의 분류는 바로 이전(예를 들어, 상부 이웃) 행 런(194)의 분류에 기초하여 결정될 수 있으며, 이에 의해, 그렇지 않으면 후속 행 런들(194) 각각이 코딩된 행 런 또는 코딩되지 않은 행 런인지 여부를 명시적으로 특정하는 데 사용될 수 있는 비트들을 제거한다. 이러한 방식으로, 설계 디바이스(94)는 예를 들어, 디스플레이 파이프라인(36)에 의해 각각의 행 런(194)의 분류 및, 따라서, 각각의 이득 맵 행(172) 및/또는 코딩되지 않은 행들 내의 픽셀 위치들과 연관된 이득 값들의 분류를 결정하는 것을 용이하게 하기 위해, 런 맵(100) 및 하나 이상의 시작 행 런 표시자(108)를 결정할 수 있다.
도 19의 프로세스(176)로 돌아가면, 설계 디바이스(94)는 비압축된 이득 맵(170)에 적어도 부분적으로 기초하여 위치 맵(102)을 결정할 수 있다(프로세스 블록(180)). 전술된 바와 같이, 위치 맵(102)은 코딩된 행의 각각의 이득 런 내에 포함된 이득 맵 엔트리들(174)의 수를 나타낼 수 있다. 추가적으로, 전술된 바와 같이, 동일한 분류를 갖는 하나 이상의 연속적인 이득 맵 엔트리는 이득 런으로 분류될 수 있다.
위치 맵(102)을 결정하기 위한 프로세스(196)의 일 실시예가 도 21에서 설명된다. 일반적으로, 프로세스(196)는 연속적인 위치 이득 맵 엔트리들을 위치 이득 런으로 그룹화하는 것(프로세스 블록(198)), 연속적인 중간 이득 맵 엔트리들을 중간 이득 런으로 그룹화하는 것(프로세스 블록(200)), 이전 행에 비교한 현재 행 내의 이득 런 사이의 위치 차이를 결정하는 것(프로세스 블록(202)), 및 위치 차이들을 엔트로피 인코딩하는 것(프로세스 블록(204))을 포함한다. 일부 실시예들에서, 프로세스(196)는 디바이스 프로세서(96)와 같은 처리 회로부를 사용하여, 디바이스 메모리(98)와 같은 유형의 비일시적 컴퓨터 판독가능 매체에 저장된 명령어들을 실행함으로써 구현될 수 있다.
따라서, 일부 실시예들에서, 설계 디바이스(94)는 각각의 엔트리 분류에 적어도 부분적으로 기초하여 코딩된 행 내의 연속적인 이득 맵 엔트리들(174)을 이득 런들로 그룹화할 수 있다. 특히, 설계 디바이스(94)는 하나 이상의 연속적인 0의 이득 맵 엔트리(174Z) 또는 하나 이상의 연속적인 1의 이득 맵 엔트리(174U)를 위치 이득 런으로 그룹화할 수 있다(프로세스 블록(198)). 다시 말해서, 위치 이득 런은 0의 이득 맵 엔트리들(174Z)만을 포함하는 0의 이득 런, 또는 1의 이득 맵 엔트리들(174U)만을 포함하는 1의 이득 런일 수 있다. 추가적으로, 설계 디바이스(94)는 하나 이상의 연속적인 중간 이득 맵 엔트리(174I)를 중간 이득 런으로 그룹화할 수 있다(프로세스 블록(200)).
예를 들어, 도 18의 비압축된 이득 맵(170)에 관하여, 설계 디바이스(94)는 제1 이득 맵 행(172A) 내의 처음 N개의 이득 맵 엔트리들(174)을 제1 위치 이득 런(206A)으로 그룹화할 수 있는데, 이는 각각이 0의 이득 맵 엔트리(174Z)로서 분류되기 때문이다. 추가적으로, 설계 디바이스(94)는 제1 이득 맵 행(172A) 내의 다음 M개의 이득 맵 엔트리들(174)을 제1 중간 이득 런(208A)으로 그룹화할 수 있는데, 이는 각각이 중간 이득 맵 엔트리(174I)로서 분류되기 때문이다. 또한, 설계 디바이스(94)는 제2 이득 맵 행(172) 내의 처음 N-1개의 이득 맵 엔트리들(174)을 제2 위치 이득 런(206B)으로 그리고 다음 M개의 이득 엔트리들을 제2 중간 이득 런(208B)으로 그룹화할 수 있다.
각각의 앞선 이득 런 내의 이득 맵 엔트리들(174)의 수에 적어도 부분적으로 기초하여, 이득 맵 엔트리들(174) 및, 따라서, 각각의 이득 런 내에 포함된 픽셀 위치들이 결정될 수 있다. 예를 들어, 제1 위치 이득 런(206A)이 N개의 이득 맵 엔트리들(174)을 포함함을 나타내는 것은, 제1 이득 맵 행(172A)의 처음 N개의 이득 맵 엔트리들(174)이 제1 내에 포함되고 제1 중간 이득 런(208A)이 제1 이득 맵 행(172A)의 N+1번째 이득 맵 엔트리(174)에서 시작된다고 결정하는 것을 가능하게 한다. 추가적으로, 제1 중간 이득 런(208A)이 M개의 이득 맵 엔트리들(174)을 포함함을 나타내는 것은, 제1 이득 맵 행(172A)의 다음 M개의 이득 맵 엔트리들(174)이 제1 중간 이득 런(208A) 내에 포함되고 제1 중간 이득 런(208A)이 제1 이득 맵 행(172A)의 N+M번째 이득 맵 엔트리(174)에서 종료된다고 결정하는 것을 가능하게 한다. 따라서, 후속 압축해제를 용이하게 하기 위해, 일부 실시예들에서, 위치 맵(102)은 각각의 이득 런 내에 포함된 이득 맵 엔트리들(174)의 수를 명시적으로 나타낼 수 있다.
도 21의 프로세스(196)로 돌아가면, 다른 실시예들에서, 설계 디바이스(94)는 바로 이전(예를 들어, 상부 이웃) 행에 비교한 현재 행 내의 이득 런의 위치 차이를 결정하고(프로세스 블록(202)) 위치 차이를 엔트로피 인코딩하여(프로세스 블록(204)), 압축된 이득 맵(90)의 크기를 감소시키는 것을 추가로 용이하게 할 수 있다. 일부 실시예들에서, 위치 차이는 현재 행 내의 이득 런의 시작 이득 맵 엔트리(174) 및 바로 이전 행 내의 대응하는 이득 런의 시작 이득 맵 엔트리(174)를 분리시키는 픽셀 위치들의 수를 나타낼 수 있다.
예를 들어, 도 18의 비압축된 이득 맵(170)에 관하여, 설계 디바이스(94)는 제1 중간 이득 런(208A)이 제1 이득 맵 행(172A)의 N+1번째 이득 맵 엔트리(174)에서 시작된다고 결정할 수 있다. 추가적으로, 설계 디바이스(94)는 제2 중간 이득 런(208B)이 제2 이득 맵 행(172B)의 N번째 이득 맵 엔트리(174)에서 시작된다고 결정할 수 있다. 따라서, 제2 이득 맵 행(172B)의 제2 위치 이득 런이 N-1개의 이득 맵 엔트리들(174)을 포함함을 명시적으로 나타내는 대신에, 제2 중간 이득 런(208)의 시작 이득 맵 엔트리(174)가 제1 이득 맵 행(172A) 내의 제1 중간 이득 런(208)의 시작 이득 맵 엔트리(174)보다 하나의 픽셀 위치 전인 것으로서 나타내어질 수 있다. 추가적으로, 일부 실시예들에서, 위치 차이는 지수 골롬(exponential-Golomb) 인코딩 알고리즘을 사용하여 엔트로피 인코딩될 수 있다. 이러한 방식으로, 설계 디바이스(94)는 코딩된 행의 각각의 이득 런 내의 픽셀 위치들을 결정하는 것을 용이하게 하기 위해 위치 맵(102)을 결정할 수 있다.
어떤 경우든, 후속 압축해제를 용이하게 하기 위해, 압축된 이득 맵(90)은 위치 이득 런이 0의 이득 런 또는 1의 이득 런인지 여부를 나타낼 수 있다. 전술된 바와 같이, 위치 이득 값 표시자(110)는 대응하는 위치 이득 런 내의 각각의 이득 맵 엔트리(174)의 이득 값을 나타낼 수 있다. 따라서, 설계 디바이스(94)는 위치 이득 값 표시자(110)를 결정하고 각각의 위치 이득 런과 연관시킬 수 있다.
예를 들어, 도 18의 비압축된 이득 맵(170)에 관하여, 설계 디바이스(94)는 제1 위치 이득 값 표시자(110)를 제1 위치 이득 런(206A)과 연관시킬 수 있으며, 이는 제1 위치 이득 런 내의 각각의 이득 맵 엔트리(174)가 0의 이득 맵 엔트리(174Z)임을 나타낸다. 추가적으로, 설계 디바이스(94)는 제2 위치 이득 값 표시자(110)를 제2 위치 이득 런(206B)과 연관시킬 수 있으며, 이는 제2 위치 이득 런 내의 각각의 이득 맵 엔트리(174)가 0의 이득 맵 엔트리(174Z)임을 나타낸다. 추가적으로 또는 대안적으로, 설계 디바이스(94)는 위치 이득 값 표시자(110)를 위치 이득 런과 연관시킬 수 있으며, 이는 위치 이득 런 내의 각각의 이득 맵 엔트리(174)가 1의 이득 맵 엔트리(174U)임을 나타낸다. 이러한 방식으로, 설계 디바이스(94)는 예를 들어, 디스플레이 파이프라인(36)에 의해, 위치 이득 런 내의 각각의 픽셀 위치와 연관된 이득 값들을 결정하는 것을 용이하게 하기 위해 위치 맵(102) 및 하나 이상의 위치 이득 값 표시자(110)를 결정할 수 있다.
도 17의 프로세스(176)로 돌아가면, 설계 디바이스(94)는 비압축된 이득 맵(170)에 적어도 부분적으로 기초하여 이득 값 맵(104)을 결정할 수 있다(프로세스 블록(182)). 전술된 바와 같이, 이득 값 맵(104)은 이득 맵 엔트리들(174)의 이득 값들 및, 따라서, 각각의 중간 이득 런 내의 대응하는 픽셀 위치와 연관된 이득 값들을 나타낼 수 있다. 추가적으로, 일부 실시예들에서, 이득 값 맵(104)은 바로 이전(예를 들어, 좌측 이웃) 이득 맵 엔트리(174)의 이득 값들에 적어도 부분적으로 기초하여 이득 맵 엔트리(174)의 이득 값들을 나타낼 수 있다.
이득 값 맵(104)을 결정하기 위한 프로세스(210)의 일 실시예가 도 22에서 설명된다. 일반적으로, 프로세스(210)는 이득 값을 결정하는 것(프로세스 블록(212)), 이득 값이 이전 이득 값과 같은지 여부를 결정하는 것(결정 블록(214)), 및 이득 값이 이전 이득 값과 같을 때 0 비트를 저장하는 것(프로세스 블록(216))을 포함한다. 추가적으로, 이득 값이 이전 이득 값과 같지 않을 때, 프로세스(210)는 1 비트를 저장하는 것(프로세스 블록(218)), 이득 값이 0과 같은지 여부를 결정하는 것(결정 블록(220)), 이득 값이 0과 같을 때 0 비트를 저장하는 것(프로세스 블록(222)), 및 이득 값이 0과 같지 않을 때 이득 값을 엔트로피 인코딩하는 것(프로세스 블록(224))을 포함한다. 일부 실시예들에서, 프로세스(210)는 디바이스 프로세서(96)와 같은 처리 회로부를 사용하여, 디바이스 메모리(98)와 같은 유형의 비일시적 컴퓨터 판독가능 매체에 저장된 명령어들을 실행함으로써 구현될 수 있다.
따라서, 일부 실시예들에서, 설계 디바이스(94)는 비압축된 이득 맵(170)으로부터 중간 이득 런 내의 현재 이득 맵 엔트리(174)와 연관된 이득 값을 결정할 수 있다(프로세스 블록(212)). 추가적으로, 설계 디바이스(94)는 비압축된 이득 맵(170)으로부터 바로 이전 이득 맵 엔트리(174)와 연관된 이득 값을 결정할 수 있다. 일부 실시예들에서, 디스플레이 픽셀 행과 대응하는 이미지 데이터는 좌측으로부터 우측으로 처리될 수 있다. 따라서, 그러한 실시예들에서, 바로 이전 이득 맵 엔트리(174)는 현재 이득 맵 엔트리(174)의 좌측 이웃일 수 있다.
전술된 바와 같이, 이득 맵 엔트리(174)는 상이한 색상 컴포넌트 및/또는 상이한 서브-픽셀과 각각 연관된 다수의 이득 값들을 포함할 수 있다. 일반적으로, 인접한 디스플레이 픽셀들(136)에 적용될 이득 값들에 영향을 미치는 인자들은 비교적 작을 수 있다. 이와 같이, 인접한 픽셀 위치들에서의 동일한 색상 컴포넌트에 대응하는 이득 값들은 비교적 작거나 심지어 동일할 수도 있다. 따라서, 설계 디바이스(94)는 현재 이득 맵 엔트리(174) 내에 포함된 이득 값을 바로 이전 이득 맵 엔트리(174) 내의 동일한 색상 컴포넌트와 연관된 이득 값과 비교하여 이들이 같은지 여부를 결정할 수 있다(결정 블록(214)).
이득 값들이 같을 때, 설계 디바이스(94)는 이득 값 맵(104)에 0 비트를 저장할 수 있다(프로세스 블록(216)). 한편, 이득 값들이 같지 않을 때, 설계 디바이스(94)는 이득 값 맵(104)에 1 비트를 저장할 수 있다(프로세스 블록(218)). 따라서, 압축된 이득 맵(90)이 후속적으로 압축해제될 때, 현재 이득 맵 엔트리(174)와 연관된 제1 비트는 현재 이득 맵 엔트리(174) 내의 이득 값이 바로 이전 이득 맵 엔트리(174) 내의 대응하는 이득 값과 동일한지 여부를 나타낼 수 있다. 게다가, 이득 값들이 같을 때, 이러한 방식으로 압축하는 것은, 그렇지 않았으면 이득 값들 중 하나 이상을 명시적으로 나타내는 데 사용되었을 비트들을 제거할 수 있으며, 이에 의해 압축된 이득 맵(90)의 크기가 감소될 수 있게 한다.
이득 값들이 같지 않을 때, 설계 디바이스(94)는 현재 이득 맵 엔트리(174) 내의 이득 값이 0과 같은지 여부를 결정할 수 있다(결정 블록(220)). 추가적으로, 현재 이득 맵 엔트리(174) 내의 이득 값이 0과 같을 때, 설계 디바이스(94)는 이득 값 맵(104)에 0 비트를 저장할 수 있다(프로세스 블록(222)). 따라서, 현재 이득 맵 엔트리(174)의 이득 값이 0과 같을 때, 이러한 방식으로 압축하는 것은, 그렇지 않았으면 이득 값을 명시적으로 나타내는 데 사용되었을 비트들을 제거할 수 있으며, 이에 의해 압축된 이득 맵(90)의 크기가 감소될 수 있게 한다.
한편, 이득 값이 0과 같지 않을 때, 설계 디바이스(94)는 현재 이득 맵 엔트리(174)의 이득 값을 엔트로피 인코딩할 수 있다(프로세스 블록(224)). 일부 실시예들에서, 설계 디바이스(94)는 지수 골롬 인코딩 알고리즘을 사용하여 이득 값을 엔트로피 인코딩할 수 있다. 이러한 방식으로, 설계 디바이스(94)는 이득 값 맵 엔트리들이 각각의 중간 이득 런 내의 픽셀 위치들과 연관된 이득 값들을 나타내도록 이득 값 맵(104)을 결정할 수 있다.
전술된 압축 기술들을 활용하여, 설계 디바이스(94)는 압축된 이득 맵(90)을 결정할 수 있으며, 이는 런 맵(100), 위치 맵(102), 이득 값 맵(104), 및 하나 이상의 프로그램가능 표시자(예를 들어, 시작 행 런 표시자(108) 및/또는 위치 이득 값 표시자(110))를 포함한다. 예를 들어, 디스플레이 영역 경계를 따라 이득 값들을 적용하도록 구현되지 않을 때에도, 압축 기술들은 임의의 비압축된 이득 맵(170)에 적용가능할 수 있음을 이해해야 한다. 일부 실시예들에서, 설명된 압축 기술들의 압축 효율은, 코딩되지 않은 행들의 수가 증가하고, 위치 이득 런들 내의 픽셀 위치들의 수가 증가하고, 동일한 이득 값과 연관된 연속적인 픽셀 위치들의 수가 증가하고, 그리고/또는 중간 이득 런들 내의 픽셀 위치들의 수가 감소함에 따라, 향상될 수 있다. 따라서, 일부 실시예들에서, 압축 기술들은 비교적 균일한 콘텐츠에 적용될 이득 맵을 압축하는 데 유용할 수 있다.
도 10의 프로세스(112)로 돌아가면, 설계 디바이스(94)는 메모리 컴포넌트로부터의 후속 액세스를 가능하게 하기 위해 압축된 이득 맵(90)을 메모리 컴포넌트에 저장할 수 있다(프로세스 블록(118)). 전술된 바와 같이, 압축된 이득 맵(90)의 크기는 대응하는 비압축된 이득 맵(170)의 크기보다 작을 수 있다. 일부 실시예들에서, 이러한 크기의 감소는 압축된 이득 맵(90)이 디스플레이 파이프라인(36)의 내부 메모리(46)에 저장될 수 있게 하며, 이는 전술된 바와 같이, 처리 효율을 향상시키는 것 및/또는 구현 관련 비용을 감소시키는 것을 용이하게 할 수 있다. 다른 실시예들에서, 압축된 이득 맵(90)은 그럼에도 불구하고 외부 메모리(44)에 저장될 수 있다. 어떤 경우든, 전술된 바와 같이, 서브-픽셀 레이아웃 리샘플러 블록(56)은 이득 맵에 후속적으로 액세스하여, 이득 맵에 의해 나타내어진 이득 값들에 적어도 부분적으로 기초하여 이미지 데이터를 처리할 수 있다.
설명을 돕기 위해, 서브-픽셀 레이아웃 리샘플러 블록(56)을 동작시키기 위한 프로세스(226)의 일 실시예가 도 23에서 설명된다. 일반적으로, 프로세스(226)는 이미지 픽셀 이미지 데이터를 디-감마 변환하는 것(프로세스 블록(228)), 이득 맵으로부터 이득 값을 결정하는 것(프로세스 블록(230)), 이미지 픽셀 이미지 데이터를 필터링하여 디스플레이 픽셀 이미지 데이터를 결정하는 것(프로세스 블록(232)), 이득 값을 디스플레이 픽셀 이미지 데이터에 적용하는 것(프로세스 블록(234)), 디스플레이 픽셀 이미지 데이터를 리-감마 변환하는 것(프로세스 블록(236)), 및 디스플레이 픽셀 이미지 데이터를 업스케일링하는 것(프로세스 블록(238))을 포함한다. 일부 실시예들에서, 프로세스(226)는 디스플레이 파이프라인(36) 내에 형성된 회로 연결부들에 기초하여 구현될 수 있다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 프로세스(226)는 제어기 프로세서(50)와 같은 처리 회로부를 사용하여, 제어기 메모리(52)와 같은 유형의 비일시적 컴퓨터 판독가능 매체에 저장된 명령어들을 실행함으로써 구현될 수 있다.
따라서, 일부 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 이미지 픽셀 이미지 데이터(70)를 디-감마 변환할 수 있다(프로세스 블록(228)). 전술된 바와 같이, 서브-픽셀 레이아웃 리샘플러 블록(56)은 이미지 픽셀 이미지 데이터(70)를 감마(예를 들어, 비-선형) 도메인에서 수신할 수 있다. 후속 처리를 용이하게 하기 위해, 서브-픽셀 레이아웃 리샘플러 블록(56)은 이미지 픽셀 이미지 데이터(70)를 감마 도메인으로부터 선형 도메인으로 변환함으로써 디-감마할 수 있다.
추가적으로, 서브-픽셀 레이아웃 리샘플러 블록(56)은 이득 맵으로부터 하나 이상의 이득 값을 결정할 수 있다(프로세스 블록(230)). 전술된 바와 같이, 일부 실시예들에서, 비압축된 이득 맵(170)은 외부 메모리(44)에 저장될 수 있다. 따라서, 그러한 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 직접 메모리 액세스 채널(58)을 통해 외부 메모리(44)로부터 비압축된 이득 맵(170)의 적어도 일부분(예를 들어, 이득 맵 엔트리(174))을 인출할 수 있으며, 이는 대응하는 픽셀 위치와 연관된 하나 이상의 이득 값을 명시적으로 나타낸다.
전술된 바와 같이, 다른 실시예들에서, 압축된 이득 맵(90)은 내부 메모리(46)에 저장될 수 있다. 따라서, 그러한 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 내부 메모리(46)로부터 압축된 이득 맵(90)의 적어도 일부분을 인출할 수 있다. 압축되었으므로, 서브-픽셀 레이아웃 리샘플러 블록(56)은 압축된 이득 맵(90)을 압축해제하여 대응하는 픽셀 위치와 연관된 하나 이상의 이득 값을 결정할 수 있다.
압축된 이득 맵(90)을 압축해제하기 위한 프로세스(240)의 일 실시예가 도 24에서 설명된다. 일반적으로, 프로세스(240)는 픽셀 위치를 결정하는 것(프로세스 블록(242)), 런 맵을 판독하는 것(프로세스 블록(244)), 픽셀 위치가 코딩되지 않은 행 내에 있는지 여부를 결정하는 것(결정 블록(246)), 및 픽셀 위치가 코딩되지 않은 행 내에 있을 때 픽셀 위치와 연관된 각각의 이득 값이 1의 이득 값이라고 결정하는 것(프로세스 블록(248))을 포함한다. 픽셀 위치가 코딩되지 않은 행 내에 있지 않을 때, 프로세스(240)는 위치 맵을 판독하는 것(프로세스 블록(250)), 픽셀 위치가 중간 이득 런 내에 있는지 여부를 결정하는 것(결정 블록(252)), 픽셀 위치가 중간 이득 런 내에 있지 않을 때 위치 이득 값 표시자에 기초하여 픽셀 위치와 연관된 각각의 이득 값을 결정하는 것(프로세스 블록(254)), 및 픽셀 위치가 중간 이득 런 내에 있을 때 이득 값 맵을 판독하는 것(프로세스 블록(256))을 포함한다. 일부 실시예들에서, 프로세스(240)는 디스플레이 파이프라인(36) 내에 형성된 회로 연결부들에 기초하여 구현될 수 있다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 프로세스(240)는 제어기 프로세서(50)와 같은 처리 회로부를 사용하여, 제어기 메모리(52)와 같은 유형의 비일시적 컴퓨터 판독가능 매체에 저장된 명령어들을 실행함으로써 구현될 수 있다.
따라서, 일부 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 수신된 이미지 픽셀 이미지 데이터(70)와 대응하는 픽셀 위치를 결정할 수 있다(프로세스 블록(242)). 일부 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 비트 스트림으로서 이미지 픽셀 이미지 데이터(70)를 수신할 수 있다. 따라서, 그러한 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 이미지 픽셀 이미지 데이터(70)가 수신되는 순서 및/또는 전자 디스플레이(12)의 해상도에 적어도 부분적으로 기초하여 픽셀 위치를 결정할 수 있다. 픽셀 위치에 기초하여, 서브-픽셀 레이아웃 리샘플러 블록(56)은 대응하는 이득 맵 엔트리(174) 및, 따라서, 이득 맵 엔트리(174)를 포함하는 이득 맵 행(172)을 결정할 수 있다.
추가적으로, 서브-픽셀 레이아웃 리샘플러 블록(56)은 런 맵(100)을 판독하여 이득 맵 행(172)의 행 분류를 결정할 수 있다(프로세스 블록(244)). 전술된 바와 같이, 런 맵(100)은 각각의 행 런(194) 내에 포함된 이득 맵 행들(172)의 수를 나타낼 수 있다. 따라서, 런 맵(100)에 적어도 부분적으로 기초하여, 서브-픽셀 레이아웃 리샘플러 블록(56)은 이득 맵 행(172)을 포함하는 행 런(194) 및, 따라서, 픽셀 위치를 식별할 수 있다. 일부 실시예들에서, 런 맵(100)은 디스플레이 파이프라인(36)의 내부 메모리(46)에 저장될 수 있다. 따라서, 그러한 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 내부 메모리(46)로부터 런 맵(100)을 판독할 수 있다.
행 런의 분류를 결정하는 것을 용이하게 하기 위해, 서브-픽셀 레이아웃 리샘플러 블록(56)은 시작 행 런 표시자(108)를 판독할 수 있다. 전술된 바와 같이, 시작 행 런 표시자(108)는 대응하는 행 런(194)이 코딩된 행 런 또는 코딩되지 않은 행 런인지 여부를 나타낼 수 있다. 압축된 이득 맵(90)의 크기를 감소시키는 것을 용이하게 하기 위해, 일부 실시예들에서, 시작 행 런 표시자(108)는 제1 행 런(194A)에 대해서만 특정될 수 있다. 그러한 실시예들에서, 행 런(194)이 제1 행 런(194A)이 아닐 때, 서브-픽셀 레이아웃 리샘플러 블록(56)은 바로 이전(예를 들어, 상부 이웃) 행 런(194)의 분류에 적어도 부분적으로 기초하여 행 런(194)의 분류를 결정할 수 있다. 다시 말해서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 제1 행 런(194A)으로부터 행 런(194)을 분리시키는 다른 행 런들(194)의 수에 기초하여 행 런(194)의 분류를 결정할 수 있다.
따라서, 런 맵(100) 및 시작 행 런 표시자(108)에 적어도 부분적으로 기초하여, 서브-픽셀 레이아웃 리샘플러 블록(56)은 행 런(194)이 코딩되지 않은 행 런인지 여부 및, 따라서, 픽셀 위치를 포함하는 이득 맵 행(172)이 코딩되지 않은 행인지 여부를 결정할 수 있다(결정 블록(246)). 전술된 바와 같이, 이득 맵 행(172)은, 이득 값들 각각이 1과 같을 때, 코딩되지 않은 행일 수 있다. 따라서, 이득 맵 행(172)이 코딩되지 않은 행일 때, 서브-픽셀 레이아웃 리샘플러 블록(56)은 이미지 픽셀 이미지 데이터(70)를 처리하는 데 사용될 각각의 이득 값이 1의 이득 값이라고 결정할 수 있다(프로세스 블록(248)).
한편, 코딩되지 않은 행이 아닐 때, 서브-픽셀 레이아웃 리샘플러 블록(56)은 이득 맵 행(172)이 코딩된 행이라고 결정하고, 따라서, 위치 맵(102)을 판독할 수 있다(프로세스 블록(250)). 전술된 바와 같이, 위치 맵(102)은 코딩된 행의 각각의 이득 런 내에 포함된 픽셀 위치들을 나타낼 수 있다. 일부 실시예들에서, 위치 맵(102)은 디스플레이 파이프라인(36)의 내부 메모리(46)에 저장될 수 있다. 따라서, 그러한 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 내부 메모리(46)로부터 위치 맵(102)을 판독할 수 있다.
추가적으로, 일부 실시예들에서, 위치 맵(102)은 엔트로피 인코딩될 수 있다. 따라서, 그러한 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 위치 맵(102)을 엔트로피 디코딩함으로써 각각의 이득 런 내에 포함된 픽셀 위치들을 결정할 수 있다. 예를 들어, 서브-픽셀 레이아웃 리샘플러 블록(56)은 지수 골롬 디코딩 알고리즘을 사용하여 위치 맵(102)을 엔트로피 디코딩할 수 있다. 또한, 일부 실시예들에서, 위치 맵(102)은 위치 차이에 기초하여, 이득 런 내에 포함된 픽셀 위치들을 다른 이득 런에 대하여 나타낼 수 있다. 따라서, 그러한 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 다른 이득 런 내의 (예를 들어, 시작 또는 종료) 픽셀 위치에 위치 차이를 적용함으로써 이득 런 내에 포함된 픽셀 위치들을 결정할 수 있다.
위치 맵(102)에 적어도 부분적으로 기초하여, 서브-픽셀 레이아웃 리샘플러 블록(56)은 픽셀 위치가 중간 이득 런 내에 있는지 여부를 결정할 수 있다(결정 블록(252)). 전술된 바와 같이, 중간 이득 런 내의 각각의 이득 맵 엔트리(174)는 하나 이상의 중간 이득 값(예를 들어, 0보다 크고 1보다 작음)을 포함한다. 따라서, 중간 이득 런 내에 있지 않을 때, 서브-픽셀 레이아웃 리샘플러 블록(56)은 픽셀 위치가 위치 런 내에 있다고 결정하고, 따라서, 대응하는 위치 이득 값 표시자(110)에 기초하여 이미지 픽셀 이미지 데이터(70)를 처리하는 데 사용될 이득 값들을 결정할 수 있다. 일부 실시예들에서, 위치 이득 값 표시자(110)는 프로그램가능 레지스터(106)에 저장될 수 있다. 따라서, 그러한 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 프로그램가능 레지스터(106)를 폴링함으로써 위치 이득 값 표시자(110)를 결정할 수 있다.
한편, 중간 이득 런 내에 있을 때, 서브-픽셀 레이아웃 리샘플러 블록(56)은 이득 값 맵(104)을 판독할 수 있다(프로세스 블록(256)). 전술된 바와 같이, 이득 값 맵(104)은 중간 이득 런 내의 이득 값들을 나타낼 수 있다. 일부 실시예들에서, 이득 값 맵(104)은 디스플레이 파이프라인(36)의 내부 메모리(46)에 저장될 수 있다. 따라서, 그러한 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 내부 메모리(46)로부터 이득 값 맵(104)을 판독할 수 있다.
추가적으로, 일부 실시예들에서, 이득 값 맵(104)은 엔트로피 인코딩될 수 있다. 따라서, 그러한 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 이득 값 맵(104)을 엔트로피 디코딩함으로써 픽셀 위치와 연관된 이득 값들을 결정할 수 있다. 예를 들어, 서브-픽셀 레이아웃 리샘플러 블록(56)은 지수 골롬 디코딩 알고리즘을 사용하여 이득 값 맵(104)을 엔트로피 디코딩할 수 있다. 이러한 방식으로, 서브-픽셀 레이아웃 리샘플러 블록(56)은 압축된 이득 맵(90)을 압축해제하여 이미지 픽셀 이미지 데이터(70)와 대응하는 픽셀 위치와 연관된 하나 이상의 이득 값을 결정할 수 있다.
도 23의 프로세스(226)로 돌아가면, 서브-픽셀 레이아웃 리샘플러 블록(56)은 이미지 픽셀 이미지 데이터(70)를 필터링하여 대응하는 디스플레이 픽셀 이미지 데이터(72)를 결정할 수 있다(프로세스 블록(232)). 전술된 바와 같이, 서브-픽셀 레이아웃 리샘플러 블록(56)은 오프셋 필터 위상 값들 및/또는 오프셋 서브-픽셀 필터 계수들과 같은 필터 파라미터들에 기초하여 이미지 픽셀 이미지 데이터(70)를 필터링할 수 있다. 추가적으로, 일부 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 이득 맵으로부터 결정된 이득 값들에 적어도 부분적으로 기초하여 적용될 필터 파라미터들을 결정할 수 있다.
설명을 돕기 위해, 필터 위상 값들 및 오프셋 서브-픽셀 필터 계수들을 결정하기 위한 프로세스(258)의 일 실시예가 도 25에서 설명된다. 일반적으로, 프로세스(258)는 현재 위상 값들을 결정하는 것(프로세스 블록(260)), 이웃 위상 값들을 결정하는 것(프로세스 블록(262)), 수정된 위상 값들을 결정하는 것(프로세스 블록(264)), 오프셋 필터 위상 값들을 선택하는 것(프로세스 블록(266)), 및 오프셋 서브-픽셀 필터 계수들을 결정하는 것(프로세스 블록(268))을 포함한다. 일부 실시예들에서, 프로세스(258)는 디스플레이 파이프라인(36) 내에 형성된 회로 연결부들에 기초하여 구현될 수 있다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 프로세스(258)는 제어기 프로세서(50)와 같은 처리 회로부를 사용하여, 제어기 메모리(52)와 같은 유형의 비일시적 컴퓨터 판독가능 매체에 저장된 명령어들을 실행함으로써 구현될 수 있다.
따라서, 일부 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 현재 이미지 픽셀 블록과 연관된 위상 값들을 결정할 수 있으며, 이는 수신된 이미지 픽셀 이미지 데이터(70)와 대응하는 현재 이미지 픽셀을 포함한다(프로세스 블록(260)). 일부 실시예들에서, 현재 이미지 픽셀 블록은 현재 이미지 픽셀과 대응하는 현재 디스플레이 픽셀(136)의 오프셋 서브-픽셀을 둘러싸는 이미지 픽셀들의 2x2 블록일 수 있다. 추가적으로, 일부 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 현재 이미지 픽셀 블록과 현재 이미지 픽셀 블록으로부터 오프셋된 이웃 이미지 픽셀 블록 사이의 절대 차이의 합과 같은, 현재 이미지 픽셀 블록과 연관된 차이 메트릭들에 적어도 부분적으로 기초하여 현재 위상 값을 결정할 수 있다. 일부 실시예들에서, 현재 위상 값은 디폴트 필터(예를 들어, 동일한 보간법(equal interpolation)) 모드와 비교해 적용될 필터링의 변동을 나타낼 수 있다.
추가적으로, 서브-픽셀 레이아웃 리샘플러 블록(56)은 각각의 이웃 이미지 픽셀 블록과 연관된 위상 값들을 결정한다(프로세스 블록(262)). 일부 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 현재 블록과 연관된 현재 위상 값들과 유사한 방식으로 이웃 블록과 연관된 이웃 위상 값들을 결정할 수 있다. 예를 들어, 서브-픽셀 레이아웃 리샘플러 블록(56)은 상부 이웃 이미지 픽셀 블록과 연관된 차이 메트릭들에 적어도 부분적으로 기초하여 상부 이웃 블록과 대응하는 상부 이웃 위상 값을 결정할 수 있다.
현재 위상 값들 및 이웃 위상 값들에 적어도 부분적으로 기초하여, 서브-픽셀 레이아웃 리샘플러 블록(56)은 수정된 위상 값들을 결정할 수 있다(프로세스 블록(264)). 일부 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 이웃 위상 값들에 기초하여 현재 위상 값들을 필터링함으로써 수정된 위상 값들을 결정할 수 있다. 예를 들어, 서브-픽셀 레이아웃 리샘플러 블록(56)은 각각의 이웃 이미지 픽셀 블록의 이웃 필터 위상 값으로 현재 필터 위상 값들을 필터링함으로써 수정된 필터 위상 값들을 결정할 수 있다.
추가적으로, 서브-픽셀 레이아웃 리샘플러 블록(56)은 오프셋 필터 위상 값들을 결정할 수 있다(프로세스 블록(266)). 일부 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 현재 위상 값들 및/또는 수정된 위상 값들에 적어도 부분적으로 기초하여 오프셋 필터 위상 값들을 설정할 수 있다. 예를 들어, 서브-픽셀 레이아웃 리샘플러 블록(56)은 이득 맵 내의 현재 이미지 픽셀의 픽셀 위치와 연관된 이득 값들(예를 들어, 오프셋 이득 값 및/또는 함께-위치된 이득 값)에 적어도 부분적으로 기초하여 현재 위상 값들로서 또는 수정된 위상 값들로서 오프셋 필터 위상 값들을 설정할 수 있다.
설명을 돕기 위해, 오프셋 필터 위상 값들을 결정하기 위한 프로세스(270)의 일 실시예가 도 26에서 설명된다. 일반적으로, 프로세스(270)는 함께-위치된 서브-픽셀과 연관된 이득 값을 결정하는 것(프로세스 블록(272)), 오프셋 서브-픽셀과 연관된 이득 값을 결정하는 것(프로세스 블록(274)), 함께-위치된 이득 및 오프셋 이득 둘 모두가 0이 아닌지 여부를 결정하는 것(결정 블록(276)), 및 함께-위치된 이득 및 오프셋 이득 둘 모두가 1이 아닌지 여부를 결정하는 것(결정 블록(278))을 포함한다. 함께-위치된 이득이 0 또는 1이 아니고 오프셋 이득이 0 또는 1이 아닐 때, 프로세스(270)는 오프셋 필터 위상 값들을 현재 위상 값들로 설정하는 것(프로세스 블록(280))을 포함한다. 그렇지 않으면, 프로세스(270)는 오프셋 필터 위상 값들을 수정된 위상 값들로 설정하는 것(프로세스 블록(282))을 포함한다. 일부 실시예들에서, 프로세스(270)는 디스플레이 파이프라인(36) 내에 형성된 회로 연결부들에 기초하여 구현될 수 있다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 프로세스(270)는 제어기 프로세서(50)와 같은 처리 회로부를 사용하여, 제어기 메모리(52)와 같은 유형의 비일시적 컴퓨터 판독가능 매체에 저장된 명령어들을 실행함으로써 구현될 수 있다.
따라서, 일부 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 현재 디스플레이 픽셀 내의 함께-위치된 서브-픽셀에서 적용될 이득 값을 결정할 수 있다(프로세스 블록(272)). 추가적으로, 제어기(42)는 현재 디스플레이 픽셀 내의 오프셋 서브-픽셀에서 적용될 이득 값을 결정하도록 서브-픽셀 레이아웃 리샘플러 블록(56)에 지시할 수 있다(프로세스 블록(274)). 일부 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 예를 들어, 도 24의 프로세스(240)를 사용하여 압축된 이득 맵(90)을 압축해제함으로써, 압축된 이득 맵(90)에 적어도 부분적으로 기초하여 함께-위치된 서브-픽셀과 연관된 이득 값 및/또는 오프셋 서브-픽셀과 연관된 이득 값을 결정할 수 있다.
이득 값들에 적어도 부분적으로 기초하여, 서브-픽셀 레이아웃 리샘플러 블록(56)은 오프셋 필터 위상 값들을 수정된 위상 값들로서 설정하거나(프로세스 블록(282)) 오프셋 필터 위상 값들을 현재 위상 값들로서 설정할 수 있다(프로세스 블록(280)). 예를 들어, 서브-픽셀 레이아웃 리샘플러 블록(56)은 함께-위치된 이득 및 오프셋 이득이 둘 모두 0 또는 1과 같지 않을 때 오프셋 필터 위상을 현재 필터 위상으로 설정할 수 있다. 한편, 서브-픽셀 레이아웃 리샘플러 블록(56)은 함께-위치된 이득 및 오프셋 이득 중 적어도 하나가 0 또는 1과 같을 때 오프셋 필터 위상을 수정된 필터 위상으로 설정할 수 있다. 이러한 방식으로, 서브-픽셀 레이아웃 리샘플러 블록(56)은 현재 픽셀 위치와 연관된 이득 값들에 적어도 부분적으로 기초하여 오프셋 필터 위상 값들을 결정할 수 있다.
도 25의 프로세스(258)로 돌아가면, 서브-픽셀 레이아웃 리샘플러 블록(56)은 오프셋 필터 위상 값들에 적어도 부분적으로 기초하여 오프셋 서브-픽셀 필터 계수들을 결정할 수 있다(프로세스 블록(268)). 일부 실시예들에서, 오프셋 서브-픽셀 필터 계수들은 오프셋 필터 위상 값들을 구현하는 데 사용될 수 있다. 따라서, 그러한 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 필터 블록(82)에 의해 적용될 오프셋 서브-픽셀 필터 계수들을 결정할 수 있다. 이러한 방식으로, 서브-픽셀 레이아웃 리샘플러 블록(56)은 이득 맵 내의 현재 픽셀 위치와 연관된 이득 값들에 적어도 부분적으로 기초하여 이미지 픽셀 이미지 데이터(70)에 적용될 필터 파라미터들(예를 들어, 오프셋 필터 위상 값들 및/또는 오프셋 서브-픽셀 필터 계수들)을 결정할 수 있다.
도 23의 프로세스(226)로 돌아가면, 서브-픽셀 레이아웃 리샘플러 블록(56)은 필터 파라미터들에 적어도 부분적으로 기초하여 현재 픽셀 위치와 대응하는 디스플레이 픽셀 이미지 데이터(72)를 결정할 수 있다(프로세스 블록(114)). 일부 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 디스플레이 픽셀 이미지 데이터(72)를 결정하기 위해 필터 파라미터들에 기초하여 현재 이미지 픽셀 주변의 이미지 픽셀들의 그룹과 대응하는 이미지 픽셀 이미지 데이터(70)를 필터링할 수 있다.
필터링 후, 서브-픽셀 레이아웃 리샘플러 블록(56)은 이득 값들을 디스플레이 픽셀 이미지 데이터(72)에 적용할 수 있다(프로세스 블록(234)). 전술된 바와 같이, 이득 맵은 각각의 픽셀 위치와 연관된 이득 값들을 나타낼 수 있다. 추가적으로, 전술된 바와 같이, 프로그램가능 경계 이득 값 표시자들(92)은 디스플레이 영역 경계를 따르는 픽셀 위치들에서 선택적으로 적용될 이득 값들을 나타낼 수 있다. 따라서, 일부 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 프로그램가능 경계 이득 값 표시자(92)에 의해 나타내어진 이득 값들 또는 이득 맵에 의해 나타내어진 이득 값들을 적용할지 여부를 결정할 수 있다.
설명을 돕기 위해, 디스플레이 픽셀 이미지 데이터(72)에 이득 값을 적용하기 위한 프로세스(284)의 일 실시예가 도 27에서 설명된다. 일반적으로, 프로세스(284)는 디스플레이 픽셀 이미지 데이터의 픽셀 위치를 결정하는 것(프로세스 블록(286)), 픽셀 위치가 중간 이득 런 내에 있는지 여부를 결정하는 것(결정 블록(288)), 픽셀 위치가 직선 경계에 인접해 있는지 여부를 결정하는 것(결정 블록(290)), 프로그램가능 경계 이득이 인에이블되는지 여부를 결정하는 것(결정 블록(292)), 및 픽셀 위치가 중간 이득 런 내에 있지 않고, 픽셀 위치가 직선 경계에 인접해 있고, 프로그램가능 경계 이득이 인에이블될 때 프로그램가능 경계 이득 값을 적용하는 것(프로세스 블록(294))을 포함한다. 추가적으로, 프로세스(284)는 픽셀 위치가 중간 이득 런 내에 있거나, 픽셀 위치가 직선 경계에 인접해 있지 않거나, 프로그램가능 경계 이득이 인에이블되지 않을 때에 이득 맵으로부터 결정된 이득 값을 적용하는 것(프로세스 블록(296))을 포함한다. 일부 실시예들에서, 프로세스(284)는 디스플레이 파이프라인(36) 내에 형성된 회로 연결부들에 기초하여 구현될 수 있다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 프로세스(284)는 제어기 프로세서(50)와 같은 처리 회로부를 사용하여, 제어기 메모리(52)와 같은 유형의 비일시적 컴퓨터 판독가능 매체에 저장된 명령어들을 실행함으로써 구현될 수 있다.
따라서, 일부 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 디스플레이 픽셀 이미지 데이터(72)와 대응하는 픽셀 위치를 결정할 수 있다(프로세스 블록(286)). 전술된 바와 같이, 디스플레이 픽셀 이미지 데이터(72)는 대응하는 이미지 픽셀 이미지 데이터(70)를 처리함으로써 결정될 수 있다. 다시 말해서, 디스플레이 픽셀 이미지 데이터(72)는 이미지 픽셀 이미지 데이터(70)와 동일한 픽셀 위치에 대응할 수 있다. 이와 같이, 서브-픽셀 레이아웃 리샘플러 블록(56)은 예를 들어, 이미지 픽셀 이미지 데이터(70)가 수신되는 순서 및/또는 전자 디스플레이(12)의 해상도에 적어도 부분적으로 기초하여, 이미지 픽셀 이미지 데이터(70)와 대응하는 픽셀 위치를 결정함으로써 디스플레이 픽셀 이미지 데이터(72)와 대응하는 픽셀 위치를 결정할 수 있다.
추가적으로, 서브-픽셀 레이아웃 리샘플러 블록(56)은 픽셀 위치가 중간 이득 런 내에 있는지 여부를 결정할 수 있다(프로세스 블록(288)). 전술된 바와 같이, 런 맵(100)은 각각의 행 런(194) 내에 포함된 이득 맵 행들(172)의 수를 나타낼 수 있고, 시작 행 런 표시자(108)는 각각의 행 런(194)의 분류를 나타낼 수 있다. 따라서, 런 맵(100) 및 시작 행 런 표시자(108)에 적어도 부분적으로 기초하여, 서브-픽셀 레이아웃 리샘플러 블록(56)은 픽셀 위치를 포함하는 행 런(194)의 분류 및, 따라서, 픽셀 위치가 코딩된 행 또는 코딩되지 않은 행 내에 포함되는지 여부를 결정할 수 있다. 코딩되지 않은 행은 1의 이득 값들만 포함하므로, 서브-픽셀 레이아웃 리샘플러 블록(56)은, 픽셀 위치가 코딩되지 않은 행 내에 있을 때 중간 이득 런 내에 있지 않다고 결정할 수 있다.
추가적으로, 전술된 바와 같이, 위치 맵(102)은 코딩된 행의 각각의 이득 런 내에 포함된 픽셀 위치들을 나타낼 수 있고, 위치 이득 값 표시자(110)는 각각의 위치 이득 런과 연관될 수 있다. 따라서, 위치 맵(102) 및 위치 이득 값 표시자들(110)에 적어도 부분적으로 기초하여, 서브-픽셀 레이아웃 리샘플러 블록(56)은 각각의 중간 이득 런 내의 픽셀 위치들 및, 따라서, 픽셀 위치가 중간 이득 런 내에 있는지 여부를 결정할 수 있다.
또한, 서브-픽셀 레이아웃 리샘플러 블록(56)은 픽셀 위치가 디스플레이 영역의 직선 경계에 인접해 있는지 여부를 결정할 수 있다(결정 블록(290)). 일부 실시예들에서, 경계 검출 블록(86)은 디스플레이 영역의 특성들에 적어도 부분적으로 기초하여 픽셀 위치가 직선 경계에 인접해 있는지 여부를 결정할 수 있다. 예를 들어, 경계 검출 블록(86)은, 디스플레이 영역 경계의 위치 및/또는 직선 경계에 인접한 것으로서 미리정의된 픽셀 위치들에 적어도 부분적으로 기초하여, 픽셀 위치가 직선 경계에 인접해 있는지 여부를 결정할 수 있다. 전술된 바와 같이, 일부 실시예들에서, 디스플레이 영역의 예상된 특성들이 미리결정되고 디바이스 메모리(98)와 같은 메모리 컴포넌트에 저장될 수 있다. 따라서, 그러한 실시예들에서, 설계 디바이스(94)는 디스플레이 영역의 특성들을 결정하기 위해 메모리 컴포넌트를 폴링할 수 있다.
서브-픽셀 레이아웃 리샘플러 블록(56)은 또한 프로그램가능 경계 이득이 인에이블되는지 여부를 결정할 수 있다(결정 블록(292)). 일부 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 예를 들어, 내부 메모리(46) 또는 프로그램가능 레지스터(106)에 저장된 표시자에 적어도 부분적으로 기초하여 프로그램가능 경계 이득이 인에이블되는지 여부를 결정할 수 있다. 예를 들어, 서브-픽셀 레이아웃 리샘플러 블록(56)은 표시자가 제1 값(예를 들어, 1 비트)을 가질 때 프로그램가능 경계 이득이 인에이블된다고 결정하고 표시자가 제2 값(예를 들어, 0 비트)을 가질 때 프로그램가능 경계 이득이 인에이블된다고 결정할 수 있다.
이들 결정에 기초하여, 서브-픽셀 레이아웃 리샘플러 블록(56)은 이득 맵으로부터 결정된 이득 값들을 적용하거나(프로세스 블록(296)) 또는 프로그램가능 경계 이득 값(92)을 적용할 수 있다(프로세스 블록(294)). 전술된 바와 같이, 이득 맵으로부터의 이득 값들을 적용하는 것은, 예를 들어, 디스플레이 영역 외부의 픽셀 위치들에서 블랙 마스크를 적용함으로써, 상이한(예를 들어, 비-직사각형) 형상을 갖는 디스플레이 영역 상의 디스플레이를 위해 이미지 또는 이미지 프레임을 조정하는 것을 용이하게 할 수 있다. 추가적으로, 전술된 바와 같이, 이득 맵으로부터의 이득 값들을 적용하는 것은 둥근 경계를 따르는 인지가능한 에일리어싱을 생성할 가능성을 감소시키는 것을 용이하게 하기 위해 디스플레이 영역의 둥근 경계를 따르는 서브-픽셀들을 디밍할 수 있다.
게다가, 일부 실시예들에서, 프로그램가능 경계 이득 값은 디스플레이 영역의 경계(예를 들어, 직선 경계)를 따르는 인지가능한 색상 프린징을 생성할 가능성을 감소시키도록 결정될 수 있다. 일부 경우들에서, 경계를 따라 발생하는 프린징은 전자 디스플레이(12)에서 구현된 서브-픽셀 레이아웃에 의해 영향을 받을 수 있다. 다시 말해서, 상이한 경계들을 따라 발생하는 프린징은 변화할 수 있다. 예를 들어, 전자 디스플레이의 디스플레이 픽셀들(136) 각각이 녹색 서브-픽셀 및 교번적으로 적색 서브-픽셀 또는 청색 서브-픽셀을 포함할 때, 녹색 프린징이 제1(예를 들어, 상부) 직선 경계를 따라 발생할 수 있는 한편 보라색 프린징은 제2(예를 들어, 좌측) 직선 경계를 따라 발생할 수 있다.
따라서, 인지가능한 색상 프린징을 생성할 가능성을 감소시키기 위해, 상이한 프로그램가능 경계 이득 값들이 상이한 경계들과 연관될 수 있다. 이와 같이, 프로그램가능 경계 이득 값이 적용될 때, 서브-픽셀 레이아웃 리샘플러 블록(56)은 어떤 경계가 픽셀 위치에 인접해 있는지 결정하고 대응하는 프로그램가능 경계 이득 값을 선택할 수 있다. 이러한 방식으로, 서브-픽셀 레이아웃 리샘플러 블록(56)은 디스플레이 픽셀 이미지 데이터(72)에 이득 값들을 선택적으로(예를 들어, 적응적으로) 적용함으로써 전자 디스플레이의 인지된 이미지 품질을 향상시키는 것을 용이하게 할 수 있다.
도 23의 프로세스(226)로 돌아가면, 출력 이미지 데이터가 감마 도메인에 있을 것으로 예상될 때, 서브-픽셀 레이아웃 리샘플러 블록(56)은 디스플레이 픽셀 이미지 데이터(72)를 선형 도메인으로부터 감마 도메인으로 변환할 수 있다(프로세스 블록(236)). 또한, 출력 이미지 데이터가 소스 포맷(예를 들어, RGB 포맷)에 있을 것으로 예상될 때, 서브-픽셀 레이아웃 리샘플러 블록(56)은 디스플레이 포맷(예를 들어, GR 또는 GB 포맷)으로부터 소스 포맷으로 변환하기 위해 디스플레이 픽셀 이미지 데이터(72)를 업스케일링할 수 있다(프로세스 블록(238)). 일부 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 누락된 색상 컴포넌트와 대응하는 이미지 데이터를 디스플레이 픽셀 이미지 데이터(72)에 추가함으로써 소스 포맷으로 변환할 수 있다.
설명을 돕기 위해, 디스플레이 픽셀 이미지 데이터(72)를 디스플레이 포맷으로부터 소스 포맷으로 변환하기 위한 프로세스(298)의 일 실시예가 도 28에서 설명된다. 일반적으로, 프로세스(298)는 디스플레이 픽셀 이미지 데이터 내의 누락된 색상 컴포넌트를 결정하는 것(프로세스 블록(300)), 디스플레이 픽셀 이미지 데이터와 대응하는 디스플레이 픽셀이 마지막 픽셀이고 이미지가 홀수 개의 이미지 픽셀들을 포함하는지 여부를 결정하는 것(결정 블록(302)), 및 디스플레이 픽셀이 마지막 픽셀이고 이미지가 홀수 개의 픽셀들을 포함할 때 후속 더미 픽셀을 생성하는 것(프로세스 블록(304))을 포함한다. 추가적으로, 프로세스(298)는 누락된 컴포넌트를 바로 이전 또는 바로 후속의 디스플레이 픽셀 이미지 데이터 내의 대응하는 색상 컴포넌트로 설정하는 것을 포함한다(프로세스 블록(306)). 일부 실시예들에서, 프로세스(298)는 디스플레이 파이프라인(36) 내에 형성된 회로 연결부들에 기초하여 구현될 수 있다. 추가적으로 또는 대안적으로, 일부 실시예들에서, 프로세스(298)는 제어기 프로세서(50)와 같은 처리 회로부를 사용하여, 제어기 메모리(52)와 같은 유형의 비일시적 컴퓨터 판독가능 매체에 저장된 명령어들을 실행함으로써 구현될 수 있다.
따라서, 일부 실시예들에서, 서브-픽셀 레이아웃 리샘플러 블록(56)은 현재 디스플레이 픽셀과 대응하는 디스플레이 픽셀 이미지 데이터(72)로부터 누락된 컴포넌트를 결정할 수 있다(프로세스 블록(300)). 예를 들어, 디스플레이 픽셀 이미지 데이터(72)가 GR 포맷일 때, 서브-픽셀 레이아웃 리샘플러 블록(56)은 청색 컴포넌트가 누락된 것으로 결정할 수 있다. 한편, 디스플레이 픽셀 이미지 데이터(72)가 GB 포맷일 때, 서브-픽셀 레이아웃 리샘플러 블록(56)은 적색 컴포넌트가 누락된 것으로 결정할 수 있다.
소스 포맷(예를 들어, RGB 포맷)으로 변환하기 위해, 제어기(42)는 바로 이전 또는 바로 후속의 디스플레이 픽셀 이미지 데이터로부터 누락된 색상 컴포넌트의 이미지 데이터를 복사하도록 서브-픽셀 레이아웃 리샘플러 블록(56)에 지시할 수 있다(프로세스 블록(306)). 예를 들어, 청색 색상 컴포넌트가 현재 디스플레이 픽셀 이미지 데이터로부터 누락될 때, 서브-픽셀 레이아웃 리샘플러 블록은 바로 이전 디스플레이 픽셀 이미지 데이터로부터의 청색 컴포넌트 이미지 데이터를 현재 디스플레이 픽셀 이미지 데이터로 복사하고, 현재 디스플레이 픽셀 이미지 데이터로부터의 적색 컴포넌트 이미지 데이터를 바로 이전 디스플레이 픽셀 이미지 데이터로 복사할 수 있다.
따라서, 현재 디스플레이 픽셀이 마지막 디스플레이 픽셀이고 이미지가 홀수 개의 이미지 픽셀들을 포함할 때, 후속 디스플레이 픽셀 이미지 데이터는 색상 컴포넌트 이미지 데이터를 현재 디스플레이 픽셀 이미지 데이터와 스와핑하는 것에 이용가능하지 않을 수 있다. 따라서, 제어기(42)는 후속 더미 픽셀을 생성하도록 서브-픽셀 레이아웃 리샘플러 블록(56)에 지시할 수 있다(프로세스 블록(304)). 일부 실시예들에서, 더미 픽셀은, 각각의 색상 컴포넌트가 0으로 설정된 이미지 데이터를 포함할 수 있다. 다른 실시예들에서, 더미 픽셀은 다른 디스플레이 픽셀 이미지 데이터의 사본일 수 있고/있거나 색상 컴포넌트들이 임의의 적합한 값으로 설정된 이미지 데이터를 포함할 수 있다. 이러한 방식으로, 서브-픽셀 레이아웃 리샘플러 블록(56)은 디스플레이 픽셀 이미지 데이터(72)를 결정할 수 있으며, 이는 이미지를 디스플레이하는 데 사용될 때 향상된 인지된 이미지 품질을 제공한다.
전술된 바와 같이, 일부 실시예들에서, 압축된 이득 맵(90)은 픽셀 위치(126)와 연관된 이득 값들을 상대적인 방식으로, 예를 들어, 다른 픽셀 위치(126)에 대하여 나타낼 수 있다. 그러한 실시예들에서, 디스플레이 파이프라인(56)은 압축된 이득 맵(90)을 압축해제할 때 데이터 의존성을 경험할 수 있고, 이에 의해 압축해제 효율(예를 들어, 픽셀 위치와 연관된 이득 값들이 결정되는 속도)을 제한한다.
압축해제 효율을 향상시키는 것을 용이하게 하기 위해, 일부 실시예들에서, 픽셀 위치들(126) 및 연관된 이득 값들은, 예를 들어, 비압축된 이득 맵(170)을 다수의 비압축된 이득 맵들(170)로 분할함으로써, 다수의 픽셀 영역들로 그룹화될 수 있다. 각각의 비압축된 이득 맵(170)을 압축함으로써, 픽셀 영역들 중 하나에 각각 대응하는 다수의 압축된 이득 맵들(90)이 결정될 수 있다. 이러한 방식으로, 상이한 픽셀 영역들 내의 픽셀 위치들과 연관된 이득 값들 사이의 데이터 종속성은 감소될 수 있다. 사실, 다수의 압축된 이득 맵들(90)을 이러한 방식으로 구현하는 것은 디스플레이 파이프라인(56)으로 하여금 이득 값들이 결정되는 순서, 및 따라서, 압축된 이득 맵들에 대한 액세스(예를 들어, 페치) 패턴을 변화시킬 수 있게 한다. 일부 실시예들에서, 디스플레이 파이프라인(56)은, 예를 들어, 랜덤 액세스 패턴을 구현함으로써, 메모리 액세스 효율을 향상시키기 위해 이득 값 결정 순서를 제어할 수 있다.
위에서 설명된 특정 실시예들은 예로서 도시되었으며, 이들 실시예는 다양한 수정들 및 대안적인 형태들을 허용할 수 있다는 것이 이해되어야 한다. 청구항들은 개시된 특정 형태들로 한정하는 것이 아니라, 오히려 본 개시내용의 기술적 사상 및 범위 내에 속하는 모든 수정들, 등가물들, 및 대안들을 커버하도록 의도된다는 것이 추가적으로 이해되어야 한다.

Claims (20)

  1. 전자 디바이스로서,
    전자 디스플레이 - 상기 전자 디스플레이는,
    둥근 경계를 갖는 디스플레이 영역; 및
    상기 둥근 경계에 인접한 제1 픽셀 위치에서의 제1 디스플레이 픽셀을 포함함 -; 및
    상기 전자 디스플레이에 통신가능하게 결합된 디스플레이 파이프라인을 포함하며, 상기 디스플레이 파이프라인은,
    이미지 프레임 내의 상기 제1 픽셀 위치에서의 목표 휘도를 나타내는 제1 이미지 데이터를 수신하고 - 상기 이미지 프레임은 직사각형 형상을 가짐 -;
    이득 맵(gain map)으로부터 상기 제1 픽셀 위치와 연관된 제1 이득 값을 결정하고 - 상기 제1 이득 값은 상기 제1 디스플레이 픽셀과 상기 둥근 경계 사이의 거리에 반비례함 -;
    상기 제1 이득 값에 적어도 부분적으로 기초하여 상기 제1 이미지 데이터를 처리함으로써 상기 이미지 프레임을 디스플레이하기 위한 상기 제1 디스플레이 픽셀의 목표 휘도를 나타내는 제2 이미지 데이터를 결정하고;
    상기 디스플레이 영역 상에 상기 이미지 프레임의 비-직사각형 부분을 디스플레이하는 것을 용이하게 하기 위해 상기 제2 이미지 데이터를 상기 전자 디스플레이에 출력하도록 구성되는, 전자 디바이스.
  2. 제1항에 있어서, 상기 제2 이미지 데이터를 결정하기 위해, 상기 디스플레이 파이프라인은,
    상기 제1 이득 값 및 상기 전자 디스플레이의 서브-픽셀 레이아웃에 적어도 부분적으로 기초하여 필터 파라미터들을 결정하고;
    상기 필터 파라미터들을 사용하여 상기 제1 이미지 데이터를 필터링함으로써 디스플레이 픽셀 이미지 데이터를 결정하고;
    상기 제1 디스플레이 픽셀을 선형적으로 디밍(dimming)함으로써 상기 이미지 프레임의 상기 비-직사각형 부분이 상기 디스플레이 영역 상에 디스플레이될 때 상기 둥근 경계를 따르는 인지가능한 에일리어싱(aliasing)을 생성할 가능성을 감소시키는 것을 용이하게 하기 위해 상기 디스플레이 픽셀 이미지 데이터에 상기 제1 이득 값을 적용함으로써 상기 제2 이미지 데이터를 결정하도록 구성되는, 전자 디바이스.
  3. 제1항에 있어서, 상기 디스플레이 파이프라인은,
    상기 이미지 프레임 내의 제2 픽셀 위치에서의 목표 휘도를 나타내는 제3 이미지 데이터를 수신하고 - 상기 제2 픽셀 위치는 상기 전자 디스플레이의 상기 디스플레이 영역 외부에 있음 -;
    상기 이득 맵으로부터 상기 제2 픽셀 위치와 연관된 제2 이득 값을 결정하고 - 상기 제2 이득 값은 0의 이득(zero gain) 값임 -;
    상기 이미지 프레임의 상기 비-직사각형 부분 주변에 블랙 마스크를 적용하는 것을 용이하게 하기 위해 상기 제3 이미지 데이터에 상기 제2 이득 값을 적용함으로써 제4 이미지 데이터를 결정하고;
    상기 디스플레이 영역 상에 상기 이미지 프레임의 상기 비-직사각형 부분을 디스플레이하는 것을 용이하게 하기 위해 상기 제4 이미지 데이터를 상기 전자 디스플레이에 출력하도록 구성되는, 전자 디바이스.
  4. 제1항에 있어서,
    상기 디스플레이 파이프라인은 상기 이득 맵을 압축된(compressed) 이득 맵으로서 저장하도록 구성된 내부 메모리를 포함하며, 상기 압축된 이득 맵은 각각의 픽셀 위치를 이득 값 세트에 명시적으로 매핑하는 비압축된(uncompressed) 이득 맵에 기초하여 결정된 런 맵(run map), 위치 맵(position map), 및 이득 값 맵(gain value map)을 포함하고;
    상기 디스플레이 파이프라인은, 상기 제2 이미지 데이터를 결정하기 위해:
    상기 런 맵에 적어도 부분적으로 기초하여 상기 제1 픽셀 위치가 상기 비압축된 이득 맵의 코딩된 행 내에 있는지 여부를 결정하고 - 상기 코딩된 행은 대응하는 픽셀 위치를 1보다 작은 이득 값에 연관시키는 적어도 하나의 이득 맵 엔트리를 포함함 -;
    상기 제1 픽셀 위치가 상기 코딩된 행 내에 있을 때 상기 위치 맵에 적어도 부분적으로 기초하여 상기 제1 픽셀 위치가 중간 이득 런(intermediate gain run) 내에 있는지 여부를 결정하고 - 상기 중간 이득 런은 대응하는 픽셀 위치를 0보다 크고 1보다 작은 적어도 하나의 이득 값에 각각 연관시키는 이득 맵 엔트리들을 포함함 -;
    상기 픽셀 위치가 상기 중간 이득 런 내에 있을 때 상기 이득 값 맵에 적어도 부분적으로 기초하여 상기 제1 이득 값을 결정하도록 구성되는, 전자 디바이스.
  5. 제4항에 있어서,
    상기 런 맵은 각각의 행 런(row run) 내에 포함된 상기 비압축된 이득 맵의 이득 맵 행들의 수를 나타내고 - 행 런은 동일한 행 분류를 갖는 하나 이상의 연속적인 이득 맵 행을 포함함 -;
    상기 위치 맵은 상기 코딩된 행의 각각의 이득 런 내에 포함된 상기 비압축된 이득 맵의 이득 맵 엔트리들의 수를 나타내고 - 이득 런은 동일한 엔트리 분류를 갖는 하나 이상의 연속적인 이득 맵 엔트리를 포함함 -;
    상기 이득 값 맵은 상기 중간 이득 런 내의 각각의 픽셀 위치와 연관된 상기 이득 값 세트를 나타내는, 전자 디바이스.
  6. 제4항에 있어서, 상기 위치 맵은 상기 비압축된 이득 맵의 대응하는 이득 맵 엔트리에 의해 0보다 크고 1보다 작은 이득 값과 연관된 픽셀 위치들을 나타내는, 전자 디바이스.
  7. 제4항에 있어서,
    상기 압축된 이득 맵은 프로그램가능 레지스터에 저장된 시작 행 런 표시자(starting row run indicator)를 포함하고 - 상기 시작 행 런 표시자는 상기 비압축된 이득 맵 내에서 식별된 제1 행 런이 코딩된 행 런임을 나타냄 -;
    상기 디스플레이 파이프라인은, 상기 제1 픽셀 위치가 상기 코딩된 행 내에 있는지 여부를 결정하기 위해:
    상기 런 맵에 적어도 부분적으로 기초하여 상기 제1 픽셀 위치가 상기 제1 행 런 내에 있는지 여부를 결정하고;
    상기 제1 픽셀 위치가 상기 제1 행 런 내에 있을 때 상기 제1 픽셀 위치가 상기 코딩된 행 내에 있다고 결정하고;
    상기 제1 픽셀 위치가 상기 제1 행 런 내에 있지 않을 때:
    상기 런 맵에 적어도 부분적으로 기초하여 상기 제1 픽셀 위치를 포함하는 제2 행 런을 결정하고;
    상기 제2 행 런이 상기 제1 행 런으로부터 홀수 개의 행 런들만큼 분리될 때 상기 제1 픽셀 위치가 상기 코딩된 행 내에 있다고 결정하도록 구성되는, 전자 디바이스.
  8. 제4항에 있어서,
    상기 압축된 이득 맵은 프로그램가능 레지스터에 저장된 위치 이득 값 표시자(position gain value indicator)를 포함하고 - 상기 위치 이득 값 표시자는 상기 코딩된 행 내의 위치 이득 런이 0의 이득 런 또는 1의 이득(unity gain) 런인지 여부를 나타냄 -;
    상기 디스플레이 파이프라인은, 상기 제1 픽셀 위치가 상기 중간 이득 런 내에 있지 않을 때:
    상기 위치 맵에 적어도 부분적으로 기초하여 상기 제1 픽셀 위치가 상기 위치 이득 런 내에 있다고 결정하고;
    상기 위치 이득 값 표시자가 상기 위치 이득 런이 0의 이득 런임을 나타낼 때 상기 제1 픽셀 위치와 연관된 상기 제1 이득 값이 0이라고 결정하고;
    상기 위치 이득 값이 상기 위치 이득 런이 1의 이득 런임을 나타낼 때 상기 제1 픽셀 위치와 연관된 상기 제1 이득 값이 1이라고 결정하도록 구성되는, 전자 디바이스.
  9. 제4항에 있어서, 상기 제1 이득 값을 결정하기 위해, 상기 디스플레이 파이프라인은, 상기 제1 픽셀 위치가 상기 코딩된 행 내에 있지 않을 때 상기 제1 이득 값이 1이라고 결정하도록 구성되는, 전자 디바이스.
  10. 제1항에 있어서,
    상기 제1 디스플레이 픽셀은 상기 디스플레이 영역 내의 상기 제1 픽셀 위치에서의 색상 컴포넌트의 휘도를 제어하는 서브-픽셀을 포함하고;
    상기 제1 이미지 데이터는 상기 이미지 프레임 내의 상기 제1 픽셀 위치에서의 상기 색상 컴포넌트의 목표 휘도를 나타내고;
    상기 제1 이득 값은 상기 제1 서브-픽셀과 상기 디스플레이 영역의 상기 둥근 경계 사이에 존재할 것으로 예상되는 최단 거리에 반비례하는, 전자 디바이스.
  11. 제1항에 있어서,
    상기 전자 디스플레이는 상기 디스플레이 영역의 직선 경계에 인접한 제2 픽셀 위치에서의 제2 디스플레이 픽셀을 포함하고;
    상기 디스플레이 파이프라인은,
    상기 이미지 프레임 내의 상기 제2 픽셀 위치에서의 목표 휘도를 나타내는 제3 이미지 데이터를 수신하고;
    상기 이득 맵으로부터 상기 제2 픽셀 위치와 연관된 제2 이득 값을 결정하고;
    상기 제2 이득 값에 적어도 부분적으로 기초하여 결정된 필터 파라미터들을 사용하여 상기 제3 이미지 데이터를 필터링함으로써 디스플레이 픽셀 이미지 데이터를 결정하고;
    상기 제2 디스플레이 픽셀을 디밍함으로써 상기 이미지 프레임의 상기 비-직사각형 부분이 상기 디스플레이 영역 상에 디스플레이될 때 상기 직선 경계를 따르는 인지가능한 색상 프린징(color fringing)을 생성할 가능성을 감소시키는 것을 용이하게 하기 위해 상기 직선 경계와 연관된 프로그램가능 경계 이득 값을 상기 디스플레이 픽셀 이미지 데이터에 적용함으로써 상기 이미지 프레임을 디스플레이하기 위한 상기 제2 디스플레이 픽셀의 목표 휘도를 나타내는 제4 이미지 데이터를 결정하도록 구성되는, 전자 디바이스.
  12. 제1항에 있어서, 휴대용 전화, 미디어 플레이어, 개인용 데이터 오거나이저, 핸드헬드 게임 플랫폼, 태블릿 디바이스, 컴퓨터 또는 이들의 임의의 조합을 포함하는, 전자 디바이스.
  13. 비-직사각형 디스플레이 영역을 갖는 전자 디스플레이 상의 직사각형 이미지의 디스플레이를 용이하게 하기 위한 방법으로서,
    이미지 데이터 소스로부터 제1 이미지 픽셀 이미지 데이터를 수신하는 단계 - 상기 제1 이미지 픽셀 이미지 데이터는 상기 직사각형 이미지 내의 제1 픽셀 위치에서의 목표 휘도를 나타냄 -;
    상기 제1 픽셀 위치와 연관된 제1 이득 값을 결정하는 단계 - 상기 제1 이득 값은 상기 비-직사각형 디스플레이 영역의 제1 둥근 경계와 상기 제1 픽셀 위치에서의 제1 서브-픽셀 사이의 예상된 거리에 기초함 -;
    상기 제1 이득 값에 적어도 부분적으로 기초하여 상기 제1 이미지 픽셀 이미지 데이터에 적용될 필터 파라미터들을 결정하는 단계;
    상기 필터 파라미터들에 적어도 부분적으로 기초하여 상기 제1 이미지 픽셀 이미지 데이터를 필터링함으로써 제1 디스플레이 픽셀 이미지 데이터를 결정하는 단계 - 상기 제1 디스플레이 픽셀 이미지 데이터는 상기 제1 서브-픽셀의 목표 휘도를 나타냄 -;
    상기 제1 디스플레이 픽셀 이미지 데이터에 상기 제1 이득 값을 적용하는 단계; 및
    상기 전자 디스플레이의 상기 비-직사각형 디스플레이 영역 상에 상기 직사각형 이미지의 일부분만을 디스플레이하는 것을 용이하게 하기 위해 상기 제1 디스플레이 픽셀 이미지 데이터를 상기 전자 디스플레이에 출력하는 단계를 포함하는, 방법.
  14. 제13항에 있어서,
    비압축된 이득 맵을 결정하는 단계 - 상기 비압축된 이득 맵은 각각의 픽셀 위치를 이득 값 세트와 명시적으로 연관시키는 복수의 이득 맵 엔트리를 포함함 -;
    상기 복수의 이득 맵 엔트리 각각을 1의 이득 맵 엔트리, 중간 이득 맵 엔트리, 및 0의 이득 맵 엔트리 중 하나로서 분류하는 단계;
    상기 이득 맵 엔트리들의 각각의 행을 코딩된 행 또는 코딩되지 않은 행 중 하나로서 분류하는 단계;
    대응하는 행 분류에 적어도 부분적으로 기초하여 상기 이득 맵 엔트리들의 각각의 행을 행 런으로 그룹화하는 단계;
    각각의 행 런 내에 포함된 행들의 수에 적어도 부분적으로 기초하여 런 맵을 결정하는 단계;
    대응하는 엔트리 분류에 적어도 부분적으로 기초하여 각각의 코딩된 행 내의 상기 이득 맵 엔트리들 각각을 이득 런으로 그룹화하는 단계;
    각각의 이득 런 내의 이득 맵 엔트리들의 수에 적어도 부분적으로 기초하여 위치 맵을 결정하는 단계;
    각각의 중간 이득 런 내의 상기 이득 맵 엔트리들에 의해 나타내어진 상기 이득 값 세트에 적어도 부분적으로 기초하여 이득 값 맵을 결정하는 단계 - 중간 이득 런 내의 각각의 이득 맵 엔트리와 연관된 상기 이득 값 세트는 0보다 크고 1보다 작은 이득 값을 포함함 -; 및
    상기 제1 픽셀 위치와 연관된 상기 제1 이득 값을 결정하는 것을 용이하게 하기 위해 상기 런 맵, 상기 위치 맵, 및 상기 이득 값 맵을 압축된 이득 맵으로서 디스플레이 파이프라인의 내부 메모리에 저장하는 단계를 포함하는, 방법.
  15. 제14항에 있어서,
    상기 제1 픽셀 위치를 포함하는 행 런을 식별하기 위해 상기 내부 메모리로부터 상기 런 맵을 판독하는 단계;
    상기 내부 메모리의 제1 프로그램가능 레지스터에 저장된 시작 행 런 표시자에 적어도 부분적으로 기초하여 상기 행 런이 코딩된 행 런 또는 코딩되지 않은 행 런인지 여부를 결정하는 단계; 및
    상기 제1 픽셀 위치 상기 행 런이 코딩된 행 런일 때:
    상기 제1 픽셀 위치를 포함하는 이득 런을 식별하기 위해 상기 내부 메모리로부터 상기 위치 맵을 판독하는 단계;
    상기 이득 런이 중간 이득 런인지 여부를 결정하는 단계; 및
    상기 이득 런이 중간 이득 런일 때 상기 내부 메모리로부터 상기 이득 값 맵을 판독하는 단계를 포함하며,
    상기 제1 픽셀 위치와 연관된 상기 제1 이득 값을 결정하는 단계는:
    상기 행 런이 코딩되지 않은 행 런일 때 상기 제1 이득 값이 1이라고 결정하는 단계;
    상기 내부 메모리의 제2 프로그램가능 레지스터에 저장된 위치 이득 값 표시자가 상기 이득 런이 1의 이득 런임을 나타낼 때 상기 제1 이득 값이 1이라고 결정하는 단계;
    상기 위치 이득 값 표시자가 상기 이득 런이 0의 이득 런임을 나타낼 때 상기 제1 이득 값이 0이라고 결정하는 단계; 및
    상기 이득 런이 중간 이득 런일 때 상기 제1 이득 값이 상기 이득 값 맵으로부터 판독된 값이라고 결정하는 단계를 포함하는, 방법.
  16. 제13항에 있어서,
    상기 이미지 데이터 소스로부터 제2 이미지 픽셀 이미지 데이터를 수신하는 단계 - 상기 제2 이미지 픽셀 이미지 데이터는 상기 직사각형 이미지 내의 제2 픽셀 위치에서의 목표 휘도를 나타냄 -;
    상기 제2 픽셀 위치와 연관된 제2 이득 값을 결정하는 단계 - 상기 제2 픽셀 위치가 상기 전자 디스플레이의 상기 비-직사각형 디스플레이 영역 외부에 있을 때 상기 제2 이득 값은 0임 -;
    상기 제2 이득 값에 적어도 부분적으로 기초하여 상기 제2 이미지 픽셀 이미지 데이터를 처리함으로써 제2 디스플레이 픽셀 이미지 데이터를 결정하는 단계 - 상기 제2 디스플레이 픽셀 이미지 데이터를 결정하는 단계는 상기 비-직사각형 디스플레이 영역 외부의 픽셀 위치들에서 블랙 마스크를 적용하는 것을 용이하게 하기 위해 상기 제2 이득 값을 적용하는 단계를 포함함 -; 및
    상기 비-직사각형 디스플레이 영역 상에 상기 직사각형 이미지의 상기 일부분만을 디스플레이하는 것을 용이하게 하기 위해 상기 제2 디스플레이 픽셀 이미지 데이터를 상기 전자 디스플레이에 출력하는 단계를 포함하는, 방법.
  17. 전자 디바이스의 하나 이상의 프로세서에 의해 실행가능한 명령어들을 저장하는, 유형의(tangible) 비일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은,
    상기 하나 이상의 프로세서를 사용하여, 대응하는 픽셀 위치를 이득 값 세트와 각각 명시적으로 연관시키는 복수의 이득 맵 엔트리를 포함하는 비압축된 이득 맵을 결정하기 위한 명령어들;
    상기 하나 이상의 프로세서를 사용하여, 상기 비압축된 이득 맵에 적어도 부분적으로 기초하여 압축된 이득 맵을 결정하기 위한 명령어들 - 상기 압축된 이득 맵을 결정하기 위한 명령어들은,
    상기 비압축된 이득 맵의 각각의 이득 맵 행을 행 런들로 그룹화하는 것에 적어도 부분적으로 기초하여 런 맵을 결정하기 위한 명령어들 - 각각의 행 런은, 코딩된 행으로서 각각 분류된 하나 이상의 연속적인 이득 맵 행 또는 코딩되지 않은 행으로서 각각 분류된 하나 이상의 연속적인 이득 맵 행 중 어느 하나를 포함함 -;
    상기 비압축된 이득 맵의 코딩된 행들 내의 각각의 이득 맵 엔트리를 위치 이득 런 또는 중간 이득 런 중 어느 하나로 그룹화하는 것에 적어도 부분적으로 기초하여 위치 맵을 결정하기 위한 명령어들
    - 각각의 중간 이득 런은 중간 이득 엔트리로서 각각 분류된 하나 이상의 연속적인 이득 맵 엔트리를 포함하고;
    각각의 위치 이득 런은, 1의 이득 엔트리로서 각각 분류된 하나 이상의 연속적인 이득 맵 엔트리 또는 0의 이득 엔트리로서 각각 분류된 하나 이상의 연속적인 이득 맵 엔트리 중 어느 하나를 포함함 -; 및
    각각의 중간 이득 런 엔트리에 의해 나타내어진 상기 이득 값 세트에 적어도 부분적으로 기초하여 이득 값 맵을 결정하기 위한 명령어들을 포함함 -; 및
    디스플레이 파이프라인으로 하여금 상기 압축된 이득 맵을 판독함으로써 결정된 이득 값들에 적어도 부분적으로 기초하여 전자 디스플레이 상에 디스플레이될 이미지와 대응하는 이미지 데이터를 처리할 수 있게 하기 위해, 상기 전자 디스플레이에 통신가능하게 결합되도록 구성된 상기 디스플레이 파이프라인의 내부 메모리에 상기 압축된 이득 맵을 저장하기 위한 명령어들을 포함하는, 유형의 비일시적 컴퓨터 판독가능 매체.
  18. 제17항에 있어서, 상기 비압축된 이득 맵을 결정하기 위한 명령어들은,
    상기 전자 디스플레이의 디스플레이 영역의 둥근 경계를 따르는 안티-에일리어싱(anti-aliasing) 영역을 결정하기 위한 명령어들;
    상기 안티-에일리어싱 영역 내의 제1 픽셀 위치를 제1 이득 값 세트에 명시적으로 연관시키는 제1 이득 맵 엔트리를 결정하기 위한 명령어들 - 상기 제1 이득 값 세트는 0보다 크고 1보다 작은 이득 값을 포함함 -; 및
    상기 안티-에일리어싱 영역 외부의 그리고 상기 디스플레이 영역 외부의 제2 픽셀을 제2 이득 값 세트에 명시적으로 연관시키는 제2 이득 맵 엔트리를 결정하기 위한 명령어들을 포함하며, 상기 제2 이득 값 세트 내의 각각의 이득 값은 0과 같아서, 상기 디스플레이 파이프라인으로 하여금 상기 이미지 상에 블랙 마스크를 적용할 수 있게 하여, 상기 이미지 및 상기 디스플레이 영역의 형상이 상이할 때 상기 이미지를 상기 전자 디스플레이 상에 디스플레이하는 것을 용이하게 하는, 유형의 비일시적 컴퓨터 판독가능 매체.
  19. 제18항에 있어서,
    상기 이미지가 상기 전자 디스플레이 상에 디스플레이될 때 상기 디스플레이 영역의 직선 경계를 따르는 프린징을 생성할 가능성을 감소시킬 것으로 예상되는 경계 이득 값을 결정하기 위한 명령어들; 및
    상기 내부 메모리의 프로그램가능 레지스터에 상기 경계 이득 값을 저장하기 위한 명령어들을 포함하며,
    상기 비압축된 이득 맵을 결정하기 위한 명령어들은, 상기 직선 경계를 따르는 제3 픽셀 위치를 제3 이득 값 세트에 명시적으로 연관시키는 제3 이득 맵 엔트리를 결정하여, 상기 디스플레이 파이프라인으로 하여금:
    상기 제3 이득 값 세트에 적어도 부분적으로 기초하여 상기 제3 픽셀 위치와 대응하는 이미지 데이터를 필터링하고;
    프로그램가능 경계 이득이 인에이블될 때 상기 이미지 데이터에 상기 경계 이득 값을 적용하고;
    프로그램가능 경계 이득이 인에이블되지 않을 때 상기 이미지 데이터에 상기 제3 이득 값 세트를 적용할 수 있게 하기 위한 명령어들을 포함하는, 유형의 비일시적 컴퓨터 판독가능 매체.
  20. 제17항에 있어서,
    상기 런 맵을 결정하기 위한 명령어들은, 대응하는 행 런 내의 이득 맵 행들의 수를 나타내도록 상기 런 맵의 각각의 런 맵 엔트리를 결정하기 위한 명령어들을 포함하고;
    상기 위치 맵을 결정하기 위한 명령어들은, 각각의 코딩된 행 내의 이득 런들 내에 포함된 픽셀 위치들을 나타내도록 상기 위치 맵의 위치 맵 엔트리들을 결정하기 위한 명령어들을 포함하고;
    상기 이득 값 맵을 결정하기 위한 명령어들은, 각각의 중간 이득 런 내의 각각의 픽셀 위치와 연관된 상기 이득 값 세트를 나타내도록 상기 이득 값 맵의 이득 값 맵 엔트리들을 결정하기 위한 명령어들을 포함하고;
    상기 압축된 이득 맵을 결정하기 위한 명령어들은,
    코딩된 행 런 및 코딩되지 않은 행 런 중 하나로서 제1 행 런을 식별하는 시작 행 런 표시자를 결정하기 위한 명령어들; 및
    각각의 위치 이득 런과 연관된 위치 이득 값 표시자를 결정하기 위한 명령어들을 포함하고 - 상기 위치 이득 값 표시자는 0의 이득 런 및 1의 이득 런 중 하나로서 대응하는 이득 런을 식별함 -;
    상기 내부 메모리에 상기 압축된 이득 맵을 저장하기 위한 명령어들은,
    상기 디스플레이 파이프라인으로 하여금 픽셀 위치가 코딩된 행 내에 있는지 여부를 결정할 수 있게 하기 위해, 상기 시작 행 런 표시자를 제1 프로그램가능 레지스터에 저장하기 위한 명령어들; 및
    상기 디스플레이 파이프라인으로 하여금 상기 픽셀 위치가 위치 이득 런 내에 있을 때 상기 픽셀 위치가 0의 이득 값들 또는 1의 이득 값들과 연관되는지 여부를 결정할 수 있게 하기 위해, 상기 위치 이득 런 표시자를 제2 프로그램가능 레지스터에 저장하기 위한 명령어들을 포함하는, 유형의 비일시적 컴퓨터 판독가능 매체.
KR1020180098520A 2017-09-11 2018-08-23 전자 디스플레이 경계 이득 시스템 및 방법 KR102166219B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/701,086 US10714049B2 (en) 2016-06-06 2017-09-11 Electronic display border gain systems and methods
US15/701,086 2017-09-11

Publications (2)

Publication Number Publication Date
KR20190029433A true KR20190029433A (ko) 2019-03-20
KR102166219B1 KR102166219B1 (ko) 2020-10-15

Family

ID=63490180

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180098520A KR102166219B1 (ko) 2017-09-11 2018-08-23 전자 디스플레이 경계 이득 시스템 및 방법

Country Status (4)

Country Link
EP (2) EP3454322A1 (ko)
JP (1) JP6966400B2 (ko)
KR (1) KR102166219B1 (ko)
CN (1) CN109493826B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021157924A1 (ko) * 2020-02-07 2021-08-12 삼성전자 주식회사 디스플레이를 포함하는 전자 장치
KR20220025303A (ko) * 2019-07-24 2022-03-03 애플 인크. 다중 해상도 섹션 디스플레이 패널 시스템들 및 방법들

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240045897A (ko) * 2022-09-30 2024-04-08 삼성전자주식회사 이미지 처리 장치, 이미지 처리 장치의 동작 방법, 및 이미지 처리 장치를 포함하는 디스플레이 시스템
CN116485645A (zh) * 2023-04-13 2023-07-25 北京百度网讯科技有限公司 图像拼接方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013061446A (ja) * 2011-09-13 2013-04-04 Seiko Epson Corp 画像表示装置
WO2017110721A1 (ja) * 2015-12-22 2017-06-29 シャープ株式会社 表示装置
KR20170129314A (ko) * 2016-05-16 2017-11-27 삼성디스플레이 주식회사 표시 장치

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7221381B2 (en) * 2001-05-09 2007-05-22 Clairvoyante, Inc Methods and systems for sub-pixel rendering with gamma adjustment
JP2006221125A (ja) * 2005-01-13 2006-08-24 Asahi Glass Co Ltd 画像処理方法及び表示装置
JP2007147727A (ja) * 2005-11-24 2007-06-14 Sony Corp 画像表示装置、画像表示方法、画像表示方法のプログラム及び画像表示方法のプログラムを記録した記録媒体
JP2008097223A (ja) * 2006-10-10 2008-04-24 Fujitsu Ltd 画像補正調整装置および調整方法
JP5112961B2 (ja) * 2008-06-11 2013-01-09 三菱電機株式会社 表示装置
JP4743234B2 (ja) * 2008-07-02 2011-08-10 ソニー株式会社 表示装置及び表示方法
US9098537B2 (en) * 2012-12-20 2015-08-04 Oracle International Corporation Techniques for aligned run-length encoding
JP2016024382A (ja) * 2014-07-22 2016-02-08 株式会社ジャパンディスプレイ 画像表示装置及び画像表示方法
US9311735B1 (en) * 2014-11-21 2016-04-12 Adobe Systems Incorporated Cloud based content aware fill for images
CN104570457B (zh) * 2014-12-23 2017-11-24 上海天马微电子有限公司 一种彩色滤光基板及显示装置
KR102344730B1 (ko) * 2014-12-26 2021-12-31 엘지디스플레이 주식회사 데이터 구동부, 표시장치 및 이의 구동방법
CN106033656A (zh) * 2015-03-11 2016-10-19 群创光电股份有限公司 显示装置
US9947258B2 (en) * 2015-08-28 2018-04-17 Novatek Microelectronics Corp. Image processing method and image processing apparatus
US9672765B2 (en) * 2015-09-30 2017-06-06 Apple Inc. Sub-pixel layout compensation
CN109870846B (zh) * 2016-02-02 2022-01-11 京东方科技集团股份有限公司 显示基板、显示面板和显示装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013061446A (ja) * 2011-09-13 2013-04-04 Seiko Epson Corp 画像表示装置
WO2017110721A1 (ja) * 2015-12-22 2017-06-29 シャープ株式会社 表示装置
KR20170129314A (ko) * 2016-05-16 2017-11-27 삼성디스플레이 주식회사 표시 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220025303A (ko) * 2019-07-24 2022-03-03 애플 인크. 다중 해상도 섹션 디스플레이 패널 시스템들 및 방법들
WO2021157924A1 (ko) * 2020-02-07 2021-08-12 삼성전자 주식회사 디스플레이를 포함하는 전자 장치

Also Published As

Publication number Publication date
CN109493826A (zh) 2019-03-19
JP6966400B2 (ja) 2021-11-17
JP2019049705A (ja) 2019-03-28
CN109493826B (zh) 2021-12-03
EP3893234A1 (en) 2021-10-13
EP3454322A1 (en) 2019-03-13
KR102166219B1 (ko) 2020-10-15

Similar Documents

Publication Publication Date Title
US10714049B2 (en) Electronic display border gain systems and methods
KR102166219B1 (ko) 전자 디스플레이 경계 이득 시스템 및 방법
CN107851307B (zh) 对用于图像处理的拜耳类型图像数据去马赛克的方法和系统
US8189944B1 (en) Fast edge-preserving smoothing of images
JP2019049705A5 (ko)
TWI552111B (zh) 硬體與軟體分劃的影像處理管線
EP2630783A1 (en) Image processing methods and apparatus using localized gamut definitions
US11651719B2 (en) Enhanced smoothness digital-to-analog converter interpolation systems and methods
JP2009506699A (ja) ブロックに基づく画像伸長により得られる画像をフィルタリングする装置
US11094038B1 (en) Variable scaling ratio systems and methods
US20200043138A1 (en) Chrominance and luminance enhancing systems and methods
US20220414824A1 (en) Hierarchical Grid Interpolation Systems and Methods
KR102337835B1 (ko) 지향성 스케일링 시스템들 및 방법들
US20110255780A1 (en) Method for performing color interpolation on a down-sampled bayer image, and associated device
US10068548B1 (en) Sub-pixel layout resampler systems and methods
US20200043137A1 (en) Statistical noise estimation systems and methods
US11321813B2 (en) Angular detection using sum of absolute difference statistics systems and methods
US9674484B2 (en) Image processing device and image processing method
US11941783B2 (en) Scaler de-ringing in image processing circuitry
US10187622B1 (en) Image data format conversion systems and methods
JP2010245768A (ja) 画像処理装置および画像処理方法
WO2024064051A1 (en) Cache architecture for image warp processing systems and methods
JP2016095667A (ja) 画像処理装置および電子機器
KR20150063897A (ko) 이미지를 디스플레이 하는 방법 및 그 장치

Legal Events

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