KR20170118207A - 신호 재정형 근사화 - Google Patents

신호 재정형 근사화 Download PDF

Info

Publication number
KR20170118207A
KR20170118207A KR1020177026400A KR20177026400A KR20170118207A KR 20170118207 A KR20170118207 A KR 20170118207A KR 1020177026400 A KR1020177026400 A KR 1020177026400A KR 20177026400 A KR20177026400 A KR 20177026400A KR 20170118207 A KR20170118207 A KR 20170118207A
Authority
KR
South Korea
Prior art keywords
adaptive
function
redefinition
redefined
lut
Prior art date
Application number
KR1020177026400A
Other languages
English (en)
Other versions
KR101844732B1 (ko
Inventor
관-밍 쑤
추웨이 왕
수안-팅 처우
코타일 나바니쓰 캄발러
Original Assignee
돌비 레버러토리즈 라이쎈싱 코오포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 돌비 레버러토리즈 라이쎈싱 코오포레이션 filed Critical 돌비 레버러토리즈 라이쎈싱 코오포레이션
Publication of KR20170118207A publication Critical patent/KR20170118207A/ko
Application granted granted Critical
Publication of KR101844732B1 publication Critical patent/KR101844732B1/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/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/1887Methods 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 variable length codeword
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/179Methods 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 scene or a shot
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47205End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally
    • 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

수신된 소스 영상들에 기초하여 통계 값들이 계산된다. 하나 이상의 통계 값들에 기초하여 하나 이상의 소스 영상들에 대해 적응적 재정형 함수가 선택된다. 재정형된 비디오 콘텐츠의 한 부분을 생성하기 위해, 선택된 적응적 재정형 함수에 기초하여, 소스 비디오 콘텐츠의 한 부분이 적응적으로 재정형된다. 소스 비디오 콘텐츠의 그 부분은 하나 이상의 소스 영상들에 의해 표현된다. 선택된 적응적 재정형 함수의 역함수의 근사 함수가 생성된다. 재정형된 비디오 콘텐츠 및 선택된 적응적 재정형 함수의 역함수의 근사 함수를 정의하는 적응적 재정형 파라미터 세트가 재정형된 비디오 신호로 인코딩된다. 재정형된 비디오 신호는, 예를 들어, 디스플레이 디바이스를 사용해 렌더링하기 위한, 재구성된 소스 영상들의 한 버전을 생성하기 위해 다운스트림 수신자 디바이스에 의해 처리될 수 있다.

Description

신호 재정형 근사화
관련 출원들의 상호 참조
본 발명은 2015년 3월 20일에 출원된 미국 가특허출원 제62/136,402호, 및 2015년 7월 31일에 출원된 미국 가특허출원 제62/199,391호를 우선권 주장하며, 이 미국 출원들은 이로써 참조에 의해 그 전체가 원용된다.
본 발명은 일반적으로 영상 처리에 관한 것으로, 상세하게는 비디오 데이터를 인코딩, 디코딩, 및 표현하는 것에 관한 것이다.
업스트림 디바이스(upstream device)들에 의해 다운스트림 디바이스(downstream device)들에 제공되는 바와 같은 비디오 데이터는 각종의 다이내믹 레인지(dynamic range)들, 색 공간(color space)들, 기타를 지원할 수 있다. 다이나믹 레인지들은 하이 엔드(high end)에서의 10,000 니트(nit), 12,000 니트, 또는 심지어 그 이상의 밝기 레벨(brightness level)들로부터 로우 엔드(low end)에서의 100 니트, 300 니트, 600 니트, 기타의 밝기 레벨들까지 다양할 수 있다. 색 공간들은 선형 색 공간들, 비선형 색 공간들, 지각적으로 양자화된 색 공간(perceptually quantized color space)들, 기타를 포함할 수 있다.
그에 부가하여, 업스트림 디바이스들에 의해 비디오 데이터를 인코딩하는 데 사용되는 동작 파라미터들에 관련된 메타데이터가 업스트림 디바이스들에 의해 생성된 비디오 신호들을 디코딩하는 데 사용되는 동작 파라미터들을 생성하기 위해 다운스트림 디바이스들에 의해 필요하게 될 수 있다. 비교적 높은 품질의 디코딩 동작들을 위해 다운스트림 디바이스들에 필요하게 될 메타데이터의 양이 다운스트림 디바이스들 중 다수로 전송되기에는 그리고/또는 그들에 의해 처리되기에는 너무 많을 수 있다.
이 섹션에 기술되는 접근법들이 추구될 수 있는 접근법들이지만, 꼭 이전에 생각되었거나 추구되었던 접근법들은 아니다. 따라서, 달리 언급되지 않는 한, 이 섹션에 기술되는 접근법들 중 임의의 것이 단지 이 섹션에 포함되어 있다는 것만으로 종래 기술로서 적격성이 있는 것으로 가정되어서는 안된다. 이와 유사하게, 달리 언급되지 않는 한, 하나 이상의 접근법들과 관련하여 언급된 문제점들이 이 섹션에 기초하여 임의의 종래 기술에서 인식된 것으로 가정해서도 안된다.
유사한 참조 번호들이 유사한 요소들을 지칭하는 첨부 도면들의 도면들에, 본 발명이 제한으로서가 아니라 예로서 나타내어져 있다.
도 1a는 비디오 인코더를 나타낸 도면;
도 1b는 비디오 디코더를 나타낸 도면;
도 2는 재정형 함수(reshaping function)를 근사화하는 예시적인 방법을 나타낸 도면;
도 3a 및 도 3b는 목표 LUT(target LUT)를 근사화하는 예시적인 프로세스 흐름들을 나타낸 도면;
도 4a 내지 도 4c는 영상들을 분류하는 예시적인 알고리즘들을 나타낸 도면;
도 5a 및 도 5b는 적응적 재정형(adaptive reshaping) 및 역 매핑(inverse mapping)을 위한 예시적인 프로세스 흐름들을 나타낸 도면;
도 6은 본원에 기술되는 바와 같은 컴퓨터 또는 컴퓨팅 디바이스가 구현될 수 있는 예시적인 하드웨어 플랫폼을 나타낸 도면.
비디오 데이터를 인코딩, 디코딩, 및 표현하는 것에 관련된 예시적인 실시예들이 본원에서 기술된다. 이하의 설명에서, 설명의 목적상, 본 발명의 완전한 이해를 제공하기 위해 다수의 구체적인 상세들이 기재되어 있다. 그렇지만, 본 발명이 이 구체적인 상세들 없이 실시될 수 있다는 것이 명백할 것이다. 다른 경우들에서, 본 발명을 불필요하게 보이지 않게 하거나, 모호하게 하거나, 알기 어렵게 하는 것을 방지하기 위해, 널리 공지된 구조들 및 디바이스들이 철저히 상세하게 기술되지 않는다.
예시적인 실시예들이 이하의 개요에 따라 본원에 기술되어 있다:
1. 일반 개요
2. 적응적으로 재정형된 비디오 콘텐츠의 인코딩
3. 적응적으로 재정형된 비디오 콘텐츠의 디코딩
4. 적응적 재정형을 위한 멱함수(power function)
5. 적응적 재정형에 관련된 함수의 근사화
6. 예시적인 프로세스 흐름
7. 실시간 최적화
8. 구현 메커니즘 - 하드웨어 개요
9. 등가물, 확장, 대안 및 기타
1. 일반 개요
이 개요는 본 발명의 예시적인 실시예의 일부 양태들에 대한 기본적인 설명을 제시한다. 유의할 점은, 이 개요가 예시적인 실시예의 양태들의 광범위한 또는 포괄적인 요약이 아니라는 것이다. 더욱이, 유의할 점은, 이 개요가 예시적인 실시예의 임의의 특히 중요한 양태들 또는 요소들을 확인해주는 것으로 이해되도록 의도되어 있지도 않고, 특정의 예시적인 실시예는 물론 전반적 발명의 임의의 범주를 한정하는 것으로 이해되도록 의도되어 있지도 않다는 것이다. 이 개요는 예시적인 실시예에 관련된 일부 개념들을 압축되고 간략화된 형식으로 제시하는 것에 불과하고, 이하에 나오는 예시적인 실시예들의 보다 상세한 설명에 대한 단지 개념적 서문으로서 이해되어야 한다.
본원에 기술되는 바와 같은 적응적 재정형을 사용하지 않고, 비디오 코덱은 원래 이용가능 코드워드들을 사용해 비교적 높은 깊이로 인코딩된 소스 비디오 콘텐츠(예컨대, 참조 코딩된(reference coded) 비디오 콘텐츠, PQ 참조 코딩된(PQ reference coded) 비디오 콘텐츠 등)의 시각적 디테일(visual detail)들을 보존하지 않을 수 있는 방식으로 이용가능 코드워드들을 비교적 낮은 비트 깊이로(예컨대, 듀얼 채널 8-비트 비디오 신호들, 단일 채널 10-비트 비디오 신호들, 기타) 할당한다. 예를 들어, 본원에 기술되는 바와 같은 적응적 재정형을 사용하지 않는 코덱(예컨대, 감마 영역 코덱(gamma-domain codec), 기타)은 고휘도 서브영역(high luminance sub-range)들(예컨대, 밝은 부분들, 하이라이트들, 기타)에는 코드워드들을 과다 할당(over-allocate)하고, 저휘도 서브영역(low luminance sub-range)(예컨대, 어두운 부분들, 어두운 구역들, 기타)에는 코드워드들을 과소 할당(under-allocate)할 수 있다. 그 결과, 이 다른 기법들에 따르면 지각적으로 인코딩된 소스 비디오 콘텐츠의 시각적 디테일들이 불필요하게 손실될 수 있다.
본원에 기술되는 바와 같은 적응적 재정형 기법들을 구현하는 비디오 코덱은 아주 다양한 소스 비디오 콘텐츠에서의 시각적 디테일들을 보존하는 방식으로 이용가능 코드워드들을 특정의 비트 깊이(예컨대, 8 비트, 기타)로 할당한다. 일부 실시예들에서, 비디오 코덱은 소스 비디오 콘텐츠에서의 영상 프레임들에(예컨대, 장면, 기타에) 담겨 있는 영상 콘텐츠를 분석한 결과들에 기초하여 특정 파라미터 값들(예컨대, 멱함수들의 지수 값들, 선형 양자화에서의 기울기(slope)들, 구분적 선형 양자화(piecewise linear quantization)에서의 피벗(pivot)들, 기타)을 선택/결정한다. 영상 콘텐츠가 보다 많은 하이라이트 부분들 또는 보다 많은 휘도 레벨들을 포함하면, 고휘도 서브영역에서의 보다 많은 표현된 휘도 레벨들이 인코딩 또는 디코딩 동작들에 이용가능하게 되도록 파라미터 값들이 선택/결정될 수 있다. 영상 콘텐츠가 보다 적은 하이라이트 부분들 또는 보다 적은 휘도 레벨들을 포함하면, 고휘도 서브영역에서의 보다 적은 표현된 휘도 레벨들이 인코딩 또는 디코딩 동작들에 이용가능하게 되도록 파라미터 값들이 선택/결정될 수 있다. 이와 유사하게, 영상 콘텐츠가 보다 많은 어두운 부분들 또는 보다 많은 휘도 레벨들을 포함하면, 저휘도 서브영역에서의 보다 많은 표현된 휘도 레벨들이 인코딩 또는 디코딩 동작들에 이용가능하게 되도록 파라미터가 선택/결정될 수 있다. 영상 콘텐츠가 보다 적은 어두운 부분들 또는 보다 적은 휘도 레벨들을 포함하면, 저휘도 서브영역에서의 보다 적은 표현된 휘도 레벨들이 인코딩 또는 디코딩 동작들에 이용가능하게 되도록 파라미터 값들이 선택/결정될 수 있다.
본원에 기술되는 바와 같은 기법들은 단일 레이어(single layer), 또는 하나 초과의 레이어(예컨대, 듀얼 레이어(dual layer), 멀티 레이어(multi-layer), 기본 레이어(base layer)와 하나 이상의 확장 레이어(enhancement layer)들의 조합, 기타)를 포함하는 비디오 신호들(예컨대, 코딩된 비트스트림들, 기타)에 대한 코딩 동작들(예컨대, 인코딩, 디코딩, 트랜스코딩, 기타)을 지원하기 위해 사용될 수 있다. 이 기법들은 소프트웨어, 하드웨어, 소프트웨어와 하드웨어의 조합으로 구현될 수 있고, 각종의 컴퓨팅 디바이스들, 멀티미디어 디바이스들, 모바일 디바이스들, 기타에 의해 채택될 수 있다. 기법들 중 적어도 일부는, 독립적으로 또는 다른 벤더들, 개발자들, 제조업체들, 기타와 연합하여 발표될 수 있는, 하나 이상의 기술적 특징 프로파일들(예컨대, 모바일 프로파일, 태블릿 프로파일, 홈 엔터테인먼트 시스템 프로파일, 기타)로서 패키징될 수 있다.
비디오 신호를 적응적으로 재정형하기 위한 본원에 기술되는 바와 같은 기법들을 구현하는 비디오 코덱은 역호환성이 있는(backward compatible)(BC) 비디오 애플리케이션들, 역호환성이 없는(non-backward compatible)(NBC) 비디오 애플리케이션들, 기타 중 하나 이상을 지원하는 데 사용될 수 있다. 이러한 비디오 코덱을 갖는 시스템들의 예들은 단일 레이어 12-비트 코덱, 듀얼 레이어 8-비트 코덱, 멀티 레이어 코덱, 역호환성이 없는 재정형 코덱, 역호환성이 있는 코덱, AVC(Advanced Video Coding)에서의 한 세트의 설정들/요구사항들/옵션들을 구현하는 코덱, HEVC(High Efficiency Video Coding)에서의 한 세트의 설정들/요구사항들/옵션들을 구현하는 코덱, 기타 중 임의의 것을 포함할 수 있지만, 이들로만 한정되지는 않는다.
역호환성이 없는 재정형 코덱의 일부 예들은 본 출원의 양수인이 소유한, 2014년 3월 25일에 출원된 PCT 특허 출원 제PCT/US2014/031716호에 기술되어 있으며, 이 PCT 특허 출원의 내용은 참조에 의해 모든 목적들을 위해 마치 본원에 완전히 기재된 것처럼 원용된다. 역호환성이 있는 재정형 코덱의 일부 예들은 본 출원의 양수인이 소유한, 2012년 11월 1일에 출원된 PCT 특허 출원 제PCT/US2012/062932호에 기술되어 있으며, 이 PCT 특허 출원의 내용은 참조에 의해 모든 목적들을 위해 마치 본원에 완전히 기재된 것처럼 원용된다.
일부 실시예들에서, 본원에 기술되는 바와 같은 코덱 시스템은 총 최대 오차(overall maximum error)를 최소화하는 제한된 수의 다항식들을 사용하여 임의의 재정형 함수를 근사화하는 곡선 근사화 방법(curve approximation method)을 구현한다. 그에 부가하여, 임의로, 또는 대안적으로, 코덱 시스템은 그렇지 않은 경우보다 더 나은 지각 품질(perceptual quality)을 달성하기 위해 재정형 함수와 관련하여 사용되는 적응적 재정형 파라미터들을 결정 또는 선택하기 위해 적응적 파라미터 선택 알고리즘을 구현할 수 있다.
미디어 프로그램에 대한 소스 비디오 패키지는 비교적 큰 파일 크기를 가질 수 있는데, 그 이유는 소스 비디오 패키지가 비교적 높은 공간 해상도(예컨대, 4k, 8k, 기타), 비교적 큰 다이내믹 레인지, 비교적 넓은 색역(color gamut)을 갖는 소스 비디오 콘텐츠를 포함할 수 있기 때문이다. 일부 실시예들에서, 비교적 높은 비트 깊이의 비디오 신호(예컨대, 12-비트 비디오 신호, 14+ 비트 비디오 신호, 기타)로 인코딩된 소스 비디오 콘텐츠는 적응적 신호 재정형에 적어도 부분적으로 기초하여 훨씬 더 작은 크기의 인코딩된 비디오 콘텐츠로 트랜스코딩(transcode)될 수 있다.
예를 들어, 소스 콘텐츠는 영상마다, 장면마다, 미디어 프로그램마다, 기타마다 (예컨대, 고정된, 적응적 재정형되지 않은, 기타의) 휘도-관련 또는 크로마-관련 값들에 대응하는 소스 코드워드들을 사용해 12-비트 PQ 비디오 신호로 인코딩될 수 있다.
용어 "PQ"는, 본원에서 사용되는 바와 같이, 지각적 휘도 진폭 양자화(perceptual luminance amplitude quantization)를 지칭한다. 인간 시각 시스템은 증가하는 광 레벨들에 아주 비선형적인 방식으로 반응한다. 자극을 볼 수 있는 인간의 능력은 그 자극의 휘도, 자극의 크기, 자극을 구성하는 공간 주파수들, 및 자극을 보고 있는 특정 순간에 눈이 적응한 휘도 레벨에 의해 영향을 받는다. 일 실시예에서, 지각적 양자화기 함수(perceptual quantizer function)는 선형적 입력 그레이 레벨들을 인간 시각 시스템에서의 콘트라스트 감도 문턱값들과 더 잘 부합하는 출력 그레이 레벨들에 매핑한다. PQ 매핑 함수들(또는 EOTF들)의 예들은, 참조에 의해 그 전체가 본원에 원용되는, SMPTE ST 2084:2014 "High Dynamic Range EOTF of Mastering Reference Displays"에 기술되어 있으며, 여기서 고정된 자극 크기가 주어지면, 모든 휘도 레벨(즉, 자극 레벨)에 대해, (HVS 모델들에 따른) 가장 민감한 적응 레벨(adaptation level) 및 가장 민감한 공간 주파수에 따라 그 휘도 레벨에서의 최소 가시 콘트라스트 스텝(minimum visible contrast step)이 선택된다. 실제 음극선관(CRT) 디바이스의 반응 곡선을 나타내고 동시에 인간 시각 시스템이 반응하는 방식과 매우 대략적인 유사점을 가질 수 있는 전통적인 감마 곡선과 비교하여, PQ 곡선은 비교적 간단한 함수 모델(functional model)을 사용하여 인간 시각 시스템의 실제 시각 반응(visual response)을 모방한다.
12-비트 PQ 비디오 신호로 인코딩된 소스 콘텐츠는 최대 12,000 니트 등의 다이내믹 레인지와 같은 비교적 높은 다이내믹 레인지를 가질 수 있다. 이와 달리, 인코딩 비디오 콘텐츠는 영상마다, 장면마다, 미디어 프로그램마다, 기타마다 고정된 휘도-관련 또는 크로마-관련 값들에 꼭 대응하는 것은 아닌 적응적으로 재정형된 코드워드들을 사용해 10-비트 비디오 신호로 인코딩될 수 있다. 10-비트 코드워드 공간에서의 적응적으로 재정형된 코드워드들이 영상마다, 장면마다, 미디어 프로그램마다, 기타마다 달라질 수 있는 적응적 재정형 함수에 기초하여 12-비트 코드워드 공간에서의 소스 코드워드들에 (예컨대, 적응적으로, 기타로) 매핑될 수 있다. 그 결과, 인코딩된 비디오 콘텐츠는, 10-비트 신호로 인코딩되지만, 비교적 높은 다이내믹 레인지, 심지어 12-비트 신호로 인코딩된 소스 비디오 콘텐츠에 의해 지원되는 다이내믹 레인지 전체까지 지원할 수 있다. 적응적 재정형 함수는 양자화 곡선들, 룩업 테이블(lookup table)(LUT)들, 코드워드 매핑들, 기타 중 하나 이상에 의해 표현될 수 있다.
일부 실시예들에서, 소스 비디오 신호의 적응적 재정형을 수행하기 위해 업스트림 디바이스에 의해 사용되는 적응적 재정형 함수를 표현하는, 양자화 곡선들, 룩업 테이블(LUT)들, 코드워드 매핑들, 기타 중 일부 또는 전부가 10-비트 신호로 인코딩되는 인코딩된 비디오 콘텐츠와 함께 합성 메타데이터(composition metadata)로서 업스트림 디바이스(예컨대, 비디오 인코더, 비디오 트랜스코더, 기타)로부터 다운스트림 수신자 디바이스들(예컨대, 비디오 디코더, 비디오 트랜스코더, 기타)로 직접적으로 또는 간접적으로 전송될 수 있다. 양자화 곡선들, 룩업 테이블(LUT)들, 코드워드 매핑들, 기타에 의해 표현되는 바와 같은, 적응적 재정형 함수는 인코딩된 비디오 콘텐츠로부터 소스 비디오 콘텐츠의 한 버전을 재구성하기 위해 다운스트림 수신자 디바이스들에 의해 사용될 수 있다. 예를 들어, 인코딩된 비디오 콘텐츠에서의 적응적으로 재정형된 코드워드들은, 적응적 재정형 함수 또는 그의 역함수(inverse)에 기초하여, 소스 비디오 콘텐츠에 있었던 소스 코드워드들과 동등한 (예컨대, 12-비트 코드워드 공간 등에서의) 한 세트의 코드워드들에 역 매핑(inversely map)될 수 있다.
적응적 재정형 함수의 표현을 포함하는 합성 메타데이터가 일부 다운스트림 디바이스들에 의해 전송 및/또는 처리되기에는 너무 클 수 있다. (예컨대, 합성 메타데이터 등과 같은 비디오 처리에 관련된) 비교적 많은 양의 메타데이터를 처리하는 데 어려움이 있는 다운스트림 디바이스들은 모바일 디바이스들, 소형 디바이스(small footprint device)들, 비교적 제한된 비디오 처리 능력을 갖는 컴퓨팅 디바이스들, 비교적 제한된 비디오 처리 능력을 갖는 시스템 온 칩(SoC) 모듈들을 포함하는 컴퓨팅 디바이스들, 비교적 소량의 메타데이터의 전송/수신을 지원하는 비디오 신호 포맷들, 구현들, 설계들, 하드웨어, 소프트웨어, 펌웨어 등을 포함하는 컴퓨팅 디바이스들, 기타 중 임의의 것을 포함할 수 있지만, 이들로만 한정되지는 않는다.
본원에 기술되는 바와 같은 기법들에 따라, 적응적 재정형 함수가 다항식들, 구분적 선형(piecewise linear)(PWL) 세그먼트들, 기타와 같은 제한된 수의 간단한 수학적 함수들에 의해 근사화될 수 있다. 비제한적인 예시적인 실시예에서, 적응적 재정형 함수는 각각의 계수에 대해 제한된 수의 비트들을 갖고 최소화된 근사화 오차들을 갖는 제한된 수(예컨대, 4, 8, 12, 1 초과의 다른 양의 정수, 기타)의 다항식 함수들(예컨대, 선형, 2차, 기타)에 의해 근사화된다. 제한된 수의 다항식 함수들에 의한 적응적 재정형 함수의 근사화에서의 최소화된 근사화 오차들은 제한된 수의 다항식 함수들에 의한 적응적 재정형 함수의 근사화에 기초하여 수행되는 역 매핑에서의 오차들을 최소화하는 데 도움이 된다.
많은 상이한 형태들로 된 다양한 비디오 신호들 및/또는 비디오 콘텐츠에 대해 적응적 재정형이 수행될 수 있다. 상세하게는, 본원에 기술되는 바와 같은 기법들은 임의의 LUT(이에 한정되지 않음)를 비롯한 임의의 적응적 재정형 함수를 근사화하는 데 적용가능하다.
일부 예시적인 실시예들에서, 본원에 기술되는 바와 같은 메커니즘들은, 핸드헬드 디바이스, 게임 머신, 텔레비전, 랩톱 컴퓨터, 넷북 컴퓨터, 태블릿 컴퓨터, 셀룰러 무선 전화기, 전자 책 리더, 판매 시점 단말(point of sale terminal), 데스크톱 컴퓨터, 컴퓨터 워크스테이션, 컴퓨터 키오스크, 또는 다양한 다른 종류의 단말들 및 미디어 처리 유닛들 중 임의의 것(이들로 한정되지 않음)을 비롯한, 미디어 처리 시스템의 일부를 형성한다.
본원에 기술되는 바람직한 실시예들 및 일반 원리들 및 특징들에 대한 다양한 수정들이 본 기술분야의 통상의 기술자에게 즉각 명백하게 될 것이다. 이와 같이, 본 개시내용이 설명된 실시예들로 한정되는 것으로 의도되어 있지 않으며, 본원에 기술되는 원리들 및 특징들에 따른 가장 넓은 범주를 부여받아야 한다.
2. 적응적으로 재정형된 비디오 콘텐츠의 인코딩
도 1a는 적응적으로 재정형된 비디오 콘텐츠를 사용해 인코딩된 출력 비디오 신호(또는 재정형된 비디오 신호)를 다운스트림 디바이스들(이들 중 하나는, 예를 들어, 도 1b의 비디오 디코더(152) 등일 수 있음)에 전달하기 위해 업스트림 디바이스로서 사용될 수 있는 비디오 인코더(102)를 나타내고 있다. 비디오 인코더(102)는 하나 이상의 컴퓨팅 디바이스들로 구현될 수 있다. 일부 실시예들에서, 비디오 인코더(102)는 소스 콘텐츠 디코더(104), 적응적 콘텐츠 재정형기(106), 재정형된 콘텐츠 인코더(108) 등을 포함한다.
일부 실시예들에서, 소스 콘텐츠 디코더(104)는 하나 이상의 소스 비디오 신호들(예컨대, 코딩된 비트스트림들 등)을 수신하고 소스 비디오 신호들을 소스 비디오 콘텐츠로 디코딩하도록 구성된 소프트웨어, 하드웨어, 소프트웨어와 하드웨어의 조합 등을 포함한다. 일부 실시예들에서, 소스 비디오 콘텐츠는 단일 레이어에서의 소스 비디오 콘텐츠를 사용해 인코딩된 단일 레이어 비디오 신호로부터 디코딩된다. 일부 실시예들에서, 소스 비디오 콘텐츠는 하나 초과의 레이어(예컨대, 기본 레이어 및 하나 이상의 확장 레이어들 등)에서의 소스 비디오 콘텐츠를 사용해 인코딩된 멀티 레이어 인코딩된 비디오 신호로부터 디코딩된다.
일부 실시예들에서, 적응적 콘텐츠 재정형기(106)는 재정형된 비디오 콘텐츠를 생성하기 위해 소스 비디오 콘텐츠에 대해 적응적 재정형 연산들을 수행하도록 구성된 소프트웨어, 하드웨어, 소프트웨어와 하드웨어의 조합 등을 포함한다. 소스 비디오 콘텐츠 또는 재정형된 콘텐츠 중 하나 또는 둘 다는 역호환성이 있는(BC) 비디오 응용들, 역호환성이 없는(NBC) 비디오 응용들, 기타 중 하나 이상을 위해 사용될 수 있다.
일부 실시예들에서, 적응적 콘텐츠 재정형기(106)는 소스 비디오 콘텐츠에 표현된 하나 이상의 영상들, 하나 이상의 장면들 등에서의 소스 코드워드들을 재정형된 비디오 콘텐츠에 표현된 하나 이상의 대응하는 영상들, 하나 이상의 대응하는 장면들 등에서의 재정형된 코드워드들로 재정형하기 위해 재정형 함수를 선택 및 적용하도록 구성된다. 본원에 기술되는 바와 같은 기법들에 따라, 재정형 함수 및/또는 재정형 함수에서 사용되는 적응적 재정형 파라미터들의 선택이 소스 비디오 콘텐츠에 표현되는 바와 같은 영상들, 장면들 등에서의 실제 콘텐츠에 기초하여 적응적으로 행해진다. 그에 부가하여, 임의로, 또는 대안적으로, 재정형 함수 및/또는 재정형 함수에서 사용되는 적응적 재정형 파라미터들의 선택은 이 영상들, 장면들 등이 비디오 인코더(102)에 의해 처리되는 동안 적응적으로 행해질 수 있다.
적응적 콘텐츠 재정형기(106)는 순방향 멱함수(forward power function)들을 재정형 함수들로서 사용하도록 구성될 수 있지만, 이에 한정되는 것은 아니다. 적응적 콘텐츠 재정형기(106)는 큰 매끄러운 밝은 구역들, 큰 어두운 흑색 구역들 등을 포함하는지, 영상이 중간 톤(mid-tone) 영상 등인지를 결정하도록 구성될 수 있다. 이러한 결정에 기초하여, 순방향 멱함수들의 지수 값들 등과 같은 적응적 재정형 파라미터들이 선택될 수 있다.
일부 실시예들에서, 적응적 콘텐츠 재정형기(106)는 선택된 적응적 재정형 파라미터들을 갖는 선택된 적응적 재정형 함수에 기초하여 소스 비디오 콘텐츠에서의 소스 코드워드들에 대해 직접 적응적 재정형 연산들을 적용한다.
일부 실시예들에서, 적응적 재정형 함수는 복수의 엔트리들 - 이들 각각은 소스 비디오 콘텐츠를 인코딩하는 데 사용되는 이용가능 소스 코드워드 세트 내의 소스 코드워드를 재정형된 비디오 콘텐츠를 인코딩하는 데 사용되는 이용가능 재정형된 코드워드 세트 내의 재정형된 코드워드에 매핑함 - 을 포함하는 LUT에 의해 표현될 수 있다. 소스 비디오 콘텐츠에서의 하나 이상의 제1 영상들을 재정형하는 데 사용되는 제1 LUT는 소스 비디오 콘텐츠에서의 하나 이상의 제2 영상들을 재정형하는 데 사용되는 제2 LUT와 상이할 수 있다. 일부 실시예들에서, 이용가능 소스 코드워드 세트가 제1 영상들 및 제2 영상들 둘 다에 대해 동일한 채로 있을 수 있다. 예를 들어, 적응적 콘텐츠 재정형기(106)가 제1 영상들이 매끄러운 밝은 영상들이라고 결정하면, LUT, 또는 LUT가 표현하는 적응적 재정형 함수는 밝은 휘도 값들에 대응하는 비교적 많은 수의 이용가능 재정형된 코드워드들을 가질 수 있다. 그 결과, 재정형된 비디오 콘텐츠가 소스 비디오 신호(예컨대, 12-비트 비디오 신호, 14+ 비트 비디오 신호 등)보다 낮은 비트 깊이를 갖는 재정형된 비디오 신호(예컨대, 듀얼 레이어 8-비트 비디오 신호, 단일 레이어 10-비트 비디오 신호 등)로 인코딩될 때에도, 컨투어링/밴딩(contouring/banding) 아티팩트들이 감소되거나 회피될 수 있다. 다른 한편으로, 적응적 콘텐츠 재정형기(106)가 제2 영상들이 매끄러운 어두운 영상들(그러나 순수 흑색(pure black) 영상은 아님)이 아니라고 결정하면, LUT, 또는 LUT가 표현하는 적응적 재정형 함수는 어두운 휘도 값들에 대응하는 비교적 많은 수의 이용가능 재정형된 코드워드들을 가질 수 있다. 그 결과, 어두운 구역들에서의 영상 디테일들이 재정형된 비디오 신호에 인코딩된 재정형된 비디오 콘텐츠에 보존될 수 있다. 일부 실시예들에서, 적응적 콘텐츠 재정형기(106)는 LUT - 이 LUT는 선택된 적응적 재정형 함수에 기초하여 생성될 수 있거나, 이 LUT 자체가 선택된 적응적 재정형 함수로서 간주될 수 있음 - 에 기초하여, 소스 비디오 콘텐츠에서의 소스 코드워드들에 대해 적응적 재정형 연산들을 적용한다.
일부 실시예들에서, 적응적 콘텐츠 재정형기(106)는 재정형 함수를 표현하거나 그와 동등한 (목표) LUT의 근사치를 결정한다. 예를 들어, 적응적 콘텐츠 재정형기(106)는 다항식들에 의해 표현되는 매핑과 목표 LUT에 의해 표현되는 매핑 간의 오차들을 최소화하기 위해 특정 방식으로 결정된 계수들을 갖는 다항식들에 의해 LUT를 근사화할 수 있지만, 이들로만 한정되지는 않는다. 일부 실시예들에서, 적응적 콘텐츠 재정형기(106)는 목표 LUT를 근사화하는 다항식들, 또는 LUT에 의해 표현되는 재정형 함수에 기초하여 소스 비디오 콘텐츠에서의 소스 코드워드들에 대해 적응적 재정형 연산들을 적용한다.
비디오 인코더(102)가 어느 방식으로 적응적 재정형 연산들을 적용할 수 있는지(예컨대, 분석(analytical) 또는 비-분석(non-analytical) 함수 또는 구분적 분석 함수(piecewise analytical function)와 같은 재정형 함수에 기초하여, 분석 함수를 표현할 수 있거나 그렇지 않을 수 있는 LUT에 기초하여, 분석 함수에 기초하여 생성될 수 있거나 그렇지 않을 수 있는 LUT의 근사치에 기초하여, 기타)에 관계없이, 비디오 인코더(102)는 하나 이상의 유형의 적응적 재정형 파라미터들을 생성하고 하나 이상의 유형의 적응적 재정형 파라미터들 중 적어도 하나를 다운스트림 수신자 디바이스들로 전송하도록 구성될 수 있다.
일부 실시예들에서, 적응적 콘텐츠 재정형기(106)는 재정형 함수의 역함수를 표현하는 (목표) LUT(또는 역방향 LUT)의 근사치를 결정하도록 구성된다. 재정형 함수의 역함수를 표현하는 목표 LUT의 근사치를 정의하는 합성 메타데이터는 비디오 인코더(102)에 의해 재정형된 비디오 신호에 담겨 있는 전체 메타데이터의 일부로서 생성되고, 도 1b의 비디오 디코더(152) 등과 같은 다운스트림 수신자 디바이스들로 전송될 수 있다.
일부 실시예들에서, 비디오 디코더(152)는 재정형된 비디오 신호로부터 디코딩/추출되는 합성 메타데이터에 기초하여 재정형 함수의 역함수를 표현하는 목표 LUT의 근사치를 수신 또는 재구성하도록 구성될 수 있다. 비디오 디코더(152)는, 적응적 콘텐츠 재정형기(106)가 재정형 함수에 기초하여, 또는 대안적으로 재정형 함수를 표현하는 순방향 LUT(forward LUT)에 기초하여, 또는 대안적으로 순방향 LUT의 근사치에 기초하여 소스 비디오 콘텐츠에서의 소스 코드워드들에 대해 적응적 재정형 연산들을 적용하는지에 관계없이, 목표 LUT의 근사치를 사용하여 재정형된 비디오 신호로부터 디코딩되는 바와 같은 비디오 인코더로부터 나온 재정형된 비디오 콘텐츠에 대해 역 매핑 연산들을 적용하도록 구성될 수 있다.
그에 부가하여, 임의로, 또는 대안적으로, 일부 실시예들에서, 적응적 콘텐츠 재정형기(106)는 재정형 함수의 역함수를 표현하는 목표 LUT를 정의하는 합성 메타데이터를 생성하고, 합성 메타데이터를 비디오 인코더(102)에 의해 재정형된 비디오 신호에 담겨 있는 전체 메타데이터의 일부로서 도 1b의 비디오 디코더(152) 등과 같은 다운스트림 수신자 디바이스들로 전송하도록 구성된다. 일부 실시예들에서, 비디오 디코더(152)는 재정형된 비디오 신호로부터 디코딩/추출되는 합성 메타데이터에 기초하여 목표 LUT를 수신 또는 재구성하도록 구성될 수 있다. 비디오 디코더(152)는, 적응적 콘텐츠 재정형기(106)가 재정형 함수에 기초하여, 또는 대안적으로 재정형 함수를 표현하는 순방향 LUT에 기초하여, 또는 대안적으로 순방향 LUT의 근사치에 기초하여 소스 비디오 콘텐츠에서의 소스 코드워드들에 대해 적응적 재정형 연산들을 적용하는지에 관계없이, 목표 LUT를 사용하여 재정형된 비디오 신호로부터 디코딩되는 바와 같은 비디오 인코더로부터 나온 재정형된 비디오 콘텐츠에 대해 역 매핑 연산들을 적용하도록 구성될 수 있다.
그에 부가하여, 임의로, 또는 대안적으로, 일부 실시예들에서, 적응적 콘텐츠 재정형기(106)는 재정형 함수의 역함수를 정의하는 합성 메타데이터를 생성하고, 합성 메타데이터를 비디오 인코더(102)에 의해 재정형된 비디오 신호에 담겨 있는 전체 메타데이터의 일부로서 도 1b의 비디오 디코더(152) 등과 같은 다운스트림 수신자 디바이스들로 전송하도록 구성된다. 일부 실시예들에서, 비디오 디코더(152)는 재정형된 비디오 신호로부터 디코딩/추출되는 합성 메타데이터에 기초하여 재정형 함수의 역함수를 수신 또는 재구성하도록 구성될 수 있다. 비디오 디코더(152)는, 적응적 콘텐츠 재정형기(106)가 재정형 함수에 기초하여, 또는 대안적으로 재정형 함수를 표현하는 순방향 LUT에 기초하여, 또는 대안적으로 순방향 LUT의 근사치에 기초하여 소스 비디오 콘텐츠에서의 소스 코드워드들에 대해 적응적 재정형 연산들을 적용하는지에 관계없이, 재정형 함수의 역함수를 사용하여 재정형된 비디오 신호로부터 디코딩되는 바와 같은 비디오 인코더로부터 나온 재정형된 비디오 콘텐츠에 대해 역 매핑 연산들을 적용하도록 구성될 수 있다.
일부 실시예들에서, 재정형된 콘텐츠 인코더(108)는 재정형된 비디오 콘텐츠를 재정형된 비디오 신호(예컨대, 재정형된 비디오 신호를 사용해 인코딩된 듀얼 레이어 8-비트 비디오 신호, 재정형된 비디오 신호를 사용해 인코딩된 단일 레이어 10-비트 비디오 신호 등)로 인코딩하도록 구성된 소프트웨어, 하드웨어, 소프트웨어와 하드웨어의 조합 등을 포함한다. 그에 부가하여, 임의로, 또는 대안적으로, 비디오 인코더(102), 또는 그 안에 있는 재정형된 콘텐츠 인코더는 비디오 인코더(102)의 동작들에서 사용되는 동작 파라미터들 중 일부 또는 전부를 포함하는 메타데이터를 재정형된 비디오 신호의 일부로서 다운스트림 디바이스(예컨대, 도 1b의 비디오 디코더(152) 등)에 출력한다. 다운스트림 디바이스들로 전송되는 메타데이터 내의 동작 파라미터들은 재정형 함수들 또는 그의 역함수들을 정의하는 적응적 재정형 파라미터들을 포함하는 합성 메타데이터, 재정형 함수들 또는 그의 역함수들을 표현하는 LUT들을 정의하는 합성 메타데이터, 재정형 함수들 또는 재정형 함수들의 역함수들 중 하나 이상의 근사 함수들을 정의하는 합성 메타데이터, 톤 매핑 파라미터들 중 하나 이상, 클리핑(clipping) 파라미터들, 감마 압축을 위한 멱함수들에서 사용되는 지수 값들, 역 매핑 파라미터들, LUT들, 구분적 선형(PWL) 함수들에서의 피벗 값들, 비선형 양자화 파라미터들, 비선형 양자화(NLQ) 파라미터들, 기타 중 임의의 것을 포함하지만, 이들로 한정되지 않는다. 메타데이터는, 예를 들어, 비디오 비트스트림에서 이용가능한 SEI(supplemental enhancement information) 또는 다른 유사한 메타데이터 캐리지(metadata carriage)들의 일부로서, 인코딩된 비디오 콘텐츠를 포함하는 레이어들에 또는 전체 비디오 비트스트림의 별도의 서브-비트스트림(sub-bitstream)에 담겨 있는 데이터의 일부일 수 있다. 예시적인 서브-비트스트림은 Dolby Laboratories, Inc.에 의해 개발된 RPU(reference processing unit) 스트림일 수 있다.
본원에서 사용되는 바와 같이, 용어 "비트 깊이"는 영상 데이터를 인코딩 또는 양자화하는 데 이용가능한 코드워드들을 제공하는 코딩 공간에서 제공되는 비트 수를 지칭하고; 낮은 비트 깊이의 일 예는 8 비트이며; 높은 비트 깊이의 일 예는 12 비트 이상이다.
본원에서 사용되는 바와 같이, 비디오 콘텐츠는 영상들 또는 프레임들의 시퀀스를 포함할 수 있다. 본원에서 사용되는 바와 같이, "소스 영상"은 하이 엔드 영상 취득 디바이스에 의해 캡처된 장면-참조된 영상(scene-referred image), 참조 코딩된 영상(reference coded image), PQ 코딩된 영상(PQ coded image) 등과 같은 영상을 지칭할 수 있다. 소스 영상은 비교적 큰 비트 깊이의 코드워드 공간에서 이용가능한 코드워드들을 포함할 수 있다.
소스 영상, 재정형된 영상, 재구성된 영상 등과 같은 영상은 임의의 색 공간에 있을 수 있다. 예를 들어, 소스 영상은 YCbCr 색 공간, RGB 색 공간, XYZ 색 공간, YDzDx 색 공간, IPT 색 공간 등에서의 12+ 비트 영상일 수 있다. 일 예에서, 영상에 표현되는 각각의 픽셀은 색 공간(예컨대, YCbCr 색 공간, RGB 색 공간, XYZ 색 공간, YDzDx 색 공간, IPT 색 공간 등)에 대해 정의된 모든 채널들(예컨대, RGB 채널들, 루마 및 크로마 채널들, XYZ 채널들, YDzDx 채널들, IPT 채널들, 기타)에 대한 코드워드들을 포함한다. 각각의 코드워드는 색 공간에서의 채널들 중 하나 이상에 대한 업샘플링된 또는 다운샘플링된 코드워드들을 포함한다. 예시적인 실시예에서, 비디오 인코더(102)는 제1 색 공간(예컨대, RGB 색 공간 등)으로부터 제2 상이한 색 공간(예컨대, YCbCr 색 공간 등)으로의 영상에 관련된 색 공간 변환을 수행하도록 구성된다.
예시적인 실시예에서, 비디오 인코더(102)는 제1 샘플링 포맷(예컨대, 4:4:4 샘플링 포맷 등)으로 된 영상을 제2 상이한 샘플링 포맷(예컨대, 4:2:0 샘플링 포맷 등)으로 다운샘플링 또는 업샘플링하도록 구성된다.
신호 재정형 및 다른 동작들을 구현하는 비디오 인코더의 예들은 하나 이상의 단일 레이어 12-비트 코덱들, 하나 이상의 듀얼 레이어 8-비트 코덱들, 하나 이상의 멀티 레이어 코덱들, 하나 이상의 역호환성이 없는 재정형 코덱들, 하나 이상의 역호환성이 있는 코덱들, AVC에서 한 세트의 설정들/요구사항들/옵션들을 구현하는 하나 이상의 코덱들, HEVC, H.264/AVC/HEVC, MPEG-2, VP8, VC-1 등에서 한 세트의 설정들/요구사항들/옵션들을 구현하는 하나 이상의 코덱들 중 임의의 것을 포함하지만, 이들로만 한정되지는 않는다.
3. 적응적으로 재정형된 비디오 콘텐츠의 디코딩
도 1b는 업스트림 디바이스들(이들 중 하나는, 예를 들어, 도 1a의 비디오 인코더(102) 등일 수 있음)로부터의 적응적으로 재정형된 비디오 콘텐츠를 사용해 인코딩된 입력 비디오 신호(또는 재정형된 비디오 신호)를 처리하기 위해 다운스트림 디바이스로서 사용될 수 있는 비디오 디코더(152)를 나타내고 있다. 비디오 디코더(152)는 하나 이상의 컴퓨팅 디바이스들로 구현될 수 있다. 일부 실시예들에서, 비디오 디코더(152)는 재정형된 콘텐츠 디코더(154), 역 매퍼(inverse mapper)(156), 디스플레이 관리자(158) 등을 포함한다.
일부 실시예들에서, 재정형된 콘텐츠 디코더(154)는 하나 이상의 입력 비디오 신호들(예컨대, 코딩된 비트스트림들 등)을 수신하고 입력 비디오 신호들을 재정형된 비디오 콘텐츠로 디코딩하도록 구성된 소프트웨어, 하드웨어, 소프트웨어와 하드웨어의 조합 등을 포함한다. 일부 실시예들에서, 재정형된 비디오 콘텐츠는 단일 레이어에서의 재정형된 비디오 콘텐츠를 사용해 인코딩된 단일 레이어 비디오 신호(예컨대, 단일 채널 10-비트 비디오 신호 등)로부터 디코딩된다. 일부 실시예들에서, 재정형된 비디오 콘텐츠는 하나 초과의 레이어(예컨대, 기본 레이어 및 하나 이상의 확장 레이어들 등)에서의 재정형된 비디오 콘텐츠를 사용해 인코딩된 멀티 레이어 인코딩된 비디오 신호(예컨대, 듀얼 채널 8-비트 비디오 신호 등)로부터 디코딩된다.
일부 실시예들에서, 역 매퍼(156)는 재정형된 비디오 콘텐츠를 생성하기 위해 업스트림 디바이스에 의해 사용되는 소스 비디오 콘텐츠의 재구성된 버전을 생성하기 위해 재정형된 비디오 콘텐츠에 대해 역 매핑 연산들을 수행하도록 구성된 소프트웨어, 하드웨어, 소프트웨어와 하드웨어의 조합 등을 포함한다. 재구성된 비디오 콘텐츠 또는 재정형된 콘텐츠 중 하나 또는 둘 다는 역호환성이 있는(BC) 비디오 응용들, 역호환성이 없는(NBC) 비디오 응용들, 기타 중 하나 이상을 위해 사용될 수 있다.
일부 실시예들에서, 재정형 함수는 소스 비디오 콘텐츠에 표현된 하나 이상의 영상들, 하나 이상의 장면들 등에서의 소스 코드워드들을 재정형된 비디오 콘텐츠에 표현된 하나 이상의 대응하는 영상들, 하나 이상의 대응하는 장면들 등에서의 재정형된 코드워드들로 재정형하기 위해 업스트림 디바이스(예컨대, 도 1a의 비디오 인코더(102) 등)에 의해 적응적으로 선택되었다. 본원에 기술되는 바와 같은 기법들에 따라, 재정형 함수 및/또는 재정형 함수에서 사용되는 적응적 재정형 파라미터들의 선택이 소스 비디오 콘텐츠에 표현되는 바와 같은 영상들, 장면들 등에서의 실제 콘텐츠에 기초하여 적응적으로 행해진다.
재정형 함수들의 예들은 순방향 멱함수들 등을 포함할 수 있지만, 이들로 한정되지는 않는다. 업스트림 디바이스에서 영상을 재정형하기 위해 적용되는 재정형 함수에서 사용되는 적응적 재정형 파라미터들은, 영상이 큰 매끄러운 밝은 구역들, 큰 어두운 흑색 구역들 등을 포함하는지, 영상이 중간 톤 영상인지 등에 기초하여, 업스트림 디바이스에 의해 결정/선택될 수 있다.
일부 실시예들에서, 비디오 디코더(152)에 의해 수신되는 재정형된 비디오 콘텐츠는 업스트림 디바이스가 선택된 적응적 재정형 파라미터들을 갖는 선택된 적응적 재정형 함수에 기초하여 소스 비디오 콘텐츠에서의 소스 코드워드들에 대해 직접 적응적 재정형 연산들을 적용하는 것에 의해 생성된다.
일부 실시예들에서, 비디오 디코더(152)에 의해 수신되는 재정형된 비디오 콘텐츠는 선택된 적응적 재정형 함수에 기초하여 생성될 수 있거나 그렇지 않을 수 있는 LUT(예컨대, 순방향 LUT 등)에 기초하여 업스트림 디바이스에 의해 생성된다.
일부 실시예들에서, 비디오 디코더(152)에 의해 수신되는 재정형된 비디오 콘텐츠는 재정형 함수를 표현하거나 그와 동등한 (목표) LUT의 근사치에 기초하여 업스트림 디바이스에 의해 생성된다. 근사화는 다항식들에 기초할 수 있거나 그렇지 않을 수 있다.
비디오 디코더(152)에 의해 수신되는 재정형된 비디오 콘텐츠가 업스트림 디바이스에 의해 어느 방식으로 생성되는지에 관계없이, 비디오 디코더(152), 또는 그 안에 있는 역 매퍼(156)는 비디오 디코더(152)에 의해 수신되는 입력 비디오 신호에 담겨 있는 메타데이터의 일부로서 전송되는 합성 메타데이터를 디코딩하는 것에 의해 적응적 재정형 파라미터들을 획득하도록 구성될 수 있다.
일부 실시예들에서, 디코딩된 적응적 재정형 파라미터들에 기초하여, 역 매퍼(156)는 재정형 함수(예컨대, 하나 이상의 영상들 등에 대해 적응적 재정형을 수행하기 위해 업스트림 디바이스에 의해 사용되는 재정형 함수)의 역함수를 표현하는 (목표) LUT(또는 역방향 LUT)의 근사치를 결정하도록 구성된다. 비디오 디코더(152), 또는 그 안에 있는 역 매퍼(156)는, 업스트림 디바이스가 재정형 함수에 기초하여, 또는 대안적으로 재정형 함수를 표현하는 순방향 LUT에 기초하여, 또는 대안적으로 순방향 LUT의 근사화에 기초하여 소스 비디오 콘텐츠에서의 소스 코드워드들에 대해 적응적 재정형 연산들을 적용하는지에 관계없이, 목표 LUT의 근사화를 사용하여 재정형된 비디오 신호로부터 디코딩되는 바와 같은 비디오 인코더로부터 나온 재정형된 비디오 콘텐츠에 대해 역 매핑 연산들을 적용하는 것에 의해, (비디오 디코더(152)에 의해 수신되는 재정형된 비디오 콘텐츠를 생성하기 위해 업스트림 디바이스에 의해 사용되는) 소스 비디오 콘텐츠의 재구성된 버전을 생성하도록 구성될 수 있다.
일부 실시예들에서, 디스플레이 관리자(158)는 소스 비디오 콘텐츠의 재구성된 버전에 대해 디스플레이 관리 동작들 등과 같은 비디오 처리 동작들을 수행하도록 구성된 소프트웨어, 하드웨어, 소프트웨어와 하드웨어의 조합 등을 포함한다. 예시적인 디스플레이 관리 동작들은 톤 매핑 동작들, 클리핑 동작들, 색역 조정 동작들 등 중 임의의 것을 포함할 수 있지만, 이들로만 한정되지는 않는다. 이 동작들 중 일부 또는 전부는 디바이스 특정(device specific)일 수 있다. 이 동작들을 통해, 소스 비디오 콘텐츠의 재구성된 버전에 표현된 영상들은, 비디오 디코더(152)를 포함하는 동일한 디바이스의 일부일 수 있고, 비디오 디코더(152)와 협력하여 동작할 수 있으며, 기타일 수 있는 디스플레이 디바이스에 의해, 렌더링될 수 있다.
예시적인 실시예에서, 비디오 디코더(152)는 제1 샘플링 포맷(예컨대, 4:2:0 샘플링 포맷 등)으로 된 영상을 제2 상이한 샘플링 포맷(예컨대, 4:4:4 샘플링 포맷 등)으로 업샘플링 또는 다운샘플링하도록 구성된다.
역 매핑, 역 신호 재정형(inverse signal reshaping) 및 다른 동작들을 구현하는 비디오 디코더의 예들은 하나 이상의 단일 레이어 12-비트 코덱들, 하나 이상의 듀얼 레이어 8-비트 코덱들, 하나 이상의 멀티 레이어 코덱들, 하나 이상의 역호환성이 없는 재정형 코덱들, 하나 이상의 역호환성이 있는 코덱들, AVC에서 한 세트의 설정들/요구사항들/옵션들을 구현하는 하나 이상의 코덱들, HEVC, H.264/AVC/HEVC, MPEG-2, VP8, VC-1 등에서 한 세트의 설정들/요구사항들/옵션들을 구현하는 하나 이상의 코덱들 중 임의의 것을 포함하지만, 이들로만 한정되지는 않는다.
4. 적응적 재정형을 위한 멱함수
일부 실시예들에서, 예를 들어, EDR(extended dynamic range)들(예컨대, 최대 6,000 니트, 12,000 니트, 20,000+ 니트 등)을 지원하는 비디오 신호들에 대해, 멱함수를 사용해 적응적 재정형이 효과적으로 수행될 수 있다. 멱함수들은 지각적으로 양자화된(PQ) 12+ 비트 비디오 신호 등과 같은 비교적 높은 비트 레이트의 소스 비디오 신호를 적응적으로 재정형된 8-비트 또는 10-비트 비디오 신호 등과 같은 비교적 낮은 비트 레이트의 적응적으로 정형된(adaptively shaped) 비디오 신호로 압축하는 데 사용될 수 있다. 적응적으로 재정형된 비디오 신호에서의 시각적 아티팩트들을 감소시키거나 제시하기 위해, 소스 비디오 신호에서의 콘텐츠에 적어도 부분적으로 기초하여 최적의 적응적 재정형 파라미터들이 선택될 수 있다. 이 최적의 적응적 재정형 파라미터들의 선택은 소스 비디오 신호에 표현되는 바와 같은 현재 영상, 현재 장면 등에 대해 업스트림 디바이스에 의해 자동으로 행해질 수 있는데, 그 이유는 현재 영상, 현재 장면 등이 업스트림 디바이스에 의해 처리되어 적응적으로 재정형된 비디오 신호에 표현되는 영상, 장면 등으로 적응적으로 재정형/압축되기 때문이다. 멱함수들을 사용하는 적응적 재정형의 일부 예들은 본 출원의 양수인이 소유한, 2014년 3월 25일에 출원된 PCT 특허 출원 제PCT/US2014/031716호에 기술되어 있으며, 이 PCT 특허 출원의 내용은 참조에 의해 모든 목적들을 위해 마치 본원에 완전히 기재된 것처럼 원용된다.
예시적인 실시예에서, 적응적 재정형은 다음과 같은 순방향 멱함수를 사용해 비디오 인코더 등과 같은 업스트림 디바이스에 의해 수행되고:
Figure pct00001
여기서 α는 지수 값을 나타내고; vi는 비디오 인코더에 의해 재정형되고 있는 소스 비디오 신호로부터 디코딩된 소스 코드워드들(예컨대, 소스 휘도 코드워드들 등)을 나타내며; si는 순방향 멱함수를 사용해 vi로부터 조정된/매핑된 적응적으로 재정형된 코드워드들(예컨대, 조정된/매핑된 휘도 코드워드들 등)를 나타내고; round(...)는 반올림 함수(rounding function)를 나타내며;
Figure pct00002
Figure pct00003
는, 각각, 적응적으로 정형된 코드워드들(예컨대, 조정된/매핑된 휘도 코드워드들 등)의 최솟값 및 최댓값이고;
Figure pct00004
Figure pct00005
는, 각각, 소스 코드워드들(예컨대, 소스 휘도 코드워드들 등)의 최솟값 및 최댓값이다. 그에 부가하여, 임의로, 또는 대안적으로, 일부 실시예들에서, 손실 압축 후의 임의의 범위 밖(예컨대, 범위
Figure pct00006
밖 등) 코드워드가 비디오 디코더 등과 같은 다운스트림 수신자 디바이스에 의해 가장 가까운 유효한 재구성된 소스 코드워드에 여전히 역 매핑될 수 있도록 보장하기 위해 클리핑 함수(clipping function)가 사용될 수 있다.
역 매핑은 다음과 같은 역방향 멱함수(backward power function)를 사용해 비디오 디코더 등과 같은 다운스트림 수신자 디바이스에 의해 수행될 수 있고:
Figure pct00007
여기서,
Figure pct00008
는 본 예에서의 비디오 인코더와 같은 업스트림 디바이스에 의해 재정형되어 있는 적응적으로 재정형된 비디오 신호로부터 디코딩되는 재정형된 코드워드들로부터 역 매핑되는 재구성된 소스 코드워드들(예컨대, 재구성된 소스 휘도 코드워드들 등)를 나타낸다.
일부 실시예들에서, 디코더 내의 순방향 멱함수 및 역방향 멱함수에서,
Figure pct00009
Figure pct00010
는 다음과 같이 설정될 수 있고:
Figure pct00011
Figure pct00012
여기서 심볼 "effective_codewords"는 적응적으로 재정형된 코드워드들을 표현하는 데 이용가능한 코드워드들의 개수(예컨대, 듀얼 레이어 8-비트 비디오 신호의 511, 단일 레이어 10-비트 비디오 신호에서의 1023 등)를 나타낸다.
순방향 멱함수, 역방향 멱함수 등과 같은 재정형 함수 또는 그의 역함수는 1 차원 LUT(1D-LUT) 등과 같은 LUT로서 표현될 수 있다. 본원에 기술되는 기법들은 제한된 수의 2차 다항식들을 사용하는 근사화에 대한 목표 LUT로서, 재정형 함수 또는 그의 역함수를 표현하거나 그에 기초하여 생성되는 LUT를 사용할 수 있다. 일부 실시예들에서, 계수들은, 예를 들어, 디바이스 특정 제약조건들, 모듈 특정 제약조건들(예컨대, SoC 관련 제약조건들 등)에 부합하기 위해, 제한된 정밀도(precision)를 갖는 고정 소수점 숫자들일 수 있다.
수학식 1 또는 수학식 2에 나타낸 것과 같은 멱함수를 예로 들면, 지수(예컨대, 수학식 1의 순방향 멱함수에서의 α, 수학식 2의 역방향 멱함수에서의 1/α 등)는 1 초과 - 멱함수를 볼록 함수로 만듦 - 일 수 있거나, 1 미만 - 멱함수를 오목 함수로 만듦 - 일 수 있다. 이 상이한 알파 값들은 멱함수에 기초하여 생성되는 목표 LUT를 근사화하는 데 상이한 어려움들을 제기한다.
다양한 실시예들에서, 하나 이상의 알고리즘들이 목표 LUT의 근사화에 개별적으로 또는 조합되어 사용될 수 있다. 일 예에서, 순방향 탐색 알고리즘(forward search algorithm)이라고 지칭되는 제1 알고리즘은 (수직 좌표 축이 매핑된 코드워드 값들을 나타내는 경우) 입력 코드워드 값들을 나타내는 수평 좌표 축을 따라 작은 코드워드 값들로부터 큰 코드워드 값들까지(또는 왼쪽으로부터 오른쪽으로) 멱함수를 근사화하는 데 사용될 수 있다. 본원에서 사용되는 바와 같이, 목표 LUT 등과 같은 LUT에서의 입력 코드워드 값은 LUT의 키-값 쌍에서의 키를 지칭할 수 있는 반면, LUT에서의 매핑된 코드워드 값은 LUT의 키-값 쌍에서의 값을 지칭할 수 있다. 다른 예에서, 역방향 탐색 알고리즘(backward search algorithm)이라고 지칭되는 제2 알고리즘은 수평 좌표 축을 따라 큰 코드워드 값들로부터 작은 코드워드 값들까지(또는 오른쪽으로부터 왼쪽으로) 멱함수를 근사화하는 데 사용될 수 있다. 추가의 예에서, 제1 알고리즘 및 제2 알고리즘 둘 다가 사용될 수 있고; 이 알고리즘들 중 하나로부터의 결과들(예컨대, 보다 적은 근사화 오차들을 생성하는 것, 가장 빨리 수렴하는(converging) 것 등)이 멱함수를 근사화하는 데 사용될 수 있다.
적응적 재정형 함수가 순방향 멱함수일 수 있거나 그렇지 않을 수 있다는 것에 유의해야 한다. 그에 부가하여, 임의로, 또는 대안적으로, 재정형 함수의 역함수가 역방향 멱함수일 수 있거나 그렇지 않을 수 있다. 일부 실시예들에서, 본원에 기술되는 바와 같은 재정형 함수의 역함수는 임의의 재정형 함수로부터 도출 또는 추론될 수 있는 최적의 역방향 LUT(BL()로서 표시됨)에 의해 표현된다. 재정형 함수는 적응적 재정형을 수행하기 위해 비디오 인코더 등과 같은 업스트림 디바이스에 의해 사용될 수 있다. 일부 실시예들에서, 적응적 재정형 함수는 순방향 LUT(FL()로서 표시됨)에 의해 표현될 수 있다. 최적의 역방향 LUT(또는 최적의 BL())는 역 매핑을 수행하기 위해 비디오 디코더 등과 같은 다운스트림 디바이스에 의해 사용될 수 있다.
재정형된 비디오 콘텐츠에서 사용되는 각각의 재정형된 코드워드 값 s c 에 대해, 재정형된 비디오 콘텐츠에서의 동일한 재정형된 코드워드 값 s c 을 갖는 (예컨대, 영상에서의, 동일한 장면의 영상들에서의, 기타에서의) 모든 픽셀들이 그룹화된다. 재정형된 비디오 콘텐츠에서의 이 픽셀들에 기초하여, s c 로 재정형된 또는 s c 에 매핑된 소스 비디오 콘텐츠에서의 대응하는 소스 코드워드 값들 v i 의 집합이 이어서 다음과 같이 결정 또는 식별된다:
Figure pct00013
각각의 코드워드 값 s c 에 대해, 그의 대응하는 소스 코드워드 값들 v i 의 집합이 비어 있지 않은 경우, 집합 내의 수집된 소스 코드워드 값들 모두에 대한 평균이 취해지거나 계산된다. 각각의 코드워드 값 s c 에 대응하는 모든 수집된 소스 코드워드 값들의 평균은 다음과 같이 최적의 BL(s c )를 구성하는 데 사용될 수 있고,
Figure pct00014
여기서
Figure pct00015
는 상기 수학식 5의 집합 내의 수집된 소스 코드워드 값들의 개수를 나타낸다.
일부 실시예들에서, 수학식 6에서의 최적의 BL(s c )는 (예컨대, 다항식들 등에 의해) 근사화될 목표 LUT로서 사용될 수 있다.
5. 적응적 재정형에 관련된 함수의 근사화
도 2는 재정형 함수를 근사화하는 예시적인 방법을 나타내고 있다. 하나 이상의 컴퓨팅 디바이스들, 컴퓨팅 디바이스 내의 적어도 부분적으로 하드웨어로 구현되는 하나 이상의 모듈들 등이 이 방법을 수행할 수 있다. 예를 들어, 비디오 인코더 내의 적응적 재정형 모듈, 비디오 디코더 내의 역 매핑 모듈 등과 같은 비디오 처리 디바이스 내의 LUT 근사화 모듈이 도 2의 방법에서의 동작들 중 일부 또는 전부를 수행할 수 있다.
블록(202)에서, LUT 근사화 모듈은 초기 오차 문턱값 t를 설정하는 것에 의해 목표 LUT의 근사화를 시작한다.
블록(204)에서, LUT 근사화 모듈은 연속성 조건(continuity condition)이 시행되어야만 하는지를 결정한다. 그러한 경우, 목표 LUT를 근사화하는 데 사용되는 다항식들은 다항식들에 의해 형성된 구분적 곡선(piecewise curve)이 0차 연속적(0th order continuous)이어야 한다는 제약조건을 충족시켜야 한다; 구분적 곡선의 2개의 이웃하는 다항식들에 의해 표현되는 바와 같은 임의의 2개의 곡선 세그먼트들이 서로 연결(join)된다. 다른 한편으로, 연속성 조건이 시행되지 않는 경우, 이러한 제약조건이 다항식들에 의해 충족될 필요가 없다(이웃하는 다항식들이 서로 연결될 수 있거나 그렇지 않을 수 있다). 이 연속성 제약조건의 설정(setting) 또는 해제(unsetting)는 콘텐츠 의존적(content dependent)일 수 있다. 일 예에서, LUT 근사화 모듈은 영상 또는 장면이 매끄러운 영상 콘텐츠를 포함한다고 결정할 수 있다. 이러한 결정에 응답하여, 이러한 영상 또는 장면에 대한 재정형 또는 역 매핑 연산들을 위해 목표 LUT를 근사화하는 데 연속성 제약조건이 시행될 수 있다. 이것은 비교적 매끄러운 영상 콘텐츠에서 컬러 밴딩(color banding) 아티팩트가 발생하는 것을 방지할 수 있다. 다른 예에서, LUT 근사화 모듈은 영상 또는 장면이 (예컨대, 휘도 값들 또는 크로마 값들의 차이들 및 변동들의 면에서) 비교적 매우 다채로운 영상 콘텐츠를 포함한다고 결정할 수 있다. 이러한 결정에 응답하여, 비교적 매우 다채로운 영상 콘텐츠에서 컬러 밴딩 아티팩트들이 발생할 가능성이 보다 적기 때문에, 이러한 영상 또는 장면에 대한 재정형 또는 역 매핑 연산들을 위한 목표 LUT를 근사화하는 데 연속성 제약조건이 시행되지 않을 수 있다.
일부 실시예들에서, LUT 근사화 모듈은 연속성 조건 또는 제약조건이 시행되어야 하는지에 기초하여 근사화 연산에서 적용할 하나의 정지 규칙 세트(set of stopping rules)를 하나 이상의 상이한 정지 규칙 세트들 중에서 선택할 수 있다. 연속성 조건이 시행되지 않아야 한다고 결정한 것에 응답하여, 블록(206)에서, LUT 근사화 모듈은 제1 정지 규칙 세트를 선택하도록 구성될 수 있다. 다른 한편으로, 연속성 조건이 시행되어야 한다고 결정한 것에 응답하여, 블록(208)에서, LUT 근사화 모듈은 제2 정지 규칙 세트를 선택하도록 구성될 수 있다.
정지 규칙은 목표 LUT의 근사화에서 세그먼트의 근사화를 완결(finalize)할지, 특정의 계산 또는 연산을 중지 또는 마무리(wrap up)할지, 상이한 계산 또는 연산으로 계속 이동할지 등을 적어도 부분적으로 결정하는 데 사용되는 규칙(또는 복잡한 규칙의 일부분)을 지칭한다. 일부 실시예들에서, 정지 규칙들은 문턱값 검출기(thresholding detector)를 포함할 수 있을 뿐만 아니라, 상승 에지 검출기, 최소/최대 세그먼트 길이 검출기 등을 포함할 수 있다. 정지 규칙들(예컨대, 정지 규칙들의 특정의 조합 등)은 총 오차 문턱값(overall error threshold)에 기초하여 문턱값 검출기를 단순히 사용하는 것보다 세그먼트를 근사화하는 것을 완결함에 있어서 더 나은 피팅 정확도(fitting accuracy)를 생성하기 위해 사용될 수 있다.
다양한 실시예들에서, 영상 유형들, 재정형 함수 유형들 등에 기초하여 상이한 정지 규칙들이 채택될 수 있다. 예를 들어, 다항식들에 의해 근사화되기 어려운 곡선들에 의해 표현되는 재정형 함수들에 대해, 비교적 완화된 정지 규칙이 채택될 수 있다. 비교적 매끄러운 영상들에 대해서는, 비교적 엄격한 정지 규칙이 채택될 수 있다. 일부 실시예들에서, 정지 규칙은 근사화 연산들에서의 자유도의 감소와 동등할 수 있다. 정지 규칙이 나타내는 자유도(예컨대, 1 자유도, 2 자유도 등)가 클수록, 정지 규칙에 부분적으로 기초하여 생성된 목표 LUT의 근사화가 많은 왜곡을 생성할 수 있다. 정지 규칙 또는 비교적 완화된 정지 규칙 어느 것도 사용되지 않는 경우 근사화 오차가 최소화될 수 있다. 그렇지만, 근사화가 그들의 단부에서 만나지 않는 곡선 세그먼트들을 포함할 수 있고, 특정 영상 유형들(예컨대, 비교적 매끄러운 영상들, 비교적 매끄럽지 않은 영상들 등)에 적절할 수 있거나 그렇지 않을 수 있다.
예시적인 구현에서, 규칙 1은 다음과 같이 정의되고:
Figure pct00016
여기서 x && y xy의 불 논리(Boolean logical) "and"를 나타내고, x || yxy 의 불 논리 "or"를 나타내며, prev_error_condition은 마지막 피팅 오차(fitting error)가 적용가능 오차 문턱값(예컨대, 기본 오차 문턱값(default error threshold) t, 조절된 오차 문턱값 0.75t, 추가의 조절된 문턱값 등)보다 작은지를 표시하는 술어(predicate)를 나타내고; curr_error_condition은 현재 피팅 오차가 적용가능 오차 문턱값보다 작은지를 표시하는 술어를 나타내며; max_custom_length_condition은 세그먼트가 미리 정의된 최대 길이에 도달했는지를 표시하는 술어를 나타낸다.
예시적인 구현에서, 규칙 2는 다음과 같이 정의되고:
Figure pct00017
여기서 min_custom_length_condition은 세그먼트가 미리 정의된 최소 길이에 도달했는지를 표시하는 술어이다.
예시적인 구현에서, 규칙 3은 다음과 같이 정의된다:
Figure pct00018
일부 실시예들에서, 순방향 탐색 및 역방향 탐색이 동일한 정지 규칙 세트를 사용할 수 있다. 일부 다른 실시예들에서, 순방향 탐색 및 역방향 탐색이 상이한 정지 규칙 세트들을 사용할 수 있다. 일부 실시예들에서, 도 2의 블록(206)에 예시된 바와 같이, 연속성 조건이 시행되지 않을 때, 순방향 탐색과 역방향 탐색 둘 다에 대해 규칙 1이 선택된다. 일부 실시예들에서, 도 2의 블록(208)에 예시된 바와 같이, 연속성 조건이 시행될 때, 순방향 탐색에 대해서는 규칙 1이 선택되는 반면, 역방향 탐색에 대해서는 규칙 2가 선택된다.
블록(210)에서, LUT 근사화 모듈은 순방향 탐색 알고리즘을 사용해 목표 LUT의 근사화를 수행한다. 순방향 탐색 알고리즘을 사용한 목표 LUT의 근사화의 결과들이 블록(212)에서 메모리에 저장될 수 있다.
블록(214)에서, LUT 근사화 모듈은 역방향 탐색 알고리즘을 사용해 목표 LUT의 근사화를 수행한다.
일부 실시예들에서, 순방향 탐색 알고리즘에서의 또는 역방향 탐색 알고리즘에서의 목표 LUT의 근사화는 하기의 단계들을 포함한다. 하나 이상의 알고리즘들에 대해 초기 오차 문턱값 t가 설정된 후에, 2차 다항식들이 목표 LUT에 의해 표현되는 바와 같은 재정형 함수 또는 그의 역함수의 세그먼트들에 피팅된다. 2차 다항식들을 세그먼트들에 피팅하는 것은 세그먼트마다, 예를 들어, 순방향 탐색 알고리즘에서는 왼쪽으로부터 오른쪽으로 또는 역방향 탐색 알고리즘에서는 오른쪽으로부터 왼쪽으로 수행될 수 있다. 각각의 세그먼트는 그 세그먼트와 대응하는 근사화 다항식 간의 피팅 오차가 오차 문턱값 t를 초과하지 않도록 결정 또는 선택될 수 있다. 세그먼트들의 개수가 2차 다항식들의 개수에 대해 설정된 최대 개수와 같은 경우, 곡선 피팅은 성공적으로 끝난다. 다른 한편으로, 세그먼트들의 개수가 2차 다항식들의 개수에 대해 설정된 최대 개수보다 적은 경우, 오차 문턱값 t(예컨대, t = 0.75t 등)가 감소되고; 세그먼트들의 개수가 2차 다항식들의 개수에 대해 설정된 최대 개수와 같을 때까지 감소된 오차 문턱값에 대해 전술한 단계들이 반복된다.
블록(216)에서, LUT 근사화 모듈은 역방향 탐색 알고리즘을 사용한 목표 LUT의 근사화가 순방향 탐색 알고리즘을 사용한 목표 LUT의 근사화보다 더 큰 오차를 생성하는지를 결정한다.
역방향 탐색 알고리즘을 사용한 목표 LUT의 근사화가 순방향 탐색 알고리즘을 사용한 목표 LUT의 근사화보다 더 큰 오차를 생성한다고 결정한 것에 응답하여, 블록(218)에서, LUT 근사화 모듈은 목표 LUT의 (예컨대, 최종적인, 기타) 근사화로서 순방향 탐색 알고리즘을 사용한 목표 LUT의 근사화를 선택한다.
역방향 탐색 알고리즘을 사용한 목표 LUT의 근사화가 순방향 탐색 알고리즘을 사용한 목표 LUT의 근사화보다 더 큰 오차를 생성하지 않는다고 결정한 것에 응답하여, 블록(220)에서, LUT 근사화 모듈은 목표 LUT의 (예컨대, 최종적인, 기타) 근사화로서 역방향 탐색 알고리즘을 사용한 목표 LUT의 근사화를 선택한다.
블록(222)에서, LUT 근사화 모듈은 목표 LUT를 근사화하는 연산들을 종료한다.
임의의 재정형 함수를 표현하거나 그에 기초하여 생성되는 목표 LUT의 근사화가 순방향 탐색과 그에 뒤이은 역방향 탐색을 사용해 수행될 수 있다고 기술되었다. 이것은 단지 예시를 위한 것이다. 다양한 실시예들에서, 임의의 재정형 함수를 표현하거나 그에 기초하여 생성되는 목표 LUT의 근사화는, 순방향 탐색은 사용하지만 역방향 탐색은 사용하지 않는 것, 역방향 탐색은 사용하지만 순방향 탐색은 사용하지 않는 것과 같이, 하나의 탐색을 사용해 수행될 수 있다. 그에 부가하여, 임의로, 또는 대안적으로, 임의의 재정형 함수를 표현하거나 그에 기초하여 생성되는 목표 LUT의 근사화가 역방향 탐색과 그에 뒤이은 순방향 탐색을 사용해 수행될 수 있다. 따라서, 임의의 재정형 함수를 표현하거나 그에 기초하여 생성되는 목표 LUT를 근사화하는 이들 및 다른 변형들이 본원에 기술되는 바와 같은 기법들에 따라 사용될 수 있다.
도 3a는 목표 LUT를 근사화하는 예시적인 프로세스 흐름을 나타내고 있다. 하나 이상의 컴퓨팅 디바이스들, 컴퓨팅 디바이스 내의 적어도 부분적으로 하드웨어로 구현되는 하나 이상의 모듈들 등이 이 방법을 수행할 수 있다. 예를 들어, 비디오 인코더 내의 적응적 재정형 모듈, 비디오 디코더 내의 역 매핑 모듈 등과 같은 비디오 처리 디바이스 내의 LUT 근사화 모듈이 도 3a의 프로세스 흐름의 일부 또는 전부를 수행할 수 있다.
블록(302)에서, 프로세스 흐름은 피벗 관련 변수들, 처리 플래그들, 외부 루프(outer loop)에서의 최대 반복 횟수(예컨대, 20, 30, 40, 50, 60 등)와 같은 수렴 관련 변수들, 탐색 오차 상한(search error upper bound)(예컨대, 최대 오차 문턱값 t 등으로 초기화됨), 유효 근사치가 반복에서 발견되는지를 표시하는 플래그("found_CC"로서 표시됨)(예컨대, 거짓(false) 등으로 초기화됨), 기타 중 하나 이상을 초기화하는 것으로 시작한다. 최대 반복 횟수, 탐색 오차 상한 t 등은 재정형 함수를 근사화하는 데 왜곡들을 최소화하는 것을 목표로 하는 수렴 제약조건들이고, 다양한 실시예들에서 상이한 값들(예컨대, 시스템 구성가능, 사용자 재정의가능(user overridable), 훈련 영상 세트를 사용해 수집된 통계에 기초하여 조정가능, 기타)을 취할 수 있다. 일부 실시예들에서, 최대 반복 횟수가 클수록, 프로세스 흐름은 재정형 함수의 근사화에서의 왜곡을 최소화하려고 시도할 것이다. 일부 실시예들에서, 탐색 오차 상한 t는 재정형 함수의 근사화가 (예컨대, 최대 반복 횟수 이하의 반복들 등으로) 수렴되는 왜곡에 대한 절상값(ceiling)을 제공한다.
블록(304)에서, 프로세스 흐름은 블록(302)에서 거짓(0)으로 초기화된 수렴 플래그 "converge_iter"를 사용해 외부 루프에 진입한다. 보다 구체적으로는, 블록(304)에서, 수렴 플래그 "converge_iter"가 참(1)으로 설정되어 있는지가 결정된다.
수렴 플래그 "converge_iter"가 참으로 설정되어 있다고 결정한 것에 응답하여, 블록(306)에서, 프로세스 흐름은 피벗 점(pivot point), 목표 LUT를 근사화하는 다항식들에 대한 최상의 계수 세트들을 반환한다. 블록(308)에서, 프로세스 흐름이 종료된다.
수렴 플래그 "converge_iter"가 거짓으로 설정되어 있다고 결정한 것에 응답하여, 프로세스 흐름은, 내부 루프 플래그 "converge"를 "거짓"으로, 플래그 "found_CC"를 거짓으로, 변수 "num_pivot"(예컨대, 현재 피벗 개수 등을 나타냄)를 1로, 기타와 같이, 내부 루프 파라미터들 중 하나 이상을 리셋시키고, 내부 루프 플래그 "converge"가 거짓(0)으로 리셋된 상태에서 내부 루프에 진입한다. 보다 구체적으로는, 블록(310)에서, 프로세스 흐름은 내부 루프 플래그 "converge"가 참(1)으로 설정되어 있는지를 결정한다.
내부 루프 플래그 "converge"이 거짓으로 설정되어 있다고 결정한 것에 응답하여, 프로세스 루프는 처리 플래그 "found_one_seg"를 거짓(0)으로 초기화하고, 내부 루프 반복 카운트 "iter_cnt"를 1로 초기화하며, 다항식에 의해 근사화되는 새로운 세그먼트를 추가하는 제2 프로세스 흐름을 계속하여 수행하고, 도 3b에 예시된 제2 프로세스 흐름의 블록(332)으로 간다. 제2 프로세스 흐름은 내부 루프 플래그 "converge"가 블록 (310)에서 참이라고 결정될 때까지 반복된다.
내부 루프 플래그 "converge"가 참으로 설정되어 있다고 결정한 것에 응답하여, 블록(314)에서, 프로세스 흐름은, 외부 루프 반복 카운터 "Out_iter_cnt"에 의해 표시되는 바와 같은, 외부 루프에서의 반복 횟수가, (예컨대, 일정한, 기타) 구성된 값 "MAX_OUT_CNT"에 의해 표시되는 바와 같은, 외부 루프에서의 최대 반복 횟수를 초과하는지를 결정한다.
외부 루프에서의 반복 횟수가 외부 루프에서의 최대 반복 횟수를 초과한다고 결정한 것에 응답하여, 블록(316)에서, 수렴 플래그 "converge_iter"는 참(1)으로 설정되고, 프로세스 흐름은 블록(304)으로 간다.
외부 루프에서의 반복 횟수가 외부 루프에서의 최대 반복 횟수를 초과하지 않는다고 결정한 것에 응답하여, 블록(318)에서, 프로세스 흐름은, 변수 "num_pivot"에 의해 표시되는 바와 같은, (예컨대, 현재, 기타) 피벗 개수가, (예컨대, 일정한, 기타) 구성된 값 "MAX_NUM_PIVOT"에 의해 표시되는 바와 같은, 최대 피벗 개수(예컨대, 최대 다항식 개수가 8인 경우 최대 9개의 피벗들, 최대 다항식 개수가 9인 경우, 최대 10개의 피벗들, 기타)를 초과하는지를 결정한다
피벗 개수가 최대 피벗 개수를 초과하지 않는다고 결정한 것에 응답하여, 블록(320)에서, "max_error"로서 표시되는, 탐색 오차 상한이 감소되고(예컨대, max_error = 0.75 max_error 등), 프로세스 흐름은 블록(304)으로 간다.
피벗 개수가 최대 피벗 개수를 초과한다고 결정한 것에 응답하여, 블록(316)에서, 수렴 플래그 "converge_iter"는 참(1)으로 설정되고, 프로세스 흐름은 블록(304)으로 간다.
도 3b는 수렴 플래그 "convergence"가 거짓이라고 결정한 것에 응답하여 도 3a의 블록(310)에서 호출될 수 있는 예시적인 제2 프로세스 흐름을 나타내고 있다. 하나 이상의 컴퓨팅 디바이스들, 컴퓨팅 디바이스 내의 적어도 부분적으로 하드웨어로 구현되는 하나 이상의 모듈들 등이 이 방법을 수행할 수 있다. 예를 들어, 비디오 인코더 내의 적응적 재정형 모듈, 비디오 디코더 내의 역 매핑 모듈 등과 같은 비디오 처리 디바이스 내의 LUT 근사화 모듈이 도 3b의 프로세스 흐름의 일부 또는 전부를 수행할 수 있다.
블록(332)에서, 제2 프로세스 흐름은 처리 플래그 "found_one_seg"가 참(1)으로 설정되어 있는지를 결정한다. 처리 플래그 "found_one_seg"가 거짓으로 설정되어 있다고 결정한 것에 응답하여, 제2 프로세스 흐름은 세그먼트 후보에 대한 하한 및 상한을 설정하고, 이어서 블록(346)으로 간다.
일부 실시예들에서, 세그먼트 후보에 대한 하한 및 상한을 설정하는 것은 세그먼트 후보에 대한 하한과 상한 사이의 수평 거리를 내부 루프 반복 카운트 "iter_cnt"의 현재 값으로 설정하는 것을 포함한다. 그 결과, 다수의 내부 루프 반복 시나리오들에서, 플래그 "found_one_seg"가 거짓(0)인 채로 있는 한, 내부 루프 반복 카운트 "iter_cnt"가 하나의 내부 반복에서 다음 내부 반복으로 증가함에 따라 세그먼트 후보는 길이가 증가한다.
다른 한편으로, 처리 플래그 "found_one_seg"가 참으로 설정되어 있다고 결정한 것에 응답하여, 제2 프로세스 흐름은 블록(334)으로 간다. 그렇지만, 블록(332)으로부터 블록 (334)으로 가기 전에, 제2 프로세스 흐름은 먼저 변수 "num_pivot"에 의해 표시된 바와 같은 피벗 개수가 구성된 값 "MAX_NUM_PIVOT"에 의해 표현된 최대 피벗 개수를 초과하는지를 결정한다. 피벗 개수가 최대 피벗 개수를 초과한다고 결정한 것에 응답하여, 플래그 "found_CC"는 거짓(0)으로 설정되고, 내부 루프 플래그 "converge"는 참(1)으로 설정된다.
블록(334)에서, 제2 프로세스 흐름은 계속하여 플래그 "found_CC"가 참(1)으로 설정되어 있는지를 결정한다. 플래그 "found_CC"가 거짓(0)으로 설정되어 있다고 결정한 것에 응답하여, 제2 프로세스 흐름은 도 3a의 프로세스 흐름에서의 블록(310)으로 되돌아간다. 다른 한편으로, 플래그 "found_CC"가 참(1)으로 설정되어 있다고 결정한 것에 응답하여, 블록(336)에서, 제2 프로세스 흐름은 탐색 방향 값이 순방향 탐색 또는 역방향 탐색을 표시하는지를 결정한다. 탐색 방향 값이 역방향 탐색을 표시한다고 결정한 것에 응답하여, 블록(338)에서, 제2 프로세스 흐름은 생성된 피벗 점 리스트(pivot point list)에서의 엔트리들, 계수 리스트(coefficient list)에서의 엔트리들 등을 재정렬(reorder) 또는 반전(reverse)시키고 이어서 블록(340)으로 간다. 탐색 방향 값이 순방향 탐색을 표시한다고 결정한 것에 응답하여, 제2 프로세스 흐름은, 생성된 피벗 점 리스트에서의 엔트리들, 계수 리스트에서의 엔트리들 등을 재정렬 또는 반전시키지 않고, 곧바로 블록(340)으로 간다.
블록(340)에서, 제2 프로세스 흐름은, 생성된 피벗 점 리스트에서의 엔트리들, 계수 리스트에서의 엔트리들 등을 사용해 정의되는 바와 같은 다항식들에 기초하여, 생성된 LUT를 재구성하고, 목표 LUT와 생성된 LUT 사이의 최대 오차 "max_diff"를 계산한다. 블록(342)에서, 제2 프로세스 흐름은 최대 오차 "max_diff"가 이전의 최상의 최대 오차 "prev_best_max_error" 이하인지를 결정한다.
최대 오차 "max_diff"가 이전의 최상의 최대 오차 "prev_best_max_error" 이하라고 결정한 것에 응답하여, 생성된 피벗 점 리스트에서의 엔트리들, 생성된 계수 리스트에서의 엔트리들 등은 현재 최상의 피벗 점들, 현재 최상의 계수들 등으로서 저장되고, 제2 프로세스 흐름은 도 3a의 프로세스 흐름에서의 블록(310)으로 간다.
최대 오차 "max_diff"가 이전의 최상의 최대 오차 "prev_best_max_error" 초과라고 결정한 것에 응답하여, 생성된 피벗 점 리스트에서의 엔트리들, 생성된 계수 리스트에서의 엔트리들 등은 현재 최상의 피벗 점들, 현재 최상의 계수들 등으로서 저장되지 않고, 제2 프로세스 흐름은 도 3a의 프로세스 흐름에서의 블록(310)으로 간다.
블록(346)에서, 제2 프로세스 흐름은 연속성 조건 플래그 "continuity_condition"이 거짓(0)으로 설정되어 있는지 또는 변수 "num_pivot"이 1인지를 결정한다. 플래그 "continuity_condition"이 거짓으로 설정되어 있을 때, 앞서 논의된 바와 같은 연속성 조건 또는 연속성 제약조건이 시행되지 않는다. 플래그 "continuity_condition"이 참(1)으로 설정되어 있을 때, 앞서 논의된 바와 같은 연속성 조건 또는 연속성 제약조건이 시행된다.
연속성 조건이 시행되고 변수 "num_pivot"이 1이 아니라고 결정한 것에 응답하여, 제2 프로세스 흐름은 블록(348)으로 간다. 일부 실시예들에서, 도 3a의 프로세스 흐름이 블록(304) 내지 블록(310)에 의해 표현된 내부 루프에 진입하기 전에, 변수 "num_pivot"은 1로 초기화되었고, 그 후에 내부 루프에서 다항식에 의해 근사화되는 새로운 (예컨대, 유효한, 기타) 세그먼트가 결정 또는 선택될 때마다 1만큼 증가된다. 따라서, 변수 "num_pivot"이 1이 아닐 때, 블록(346)에서의 제2 프로세스 흐름은 적어도 하나의 다항식에 의해 근사화되는 적어도 하나의 세그먼트가 결정/선택된 반복을 처리하는 것이다.
일부 실시예들에서, 입력 코드워드 값들(예컨대, LUT의 키-값 쌍에서의 키 등)을 매핑된 코드 값들(예컨대, LUT의 키-값 쌍에서의 값 등)에 매핑하는 목표 LUT, 비-목표 LUT 등과 같은 LUT는, 수평 축이 입력 코드워드 값들을 나타내고 수직 축이 매핑된 코드워드 값들을 나타내는, 좌표계(예컨대, 직교 좌표계(Cartesian coordinate system) 등)에 표현될 수 있다. 목표 LUT의 마지막 세그먼트를 근사화하는 데 사용된 마지막 다항식은 목표 LUT에서의 다음 엔트리(예컨대, 좌표계에서 마지막 세그먼트 이후의 다음 데이터 점 등)에 있는 입력 코드 값에 기초하여 매핑된 코드워드 값을 계산하는 데 사용될 수 있다. 다음 엔트리에 있는 입력 코드 값 및 그의 대응하는 계산된 매핑된 코드워드 값과 마지막 다항식의 조합은 연속성 조건 또는 제약조건을 시행하기 위한 목적으로 세그먼트 후보에 대한 참조(피벗) 점으로서 사용될 수 있다.
블록(348)에서, 제2 프로세스 흐름은 마지막 세그먼트를 근사화하는 마지막 다항식으로부터 적어도 부분적으로 생성되는 바와 같은 참조(피벗) 점에 대해 현재 세그먼트(예컨대, 세그먼트 후보 등)를 중심에 둔다. 블록 (348)에서 세그먼트 후보를 중심에 두는 것은 좌표계를 참조 점의 새로운 수평 및 수직 좌표 값들 중 하나 또는 둘 다가 0인 새로운 좌표계로 변환(transform)(예컨대, 전환(translate) 등)하는 것에 의해 달성될 수 있다. 블록(350)에서, 제2 프로세스 흐름은 세그먼트 후보 내의 데이터 점들의 개수가 3 이상인지를 결정한다. 세그먼트 후보 내의 데이터 점들의 개수가 3 이상이라고 결정한 것에 응답하여, 블록(352)에서, 제2 프로세스 흐름은 목표 LUT로부터의 세그먼트 후보 내의 데이터 점들에 기초하여 세그먼트 후보를 근사화하기 위해 2차 다항식을 생성한다. 세그먼트 후보 내의 데이터 점들의 개수가 3 미만이라고 결정한 것에 응답하여, 블록(354)에서, 제2 프로세스 흐름은 목표 LUT로부터의 세그먼트 후보 내의 데이터 점들에 기초하여 세그먼트 후보를 근사화하기 위해 1차 다항식을 생성한다. 블록(356)에서, 제2 프로세스 흐름은 새로운 좌표계를 다시 좌표계로 역 변환하는 것에 의해 (예컨대, 새로운 좌표계를 사용해 도출되는, 기타) 1차 또는 2차 다항식 중 어느 하나로부터 세그먼트 후보를 근사화하기 위해 (예컨대, 새로운 좌표계로 변환되기 전에 좌표계에서, 기타) 현재 다항식의 계수들을 분석적으로 도출한다.
블록(346)에서, 연속성 조건이 목표 LUT를 근사화하는 데 시행되지 않거나 변수 "num_pivot"이 1이라고 결정한 것에 응답하여, 제2 프로세스 흐름은 블록(358)으로 간다. 제2 프로세스 흐름은, 블록들(358, 360 및 362)에서, 블록들(350, 352 및 354)에서의 것들과 유사한 동작들을 수행한다.
도 3b에 도시된 바와 같이, 제2 프로세스 흐름은 블록들(356, 360 또는 362) 중 하나로부터 블록(364)으로 간다. 블록(364)에서, 제2 프로세스 흐름은, "다음 피벗 점"으로서 표시된, 현재 세그먼트의 상한이 목표 LUT에서의 마지막 가능한 (데이터) 점 또는 엔트리인지를 결정한다. 현재 세그먼트의 상한이 목표 LUT에서의 마지막 가능한 (데이터) 점 또는 엔트리라고 결정한 것에 응답하여, 제2 프로세스 흐름은 현재 세그먼트를 종결하고, 플래그 "found_one_seg"를 참(1)으로, 플래그 "converge"를 참(1)으로, 플래그 found_CC를 거짓(0)으로, 기타를 설정하고, 블록(332)으로 간다.
현재 세그먼트의 상한이 목표 LUT에서의 마지막 가능한 (데이터) 점 또는 엔트리가 아니라고 결정한 것에 응답하여, 제2 프로세스 흐름은 현재 세그먼트(또는 세그먼트 후보)가 근사화 연산들에 대해 설정된 정지 규칙(예컨대, 제로, 규칙 1, 규칙 2, 규칙 3, 기타 중 하나 이상)을 충족시키는지를 결정한다. 현재 세그먼트(또는 세그먼트 후보)가 정지 규칙을 충족시킨다고 결정한 것에 응답하여, 블록(372)에서, 제2 프로세스 흐름은 변수 "num_pivot"을 1만큼 증가시키고, 플래그 "found_one_seg"를 참(1)으로 설정하며, 플래그 "found_CC"를 거짓(0)으로 설정하고, 블록(332)으로 간다. 다른 한편으로, 현재 세그먼트(또는 세그먼트 후보)가 정지 규칙을 충족시키지 않는다고 결정한 것에 응답하여, 블록(372)에서, 제2 프로세스 흐름은 플래그 "found_one_seg"를 거짓(0)으로, 플래그 "found_CC"를 거짓(0)으로 설정하고, 블록(332)으로 간다.
제2 프로세스 흐름이 블록들(368, 372 또는 374) 중 임의의 것으로부터 블록(332)으로 가기 전에, 내부 루프 반복 카운트 "iter_cnt"가 1만큼 증가된다. 플래그 "found_one_seg"가 블록(374)의 경우에서와 같이 거짓인 채로 있을 때, 내부 반복 루프 카운트 "iter_cnt"가 다음 반복의 시작에서 증가될 것이기 때문에 다음 반복에 대한 세그먼트 후보의 길이가 증가할 것이다. 보다 긴 세그먼트 후보가 앞서 논의된 바와 같이 블록들(352, 354, 360 또는 362)에서 다항식에 의해 다음 반복에서 근사화될 것이다.
본원에 기술되는 바와 같은 기법들에 따른 적응적 재정형이 각종의 재정형 함수들 또는 그의 역함수들, 분석 또는 비-분석 함수들을 표현하는 LUT들, 기타 중 하나 이상을 사용해 수행될 수 있다. 멱함수들을 재정형 함수들 또는 그의 역함수들로서 사용하는 경우에, 기법들은 지각 품질을 향상시키기 위해 멱함수들에 대한 지수 값들 등과 같은 적응적 재정형 파라미터들을 특정 방식으로 선택하는 데 사용될 수 있다.
일부 실시예들에서, 소스 비디오 콘텐츠, 중간 비디오 콘텐츠, 출력 비디오 콘텐츠 등과 같은 비디오 콘텐츠는 지각적으로 양자화된(PQ) 색 공간 등과 같은 비선형 색 공간에서 인코딩될 수 있다. PQ 색 공간은 비디오 콘텐츠를 인코딩하기 위한 이용가능 PQ 코드워드 세트를 포함할 수 있다. PQ 색 공간에서의 상이한 PQ 코드워드들은 휘도 값들에 따라 선형적으로 스케일링되지 않을 수 있지만, 오히려 휘도 값들에서의 변하는 양자화 스텝(quantization step)들에 대응할 수 있다. 예를 들어, PQ 색 공간은 어두운 휘도 값 영역들에 보다 많은 코드워드들을 할당하고 밝은 휘도 값 영역들에 보다 적은 코드워드들을 할당할 수 있다. PQ 색 공간들, 변환들, 매핑들, 전달 함수들 등의 일부 예들은, 참조에 의해 그 전체가 본원에 원용되는, SMPTE ST 2084:2014 "High Dynamic Range EOTF of Mastering Reference Displays"에 기술되어 있다.
본원에 기술되는 바와 같은 기법들은 입력 비디오 콘텐츠(예컨대, 소스 비디오 콘텐츠, PQ 인코딩된 비디오 콘텐츠, 비교적 큰 이용가능 코드워드 세트를 갖는 비디오 콘텐츠 등)을 비교적 제한된 재정형된 코드워드 세트 - 이는 이어서 비교적 낮은 비트 깊이의 비디오 신호에 담길 수 있음 -를 포함하는 재정형 함수(예컨대, 순방향 멱함수 등)를 사용해 인코딩되는 재정형된 비디오 콘텐츠로 적응적으로 정형하는 데 사용될 수 있다.
본원에 기술되는 바와 같은 비교적 제한된 재정형된 코드워드 세트는, 밝은 시각적 특징들(예컨대, 하늘, 창문들, 광택이 나는 금속, 비행기들, 자동차들 등)의 큰 구역들을 포함하는 영상들과 같은, 비교적 매끄러운 밝은 영상들, 비교적 매끄러운 밝은 장면들 등에 대한 고 휘도 값 영역들에 보다 많은 코드워드들을 할당할 수 있다. 재정형 함수에서 고 휘도 값 영역들에 보다 많은 코드워드들을 할당하는 것은 그 영상들, 장면들 등에서 컬러 밴딩 등과 같은 시각적 아티팩트들을 감소시키거나 방지한다. 일부 실시예들에서, 순방향 멱함수들에 의해 표현되는 (예컨대, 순방향, 기타) 재정형 함수들에 대해 비교적 큰 지수 값들이 선택될 수 있다. 순방향 멱함수에 대한 비교적 큰 지수 값(예컨대, 1.6, 1.7, 밴딩 아티팩트들이 제거되는 비교적 큰 값 등)은 밝은 구역들을 표현하는 비디오 콘텐츠 부분들을 재정형하기 위해 비교적 보다 많은 코드워드들을 제공한다. 이와 달리, 비교적 큰 지수 값들을 갖는 순방향 멱함수들을 사용해 정형되는 수신된 적응적으로 정형된 비디오 신호에 기초하여 미리 재정형된 비디오 콘텐츠의 한 버전을 재구성하기 위해, (예컨대, 순방향, 기타) 재정형 함수들의 역함수들(예컨대, 역방향 멱함수들 등)은 순방향 멱함수들에서의 지수 값들의 역인 비교적 작은 지수 값들을 사용할 수 있다.
본원에 기술되는 바와 같은 비교적 제한된 재정형된 코드워드 세트는, 큰 어두운 시각적 특징들(예컨대, 그림자들, 별이 총총한 하늘, 밤, 조명이 약한 실내(low light indoor) 등)을 포함하는 영상들과 같은, 비교적 어두운 영상들, 비교적 어두운 장면들 등에 대한 저 휘도 값 영역들에 보다 많은 코드워드들을 할당할 수 있다. 재정형 함수에서 저 휘도 값 영역들에 보다 많은 코드워드들을 할당하는 것은 그 영상들, 장면들 등에서의 영상 디테일들 또는 특징들을 보존하는 데 도움이 된다. 일부 실시예들에서, 순방향 멱함수들에 의해 표현되는 (예컨대, 순방향, 기타) 재정형 함수들에 대해 비교적 작은 지수 값들이 선택될 수 있다. 순방향 멱함수에 대한 비교적 작은 지수 값(예컨대, 1.0, 어두운 영상 디테일들이 보존되는 비교적 작은 값 등)은 어두운 구역들을 표현하는 비디오 콘텐츠 부분들을 재정형하기 위해 비교적 보다 많은 코드워드들을 제공한다. 이와 달리, 비교적 작은 지수 값들을 갖는 순방향 멱함수들을 사용해 정형되는 수신된 적응적으로 정형된 비디오 신호에 기초하여 미리 재정형된 비디오 콘텐츠의 한 버전을 재구성하기 위해, (예컨대, 순방향, 기타) 재정형 함수들의 역함수들(예컨대, 역방향 멱함수들 등)은 순방향 멱함수들에서의 지수 값들의 역인 비교적 큰 지수 값들을 사용할 수 있다.
대부분의 객체들 또는 특징들을 중간 톤으로 묘사하는, 다른 영상들, 장면들 등에 대해, 재정형된 코드워드들이 휘도 값들의 면에서 보다 균일하게 분포될 수 있다. 예를 들어, 순방향 멱함수는 1.3, 1.4 등의 지수 값을 사용할 수 있다.
언급된 바와 같은 지수 값들이 단지 예시를 위한 것임에 유의해야 한다. 멱함수들이 재정형 함수의 적어도 일부에서 사용되는 경우, 이들 및 다른 지수 값들이 영상 유형들 등(이들로 한정되지는 않음)을 비롯한 각종의 인자들에 기초하여 채택될 수 있다. 그에 부가하여, 임의로, 또는 대안적으로, 멱함수들 이외의 함수들, 관계들 등이 재정형 함수의 적어도 일부에서 사용될 수 있다. 이 다른 함수들에 대해, 언급된 바와 같은 지수 값들 및 다른 지수 값들이 채택될 수 있다.
영상, 장면 등이 영상, 장면 등의 재구성된 버전에 컨투어링/밴딩 아티팩트들을 생성하기 쉬운 잠재적인 밝은 구역들을 갖는지를 결정하기 위해 본원에 기술되는 바와 같은 기법들에 따라 각종의 영상 처리 알고리즘들 중 하나 이상이 구현될 수 있다. 일부 실시예들에서, 영상, 장면 등에서의 각각의 영상은 다수의 비중복(non-overlapping) NxN 블록(NxN 픽셀들을 포함하며, 여기서 N은 2, 4, 6, 8, 16 등과 같은 양의 정수임)으로 분할될 수 있다. 블록들 중 일부 또는 전부 각각에서, 블록 내에서의 최솟값, 최댓값, 평균값 등이 계산/결정될 수 있다. 도 4a는 이러한 영상(또는 프레임), 장면 등이 매끄러운 밝은 구역들을 포함하는지를 결정하는 예시적인 알고리즘을 나타내고 있다. 블록에서의 최댓값과 최솟값 사이의 차이가 계산되고 차이 문턱값(T e 로서 표시됨)과 비교될 수 있다. 차이가 문턱값(T e )보다 더 작은 경우, 블록은 어쩌면 밴딩 아티팩트들이 생기기 쉬운 매끄러운 블록으로서 분류될 수 있다. 그에 부가하여, 임의로, 또는 대안적으로, 밝은 구역들을 정량화 또는 식별하기 위해, 블록의 평균값이 평균값 문턱값(T b 로서 표시됨)과 비교될 수 있다. 평균값이 문턱값(T b )을 초과하는 경우, 블록은 밝은 블록으로서 분류될 수 있다. 영상, 장면 등에서의 매끄러운 밝은 블록들의 개수는 영상, 장면 등의 전술한 분석에 기초하여 결정될 수 있다. 영상에서의 매끄러운 밝은 블록들의 개수가 블록들의 총수의 특정 비율(P b 로서 표시됨) 초과를 구성하면, 영상(또는 영상 프레임)은 매끄러운 밝은 구역들을 갖는 영상으로서 간주될 수 있다.
영상(또는 프레임), 장면 등이 비교적 큰 어두운 구역들을 갖는지를 결정하기 위해 각종의 영상 처리 알고리즘들 중 하나 이상이 본원에 기술되는 바와 같은 기법들에 따라 구현될 수 있다. 도 4b는 이러한 알고리즘의 일 예를 나타내고 있다. 일부 실시예들에서, 휘도 문턱값(T d 로서 표시됨)보다 더 작은 휘도 값들을 갖는 - 영상, 장면 등에서의 일부 또는 모든 픽셀들 중에서 - 어두운 픽셀들의 총수가 결정된다. 어두운 픽셀들의 총수가 퍼센트 문턱값(P d 로서 표시됨) 초과인 경우, 영상, 장면 등은 큰 어두운 구역들을 포함하는 것으로서 분류된다.
도 4c는 영상(또는 프레임), 장면 등이 비교적 큰 어두운 구역들을 갖는지를 결정하는 다른 예를 나타내고 있다. 블록에서의 최댓값과 최솟값 사이의 차이가 계산될 수 있다. 차이가 0이거나, 대안적으로 일부 실시예들에서 작은 차이 문턱값보다 더 작은 경우, 블록은 순수 흑색 블록으로서 분류되어 무시될 수 있다. 다른 한편으로, 차이가 0이 아니거나, 대안적으로 일부 실시예들에서 작은 차이 문턱값보다 작지 않은 경우, 블록은 비-순수 흑색 블록(non-pure black block)으로서 분류된다. 블록의 평균값이 제2 평균값 문턱값(T s 로서 표시됨)과 비교될 수 있다. 그에 부가하여, 임의로, 또는 대안적으로, 블록에서의 표준 편차 값이 또한 계산되어 표준 편차 문턱값(T std 로서 표시됨)과 비교될 수 있다. 평균값이 제2 평균값 문턱값(T s ) 미만이고, 표준 편차 값이 표준 편차 문턱값(T std ) 미만인 경우, 블록은 매끄러운 어두운 블록으로서 분류될 수 있다. 부드러운 어두운 구역은 이어서 특정 수의 매끄러운 어두운 블록들 사이에 또는 그들 간에 연결되는 적어도 특정 수(예컨대, 8, 10, 16, 2 초과의 상이한 양의 정수)의 매끄러운 어두운 블록들을 포함하는 구역으로서 식별될 수 있다. 영상에서의 가장 큰 매끄러운 어두운 구역은 영상으로부터 식별된 0개, 1개 이상의 매끄러운 어두운 구역들 중에서 결정될 수 있다. 영상에서의 가장 큰 매끄러운 어두운 구역 내의 어두운 매끄러운 블록들의 개수가 블록들의 총수의 특정 퍼센트(P bd 로 표시됨) 초과를 구성할 수 있는 경우, 영상(또는 영상 프레임)은 매끄러운 어두운 구역들을 갖는 영상으로서 간주될 수 있다.
일부 실시예들에서, 본원에 기술되는 바와 같은 코덱은 상이한 적응적 재정형 파라미터 후보 세트들에 기초하여 복수의 후보 LUT들을 미리 계산할 수 있다. 예를 들어, 재정형 함수들이 멱함수들에 기초하는 실시예들에서, 각각의 적응적 재정형 파라미터 후보 세트는 소스 비디오 신호에 의해 지원되는 다이내믹 레인지의 상한, 소스 비디오 신호에 의해 지원되는 다이내믹 레인지의 하한, 지수 값 등을 포함할 수 있고; 대응하는 후보 LUT는 그 적응적 재정형 파라미터 후보 세트에 적어도 부분적으로 기초하여 미리 계산될 수 있다. 마찬가지로, 후보 재정형 함수의 역함수를 표현하는 후보 LUT는 적응적 재정형 파라미터 후보 세트에 기초하여 미리 계산될 수 있다. 그에 부가하여, 임의로, 또는 대안적으로, 재정형 함수 및 그의 역함수를 표현할 수 있는 하나 이상의 목표 LUT들을 근사화하기 위해, 대응하는 후보 다항식 계수들, 피벗들 등의 하나 이상의 후보 세트들과 함께 하나 이상의 다항식 후보 세트들이 미리 계산될 수 있다. 미리 계산되는 바와 같은 전술한 것들 중 일부 또는 전부가 메모리에 저장될 수 있다. 예를 들어, 계산될 후보 알파 값들은 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 기타 중 임의의 것을 포함할 수 있지만, 이들로만 한정되지는 않는다. 1.0의 알파 값은, 그 경우에 재정형 함수가 선형 함수이기 때문에, LUT를 필요로 하지 않을 수 있다는 것에 유의해야 한다. 일부 실시예들에서, 후보 LUT들은 (예컨대, 이웃하는 코드워드 값들의 쌍들 등에 의해 표현되는) 상이한 양자화 스텝들을 갖는 LUT들을 포함할 수 있다. 런타임 시에, 영상이 인코더에서 재정형되거나 디코더에서 역 매핑될 때, 영상의 실제 콘텐츠를 기반으로 계산된 통계에 기초하여, 후보 LUT(또는 후보 다항식 계수들, 피벗들 등을 갖는 후보 다항식들)이 복수의 LUT들 중에서 적응적 재정형 또는 대응하는 역 매핑을 적용하기 위한 LUT(또는 다항식 계수들, 피벗들 등을 갖는 다항식들)로서 선택될 수 있다.
일부 실시예들에서, 다항식 계수들, 피벗들 등의 일부 또는 전부는 본원에 기술되는 바와 같은 기법들에 따라 4 바이트(예컨대, 정수에 대한 1 바이트 및 소수점(fractional point)에 대한 3 바이트 등)와 같은 특정 수의 바이트들로 표현될 수 있다.
LUT(또는 다항식 계수들, 피벗들 등을 갖는 다항식들)은 장면마다, 영상마다, 기타마다 적응적으로 결정될 수 있다.
6. 예시적인 프로세스 흐름
도 5a는 예시적인 프로세스 흐름을 나타내고 있다. 일부 실시예들에서, 하나 이상의 컴퓨팅 디바이스들 또는 컴포넌트들이 이 프로세스 흐름을 수행할 수 있다. 블록(502)에서, 비디오 인코더(예컨대, 도 1a의 102)는 소스 영상 시퀀스를 수신하고; 비디오 인코더(102)는 소스 영상 시퀀스 내의 하나 이상의 소스 영상들에 기초하여 하나 이상의 통계 값들을 계산한다.
블록(504)에서, 비디오 인코더(102)는, 하나 이상의 통계 값들에 기초하여, 하나 이상의 소스 영상들에 대한 적응적 재정형 함수를 선택한다.
블록(506)에서, 비디오 인코더(102)는, 재정형된 비디오 콘텐츠의 한 부분을 생성하기 위해, 선택된 적응적 재정형 함수에 적어도 부분적으로 기초하여, 소스 비디오 콘텐츠의 한 부분을 적응적으로 재정형하며, 소스 비디오 콘텐츠의 그 부분은 하나 이상의 소스 영상들에 의해 표현된다.
블록(508)에서, 비디오 인코더(102)는 선택된 적응적 재정형 함수의 역함수의 근사 함수를 생성한다.
블록(510)에서, 비디오 인코더(102)는 재정형된 비디오 콘텐츠 및 선택된 적응적 재정형 함수의 역함수의 근사 함수를 정의하는 적응적 재정형 파라미터 세트를 재정형된 비디오 신호로 인코딩한다.
일 실시예에서, 재정형된 비디오 콘텐츠의 그 부분은 하나 이상의 재정형된 영상들을 포함한다.
일 실시예에서, 하나 이상의 소스 영상들은 장면을 형성한다.
일 실시예에서, 하나 이상의 통계 값들은 하나 이상의 소스 영상들에서의 소스 코드워드들에 기초하여 결정되는 바와 같은 최댓값, 최솟값, 평균값(mean value), 중앙값(median value), 평균값(average value), 표준 편차 값, 기타 중 적어도 하나를 포함한다.
일 실시예에서, 선택된 적응적 재정형 함수 또는 선택된 적응적 재정형 함수의 역함수 중 적어도 하나는 분석 함수들, 비-분석 함수들, 룩업 테이블(LUT)들, 시그모이드 함수(sigmoid function)들, 멱함수들, 구분적 함수들, 기타 중 하나 이상을 포함한다.
일 실시예에서, 선택된 적응적 재정형 함수의 역함수의 근사 함수는 다항식 세트에 의해 표현된다.
일 실시예에서, 다항식 세트 내의 다항식들의 총수는 개수 문턱값 미만으로 제한된다.
일 실시예에서, 다항식 세트 내의 다항식들에 대한 계수들은 다항식들에 의해 주어지는 값들과 선택된 적응적 재정형 함수의 역함수를 표현하는 목표 룩업 테이블(LUT)에 주어져 있는 값들 사이의 차이들을 최소화하는 것에 기초하여 결정된다.
일 실시예에서, 비디오 인코더(102)는 선택된 적응적 재정형 함수의 역함수에 대해 결정된 함수의 유형에 기초하여 다항식 세트를 생성하기 위한 연속성 조건을 선택하도록 추가로 구성된다.
일 실시예에서, 다항식 세트는 하나 이상의 소스 영상들이 적응적 재정형을 위해 처리되기 전에 미리 결정된다.
일 실시예에서, 다항식 세트는 하나 이상의 소스 영상들이 적응적 재정형을 위해 처리되고 있는 동안 동적으로 결정된다.
일 실시예에서, 비디오 인코더(102)는 하나 이상의 소스 영상들을 매끄러운 밝은 구역들을 포함하는 영상들, 매끄러운 어두운 구역들을 포함하는 영상들, 또는 중간 톤 영상들 중 하나로서 분류하도록 추가로 구성된다.
일 실시예에서, 소스 비디오 콘텐츠의 그 부분은 색 공간의 복수의 채널들 중 하나 이상의 채널들에 대한 재정형된 비디오 콘텐츠의 그 부분으로 적응적으로 재정형된다.
일 실시예에서, 하나 이상의 채널들은 휘도 관련 채널을 포함한다.
일 실시예에서, 재정형된 비디오 신호는 듀얼 채널 8-비트 비디오 신호 또는 단일 채널 10-비트 비디오 신호 중 하나이다.
일 실시예에서, 재정형된 비디오 신호는 AVC(advanced video coding) 인코더, MPEG(Moving Picture Experts Group)-2 인코더, 또는 HEVC(High Efficiency Video Coding) 인코더 중 적어도 하나에 의해 생성된다.
일 실시예에서, 소스 영상 시퀀스가 지각적으로 인코딩된다.
일 실시예에서, 소스 비디오 콘텐츠의 그 부분은 선택된 적응적 재정형 함수의 어떤 근사화도 사용하지 않고서 재정형된 비디오 콘텐츠의 그 부분으로 적응적으로 재정형된다.
도 5b는 예시적인 프로세스 흐름을 나타내고 있다. 일부 실시예들에서, 하나 이상의 컴퓨팅 디바이스들 또는 컴포넌트들이 이 프로세스 흐름을 수행할 수 있다. 블록(552)에서, 비디오 디코더(예컨대, 도 1a의 152)는 재정형된 비디오 콘텐츠 및 적응적 재정형 함수의 역함수에 관련된 적응적 재정형 파라미터 세트를 재정형된 비디오 신호로부터 검색하고, 재정형된 비디오 콘텐츠는 적응적 재정형 함수에 적어도 부분적으로 기초하여 업스트림 디바이스에 의해 생성된다.
블록(504)에서, 비디오 디코더(152)는 재구성된 비디오 콘텐츠의 한 부분을 생성하기 위해, 적응적 재정형 함수의 역함수에 적어도 부분적으로 기초하여, 재정형된 비디오 콘텐츠의 한 부분을 역 매핑한다.
블록(506)에서, 비디오 디코더(152)는, 재구성된 비디오 콘텐츠의 그 부분에 적어도 부분적으로 기초하여, 재구성된 영상 시퀀스를 생성하며, 재구성된 영상 시퀀스는 재정형된 비디오 콘텐츠를 생성하기 위해 업스트림 디바이스에 의해 사용되는 소스 영상 시퀀스의 재구성된 버전을 나타낸다.
일 실시예에서, 비디오 디코더(152)는 디스플레이 시스템에서 복수의 재구성된 영상들을 렌더링하도록 추가로 구성된다.
일 실시예에서, 비디오 디코더(152)는, 재정형된 비디오 신호로부터의 적응적 재정형 함수의 역함수에 관련된 적응적 재정형 파라미터 세트에 적어도 부분적으로 기초하여, 적응적 재정형 함수의 역함수를 표현하는 목표 룩업 테이블(LUT)의 근사치를 확정(establish)하는 것 등을 수행하도록 추가로 구성된다.
다양한 예시적인 실시예들에서, 인코더, 디코더, 트랜스코더, 시스템, 장치, 또는 하나 이상의 다른 컴퓨팅 디바이스들은 기술된 바와 같은 전술한 방법들 중 임의의 것 또는 일부를 수행한다. 일 실시예에서, 비일시적 컴퓨터 판독가능 저장 매체는, 하나 이상의 프로세서들에 의해 실행될 때, 본원에 기술되는 바와 같은 방법을 수행하게 하는 소프트웨어 명령어들을 저장한다.
개별적인 실시예들이 본원에서 논의되지만, 본원에서 논의되는 실시예들 및/또는 부분 실시예들의 임의의 조합이 추가의 실시예들을 형성하기 위해 조합될 수 있다는 것에 유의해야 한다.
7. 실시간 최적화
앞서 논의된 바와 같이, 2차 다항식들을 사용하여 재정형 함수의 구분적 근사 함수를 생성하는 방법은 다음과 같이 요약될 수 있다: 시작점(starting point)이 주어지면, 재정형 곡선(reshaping curve)을 따라 세그먼트를 식별하기 위해 탐색이 수행된다. 한 세트의 종료 조건들이 충족되면, 본 방법은 피벗 점을 설정하고, 전체 곡선이 세그먼트화될 때까지 새로운 탐색을 개시한다. 이 프로세스는 다음과 같이 세분화할 수 있다: (1) 후보 피벗 포인트들에 대한 각각의 세그먼트에 대해 다항식 계수들을 계산하고, (2) 각각의 후보에 대한 근사화 오차를 결정하며, (3) 근사화 오차가 목표 문턱값보다 작으면, 세그먼트를 유효한 것으로 선언하고 그 세그먼트에 대한 종료 피벗 점(end pivot point)을 설정한다. (4) 모든 세그먼트들이 식별될 때, 근사화 다항식들의 정확도를 개선시키기 위해 보다 작은 목표 문턱값을 사용하여 프로세스가 반복될 수 있다.
계산의 관점에서 볼 때, 단계 (1)은 가장 많은 시간을 소비하고, 단계(4)가 뒤따른다. 본 발명자들이 알고 있는 바와 같이, 일부 실시예들은 어쩌면 감소된 정확도를 대가로 실시간 구현을 요구할 수 있다. 이 섹션에서, 이러한 실시간 구현들을 위해 각종의 개선들이 제시된다. 개선들은 두 가지 부류들로 나누어질 수 있다: a) 정확도를 잃지 않고 각각의 세그먼트 내의 다항식 계수들을 계산하는 보다 빠른 방법, 및 b) 수렴하는, 즉 (어떤 기준에 따른) 최상의 근사화 세그먼트들을 식별하는 데 요구된 총 반복 횟수를 감소시키는 보다 빠른 방법.
연속성 제약조건을 갖지 않는 빠른 다항식 해법
일반성을 잃지 않고 하기의 2차 다항식에 의해 근사화되는 곡선의 p 번째 세그먼트를 생각해보자:
Figure pct00019
여기서 s p,i p 번째 다항식 세그먼트에 대응하는 표준의(또는 보다 낮은) 다이내믹 레인지(SDR 또는 LDR)의 i 번째 재정형된 픽셀 값을 나타낸다. v i를 대응하는 동일 위치에 있는(co-located) 원래의 HDR(high dynamic range) 픽셀 값이라고 하자.
Figure pct00020
를 대응하는 동일 위치에 있는 예측된 HDR 픽셀이라고 하자. 다항식의 p 번째 세그먼트가 S p,L (L)부터 S p,H (H)까지의 SDR 값들의 범위를 갖는다고 하고, 여기서 현재 p 번째 세그먼트에서 L은 하한 피벗 인덱스(low pivot index)이고 H는 상한 피벗 인덱스(high pivot index)이다(간단함을 위해, p 인덱스는 LH 로부터 드롭(drop)되어 있다). 일 실시예에서, 수학식 10에서의 다항식의 파라미터들(m p,j , 단 j=0, 1, 및 2임)은 다음과 같이 최소 제곱 해(least-square solution)를 사용하여 계산될 수 있다.
수학식 10은 다음과 같이 벡터-행렬 형태로 다시 쓰여질 수 있고:
Figure pct00021
또는
Figure pct00022
이고, 최소 제곱 해는
Figure pct00023
에 의해 주어지고, 여기서
Figure pct00024
는 원래의 HDR 픽셀들의 벡터를 나타낸다. 논의를 용이하게 하기 위해, B p 행렬 및 벡터 a p 가 또한 다음과 같이 정의되고:
Figure pct00025
Figure pct00026
여기서
Figure pct00027
B p 행렬에 대해, 그의 요소들 각각은 다음과 같이 계산될 수 있다:
Figure pct00028
a p 벡터에 대해,
Figure pct00029
이 주어지면, 각각의 요소는 다음과 같이 계산될 수 있다:
Figure pct00030
수학식 14에서, B p 행렬의 요소들을 계산하는 것은 하기의 인자들을 계산하는 것을 필요로 한다:
Figure pct00031
그렇지만, s pi 값들은 유한이고, 이를테면 정규화되어 있는 경우 [0,1] 내에 있거나 정규화되어 있지 않은 경우, [0, 2 비트-깊이 -1] 내에 있고, 따라서, 일 실시예에서, 미리 계산된 룩업 테이블(LUT)들을 다음과 같이 사용하는 것에 의해 수학식 11을 푸는 계산 시간이 개선될 수 있다.
β(베타)가 다음과 같이 수학식 16의 미리 계산된 값들을 나타낸다고 하고:
Figure pct00032
여기서 β[i,j]에 대한 인덱스들 i, ji= [0, Max] 및 j=[0, 4]의 범위에 있고, Max 는 특정 비디오 시퀀스에서 가능한 최대 픽셀 값을 나타낸다.
상기 LUT로부터, s L s H 사이의 임의의 값 p 에 대해, B p 행렬이 다음과 같이 계산될 수 있다:
Figure pct00033
하부 피벗(lower pivot)이 0일 때, 수학식 14에 L = 0을 대입하고 수학식 19를 사용하여 B p 행렬을 계산할 수 있다:
Figure pct00034
베타 LUT에 대해 동일한 프로세스를 따라서, 또한 알파(α) (Max+1) x 4 LUT를 다음과 같이 정의할 수 있다:
Figure pct00035
이어서, a p 벡터의 요소들이 알파 LUT로 환산하여 다음과 같이 계산될 수 있다:
Figure pct00036
L=0에 대해, 수학식 21은 다음과 같이 간략화될 수 있다:
Figure pct00037
요약하면, 표 1은 다항식 계수들의 보다 빠른 계산을 위한 단계들을 의사 코드로 나타내고 있다.
표 1: 연속성 제약조건을 갖지 않는 다항식 파라미터들에 대한 빠른 해법
1. 시퀀스 레벨에서 LUT β를 생성한다

