KR20220027963A - 다양한 칼라 포맷으로부터 이미지를 알파 블렌딩하기 위한 방법 및 장치 - Google Patents

다양한 칼라 포맷으로부터 이미지를 알파 블렌딩하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20220027963A
KR20220027963A KR1020227001687A KR20227001687A KR20220027963A KR 20220027963 A KR20220027963 A KR 20220027963A KR 1020227001687 A KR1020227001687 A KR 1020227001687A KR 20227001687 A KR20227001687 A KR 20227001687A KR 20220027963 A KR20220027963 A KR 20220027963A
Authority
KR
South Korea
Prior art keywords
blending
alpha
pixels
color format
target layer
Prior art date
Application number
KR1020227001687A
Other languages
English (en)
Inventor
데이비드 아이.제이. 글렌
케이스 리
Original Assignee
에이티아이 테크놀로지스 유엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에이티아이 테크놀로지스 유엘씨 filed Critical 에이티아이 테크놀로지스 유엘씨
Publication of KR20220027963A publication Critical patent/KR20220027963A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • 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/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/026Control of mixing and/or overlay of colours in general
    • 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
    • G09G5/377Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/62Semi-transparency
    • 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/0673Adjustment of display parameters for control of gamma adjustment, e.g. selecting another gamma curve
    • 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/06Colour space transformation
    • 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/10Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

일부 예에서, 장치는 콘텐츠 이미지의 픽셀과 같은 소스 레이어 픽셀 및 대상 이미지의 픽셀과 같은 제1 대상 레이어 픽셀을 획득한다. 제1 대상 레이어 픽셀에는 관련 알파 값이 있다. 장치는 알파 값에 대한 제1 블렌딩 칼라 포맷을 나타내는 정보를 획득한다. 제1 블렌딩 칼라 포맷은 제1 대상 레이어 픽셀에 대한 제1 대상 레이어 칼라 포맷 및 디스플레이에 대한 출력 칼라 포맷과 다르다. 장치는 소스 및/또는 제1 대상 레이어 픽셀을 제1 블렌딩 칼라 포맷으로 변환한다. 장치는 연관된 알파 값을 사용하여 소스 레이어 픽셀을 제1 대상 레이어 픽셀과 알파 블렌딩하는 것에 기초하여 제1 알파 블렌딩 픽셀을 생성한다. 장치는 디스플레이에 표시하기 위해 제1 알파 블렌딩 픽셀을 제공한다.

Description

