KR20210068593A - 하드웨어 인코더 및 디코더에 대한 hdr 하드웨어 프로세서 인라인을 위한 방법 및 장치 - Google Patents

하드웨어 인코더 및 디코더에 대한 hdr 하드웨어 프로세서 인라인을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20210068593A
KR20210068593A KR1020217016417A KR20217016417A KR20210068593A KR 20210068593 A KR20210068593 A KR 20210068593A KR 1020217016417 A KR1020217016417 A KR 1020217016417A KR 20217016417 A KR20217016417 A KR 20217016417A KR 20210068593 A KR20210068593 A KR 20210068593A
Authority
KR
South Korea
Prior art keywords
inline
image data
conversion
memory
unit
Prior art date
Application number
KR1020217016417A
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 KR20210068593A publication Critical patent/KR20210068593A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/98Adaptive-dynamic-range coding [ADRC]
    • G06T5/009
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • G06T5/92Dynamic range modification of images or parts thereof based on global image properties
    • 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/10Intensity circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20208High dynamic range [HDR] image processing
    • 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/0271Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping
    • G09G2320/0276Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping for the purpose of adaptation to the characteristics of a display device, i.e. gamma correction
    • 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/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/005Adapting incoming signals to the display format of the display terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/67Circuits for processing colour signals for matrixing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

디바이스는 인코더, 디코더, 코덱 또는 이들의 조합과 변환 프로세스 중 저장된 이미지 데이터를 다음 중 하나로 변환하도록 동작하는 인라인 하드웨어 변환 유닛들을 포함한다: HDR/WCG 포멧 및 SDR/SCG 포멧. 인라인 하드웨어 변환 유닛들 각각은 변환될 이미지 데이터를 저장하는 메모리와의 다른 판독 동작과 독립적으로 변환 프로세스를 수행하도록 동작한다. 일 예에서, 인코딩 유닛은 변환 프로세스를 완료한 후 변환된 이미지 데이터를 저장하기 위해 메모리와의 기록 동작을 수행하도록 동작한다. 다른 예에서, 디코딩 유닛은 변환 프로세스를 개시하기 전에 메모리로부터 이미지 데이터를 검색하기 위해 메모리와의 판독 동작을 수행하도록 동작한다. 다른 예에서, 인코더/디코더 유닛은 다음 중 적어도 하나를 수행하도록 동작한다: 판독 동작 및 기록 동작.

Description