2. 각각의 프레임에서, LUT α를 생성한다

3. 각각의 세그먼트에 대해

a. 수학식 18 또는 수학식 19를 사용하여 B p 행렬을 계산한다

b. 수학식 21 또는 수학식 21b를 사용하여 a p 벡터를 계산한다

c.
Figure pct00038
를 푼다
연속성 제약조건을 갖는 빠른 다항식 해법
연속성 제약조건 하에서, p 번째 다항식의 시작점이 p-1 번째 다항식의 종료점(ending point)에 연결되어야 하며, 따라서 연결된 구분(connected piece)들이 연속적이다. s p -1 p-1 번째 세그먼트에 대한 종료 SDR 값(end SDR value)을 나타낸다고 하자. 그러면, 대응하는 HDR 예측된 값은 다음과 같이 계산될 수 있다:
Figure pct00039
Figure pct00040
인 경우, 단일의 예측된 값
Figure pct00041
가 있어야 한다는 제약조건 하에서, 예측 다항식이 다음과 같이 도출될 수 있다:
Figure pct00042
이는, 이전과 같이,
Figure pct00043
로서 표현될 수 있다. 유의할 점은, 순방향 세그먼트 탐색(forward segment search) 동안, p-1 번째 세그먼트는 p 번째 세그먼트 이전에 있고, 따라서 p-1 번째 세그먼트의 종료점(end point)이 p 번째 세그먼트의 시작점(beginning point)과 일치해야만 하지만; 역방향 세그먼트 탐색(reverse segment search) 동안, p-1 번째 세그먼트는 p 번째 세그먼트 이후에 있고, 따라서 p-1 번째 세그먼트의 시작점이 p 번째 세그먼트의 종료점과 일치해야 한다는 것이다.
수학식 24가 주어지면, 이전과 유사한 접근법을 따라서, 일 실시예에서, 이 수학식에 대한 해가 표 2에서의 단계들을 따라서 도출될 수 있다는 것을 증명할 수 있다.
표 2: 연속성 제약조건을 갖는 다항식 파라미터들에 대한 빠른 해법