다양한 칼라 포맷으로부터 이미지를 알파 블렌딩하기 위한 방법 및 장치
디스플레이에 이미지를 표시하기 전에, 이미지 프로세서는 2개 이상의 레이어 또는 이미지를 알파 블렌딩하여 알파 블렌딩 이미지를 생성한다. 예를 들어, 이미지 프로세서는 대상 이미지와 연관된 알파 값을 사용하여 소스 이미지를 대상 이미지(예: 오버레이 이미지)와 알파 블렌딩한다. 알파 값은 일반적으로 0과 1 사이의 값이며 단일 이미지를 형성하기 위해 함께 블렌딩될 때 대상 이미지 및/또는 소스 이미지의 투명도 수준을 나타낸다. 그러나 대상 이미지와 소스 이미지는 서로 다른 칼라 포맷일 수 있다. 예를 들어, 한 이미지는 HDR(High Dynamic Range) 칼라 포맷이고 다른 이미지는 SDR(표준 동적 범위) 칼라 포맷일 수 있다. 상이한 칼라 포맷 간의 비선형성의 차이로 인해 원래 알파 값을 적용하면 이미지 간의 투명도 수준이 이미지 중 하나의 작성자나 프로그래머가 의도한 것과 달라진다.
몇몇 경우에, 상이한 칼라 포맷을 수용하기 위해, 소스 및 대상 이미지는 공통 선형 광 HDR 포맷으로 변환되고, 알파 블렌딩은 공통 선형 광 HDR 포맷에서 발생한다. 그러나 알파 값이 SDR 칼라 포맷으로 지정되어, 매우 부정확한 투명도의 알파 값이 HDR 칼라 포맷에 대해 지정된 경우, 이로 인해 잘못된 투명도 결과가 발생할 수 있다. 알파 값에 수정을 적용하여 보상하는 다른 방법이 알려져 있다. 그러나 이로 인해 소스의 원래 알파 블렌딩 의도가 변경될 수도 있다. 또한 HDR 및 SDR 이미지를 블렌딩할 때 출력 또는 디스플레이 장치의 칼라 포맷에서 이미지의 올바른 상대 밝기를 제공하는 데 문제가 발생할 수 있다. 상대 밝기를 보정하는 알려진 방법은 사용자 선호도 조정 슬라이더 및/또는 시청 환경에서 주변 광 레벨 감지에 기반한 동적 조정을 포함한다. 그러나 이것은 문제의 일부만 해결하며 소스의 원래 알파 블렌딩 의도를 유지하면서 이미지를 블렌딩하는 방법을 다루지 않는다.
또한, 각각의 칼라 포맷은 감마 공간(예를 들어, 칼라 코딩에 사용되는 선형성/비선형성 곡선) 및 특정 원색을 포함할 수 있다. 그래픽 처리 장치(GPU)와 같은 장치는 레이어(예: 소스 및/또는 대상 이미지)를 대상 이미지에 대한 감마 공간 및/또는 디스플레이 인터페이스에 대한 감마 공간으로 변환하는 것으로 알려져 있다. 그런 다음, 이러한 감마 공간으로의 변환 후, GPU는 변환된 레이어를 알파 블렌딩하여(예: 소스 및/또는 대상 이미지가 대상 이미지 및/또는 디스플레이 인터페이스에 대한 감마 공간으로 변환됨) 알파 블렌딩 이미지를 형성하게 된다.
많은 경우에, 작성자 또는 프로그래머는 알파 블렌딩이 대상 이미지 및/또는 디스플레이 인터페이스에 대한 감마 공간과는 상이한 칼라 포맷으로 발생하도록 의도할 수 있다. 그러나 현재, 알파 블렌딩 전에 소스 및/또는 제1 대상 레이어 픽셀을 대상 이미지의 칼라 포맷 및/또는 디스플레이 인터페이스의 칼라 포맷 이외의 칼라 포맷으로 변환하는 데 사용할 수 있는 방법이나 장치가 없다. 추가적으로, 작성자나 프로그래머는 알파 블렌딩이 여러 블렌딩 단계 간에 상이한 칼라 포맷(가령, 제1 핵상 블렌딩 형식 및 제2 블렌딩 칼라 포맷)을 이용하여 다수의 블렌딩 단계를 포함하도록 알파 블렌딩을 구성할 수 있다(가령, 2개의 픽셀 레이어가 함께 알파 블렌딩되고 그 후 그 결과가 제3 픽셀 레이어와 블렌딩될 수 있음). 다시 말하지만, 현재, 블렌딩 단계 간의 상이한 칼라 포맷을 나타내는데 사용할 수 있는 방법이나 장치가 없다. 따라서, 상기 언급된 결점들 중 하나 이상을 다루기 위해 하나 이상의 개선된 방법 및/또는 장치가 필요하다.
구현예들은 하기 도면을 첨부할때 다음의 설명의 관점에서 더 쉽게 이해될 것이며, 여기서 유사한 참조 번호는 유사한 요소를 나타낸다:
도 1은 본 개시내용에 기재된 일 변형에 따라 상이한 칼라 포맷으로부터 이미지를 알파 블렌딩하기 위한 장치를 예시하는 개략적인 블록도이다.
도 2는 본 개시내용에 기재된 일 변형에 따라 상이한 칼라 포맷으로부터 이미지를 알파 블렌딩하기 위한 방법을 예시하는 흐름도이다.
도 3은 본 개시내용에 기재된 하나의 변형에 따라 상이한 칼라 포맷으로부터 이미지를 알파 블렌딩하기 위한 알파 투명도 최적화 로직의 예를 예시하는 개략적인 블록도이다.
도 4는 본 개시내용에 기재된 하나의 변형에 따라 상이한 칼라 포맷으로부터 이미지를 알파 블렌딩하기 위한 다른 장치를 예시하는 개략적인 블록도이다.
도 5는 본 개시내용에 기재된 하나의 변형에 따라 상이한 칼라 포맷으로부터 이미지를 알파 블렌딩하기 위한 그래픽 처리 유닛을 예시하는 개략적인 블록도이다.
도 6은 본 개시내용에 기재된 하나의 변형에 따라 상이한 칼라 포맷으로부터 이미지를 알파 블렌딩하기 위한 다른 장치를 예시하는 개략적인 블록도이다. 그리고,
도 7은 본 개시내용에 기재된 하나의 변형에 따라 상이한 칼라 포맷으로부터 이미지를 알파 블렌딩하기 위한 다른 방법을 예시하는 흐름도이다.
일부 예에서, 방법 및 장치는 콘텐츠 이미지(예: 소스 이미지 또는 소스 레이어 픽셀)와 알파 블렌딩될 대상 이미지(예를 들어, 대상 레이어 픽셀)의 프로그래머와 같은 작성자의 원래 알파 블렌딩 의도를 보존하거나 유지하기 위해 알파 블렌딩 투명도 최적화 로직을 사용한다. 경우에 따라 대상 이미지는 사용자 인터페이스 이미지, 로고 이미지 또는 다른 유형의 대상 이미지이다. 예를 들어, 사용자 인터페이스 이미지가 나타내는 알파 값은 대상 칼라 포맷(예: 제1 대상 레이어 칼라 포맷)과 같은 단일 칼라 포맷의 이미지를 알파 블렌딩하는 데 사용된다. 이와 같이 이미지(예: 소스/대상 이미지)를 원래 칼라 포맷에서 블렌딩 칼라 포맷(예: 이미지를 알파 블렌딩하는 데 사용되는 칼라 포맷)으로 변환함으로써 알파 블렌딩 투명도 최적화 로직은 원래의 알파 블렌딩 의도를 유지하거나, 대상 이미지와 콘텐츠 이미지가 서로 다른 칼라 포맷으로 되어 있어 야기되는 왜곡을 최소화한다. 이에 대해서는 아래에서 더 자세히 설명하겠다.
일부 예들에서, 장치는 소스 또는 콘텐츠 이미지의 것과 같은 소스 레이어 픽셀들 및 대상 이미지의 것과 같은 제1 대상 레이어 픽셀들을 획득한다. 제1 대상 레이어 픽셀에는 연결된 제1 알파 값이 있다. 장치는 제1 알파 값에 대한 제1 블렌딩 칼라 포맷을 나타내는 정보를 획득한다. 제1 블렌딩 칼라 포맷(예를 들어, 표준 레드 그린 블루(sRGB) 칼라 포맷)은 제1 대상 레이어 픽셀이 있는 제1 대상 레이어 칼라 포맷(예를 들어, 지각 양자화기(PQ) 칼라 포맷)과 상이하며, 디스플레이를 위한 출력 칼라 포맷(예를 들어, HLG(hybrid log-gamma) 칼라 포맷)과 상이하다. 장치는 소스 레이어 픽셀 및/또는 제1 대상 레이어 픽셀을 제1 블렌딩 칼라 포맷으로 변환한다. 장치는 소스 레이어 픽셀 및/또는 제1 대상 레이어 픽셀을 제1 블렌딩 칼라 포맷으로 변환하는 것에 응답하여 제1 알파 값을 사용하여 소스 레이어 픽셀을 제1 대상 레이어 픽셀과 알파 블렌딩하는 것에 기초하여 제1 알파 블렌딩 픽셀을 생성한다. 장치는 디스플레이에 표시하기 위해 제1 알파 블렌딩 픽셀을 제공한다.
일부 예에서, 알파 블렌딩 이전에 상이한 칼라 포맷 변환 기술이 사용된다. 예를 들어, 일부 변형에서, 제1 블렌딩 칼라 포맷은 제1 블렌딩 감마 공간 및 원색의 제1 블렌딩 세트를 포함한다. 감마 공간은 제1 블렌딩 칼라 포맷의 선형성/비선형성을 나타내는 데이터를 나타낸다. 장치는 제1 블렌딩 감마 공간에 대한 전달 함수를 나타내는 데이터를 사용하여 소스 레이어 픽셀 및/또는 제1 대상 레이어 픽셀을 제1 블렌딩 감마 공간으로 변환한다. 일부 예들에서, 제1 블렌딩 감마 공간은 선형 감마 공간이고 전달 함수는 감마 전달 함수이다. 제1 블렌딩 감마 공간에 대한 전달 함수는 장치의 메모리에 저장된다. 다른 변형에서, 장치는 하나 이상의 감마 전달 함수 및/또는 하나 이상의 선형 대 선형 전달 함수를 나타내는 데이터를 사용하여 소스 레이어 픽셀 및/또는 제1 대상 레이어 픽셀을 원색의 제1 블렌딩 세트로 변환한다. 하나 이상의 감마 전달 함수 및/또는 하나 이상의 선형 대 선형 전달 함수는 장치의 메모리에 저장된다. 또 다른 변형예에서, 장치는 소스 레이어 픽셀 및 제1 대상 레이어 픽셀 중 적어도 하나를 제1 블렌딩 감마 공간 및 원색의 제1 블렌딩 세트로 변환한다.
일부 예에서, 다중 알파 블렌딩 단계가 사용된다. 예를 들어, 두 번째, 제3 또는 다른 후속 알파 블렌딩 단계에서, 장치는 이전에 생성된 알파 블렌딩 픽셀 및/또는 새로운 대상 레이어(예: 제2 대상 레이어 픽셀)를 제2 블렌딩 칼라 포맷으로 변환하며, 이는 제1 블렌딩 칼라 포맷과 다른 칼라 포맷이다. 예를 들어, 장치는 제2 블렌딩 칼라 포맷(예를 들어, PQ 칼라 포맷)을 나타내는 정보 및 제2 알파 값과 연관된 제2 대상 픽셀을 획득한다. 그 다음, 장치는 제1 알파 블렌딩 픽셀 및/또는 제2 대상 레이어 픽셀을 제2 블렌딩 칼라 포맷으로 변환한다. 장치는 제1 알파 블렌딩 픽셀 및/또는 제2 대상 레이어 픽셀을 변환하는 것에 응답하여 제2 알파 값을 사용하여 제1 알파 블렌딩 픽셀을 제2 대상 레이어 픽셀과 알파 블렌딩하는 것에 기초하여 제2 알파 블렌딩 픽셀을 생성한다.
일부 예에서(예를 들어, 장치가 알파 블렌딩의 다중 스테이지를 수행할 때), 제1 블렌딩 칼라 포맷은 제1 대상 레이어 칼라 포맷과 동일한 칼라 포맷이다. 일부 변형에서, 제1 블렌딩 칼라 포맷과 유사하게, 제2 블렌딩 칼라 포맷은 제2 블렌딩 감마 공간 및 원색의 제2 블렌딩 세트를 포함한다. 이 장치는 알파 블렌딩의 제2 또는 후속 단계에 대해 서로 다른 칼라 포맷 변환 기술을 사용한다. 예를 들어, 장치는 제2 블렌딩 감마 공간과 연관된 감마 전달 함수를 나타내는 데이터를 사용하여 제1 알파 블렌딩 픽셀 및/또는 제2 대상 레이어 픽셀을 제2 블렌딩 감마 공간으로 변환한다. 일부 예들에서, 제2 블렌딩 감마 공간은 출력 칼라 포맷과 동일한 감마 공간이다. 일부 경우에, 장치는 하나 이상의 감마 전달 함수 및 하나 이상의 선형 전달 함수를 나타내는 데이터를 사용하여 제1 알파 블렌딩 픽셀 및 제2 대상 레이어 픽셀을 원색의 제2 블렌딩 세트로 변환한다.
일부 예들에서, 디스플레이 상에 제1 알파 블렌딩 픽셀들을 디스플레이하기 전에, 장치는 추가로 픽셀들에 대해 변환을 하거나 및/또는 HDR 톤 매핑을 수행한다. 예를 들어, 장치는 제1 알파 블렌딩 픽셀을 출력 칼라 포맷으로 변환한다. 그 다음, 장치는 디스플레이 상에 제1 알파 블렌딩 픽셀을 디스플레이하도록 제공한다. 일부 경우에, 장치는 복수의 제1 알파 블렌딩 픽셀에 대해 톤 매핑(예를 들어, HDR(High Dynamic Range) 톤 매핑)을 수행한다.
일부 경우에, 장치는 칼라 포맷 변환 프로세스 대신에 또는 그 동안에 톤 매핑을 수행한다. 예를 들어, 장치는 소스 레이어 픽셀 및/또는 제1 대상 레이어 픽셀을 톤 매핑함으로써 소스 레이어 픽셀 및/또는 제1 대상 레이어를 변환한다. 일부 변형에서, 장치는 디스플레이 엔진을 포함하는 그래픽 처리 장치(GPU)를 포함한다. 디스플레이 엔진은 소스 픽셀을 제1 대상 레이어 픽셀과 알파 블렌딩하기 전에 소스 픽셀 및/또는 제1 대상 레이어 픽셀을 제1 블렌딩 칼라 포맷으로 변환하도록 구성된 알파 투명도 최적화 로직을 포함한다. 일부 예에서, 장치는 소스 레이어 픽셀, 제1 대상 레이어 픽셀, 알파 값 세트, 및/또는 제1 블렌딩 칼라 포맷을 저장하는 하나 이상의 프레임 버퍼를 갖는 메모리를 포함한다.
도 1은 상이한 칼라 포맷으로부터 이미지를 알파 블렌딩하기 위한 이미지 처리 장치와 같은 장치(100)의 일례를 도시한다. 일부 구현들에서, 장치(100)는 개시된 주제의 변형들의 양태들을 구현하기에 적합한 임의의 유형의 컴퓨팅 대상 장치를 포함한다. 컴퓨팅 장치의 예에는 장치(100)의 다양한 구성요소를 참조하여, 워크스테이션, 랩톱, 데스크탑, 태블릿 컴퓨터, 휴대용 장치, 디스플레이 장치, 미디어 플레이어, 셋톱 박스, 텔레비전, 게임 콘솔, 프린터, 서버, 클라우드 컴퓨팅 플랫폼, 집적 회로, 등이 포함되지만 이에 국한되지는 않으며, 이들 모두는 도 1의 범위 내에서 고려된다.
일부 변형에서, 장치(100)는 알파 투명도 최적화 로직(108) 및 디스플레이(들)(112)를 포함한다. 알파 투명도 최적화 로직(108)은 소스 칼라 포맷의 소스 레이어 픽셀(102), 제1 대상 레이어 칼라 포맷(예를 들어, 오버레이 칼라 포맷)의 제1 대상 레이어 픽셀(104)(예를 들어, 오버레이 이미지), 제1 블렌딩 칼라 포맷의 제1 알파 값 세트(114), 제1 블렌딩 칼라 포맷을 나타내는 정보(106), 및/또는 출력 칼라 포맷을 나타내는 정보(116)를 획득한다. 제1 대상 레이어 픽셀(104)은 제1 알파 값(114)의 세트와 연관된다. 다시 말해서, 프로그래머 및/또는 작성자는 제1 대상 레이어 픽셀(104)이 제1 알파 값(114)의 세트를 사용하여 알파 블렌딩되도록 프로그래밍하거나 의도하였다. 어떤 경우에는 메모리의 동일한 프레임 버퍼가 제1 대상 레이어 픽셀(104)과 알파 값의 세트(114)를 저장한다. 로직(108)은 프레임 버퍼로부터 제1 대상 레이어 픽셀(104)과 알파 값의 세트(114)를 포함하는 정보를 불러온 후, 정보를 제1 대상 레이어 픽셀(104) 및 알파 값 세트(114)로 나눈다.
일부 예에서, 장치(100)는 무비 플레이어(예를 들어, DVD 플레이어 및/또는 BLU-RAY 플레이어)이다. 장치(100)는 DVD 또는 BLU-RAY 디스크와 같은 콘텐츠 소스로부터 소스 픽셀(102) 및/또는 소스 칼라 포맷을 획득한다. 장치(100)는 무비 플레이어의 메모리로부터 제1 대상 픽셀(104) 및/또는 제1 대상 칼라 포맷을 획득한다. 제1 대상 픽셀(104)은 소스 레이어 픽셀(102)과 알파 블렌딩될 그래픽 사용자 인터페이스를 나타낸다. 제1 대상 픽셀(104), 제1 대상 칼라 포맷, 제1 알파 값(114) 및 제1 블렌딩 칼라 포맷은 무비 플레이어의 메모리에 저장된다. 로직(108)은 소스 칼라 포맷의 소스 레이어 픽셀들(102), 제1 대상 레이어 칼라 포맷(예를 들어, 오버레이 칼라 포맷)의 제1 대상 레이어 픽셀들(104)(예를 들어, 오버레이 이미지), 제1 블렌딩 칼라 포맷의 제1 알파 값 세트(114) 및 게임 콘솔의 메모리로부터 및/또는 콘텐츠 소스로부터의 제1 블렌딩 칼라 포맷을 나타내는 정보(106)를 획득한다. 출력 칼라 포맷은 디스플레이(112)(예를 들어, 디스플레이 장치 및/또는 디스플레이 인터페이스)를 위한 칼라 포맷이다. 일부 예에서, 로직(108)은 디스플레이(112)로부터 출력 칼라 포맷에 대한 정보(116)를 획득한다. 제1 블렌딩 칼라 포맷은 소스 레이어 픽셀(102) 및 제1 대상 레이어 픽셀(104)을 블렌딩하는데 사용되는 제1 알파 값 세트(114)에 대한 칼라 포맷이다.
일부 변형에서, 장치(100)는 디스플레이(112)를 선택적으로 포함한다. 존재하는 경우, 알파 투명도 최적화 로직(108) 및 디스플레이(112)는 동일한 장치에 있다. 디스플레이(112)는 하나 이상의 모니터, 텔레비전 스크린, 프로젝션 장치, 및/또는 비디오 또는 게임 프레임, 영화 및/또는 이미지를 디스플레이 및/또는 보여주는 다른 디스플레이 스크린을 포함한다. 로직(108)은 제1 알파 블렌딩 픽셀(110)을 디스플레이(112)에 제공하고 디스플레이(112)는 제1 알파 블렌딩 픽셀(110)을 디스플레이한다. 일부 예들에서, 장치(100)는 디스플레이를 포함하지 않는다. 이와 같이, 알파 투명도 최적화 로직(108)은 인터넷, 무선, 유선 버스, 또는 임의의 적절한 방식을 통해 제1 알파 블렌딩 픽셀(110)과 같은 이미지 데이터를 디스플레이(112)를 구비한 하나 이상의 추가 장치에 제공(예를 들어, 발신 또는 전송)한다. 알파 투명도 최적화 로직(108)을 포함하는 예시적인 장치(100)는 본 개시의 변형의 사용 또는 기능의 범위에 대한 어떠한 제한을 제시하는 것을 의도하지 않는다.
도 1-3을 참조하면, 상이한 칼라 포맷으로부터 이미지를 알파 블렌딩하기 위한 방법(200)의 예 및 알파 투명도 최적화 로직의 예가 도시되어 있다. 방법(200)은 장치(100) 및 로직(108)을 참조하여 설명될 것이다. 그러나, 임의의 적절한 구조가 사용될 수 있다. 알파 투명도 최적화 로직(108)은 제1 레이어 픽셀 변환기 유닛(302)(예를 들어, 소스 이미지 변환기 유닛), 제2 레이어 픽셀 변환기 유닛(304)(예를 들어, 대상 이미지 변환기 유닛), 알파 블렌딩 유닛(306), 및/또는 출력 변환 및/또는 톤 매핑 유닛(308)을 포함한다. 이러한 서브유닛(302, 304, 306, 및/또는 308)들이 부모 로직(108)의 하위 자녀 유닛으로 예시되어 있지만, 각 서브유닛은 로직(108)과는 별개의 유닛으로 동작할 수 있고, 서브유닛의 다른 적절한 조합이 상이한 애플리케이션에 적합하도록 고려된다.
일부 경우에, 출력 변환 및/또는 톤 매핑 유닛(308)은 선택적이다. 존재하는 경우, 유닛(308)은 제1 알파 블렌딩 픽셀(110)의 HDR 톤 매핑을 수행한다. 추가적으로 및/또는 대안적으로, 유닛(308)은 픽셀(110)을 디스플레이(112)에 대한 출력 칼라 포맷으로 변환한다. 유닛(308)이 로직(108)에 존재하지 않으면, 로직(108)은 HDR 톤 매핑을 수행하지 않고 및/또는 픽셀을 출력 칼라 포맷으로 변환하지 않는다(예를 들어, 다른 엔티티가 제1 알파 블렌딩 픽셀(110)을 변환 및/또는 톤 매핑함).
로직(108)은 커널을 실행하는 하나 이상의 CPU, GPU, APU 또는 프로세서의 일부로서 하나 이상의 상태 머신, 하나 이상의 디지털 신호 프로세서, 및/또는 또는 기타 적절한 구조를 원하는 대로 포함하는, 그러나 이에 제한되지 않는, 임의의 적절한 로직 구조이다. 여기에서 사용된 용어 "유닛"은 ASIC(Application Specific Integrated Circuit), 전자 회로, 프로세서 또는 마이크로프로세서(공유, 전용 또는 그룹) 및/또는 하나 이상의 소프트웨어 또는 펌웨어 프로그램을 실행하는 메모리(공유, 전용, 또는 그룹), 조합 논리 회로 및/또는 설명된 기능을 제공하는 기타 적절한 구성 요소를 지칭하거나 그 일부이거나 이를 포함할 수 있다.
동작시, 단계(202)에서, 로직(108)은 소스 레이어 픽셀(102)(예를 들어, 소스 이미지), 제1 알파 값(114)의 세트와 연관된 제1 대상 레이어 픽셀(104)(예를 들어, 대상 이미지), 및 제1 알파 값(114)의 세트에 대한 제1 블렌딩 칼라 포맷(106)을 나타내는 인디케이터를 획득한다. 제1 블렌딩 칼라 포맷은 제1 대상 레이어 칼라 포맷(예: 제1 대상 레이어 픽셀(104)의 칼라 포맷) 및 출력 칼라 포맷(예를 들어, 디스플레이(112)이 이미지를 출력하거나 표시하는 칼라 포맷)과 상이하다.
예를 들어, 유닛(302)은 소스 레이어 픽셀(102)을 획득한다. 유닛(304)은 제1 대상 레이어 픽셀(104)을 획득한다. 일부 변형에서, 장치(100)는 유닛(302 및 /또는 304)이 나중에 획득하는 소스 및 제1 대상 레이어 픽셀(102, 104)를 생성한다. 다른 변형에서, 장치(100)는 다른 엔티티(예를 들어, 웹 서버)로부터 소스 및 제1 대상 레이어 픽셀(102, 104)을 획득한다. 또 다른 변형예에서, 장치(100)는 소스 또는 제1 대상 레이어 픽셀(102, 104) 중 하나를 생성하고 소스 또는 제1 대상 레이어 픽셀(102, 104) 중 다른 하나를 획득한다.
일부 예에서, 게임 콘솔과 같은 장치(100)는 콘텐츠 소스 및/또는 메모리로부터 명령을 실행하도록 구성된다. 콘텐츠 소스는 메모리, 서버, 비디오 디스크, 게임 디스크(예: 레거시 게임 디스크), DVD, 메모리를 포함하는 기타 비디오 또는 이미지 형식, 및/또는 하나 이상의 프로세서와 같은 장치로서, 소스 또는 제1 대상 레이어 픽셀(102, 104)를 생성하기 위해 장치(100)에 명령을 제공한다. 또한, 콘텐츠 소스의 메모리는 장치(100)(예를 들어, 게임 콘솔 및/또는 컴퓨팅 장치)에 의해 실행가능한 명령어를 포함한다. 장치(100)는 콘텐츠 소스의 메모리로부터 명령어를 획득 및/또는 실행하고, 명령어 실행에 기초하여, 장치(100)는 소스 레이어 픽셀(102) 및/또는 제1 대상 레이어 픽셀(104)을 획득 및/또는 생성한다. 추가적으로 및/또는 대안적으로, 명령 실행에 기초하여, 장치(100)는 소스 레이어 픽셀(102) 및/또는 제1 대상 레이어 픽셀(104)에 대한 칼라 포맷(예를 들어, 소스 및 제1 대상 레이어 칼라 포맷)을 결정하거나 식별한다. 다시 말해서, 명령을 실행함으로써, 장치(100)는 소스/제1 대상 레이어 픽셀(102, 104)에 대한 칼라 포맷을 나타내는 정보를 콘텐츠 소스로부터 불러온다.
다른 예들에서, 장치(100)는 스트리밍 제공자를 위한 웹 서버와 같은 콘텐츠 소스로부터 소스 레이어 픽셀들(102) 및/또는 제1 대상 레이어 픽셀들(104)을 획득한다. 이러한 경우 콘텐츠 소스는 웹 서버와 같은 엔티티이다. 웹 서버(예를 들어, 비디오 서비스, 게임 서비스, 및/또는 스트리밍 서비스 웹 서버)는 게임, 영화, 텔레비전 쇼, 및/또는 다른 비디오 또는 이미지 파일을 나타내는 정보를 장치(100)에 제공한다. 추가적으로 및/또는 대안적으로, 장치(100)는 콘텐츠 소스로부터 소스 및/또는 제1 대상 레이어 픽셀(102, 104)에 대한 칼라 포맷을 나타내는 정보를 획득한다.
픽셀(102, 104)을 생성 및/또는 획득한 후, 장치(100)는 픽셀(102)을 제1 프레임 버퍼에 저장하고 픽셀(104)을 제2 프레임 버퍼에 저장한다. 즉, 그래픽 엔진 또는 3-D 엔진은 픽셀(102 및/또는 104)을 생성하고 이러한 픽셀(102, 104)을 프레임 버퍼에 저장한다. 일부 예들에서, 프레임 버퍼는 장치(100) 메모리에 있다. 다른 예에서, 프레임 버퍼는 그래픽 처리 장치(GPU) 및/또는 중앙 처리 장치(CPU) 데이터 캐시와 같은 칩 또는 프로세서 메모리에 있다. 유닛(302)은 소스 레이어 픽셀(102)을 저장하는 프레임 버퍼로부터 소스 레이어 픽셀(102)을 획득한다. 또한, 유닛(304)은 제1 대상 레이어 픽셀(104)을 저장하는 상이한 프레임 버퍼로부터 제1 대상 레이어 픽셀(104)을 획득한다.
일부 예들에서, 소스 또는 제1 대상 레이어 픽셀들(102, 104)은 이전에 함께 알파 블렌딩 2개의 상이한 이미지들로부터의 것이다. 예를 들어, 장치(100)는 알파 값들의 세트를 사용하여 픽셀들의 제1 세트와 픽셀들의 제2 세트를 알파 블렌딩함으로써 소스 레이어 픽셀들(102)을 생성한다. 장치(100)는 소스 레이어 픽셀(102)을 프레임 버퍼에 저장하고/하거나 그것을 로직(108)으로 피드백한다. 유닛(302)은 위에서 설명된 바와 같이 소스 레이어 픽셀(102)을 얻는다.
소스 레이어 픽셀(102)을 획득하는 것에 추가하여, 유닛(302)은 또한 소스 레이어 픽셀에 대한 소스 칼라 포맷(316) 및 제1 블렌딩 칼라 포맷을 나타내는 정보(106)를 획득한다. 또한, 제1 대상 레이어 픽셀(104)을 획득하는 것에 더하여, 유닛(304)은 또한 제1 대상 레이어 픽셀(318)에 대한 제1 대상 레이어 칼라 포맷 및 제1 블렌딩 칼라 포맷을 나타내는 정보를 획득한다. 예를 들어, 소스 및/또는 제1 대상 레이어 픽셀(102, 104)은 각각 이미지를 구성한다. 이미지의 각 픽셀에는 해당하는 조명 값이 있다. 픽셀의 조명 값은 조명 측정기를 사용하여 측정할 수 있는 물리적 값의 세트이다. 휘도 레벨 정규화 및 전달 함수를 사용하여, 픽셀의 조명 값을 다른 칼라 포맷으로 매핑할 수 있다. 칼라 포맷은 칼라 공간이라고도 한다(예: 표준 빨강 초록 파랑(sRGB) 칼라 공간).
각 칼라 포맷(예: 칼라 공간)은 상이한 값들을 사용하여 조명 값을 나타낸다. 또한 각 칼라 포맷에는 감마 공간과 특정 원색의 조합이 포함된다. 감마 공간은 칼라 포맷으로 색상 코딩에 사용되는 선형성 및/또는 비선형성 곡선을 나타내는 데이터이다. 이러한 감마 공간은 종종 전달 함수(예: EOTF(electrical-optical transfer function) 및/또는 OETF(optical-electrical transfer function))라고도 하며, 이는 감마 전달 함수 또는 선형 대 선형 전달 함수일 수 있다. 감마 전달 함수(예: 감마 값이 있는 전달 함수 및 그 외 더 복잡한 전달 함수)에는 선형 대 비선형 전달 함수, 비선형 대 선형 전달 함수, 비선형 대 비선형 전달 함수가 포함된다. 아래에서 더 상세히 설명되는 바와 같이, 로직(108)은 감마 전달 함수 및 선형 대 선형 전달 함수를 포함하는 이러한 전달 함수를 나타내는 데이터를 사용하여 상이한 칼라 포맷 사이에서 변환한다. 이러한 전달 함수를 나타내는 데이터에는 실제 전달 함수 및/또는 전달 함수를 나타내는 행렬이 포함된다. 경우에 따라 칼라 포맷은 선형이고 전달 함수는 1.0의 감마를 사용한다. 일부 예에서, 원색은 CIE(International Commission of Illumination) 색상 표준과 같은 색상 표준에 대한 색상(예: 빨강, 녹색, 파랑, 흰색 등)의 특정 매핑 또는 수학적 정의이다.
상이한 칼라 포맷의 예는 표준 적색 녹색 청색(sRGB) 칼라 포맷, 확장된 sRGB(EsRGB) 칼라 포맷(예를 들어, 10,000 니트까지 확장된 sRGB 칼라 포맷), BT.709 칼라 포맷, 지각 양자화기(PQ) 칼라 포맷(예: SMPTE(Society of Motion Picture and Television Engineers) ST2084 및/또는 ITU(International Telecommunication Union) BT2100에 정의된 지각 양자화기(PQ) 칼라 포맷), 하이브리드 로그 감마(HLG) 칼라 포맷, 수정된 HLG 칼라 포맷, PQ HLG 칼라 포맷, EsRGB HLG 칼라 포맷, 표준 동적 범위(SDR) 칼라 포맷 및/또는 HDR(높은 동적 범위) 칼라 포맷을 포함하지만 이에 제한되지 않는다.
제1 블렌딩 칼라 포맷은 소스 레이어 픽셀(102)을 제1 대상 레이어 픽셀(104)과 알파 블렌딩하는데 사용되는 제1 알파 값(114)의 세트에 관한 것이다. 예를 들어, 소스 레이어 픽셀(102)은 소스 이미지(예를 들어, 콘텐츠 소스의 이미지)이다. 제1 대상 레이어 픽셀들(104)은 대상 이미지(예를 들어, 소스 이미지와 알파 블렌딩될 그래픽 사용자 인터페이스 이미지와 같은, 이미지)이다. 작성자 또는 프로그래머는 제1 대상 레이어 픽셀(104)이 제1 알파 값(114)의 세트를 사용하여 제1 블렌딩 칼라 포맷으로 알파 블렌딩되도록 의도(예를 들어, 프로그래밍 또는 설계)되었다. 장치(100)는 제1 알파 값 세트(114)에 대한 제1 블렌딩 칼라 포맷을 획득 및/또는 결정한다. 그 다음, 장치(100)는 제1 블렌딩 칼라 포맷을 유닛(302) 및/또는 유닛(304)에 제공한다. 일부 예들에서, 그래픽 사용자 인터페이스 이미지는 사용자에 의해 선택가능한 입력을 포함하는 이미지이며, 결국 콘텐츠 이미지(예: 소스 이미지)와 알파 블렌딩된다.
일부 경우에, 장치(100)는 제1 대상 레이어 픽셀(104)을 생성 및/또는 획득하는 것에 기초하여 제1 블렌딩 칼라 포맷을 획득 및/또는 결정한다. 즉, 제1 대상 레이어 픽셀(104)을 생성하기 위한 명령어를 실행할 때, 및/또는 이들 픽셀(104)을 획득할 때, 장치(100)는 또한 제1 블렌딩 칼라 포맷을 획득 및/또는 결정한다. 일부 변형에서, 장치(100)는 제1 대상 레이어 픽셀(104)/그래픽 사용자 인터페이스를 저장하는 프레임 버퍼와 같은 프레임 버퍼에 제1 블렌딩 칼라 포맷을 저장한다. 소스 및 제1 대상 레이어 픽셀 변환기 유닛(302, 304)은 프레임 버퍼로부터 제1 블렌딩 칼라 포맷(106)을 획득한다.
유닛(302) 및 유닛(304)은 출력 칼라 포맷을 나타내는 정보(116)를 획득한다. 위에서 언급한 바와 같이, 출력 칼라 포맷은 디스플레이(112)와 연관된다(예를 들어, 디스플레이(112)는 출력 칼라 포맷으로 이미지/픽셀을 디스플레이하거나 출력한다). 일부 예들에서, 디스플레이(112)는 출력 칼라 포맷을 나타내는 정보(116)(예를 들어, 확장 디스플레이 식별 데이터(EDID) 정보)를 로직(108)에 제공한다. 다른 예들에서, 장치(100)는 인터넷 연결(예를 들어, 웹 서버로부터)을 통해 정보(116)를 획득한다.
단계(204)에서, 로직(108)은 소스 레이어 픽셀(102) 및/또는 제1 대상 레이어 픽셀(104)을 제1 블렌딩 칼라 포맷으로 변환한다. 예를 들어, 소스 레이어 픽셀(102), 제1 블렌딩 칼라 포맷, 출력 칼라 포맷 및 소스 칼라 포맷을 획득한 후, 유닛(302)은 소스 레이어 픽셀(102)을 제1 블렌딩 칼라 포맷으로 변환할지 여부를 결정한다. 예를 들어, 유닛(302)은 소스 칼라 포맷과 제1 블렌딩 칼라 포맷을 비교한다. 소스 칼라 포맷이 제1 블렌딩 칼라 포맷과 다른 경우, 유닛(302)은 소스 레이어 픽셀(102)을 소스 칼라 포맷으로부터 제1 블렌딩 칼라 포맷으로 변환한다.
유사하게, 제1 대상 레이어 픽셀(104), 제1 블렌딩 칼라 포맷, 출력 칼라 포맷, 및 제1 대상 레이어 칼라 포맷을 획득한 후, 유닛(304)은 제1 대상 레이어 픽셀(102)을 제1 블렌딩 칼라 포맷으로 변환할지 여부를 결정한다. 예를 들어, 유닛(304)은 제1 대상 레이어 칼라 포맷과 제1 블렌딩 칼라 포맷을 비교한다. 제1 대상 레이어 칼라 포맷이 제1 블렌딩 칼라 포맷과 다른 경우, 유닛(304)은 제1 대상 레이어 픽셀(102)을 제1 대상 레이어 칼라 포맷으로부터 제1 블렌딩 칼라 포맷으로 변환한다.
다시 말해서, 소스 및 제1 대상 레이어 픽셀(102, 104)을 알파 블렌딩하기 전에, 로직(108)은 픽셀(102, 104)이 제1 블렌딩 칼라 포맷에 있는지 여부를 결정하고, 그렇지 않다면 픽셀(102, 104)을 해당 칼라 포맷으로부터 제1 블렌딩 칼라 포맷으로 변환한다. 예를 들어, 대상 이미지(예를 들어, 제1 대상 레이어 픽셀(104))의 작성자 또는 프로그래머는 그것이 알파 블렌딩될 때 제1 대상 레이어 픽셀(104)에 대한 특정 투명도 레벨을 의도한다. 전통적으로, 소스 및/또는 제1 대상 레이어 픽셀(102, 104)이 상이한 칼라 포맷에 있는 경우, 제1 알파 값(114)을 사용하여 이들 픽셀 층(102, 104)을 알파 블렌딩하면 작성자의 의도가 왜곡될 수 있다. 이와 같이, 알파 블렌딩 동안 투명도 레벨의 원래 의도를 보존 및/또는 유지하기 위해, 알파 투명도 최적화 로직(108)은 소스 레이어 픽셀(102) 및/또는 제1 대상 레이어 픽셀(104)을 알파 블렌딩하기 전에, 픽셀(102, 104)을 대응하는 칼라 포맷에서 제1 블렌딩 칼라 포맷으로 변환한다.
일부 예들에서, 소스 레이어 픽셀들(102) 및/또는 제1 대상 레이어 픽셀들(104)은 제1 블렌딩 칼라 포맷과 동일한 칼라 포맷에 있다. 예를 들어, 제1 대상 레이어 칼라 포맷이 제1 블렌딩 칼라 포맷과 동일한 경우, 유닛(304)은 픽셀(104)을 제1 블렌딩 칼라 포맷으로 변환하지 않는다.
앞서 언급한 바와 같이, 각 칼라 포맷은 감마 공간 및 특정 원색을 갖는다. 일부 예에서, 유닛(302)은 제1 블렌딩 칼라 포맷에 대한 감마 공간(예를 들어, 제1 블렌딩 감마 공간)을 소스 칼라 포맷에 대한 감마 공간(예를 들어, 소스 감마 공간)과 비교한다. 다른 경우, 유닛(302)은 하나 이상의 전달 함수(예를 들어, 소스 칼라 포맷 및/또는 제1 블렌딩 칼라 포맷에 대한 EOTF 및/또는 OETF)를 사용하여 소스 감마 공간으로부터 제1 블렌딩 감마 공간으로 소스 레이어 픽셀(102)를 변환한다. 유닛(304)은 유사하게 제1 대상 레이어 픽셀(104)을 제1 대상 감마 공간으로부터 제1 블렌딩 감마 공간으로 비교 및/또는 변환한다. 일부 변형에서, 제1 블렌딩 감마 공간은 선형 전달 함수를 갖는 선형 감마 공간이다. 다른 변형에서, 감마 공간은 비선형 전달 함수를 갖는 비선형 감마 공간이다.
다른 경우에, 제1 블렌딩 칼라 포맷과 소스 칼라 포맷/제1 대상 칼라 포맷 사이의 원색은 상이하다. 예를 들어, 유닛(302)은 제1 블렌딩 칼라 포맷에 대한 원색을 소스 칼라 포맷에 대한 원색과 비교한다. 다른 경우, 유닛(302)은 하나 이상의 매트릭스 및/또는 하나 이상의 전달 함수(예를 들어, EOTF 및/또는 OETF)를 사용하여 소스 레이어 픽셀(102)을 소스 원색으로부터 원색의 제1 블렌딩 세트로 변환한다. 예를 들어, 유닛(302)은 소스 레이어 픽셀(102)을 선형화하기 위해 EOTF를 사용한다. 그 다음, 유닛(302)은 소스 레이어 픽셀(102)을 소스 원색으로부터 제1 블렌딩 세트의 원색으로 변환하기 위해 하나 이상의 매트릭스를 사용한다. 유사하게, 유닛(304)은 제1 대상 레이어 픽셀(104)을 제1 대상 원색으로부터 원색의 제1 블렌딩 세트의 원색으로 비교 및/또는 변환한다.
또 다른 경우에, 감마 공간 및 원색 둘 모두는 입력 칼라 포맷과 제1 블렌딩 칼라 포맷 사이에서 상이하다. 유닛(302 및/또는 304)은 소스 레이어 픽셀(102) 및/또는 제1 대상 레이어 픽셀(104)을 소스 및/또는 제1 대상 감마 공간/원색으로부터 제1 블렌딩 칼라 포맷의 감마 공간 및 원색으로 변환한다.
일부 변형에서, (제1 대상 레이어 픽셀(104)에 대한) 제1 대상 레이어 칼라 포맷은 SDR 칼라 포맷이다. 제1 블렌딩 칼라 포맷은 선형 HDR 칼라 포맷이다. 이와 같이, 유닛(304)은 제1 대상 레이어 픽셀(104)을 제1 대상 레이어 칼라 포맷으로부터 선형 HDR 칼라 포맷으로 변환한다. 소스 레이어 픽셀(102)은 필요에 따라 선형 HDR 칼라 포맷으로 변환된다(예를 들어, 소스 레이어 픽셀(102)이 선형 HD 칼라 포맷이 아닌 경우 유닛(302)은 소스 레이어 픽셀(102)을 변환함). 유닛(306)은 선형 HD 칼라 포맷인 제1 알파 블렌딩 픽셀(110)을 생성하기 위해 소스 픽셀(102)을 소스 레이어 픽셀(102)과 변환된 제1 대상 레이어 픽셀(104)과 알파 블렌딩한다. 그 다음, 유닛(308)은 제1 알파 블렌딩 픽셀(110)을 비선형 HDR 칼라 포맷(예를 들어, PQ HDR 칼라 포맷)과 같은 출력 칼라 포맷으로 변환한다. 그 다음, 로직(108)은 비선형 HDR 칼라 포맷의 제1 알파 블렌딩 픽셀(110)을 디스플레이(112)에 제공한다. 그 다음, 디스플레이(112)는 제1 알파 블렌딩 픽셀(110)을 디스플레이한다.
일부 예에서, 장치(100) 메모리 및/또는 캐시 메모리와 같은 메모리는 전달 함수 및/또는 행렬을 저장한다. 유닛(302 및/또는 304)은 메모리로부터 전달 함수 및/또는 행렬을 나타내는 데이터를 획득한 다음, 이 데이터를 사용하여 칼라 포맷 간을 변환한다.
추가적으로 및/또는 대안적으로, 일부 변형에서, 변환 프로세스 동안, 유닛(302, 304)은 소스 레이어 픽셀(102) 및/또는 제1 대상 레이어 픽셀(104)의 값을 정규화한다. 예를 들어, 픽셀(102 및 104)을 알파 블렌딩 전에, 유닛(302 및 304)은 픽셀(102 및/또는 104)의 휘도 범위가 제1 블렌딩 칼라 포맷에 대한 휘도 범위로 표준화되도록 픽셀(102 및/또는 104)을 정규화한다. 예를 들어, 유닛(302)은 소스 칼라 포맷 및 제1 블렌딩 칼라 포맷에 기초하여 정규화 비율을 결정한다. 다시 말해서, 유닛(302)은 소스 칼라 포맷에 대한 특정 휘도 값(예를 들어, 100니트)에 대한 밝기를 결정한다. 그 다음, 유닛(302)은 제1 블렌딩 칼라 포맷에 대한 특정 휘도 값(예를 들어, 100 니트)에 대한 밝기를 결정한다. 유닛(302)은 소스 및 제1 블렌딩 칼라 포맷에 대한 특정 휘도 값과 연관된 밝기에 기초하여 정규화 비율을 결정한다. 유사하게, 유닛(304)은 제1 블렌딩 칼라 포맷 및 제1 대상 칼라 포맷에 기초하여 정규화 비율을 결정한다. 유닛(302 및/또는 304)은 대응하는 칼라 포맷(예를 들어, 소스 및/또는 제1 대상 칼라 포맷)을 제1 블렌딩 칼라 포맷으로 변환하기 위한 변환 프로세스 동안 정규화 비율을 적용한다.
단계(206)에서, 소스 또는 제1 대상 레이어 픽셀(102, 104)을 제1 블렌딩 칼라 포맷으로 변환하는 것에 응답하여, 로직(108)은 제1 알파 값 세트(114)을 이용하여 소스 레이어 픽셀(102)을 제1 대상 레이어 픽셀(104)과 알파 블렌딩하는 것에 기초하여 제1 알파 블렌딩 픽셀(110)을 생성한다. 예를 들어, 알파 블렌딩 유닛(306)은 변환기 유닛(302 및/또는 304)으로부터 정보(310, 312)를 획득한다. 정보(310)는 소스 레이어 픽셀(102) 또는 변환된 소스 레이어 픽셀(102)을 포함한다. 유사하게, 정보(312)는 제1 대상 레이어 픽셀(104) 또는 변환된 제1 대상 레이어 픽셀(104)을 포함한다. 알파 블렌딩 유닛(306)은 제1 블렌딩 칼라 포맷(106)에 있는 제1 알파 값(114)을 더 획득한다. 일부 예에서, 제1 알파 값(114)은 (예를 들어, 전체 이미지에 대한) 전역 알파 값이다. 다른 경우에, 제1 알파 값(114)은 픽셀당 알파 값이다. 예를 들어, 알파 블렌딩 유닛(306)은 제1 대상 레이어 픽셀들(104)을 저장하는 프레임 버퍼와 같은, 프레임 버퍼로부터 제1 알파 값들(114)을 획득한다. 일부 예에서, 장치(100)는 제1 대상 레이어 픽셀(104)을 생성 및/또는 획득하고 및/또는 제1 블렌딩 칼라 포맷을 결정함에 기초하여, 제1 알파 값(114)을 획득 및/또는 결정한다. 제1 대상 레이어 픽셀(104)의 생성 및/또는 획득에 기초하여, 장치(100)는 제1 알파 값(114)을 결정 및/또는 획득하고, 제1 대상 레이어 픽셀(104)에 대한 프레임 버퍼와 같은, 프레임 버퍼에 제1 알파 값(114)을 저장한다.
알파 블렌딩 유닛(306)은 제1 알파 값(114)을 이용하여 소스 레이어 픽셀(102)(예: 변환/미변환 소스 레이어 픽셀)을 제1 대상 레이어 픽셀(104)(예: 변환/미변환 제1 대상 레이어 픽셀)과 알파 블렌딩을 수행하여, 제1 알파 블렌딩 픽셀(110)을 생성한다. 즉, 변환 유닛(302 및/또는 304)으로 인해, 소스 레이어 픽셀(102), 제1 대상 레이어 픽셀(104), 및 제1 알파 값(114)이 제1 블렌딩 칼라 포맷에 놓인다. 제1 블렌딩 칼라 포맷에서 알파 블렌딩을 수행함으로써, 로직(108)(예를 들어, 알파 블렌딩 유닛(306))은 제1 알파 값(114)을 설정할 때, 대상 픽셀(예를 들어, 사용자 또는 그래픽 사용자 인터페이스 이미지)의 작성자 또는 프로그래머의 원래 의도를 보존 및/또는 유지한다.
유닛(308)은 제1 알파 블렌딩 픽셀(110)을 나타내는 정보를 획득하고 제1 알파 블렌딩 픽셀(110)의 HDR 톤 매핑을 수행한다. 그 다음 유닛(308)은 제1 알파 블렌딩 픽셀(110)을 디스플레이(112)에 제공한다. 추가적으로 및/또는 대안적으로, 유닛(308)은 제1 알파 블렌딩 픽셀(110)을 디스플레이(112)에 대한 출력 칼라 포맷으로 변환한다. 예를 들어, 유닛(308)은 제1 블렌딩 칼라 포맷으로부터 출력 칼라 포맷으로 변환하기 위해 하나 이상의 전달 함수 및/또는 매트릭스를 사용한다., 다음, 유닛(308)은 제1 알파 블렌딩 픽셀(110)을 디스플레이(112)에 제공한다.
일부 예에서, 유닛(308)은 로직(108) 내에 있지 않다. 예를 들어, 일부 예에서, 제1 알파 블렌딩 픽셀(110)은 HDR 톤 매핑될 필요가 없다(예를 들어, 디스플레이(112)가 SDR 디스플레이이거나 픽셀(110)이 이미 HDR 칼라 포맷인 경우). 다른 예에서, 제1 알파 블렌딩 픽셀(110)은 다른 엔티티(예를 들어, 디스플레이 엔진)에 의해 출력 칼라 포맷으로 변환되거나 톤 매핑된다.
다른 예들에서, 유닛들(302 및/또는 304)은 소스 레이어 픽셀들(102) 및/또는 제1 대상 레이어 픽셀들(104)의 톤 매핑(예를 들어, HDR 톤 매핑)을 수행한다. 예를 들어, 픽셀들(102 및/또는 104)을 알파 블렌딩하기 전에, 유닛(302 및/또는 304)은 소스 레이어 픽셀(102) 및/또는 제1 대상 레이어 픽셀(104)의 HDR 톤 매핑을 수행한다. 일부 예에서, 소스 및/또는 제1 대상 칼라 포맷에서 제1 블렌딩 카라 포맷 간의 변환 프로세스 동안, 유닛(302 및/또는 304)은 소스 레이어 픽셀(102) 및/또는 제1 대상 레이어 픽셀(104)의 HDR 톤 매핑을 수행한다. 다른 경우에, 유닛(302 및/또는 304)은 소스 및/또는 제1 대상 칼라 포맷에서 제1 블렌딩 칼라 포맷 간의 변환을 수행하지 않고(예를 들어, 소스 및/또는 제1 대상 칼라 포맷은 제1 블렌딩 칼라 포맷에 있음), 유닛(302 및/또는 304)은 소스 레이어 픽셀(102) 및/또는 제1 대상 레이어 픽셀(104)의 HDR 톤 매핑만을 수행한다.
단계(208)에서, 로직(108)은 디스플레이(112) 상의 디스플레이를 위해 제1 알파 블렌딩 픽셀(110)을 제공한다. 예를 들어, 소스 픽셀(102)을 제1 대상 레이어 픽셀(104)과 알파 블렌딩하고, 알파 블렌딩 픽셀(110)을 출력 칼라 포맷으로 변환하며, 및/또는 이러한 픽셀들을 HDR 톤 매핑한 후, 장치(100)는 디스플레이(112) 상의 디스플레이를 위해 제1 알파 블렌딩 픽셀(110)을 제공한다. 디스플레이(112)는 디스플레이를 위해 제1 알파 블렌딩 픽셀(110)을 출력한다.
일부 변형에서, 알파 블렌딩의 다중 단계는 디스플레이(112)에 최종 이미지를 표시하기 전에 발생한다. 다시 말해서, 제1 알파 블렌딩 프로세스(예를 들어, 위의 방법(200)에서 설명된 제1 알파 블렌딩 픽셀(110) 생성) 후에,니트로직(108)은 하나 이상의 추가 알파 블렌딩 프로세스를 수행한다(예를 들어, 방법(200)을 한번 이상 추가로 반복한다). 도 4는 2개의 알파 투명도 최적화 로직 블록(412, 414)을 포함하는 장치(400)를 도시한다. 로직 블록(412, 414) 각각은 유닛(302), 유닛(304), 및 알파 블렌딩 유닛(306)을 포함한다. 유닛(302, 304, 306)은 도 3에서 상술한 바와 같다. 또한, 제1 로직(412)은 도 3에서 설명된 로직(108)과 유사하게 기능하도록 구성되며, 소스 및/또는 제1 대상 레이어 픽셀(102/104)을 제1 블렌딩 칼라 포맷으로 변환한다. 그 다음, 제1 로직(412)은 제1 대상 레이어 픽셀(104)에 대한 제1 알파 값(114)의 세트를 사용하여 소스 및/또는 제1 대상 레이어 픽셀(102, 104)을 알파 블렌딩한다. 제1 로직(412)은 제1 알파 블렌딩 픽셀(110)을 제2 로직(414)에 제공한다.
제2 로직(414)은 다른 알파 블렌딩 단계를 수행한다. 예를 들어, 제2 로직(414)은 제2 대상 레이어 픽셀(402)(예를 들어, 다른 대상 이미지), 알파 값(406)의 또 다른 세트(예를 들어, 제2 알파 값), 및 다른 블렌딩 칼라 포맷(예를 들어, 제2 블렌딩 칼라 포맷)을 나타내는 인디케이터(408)를 획득한다. 제2 알파 값 및 제2 블렌딩 칼라 포맷은 제2 대상 레이어 픽셀(402)과 연관된다. 다시 말해서, 작성자 또는 프로그래머는 제2 대상 레이어 픽셀(402)이 제2 알파 값을 사용하여 제2 블렌딩 칼라 포맷으로 알파 블렌딩되도록 의도했다. 제2 블렌딩 칼라 포맷은 제1 블렌딩 칼라 포맷과 다르다. 다시 말해서, 제2 블렌딩 칼라 포맷에 대한 감마 공간 및/또는 원색은 제1 블렌딩 칼라 포맷에 대한 감마 공간 및/또는 원색과 상이하다.
제2 로직(414)은 제1 알파 블렌딩 픽셀(110) 및/또는 제2 대상 레이어 픽셀(402)을 제2 블렌딩 칼라 포맷으로 변환한다. 예를 들어, 제2 로직(414)은 픽셀(110 및/또는 402)이 제2 블렌딩 칼라 포맷에 있는지(예를 들어, 칼라 포맷에 대한 감마 공간 및/또는 원색이 상이한지 여부)를 결정한다. 만약 상이하다면, 제2 로직(414)은 하나 이상의 전달 함수 및/또는 하나 이상의 행렬을 나타내는 데이터를 사용하여 이러한 픽셀을 제2 블렌딩 칼라 포맷으로 변환한다. 픽셀(110 및/또는 402) 변환에 응답하여, 제2 로직(414)은 제2 알파 값(406)을 이용하여 픽셀(110 및/또는 402)를 알파 블렌딩하여, 제2 알파 블렌딩 픽셀을 생성할 수 있다.
일부 예들에서, 제2 로직(414)은 유닛(308)을 포함한다. 위에서 언급된 바와 같이, 유닛(308)은 제2 알파 블렌딩 픽셀들(410)을 출력 칼라 포맷으로 변환하고 및/또는 제2 알파 블렌딩 픽셀들(410)을 HDR 톤 매핑한다. 그 후, 제2 로직(414)은 디스플레이를 위해 디스플레이(112)에 이러한 픽셀(410)을 제공한다. 다른 예들에서, 장치(400)는 또한 추가적인 알파 투명도 최적화 로직(예를 들어, 제3 로직, 제4 로직 등)을 포함한다. 각각의 추가 로직은 알파 블렌딩 프로세스의 다른 단계를 수행하는 데 사용된다.
장치(400)가 별개의 로직(412 및 414)을 나타내지만, 일부 변형에서, 로직(108)과 같은 단일 로직이 다수의 상이한 알파 블렌딩 단계를 수행한다. 예를 들어, 도 3을 참조하면, 제1 알파 블렌딩 픽셀(110)을 생성한 후, 로직(108)은 다른 알파 블렌딩 단계를 수행한다. 예를 들어, 로직(108)은 픽셀(110)을 유닛(302)에 다시 제공한다. 유닛(304)은 픽셀의 다른 레이어(예를 들어, 도 4에 도시된 제2 대상 레이어 픽셀(402))를 획득한다. 그런 다음 원하는 알파 블렌딩 이미지가 생성될 때까지 위와 유사한 과정을 반복한다. 그 후 로직(108)은 결과 픽셀을 유닛(308) 및/또는 디스플레이(112)에 제공한다.
다수의 알파 블렌딩 단계가 있는 위의 예를 참조하면, 제1 블렌딩 칼라 포맷(소스 레이어 픽셀(102)을 제1 대상 레이어 픽셀(104)과 블렌딩하는 데 사용되는 칼라 포맷)이 제2 블렌딩 칼라 포맷(소스 및 제1 대상 레이어 픽셀(102, 104)을 제2 대상 레이어 픽셀(402)과 알파 블렌딩하는데 사용되는 칼라 포맷)과 상이하지만, 일부 변형에서, 제1 또는 제2 블렌딩 칼라 포맷은 디스플레이(112)에 대한 출력 칼라 포맷과 동일한 칼라 포맷이다. 추가적으로 및/또는 대안적으로, 제1 또는 제2 블렌딩 칼라 포맷은 하나 이상의 입력 칼라 포맷(예를 들어, 소스 레이어 픽셀(102)에 대한 소스 칼라 포맷, 제1 대상 레이어 픽셀(104)에 대한 제1 대상 레이어 칼라 포맷, 및/또는 제2 대상 레이어 픽셀(402)에 대한 제2 대상 레이어 칼라 포맷)과 동일한 칼라 포맷이다.
도 1, 3, 4에 도시된 알파 투명도 최적화 로직(108)을 포함하는 예시적인 장치(100 및/또는 400)는 본 개시내용의 변형의 사용 또는 기능의 범위에 대한 임의의 제한을 제시하도록 의도되지 않는다. 예시적인 장치(100, 400), 또는 로직(108)이 그 안에 예시된 임의의 단일 구성요소 또는 구성요소의 조합과 관련된 임의의 종속성 또는 요구사항을 갖는 것으로 해석되어서도 안 된다. 또한, 도 1, 3, 4에 도시된 다양한 구성요소들이, 변형예에서, 그 안에 도시된 다른 구성요소(및/또는 도시되지 않은 구성요소) 중 다양한 것과 통합되며, 이들 모두는 본 개시의 범위 내에 있는 것으로 간주된다.
도 5는 상이한 칼라 포맷으로부터 이미지를 알파 블렌딩하기 위한 GPU(500)의 예를 예시하는 개략적인 블록도이다. 도 5를 포함하는 본 개시의 변형이, 첨부된 도면을 참조하여, 단지 예로서, 이하에 설명된다. 또한, 다음 설명은 본질적으로 예시일 뿐이며 본 개시, 그의 적용 또는 사용을 제한하려는 의도가 결코 아니다. 따라서, 본 개시는 유닛의 특정 예 및 배열을 포함하지만, 다른 수정이 숙련된 실무자에게 명백해질 것이기 때문에 본 시스템의 범위가 그렇게 제한되어서는 안 된다.
그래픽 처리 유닛(500)은 다음의 하드웨어 구성요소 - 비디오 인코더(506), 디스플레이 엔진, 파이프라인, 및/또는 컨트롤러(508), 메모리(510)(예를 들어, 데이터 캐시), 및/또는 3-D 엔진(518) - 를 직접 및/또는 간접적으로 연결하는 버스(504)를 포함한다. 임의의 수의 추가 구성요소, 상이한 구성요소, 및/또는 구성요소들의 조합이 또한 그래픽 처리 유닛(500)에 포함된다. 버스(504)는 하나 이상의 버스(예를 들어, 어드레스 버스, 데이터 버스 또는 이들의 조합)를 나타낸다.
일부 구현에서, 디스플레이 엔진, 파이프라인, 및/또는 컨트롤러(예를 들어, 디스플레이 엔진)(508)는 알파 투명도 최적화 로직(108) 및/또는 유닛(308)을 포함한다. 디스플레이 엔진(508)은 엔진, 파이프라인, 및/또는 또는 소스 이미지 및/또는 대상 이미지와 같은 프레임 또는 이미지를 디스플레이(112)와 같은 디스플레이를 위한 디스플레이가능 프레임으로 변환하는 컨트롤러이다. 예를 들어, 디스플레이 엔진(508)은 소스 및 제1 대상 레이어 픽셀(102, 104)을 비디오 인코더(506) 및/또는 3-D 엔진(518)으로부터 획득한다. 또한, 디스플레이 엔진(508)은 제1 알파 값(114) 및/또는 제1 블렌딩 칼라 포맷을 획득한다. 디스플레이 엔진(508)은 전술한 바와 같이 픽셀(102, 104)을 정규화, 변환 및/또는 알파 블렌딩하기 위해 알파 투명도 최적화 로직(108)을 사용한다. 또한, 디스플레이 엔진(508)은 선택적으로 유닛(308)을 포함한다. 유닛(308)은 제1 알파 블렌딩 픽셀(110)에 대한 HDR 톤 매핑 동작을 수행하고 및/또는 픽셀(110)을 출력 칼라 포맷으로 변환한다. 디스플레이 엔진(508)은 제1 알파 블렌딩 픽셀(110)을 디스플레이(112)에 제공한다.
일부 변형에서, 비디오 인코더(506)는 비디오 스트림과 같은 비디오 파일 및/또는 이미지 파일의 이미지 및/또는 프레임을 인코딩 및/또는 디코딩한다. 예를 들어, 이전에 언급했듯이 콘텐츠 소스가 웹 서버인 경우가 있다. 비디오 스트림은 인터넷을 통해 전송될 수 있도록 인코딩된다(예: 큰 파일 크기로 인해). 비디오 인코더(506)는 인터넷을 통해 서버로부터 및/또는 CPU로부터 소스 이미지 및/또는 대상 이미지와 같은 프레임을 나타내는 정보(502)를 획득한다. 비디오 인코더(506)는 프레임을 디코딩하여 소스 및 제1 대상 레이어 픽셀(102, 104)을 생성한다. 프레임을 디코딩한 후, 비디오 인코더(506)는 디코딩된 프레임을 프레임 버퍼(512)에 저장한다. 추가적으로, 및/또는 대안적으로, 비디오 인코더(506)는 디코딩된 프레임을 디스플레이 엔진, 파이프라인 및/또는 컨트롤러(508)에 제공한다.
일부 경우에, 콘텐츠 소스는 메모리가 있는 장치이다. 메모리는 인코딩된 영화, TV 쇼, 비디오 및/또는 기타 인코딩된 프레임을 저장한다. 비디오 인코더(506)는 인코딩된 프레임을 디코딩하여, 소스 및 제1 대상 레이어 픽셀(102, 104)을 생성한다. 일부 변형에서, 3-D 엔진(518)은 소스 및 제1 대상 레이어 픽셀(102, 104)을 생성하기 위해 사용된다. 예를 들어, 장치(100)는 CPU를 포함하고 CPU는 콘텐츠 소스에 저장된 명령어를 실행한다. 명령어에 기초하여, CPU는 정보(502)를 3-D 엔진(518)에 제공하여 픽셀(102, 104)을 생성한다. 그 다음, 3-D 엔진(518)은 픽셀(102, 104)을 프레임 버퍼(512)에 저장한다. 추가적으로 및/또는 대안적으로, 3-D 엔진(518)은 픽셀(102, 104)을 디스플레이 엔진, 파이프라인, 및/또는 컨트롤러(508)에 제공한다.
일부 예에서, 데이터 캐시(510)는 하나 이상의 프레임 버퍼(512)를 포함한다. 예를 들어, 데이터 캐시(510)(예를 들어, GPU 데이터 캐시 또는 프로세서 메모리)는 소스 레이어 픽셀을 위한 프레임 버퍼(514)를 포함한다. 추가적으로 및/또는 대안적으로, 데이터 캐시(510)는 제1 대상 레이어 픽셀(516)을 위한 프레임 버퍼를 포함한다. 앞서 언급한 바와 같이, 일부 예들에서, 제1 블렌딩 칼라 포맷(106) 및/또는 제1 알파 값(114)은 제1 대상 레이어 픽셀을 위해 프레임 버퍼(516)에 저장된다.
도 6은 상이한 칼라 포맷으로부터 이미지를 알파 블렌딩하기 위한 장치(600)의 다른 예를 예시하는 개략적인 블록도이다. 위에서 설명된 바와 같이, 방법(200)은 도 1 내지 도 4에 설명된 장치(100 및/또는 400)에 의해 구현된다. 이미지 처리 장치와 같은 장치(600)는 방법(200)을 구현하기 위한 다른 예시적인 장치를 도시한다.
장치(600)는 프로세서(620)(예를 들어, CPU), 코프로세서(500)(예를 들어, GPU), 메모리(640), 하나 이상의 이더넷 포트(들)(650), I/O 구성요소(들)(660), 및 무선 어댑터 칩(들)(670)과 같은 장치를 직접 및/또는 간접적으로 연결하는 버스(610)를 포함한다. 임의의 수의 추가 구성요소, 상이한 구성요소, 및/또는 구성요소들의 조합이 또한 장치(600)에 포함된다. 일부 구현에서 I/O 구성요소(들)(660)는 예를 들어 터치 스크린, 디스플레이(112), 스피커, 인쇄 장치, 등과 같이 정보를 사용자에게 표시하도록 구성된 표시 구성요소, 및/또는 예를 들어, 마이크, 조이스틱, 위성 접시, 스캐너, 프린터, 무선 장치, 키보드, 펜, 음성 입력 장치, 터치 입력 장치, 터치-스크린 장치, 대화형 디스플레이, 마우스, 등과 같은 입력 구성요소 또는 장치(662)를 포함한다.
버스(610)는 (예를 들어, 어드레스 버스, 데이터 버스, 또는 이들의 조합과 같은) 하나 이상의 버스를 나타낸다. 유사하게, 일부 구현에서, 장치(600)는 다수의 프로세서(620) 및 코프로세서(500), 다수의 메모리 구성요소(640), 다수의 이더넷 포트(들)(650), 다수의 I/O 구성요소(660), 및/또는 다수의 무선 어댑터 칩(들)(670)을 포함한다. 또한, 임의의 수의 이들 구성요소 또는 이들의 조합이 다수의 컴퓨팅 장치에 걸쳐 분산 및/또는 복제된다.
일부 예들에서, 프로세서(620)(예를 들어, CPU)는 프로세서가 알파 투명도 최적화 로직(108)을 지시, 동작 및/또는 제어하도록 (메모리에 저장된) 그래픽 드라이버(622)를 실행한다. 일부 변형에서, 코프로세서(500)(예를 들어, GPU)는 원하는 경우 셰이더 코드(shader code)를 실행하거나 이산 로직으로서 구현되는 알파 투명도 최적화 로직(108)을 포함한다.
일부 경우에, 메모리(640)는 하나 이상의 프레임 버퍼를 포함한다. 하나 이상의 프레임 버퍼는 소스 및/또는 제1 대상 레이어 픽셀(102, 104)을 저장한다. 일부 예들에서, 메모리(640)는 실행될 때 프로세서(620) 및 코프로세서(500)가 여기?논의되는 장치 구성요소들의 변형 양태를 구현하게 하는, 및/또는 여기서 논의되는 방법 및 절차의 변형의 양태들을 구현하게 하는, 컴퓨터 실행가능 명령어(642)를 포함한다. 메모리(640)는 RAM, ROM, 또는 임의의 적절한 메모리이다.
도 6에 도시된 예시적인 장치(600)는 본 개시내용의 다양한 사용 또는 기능의 범위에 대한 임의의 제한을 제시하도록 의도되지 않는다. 또한 예시적인 장치(600)는 여기에 예시된 임의의 단일 구성요소 또는 구성요소의 조합과 관련된 임의의 종속성 또는 요구사항을 갖는 것으로 해석되어서는 안 된다.
도 7은 상이한 칼라 포맷으로부터 이미지를 알파 블렌딩하기 위한 방법(700)의 예를 예시한다. 특히, 도 7은 도 1에 도시된 장치(100) 및/또는 도 3에 도시된 로직(108)을 이용하여 정규화, 상이한 칼라 포맷 사이의 변환, 및 결과 픽셀을 알파 블렌딩하는 예를 도시한다.
동작시, 단계 702에서, 로직(108)(예를 들어, 변환기 유닛(302 및/또는 304))은 소스 레이어 픽셀(102), 제1 대상 레이어 픽셀(104), 소스 칼라 포맷, 제1 대상 레이어 칼라 포맷 및/또는 제1 블렌딩 칼라 포맷(106)을 획득한다. 도 7에 기술된 예에서, 소스 칼라 포맷은 PQ 칼라 포맷이고, 제1 대상 레이어 칼라 포맷은 sRGB 칼라 포맷이며, 제1 블렌딩 칼라 포맷(106)은 sRGB 칼라 포맷이다. 그러나, 설명된 칼라 포맷은 단지 하나의 예이고 로직(108)은 상이한 선형 및/또는 비선형 칼라 포맷 사이를 포함하여 임의의 수의 상이한 칼라 포맷 사이를 변환하는 데 사용될 수 있다.
단계(704)에서, 제1 블렌딩 칼라 포맷을 제1 대상 레이어 칼라 포맷과 비교하는 것(예를 들어, sRGB 칼라 포맷을 sRGB 칼라 포맷과 비교함)에 기초하여, 유닛(304)은 이러한 칼라 포맷들이 동일하다고 결정한다. 이와 같이, 유닛(304)은 제1 대상 레이어 픽셀을 상이한 칼라 포맷으로 변환하지 않는다. 단계(706)에서, 제1 블렌딩 칼라 포맷을 소스 칼라 포맷과 비교하는 것(예를 들어, sRGB 칼라 포맷을 PQ 칼라 포맷과 비교함)에 기초하여, 유닛(302)은 소스 및 제1 블렌딩 칼라 포맷(106, 316)이 동일하지 않다고 결정한다. 이와 같이, 아래의 단계(708-714)는 소스 레이어 픽셀(102)을 소스 칼라 포맷(예를 들어, PQ 칼라 포맷)에서 제1 블렌딩 칼라 포맷(예를 들어, sRGB 칼라 포맷)으로 정규화 및/또는 변환하는 것을 설명한다.
단계(708)에서, 변환기 유닛(302)은 소스 레이어 픽셀(102)을 소스 칼라 포맷(예를 들어, 비선형 PQ 칼라 포맷)으로부터 선형 광 칼라 포맷으로 변환한다. 변환기 유닛(302)은 PQ 전달 함수(예를 들어, 'st2084' 전달 함수)와 같은 전달 함수를 사용하여 비선형 칼라 포맷(예를 들어, 소스 칼라 포맷(316))을 선형 광 칼라 포맷으로 변환한다. 단계(710)에서, 유닛(302)은 3-D LUT와 같은 조회표(LUT) 또는 매트릭스를 사용하여 소스 레이어 픽셀(102)에 대한 원색을 변환한다.
단계(712)에서, 변환기 유닛(302)은 제1 블렌딩 칼라 포맷(예를 들어, sRGB 칼라 포맷)과 일치하도록 선형 광 칼라 포맷의 소스 레이어 픽셀(102)을 정규화한다. 예를 들어, PQ 칼라 포맷(예: 0-10,000니트)의 휘도 범위는 sRGB 칼라 포맷(예: 0-250니트)의 휘도 범위와 다르다. 이와 같이, 변환기 유닛(302)은 PQ 칼라 포맷 및 sRGB 칼라 포맷에 대한 휘도 범위에 기초하여 소스 레이어 픽셀(102)을 정규화한다. 다시 말해서, 변환기 유닛(302)은 양 범위에서 피크 화이트 값을 사용하여 정규화 비율(예를 들어, 10,000/250)을 결정한다. 그런 다음, 유닛(302)은 소스 레이어 픽셀(102)에 정규화 비율을 곱하고(예를 들어, 소스 레이어 픽셀(102)에 PQ 칼라 포맷에 대한 피크 화이트 값 10,000 니트를 곱하고), sRGB 칼라 포맷에 대한 피크 화이트 값 250 니트로 나눈다.
단계(714)에서, 유닛(302)은 선형 광 칼라 포맷의 정규화된 소스 레이어 픽셀(102)을 제1 블렌딩 칼라 포맷(예를 들어, 비선형 sRGB 칼라 포맷)으로 변환한다. 예를 들어, 변환기 유닛(302)은 픽셀(102)을 sRGB 칼라 포맷으로 변환하기 위해 sRGB 칼라 포맷에 대한 전달 함수를 사용한다. 변환기 유닛(302)은 비선형 sRGB 칼라 포맷의 변환된 소스 레이어 픽셀(102)을 알파 블렌딩 유닛(306)에 제공한다.
단계(716)에서, 알파 블렌딩 유닛(306)은 변환되고 정규화된 소스 레이어 픽셀(102)과 제1 대상 레이어 픽셀(104)을 제1 알파 값(114)을 사용하여 알파 블렌딩하여 제1 알파 블렌딩 픽셀(110)을 생성한다. 그 다음, 프로세스(700)가 종료된다. 그리고 위에서 설명된 바와 같이, 결국, 로직(108)은 디스플레이(112) 상의 디스플레이를 위해 제1 알파 블렌딩 픽셀(110)을 제공한다.
다른 기술적 이점 중에서, 일부 예는 사용자 인터페이스의 작성자 또는 프로그래머가 의도한 원래 투명도 레벨이 유지되도록 허용한다. 또한, 어떤 경우에는 원래 투명도 수준을 유지함으로써 디스플레이에 표시되는 이미지가 개선된다. 예를 들어, 알파 블렌딩 전에 소스 및/또는 제1 대상 레이어 픽셀(102, 104)을 변환함으로써, 알파 투명도 최적화 로직(108)은 알파 블렌딩 동안 이미지의 투명도 레벨을 보존 및/또는 유지한다.
본 개시내용의 상기 상세한 설명 및 거기에 설명된 실시예는 제한이 아닌 예시 및 설명의 목적으로만 제시되었다. 따라서, 본 개시는 위에서 개시되고 여기에 청구된 기본 기본 원리의 정신 및 범위 내에 속하는 임의의 모든 수정, 변형 또는 균등물을 포함하는 것으로 고려된다.

