KR20230107545A - 채도를 유지하고 색조를 보존하면서 톤 맵퍼 내에서의 크로마 클립핑을 회피하기 위한 방법, 디바이스, 및 장치 - Google Patents

채도를 유지하고 색조를 보존하면서 톤 맵퍼 내에서의 크로마 클립핑을 회피하기 위한 방법, 디바이스, 및 장치 Download PDF

Info

Publication number
KR20230107545A
KR20230107545A KR1020237012963A KR20237012963A KR20230107545A KR 20230107545 A KR20230107545 A KR 20230107545A KR 1020237012963 A KR1020237012963 A KR 1020237012963A KR 20237012963 A KR20237012963 A KR 20237012963A KR 20230107545 A KR20230107545 A KR 20230107545A
Authority
KR
South Korea
Prior art keywords
initial
partial luminance
chroma components
color correction
tuples
Prior art date
Application number
KR1020237012963A
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 KR20230107545A publication Critical patent/KR20230107545A/ko

Links

Images

Classifications

    • 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
    • G06T5/009
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • 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/46Embedding additional information in the video signal during the compression process
    • 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
    • H04N21/23439Processing 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 for generating different versions
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/646Circuits for processing colour signals for image enhancement, e.g. vertical detail restoration, cross-colour elimination, contour correction, chrominance trapping filters
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Processing Of Color Television Signals (AREA)
  • Image Processing (AREA)

Abstract

채도를 유지하고 색조를 보존하면서 초기 크로마 성분들의 클립핑을 회피하기 위한 정규화된 보정된 크로마 성분들을 얻기 위해 현재 이미지의 초기 크로마 성분들을 보정하도록 의도된 색보정 함수를 수정하는 것을 포함하는 방법이 개시된다.

Description