1. 시퀀스 레벨에서, LUT β를 생성한다
2. 각각의 프레임에 대해, 각각의 세그먼트 근사화 시작에서,
Figure pct00044
을 생성한다
3. 순방향 근사화

- 현재 p 번째 세그먼트에 대해, L이 기지의 하한점(low point)을 나타내는 것으로 한다
- i = L,..., H에 대해
- B p 행렬을 계산하고,
Figure pct00045

- a p 벡터를 계산하고; H i 가 종료점 후보를 나타내는 것으로 한다.
Figure pct00046
가 이전 세그먼트 종료점으로부터 HDR 추정된 값이라고 하고, 그러면
Figure pct00047
이고, 여기서
Figure pct00048
는 SDR 값
Figure pct00049
에 대응하는 HDR 값이고,
Figure pct00050
는 (H i -L) 번째 SDR 값이다.

4. 역방향 근사화
- 현재 p 번째 세그먼트에 대해, H가 기지의 상한점(high point)을 나타내는 것으로 한다.
- i = H,...L에 대해
- B p 행렬을 계산하고,
Figure pct00051

- a p 벡터를 계산하고; L i 가 시작점 후보를 나타내는 것으로 한다.
Figure pct00052
가 순방향 세그먼트 시작점에서 계산된 HDR 값이라고 하고, 이어서 업데이트하고,