Claims (33)

  1. 상이한 칼라 포맷으로부터 이미지를 알파 블렌딩하기 위한 방법으로서,
    로직에 의해, 복수의 소스 레이어 픽셀, 복수의 제1 알파 값과 연관된 복수의 제1 대상 레이어 픽셀, 및 제1 블렌딩 칼라 포맷을 나타내는 정보를 획득하는 단계 - 상기 제1 블렌딩 칼라 포맷은 복수의 제1 대상 레이어 픽셀과 연관된 제1 대상 레이어 칼라 포맷 및 디스플레이와 연관된 출력 칼라 포맷과 상이함;
    로직에 의해, 복수의 소스 레이어 픽셀 및 복수의 제1 대상 레이어 픽셀 중 적어도 하나를 제1 블렌딩 칼라 포맷으로 변환하는 단계; 및
    복수의 소스 레이어 픽셀 및 복수의 제1 대상 레이어 픽셀 중 적어도 하나를 변환함에 응답하여, 로직에 의해, 복수의 제1 알파 값을 이용하여 복수의 소스 레이어 픽셀을 복수의 제1 대상 레이어 픽셀과 알파 블렌딩하는 것에 기초하여 복수의 제1 알파 블렌딩 픽셀을 생성하는 단계를 포함하는, 알파 블렌딩 방법.
  2. 제1항에 있어서, 상기 제1 블렌딩 칼라 포맷은 제1 블렌딩 감마 공간 및 원색의 제1 블렌딩 세트를 포함하고, 그리고,
    복수의 소스 레이어 픽셀 및 복수의 제1 대상 레이어 픽셀 중 적어도 하나를 제1 블렌딩 칼라 포맷으로 변환하는 단계는 복수의 소스 레이어 픽셀 및 복수의 제1 대상 레이어 픽셀 중 적어도 하나를 제1 블렌딩 감마 공간과 연관된 전달 함수를 나타내는 데이터를 사용하여 제1 블렌딩 감마 공간으로 변환하는 단계를 포함하는, 알파 블렌딩 방법.
  3. 제2항에 있어서, 상기 제1 블렌딩 감마 공간은 선형 감마 공간이고, 상기 전달 함수는 감마 전달 함수인, 알파 블렌딩 방법.
  4. 제1항에 있어서, 상기 제1 블렌딩 칼라 포맷은 제1 블렌딩 감마 공간 및 원색의 제1 블렌딩 세트를 포함하고,
    복수의 소스 레이어 픽셀 및 복수의 제1 대상 레이어 픽셀 중 적어도 하나를 변환하는 단계는 하나 이상의 감마 전달 함수와 하나 이상의 선형 대 선형 전달 함수를 나타내는 데이터를 사용하여 복수의 소스 레이어 픽셀 및 복수의 제1 대상 레이어 픽셀 중 적어도 하나를 원색의 제1 블렌딩 세트로 변환하는 단계를 포함하는, 알파 블렌딩 방법.
  5. 제1항에 있어서, 상기 제1 블렌딩 칼라 포맷은 제1 블렌딩 감마 공간 및 원색의 제1 블렌딩 세트를 포함하고,
    복수의 소스 레이어 픽셀 및 복수의 제1 대상 레이어 픽셀 중 적어도 하나를 제1 블렌딩 칼라 포맷으로 변환하는 단계는, 복수의 소스 레이어 픽셀 및 복수의 제1 대상 레이어 픽셀 중 적어도 하나를 제1 블렌딩 감마 공간과 원색의 제1 블렌딩 세트로 변환하는 단계를 포함하는, 알파 블렌딩 방법.
  6. 제1항에 있어서,
    장치에 의해, 제2 블렌딩 칼라 포맷을 나타내는 정보 및 복수의 제2 알파 값과 연관된 복수의 제2 대상 레이어 픽셀을 획득하는 단계 - 상기 제1 블렌딩 칼라 포맷은 제2 블렌딩 칼라 포맷과 상이함;
    상기 복수의 제1 알파 블렌딩 픽셀 및 상기 복수의 제2 대상 레이어 픽셀 중 적어도 하나를 상기 제2 블렌딩 칼라 포맷으로 변환하는 단계; 및
    복수의 제1 알파 블렌딩 픽셀 및 복수의 제2 대상 레이어 픽셀 중 적어도 하나를 변환함에 응답하여, 복수의 제2 알파 값을 이용하여 복수의 제1 알파 블렌딩 픽셀을 복수의 제2 대상 레이어 픽셀과 알파 블렌딩하는 것에 기초하여 복수의 제2 알파 블렌딩 픽셀을 생성하는 단계를 더 포함하는, 알파 블렌딩 방법.
  7. 제6항에 있어서, 상기 제2 블렌딩 칼라 포맷은 제2 블렌딩 감마 공간 및 원색의 제2 블렌딩 세트를 포함하고,
    복수의 제2 알파 블렌드 픽셀 및 복수의 제2 대상 레이어 픽셀 중 적어도 하나를 제2 블렌딩 칼라 포맷으로 변환하는 단계는 복수의 제1 알파 블렌딩 픽셀 및 복수의 제2 대상 레이어 픽셀 중 적어도 하나를 제2 블렌딩 감마 공간과 연관된 감마 전달 함수를 나타내는 데이터를 사용하여 제2 블렌딩 감마 공간으로 변환하는 단계를 포함하는, 알파 블렌딩 방법.
  8. 제6항에 있어서, 상기 제1 블렌딩 칼라 포맷은 제1 블렌딩 감마 공간 및 원색의 제1 블렌딩 세트를 포함하고,
    제2 블렌딩 칼라 포맷은 제2 블렌딩 감마 공간 및 원색의 제2 블렌딩 세트를 포함하며, 그리고,제1 블렌딩 감마 공간은 제2 블렌딩 감마 공간과 상이한, 알파 블렌딩 방법.
  9. 제6항에 있어서, 상기 제1 블렌딩 칼라 포맷은 제1 블렌딩 감마 공간 및 원색의 제1 블렌딩 세트를 포함하고,
    제2 블렌딩 칼라 포맷은 제2 블렌딩 감마 공간 및 원색의 제2 블렌딩 세트를 포함하며,
    상기 제2 블렌딩 감마 공간은 출력 칼라 포맷과 동일한 감마 공간인, 알파 블렌딩 방법.
  10. 제6항에 있어서, 상기 제2 블렌딩 칼라 포맷은 제2 의도된 감마 공간 및 원색의 제2 블렌딩 세트를 포함하고,
    복수의 제1 알파 블렌딩 픽셀 및 복수의 제2 대상 레이어 픽셀 중 적어도 하나를 변환하는 단계는 하나 이상의 감마 전달 함수와 하나 이상의 선형 대 선형 전달 함수를 나타내는 데이터를 사용하여 복수의 제1 알파 블렌딩 픽셀 및 복수의 제2 대상 레이어 픽셀 중 적어도 하나를 원색의 제2 블렌딩 세트로 변환하는 단계를 포함하는, 알파 블렌딩 방법.
  11. 제1항에 있어서,
    상기 복수의 제1 알파 블렌딩 픽셀을 출력 칼라 포맷으로 변환하는 단계; 및
    디스플레이 상에 복수의 제1 알파 블렌딩 픽셀을 디스플레이하도록 제공하는 단계를 더 포함하는, 알파 블렌딩 방법.
  12. 제1항에 있어서,
    복수의 제1 알파 블렌딩 픽셀에 대해 톤 매핑을 수행하는 단계; 및
    디스플레이 상에 복수의 제1 알파 블렌딩 픽셀을 디스플레이하도록 제공하는 단계를 더 포함하는, 알파 블렌딩 방법.
  13. 제1항에 있어서, 상기 복수의 소스 레이어 픽셀 및 상기 복수의 제1 대상 레이어 픽셀 중 적어도 하나를 변환하는 단계는, 상기 복수의 소스 레이어 픽셀 및 상기 복수의 제1 대상 레이어 픽셀 중 적어도 하나를 HDR 톤 매핑하는 단계를 포함하는, 알파 블렌딩 방법.
  14. 상이한 칼라 포맷으로부터 이미지를 알파 블렌딩하기 위한 장치로서,
    알파 투명도 최적화 로직을 포함하고, 상기 알파 투명도 최적화 로직은,
    복수의 소스 레이어 픽셀, 복수의 제1 알파 값과 연관된 복수의 제1 대상 레이어 픽셀, 및 제1 블렌딩 칼라 포맷을 나타내는 정보를 획득하도록 구성되고, 상기 제1 블렌딩 칼라 포맷은 디스플레이와 연관된 출력 칼라 포맷 및 복수의 제1 대상 레이어 픽셀과 연관된 제1 대상 레이어 칼라 포맷과 상이함;
    복수의 소스 레이어 픽셀 및 복수의 제1 대상 레이어 픽셀 중 적어도 하나를 제1 블렌딩 칼라 포맷으로 변환하도록 구성되며; 그리고,
    복수의 소스 레이어 픽셀 및 복수의 제1 대상 레이어 픽셀 중 적어도 하나를 변환함에 응답하여, 복수의 제1 알파 값을 이용하여 복수의 소스 레이어 픽셀을 복수의 제1 대상 레이어 픽셀과 알파 블렌딩함에 기초하여 복수의 제1 알파 블렌딩 픽셀을 생성하도록 구성되는, 알파 블렌딩 장치.
  15. 제14항에 있어서, 상기 제1 블렌딩 칼라 포맷은 제1 블렌딩 감마 공간 및 원색의 제1 블렌딩 세트를 포함하고,
    상기 알파 투명도 최적화 로직은 제1 블렌딩 감마 공간과 연관된 전달 함수를 나타내는 데이터를 이용하여 복수의 소스 레이어 픽셀 및 복수의 제1 대상 레이어 픽셀 중 적어도 하나를 제1 블렌딩 감마 공간으로 변환함으로써 복수의 소스 레이어 픽셀 및 복수의 제1 대상 레이어 픽셀 중 적어도 하나를 제1 블렌딩 칼라 포맷으로 변환하도록 구성되는, 알파 블렌딩 장치.
  16. 제15항에 있어서, 메모리를 더 포함하고, 상기 메모리는 상기 제1 블렌딩 감마 공간과 연관된 전달 함수를 나타내는 데이터를 저장하며, 상기 제1 블렌딩 감마 공간은 선형 감마 공간이고, 상기 전달 함수는 감마 전달 함수인, 알파 블렌딩 장치.
  17. 제14항에 있어서, 상기 제1 블렌딩 칼라 포맷은 제1 블렌딩 감마 공간 및 원색의 제1 블렌딩 세트를 포함하고,
    상기 알파 투명도 최적화 로직은 하나 이상의 감마 전달 함수 및 하나 이상의 선형 대 선형 전달 함수를 나타내는 데이터를 이용하여 복수의 소스 레이어 픽셀 및 복수의 제1 대상 레이어 픽셀 중 적어도 하나를 원색의 제1 블렌딩 세트로 변환함으로써 복수의 소스 레이어 픽셀 및 복수의 제1 대상 레이어 픽셀 중 적어도 하나를 제1 블렌딩 칼라 포맷으로 변환하도록 구성되는, 알파 블렌딩 장치.
  18. 제14항에 있어서, 상기 제1 블렌딩 칼라 포맷은 제1 블렌딩 감마 공간 및 원색의 제1 블렌딩 세트를 포함하고,
    상기 알파 투명도 최적화 로직은 상기 복수의 소스 레이어 픽셀 및 상기 복수의 제1 대상 레이어 픽셀 중 적어도 하나를 제1 블렌딩 감마 공간 및 원색의 제1 블렌딩 세트로 변환함으로써 상기 복수의 소스 레이어 픽셀 및 복수의 제1 대상 레이어 픽셀 중 적어도 하나를 제1 블렌딩 칼라 포맷으로 변환하도록 구성되는, 알파 블렌딩 장치.
  19. 제14항에 있어서, 상기 알파 투명도 최적화 로직은 또한:
    복수의 제2 알파 값 및 제2 블렌딩 칼라 포맷을 나타내는 정보 및 복수의 제2 알파 값과 연관된 복수의 제2 대상 레이어 픽셀을 획득하도록 구성되고, 상기 제1 블렌딩 칼라 포맷은 제2 블렌딩 칼라 포맷과 상이하며,
    복수의 제1 알파 블렌딩 픽셀 및 복수의 제2 대상 레이어 픽셀 중 적어도 하나를 제2 블렌딩 칼라 포맷으로 변환하도록 구성되며, 그리고,
    상기 복수의 제1 알파 블렌딩 픽셀 및 복수의 제2 대상 레이어 픽셀 중 적어도 하나를 변환함에 응답하여, 복수의 제2 알파 값을 이용하여 복수의 제1 알파 블렌딩 픽셀을 복수의 제2 대상 레이어 픽셀과 알파 블렌딩하는 것에 기초하여 복수의 제2 알파 블렌딩 픽셀을 생성하도록 구성되는, 알파 블렌딩 장치.
  20. 제19항에 있어서, 상기 제2 블렌딩 칼라 포맷은 제2 블렌딩 감마 공간 및 원색의 제2 블렌딩 세트를 포함하고, 그리고,
    상기 알파 투명도 최적화 로직은, 제2 블렌딩 감마 공간과 연관된 감마 전달 함수를 이용하여 복수의 제1 알파 블렌딩 픽셀 및 복수의 제2 대상 레이어 픽셀 중 적어도 하나를 제2 블렌딩 감마 공간으로 변환함으로써, 복수의 제2 알파 블렌딩 픽셀 및 복수의 제2 대상 레이어 픽셀 중 적어도 하나를 제2 블렌딩 칼라 포맷으로 변환하도록 구성되는, 알파 블렌딩 장치.
  21. 제19항에 있어서, 상기 제1 블렌딩 칼라 포맷은 제1 블렌딩 감마 공간 및 원색의 제1 블렌딩 세트를 포함하고,
    상기 제2 블렌딩 칼라 포맷은 제2 블렌딩 감마 공간 및 원색의 제2 블렌딩 세트를 포함하며,
    상기 제1 블렌딩 감마 공간은 제2 블렌딩 감마 공간과 상이한, 알파 블렌딩 장치.
  22. 제19항에 있어서, 상기 제1 블렌딩 칼라 포맷은 제1 블렌딩 감마 공간 및 원색의 제1 블렌딩 세트를 포함하고,
    제2 블렌딩 칼라 포맷은 제2 블렌딩 감마 공간 및 원색의 제2 블렌딩 세트를 포함하며,
    상기 제2 블렌딩 감마 공간은 출력 칼라 포맷과 동일한 감마 공간인, 알파 블렌딩 장치.
  23. 제19항에 있어서, 상기 제2 블렌딩 칼라 포맷은 제2 블렌딩 감마 공간 및 원색의 제2 블렌딩 세트를 포함하고,
    상기 알파 투명도 최적화 로직은 하나 이상의 감마 전달 함수 및 하나 이상의 선형 대 선형 전달 함수를 나타내는 데이터를 이용하여 복수의 제1 알파 블렌딩 픽셀 및 복수의 제2 대상 레이어 픽셀 중 적어도 하나를 원색의 제2 블렌딩 세트로 변환함으로써 복수의 제2 알파 블렌딩 픽셀 및 복수의 제2 대상 레이어 픽셀 중 적어도 하나를 제2 블렌딩 칼라 포맷으로 변환하도록 구성되는, 알파 블렌딩 장치.
  24. 제14항에 있어서,
    디스플레이를 더 포함하고, 그리고
    상기 알파 투명도 최적화 로직은 또한,
    복수의 제1 알파 블렌딩 픽셀을 출력 칼라 포맷으로 변환하도록 구성되고; 그리고
    디스플레이 상에 복수의 제1 알파 블렌딩 픽셀을 디스플레이하도록 제공하도록 구성되는, 알파 블렌딩 장치.
  25. 제14항에 있어서,
    디스플레이를 더 포함하고, 그리고,
    상기 알파 투명도 최적화 로직은 또한,
    복수의 제1 알파 블렌딩 픽셀에 대해 톤 매핑을 수행하도록 구성되고; 그리고
    디스플레이 상에 복수의 제1 알파 블렌딩 픽셀을 디스플레이하도록 제공하도록 구성되는, 알파 블렌딩 장치.
  26. 제14항에 있어서, 상기 장치는:
    디스플레이 엔진을 포함하는 그래픽 처리 유닛(GPU) - 상기 디스플레이 엔진은 알파 투명도 최적화 로직을 포함함; 및
    제1 프레임 버퍼 및 제2 프레임 버퍼를 포함하는 메모리 - 상기 제1 프레임 버퍼는 상기 복수의 소스 레이어 픽셀을 저장하고, 상기 제2 프레임 버퍼는 상기 복수의 제1 대상 레이어 픽셀, 복수의 제1 알파 값, 및 상기 제1 블렌딩 칼라 포맷을 나타내는 정보를 저장함 - 를 포함하는, 알파 블렌딩 장치.
  27. 장치에 있어서,
    디스플레이 엔진을 포함하는 그래픽 처리 유닛(GPU) - 상기 디스플레이 엔진은 알파 투명도 최적화 로직을 포함함; 및
    GPU에 연결되는 디스플레이를 포함하며,
    상기 알파 투명도 최적화 로직은:
    복수의 소스 레이어 픽셀, 복수의 제1 알파 값과 관련된 복수의 제1 대상 레이어 픽셀, 복수의 제2 알파 값과 관련된 복수의 제2 대상 레이어 픽셀, 및 제1 블렌딩 칼라 포맷 및 제2 블렌딩 칼라 포맷을 나타내는 정보를 획득하도록 구성되고, 상기 제1 블렌딩 칼라 포맷은 상기 제2 블렌딩 칼라 포맷과 상이하며;
    복수의 소스 레이어 픽셀 및 복수의 제1 대상 레이어 픽셀 중 적어도 하나를 제1 블렌딩 칼라 포맷으로 변환하도록 구성되며;
    복수의 소스 레이어 픽셀 및 복수의 제1 대상 레이어 픽셀 중 적어도 하나를 변환함에 응답하여, 복수의 제1 알파 값을 이용하여 복수의 소스 레이어 픽셀을 복수의 제1 대상 레이어 픽셀과 알파 블렌딩하는 것에 기초하여, 복수의 제1 알파 블렌딩 픽셀을 생성하도록 구성되고;
    복수의 제1 알파 블렌딩 픽셀 및 복수의 제2 대상 레이어 픽셀 중 적어도 하나를 제2 블렌딩 칼라 포맷으로 변환하도록 구성되며; 그리고
    복수의 제1 알파 블렌딩 픽셀 및 복수의 제2 대상 레이어 픽셀 중 적어도 하나를 변환함에 응답하여, 복수의 제2 알파 값을 사용하여 복수의 제1 알파 블렌딩 픽셀을 복수의 제2 대상과 알파 블렌딩하는 것에 기초하여 복수의 제2 알파 블렌딩 픽셀을 생성하도록 구성되고; 그리고,
    복수의 제2 알파 블렌딩 픽셀을 제공하도록 구성되며;
    상기 디스플레이는:
    GPU로부터, 복수의 제2 알파 블렌딩 픽셀을 획득하도록 구성되고; 그리고
    상기 복수의 제2 알파 블렌딩 픽셀을 디스플레이하도록 구성되는, 장치.
  28. 제27항에 있어서, 상기 제2 블렌딩 칼라 포맷은 제2 블렌딩 감마 공간 및 원색의 제2 블렌딩 세트를 포함하고,
    상기 알파 투명도 최적화 로직은 제2 블렌딩 감마 공간과 연관된 감마 전달 함수를 나타내는 데이터를 사용하여 복수의 제1 알파 블렌딩 픽셀 및 복수의 제2 대상 레이어 픽셀 중 적어도 하나를 제2 블렌딩 감마 공간으로 변환함으로써 복수의 제2 알파 블렌딩 픽셀 및 복수의 제2 대상 레이어 픽셀 중 적어도 하나를 제2 블렌딩 칼라 포맷으로 변환하도록 구성되는, 장치.
  29. 제27항에 있어서, 상기 제1 블렌딩 칼라 포맷은 제1 블렌딩 감마 공간 및 원색의 제1 블렌딩 세트를 포함하고,
    제2 블렌딩 칼라 포맷은 제2 블렌딩 감마 공간 및 원색의 제2 블렌딩 세트를 포함하며,
    제1 블렌딩 감마 공간은 제2 블렌딩 감마 공간과 상이한, 장치.
  30. 제27항에 있어서, 상기 제1 블렌딩 칼라 포맷은 제1 블렌딩 감마 공간 및 원색의 제1 블렌딩 세트를 포함하고,
    제2 블렌딩 칼라 포맷은 제2 블렌딩 감마 공간 및 원색의 제2 블렌딩 세트를 포함하며,
    제2 블렌딩 감마 공간은 디스플레이와 연관된 출력 칼라 포맷과 동일한 감마 공간인, 장치.
  31. 제27항에 있어서, 상기 제2 블렌딩 칼라 포맷은 제2 블렌딩 감마 공간 및 원색의 제2 블렌딩 세트를 포함하고,
    상기 알파 투명도 최적화 로직은 하나 이상의 감마 전달 함수 및 하나 이상의 선형 대 선형 전달 함수를 나타내는 데이터를 사용하여 복수의 제1 알파 블렌딩 픽셀 및 복수의 제2 대상 레이어 픽셀 중 적어도 하나를 원색의 제2 블렌딩 세트로 변환함으로써 복수의 제1 알파 블렌딩 픽셀 및 복수의 제2 대상 레이어 픽셀 중 적어도 하나를 제2 블렌딩 칼라 포맷으로 변환하도록 구성되는, 장치.
  32. 제27항에 있어서, 상기 복수의 제1 대상 레이어 픽셀은 제1 대상 레이어 칼라 포맷에 있고, 상기 제1 블렌딩 칼라 포맷은 상기 제1 대상 레이어 칼라 포맷과 동일한 칼라 포맷인, 장치.
  33. 제27항에 있어서, 상기 알파 투명도 최적화 로직은 상기 복수의 제2 알파 블렌딩 픽셀을 상기 디스플레이와 연관된 출력 칼라 포맷으로 변환하도록 더 구성되고,
    상기 알파 투명도 최적화 로직은 출력 칼라 포맷인 복수의 변환된 제2 알파 블렌딩 픽셀을 디스플레이에 제공함으로써 복수의 제2 알파 블렌딩 픽셀을 제공하도록 구성되는, 장치.