채도를 유지하고 색조를 보존하면서 톤 맵퍼 내에서의 크로마 클립핑을 회피하기 위한 방법, 디바이스, 및 장치
본 실시예들 중 적어도 하나는 대체적으로 SL-HDRx 시스템들(x=1, 2, 또는 3)을 사용하는 HDR 비디오의 분배의 분야에 관한 것이며, 더 구체적으로는, 채도를 유지하고 색조를 보존하면서 크로마 클립핑을 회피하기 위한 정규화된 보정된 크로마 성분들을 얻기 위해 초기 루마 성분 및 초기 크로마 성분들에 의해 표현되는 현재 이미지의 상기 초기 크로마 성분들을 보정하도록 의도된 색보정 함수를 수정하기 위한 방법, 디바이스, 및 장비에 관한 것이다,
디스플레이 기술들의 최근의 진보들은 디스플레이될 이미지들에서 색, 루미넌스 및 콘트라스트의 확장된 동적 범위를 허용하기 시작하고 있다. 용어 "이미지"는 본 명세서에서, 예를 들어 비디오 또는 정지 픽처 또는 이미지일 수 있는 이미지 콘텐츠를 지칭한다.
높은 동적 범위(high-dynamic-range, HDR) 비디오(HDR 비디오)는 표준 동적 범위(standard-dynamic-range, SDR) 비디오(SDR 비디오)의 것보다 더 큰 동적 범위를 갖는 비디오의 특징을 설명한다. HDR 비디오는 캡처, 제작, 콘텐츠/인코딩, 및 디스플레이를 수반한다. HDR 캡처 및 디스플레이들은 더 밝은 백색 및 더 짙은 흑색이 가능하다. 이를 수용하기 위해, HDR 인코딩 표준들은 이러한 확장된 범위에 걸쳐 정밀도를 유지하기 위해 (비전문가 SDR 비디오에 대한 8-비트 및 전문가 SDR 비디오에 대한 10-비트와 비교하여) 더 높은 최대 루미넌스를 허용하고 적어도 10-비트 동적 범위를 사용한다.
기술적으로 "HDR"이 엄격하게는 최대 루미넌스와 최소 루미넌스 사이의 비를 지칭하지만, 용어 "HDR 비디오"는 보편적으로 넓은 색역(color gamut)을 또한 암시하는 것으로 이해된다.
다수의 HDR 디스플레이 디바이스들뿐만 아니라 증가된 동적 범위를 갖는, 이미지들을 캡처할 수 있는 이미지 및 비디오 카메라들이 등장했지만, 여전히, 매우 제한된 수의 이용가능한 HDR 콘텐츠들이 있다. 추가적으로, 대부분의 현재 콘텐츠 분배 시스템들은 SDR 콘텐츠들을 전달하도록 설계된다.
표준 SL-HDR1(ETSI TS 103 433-1 시리즈, 최신 버전은 v1.3.1임)은, SDR 비디오 스트림으로부터 HDR 신호를 재구성하는 것을 허용하는 메타데이터를 사용함으로써 직접적인 하위 호환성(backwards compatibility)을 제공한다. SL-HDR1의 하나의 이점은 HDR 콘텐츠들을 분배하기 위해 이미 적소에 있는 SDR 분배 네트워크들 및 서비스들을 사용하는 것을 허용한다는 것이다. 게다가, SL-HDR1은 단일 층 비디오 스트림을 사용하여 HDR 디바이스들 상에서의 HDR 렌더링 및 SDR 디바이스들 상에서의 SDR 렌더링을 허용한다.
표준 SL-HDR2(ETSI TS 103 433-2 시리즈, 최신 버전은 v1.2.1임)는 HDR 디바이스들에 적응된다. 표준 SL-HDR2는 메타데이터와 함께 ST-2084(PQ(Perceptual Quantizer) 또는 HDR10로도 알려짐) 스트림들을 송신하는 것을 허용한다. 스트림이 ST-2084와만 호환가능하고 메타데이터와는 호환가능하지 않은 디바이스에 의해 수신될 때, 후자는 메타데이터를 무시하고 이미지들을, 그들의 기술적 세부사항들 모두를 알지 못하면서(디바이스 모델들 및 이들의 프로세싱 능력들에 따라, 색 렌더링 및 레벨 세부사항들은 원래의 소스를 중시하지 않을 수 있음) 디스플레이한다. ST-2084 포맷 및 메타데이터를 지원하는 디바이스가 스트림을 수신할 때, 그것은 콘텐츠 제작자의 의도를 가장 잘 중시하는 최적화된 이미지를 디스플레이한다.
표준 SL-HDR3 (ETSI TS 103 433-3 v1.1.1)은 메타데이터와 함께 HLG(Hybrid Log Gamma) 스트림들을 송신하는 것을 허용한다. SL-HDR3 시스템은 SL-HDR2 HDR/SDR 재구성 블록에 기초한 HDR/SDR 재구성 블록을 포함하는데, 즉, 그것은 HLG-대-ST-2084 OETF(Opto-Electronic Transfer Function) 컨버터와 SL-HDR2 HDR/SDR 재구성 블록의 캐스케이드로 구성된다. OETF는 장면 밝기로부터 데이터로 변환하는 센서의 액션의 특징을 설명한다.
일부 전형적인 SL-HDRx 시스템들에서, SDR 신호의 루마 부분(즉, SDR 루마)은 원래의 HDR RGB 성분들로부터 계산된 원래의 HDR 신호의 루미넌스 상에 또는 원래의 HDR 신호의 HDR RGB 성분들의 감마화된 버전들로부터 계산된 원래의 HDR 신호들의 루마(즉, HDR 루마) 상에 톤 맵핑 동작을 적용하여 계산된다. SDR 신호의 크로마 부분(즉, SDR 크로마)은 원래의 HDR 신호의 HDR RGB 성분들의 감마화된 버전들로부터 그리고 계산된 SDR 루마에 종속하는 색보정 인자로부터 계산된다.
일부 경우들에서, 생성된 SDR 크로마 성분들은 최대 가능한 값으로 클립핑된다. 클립핑은 SDR 신호로부터 HDR 신호를 재구성할 때 재구성 에러들의 직접적인 원인이다.
SDR 크로마 성분들의 클립핑을 제거하기 위해, 일부 방법들은 계산된 SDR 크로마 성분들의 채도를 수정하고 있다. 그러나, 이들 방법들은 색들의 관점에서(즉, 색조의 관점에서) 원래의 HDR 신호와 더 이상 일치하지 않는 채도가 매우 낮은 SDR 이미지들을 생성한다.
상기의 단점들을 극복하는 것이 바람직하다.
도출된 SDR 신호의 채도를 유지하고 색조를 보존하면서 SDR 크로마 성분들의 클립핑을 회피할 수 있게 하는 방법을 정의하는 것이 특히 바람직하다.
제1 태양에서, 본 실시예들 중 하나 이상은, 정규화된 보정된 크로마 성분들을 얻기 위해 초기 루마 성분 및 초기 크로마 성분들에 의해 표현되는 현재 이미지의 상기 초기 크로마 성분들을 보정하도록 의도된 색보정 함수를 수정하기 위한 방법을 제공하고, 상기 색보정 함수는 제1 좌표 및 제2 좌표를 포함하는 초기 투플(tuple)들의 세트로 정의되어 있고, 방법은, 현재 이미지에 대해,
초기 루마 성분의 루미넌스 값들의 범위를 부분적인 루미넌스 범위들에 세그먼트화하는 단계 - 2개의 연속하는 부분적인 루미넌스 범위들 사이의 각각의 경계(frontier)는 초기 투플들 중 하나의 제1 좌표에 대응함 -;
각각의 부분적인 루미넌스 범위 내의 초기 크로마 성분들에 대한 감쇠 값을 추정하는 단계 - 각각의 감쇠 값은 초기 크로마 성분들을 저하시켜 상기 성분의 클립핑을 회피할 수 있게 함 -;
각각의 부분적인 루미넌스 범위에 대해 결정된 감쇠 값들로부터 초기 크로마 성분들에 대한 전역 감쇠 값을 결정하는 단계;
전역 감쇠 값 및 상기 부분적인 루미넌스 범위에 연관된 감쇠 값에 기초하여, 각각의 부분적인 루미넌스 범위에서 채도를 유지할 수 있게 하는, 각각의 부분적인 루미넌스 범위에 대한 인자를 계산하는 단계;
2개의 연속하는 루미넌스 범위들 사이의 각각의 경계에 대해, 이들 2개의 연속하는 부분적인 루미넌스 범위들에 대해 계산된 인자들 중 최소치를 표현하는 최소치 인자를 계산하는 단계;
상기 경계에 대응하는 최소치 인자 및 전역 감쇠 값에 기초하여, 2개의 연속하는 부분적인 루미넌스 범위들 사이의 각각의 경계에 대한 최종 보정 인자를 계산하는 단계; 및
새로운 색보정 함수를 정의하는 새로운 투플들을 얻기 위해, 최종 보정 인자들을 사용하여 초기 투플들 중 적어도 하나의 제2 좌표를 수정하는 단계를 포함한다.
일 실시예에서, 방법은, 현재 이미지에 선행하는 이미지들에 대해 계산된 새로운 투플들을 사용하는 필터링에 기초하는 새로운 투플들의 시간적 안정화를 포함한다.
일 실시예에서, 시간적 안정화는 2개의 장면 컷트들 사이의 동일한 장면에 속하는 이미지들의 세트에서 실행된다.
제2 태양에서, 본 실시예들 중 하나 이상은, 정규화된 보정된 크로마 성분들을 얻기 위해 초기 루마 성분 및 초기 크로마 성분들에 의해 표현되는 현재 이미지의 상기 초기 크로마 성분들을 보정하도록 의도된 색보정 함수를 수정하기 위한 디바이스를 제공하고, 상기 색보정 함수는 제1 좌표 및 제2 좌표를 포함하는 초기 투플들의 세트로 정의되어 있고, 디바이스는,
초기 루마 성분의 루미넌스 값들의 범위를 부분적인 루미넌스 범위들에 세그먼트화하기 위한 수단 - 2개의 연속하는 부분적인 루미넌스 범위들 사이의 각각의 경계는 초기 투플들 중 하나의 제1 좌표에 대응함 -;
각각의 부분적인 루미넌스 범위 내의 초기 크로마 성분들에 대한 감쇠 값을 추정하기 위한 수단 - 각각의 감쇠 값은 초기 크로마 성분들을 저하시켜 상기 성분의 클립핑을 회피할 수 있게 함 -;
각각의 부분적인 루미넌스 범위에 대해 결정된 감쇠 값들로부터 초기 크로마 성분들에 대한 전역 감쇠 값을 결정하기 위한 수단;
전역 감쇠 값 및 상기 부분적인 루미넌스 범위에 연관된 감쇠 값에 기초하여, 각각의 부분적인 루미넌스 범위에서 채도를 유지할 수 있게 하는, 각각의 부분적인 루미넌스 범위에 대한 인자를 계산하기 위한 수단;
2개의 연속하는 루미넌스 범위들 사이의 각각의 경계에 대해, 이들 2개의 연속하는 부분적인 루미넌스 범위들에 대해 계산된 인자들 중 최소치를 표현하는 최소치 인자를 계산하기 위한 수단;
상기 경계에 대응하는 최소치 인자 및 전역 감쇠 값에 기초하여, 2개의 연속하는 부분적인 루미넌스 범위들 사이의 각각의 경계에 대한 최종 보정 인자를 계산하기 위한 수단; 및
새로운 색보정 함수를 정의하는 새로운 투플들을 얻기 위해, 최종 보정 인자들을 사용하여 초기 투플들 중 적어도 하나의 제2 좌표를 수정하기 위한 수단을 포함한다.
일 실시예에서, 디바이스는, 이미지들의 시퀀스에서 현재 이미지에 선행하는 이미지들에 대해 계산된 새로운 투플들을 사용하는 필터링에 기초하는 새로운 투플들의 시간적 안정화를 적용하기 위한 수단을 포함한다.
일 실시예에서, 다비이스는, 2개의 장면 컷트들 사이의 동일한 장면에 속하는 이미지의 시퀀스의 이미지들의 세트에서 시간적 안정화를 적용하기 위한 수단을 포함한다.
제3 태양에서, 본 실시예들 중 하나 이상은 초기 루마 성분 및 초기 크로마 성분들을 포함하는 이미지를 톤 맵핑하는 방법을 제공하고, 방법은,
제1 태양의 방법을 사용하여 색보정 함수를 수정하는 단계; 및
새로운 색보정 함수에 기초하여 초기 크로마 성분에 대해 색보정을 적용하는 단계를 포함한다.
제4 태양에서, 본 실시예들 중 하나 이상은 HDR 및 SDR 포맷의 동일한 콘텐츠의 이미지들을 클라이언트 시스템에 공동으로 분배하기 위한 방법을 제공하고, 방법은,
제1 태양 또는 제3 태양의 방법을 적용하는 단계; 및
메타데이터의 형태로 상기 새로운 투플들을 표현하는 데이터를 클라이언트 시스템으로 송신하는 단계를 포함한다.
제5 태양에서, 본 실시예들 중 하나 이상은 초기 루마 성분 및 초기 크로마 성분들을 포함하는 이미지를 톤 맵핑하기 위한 장치를 제공하고, 장치는,
제2 태양에 따른 디바이스; 및
새로운 색보정 함수에 기초하여 초기 크로마 성분에 대해 색보정을 적용하기 위한 수단을 포함한다.
제6 태양에서, 본 실시예들 중 하나 이상은 HDR 및 SDR 포맷의 동일한 콘텐츠의 이미지들을 클라이언트 시스템에 공동으로 분배하기 위한 장치를 제공하고, 장치는,
제2 태양에 따른 디바이스 또는 제5 태양에 따른 장치; 및
메타데이터의 형태로 상기 새로운 투플들을 표현하는 데이터를 클라이언트 시스템으로 송신하기 위한 수단을 포함한다.
제7 태양에서, 본 실시예들 중 하나 이상은 제2 태양에 따른 디바이스, 또는 제5 태양 또는 제6 태양에 따른 장치를 포함하는 장비를 제공한다.
제8 태양에서, 본 실시예들 중 하나 이상은 제1 태양, 제3 태양, 또는 제4 태양의 방법에 의해, 또는 제2 태양의 디바이스에 의해, 또는 제5 태양 또는 제6 태양에 따른 장치에 의해, 또는 제7 태양의 장비에 의해 생성된 신호를 제공한다.
제9 태양에서, 본 실시예들 중 하나 이상은 제1 태양, 제3 태양, 또는 제4 태양에 따른 방법을 구현하기 위한 프로그램 코드 명령어들을 포함하는 컴퓨터 프로그램을 제공한다.
제10 태양에서, 본 실시예들 중 하나 이상은 제1 태양, 제3 태양, 또는 제4 태양에 따른 방법을 구현하기 위한 프로그램 코드 명령어들을 저장하는 정보 저장 매체를 제공한다.
도 1은 SL-HDR1 시스템의 일례를 예시한다.
도 2는 SL-HDR1 시스템의 사전 프로세싱 모듈의 세부사항을 개략적으로 예시한다.
도 3은 SL-HDR1 시스템의 사후 프로세싱 모듈의 세부사항을 개략적으로 예시한다.
도 4는 다양한 태양들 및 실시예들을 구현할 수 있는 프로세싱 모듈의 하드웨어 아키텍처의 일례를 개략적으로 예시한다.
도 5는 다양한 태양들 및 실시예들이 구현되는 제1 시스템의 일례의 블록도를 예시한다.
도 6은 다양한 태양들 및 실시예들이 구현되는 제2 시스템의 일례의 블록도를 예시한다.
도 7은 사전 프로세싱 프로세스의 일례를 개략적으로 예시한다.
도 8은 사후 프로세싱 프로세스의 일례를 개략적으로 예시한다.
도 9는 크로마 클립핑 제한기 프로세스의 일례를 개략적으로 예시한다.
도 10a는 시간적 안정화 프로세스의 제1 예를 개략적으로 예시한다.
도 10b는 시간적 안정화 프로세스의 제2 예를 개략적으로 예시한다.
도 11은 부분적인 루미넌스 범위들 내의 크로마 성분들에 대한 감쇠 값을 결정하기 위한 프로세스를 개략적으로 표현한다.
도 12는 크로마 클립핑 제한기 프로세스의 실행을 예시한다.
도 13은 시간적 안정화 프로세스의 제1 세부사항을 예시한다,
도 14는 시간적 안정화 프로세스의 제2 세부사항을 예시한다,
다양한 태양들 및 실시예들이 SL-HDR1 시스템의 맥락에서 하기에 설명되어 있다. 그러나, 이들 태양들 및 실시예들은 색보정을 포함하는 임의의 SL-HDRx 시스템에 적응될 수 있다.
도 1은 SL-HDR1 시스템의 일례를 예시한다.
도 1의 SL-HDR1 시스템은 통신 네트워크(2)를 통해 통신하는 서버(1) 및 클라이언트 시스템(3)을 포함한다. 클라이언트 시스템(3)은 통신 링크(4)를 사용하여 HDR 콘텐츠를 디스플레이할 수 있는 HDR 디스플레이 디바이스(5)라고 불리는 제1 디스플레이 디바이스에 접속되고, 통신 링크(6)를 사용하여 SDR 콘텐츠를 디스플레이할 수 있는 SDR 디스플레이 디바이스(7)라고 불리는 제2 디스플레이 디바이스에 접속된다.
서버(1)는 원래의 HDR 콘텐츠를 얻고, SDR 인코딩된 신호 및 메타데이터를 생성한다.
클라이언트(3)는 SDR 인코딩된 신호 및 메타데이터를 수신하고, 디코딩된 SDR 콘텐츠를 생성하고, SDR 디코딩된 SDR 콘텐츠 및 메타데이터로부터 HDR 콘텐츠를 재구성한다.
서버(1)는 도 2와 관련하여 상세히 설명된 사전 프로세싱 모듈, 인코딩 모듈(12), 및 송신 모듈(14)을 포함한다.
사전 프로세싱 모듈(10)은 도 7 및 도 9와 관련하여 하기에 설명된 프로세스를 적용하여 원래의 HDR 콘텐츠로부터 SDR 콘텐츠 및 메타데이터를 생성한다.
인코딩 모듈(12)은 상기 SDR 콘텐츠 및 메타데이터를 인코딩한다. 인코딩 모듈(12)은, 예를 들어, 비디오 압축 표준들 HEVC(ISO/IEC 23008-2 - MPEG-H Part 2, High Efficiency Video Coding / ITU-T H.265) 또는 AVC(ISO/IEC 14496-10 - MPEG-4 Part 10, Advanced Video Coding) 또는 개발 중인 [Versatile Video Coding (VVC)]라는 명칭의 표준과 부합하는 인코딩된 비디오 스트림을 생성한다. 메타데이터는, 예를 들어, 사용자 데이터 등록 SEI 메시지, HEVC 색 재맵핑 정보(Color Remapping Information, CRI) 또는 마스터링 디스플레이 색 볼륨(Mastering Display Colour Volume, MDCV) SEI 메시지들과 같은 SEI 메시지들에 의해 수행된다.
인코딩될 때, 인코딩된 비디오 스트림은 송신 모듈(14)에 의해 통신 네트워크(2)를 통해 클라이언트 시스템(3)으로 송신된다.
클라이언트 시스템(3)은 수신 모듈(30), 디코딩 모듈(32), 및 도 3과 관련하여 상세히 설명된 사후 프로세싱 모듈(34)을 포함한다.
수신 모듈(30)은 인코딩된 SDR 콘텐츠 및 메타데이터를 포함하는 인코딩된 비디오 스트림을 수신한다.
디코딩 모듈(32)은 인코딩된 비디오 스트림을 디코딩하여 SDR 콘텐츠 및 메타데이터를 재구성한다. SDR 디스플레이 디바이스(7)에 바로 송신된 SDR 콘텐츠 상에서는 어떠한 추가의 프로세싱도 적용되지 않는다.
사후 프로세싱 모듈(34)은 도 8과 관련하여 설명된 프로세스를 적용하여 디코딩된 SDR 콘텐츠 및 메타데이터로부터 HDR 콘텐츠를 재구성한다.
도 2는 사전 프로세싱 모듈(10)의 세부사항을 개략적으로 예시한다.
사전 프로세싱 모듈(10)은 변환 모듈(10A) 및 HDR-SDR(HDR-to-SDR) 신호 분해 모듈(10C)을 포함한다.
HDR-SDR 신호 분해 모듈(10C)은 그의 입력부에서 선형 광 RGB 신호를 요구한다. 변환 모듈(10A)은 HDR-SDR 신호 분해 모듈(10C)에 의해 요구되는 입력으로의 포맷 적응을 가능하게 하는데, 즉, 그것은, 필요한 경우, 임의의 포맷(OETF, YUV, …)을 가질 수 있는 입력 HDR 비디오를 선형 광 RGB 신호로 변환한다.
HDR-SDR 신호 분해 모듈(10C)은 고품질의 재구성된 HDR 신호를 보장하는 도 7의 단계들(701 내지 708)과 관련하여 설명된 가역 프로세스(invertible process)를 사용하여, 원래의 HDR 신호의 SDR 하위 호환가능 버전을 생성한다.
일 실시예에서, 사전 프로세싱 모듈(10)은 선택적인 색역 맵핑 모듈(10B)을 포함한다. 색역 맵핑 모듈(10B)은 원래의 HDR 신호 및 SDR 신호가 상이한 색역 또는 색공간들로 표현될 때 사용될 수 있다.
도 3은 사후 프로세싱 모듈(34)의 세부사항을 개략적으로 예시한다.
사후 프로세싱 모듈(34)은 SDR-HDR 재구성 모듈(34C) 및 변환 모듈(34A)을 포함한다.
SDR-HDR 재구성 모듈(34C)은 디코딩된 SDR 신호 및 메타데이터를 수신하고, HDR-SDR 분해 모듈(10C)의 프로세스를 반전시켜 도 8의 단계들(801 내지 807)과 관련하여 설명된 바와 같이 HDR 신호를 재구성한다.
변환 모듈(34A)은 클라이언트 시스템(3)에 접속된 타깃화된 시스템(예를 들어, 셋톱 박스(Set Top Box, STB), 커넥티드 TV 등)으로의, 재구성된 HDR 신호의 포맷 적응을 가능하게 한다. 변환 모듈(34A)은 도 8의 단계(808)에 의해 설명된 프로세스를 적용한다.
사전 프로세싱 모듈(10)이 색역 맵핑 모듈(10B)을 포함하는 실시예에서, 사후 프로세싱 모듈(34)은 색역 맵핑 모듈(10B)의 프로세스를 반전시키는 선택적인 역 색역 맵핑 모듈(34B)을 포함한다.
도 4는 서버(1) 내의 사전 프로세싱 모듈(10)에, 인코딩 모듈(12)에, 또는 송신 모듈(14)에 포함되거나, 또는 클라이언트 시스템(3) 내의 수신 모듈(30)에, 디코딩 모듈(32)에, 또는 사후 프로세싱 모듈(34)에 포함되고, 상이한 태양들 및 실시예들을 구현할 수 있는 프로세싱 모듈(100)의 하드웨어 아키텍처의 일례를 개략적으로 예시한다. 프로세싱 모듈(100)은, 통신 버스(1005)에 의해 접속되는, 비제한적인 예들로서, 하나 이상의 마이크로프로세서들, 범용 컴퓨터들, 특수 목적 컴퓨터들, 및 멀티코어 아키텍처에 기초한 프로세서들을 포괄하는 프로세서 또는 중앙 처리 장치(central processing unit, CPU)(1000); 랜덤 액세스 메모리(random access memory, RAM)(1001); 판독 전용 메모리(read only memory, ROM)(1002); 전기적으로 소거가능한 프로그래밍가능 판독 전용 메모리(Electrically Erasable Programmable Read-Only Memory, EEPROM), 판독 전용 메모리(ROM), 프로그래밍가능 판독 적용 메모리(Programmable Read-Only Memory, PROM), 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(Dynamic Random Access Memory, DRAM), 정적 랜덤 액세스 메모리(Static Random Access Memory, SRAM), 플래시, 자기 디스크 드라이브, 및/또는 광학 디스크 드라이브를 포함하지만 이들로 제한되지 않는 비휘발성 메모리 및/또는 휘발성 메모리, 또는 저장 매체 판독기, 예컨대 SD(secure digital) 카드 판독기 및/또는 하드 디스크 드라이브(hard disc drive, HDD) 및/또는 네트워크 액세스가능 저장 디바이스를 포함할 수 있는 저장 유닛(1003); 및 다른 모듈들, 디바이스들, 시스템들 또는 장비와 데이터를 교환하기 위한 적어도 하나의 통신 인터페이스(1004)를 포함한다. 통신 인터페이스(1004)는 통신 네트워크(2)를 통해 데이터를 송신하도록 그리고 수신하도록 구성된 송수신기를 포함할 수 있지만, 이에 제한되지 않는다. 통신 인터페이스(1004)는 모뎀 또는 네트워크 카드를 포함할 수 있지만, 이로 제한되지 않는다.
예를 들어, 통신 인터페이스(1004)는, 예를 들어, 프로세싱 모듈(100)이,
Figure pct00001
프로세싱 모듈(100)이 서버(1)에 포함될 때, 원래의 HDR 콘텐츠를 수신하게 하고, 인코딩된 SDR 콘텐츠 및 메타데이터를 포함하는 인코딩된 비디오 스트림을 출력하게 하고;
Figure pct00002
프로세싱 모듈(100)이 사전 프로세싱 모듈(10)에 포함될 때, 원래의 HDR 콘텐츠를 수신하게 하고, SDR 콘텐츠를 메타데이터와 함께 출력하게 하고;
Figure pct00003
프로세싱 모듈(100)이 인코딩 모듈(12)에 포함될 때, SDR 콘텐츠 및 메타데이터를 수신하게 하고, 상기 SDR 콘텐츠 및 메타데이터를 표현하는 인코딩된 비디오 스트림을 출력하게 하고;
Figure pct00004
프로세싱 모듈이 송신 모듈(14)에 포함될 때, 인코딩된 비디오 스트림을 수신하게 하고, 인코딩된 비디오 스트림을 클라이언트 시스템(3)으로 송신하게 하고;
Figure pct00005
프로세싱 모듈(100)이 클라이언트 시스템(3)에 포함될 때, 서버(1)로부터 인코딩된 비디오 스트림을 수신하게 하고, 대응하는 SDR 및/또는 HDR 콘텐츠를 출력하게 하고;
Figure pct00006
프로세싱 모듈(100)이 수신 모듈(30)에 포함될 때, 서버(1)로부터 인코딩된 비디오 스트림을 수신하게 하고, 상기 인코딩된 비디오 스트림을 디코딩 모듈(32)로 포워딩하게 하고;
Figure pct00007
프로세싱 모듈(100)이 디코딩 모듈(32)에 포함될 때, 수신 모듈(30)로부터 인코딩된 비디오 스트림을 수신하게 하고, 재구성된 SDR 콘텐츠 및 메타데이터를 출력하게 하고;
Figure pct00008
프로세싱 모듈(100)이 사후 프로세싱 모듈(34)에 포함될 때, 재구성된 SDR 콘텐츠 및 메타데이터를 수신하게 하고, 재구성된 HDR 콘텐츠를 출력하게 할 수 있다.
프로세서(1000)는 ROM(1002)으로부터, 외부 메모리(도시되지 않음)로부터, 저장 매체로부터, 또는 통신 네트워크로부터 RAM(1001)으로 로딩된 명령어들을 실행할 수 있다. 프로세싱 모듈(100)에 전력이 공급될 때, 프로세서(1000)는 RAM(1001)으로부터의 명령어들을 판독하고 이들을 실행할 수 있다. 이들 명령어들은, 예를 들어, 도 7 및 도 9와 관련하여 설명된 사전 프로세싱 프로세스의, 인코딩 프로세스의, 디코딩 프로세스의, 및/또는 도 8과 관련하여 설명된 사후 프로세싱 프로세스의 프로세서(1000)에 의한 구현예를 야기하는 컴퓨터 프로그램을 형성한다.
상기 프로세스들의 알고리즘들 및 단계들의 전부 또는 일부는 프로그래밍가능 기계, 예컨대 DSP(digital signal processor) 또는 마이크로제어기에 의한 명령어들의 세트의 실행에 의해 소프트웨어 형태로 구현될 수 있거나, 또는 기계 또는 전용 컴포넌트, 예컨대 FPGA(field-programmable gate array) 또는 ASIC(application-specific integrated circuit)에 의해 하드웨어 형태로 구현될 수 있다.
도 5는 서버(1), 사전 프로세싱 모듈(10), 인코딩 모듈(12) 및/또는 송신 모듈(14)을 구현하도록 적응되고 다양한 태양들 및 실시예들이 구현되는 시스템(A)의 일례의 블록도를 예시한다.
시스템(A)은 전술되는 다양한 컴포넌트들 또는 모듈들을 포함하는 디바이스로서 구현될 수 있고, 본 문서에 기술된 태양들 및 실시예들 중 하나 이상을 수행하도록 구성된다. 그러한 시스템의 예들은, 다양한 전자 시스템들, 예컨대, 개인용 컴퓨터, 랩톱 컴퓨터, 스마트폰, 태블릿 컴퓨터, 커넥티드 가전, 서버, 및 카메라를 포함하지만, 이들로 제한되지 않는다. 시스템(A)의 컴포넌트들은, 단독으로 또는 조합되어, 단일 집적 회로(IC), 다수의 IC들, 및/또는 별개의 컴포넌트들에서 구현될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 시스템(A)은 사전 프로세싱 프로세스(10), 인코딩 모듈(12) 또는 송신 모듈(14), 또는 이들 모듈들의 임의의 조합을 구현하는 하나의 프로세싱 모듈(100)을 포함한다. 다양한 실시예들에서, 시스템(A)은, 예를 들어 통신 버스를 통해 또는 전용 입력 및/또는 출력 포트들을 통해 하나 이상의 다른 시스템들, 또는 다른 전자 디바이스들에 통신가능하게 커플링된다.
프로세싱 모듈(100)에 대한 입력은 블록(60)에 나타낸 바와 같은 다양한 입력 모듈들을 통해 제공될 수 있다. 그러한 입력 모듈들은, (i) 예를 들어 브로드캐스터에 의해 공중으로 송신된 무선 주파수(RF) 신호를 수신하는 무선 주파수(RF) 모듈, (ii) 컴포넌트(COMP) 입력 모듈(또는 COMP 입력 모듈들의 세트), (iii) 범용 직렬 버스(USB) 입력 모듈, 및/또는 (iv) 고화질 멀티미디어 인터페이스(HDMI) 입력 모듈을 포함하지만, 이들로 제한되지 않는다. 도 5에 도시되지 않은 다른 예들은 복합 비디오(composite video)를 포함한다.
다양한 실시예들에서, 블록(60)의 입력 모듈들은 당업계에 알려진 바와 같은 연관된 각자의 입력 프로세싱 요소들을 갖는다. 예를 들어, RF 모듈은, (i) 원하는 주파수를 선택하는 것(신호를 선택하는 것, 신호를 주파수들의 대역으로 대역-제한하는 것으로도 지칭됨), (ii) 선택된 신호를 하향변환하는 것, (iii) (예를 들어) 소정 실시예들에서 채널로 지칭될 수 있는 신호 주파수 대역을 선택하기 위해 주파수들의 더 좁은 대역으로 다시 대역-제한하는 것, (iv) 하향변환되고 대역-제한된 신호를 복조하는 것, (v) 에러 정정을 수행하는 것, 및 (vi) 데이터 패킷들의 원하는 스트림을 선택하기 위해 역다중화하는 것에 적합한 요소들과 연관될 수 있다. 다양한 실시예들의 RF 모듈은 이러한 기능들을 수행하기 위한 하나 이상의 요소들, 예를 들어 주파수 선택기들, 신호 선택기들, 대역-제한기들, 채널 선택기들, 필터들, 하향변환기들, 복조기들, 에러 정정기들, 및 역다중화기들을 포함한다. RF 부분은, 예를 들어, 수신된 신호를 더 낮은 주파수(예를 들어, 중간 주파수 또는 기저대역 인근 주파수)로 또는 기저대역으로 하향변환하는 것을 포함한, 다양한 이들 기능들을 수행하는 동조기를 포함할 수 있다. 다양한 실시예들은 전술한(및 다른) 요소들의 순서를 재배열하고, 이들 요소들 중 일부를 제거하고/하거나 유사하거나 상이한 기능들을 수행하는 다른 요소들을 추가한다. 요소를 추가하는 것은, 예를 들어, 증폭기들 및 아날로그-디지털 변환기를 삽입하는 것과 같이, 기존 요소들 사이에 요소들을 삽입하는 것을 포함할 수 있다. 다양한 실시예들에서, RF 모듈은 안테나를 포함한다.
추가적으로, USB 및/또는 HDMI 모듈들은 시스템(A)을 USB 및/또는 HDMI 접속부들을 통해 다른 전자 디바이스들에 접속시키기 위한 각자의 인터페이스 프로세서들을 포함할 수 있다. 입력 프로세싱, 예를 들어, 리드 솔로몬 에러 정정의 다양한 태양들이, 예를 들어, 필요에 따라, 별개의 입력 프로세싱 IC 내에서 또는 프로세싱 모듈(100) 내에서 구현될 수 있다는 것이 이해되어야 한다. 유사하게, USB 또는 HDMI 인터페이스 프로세싱의 태양들이, 필요에 따라, 별개의 인터페이스 IC 내에서 또는 프로세싱 모듈(100) 내에서 구현될 수 있다. 복조된, 에러 정정된, 그리고 역다중화된 스트림이 프로세싱 모듈(100)에 제공된다.
시스템(A)의 다양한 요소들이 통합된 하우징 내에 제공될 수 있다. 통합된 하우징 내에서, 다양한 요소들은 적합한 접속 배열들, 예를 들어, IC간(I2C) 버스, 배선, 및 인쇄 회로 보드들을 포함하는, 본 기술분야에 알려진 바와 같은 내부 버스를 사용하여 상호접속되고, 그들 사이에서 데이터를 송신할 수 있다. 예를 들어, 시스템(A)에서, 프로세싱 모듈(100)은 버스(1005)에 의해 상기 시스템(A)의 다른 요소들에 상호접속된다.
프로세싱 모듈(100)의 통신 인터페이스(1004)는 시스템(A)이 통신 네트워크(2) 상에서 통신할 수 있게 한다. 통신 네트워크(2)는, 예를 들어, 유선 및/또는 무선 매체 내에서 구현될 수 있다.
데이터는, 다양한 실시예들에서, Wi-Fi 네트워크, 예를 들어 IEEE 802.11(IEEE는 전기 전자 기술자 협회(Institute of Electrical and Electronics Engineers)를 지칭함)과 같은 무선 네트워크를 사용하여, 시스템(A)에 스트리밍되거나 또는 달리 제공된다. 이들 실시예들의 Wi-Fi 신호는 Wi-Fi 통신들에 대해 적응된 통신 네트워크(2) 및 통신 인터페이스(1004)를 통해 수신된다. 이들 실시예들의 통신 네트워크(2)는 전형적으로, 스트리밍 응용들 및 다른 오버-더-탑(over-the-top) 통신을 허용하기 위한 인터넷을 포함하는 외부 네트워크들에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 접속된다. 또 다른 실시예들은 입력 블록(60)의 RF 접속을 사용하여 스트리밍된 데이터를 시스템(A)에 제공한다. 전술한 바와 같이, 다양한 실시예들은, 예를 들어 시스템(A)이 카메라, 스마트폰 또는 태블릿일 때, 비-스트리밍 방식으로 데이터를 제공한다. 또한, 다양한 실시예들은 Wi-Fi 이외의 무선 네트워크들, 예를 들어 셀룰러 네트워크 또는 블루투스 네트워크를 사용한다.
시스템(A)은 통신 네트워크(2) 또는 버스(1005)를 사용하여 다양한 출력 디바이스들에 출력 신호를 제공할 수 있다. 예를 들어, 사전 프로세싱 모듈(10)을 구현할 때, 시스템(A)은 버스(1005) 또는 통신 네트워크(2)를 사용하여 인코딩 모듈(12)에 출력 신호를 제공한다. 서버(1)를 구현할 때, 시스템(A)은 통신 네트워크(2)를 사용하여 SDR 신호 및 메타데이터를 클라이언트 시스템(3)에 제공한다.
다양한 구현예들은 사전 프로세싱 프로세스 및/또는 인코딩 프로세스를 적용하는 것을 수반한다. 본 출원에서 사용되는 바와 같이, 사전 프로세싱 프로세스 또는 인코딩 프로세스는, 예를 들어, SDR 콘텐츠 또는 인코딩된 SDR 콘텐츠를 메타데이터와 함께 제작하기 위해, 수신된 HDR 이미지 또는 비디오 스트림에 대해 수행되는 프로세스들의 전부 또는 일부를 포괄할 수 있다. 인코딩 프로세스와 관련된 다양한 실시예들에서, 그러한 프로세스는 비디오 인코더, 예를 들어, JVET(Joint Video Experts Team)로서 알려진 ITU-T 및 ISO/IEC 전문가들의 공동 협력 팀에 의해 개발 중인 H.264/AVC(ISO/IEC 14496-10 - MPEG-4 Part 10, Advanced Video Coding) 인코더, H.265/HEVC(ISO/IEC 23008-2 - MPEG-H Part 2, High Efficiency Video Coding / ITU-T H.265) 인코더 및 H.266/VVC(Versatile Video Coding) 인코더, AV1 인코더, 또는 VP9 인코더에 의해 전형적으로 수행되는 프로세스들 중 하나 이상을 포함한다.
도 6은 클라이언트 시스템(3), 수신 모듈(30), 디코딩 모듈(32) 및/또는 사후 프로세싱 모듈(34)을 구현하도록 적응되고 다양한 태양들 및 실시예들이 구현되는 시스템 B의 일례의 블록도를 예시한다.
시스템 B는 전술된 다양한 컴포넌트들 및 모듈들을 포함하는 디바이스로서 구현될 수 있고, 본 문서에 기술된 태양들 및 실시예들 중 하나 이상을 수행하도록 구성된다.
그러한 디바이스들의 예들은, 다양한 전자 디바이스들, 예컨대 개인용 컴퓨터, 랩톱 컴퓨터, 스마트폰, 태블릿 컴퓨터, 디지털 멀티미디어 셋톱 박스, 디지털 텔레비전 수신기, 개인용 비디오 녹화 시스템, 및 커넥티드 가전을 포함하지만, 이들로 제한되지 않는다. 시스템 B의 요소들 또는 모듈들은, 단독으로 또는 조합되어, 단일 집적 회로(IC), 다수의 IC들, 및/또는 별개의 컴포넌트들에서 구현될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 시스템 B는 수신 모듈(30), 디코딩 모듈(32) 및 사후 프로세싱 모듈(34), 또는 이들 모듈들의 임의의 조합들을 구현하는 하나의 프로세싱 모듈(100)을 포함한다. 다양한 실시예들에서, 시스템 B는, 예를 들어 통신 버스를 통해 또는 전용 입력 및/또는 출력 포트들을 통해 하나 이상의 다른 시스템들, 또는 다른 전자 디바이스들에 통신가능하게 커플링된다.
프로세싱 모듈(100)에 대한 입력은 도 5와 관련하여 이미 설명된 블록(60)에 나타낸 바와 같은 다양한 입력 모듈들을 통해 제공될 수 있다.
시스템 B의 다양한 요소들이 통합된 하우징 내에 제공될 수 있다. 통합된 하우징 내에서, 다양한 요소들은 적합한 접속 배열들, 예를 들어, IC간(I2C) 버스, 배선, 및 인쇄 회로 보드들을 포함하는, 본 기술분야에 알려진 바와 같은 내부 버스를 사용하여 상호접속되고, 그들 사이에서 데이터를 송신할 수 있다. 예를 들어, 시스템 B에서, 프로세싱 모듈(100)은 버스(1005)에 의해 상기 시스템 B의 다른 요소들에 상호접속된다.
프로세싱 모듈(100)의 통신 인터페이스(1004)는 시스템 B가 통신 네트워크(6) 상에서 통신할 수 있게 한다. 통신 네트워크(2)는, 예를 들어, 유선 및/또는 무선 매체 내에서 구현될 수 있다.
데이터는, 다양한 실시예들에서, Wi-Fi 네트워크, 예를 들어 IEEE 802.11(IEEE는 전기 전자 기술자 협회를 지칭함)과 같은 무선 네트워크를 사용하여, 시스템 B에 스트리밍되거나 또는 다른 방식으로 제공된다. 이들 실시예들의 Wi-Fi 신호는 Wi-Fi 통신들에 대해 적응된 통신 네트워크(2) 및 통신 인터페이스(1004)를 통해 수신된다. 이들 실시예들의 통신 네트워크(2)는 전형적으로, 스트리밍 응용들 및 다른 오버-더-탑 통신을 허용하기 위한 인터넷을 포함하는 외부 네트워크들에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 접속된다. 또 다른 실시예들은 입력 블록(60)의 RF 접속을 사용하여 스트리밍된 데이터를 시스템 B에 제공한다. 전술한 바와 같이, 다양한 실시예들은 비-스트리밍 방식으로 데이터를 제공한다. 또한, 다양한 실시예들은 Wi-Fi 이외의 무선 네트워크들, 예를 들어 셀룰러 네트워크 또는 블루투스 네트워크를 사용한다.
시스템 B는 디스플레이(64)(도 1의 디스플레이 디바이스들(5, 7)에 대응함), 스피커들(65), 및 다른 주변 디바이스들(66)을 포함하는 다양한 출력 디바이스들에 출력 신호를 제공할 수 있다. 다양한 실시예들의 디스플레이(64)는, 예를 들어, 터치스크린 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 커브드(curved) 디스플레이, 및/또는 폴더블(foldable) 디스플레이 중 하나 이상을 포함한다. 디스플레이(64)는 텔레비전, 태블릿, 랩톱, 휴대폰(모바일 폰), 또는 다른 디바이스들을 위한 것일 수 있다. 디스플레이(64)는 또한 (예를 들어, 스마트 폰에서와 같이) 다른 컴포넌트들과 통합될 수 있거나, 또는 별개일 수 있다(예를 들어, 랩톱을 위한 외부 모니터). 디스플레이 디바이스(64)는 SDR 또는 HDR 콘텐츠 호환가능하다. 실시예들의 다양한 예들에서, 다른 주변 디바이스들(66)은 독립형 디지털 비디오 디스크(또는 디지털 다기능 디스크)(두 용어들 모두에 대해, DVR), 디스크 플레이어, 스테레오 시스템 및/또는 조명 시스템 중 하나 이상을 포함한다. 다양한 실시예들은 시스템 B의 출력에 기초하여 기능을 제공하는 하나 이상의 주변 디바이스들(66)을 사용한다. 예를 들어, 디스크 플레이어는 시스템 B의 출력을 재생하는 기능을 수행한다.
다양한 실시예들에서, 제어 신호들은, AV.Link, 소비자 전자제품 제어(Consumer Electronics Control, CEC)와 같은 시그널링, 또는 사용자 개입이 있거나 또는 개입 없이 디바이스 대 디바이스 제어를 가능하게 하는 다른 통신 프로토콜들을 사용하여 시스템 B와 디스플레이(64), 스피커들(65), 또는 다른 주변 디바이스들(66) 사이에서 통신된다. 출력 디바이스들은 각자의 인터페이스들(61, 62, 63)을 통한 전용 접속들을 통해 시스템 B에 통신가능하게 커플링될 수 있다. 대안적으로, 출력 디바이스들은 통신 인터페이스(1004)를 통해 통신 네트워크(2)를 사용하여 시스템 B에 접속될 수 있다. 디스플레이(64) 및 스피커들(65)은, 예를 들어 텔레비전과 같은 전자 디바이스에서 시스템 B의 다른 컴포넌트들과 단일 유닛으로 통합될 수 있다. 다양한 실시예들에서, 디스플레이 인터페이스(61)는, 예를 들어, 타이밍 제어기(T Con) 칩과 같은 디스플레이 드라이버를 포함한다.
디스플레이(64) 및 스피커들(65)은 대안적으로, 예를 들어, 입력부(60)의 RF 모듈이 별개의 셋톱 박스의 일부인 경우, 다른 컴포넌트들 중 하나 이상과 별개일 수 있다. 디스플레이(64) 및 스피커들(65)이 외부 컴포넌트들인 다양한 실시예들에서, 출력 신호는, 예를 들어, HDMI 포트들, USB 포트들, 또는 COMP 출력들을 포함하는 전용 출력 접속들을 통해 제공될 수 있다.
다양한 구현예들은 디코딩 프로세스를 포함하는 사후 프로세싱 프로세스를 적용하는 것을 수반한다. 본 출원에서 사용되는 바와 같이, 디코딩 프로세스는, 예를 들어, SDR 신호를 제작하기 위해, 수신된 인코딩된 비디오 스트림에 대해 수행되는 프로세스들의 전부 또는 일부를 포괄할 수 있다. 다양한 실시예들에서, 그러한 디코딩 프로세스는 이미지 또는 비디오 디코더, 예를 들어, JVET로서 알려진 ITU-T 및 ISO/IEC 전문가들의 공동 협력 팀에 의해 개발 중인 H.264/AVC(ISO/IEC 14496-10 - MPEG-4 Part 10, Advanced Video Coding) 디코더, H.265/HEVC(ISO/IEC 23008-2 - MPEG-H Part 2, High Efficiency Video Coding / ITU-T H.265) 디코더, H.266/VVC(Versatile Video Coding) 디코더, 및 AV1 디코더 또는 VP9 디코더에 의해 전형적으로 수행되는 프로세스들 중 하나 이상을 포함한다. 사후 프로세싱 프로세스는 재구성된 SDR 콘텐츠 및 메타데이터로부터 HDR 콘텐츠를 재구성하는 데 요구되는 모든 프로세스를 포괄한다.
도면이 흐름도로서 제시될 때, 그것은 또한 대응하는 장치의 블록도를 제공한다는 것을 이해해야 한다. 유사하게, 도면이 블록도로서 제시될 때, 그것은 또한 대응하는 방법/프로세스의 흐름도를 제공한다는 것을 이해해야 한다.
본 명세서에 기술된 구현예들 및 태양들은, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호에서 구현될 수 있다. 구현예의 단일 형태의 맥락에서 논의된다 하더라도(예를 들어, 방법으로서만 논의됨), 논의된 특징들의 구현예는 다른 형태들(예를 들어, 장치 또는 프로그램)에서 구현될 수 있다. 장치는, 예를 들어, 적절한 하드웨어, 소프트웨어, 및 펌웨어로 구현될 수 있다. 방법들은, 예를 들어, 프로세서에서 구현될 수 있으며, 이는, 예컨대 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래밍가능 로직 디바이스를 포함하는, 대체적으로 프로세싱 디바이스들을 지칭한다. 프로세서들은 또한, 예를 들어, 컴퓨터들, 휴대폰들, 휴대용/개인 디지털 어시스턴트들("PDA들"), 및 최종 사용자들 사이의 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스들을 포함한다.
"하나의 실시예" 또는 "일 실시예" 또는 "하나의 구현예" 또는 "일 구현예"뿐만 아니라 그의 다른 변형들에 대한 언급은, 실시예와 관련하여 기술된 특정 특징부, 구조, 특성 등이 적어도 하나의 실시예에 포함됨을 의미한다. 따라서, 본 출원 전반에 걸친 다양한 곳에서 나타나는 "하나의 실시예에서" 또는 "일 실시예에서" 또는 "하나의 구현예에서" 또는 "일 구현예에서"라는 문구뿐만 아니라 임의의 다른 변형예들의 출현들은 반드시 모두 동일한 실시예를 참조하는 것은 아니다.
또한, 본 출원은 다양한 정보들을 "결정하는 것"을 지칭할 수 있다. 정보를 결정하는 것은, 예를 들어 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 메모리로부터 정보를 검색하는 것, 또는 예를 들어 다른 디바이스, 모듈, 또는 사용자로부터 정보를 얻는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 정보들에 "액세스하는 것"을 지칭할 수 있다. 정보에 액세스하는 것은, 예를 들어 정보를 수신하는 것, (예를 들어, 메모리로부터) 정보를 검색하는 것, 정보를 저장하는 것, 정보를 이동하는 것, 정보를 복사하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 정보들을 "수신하는 것"을 지칭할 수 있다. 수신하는 것은 "액세스하는 것"과 마찬가지로 광의의 용어인 것으로 의도된다. 정보를 수신하는 것은, 예를 들어, 정보에 액세스하는 것, 또는 (예를 들어, 메모리로부터) 정보를 검색하는 것 중 하나 이상을 포함할 수 있다. 또한, "수신하는 것"은 전형적으로, 예를 들어 정보를 저장하는 동작, 정보를 처리하는 동작, 정보를 전송하는 동작, 정보를 이동하는 동작, 정보를 복사하는 동작, 정보를 소거하는 동작, 정보를 계산하는 동작, 정보를 결정하는 동작, 정보를 예측하는 동작, 또는 정보를 추정하는 동작 동안 어떤 방식으로든 수반된다.
다음의 "/", "및/또는", 및 "중 적어도 하나", "중 하나 이상" 중 임의의 것의 사용은, 예를 들어 "A/B", "A 및/또는 B" 및 "A 및 B 중 적어도 하나", "A 및 B 중 하나 이상"의 경우들에 있어서, 제1 열거된 옵션(A) 단독의 선택, 또는 제2 열거된 옵션(B) 단독의 선택, 또는 옵션들(A, B) 둘 모두의 선택을 포괄하도록 의도된다는 것이 이해될 것이다. 또 다른 예로서, "A, B 및/또는 C" 및 "A, B 및 C 중 적어도 하나", "A, B 및 C 중 하나 이상"의 경우들에서, 그러한 어구는 제1 열거된 옵션(A) 단독의 선택, 또는 제2 열거된 옵션(B) 단독의 선택, 또는 제3 열거된 옵션(C) 단독의 선택, 또는 제1 및 제2 열거된 옵션들(A 및 B) 단독의 선택, 또는 제1 및 제3 열거된 옵션들(A 및 C) 단독의 선택, 또는 제2 및 제3 열거된 옵션들(B 및 C) 단독의 선택, 또는 3개의 모든 옵션들(A, B 및 C)의 선택을 포괄하도록 의도된다. 이는, 본 명세서에 기술된 바와 같은 많은 항목들에 대해, 본 명세서 및 관련 분야의 당업자에게 명백한 바와 같이 확장될 수 있다.
당업자에게 명백한 바와 같이, 구현예들 또는 실시예들은, 예를 들어 저장되거나 송신될 수 있는 정보를 전달하도록 포맷화된 다양한 신호들을 제작할 수 있다. 예를 들어, 정보는 방법을 수행하기 위한 명령어들, 또는 기술된 구현예들 또는 실시예들 중 하나에 의해 제작된 데이터를 포함할 수 있다. 예를 들어, 신호는 기술된 실시예의 SDR 이미지 또는 비디오 시퀀스 및 메타데이터를 전달하도록 포맷화될 수 있다. 그러한 신호는, 예를 들어, 전자기파로서(예를 들어, 스펙트럼의 무선 주파수 부분을 사용함) 또는 기저대역 신호로서 포맷화될 수 있다. 포맷화는, 예를 들어, SDR 이미지 또는 비디오 시퀀스를 메타데이터와 함께 인코딩된 스트림 내에 인코딩하고 인코딩된 스트림으로 캐리어를 변조하는 것을 포함할 수 있다. 신호가 전달하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는, 알려진 바와 같이, 다양한 상이한 유선 또는 무선 링크들을 통해 송신될 수 있다. 신호는 프로세서 판독가능 매체 상에 저장될 수 있다.
도 7은 사전 프로세싱 프로세스의 일례를 개략적으로 예시한다.
사전 프로세싱 프로세스의 예는 NCL(Non Constant Luminance) 모드에서 SL-HDR1 시스템에 적응된다. 이러한 예에서, 사전 프로세싱 모듈(10)은 원래의 HDR 콘텐츠를 수신하고, SDR 콘텐츠 및 메타데이터를 생성한다. 사전 프로세싱 프로세스는 서버(1)에 포함된 프로세싱 모듈(100)에 의해, 원래의 HDR 콘텐츠의 각각의 이미지의 각각의 픽셀에 대해 실행된다. 도 7의 예에서, 픽셀은 원색인 적색(R), 녹색(G) 및 청색(B)에 대응하는 3개의 색성분들을 포함하는데, 즉, 픽셀은 RGB 신호이다.
단계(701)에서, 프로세싱 모듈(100)은 원래의 HDR 콘텐츠의 이미지를 얻고, 상기 이미지 및, 예를 들어, 표준 SL-HDR1에 설명된 바와 같은 그의 특성들로부터 맵핑 파라미터들을 도출한다. 상기 맵핑 파라미터들은 메타데이터로서 클라이언트 시스템(3)으로 송신된다.
단계(702)에서, 프로세싱 모듈(100)은 하기와 같이, 이미지의 선형 광 RGB 신호로부터 루미넌스(루마) 성분 L'를 도출하며:
Figure pct00009
(수학식 1)
여기서
Figure pct00010
은 변환 행렬이고, γ는 예를 들어 "2.4"와 동일한 감마 인자이다.
단계(703)에서, 프로세싱 모듈(100)은 루마 성분 L'에 톤 맵핑을 적용하여, 하기와 같이, 톤 맵핑된 값
Figure pct00011
을 얻는다:
Figure pct00012
(수학식 2)
여기서
Figure pct00013
은 루미넌스 값들의 전체 범위 내에 있으며
Figure pct00014
,
Figure pct00015
은 톤 맵핑 함수를 표현하는 룩업 테이블이다.
단계(704)에서, 프로세싱 모듈(100)은 하기와 같이 선형 광 RGB 신호에 감마화를 적용한다:
Figure pct00016
(수학식 3)
단계(705)에서, 프로세싱 모듈(100)은 하기와 같이 감마화된 RGB 신호로부터 크로미넌스(크로마) 성분들을 도출하며:
Figure pct00017
(수학식 4)
여기서
Figure pct00018
Figure pct00019
은 변환 행렬이다.
Figure pct00020
는, 예를 들어, (예컨대, 색공간에 따라 ITU-R Rec. BT.2020 또는 ITU-R Rec. BT.709에서 특정된 바와 같은) 기준 3x3 RGB-YUV 변환 행렬이다.
단계(706)에서, 프로세싱 모듈(100)은 크로마 성분들
Figure pct00021
Figure pct00022
에 공동 정규화 및 색보정을 적용하여, 하기와 같이 정규화된 보정된 크로마 성분들
Figure pct00023
Figure pct00024
을 얻는다:
Figure pct00025
(수학식 5)
Figure pct00026
Figure pct00027
은 2개의 클립핑 값들 [CLIP_MIN;CLIP_MAX] 사이에서 클립핑된 것이다(예를 들어, [CLIP_MIN=-512; CLIP_MAX=511] 내에 클립핑됨).
Figure pct00028
는 색보정 함수에 대응하고, 하기에서 ColorCorrection(y)이라고 불린다. 색보정 함수 ColorCorrection(y)의 일례는, 예를 들어, 문서 ETSI TS 103 433-1 v1.3.1의 섹션 7.2.3.2로부터 도출될 수 있다. 이러한 문서에서, 상기 색보정 함수는 n개의 투플들 (x[i],y[i])의 세트로 표현되고, 하기에서 초기 투플들이라고 불리며, 일 실시예에서, n = 6이고 i는 [0;n-1] 내의 정수 값이다.
단계(707)에서, 프로세싱 모듈(100)은 톤 맵핑된 루마 값
Figure pct00029
에 크로마 인젝션(chroma injection)을 적용하여, 하기와 같이 보정된 톤 맵핑된 루마 값
Figure pct00030
을 얻는다:
Figure pct00031
(수학식 6)
단계(708)에서, 프로세싱 모듈(40)은 루마 및 크로마 값들
Figure pct00032
Figure pct00033
을 주어진 출력 포맷으로 변환한다. 단계(708)는, 크로마 성분들
Figure pct00034
Figure pct00035
에, 예를 들어, "512"와 동일한 값 midsample을 가산하는 하위 단계, 선택적으로, 크로마 샘플들의 개수를 감소시킴으로써 신호를 압축하는, 크로마 성분들을 다운샘플링하는 하위 단계, 및 선택적으로, SDR 신호의 픽셀을 표현하는 루마 및 크로마 성분들
Figure pct00036
을 얻기 위해 전체 범위 값들(10개의 비트들로 인코딩될 때 YUV 성분들은 범위가 "0" 내지 "1023"임)로부터 제한된 범위 값들(Y 성분은 범위가 "64" 내지 "940"이고, UV 성분들은 범위가 "64" 내지 "960"임)로 변환하는 하위 단계를 포함한다. 단계(708)의 목적은, 예를 들어, 전체 범위 YUV444 신호를 제한된 범위 YUV420 신호로 변환하는 것이다.
때때로, 일부 특정 HDR RGB 값들에 대해, 생성된 SDR 크로마 성분들
Figure pct00037
Figure pct00038
은 CLIP_MAX보다 더 높거나 CLIP_MIN보다 더 낮으며, 이에 따라, 그들의 최대 가능한 값(즉, CLIP_MAX) 또는 그들의 최소 가능한 값(즉, CLIP_MIN)으로 클립핑된다. 이러한 클립핑은 클라이언트 시스템 측에서 HDR 재구성 신호에 재구성 에러들을 생성한다. SDR 크로마 성분들의 클립핑을 제거하기 위해,
Figure pct00039
Figure pct00040
Figure pct00041
계수 행렬을 감소시킴으로써 또는 색보정 함수 ColorCorrection(y)(즉,
Figure pct00042
)를 감소시킴으로써 저하될 수 있다.
도 9와 관련하여 하기에 제안된 방법은 색보정 함수 ColorCorrection(y)를 사용하여, 채도 및 색조 일관성을 유지하면서
Figure pct00043
Figure pct00044
의 클립핑을 제거한다.
도 8은 사후 프로세싱 프로세스의 일례를 개략적으로 예시한다. 도 8의 프로세스는, 프로세싱 모듈(100)이 사후 프로세싱 모듈(34) 및 더 구체적으로, SDR-HDR 재구성 단계(34C)를 구현할 때, 프로세싱 모듈(100)에 의해 실행된다. 재구성 프로세스는 디코딩 모듈(32)에 의해 생성된 디코딩된 SDR 콘텐츠의 각각의 픽셀에 적용된다. 도 8의 재구성 프로세스는, 예를 들어, 도 7의 사전 프로세싱 프로세스들을 따른다. 따라서, 사전 프로세싱 프로세스에 의해 출력되는 신호는 재구성 프로세스의 입력 신호이다. 따라서, 재구성 프로세스는 제한된 범위 YUV420 신호를 수신한다.
단계(801)에서, 프로세싱 모듈(100)은 수신된 YUV420 신호를 전체 범위 YUV444 신호
Figure pct00045
로 변환한다(단계(708)의 역 프로세스).
변환 후, 프로세싱 모듈(100)은 크로마 성분들
Figure pct00046
Figure pct00047
을 중심으로 두어, 중심에 있는 크로마 성분들
Figure pct00048
Figure pct00049
을 얻는다. 중심으로 두는 것은 하기와 같이 수행되며:
Figure pct00050
여기서 midsample은, 예를 들어, "512"와 동일하다.
단계(802)에서, 프로세싱 모듈(100)은 하기와 같이 루마 성분에 크로마 인젝션 보정을 적용하며:
Figure pct00051
여기서, 파라미터들 ab는 문서 ETSI TS 103 433-1 v1.3.1의 섹션 7.2.4에 mu 0 mu 1 로 정의되어 있고, max(x,y)는 x 및 y의 최대치를 취한다.
루마 성분
Figure pct00052
은 이어서 [0; 1023] 내로 클립핑되어
Figure pct00053
를 생성한다.
단계(803)에서, 프로세싱 모듈(100)은 루마 성분
Figure pct00054
에 역 톤 맵핑을 적용함으로써 루마 성분 L' 를 도출한다:
Figure pct00055
단계(804)에서, 프로세싱 모듈(100)은 하기와 같이 중심에 있는 크로마 성분들
Figure pct00056
Figure pct00057
에 역 색보정을 적용한다:
Figure pct00058
Figure pct00059
임에 유의할 수 있다.
단계(805)에서, 프로세싱 모듈(100)은 하기와 같이 중간 RGB 신호를 계산한다:
Figure pct00060
단계(806)에서, 프로세싱 모듈(100)은 중간 RGB 신호
Figure pct00061
L'로 스케일링한다:
Figure pct00062
단계(807)에서, 프로세싱 모듈(100)은 스케일링된 RGB 신호로부터 선형 광 신호를 재생성한다:
Figure pct00063
단계(808)에서, 프로세싱 모듈(100)은 선형 광 신호를 원하는 출력 포맷으로 변환한다.
도 9는 크로마 클립핑 제한기 프로세스의 일례를 개략적으로 예시한다.
이러한 방법의 주요 의도는 두 가지이다:
1. 색조를 보존하면서 SDR 크로마 성분 클립핑을 회피하는 것:
클립핑을 회피하기 위해 U(즉,
Figure pct00064
) 또는 V(즉,
Figure pct00065
) 성분들 중 하나 또는 둘 모두가 U에 대한 감쇠 값 UDivMax에 의해 그리고/또는 V에 대한 감쇠 값 VDivMax에 의해 저하될 필요가 있는 경우, U 및 V 성분들 둘 모두는 동일한 감쇠 값 UVDivMax, 즉, 다음과 같은 최고 감쇠 값에 의해 저하되어야 한다: UVDivMax = MAX(UDivMax, VDivMax). 이것은 원래의 HDR 콘텐츠의 색조가 보존되는 것을 보장한다. 색보정 함수 ColorCorrection(y)
Figure pct00066
Figure pct00067
성분들 둘 모두에 동시에 적용되므로, 감쇠 값 UVDivMax는 (단계(706)에서)
Figure pct00068
Figure pct00069
을 계산할 때 색보정 함수 ColorCorrection(y)에 적용된다.
색보정 함수 ColorCorrection(y)(즉,
Figure pct00070
)를 수정하는 것은 정확한 HDR 재구성을 보장하기 위해, 단계(804)의 적절한 색보정 함수
Figure pct00071
에서 동일한 양의 보정으로 보상될 필요가 있다. 따라서, 색보정 함수 ColorCorrection(y) (즉,
Figure pct00072
) 형태를 설명하는 투플들이 서버(1)에 의해 클라이언트 시스템(3)으로 송신되는 메타데이터에서 사후 프로세싱 모듈(34)로 전송된다.
2. 가능한 한 많이 SDR 채도를 유지하는 것:
최고 감쇠 값(즉, 최고 색보정 양 UVDivMax)이 ColorCorrection(y) 함수의 모든 지점들에 적용되는 경우, 보정이 루미넌스 범위의 작은 부분에 대해서만 필요하더라도, 모든 루미넌스 범위에 대한 크로마 성분들의 채도를 불필요하게 낮출 위험이 있다. 채도를 불필요하게 낮추는 것을 회피하기 위해, 색보정 함수 ColorCorrection(y)의 루미넌스 범위는 유한한 개수의 부분적인 루미넌스 범위들 n으로 세그먼트화된다. "10" 비트 SDR 콘텐츠를 처리할 때, 부분적인 루미넌스 범위들 "n"의 최대 수는 "1023"인데, 즉, y의 각각의 값은 특정 색보정 함수 ColorCorrection(y) 값을 가질 수 있다.
각각의 부분적인 루미넌스 범위 i(i = [0;n-1])에서, 감쇠 값들 UDivMax[i], VDivMax[i]UVDivMax[i]가 계산된다. 최고 감쇠 값(즉, 최고 색보정 양) UVDivMax는 모든 감쇠 값들 UVDivMax[i] 중 최대 값이다.
최고 색보정 양 UVDivMax에 대한 재채도화(resaturation) 인자가, 재채도화 인자 Resaturation[i] = UVDivMax / UVDivMax[i](이때, i = [0;n-1]임)를 계산함으로써, 각각의 부분적인 루미넌스 범위에 적용될 수 있다. 이는, 이러한 부분적인 루미넌스 범위에서의 UV 성분들의 클립핑을 여전히 회피하면서, 각각의 부분적인 루미넌스 범위에 대한 재채도화를 잠재적으로 허용한다.
2개의 연속하는 부분적인 루미넌스 범위들의 각각의 경계가 색보정 함수 ColorCorrection(y)를 표현하는 n개의 초기 투플 (x[i], y[i]) 중 하나에 할당된다(SL-HDR1의 경우 n = 6임). 이러한 경계에서 적용될 수 있는 재채도화 인자 ResaturationFrontier[j](이때, j = [0..n-2]임)는 이러한 경계를 둘러싸는 2개의 연속하는 범위들의 재채도화 인자들 Resaturation [i] 중 최소 값이다.
이어서, 각각의 경계에서 적용될 수 있는 색보정 인자는 ColorCorrectionFrontier[j]=UVDivMax/ResaturationFrontier[j]로서 계산된다.
마지막으로, 경계들에서의 색보정 인자들 ColorCorrectionFrontier[j]은 색보정 함수 ColorCorrection(y)를 수정하기 위해 사용된다.
도 9와 관련하여 아래에서 상세히 설명되는 이러한 상기 프로세스는, 부분적인 루미넌스 범위 각각에 대해:
Figure pct00073
색조를 보존하면서 UV 클립핑이 회피되고;
Figure pct00074
채도가 가능한 한 많이 유지되는 것을 보장한다.
도 9의 방법은 서버(1)의 프로세싱 모듈(100)에 의해, 도 7의 사전 프로세싱 프로세스 동안, 단계(706) 이후에, 현재 이미지에 대해 실행된다.
단계(901)에서, 프로세싱 모듈(100)은 루미넌스 값들의 전체 범위(즉, 예를 들어 [0 .. 1023])를 n+1개의 부분적인 루미넌스 범위들로 세그먼트화한다.
2개의 연속하는 부분적인 루미넌스 범위들 사이의 각각의 경계는 색보정 함수 ColorCorrection()를 표현하는 초기 투플들 (x[i], y[i]) 중 하나의 주어진 x[i] 좌표에 대응한다. SL-HDR1의 예에서, n+1 = 7개의 부분적인 루미넌스 범위들 및 n = 6개의 경계들이 정의되며, 이는 색보정 함수 ColorCorrection(y)를 정의할 수 있게 하는 n = 6개의 초기 투플들 (x[i], y[i])에 대응한다. 일부 경우에, "6"개의 초기 투플들 (x[i], y[i])은 디폴트 값들을 갖는다. 일례로서, x[i] 값들은 루미넌스 값들의 전체 범위의 "1024"개의 값들에 걸쳐 균등하게 분포될 수 있다. 예를 들어, x[0] = 146, x[1] = 292, x[2] = 438, x[3] = 584, x[4] = 730, x[5] = 876이다.
선택적으로, 예를 들어, 사전 프로세스할 현재 이미지의 분석으로부터(예를 들어, 상기 현재 이미지의 루미넌스 히스토그램으로부터), n개의 부분적인 루미넌스 범위들 경계들의 다른 맵핑이 도출될 수 있다. 이러한 맵핑은 이미지마다 동적이거나, 또는 장면에 속하는 모든 이미지들에 대해 정적일 수 있다(장면은 그것의 양 끝에 있는 2개의 장면 컷트들로 정의됨).
y[i] 값들은 디폴트 값 y_default를 갖는데, 즉, y[0] = y[1] = y[2] = y[3] = y[4] = y[5] = y_default이다.
SL-HDR1 경우에, 색보정 함수 ColorCorrection(y)sgf_x[i]sgf_y[i]로 명명되는, 최대 6개의 8 비트 투플들을 사용하여 표현되며, 이에 따라, 범위가 "0" 내지 "255"이다. 따라서, 특정 SL-HDR1 값들이 예를 들어 다음과 같을 수 있으며: sgf_x[0] = 36, sgf_x[1] = 73, sgf_x[2] = 109, sgf_x[3] = 146, sgf_x[4] = 182, sgf_x[5] = 219, 및 sgf_y[i] = 128, 이때, i는 [0..5] 내에 있다. 이어서, x[i] 및 y[i]가 전체 루미넌스 범위 [0;1024]와 같은 더 큰 범위에 대하여 sgf_x[i] 및 sgf_y[i]로부터 각각 도출될 수 있다.
단계(902)에서, 프로세싱 모듈(100)은 각각의 부분적인 루미넌스 범위 내의 크로마 성분들에 대한 감쇠 값을 추정하며, 상기 감쇠 값은 크로마 성분들을 저하시켜 상기 성분의 클립핑을 회피할 수 있게 한다. 다시 말해, 프로세싱 모듈(100)은 성분 U에 대한 감쇠 값들 UDivMax[i], 성분 V에 대한 감쇠 값들 VDivMax[i], 및 i = 0 내지 n에 대한 최고 감쇠 값 UVDivMax[i]를 추정한다.
도 11은 각각의 부분적인 루미넌스 범위 내의 크로마 성분들에 대한 감쇠 값을 결정하기 위한 프로세스를 개략적으로 표현한다.
단계(9020)에서, 프로세싱 모듈(100)은 "0" 내지 nj의 각각의 가능한 값에 대한 감쇠 값들 UDivMax[j] 및 VDivMax[j]를 "1"로, 중간 감쇠 값들 UDivCur 및 VDivCur를 "1"로, 그리고 변수 i를 "0"으로 초기화한다.
단계(9021)에서, 프로세싱 모듈(100)은, i가 값 NbPixels와 동일한지를 결정하며, 여기서, NbPixels는 사전 프로세스할 현재 이미지 내의 픽셀들의 개수를 표현한다. 단계(9021)에서, 프로세싱 모듈(100)은 현재 이미지의 i번째 픽셀의 성분의 값들
Figure pct00075
을 얻는다.
i < NbPixels인 경우, 단계(9021) 이후에 단계(9022)가 이어진다.
단계(9022)에서, 프로세싱 모듈(100)은 현재 픽셀이 속하는 부분적인 루미넌스 범위(식별자 j에 의해 식별됨)를 결정한다. 일 실시예에서, 부분적인 루미넌스 범위 식별자 j는 하기와 같이 결정되며:
Figure pct00076
여기서, INT(x)는 x의 정수 값을 취하고, FullRangeMaxValue는 루미넌스 값들의 전체 범위의 최대 값이다. 현재 예에서, FullRangeMaxValue = 1023이고, n+1 = 7(색보정 함수 ColorCorrection(y)를 정의하는 초기 투플들 (x[i], y[i])의 개수에 종속하는 부분적인 루미넌스 범위들의 개수에 대응함)이다.
단계(9023)에서, 프로세싱 모듈(100)은 성분 U의 값
Figure pct00077
을 최대 클립핑 값 CLIP_MAX에 비교한다. 실시예의 현재 예에서, CLIP_MAX=511이다.
Figure pct00078
인 경우, 단계(9023) 이후에 단계(9024)가 이어진다. 그렇지 않은 경우, 단계(9023) 이후에 단계(9026)가 이어진다.
단계(9024)에서, 프로세싱 모듈(100)은 하기와 같이 성분 U에 대한 중간 감쇠 값 UDivCur을 계산한다:
Figure pct00079
단계(9025)에서, 프로세싱 모듈(100)은 하기와 같이 단계(9022)에서 식별된 부분적인 루미넌스 범위에 대해 성분 U에 대한 감쇠 값 UDivMax[j]를 계산한다:
UDivMax[j] = max(UDivCur, UDivMax[j])
단계(9025) 이후에 단계(9026)가 이어진다.
단계(9026)에서, 프로세싱 모듈(100)은 성분 U의 값
Figure pct00080
을 최소 클립핑 값 CLIP_MIN에 비교한다. 실시예의 현재 예에서, CLIP_MIN=-512이다.
Figure pct00081
인 경우, 단계(9026) 이후에 단계(9027)가 이어진다. 그렇지 않은 경우, 단계(9026) 이후에 단계(9029)가 이어진다.
단계(9027)에서, 프로세싱 모듈(100)은 하기와 같이 성분 U에 대한 중간 감쇠 값 UDivCur을 계산한다:
Figure pct00082
단계(9028)에서, 프로세싱 모듈(100)은 하기와 같이 단계(9022)에서 식별된 부분적인 루미넌스 범위에 대해 성분 U에 대한 감쇠 값 UDivMax[j]을 계산한다:
UDivMax[j] = max(UDivCur, UDivMax[j])
단계(9029)에서, 프로세싱 모듈(100)은 V 성분의 값
Figure pct00083
을 최대 클립핑 값 CLIP_MAX에 비교한다.
Figure pct00084
인 경우, 단계(9029) 이후에 단계(9030)가 이어진다. 그렇지 않은 경우, 단계(9029) 이후에 단계(9032)가 이어진다.
단계(9030)에서, 프로세싱 모듈(100)은 하기와 같이 성분 V에 대한 중간 감쇠 값 VDivCur을 계산한다:
Figure pct00085
단계(9031)에서, 프로세싱 모듈(100)은 하기와 같이 단계(9022)에서 식별된 부분적인 루미넌스 범위에 대해 성분 V에 대한 감쇠 값 VDivMax[j]를 계산한다:
VDivMax[j] = max(VDivCur, VDivMax[j])
단계(9032)에서, 프로세싱 모듈(100)은 성분 V의 값
Figure pct00086
을 최소 클립핑 값 CLIP_MIN에 비교한다. 실시예의 현재 예에서, CLIP_MIN=-512이다.
Figure pct00087
인 경우, 단계(9032) 이후에 단계(9033)가 이어진다. 그렇지 않은 경우, 단계(9032) 이후에 단계(9035)가 이어진다.
단계(9033)에서, 프로세싱 모듈(100)은 하기와 같이 성분 V에 대한 중간 감쇠 값 VDivCur을 계산한다:
Figure pct00088
단계(9034)에서, 프로세싱 모듈(100)은 하기와 같이 단계(9022)에서 식별된 부분적인 루미넌스 범위에 대해 성분 V에 대한 감쇠 값 VDivMax[j]를 계산한다:
VDivMax[j] = max(VDivCur, VDivMax[j])
단계(9035)에서, 변수 i는 1 단위로 증분된다.
i = NbPixels인 경우, 단계(9036)에서, 각각의 부분적인 루미넌스 범위에서 크로마 성분들 U 및 V에 대한 감쇠 값이 결정된다. 각각의 부분적인 루미넌스 범위에서, 크로마 성분들 U 및 V에 대한 감쇠 값은 하기와 같이 결정된다:
UVDivMax[j] = MAX(UDivMax[j],VDivMax[j])
도 11의 프로세스의 제1 변형예에서, i번째 픽셀에 이웃하는 적어도 하나의 픽셀에 대해 계산된 중간 감쇠 값들 UDivCurVDivCur로 가중된 평균을 계산함으로써, i번째 픽셀의 중간 감쇠 값들 UDivCurVDivCur을 계산하는데 필터링이 적용된다.
도 11의 프로세스의 제2 변형예에서, UDivCurVDivCur의 모든 상이한 값들의 히스토그램이 계산된다. 이는 현재 이미지에 존재하는 노이즈로 인해 불규칙하게 나타날 수 있는 일부 높은 UDivCurVDivCur 값들을 검출할 수 있게 한다. 그러한 경우, 상기 노이즈에 대응하는 높은 중간 감쇠 값들 UDivCurVDivCur을 모든 픽셀들 상에서 적용할 필요가 없다. 따라서, 최고 빈들로부터 시작하여, 히스토그램에 존재하는 빈들의 개수를 카운팅하여 중간 감쇠 값들 UDivCurVDivCur의 고정된 사전결정된 최소 카운트를 강제함으로써 일관된 중간 감쇠 값들 UDivCurVDivCur이 추정될 수 있다.
도 9로 돌아가서, 단계(903)에서, 프로세싱 모듈(100)은 각각의 부분적인 루미넌스 범위에 대해 결정된 크로마 성분들 U 및 V에 대한 감쇠 값들 UVDivMax[j]로부터 크로마 성분들에 대한 전역 감쇠 값(즉, 최고 색보정 양) UVDivMax를 결정하며:
UVDivMax = MAX(UVDivMaxPartial[j])이고, 이때, j = [0;n]이다.
단계(904)에서, 프로세싱 모듈(100)은 하기와 같이 각각의 부분적인 루미넌스 범위에 대한 재채도화 인자 Resaturation[j]를 계산하며:
Resaturation[j] = UVDivMax / UVDivMax[j]이고, 이때, j = [0;n]이다.
재채도화 인자는, 이러한 부분적인 루미넌스 범위에서 크로마 성분들 U 및 V의 클립핑을 여전히 회피하면서, 각각의 부분적인 루미넌스 범위에서 채도를 유지할 수 있게 한다(즉, 재채도화를 허용함).
단계(905)에서, 프로세싱 모듈(100)은, 2개의 연속하는 부분적인 루미넌스 범위들 사이의 각각의 경계에 대해, 이들 2개의 연속하는 부분적인 루미넌스 범위들에 대해 계산된 재채도화 인자들 중 최소치를 표현하는 값 ResaturationFrontier[j] (j = [0;n-1])를 계산한다. 일례로서, n = 6인 경우:
ResaturationFrontier [0] = MIN(Resaturation [0], Resaturation [1])이고;
ResaturationFrontier [1] = MIN(Resaturation [1], Resaturation [2])이고;
ResaturationFrontier [2] = MIN(Resaturation [2], Resaturation [3])이고;
ResaturationFrontier [3] = MIN(Resaturation [3], Resaturation [4])이고;
ResaturationFrontier [4] = MIN(Resaturation [4], Resaturation [5])이고;
ResaturationFrontier [5] = MIN(Resaturation [5], Resaturation [6])이다.
단계(906)에서, 프로세싱 모듈(100)은 하기와 같이 2개의 연속하는 부분적인 루미넌스 범위들 사이의 각각의 경계에 대한 최종 보정 인자 ColorCorrectionFrontier[j]를 계산하며:
ColorCorrectionFrontier[j] = ResaturationFrontier[j] / UVDivMax이고, 이때, j는 [0;n-1] 내에 있다.
단계(907)에서, 프로세싱 모듈(100)은 색보정 함수 ColorCorrection(y)를 표현하는 초기 투플들 (x[i], y[i])의 각각의 좌표 y[i]를 대응하는 최종 보정 인자 ColorCorrectionFrontier[]와 곱하며:
y'[j] = y[j] * ColorCorrectionFrontier[j]이고, 이때, j는 [0;n-1] 내에 있다.
단계(907)는 도출된 SDR 신호의 채도를 유지하고 색조를 보존하면서 SDR 크로마 성분들의 클립핑을 방지하는 새로운 투플들을 얻을 수 있게 한다. 따라서, 단계(907)는 새로운 색보정 함수 ColorCorrection'(y)를 얻기 위해, 최종 보정 인자 ColorCorrectionFrontier[i]를 사용하여 초기 투플들 (x[i], y[i])의 좌표 y[i]를 수정하는 것으로 이루어진다. 단계(907)는 적어도 하나의 투플 (x[i], y[i])의 좌표 y[i]를 수정한다.
n개의 새로운 투플들 (y'[i], x[i])(여기서, i는 [0;n-1] 내의 정수 값임)이 단계(706)의 두 번째 실행에서 사용되며, 메타데이터에서 초기 투플들 (y[i], x[i]) 대신에 클라이언트 시스템(3)으로 송신된다. 사후 프로세싱 프로세스는, 함수
Figure pct00089
를 도출하기 위해 초기 투플들 (y[i], x[i]) 대신 새로운 투플들 (y'[i], x[i])이 사용된다는 것을 제외하고는, 도 8과 관련하여 설명된 프로세스와 동일하게 유지된다.
도 12는 BT2020 원색 및 이차색들로 이루어진 HDR 테스트 패턴을 사용하는 도 9의 크로마 클립핑 제한기 프로세스의 실행을 예시한다.
크로마 클립핑 제한기 프로세스의 일 실시예에서, 상기 프로세스는 단계(908)로서 새로운 투플들 (x[i],y'[i])의 시간적 안정화를 포함한다.
단계(908)의 제1 변형예에서, 시간적 안정화는 새로운 색보정 함수 ColorCorrection'(y)를 포현하는 새로운 투플들 (x[i], y'[i])의 좌표들 y'[i]에 적용된다. 예를 들어, [0; n-1] 내의 각각의 i에 대하여, 최종 파라미터 yfinal[i]가 현재 이미지에 대해 계산된 파라미터들 y'[i] 적어도 하나의 선행하는 이미지에 대해 계산된 적어도 하나의 파라미터 y'[i]의 가중된 평균으로서 계산될 수 있다.
단계(908)의 제2 변형예에서, 시간적 안정화는, 이들 파라미터들이 고정된 사전정의된 값은 갖지 않고, 현재 이미지 또는 현재 이미지를 포함하는 장면의 분석으로부터 오는 값은 갖는다고 가정하면서, 초기 투플들 (x[i], y[i])의 좌표 x[j]에 대해 적용될 수 있다(j [0;n-1] 내에 있음).
도 10a는 시간적 안정화 프로세스의 제1 예를 개략적으로 예시한다. 여기에서는 새로운 투플들 (x[i], y'[i])의 좌표들 y'[i]의 시간적 안정화만이 고려된다. 정확히 동일한 원리가 또한 좌표들 x[i]의 시간적 안정화에 적용될 수 있다.
시간적 안정화의 주요 아이디어는 현재 시간 이전의 사전결정된 기간에 걸쳐(즉, 현재 이미지에 선행하는 사전결정된 이미지들의 세트에서) 좌표들 y'[i]의 각각의 값들을 수집하고, 현재 시간에 이들 좌표들 y'[j] 각각의 필터링된 버전 yfinal[i]를 전달하는 것이다.
단계(9081)에서, 프로세싱 모듈(100)은, 현재 이미지와 선행하는 이미지들 사이에서 장면 컷트가 검출되는지를 결정한다.
장면 컷트가 검출되는 경우, 프로세싱 모듈은 단계(9083)를 실행한다.
단계(9083) 동안, 새로운 투플들 (x[i], y'[i])의 좌표들 y'[i]가 초기화된다.
도 13은 단계(9083)의 세부사항을 표현한다.
단계(130)에서, 각각의 좌표 y'[i]에 대해, 크기 nbuf의 구성가능한 버퍼가 초기화된다. 버퍼의 크기 nbuf는 현재 좌표 y'[i]의 필터링된 버전 yfinal[i]를 계산하기 위해 분석되는 연속적인 이미지들의 개수를 표현한다. 버퍼 크기 nbuf는 모든 좌표들 y'[i]에 대해 동일할 수 있거나 또는 상이할 수 있다. 각각의 버퍼의 각각의 값은 후술되는 바와 같이 초기화되며:
y_buf [i][j] = y'[j]이고, 이때, i는 [0;nbuf-1] 내에 있고, j는 [0;n-1] 내에 있다.
알 수 있는 바와 같이, 여기서 변수 i는 시간적 필터링을 위해 고려되는 연속적인 이미지들의 좌표들 y'[j]를 파싱할 수 있게 하고, 변수 j는 동일한 이미지에 대한 좌표들 y'[j]를 파싱할 수 있게 한다.
단계(131)에서, 각각의 파라미터 y'[j]에 대해, 대응하는 버퍼의 모든 값들을 표현하는 누적된 값 cum_ y'[j]가 프로세싱 모듈(100)에 의해 계산된다:
cum_ y'[j] = f(y_buf [i][j])이며, 이때, i는 [0;nbuf-1] 내에 있고, j는 [0;n-1] 내에 있다.
함수 f()는 단순 합, 또는 버퍼 내의 특정 위치에 더 많은 가중치를 주는 가중된 합일 수 있다.
일례로서, 누적된 값이 모든 좌표들에 대한 단순 합인 경우, 각각의 좌표
Figure pct00090
에 대한 누적된 값 cum_y'[j]는 아래와 같다:
Figure pct00091
단계(132)에서, 프로세싱 모듈(100)은 프레임 버퍼 내의 현재 프레임의 위치를 표현하는 인덱스 index를 0으로 초기화한다.
장면 컷트가 검출되지 않는 경우, 프로세싱 모듈은 단계(9082)를 실행한다.
도 14는 단계(9082)의 세부사항을 표현한다.
단계(140)에서, 프로세싱 모듈(100)은 다음에 의해 각각의 파라미터 y'[i]에 대응하는 누적 값 cum_y'[j]를 업데이트한다:
Figure pct00092
cum_y'[j]로부터 버퍼 y_buf[i][j] 내의 가장 오래된 좌표 y'[i]의 값을 감산함. 상기 가장 오래된 좌표는 버퍼 y_buf[i][j] 내의 위치 i = index에 있다. 감산은 가장 오래된 좌표 값과 이후의 것 중 임의의 것 사이의 조합의 가중된 감산 또는 단순 감산일 수 있다;
Figure pct00093
방금 막 cum_y'[j]에 수신된 마지막으로 계산된 좌표 y'[i]의 값을 가산함. 가산은 마지막으로 계산된 좌표와 선행하는 것 중 임의의 것 사이의 조합의 가중된 합 또는 단순 합일 수 있다.
단계(141)에서, 각각의 좌표 y'[i]에 대해, 프로세싱 모듈(100)은 상기 버퍼 내의 위치 i = index에 마지막으로 계산된 좌표 y'[i]를 삽입함으로써 버퍼 y_buf[i][j]를 업데이트한다.
단계(142)에서, 프로세싱 모듈(100)은 각각의 좌표 y'[j]에 대한 필터링된 값 yfinal[j]를 계산한다. 일 실시예에서, 필터링은 대응하는 누적된 값 cum_y'[j]의 대응하는 버퍼의 크기 nbuf에 의한 단순 제산으로 이루어진다. 다른 실시예에서, 필터링은 대응하는 누적된 값 cum_y'[j]의 상기 누적된 값을 계산할 때 고려되었던 프레임들의 수에 의한 제산으로 이루어진다.
일례로서, 누적된 값이 모든 좌표들에 대한 단순 합인 경우 그리고 필터링된 값이 버퍼 크기 nbuf에 의한 단순 제산인 경우, 모든 필터링된 값들은 하기와 같이 계산되며:
cum_y'[j] = cum_y'[j] - y_buf [index][j] + y'[j];
y_buf [index][j] = y[j];
yfinal[j] = cum_y'[j] / nbuf;
이때 j는 [0;n-1] 내에 있다.
단계(143)에서, 프로세싱 모듈(100)은 인덱스 index를 하기와 같이 업데이트하는데:
index = index+1이고, 이어서, index = nbuf인 경우, index = 0이다.
일 실시예에서, 버퍼 크기는 nbuf = 30이다.
도 10b는 시간적 안정화 프로세스의 제2 예를 개략적으로 예시한다.
도 10a와 비교하면, 단계(9081bis)에 의해 대체되는 단계(9081)를 제외하고 모든 단계들이 동일하다.
단계(9081bis)에서, 프로세싱 모듈은 현재 이미지가 현재 콘텐츠의 제1 이미지인지를 결정한다. 예인 경우, 단계(9081bis) 이후에 단계(9083)가 이어진다. 그렇지 않은 경우, 단계(9081bis) 이후에 단계(9082)가 이어진다.
다수의 실시예들이 전술되었다. 이들 실시예들의 특징들은 단독으로 또는 임의의 조합으로 제공될 수 있다. 또한, 실시예들은 다양한 청구 범위들 및 유형들에 걸쳐 단독으로 또는 임의의 조합으로 다음의 특징들, 디바이스들, 또는 태양들 중 하나 이상을 포함할 수 있다:
Figure pct00094
기술된 이미지 데이터 또는 비디오 데이터, 또는 이들의 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호.
Figure pct00095
기술된 이미지 데이터 또는 메타데이터, 또는 이들의 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호를 생성하고/하거나 송신하고/하거나 수신하고/하거나 디코딩하는 것.
Figure pct00096
기술된 실시예들 중 적어도 하나를 수행하는 서버, 카메라, TV, 셋톱 박스, 휴대폰, 태블릿, 개인용 컴퓨터, 또는 다른 전자 디바이스.
Figure pct00097
기술된 실시예들 중 적어도 하나를 수행하고 생성된 이미지를 (예컨대, 모니터, 스크린, 또는 다른 유형의 디스플레이를 사용하여) 디스플레이하는 TV, 셋톱 박스, 휴대폰, 태블릿, 개인용 컴퓨터, 또는 다른 전자 디바이스.
Figure pct00098
인코딩된 이미지들 및 메타데이터를 포함하는 신호를 수신할 채널을 (예컨대, 동조기를 사용하여) 동조시키고, 기술된 실시예들 중 적어도 하나를 수행하는 TV, 셋톱 박스, 휴대폰, 태블릿, 개인용 컴퓨터, 또는 다른 전자 디바이스.
Figure pct00099
인코딩된 이미지들 및 메타데이터를 포함하는 신호를 공중무선통신으로 (예컨대, 안테나를 사용하여) 수신하고, 기술된 실시예들 중 적어도 하나를 수행하는 TV, 셋톱 박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스.
Figure pct00100
인코딩된 이미지들 및 메타데이터를 포함하는 신호를 송신할 채널을 (예컨대, 동조기를 사용하여) 동조시키고, 기술된 실시예들 중 적어도 하나를 수행하는 서버, 카메라, 휴대폰, 태블릿, 개인용 컴퓨터, 또는 다른 전자 디바이스.
Figure pct00101
인코딩된 이미지들 및 메타데이터를 포함하는 신호를 공중무선통신으로 (예컨대, 안테나를 사용하여) 송신하고, 기술된 실시예들 중 적어도 하나를 수행하는 서버, 카메라, 휴대폰, 태블릿, 개인용 컴퓨터, 또는 다른 전자 디바이스.

Claims (14)

  1. 정규화된 보정된 크로마 성분들을 얻기 위해 초기 루마 성분 및 초기 크로마 성분들에 의해 표현되는 현재 이미지의 상기 초기 크로마 성분들을 보정하도록 의도된 색보정 함수를 수정하기 위한 방법으로서, 상기 색보정 함수는 제1 좌표 및 제2 좌표를 포함하는 초기 투플(tuple)들의 세트로 정의되어 있고, 상기 방법은, 상기 현재 이미지에 대해,
    상기 초기 루마 성분의 루미넌스 값들의 범위를 부분적인 루미넌스 범위들에 세그먼트화하는 단계(901) - 2개의 연속하는 부분적인 루미넌스 범위들 사이의 각각의 경계(frontier)는 상기 초기 투플들 중 하나의 제1 좌표에 따름 -;
    적어도 하나의 부분적인 루미넌스 범위 내의 상기 초기 크로마 성분들에 대한 감쇠 값을 추정하는 단계(902) - 각각의 감쇠 값은 상기 초기 크로마 성분들을 저하시켜 상기 성분의 클립핑을 회피할 수 있게 함 -;
    상기 추정된 감쇠 값들을 사용하여 상기 초기 크로마 성분들에 대한 전역 감쇠 값을 결정하는 단계(903);
    상기 전역 감쇠 값 및 상기 부분적인 루미넌스 범위에 연관된 상기 감쇠 값에 기초하여, 각각의 부분적인 루미넌스 범위에서 채도를 유지할 수 있게 하는, 각각의 부분적인 루미넌스 범위에 대한 인자를 계산하는 단계(904);
    2개의 연속하는 루미넌스 범위들 사이의 각각의 경계에 대해, 이들 2개의 연속하는 부분적인 루미넌스 범위들에 대해 계산된 상기 인자들 중 최소치를 표현하는 최소치 인자를 계산하는 단계(905);
    상기 경계에 대응하는 상기 최소치 인자 및 상기 전역 감쇠 값에 기초하여, 2개의 연속하는 부분적인 루미넌스 범위들 사이의 각각의 경계에 대한 최종 보정 인자를 계산하는 단계(906); 및
    새로운 색보정 함수를 정의하는 새로운 투플들을 얻기 위해, 상기 최종 보정 인자들을 사용하여 상기 초기 투플들 중 적어도 하나의 상기 제2 좌표를 수정하는 단계(907)를 포함하는, 방법.
  2. 제1항에 있어서, 상기 방법은, 이미지들의 시퀀스에서 상기 현재 이미지에 선행하는 이미지들에 대해 계산된 새로운 투플들을 사용하는 필터링에 기초하는 상기 새로운 투플들의 시간적 안정화를 포함하는, 방법.
  3. 제2항에 있어서, 상기 시간적 안정화는 2개의 장면 컷트들 사이의 동일한 장면에 속하는 상기 이미지들의 시퀀스의 이미지들의 세트에서 실행되는, 방법.
  4. 초기 루마 성분 및 초기 크로마 성분들을 포함하는 이미지를 톤 맵핑하는 방법으로서,
    제1항, 제2항 또는 제3항의 방법을 사용하여 색보정 함수를 수정하는 단계; 및
    새로운 색보정 함수에 기초하여 상기 초기 크로마 성분에 대해 색보정을 적용하는 단계를 포함하는, 방법.
  5. HDR 및 SDR 포맷의 동일한 콘텐츠의 이미지들을 클라이언트 시스템에 공동으로 분배하기 위한 방법으로서,
    제1항, 제2항, 제3항 또는 제4항의 방법을 적용하는 단계; 및
    메타데이터의 형태로 상기 새로운 투플들을 표현하는 데이터를 상기 클라이언트 시스템으로 송신하는 단계를 포함하는, 방법.
  6. 정규화된 보정된 크로마 성분들을 얻기 위해 초기 루마 성분 및 초기 크로마 성분들에 의해 표현되는 현재 이미지의 상기 초기 크로마 성분들을 보정하도록 의도된 색보정 함수를 수정하기 위한 디바이스로서, 상기 색보정 함수는 제1 좌표 및 제2 좌표를 포함하는 초기 투플들의 세트로 정의되어 있고, 상기 디바이스는,
    상기 초기 루마 성분의 루미넌스 값들의 범위를 부분적인 루미넌스 범위들에 세그먼트화하기 위한 수단(901) - 2개의 연속하는 부분적인 루미넌스 범위들 사이의 각각의 경계는 상기 초기 투플들 중 하나의 제1 좌표에 따름 -;
    적어도 하나의 부분적인 루미넌스 범위 내의 상기 초기 크로마 성분들에 대한 감쇠 값을 추정하기 위한 수단(902) - 각각의 감쇠 값은 상기 초기 크로마 성분들을 저하시켜 상기 성분의 클립핑을 회피할 수 있게 함 -;
    각각의 부분적인 루미넌스 범위에 대해 결정된 상기 추정된 감쇠 값들을 사용하여 상기 초기 크로마 성분들에 대한 전역 감쇠 값을 결정하기 위한 수단(903);
    상기 전역 감쇠 값 및 상기 부분적인 루미넌스 범위에 연관된 상기 감쇠 값에 기초하여, 각각의 부분적인 루미넌스 범위에서 채도를 유지할 수 있게 하는, 각각의 부분적인 루미넌스 범위에 대한 인자를 계산하기 위한 수단(904);
    2개의 연속하는 루미넌스 범위들 사이의 각각의 경계에 대해, 이들 2개의 연속하는 부분적인 루미넌스 범위들에 대해 계산된 상기 인자들 중 최소치를 표현하는 최소치 인자를 계산하기 위한 수단(905);
    상기 경계에 대응하는 상기 최소치 인자 및 상기 전역 감쇠 값에 기초하여, 2개의 연속하는 부분적인 루미넌스 범위들 사이의 각각의 경계에 대한 최종 보정 인자를 계산하기 위한 수단(906); 및
    새로운 색보정 함수를 정의하는 새로운 투플들을 얻기 위해, 상기 최종 보정 인자들을 사용하여 상기 초기 투플들 중 적어도 하나의 상기 제2 좌표를 수정하기 위한 수단(907)를 포함하는, 디바이스.
  7. 제6항에 있어서, 상기 디바이스는, 이미지들의 시퀀스에서 상기 현재 이미지에 선행하는 이미지들에 대해 계산된 새로운 투플들을 사용하는 필터링에 기초하는 상기 새로운 투플들의 시간적 안정화를 적용하기 위한 수단을 포함하는, 디바이스.
  8. 제7항에 있어서, 2개의 장면 컷트들 사이의 동일한 장면에 속하는 상기 이미지들의 시퀀스의 이미지들의 세트에서 상기 시간적 안정화를 적용하기 위한 수단을 포함하는, 디바이스.
  9. 초기 루마 성분 및 초기 크로마 성분들을 포함하는 이미지를 톤 맵핑하기 위한 장치로서,
    제6항, 제7항 또는 제8항에 따른 디바이스; 및
    새로운 색보정 함수에 기초하여 상기 초기 크로마 성분에 대해 색보정을 적용하기 위한 수단을 포함하는, 장치.
  10. HDR 및 SDR 포맷의 동일한 콘텐츠의 이미지들을 클라이언트 시스템에 공동으로 분배하기 위한 장치로서,
    제6항, 제7항 또는 제8항에 따른 디바이스, 또는 제9항에 따른 장치; 및
    메타데이터의 형태로 상기 새로운 투플들을 표현하는 데이터를 상기 클라이언트 시스템으로 송신하기 위한 수단을 포함하는, 장치.
  11. 제6항, 제7항 또는 제8항 중 어느 한 항에 따른 디바이스, 또는 제9항 또는 제10항에 따른 장치를 포함하는 장비.
  12. 제1항 내지 제5항 중 어느 한 항의 방법을 사용하여, 또는 제6항 내지 제8항 중 어느 한 항의 디바이스를 사용함으로써, 제9항 또는 제10항의 장치에 의해, 또는 제11항의 장비에 의해 생성된 신호.
  13. 제1항 내지 제5항 중 어느 한 항에 따른 방법을 구현하기 위한 프로그램 코드 명령어들을 포함하는 컴퓨터 프로그램.
  14. 제1항 내지 제5항 중 어느 한 항에 따른 방법을 구현하기 위한 프로그램 코드 명령어들을 저장하는 비일시적 정보 저장 매체.
KR1020237012963A 2020-10-21 2021-10-14 채도를 유지하고 색조를 보존하면서 톤 맵퍼 내에서의 크로마 클립핑을 회피하기 위한 방법, 디바이스, 및 장치 KR20230107545A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP20306253 2020-10-21
EP20306253.4 2020-10-21
PCT/EP2021/078420 WO2022084137A1 (en) 2020-10-21 2021-10-14 Method, device and apparatus for avoiding chroma clipping in a tone mapper while maintaining saturation and preserving hue

Publications (1)

Publication Number Publication Date
KR20230107545A true KR20230107545A (ko) 2023-07-17

Family

ID=73198246

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237012963A KR20230107545A (ko) 2020-10-21 2021-10-14 채도를 유지하고 색조를 보존하면서 톤 맵퍼 내에서의 크로마 클립핑을 회피하기 위한 방법, 디바이스, 및 장치

Country Status (5)

Country Link
US (1) US20230394636A1 (ko)
EP (1) EP4233312A1 (ko)
KR (1) KR20230107545A (ko)
CN (1) CN116508054A (ko)
WO (1) WO2022084137A1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10019785B2 (en) * 2016-03-07 2018-07-10 Novatek Microelectronics Corp. Method of processing high dynamic range images using dynamic metadata
CN111386704B (zh) * 2017-11-24 2022-07-12 交互数字Vc控股公司 用于在hdr到sdr转换期间的颜色校正的方法和装置

Also Published As

Publication number Publication date
US20230394636A1 (en) 2023-12-07
EP4233312A1 (en) 2023-08-30
WO2022084137A1 (en) 2022-04-28
CN116508054A (zh) 2023-07-28

Similar Documents

Publication Publication Date Title
JP7179443B2 (ja) 拡張された高ダイナミックレンジ(“hdr”)-hdrトーンマッピングのための方法、装置、及びシステム
EP3251366B1 (en) Methods and apparatus for electro-optical and opto-electrical conversion of images and video
RU2710291C2 (ru) Способы и устройства для кодирования и декодирования цветного изображения hdr
EP3051486A1 (en) Method and apparatus for encoding and decoding high dynamic range (HDR) videos
JP6719391B2 (ja) ビットストリーム内で、ldrピクチャのピクチャ/ビデオ・フォーマットと、このldrピクチャおよびイルミネーション・ピクチャから取得された復号済みのhdrピクチャのピクチャ/ビデオ・フォーマットとをシグナリングする方法および装置
CA2989134A1 (en) Method and device for reconstructing image data from decoded image data
US11928796B2 (en) Method and device for chroma correction of a high-dynamic-range image
EP3051823A1 (en) Methods, systems and aparatus for electro-optical and opto-electrical conversion of images and video
WO2019203973A1 (en) Method and device for encoding an image or video with optimized compression efficiency preserving image or video fidelity
KR102401881B1 (ko) 이미지 데이터를 프로세싱하기 위한 방법 및 장치
EP3657770A1 (en) Method for generating a bitstream relative to image/video signal, bitstream carrying specific information data and method for obtaining such specific information
EP3026908A1 (en) Method and device for quantizing and de-quantizing a picture using scaling factors for chrominance based on luminance
KR20200097269A (ko) 이미지 처리하기
WO2019108899A1 (en) Saturation control for high-dynamic range reconstruction
US20230394636A1 (en) Method, device and apparatus for avoiding chroma clipping in a tone mapper while maintaining saturation and preserving hue
US20240187616A1 (en) Chroma boost on sdr and hdr display adapted signals for sl-hdrx systems
WO2024023008A1 (en) Method for preventing clipping in sl-hdrx systems
KR20230019250A (ko) Sl-hdrx 시스템용 신호에 조정되는 sdr 및 hdr 디스플레이상에서의 크로마 부스트
WO2023194089A1 (en) Method for correcting sdr pictures in a sl-hdr1 system
EP3528201A1 (en) Method and device for controlling saturation in a hdr image
EP3350774A1 (en) Determination of a co-located luminance sample of a color component sample, for hdr coding/decoding