Figure pct00053
이며, 여기서
Figure pct00054
는 SDR 값
Figure pct00055
에 대응하는 HDR 값이고,
Figure pct00056
는 (H-L i ) 번째 SDR 값이다.
5.
Figure pct00057
보다 빠른 수렴을 위한 적응적 종료 조건
앞서 기술한 바와 같이, 근사화 알고리즘은 다항식 세그먼트들을 계속적으로 탐색하는 것에 의해 동작한다. 근사화 알고리즘은 시작점으로부터 시작하고, 이어서 곡선을 따라 후보 종료점들을 시도하며; 종료 조건들이 곡선에서의 임의의 지점에 의해 충족되면, 근사화 알고리즘은 피벗의 끝을 그 지점으로서 설정하고 이어서 새로운 탐색을 시작한다. 앞서 기술한 바와 같이, 임의의 세그먼트에 대한 종료 조건은 다음과 같다:
규칙 1:
Figure pct00058
즉,
i. 2개의 연속된 문턱값 검출기들 사이에 상승 에지가 있고, 즉, 현재 피팅 오차가 오차 문턱값 미만이고 하나의 점을 사용하는 피팅이 문턱값 초과의 오차를 야기하거나,
ii. 세그먼트가 미리 정의된 최대 길이보다 길다.
규칙 2:
Figure pct00059
즉,
i. 현재 피팅 오차가 오차 문턱값 미만이고, 세그먼트들이 미리 정의된 최소 길이 이상이어야 하거나,
ii. 세그먼트가 미리 정의된 최대 길이보다 길다.
규칙 3:
Figure pct00060
즉:
i. 현재 피팅 오차가 오차 문턱값 미만이고,
ii. 세그먼트가 미리 정의된 최소 길이를 충족시킨다.
일 실시예에서, 오차 문턱값은 고정된 값으로부터 시작하고, 각각의 반복의 끝에서, k 배(k <1, 예컨대, k = 0.75)만큼 감소된다. 탐색은 최대 반복 횟수(n)가 완료될 때까지 계속된다.
일 실시예에서, 원래의 오차 문턱값(th )이 주어지면, 각각의 반복에서, 문턱값이 고정된 퍼센트(예컨대, th = k*th, k < 1)만큼 감소된다. 최적 해(optimal solution)가 영 오차(zero error)를 갖는 최악의 시나리오를 가정하면, 각각의 반복에서의 k 만큼의 오차 감소에 의해, n번의 반복이 주어지면, 이 전략은 최적에 적어도 k n 만큼 더 가까운 해법을 생성하도록 보장된다. 표 3은 보다 빠른, 그러나 차선의 수렴을 제공하는 다른 실시예에 따라 오차 목표를 조절하는 예시적인 방법을 제공한다.
표 3: 적응적 오차 문턱값 조절
1. 초기 오차 문턱값 th(예컨대, th = 0.005)를 설정한다
2. 왼쪽으로부터 오른쪽으로(순방향 탐색) 또는 오른쪽으로부터 왼쪽으로(역방향 탐색) 2차 다항식들을 세그먼트들에 차례로 피팅하고; 피팅 오차가 문턱값 th를 초과하지 않도록 각각의 세그먼트가 선택된다.
3. 곡선의 각각의 피팅 이후에 발생되는 최소 오차의 기록을 e fit 로서 유지한다.
4. 새로운 오차 목표를 k* e fit 로 설정하고, 여기서 k < 1, (예컨대, k = 0.5)이다
k의 보다 큰 값들이, 속도를 희생시켜, 오차 성능을 개선시킨다는 것이 관찰되었다.
일부 프레임들에 대해, 오차가 일정한 값으로 수렴한다는 것이 또한 관찰되었다. 이어서, 반복들을 계속하는 것은 오차 성능의 면에서 어떤 가치도 부가하지 않는다. 이 시나리오는 하나 이상의 종료 조건을 추가하는 것에 의해 방지될 수 있다:
규칙 4:
i. 이전 반복에서의 최상의 오차(예컨대, e fit (t-1))가 현재 반복에서 최상의 오차(예컨대, e fit (t))와 (문턱값 내에서) 같으면(예컨대, |e fit (t) - e fit (t-1))| < th2 이면) 종료한다.
추가된 종료 조건은, 오차 문턱값을 감소시킬 때 성능의 개선이 없다는 것을 발견하면, 알고리즘이 부가의 반복들로 탐색하지 못하게 한다. 이 조건의 추가가 영상에 대해 역방향 재정형 함수를 적용한 후에 어떤 상당한 시각적 아티팩트들도 유입시키지 않았다는 것이 관찰되었다.
역방향 재정형 LUT의 구성
역방향 LUT는 디코더가 역방향 매핑을 수행할 수 있게, 즉 들어오는 재정형된(SDR) 값들을 원래의 HDR 값들에 매핑할 수 있게 한다. 다수의 HDR 값들이 단일의 SDR 값에 매핑될 수 있기 때문에, 일 실시예에서, 제한없이, 중간 HDR 값이 선택된다. 표 4는 역방향 재정형 LUT의 빠른 구성을 의사 코드로 기술하고 있다.
표 4 - 역방향 재정형 LUT의 구성
Figure pct00061
8. 구현 메커니즘 - 하드웨어 개요
일 실시예에 따르면, 본원에 기술되는 기법들은 하나 이상의 특수 목적 컴퓨팅 디바이스들에 의해 구현된다. 특수 목적 컴퓨팅 디바이스들은 기법들을 수행하기 위해 하드 와이어드(hard-wired)되어 있을 수 있거나, 기법들을 수행하도록 영속적으로 프로그래밍되어 있는 하나 이상의 ASIC(application-specific integrated circuit)들 또는 FPGA(field programmable gate array)들과 같은 디지털 전자 디바이스들을 포함할 수 있거나, 펌웨어, 메모리, 다른 저장소, 또는 조합에 있는 프로그램 명령어들에 따라 기법들을 수행하도록 프로그래밍되어 있는 하나 이상의 범용 하드웨어 프로세서들을 포함할 수 있다. 이러한 특수 목적 컴퓨팅 디바이스들은 또한 기법들을 달성하기 위해 커스텀 하드 와이어드 로직(custom hard-wired logic), ASIC들, 또는 FPGA들과 커스텀 프로그래밍을 겸비할 수 있다. 특수 목적 컴퓨팅 디바이스들은 기법들을 구현하는 하드 와이어드 및/또는 프로그램 로직을 포함하는 데스크톱 컴퓨터 시스템들, 휴대용 컴퓨터 시스템들, 핸드헬드 디바이스들, 네트워킹 디바이스들 또는 임의의 다른 디바이스일 수 있다.
예를 들어, 도 6은 본 발명의 예시적인 실시예가 구현될 수 있는 컴퓨터 시스템(600)을 나타내는 블록도이다. 컴퓨터 시스템(600)은 정보를 전달하는 버스(602) 또는 다른 통신 메커니즘, 및 버스(602)와 결합되어 있는, 정보를 처리하는 하드웨어 프로세서(604)를 포함한다. 하드웨어 프로세서(604)는, 예를 들어, 범용 마이크로프로세서일 수 있다.
컴퓨터 시스템(600)은 또한 버스(602)에 결합되어 있는, 프로세서(604)에 의해 실행될 명령어들 및 정보를 저장하는, 랜덤 액세스 메모리(RAM) 또는 다른 동적 저장 디바이스와 같은, 메인 메모리(606)를 포함한다. 메인 메모리(606)는 또한 프로세서(604)에 의해 실행될 명령어들의 실행 동안 임시 변수들 또는 다른 중간 정보를 저장하는 데 사용될 수 있다. 이러한 명령어들은, 프로세서(604)에 의해 액세스가능한 비일시적 저장 매체에 저장될 때, 컴퓨터 시스템(600)을 명령어들에 명시된 동작들을 수행하도록 커스터마이즈되어 있는 특수 목적 머신으로 만든다.
컴퓨터 시스템(600)은 버스(602)에 결합되어 있는, 프로세서(604)에 대한 명령어들 및 정적 정보를 저장하는 판독 전용 메모리(ROM)(608) 또는 다른 정적 저장 디바이스를 추가로 포함한다. 정보 및 명령어들을 저장하는, 자기 디스크 또는 광학 디스크와 같은, 저장 디바이스(610)가 제공되고 버스(602)에 결합되어 있다.
컴퓨터 시스템(600)은 컴퓨터 사용자에게 정보를 디스플레이하기 위한, 액정 디스플레이(liquid crystal display)와 같은, 디스플레이(612)에 버스(602)를 통해 결합될 수 있다. 영숫자 및 다른 키들을 포함하는 입력 디바이스(614)는 정보 및 커맨드 선택들을 프로세서(604)에 전달하기 위해 버스(602)에 결합된다. 다른 유형의 사용자 입력 디바이스는 방향 정보 및 커맨드 선택들을 프로세서(604)에 전달하기 위한 그리고 디스플레이(612) 상에서의 커서 움직임을 제어하기 위한, 마우스, 트랙볼, 또는 커서 방향 키들과 같은, 커서 컨트롤(616)이다. 이 입력 디바이스는 전형적으로 디바이스가 평면에서의 위치들을 명시할 수 있게 하는 2개의 축들 - 제1 축(예컨대, x축) 및 제2 축(예컨대, y축) - 에서 2 자유도를 가진다.
컴퓨터 시스템(600)은, 컴퓨터 시스템과 결합하여, 컴퓨터 시스템(600)을 특수 목적 머신으로 되게 하거나 그렇게 되게 프로그래밍하는 커스터마이즈된 하드 와이어드 로직, 하나 이상의 ASIC들 또는 FPGA들, 펌웨어, 및/또는 프로그램 로직을 사용하여 본원에 기술되는 기법들을 구현할 수 있다. 일 실시예에 따르면, 본원에 개시되는 기법들은 프로세서(604)가 메인 메모리(606)에 포함된 하나 이상의 명령어들의 하나 이상의 시퀀스들을 실행한 것에 응답하여 컴퓨터 시스템(600)에 의해 수행된다. 이러한 명령어들은, 저장 디바이스(610)와 같은, 다른 저장 매체로부터 메인 메모리(606) 내로 판독될 수 있다. 메인 메모리(606)에 포함된 명령어들의 시퀀스들의 실행은 프로세서(604)로 하여금 본원에 기술되는 프로세스 단계들을 수행하게 한다. 대안의 실시예들에서, 소프트웨어 명령어들 대신에 또는 그와 결합하여 하드와이어 회로부(hardwired circuitry)가 사용될 수 있다.
"저장 매체"라는 용어는, 본원에서 사용되는 바와 같이, 머신으로 하여금 특정 방식으로 동작하게 하는 데이터 및/또는 명령어들을 저장하는 임의의 비일시적 매체를 지칭한다. 이러한 저장 매체는 비휘발성 매체 및/또는 휘발성 매체를 포함할 수 있다. 비휘발성 매체는, 예를 들어, 저장 디바이스(610)와 같은, 광학 또는 자기 디스크들을 포함한다. 휘발성 매체는, 메인 메모리(606)와 같은, 동적 메모리를 포함한다. 통상적인 형태의 저장 매체는, 예를 들어, 플로피 디스크, 플렉서블 디스크, 하드 디스크, 솔리드 스테이드 드라이브, 자기 테이프, 또는 임의의 다른 자기 데이터 저장 매체, CD-ROM, 임의의 다른 광학 데이터 저장 매체, 구멍들의 패턴들을 갖는 임의의 물리 매체, RAM, PROM 및 EPROM, FLASH-EPROM, NVRAM, 임의의 다른 메모리 칩 또는 카트리지를 포함한다.
저장 매체는 전송 매체와 구별되지만 그와 함께 사용될 수 있다. 전송 매체는 저장 매체 간에 정보를 전송하는 데 참여한다. 예를 들어, 전송 매체는, 버스(602)를 구성하는 전선들을 비롯하여, 동축 케이블, 구리 전선 및 광섬유를 포함한다. 전송 매체는 또한, 무선파 또는 적외선 데이터 통신 동안 발생되는 것과 같은, 음향파 또는 광파의 형태를 취할 수 있다.
다양한 형태의 매체가 하나 이상의 명령어들의 하나 이상의 시퀀스들을 실행을 위해 프로세서(604)로 전달하는 데 관여될 수 있다. 예를 들어, 명령어들은 처음에 원격 컴퓨터의 자기 디스크 또는 솔리드 스테이트 드라이브에 담겨 있을 수 있다. 원격 컴퓨터는 명령어들을 그의 동적 메모리에 로딩하고 모뎀을 사용하여 명령어들을 전화 회선을 통해 송신할 수 있다. 컴퓨터 시스템(600)에 로컬인 모뎀은 전화선을 통해 데이터를 수신하고 적외선 송신기를 사용하여 데이터를 적외선 신호로 변환시킬 수 있다. 적외선 검출기는 적외선 신호로 전달된 데이터를 수신할 수 있고, 적절한 회로부는 데이터를 버스(602) 상에 놓을 수 있다. 버스(602)는 데이터를 메인 메모리(606)로 전달하고, 그로부터 프로세서(604)는 명령어들을 검색하고 실행한다. 메인 메모리(606)에 의해 수신된 명령어들은 임의로 프로세서(604)에 의한 실행 이전에 또는 그 이후에 저장 디바이스(610) 상에 저장될 수 있다.
컴퓨터 시스템(600)은 또한 버스(602)에 결합된 통신 인터페이스(618)를 포함한다. 통신 인터페이스(618)는 로컬 네트워크(622)에 연결되어 있는 네트워크 링크(620)에의 양방향 데이터 통신 결합을 제공한다. 예를 들어, 통신 인터페이스(618)는 ISDN(integrated services digital network) 카드, 케이블 모뎀, 위성 모뎀, 또는 대응하는 유형의 전화선에의 데이터 통신 연결을 제공하는 모뎀일 수 있다. 다른 예로서, 통신 인터페이스(618)는 호환가능한 LAN(local area network)에의 데이터 통신 연결을 제공하는 LAN 카드일 수 있다. 무선 링크들이 또한 구현될 수 있다. 임의의 이러한 구현에서, 통신 인터페이스(618)는 다양한 유형의 정보를 표현하는 디지털 데이터 스트림들을 담고 있는 전기, 전자기, 또는 광학 신호들을 송신하고 수신한다.
네트워크 링크(620)는 전형적으로 하나 이상의 네트워크들을 통해 다른 데이터 디바이스들에 데이터 통신을 제공한다. 예를 들어, 네트워크 링크(620)는 호스트 컴퓨터(624)에 또는 ISP(Internet Service Provider)(626)에 의해 운영되는 데이터 장비에 로컬 네트워크(622)를 통한 연결을 제공할 수 있다. ISP(626)는 차례로, 지금은 흔히 "인터넷"(628)이라고 지칭되는, 전세계 패킷 데이터 통신 네트워크를 통해 데이터 통신 서비스들을 제공한다. 로컬 네트워크(622) 및 인터넷(628) 둘 다는 디지털 데이터 스트림들을 담고 있는 전기, 전자기 또는 광학 신호를 사용한다. 디지털 데이터를 컴퓨터 시스템(600)으로 그리고 그로부터 전달하는, 다양한 네트워크들을 통한 신호들 및 네트워크 링크(620) 상의 그리고 통신 인터페이스(618)를 통한 신호들은 예시적인 형태의 전송 매체이다.
컴퓨터 시스템(600)은 네트워크(들), 네트워크 링크(620) 및 통신 인터페이스(618)를 통해 메시지들을 송신하고, 프로그램 코드를 포함하는, 데이터를 수신할 수 있다. 인터넷 예에서, 서버(630)는 애플리케이션 프로그램에 대한 요청된 코드를 인터넷(628), ISP(626), 로컬 네트워크(622) 및 통신 인터페이스(618)를 통해 전송할 수 있다.
수신된 코드는 수신될 때 프로세서(604)에 의해 실행될 수 있고, 그리고/또는 나중에 실행하기 위해 저장 디바이스(610) 또는 다른 비휘발성 저장소에 저장될 수 있다.
9. 등가물, 확장, 대안 및 기타
전술한 명세서에서, 본 발명의 예시적인 실시예들이 구현마다 달라질 수 있는 수많은 구체적인 상세들을 참조하여 기술되었다. 따라서, 무엇이 발명인지와 무엇이 출원인에 의해 발명으로 의도되어 있는지에 대한 유일하고 배타적인 지표는, 임의의 차후의 보정을 비롯하여, 이러한 청구항들이 나오는 특정 형태로, 본 출원에서 나오는 청구항들의 세트이다. 이러한 청구항들에 포함된 용어들에 대해 본원에서 명확히 기술되는 임의의 정의들이 청구항들에서 사용되는 바와 같은 이러한 용어들의 의미를 좌우할 것이다. 따라서, 청구항에 명확하게 언급되지 않은 어떤 제한, 요소, 특성, 특징, 장점 또는 속성도 이러한 청구항의 범주를 결코 제한해서는 안된다. 그에 따라, 본 명세서 및 도면들은 제한적인 의미가 아니라 예시적인 것으로 간주되어야 한다.