KR1020227001687A 2019-06-28 2020-06-26 다양한 칼라 포맷으로부터 이미지를 알파 블렌딩하기 위한 방법 및 장치 KR20220027963A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/455,947 US11488349B2 (en) 2019-06-28 2019-06-28 Method and apparatus for alpha blending images from different color formats
US16/455,947 2019-06-28
PCT/CA2020/050892 WO2020257941A1 (en) 2019-06-28 2020-06-26 Method and apparatus for alpha blending images from different color formats

Publications (1)

Publication Number Publication Date
KR20220027963A true KR20220027963A (ko) 2022-03-08

Family

ID=74044167

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227001687A KR20220027963A (ko) 2019-06-28 2020-06-26 다양한 칼라 포맷으로부터 이미지를 알파 블렌딩하기 위한 방법 및 장치

Country Status (6)

Country Link
US (2) US11488349B2 (ko)
EP (1) EP3991133A4 (ko)
JP (1) JP2022539962A (ko)
KR (1) KR20220027963A (ko)
CN (1) CN113939847A (ko)
WO (1) WO2020257941A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240096010A1 (en) * 2022-09-21 2024-03-21 Apple Inc. Image blending modes systems and methods
WO2024076011A1 (ko) * 2022-10-06 2024-04-11 삼성전자 주식회사 비디오 편집을 위한 전자 장치 및 그 동작 방법

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5065143A (en) 1988-09-26 1991-11-12 Apple Computer, Inc. Apparatus for converting an RGB signal into a composite video signal and its use in providing computer generated video overlays
US5250933A (en) 1989-03-02 1993-10-05 Hewlett-Packard Company Method and apparatus for the simultaneous display of one or more selected images
US5119177A (en) 1989-07-31 1992-06-02 Goldstar Co., Ltd. Automatic 3-mode switching circuit of a color television set
AU642469B2 (en) 1990-01-31 1993-10-21 De La Rue International Limited Image handling
EP0454115B1 (en) 1990-04-26 1996-08-28 Canon Kabushiki Kaisha Television signal converting apparatus
US5801716A (en) 1990-08-16 1998-09-01 Canon Kabushiki Kaisha Pipeline structures for full-color computer graphics
US5611038A (en) 1991-04-17 1997-03-11 Shaw; Venson M. Audio/video transceiver provided with a device for reconfiguration of incompatibly received or transmitted video and audio information
US6034667A (en) 1992-01-21 2000-03-07 Radius Inc. Method and apparatus for displaying YUV color information on a pseudo-color RGB display
DE4310727C2 (de) 1992-04-06 1996-07-11 Hell Ag Linotype Verfahren und Einrichtung zur Analyse von Bildvorlagen
US5963201A (en) 1992-05-11 1999-10-05 Apple Computer, Inc. Color processing system
US5475442A (en) 1992-09-07 1995-12-12 Kabushiki Kaisha Toshiba Television signal processor for processing any of a plurality of different types of television signals
US5450140A (en) 1993-04-21 1995-09-12 Washino; Kinya Personal-computer-based video production system
JP3640403B2 (ja) 1993-05-14 2005-04-20 クラリオン株式会社 映像信号の色検出回路
US5392393A (en) 1993-06-04 1995-02-21 Sun Microsystems, Inc. Architecture for a high performance three dimensional graphics accelerator
US6081254A (en) 1993-08-12 2000-06-27 Hitachi, Ltd. Color correction system of imaging apparatus
KR0165289B1 (ko) 1994-06-09 1999-03-20 김광호 멀티 텔레비젼 방송신호 수신장치 및 그 제어방법
US5621869A (en) 1994-06-29 1997-04-15 Drews; Michael D. Multiple level computer graphics system with display level blending
AUPM701394A0 (en) 1994-07-22 1994-08-18 Monash University A graphical display system
US5598525A (en) 1995-01-23 1997-01-28 Cirrus Logic, Inc. Apparatus, systems and methods for controlling graphics and video data in multimedia data processing and display systems
JPH08331473A (ja) 1995-05-29 1996-12-13 Hitachi Ltd テレビジョン信号の表示装置
JP3355596B2 (ja) 1995-06-06 2002-12-09 インターナショナル・ビジネス・マシーンズ・コーポレーション グラフィックス装置および表示方法
US5864342A (en) 1995-08-04 1999-01-26 Microsoft Corporation Method and system for rendering graphical objects to image chunks
US6064393A (en) 1995-08-04 2000-05-16 Microsoft Corporation Method for measuring the fidelity of warped image layer approximations in a real-time graphics rendering pipeline
JPH09114443A (ja) 1995-10-20 1997-05-02 Seiko Epson Corp 映像スケーリング装置
JPH09114432A (ja) 1995-10-20 1997-05-02 Brother Ind Ltd 色変換装置
US5861864A (en) 1996-04-02 1999-01-19 Hewlett-Packard Company Video interface system and method
US5790096A (en) 1996-09-03 1998-08-04 Allus Technology Corporation Automated flat panel display control system for accomodating broad range of video types and formats
KR19980077474A (ko) 1997-04-19 1998-11-16 김영환 비디오 신호의 스캔방식 변환장치 및 그 제어방법
US6069664A (en) 1997-06-04 2000-05-30 Matsushita Electric Industrial Co., Ltd. Method and apparatus for converting a digital interlaced video signal from a film scanner to a digital progressive video signal
US6088038A (en) 1997-07-03 2000-07-11 Minnesota Mining And Manufacturing Company Arrangement for mapping colors between imaging systems and method therefor
US6028583A (en) 1998-01-16 2000-02-22 Adobe Systems, Inc. Compound layers for composited image manipulation
US6184891B1 (en) 1998-03-25 2001-02-06 Microsoft Corporation Fog simulation for partially transparent objects
US6771264B1 (en) 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
AU5688199A (en) 1998-08-20 2000-03-14 Raycer, Inc. System, apparatus and method for spatially sorting image data in a three-dimensional graphics pipeline
US6798420B1 (en) 1998-11-09 2004-09-28 Broadcom Corporation Video and graphics system with a single-port RAM
US6661422B1 (en) * 1998-11-09 2003-12-09 Broadcom Corporation Video and graphics system with MPEG specific data transfer commands
US6570579B1 (en) 1998-11-09 2003-05-27 Broadcom Corporation Graphics display system
US6768774B1 (en) 1998-11-09 2004-07-27 Broadcom Corporation Video and graphics system with video scaling
JP3687945B2 (ja) 1998-12-11 2005-08-24 ソニー株式会社 画像処理装置およびその方法
US6157415A (en) * 1998-12-15 2000-12-05 Ati International Srl Method and apparatus for dynamically blending image input layers
US6462786B1 (en) 1998-12-15 2002-10-08 Ati International Srl Method and apparatus for blending image input layers
US6466220B1 (en) * 1999-03-05 2002-10-15 Teralogic, Inc. Graphics engine architecture
US6538656B1 (en) 1999-11-09 2003-03-25 Broadcom Corporation Video and graphics system with a data transport processor
US7483042B1 (en) * 2000-01-13 2009-01-27 Ati International, Srl Video graphics module capable of blending multiple image layers
EP1168294B1 (de) * 2000-06-29 2008-12-10 Johnson Controls Automotive Electronics GmbH Gamma korrigiertes Alpha-Blending
US6927778B2 (en) * 2002-05-16 2005-08-09 Ati Technologies, Inc. System for alpha blending and method thereof
US7307667B1 (en) * 2003-06-27 2007-12-11 Zoran Corporation Method and apparatus for an integrated high definition television controller
US20070057972A1 (en) * 2005-09-09 2007-03-15 Samsung Electronics Co., Ltd. Method and apparatus for blending colors
JP4856445B2 (ja) * 2006-02-22 2012-01-18 ルネサスエレクトロニクス株式会社 画像合成装置及びその画像合成方法
US9538155B2 (en) * 2013-12-04 2017-01-03 Dolby Laboratories Licensing Corporation Decoding and display of high dynamic range video
US9973723B2 (en) * 2014-02-24 2018-05-15 Apple Inc. User interface and graphics composition with high dynamic range video
US9984446B2 (en) * 2015-12-26 2018-05-29 Intel Corporation Video tone mapping for converting high dynamic range (HDR) content to standard dynamic range (SDR) content
CN109074775B (zh) * 2016-01-29 2022-02-08 巴科股份有限公司 数字图像处理链和处理块以及包括它们的显示器
WO2018000126A1 (en) * 2016-06-27 2018-01-04 Intel Corporation Method and system of multi-dynamic range multi-layer video blending with alpha channel sideband for video playback
US10643358B2 (en) * 2017-04-24 2020-05-05 Intel Corporation HDR enhancement with temporal multiplex