하드웨어 인코더 및 디코더에 대한 HDR 하드웨어 프로세서 인라인을 위한 방법 및 장치
비디오 또는 사진과 같은 이미지 데이터는 디스플레이 디바이스와 호환되는 특정 포멧(format)을 사용하여 디스플레이 디바이스에 표시될 수 있다. 높은 동적 범위 및 넓은 컬러 색영역(high dynamic range and wide color gamut, HDR/WCG) 포멧은 기존의 표준 동적 범위 및 표준 컬러 색영역(SDR/SCG) 포멧보다 더 큰 휘도(luminance) 및 색상 범위에 걸친 이미지 데이터를 갖는 비디오를 표시하는 데 사용된다. 예시적인 SCG는 BT.709 파라미터 값과 관련된다. 예를 들어, HDR/WCG 비디오는 향상된 시청자 경험을 제공할 수 있으며 추가적인 어두운 영역과 방사 광원(emissive light source) 및 반사와 같은 밝은 하이라이트가 포함된 장면을 보다 정확하게 재현할 수 있다. SDR/SCG 비디오는 HDR/WCG 비디오보다 휘도와 색상 범위가 더 작은 이미지 데이터가 특징이다.
디스플레이 디바이스의 유형에 따라, 이미지 데이터를 HDR/WCG 포멧과 SDR/SCG 포멧 중 하나로 전환(transition)하기 위해 이미지 데이터의 변환 프로세스(conversion process)가 수행됩니다. 기존 HDR/WCG 변환기는 HDR/WCG 콘텐츠를 렌더링(rendering)할 때 특히 HDR 및 WCG 방송 요구 사항을 충족하는 데 사용된다. 소프트웨어로 작성된 셰이더(shader)는 일반적으로 변환 프로세스를 수행하고 디스플레이 디바이스에서 HDR/WCG 콘텐츠를 렌더링하는 데 사용된다. 각 소프트웨어 셰이더는 밝음, 어두움 및 색상 제어와 같은 이미지의 음영 생성을 용이하게 하여, 그래픽 하드웨어에 특정 효과를 렌더링하기 위한 하나 이상의 컴퓨터 판독 가능 스테이트먼트(statement)들을 포함한다.
일반적으로 변환 프로세스는 HDR/WCG 포멧과 SDR/SCG 포멧 간에 이미지 데이터를 변환하는 다수의 단계들을 포함한다. 소프트웨어 셰이더는 변환 프로세스를 수행하는 데 사용되기 때문에, 전체 성능에 영향을 준다(예를 들어, 비디오 게임 중). 예를 들어, 소프트웨어 셰이더는 변환 프로세스의 각 단계에서 다양한 메모리 액세스를 수행하여 메모리(예를 들어, GPU 메모리)에서 이미지 데이터를 검색하고 변환된 이미지 데이터를 메모리에 저장하며, 그에 따라 변환 프로세스 동안 메모리 대역폭 사용이 증가하고 전력 소비가 증가한다. 따라서, 상기 언급된 단점들 중 하나 이상을 해결하기 위해 변환 프로세스를 수행하기 위한 개선된 방법 및 장치가 필요하다.
실시 예들은 아래 도면들과 함께 다음 설명을 고려하여 보다 쉽게 이해될 것이며, 여기서 유사한 참조 번호는 유사한 요소를 나타내며, 여기서:
도 1은 본 개시에 설명된 일 실시 예에 따른 인코딩 유닛을 사용하여 이미지 데이터의 변환 프로세스를 수행하기 위한 장치의 제1 예를 예시하는 개략적인 블록도이다;
도 2는 본 개시에 설명된 일 실시 예에 따른 디코딩 유닛을 사용하여 이미지 데이터의 변환 프로세스를 수행하기 위한 장치의 제2 예를 예시하는 개략적인 블록도이다;
도 3은 본 개시에 설명된 일 실시 예에 따른 통합 인코딩 및 디코딩 유닛을 사용하여 이미지 데이터의 변환 프로세스를 수행하기 위한 장치의 제3 예를 예시하는 개략적인 블록도이다;
도 4는 도 1에 도시된 인라인 변환 유닛을 사용하여 이미지 데이터의 변환 프로세스를 수행하기 위한 장치를 예시하는 블록도이다;
도 5는 본 개시에 설명된 일 실시 예에 따른 이미지 데이터의 변환 프로세스를 수행하기 위한 방법의 일 예를 예시하는 흐름도이다;
도 6은 본 개시에 설명된 일 실시 예에 따른 이미지 데이터의 표현 포맷을 변환하기 위한 방법의 일 예를 예시하는 흐름도이다; 그리고
도 7은 본 개시에 설명된 일 실시 예에 따라 메모리 상에서 기록 동작을 수행하기 위한 방법의 일 예를 예시하는 흐름도이다.
간단히 말해서, 방법 및 장치는 다음 중 하나로 전환(transition)하기 위해 비디오 또는 사진과 같은 이미지 데이터를 처리한다: 높은 동적 범위 및 넓은 컬러 색영역(high dynamic range and wide color gamut, HDR/WCG) 포멧 및 표준 동적 범위 및 표준 컬러 색영역(standard dynamic range and standard color gamut, SDR/SCG) 포멧. 예를 들어, 이미지 데이터가 HDR/WCG 포멧에서 SDR/SCG 포멧으로 변환될 수 있다. 이미지 데이터는 SDR/SCG 포멧에서 HDR/WCG 포멧으로 변환될 수도 있다. 또한, 이미지 데이터는 HDR/WCG 포멧에서 다른 HDR/WCG 포멧으로 변환될 수 있다.
일 예에서, 방법 및 장치는, 로직(logic)을 사용하여, 변환 프로세스를 개시하기 전에 메모리(예를 들어, GPU 메모리)와의 판독 동작을 수행하여 메모리로부터 이미지 데이터를 검색한다. 검색된 이미지 데이터는 원시 이미지 데이터 및 디코딩된 이미지 데이터 중 하나 일 수 있다. 방법 및 장치는 변환 프로세스 중 HDR/WCG 포멧 및 SDR/SCG 포멧 중 하나로의 전환을 위해 복수의 인라인 하드웨어 변환 유닛들(예를 들어, 인라인 컬러 변환 유닛)을 사용하여 검색된 이미지 데이터를 변환하여 다음 중 하나로 변환하고, 여기서 복수의 인라인 하드웨어 변환 유닛들 각각은 메모리와의 다른 판독 동작과 독립적으로 변환 프로세스를 수행한다. 본원에서 사용되는 용어 "인라인 하드웨어 변환 유닛들"은 메모리에 액세스하지 않고 변환 프로세스를 수행하는 서로 직접 연결된 하드웨어 구성 요소들 또는 엔진들을 의미한다. 방법 및 장치는 변환된 이미지 데이터를 인코딩 유닛을 사용하여 인코딩하고, 변환 프로세스가 완료된 후 인코딩된 이미지 데이터를 저장하기 위해 메모리와의 기록 동작을 수행한다.
달리 말하면, 복수의 인라인 하드웨어 변환 유닛들의 각각은 메모리와의 다른 판독 동작 또는 다른 기록 동작과는 독립적으로 변환 프로세스를 수행한다. 예를 들어, 메모리와의 다른 판독 또는 기록 동작과 독립적인 변환 프로세스는 이미지 데이터를 검색하기 위해 초기 판독 동작 이 후 메모리에 액세스하지 않고 각 인라인 하드웨어 변환 유닛이 변환 프로세스와 관련된 하나 이상의 단계들을 수행하는 상태를 나타낸다.
다양한 실시 예들에서, 복수의 인라인 하드웨어 변환 유닛들은 인라인 컬러 변환 유닛, 인라인 컬러 변환 유닛으로부터 출력을 수신하는 인라인 비선형/선형 변환 유닛, 인라인 비선형/선형 변환 유닛으로부터 출력을 수신하는 인라인 톤 매핑 변환 유닛, 인라인 톤 매핑 변환 유닛으로부터 출력을 수신하는 인라인 색영역 리매핑 변환 유닛, 인라인 톤 매핑 변환 유닛으로부터 출력을 수신하는 인라인 색영역 리매핑 변환 유닛, 및 인라인 색영역 리매핑 변환 유닛으로부터 출력을 수신하는 인라인 리-감마 변환 유닛을 포함한다. 일 예에서, HDR/WCG 포멧 및 SDR/SCG 포멧 중 하나로 전환하는 것은 변환 프로세스 중에 메모리에 액세스하지 않고 넓은-색영역 색공간과 표준-색영역 색공간 사이의 컬러 변환을 수행하여 달성된다. 예를 들어, 넓은-색영역 색공간은 HDR/WCG 포멧으로 표현될 수 있고 표준 색영역 색공간은 SDR/SCG 포멧으로 표현될 수 있다.
일 실시 예에서, 복수의 인라인 하드웨어 변환 유닛들 중 하나만이 메모리와의 판독 동작을 수행하는 로직을 갖는다. 상기 하나만의 인라인 하드웨어 변환 유닛은 메모리와의 판독 동작을 수행하는 첫 번째 인라인 하드웨어 변환 유닛이다. 또한 메모리와의 기록 동작을 수행하는 논리를 갖는 마지막 인라인 하드웨어 변환 유닛이 있다. 이와 관련하여, 첫 번째 인라인 하드웨어 변환 유닛과 마지막 인라인 하드웨어 변환 유닛 사이에 개입된 인라인 하드웨어 변환 유닛들 중 어느 것도 변환 프로세스 동안 메모리와의 판독 또는 기록 동작을 수행하지 않는다. 따라서, 변환 프로세스 동안, 검색된 이미지 데이터를 인코딩하기 전에 메모리에 대한 액세스가 수행되지 않는다.
다른 예에서, 방법 및 장치는, 디코딩 유닛을 사용하여, 메모리(예를 들어, GPU 메모리)와의 판독 동작을 수행하여 메모리로부터 인코딩된 이미지 데이터를 검색하고 변환 프로세스를 시작하기 전에 검색된 인코딩된 이미지 데이터를 디코딩한다. 방법 및 장치는, 복수의 인라인 하드웨어 변환 유닛들을 사용하여, 변환 프로세스 동안 HDR/WCG 포멧 및 SDR/SCG 포멧 중 하나로의 전환을 위해 디코딩된 이미지 데이터를 전환하고, 여기서 복수의 인라인 하드웨어 변환 유닛들 각각은 메모리와의 다른 판독 동작과 독립적으로 변환 프로세스를 수행한다. 방법 및 장치는, 로직을 사용하여, 변환 프로세스를 완료한 후 변환된 이미지 데이터를 저장하기 위해 메모리와의 기록 동작을 수행한다.
일 실시 예에서, 복수의 인라인 하드웨어 변환 유닛들 중 하나만이 메모리와의 기록 동작을 수행하는 로직을 갖는다. 상기 하나만의 인라인 하드웨어 변환 유닛은 메모리와의 기록 동작을 수행하는 마지막 인라인 하드웨어 변환 유닛이다. 또한 메모리와의 판독 동작을 수행하는 로직을 갖는 첫 번째 인라인 하드웨어 변환 유닛이 있다. 이와 관련하여, 첫 번째 인라인 하드웨어 변환 유닛과 마지막 인라인 하드웨어 변환 유닛 사이에 개입된 인라인 하드웨어 변환 유닛들 중 어느 것도 변환 프로세스 동안 메모리와의 판독 또는 기록 동작을 수행하지 않는다. 따라서, 변환 프로세스 동안, 인코딩된 이미지 데이터의 디코딩 후에 메모리에 대한 액세스가 수행되지 않는다.
또 다른 예에서, 방법 및 장치는 로직을 사용하여 메모리로부터 이미지 데이터(예를 들어, 원시 이미지 데이터 또는 디코딩된 이미지 데이터)를 검색하기 위해 메모리와의 판독 동작을 수행한다. 방법 및 장치는, 복수의 인라인 하드웨어 변환 유닛들을 사용하여, 변환 프로세스 동안 HDR/WCG 포멧 및 SDR/SCG 포멧 중 하나로 변환하고, 여기서 복수의 인라인 하드웨어 변환 유닛들 각각은 메모리와의 다른 판독 동작과 독립적으로 변환 프로세스를 수행한다. 방법 및 장치는 변환 프로세스를 완료한 후, 인코딩 유닛을 사용하여 복수의 인라인 하드웨어 변환 유닛으로부터의 변환된 이미지 데이터를 인코딩한다. 방법 및 장치는, 디코딩 유닛을 사용하여, 변환 프로세스를 개시하기 전에 메모리로부터 인코딩된 이미지 데이터를 디코딩한다. 프로그래밍 가능한 코덱은 인코딩 유닛 및 디코딩 유닛의 역할을 하도록 구성될 수 있다. 인코딩 또는 디코딩 작업이 필요한지 여부에 따라, 방법 및 장치는 선택기를 사용하여 메모리로부터 검색된 이미지 데이터 및 디코딩 유닛으로부터 디코딩된 이미지 데이터 중 하나를 선택한다.
일 실시 예에서, 방법 및 장치는 이미지 데이터 인코딩 또는 이미지 데이터 디코딩 중 적어도 하나를 수행 한 후에 이미지 데이터를 메모리로 전송한다. 다른 실시 예에서, 복수의 인라인 하드웨어 변환 유닛들 중 첫 번째 하나만이 메모리와의 판독 동작을 수행하는 로직을 가지며, 복수의 인라인 하드웨어 변환 유닛들 중 마지막 하나만이 메모리와의 기록 동작을 수행하는 로직을 갖는다. 이와 같이, 변환 프로세스에서 복수의 인라인 하드웨어 변환 유닛들 중 처음 하나와 복수의 인라인 하드웨어 변환 유닛들 중 마지막 하나 사이에 개재된 인라인 하드웨어 변환 유닛들 중 어느 것도 메모리와의 임의의 판독 또는 기록 동작을 수행하지 않는다. 일 예로 HDR/WCG 포멧의 이미지 데이터는 인지적으로 양자화된 컬러 공간에서 인코딩 또는 디코딩되어 비디오 인코딩/디코딩 디바이스(예를 들어, 통합 코덱)의 입력에서 컬러 포멧이 비디오 인코딩/디코딩 디바이스의 출력에서 디스플레이 디바이스의 지원되는 컬러 포멧과 일치할 수 있다.
다른 장점들 중에서, 소프트웨어 셰이더를 사용하는 대신에, 본 개시는 전력을 소모하는 소프트웨어 구성 요소를 갖지 않는 인라인 하드웨어 변환 유닛을 제공한다. 또한 소프트웨어 셰이더는 메모리와 변환 유닛들 사이의 메모리 대 메모리 경로에서 메모리 대역폭 요구 사항을 증가시킨다. 소프트웨어 셰이더가 변환 프로세스에 사용되지 않으므로, 소프트웨어 셰이더를 게임에 사용할 수 있다. 따라서, 게임 성능이 저하되지 않고 소프트웨어 셰이더를 변환 프로세스에 리소스를 소비하지 않고도 게임에 계속 사용할 수 있다. 이와 같이, 전체적인 렌더링 동작 및 실행 속도가 이미지 데이터의 드로우 타임(draw time)에서 향상된다.
도 1은 본 개시의 실시 예들에 따른 이미지 데이터(예를 들어, 비디오 및/또는 사진)를 처리하기 위한 장치(100)의 제1 예를 도시한다. 일부 구현들에서, 장치(100)는 개시된 주제의 실시 예들의 양태들을 구현하기에 적합한 임의의 유형의 컴퓨팅 디바이스를 포함한다. 컴퓨팅 디바이스의 예로는, 이에 제한되는 것은 아니지만, 워크스테이션, 서버, 랩톱, 데스크톱, 태블릿 컴퓨터, 핸드 헬드 디바이스, 게임 콘솔 등이 있으며, 이들 모두는 장치(100)의 다양한 구성 요소들을 참조하여 도 1의 범위 내에서 고려된다.
일 실시 예에서, 장치(100)는 다음 디바이스들을 직접 및/또는 간접적으로 결합하는 버스를 포함한다: 코-프로세서(co-processor)(102)(예를 들어, GPU 또는 APU), 메모리(104)(예를 들어, GPU 메모리) 및 기타 적합한 구성 요소들(예를 들어, CPU, 입력/출력(I/O) 포트(들), I/O 구성 요소(들)와 같은 다른 프로세서, 비 일시적 저장 매체와 같은 데이터 저장소 또는 데이터베이스, 도시되지 않음). 임의의 수의 추가적 구성 요소들, 서로 다른 구성 요소들 및/또는 구성 요소들의 조합이 또한 장치(100)에 포함된다. 일부 구현들에서, I/O 구성 요소(들)는 예를 들어 디스플레이 디바이스, 스피커, 인쇄 디바이스 등과 같은 사용자에게 정보를 제공하도록 구성된 프리젠테이션 구성 요소 및/또는 예를 들어 마이크, 조이스틱, 위성 접시, 스캐너, 프린터, 무선 디바이스, 키보드, 펜, 음성 입력 디바이스, 터치 입력 디바이스, 터치 스크린 디바이스, 대화형 디스플레이 디바이스, 마우스 등과 같은 입력 구성 요소를 포함합니다.
일부 실시 예들에서, 장치(100)는 CPU 및 다수의 코-프로세서들과 같은 프로세서, 다수의 메모리 구성 요소들, 다수의 I/O 포트들, 다수의 I/O 구성 요소들 및/또는 다수의 저장소들을 포함한다. 추가적으로, 임의의 수의 이들 구성 요소들 또는 이들의 조합은 다수의 컴퓨팅 디바이스들에 걸쳐 분산 및/또는 복제된다.
일 실시 예에서, 메모리(104)는 휘발성 및/또는 비 휘발성 메모리 형태의 컴퓨터 판독 가능 매체를 포함한다. 일 예에서, 메모리(104)는 임의의 유닛들(110, 112)에 대해 외부에 배치된다. 임의의 다른 적절한 메모리 배열들이 사용될 수 있다.
다른 실시 예들에서, 메모리(104)는 제거 가능하거나, 제거 불가능하거나, 또는 이들의 조합이다. 예시들로는 랜덤 엑세스 메모리(RAM); 판독 전용 메모리(ROM); 전자적으로 소거 가능한 프로그래밍 가능한 판독 전용 메모리(EEPROM); 플래시 메모리; 광학 또는 홀로그램 매체; 자기 카세트, 자기 저장 디바이스; 및/또는 예를 들어, 양자 상태 메모리와 같은 정보를 저장하는 데 사용될 수 있고 컴퓨팅 디바이스에서 액세스될 수 있는 임의의 다른 매체 및/또는 이와 유사한 것 등을 포함한다. 하나 이상의 서버들(예를 들어, 웹 서버들 또는 비-웹 서버들)에서 공유되는 분산 메모리 시스템(distributed memory system)도 다른 어플리케이션에 적합하도록 고려된다.
이 예시에서, 메모리(104)는 원시 또는 디코딩된 이미지 데이터(106)를 저장하고, 또한 후속 처리를 위해 인코딩된 이미지 데이터(108)를 저장한다. 이미지 데이터는 원시 또는 디코딩된 이미지 데이터(106) 또는 인코딩된 이미지 데이터(108)를 포함할 수 있다. 일 예에서, 디코딩된 이미지 데이터는 메모리(104)로부터 검색될 수 있다. 다른 예에서, 디코딩된 이미지 데이터는 다른 유닛(예를 들어, 디코더)로부터 전송될 수 있다.
도 1에서, 코-프로세서(102)는 본원에서 논의된 이미지 데이터의 변환 프로세스의 실시 예들의 양태들을 구현하기 위한 인라인(inline) 변환 유닛(conversion unit)(110) 및 인코딩 유닛(112)을 포함한다. 일 예에서, 코-프로세서(102)의 유닛들(110, 112)의 적어도 일부는 다른 프로세서에 저장될 수 있다. 다른 예에서, 원시 또는 디코딩된 이미지 데이터(106) 및 인코딩된 이미지 데이터(108)의 적어도 일부는 메모리(104)에 저장될 수 있다. 본원에서 고려되는 일부 또는 모든 기능은 하드웨어 및/또는 펌웨어로 구현된다.
본원에 도시된 예시적인 장치(100)는 본 개시의 실시 예들의 사용 또는 기능의 범위에 대한 어떠한 제한도 제안하려는 것이 아니다. 예시적인 장치(100)는 그 안에 예시된 임의의 단일 구성 요소 또는 구성 요소들의 조합과 관련된 임의의 종속성 또는 요구 사항을 갖는 것으로 해석되어서는 안된다. 추가적으로, 도 1 내지 도 4에 도시된 다양한 구성 요소들은, 실시 예들에서, 그 안에 도시된 다른 구성 요소들 중 다양한 구성 요소(및/또는 예시되지 않은 구성 요소)와 통합되며, 이들 모두는 본 개시의 범위 내에 있는 것으로 간주된다.
이 예시에서, 인라인 변환 유닛(110)은 메모리 페치 로직(memory fetch logic)(218)을 사용하여 메모리(104)로부터 원시 또는 디코딩된 이미지 데이터(106)를 검색하기 위해 메모리(104)로의 판독 동작을 수행하도록 구성된다. 일 실시 예에서, 도 4에 도시된 바와 같이, 인라인 컬러 변환 유닛(200)의 메모리 페치 로직(218)은 메모리(104)로부터 원시 또는 디코딩된 이미지 데이터(106)를 검색하기 위해 메모리(104)로의 판독 동작을 수행하도록 동작한다. 검색된 이미지 데이터(114)는 원시 또는 디코딩된 이미지 데이터(106)를 포함한다. 다른 실시 예들에서, 서브 유닛들(204, 208, 212, 216) 중 임의의 하나는 메모리 페치 로직(218)을 포함할 수 있다. 인라인 변환 유닛(110)에 구현된 메모리 페치 로직(218)이 도시되어 있지만, 메모리 페치 로직(218)은 인라인 변환 유닛(110)과는 별개의 독립적인 로직일 수 있다.
실시 예들에서, 이미지 데이터의 변환 프로세스는 이미지 데이터를 HDR/WCG 포맷 및 SDR/SCG 포맷 중 하나로 전환하는 것을 포함한다. 논의된 바와 같이, 일 예시에서, 이미지 데이터는 HDR/WCG 포멧에서 SDR/SCG 포멧으로 변환될 수 있다. 다른 예에서, 이미지 데이터는 SDR/SCG 포멧에서 HDR/WCG 포멧으로 변환될 수 있다. 또 다른 예에서, 이미지 데이터는 HDR/WCG 포멧에서 다른 HDR/WCG 포멧으로 변환될 수 있다.
도 1에서, 검색된 이미지 데이터(114)는 원시 또는 디코딩된 이미지 데이터(106)를 포함한다. 인라인 변환 유닛(110)은 하나 이상의 인라인 하드웨어 변환 유닛들을 사용하여 검색된 이미지 데이터(114)를 변환하도록 구성되어, 변환 프로세스 동안: HDR/WCG 포맷 및 SDR/SCG 포맷 중 하나로 전환을 용이하게 한다. 인라인 하드웨어 변환 유닛들의 각각이 메모리(104)와의 판독 동작과는 독립적으로 변환 프로세스를 수행하는 점에서 유리하다. 메모리(104)와의 판독 동작과는 독립적인 변환 프로세스는 메모리(104)에 액세스하지 않고 변환 프로세스를 수행하는 것을 의미한다. 예를 들어, 인라인 변환 유닛(110)은 변환된 이미지 데이터(116)를 메모리(104)에 액세스하지 않고 인코딩 유닛(112)로 전송하기 전에 변환 프로세스를 수행한다.
따라서, 변환 프로세스 동안, 인라인 변환 유닛(110)에 의한 메모리(104)에 대한 액세스가 수행되지 않는다. 이것은 메모리(104)와 인라인 변환 유닛(110) 사이의 메모리 대 메모리 경로에 대한 더 적은 액세스로 인해 단순화된 변환 프로세스를 생성한다. 변환 프로세스가 완료된 후, 인라인 변환 유닛(110)은 변환된 이미지 데이터(116)를 생성하도록 구성된다.
또 다른 예로, 각 소프트웨어 셰이더의 리소스 10 퍼센트(10 %)가 변환 프로세스를 위해 공유되면, 게임 성능이 10 % 저하되었을 것이다. 그러나 본 발명에서는 이러한 공유로 인한 성능 저하는 없다. 보다 구체적으로, 원시 또는 디코딩된 이미지 데이터(106)는 메모리(104)로부터 한번만 판독되고 변환 프로세스를 수행하기 위해 인라인 변환 유닛(110)으로 직접 전송된다. 변환 프로세스가 완료될 때까지 메모리(104)에 액세스하는 추가 판독 동작은 필요하지 않다. 일 예에서, 서브 유닛들(200, 204, 208, 212, 216) 사이에 공유되는 데이터는 하나의 유닛에서 다음 유닛 인라인으로 직접 입력 또는 출력된다. 예를 들어, 도 4에 도시된 바와 같이, 컬러 변환된 이미지 데이터(202)는 먼저 메모리(104)에 저장되지 않고 인라인 컬러 변환 유닛(200)으로부터 인라인 비선형 및 선형 변환 유닛(204)으로 직접 입력된다.
인코딩 유닛(112)은 또한 후속 처리를 위해 변환된 이미지 데이터(116)를 인코딩하도록 구성된다. 일 예에서, 변환 프로세스를 완료한 후, 인코딩 유닛(112)은, MPEG-2, MPEG-4, H.264, H.265, VP8 등과 같은, 당 업계에 공지된 임의의 비디오 압축 방식을 사용하여 변환된 이미지 데이터(116)를 인코딩한다. 인코딩된 이미지 데이터(118)는 인코딩 유닛(112)에 의해 생성된다. 인코딩 유닛(112)은 메모리 기록 로직(220)을 사용하여 인코딩된 이미지 데이터(118)를 저장하기 위해 메모리(104)로의 기록 동작을 수행하도록 구성된다. 일 예에서, 인코딩된 이미지 데이터(118)는 인코딩된 이미지 데이터(108)가 생성될 때 저장을 위해 메모리(104)로 전송될 수 있다. 다른 예에서, 인코딩된 이미지 데이터(118)는 셋톱 박스, 미디어 플레이어 등과 같은 수신 디바이스에 의해 디코딩되도록 다운스트림(downstream)으로 전송될 수 있다. 이와 같이, 인코딩 유닛(112)이 변환된 이미지 데이터를 검색하기 위해 메모리(104)로의 추가 판독 동작을 수행할 필요가 없다. 대조적으로, 종래의 변환 유닛의 인코딩 및 디코딩 유닛은 변환 프로세스의 각 단계 동안 메모리(104)로의 각각의 판독 및 기록 동작을 수행하여, 증가된 메모리 대역폭 및 증가된 전력 소비를 초래한다. 도 1에 도시된 바와 같이, 메모리 대 메모리 경로에 대한 액세스가 적기 때문에 인코더 경로가 단순화되는 것이 유리하다.
본 개시에서, 인라인 변환 유닛(110)은 소프트웨어 쉐이더를 사용하지 않고 HDR/WCG 포맷(예를 들어, HDR 컬러 색영역)에서 SDR/SCG 포맷(예를 들어, 표준 컬러 색영역)으로의 변환 프로세스를 수행한다. 이 구성에서는, 소프트웨어 셰이더가 사용되지 않으므로, 소프트웨어 셰이더가 소비하는 전력이 절약된다. 또한, 검색된 이미지 데이터(114)에 대한 단 한번의 판독 동작과 인코딩된 이미지 데이터(118)에 대한 단 한번의 기록 동작이 인코더 경로에서 수행되기 때문에, 트래픽을 위해 더 적은 메모리 대역폭이 필요하다. 이 예에서, 변환된 이미지 데이터(116)는 인코딩 유닛(112)으로 직접 전송된다. 본원에 사용된 바와 같이, 직접 전송은, 메모리(104)에(또는 그로부터) 이미지 데이터를 기록(또는 판독)하지 않고, 유닛들 사이에 다른 처리 로직 또는 변환 유닛들(200, 204, 208, 212, 216)과 같은 하나 이상의 중간 구성 요소들의 사용을 포함할 수 있다.
도 2는 본 개시의 실시 예들에 따른 이미지 데이터를 처리하기 위한 장치(100)의 제2 예를 도시한다. 도 2에서, 코-프로세서(102)는 본원에서 논의된 이미지 데이터의 변환 프로세스의 실시 예들의 양태들을 구현하기 위한 인라인 변환 유닛(110) 및 디코딩 유닛(120)을 포함한다. 위에서 논의된 바와 같이, 코-프로세서(102)의 유닛들(110, 120)의 적어도 일부는 다른 프로세서에 저장될 수 있고, 본원에서 고려되는 기능의 일부 또는 전부는 하드웨어 및/또는 펌웨어로 구현된다.
이 예에서, 디코딩 유닛(120)은 메모리(104)로부터 인코딩된 이미지 데이터(108)를 검색하기 위해 메모리 페치 로직(218)을 사용하여 메모리(104)로의 판독 동작을 수행하도록 구성된다. 도 2에서, 검색된 이미지 데이터(122)는 인코딩된 이미지 데이터(108)를 포함한다. 디코딩 유닛(120)은 검색된 이미지 데이터(122)를 디코딩하도록 구성된다. 일 예에서, 디코딩 유닛(120)은 원시 또는 디코딩된 이미지 데이터(106)의 컬러 포맷을 지원되는 컬러 포맷과 일치시키기 위해 지각적으로 양자화된(perceptually quantized) 컬러 공간(color space)에서 검색된 이미지 데이터(122)를 디코딩한다. 디코딩된 이미지 데이터(124)는 디코딩 유닛(120)에 의해 생성되어 변환 프로세스를 수행하기 위해 인라인 변환 유닛(110)으로 전송된다.
인라인 변환 유닛(110)은 디코딩된 이미지 데이터(124)를 수신하고 다음 중 하나로의 전환을 용이하게 하기 위해 하나 이상의 인라인 하드웨어 변환 유닛들을 사용하여 이미지 데이터(122)를 변환하도록 구성된다: 변환 프로세스에서 HDR/WCG 포멧 및 SDR/SCG 포멧. 전술한 바와 같이, 인라인 하드웨어 변환 유닛들 각각은 메모리(104)와의 판독 동작과 무관하게 변환 프로세스를 수행하는 점이 유리하다. 메모리(104)와의 판독 동작과 독립적인 변환 프로세스는 메모리(104)에 액세스하지 않고 변환 프로세스를 수행하는 것을 의미한다. 예를 들어, 인라인 변환 유닛(110)은 메모리(104)에 액세스하지 않고 디코딩 유닛(120)으로부터 디코딩된 이미지 데이터(124)를 수신 한 후 변환 프로세스를 수행한다.
따라서, 변환 프로세스 동안, 인라인 변환 유닛(110)에 의해 메모리(104)에 대한 액세스가 수행되지 않는다. 이것은 메모리(104)와 인라인 변환 유닛(110) 사이의 메모리 대 메모리 경로에 대한 더 적은 액세스로 인해 단순화된 변환 프로세스를 생성한다. 변환 프로세스가 완료된 후, 인라인 변환 유닛(110)은 디코딩된 이미지 데이터(124)의 변환된 이미지 데이터(126)를 생성하도록 구성된다. 인라인 변환 유닛(110)은 메모리 기록 로직(220)을 사용하여 디코딩된 이미지 데이터(124)의 변환된 이미지 데이터(126)를 저장하기 위해 메모리(104)로의 기록 동작을 수행하도록 구성된다. 일 실시 예에서, 도 4에 도시된 바와 같이, 인라인 리-감마(re-gamma) 변환 유닛(216)의 메모리 기록 로직(220)은 변환된 이미지 데이터(126)를 메모리(104)에 저장하기 위해 메모리(104)로의 기록 동작을 수행하도록 동작한다. 다른 실시 예에서, 서브 유닛들(200, 204, 208, 212) 중 임의의 하나는 메모리(104)로의 기록 동작을 수행하도록 동작하는 메모리 기록 로직(220)일 수 있다. 인라인 변환 유닛(110)에서 구현된 메모리 기록 로직(220)이 도시되어 있지만, 메모리 기록 로직(220)은 인라인 변환 유닛(110)과는 별개의 독립적인 로직일 수 있다.
일 예에서, 디코딩된 이미지 데이터(124)의 변환된 이미지 데이터(126)는 원시 또는 디코딩된 이미지 데이터(106)로서 저장하기 위해 메모리(104)로 전송될 수 있다. 다른 예에서, 디코딩된 이미지 데이터(124)의 변환된 이미지 데이터(126)는 인코딩될 다른 유닛(예를 들어, 인코더)으로 전송될 수 있다.
도 2에 도시된 바와 같이, 메모리 대 메모리 경로에 대한 액세스가 적기 때문에 디코더 경로가 단순화되는 점이 유리하다. 또한, 디코더 경로에서 검색된 이미지 데이터(122)에 대한 한번의 판독 동작과 변환된 이미지 데이터(126)에 대한 한번의 기록 동작만 수행되기 때문에, 트래픽에 대해 적은 메모리 대역폭이 필요하다.
도 3은 본 개시의 실시 예들에 따른 이미지 데이터를 처리하기 위한 장치(100)의 제3 예를 도시한다. 도 3에서, 코-프로세서(102)는 본원에서 논의된 이미지 데이터의 변환 프로세스의 실시 예들의 양태들을 구현하기 위한 인라인 변환 유닛(100) 및 인코더/디코더(130)를 포함한다. 이 구성에서, 공유 비디오 인코더/디코더(또는 코덱) 기능을 수행하기 위해, 인코더/디코더(130)는 인코딩 유닛(132) 및 디코딩 유닛(134)을 포함한다. 인코딩 유닛(132)은 도 1의 인코딩 유닛(112)과 유사하게 동작하는 반면, 디코딩 유닛(134)은 도 2의 디코딩 유닛(120)과 유사하게 동작한다. 인코더/디코더(130)는 인라인 변환 유닛(110)과 같은 단일 하드웨어 HDR/WCG 변환기와 인터페이스 한다. 인코더/디코더(130)는 도 1 및 2에 따라 설명된 바와 같은 인코딩 동작(즉, 인코딩 유닛(132)을 사용) 또는 디코딩 동작(즉, 디코딩 유닛(134)을 사용)을 수행하도록 구성된다. 일 실시 예에서, 인코더/디코더(130)는 인코딩 및/또는 디코딩 동작을 수행하는 프로그램 가능한 코덱이다. 즉, 프로그램 가능한 코덱(130)은 원하는 동작에 따라 인코딩 유닛(132) 또는 디코딩 유닛(134)으로 기능하도록 구성될 수 있다. 다른 실시 예에서, 인코더/디코더(130)는 별도의 인코딩 및 디코딩 유닛으로 구현될 수 있다. 즉, 인코딩 유닛(132) 및 디코딩 유닛(134)은 물리적 또는 논리적일 수 있다.
또한, 선택기(selector)(128)(예를 들어, 멀티플렉서(multiplexer))는, 도 1에 도시된 검색된 이미지 데이터(114)(예를 들어, 원시 또는 디코딩된 이미지 데이터(106)) 및 도 2에 도시된 디코딩된 이미지 데이터(124)(예를 들어, 디코딩 유닛(120)에 의해 생성된 디코딩된 이미지 데이터)와 같은, 적어도 2 개의 입력들 중 하나를 선택하기 위해 메모리(104)와 인라인 변환 유닛(110) 사이에 동작 가능하게 결합된다. 이 예에서, 인라인 변환 유닛(110)은 다음 중 하나를 수신하도록 구성된다: 원시 또는 디코딩된 이미지 데이터(106)를 갖는 검색된 이미지 데이터(114) 및 디코딩 유닛(134)으로부터 수신된 디코딩된 이미지 데이터(124).
도 3의 장치(100)에서 실행되는 이미지 렌더링(rendering) 어플리케이션이 인코딩 또는 디코딩 동작을 수행할 필요가 있을 때, 선택기(128)는 제어 신호(140)를 통해 검색된 이미지 데이터(114) 또는 디코딩된 이미지 데이터(124) 중 하나를 선택하도록 동작 가능하다. 예를 들어, 인코딩 동작 동안, 인코딩 유닛(132)은 제어 신호(140)를 통해 선택기(128)가 인라인 변환 유닛(110)으로 전송할 검색된 이미지 데이터(114)를 선택할 수 있게 한다. 디코딩 동작 동안, 디코딩 유닛(134)은 제어 신호(140)를 통해 선택기(128)가 인라인 변환 유닛(110)으로 전송할 디코딩된 이미지 데이터(124)를 선택할 수 있게 한다. 선택기(128)는 코-프로세서(102), 인라인 변환 유닛(110), 또는 인코더/디코더(130)에서 구현될 수 있다는 점에 유의해야 한다.
일부 실시 예들에서, 선택기(128)의 기능은 구성 레지스터(configuration register)들을 사용하여 구현된다. 특히, 구성 레지스터들은 검색된 이미지 데이터(114)가 인코딩 동작 동안 인라인 변환 유닛(110)으로 전송되도록 하거나 또는 디코딩된 이미지 데이터(124)가 디코딩 동작 동안 인라인 변환 유닛(110)으로 전송되도록 하는 구성 정보(configuration information)를 저장하도록 구성 될 수 있다.
전술한 바와 같이, 도 3의 장치(100)는 인코딩 모드 또는 디코딩 모드에서 동작할 수 있다. 인코딩 모드의 경우 판독, 변환, 인코딩 및 기록 동작 시퀀스(sequence)가 수행되는 인코더 경로가 생성된다. 특히, 인코더/디코더(130)의 인코딩 유닛(132)은 선택기(128)가 제어 신호(140)를 통해 검색된 이미지 데이터(114)를 인라인 변환 유닛(110)으로 전송할 수 있게 한다. 인라인 변환 유닛(110)은 메모리 페치 로직(218)을 사용하여 선택기(128)를 통해 원시 또는 디코딩된 이미지 데이터(106)를 갖는 검색된 이미지 데이터(114)를 수신한다. 인라인 변환 유닛(110)은 이미지 데이터(114)를 변환하고, 검색된 이미지 데이터(114)의 변환된 이미지 데이터(116)를 생성한다. 인코딩 유닛(132)은 인라인 변환 유닛(110)으로부터 변환된 이미지 데이터(116)를 수신하고, 변환된 이미지 데이터(116)에 기초하여 인코딩된 이미지 데이터(118)를 생성한다. 인코딩 유닛(132)은 메모리 기록 로직(220)을 사용하여 저장을 위해 인코딩된 이미지 데이터(118)를 메모리(104)에 기록한다.
디코딩 모드의 경우, 판독, 디코딩, 변환 및 기록 동작 시퀀스가 수행되는 디코더 경로가 생성된다. 특히, 인코더/디코더(130)의 디코딩 유닛(134)은 메모리 페치 로직(218)을 사용하여 메모리(104)로부터 인코딩된 이미지 데이터(108)를 갖는 검색된 이미지 데이터(122)를 수신한다. 디코딩 유닛(134)은 검색된 이미지 데이터(122)를 디코딩하고, 디코딩된 이미지 데이터(124)를 생성한다. 디코딩 유닛(134)은 디코딩된 이미지 데이터(124)를 선택기(128)로 전송한다. 디코딩 유닛(134)은 선택기(128)가 제어 신호(140)를 통해 코딩된 이미지 데이터(124)를 인라인 변환 유닛(110)으로 전송할 수 있게 한다. 인라인 변환 유닛(110)은 디코딩된 이미지 데이터(124)를 수신하여 이미지 데이터(124)를 변환한다. 인라인 변환 유닛(110)은 메모리 기록 로직(220)을 사용하여 저장을 위해 변환된 이미지 데이터(126)를 메모리(104)에 기록한다.
이와 같이, 인코딩 유닛(132) 및 디코딩 유닛(134)에 의해 수행되는 인코딩 동작 전 그리고 디코딩 동작 후에 메모리(104)에 대한 액세스가 적기 때문에 인코더 및 디코더 경로가 단순화되는 점이 유리하다. 또한, 인코더 및 디코더 경로 각각에서 메모리(104)에 대한 단 한번의 판독 동작 및 메모리(104)에 대한 단 한번의 기록 동작이 수행되기 때문에, 트래픽을 위해 적은 메모리 대역폭이 요구된다.
추가적으로, 도 3의 장치(100)는 판독, 디코딩, 변환, 인코딩 및 기록 동작 시퀀스가 수행되는 디코더-인코더 경로가 생성되는 디코딩-인코딩 모드에서 동작하도록 구성될 수 있다. 특히, 인코더/디코더(130)의 디코딩 유닛(134)은 메모리 페치 로직(218)을 사용하여 메모리(104)로부터 인코딩된 이미지 데이터(108)를 갖는 검색된 이미지 데이터(122)를 수신한다. 디코딩 유닛(134)은 검색된 이미지 데이터(122)를 디코딩하고, 디코딩된 이미지 데이터(124)를 생성한다. 디코딩 유닛(134)은 디코딩된 이미지 데이터(124)를 선택기(128)로 전송한다. 디코딩 유닛(134)은 제어 신호(140)를 통해 선택기(128)가 디코딩된 이미지 데이터(124)를 인라인 변환 유닛(110)으로 전송할 수 있게 한다. 인라인 변환 유닛(110)은 디코딩된 이미지 데이터(124)를 수신하고, 디코딩된 이미지 데이터(124)의 변환된 이미지 데이터(116)를 생성한다. 인코더/디코더(130)의 인코딩 유닛(132)은 인라인 변환 유닛(110)으로부터 변환된 이미지 데이터(116)를 수신하고, 변환된 이미지 데이터(116)에 기초하여 인코딩된 이미지 데이터(118)를 생성한다. 인코딩 유닛(132)은 메모리 기록 로직(220)을 사용하여 저장을 위해 인코딩된 이미지 데이터(118)를 메모리(104)에 기록한다.
도 4는 예시적인 인라인 변환 유닛(110)을 도시한다. 이제 도 1 내지 도 3에 도시된 예들을 참조하면, 인라인 변환 유닛(110)은 인라인 컬러 변환 유닛(200), 인라인 비선형 및 선형 변환 유닛(204), 인라인 톤 매핑(tone mapping) 변환 유닛(208), 인라인 색영역 리매핑(gamut remapping) 변환 유닛(212), 및 인라인 리-감마 변환 유닛(216)을 포함한다. 인라인 디-감마(de-gamma) 변환 유닛과 같은 다른 적절한 인라인 변환 유닛도 다른 어플리케이션에 적합하도록 고려된다. 각 유닛(200, 204, 208, 212, 216)은 인라인 변환 유닛(110)의 하드웨어 구성 요소로서 수행한다. 이러한 서브 유닛들(200, 204, 208, 212, 216)은 상위 유닛(parent unit)의 하위 유닛(children unit)으로 예시되어 있지만, 각각의 서브 유닛은 인라인 변환 유닛(110)과 별개의 유닛으로서 작동될 수 있고, 다른 어플리케이션에 적합하도록 서브 유닛의 다른 적절한 조합이 고려된다. 다른 실시 예에서, 하나 이상의 유닛들은 프로세서 또는 코-프로세서에서 실행되는 하드웨어 모델로서 선택적으로 번들링 될 수 있다.
초기에, 인라인 변환 유닛(110)은 인라인 컬러 변환 유닛(200)으로 전송될 수 있는 검색된 이미지 데이터(114) 또는 디코딩된 이미지 데이터(124)를 수신하도록 구성된다. 다른 실시 예들에서, 검색된 이미지 데이터(114) 또는 디코딩된 이미지 데이터(124)는 임의의 서브-유닛들(204, 208, 212, 216)으로 전송될 수 있다. 인라인 컬러 변환 유닛(200)은 메모리(104)에 액세스하지 않고 넓은-색영역 색공간(wide-gamut colorspace)과 표준-색영역 색공간(standard-gamut colorspace) 사이의 컬러 변환을 수행하도록 구성된다. 예를 들어, 인라인 컬러 변환 유닛(200)은 HDR/WCG 포멧으로 표현된 넓은-색영역 색공간을 SDR/SCG 포멧으로 표현된 표준-색영역 색공간으로 변환한다. 그 다음, 인라인 컬러 변환 유닛(200)은 컬러-변환된 이미지 데이터(202)를 생성한다.
인라인 비선형 및 선형 변환 유닛(204)은 컬러-변환된 이미지 데이터(202)를 수신하고, 메모리(104)에 액세스하지 않고 컬러-변환된 이미지 데이터(202)에 대해 비선형 및 선형 변환을 수행하도록 구성된다. 예를 들어, 인라인 비선형 및 선형 변환 유닛(204)은 원시 또는 디코딩된 이미지 데이터(106)의 컬러 또는 휘도 특성에 대한 비선형 응답을 포함하는 인간 시각 시스템(human visual system, HVS)의 특성을 활용하기 위해 비선형 및 선형 변환을 수행한다. 인간의 눈은 이미지 데이터(114)의 선형 데이터 표현에 지속적으로 응답할 수 없기 때문에, HVS를 준수하기 위해 비선형 및 선형 변환이 종종 필요하다. 본 개시에서, 비선형 및 선형 변환은 메모리에 액세스하지 않고 수행된다. 인라인 비선형 및 선형 변환 유닛(204)은 HVS를 준수하기 위해 필요에 따라 비선형 및 선형 변환을 수행한다. 그 후, 인라인 비선형 및 선형 변환 유닛(204)은 비선형/선형 변환된 이미지 데이터(206)를 생성한다.
인라인 톤 매핑 변환 유닛(208)은 비선형/선형 변환된 이미지 데이터(206)를 수신하고, 메모리(104)에 액세스하지 않고 비선형/선형 변환된 이미지 데이터(206)에 대한 톤 매핑 변환을 수행하도록 구성된다. 예를 들어, 인라인 톤 매핑 변환 유닛(208)은 톤 매핑 변환을 수행하여 한 세트의 톤 및 컬러를 다른 세트의 톤 및 컬러에 매핑하여 HDR/WCG 포맷의 원시 또는 디코딩된 이미지 데이터(106)의 표현(appearance)을 개선한다. 예를 들어 밝기 감각(brightness sensation)을 향상시키기 위해, 톤 매핑 변환은 보다 제한된 동적 범위를 갖는 디스플레이 디바이스에서 HDR/WCG 포멧의 이미지 데이터(114)의 표현을 근사화하기 위해 한 세트의 톤 및 컬러를 다른 세트의 톤 및 컬러로 매핑을 수행된다. 디스플레이 디바이스가 이미지 데이터(114)에 존재하는 전체 범위의 컬러 또는 광 강도를 재현하기에 부적절 할 때, 이미지 데이터(114)의 컬러 또는 휘도 특성을 보상하기 위해 톤 매핑 변환이 수행된다. 일 예에서, 인라인 톤 매핑 변환 유닛(208)은 원시 또는 디코딩된 이미지 데이터(106)의 색상 또는 휘도 특성을 향상시키기 위해 톤 매핑 변환을 수행한다. 그 다음, 인라인 톤 매핑 변환 유닛(208)은 톤 매핑된 이미지 데이터(210)를 생성한다.
인라인 색영역 리매핑 변환 유닛(212)은 톤 매핑된 이미지 데이터(210)를 수신하고, 메모리(104)에 액세스하지 않고 톤 매핑된 이미지 데이터(210)에 대해 색영역 리매핑 변환을 수행하도록 구성된다. 예를 들어, 인라인 색영역 리매핑 변환 유닛(212)은 색영역 공간을 어도비(Adobe) RGB(Adobe Red Green Blue), 어도비 넓은 색영역(wide gamut) RGB, sRGB(standard Red Green Blue), 원시 또는 디코딩된 이미지 데이터(106)의 픽셀 정보를 생성하기 위한 루마(luma) 및 크로마(components) 구성 요소(예를 들어, YCbCr 또는 Y'CbCr) 컬러 색영역 공간 중 하나로 변경하기 위해 색영역 리매핑 변환을 수행한다. 본 개시에서, 색영역 리매핑 변환은 메모리(104)에 액세스하지 않고 수행된다. 그 후, 인라인 색영역 리매핑 변환 유닛(212)은 색영역-리매핑된 이미지 데이터(214)를 생성한다.
인라인 리-감마 변환 유닛(216)은 색영역-리매핑된 이미지 데이터(214)를 수신하고, 메모리(104)에 액세스하지 않고 색영역-리매핑된 이미지 데이터(214)에 대해 리-감마 변환을 수행하도록 구성된다. 예를 들어, 인라인 리-감마 변환 유닛(216)은 인라인 색영역 리매핑 변환 유닛(212)으로부터 수신된 색영역 리매핑된 픽셀 정보에 대해 리-감마 변환을 수행하고 색영역 리매핑된 이미지 데이터를 생성한다. 그 다음, 일 예에서, 인라인 리-감마 변환 유닛(216)은 색영역 리매핑된 이미지 데이터(214)에 기초하여 원시 또는 디코딩된 이미지 데이터(106)의 변환된 이미지 데이터(116)를 생성한다. 다른 예에서, 인라인 리-감마 변환 유닛(216)은 색영역 리매핑된 이미지 데이터(214)에 기초하여 디코딩된 이미지 데이터(124)의 변환된 이미지 데이터(126)를 생성한다.
다른 예에서, 이미지 데이터(114)의 디-감마 픽셀 정보를 생성하기 위해 이미지 데이터(114)에 대해 디-감마 동작이 수행될 수 있으며, 디-감마 픽셀 정보는 이어서 다른 색영역 공간으로 리매핑되어 색영역 리매핑된 픽셀 정보를 생성한다. 그 후, 색영역 리매핑된 픽셀 정보는 색영역 리매핑된 이미지 데이터로 변환될 수 있다. 본 개시에서, 이러한 변환 단계들은 메모리(104)에 액세스하지 않고 수행된다.
도 5는 본 개시의 실시 예들에 따른 이미지 데이터를 처리하기 위한 방법(300)의 일 예를 도시한다. 이는 도 1 및 4를 참조하여 설명될 것이다. 그러나 임의의 적절한 구조가 이용될 수 있다. 예를 들어, 도 2 및 3을 참조하는 다른 방법도 다른 어플리케이션에 적합하도록 고려된다.
동작의 블록(302)에서, 인라인 변환 유닛(110)은 변환 프로세스를 시작하기 전에 메모리(104)로부터 원시 또는 디코딩된 이미지 데이터(106)를 검색하기 위해 메모리 페치 로직(218)을 사용하여 메모리(104)와의 판독 동작을 수행한다. 블록(304)에서, 인라인 변환 유닛(110)은 검색된 이미지 데이터(114)를 수신하고 인라인 컬러 변환 유닛(200), 인라인 비선형 및 선형 변환 유닛(204), 인라인 톤 매핑 변환 유닛(208), 인라인 색영역 리매핑 변환 유닛(212) 및 인라인 리-감마 변환 유닛(216)과 같은 하나 이상의 인라인 하드웨어 변환 유닛들을 사용하여 이미지 데이터(114)를 변환한다. 예를 들어, 인라인 변환 유닛(110)은 변환 프로세스에서 검색된 이미지 데이터(114)를 다음 중 하나로 변환한다: HDR/WCG 포멧 및 SDR/SCG 포멧. 유닛들(200, 204, 208, 212, 216) 각각은 변환될 이미지 데이터를 저장하는 메모리(104)로의 다른 판독 또는 기록 동작과 독립적으로 각각의 변환 단계를 수행한다. 블록(306)에서, 변환 프로세스를 완료한 후, 인코딩 유닛(112)은 변환된 이미지 데이터(116)에 대한 인코딩 동작을 수행하고, 변환된 이미지 데이터(116)를 저장하기 위해 메모리 기록 로직(220)을 사용하여 메모리(104)로의 기록 동작을 수행한다. 블록(30)4은 도 6에 더 예시되고 블록(306)은 도 7에 더 예시된다.
도 6은 본 개시에서 설명된 일 실시 예에 따른 도 5의 블록(304)을 수행하기 위한 방법(400)의 일 예를 도시한다. 이는 도 1, 4 및 5를 참조하여 설명된다. 그러나, 임의의 적절한 구조가 사용될 수 있다. 서브 블록들(402-412)이 예시되어 있지만, 다른 어플리케이션에 적합하도록 다른 적절한 서브 블록들이 사용될 수 있다.
블록(402)에서, 인라인 변환 유닛(110)은 하드웨어 구성 요소를 사용하는 변환 프로세스 동안 다음 중 하나로 전환을 수행한다: HDR/WCG 포멧 및 SDR/SCG 포멧. 예를 들어, 하드웨어 구성 요소는 인라인 컬러 변환 유닛(200), 인라인 비선형 및 선형 변환 유닛(204), 인라인 톤 매핑 변환 유닛(208), 인라인 색영역 리매핑 변환 유닛(212) 및 인라인 리-감마 변환 유닛(216) 중 하나 이상일 수 있다.
블록(404)에서, 인라인 컬러 변환 유닛(200)은 메모리(104)에 액세스하지 않고 넓은-색영역 색공간과 표준-색영역 색공간 사이의 컬러 변환을 수행한다. 예를 들어, 인라인 컬러 변환 유닛(200)은 HDR/WCG 포멧으로 표현된 넓은-색영역 색공간을 SDR/SCG 포멧으로 표현된 표준-색영역 색공간으로 변환한다.
블록(406)에서, 인라인 비선형 및 선형 변환 유닛(204)은 메모리(104)에 액세스하지 않고 컬러 변환된 이미지 데이터(202)에 대해 비선형 및 선형 변환을 수행한다. 예를 들어, 인라인 비선형 및 선형 변환 유닛(204)은 원시 또는 디코딩된 이미지 데이터(106)의 컬러 또는 휘도 특성에 대한 비선형 응답을 포함하는 HVS의 특성을 이용하기 위해 비선형 및 선형 변환을 수행한다.
블록(408)에서, 인라인 톤 매핑 변환 유닛(208)은 메모리(104)에 액세스하지 않고 비선형/선형 변환 이미지 데이터(206)에 대한 톤 매핑 변환을 수행한다. 예를 들어, 인라인 톤 매핑 변환 유닛(208)은 HDR/WCG 포맷에서 원시 또는 디코딩된 이미지 데이터(106)의 표현을 개선하기 위해 톤 매핑 변환을 수행하여 한 세트의 톤 및 컬러를 다른 세트의 톤 및 컬러로 매핑한다.
블록(410)에서, 인라인 색영역 리매핑 변환 유닛(212)은 메모리(104)에 액세스하지 않고 톤 매핑된 이미지 데이터(210)에 대해 색영역 리매핑 변환을 수행한다. 예를 들어, 인라인 색영역 리매핑 변환 유닛(212)은 색영역 공간을 어도비 RGB(Adobe Red Green Blue), 어도비 넓은 색영역(wide gamut) RGB, sRGB(standard Red Green Blue), 원시 또는 디코딩된 이미지 데이터(106)의 픽셀 정보를 생성하기 위한 루마(luma) 및 크로마(components) 구성 요소(예를 들어, YCbCr 또는 Y'CbCr) 컬러 색영역 공간 중 하나로 변경하기 위해 색영역 리매핑 변환을 수행한다.
블록(412)에서, 인라인 리-감마 변환 유닛(216)은 메모리(104)에 액세스하지 않고 색영역 리매핑된 이미지 데이터(214)에 대해 리-감마 변환을 수행한다. 예를 들어, 인라인 리-감마 변환 유닛(216)은 인라인 색영역 리매핑 변환 유닛(212)으로부터 수신된 색영역 리매핑된 픽셀 정보에 대해 리-감마 변환을 수행하고 색영역 리매핑된 이미지 데이터를 생성한다.
도 7은 본 개시에 설명된 일 실시 예에 따른 도 5의 블록(306)을 수행하기 위한 방법(500)의 일 예를 도시한다. 이는 도 1 및 도 4 내지 도 6을 참조하여 설명된다. 그러나, 임의의 적절한 구조가 사용될 수 있다. 하나의 서브 블록(502)이 예시되어 있지만, 다른 어플리케이션에 적합하도록 다른 적절한 서브 블록들이 사용될 수 있다.
동작의 블록(502)에서, 인코딩 유닛(112)은 도 1에 도시된 바와 같이 검색된 이미지 데이터(114)의 변환된 이미지 데이터(116)를 인코딩 한 다음 인코딩된 이미지 데이터(118)를 메모리(104)로 전송한다.
도 5 내지 도 7에 예시된 처리 블록들은 특정 순서로 설명되어 있지만, 당업자는 처리가 상이한 어플리케이션에 적합하도록 상이한 순서로 수행될 수 있음을 인식할 것이다. 일 예에서, 블록들(404-412)은 어플리케이션에 따라 임의의 적절한 순서로 수행될 수 있다.
다른 장점 중에서, 예를 들어 변환 프로세스에 소프트웨어 셰이더를 사용하는 대신, 본 개시는 메모리 대 메모리 경로에서 전력을 소모하고 메모리 대역폭을 증가시키는 소프트웨어 파트가 없는 인라인 변환 유닛(110)과 같은 인라인 하드웨어 HDR/WCG 변환 유닛을 제공한다. 소프트웨어 셰이더가 변환 프로세스에 사용되지 않으므로, 소프트웨어 셰이더를 게임에 사용할 수 있다. 따라서 게임 성능이 저하되지 않고 셰이더가 게임에 계속 사용된다. 결과적으로, 전체적인 렌더링 동작과 실행 속도가 드로우 타임(draw time)에서 향상된다.
본 개시의 실시 예들은 첨부된 도면을 참조하여 단지 예로서 위에서 설명되었다. 또한, 설명은 본질적으로 예시일 뿐이며, 본 개시, 그 적용 또는 사용을 제한하려는 의도가 전혀 없다. 본원에서 사용되는 용어 "유닛"은 ASIC(Application Specific Integrated Circuit), 전자 회로, 프로세서 또는 마이크로 프로세서(공유, 전용 또는 그룹) 및/또는 하나 이상의 소프트웨어 또는 펌웨어 프로그램을 실행하는 메모리(공유, 전용 또는 그룹), 조합 논리 회로 및/또는 설명된 기능을 제공하는 다른 적절한 구성 요소를 의미하거나 그 일부이거나 이를 포함한다. 따라서, 본 개시는 유닛의 특정 예 및 배열을 포함하지만, 다른 수정이 숙련된 실무자에게 명백할 것이기 때문에 본 개시의 범위는 그렇게 제한되지 않아야 한다.
본 개시에 대한 상기 상세한 설명 및 그에 설명된 예시는 제한이 아닌 단지 예시 및 설명의 목적으로 제시되었다. 따라서, 본 개시는 위에서 개시되고 여기에 청구된 기본 원리의 사상 및 범위 내에 있는 임의의 및 모든 수정, 변형 또는 등가물을 포함하는 것으로 고려된다.

Claims (40)

  1. HDR/WCG(high dynamic range and wide color gamut) 포멧과 SDR/SCG(standard dynamic range and standard color gamut) 포멧 중 하나로의 전환을 위해 이미지 데이터(image data)의 변환 프로세스(conversion process)에 사용되는 상기 이미지 데이터를 처리하도록 구성된 컴퓨팅 디바이스(computing device)에 있어서,
    상기 변환 프로세스를 개시하기 전에 메모리로부터 상기 이미지 데이터를 검색하기 위해 상기 메모리와의 판독 동작을 수행하도록 동작하는 로직(logic);
    상기 변환 프로세스 동안 상기 HDR/WCG 포멧 및 상기 SDR/SCG 포멧 중 하나로의 전환을 위해 상기 검색된 이미지 데이터를 변환하도록 작동하는 복수의 인라인(inline) 하드웨어 변환 유닛들-상기 복수의 인라인 하드웨어 변환 유닛들의 각각은 상기 메모리와의 다른 판독 동작과 독립적으로 상기 변환 프로세스를 수행하도록 동작함-; 및
    상기 복수의 인라인 하드웨어 변환 유닛들에 동작 가능하게 결합되고, 상기 변환 프로세스를 완료한 후에 상기 변환된 이미지 데이터를 인코딩하고 상기 인코딩된 이미지 데이터를 저장하기 위해 상기 메모리와의 기록 동작을 수행하도록 동작하는 인코딩 유닛을 포함하는, 컴퓨팅 디바이스.
  2. 제1항에 있어서, 상기 복수의 인라인 하드웨어 변환 유닛들은 상기 메모리와의 다른 기록 동작과 독립적으로 상기 변환 프로세스를 수행하도록 동작하는, 컴퓨팅 디바이스.
  3. 제1항에 있어서, 상기 메모리를 포함하고, 상기 복수의 인라인 하드웨어 변환 유닛들은 인라인 컬러 변환 유닛, 상기 인라인 컬러 변환 유닛으로부터 출력을 수신하는 인라인 비선형/선형 변환 유닛, 상기 인라인 비선형/선형 변환 유닛으로부터 출력을 수신하는 인라인 톤 매핑(tone mapping) 변환 유닛, 상기 인라인 톤 매핑 변환 유닛으로부터 출력을 수신하는 인라인 색영역 리매핑(gamut remapping) 변환 유닛, 상기 인라인 톤 매핑 변환 유닛으로부터 출력을 수신하는 인라인 색영역 리매핑 변환 유닛, 및 상기 인라인 색영역 리매핑 변환 유닛으로부터 출력을 수신하는 인라인 리-감마(re-gamma) 변환 유닛을 포함하는, 컴퓨팅 디바이스.
  4. 제1항에 있어서, 상기 로직은 원시(raw) 이미지 데이터 및 디코딩된 이미지 데이터 중 적어도 하나를 검색하도록 더 구성되는, 컴퓨팅 디바이스.
  5. 제1항에 있어서, 상기 복수의 인라인 하드웨어 변환 유닛들 중 하나만이 상기 메모리와의 상기 판독 동작을 수행하도록 동작하는 상기 로직을 포함하는, 컴퓨팅 디바이스.
  6. 제5항에 있어서, 상기 복수의 인라인 하드웨어 변환 유닛들 중 하나만이 상기 메모리와의 상기 판독 동작을 수행하는 첫 번째 인라인 하드웨어 변환 유닛인, 컴퓨팅 디바이스.
  7. 제6항에 있어서, 상기 복수의 인라인 하드웨어 변환 유닛들은 상기 메모리와의 상기 기록 동작을 수행하도록 동작하는 로직을 포함하는 마지막 인라인 하드웨어 변환 유닛을 포함하고, 상기 첫 번째 인라인 하드웨어 변환 유닛과 상기 마지막 인라인 하드웨어 변환 유닛 사이에 개재된 인라인 하드웨어 변환 유닛들 중 어느 것도 상기 변환 프로세스 동안 상기 메모리와의 임의의 판독 또는 기록 동작을 수행하지 않는, 컴퓨팅 디바이스.
  8. HDR/WCG(high dynamic range and wide color gamut) 포멧과 SDR/SCG(standard dynamic range and standard color gamut) 포멧 중 하나로의 전환을 위해 이미지 데이터의 변환 프로세스에 사용되는 상기 이미지 데이터를 처리하도록 구성된 컴퓨팅 디바이스에 있어서,
    복수의 인라인 하드웨어 변환 유닛들에 동작 가능하게 결합되고, 메모리로부터 인코딩된 이미지 데이터를 검색하고 상기 변환 프로세스를 개시하기 전에 상기 검색된 인코딩된 이미지 데이터를 디코딩하기 위해 상기 메모리와의 판독 동작을 수행하도록 동작하는 디코딩 유닛;
    상기 변환 프로세스 동안 상기 HDR/WCG 포멧 및 상기 SDR/SCG 포멧 중 하나로의 전환을 위해 상기 디코딩된 이미지 데이터를 변환하도록 작동하는 상기 복수의 인라인 하드웨어 변환 유닛들-상기 복수의 인라인 하드웨어 변환 유닛들의 각각은 상기 메모리와의 다른 판독 동작과 독립적으로 상기 변환 프로세스를 수행하도록 동작함-; 및
    상기 변환 프로세스를 완료한 후에 상기 변환된 이미지 데이터를 저장하기 위해 상기 메모리와의 기록 동작을 수행하도록 동작하는 로직을 포함하는, 컴퓨팅 디바이스.
  9. 제8항에 있어서, 상기 복수의 인라인 하드웨어 변환 유닛들은 상기 메모리와의 다른 기록 동작과 독립적으로 상기 변환 프로세스를 수행하도록 동작하는, 컴퓨팅 디바이스.
  10. 제8항에 있어서, 상기 메모리를 포함하고, 상기 복수의 인라인 하드웨어 변환 유닛들은 인라인 컬러 변환 유닛, 상기 인라인 컬러 변환 유닛으로부터 출력을 수신하는 인라인 비선형/선형 변환 유닛, 상기 인라인 비선형/선형 변환 유닛으로부터 출력을 수신하는 인라인 톤 매핑 변환 유닛, 상기 인라인 톤 매핑 변환 유닛으로부터 출력을 수신하는 인라인 색영역 리매핑 변환 유닛, 상기 인라인 톤 매핑 변환 유닛으로부터 출력을 수신하는 인라인 색영역 리매핑 변환 유닛, 및 상기 인라인 색영역 리매핑 변환 유닛으로부터 출력을 수신하는 인라인 리-감마 변환 유닛을 포함하는, 컴퓨팅 디바이스.
  11. 제8항에 있어서, 상기 복수의 인라인 하드웨어 변환 유닛들 중 하나만이 상기 메모리와의 상기 기록 동작을 수행하도록 동작하는 상기 로직을 포함하는, 컴퓨팅 디바이스.
  12. 제11항에 있어서, 상기 복수의 인라인 하드웨어 변환 유닛들 중 하나만이 상기 메모리와의 상기 기록 동작을 수행하는 마지막 인라인 하드웨어 변환 유닛인, 컴퓨팅 디바이스.
  13. 제12항에 있어서, 상기 복수의 인라인 하드웨어 변환 유닛들은 상기 메모리와의 상기 판독 동작을 수행하도록 동작하는 로직을 포함하는 첫 번째 인라인 하드웨어 변환 유닛을 포함하고, 상기 첫 번째 인라인 하드웨어 변환 유닛과 상기 마지막 인라인 하드웨어 변환 유닛 사이에 개재된 인라인 하드웨어 변환 유닛들 중 어느 것도 상기 변환 프로세스 동안 상기 메모리와의 임의의 판독 또는 기록 동작을 수행하지 않는, 컴퓨팅 디바이스.
  14. HDR/WCG(high dynamic range and wide color gamut) 포멧과 SDR/SCG(standard dynamic range and standard color gamut) 포멧 중 하나로의 전환을 위해 이미지 데이터의 변환 프로세스에 사용되는 상기 이미지 데이터를 처리하도록 구성된 컴퓨팅 디바이스에 있어서,
    메모리;
    상기 메모리로부터 상기 이미지 데이터를 검색하기 위해 상기 메모리와의 판독 동작을 수행하도록 동작하는 로직;
    상기 변환 프로세스 동안 상기 HDR/WCG 포멧 및 상기 SDR/SCG 포멧 중 하나로의 전환을 위해 상기 검색된 이미지 데이터를 변환하도록 작동하는 복수의 인라인 하드웨어 변환 유닛들-상기 복수의 인라인 하드웨어 변환 유닛들의 각각은 상기 메모리와의 다른 판독 동작과 독립적으로 상기 변환 프로세스를 수행하도록 동작함-;
    상기 복수의 인라인 하드웨어 변환 유닛들에 동작 가능하게 결합되고, 상기 변환 프로세스를 완료한 후에 상기 복수의 인라인 하드웨어 변환 유닛들로부터의 상기 변환된 이미지 데이터를 인코딩하도록 동작하는 인코딩 유닛; 및
    상기 복수의 인라인 하드웨어 변환 유닛들에 동작 가능하게 결합되고, 상기 변환 프로세스를 개시하기 전에 상기 메모리로부터의 상기 인코딩된 이미지 데이터를 디코딩하도록 동작하는 디코딩 유닛을 포함하는, 컴퓨팅 디바이스.
  15. 제14항에 있어서, 상기 컴퓨팅 디바이스는 상기 인코딩 유닛 및 상기 디코딩 유닛으로 기능하는 프로그램 가능한 코덱(codec)을 더 포함하는, 컴퓨팅 디바이스.
  16. 제14항에 있어서, 상기 컴퓨팅 디바이스는 상기 메모리와 상기 복수의 인라인 하드웨어 변환 유닛들 사이에 동작 가능하게 결합되며, 인코딩 또는 디코딩이 필요한지 여부에 따라 상기 메모리로부터 상기 검색된 이미지 데이터 및 상기 디코딩 유닛으로부터 상기 디코딩된 이미지 데이터 중 하나를 선택하도록 동작하는, 선택기(selector)를 더 포함하는, 컴퓨팅 디바이스.
  17. 제16항에 있어서, 상기 복수의 인라인 하드웨어 변환 유닛들은 인라인 컬러 변환 유닛, 상기 인라인 컬러 변환 유닛으로부터 출력을 수신하는 인라인 비선형/선형 변환 유닛, 상기 인라인 비선형/선형 변환 유닛으로부터 출력을 수신하는 인라인 톤 매핑 변환 유닛, 상기 인라인 톤 매핑 변환 유닛으로부터 출력을 수신하는 인라인 색영역 리매핑 변환 유닛, 상기 인라인 톤 매핑 변환 유닛으로부터 출력을 수신하는 인라인 색영역 리매핑 변환 유닛, 및 상기 인라인 색영역 리매핑 변환 유닛으로부터 출력을 수신하는 인라인 리-감마 변환 유닛을 포함하는, 컴퓨팅 디바이스.
  18. 제14항에 있어서, 상기 컴퓨팅 디바이스는 상기 이미지 데이터를 인코딩하는 것 및 상기 이미지 데이터를 디코딩하는 것 중 적어도 하나를 수행한 후에 상기 이미지 데이터를 상기 메모리로 전송하도록 더 구성되는, 컴퓨팅 디바이스.
  19. 제14항에 있어서, 상기 복수의 인라인 하드웨어 변환 유닛들 중 처음 하나만이 상기 메모리와의 상기 판독 동작을 수행하도록 동작하는 로직을 포함하고, 상기 복수의 인라인 하드웨어 변환 유닛들 중 마지막 하나만이 상기 메모리와의 기록 동작을 수행하도록 동작하는 로직을 포함하는, 컴퓨팅 디바이스.
  20. 제19항에 있어서, 상기 복수의 인라인 하드웨어 변환 유닛들 중 상기 처음 하나와 상기 복수의 인라인 하드웨어 변환 유닛들 중 상기 마지막 하나 사이에 개재된 인라인 하드웨어 변환 유닛들 중 어느 것도 상기 변환 프로세스 동안 상기 메모리와의 임의의 판독 또는 기록 동작을 수행하지 않는, 컴퓨팅 디바이스.
  21. HDR/WCG(high dynamic range and wide color gamut) 포멧과 SDR/SCG(standard dynamic range and standard color gamut) 포멧 중 하나로의 전환을 위해 이미지 데이터의 변환 프로세스에 사용되는 상기 이미지 데이터를 처리하는 방법에 있어서,
    로직을 사용하여, 상기 변환 프로세스를 개시하기 전에 메모리로부터 상기 이미지 데이터를 검색하기 위해 상기 메모리와의 판독 동작을 수행하는 단계;
    복수의 인라인 하드웨어 변환 유닛들을 사용하여, 상기 변환 프로세스 동안 상기 HDR/WCG 포멧 및 상기 SDR/SCG 포멧 중 하나로의 전환을 위해 상기 검색된 이미지 데이터를 변환하는 단계-상기 복수의 인라인 하드웨어 변환 유닛들의 각각은 상기 메모리와의 다른 판독 동작과 독립적으로 상기 변환 프로세스를 수행하도록 동작함-;
    상기 복수의 인라인 하드웨어 변환 유닛들에 동작 가능하게 결합된 인코딩 유닛을 사용하여, 상기 변환 프로세스를 완료한 후에 상기 변환된 이미지 데이터를 인코딩하는 단계; 및
    상기 인코딩 유닛을 사용하여, 상기 인코딩된 이미지 데이터를 저장하기 위해 상기 메모리와의 기록 동작을 수행하는 단계를 포함하는, 방법.
  22. 제21항에 있어서, 상기 검색된 이미지 데이터를 변환하는 단계는 상기 메모리와의 다른 기록 동작과 독립적으로 상기 변환 프로세스를 수행하는 단계를 포함하는, 방법.
  23. 제21항에 있어서, 상기 검색된 이미지 데이터를 변환하는 단계는 인라인 컬러 변환 유닛, 상기 인라인 컬러 변환 유닛으로부터 출력을 수신하는 인라인 비선형/선형 변환 유닛, 상기 인라인 비선형/선형 변환 유닛으로부터 출력을 수신하는 인라인 톤 매핑 변환 유닛, 상기 인라인 톤 매핑 변환 유닛으로부터 출력을 수신하는 인라인 색영역 리매핑 변환 유닛, 상기 인라인 톤 매핑 변환 유닛으로부터 출력을 수신하는 인라인 색영역 리매핑 변환 유닛, 및 상기 인라인 색영역 리매핑 변환 유닛으로부터 출력을 수신하는 인라인 리-감마 변환 유닛을 이용하여 상기 변환 프로세스를 수행하는 단계를 포함하는, 방법.
  24. 제21항에 있어서, 상기 판독 동작을 수행하는 단계는 원시 이미지 데이터 및 디코딩된 이미지 데이터 중 적어도 하나를 검색하는 단계를 포함하는, 방법.
  25. 제21항에 있어서, 상기 판독 동작을 수행하는 단계는 상기 메모리와의 상기 판독 동작을 수행하기 위해 상기 복수의 인라인 하드웨어 변환 유닛들 중 하나에서만 상기 로직을 사용하는 단계를 포함하는, 방법.
  26. 제25항에 있어서, 상기 복수의 인라인 하드웨어 변환 유닛들 중 상기 하나만이 상기 메모리와의 상기 판독 동작을 수행하는 첫 번째 인라인 하드웨어 변환 유닛인, 방법.
  27. 제26항에 있어서, 상기 복수의 인라인 하드웨어 변환 유닛들은 상기 메모리와의 상기 기록 동작을 수행하도록 동작하는 로직을 갖는 마지막 인라인 하드웨어 변환 유닛을 포함하고, 상기 검색된 이미지 데이터를 변환하는 단계는 상기 첫 번째 인라인 하드웨어 변환 유닛과 상기 마지막 인라인 하드웨어 변환 유닛 사이에 개재된 인라인 하드웨어 변환 유닛들이 상기 메모리와의 임의의 판독 또는 기록 동작을 수행하지 않고 상기 변환 프로세스를 수행하도록 하는 단계를 포함하는, 방법.
  28. HDR/WCG(high dynamic range and wide color gamut) 포멧과 SDR/SCG(standard dynamic range and standard color gamut) 포멧 중 하나로의 전환을 위해 이미지 데이터의 변환 프로세스에 사용되는 상기 이미지 데이터를 처리하는 방법에 있어서,
    복수의 인라인 하드웨어 변환 유닛들에 동작 가능하게 결합된 디코딩 유닛을 사용하여, 메모리로부터 인코딩된 이미지 데이터를 검색하기 위해 상기 메모리와의 판독 동작을 수행하는 단계;
    상기 디코딩 유닛을 사용하여, 상기 변환 프로세스를 개시하기 전에 상기 검색된 인코딩된 이미지 데이터를 디코딩하는 단계;
    복수의 인라인 하드웨어 변환 유닛들을 사용하여, 상기 변환 프로세스 동안 상기 HDR/WCG 포멧 및 상기 SDR/SCG 포멧 중 하나로의 전환을 위해 상기 디코딩된 이미지 데이터를 변환하는 단계-상기 복수의 인라인 하드웨어 변환 유닛들의 각각은 상기 메모리와의 다른 판독 동작과 독립적으로 상기 변환 프로세스를 수행하도록 동작함-; 및
    로직을 사용하여, 상기 변환 프로세서를 완료한 후에 상기 변환된 이미지 데이터를 저장하기 위해 상기 메모리와의 기록 동작을 수행하는 단계를 포함하는, 방법.
  29. 제28항에 있어서, 상기 디코딩된 이미지 데이터를 변환하는 단계는 상기 메모리와의 다른 기록 동작과 독립적으로 상기 변환 프로세스를 수행하는 단계를 포함하는, 방법.
  30. 제28항에 있어서, 상기 디코딩된 이미지 데이터를 변환하는 단계는 인라인 컬러 변환 유닛, 상기 인라인 컬러 변환 유닛으로부터 출력을 수신하는 인라인 비선형/선형 변환 유닛, 상기 인라인 비선형/선형 변환 유닛으로부터 출력을 수신하는 인라인 톤 매핑 변환 유닛, 상기 인라인 톤 매핑 변환 유닛으로부터 출력을 수신하는 인라인 색영역 리매핑 변환 유닛, 상기 인라인 톤 매핑 변환 유닛으로부터 출력을 수신하는 인라인 색영역 리매핑 변환 유닛, 및 상기 인라인 색영역 리매핑 변환 유닛으로부터 출력을 수신하는 인라인 리-감마 변환 유닛을 이용하여 상기 변환 프로세스를 수행하는 단계를 포함하는, 방법.
  31. 제28항에 있어서, 상기 기록 동작을 수행하는 단계는 상기 메모리와의 상기 기록 동작을 수행하기 위해 상기 복수의 인라인 하드웨어 변환 유닛들 중 하나에서만 상기 로직을 사용하는 단계를 포함하는, 방법.
  32. 제31항에 있어서, 상기 복수의 인라인 하드웨어 변환 유닛들 중 상기 하나만이 상기 메모리와의 상기 기록 동작을 수행하는 마지막 인라인 하드웨어 변환 유닛인, 방법.
  33. 제32항에 있어서, 상기 복수의 인라인 하드웨어 변환 유닛들은 상기 메모리와의 상기 판독 동작을 수행하도록 동작하는 로직을 갖는 첫 번째 인라인 하드웨어 변환 유닛을 포함하고, 상기 디코딩된 이미지 데이터를 변환하는 단계는 상기 첫 번째 인라인 하드웨어 변환 유닛과 상기 마지막 인라인 하드웨어 변환 유닛 사이에 개재된 인라인 하드웨어 변환 유닛들이 상기 메모리와의 임의의 판독 또는 기록 동작을 수행하지 않고 상기 변환 프로세스를 수행하도록 하는 단계를 포함하는, 방법.
  34. HDR/WCG(high dynamic range and wide color gamut) 포멧과 SDR/SCG(standard dynamic range and standard color gamut) 포멧 중 하나로 전환하기 위해 이미지 데이터의 변환 프로세스에 사용되는 상기 이미지 데이터를 처리하는 방법에 있어서,
    로직을 사용하여, 메모리로부터 상기 이미지 데이터를 검색하기 위해 상기 메모리와의 판독 동작을 수행하는 단계;
    복수의 인라인 하드웨어 변환 유닛들을 사용하여, 상기 변환 프로세스 동안 상기 HDR/WCG 포멧 및 상기 SDR/SCG 포멧 중 하나로의 전환을 위해 상기 검색된 이미지 데이터를 변환하는 단계-상기 복수의 인라인 하드웨어 변환 유닛들의 각각은 상기 메모리와의 다른 판독 동작과 독립적으로 상기 변환 프로세스를 수행하도록 동작함-;
    상기 복수의 인라인 하드웨어 변환 유닛들에 동작 가능하게 결합된 인코딩 유닛을 사용하여, 상기 변환 프로세스를 완료한 후에 상기 복수의 인라인 하드웨어 변환 유닛들로부터의 상기 변환된 이미지 데이터를 인코딩하는 단계; 및
    상기 복수의 인라인 하드웨어 변환 유닛들에 동작 가능하게 결합된 디코딩 유닛을 사용하여, 상기 변환 프로세서를 개시하기 전에 상기 메모리로부터의 인코딩된 이미지 데이터를 디코딩하는 단계를 포함하는, 방법.
  35. 제34항에 있어서, 상기 인코딩 유닛 및 상기 디코딩 유닛으로서 기능하는 프로그램 가능한 코덱을 사용하여 상기 인코딩 또는 디코딩 동작을 수행하는 단계를 더 포함하는, 방법.
  36. 제34항에 있어서, 상기 메모리와 상기 복수의 인라인 하드웨어 변환 유닛들 사이에 동작 가능하게 결합된 선택기를 사용하여, 인코딩 또는 디코딩이 필요한지 여부에 따라 상기 메모리로부터의 상기 검색된 이미지 데이터 및 상기 디코딩 유닛으로부터의 상기 디코딩된 이미지 데이터 중 하나를 선택하는 단계를 더 포함하는, 방법.
  37. 제36항에 있어서, 상기 변환 프로세스를 수행하는 단계는 인라인 컬러 변환 유닛, 상기 인라인 컬러 변환 유닛으로부터 출력을 수신하는 인라인 비선형/선형 변환 유닛, 상기 인라인 비선형/선형 변환 유닛으로부터 출력을 수신하는 인라인 톤 매핑 변환 유닛, 상기 인라인 톤 매핑 변환 유닛으로부터 출력을 수신하는 인라인 색영역 리매핑 변환 유닛, 상기 인라인 톤 매핑 변환 유닛으로부터 출력을 수신하는 인라인 색영역 리매핑 변환 유닛, 및 상기 인라인 색영역 리매핑 변환 유닛으로부터 출력을 수신하는 인라인 리-감마 변환 유닛을 이용하는 단계를 포함하는, 방법.
  38. 제34항에 있어서, 상기 이미지 데이터를 인코딩하거나 상기 이미지 데이터를 디코딩하는 것 중 적어도 하나를 수행한 후에 상기 이미지 데이터를 상기 메모리로 전송하는 단계를 더 포함하는, 방법.
  39. 제34항에 있어서, 상기 판독 동작을 수행하는 단계는 상기 메모리와의 상기 판독 동작을 수행하기 위해 상기 복수의 인라인 하드웨어 변환 유닛들 중 처음 하나만을 사용하는 단계를 포함하고, 상기 방법은 상기 메모리와의 기록 동작을 수행하기 위해 상기 복수의 인라인 하드웨어 변환 유닛들 중 마지막 하나만을 사용하는 단계를 더 포함하는, 방법.
  40. 제39항에 있어서, 상기 변환 프로세스를 수행하는 단계는 상기 복수의 인라인 하드웨어 변환 유닛들 중 상기 처음 하나와 상기 복수의 인라인 하드웨어 변환 유닛들 중 상기 마지막 하나 사이에 개재된 인라인 하드웨어 변환 유닛들이 상기 메모리와의 임의의 판독 또는 기록 동작을 수행하지 않고 상기 변환 프로세스를 수행하도록 하는 단계를 포함하는, 방법.
KR1020217016417A 2018-10-31 2019-10-02 하드웨어 인코더 및 디코더에 대한 hdr 하드웨어 프로세서 인라인을 위한 방법 및 장치 KR20210068593A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/176,826 2018-10-31
US16/176,826 US11503310B2 (en) 2018-10-31 2018-10-31 Method and apparatus for an HDR hardware processor inline to hardware encoder and decoder
PCT/US2019/054198 WO2020091939A1 (en) 2018-10-31 2019-10-02 Method and apparatus for an hdr hardware processor inline to hardware encoder and decoder

Publications (1)

Publication Number Publication Date
KR20210068593A true KR20210068593A (ko) 2021-06-09

Family

ID=70326590

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217016417A KR20210068593A (ko) 2018-10-31 2019-10-02 하드웨어 인코더 및 디코더에 대한 hdr 하드웨어 프로세서 인라인을 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US11503310B2 (ko)
EP (1) EP3874759A4 (ko)
JP (1) JP2022512586A (ko)
KR (1) KR20210068593A (ko)
CN (1) CN112868242B (ko)
WO (1) WO2020091939A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200095651A (ko) * 2019-02-01 2020-08-11 삼성전자주식회사 고 동적 범위 콘텐트를 재생하는 전자 장치 및 그 방법

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05308622A (ja) * 1992-04-28 1993-11-19 Mitsubishi Electric Corp 画像符号化・復号化装置
US6466220B1 (en) * 1999-03-05 2002-10-15 Teralogic, Inc. Graphics engine architecture
JP2004336468A (ja) * 2003-05-08 2004-11-25 Fuji Film Microdevices Co Ltd 撮像装置及び画像処理方法
US7139002B2 (en) * 2003-08-01 2006-11-21 Microsoft Corporation Bandwidth-efficient processing of video images
US7643675B2 (en) * 2003-08-01 2010-01-05 Microsoft Corporation Strategies for processing image information using a color information data structure
JP4187612B2 (ja) * 2003-08-22 2008-11-26 独立行政法人理化学研究所 ダイナミックプログラミング法計算を高速に実行する計算装置
US7576663B2 (en) * 2006-04-21 2009-08-18 Locolabs, Llc Inline audio/visual conversion
US7974438B2 (en) * 2006-12-11 2011-07-05 Koplar Interactive Systems International, Llc Spatial data encoding and decoding
US8723891B2 (en) * 2009-02-27 2014-05-13 Ncomputing Inc. System and method for efficiently processing digital video
BRPI1009443B1 (pt) * 2009-03-13 2021-08-24 Dolby Laboratories Licensing Corporation Método de geração de parâmetros de mapeamento de tons inverso, método de compactação de dados de vídeo e método para geração de um fluxo de bits de saída a partir de um fluxo de bits de entrada
US20120188406A1 (en) * 2011-01-20 2012-07-26 Apple Inc. Reduced power consumption filter
JP2012175303A (ja) * 2011-02-18 2012-09-10 Jvc Kenwood Corp 撮像装置、撮像方法、及びプログラム
US10916000B2 (en) * 2011-09-27 2021-02-09 Koninklijke Philips N.V. Apparatus and method for dynamic range transforming of images
US9489706B2 (en) * 2012-07-02 2016-11-08 Qualcomm Technologies, Inc. Device and algorithm for capturing high dynamic range (HDR) video
US10699361B2 (en) * 2012-11-21 2020-06-30 Ati Technologies Ulc Method and apparatus for enhanced processing of three dimensional (3D) graphics data
CN105009580B (zh) 2013-02-21 2017-09-29 杜比实验室特许公司 高动态范围视频的显示管理
US20140282624A1 (en) * 2013-03-15 2014-09-18 Varian Medical Systems, Inc. Method and pipeline processing system for facilitating responsive interaction
US9351003B2 (en) * 2013-09-27 2016-05-24 Apple Inc. Context re-mapping in CABAC encoder
US20160366449A1 (en) * 2014-02-21 2016-12-15 Koninklijke Philips N.V. High definition and high dynamic range capable video decoder
US10264266B2 (en) 2014-02-25 2019-04-16 Apple Inc. Non-linear display brightness adjustment
GB2532354B (en) * 2014-06-06 2017-03-29 Imagination Tech Ltd Gamut mapping
WO2016049327A1 (en) * 2014-09-26 2016-03-31 Dolby Laboratories Licensing Corporation Encoding and decoding perceptually-quantized video content
US9652870B2 (en) * 2015-01-09 2017-05-16 Vixs Systems, Inc. Tone mapper with filtering for dynamic range conversion and methods for use therewith
US9860504B2 (en) * 2015-01-09 2018-01-02 Vixs Systems, Inc. Color gamut mapper for dynamic range conversion and methods for use therewith
CA2973909C (en) * 2015-01-19 2017-12-19 Dolby Laboratories Licensing Corporation Display management for high dynamic range video
US9697796B2 (en) * 2015-03-26 2017-07-04 Intel Corporation Adaptive linear luma domain video pipeline architecture
US20160309154A1 (en) 2015-04-17 2016-10-20 Qualcomm Incorporated Dynamic range adjustment for high dynamic range and wide color gamut video coding
US10116938B2 (en) * 2015-07-22 2018-10-30 Arris Enterprises Llc System for coding high dynamic range and wide color gamut sequences
US10269095B2 (en) * 2015-08-31 2019-04-23 Apple Inc. Dynamically determining filtering strength for noise filtering in image processing
US10200690B2 (en) * 2015-09-22 2019-02-05 Qualcomm Incorporated Video decoder conformance for high dynamic range (HDR) video coding using a core video standard
KR102243844B1 (ko) 2015-09-23 2021-04-22 애리스 엔터프라이지즈 엘엘씨 비디오 디코더에서의 높은 동적 범위 적응 동작들
EP3338452B1 (en) * 2015-09-23 2020-08-26 ARRIS Enterprises LLC Signalling of reshaping functions for coding high dynamic range and wide color gamut sequences
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
US10019785B2 (en) * 2016-03-07 2018-07-10 Novatek Microelectronics Corp. Method of processing high dynamic range images using dynamic metadata
US10516810B2 (en) * 2016-03-07 2019-12-24 Novatek Microelectronics Corp. Method of gamut mapping and related image conversion system
KR20170106022A (ko) 2016-03-11 2017-09-20 삼성전자주식회사 영상 신호의 처리를 위한 전자 장치
US9961236B2 (en) * 2016-06-13 2018-05-01 Gopro, Inc. 3D color mapping and tuning in an image processing pipeline
US20180040095A1 (en) * 2016-08-02 2018-02-08 Qualcomm Incorporated Dynamic compressed graphics state references
US20180097527A1 (en) * 2016-10-03 2018-04-05 Microsoft Technology Licensing, Llc 32-bit hdr pixel format with optimum precision
US10218952B2 (en) * 2016-11-28 2019-02-26 Microsoft Technology Licensing, Llc Architecture for rendering high dynamic range video on enhanced dynamic range display devices
US12073308B2 (en) * 2017-01-04 2024-08-27 Stmicroelectronics International N.V. Hardware accelerator engine
US10904535B2 (en) 2017-04-01 2021-01-26 Intel Corporation Video motion processing including static scene determination, occlusion detection, frame rate conversion, and adjusting compression ratio
US10778979B2 (en) * 2018-01-11 2020-09-15 Qualcomm Incorporated Signaling mechanisms for equal ranges and other DRA parameters for video coding
US20190356891A1 (en) * 2018-05-16 2019-11-21 Synaptics Incorporated High dynamic range (hdr) data conversion and color space mapping

Also Published As

Publication number Publication date
WO2020091939A1 (en) 2020-05-07
CN112868242B (zh) 2024-06-18
US20200137403A1 (en) 2020-04-30
CN112868242A (zh) 2021-05-28
EP3874759A4 (en) 2022-08-31
US11503310B2 (en) 2022-11-15
JP2022512586A (ja) 2022-02-07
EP3874759A1 (en) 2021-09-08

Similar Documents

Publication Publication Date Title
RU2737507C2 (ru) Способ и устройство для кодирования изображения высокого динамического диапазона, соответствующий способ декодирования и устройство декодирования
KR102529013B1 (ko) 컬러 픽처를 인코딩 및 디코딩하는 방법 및 장치
JP7053722B2 (ja) ビットストリーム内で、ldrピクチャのピクチャ/ビデオ・フォーマットと、このldrピクチャおよびイルミネーション・ピクチャから取得された復号済みのhdrピクチャのピクチャ/ビデオ・フォーマットとをシグナリングする方法および装置
JP2018525883A (ja) カラー・ピクチャを符号化および復号する方法およびデバイス
JP2018524924A (ja) Hdrピクチャ及び前記hdrピクチャから得られるsdrピクチャの両方をカラーマッピング関数を使用して符号化するための方法及びデバイス
US20180097527A1 (en) 32-bit hdr pixel format with optimum precision
CN112868242B (zh) 用于内联到硬件编码器和解码器的hdr硬件处理器的方法和设备
JP2022539962A (ja) 異なるカラーフォーマットからの画像をアルファブレンドするための方法及び装置
US20180220190A1 (en) Methods and devices for encoding/decoding videos
KR100852958B1 (ko) 서브픽셀 렌더링과 데이터 압축을 이용한 디스플레이드라이버 장치 및 그 제어방법
CN113052748B (zh) 图形处理器以及视频解码显示方法
CN116700943A (zh) 一种视频播放系统、方法以及电子设备
TW202141427A (zh) 影像處理方法、裝置、攝影設備和儲存介質
US8797343B1 (en) Methods and apparatuses for processing cached image data
JP7074461B2 (ja) ディスプレイ適合hdr画像を再構成する方法およびデバイス
JP2018507618A (ja) カラー・ピクチャを符号化および復号する方法および装置
US11749232B2 (en) Image generation apparatus and image generation method
TW202324292A (zh) 用於顏色空間轉換的非線性濾波
CN116195252A (zh) 针对标准动态范围(sdr)内容的有效电光传递函数(eotf)曲线
CN115063327A (zh) 图像处理方法和装置、以及视频处理方法和装置
CN118590657A (en) Decoding method of image data, graphic controller, storage medium and display device