Claims (37)

  1. 방법으로서,
    소스 영상 시퀀스 내의 하나 이상의 소스 영상들에 기초하여 하나 이상의 통계 값들을 계산하는 단계;
    상기 하나 이상의 통계 값들에 기초하여, 상기 하나 이상의 소스 영상들에 대한 적응적 재정형 함수(adaptive reshaping function)를 선택하는 단계;
    상기 선택된 적응적 재정형 함수에 적어도 부분적으로 기초하여, 재정형된 비디오 콘텐츠의 한 부분을 생성하기 위해 소스 비디오 콘텐츠의 한 부분을 적응적으로 재정형하는 단계 - 소스 비디오 콘텐츠의 상기 부분은 상기 하나 이상의 소스 영상들에 의해 표현됨 -;
    상기 선택된 적응적 재정형 함수의 역함수(inverse)의 근사 함수(approximation)를 생성하는 단계;
    상기 재정형된 비디오 콘텐츠 및 상기 선택된 적응적 재정형 함수의 상기 역함수의 상기 근사 함수를 정의하는 적응적 재정형 파라미터 세트를 재정형된 비디오 신호로 인코딩하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 재정형된 비디오 콘텐츠의 상기 부분은 하나 이상의 재정형된 영상들을 포함하는, 방법.
  3. 제1항에 있어서, 상기 하나 이상의 소스 영상들은 장면을 형성하는, 방법.
  4. 제1항에 있어서,
    상기 선택된 적응적 재정형 함수의 상기 역함수에 대응하는 목표 룩업 테이블(lookup table)(LUT)을 결정하는 단계;
    상기 목표 LUT를 근사화하기 위한 연속성 조건(continuity condition)을 결정하는 단계;
    상기 연속성 조건에 기초하여, 상기 목표 LUT를 근사화하는 데 사용되는 순방향 탐색(forward search)에 대한 제1 정지 규칙(stopping rule) 및 상기 목표 LUT를 근사화하는 데 사용되는 역방향 탐색(backward search)에 대한 제2 정지 규칙을 선택하는 단계;
    상기 제1 정지 규칙에 적어도 부분적으로 기초하여, 작은 재정형된 코드워드 값들로부터 큰 재정형된 코드워드 값들로 상기 순방향 탐색을 수행하는 것에 의해 상기 목표 LUT의 제1 근사치를 생성하는 단계;
    상기 제2 정지 규칙에 적어도 부분적으로 기초하여, 큰 재정형된 코드워드 값들로부터 작은 재정형된 코드워드 값들로 상기 역방향 탐색을 수행하는 것에 의해 상기 목표 LUT의 제2 근사치를 생성하는 단계; 및
    상기 순방향 탐색과 상기 역방향 탐색에 의해 각각 생성된 근사화 오차들을 비교하는 것에 의해 상기 제1 근사치와 상기 제2 근사치 중 하나를 선택하는 단계를 추가로 포함하는, 방법.
  5. 제4항에 있어서, 상기 목표 LUT는 상기 소스 비디오 콘텐츠를 재정형하는 데 사용되는 복수의 재정형된 코드워드 값들 중의 각각의 재정형된 코드워드 값에 매핑되는 소스 코드워드 값들의 평균들에 의해 생성된 최적의 역방향 LUT인, 방법.
  6. 제1항에 있어서, 상기 하나 이상의 통계 값들은 상기 하나 이상의 소스 영상들에서의 소스 코드워드들에 기초하여 결정되는 바와 같은, 최댓값, 최솟값, 평균값(mean value), 중앙값(median value), 평균값(average value), 또는 표준 편차 값 중 적어도 하나를 포함하는, 방법.
  7. 제1항에 있어서, 상기 선택된 적응적 재정형 함수 또는 상기 선택된 적응적 재정형 함수의 상기 역함수 중 적어도 하나는 분석 함수(analytical function)들, 비-분석 함수(non-analytical function)들, 룩업 테이블(LUT)들, 시그모이드 함수(sigmoid function)들, 멱함수(power function)들, 또는 구분적 함수(piecewise function)들 중 하나 이상을 포함하는, 방법.
  8. 제1항에 있어서, 상기 선택된 적응적 재정형 함수의 상기 역함수의 상기 근사 함수는 다항식 세트에 의해 표현되는, 방법.
  9. 제8항에 있어서, 상기 다항식 세트 내의 다항식들의 총수는 개수 문턱값 미만으로 제한되는, 방법.
  10. 제8항에 있어서, 상기 다항식 세트 내의 다항식들에 대한 계수들은 상기 다항식들에 의해 주어지는 값들과 상기 선택된 적응적 재정형 함수의 상기 역함수를 표현하는 목표 룩업 테이블(LUT)에 주어져 있는 값들 사이의 차이들을 최소화하는 것에 기초하여 결정되는, 방법.
  11. 제8항에 있어서, 상기 선택된 적응적 재정형 함수의 상기 역함수에 대해 결정된 함수의 유형에 기초하여 상기 다항식 세트를 생성하기 위한 연속성 조건을 선택하는 단계를 추가로 포함하는, 방법.
  12. 제8항에 있어서, 상기 다항식 세트는 상기 하나 이상의 소스 영상들이 적응적 재정형을 위해 처리되기 전에 미리 결정되는, 방법.
  13. 제8항에 있어서, 상기 다항식 세트는 상기 하나 이상의 소스 영상들이 적응적 재정형을 위해 처리되고 있는 동안 동적으로 결정되는, 방법.
  14. 제1항에 있어서, 상기 하나 이상의 소스 영상들을 매끄러운 밝은 구역들을 포함하는 영상들, 매끄러운 어두운 구역들을 포함하는 영상들, 또는 중간 톤 영상들 중 하나로서 분류하는 단계를 추가로 포함하는, 방법.
  15. 제1항에 있어서, 소스 비디오 콘텐츠의 상기 부분은 색 공간의 복수의 채널들 중 하나 이상의 채널들에 대한 재정형된 비디오 콘텐츠의 상기 부분으로 적응적으로 재정형되는, 방법.
  16. 제15항에 있어서, 상기 하나 이상의 채널들은 휘도 관련 채널을 포함하는, 방법.
  17. 제1항에 있어서, 상기 재정형된 비디오 신호는 듀얼 채널 8-비트 비디오 신호 또는 단일 채널 10-비트 비디오 신호 중 하나인, 방법.
  18. 제1항에 있어서, 상기 재정형된 비디오 신호는 AVC(advanced video coding) 인코더, MPEG(Moving Picture Experts Group)-2 인코더, 또는 HEVC(High Efficiency Video Coding) 인코더 중 적어도 하나에 의해 생성되는, 방법.
  19. 제1항에 있어서, 상기 소스 영상 시퀀스는 지각적으로 인코딩되는, 방법.
  20. 제1항에 있어서, 소스 비디오 콘텐츠의 상기 부분은 상기 선택된 적응적 재정형 함수의 어떤 근사화도 사용하지 않고서 재정형된 비디오 콘텐츠의 상기 부분으로 적응적으로 재정형되는, 방법.
  21. 제1항에 있어서, 상기 적응적 재정형 함수는 2개 이상의 2차 다항식들을 사용하여 근사화되고, p 번째 다항식의 m p 계수들을 계산하는 단계는:
    상기 소스 영상 시퀀스에서의 픽셀 값들에 대한 재정형된 값들의 함수에 기초하여 제1 (베타) 룩업 테이블(LUT)을 결정하는 단계;
    소스 영상에서의 원래의 픽셀 값들 및 상기 재정형된 픽셀 값들의 함수에 기초하여 제2 (알파) LUT를 결정하는 단계;
    상기 제1 LUT에 기초하여 B p 행렬을 결정하는 단계;
    상기 제2 LUT에 기초하여 a p 벡터를 결정하는 단계; 및
    상기 p 번째 다항식의 상기 m p 계수들을
    Figure pct00062
    로서 계산하는 단계를 포함하는, 방법.
  22. 제21항에 있어서, 상기 제1 LUT의 β[k,j] 요소에 대해:
    Figure pct00063
    (단, k = 0 ≤ kMax, j=0)이고
    Figure pct00064
    (단, 0 ≤ kMax, 1 ≤ j ≤ 4)이며,
    여기서 Max는 상기 소스 영상 시퀀스에서의 소스 영상의 픽셀들 v i 에 대응하는 상기 재정형된 픽셀들 s i 의 최대 픽셀 값을 나타내는, 방법.
  23. 제21항에 있어서, 상기 제2 LUT의 α[k,j] 요소에 대해(단, 0 ≤ j3),
    Figure pct00065
    (단, 0 ≤ kMax)이고,
    여기서 Max는 상기 소스 영상 시퀀스에서의 소스 영상의 픽셀들 v i 에 대응하는 상기 재정형된 픽셀들 s i 의 최대 픽셀 값을 나타내는, 방법.
  24. 제1항에 있어서, 역 재정형 함수(inverse reshaping function)에 대한 LUT를 생성하는 단계는:
    순방향 재정형 함수(forward reshaping function)에 기초하여 재정형된 값들의 히스토그램을 생성하는 단계;
    누적 테이블(cumulative table)을 생성하는 단계 - 상기 누적 테이블 내의 엔트리는 동일한 재정형된 값에 매핑된 원래의 픽셀 값들의 합을 포함함 -; 및
    상기 재정형된 값들의 상기 히스토그램 및 상기 누적 테이블에 기초하여 상기 역 재정형 함수에 대한 LUT를 생성하는 단계를 포함하는, 방법.
  25. 제1항에 있어서, 상기 적응적 재정형 함수는 2개 이상의 2차 다항식들을 사용하여 근사화되고, 상기 2개 이상의 다항식들에 대한 피벗 점(pivot point)들은 반복적 방법(iterative method)에 따라 선택되는, 방법.
  26. 제25항에 있어서, 상기 반복적 방법은:
    초기 오차 문턱값을 설정하는 단계;
    상기 하나 이상의 다항식들 각각과 상기 적응적 재정형 함수에서의 대응하는 세그먼트 사이의 피팅 오차(fitting error)가 상기 초기 오차 문턱값을 초과하지 않도록 상기 적응적 재정형 함수의 세그먼트들을 피팅하는 단계;
    상기 적응적 재정형 함수의 모든 세그먼트들에 걸친 모든 피팅 오차들의 최솟값을 결정하는 단계; 및
    새로운 오차 문턱값에 대해 상기 피팅 프로세스를 반복하는 단계 - 상기 새로운 오차 문턱값은 상기 모든 피팅 오차들의 최솟값보다 더 작음 - 를 추가로 포함하는, 방법.
  27. 제26항에 있어서, 현재 반복에서의 모든 피팅 오차들의 최솟값이 이전 반복에서의 모든 피팅 오차들의 최소값과 문턱값 내에서 같을 때 상기 반복적 방법을 종료하는 단계를 추가로 포함하는, 방법.
  28. 방법으로서,
    재정형된 비디오 콘텐츠 및 적응적 재정형 함수의 역함수의 근사 함수에 관련된 적응적 재정형 파라미터 세트를 재정형된 비디오 신호로부터 검색하는 단계 - 상기 재정형된 비디오 콘텐츠는 상기 적응적 재정형 함수에 적어도 부분적으로 기초하여 업스트림 디바이스에 의해 생성됨 -;
    재구성된 비디오 콘텐츠의 한 부분을 생성하기 위해, 상기 적응적 재정형 함수의 상기 역함수의 상기 근사 함수에 적어도 부분적으로 기초하여, 상기 재정형된 비디오 콘텐츠의 한 부분을 역 매핑하는 단계; 및
    재구성된 비디오 콘텐츠의 상기 부분에 적어도 부분적으로 기초하여, 재구성된 영상 시퀀스를 생성하는 단계 - 상기 재구성된 영상 시퀀스는 상기 재정형된 비디오 콘텐츠를 생성하기 위해 상기 업스트림 디바이스에 의해 사용되는 소스 영상 시퀀스의 재구성된 버전을 나타냄 - 를 포함하는, 방법.
  29. 제28항에 있어서, 디스플레이 시스템에서 복수의 재구성된 영상들을 렌더링하는 단계를 추가로 포함하는, 방법.
  30. 제28항에 있어서, 상기 적응적 재정형 파라미터 세트는 상기 적응적 재정형 함수의 상기 역함수의 상기 근사 함수를 정의하는, 방법.
  31. 제28항에 있어서,
    상기 재정형된 비디오 신호로부터의 상기 적응적 재정형 함수의 상기 역함수의 상기 근사 함수에 관련된 상기 적응적 재정형 파라미터 세트에 적어도 부분적으로 기초하여, 상기 적응적 재정형 함수의 상기 역함수를 표현하는 목표 룩업 테이블(LUT)의 근사치를 확정(establish)하는 단계를 추가로 포함하는, 방법.
  32. 제31항에 있어서, 상기 적응적 재정형 함수의 상기 역함수의 상기 근사 함수는 다항식 세트에 의해 표현되는, 방법.
  33. 제1항 내지 제27항에 기재된 방법들 중 어느 한 항의 방법을 수행하는 인코더.
  34. 제28항 내지 제32항에 기재된 방법들 중 어느 한 항의 방법을 수행하는 디코더.
  35. 제1항 내지 제32항에 기재된 방법들 중 어느 한 항의 방법을 수행하는 시스템.
  36. 하나 이상의 프로세서들에 의해 실행될 때, 제1항 내지 제32항 중 어느 한 항에 기재된 방법을 수행하게 하는 소프트웨어 명령어들을 저장하는, 비일시적 컴퓨터 판독가능 저장 매체.
  37. 하나 이상의 프로세서들, 및 하나 이상의 프로세서들에 의해 실행될 때, 제1항 내지 제32항 중 어느 한 항에 기재된 방법을 수행하게 하는 명령어 세트를 저장하는 하나 이상의 저장 매체를 포함하는, 컴퓨팅 디바이스.