Also Published As

Publication number Publication date
EP3991133A4 (en) 2023-11-22
WO2020257941A1 (en) 2020-12-30
US11488349B2 (en) 2022-11-01
EP3991133A1 (en) 2022-05-04
US20230041733A1 (en) 2023-02-09
US20200410748A1 (en) 2020-12-31
CN113939847A (zh) 2022-01-14
JP2022539962A (ja) 2022-09-14

Similar Documents

Publication Publication Date Title
US10891722B2 (en) Display method and display device
US11115563B2 (en) Method and apparatus for nonlinear interpolation color conversion using look up tables
US20230041733A1 (en) Method and apparatus for alpha blending images from different color formats
US9973723B2 (en) User interface and graphics composition with high dynamic range video
US8174626B2 (en) Apparatus and method for correcting images displayed by a plurality of image apparatus
KR20190055289A (ko) 색역 변환 방법 및 이를 채용한 표시 장치
KR20080045132A (ko) 하드웨어 가속 컬러 데이터 처리
US11257443B2 (en) Method for processing image, and display device
US10332481B2 (en) Adaptive display management using 3D look-up table interpolation
CN107533832B (zh) 图像处理装置、图像处理方法与程序
US8860745B2 (en) System and method for color gamut mapping
EP3155799A1 (en) Method of mapping source colors of a source content
WO2019229548A1 (en) Source-side tone mapping based on native color gamut and brightness of display
JP2018509835A (ja) 適応的カラーグレード補間方法及びデバイス
US20230095785A1 (en) Chroma correction of inverse gamut mapping for standard dynamic range to high dynamic range image conversion
US11869174B2 (en) Image processing apparatus, display apparatus, image processing method, and non-transitory computer readable medium
JP5946281B2 (ja) 画像処理装置、画像表示システム、および画像表示方法
US11545058B2 (en) Electronic device and control method for electronic device
US20210217385A1 (en) Information-processing apparatus, display device, and information-processing method
JP2020190711A (ja) 画像処理装置および画像処理方法
Demos Architectural Considerations When Selecting a Neutral Form for Moving Images
TWI549473B (zh) 即時色域轉換方法
JP2014134704A (ja) 画像処理装置、画像処理方法、及び、表示装置