KR1020177026400A 2015-03-20 2016-03-17 신호 재정형 근사화 KR101844732B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562136402P 2015-03-20 2015-03-20
US62/136,402 2015-03-20
US201562199391P 2015-07-31 2015-07-31
US62/199,391 2015-07-31
PCT/US2016/022772 WO2016153896A1 (en) 2015-03-20 2016-03-17 Signal reshaping approximation

Publications (2)

Publication Number Publication Date
KR20170118207A true KR20170118207A (ko) 2017-10-24
KR101844732B1 KR101844732B1 (ko) 2018-04-02

Family

ID=55640936

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177026400A KR101844732B1 (ko) 2015-03-20 2016-03-17 신호 재정형 근사화

Country Status (8)

Country Link
US (1) US10080026B2 (ko)
EP (1) EP3272123B1 (ko)
JP (1) JP6374614B2 (ko)
KR (1) KR101844732B1 (ko)
CN (1) CN107409221B (ko)
BR (1) BR112017018552B1 (ko)
RU (1) RU2666234C1 (ko)
WO (1) WO2016153896A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020180120A1 (ko) * 2019-03-05 2020-09-10 엘지전자 주식회사 Lmcs에 기반한 영상 코딩 방법 및 그 장치
WO2020184928A1 (ko) * 2019-03-11 2020-09-17 엘지전자 주식회사 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩
WO2020197207A1 (ko) * 2019-03-23 2020-10-01 엘지전자 주식회사 맵핑을 포함하는 필터링 기반 비디오 또는 영상 코딩

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107771392B (zh) * 2015-06-30 2021-08-31 杜比实验室特许公司 用于高动态范围图像的实时内容自适应感知量化器
US10609395B2 (en) * 2015-07-28 2020-03-31 Vid Scale, Inc. High dynamic range video coding architectures with multiple operating modes
US10778983B2 (en) 2015-09-23 2020-09-15 Dolby Laboratories Licensing Corporation Preserving texture/noise consistency in video codecs
JP6609708B2 (ja) * 2015-09-23 2019-11-20 アリス エンタープライジズ エルエルシー 高ダイナミックレンジ映像データの再形成および適応のためのシステムおよび方法
EP3151562B1 (en) 2015-09-29 2020-06-17 Dolby Laboratories Licensing Corporation Feature based bitrate allocation in non-backward compatible multi-layer codec via machine learning
US10311558B2 (en) 2015-11-16 2019-06-04 Dolby Laboratories Licensing Corporation Efficient image processing on content-adaptive PQ signal domain
US10223774B2 (en) * 2016-02-02 2019-03-05 Dolby Laboratories Licensing Corporation Single-pass and multi-pass-based polynomial approximations for reshaping functions
CN108885783B (zh) 2016-03-23 2022-02-15 杜比实验室特许公司 编码和解码可逆制作质量单层视频信号
EP3453175B1 (en) * 2016-05-04 2022-03-02 InterDigital VC Holdings, Inc. Method and apparatus for encoding/decoding a high dynamic range picture into a coded bistream
AU2017339463B2 (en) * 2016-10-05 2020-09-03 Dolby Laboratories Licensing Corporation Source color volume information messaging
EP3306563B1 (en) * 2016-10-05 2022-01-12 Dolby Laboratories Licensing Corporation Inverse luma/chroma mappings with histogram transfer and approximation
US10264287B2 (en) 2016-10-05 2019-04-16 Dolby Laboratories Licensing Corporation Inverse luma/chroma mappings with histogram transfer and approximation
JP7037584B2 (ja) 2017-06-16 2022-03-16 ドルビー ラボラトリーズ ライセンシング コーポレイション 効率的なエンド・ツー・エンドシングルレイヤー逆ディスプレイマネジメント符号化
WO2019023202A1 (en) * 2017-07-24 2019-01-31 Dolby Laboratories Licensing Corporation REVERSE MONOCANAL MAPPING FOR IMAGE / VIDEO PROCESSING
EP3659339B1 (en) 2017-07-24 2021-09-01 Dolby Laboratories Licensing Corporation Single-channel inverse mapping for image/video processing
US10609372B2 (en) 2017-09-29 2020-03-31 Dolby Laboratories Licensing Corporation Up-conversion to content adaptive perceptual quantization video signals
EP3753253A1 (en) * 2018-02-14 2020-12-23 Dolby Laboratories Licensing Corporation Image reshaping in video coding using rate distortion optimization
US10609424B2 (en) 2018-03-09 2020-03-31 Dolby Laboratories Licensing Corporation Single-layer progressive coding for supporting multi-capability HDR composition
WO2019217751A1 (en) 2018-05-11 2019-11-14 Dolby Laboratories Licensing Corporation High-fidelity full reference and high-efficiency reduced reference encoding in end-to-end single-layer backward compatible encoding pipeline
RU2691082C1 (ru) * 2018-09-18 2019-06-10 федеральное государственное бюджетное образовательное учреждение высшего образования "Донской государственный технический университет" (ДГТУ) Способ тоновой аппроксимации палитры монохромного полутонового изображения
WO2020061172A1 (en) 2018-09-19 2020-03-26 Dolby Laboratories Licensing Corporation Automatic display management metadata generation for gaming and/or sdr+ contents
WO2020068666A1 (en) * 2018-09-24 2020-04-02 Dolby Laboratories Licensing Corporation Image denoising in sdr to hdr image conversion
EP3861729A1 (en) * 2018-10-03 2021-08-11 Dolby Laboratories Licensing Corporation Reducing banding artifacts in backward-compatible hdr imaging
RU2703933C1 (ru) * 2018-11-08 2019-10-22 федеральное государственное бюджетное образовательное учреждение высшего образования "Кемеровский государственный университет" (КемГУ) Способ идентификации мультисинусоидальных цифровых сигналов
JP7299982B2 (ja) 2018-12-18 2023-06-28 ドルビー ラボラトリーズ ライセンシング コーポレイション 拡張標準ダイナミックレンジビデオ(sdr+)における機械学習ベースのダイナミックコンポージング
US11647188B2 (en) * 2019-01-04 2023-05-09 Interdigital Vc Holdings, Inc. Inverse mapping simplification
EP3734588B1 (en) 2019-04-30 2022-12-07 Dolby Laboratories Licensing Corp. Color appearance preservation in video codecs
US20220301124A1 (en) 2019-08-15 2022-09-22 Dolby Laboratories Licensing Corporation Efficient user-defined sdr-to-hdr conversion with model templates
TWI812874B (zh) 2019-10-01 2023-08-21 美商杜拜研究特許公司 張量乘積之b平滑曲線預測子
EP4046383A1 (en) 2019-10-17 2022-08-24 Dolby Laboratories Licensing Corporation Adjustable trade-off between quality and computation complexity in video codecs
US20230039038A1 (en) * 2019-11-27 2023-02-09 Dolby Laboratories Licensing Corporation Rate-control-aware reshaping in hdr imaging
US11838531B2 (en) 2019-12-06 2023-12-05 Dolby Laboratories Licensing Corporation Cascade prediction
EP4107946B1 (en) * 2020-02-19 2023-11-22 Dolby Laboratories Licensing Corporation Joint forward and backward neural network optimization in image processing
CN110996131B (zh) * 2020-03-02 2020-11-10 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机设备及存储介质
US11516429B2 (en) * 2020-04-22 2022-11-29 Grass Valley Limited System and method for image format conversion using 3D lookup table approximation
WO2021216767A1 (en) * 2020-04-22 2021-10-28 Dolby Laboratories Licensing Corporation Iterative optimization of reshaping functions in single-layer hdr image codec
US20230308667A1 (en) 2020-08-06 2023-09-28 Dolby Laboratories Licensing Corporation Adaptive streaming with false contouring alleviation
EP4197190A1 (en) * 2020-08-17 2023-06-21 Dolby Laboratories Licensing Corporation Picture metadata for high dynamic range video
JP7472403B2 (ja) 2020-10-02 2024-04-22 ドルビー ラボラトリーズ ライセンシング コーポレイション Sdrからhdrへのアップコンバートのための適応的ローカルリシェーピング
KR20220053102A (ko) * 2020-10-21 2022-04-29 삼성디스플레이 주식회사 하이 다이내믹 레인지 후-처리 장치, 및 이를 포함하는 표시 장치
EP4245035A1 (en) 2020-11-11 2023-09-20 Dolby Laboratories Licensing Corporation Wrapped reshaping for codeword augmentation with neighborhood consistency
EP4285590A1 (en) 2021-01-27 2023-12-06 Dolby Laboratories Licensing Corporation Image enhancement via global and local reshaping
TW202232960A (zh) * 2021-02-03 2022-08-16 圓剛科技股份有限公司 網路資訊傳輸方法及網路資訊傳輸系統
EP4341903A1 (en) 2021-05-21 2024-03-27 Dolby Laboratories Licensing Corporation Patch-based reshaping and metadata for volumetric video
EP4352964A1 (en) 2021-06-08 2024-04-17 Dolby Laboratories Licensing Corporation Chained reshaping function optimization
WO2023022956A1 (en) 2021-08-16 2023-02-23 Dolby Laboratories Licensing Corporation Applying minimum and average distance constraint in video streaming
WO2023033991A1 (en) 2021-08-30 2023-03-09 Dolby Laboratories Licensing Corporation Reshaper for learning-based image/video coding
WO2023096728A1 (en) 2021-11-29 2023-06-01 Dolby Laboratories Licensing Corporation Denoising for sdr-to-hdr local reshaping
WO2023150074A1 (en) 2022-02-01 2023-08-10 Dolby Laboratories Licensing Corporation Beta scale dynamic display mapping
CN116468992B (zh) * 2023-06-20 2023-08-22 北京天图万境科技有限公司 一种重复校正性监督空间识别与还原方法与装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2009620C1 (ru) 1991-06-18 1994-03-15 Плешивцев Василий Алексеевич Устройство адаптивного восстановления телевизионного сигнала
US5612900A (en) * 1995-05-08 1997-03-18 Kabushiki Kaisha Toshiba Video encoding method and system which encodes using a rate-quantizer model
US7023580B2 (en) 2001-04-20 2006-04-04 Agilent Technologies, Inc. System and method for digital image tone mapping using an adaptive sigmoidal function based on perceptual preference guidelines
JP5249784B2 (ja) 2006-01-23 2013-07-31 マックス−プランク−ゲゼルシャフト・ツア・フェルデルング・デア・ヴィッセンシャフテン・エー・ファオ 高ダイナミックレンジコーデック
JP5203503B2 (ja) * 2008-04-16 2013-06-05 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン ビット深度スケーラビリティ
WO2010105036A1 (en) * 2009-03-13 2010-09-16 Dolby Laboratories Licensing Corporation Layered compression of high dynamic range, visual dynamic range, and wide color gamut video
TWI559779B (zh) 2010-08-25 2016-11-21 杜比實驗室特許公司 擴展影像動態範圍
WO2012147018A2 (en) * 2011-04-28 2012-11-01 Koninklijke Philips Electronics N.V. Apparatuses and methods for hdr image encoding and decoding
UA116082C2 (uk) 2011-09-27 2018-02-12 Конінклійке Філіпс Н.В. Пристрій та спосіб для перетворення динамічного діапазону зображень
TWI575933B (zh) 2011-11-04 2017-03-21 杜比實驗室特許公司 階層式視覺動態範圍編碼中之層分解技術
EP2936814B1 (en) 2013-03-26 2018-03-14 Dolby Laboratories Licensing Corporation Encoding perceptually-quantized video content in multi-layer vdr coding
CN106488246B (zh) * 2013-06-17 2019-06-11 杜比实验室特许公司 用于增强动态范围信号的分层编码的自适应整形的方法
US9936199B2 (en) 2014-09-26 2018-04-03 Dolby Laboratories Licensing Corporation Encoding and decoding perceptually-quantized video content
US10419762B2 (en) 2015-03-02 2019-09-17 Dolby Laboratories Licensing Corporation Content-adaptive perceptual quantizer for high dynamic range images

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020180120A1 (ko) * 2019-03-05 2020-09-10 엘지전자 주식회사 Lmcs에 기반한 영상 코딩 방법 및 그 장치
WO2020184928A1 (ko) * 2019-03-11 2020-09-17 엘지전자 주식회사 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩
KR20210118947A (ko) * 2019-03-11 2021-10-01 엘지전자 주식회사 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩
WO2020197207A1 (ko) * 2019-03-23 2020-10-01 엘지전자 주식회사 맵핑을 포함하는 필터링 기반 비디오 또는 영상 코딩

Also Published As

Publication number Publication date
CN107409221A (zh) 2017-11-28
US10080026B2 (en) 2018-09-18
US20180020224A1 (en) 2018-01-18
JP6374614B2 (ja) 2018-08-15
CN107409221B (zh) 2019-06-14
WO2016153896A1 (en) 2016-09-29
KR101844732B1 (ko) 2018-04-02
EP3272123A1 (en) 2018-01-24
EP3272123B1 (en) 2019-06-19
BR112017018552B1 (pt) 2019-10-22
BR112017018552A2 (pt) 2018-04-24
RU2666234C1 (ru) 2018-09-06
JP2018511223A (ja) 2018-04-19

Similar Documents

Publication Publication Date Title
KR101844732B1 (ko) 신호 재정형 근사화
US9924171B2 (en) Layer decomposition in hierarchical VDR coding
KR101641523B1 (ko) 다층 vdr 코딩에서의 지각적으로-양자화된 비디오 콘텐트의 인코딩
CN110177276B (zh) 处理视频图像的空间区域的方法、存储介质及计算装置
KR102230776B1 (ko) 이미지/비디오 처리를 위한 선형 인코더
US10701359B2 (en) Real-time content-adaptive perceptual quantizer for high dynamic range images
US10972759B2 (en) Color appearance preservation in video codecs
CN112106357A (zh) 端对端单层后向兼容编码流水线中的高保真度全参考和高效部分参考编码
US10542265B2 (en) Self-adaptive prediction method for multi-layer codec
CN108141599B (zh) 在视频编解码器中保留纹理/噪声一致性
RU2794137C1 (ru) Предсказатель b-сплайна тензорного произведения

Legal Events

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