KR102396045B1 - 방송 신호 송신 방법, 방송 신호 수신 방법, 방송 신호 송신 장치 및 방송 신호 수신 장치 - Google Patents

방송 신호 송신 방법, 방송 신호 수신 방법, 방송 신호 송신 장치 및 방송 신호 수신 장치 Download PDF

Info

Publication number
KR102396045B1
KR102396045B1 KR1020197003536A KR20197003536A KR102396045B1 KR 102396045 B1 KR102396045 B1 KR 102396045B1 KR 1020197003536 A KR1020197003536 A KR 1020197003536A KR 20197003536 A KR20197003536 A KR 20197003536A KR 102396045 B1 KR102396045 B1 KR 102396045B1
Authority
KR
South Korea
Prior art keywords
color
gamut
mapping
information
region
Prior art date
Application number
KR1020197003536A
Other languages
English (en)
Other versions
KR20190020156A (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 엘지전자 주식회사
Priority to KR1020227015079A priority Critical patent/KR102521289B1/ko
Publication of KR20190020156A publication Critical patent/KR20190020156A/ko
Application granted granted Critical
Publication of KR102396045B1 publication Critical patent/KR102396045B1/ko

Links

Images

Classifications

    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • 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
    • 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/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
    • 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
    • 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/41Structure of client; Structure of client peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4353Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving decryption of additional data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/57Control of contrast or brightness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/67Circuits for processing colour signals for matrixing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Theoretical Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 컬러 볼륨 맵핑 방법을 개시한다.
본 발명의 일 실시예에 따른 방송 신호 송신 방법은, 비디오 데이터 및 상기 비디오 데이터에 대한 메타데이터를 인코딩하는 단계; 상기 인코딩된 비디오 데이터 및 메타데이터를 포함하는 방송 신호를 생성하는 단계; 및 상기 생성된 방송 신호를 전송하는 단계; 를 포함할 수 있다.

Description

방송 신호 송신 방법, 방송 신호 수신 방법, 방송 신호 송신 장치 및 방송 신호 수신 장치
본 발명은 방송 신호를 송수신하는 방법 및 장치에 관한 것으로서, 보다 구체적으로는 색역이 조절 가능한 컨텐츠를 포함하는 방송 신호를 송수신하는 방법 및 장치에 관한 것이다.
아날로그 방송 신호 송신이 종료됨에 따라, 디지털 방송 신호를 송수신하기 위한 다양한 기술이 개발되고 있다. 디지털 방송 신호는 아날로그 방송 신호에 비해 더 많은 양의 비디오/오디오 데이터를 포함할 수 있고, 비디오/오디오 데이터뿐만 아니라 다양한 종류의 부가 데이터를 더 포함할 수 있다.
최근 UHDTV(Ultra High Definition Television) 표준이 완성되고 HDR(High Dynamic Range) 표준 제정이 활발히 진행되고 있다. 표현 가능한 밝기의 범위가 넓어지고 그에 따라 색을 표현할 수 있는 범위도 넓어지고 있다. 그에 따라, UHDTV의 경우 기존의 HDTV의 색역인 BT.709보다 넓은 색역인 BT.2020으로 색역(gamut)을 정의하고 있고, HDR의 경우도 UHDTV와 동일한 색역을 유지할 것으로 예상된다. 이러한 흐름에 따라 BT.2020 색역에 맞춘 콘텐츠가 보급되기 시작하고 있다. 그러나, 기존의 HDTV의 경우, 광색역에 기반하여 제작된 콘텐츠에 비해 좁은 색역을 가지고 있다. 따라서, 제작된 영상을 제작 의도에 부합하도록 재생하기 위해, 넓은 색역을 갖는 콘텐츠를 기존 디스플레이(legacy display)의 좁은 색역에 맵핑(mapping)하는 기술이 요구된다.
색영역 맵핑(color gamut mapping)에 있어서, 콘텐츠 제작 당시 각 원색(primary color) 및 흰색(white)의 피크 휘도(peak luminance)의 비율을 고려하지 않고, 색역(gamut)만 맵핑시키게 되면, 동일한 white peak luminance를 가지고 있더라도 색역(gamut)의 변화에 따라 원색(primary color)의 휘도(luminance)가 달라질 수 있다. 따라서, 색영역 맵핑시, 밝기 정보까지 고려하여 색역을 맵핑시키는 3차원 색영역 맵핑(Color Volume Mapping) 기술이 요구된다. 특히, HDR(High Dynamic Range)를 구현하기 위해 WCG(Wide Color Gamut)이 요구되고, 이와 함께 좀 더 넓은 Dynamic range 가 요구되며, 각 제작사 마다 표현 가능한 Dynamic range 의 범위도 차이가 있어서, 2차원 상의 색역 맵핑(gamut mapping)으로는 콘텐츠를 제작자가 의도한 대로 표현하는데 한계가 있다.
전술한 바와 같이, 넓은 색역에 기반한 영상 정보를 좁은 색역으로 맵핑시키고, 재생하는 기술이 요구된다. 나아가, 넓은 색역에 기반한 영상 정보를 좁은 색역으로 맵핑시킬 때, 밝기 정보를 반영 및 보완하여 밝기의 왜곡에 따른 색감의 왜곡을 제거하는 기술이 요구된다. 특히 HDR의 경우, 밝기 정보 처리도 중요하다. 즉, 색역 맵핑(gamut mapping) 만큼 톤 맵핑(tone mapping) 기술도 중요하다. 색역 맵핑시 밝기 정보를 함께 고려하지 않을 경우, 의도한 색 또는 색감을 표현하기 어렵다. 또한, HDR의 경우, 넓은 색역을 갖기 때문에 색의 밝기에 대한 변화폭(variation)도 넓다. 그러므로, HDR의 경우, 단순히 채도 성분의 범위만 넓어진 것이 아니라 각 채도 성분이 표현할 수 있는 밝기 정보의 폭도 넓어졌다. 따라서, 광색역 콘텐츠를 구성하는 픽셀의 색 정보를 상대적으로 작은 색역의 디스플레이에 구현하고자 할 때, 밝기 성분을 제외하고 채도 성분만 2차원 상에서 맵핑하면 본래 콘텐츠의 색감을 표현하기 어렵다. 왜냐하면, 작은 색역은 좁은 밝기 범위를 갖기 때문이다. 예를 들어, red color의 채도가 0.4 일 때, 광색역인 BT.2020의 밝기는 대략 [0.3, 0.75]의 범위를 갖는 반면, 상대적으로 협색역인 BT.709는 대략 [0.4, 0.62]의 밝기의 범위를 갖는다. 즉, 색역 맵핑을 수행함에 있어서, 채도 성분 뿐만 아니라 밝기 성분도 고려해야 본래 컨텐츠의 색감을 나타낼 수 있다. 이러한 문제를 해결하기 위해, 색역 맵핑(gamut mapping)과 톤 맵핑(tone mapping)을 분리하여 연속적으로 처리하는 방안이 고려될 수 있고, 밝기, 채도, 색상을 표현할 수 있는 3차원 공간 안에서 처리하는 방안이 고려될 수 있다. 다만, YCbCr, HSV 등의 색공간에서, 색상과 밝기 정보를 동시에 좁은 색역으로 맵핑시키는 경우, 맵핑에 사용되는 변환식이 간단하다는 장점이 있으나, 간단한 변환식을 사용함으로 인해 색역 맵핑의 균일성(uniformity)이 떨어지는 문제가 있다.
광색역(wide color gamut)의 3차원 색역(color gamut volume) 맵핑 방안을 개시한다.
본 명세서는 넓은 색역 범위를 갖는 컨텐츠(예를 들어, BT. 2020)로 제작된 영상에 대해, 기존 디스플레이(예를 들어, BT. 709)에서 적절히 재생하기 위한 고려사항 및 신호 처리 방법을 개시한다.
본 발명의 목적은, 최적의 영상 색감을 획득하기 위한 방안을 제공하는 것이다. 이러한 목적을 달성하기 위해, 본 명세서는 넓은 색역 범위로부터 좁은 색역 범위로 맵핑하는 과정에서, 색역(gamut) 밖에 있는 색상을 색역(gamut) 내부로 맵핑(mapping)시키기 위한 처리 방안을 개시한다. 다만, 본 발명은 넓은 색역 범위의 영상을 좁은 색역 범위로 변환하는 방안에 한정되지 않는다. 즉, 본 명세서에 개시된 색역 변환은 넓은 색역 범위의 영상을 좁은 색역 범위로 매칭하는 것과, 좁은 색역 범위의 영상을 넓은 색역 범위로 매칭하는 것을 포함한다.
본 발명은 넓은 색역에서 제작된 콘텐츠를, 제작시 의도한 본래 콘텐츠(원본)의 콘트라스트(contrast)와 채도 디테일(chroma detail)을 유지하면서, 보다 좁은 색역(gamut)을 통해 표현하는 것을 일 목적으로 한다.
본 발명의 일 실시예에 따르면, color gamut volume 매핑시 발생할 수 있는 out-of-gamut 을 처리하는 방법을 개시한다. 여기서, out-of-gamut은 display color gamut 외부에 존재하여 display 상에서 정확히 표현할 수 없어 색 왜곡이 발생하는 color signal을 의미할 수 있다.
본 발명의 일 실시예에 따른 out-of-gamut을 처리하는 방법은 입력 색역에서 각 색상이 가질 수 있는 가장 높은 채도값과, 출력 색역에서 각 색상이 가질 수 있는 가장 높은 채도 값을 맵핑시켜 채도 역전 현상을 방지할 수 있다.
본 발명의 일 실시예에 따른 out-of-gamut을 처리하는 방법은 앵커 포인트를 설정하고, 설정된 앵커 포인트를 기준으로 각 색역의 영역을 구획한 후, 영역별로 독립적인 색정보 리맵핑을 수행함으로써, 출력 디스플레이에서도 본래 콘텐츠(원본)가 갖는 밝기 정보와 채도 정보의 균형상태를 유지시킬 수 있다. 본 발명의 일 실시예에 따른 out-of-gamut을 처리하는 방법은 원본의 콘트라스트 및 색감을 유지하여 화질을 향상시킬 수 있다.
본 발명의 일 실시예에 따른 out-of-gamut을 처리하는 방법은 타겟 색역의 일부를 오리지널 색역의 일부와 동일하게 설정함으로써, 원본의 색정보를 최대한 유지하는 영역을 설정할 수 있다.
상기 목적을 달성하기 위해, 본 명세서는 본래 컨텐츠의 색역(color gamut)과 디스플레이의 색역에 차이가 있는 경우 2차원 상의 컬러 맵핑을 사용하는 대신, 색상 정보 뿐만 아니라 밝기 정보를 포함하는 3차원 상의 컬러 볼륨 맵핑을 사용하기 위한 방안을 개시한다.
한편, 이러한 3차원 상의 컬러 볼륨 맵핑은 3차원 상에서 밝기 정보와, 색상 정보를 분리하여 밝기 정보까지 맵핑되어야 하고, 본래 컨텐츠의 색감을 유지하기 위해서는 밝기 정보와 색상 정보를 균형있게 조정할 필요가 있다.
본 명세서는, 컬러 볼륨 맵핑시 밝기 정보와 색상 정보를 균형있게 조정하기 위한 해결 수단을 개시하며, 상기 해결 수단의 개략적인 내용은 다음과 같다.
원본 컨텐츠의 색역(gamut)과 디스플레이의 색역(gamut)의 휴 앵글(hue angle)이 다를 경우 원본 컨텐츠의 색역의 휴 앵글을 기준으로 디스플레이의 색역을 맵핑시킨다.
원본 컨텐츠의 색역(gamut)에서 각 컬러별로 가장 높은 채도 포화도(chroma saturation)을 갖는 부분은 디스플레이의 색역(gamut)에서도 가장 높은 포화도(saturation)를 갖도록 설정된다. 이와 같은 설정을 통해 색역 맵핑시 채도 역전 현상을 방지할 수 있다.
또한, 밝기 정보와 채도(chroma)의 균형을 맞추기 위해 영역을 구분하고, 구분된 영역별로 색처리 또는 색역 맵핑이 다르게 수행된다. 이를 통해 원본 컨텐츠의 콘트라스트(contrast)를 유지하고 컬러 왜곡에 의해 화질이 열화되는 것을 방지할 수 있다.
또한, 타겟 디스플레이(target display)의 색역 내에 변환이 수행되지 않는 소정 영역(invariant area, 또는 core region)이 설정된다. 이러한 불변의 영역은 타겟 디스플레이의 크기는 설정 값에 따라 가변적일 수 있다. 불변의 영역 설정을 통해, 본래 컨텐츠의 색감이 최대한 유지될 수 있도록 한다.
본 발명의 일 실시예에 따르면, 컨텐츠의 색역(gamut)에서 각 컬러별 가장 높은 포화도(saturation)을 갖는 부분이 디스플레이 색역(display gamut) 또는 타겟 색역(target gamut)에서도 가장 높은 포화도(saturation)를 갖도록 설정함으로써, 색역 맵핑(color gamut mapping)시 채도의 역전이 발생하는 것을 방지할 수 있다. 또한, 채도 역전 현상을 방지함으로써, 제작시 의도한 컬러 디테일(color detail)을 재현할 수 있다.
본 발명의 다른 실시예에 따르면, 밝기 정보와 채도(chroma)의 균형을 맞추기 위해 영역을 구분하고, 구분된 영역별로 색처리 또는 색역 맵핑을 다르게 수행함으로써, 원본 콘텐츠의 콘트라스트(contrast)를 유지하고, 나아가 콘트라스트(contrast)를 향상시킬 수 있다. 또한, out-of-gamut 색 정보를 디스플레이의 색역(display gamut) 또는 타겟 색역(target gamut) 내부로 맵핑시킴으로써 클리핑(clipping)이 생기는 부분을 최소화할 수 있다. 따라서, 컬러 왜곡에 의한 화질 열화를 방지할 수 있다.
본 발명의 또 다른 실시예에 따르면, 타겟 디스플레이(target display)의 색역 내에 변환이 수행되지 않는 소정 영역(불변 영역, invariant area)을 설정함으로써, 본래 컨텐츠의 색감이 최대한 유지될 수 있도록 할 수 있다. 또한, 중간 영역(middle range)의 밝기 정보 및 저채도 색 정보는 원본과 동일하거나 유사한 색정보로 구현할 수 있다.
도 1 은 본 발명의 일 실시예에 따른 프로토콜 스택을 도시한 도면이다.
도 2 는 본 발명의 일 실시예에 따른 서비스 디스커버리 과정을 도시한 도면이다.
도 3 은 본 발명의 일 실시예에 따른 LLS (Low Level Signaling) 테이블 및 SLT (Service List Table)를 도시한 도면이다.
도 4 는 본 발명의 일 실시예에 따른, ROUTE 로 전달되는 USBD 및 S-TSID 를 도시한 도면이다.
도 5 는 본 발명의 일 실시예에 따른, MMT 로 전달되는 USBD 를 도시한 도면이다.
도 6 은 본 발명의 일 실시예에 따른 링크 레이어(Link Layer) 동작을 도시한 도면이다.
도 7 은 본 발명의 일 실시예에 따른 LMT (Link Mapping Table) 를 도시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치의 구조를 나타낸다.
도 9는 본 발명의 일 실시예에 따른 타임 인터리버의 라이팅 (writing) 오퍼레이션을 나타낸다.
도 10은 본 발명의 일 실시예에 따른 프리퀀시 인터리버에 포함된 각 FFT 모드에 따른 메인-PRBS 제너레이터와 서브-PRBS 제너레이터로 구성된 인터리빙 어드레스 제너레이터의 블록 다이아그램을 나타낸 도면이다.
도 11은 본 발명의 일 실시예에 따른 컬러 볼륨 매핑(color volume mapping)을 지원하는 수신기 동작의 예시를 나타내는 도면이다.
도 12는 본 발명의 일 실시예에 따른 광색역 콘텐츠를 디스플레이하는 과정을 나타난 도면이다.
도 13은 본 발명의 다른 실시예에 따른 광색역 콘텐츠를 디스플레이하는 과정을 나타낸 도면이다.
도 14는 본 발명의 일 실시예에 따른 맵핑 패스 결정 과정을 나타낸 도면이다.
도 15는 본 발명의 일 실시예에 따른 비디오 후처리부를 나타낸 도면이다.
도 16은 본 발명의 일 실시예에 따른 컬러 볼륨 매핑(color volume mapping)을 지원하는 송신기 동작의 예시를 나타내는 도면이다.
도 17은 본 발명의 다양한 실시예에 따른 컬러 스페이스 변환 과정을 나타낸 도면이다.
도 18는 본 발명의 일 실시예에 따른 색상 보정(hue correction)의 예시를 나타낸 도면이다.
도 19는 본 발명의 일 실시예에 따른 컬러 볼륨 맵핑을 나타낸 도면이다.
도 20은 본 발명의 일 실시예에 따른 Region A에서의 색정보 리맵핑 과정을 상세히 나타낸 도면이다.
도 21은 본 발명의 다른 실시예에 따른 컬러 볼륨 맵핑을 나타낸 도면이다.
도 22는 본 발명의 일 실시예에 따른 switch region에서의 색정보 리맵핑 과정을 상세히 나타낸 도면이다.
도 23 및 도 24는 본 발명의 다른 실시예에 따른 컬러 볼륨 맵핑 방법의 장점을 보여주는 참고도이다.
도 25는 본 발명의 일 실시예에 따른 SEI message 를 나타낸 도면이다.
도 26은 본 발명의 일 실시예에 따른 컬러 볼륨 맵핑 디스크립터를 나타낸 도면이다.
도 27은 본 발명의 일 실시예에 따른 original_color_gamut_type 및 target_color_gamut_type 을 나타낸 도면이다.
도 28은 본 발명의 일 실시예에 따른 color_space__type 을 나타낸 도면이다.
도 29는 본 발명의 일 실시예에 따른 RGBWL_primaries()의 syntax를 나타낸 도면이다.
도 30은 본 발명의 일 실시예에 따른 color_space_conversion_function()의 syntax를 나타낸 도면이다.
도 31은 본 발명의 일 실시예에 따른 color_gamut_boundary_info()의 syntax 및 color_gamut_boundary_type 을 나타낸 도면이다.
도 32는 본 발명의 일 실시예에 따른 hue_correction_info()의 syntax 및 hue_correction_type을 나타낸 도면이다.
도 33은 본 발명의 일 실시예에 따른 region_boundary_info() 의 syntax 및 region_boundary_type을 나타낸 도면이다.
도 34는 본 발명의 일 실시예에 따른 mapping_function_info() 의 syntax 및 mapping_function_type을 나타낸 도면이다.
도 35는 본 발명의 일 실시예에 따른 LUT_info()의 syntax 및 LUT_type을 나타낸 도면이다.
도 36은 본 발명의 다른 실시예에 따른 컬러 볼륨 맵핑 디스크립터를 나타낸 도면이다.
도 37은 본 발명의 다른 실시예에 따른 mapping_color_space_type 을 나타낸 도면이다.
도 38은 본 발명의 다른 실시예에 따른 RGBWL_primaries()의 syntax를 나타낸 도면이다.
도 39는 본 발명의 다른 실시예에 따른 color_space_conversion_function()의 syntax를 나타낸 도면이다.
도 40은 본 발명의 다른 실시예에 따른 color_gamut_boundary_info()의 syntax 및 gamut_boundary_info_type을 나타낸 도면이다.
도 41은 본 발명의 다른 실시예에 따른 hue_correction_info()의 syntax 및 hue_correction_type을 나타낸 도면이다.
도 42는 본 발명의 다른 실시예에 따른 hue_region_info() 의 syntax 및 hue_region_type을 나타낸 도면이다.
도 43은 본 발명의 다른 실시예에 따른 mapping_function_info() 의 syntax 및 mapping_function_type을 나타낸 도면이다.
도 44는 본 발명의 다른 실시예에 따른 컬러 볼륨 맵핑 디스크립터를 포함하는 SEI message를 수신 처리하는 수신기 동작을 나타낸 도면이다.
도 45는 본 발명의 일 실시예에 따른 방송 신호 송신 방법을 나타낸 도면이다.
도 46는 본 발명의 일 실시예에 따른 방송 신호 수신 방법을 나타낸 도면이다.
도 47은 본 발명의 일 실시예에 따른 방송 신호 송신 장치를 나타낸 도면이다.
도 48은 본 발명의 일 실시예에 따른 방송 신호 수신 장치를 나타낸 도면이다.
본 발명의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 본 발명의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 본 발명의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 본 발명에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 본 발명이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.
본 발명에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 본 발명은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.
본 발명은 차세대 방송 서비스에 대한 방송 신호 송신 및 수신 장치 및 방법을 제공한다. 본 발명의 일 실시예에 따른 차세대 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스, UHDTV 서비스 등을 포함한다. 본 발명은 일 실시예에 따라 비-MIMO (non-Multiple Input Multiple Output) 또는 MIMO 방식을 통해 차세대 방송 서비스에 대한 방송 신호를 처리할 수 있다. 본 발명의 일 실시예에 따른 비-MIMO 방식은 MISO (Multiple Input Single Output) 방식, SISO (Single Input Single Output) 방식 등을 포함할 수 있다. 본 발명은 특정 용도에 요구되는 성능을 달성하면서 수신기 복잡도를 최소화하기 위해 최적화된 피지컬 프로파일 (또는 시스템)을 제안한다.
도 1 은 본 발명의 일 실시예에 따른 프로토콜 스택을 도시한 도면이다.
서비스는 복수개의 레이어를 거쳐 수신기로 전달될 수 있다. 먼저 송신측에서는 서비스 데이터를 생성할 수 있다. 송신측의 딜리버리 레이어에서는 서비스 데이터에 전송을 위한 처리를 수행하고, 피지컬 레이어에서는 이를 방송 신호로 인코딩하여 방송망 또는 브로드밴드를 통해 전송할 수 있다.
여기서 서비스 데이터들은 ISO BMFF (base media file format) 에 따른 포맷으로 생성될 수 있다. ISO BMFF 미디어 파일은 방송망/브로드밴드 딜리버리, 미디어 인캡슐레이션(media encapsulation) 및/또는 동기화 포맷(synchronization format) 으로 사용될 수 있다. 여기서 서비스 데이터는 서비스와 관련된 모든 데이터로서, 리니어 서비스를 이루는 서비스 컴포넌트들, 그에 대한 시그널링 정보, NRT (Non Real Time) 데이터, 기타 파일들 등을 포함하는 개념일 수 있다.
딜리버리 레이어에 대해 설명한다. 딜리버리 레이어는 서비스 데이터에 대한 전송 기능을 제공할 수 있다. 서비스 데이터는 방송망및/또는 브로드밴드를 통해 전달될 수 있다.
방송망을 통한 서비스 딜리버리(broadcast service delivery)에 있어 두가지 방법이 있을 수 있다.
첫번째 방법은 MMT (MPEG Media Transport) 에 근거하여, 서비스 데이터들을 MPU (Media Processing Units) 들로 처리하고, 이를 MMTP (MMT protocol) 를 이용하여 전송하는 것일 수 있다. 이 경우, MMTP 를 통해 전달되는 서비스 데이터에는, 리니어 서비스를 위한 서비스 컴포넌트들 및/또는 그에 대한 서비스 시그널링 정보 등이 있을 수 있다.
두번째 방법은 MPEG DASH 에 근거하여, 서비스 데이터들을 DASH 세그먼트들로 처리하고, 이를 ROUTE (Real time Object delivery over Unidirectional Transport) 를 이용하여 전송하는 것일 수 있다. 이 경우, ROUTE 프로토콜을 통해 전달되는 서비스 데이터에는, 리니어 서비스를 위한 서비스 컴포넌트들, 그에 대한 서비스 시그널링 정보 및/또는 NRT 데이터 등이 있을 수 있다. 즉, NRT 데이터 및 파일 등의 논 타임드(non timed) 데이터는 ROUTE 를 통해서 전달될 수 있다.
MMTP 또는 ROUTE 프로토콜에 따라 처리된 데이터는 UDP / IP 레이어를 거쳐 IP 패킷들로 처리될 수 있다. 방송망을 통한 서비스 데이터 전달에 있어서, SLT (Service List Table) 역시 UDP / IP 레이어를 거쳐 방송망을 통해 전달될 수 있다. SLT 는 LLS (Low Level Signaling) 테이블에 포함되어 전달될 수 있는데, SLT, LLS 테이블에 대해서는 후술한다.
IP 패킷들은 링크 레이어에서 링크 레이어 패킷들로 처리될 수 있다. 링크 레이어는 상위 레이어에서 전달되는 다양한 포맷의 데이터를, 링크 레이어 패킷으로 인캡슐레이션한 후, 피지컬 레이어에 전달할 수 있다. 링크 레이어에 대해서는 후술한다.
하이브리드 서비스 딜리버리(hybrid service delivery) 에 있어서는, 적어도 하나 이상의 서비스 엘레멘트가 브로드밴드 패쓰(path) 를 통해 전달될 수 있다. 하이브리드 서비스 딜리버리의 경우, 브로드밴드로 전달되는 데이터에는, DASH 포맷의 서비스 컴포넌트들, 그에 대한 서비스 시그널링 정보 및/또는 NRT 데이터 등이 있을 수 있다. 이 데이터들은 HTTP/TCP/IP 를 거쳐 처리되고, 브로드밴드 전송을 위한 링크 레이어를 거쳐, 브로드밴드 전송을 위한 피지컬 레이어로 전달될 수 있다.
피지컬 레이어는 딜리버리 레이어(상위 레이어 및/또는 링크 레이어)로부터 전달받은 데이터를 처리하여, 방송망 또는 브로드밴드를 통하여 전송할 수 있다. 피지컬 레이어에 대한 자세한 사항은 후술한다.
서비스에 대해 설명한다. 서비스는 전체적으로 사용자에게 보여주는 서비스 컴포넌트의 컬렉션일 수 있고, 컴포넌트는 여러 미디어 타입의 것일 수 있고, 서비스는 연속적이거나 간헐적일 수 있으며, 서비스는 실시간이거나 비실시간일 수 있고, 실시간 서비스는 TV 프로그램의 시퀀스로 구성될 수 있다.
서비스는 여러 타입을 가질 수 있다. 첫 번째로 서비스는 앱 기반 인헨스먼트를 가질 수 있는 리니어 오디오/비디오 또는 오디오만의 서비스일 수 있다. 두 번째로 서비스는 다운로드된 어플리케이션에 의해 그 재생/구성 등이 제어되는 앱 기반 서비스일 수 있다. 세 번째로 서비스는 ESG (Electronic Service Guide) 를 제공하는 ESG 서비스일 수 있다. 네 번째로 긴급 경보 정보를 제공하는 EA (Emergency Alert) 서비스일 수 있다.
앱 기반 인헨스먼트가 없는 리니어 서비스가 방송망을 통해 전달되는 경우, 서비스 컴포넌트는 (1) 하나 이상의 ROUTE 세션 또는 (2) 하나 이상의 MMTP 세션에 의해 전달될 수 있다.
앱 기반 인헨스먼트가 있는 리니어 서비스가 방송망을 통해 전달되는 경우, 서비스 컴포넌트는 (1) 하나 이상의 ROUTE 세션 및 (2) 0개 이상의 MMTP 세션에 의해 전달될 수 있다. 이 경우 앱 기반 인핸스먼트에 사용되는 데이터는 NRT 데이터 또는 기타 파일 등의 형태로 ROUTE 세션을 통해 전달될 수 있다. 본 발명의 일 실시예에서, 하나의 서비스의 리니어 서비스 컴포넌트(스트리밍 미디어 컴포넌트)들이 두 프로토콜을 동시에 사용해 전달되는 것이 허용되지 않을 수 있다.
앱 기반 서비스가 방송망을 통해 전달되는 경우, 서비스 컴포넌트는 하나 이상의 ROUTE 세션에 의해 전달될 수 있다. 이 경우, 앱 기반 서비스에 사용되는 서비스 데이터는 NRT 데이터 또는 기타 파일 등의 형태로 ROUTE 세션을 통해 전달될 수 있다.
또한, 이러한 서비스의 일부 서비스 컴포넌트 또는 일부 NRT 데이터, 파일 등은 브로드밴드를 통해 전달될 수 있다(하이브리드 서비스 딜리버리).
즉, 본 발명의 일 실시예에서, 하나의 서비스의 리니어 서비스 컴포넌트들은 MMT 프로토콜을 통해 전달될 수 있다. 본 발명의 다른 실시예에서, 하나의 서비스의 리니어 서비스 컴포넌트들은 ROUTE 프로토콜을 통해 전달될 수 있다. 본 발명의 또 다른 실시예에서, 하나의 서비스의 리니어 서비스 컴포넌트 및 NRT 데이터(NRT 서비스 컴포넌트)들은 ROUTE 프로토콜을 통해 전달될 수 있다. 본 발명의 또 다른 실시예에서, 하나의 서비스의 리니어 서비스 컴포넌트들은 MMT 프로토콜을 통해 전달되고, NRT 데이터(NRT 서비스 컴포넌트)들은 ROUTE 프로토콜을 통해 전달될 수 있다. 전술한 실시예들에서, 서비스의 일부 서비스 컴포넌트 또는 일부 NRT 데이터들은 브로드밴드를 통해 전달될 수 있다. 여기서 앱 기반 서비스 내지 앱 기반 인핸스먼트에 관한 데이터들은 NRT 데이터 형태로, ROUTE 에 따른 방송망을 통해 전달되거나 브로드밴드를 통해 전달될 수 있다. NRT 데이터는 로컬리 캐쉬드 데이터(Locally cashed data) 등으로 불릴 수도 있다.
각각의 ROUTE 세션은 서비스를 구성하는 컨텐츠 컴포넌트를 전체적으로 또는 부분적으로 전달하는 하나 이상의 LCT 세션을 포함한다. 스트리밍 서비스 딜리버리에서, LCT 세션은 오디오, 비디오, 또는 클로즈드 캡션 스트림과 같은 사용자 서비스의 개별 컴포넌트를 전달할 수 있다. 스트리밍 미디어는 DASH 세그먼트로 포맷된다.
각각의 MMTP 세션은 MMT 시그널링 메시지 또는 전체 또는 일부 컨텐츠 컴포넌트를 전달하는 하나 이상의 MMTP 패킷 플로우를 포함한다. MMTP 패킷 플로우는 MMT 시그널링 메시지 또는 MPU 로 포맷된 컴포넌트를 전달할 수 있다.
NRT 사용자 서비스 또는 시스템 메타데이터의 딜리버리를 위해, LCT 세션은 파일 기반의 컨텐츠 아이템을 전달한다. 이들 컨텐츠 파일은 NRT 서비스의 연속적 (타임드) 또는 이산적 (논 타임드) 미디어 컴포넌트, 또는 서비스 시그널링이나 ESG 프레그먼트와 같은 메타데이터로 구성될 수 있다. 서비스 시그널링이나 ESG 프레그먼트와 같은 시스템 메타데이터의 딜리버리 또한 MMTP의 시그널링 메시지 모드를 통해 이루어질 수 있다.
수신기에서는 튜너가 주파수들을 스캐닝하다가, 특정 주파수에서 방송 시그널을 감지할 수 있다. 수신기는 SLT 를 추출해 이를 처리하는 모듈로 보낼 수 있다. SLT 파서는 SLT 를 파싱하고 데이터를 획득해 채널 맵에 저장할 수 있다. 수신기는 SLT 의 부트스트랩 정보를 획득하고 ROUTE 또는 MMT 클라이언트에 전달해줄 수 있다. 수신기는 이를 통해 SLS 를 획득할 수 있고, 저장할 수 있다. USBD 등이 획득될 수 있고, 이는 시그널링 파서에 의해 파싱될 수 있다.
도 2 는 본 발명의 일 실시예에 따른 서비스 디스커버리 과정을 도시한 도면이다.
피지컬 레이어의 방송 신호 프레임이 전달하는 브로드캐스트 스트림은 LLS (Low Level Signaling) 을 운반할 수 있다. LLS 데이터는 웰 노운(well known) IP 어드레스/포트 로 전달되는 IP 패킷의 페이로드를 통해서 운반될 수 있다. 이 LLS 는 그 타입에 따라 SLT 를 포함할 수 있다. LLS 데이터는 LLS 테이블의 형태로 포맷될 수 있다. LLS 데이터를 운반하는 매 UDP/IP 패킷의 첫번째 바이트는 LLS 테이블의 시작일 수 있다. 도시된 실시예와 달리 LLS 데이터를 전달하는 IP 스트림은, 다른 서비스 데이터들과 함께 같은 PLP 로 전달될 수도 있다.
SLT 는 빠른 채널 스캔을 통하여 수신기가 서비스 리스트를 생성할 수 있게 하고, SLS 를 로케이팅(locating) 하기 위한 액세스 정보를 제공한다. SLT 는 부트스트랩 정보를 포함하는데, 이 부트스트랩 정보는 수신기가 각각의 서비스에 대한 SLS (Service Layer Signaling) 을 획득할 수 있도록 한다. SLS, 즉 서비스 시그널링 정보가 ROUTE 를 통해 전달되는 경우, 부트스트랩 정보는 SLS 를 운반하는 LCT 채널 내지 그 LCT 채널을 포함하는 ROUTE 세션의 데스티네이션 IP 어드레스 및 데스티네이션 포트 정보를 포함할 수 있다. SLS 가 MMT 를 통해 전달되는 경우, 부트스트랩 정보는 SLS 를 운반하는 MMTP 세션의 데스티네이션 IP 어드레스 및 데스티네이션 포트 정보를 포함할 수 있다.
도시된 실시예에서, SLT 가 기술하는 서비스 #1 의 SLS 는 ROUTE 를 통해 전달되고, SLT 는 해당 SLS 가 전달되는 LCT 채널을 포함하는 ROUTE 세션에 대한 부트스트랩 정보(sIP1, dIP1, dPort1) 를 포함할 수 있다. SLT 가 기술하는 서비스 #2 의 SLS 는 MMT 를 통해 전달되고, SLT 는 해당 SLS 가 전달되는 MMTP 패킷 플로우를 포함하는 MMTP 세션에 대한 부트스트랩 정보(sIP2, dIP2, dPort2) 를 포함할 수 있다.
SLS 는 해당 서비스에 대한 특성을 기술하는 시그널링 정보로서, 해당 서비스 및 해당 서비스의 서비스 컴포넌트를 획득하기 위한 정보를 제공하거나, 해당 서비스를 유의미하게 재생하기 위한 수신기 캐패빌리티 정보 등을 포함할 수 있다. 각 서비스에 대해 별개의 서비스 시그널링을 가지면 수신기는 브로드캐스트 스트림 내에서 전달되는 전체 SLS을 파싱할 필요 없이 원하는 서비스에 대한 적절한 SLS를 획득하면 된다.
SLS 가 ROUTE 프로토콜을 통해 전달되는 경우, SLS 는 SLT 가 지시하는 ROUTE 세션의 특정(dedicated) LCT 채널을 통해 전달될 수 있다. 실시예에 따라 이 LCT 채널은 tsi = 0 로 식별되는 LCT 채널일 수 있다. 이 경우 SLS 는 USBD/USD (User Service Bundle Description / User Service Description), S-TSID (Service-based Transport Session Instance Description) 및/또는 MPD (Media Presentation Description) 를 포함할 수 있다.
여기서 USBD 내지 USD 는 SLS 프래그먼트 중 하나로서, 서비스의 구체적 기술적 정보들을 기술하는 시그널링 허브로서 역할할 수 있다. USBD 는 서비스 식별 정보, 디바이스 캐패빌리티 정보 등을 포함할 수 있다. USBD 는 다른 SLS 프래그먼트(S-TSID, MPD 등) 에의 레퍼런스 정보(URI 레퍼런스)를 포함할 수 있다. 즉, USBD/USD 는 S-TSID 와 MPD 를 각각 레퍼런싱할 수 있다. 또한 USBD 는 수신기가 전송 모드(방송망/브로드밴드)를 결정할 수 있게 해주는 메타데이터 정보를 더 포함할 수 있다. USBD/USD 의 구체적 내용들에 대해서는 후술한다.
S-TSID 는 SLS 프래그먼트 중 하나로서, 해당 서비스의 서비스 컴포넌트를 운반하는 전송 세션에 대한 전체적인 세션 디스크립션 정보를 제공할 수 있다. S-TSID 는 해당 서비스의 서비스 컴포넌트가 전달되는 ROUTE 세션 및/또는 그 ROUTE 세션들의 LCT 채널에 대한 전송 세션 디스크립션 정보를 제공할 수 있다. S-TSID 는 하나의 서비스와 관련된 서비스 컴포넌트들의 컴포넌트 획득(acquisition) 정보를 제공할 수 있다. S-TSID 는, MPD 의 DASH 레프리젠테이션(Representation) 과 해당 서비스 컴포넌트의 tsi 간의 매핑을 제공할 수 있다. S-TSID 의 컴포넌트 획득 정보는 tsi, 관련 DASH 레프리젠테이션의 식별자의 형태로 제공될 수 있으며, 실시예에 따라 PLP ID 를 포함하거나 포함하지 않을 수 있다. 컴포넌트 획득 정보를 통해 수신기는 한 서비스의 오디오/비디오 컴포넌트들을 수집하고 DASH 미디어 세그먼트들의 버퍼링, 디코딩 등을 수행할 수 있다. S-TSID 는 전술한 바와 같이 USBD 에 의해 레퍼런싱될 수 있다. S-TSID 의 구체적 내용들에 대해서는 후술한다.
MPD 는 SLS 프래그먼트 중 하나로서, 해당 서비스의 DASH 미디어 프리젠테이션에 관한 디스크립션을 제공할 수 있다. MPD 는 미디어 세그먼트들에 대한 리소스 식별자(resource identifier) 를 제공하고, 식별된 리소스들에 대한 미디어 프리젠테이션 내에서의 컨텍스트 정보를 제공할 수 있다. MPD 는 방송망을 통해 전달되는 DASH 레프리젠테이션(서비스 컴포넌트)를 기술하고, 또한 브로드밴드를 통해 전달되는 추가적인 DASH 레프리젠테이션을 기술할 수 있다(하이브리드 딜리버리). MPD 는 전술한 바와 같이 USBD 에 의해 레퍼런싱될 수 있다.
SLS 가 MMT 프로토콜을 통해 전달되는 경우, SLS 는 SLT 가 지시하는 MMTP 세션의 특정(dedicated) MMTP 패킷 플로우을 통해 전달될 수 있다. 실시예에 따라 SLS 를 전달하는 MMTP 패킷들의 packet_id 는 00 의 값을 가질 수 있다. 이 경우 SLS 는 USBD/USD 및/또는 MMT Package (MP) 테이블을 포함할 수 있다.
여기서 USBD 는 SLS 프래그먼트의 하나로서, ROUTE 에서의 그것과 같이 서비스의 구체적 기술적 정보들을 기술할 수 있다. 여기서의 USBD 역시 다른 SLS 프래그먼트에의 레퍼런스 정보(URI 레퍼런스)를 포함할 수 있다. MMT 의 USBD 는 MMT 시그널링의 MP 테이블을 레퍼런싱할 수 있다. 실시예에 따라 MMT 의 USBD 는 S-TSID 및/또는 MPD 에의 레퍼런스 정보 또한 포함할 수 있다. 여기서의 S-TSID 는 ROUTE 프로토콜을 통해 전달되는 NRT 데이터를 위함일 수 있다. MMT 프로토콜을 통해 리니어 서비스 컴포넌트가 전달되는 경우에도 NRT 데이터는 ROUTE 프로토콜을 통해 전달될 수 있기 때문이다. MPD 는 하이브리드 서비스 딜리버리에 있어서, 브로드밴드로 전달되는 서비스 컴포넌트를 위함일 수 있다. MMT 의 USBD 의 구체적 내용들에 대해서는 후술한다.
MP 테이블은 MPU 컴포넌트들을 위한 MMT 의 시그널링 메시지로서, 해당 서비스의 서비스 컴포넌트를 운반하는 MMTP 세션에 대한 전체적인 세션 디스크립션 정보를 제공할 수 있다. 또한 MP 테이블은 이 MMTP 세션을 통해 전달되는 에셋(Asset) 에 대한 디스크립션을 포함할 수 있다. MP 테이블은 MPU 컴포넌트들을 위한 스트리밍 시그널링 정보로서, 하나의 서비스에 해당하는 에셋들의 리스트와 이 컴포넌트들의 로케이션 정보(컴포넌트 획득 정보)를 제공할 수 있다. MP 테이블의 구체적인 내용은 MMT 에서 정의된 형태이거나, 변형이 이루어진 형태일 수 있다. 여기서 Asset 이란, 멀티미디어 데이터 엔티티로서, 하나의 유니크 ID 로 연합되고 하나의 멀티미디어 프리젠테이션을 생성하는데 사용되는 데이터 엔티티를 의미할 수 있다. Asset 은 하나의 서비스를 구성하는 서비스 컴포넌트에 해당할 수 있다. MP 테이블을 이용하여 원하는 서비스에 해당하는 스트리밍 서비스 컴포넌트(MPU) 에 접근할 수 있다. MP 테이블은 전술한 바와 같이 USBD 에 의해 레퍼런싱될 수 있다.
기타 다른 MMT 시그널링 메시지가 정의될 수 있다. 이러한 MMT 시그널링 메시지들에 의해 MMTP 세션 내지 서비스에 관련된 추가적인 정보들이 기술될 수 있다.
ROUTE 세션은 소스 IP 어드레스, 데스티네이션 IP 어드레스, 데스티네이션 포트 넘버에 의해 식별된다. LCT 세션은 페어런트 ROUTE 세션의 범위 내에서 유일한 TSI (transport session identifier)에 의해 식별된다. MMTP 세션은 데스티네이션 IP 어드레스 및 데스티네이션 포트 넘버에 의해 식별된다. MMTP 패킷 플로우는 페어런트 MMTP 세션의 범위 내에서 유일한 packet_id에 의해 식별된다.
ROUTE 의 경우 S-TSID, USBD/USD, MPD 또는 이 들을 전달하는 LCT 세션을 서비스 시그널링 채널이라 부를 수도 있다. MMTP 의 경우, USBD/UD, MMT 시그널링 메시지들 또는 이들을 전달하는 패킷 플로우를 서비스 시그널링 채널이라 부를 수도 있다.
도시된 실시예와는 달리, 하나의 ROUTE 또는 MMTP 세션은 복수개의 PLP 를 통해 전달될 수 있다. 즉, 하나의 서비스는 하나 이상의 PLP 를 통해 전달될 수도 있다. 도시된 것과 달리 실시예에 따라 하나의 서비스를 구성하는 컴포넌트들이 서로 다른 ROUTE 세션들을 통해 전달될 수도 있다. 또한, 실시예에 따라 하나의 서비스를 구성하는 컴포넌트들이 서로 다른 MMTP 세션들을 통해 전달될 수도 있다. 실시예에 따라 하나의 서비스를 구성하는 컴포넌트들이 ROUTE 세션과 MMTP 세션에 나뉘어 전달될 수도 있다. 도시되지 않았으나, 하나의 서비스를 구성하는 컴포넌트가 브로드밴드를 통해 전달(하이브리드 딜리버리)되는 경우도 있을 수 있다.
도 3 은 본 발명의 일 실시예에 따른 LLS (Low Level Signaling) 테이블 및 SLT (Service List Table)를 도시한 도면이다.
도시된 LLS 테이블의 일 실시예(t3010) 은, LLS_table_id 필드, provider_id 필드, LLS_table_version 필드 및/또는 LLS_table_id 필드에 따른 정보들을 포함할 수 있다.
LLS_table_id 필드는 해당 LLS 테이블의 타입을 식별하고, provider_id 필드는 해당 LLS 테이블에 의해 시그널링되는 서비스들과 관련된 서비스 프로바이더를 식별할 수 있다. 여기서 서비스 프로바이더는 해당 브로드캐스트 스트림의 전부 또는 일부를 사용하는 브로드캐스터로서, provider_id 필드는 해당 브로드캐스트 스트림을 사용중인 복수의 브로드캐스터들 중 하나를 식별할 수 있다. LLS_table_version 필드는 해당 LLS 테이블의 버전 정보를 제공할 수 있다.
LLS_table_id 필드의 값에 따라, 해당 LLS 테이블은 전술한 SLT, 컨텐트 어드바이저리 레이팅(Content advisory rating) 에 관련된 정보를 포함하는 RRT(Rating Region Table), 시스템 타임과 관련된 정보를 제공하는 SystemTime 정보, 긴급 경보와 관련된 정보를 제공하는 CAP (Common Alert Protocol) 메시지 중 하나를 포함할 수 있다. 실시예에 따라 이들 외에 다른 정보가 LLS 테이블에 포함될 수도 있다.
도시된 SLT 의 일 실시예(t3020) 는, @bsid 속성, @sltCapabilities 속성, sltInetUrl 엘레멘트 및/또는 Service 엘레멘트를 포함할 수 있다. 각 필드들은 도시된 Use 컬럼의 값에 따라 생략되거나, 복수개 존재할 수 있다.
@bsid 속성은 브로드캐스트 스트림의 식별자일 수 있다. @sltCapabilities 속성은 해당 SLT 가 기술하는 모든 서비스들을 디코딩하고 유의미하게 재생하는데 요구되는 캐패빌리티 정보를 제공할 수 있다. sltInetUrl 엘레멘트는 해당 SLT 의 서비스들을 위한 ESG 내지 서비스 시그널링 정보를 브로드밴드를 통해 얻기 위해 사용되는 베이스 URL 정보를 제공할 수 있다. sltInetUrl 엘레멘트는 @urlType 속성을 더 포함할 수 있는데, 이는 해당 URL 을 통해 얻을 수 있는 데이터의 타입을 지시할 수 있다.
Service 엘레멘트는 해당 SLT 가 기술하는 서비스들에 대한 정보를 포함하는 엘레멘트일 수 있으며, 각각의 서비스들에 대해 Service 엘레멘트가 존재할 수 있다. Service 엘레멘트는 @serviceId 속성, @sltSvcSeqNum 속성, @protected 속성, @majorChannelNo 속성, @minorChannelNo 속성, @serviceCategory 속성, @shortServiceName 속성, @hidden 속성, @broadbandAccessRequired 속성, @svcCapabilities 속성, BroadcastSvcSignaling 엘레멘트 및/또는 svcInetUrl 엘레멘트를 포함할 수 있다.
@serviceId 속성은 해당 서비스의 식별자이고, @sltSvcSeqNum 속성은 해당 서비스에 대한 SLT 정보의 시퀀스 넘버를 나타낼 수 있다. @protected 속성은 해당 서비스의 유의미한 재생을 위해 필요한 적어도 하나의 서비스 컴포넌트가 보호(protected)되고 있는지 여부를 지시할 수 있다. @majorChannelNo 속성과 @minorChannelNo 속성은 각각 해당 서비스의 메이저 채널 넘버와 마이너 채널 넘버를 지시할 수 있다.
@serviceCategory 속성은 해당 서비스의 카테고리를 지시할 수 있다. 서비스의 카테고리로는 리니어 A/V 서비스, 리니어 오디오 서비스, 앱 기반 서비스, ESG 서비스, EAS 서비스 등이 있을 수 있다. @shortServiceName 속성은 해당 서비스의 짧은 이름(Short name)을 제공할 수 있다. @hidden 속성은 해당 서비스가 테스팅 또는 독점적(proprietary) 사용을 위한 서비스인지 여부를 지시할 수 있다. @broadbandAccessRequired 속성은 해당 서비스의 유의미한 재생을 위하여 브로드밴드 억세스가 필요한지 여부를 지시할 수 있다. @svcCapabilities 속성은 해당 서비스의 디코딩과 유의미한 재생을 위하여 필요한 캐패빌리티 정보를 제공할 수 있다.
BroadcastSvcSignaling 엘레멘트는 해당 서비스의 브로드캐스트 시그널링에 관련된 정보들을 제공할 수 있다. 이 엘레멘트는 해당 서비스의 방송망을 통한 시그널링에 대하여, 로케이션, 프로토콜, 어드레스 등의 정보를 제공할 수 있다. 자세한 사항은 후술한다.
svcInetUrl 엘레멘트는 해당 서비스를 위한 시그널링 정보를 브로드밴드를 통해 액세스하기 위한 URL 정보를 제공할 수 있다. sltInetUrl 엘레멘트는 @urlType 속성을 더 포함할 수 있는데, 이는 해당 URL 을 통해 얻을 수 있는 데이터의 타입을 지시할 수 있다.
전술한 BroadcastSvcSignaling 엘레멘트는 @slsProtocol 속성, @slsMajorProtocolVersion 속성, @slsMinorProtocolVersion 속성, @slsPlpId 속성, @slsDestinationIpAddress 속성, @slsDestinationUdpPort 속성 및/또는 @slsSourceIpAddress 속성을 포함할 수 있다.
@slsProtocol 속성은 해당 서비스의 SLS 를 전달하는데 사용되는 프로토콜을 지시할 수 있다(ROUTE, MMT 등). @slsMajorProtocolVersion 속성 및 @slsMinorProtocolVersion 속성은 각각 해당 서비스의 SLS 를 전달하는데 사용되는 프로토콜의 메이저 버전 넘버 및 마이너 버전 넘버를 지시할 수 있다.
@slsPlpId 속성은 해당 서비스의 SLS 를 전달하는 PLP 를 식별하는 PLP 식별자를 제공할 수 있다. 실시예에 따라 이 필드는 생략될 수 있으며, SLS 가 전달되는 PLP 정보는 후술할 LMT 내의 정보와, SLT 의 부트스트랩 정보를 조합하여 확인될 수도 있다.
@slsDestinationIpAddress 속성, @slsDestinationUdpPort 속성 및 @slsSourceIpAddress 속성은 각각 해당 서비스의 SLS 를 전달하는 전송 패킷의 데스티네이션 IP 어드레스, 데스티네이션 UDP 포트 및 소스 IP 어드레스 를 지시할 수 있다. 이들은 SLS 가 전달되는 전송세션(ROUTE 세션 또는 MMTP 세션)을 식별할 수 있다. 이들은 부트스트랩 정보에 포함될 수 있다.
도 4 는 본 발명의 일 실시예에 따른, ROUTE 로 전달되는 USBD 및 S-TSID 를 도시한 도면이다.
도시된 USBD 의 일 실시예(t4010) 은, bundleDescription 루트 엘레멘트를 가질 수 있다. bundleDescription 루트 엘레멘트는 userServiceDescription 엘레멘트를 가질 수 있다. userServiceDescription 엘레멘트는 하나의 서비스에 대한 인스턴스일 수 있다.
userServiceDescription 엘레멘트는 @globalServiceID 속성, @serviceId 속성, @serviceStatus 속성, @fullMPDUri 속성, @sTSIDUri 속성, name 엘레멘트, serviceLanguage 엘레멘트, capabilityCode 엘레멘트 및/또는 deliveryMethod 엘레멘트를 포함할 수 있다. 각 필드들은 도시된 Use 컬럼의 값에 따라 생략되거나, 복수개 존재할 수 있다.
@globalServiceID 속성은 해당 서비스의 글로벌하게 유니크한(globally unique) 식별자로서, ESG 데이터와 링크되는데 사용될 수 있다(Service@globalServiceID). @serviceId 속성은 SLT 의 해당 서비스 엔트리와 대응되는 레퍼런스로서, SLT 의 서비스 ID 정보와 동일할 수 있다. @serviceStatus 속성은 해당 서비스의 상태를 지시할 수 있다. 이 필드는 해당 서비스가 액티브인지 인액티브(inactive) 상태인지 여부를 지시할 수 있다.
@fullMPDUri 속성은 해당 서비스의 MPD 프래그먼트를 레퍼런싱할 수 있다. MPD 는 전술한 바와 같이 방송망 또는 브로드밴드를 통해 전달되는 서비스 컴포넌트에 대한 재생 디스크립션을 제공할 수 있다. @sTSIDUri 속성은 해당 서비스의 S-TSID 프래그먼트를 레퍼런싱할 수 있다. S-TSID 는 전술한 바와 같이 해당 서비스를 운반하는 전송 세션에의 액세스와 관련된 파라미터들을 제공할 수 있다.
name 엘레멘트는 해당 서비스의 이름을 제공할 수 있다. 이 엘레멘트는 @lang 속성을 더 포함할 수 있는데, 이 필드는 name 엘레멘트가 제공하는 이름의 언어를 지시할 수 있다. serviceLanguage 엘레멘트는 해당 서비스의 이용 가능한(available) 언어들을 지시할 수 있다. 즉, 이 엘레멘트는 해당 서비스가 제공될 수 있는 언어들을 나열할 수 있다.
capabilityCode 엘레멘트는 해당 서비스를 유의미하게 재생하기 위해 필요한 수신기 측의 캐패빌리티 또는 캐패빌리티 그룹 정보를 지시할 수 있다. 이 정보들은 서비스 아나운스먼트(announccement) 에서 제공되는 캐패빌리티 정보 포맷과 호환될 수 있다.
deliveryMethod 엘레멘트는 해당 서비스의 방송망 또는 브로드밴드를 통해 액세스되는 컨텐츠들에 대하여, 전송 관련 정보들을 제공할 수 있다. deliveryMethod 엘레멘트는 broadcastAppService 엘레멘트 및/또는 unicastAppService 엘레멘트를 포함할 수 있다. 이 엘레멘트들은 각각 basePattern 엘레멘트를 하위 엘레멘트로 가질 수 있다.
broadcastAppService 엘레멘트는 방송망을 통해 전달되는 DASH 레프리젠테이션에 대한 전송 관련 정보를 포함할 수 있다. 이 DASH 레프리젠테이션들은 해당 서비스 미디어 프리젠테이션의 모든 피리오드(Period)에 걸친 미디어 컴포넌트들을 포함할 수 있다.
이 엘레멘트의 basePattern 엘레멘트는 수신기가 세그먼트 URL 과 매칭하는데 사용되는 캐릭터 패턴을 나타낼 수 있다. 이는 DASH 클라이언트가 해당 레프리젠테이션의 세그먼트들을 요청하는데 사용될 수 있다. 매칭된다는 것은 해당 미디어 세그먼트가 방송망을 통해 전달된다는 것을 암시할 수 있다.
unicastAppService 엘레멘트는 브로드밴드를 통해 전달되는 DASH 레프리젠테이션에 대한 전송 관련 정보를 포함할 수 있다. 이 DASH 레프리젠테이션들은 해당 서비스 미디어 프리젠테이션의 모든 피리오드(Period)에 걸친 미디어 컴포넌트들을 포함할 수 있다.
이 엘레멘트의 basePattern 엘레멘트는 수신기가 세그먼트 URL 과 매칭하는데 사용되는 캐릭터 패턴을 나타낼 수 있다. 이는 DASH 클라이언트가 해당 레프리젠테이션의 세그먼트들을 요청하는데 사용될 수 있다. 매칭된다는 것은 해당 미디어 세그먼트가 브로드밴드를 통해 전달된다는 것을 암시할 수 있다.
도시된 S-TSID 의 일 실시예(t4020) 은, S-TSID 루트 엘레멘트를 가질 수 있다. S-TSID 루트 엘레멘트는 @serviceId 속성 및/또는 RS 엘레멘트를 포함할 수 있다. 각 필드들은 도시된 Use 컬럼의 값에 따라 생략되거나, 복수개 존재할 수 있다.
@serviceId 속성은 해당 서비스의 식별자로서, USBD/USD 의 해당 서비스를 레퍼런싱할 수 있다. RS 엘레멘트는 해당 서비스의 서비스 컴포넌트들이 전달되는 ROUTE 세션들에 대한 정보를 기술할 수 있다. 이러한 ROUTE 세션의 개수에 따라, 이 엘레멘트는 복수개 존재할 수 있다. RS 엘레멘트는 @bsid 속성, @sIpAddr 속성, @dIpAddr 속성, @dport 속성, @PLPID 속성 및/또는 LS 엘레멘트를 더 포함할 수 있다.
@bsid 속성은 해당 서비스의 서비스 컴포넌트들이 전달되는 브로드캐스트 스트림의 식별자일 수 있다. 이 필드가 생략된 경우, 디폴트 브로드캐스트 스트림은 해당 서비스의 SLS 를 전달하는 PLP 를 포함하는 브로드캐스트 스트림일 수 있다. 이 필드의 값은 SLT 의 @bsid 속성과 같은 값일 수 있다.
@sIpAddr 속성, @dIpAddr 속성 및 @dport 속성은 각각 해당 ROUTE 세션의 소스 IP 어드레스, 데스티네이션 IP 어드레스 및 데스티네이션 UDP 포트를 나타낼 수 있다. 이 필드들이 생략되는 경우, 디폴트 값들은 해당 SLS 를 전달하는, 즉 해당 S-TSID 를 전달하고 있는 현재의, ROUTE 세션의 소스 IP 어드레스, 데스티네이션 IP 어드레스 및 데스티네이션 UDP 포트값들일 수 있다. 현재 ROUTE 세션이 아닌, 해당 서비스의 서비스 컴포넌트들을 전달하는 다른 ROUTE 세션에 대해서는, 본 필드들이 생략되지 않을 수 있다.
@PLPID 속성은 해당 ROUTE 세션의 PLP ID 정보를 나타낼 수 있다. 이 필드가 생략되는 경우, 디폴트 값은 해당 S-TSID 가 전달되고 있는 현재 PLP 의 PLP ID 값일 수 있다. 실시예에 따라 이 필드는 생략되고, 해당 ROUTE 세션의 PLP ID 정보는 후술할 LMT 내의 정보와, RS 엘레멘트의 IP 어드레스 / UDP 포트 정보들을 조합하여 확인될 수도 있다.
LS 엘레멘트는 해당 서비스의 서비스 컴포넌트들이 전달되는 LCT 채널들에 대한 정보를 기술할 수 있다. 이러한 LCT 채널의 개수에 따라, 이 엘레멘트는 복수개 존재할 수 있다. LS 엘레멘트는 @tsi 속성, @PLPID 속성, @bw 속성, @startTime 속성, @endTime 속성, SrcFlow 엘레멘트 및/또는 RepairFlow 엘레멘트를 포함할 수 있다.
@tsi 속성은 해당 LCT 채널의 tsi 정보를 나타낼 수 있다. 이를 통해 해당 서비스의 서비스 컴포넌트가 전달되는 LCT 채널들이 식별될 수 있다. @PLPID 속성은 해당 LCT 채널의 PLP ID 정보를 나타낼 수 있다. 실시예에 따라 이 필드는 생략될 수 있다. @bw 속성은 해당 LCT 채널의 최대 대역폭를 나타낼 수 있다. @startTime 속성은 해당 LCT 세션의 스타트 타임을 지시하고, @endTime 속성은 해당 LCT 채널의 엔드 타임을 지시할 수 있다.
SrcFlow 엘레멘트는 ROUTE 의 소스 플로우에 대해 기술할 수 있다. ROUTE 의 소스 프로토콜은 딜리버리 오브젝트를 전송하기 위해 사용되며, 한 ROUTE 세션 내에서 적어도 하나 이상의 소스 플로우를 설정(establish)할 수 있다. 이 소스 플로우들은 관련된 오브젝트들을 오브젝트 플로우로서 전달할 수 있다.
RepairFlow 엘레멘트는 ROUTE 의 리페어 플로우에 대해 기술할 수 있다. 소스 프로토콜에 따라 전달되는 딜리버리 오브젝트들은 FEC (Forward Error Correction) 에 따라 보호될 수 있는데, 리페어 프로토콜은 이러한 FEC 프로텍션을 가능케 하는 FEC 프레임워크(framework)를 정의할 수 있다.
도 5 는 본 발명의 일 실시예에 따른, MMT 로 전달되는 USBD 를 도시한 도면이다.
도시된 USBD 의 일 실시예는, bundleDescription 루트 엘레멘트를 가질 수 있다. bundleDescription 루트 엘레멘트는 userServiceDescription 엘레멘트를 가질 수 있다. userServiceDescription 엘레멘트는 하나의 서비스에 대한 인스턴스일 수 있다.
userServiceDescription 엘레멘트는 @globalServiceID 속성, @serviceId 속성, Name 엘레멘트, serviceLanguage 엘레멘트, contentAdvisoryRating 엘레멘트, Channel 엘레멘트, mpuComponent 엘레멘트, routeComponent 엘레멘트, broadbandComponent 엘레멘트 및/또는 ComponentInfo 엘레멘트를 포함할 수 있다. 각 필드들은 도시된 Use 컬럼의 값에 따라 생략되거나, 복수개 존재할 수 있다.
@globalServiceID 속성, @serviceId 속성, Name 엘레멘트 및/또는 serviceLanguage 엘레멘트는 전술한 ROUTE 로 전달되는 USBD 의 해당 필드들과 같을 수 있다. contentAdvisoryRating 엘레멘트는 해당 서비스의 컨텐트 어드바이저리(advisory) 레이팅을 나타낼 수 있다. 이 정보들은 서비스 아나운스먼트(announccement) 에서 제공되는 컨텐트 어드바이저리 레이팅 정보 포맷과 호환될 수 있다. Channel 엘레멘트는 해당 서비스와 관련된 정보들을 포함할 수 있다. 이 엘레멘트의 자세한 내용에 대해서는 후술한다.
mpuComponent 엘레멘트는 해당 서비스의 MPU 로서 전달되는 서비스 컴포넌트들에 대한 디스크립션을 제공할 수 있다. 이 엘레멘트는 @mmtPackageId 속성 및/또는 @nextMmtPackageId 속성을 더 포함할 수 있다. @mmtPackageId 속성은 해당 서비스의 MPU 로서 전달되는 서비스 컴포넌트들의 MMT 패키지(Package) 를 레퍼런싱할 수 있다. @nextMmtPackageId 속성은 시간상 @mmtPackageId 속성이 레퍼런싱하는 MMT 패키지 다음으로 사용될 MMT 패키지를 레퍼런싱할 수 있다. 이 엘레멘트의 정보들을 통해 MP 테이블이 레퍼런싱될 수 있다.
routeComponent 엘레멘트는 ROUTE 로 전달되는 해당 서비스의 서비스 컴포넌트들에 대한 디스크립션을 포함할 수 있다. 리니어 서비스 컴포넌트들이 MMT 프로토콜로 전달되는 경우라 하더라도, NRT 데이터들은 전술한 바와 같이 ROUTE 프로토콜에 따라 전달될 수 있다. 이 엘레멘트는 이러한 NRT 데이터들에 대한 정보들을 기술할 수 있다. 이 엘레멘트의 자세한 내용에 대해서는 후술한다.
broadbandComponent 엘레멘트는 브로드밴드로 전달되는 해당 서비스의 서비스 컴포넌트들에 대한 디스크립션을 포함할 수 있다. 하이브리드 서비스 딜리버리에 있어서, 한 서비스의 일부 서비스 컴포넌트 또는 기타 파일들은 브로드밴드를 통해 전달될 수 있다. 이 엘레멘트는 이러한 데이터들에 대한 정보들을 기술할 수 있다. 이 엘레멘트는 @fullMPDUri 속성을 더 포함할 수 있다. 이 속성은 브로드밴드로 전달되는 서비스 컴포넌트들에 대해 기술하는 MPD 를 레퍼런싱할 수 있다. 하이브리드 서비스 딜리버리 이외에도, 터널 내의 주행 등으로 인해 방송 신호가 약화되는 경우에 있어, 방송망-브로드밴드 간의 핸드오프(handoff) 를 지원하기 위해 본 엘레멘트가 필요할 수 있다. 방송 신호가 약해지는 경우, 브로드밴드를 통해 서비스 컴포넌트를 획득하다가, 다시 방송 신호가 강해지면 방송망을 통해 서비스 컴포넌트를 획득하여 서비스의 연속성이 보장될 수 있다.
ComponentInfo 엘레멘트는 해당 서비스의 서비스 컴포넌트들에 대한 정보를 포함할 수 있다. 서비스의 서비스 컴포넌트들의 개수에 따라, 이 엘레멘트는 복수개 존재할 수 있다. 이 엘레멘트는 각 서비스 컴포넌트의 타입, 롤(role), 이름, 식별자, 프로텍션 여부 등의 정보들을 기술할 수 있다. 이 엘레멘트의 자세한 정보에 대해서는 후술한다.
전술한 Channel 엘레멘트는 @serviceGenre 속성, @serviceIcon 속성 및/또는 ServiceDescription 엘레멘트를 더 포함할 수 있다. @serviceGenre 속성은 해당 서비스의 장르를 지시하고, @serviceIcon 속성은 해당 서비스를 대표하는 아이콘(icon) 의 URL 정보를 포함할 수 있다. ServiceDescription 엘레멘트는 해당 서비스의 서비스 디스크립션을 제공하는데, 이 엘레멘트는 @serviceDescrText 속성 및/또는 @serviceDescrLang 속성을 더 포함할 수 있다. 이 속성들은 각각 해당 서비스 디스크립션의 텍스트 및 그 텍스트에 사용되는 언어를 지시할 수 있다.
전술한 routeComponent 엘레멘트는 @sTSIDUri 속성, @sTSIDDestinationIpAddress 속성, @sTSIDDestinationUdpPort 속성, @sTSIDSourceIpAddress 속성, @sTSIDMajorProtocolVersion 속성 및/또는 @sTSIDMinorProtocolVersion 속성을 더 포함할 수 있다.
@sTSIDUri 속성은 S-TSID 프래그먼트를 레퍼런싱할 수 있다. 이 필드는 전술한 ROUTE 로 전달되는USBD 의 해당 필드와 같을 수 있다. 이 S-TSID 는 ROUTE 로 전달되는 서비스 컴포넌트들에 대한 액세스 관련 정보를 제공할 수 있다. 이 S-TSID 는 MMT 프로토콜에 따라 리니어 서비스 컴포넌트들이 전달되는 상황에서, ROUTE 프로토콜에 따라 전달되는 NRT 데이터들을 위해 존재할 수 있다.
@sTSIDDestinationIpAddress 속성, @sTSIDDestinationUdpPort 속성 및 @sTSIDSourceIpAddress 속성은 각각 전술한 S-TSID 를 운반하는 전송 패킷의 데스티네이션 IP 어드레스, 데스티네이션 UDP 포트, 소스 IP 어드레스를 나타낼 수 있다. 즉, 이 필드들은 전술한 S-TSID 를 운반하는 전송 세션(MMTP 세션 또는 ROUTE 세션)을 식별할 수 있다.
@sTSIDMajorProtocolVersion 속성 및 @sTSIDMinorProtocolVersion 속성은 전술한 S-TSID 를 전달하는데 사용되는 전송 프로토콜의 메이저 버전 넘버 및 마이너 버전 넘버를 지시할 수 있다.
전술한 ComponentInfo 엘레멘트는 @componentType 속성, @componentRole 속성, @componentProtectedFlag 속성, @componentId 속성 및/또는 @componentName 속성을 더 포함할 수 있다.
@componentType 속성은 해당 컴포넌트의 타입을 지시할 수 있다. 예를 들어 이 속성은 해당 컴포넌트가 오디오, 비디오, 클로즈드캡션 컴포넌트인지를 지시할 수 있다. @componentRole 속성은 해당 컴포넌트의 롤(역할)을 지시할 수 있다. 예를 들어 이 속성은 해당 컴포넌트가 오디오 컴포넌트인 경우 메인 오디오, 뮤직, 코멘터리 등인지를 지시할 수 있다. 해당 컴포넌트가 비디오 컴포넌트인 경우 프라이머리 비디오인지 등을 지시할 수 있다. 해당 컴포넌트가 클로즈드 캡션 컴포넌트인 경우 노말 캡션인지 이지리더(easy reader) 타입인지 등을 지시할 수 있다.
@componentProtectedFlag 속성은 해당 서비스 컴포넌트가 프로텍티드되었는지, 예를 들어 암호화되었는지를 지시할 수 있다. @componentId 속성은 해당 서비스 컴포넌트의 식별자를 나타낼 수 있다. 이 속성의 값은 이 서비스 컴포넌트에 해당하는 MP 테이블의 asset_id (에셋 ID) 와 같은 값일 수 있다. @componentName 속성은 해당 서비스 컴포넌트의 이름을 나타낼 수 있다.
도 6 은 본 발명의 일 실시예에 따른 링크 레이어(Link Layer) 동작을 도시한 도면이다.
링크 레이어는 피지컬 레이어와 네트워크 레이어 사이의 레이어일 수 있다. 송신 측에서는 네트워크 레이어에서 피지컬 레이어로 데이터를 전송하고, 수신 측에서는 피지컬 레이어에서 네트워크 레이어로 데이터를 전송할 수 있다(t6010). 링크 레이어의 목적은 피지컬 레이어에 의한 처리를 위해 모든 입력 패킷 타입을 하나의 포맷으로 압축(abstracting)하는 것, 아직 정의되지 않은 입력 패킷 타입에 대한 유연성(flexibility) 및 추후 확장 가능성을 보장하는 것일 수 있다. 또한 링크 레이어는 입력 패킷의 헤더의 불필요한 정보를 압축하는 옵션을 제공함으로써, 입력 데이터가 효율적으로 전송될 수 있도록 할 수 있다. 링크 레이어의 오버헤드 리덕션, 인캡슐레이션 등의 동작은 링크 레이어 프로토콜이라 불리고, 해당 프로토콜을 이용하여 생성된 패킷은 링크 레이어 패킷이라 불릴 수 있다. 링크 레이어는 패킷 인캡슐레이션(packet encapsulation), 오버헤드 리덕션(Overhead Reduction) 및/또는 시그널링 전송(Signaling Transmission) 등의 기능을 수행할 수 있다.
송신측 기준으로, 링크 레이어(ALP)는 입력 패킷에 대하여 오버헤드 리덕션 과정을 수행한 후 이들을 링크 레이어 패킷으로 인캡슐레이션할 수 있다. 또한 실시예에 따라 링크 레이어는 오버헤드 리덕션 과정을 수행하지 아니하고, 링크 레이어 패킷으로 인캡슐레이션할 수도 있다. 링크 레이어 프로토콜의 사용으로 인해 피지컬 레이어 상에서 데이터의 전송에 대한 오버헤드가 크게 감소할 수 있으며, 본 발명에 따른 링크 레이어 프로토콜은 IP 오버헤드 리덕션 및/또는 MPEG-2 TS 오버헤드 리덕션을 제공할 수 있다.
도시된, IP 패킷이 입력패킷으로 입력되는 경우에 있어서(t6010), 링크 레이어는 IP 헤더 압축, 어댑테이션 및/또는 인캡슐레이션 과정을 차례로 수행할 수 있다. 실시예에 따라 일부 과정은 생략될 수 있다. 먼저, RoHC 모듈이 IP 패킷 헤더 압축을 수행하여 불필요한 오버헤드를 줄이고, 어댑테이션 과정을 통해 컨텍스트 정보가 추출되고 대역 외로 전송될 수 있다. IP 헤더 압축과 어댑테이션 과정을 통칭하여 IP 헤더 압축이라 부를 수도 있다. 이 후 인캡슐레이션 과정을 통해 IP 패킷들이 링크 레이어 패킷들로 인캡슐레이션될 수 있다.
MPEG 2 TS 패킷이 입력패킷으로 입력되는 경우에 있어서, 링크 레이어는 TS 패킷에 대한 오버헤드 리덕션 및/또는 인캡슐레이션 과정을 차례로 수행할 수 있다. 실시예에 따라 일부 과정은 생략될 수 있다. 오버헤드 리덕션에 있어, 링크 레이어는 싱크 바이트 제거, 널 패킷 삭제 및/또는 공통(common) 헤더 제거 (압축)을 제공할 수 있다. 싱크 바이트 제거를 통해 TS 패킷당 1 바이트의 오버헤드 리덕션이 제공될 수 있다. 수신측에서 재삽입될 수 있는 방식으로 널 패킷 삭제가 수행될 수 있다. 또한 연속된 헤더들 간의 공통되는 정보들이 수신측에서 복구될 수 있는 방식으로 삭제(압축)될 수 있다. 각 오버헤드 리덕션 과정 중 일부는 생략될 수 있다. 이 후 인캡슐레이션 과정을 통해 TS 패킷들이 링크 레이어 패킷들로 인캡슐레이션될 수 있다. TS 패킷의 인캡슐레이션에 대한 링크 레이어 패킷 구조는 다른 타입의 패킷들과는 다를 수 있다.
먼저 IP 헤더 압축(IP Header Compression) 에 대해서 설명한다.
IP 패킷은 고정된 헤더 포맷을 가지고 있으나, 통신 환경에서 필요한 일부 정보는 브로드캐스트 환경에서 불필요할 수 있다. 링크 레이어 프로토콜은 IP 패킷의 헤더를 압축함으로써 브로드캐스트 오버헤드를 줄이는 메커니즘을 제공할 수 있다.
IP 헤더 압축은 헤더 컴프레서/디컴프레서 및/또는 어댑테이션 모듈을 포함할 수 있다. IP 헤더 컴프레서(RoHC 컴프레서)는 RoHC 방식에 기초하여 각 IP 패킷 헤더의 크기를 감소시킬 수 있다. 이 후 어댑테이션 모듈은 컨텍스트 정보를 추출하고 각 패킷 스트림으로부터 시그널링 정보를 생성할 수 있다. 수신기는 해당 패킷 스트림에 관련된 시그널링 정보를 파싱하고 컨텍스트 정보를 그 패킷 스트림에 붙일(attach) 수 있다. RoHC 디컴프레서는 패킷 헤더를 복구하여 원래의 IP 패킷을 재구성할 수 있다. 이하, IP 헤더 압축이란, 헤더 컴프레서에 의한 IP 헤더 압축만을 의미할 수도 있고, IP 헤더 압축과 어댑테이션 모듈에 의한 어댑테이션 과정을 합한 개념을 의미할 수도 있다. 디컴프레싱(decompressing) 에 대해서도 마찬가지이다.
이하, 어댑테이션(Adaptation) 에 대해서 설명한다.
단방향 링크를 통한 전송의 경우, 수신기가 컨텍스트의 정보를 갖고 있지 않으면, 디컴프레서는 완전한 컨텍스트를 수신할 때까지 수신된 패킷 헤더를 복구할 수 없다. 이는 채널 변경 지연 및 턴 온 딜레이 (turn-on delay)를 초래할 수 있다. 따라서 어댑테이션 기능을 통해, 컴프레서/디컴프레서 간의 컨피규레이션 파라미터와 컨텍스트 정보가 대역 외로 전송될 수 있다. 어댑테이션 펑션(function)은 컨텍스트 정보 및/또는 컨피규레이션 파라미터들을 이용하여 링크 레이어 시그널링을 생성(construction) 할 수 있다. 어댑테이션 펑션은 예전(previous) 컨피규레이션 파라미터 및/또는 컨텍스트 정보를 이용하여 각각의 피지컬 프레임을 통해 주기적으로 링크 레이어 시그널링을 전송할 수 있다.
압축된 IP 패킷들로부터 컨텍스트 정보가 추출되는데, 어댑테이션 모드에 따라 다양한 방법이 사용될 수 있다.
모드 #1 은 압축된 패킷 스트림에 대해 어떠한 동작도 수행하지 않는 모드로서, 어댑테이션 모듈이 버퍼로서 동작하는 모드일 수 있다.
모드 #2 는 압축된 패킷 스트림 중, IR 패킷을 검출하여 컨텍스트 정보(스태틱 체인)을 추출하는 모드일 수 있다. 추출후 IR 패킷은 IR-DYN 패킷으로 전환되고, IR-DYN 패킷은 원래의 IR 패킷을 대체하여 패킷 스트림 내에서 같은 순서로 전송될 수 있다.
모드 #3 (t6020) 는 압축된 패킷 스트림 중, IR 및 IR-DYN 패킷을 검출하고 컨텍스트 정보를 추출하는 모드일 수 있다. IR 패킷으로부터 스태틱 체인 및 다이나믹 체인이, IR-DYN 패킷으로부터 다이나믹 체인이 추출될 수 있다. 추출후 IR 및 IR-DYN 패킷은 일반 압축 패킷으로 전환될 수 있다. 전환된 패킷은 원래의 IR 및 IR-DYN 패킷을 대체하여 패킷 스트림 내에서 같은 순서로 전송될 수 있다.
각 모드에서, 컨텍스트 정보가 추출되고 남은 패킷들은, 압축된 IP 패킷을 위한 링크 레이어 패킷 구조에 따라 인캡슐레이션 되어 전송될 수 있다. 컨텍스트 정보들은, 링크 레이어 시그널링으로서, 시그널링 정보를 위한 링크 레이어 패킷 구조에 따라 인캡슐레이션 되어 전송될 수 있다.
추출된 컨텍스트 정보는 RDT (RoHC-U Description Table) 에 포함되어 RoHC 패킷 플로우와 별도로 전송될 수 있다. 컨텍스트 정보는 다른 시그널링 정보와 함께 특정(specific) 피지컬 데이터 경로를 통해 전송될 수 있다. 특정 피지컬 데이터 경로란, 실시예에 따라, 일반적인 PLP 중 하나를 의미할 수도 있고, LLS (Low Level Signaling) 이 전달되는 PLP 를 의미할 수도 있고, 지정된(dedicated) PLP 일 수도 있고, L1 시그널링 패쓰(path)를 의미할 수도 있다. 여기서 RDT 는 컨텍스트 정보(스태틱 체인 및/또는 다이나믹 체인) 및/또는 헤더 컴프레션과 관련된 정보를 포함하는 시그널링 정보일 수 있다. 실시예에 따라 RDT 는 컨텍스트 정보가 바뀔 때마다 전송될 수 있다. 또한 실시예에 따라 RDT 는 매 피지컬 프레임에서 전송될 수 있다. 매 피지컬 프레임에서 RDT 를 전송하기 위해서, 예전(previous) RDT 가 재사용(re-use)될 수 있다.
수신기는 패킷 스트림을 획득하기 앞서, 최초 PLP 를 선택해 SLT, RDT, LMT 등의 시그널링 정보를 먼저 획득할 수 있다. 수신기는 이 시그널링 정보들이 획득되면, 이 들을 조합하여 서비스 - IP 정보 - 컨텍스트 정보 - PLP 간의 매핑을 획득할 수 있다. 즉, 수신기는 어떤 서비스가 어느 IP 스트림들로 전송되는지, 어떤 PLP 로 어떤 IP 스트림들이 전달되는지 등을 알 수 있고, 또한 PLP 들의 해당 컨텍스트 정보들을 획득할 수 있다. 수신기는 특정 패킷 스트림을 운반하는 PLP 를 선택하여 디코딩 할 수 있다. 어댑테이션 모듈은 컨텍스트 정보를 파싱하고 이를 압축된 패킷들과 합칠 수 있다. 이를 통해 패킷 스트림이 복구될 수 있고, 이는 RoHC 디컴프레서로 전달될 수 있다. 이후 디컴프레션이 시작될 수 있다. 이 때 수신기는 어댑테이션 모드에 따라, IR 패킷을 디텍팅하여 최초 수신된 IR 패킷으로부터 디컴프레션을 시작하거나(모드 1), IR-DYN 패킷을 디텍팅하여 최초 수신된 IR-DYN 패킷으로부터 디컴프레션을 시작하거나(모드 2), 아무 일반 압축 패킷(compressed packet)으로부터 디컴프레션을 시작할 수 있다(모드 3).
이하, 패킷 인캡슐레이션에 대해서 설명한다.
링크 레이어 프로토콜은 IP 패킷, TS 패킷 등의 모든 타입의 인풋 패킷들을 링크 레이어 패킷으로인캡슐레이션할 수 있다. 이를 통해 피지컬 레이어는 네트워크 레이어의 프로토콜 타입과는 독립적으로 하나의 패킷 포맷만 처리하면 된다(여기서 네트워크 레이어 패킷의 일종으로 MPEG-2 TS 패킷을 고려). 각 네트워크 레이어 패킷 또는 입력 패킷은 제네릭 링크 레이어 패킷의 페이로드로 변형된다.
패킷 인캡슐레이션 과정에서 분할(segmentation) 이 활용될 수 있다. 네트워크 레이어 패킷이 지나치게 커서 피지컬 레이어에서 처리하지 못하는 경우, 네트워크 레이어 패킷은 두 개 이상의 세그먼트들로 나누어질 수 있다. 링크 레이어 패킷 헤더는 송신 측에서 분할을 실행하고 수신 측에서 재결합을 실행하기 위한 필드들을 포함할 수 있다. 각 세그먼트들은 원래 위치와 같은 순서로 링크 레이어 패킷으로 인캡슐레이션될 수 있다.
패킷 인캡슐레이션 과정에서 연쇄(concatenation) 또한 활용될 수 있다. 링크 레이어 패킷의 페이로드가 여러 네트워크 레이어 패킷을 포함할 정도로 네트워크 레이어 패킷이 충분히 작은 경우, 연쇄가 수행될 수 있다. 링크 레이어 패킷 헤더는 연쇄를 실행하기 위한 필드들을 포함할 수 있다. 연쇄의 경우 각 입력 패킷들은 원래의 입력 순서와 같은 순서로 링크 레이어 패킷의 페이로드로 인캡슐레이션될 수 있다.
링크 레이어 패킷은 헤더와 페이로드를 포함할 수 있고, 헤더는 베이스 헤더, 추가(additional) 헤더 및/또는 옵셔널 헤더가 포함될 수 있다. 추가 헤더는 연쇄나 분할 등의 상황에 따라 더 추가될 수 있는데, 추가헤더에는 상황에 맞춘 필요한 필드들이 포함될 수 있다. 또한 추가적인 정보의 전달을 위해 옵셔널 헤더가 더 추가될 수도 있다. 각각의 헤더 구조는 기 정의되어 있을 수 있다. 전술한 바와 같이 입력 패킷이 TS 패킷인 경우에는, 다른 패킷들과는 다른 링크 레이어 헤더 구조가 사용될 수 있다.
이하, 링크 레이어 시그널링에 대해서 설명한다.
링크 레이어 시그널링은 IP 레이어보다 하위 레벨에서 동작할 수 있다. 수신측에서는 LLS, SLT, SLS 등의 IP 레벨 시그널링보다, 링크 레이어 시그널링을 더 빠르게 획득할 수 있다. 따라서 링크 레이어 시그널링은 세션 설정(establishment) 이전에 획득될 수 있다.
링크 레이어 시그널링에는 인터널 링크 레이어 시그널링과 익스터널 링크 레이어 시그널링이 있을 수 있다. 인터널 링크 레이어 시그널링은 링크 레이어에서 생성된 시그널링 정보일 수 있다. 전술한 RDT 나 후술할 LMT 등이 여기에 해당할 수 있다. 익스터널 링크 레이어 시그널링은 외부 모듈 또는 외부 프로토콜, 상위 레이어로부터 전달받은 시그널링 정보일 수 있다. 링크 레이어는 링크 레이어 시그널링을 링크 레이어 패킷으로 인캡슐레이션하여 전달할 수 있다. 링크 레이어 시그널링을 위한 링크 레이어 패킷 구조(헤더 구조)가 정의될 수 있는데, 이 구조에 따라 링크 레이어 시그널링 정보가 인캡슐레이션될 수 있다.
도 7 은 본 발명의 일 실시예에 따른 LMT (Link Mapping Table) 를 도시한 도면이다.
LMT 는 PLP 로 운반되는 상위 레이어 세션들의 리스트를 제공할 수 있다. 또한 LMT 는 상위 레이어 세션들을 전달하는 링크 레이어 패킷들을 프로세싱하기 위한 추가적인 정보들을 제공할 수 있다. 여기서 상위 레이어 세션은 멀티캐스트(multicast) 라고 불릴 수도 있다. LMT 를 통해 특정 PLP 를 통해 어떠한 IP 스트림들, 어떠한 전송 세션들이 전송되고 있는지에 대한정보가 획득될 수 있다. 반대로 특정 전송 세션이 어느 PLP 로 전달되는지에 대한 정보를 획득할 수 있다.
LMT 는 LLS 를 운반하는 것으로 식별된 어떤 PLP 로도 전달될 수 있다. 여기서 LLS 가 전달되는 PLP 는 피지컬 레이어의 L1 디테일 시그널링 정보의 LLS 플래그에 의해 식별될 수 있다. LLS 플래그는 각각의 PLP 에 대하여, 해당 PLP 로 LLS 가 전달되는지 여부를 지시하는 플래그 필드일 수 있다. 여기서 L1 디테일 시그널링 정보는 후술할 PLS2 데이터에 해당할 수 있다.
즉, LMT 는 LLS 와 함께, 같은 PLP 로 전달될 수 있다. 각각의 LMT 들은 전술한 바와 같이 PLP 들과 IP 어드레스/포트간의 매핑을 기술할 수 있다. 전술한 바와 같이 LLS 는 SLT 를 포함할 수 있는데, LMT 가 기술하는 이 IP 어드레스/포트들은, 해당 LMT 와 같은 PLP 로 전달되는 SLT 가 기술하는, 모든(any) 서비스와 관련된 모든(any) IP 어드레스/포트들일 수 있다.
실시예에 따라 전술한 SLT, SLS 등에서의 PLP 식별자 정보가 활용되어, SLT, SLS 가 지시하는 특정전송 세션이 어느 PLP 로 전송되고 있는지에 대한 정보가 확인될 수 있다.
다른 실시예에 따라 전술한 SLT, SLS 등에서의 PLP 식별자 정보는 생략되고, SLT, SLS 가 지시하는 특정 전송 세션에 대한 PLP 정보는 LMT 내의 정보를 참조함으로써 확인될 수 있다. 이 경우 수신기는 LMT 와 다른 IP 레벨 시그널링 정보들을 조합하여, 알고자 하는 PLP 를 식별할 수 있다. 이 실시예에 있어서도 SLT, SLS 등에서의 PLP 정보는 생략되지 않고, SLT, SLS 등에 남아있을 수 있다.
도시된 실시예에 따른 LMT 는, signaling_type 필드, PLP_ID 필드, num_session 필드 및/또는 각각의 세션들에 대한 정보들을 포함할 수 있다. 도시된 실시예의 LMT 는 하나의 PLP 에 대해서, 그 PLP 로 전송되는 IP 스트림들을 기술하고 있지만, 실시예에 따라 LMT 에 PLP 루프가 추가되어, 복수개의 PLP 에 대한 정보가 기술될 수도 있다. 이 경우 LMT 는, 전술한 바와 같이, 함께 전달되는 SLT 가 기술하는 모든 서비스와 관련된 모든 IP 어드레스/포트들에 대한 PLP 들을, PLP 루프로 기술할 수 있다.
signaling_type 필드는 해당 테이블에 의해 전달되는 시그널링 정보의 타입을 지시할 수 있다. LMT 에 대한 signaling_type 필드의 값은 0x01로 설정될 수 있다. signaling_type 필드는 생략될 수 있다. PLP_ID 필드는 기술하고자 하는 대상 PLP 를 식별할 수 있다. PLP 루프가 사용되는 경우, 각각의 PLP_ID 필드는 각각의 대상 PLP 를 식별할 수 있다. PLP_ID 필드부터는 PLP 루프 내에 포함될 수 있다. 이하 언급되는 PLP_ID 필드는 PLP 루프 중의 PLP 하나에 대한 식별자이며, 이하 설명되는 필드들은 그 해당 PLP 에 대한 필드들일 수 있다.
num_session 필드는 해당 PLP_ID 필드에 의해 식별되는 PLP 로 전달되는 상위 레이어 세션들의 개수를 나타낼 수 있다. num_session 필드가 나타내는 개수에 따라, 각각의 세션들에 대한 정보들이 포함될 수 있다. 이정보에는 src_IP_add 필드, dst_IP_add 필드, src_UDP_port 필드, dst_UDP_port 필드, SID_flag 필드, compressed_flag 필드, SID 필드 및/또는 context_id 필드가 있을 수 있다.
src_IP_add 필드, dst_IP_add 필드, src_UDP_port 필드 및 dst_UDP_port 필드는 해당 PLP_ID 필드에 의해 식별되는 PLP 로 전달되는 상위 레이어 세션들 중, 해당 전송 세션에 대한 소스 IP 어드레스, 데스티네이션 IP 어드레스, 소스 UDP 포트, 데스티네이션 UDP 포트를 나타낼 수 있다.
SID_flag 필드는 해당 전송 세션을 전달하는 링크 레이어 패킷이 그 옵셔널 헤더에 SID 필드를 갖는지 여부를 지시할 수 있다. 상위 레이어 세션을 전달하는 링크 레이어 패킷은 그 옵셔널 헤더에 SID 필드를 가질 수 있고, 그 SID 필드 값은 후술할 LMT 내의 SID 필드와 동일할 수 있다.
compressed_flag 필드는 해당 전송 세션을 전달하는 링크 레이어 패킷의 데이터들에 헤더 컴프레션이 적용되었는지 여부를 지시할 수 있다. 또한 본 필드의 값에 따라 후술할 context_id 필드의 존부가 결정될 수 있다. 헤더 컴프레션이 적용된 경우(compressed_flag = 1), RDT 가 존재할 수 있고, 그 RDT 의 PLP ID 필드는 본 compressed_flag 필드와 관련된 해당 PLP_ID 필드와 같은 값을 가질 수 있다.
SID 필드는 해당 전송 세션을 전달하는 링크 레이어 패킷들에 대한 SID (sub stream ID) 를 지시할 수 있다. 이 링크 레이어 패킷들은, 그 옵셔널 헤더에 본 SID 필드와 같은 값을 가지는 SID 를 포함하고 있을 수 있다. 이를 통해 수신기는 링크 레이어 패킷을 전부 파싱할 필요 없이, LMT 의 정보와 링크 레이어 패킷 헤더의 SID 정보를 이용하여, 링크 레이어 패킷들을 필터링할 수 있다.
context_id 필드는 RDT 내의 CID(context id) 에 대한 레퍼런스를 제공할 수 있다. RDT 의 CID 정보는 해당되는 압축 IP 패킷 스트림에 대한 컨텍스트 ID 를 나타낼 수 있다. RDT 는 해당 압축 IP 패킷 스트림에 대한 컨텍스트 정보들을 제공할 수 있다. 본 필드를 통해 RDT 와 LMT 가 연관될 수 있다.
전술한, 본 발명의 시그널링 정보/테이블의 실시예들에 있어서, 각각의 필드, 엘레멘트, 속성들은 생략되거나 다른 필드로 대체될 수 있으며, 실시예에 따라 추가적인 필드, 엘레멘트, 속성들이 추가될 수도 있다.
본 발명의 일 실시예에서, 한 서비스의 서비스 컴포넌트들이 복수개의 ROUTE 세션을 통해 전달될 수 있다. 이 경우, SLT 의 부트스트랩 정보를 통하여 SLS 가 획득될 수 있다. 이 SLS 의 USBD 를 통해 S-TSID 와 MPD 가 레퍼런싱될 수 있다. S-TSID 는 SLS 가 전달되고 있는 ROUTE 세션 뿐 아니라, 서비스 컴포넌트들이 전달되고 있는 다른 ROUTE 세션에 대한 전송 세션 디스크립션 정보 또한 기술할 수 있다. 이를 통해 복수개의 ROUTE 세션을 통해 전달되는 서비스 컴포넌트들이 모두 수집될 수 있다. 이러한 사항은 한 서비스의 서비스 컴포넌트들이 복수개의 MMTP 세션을 통해 전달되는 경우에도 유사하게 적용될 수 있다. 참고로, 하나의 서비스 컴포넌트는 복수개의 서비스에 의해 동시에 사용될 수도 있다.
본 발명의 또 다른 실시예에서, ESG 서비스에 대한 부트스트래핑은 방송망 또는 브로드밴드에 의해 수행될 수 있다. 브로드밴드를 통한 ESG 획득을 통해, SLT 의 URL 정보가 활용될 수 있다. 이 URL 로 ESG 정보 등이 요청될 수 있다.
본 발명의 또 다른 실시예에서, 한 서비스의 서비스 컴포넌트가 하나는 방송망으로 하나는 브로드밴드로 전달될 수 있다(하이브리드). S-TSID 는 방송망으로 전달되는 컴포넌트들에 대해 기술해, ROUTE 클라이언트가 원하는 서비스 컴포넌트들을 획득케 할 수 있다. 또한 USBD 는 베이스 패턴 정보를 가지고 있어, 어느 세그먼트들이(어느 컴포넌트들이) 어느 경로로 전달되는지 기술할 수 있다. 따라서 수신기는 이를 이용해, 브로드밴드 서버로 요청해야될 세그먼트는 무엇인지, 방송 스트림에서 찾아야될 세그먼트는 무엇인지 알 수 있다.
본 발명의 또 다른 실시예에서, 서비스에 대한 스케일러블(scalable) 코딩이 수행될 수 있다. USBD 는 해당 서비스를 렌더링하기 위해 필요한 모든 캐패빌리티 정보를 가질 수 있다. 예를 들어 한 서비스가 HD 또는 UHD 로 제공되는 경우, USBD 의 캐패빌리티 정보는 “HD 또는 UHD” 값을 가질 수 있다. 수신기는 MPD 를 이용하여 UHD 또는 HD 서비스를 렌더링하기 위하여 어느 컴포넌트가 재생되어야 하는지 알 수 있다.
본 발명의 또 다른 실시예에서, SLS 를 전달하는 LCT 채널로 전달되는 LCT 패킷들의 TOI 필드를 통해, 해당 LCT 패킷들이 어느 SLS 프래그먼트를 전달하고 있는지(USBD, S-TSID, MPD 등..) 가 식별될 수 있다.
본 발명의 또 다른 실시예에서, 앱 기반 인핸스먼트/ 앱 기반 서비스에 사용될 앱 컴포넌트들은 NRT 컴포넌트로서 방송망을 통해 전달되거나 브로드밴드를 통해 전달될 수 있다. 또한 앱 기반 인핸스먼트에 대한 앱 시그널링은 SLS 와 함께 전달되는 AST (Application Signaling Table) 에 의해 수행될 수 있다. 또한 앱이 수행할 동작에 대한 시그널링인 이벤트는 SLS 와 함께 EMT (Event Message Table) 형태로 전달되거나, MPD 내에 시그널링되거나, DASH 레프리젠테이션 내에 box 형태로 인밴드(in-band) 시그널링될 수 있다. AST, EMT 등은 브로드밴드를 통해 전달될 수도 있다. 수집된 앱 컴포넌트들과 이러한 시그널링 정보들을 이용해 앱 기반 인핸스먼트 등이 제공될 수 있다.
본 발명의 또 다른 실시예에서, 긴급 경보를 위해 CAP 메시지가 전술한 LLS 테이블에 포함되어 제공될 수 있다. 긴급 경보를 위한 리치 미디어(Rich Media) 컨텐츠 역시 제공될 수 있다. 리치 미디어는 CAP 메시지에 의해 시그널링될 수 있으며, 리치 미디어가 존재하는 경우 이는 SLT 에 의해 시그널링되는 EAS 서비스로서 제공될 수 있다.
본 발명의 또 다른 실시예에서, MMT 프로토콜에 따라 리니어 서비스 컴포넌트들이 방송망을 통해 전달될 수 있다. 이 경우 해당 서비스에 대한 NRT 데이터(예를 들어 앱 컴포넌트)들은 ROUTE 프로토콜에 따라 방송망을 통해 전달될 수 있다. 또한 해당 서비스에 대한 데이터가 브로드밴드를 통해 전달될 수도 있다. 수신기는 SLT 의 부트스트랩 정보를 이용해 SLS 를 전달하는 MMTP 세션에 접근할 수 있다. MMT 에 따른 SLS 의 USBD 는 MP 테이블을 레퍼런싱하여, 수신기가 MMT 프로토콜에 따라 전달되는 MPU 로 포맷된 리니어 서비스 컴포넌트들을 획득케 할 수 있다. 또한, USBD 는 S-TSID 를 더 레퍼런싱하여, 수신기가 ROUTE 프로토콜에 따라 전달되는 NRT 데이터를 획득케 할 수 있다. 또한, USBD 는 MPD 를 더 레퍼런싱하여, 브로드밴드를 통해 전달되는 데이터에 대한 재생 디스크립션을 제공할 수 있다.
본 발명의 또 다른 실시예에서, 수신기는 그 컴패니언 디바이스에 스트리밍 컴포넌트 및/또는 파일 컨텐트 아이템(파일 등)을 획득할 수 있는 로케이션 URL 정보를, 웹소켓 등의 방법을 통해 전달할 수 있다. 컴패니언 디바이스의 어플리케이션은 이 URL 로 HTTP GET 등을 통해 요청하여 해당 컴포넌트, 데이터 등을 획득할 수 있다. 그 밖에 수신기는 시스템 타임 정보, 긴급 경보 정보 등의 정보를 컴패니언 디바이스 측에 전달할 수 있다.
도 8은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치의 구조를 나타낸다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 인풋 포맷 블록 (Input Format block) (1000), BICM (bit interleaved coding & modulation) 블록(1010), 프레임 빌딩 블록 (Frame building block) (1020), OFDM (orthogonal frequency division multiplexing) 제너레이션 블록 (OFDM generation block)(1030), 및 시그널링 생성 블록(1040)을 포함할 수 있다. 방송 신호 송신 장치의 각 블록의 동작에 대해 설명한다.
본 발명의 일 실시예에 따른 입력 데이터는 IP 스트림/패킷 및 MPEG2-TS이 주요 입력 포맷이 될 수 있으며, 다른 스트림 타입은 일반 스트림으로 다루어진다.
인풋 포맷 블록(1000)은 각각의 입력 스트림을 독립적인 코딩 및 변조가 적용되는 하나 또는 다수의 데이터 파이프로 디멀티플렉싱 할 수 있다. 데이터 파이프는 견고성(robustness) 제어를 위한 기본 단위이며, 이는 QoS (Quality of Service)에 영향을 미친다. 하나 또는 다수의 서비스 또는 서비스 컴포넌트가 하나의 데이터 파이프에 의해 전달될 수 있다. 데이터 파이프는 하나 또는 다수의 서비스 또는 서비스 컴포넌트를 전달할 수 있는 서비스 데이터 또는 관련 메타데이터를 전달하는 물리 계층(physical layer)에서의 로지컬 채널이다.
QoS가 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치에 의해 제공되는 서비스의 특성에 의존하므로, 각각의 서비스에 해당하는 데이터는 서로 다른 방식을 통해 처리되어야 한다.
BICM 블록(1010)은 MIMO가 적용되지 않는 프로파일 (또는 시스템)에 적용되는 처리 블록 및/또는 MIMO가 적용되는 프로파일(또는 시스템)의 처리 블록을 포함할 수 있으며, 각각의 데이터 파이프를 처리하기 위한 복수의 처리 블록을 포함할 수 있다.
MIMO가 적용되지 않는 BICM 블록의 처리 블록은 데이터 FEC 인코더, 비트 인터리버, 컨스텔레이션 매퍼(mapper), SSD (signal space diversity) 인코딩 블록, 타임 인터리버를 포함할 수 있다. MIMO가 적용되는 BICM 블록의 처리 블록은 셀 워드 디멀티플렉서 및 MIMO 인코딩 블록을 더 포함한다는 점에서 MIMO가 적용되지 않는 BICM의 처리 블록과 구별된다.
데이터 FEC 인코더는 외부 코딩(BCH) 및 내부 코딩(LDPC)을 이용하여 FECBLOCK 절차를 생성하기 위해 입력 BBF에 FEC 인코딩을 실행한다. 외부 코딩(BCH)은 선택적인 코딩 방법이다. 비트 인터리버는 데이터 FEC 인코더의 출력을 인터리빙하여 LDPC 코드 및 변조 방식의 조합으로 최적화된 성능을 달성할 수 있다. 컨스텔레이션 매퍼는 QPSK, QAM-16, 불균일 QAM (NUQ-64, NUQ-256, NUQ-1024) 또는 불균일 컨스텔레이션 (NUC-16, NUC-64, NUC-256, NUC-1024)을 이용해서 비트 인터리버 또는 셀 워드 디멀티플렉서로부터의 셀 워드를 변조하여 파워가 정규화된 컨스텔레이션 포인트를 제공할 수 있다. NUQ가 임의의 형태를 갖는 반면, QAM-16 및 NUQ는 정사각형 모양을 갖는 것이 관찰된다. NUQ 및 NUC는 모두 각 코드 레이트(code rate)에 대해 특별히 정의되고, PLS2 데이터의 파라미터 DP_MOD에 의해 시그널링 된다. 타임 인터리버는 데이터 파이프 레벨에서 동작할 수 있다. 타임 인터리빙의 파라미터는 각각의 데이터 파이프에 대해 다르게 설정될 수 있다.
본 발명의 타임 인터리버는 BICM 체인(BICM chain) 블록과 프레임 빌더(Frame Builder) 사이에 위치할 수 있다. 이 경우, 본 발명의 타임 인터리버는 PLP (Physical Layer Pipe) 모드에 따라 컨볼루션 인터리버(Convolution Interleaver, CI)와 블록 인터리버(Block Interleaver, BI)를 선택적으로 사용하거나, 모두 사용할 수 있다. 본 발명의 일 실시예에 따른 PLP는 상술한 DP와 동일한 개념으로 사용되는 피지컬 패스(physical path)로서, 호칭은 설계자의 의도에 따라 변경 가능하다. 본 발명의 일 실시예에 따른 PLP 모드는 방송 신호 송신기 또는 방송 신호 송신 장치에서 처리하는 PLP 개수에 따라 싱글 PLP(single PLP) 모드 또는 멀티플 PLP(multiple PLP)모드를 포함할 수 있다. 본 발명에서는 PLP 모드에 따라 서로 다른 타임 인터리빙 방법을 적용하는 타임 인터리빙을 하이브리드 타임 인터리빙(Hybrid Time Interleaving)이라 호칭할 수 있다.
하이브리드 타임 인터리버는 블록 인터리버(BI)와 컨볼루션 인터리버(CI)를 포함할 수 있다. PLP_NUM=1인 경우, 블록 인터리버는 적용되지 않고(블록인터리버 오프(off)), 컨볼루션 인터리버만 적용된다. PLP_NUM>1인 경우, 블록 인터리버와 컨볼루션 인터리버가 모두 적용(블록 인터리버 온(on))될 수 있다. PLP_NUM>1인 경우 적용되는 컨볼루션 인터리버의 구조 및 동작은 PLP_NUM=1인 경우 적용되는 컨볼루션 인터리버의 구조 및 동작과 다를 수 있다. 하이브리드 타임 디인터리버는 상술한 하이브리드 타임 인터리버의 역동작에 상응하는 동작을 수행할 수 있다.
셀 워드 디멀티플렉서는 MIMO 처리를 위해 단일 셀 워드 스트림을 이중 셀 워드 스트림으로 분리하는 데 사용된다. MIMO 인코딩 블록은 MIMO 인코딩 방식을 이용해서 셀 워드 디멀티플렉서의 출력을 처리할 수 있다. 본 발명의 MIMO 인코딩 방식은 수신기 측에서의 비교적 작은 복잡도 증가로 용량 증가를 제공하기 위한 FR-SM (full-rate spatial multiplexing)으로 정의 될 수 있다. MIMO 처리는 데이터 파이프 레벨에서 적용된다. 컨스텔레이션 매퍼 출력의 페어(pair, 쌍)인 NUQ (e1,i 및 e2,i)는 MIMO 인코더의 입력으로 공급되면 MIMO 인코더 출력 페어(pair, 쌍)(g1,i 및 g2,i)은 각각의 송신 안테나의 동일한 캐리어 k 및 OFDM 심볼 l에 의해 전송된다.
프레임 빌딩 블록(1020)은 하나의 프레임 내에서 입력 데이터 파이프의 데이터 셀을 OFDM 심볼로 매핑하고 주파수 영역 다이버시티를 위해 주파수 인터리빙을 수행할 수 있다.
본 발명의 일 실시예에 따른 프레임은 프리앰블, 하나 이상의 FSS (frame signaling symbol), 노멀 데이터 심볼로 분리된다. 프리앰블은 신호의 효율적인 송신 및 수신을 위한 기본 전송 파라미터의 집합을 제공하는 특별한 심볼이다. 프리앰블은 프레임의 기본 전송 파라미터 및 전송 타입을 시그널링 할 수 있다. 특히 프리앰블은 EAS (emergency alert service)이 현재 프레임에 제공되는지 여부를 지시할 수 있다. FSS의 주된 목적은 PLS 데이터를 전달하는 것이다. 고속 동기화 및 채널 추정, PLS 데이터의 고속 디코딩을 위해, FSS는 노멀 데이터 심볼보다 고밀도의 파일럿 패턴을 갖는다.
프레임 빌딩 블록은 데이터 파이프와 해당하는 PLS 데이터 사이의 타이밍을 조절하여 송신기 측에서 데이터 파이프와 해당하는 PLS 데이터 간의 동시성(co-time)을 보장하기 위한 딜레이 컴펜세이션(delay compensation, 지연보상) 블록, PLS, 데이터 파이프, 보조 스트림, 및 더미 셀 등을 프레임 내에서 OFDM 심볼의 액티브(active) 캐리어에 매핑하기 위한 셀 매퍼 (cell mapper) 및 프리퀀시 인터리버 (frequency interleaver)를 포함할 수 있다.
프리퀀시 인터리버는 셀 매퍼로부터 의해 수신된 데이터 셀을 랜덤하게 인터리빙하여 주파수 다이버시티를 제공할 수 있다. 또한, 프리퀀시 인터리버는 단일 프레임에서 최대의 인터리빙 이득을 얻기 위해 다른 인터리빙 시드(seed) 순서를 이용하여 두 개의 순차적인 OFDM 심볼로 구성된 OFDM 심볼 페어(pair, 쌍)에 대응하는 데이터 또는 OFDM 심볼 하나에 대응하는 데이터에 대해 동작할 수 있다.
OFDM 제너레이션 블록(1030)은 프레임 빌딩 블록에 의해 생성된 셀에 의해 OFDM 캐리어를 변조하고, 파일럿을 삽입하고, 전송을 위한 시간 영역 신호를 생성한다. 또한, 해당 블록은 순차적으로 가드 인터벌을 삽입하고, PAPR 감소 처리를 적용하여 최종 RF 신호를 생성한다.
시그널링 생성 블록(1040)은 각 기능 블록의 동작에 사용되는 물리 계층(physical layer) 시그널링 정보를 생성할 수 있다. 본 발명의 일 실시예에 따른 시그널링 정보는 PLS 데이터를 포함할 수 있다. PLS는 수신기에서 피지컬 레이어(physical layer) 데이터 파이프에 접속할 수 있는 수단을 제공한다. PLS 데이터는 PLS1 데이터 및 PLS2 데이터로 구성된다.
PLS1 데이터는 PLS2 데이터를 디코딩하는 데 필요한 파라미터뿐만 아니라 시스템에 관한 기본 정보를 전달하는 고정된 사이즈, 코딩, 변조를 갖는 프레임에서 FSS로 전달되는 PLS 데이터의 첫 번째 집합이다. PLS1 데이터는 PLS2 데이터의 수신 및 디코딩을 가능하게 하는 데 요구되는 파라미터를 포함하는 기본 송신 파라미터를 제공한다. PLS2 데이터는 데이터 파이프 및 시스템에 관한 더욱 상세한 PLS 데이터를 전달하며 FSS로 전송되는 PLS 데이터의 두 번째 집합이다. PLS2 시그널링은 PLS2 스태틱(static, 정적) 데이터(PLS2-STAT 데이터) 및 PLS2 다이나믹(dynamic, 동적) 데이터(PLS2-DYN 데이터)의 두 종류의 파라미터로 더 구성된다. PLS2 스태틱(static, 정적) 데이터는 프레임 그룹의 듀레이션 동안 스태틱(static, 정적)인 PLS2 데이터이고, PLS2 다이나믹(dynamic, 동적) 데이터는 프레임마다 다이나믹(dynamic, 동적)으로 변화하는 PLS2 데이터이다.
PLS2 데이터는 FIC_FLAG 정보를 포함할 수 있다. FIC (Fast Information Channel)은 빠른 서비스 획득 및 채널 스캔(fast service acquisition and channel scanning)을 가능하게 하는 크로스-레이어 (cross-layer) 정보를 전송하기 위한 데디케이티드 채널(dedicated channel)이다. FIC_FLAG 정보는 1비트의 필드로서, FIC((fast information channel, 고속 정보 채널)가 현 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, FIC는 현 프레임에서 제공된다. 해당 필드의 값이 0으로 설정되면, FIC는 현 프레임에서 전달되지 않는다.BICM 블록(1010)은 PLS 데이터의 보호를 위한 BICM 블록을 포함할 수 있다. PLS 데이터의 보호를 위한 BICM 블록은 PLS FEC 인코더, 비트 인터리버, 및 컨스텔레이션 매퍼를 포함할 수 있다.
PLS FEC 인코더는 PLS1 데이터 및 PLS2 데이터를 스크램블링하기 위한 스크램블러, PLS 보호를 위한 쇼트닝된 BCH 코드를 이용하여 스크램블링된 PLS 1,2 데이터에 외부 인코딩을 수행하고, BCH 인코딩 후에 제로 비트를 삽입하기 위한 BCH 인코딩/제로 삽입 블록, LDPC 코드를 이용하여 인코딩을 수행하기 위한 LDPC 인코딩 블록, 및 LDPC 패리티 펑처링(puncturing) 블록을 포함할 수 있다. PLS1 데이터에 대해서만, 제로 삽입의 출력 비트가 LDPC 인코딩 전에 퍼뮤테이션(permutation) 될 수 있다.. 비트 인터리버는 각각의 쇼트닝 및 펑처링된 PLS1 데이터 및 PLS2 데이터를 인터리빙하고, 컨스텔레이션 매퍼는 비트 인터리빙된 PLS1 데이터 및 PLS2 데이터를 컨스텔레이션에 매핑할 수 있다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치는 도 8을 참조하여 설명한 차세대 방송 서비스에 대한 방송 신호 송신 장치의 역과정을 수행할 수 있다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치는 방송 신호 송신 장치에 의해 실행되는 절차의 역과정에 해당하는 복조를 실행하는 동기 및 복조 모듈 (synchronization & demodulation module), 입력 신호 프레임을 파싱하고, 사용자에 의해 선택된 서비스가 전송되는 데이터를 추출하는 프레임 파싱 모듈 (frame parsing module), 입력 신호를 비트 영역 데이터로 변환한 후, 필요에 따라 비트 영역 데이터들을 디인터리빙하고, 전송 효율을 위해 적용된 매핑에 대한 디매핑을 실행하고, 디코딩을 통해 전송 채널에서 발생한 에러를 정정하는 디매핑 및 디코딩 모듈 (demapping & decoding module), 방송 신호 송신 장치에 의해 적용되는 다양한 압축/신호 처리 절차의 역과정을 실행하는 출력 프로세서 (output processor) 및 동기 및 복조 모듈에 의해 복조된 신호로부터 PLS 정보를 획득, 처리하는 시그널링 디코딩 모듈 (signaling decoding module)을 포함할 수 있다. 프레임 파싱 모듈, 디매핑 및 디코딩 모듈, 출력 프로세서는 시그널링 디코딩 모듈로부터 출력된 PLS 데이터를 이용하여 그 기능을 실행할 수 있다.
이하 타임 인터리버를 설명한다. 본 발명의 일 실시예에 따른 타임 인터리빙 그룹은 하나의 프레임에 직접 매핑되거나 PI개의 프레임에 걸쳐 확산된다. 또한 각각의 타임 인터리빙 그룹은 하나 이상(NTI개)의 타임 인터리빙 블록으로 분리된다. 여기서 각각의 타임 인터리빙 블록은 타임 인터리버 메모리의 하나의 사용에 해당한다. 타임 인터리빙 그룹 내의 타임 인터리빙 블록은 서로 다른 개수의 XFECBLOCK을 포함할 수 있다. 일반적으로, 타임 인터리버는 프레임 생성 과정 이전에 데이터 파이프 데이터에 대한 버퍼로도 작용될 수 있다.
본 발명의 일 실시예에 따른 타임 인터리버는 트위스트된 행-열 블록 인터리버이다. 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버는 첫 번째 XFECBLOCK을 타임 인터리빙 메모리의 첫 번째 열에 열 방향으로 기입하고, 두 번째 XFECBLOCK은 다음 열에 기입하고 동일한 방식으로 타임 인터리빙 블록 내의 나머지 XFECBLOCK들을 기입할 수 있다. 그리고 인터리빙 어레이에서, 셀은 첫 번째 행으로부터 (가장 왼쪽 열을 시작으로 행을 따라 오른쪽으로) 마지막 행까지 대각선 방향 판독될 수 있다. 이 경우, 타임 인터리빙 블록 내의 XFECBLOCK 개수에 상관없이 수신기 측에서 단일 메모리 디인터리빙을 달성하기 위해, 트위스트된 행-열 블록 인터리버용 인터리빙 어레이는 버츄얼 XFECBLOCK을 타임 인터리빙 메모리에 삽입할 수 있다. 이 경우, 수신기 측에서 단일 메모리 디인터리빙을 달성하기 위해 버츄얼 XFECBLOCK은 다른 XFECBLOCK 가장 앞에 삽입되어야 한다.
도 9는 본 발명의 일 실시예에 따른 타임 인터리버의 라이팅 (writing) 오퍼레이션을 나타낸다.
도면의 왼쪽에 도시된 블록은 TI 메모리 어드레스 어레이(memory address array)를 나타내며, 도면의 오른쪽에 도시된 블록은 연속한 두 개의 TI 그룹들에 대해 각각 버츄얼(virtual) FEC 블록들이 TI 그룹의 가장 앞에 각각 2개 및 1개가 삽입된 경우의 라이팅 (writing) 오퍼레이션을 나타낸다.
본 발명의 일 실시예에 따른 프리퀀시 인터리버는 심볼 페어에 대응하는 데이터들에 적용하기 위한 인터리빙 어드레스를 생성하기 위한 인터리빙 어드레스 제너레이터를 포함할 수 있다.
도 10은 본 발명의 일 실시예에 따른 프리퀀시 인터리버에 포함된 각 FFT 모드에 따른 메인-PRBS 제너레이터와 서브-PRBS 제너레이터로 구성된 인터리빙 어드레스 제너레이터의 블록 다이아그램을 나타낸 도면이다.
(a)는 8K FFT 모드에 대한 인터리빙 어드레스 제너레이터의 블록 다이아그램을 나타내고, (b)는 16K FFT 모드에 대한 인터리빙 어드레스 제너레이터의 블록 다이아그램을 나타내고, (c)는 32K FFT 모드에 대한 인터리빙 어드레스 제너레이터의 블록 다이아그램을 나타낸다.
OFDM 심볼 페어에 대한 인터리빙 과정은 하나의 인터리빙 시퀀스를 이용하며 다음과 같이 설명된다. 우선, 하나의 OFDM 심볼 Om,l 에서 인터리빙 될 사용 가능한 데이터 셀(셀 매퍼로부터의 출력 셀)은 l = 0, …, Nsym-1 에 대해 Om,l =[xm,l,0,…,xm,l,p,…,xm,l,Ndata-1] 로 정의된다. 이때 xm,l,p 는 m번째 프레임에서 l 번째 OFDM 심볼의 p 번째 셀이고, Ndata 는 데이터 셀의 개수이다. 프레임 시그널링 심볼에 대해 Ndata = CFSS 이고, 노멀 데이터에 대해 Ndata = Cdata 이며, 프레임 엣지 심볼에 대해 Ndata = CFES 이다. 또한, 인터리빙된 데이터 셀은 l = 0, …, Nsym-1 에 대해 Pm,l =[vm,l,0,…,vm,l,Ndata-1] 로 정의된다.
OFDM 심볼 페어에 대해, 인터리빙 된 OFDM 심볼 페어는 각 페어의 첫 번째 OFDM 심볼에 대해 vm,l,Hi(p) = xm,l,p, p=0,…,Ndata-1 로 주어지고, 각 페어의 두 번째 OFDM 심볼에 대해 vm,l,p = xm,l,Hi(p), p=0,…,Ndata-1 로 주어진다. 이때 Hl(p) 는 PRBS 제너레이터 및 서브-PRBS 제너레이터의 사이클릭 시프트 값(심볼 오프셋)을 기반으로 생성된 인터리빙 어드레스이다.
본 명세서는 콘텐츠의 제작시의 color gamut 및 dynamic range 와, 영상 재생시의 color gamut 및 dynamic range가 다른 경우, 즉 다양한 디스플레이 환경에서 본래의 콘텐츠의 색감을 정확히 표현하기 위한 방법을 개시한다.
도 11은 본 발명의 일 실시예에 따른 컬러 볼륨 매핑(color volume mapping)을 지원하는 수신기 동작의 예시를 나타내는 도면이다.
도 11의 (a) 및 (b)는 각각 비디오 스트림을 수신한 수신기가 비디오 스트림을 처리하여 디스플레이하는 일련의 과정을 나타낸다.
도 11의 (a)의 실시예에서, 수신기는 디코더(h11010), 색역 볼륨 맵핑부(h11030), 비디오 후처리부(h11050) 및 디스플레이부(h11070)를 포함한다. 수신기의 동작의 관점에서, 본 수신기는 디코딩 과정(decoding), 컬러 볼륨 매핑 과정(color volume mapping), 비디오 후 처리 과정 (video post-processing) 및 디스플레이 과정 (display)를 수행할 수 있다.
디코더(h11010)는 압축된 비디오 스트림(compressed)을 수신하고, 수신한 비디오 스트림을 디코딩할 수 있다. 일 실시예에서, 압축된 비디오 스트림은 방송 신호에 실려 전송될 수 있다. 디코더(h11010)는 압축 해제된 비디오(uncompressed video)를 컬러 볼륨 맵핑부(h11030)로 출력할 수 있다. 또한, 디코더(h11010)는 비디오 스트림에 포함된 메타데이터를 추출하여 이를 컬러 볼륨 맵핑부(h11030)로 출력할 수 있다.
컬러 볼륨 맵핑부(h11030)는 압축 해제된 비디오(uncompressed video) 및 메타데이터를 디코더(h11010)로부터 입력받을 수 있다. 또한, 컬러 볼륨 맵핑부(h11030)은 디스플레이 색역 정보를 입력받을 수 있다. 이러한 디스플레이 색역 정보는 타겟 색역 정보라고 지칭될 수 있다. 디스플레이 색역 정보는 변환 목표가 되는 색역 정보일 수 있다. 일 실시예에서, 디스플레이 색역 정보는 좁은 색역 정보일 수 있고, 원본 색역 정보는 넓은 색역 정보 일 수 있다. 디스플레이 색역 정보는 수신기에 저장되어 있거나, 외부로부터 입력될 수 있다.
컬러 볼륨 맵핑부(h11030)는 입력받은 비디오, 메타데이터 및/또는 디스플레이 색역 정보를 이용하여 색역 변환을 수행할 수 있다. 컬러 볼륨 맵핑부(h11030)는 3차원 색영역 변환을 수행한 다음 색역이 변환된 비디오를 비디오 후처리부로 출력할 수 있다. 컬러 볼륨 맵핑부(h11030)의 3차원 색영역 변환에 대해 보다 구체적인 설명은 후술한다.
비디오 후처리부(h11050)는 컬러 볼륨 맵핑부(h11030)로부터 색역 변환된 비디오를 입력받을 수 있다. 비디오 후처리부(h11050)는 디스플레이를 위해 필요한 다양한 후처리 과정을 수행할 수 있다. 비디오 후처리부(h11050)는 후처리된 비디오를 디스플레이부(h11070)로 출력할 수 있다.
디스플레이부(h11070)는 비디오 후처리부로부터 후처리된 비디오를 입력받을 수 있다. 디스플레이부(h11070)는 입력받은 비디오를 디스플레이할 수 있다. 도 11의 (a)에 나타난 일련의 과정을 통해 타겟 색역으로 색역이 변환된 비디오를 디스플레이할 수 있다.
도 11의 (b)의 실시예에서, 수신기는 디코더, EOTF 또는 OETF 변환부, 컬러 볼륨 맵핑부, 비디오 후처리부 및 디스플레이부를 포함한다.
즉, 도 11의 (b)의 실시예는, 도 11의 (a)의 실시예에 EOTF 변환부(h11020)가 더 부가된 실시예라고 할 수 있다. EOTF 변환부(h11020)는 인버스 OETF 변환부 (h11020) 라고 지칭될 수도 있다. 수신기의 동작의 관점에서, 본 수신기는 디코딩 과정(decoding), EOTF 변환 과정(또는 인버스 OETF 변환 과정), 컬러 볼륨 매핑 과정(color volume mapping), 비디오 후 처리 과정 (video post-processing) 및 디스플레이 과정 (display)를 수행할 수 있다.
EOTF 변환부(h11020) 는 비디오 디코딩을 위해 전자적 비디오 신호를 광학적 비디오 신호로 변환할 수 있다. 도 11의 (b)의 실시예는 (a)의 실시예에 EOTF 변환부(h11020)가 추가된 실시예이므로, 도 11의 (a)의 실시예에 대한 설명이 도 11의 (b)의 실시예에 대한 설명에 그대로 적용될 수 있다.
도 12는 본 발명의 일 실시예에 따른 광색역 콘텐츠를 디스플레이하는 과정을 나타난 도면이다.
도 12를 참조하면, 본 발명의 일 실시예에 따른 광색역 콘텐츠를 디스플레이하는 과정은, 색역 매칭 여부를 판단하는 과정(sh12010), 넓은 색역 영상을 디스플레이하는 과정(sh12030), 넓은 색역을 좁은 색역으로 맵핑하는 과정(sh12050) 및 좁은 색역 영상을 디스플레이하는 과정(sh12070)을 포함한다.
색역 매칭 여부를 판단하는 과정(sh12010)은 입력받은 넓은 색역 영상이 수신기의 색역과 매칭되는지 확인하는 과정일 수 있다. 즉, 수신기는 입력받은 영상(WCG 영상)의 색역이 수신기에서 처리할 수 있는 색역 영상인지 확인할 수 있다. 이때, 수신기는 디스플레이 색역 정보 및/또는 비디오 스트림에 포함된 메타데이터를 이용하여 입력받은 WCG 영상이 수신기의 색역과 매칭되는지 확인할 수 있다.
만약, 입력받은 영상의 색역이 수신기에서 처리가능한 색역인 경우(sh12010의 Yes), 수신기는 입력받은 WCG 영상을 디스플레이할 수 있다(sh12030).
이와 달리, 입력받은 영상의 색역이 수신기에서 처리가능한 색역이 아닌 경우(sh12010의 No), 수신기는 입력받은 WCG 영상을 좁은 색역으로 맵핑시키는 과정을 수행할 수 있다(sh12050).
그리고, 넓은 색역의 영상이 좁은 색역으로 맵핑되면, 수신기는 좁은 색역의 영상을 디스플레이할 수 있다(sh12070).
한편, 도 12의 컬러 볼륨 맵핑 과정(sh12050)은 전술한 도 11의 컬러 볼륨 맵핑부(h11030)가 수행하는 과정에 해당할 수 있다.
본 발명의 일 실시예에 따른 컬러 볼륨 맵핑 과정(sh12050)은 컬러 스페이스 변환 과정(sh12051), 색상 보정 과정(sh12052), 영역 판단 과정(sh12053), 색정보 리맵핑 과정(sh12054) 및/또는 컬러 스페이스 역변환 과정(sh12055)을 포함할 수 있다.
컬러 스페이스 변환 과정(sh12051)은 컬러 볼륨 맵핑을 위해 밝기 축과 색상 축이 분리 가능한 색공간으로 색공간을 변환하는 과정일 수 있다.
색상 보정 과정(sh12052)은 동일한 비율 또는 가중치를 두어 hue angle을 보정하는 과정일 수 있다.
영역 판단 과정(sh12053)은 임의의 색정보가 색역 내 어느 영역에 존재하는지 판단하는 과정일 수 있다. 각 영역별로 색정보 리맵핑 방식이 달라질 수 있으므로, 영역 판단 과정은 색정보 리맵핑 이전에 수행되며, 임의의 색정보가 속한 영역에 따라 색정보 리맵핑이 수행된다.
일 실시예에서, 영역 판단 과정(sh12053)은 바운더리 디텍션 과정, 앵커 포인트 산출 과정, 및 불변 영역 판단 과정을 포함할 수 있다. 바운더리 디텍션 과정은 색역의 경계를 판단하는 과정일 수 있다. 앵커 포인트 산출 과정은 영역을 구획하는데 필수적인 앵커 포인트를 산출하는 과정일 수 있다. 불변 영역 판단 과정은 임의의 색정보 불변 영역(invariant area)에 속하는지 여부를 판단하는 과정일 수 있다. 임의의 색정보가 불변 영역(invariant area)에 속할 경우, 추가적인 색정보 리맵핑 과정은 수행되지 않을 수 있다.
색정보 리맵핑 과정(sh12054)은 오리지널 색역에 속하는 임의의 색정보를 타겟 색역으로 맵핑시키는 과정일 수 있다.
일 실시예에 따르면, 색정보 리맵핑 과정(sh12054)은 교차점 계산 과정(sh12056), 맵핑 함수 결정 과정(sh12057), 및 리맵핑 과정(sh12058)으로 세분화될 수 있다.
교차점 계산 과정(sh12056)은 색정보 리맵핑을 위해 오리지널 색역의 바운더리, 타겟 색역의 바운더리 및/또는 불변 영역의 바운더리와 색정보 리맵핑을 위한 직선이 교차하는 교차점을 산출하는 과정일 수 있다. 산출된 교차점은 색정보 리맵핑에 사용되는 맵핑 함수의 입력값으로 사용될 수 있다.
맵핑 함수 결정 과정(sh12057)은 각 영역 별 리맵핑에 사용될 맵핑 함수를 결정하는 과정일 수 있다.
리맵핑 과정(sh12058)은 맵핑 함수와 교차점을 이용하여 오리지널 색역 내의 임의의 색정보를 타겟 색역 내로 맵핑시키는 과정일 수 있다. 맵핑 함수를 이용한 리맵핑 과정은 개별 영역 별로 다른 맵핑 함수를 사용하여 수행될 수 있다.
컬러 스페이스 역변환 과정(sh12055)은 컬러 스페이스 변환 과정(sh12051)의 역과정일 수 있다.
본 발명의 일 실시예에 따른 컬러 볼륨 맵핑 과정에 포함된 구체적인 과정 또는 단계 중 일부 과정 또는 단계는 생략되거나 다른 과정 또는 단계에 포함될 수 있다.
도 13은 본 발명의 다른 실시예에 따른 광색역 콘텐츠를 디스플레이하는 과정을 나타낸 도면이다.
도 13을 참조하면, 본 발명의 다른 실시예에 따른 광색역 콘텐츠를 디스플레이하는 과정은, 색역 매칭 여부를 판단하는 과정(sh13010), 넓은 색역 영상을 디스플레이하는 과정(sh13030), 넓은 색역을 좁은 색역으로 맵핑하는 과정(sh13050) 및 좁은 색역 영상을 디스플레이하는 과정(sh13070)을 포함한다.
색역 매칭 여부를 판단하는 과정(sh13010)은 입력받은 넓은 색역 영상이 수신기의 색역과 매칭되는지 확인하는 과정일 수 있다. 즉, 수신기는 입력받은 영상(WCG 영상)의 색역이 수신기에서 처리할 수 있는 색역 영상인지 확인할 수 있다. 이때, 수신기는 디스플레이 색역 정보 및/또는 비디오 스트림에 포함된 메타데이터를 이용하여 입력받은 WCG 영상이 수신기의 색역과 매칭되는지 확인할 수 있다.
만약, 입력받은 영상의 색역이 수신기에서 처리가능한 색역인 경우(sh13010의 Yes), 수신기는 입력받은 WCG 영상을 디스플레이할 수 있다(sh13030).
이와 달리, 입력받은 영상의 색역이 수신기에서 처리가능한 색역이 아닌 경우(sh13010의 No), 수신기는 입력받은 WCG 영상을 좁은 색역으로 맵핑시키는 과정을 수행할 수 있다(sh14050).
그리고, 넓은 색역의 영상이 좁은 색역으로 맵핑되면, 수신기는 좁은 색역의 영상을 디스플레이할 수 있다(sh13070).
한편, 도 13의 컬러 볼륨 맵핑 과정(sh13050)은 전술한 도 11의 컬러 볼륨 맵핑부(h11030)의 과정에 해당할 수 있다.
본 발명의 일 실시예에 따른 컬러 볼륨 맵핑 과정(sh13050)은 컬러 스페이스 변환 과정(sh13051), 색상 보정 과정(sh13052), 영역 판단 과정(sh13053), 색정보 리맵핑 과정(sh13054) 및/또는 컬러 스페이스 역변환 과정(sh13055)을 포함할 수 있다.
컬러 스페이스 변환 과정(sh13051)은 컬러 볼륨 맵핑을 위해 밝기 축과 색상 축이 분리 가능한 색공간으로 색공간을 변환하는 과정일 수 있다.
색상 보정 과정(sh13053)은 동일한 비율 또는 가중치를 두어 hue angle을 보정하는 과정일 수 있다.
영역 판단 과정(sh13054)은 임의의 색정보가 색역 내 어느 영역에 존재하는지 판단하는 과정일 수 있다. 각 영역별로 색정보 리맵핑 방식이 달라질 수 있으므로, 영역 판단 과정은 색정보 리맵핑 이전에 수행되며, 임의의 색정보가 속한 영역에 따라 색정보 리맵핑이 수행된다.
일 실시예에서, 영역 판단 과정(sh13053)은 바운더리 디텍션 과정, 앵커 포인트 산출 과정, 불변 영역 판단 과정, 및 맵핑 패쓰 결정 과정(sh13059)을 포함할 수 있다. 바운더리 디텍션 과정은 색역의 경계를 판단하는 과정일 수 있다. 앵커 포인트 산출 과정은 영역을 구획하는데 필수적인 앵커 포인트를 산출하는 과정일 수 있다. 불변 영역 판단 과정은 임의의 색정보 불변 영역(core region)에 속하는지 여부를 판단하는 과정일 수 있다. 임의의 색정보가 불변 영역(core region)에 속할 경우, 추가적인 색정보 리맵핑 과정은 수행되지 않을 수 있다. 맵핑 패쓰 결정 과정(sh13059)은 임의의 색정보가 불변 영역에 속하지 않을 경우, 맵핑 기준 라인을 결정을 결정하는 과정일 수 있다. 맵핑 패쓰 결정 과정(sh13059)에 대한 보다 상세한 내용은 도 14를 참조하여 후술한다.
색정보 리맵핑 과정(sh13054)은 오리지널 색역에 속하는 임의의 색정보를 타겟 색역으로 맵핑시키는 과정일 수 있다.
일 실시예에 따르면, 색정보 리맵핑 과정(sh13054)은 교차점 계산 과정(sh13056), 맵핑 함수 결정 과정(sh13057), 및 리맵핑 과정(sh13058)으로 세분화될 수 있다.
교차점 계산 과정(sh13056)은 색정보 리맵핑을 위해 오리지널 색역의 바운더리, 타겟 색역의 바운더리 및/또는 불변 영역의 바운더리와 색정보 리맵핑을 위한 직선이 교차하는 교차점을 산출하는 과정일 수 있다. 산출된 교차점은 색정보 리맵핑에 사용되는 맵핑 함수의 입력값으로 사용될 수 있다.
맵핑 함수 결정 과정(sh13057)은 각 영역 별 리맵핑에 사용될 맵핑 함수를 결정하는 과정일 수 있다.
리맵핑 과정(sh13058)은 맵핑 함수와 교차점을 이용하여 오리지널 색역 내의 임의의 색정보를 타겟 색역 내로 맵핑시키는 과정일 수 있다. 맵핑 함수를 이용한 리맵핑 과정은 개별 영역 별로 다른 맵핑 함수를 사용하여 수행될 수 있다.
컬러 스페이스 역변환 과정(sh13055)은 컬러 스페이스 변환 과정(sh13051)의 역과정일 수 있다.
본 발명의 일 실시예에 따른 컬러 볼륨 맵핑 과정에 포함된 구체적인 과정 또는 단계 중 일부 과정 또는 단계는 생략되거나 다른 과정 또는 단계에 포함될 수 있다.
도 14는 본 발명의 일 실시예에 따른 맵핑 패스 결정 과정을 나타낸 도면이다.
맵핑 패쓰 결정 과정은 임의의 색정보가 불변 영역(core region)에 속하지 않을 경우, 맵핑 기준 라인을 결정을 결정하는 과정일 수 있다. 또는, 맵핑 패스 결정 과정은, 임의의 색정보가 불변 영역(core region)에 속하지 않을 경우, 해당 임의의 색정보가 색역의 어느 영역에 속하는지 결정하는 과정일 수 있다.
맵핑 패쓰 결정 과정은, 채도 역전 여부를 판단하는 과정(sh14010), Cusp 라인을 맵핑 기준 라인으로 결정하는 과정(sh14030), 스위치 영역에 속하는지 판단하는 과정(sh14050) 및 Cusp 절편을 지나는 직선을 맵핑 기준 라인으로 결정하는 과정(sh14070) 및 constant 라인을 맵핑 기준 라인으로 결정하는 과정(sh14090)을 포함할 수 있다.
채도 역전 여부를 판단하는 과정(sh14010)은 임의의 색정보가 속한 영역에서 채도 역전 현상이 발생 가능한지 판단하는 과정일 수 있다. 만약, 임의의 색정보가 속한 영역에서 채도 역전 현상이 발생하지 않을 경우(sh14010의 No), Cusp 라인이 해당 영역의 맵핑 기준 라인으로 설정될 수 있다. 이와 달리, 임의의 색정보가 속한 영역에서 채도 역전 현상이 발생할 수 있는 경우(sh14010의 Yes), 스위치 영역에 속하는지 판단하는 과정을 거치게 된다.
Cusp 라인을 맵핑 기준 라인으로 결정하는 과정(sh14030)은 Cusp 라인을 맵핑 기준 라인으로 결정하는 과정일 수 있다. Cups 라인은 오리지널 색역과 타겟 색역에서 각각 가장 큰 chroma 값을 갖는 점을 지나는 직선을 의미할 수 있다. Cusp 라인이 맵핑 기준 라인으로 결정되면, 해당 영역에 포함된 색정보는 Cusp 라인과 평행한 라인을 따라 색정보 맵핑이 이루어질 수 있다. 한편, Cusp 라인이 맵핑 기준 라인으로 설정되었다는 것은 임의의 색정보가 Cusp region에 속한다는 것을 의미할 수 있다.
스위치 영역에 속하는지 판단하는 과정(sh14050)은 임의의 색정보가 속하는 영역이 스위칭 영역인지를 판단하는 과정일 수 있다. 일 실시예에 따르면, 스위치 영역에 속하는지 판단하는 과정(sh14050)은 임의의 색정보에 대한 함수값을 소정 값과 비교하는 방법을 통해 임의의 색정보가 속하는 영역이 스위칭 영역인지 판단할 수 있다. 만약, 임의의 색정보가 스위칭 영역에 속할 경우(sh14050의 Yes), Cusp 절편을 지나는 직선이 맵핑 기준 라인으로 설정될 수 있다. 이와 달리, 임의의 색정보가 스위칭 영역에 속하지 않을 경우(sh14050의 No), constant 라인이 맵핑 기준 라인으로 설정될 수 있다.
Cusp 절편을 지나는 직선을 맵핑 기준 라인으로 결정하는 과정(sh14070)은 Cusp 절편을 지나는 직선을 맵핑 기준 라인으로 결정하는 과정일 수 있다. 여기서, Cusp 절편은 전술한 Cusp 라인이 밝기축과 만나는 점을 의미할 수 있다. Cusp 절편을 지나는 직선을 맵핑 기준 라인으로 결정되면, 해당 영역에 포함된 색정보는 Cusp 절편을 지나는 직선을 따라 색정보 맵핑이 이루어질 수 있다. 한편, Cusp 절편을 지나는 직선이 맵핑 기준 라인으로 설정되었다는 것은 임의의 색정보가 스위칭 영역에 속한다는 것을 의미할 수 있다.
Constant 라인을 맵핑 기준 라인으로 결정하는 과정(sh14090)은 constant 라인을 맵핑 기준 라인으로 결정하는 과정일 수 있다. 여기서, constant 라인은 전술한 Cusp 절편을 지나는 밝기축과 수직한 라인을 의미할 수 있다. 다시 말해, constant 라인은 전술한 Cusp 절편을 지나고 채도축과 평행한 라인을 의미할 수 있다. Constant 라인이 맵핑 기준 라인으로 결정되면, 해당 영역에 포함된 색정보는 constant 라인과 평행한 직선을 따라 색정보 맵핑이 이루어질 수 있다. 한편, constant line이 맵핑 기준 라인으로 설정되었다는 것은 임의의 색정보가 constant L 영역에 속한다는 것을 의미할 수 있다.
도 15는 본 발명의 일 실시예에 따른 비디오 후처리부를 나타낸 도면이다.
도 15는 도 11의 비디오 후처리부(h11050)의 비디오 후처리 과정을 보다 상세히 나타낸 도면이라고 할 수 있다.
본 발명의 일 실시예에 따른 비디오 후처리 과정(Video Post-processing)은 콘트라스트 인핸스먼트 과정(contrast enhancement, sh15010), 변환 곡선 적용 과정(transfer curve, sh15030) 및 채도 인핸스먼트 과정(chroma enhancement, sh15050)을 포함할 수 있다. 본 발명의 일 실시예에 따르면, 컬러 볼륨 맵핑된 비디오 또는 컬러 볼륨 매핑 과정을 거치지 않은 비디오는 콘트라스트 인핸스먼트 과정, 변환 곡선 적용 과정 및/또는 채도 인핸스먼트 과정을 거쳐 더욱 향상된 화질을 가질 수 있다. 실시예에 따라, 컬러 볼륨 매핑 이전에 이 도면에 도시된 영상 처리 과정(비디오 후처리 과정)이 수행될 수도 있다.
도 16은 본 발명의 일 실시예에 따른 컬러 볼륨 매핑(color volume mapping)을 지원하는 송신기 동작의 예시를 나타내는 도면이다.
도 16의 실시예는 광색역을 협색역으로 맵핑하는 과정을 송신측에 적용한 실시예라고 할 수 있다.
도 16은 실제 장면을 캡쳐하여 비디오로 인코딩하는 과정을 나타낸다. 도 16의 실시예에서, 송신기는 캡쳐부(h16010), 포스트 프로덕션부(h16030), 및 인코더(h16050)를 포함한다. 송신기의 동작의 관점에서, 본 송신기는 캡쳐 과정(capture), 포스트 프로덕션 과정(post production), 및 디스플레이 과정(encoding)를 수행할 수 있다. 일 실시예에서, 인코딩된 비디오는 방송 신호에 실려 전송될 수 있다.
캡쳐부(h16010)는 실제 장면(real scene)을 캡쳐하여 비디오를 생성할 수 있다. 이때, 비디오는 넓은 색역을 갖는 비디오일 수 있다. 한편, 캡쳐부(h16010)는 비디오와 관련된 메타데이터를 생성할 수 있다. 캡쳐부(h16010)는 비디오와 메타데이터를 포스트 프로덕션부(h16030)로 출력할 수 있다.
포스트 프로덕션부(h16030)는 캡쳐부로부터 비디오 및 메타데이터를 입력받을 수 있다. 포스트 프로덕션부는, 생성된 비디오에 대한 후반 제작과정(포스트 프로덕션 과정)을 수행한 후, 후반 제작 과정이 수행된 비디오를 인코더(h16050)로 출력할 수 있다. 또한, 포스트 프로덕션부(h16030)은 콘텐트 색역 정보를 입력받을 수 있다. 이러한 콘텐트 색역 정보는 원본 색역 정보, 오리지널 색역 정보 또는 소스 색역 정보라고 지칭될 수 있다. 콘텐트 색역 정보는 제작 당시의 색역 정보를 나타낼 수 있다. 일 실시예에서, 콘텐트 색역 정보는 넓은 색역 정보일 수 있고, 타겟 색역 정보는 좁은 색역 정보 일 수 있다.
포스트 프로덕션부(h16030)는 입력받은 비디오, 메타데이터 및/또는 콘텐트 색역 정보를 이용하여 포스트 프로덕션 과정을 수행할 수 있다. 일 실시예에서, 포스트 프로덕션 과정은, 노이즈 제거 과정(sh16031), 톤 맵핑 과정(sh16033), 컬러 볼륨 맵핑 과정(sh16035), 휴 인핸스먼트 과정(sh16037) 및 채도 인핸스먼트 과정(sh16039)을 포함할 수 있다. 여기서, 컬러 볼륨 맵핑 과정(sh16035)은 도 11의 컬러 볼륨 맵핑 과정과 실질적으로 동일한 과정에 해당할 수 있고, 컬러 볼륨 맵핑 과정의 구체적인 내용은 도 12 및 도 13의 컬러 볼륨 맵핑 과정(sh12050, sh13050)의 내용이 적용될 수 있다.
인코더(h16050)는 포스트 프로덕션부로부터 후반 제작 과정이 수행된 비디오를 입력받을 수 있다. 인코더는 입력받은 비디오를 인코딩할 수 있으며, 인코딩된 비디오를 출력할 수 있다. 일 실시예에서, 인코딩된 비디오는 방송 신호에 실려 전송되어 수신기에서 소비될 수 있다.
한편, 도 16의 실시예의 송신기에 대응하는 수신기는 협색역의 비디오를 광색역으로 맵핑하는 과정을 수행하도록 구성될 수도 있다. 좁은 색역의 비디오를 넓은 색역의 비디오로 맵핑하는 과정은 넓은 색역의 비디오를 좁은 색역의 비디오로 맵핑하는 과정과 쌍대(duality)의 관계일 수 있다.
이하, 도 17 내지 도 20을 통해 본 발명의 일 실시예에 따른 컬러 볼륨 맵핑 과정을 설명하도록 한다.
도 17 내지 도 20을 통해 설명되는 본 발명의 일 실시예에 따른 컬러 볼륨 맵핑 과정은 전술한 도 13의 수신기에서 수행될 수 있다.
<컬러 스페이스 변환>
도 17은 본 발명의 다양한 실시예에 따른 컬러 스페이스 변환 과정을 나타낸 도면이다.
컬러 볼륨 맵핑을 하기 위해서는 RGB 신호가 밝기 축과 색상 축으로 표현 가능한 색공간으로 변환되어야 한다. 밝기 축과 색상 축으로 나누어 표현 될 수 있다면, 어떠한 색공간도 컬러 볼륨 맵핑에 이용될 수 있다. 다만, uniform한 color space일수록 컬러 볼륨 맵핑시 원본의 색감을 효과적으로 유지할 수 있다. 대표적인 색공간으로는, IPT, CIELAB, CIELUV, CIECAM02 를 기초로 한 새로운 color space(color space based on CIECAM02) 등이 있다. 비교적 unifomity가 낮지만, 3차원 공간내에 색 표현이 가능한 색공간으로서 HSV, YCbCr 등도 채택될 수 있다. 컬러 스페이스(color space) 변환을 위한 정보는 메타데이터(metadata)를 통해 결정될 수 있다. 이러한 메타데이터는 color space type, peak luminance, conversion을 위한 coefficient와 같은 파라미터를 포함할 수 있다. 어떤 색공간을 선택하는가에 따라 활용해야 하는 정보나 변환 과정이 달라 질 수 있으므로, 메타데이터를 통해 필요한 정보 또는 파라미터가 제공되어 변환에 사용될 수 있다. 한편, 메타데이터는, 도 11, 도 12, 도 13, 도 16 등에서 설명된 메타데이터일 수 있고, 메타데이터의 상세 내용에 대해서는 도 25 내지 도 43을 이용하여 후술한다.
도 17의 (a), (b), 및 (c) 는 각각 순서대로 IPT 색공간, CIELAB의 색공간, 및 CIECAM02 를 기초로 한 새로운 color space(color space based on CIECAM02)의 색공간으로 변환하는 과정을 나타낸다.
도 17에 도시된 본 발명의 다양한 실시예에 따른 컬러 스페이스 변환 과정은 도 12 및/또는 도 13의 color space conversion 과정(sh12051, sh13051)의 구체적인 실시예일 수 있다. 또한, 도시되지 않았으나, 도 17에 도시된 본 발명의 다양한 실시예에 따른 컬러 스페이스 변환 과정과 대응되는 컬러 스페이스 역변환 과정이 존재할 수 있다는 점은 통상의 기술자에게 자명하다. 그리고, 이러한 컬러 스페이스 역변환 과정은 도 12 및/또는 도 13의 inverse color space conversion 과정(sh12055, sh13055)의 구체적인 실시예일 수 있다.
<색상 보정>
도 18는 본 발명의 일 실시예에 따른 색상 보정(hue correction)의 예시를 나타낸 도면이다.
도 11, 도 12, 도 13, 도 16 등에서 설명된 메타데이터는 색상 보정(hue correction)에 필요한 정보를 포함할 수 있다. 일 실시예에서, 메타데이터는 색상 보정(hue correction)을 위한 hue correction function 정보를 포함할 수 있다. 이러한 hue correction function 정보는 오리지널 컬러에 대한 휴 앵글(hue_in)을 타겟 컬러의 휴 앵글(hue_out)로 변환하는데 사용되는 hue correction function 그래프에 대한 앵커 포인트(anchor point) 정보를 포함할 수 있다. 여기서, 오리지널 컬러는 도 17에서 전술한 컬러 스페이스 변환(color space conversion) 후의 컬러를 의미할 수 있다.
한편, 앵커 포인트(anchor point) 정보는 hue correction function 그래프를 도출하는데 사용될 수 있다. 컬러 스페이스 변환에 사용된 색공간이 uniform한 경우, linear interpolation을 통해 앵커 포인트 정보로부터 hue correction function 그래프를 산출할 수 있다. 컬러 스페이스 변환에 사용된 색공간이 non-uniform한 경우, power function을 이용하여 앵커 포인트 정보로부터 hue correction function 그래프를 산출할 수 있다.
도 18을 참조하면, hue correction function 그래프를 이용하여 오리지널 컬러에 대한 휴 앵글(hue_in)을 타겟 컬러의 휴 앵글(hue_out)로 보정한 모습이 나타나 있다. 이때, hue correction function 그래프는 앵커 포인트(anchor point) 정보로부터 산출될 수 있다
한편, 도 18에 도시된 본 발명의 일 실시예에 따른 색상 보정(hue correction) 과정은 도 12 및/또는 도 13의 hue correction 과정(sh12052, sh13052)의 구체적인 실시예일 수 있다.
밝기(lightness) 정보 및 채도(chroma) 정보는 색상(hue) 정보와 관련된다. 따라서, 임의의 색상(hue) 정보와 연관관계를 갖는 밝기(lightness) 정보와 채도(chroma) 정보는 2차원 평면에 표현될 수 있다.
이하, 3차원 색공간 상의 색역에 있어서, 임의의 고정된 색상에서, 밝기 정보와 채도 정보를 2차원 평면에 표현하고, 2차원 평면 상에서 색역 맵핑을 수행하는 과정을 설명하도록 한다. 한편, 본 명세서는 색상을 기준으로 밝기 정보와 채도 정보를 2차원 평면에 표현하고, 2차원 평면 상에서 색역 맵핑을 수행하는 방안을 중심으로 기술되어 있으나, 컬러 스페이스 상의 하나의 축을 기준으로 나머지 정보를 2차원 상에 표현하는 것을 확장될 수 있다.
도 19는 본 발명의 일 실시예에 따른 컬러 볼륨 맵핑을 나타낸 도면이다.
도 19는 임의의 색상에 대한 밝기 정보와, 채도 정보를 2차원 평면에 나타낸다.
도 19를 참조하면, 컨텐츠에 대한 2차원 색역과, 디스플레이에 대한 2차원 컬러 색역이 나타나 있다. 2차원 평면 상에서 X축은 chroma를 나타내고, Y축은 lightness를 나타낸다.
컨텐츠에 대한 2차원 색역은 넓은 색역의 색역으로서, 오리지널 색역을 의미하고, 디스플레이에 대한 2차원 색역은 좁은 색역의 색역으로서, 타겟 색역을 의미한다. 도면에서, 상대적으로 큰 삼각형은 컨텐츠에 대한 2차원 색역의 경계(boundary)를 나타내며, 상대적으로 작은 삼각형은 디스플레이에 대한 2차원 색역의 경계(boundary)를 나타낸다. 한편, 도 12 및/또는 도 13의 boundary detection은 이러한 색역의 경계를 찾아내는 과정일 수 있다.
한편, 본 발명의 일 실시예에 따른 컬러 볼륨 맵핑은 맵핑을 위해 색역을 구획하여 색역 내 영역을 설정하는 과정을 포함할 수 있다. 이때, 색역 내 영역 설정을 위한 앵커 포인트(anchor point)가 설정될 수 있다. 여기서, 앵커 포인트를 설정 또는 산출하는 과정은 도 12 및/또는 도 13의 anchor point calculation 과정에 해당할 수 있다.
참고로, 색역 내 영역 설정을 위한 앵커 포인트는, 색상 보정에 있어서, hue correction function 그래프를 산출하기 위한 앵커 포인트와는 구별된다.
도 19을 통해 설명되는 본 발명의 일 실시예에 따른 색역 볼륨 맵핑에 있어서, 영역 설정 및 앵커 포인트의 설정은 다음과 같은 과정을 통해 수행될 수 있다.
먼저 앵커 포인트의 설정은 다음과 같다.
1. Lcusp 설정
Lcusp는 오리지널 색역 및 타겟 색역에서 각각 가장 큰 chroma 값을 갖는 두 점을 지나 밝기축과 만나는 점을 의미할 수 있다. 도 19의 실시예에서, 오리지널 색역에서 가장 큰 chroma 값을 갖는 점은 (C2, L2)이고, 타겟 색역에서 가장 큰 chroma 값을 갖는 점은 (C1, L1)이다. 이러한 두점 (C2, L2) 과 (C1, L1)을 지나는 직선은 D3(또는 Dcusp)이다. 그리고, D3와 밝기 축이 만나는 점은 (0, Lcusp)이다. 이러한, Lcusp는 항상 타겟 색역의 최대 밝기와 최소 밝기 사이에 해당하는 밝기 값을 갖는다.
2. 채도 축 anchor 값 결정
채도 축 anchor값(Canchor)은 메타데이터에 포함된 가중치 정보를 이용하여 산출될 수 있다. 가중치 정보는 메타데이터에 포함되어 전달될 수 있다. 보다 구체적으로, 채도 축 anchor값은 작은 색역인 타겟 색역의 최대 chroma 값인 C1에 가중치를 곱하여 산출될 수 있다.
Figure 112019012248315-pct00001
여기서, Canchor는 채도 축 anchor값을 나타내고, a는 메타데이터에 포함된 가중치 정보를 나타내며, C1은 작은 색역의 최대 chroma값을 나타낸다.
또한, 여기서, 0 < a < 1
한편, 메타데이터는, 도 11, 도 12, 도 13, 도 16 등에서 설명된 메타데이터일 수 있고, 메타데이터의 상세 내용에 대해서는 도 25 내지 도 43을 이용하여 후술한다.
3. 밝기 축 anchor 값 결정
앵커 포인트는 D3(Dcusp)에 속하도록 설정된다. 따라서, 직선 D3와 Canchor가 결정되면 직선 D3에 속하는 점인 (Canchor, Lanchor)의 Y축 좌표값은 직선의 방정식을 통해 도출될 수 있다.
다시 말해, 앵커 포인트는 (C1, L1)와, (0, Lcusp)를 지나는 직선에 속한다. 그리고, 앵커 포인트의 X 좌표 값(Canchor)이 결정되었으므로, (C1, L1)와, (0, Lcusp)을 잇는 직선의 방정식과 앵커 포인트의 X 좌표 값(Canchor)을 이용하면, 앵커 포인트의 Y 좌표값인 Lanchor가 도출될 수 있다.
따라서, 직선의 방정식으로부터 도출된 Lanchor는 다음과 같다.
Figure 112019012248315-pct00002
한편, Lcusp를 L1, C1, L2, C2로 표현하면 Lcusp는 다음과 같다.
Figure 112019012248315-pct00003
따라서, 앵커 포인트(Canchor, Lanchor)의 값은 다음과 같이 정리될 수 있다.
Figure 112019012248315-pct00004
앵커 포인트가 설정되면, 앵커 포인트를 기준으로 영역 설정이 이루어질 수 있다.
일 실시예에서, 각 색역은 앵커 포인트를 기준으로 4개 영역으로 구획될 수 있다.
앵커 포인트가 설정되면, 2개의 y절편과 앵커 포인트를 잇는 직선을 이용하여, 각 색역은 4개의 영역으로 구획될 수 있다. 여기서 y절편은 색역에 의해 표현 가능한 최대 밝기값과, 최소 밝기값에 해당할 수 있다. 즉, 제1 y절편은 Lmax일 수 있고, 제2 y절편은 Lmin일 수 있다. 각 색역은 (0, Lmax)과 (Canchor, Lanchor)를 잇는 직선(D1)과, (0, Lmin)과 (Canchor, Lanchor)를 잇는 직선(D2)은 (Canchor, Lanchor)를 기준으로 4개의 영역으로 구획된다.
이러한 4개의 영역은 invariant 영역, region A, region B, region C로 표현될 수 있으며, 각 영역은 도면에 도시된 바와 같다.
먼저, invariant area는 (0, Lmax)과 (Canchor, Lanchor)를 잇는 직선(D1), (0, Lmin)과 (Canchor, Lanchor)를 잇는 직선(D2)과, 밝기축에 의해 둘러싸인 삼각형 영역으로 정의될 수 있다.
이어서, region A는 직선 D1, 직선 D2 및 (0, Lmax)를 지나는 색역의 경계선에 의해 둘러싸인 삼각형 영역으로 정의될 수 있다.
다음으로, region C는 직선 D1, 직선 D2 및 (0, Lmin)를 지나는 색역의 경계선에 의해 둘러싸인 삼각형 영역으로 정의될 수 있다.
그 다음으로, region B는 직선 D1, 직선 D2, (0, Lmin)를 지나는 색역의 경계선, 및 (0, Lmax)를 지나는 색역의 경계선에 의해 둘러싸인 사각형 영역으로 정의될 수 있다.
<영역 판단>
컬러 볼륨 맵핑에 있어서, 전술한 4개의 영역은 각 영역별로 색정보 리맵핑 방법에 있어서 차이가 있을 수 있다. 따라서, 오리지널 색역의 색정보(Lin, Cin)가 어떤 영역에 속하는지가 선행적으로 결정되어야 한다. 한편, 직선 D1과 D2는 L=f(C)의 함수의 형태를 가지므로, Lin과 fD1(Cin) 또는 fD2(Cin)의 관계식을 이용하여 임의의 (Lin, Cin)이 어느 영역에 속하는지 판단할 수 있다.
즉, 다음과 같은 관계를 통해 임의의 (Lin, Cin)이 어느 영역에 속하는지 판단할 수 있다.
Invariant area : Lin < fD1(Cin) and Lin > fD2(Cin)
Region A : Lin > fD1(Cin) and Lin > fD2(Cin)
Region B : Lin > fD1(Cin) and Lin < fD2(Cin)
Region C : Lin < fD1(Cin) and Lin < fD2(Cin)
한편, 이러한 영역 판단 과정은 도 12 의 invariant area 판단 과정, 및/또는 도 13의 core region 판단 과정 및 맵핑 패쓰 결정 과정(sh13059)에 해당할 수 있다.
<색정보 리맵핑>
먼저, invariant area 에 속하는 색정보의 경우, 오리지널 색역의 색정보를 그대로 유지한다. Invariant area는 원본의 정보를 최대한 유지하고자 하는 영역이므로, invariant area 에 속하는 색정보에 대해서는 색정보 리맵핑가 수행되지 않는다.
다음으로, invariant area 에 속하지 않는 색정보의 경우, 오리지널 색역의 색정보가 타겟 색역의 색정보로 맵핑된다. 이때, 각 영역별로 해당하는 영역의 맵핑 함수에 따라 맵핑이 수행될 수 있다. 즉, Region A의 경우, Regin A에 해당하는 맵핑 함수가 적용되고, Region B의 경우, Regin B에 해당하는 맵핑 함수가 적용되며, Region C의 경우, Regin C에 해당하는 맵핑 함수가 적용될 수 있다.
구체적인 실시예에서, Region A, Region B, 및 Region C는 다음과 같은 방법에 의해 색정보 리맵핑이 수행될 수 있다.
1. Region A
Region A에 속하는 색정보의 경우, (Cin, Lin)과, (0, intercept_bottom = Lmin)을 잇는 직선을 따라 색정보가 리맵핑된다. 도 19를 다시 참조하면, region A의 경우 화살표(h19010)방향을 따라 색정보 리맵핑이 이루어진다. 결과적으로, 오리지널 색역의 Region A에 속하는 색정보는 invariant area와 타겟 색역의 경계(boundary) 사이에 맵핑된다.
2. Region B
Region B에 속하는 색정보의 경우, (Canchor, Lanchor)를 향해 색정보가 리맵핑된다. 도 19를 다시 참조하면, region B의 경우 화살표(h19030)방향을 따라 색정보 리맵핑이 이루어진다. 결과적으로, 오리지널 색역의 Region B에 속하는 색정보는 invariant area와 타겟 색역의 경계(boundary) 사이에 맵핑된다.
3. Region C
Region A에 속하는 색정보의 경우, (Cin, Lin)과, (0, intercept_top = Lmax)을 잇는 직선을 따라 색정보가 리맵핑된다. 도 19를 다시 참조하면, region C의 경우 화살표(h19050)방향을 따라 색정보 리맵핑이 이루어진다. 결과적으로, 오리지널 색역의 Region C에 속하는 색정보는 invariant area와 타겟 색역의 경계(boundary) 사이에 맵핑된다.
여기서, 색정보 리맵핑에 사용되는 직선(각 영역에서의 화살표 방향의 직선)은 맵핑 라인이라고 지칭될 수 있다.
한편, 색정보 리맵핑 과정은 교차점 계산 과정, 맵핑 함수 결정 과정 및 리맵핑 과정을 포함할 수 있다. 색정보 리맵핑 과정에 대한 구체적인 설명은 아래 도 20의 실시예를 통해 보다 상세히 설명한다. 여기서, 색정보 리맵핑 과정은 도 12 및/또는 도 13의 색정보 리맵핑 과정(sh12504, sh13054)에 해당할 수 있다. 또한, 색정보 리맵핑 과정의 세부 과정인 교차점 계산 과정, 맵핑 함수 결정 과정 및 리맵핑 과정은 각각 도 12 및 도 13의 교차점 계산 과정(sh13056), 맵핑 함수 결정 과정(sh13057) 및 리맵핑 과정(sh13058)에 해당할 수 있다.
도 20은 본 발명의 일 실시예에 따른 Region A에서의 색정보 리맵핑 과정을 상세히 나타낸 도면이다.
도 20을 참조하여, Region A에서의 교차점 계산 과정, 맵핑 함수 결정 과정, 및 리맵핑 과정을 순차적으로 설명한다.
먼저, 임의의 오리지널 색역의 색정보(Cin, Lin)가 선택되면 (Cin, Lin)과, (0, intercept_bottom = Lmin)을 잇는 직선(h20010)이 결정된다.
(Cin, Lin)과, (0, intercept_bottom = Lmin)을 잇는 직선(h20010)이 결정되면, 교차점이 계산될 수 있다. 여기서, 3개의 교차점이 결정되며, 교차점의 좌표값은 두개의 직선의 방정식을 이용하여 산출될 수 있다.
제1 교차점(intersction1, I1)은 결정된 직선(h20010)과, 오리지널 색역의 경계선(boundary) (content's gamut boundary)의 교점을 의미할 수 있다.
제2 교차점(intersction2, I2)은 결정된 직선(h20010)과, 타겟 색역의 경계선(boundary) (display's gamut boundary)의 교점을 의미할 수 있다.
제3 교차점(intersction3, I3)은 결정된 직선(h20010)과, invariant area의 경계선(boundary)(D1)의 교점을 의미할 수 있다.
이러한 교차점들이 결정되면, 두개의 직선의 방정식을 이용하여 교차점의 좌표값이 산출될 수 있다.
한편, 임의의 오리지널 색역의 색정보 좌표(Cin, Lin)와 교차점들과의 관계를 이용하여 맵핑될 색정보 좌표(Cout, Lout)를 산출할 수 있다. 구체적으로, 제1 교차점과, 제2 교차점 사이에 존재하는 (Cin, Lin)과, 제2 교차점과 제3 교차점 사이에 존재해야 하는 (Cout, Lout) 사이의 관계를 함수 형태로 나타낼 수 있다. 이때, 제1 교차점과, 제2 교차점 사이에 존재하는 (Cin, Lin)과, 제2 교차점과 제3 교차점 사이에 존재해야 하는 (Cout, Lout) 사이의 관계는 선형 함수(linear function), 또는 파워 함수(power function) 등의 형태로 표현될 수 있다. 그리고, 이러한 함수의 형태(type) 및/또는 파라미터의 값은 메타데이터에 포함될 수 있다. 한편, 메타데이터는, 도 11, 도 12, 도 13, 도 16 등에서 설명된 메타데이터일 수 있고, 메타데이터의 상세 내용에 대해서는 도 25 내지 도 43을 이용하여 후술한다.
교차점과, 오리지널 색역의 색정보 좌표와, 맵핑될 색정보 좌표의 관계를 나타내는 함수가 결정되면, 임의의 오리지널 색역의 색정보 좌표를 타겟 색역으로 리맵핑할 수 있다. 여기서, 오리지널 색역의 색정보 좌표와, 맵핑될 색정보 좌표의 관계를 나타내는 함수는 함수의 타입 및/또는 파라미터의 값을 통해 결정될 수 있다.
색정보 리맵핑에 사용되는 함수의 구체적인 실시예로서, 선형 함수와, 파워 함수의 형태는 다음과 같다.
먼저 선형 함수는 다음과 같이 표현될 수 있다.
Figure 112019012248315-pct00005
여기서, out은 (Cout, Lout)을 의미하고, in은 (Cin, Lin)을 의미하며, I1, I2, I3는 각각 제1 교차점, 제2 교차점, 제3교차점을 의미한다. 상기 수학식을 X좌표, 및 Y좌표에 대해 각각 적용하면, 임의의 오리지널 색역의 색정보 좌표(Cin, Lin)가 리맵핑될 타겟 색역의 색정보 좌표(Cout, Lout)이 산출될 수 있다.
다음으로 파워 함수는 다음과 같이 표현될 수 있다.
Figure 112019012248315-pct00006
여기서, out은 (Cout, Lout)을 의미하고, in은 (Cin, Lin)을 의미하며, I1, I2, I3는 각각 제1 교차점, 제2 교차점, 제3교차점을 의미한다. 또한, r은 파워 함수의 지수를 의미한다. 상기 수학식을 X좌표, 및 Y좌표에 대해 각각 적용하면, 임의의 오리지널 색역의 색정보 좌표(Cin, Lin)가 리맵핑될 타겟 색역의 색정보 좌표(Cout, Lout)이 산출될 수 있다.
<컬러 스페이스 역변환>
색정보 리맵핑이 완료되면, 컬러 스페이스 역변환을 통해 디스플레이에 표현 가능한 상태로 되돌린다. 즉, 3차원의 밝기, 색상 축으로 변환되었던 신호를 RGB 신호로 변환시켜 디스플레이에 표현 가능하도록 한다. 이때, 컬러 스페이스 역변환에 사용되는 정보는 메타데이터에 포함될 수 있다. 한편, 이러한 메타데이터는, 도 11, 도 12, 도 13, 도 16 등에서 설명된 메타데이터일 수 있고, 메타데이터의 상세 내용에 대해서는 도 25 내지 도 43을 이용하여 후술한다. 그리고, 컬러 스페이스 역변환은, 도 17에서 설명된 컬러 스페이스 변환의 역과정에 해당한다.
도 17 내지 도 20을 통해 본 발명의 일 실시예에 따른 컬러 볼륨 맵핑 과정이 설명되었다.
이하, 도 21 내지 도 22를 통해 본 발명의 다른 실시예에 따른 컬러 볼륨 맵핑 과정을 설명하도록 한다.
<컬러 스페이스 변환>
컬러 볼륨 맵핑을 하기 위해서는 RGB 신호를 밝기 축과 색상 축으로 표현 가능한 색공간으로 변환한다. 컬러 스페이스 변환에 관한 내용은 도 17에서 설명된 내용이 적용될 수 있다.
<색상 보정>
컬러 스페이스 변환 이후 색상 보정이 수행될 수 있다. 색상 보정에 관한 내용은 도 18에서 설명된 내용이 적용될 수 있다.
<영역 판단>
도 17 내지 도 20을 통해 설명된 본 발명의 일 실시예에 따른 컬러 볼륨 맵핑 과정과, 도 21 내지 도 22를 통해 설명되는 본 발명의 다른 실시예에 따른 컬러 볼륨 맵핑 과정은 영역 판단 과정 및 색정보 리맵핑 과정에 있어서 차이가 있다.
보다 구체적으로, 본 발명의 다른 실시예에 따른 컬러 볼륨 맵핑 과정은 본 발명의 일 실시예에 따른 컬러 볼륨 맵핑 과정과 비교할 때, 영역을 설정하는 방법, 영역을 판단하는 방법에 있어서 차이가 있다.
이하, 본 발명의 다른 실시예에 따른 컬러 볼륨 맵핑 과정에서의 영역을 설정하는 방법 및 영역을 판단하는 방법에 대해 설명한다.
도 21은 본 발명의 다른 실시예에 따른 컬러 볼륨 맵핑을 나타낸 도면이다.
도 21은 임의의 색상에 대한 밝기 정보와, 채도 정보를 2차원 평면에 나타낸다.
도 21을 참조하면, 컨텐츠에 대한 2차원 색역과, 디스플레이에 대한 2차원 색역이 나타나 있다. 2차원 평면 상에서 X축은 chroma를 나타내고, Y축은 lightness를 나타낸다.
컨텐츠에 대한 2차원 색역은 넓은 색역의 색역으로서, 오리지널 색역을 의미하고, 디스플레이에 대한 2차원 색역은 좁은 색역의 색역으로서, 타겟 색역을 의미한다. 도면에서, 상대적으로 큰 삼각형은 컨텐츠에 대한 2차원 색역의 경계(boundary)를 나타내며, 상대적으로 작은 삼각형은 디스플레이에 대한 2차원 색역의 경계(boundary)를 나타낸다. 한편, 도 12 및/또는 도 13의 boundary detection은 이러한 색역의 경계를 찾아내는 과정일 수 있다.
한편, 본 발명의 다른 실시예에 따른 컬러 볼륨 맵핑은 맵핑을 위해 색역을 구획하여 색역 내 영역을 설정하는 과정을 포함할 수 있다. 이때, 색역 내 영역 설정을 위한 앵커 포인트(anchor point)가 설정될 수 있다. 참고로, 색역 내 영역 설정을 위한 앵커 포인트는, 색상 보정에 있어서, hue correction function 그래프를 산출하기 위한 앵커 포인트와는 구별된다. 여기서, 앵커 포인트를 설정 또는 산출하는 과정은 도 12 및/또는 도 13의 anchor point calculation 과정에 해당할 수 있다.
도 21을 통해 설명되는 본 발명의 다른 실시예에 따른 컬러 볼륨 맵핑에 있어서, 영역 설정 및 앵커 포인트의 설정은 다음과 같은 과정을 통해 수행될 수 있다.
먼저 앵커 포인트의 설정은 다음과 같다.
1. Lcusp 설정
Lcusp는 오리지널 색역 및 타겟 색역에서 각각 가장 큰 chroma 값을 갖는 두 점을 지나 밝기축과 만나는 점을 의미한다. 도 21의 실시예에서, 오리지널 색역에서 가장 큰 chroma 값을 갖는 점은 (C2, L2)이고, 타겟 색역에서 가장 큰 chroma 값을 갖는 점은 (C1, L1)이다. 이러한 두점 (C2, L2) 과 (C1, L1)을 지나는 직선은 Dcusp이다. 그리고, Dcusp와 밝기 축이 만나는 점은 (0, Lcusp)이다. 이러한, Lcusp는 항상 타겟 색역의 최대 밝기와 최소 밝기 사이에 해당하는 밝기 값을 갖는다.
2. 채도 축 anchor 값 결정
채도 축 anchor값(Canchor)은 메타데이터에 포함된 가중치 정보를 이용하여 산출될 수 있다. 가중치 정보는 메타데이터에 포함되어 전달될 수 있다. 보다 구체적으로, 채도 축 anchor값은 작은 색역인 타겟 색역의 최대 chroma 값인 C1에 가중치를 곱하여 산출될 수 있다.
Figure 112019012248315-pct00007
여기서, Canchor는 채도 축 anchor값을 나타내고, a는 메타데이터에 포함된 가중치 정보를 나타내며, C1은 작은 색역의 최대 chroma값을 나타낸다.
또한, 여기서, 0 < a < 1
한편, 메타데이터는, 도 11, 도 12, 도 13, 도 16 등에서 설명된 메타데이터일 수 있고, 메타데이터의 상세 내용에 대해서는 도 25 내지 도 43을 이용하여 후술한다.
3. 밝기 축 anchor 값 결정
앵커 포인트는 Dcusp에 속하도록 설정된다. 따라서, 직선 Dcusp와 Canchor가 결정되면 직선 Dcusp에 속하는 점인 (Canchor, Lanchor)의 Y축 좌표값은 직선의 방정식을 통해 도출될 수 있다.
다시 말해, 앵커 포인트는 (C1, L1)와, (0, Lcusp)를 지나는 직선에 속한다. 그리고, 앵커 포인트의 X 좌표 값(Canchor)이 결정되었으므로, (C1, L1)와, (0, Lcusp)을 잇는 직선의 방정식과 앵커 포인트의 X 좌표 값(Canchor)을 이용하면, 앵커 포인트의 Y 좌표값인 Lanchor가 도출될 수 있다.
따라서, 직선의 방정식으로부터 도출된 Lanchor는 다음과 같다.
Figure 112019012248315-pct00008
한편, Lcusp를 L1, C1, L2, C2로 표현하면 Lcusp는 다음과 같다.
Figure 112019012248315-pct00009
따라서, 앵커 포인트(Canchor, Lanchor)의 값은 다음과 같이 정리될 수 있다.
Figure 112019012248315-pct00010
앵커 포인트가 설정되면, 앵커 포인트를 기준으로 영역 설정이 이루어질 수 있다.
일 실시예에서, 각 색역은 앵커 포인트를 기준으로 4개 영역으로 구획될 수 있다.
앵커 포인트가 설정되면, 2개의 y절편, 앵커 포인트를 잇는 직선, 및 (0, Lcusp) 을 이용하여, 각 색역을 4개의 영역으로 구획할 수 있다. 여기서 y절편은 색역에 의해 표현 가능한 최대 밝기값과, 최소 밝기값에 해당할 수 있다. 즉, 제1 y절편은 Lmax일 수 있고, 제2 y절편은 Lmin일 수 있다. 각 색역은 4개의 영역으로 구획된다.
이러한 4개의 영역은 core region 영역, Cusp region, constant L region, switch region으로 표현될 수 있으며, 각 영역은 도면에 도시된 바와 같다.
먼저, core region은 도 17 내지 도 21에서의 invariant area와 실질적으로 동일한 영역에 해당한다. core region은 (0, Lmax)과 (Canchor, Lanchor)를 잇는 직선(Dupper), (0, Lmin)과 (Canchor, Lanchor)를 잇는 직선(Dbottom)과, 밝기축에 의해 둘러싸인 삼각형 영역으로 정의될 수 있다.
이어서, constant L region은 core region의 경계, Lcusp의 밝기값을 갖는 직선인 Dconstant, 및 각 색역의 경계선에 의해 둘러싸인 삼각형 영역으로 정의될 수 있다.
다음으로, Cusp region은 core region의 경계, 직선 Dcusp, 및 각 색역의 경계선에 의해 둘러싸인 삼각형 영역으로서, constant L region을 포함하지 않는 영역으로 정의될 수 있다.
그 다음으로, switch region은 직선 Dcusp, 직선 Dconstant, core region의 경계 및 각 색역의 경계선에 의해 둘러싸인 사각형 영역으로 정의될 수 있다.
<영역 판단>
컬러 볼륨 맵핑에 있어서, 전술한 4개의 영역은 각 영역별로 색정보 리맵핑 방법에 있어서 차이가 있다. 따라서, 오리지널 색역의 색정보(Lin, Cin)가 어떤 영역에 속하는지가 선행적으로 결정되어야 한다. 한편, 직선 D1과 D2는 L=f(C)의 함수의 형태를 가지므로, Lin과 fD1(Cin) 또는 fD2(Cin)의 관계식을 이용하여 임의의 (Lin, Cin)이 어느 영역에 속하는지 판단할 수 있다.
즉, 다음과 같은 관계를 통해 임의의 (Lin, Cin)이 어느 영역에 속하는지 판단할 수 있다.
한편, 본 실시예의 경우, Dcusp의 기울기에 따라 영역 판단 방법이 달라질 수 있다. 즉, Dcusp의 기울기가 양수인 경우와, Dcusp의 기울기가 음수인 경우의 영역 판단 방법이 달라질 수 있다. 한편, Dcusp의 기울기가 양수인 경우는 L1(L2)>Lcusp인 경우로 표현될 수 있고, Dcusp의 기울기가 음수인 경우는 L1(L2)<Lcusp인 경우로 표현될 수 있다.
먼저, Dcusp의 기울기가 양수인 경우를 설명한다.
Dcusp의 기울기가 양수인 경우는 L1(L2)>Lcusp인 경우로 표현될 수 있다는 점은 전술한 바와 같고, 다음의 수학식을 만족하는 경우로 표현될 수도 있다.
Figure 112019012248315-pct00011
여기서, Lw,t는 타겟 색역에서 white의 lightness를 나타낸다.
한편, 도 22에 도시된 예시는 Dcusp의 기울기가 양수인 경우를 나타낸다.
Dcusp의 기울기가 양수인 경우, 다음과 같은 관계를 통해 임의의 (Lin, Cin)이 어느 영역에 속하는지 판단할 수 있다.
Core region : Lin < fDupper(Cin) and Lin > fDbottom(Cin)
Cups region : Lin > fDupper(Cin) and Lin > fDcusp(Cin)
Switch region : Lin < fDcusp(Cin) and Lin > fDconstant(Cin)
Constant L region : Lin < fDconstant(Cin)
다음으로, Dcusp의 기울기가 음수인 경우를 설명한다.
Dcusp의 기울기가 음수인 경우는 L1(L2)<Lcusp인 경우로 표현될 수 있다는 점은 전술한 바와 같고, 다음의 수학식을 만족하는 경우로 표현될 수도 있다.
Figure 112019012248315-pct00012
Dcusp의 기울기가 음수인 경우, 다음과 같은 관계를 통해 임의의 (Lin, Cin)이 어느 영역에 속하는지 판단할 수 있다.
Core region : Lin < fDupper(Cin) & Lin > fDbottom(Cin)
Cusp region : Lin < fDbottom(Cin) & Lin < fDcusp(Cin)
Switch region : Lin > fDcusp(Cin) & Lin < fDconstant(Cin)
Constant L region : Lin > fDconstant(Cin)
한편, 이러한 영역 판단 과정은 도 12 의 invariant area 판단 과정, 및/또는 도 13의 core region 판단 과정 및 맵핑 패쓰 결정 과정(sh13059)에 해당할 수 있다.
<색정보 리맵핑>
먼저, core region 에 속하는 색정보의 경우, 오리지널 색역의 색정보를 그대로 유지한다. Core region은 원본의 정보를 최대한 유지하고자 하는 영역이므로, core region 에 속하는 색정보에 대해서는 색정보 리맵핑가 수행되지 않는다.
다음으로, core region 에 속하지 않는 색정보의 경우, 오리지널 색역의 색정보가 타겟 색역의 색정보로 맵핑된다. 이때, 각 영역별로 해당하는 영역의 맵핑 함수에 따라 맵핑이 수행될 수 있다. 즉, cusp region의 경우, cusp region 에 해당하는 맵핑 함수가 적용되고, switch region의 경우, switch region에 해당하는 맵핑 함수가 적용되며, constant L region의 경우, constant L region에 해당하는 맵핑 함수가 적용될 수 있다.
구체적인 실시예에서, cusp region, switch region, 및 constant L region는 다음과 같은 방법에 의해 색정보 리맵핑이 수행될 수 있다.
1. Cusp region
Cusp region에 속하는 색정보의 경우, cusp 직선(Dcusp)과 평행한 직선을 따라 색정보가 리맵핑된다. 도 21을 다시 참조하면, Cusp region의 경우 화살표(h21010)방향을 따라 색정보 리맵핑이 이루어진다. 결과적으로, 오리지널 색역의 Cusp region에 속하는 색정보는 core region와 타겟 색역의 경계(boundary) 사이에 맵핑된다.
2. switch region
switch region에 속하는 색정보의 경우, (0, Lcusp)를 향해 색정보가 리맵핑된다. 도 21을 다시 참조하면, switch region의 경우 화살표(h21030)방향을 따라 색정보 리맵핑이 이루어진다. 결과적으로, 오리지널 색역의 switch region에 속하는 색정보는 core region와 타겟 색역의 경계(boundary) 사이에 맵핑된다.
3. constant L region
constant L region에 속하는 색정보의 경우, 밝기를 유지한 상태로 색정보가 리맵핑된다. 다시 말해, constant L region에 속하는 색정보의 경우, Dconstant 와 평행한 직선을 따라 색정보가 리맵핑된다. 도 21을 다시 참조하면, constant L region 의 경우 화살표(h21050)방향을 따라 색정보 리맵핑이 이루어진다. 결과적으로, 오리지널 색역의 constant L region 에 속하는 색정보는 core region와 타겟 색역의 경계(boundary) 사이에 맵핑된다.
여기서, 색정보 리맵핑에 사용되는 직선(각 영역에서의 화살표 방향의 직선)은 맵핑 라인이라고 지칭될 수 있다.
한편, 색정보 리맵핑 과정은 교차점 계산 과정, 맵핑 함수 결정 과정 및 리맵핑 과정을 포함할 수 있다. 색정보 리맵핑 과정에 대한 구체적인 설명은 아래 도 22의 실시예를 통해 보다 상세히 설명한다. 여기서, 색정보 리맵핑 과정은 도 12 및/또는 도 13의 색정보 리맵핑 과정(sh12504, sh13054)에 해당할 수 있다. 또한, 색정보 리맵핑 과정의 세부 과정인 교차점 계산 과정, 맵핑 함수 결정 과정 및 리맵핑 과정은 각각 도 12 및 도 13의 교차점 계산 과정(sh13056), 맵핑 함수 결정 과정(sh13057) 및 리맵핑 과정(sh13058)에 해당할 수 있다.
도 22는 본 발명의 일 실시예에 따른 switch region에서의 색정보 리맵핑 과정을 상세히 나타낸 도면이다.
도 22를 참조하여, switch region에서의 교차점 계산 과정, 맵핑 함수 결정 과정, 및 리맵핑 과정을 순차적으로 설명한다.
먼저, 임의의 오리지널 색역의 색정보(Cin, Lin)가 선택되면 (Cin, Lin)과, (0, Lcusp)을 잇는 직선(h22010)이 결정된다.
(Cin, Lin)과, (0, Lcusp)을 잇는 직선(h22010)이 결정되면, 교차점이 계산될 수 있다. 여기서, 3개의 교차점이 결정되며, 교차점의 좌표값은 두개의 직선의 방정식을 이용하여 산출될 수 있다.
제1 교차점(intersction1, I1)은 결정된 직선(h22010)과, 오리지널 색역의 경계선(boundary) (input gamut boundary)의 교점을 의미할 수 있다.
제2 교차점(intersction2, I2)은 결정된 직선(h22010)과, 타겟 색역의 경계선(boundary) (target gamut boundary)의 교점을 의미할 수 있다.
제3 교차점(intersction3, I3)은 결정된 직선(h22010)과, core region의 경계선(boundary)(core region boundary)의 교점을 의미할 수 있다.
이러한 교차점들이 결정되면, 두개의 직선의 방정식을 이용하여 교차점의 좌표값이 산출될 수 있다.
한편, 임의의 오리지널 색역의 색정보 좌표(Cin, Lin)와 교차점들과의 관계를 이용하여 맵핑될 색정보 좌표(Cout, Lout)를 산출할 수 있다. 구체적으로, 제1 교차점과, 제2 교차점 사이에 존재하는 (Cin, Lin)과, 제2 교차점과 제3 교차점 사이에 존재해야 하는 (Cout, Lout) 사이의 관계를 함수 형태로 나타낼 수 있다. 이때, 제1 교차점과, 제2 교차점 사이에 존재하는 (Cin, Lin)과, 제2 교차점과 제3 교차점 사이에 존재해야 하는 (Cout, Lout) 사이의 관계는 선형 함수(linear function), 또는 파워 함수(power function) 등의 형태로 표현될 수 있다. 그리고, 이러한 함수의 형태(type) 및/또는 파라미터의 값은 메타데이터에 포함될 수 있다. 한편, 메타데이터는, 도 11, 도 12, 도 13, 도 16 등에서 설명된 메타데이터일 수 있고, 메타데이터의 상세 내용에 대해서는 도 25 내지 도 43을 이용하여 후술한다.
교차점과, 오리지널 색역의 색정보 좌표와, 맵핑될 색정보 좌표의 관계를 나타내는 함수가 결정되면, 임의의 오리지널 색역의 색정보 좌표를 타겟 색역으로 리맵핑할 수 있다. 여기서, 오리지널 색역의 색정보 좌표와, 맵핑될 색정보 좌표의 관계를 나타내는 함수는 함수의 타입 및/또는 파라미터의 값을 통해 결정될 수 있다.
색정보 리맵핑에 사용되는 함수의 구체적인 실시예로서, 선형 함수와, 파워 함수의 형태는 다음과 같다.
먼저 선형 함수는 다음과 같이 표현될 수 있다.
Figure 112019012248315-pct00013
여기서, out은 (Cout, Lout)을 의미하고, in은 (Cin, Lin)을 의미하며, I1, I2, I3는 각각 제1 교차점, 제2 교차점, 제3교차점을 의미한다. 상기 수학식을 X좌표, 및 Y좌표에 대해 각각 적용하면, 임의의 오리지널 색역의 색정보 좌표(Cin, Lin)가 리맵핑될 타겟 색역의 색정보 좌표(Cout, Lout)이 산출될 수 있다.
다음으로 파워 함수는 다음과 같이 표현될 수 있다.
Figure 112019012248315-pct00014
여기서, out은 (Cout, Lout)을 의미하고, in은 (Cin, Lin)을 의미하며, I1, I2, I3는 각각 제1 교차점, 제2 교차점, 제3교차점을 의미한다. 또한, r은 파워 함수의 지수를 의미한다. 상기 수학식을 X좌표, 및 Y좌표에 대해 각각 적용하면, 임의의 오리지널 색역의 색정보 좌표(Cin, Lin)가 리맵핑될 타겟 색역의 색정보 좌표(Cout, Lout)이 산출될 수 있다.
<컬러 스페이스 역변환>
색정보 리맵핑이 완료되면, 컬러 스페이스 역변환을 통해 디스플레이에 표현 가능한 상태로 되돌린다. 즉, 3차원의 밝기, 색상 축으로 변환되었던 신호를 RGB 신호로 변환시켜 디스플레이에 표현 가능하도록 한다. 이때, 컬러 스페이스 역변환에 사용되는 정보는 메타데이터에 포함될 수 있다. 한편, 이러한 메타데이터는, 도 11, 도 12, 도 13, 도 16 등에서 설명된 메타데이터일 수 있고, 메타데이터의 상세 내용에 대해서는 도 25 내지 도 43을 이용하여 후술한다. 그리고, 컬러 스페이스 역변환은, 도 18에서 설명된 컬러 스페이스 변환의 역과정에 해당한다.
도 23 및 도 24는 본 발명의 다른 실시예에 따른 컬러 볼륨 맵핑 방법의 장점을 보여주는 참고도이다.
먼저, 도 23은 비교예로서, Dcusp와 맵핑 패쓰가 평행할 경우 발생할 수 있는 채도 역전 현상을 나타낸다.
도 23을 참조하면, 도 23의 상단에는 original 컬러와, Dcusp와 평행한 패쓰로 맵핑되어 색역 변환된 컬러를 비교한 모습이 나타나 있다. Dcusp와 평행한 패쓰로 맵핑되어 색역 변환된 컬러는 original 컬러와 비교할 때, 채도가 역전되는 현상이 나타난다. Dcusp와 평행한 패쓰로 맵핑되어 색역 변환된 컬러에 있어서, 우측이 좌측보다 채도가 더 낮은 것(채도 역전)을 확인할 수 있다.
original contents의 contrast를 유지 하기 위해서는 mapping point는 밝기 정보를 그대로 유지하는 것이 좋으나 input gamut의 chroma 최대값(Cmax)을 target gamut에서도 그대로 유지할 수 있도록 하기 위해서는 직선 Dcusp의 mapping path를 기준으로 나머지 path를 결정해야 한다. 그런데, 도 23과 같이 모든 path를 Dcusp와 평행하도록 결정할 경우, 특정 color에서 chroma 역전 현상이 일어날 수 있다. 특히, 도 23의 하단을 참조하면, (Cin, Lin)의 mapping 결과, chroma 최대값(Cmax)은 유지될 수 있지만 original gamut에서는 Cin>Ct의 관계를 가지나 mapping 후 Cout<Ct의 관계를 가지는 것을 확인할 수 있다. 도 23의 상단은 도 23의 하단에서 채도 역전현상이 발생하는 색 좌표값을 표현한 것으로 original 컬러의 경우 가장 오른쪽의 chroma가 가장 높고, 왼쪽으로 갈 수록 채도가 낮아지데 반해 mapping 후 컬러는 오른쪽에서 4번째 단계의 채도가 가장 높은 것을 확인할 수 있다.
본 발명의 다른 실시예에 따른 컬러 볼륨 맵핑 방법에 의하면, 영역 구획 및 맵핑 패쓰를 새롭게 설정함으로써, 채도 역전 현상을 방지할 수 있다. 본 발명의 다른 실시예에 따른 컬러 볼륨 맵핑 방법은 앞서 설명한 바와 같으며, 아래와 같이 간단히 요약될 수 있다.
Cusp region 에 속하는 색정보인 경우, (Cin, Lin) 을 지나면서 Dcusp와 평행한 직선을 따라 target gamut과 core region 사이에 mapping된다..
switch region에 속하는 색정보인 경우, (Cin, Lin)과 (0 , Lcusp)을 잇는 직선을 따라 target gamut과 core region boundary사이에 mapping된다.
Constant L region에 속하는 색정보인 경우, (Cin, Lin) 은 밝기 정보는 유지하되 채도 정보만 따라 target gamut과 core region boundary사이에 mapping된다.
각 path를 따라 만나는 input gamut, target gamut, core region의 boundary와 만나는 접점과 mapping 하기 위한 point와의 위치적 관계를 이용하여 remapping 될 수 있다.
다음으로, 도 24는 본 발명의 다른 실시예에 따른 컬러 볼륨 맵핑에 따라 채도 역전 현상이 제거된 결과를 나타낸다.
도 24를 참조하면, 도 24에는 original 컬러와, 색역 변환된 컬러를 비교한 모습이 나타나 있다. 도 24의 도면에 도시된 색역 변환된 컬러에는 채도 역전 현상이 제거된 것을 확인할 수 있다.
<메타데이터 실시예>
전술한 메타데이터는 이하에서 설명하는 디스크립터 내지 정보 테이블의 형태로 제공될 수 있다. 일 실시예에서, 메타데이터는 영상 제작, 변환, 송신측에서 전달된 것일 수 있다. 즉, 메타데이터는 영상에 대한 추가 정보로서 시그널링될 수 있다. 다른 실시예에서, 메타데이터는 수신기 또는 영상 변환기가 영상 특성을 분석한 후 생성된 것일 수도 있다.
이러한 메타데이터는 비디오 레벨, 시스템 레벨, 및/또는 서비스 레벨에서 정의되어 시그널링될 수 있다. 여기서, 비디오 레벨의 예시로는 HEVC, AVC 와 같은 코덱의 SEI, PPS, SPS, VPS 를 들 수 있다. 또한, 시스템 레벨의 예시로는 PMT, DASH, ISO BMFF를 들 수 있다. 또한, 서비스 레벨의 예시로는 DVB, ATSC 의 EIT 를 들 수 있다.
또한, 메타데이터는 프로덕션, 포스트 프로덕션, 방송, 스토리지 미디어, 기기간 정보 전달에 적합한 포맷으로 포맷팅될 수 있다.
이하, 메타데이터가 디스크립터 형태로 제공되며, 디스크립터가 비디오 레벨에서 정의된 경우를 예를 들어 설명한다. 다만, 본 발명에서 설명되는 메타데이터는 디스크립터 형태에 제한되지 않으며, 해당 정보가 속하는 레벨 또한 비디오 레벨에 한정되지 않는다. 그리고, 아래에서 설명하는 메타데이터는 도 11 내지 도 16에서 설명한 송신기 및/또는 수신기에서 생성되거나 사용되는 메타데이터일 수 있다.
도 25는 본 발명의 일 실시예에 따른 SEI message 를 나타낸 도면이다.
본 발명의 일 실시예에 따른 컬러 볼륨 맵핑 디스크립터는 비디오 코덱에 정의된 SEI(Supplemental Enhancement Information) message의 형태로 전달될 수 있다. 이 경우, 해당 SEI message는 HEVC NAL Unit으로 전송될 수 있다. 해당 NAL_Unit의 nal_unit_type은 PREFIX_SEI_NUT 또는 SUFFIX_SEI_NUT에 해당하는 값을 가질 수 있다.
본 발명의 일 실시예에 따른 SEI message는 페이로드 타입 값으로 소정의 값을 가지며, 이때, SEI 페이로드는 color_volume_mapping_info()를 포함할 수 있다.
한편, 도시된 바와 같이, SEI 페이로드에 포함된 color_volume_mapping_info()는 도면의 하단과 같은 파라미터 정보를 포함할 수 있다.
cvm_cancel_flag 정보는 이전까지 전달된 정보의 사용 여부를 나타낼 수 있다. 일 실시예에서, cvm_cancel_flag 가 1인 경우, 이전에 전달된 동종의 정보(e.g., 동일한 페이로드 타입을 갖는 SEI message)가 사용되지 않음을 지시할 수 있다.
cvm_persistence_flag 정보는 현재의 SEI message를 통해 전달되는 정보를 계속 사용할 지 여부를 나타낼 수 있다. 일 실시예에서, cvm_persistence_flag의 의미는 다음과 같이 사용될 수 있다. cvm_persistence_flag 가 0인 경우, 뒤따르는 정보인 color_volume_mapping()에 정의된 정보를 현재 영상에만 적용한다는 것을 의미할 수 있다. cvm_persistence_flag 가 1인 경우, 뒤따르는 정보인 color_volume_mapping()에 정의된 정보를 output picture order 상의 현재 영상 뿐만 아니라 이후의 영상에 대해서도 적용한다는 것을 의미할 수 있다.
color_volume_mapping()(h25010)은 본 발명의 다양한 실시예에 따른 컬러 볼륨 맵핑 디스크립터를 의미할 수 있다.
도 26은 본 발명의 일 실시예에 따른 컬러 볼륨 맵핑 디스크립터를 나타낸 도면이다.
본 발명의 일 실시예에 따른 컬러 볼륨 맵핑 디스크립터는 original_color_gamut_type, target_color_gamut_type, RGBWL_primaries(), color_space_type, color_space_conversion_flag, Color_gamut_boundary_info(), hue_correction_type, hue_correction_info(), color_space_conversion_function(), number_of_regions, region_boundary_info(), mapping_function_type 및 mapping_function_info() 를 포함할 수 있다.
original_color_gamut_type 은 원본 콘텐츠의 색역을 의미할 수 있다. 원본 콘텐츠의 색역은 미리 정의된 표준을 통해 색역 정보가 제공될 수 있다. 미리 정의된 표준이 없을 경우 사용자가 정의한 RGBW_primaries()을 통해 색역 정보가 제공될 수도 있다. RGBW_primaries() 내에서 정의된 peak luminance 값은 XYZ tristimulus value 변환 및 color space 변환을 위한 정보로 활용될 수 있다.
도 27은 본 발명의 일 실시예에 따른 original_color_gamut_type 및 target_color_gamut_type 을 나타낸 도면이다.
도 27을 참조하면, 도면의 상단에 original_color_gamut_type에 따른 색역 정보가 나타나 있음을 확인할 수 있다. original_color_gamut_type==0110인 경우, 사용자가 정의한 RGBW_primaries()을 통해 색역 정보가 제공될 수 있다.
다시 도 26을 참조하면, target_color_gamut_type 은 타겟 색역, 디스플레이 색역, 또는 legacy gamut을 의미할 수 있다. 타겟 색역은 미리 정의된 표준을 통해 색역 정보가 제공될 수 있다. 미리 정의된 표준이 없을 경우 사용자가 정의한 RGBW_primaries()을 통해 색역 정보가 제공될 수도 있다. RGBW_primaries() 내에서 정의된 peak luminance 값은 XYZ tristimulus value 변환 및 color space 변환을 위한 정보로 활용될 수 있다.
다시 도 27을 참조하면, 도면의 하단에 target_color_gamut_type에 따른 색역 정보가 나타나 있음을 확인할 수 있다. target_color_gamut_type==0110인 경우, 사용자가 정의한 RGBW_primaries()을 통해 색역 정보가 제공될 수 있다.
다시 도 26을 참조하면, RGBWL_primaries() 은 색역(color gamut)을 나타낼 수 있다. RGBWL_primaries()은 original gamut 및/또는 target gamut의 색역을 정의할 때 사용될 수 있다. 또한, RGBWL_primaries() 은 표준화되지 않은 색역을 정의하거나, 밝기 정보를 포함하여 컬러 볼륨 정보를 전달하거나, 표준화된 색역에 추가적으로 밝기 정보를 정의할 필요가 있을 때 사용할 수 있다. 또한, RGBWL_primaries() 은 실시예에 따라 color volume mapping을 위한 container/content/display color gamut/volume 정보의 의미로 사용할 수 있다. 일 실시예에서, color primary 및 luminance range를 이용하여 컬러 볼륨을 구성할 수 있다. Peak luminance와 각 primary color의 좌표값을 이용하여 색역을 CIEXYZ로 변환할 수 있으며, 변환된 CIEXYZ 값은 gamut mapping을 위한 3차원 색공간으로 변환하기 위해 사용될 수 있다. 컬러 볼륨을 나타내기 위한 방법으로써 전술한 실시예 이외에도 밝기 구간에 따른 색역을 나타내는 등 보다 복잡한 방법이 사용될 수도 있다.
RGBWL_primaries()에 대한 보다 구체적인 실시예는 도 29 를 참조하여 설명한다.
다시 도 26을 참조하면, color_space_type은 색공간 변환을 위한 색공간의 타입을 나타낼 수 있다. 색공간 변환은, color gamut volume mapping을 위해 색 정보를 밝기, 색상 축으로 이루어진 3차원 색공간으로 변환할 때 사용되는 색공간 변환을 의미한다.
도 28은 본 발명의 일 실시예에 따른 color_space__type 을 나타낸 도면이다.
도 28을 참조하면, color_space_type에 따른 색공간이 나타나 있음을 확인할 수 있다.
다시 도 26을 참조하면, color_space_conversion_flag는 color_gamut_boundary_info()의 존부를 지시할 수 있다. 일 실시예에서, color_space_conversion_flag가 1인 경우, color_gamut_boundary_info()가 존재함을 나타낼 수 있다.
color_space_conversion_function()은 주어진 색역 정보를 3차원 색공간으로 변환하는데 사용될 수 있다. 각각의 coefficient는 color_space_type으로 부터 전달받은 값에 따라 달라질 수 있다. color_space_conversion_function()에 대한 보다 구체적인 실시예는 도 30을 참조하여 설명한다.
color_gamut_boundary_info() 는 색역 정보와 컬러 스페이스 컨버전 정보로부터 획득한 데이터를 통해 3차원 색공간에서 original gamut의 volume boundary 및/또는 target gamut의 volume boundary를 정의하는 파라미터를 제공할 수 있다.
color_gamut_boundary_type 은 3차원의 gamut volume boundary를 정의하기 위한 방법을 지시할 수 있다. 앞서 설명한 바와 같이, 3차원으로 변환된 색 정보 중 out-of-gamut의 정보를 legacy gamut으로 mapping시키기 위해서는 contents gamut(입력 gamut)과 legacy gamut의 boundary가 정의되어야 한다. 일 실시예에서, 3차원의 gamut volume boundary를 정의하기 위한 방법으로는 입력된 anchor point(예를 들면 RGBCMY의 hue angle, chroma, lighness값)를 기준으로 나머지 boundary 값을 linear interpolation 하는 방법이 있을 수 있다. 다른 실시예에서, 3차원의 gamut volume boundary를 정의하기 위한 방법으로는, 미리 입력된 lightness level 각각에 대한 boundary 값을 이용해서 나머지 값을 계산해 내는 방법이 있을 수 있다. 또 다른 실시예에서, 3차원의 gamut volume boundary를 정의하기 위한 방법으로는, LUT(Look-up table)를 이용하는 방법이 있을 수 있다.
일 실시예에서, color_gamut_boundary_type 은 color_gamut_boundary_info() 에 포함될 수도 있다.
color_gamut_boundary_info() 및 color_gamut_boundary_type 에 대한 보다 구체적인 실시예는 도 31을 참조하여 설명한다.
hue_correction_info()는 hue correction 방법을 정의하는 파라미터를 제공할 수 있다. color space가 3차원으로 변환된 후, original gamut과 target gamut의 primary color 및 secondary color의 hue angel이 다를 경우 hue correction이 수행되어야 original gamut의 색 정보를 target gamut에서 정확히 표현 할 수 있다. hue_correction_function_info()는 original gamut의 색 정보를 target gamut에서 정확히 표현하기 위한 hue correction 방법을 정의하기 위한 정보를 제공할 수 있다.
hue_correction_type 은 hue correction 의 타입을 지시할 수 있다. gamut mapping 시 chroma 역전 현상을 최소화 하기 위해서는 모든 hue angle에 대해 peak chroma는 동일한 선상에 존재해야 한다. 다만 non-uniform color space의 경우 동일한 hue angle이라고 하더라도 인지적으로 또는 시각적으로 다른 color를 가질 수 있으므로 hue correction시 동일한 비율로 이동시키는 대신, 가중치를 달리하여 이동시키는 것이 바람직할 수도 있다. 예를 들어, hue correction의 타입은 hue 주어진 anchor points을 기준으로 보간 방법을 적용하여 나머지 hue angle을 보정하는 방법이 있을 수 있고, LUT(look-up table)을 이용하여 hue angle을 보정하는 방법이 있을 수 있다. hue_correction_type 에 대한 보다 구체적인 실시예는 도 XX 및 도 XX를 참조하여 설명한다.
일 실시예에서, hue_correction_type은 hue_correction_info()에 포함될 수도 있다.
hue_correction_info() 및 hue_correction_type에 대한 보다 구체적인 실시예는 도 32를 참조하여 설명한다.
number_of_regions 은 mapping 방법이 다른 region의 개수를 나타낼 수 있다.
region_boundary_info() 는 3차원 color volume에서 color gamut mapping을 수행할 hue 영역을 정의하기 위한 정보를 제공할 수 있다. 후술할 region boundary_type에 따라 hue plane 에서 영역을 표현하는 타입이 정의될 수 있다. 보다 구체적으로, region_boundary_info() 는 3차원 color volume에서 invariant area 또는 core region의 영역을 정의하기 위한 정보를 제공할 수 있다.
region_boundary_type은 hue plane에서 영역을 표현하는 타입을 지시할 수 있다. 일 실시예에 따른 영역 표현 타입은 constant_hue plane 내 각각의 lightness 정보 및 chroma의 boundary 정보와, 그에 따른 거리 비율(alpha)을 이용하여 hue plane 내 영역을 정의할 수 있다. 다른 실시예에서 따른 영역 표현 타입은, inner gamut(좁은 색역)에서 임의의 두 neutral point를 기준으로 삼각형 또는 사용자가 설정한 형태로 hue plane 내 영역을 정의할 수 있다. 또 다른 실시예에 따른 영역 표현 타입은 임의의 영역 좌표를 통해 hue plane 내 영역을 정의할 수 있다. 보다 구체적으로, region_boundary_type은 hue plane 내 invariant area 또는 core region을 정의하는 타입을 지시할 수 있다.
일 실시예에서, region_boundary_type 은 region_boundary_info() 에 포함될 수도 있다.
region_boundary_info() 및 region_boundary_type 에 대한 보다 구체적인 실시예는 도 33을 참조하여 설명한다.
mapping_function_info() 는 outer gamut(넓은 색역)을 inner gamut(좁은 색역)으로 mapping 하는 방법을 지시할 수 있다. 색정보 리맵핑을 위한 함수의 형태는 다양할 수 있으며, linear function, nth-order polynomial 의 형태로 나타낼 수 있다.
mapping_function_type 은 mapping_function_info()에서 사용될 함수의 타입을 나타낼 수 있다. 전술한 바와 같이, mapping_function_info()는 mapping function_type에 따라 함수의 형태가 달라진다. 함수의 형태에 따라, input과 output의 관계가 정의될 수 있다.
일 실시예에서, mapping_function_type 은 mapping_function_info() 에 포함될 수도 있다.
mapping_function_info() 및 mapping_function_type 에 대한 보다 구체적인 실시예는 도 34를 참조하여 설명한다.
도 29는 본 발명의 일 실시예에 따른 RGBWL_primaries()의 syntax를 나타낸 도면이다.
RGBWL_primaries() 은 original gamut 및/또는 target gamut의 색역을 정의할 때 사용될 수 있다. 이는 앞서 설명한 바와 같다.
본 발명의 일 실시예에 따른 RGBWL_primaries()는 color_primary_r_x, color_primary_r_y, color_primary_g_x, color_primary_g_y, color_primary_b_x, color_primary_b_y, white_point_x, white_point_y, white_peak_luminance_Y를 포함할 수 있다.
여기서, color_primary_r_x, color_primary_r_y, color_primary_g_x, color_primary_g_y, color_primary_b_x, 및 color_primary_b_y 는 RGB primary 및white point 좌표를 의미하며, CIE1931 chromaticity diagram에서 red(r), green(g), blue(b)의 좌표값(x, y)을 의미할 수 있다.
white_point_x, 및 white_point_y 는 white point의 좌표를 의미하며, CIE1931 chromaticity diagram에서 white point의 좌표값(x, y)을 의미할 수 있다.
white_peak_luminance_Y는 original gamut 이나 target gamut의 white의 peak luminance를 의미할 수 있다. Peak luminance와 각 primary color의 좌표값을 이용하여 CIEXYZ로 변환할 수 있으며, 변환된 CIEXYZ 값은 gamut mapping을 위한 3차원 색공간으로 변환하기 위해 사용될 수 있다.
도 30은 본 발명의 일 실시예에 따른 color_space_conversion_function()의 syntax를 나타낸 도면이다.
본 발명의 일 실시예에 따른 color_space_conversion_function()은 number_of_coeff, 및 color_space_conversion_coeff[i] 를 포함한다.
number_of_coeff 는 color space 변환을 위해 쓰이는 coefficient 의 개수를 나타낼 수 있다. 예를 들어, primary color인 red, green, blue 정보를 이용해 color space를 변환할 경우, coefficient는 3x3 matrix 형태가 되므로 number_of_coeff는 9가 된다.
color_space_conversion_coeff[i] 는 number_of_coeff 로부터 만들어지는 matrix의 coefficient 값을 나타낼 수 있다.
도 31은 본 발명의 일 실시예에 따른 color_gamut_boundary_info()의 syntax 및 color_gamut_boundary_type 을 나타낸 도면이다.
본 발명의 일 실시예에 따른 color_gamut_boundary_info()은 color_gamut_boundary_type, number_of_points, hue_index, chroma_index, lightness_index, number_of_step_size, a_index, b_index, LUT_type, 및 LUT_info()를 포함할 수 있다.
보다 구체적으로, 본 발명의 일 실시예에 따른 color_gamut_boundary_info()은 color_gamut_boundary_type의 값에 따라, number_of_points, hue_index[i], chroma_index[i], 및 lightness_index[i]를 포함하거나, number_of_step_size, number_of_points, lightness_index[i][j], a_index[i][j] 및 b_index[i][j]를 포함하거나, LUT_type, 및 LUT_info()를 포함한다.
앞서 설명한 바와 같이, color_gamut_boundary_type 은 3차원의 gamut volume boundary를 정의하기 위한 방법을 지시할 수 있다. color_gamut_boundary_type이 0000인 경우, boundary에 대한 앵커 포인트를 기준으로 linear interpolation 을 수행하여 나머지 boundary 값을 도출할 수 있고 이를 통해 gamut volume boundary를 정의할 수 있다. color_gamut_boundary_type이 0001인 경우, convex hull method를 통해 gamut volume boundary를 정의할 수 있다. color_gamut_boundary_type이 0010인 경우, LUT(look-up table)을 통해 표현된 값으로 color_gamut boundary를 정의할 수 있다. color_gamut_boundary_type이 0011인 경우, 사용자가 정의한 방식에 따라 color_gamut boundary가 정의될 수 있다.
number_of_points는 각 밝기(lightness) 레벨의 스텝 별 크로미넌스(chrominance) 성분의 경계(boundary)를 정의 하기 위한 point의 개수를 나타낼 수 있다.
hue_index 는 3차원 색 공간으로 변환된 이후의 hue 정보를 나타낼 수 있다.
chroma_index 는 3차원 색 공간으로 변환된 이후의 chroma 정보를 나타낼 수 있다.
lightness_index 는 3차원 색 공간으로 변환된 이후의 밝기(lightness) 정보를 나타낼 수 있다.
number_of_step_size 는 밝기(lightness) 성분과 크로미넌스(chrominance) 성분이 분리되어 표현될 수 있는 색공간에서 색역 볼륨(color gamut volume)을 정의 하기 위한 lightness level의 step 개수를 나타낼 수 있다.
a_index 는 3차원 색공간으로 변환된 이후의 크로미넌스(chrominance) 성분 중 redness-greenness에 해당하는 정보를 나타낼 수 있다.
b-index 는 3차원 색공간으로 변환된 이후의 크로미넌스(chrominance) 성분 중 yellowness-blueness에 해당하는 정보를 나타낼 수 있다.
LUT_type과, LUT_info() 는 각각 look-up table의 타입과 look-up table을 통해 제공되는 정보를 나타낼 수 있다. LUT_type 및 LUT_info()에 대한 실시예는 도 를 참조하여 설명한다.
도 32는 본 발명의 일 실시예에 따른 hue_correction_info()의 syntax 및 hue_correction_type을 나타낸 도면이다.
본 발명의 일 실시예에 따른 hue_correction_info()은 hue_correction_type, number_of_points, original_hue_index, target_hue_index, hue_coeff, LUT_type, 및 LUT_info()를 포함할 수 있다.
보다 구체적으로, 본 발명의 일 실시예에 따른 hue_correction_info()은 hue_correction_type의 값에 따라, number_of_points, original_hue_index[i], 및 target_hue_index[i]를 포함하거나, number_of_points, original_hue_index[i], target_hue_index[i], 및 hue_coeff[i]를 포함하거나, LUT_type, 및 LUT_info()를 포함할 수 있다.
전술한 바와 같이, hue_correction_type 은 hue correction 의 타입을 지시할 수 있다. hue_correction_type이 0001 또는 0010인 경우, 주어진 anchor points를 이용하여 나머지 hue angle이 도출될 수 있다. 보다 구체적으로, hue_correction_type이 0001인 경우, 주어진 anchor points를 기준으로 linear interpolation을 수행하여 나머지 hue angle의 값을 도출할 수 있다. hue_correction_type이 0010인 경우, 주어진 anchor points를 기준으로 n차 함수를 적용하여 나머지 hue angle의 값을 도출할 수 있다. hue_correction_type이 0011인 경우, look-up table 을 이용하여 hue correction이 이루어질 수 있다.
number_of_points는 색상 보정(hue correction)을 위한 앵커 포인트(anchor point)의 개수를 나타낼 수 있다.
original_hue_index 는 원본 콘텐츠(original contents)의 3차원 색 공간에서 primary color 및 중간 color에 대한 hue angle 정보를 나타낼 수 있다.
target_hue_index 는 타겟 콘텐츠(target contents)의 3차원 색 공간에서 primary color 및 중간 color에 대한 hue angle 정보를 나타낼 수 있다.
hue_coeff 는 색상 보정(hue correction)를 위해 설정된 앵커 포인트(anchor point)들의 사이에 해당하는 hue angle을 non-linear의 형태로 보정(correction) 하기 위한 파라미터 값일 수 있다.
LUT_type과, LUT_info() 는 각각 look-up table의 타입과 look-up table을 통해 제공되는 정보를 나타낼 수 있다. LUT_type 및 LUT_info()에 대한 실시예는 도 를 참조하여 설명한다.
도 33은 본 발명의 일 실시예에 따른 region_boundary_info() 의 syntax 및 region_boundary_type을 나타낸 도면이다.
본 발명의 일 실시예에 따른 region_boundary_info()은 region_boundary_type, chroma_index, lightness_index, alpha, intercept_upper, intercept_bottom, vertex_point_chroma, number of points, x_index, 및 y_index를 포함할 수 있다.
보다 구체적으로, 본 발명의 일 실시예에 따른 region_boundary_info()은 region_boundary_type의 값에 따라, chroma_index, lightness_index, 및 alpha를 포함하거나, intercept_upper, intercept_bottom, vertex_point_chroma, 및 alpha를 포함하거나, number of points, x_index, 및 y_index를 포함할 수 있다.
전술한 바와 같이, region_boundary_type은 hue plane에서 영역을 표현하는 타입을 지시할 수 있다. region_boundary_type이 0001인 경우, constant_hue plane 내 각각의 lightness 정보 및 chroma의 boundary 정보와, 그에 따른 거리 비율(alpha)을 이용하여 hue plane 내 영역이 정의될 수 있다. region_boundary_type이 0010인 경우, inner gamut(좁은 색역)에서 임의의 두 neutral point를 기준으로 삼각형 또는 사용자가 설정한 형태에 따라 hue plane 내 영역이 정의될 수 있다. region_boundary_type이 0011인 경우, 임의의 영역 좌표를 통해 hue plane 내 영역이 정의될 수 있다.
choma_index 는 3차원 색공간에서 color volume boundary에 위치하는 chroma 성분의 좌표 값을 나타낼 수 있다.
lightness_index 는 3차원 색공간에서 color volume boundary에 위치하는 lightness 성분의 좌표 값을 나타낼 수 있다.
intercept_upper 는 invariant area 또는 core region을 설정하기 위해 lightness 축 선상에 위치하는 점의 좌표값을 나타낼 수 있다. intercept_upper는 white에 가까운 밝기 값을 나타낼 수 있다
intercept_bottom 는 영역(e.g., invariant area 또는 core region)을 설정하기 위해 lightness 축 선상에 위치하는 점의 좌표값을 나타낼 수 있다. intercept_bottom는 black에 가까운 밝기 값을 나타낼 수 있다.
vertex_point_chroma 는 inner gamut에 해당하는 boundary값 중 constant_hue plane 내에서 가장 큰 chroma를 나타낼 수 있다.
alpha는 미리 정의된 chroma_index, lightness_index 또는 vertex_point_chroma 값에서 invariant area 또는 core region을 설정하기 위한 가중치(weight)를 나타낼 수 있다.
number of points 는 영역 설정을 위한 포인트의 개수를 지시할 수 있다.
x_index는 영역 설정을 위한 x축 좌표를 지시할 수 있다.
y_index는 영역 설정을 위한 y축 좌표를 지시할 수 있다.
도 34는 본 발명의 일 실시예에 따른 mapping_function_info() 의 syntax 및 mapping_function_type을 나타낸 도면이다.
본 발명의 일 실시예에 따른 mapping_function_info()는 mapping_function_type, gain, offset, coeff_n, LUT_type 및 LUT_info() 를 포함할 수 있다.
보다 구체적으로, 본 발명의 일 실시예에 따른 mapping_function_info()는 mapping_function_type에 따라, gain, 및 offset을 포함하거나, gain, offset, 및 coeff_n을 포함하거나, LUT_type 및 LUT_info() 를 포함한다.
mapping_function_type은 mapping_function_info()에서 사용될 함수의 타입을 나타낼 수 있다. outer gamut에 존재하는 색 정보는 inner gamut으로 색정보 리맵핑되어야 한다. 색정보 리맵핑 에는 다양한 형태의 함수가 사용될 수 있다. 콘텐츠의 전달 효과를 극대화 하기 위해 영역별로 다른 형태의 함수를 적용될 수 있다. mapping_function_type이 0x00인 경우, 색정보 리맵핑은 선형 함수(linear function)를 이용하여 이루어질 수 있다. mapping_function_type이 0x01인 경우, 색정보 리맵핑은 n차 비선형 함수(nth order function)를 이용하여 이루어질 수 있다. mapping_function_type이 0x02인 경우, 색정보 리맵핑은 주어진 look-up table을 적용하는 방식을 통해 이루어질 수 있다.
gain과 offset은 색정보 리맵핑에 사용될 함수의 계수를 의미할 수 있다. 즉, gain은 색정보 리맵핑에 사용될 함수의 기울기를 지시할 수 있고, offset은 색정보 리맵핑에 사용될 함수의 오프셋을 지시할 수 있다.
coeff_n은 n차 비선형 함수의 차수를 지시할 수 있다.
도 34의 하단에는 함수의 형태(선형 함수 또는 비선형함수)에 따른 input(in)과 output(out)을 관계를 예시적으로 정의하고 있다.
LUT_type과, LUT_info() 는 각각 look-up table의 타입과 look-up table을 통해 제공되는 정보를 나타낼 수 있다. LUT_type 및 LUT_info()에 대한 실시예는 도 35를 참조하여 설명한다.
도 35는 본 발명의 일 실시예에 따른 LUT_info()의 syntax 및 LUT_type을 나타낸 도면이다.
본 발명의 일 실시예에 따른 LUT_info()는 entry_length, in_value, 및 out_value 를 포함할 수 있다.
LUT_info()는 look-up table과 관련된 정보를 제공할 수 있다. LUT_info()는 input 데이터와, output 데이터의 맵핑관계에 대한 데이터베이스일 수 있다. LUT_info()는 LUT_type에 따라 맵핑 타입을 지시할 수 있으며, LUT_type에 따라 1차원 LUT이 될 수도 3D LUT가 될 수도 있다.
entry_length는 LUT(look-up table) 전체의 크기 혹은 데이터의 개수를 의미할 수 있다.
in_value는 mapping 하고자 하는 입력 데이터를 의미할 수 있다
out_value는 입력 데이터와 mapping되는 출력 데이터를 의미할 수 있다.
LUT_type은 LUT(look-up table)의 종류를 지시할 수 있다. 일 실시예에서, LUT는 모든 input value 와, output value를 일대일 매칭 시켜주는 table일 수 있다. 이러한 실시예는, 모든 인풋/아웃풋 데이터가 일대일로 매칭되어있므로, 별도의 연산 없이 신속하게 아웃풋 데이터 값을 도출해낼 수 있다. 다른 실시예에서, LUT는 소정 기준점(들)에 대해서만 input value와 output value를 매칭시키고, 나머지 데이터는 보간 방법과 같은 연산을 통해 도출해낼 수 있다. 이러한 실시예는, 일부 인풋/아웃풋 데이터만 일대일로 매칭시켜 저장하면 되므로, 전송/저장해야할 데이터의 양을 줄일 수 있다.
일 실시예에서, LUT_type 은 LUT_info() 에 포함될 수도 있다.
도 36은 본 발명의 다른 실시예에 따른 컬러 볼륨 맵핑 디스크립터를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 컬러 볼륨 맵핑 디스크립터는 source_color_gamut_type, target_color_gamut_type, RGBWL_primaries(), mapping_color_space_type, forward_color_space_conversion_flag, backward_color_space_conversion_flag, color_space_conversion_function(), source_gamut_boundary_info_flag, color_gamut_boundary_info(), target_gamut_boundary_info_flag, hue_correction_info(), num_of_hue, hue_component, number_of_hue_region, hue_region_type, hue_region_info(), 및 mapping_function_type 및 mapping_function_info () 를 포함할 수 있다.
source_color_gamut_type 은 원본 콘텐츠의 색역을 의미할 수 있다. 원본 콘텐츠의 색역은 미리 정의된 표준을 통해 색역 정보가 제공될 수 있다. 미리 정의된 표준이 없을 경우 사용자가 정의한 RGBW_primaries()을 통해 색역 정보가 제공될 수도 있다. RGBW_primaries() 내에서 정의된 peak luminance 값은 XYZ tristimulus value 변환 및 color space 변환을 위한 정보로 활용될 수 있다.
source_color_gamut_type은 전술한 본 발명의 일 실시예에 따른 컬러 볼륨 맵핑 디스크립터에 포함된 original_color_gamut_type와 실질적으로 동일한 정보를 나타낼 수 있다.
source_color_gamut_type에 대한 보다 구체적인 실시예는 앞서 설명한 도 27의 original_color_gamut_type이 그대로 적용될 수 있다.
target_color_gamut_type은 타겟 색역, 디스플레이 색역, 또는 legacy gamut을 의미할 수 있다. 타겟 색역은 미리 정의된 표준을 통해 색역 정보가 제공될 수 있다. 미리 정의된 표준이 없을 경우 사용자가 정의한 RGBW_primaries()을 통해 색역 정보가 제공될 수도 있다. RGBW_primaries() 내에서 정의된 peak luminance 값은 XYZ tristimulus value 변환 및 color space 변환을 위한 정보로 활용될 수 있다.
target_color_gamut_type에 대한 보다 구체적인 실시예는 앞서 설명한 도 27의 target_color_gamut_type이 그대로 적용될 수 있다.
RGBWL_primaries() 은 색역(color gamut)을 나타낼 수 있다. RGBWL_primaries()은 original gamut 및/또는 target gamut의 색역을 정의할 때 사용될 수 있다. 또한, RGBWL_primaries() 은 표준화되지 않은 색역을 정의하거나, 밝기 정보를 포함하여 컬러 볼륨 정보를 전달하거나, 표준화된 색역에 추가적으로 밝기 정보를 정의할 필요가 있을 때 사용할 수 있다. 또한, RGBWL_primaries() 은 실시예에 따라 color volume mapping을 위한 container/content/display color gamut/volume 정보의 의미로 사용할 수 있다. 일 실시예에서, color primary 및 luminance range를 이용하여 컬러 볼륨을 구성할 수 있다. Peak luminance와 각 primary color의 좌표값을 이용하여 색역을 CIEXYZ로 변환할 수 있으며, 변환된 CIEXYZ 값은 gamut mapping을 위한 3차원 색공간으로 변환하기 위해 사용될 수 있다. 컬러 볼륨을 나타내기 위한 방법으로써 전술한 실시예 이외에도 밝기 구간에 따른 색역을 나타내는 등 보다 복잡한 방법이 사용될 수도 있다.
RGBWL_primaries()에 대한 보다 구체적인 실시예는 도 38을 참조하여 설명한다.
mapping_color_space_type은 색공간 변환을 위한 색공간의 타입을 나타낼 수 있다. 색공간 변환은, color gamut volume mapping을 위해 색 정보를 밝기, 색상 축으로 이루어진 3차원 색공간으로 변환할 때 사용되는 색공간 변환을 의미한다. 한편, mapping_color_space_type은 전술한 본 발명의 일 실시예에 따른 컬러 볼륨 맵핑 디스크립터에 포함된 color_space_type의 다른 실시예일 수 있다.
도 37은 본 발명의 일 실시예에 따른 mapping_color_space_type 을 나타낸 도면이다.
도 37을 참조하면, mapping_color_space_type에 따른 색공간이 나타나 있음을 확인할 수 있다.
다시 도 36을 참조하면, forward_color_space_conversion_info_flag는 color_gamut_boundary_info()의 존부를 지시할 수 있다. 보다 구체적으로, forward_color_space_conversion_info_flag는 입력 색공간에서 mapping_color_space_type이 지정하는 색공간으로 변환하기 위한 정보가 존재하는지 여부를 지시할 수 있다. 일 실시예에서, forward_color_space_conversion_flag가 1인 경우, color_gamut_boundary_info()가 존재함을 나타낼 수 있다.
backward_color_space_conversion_info_flag는 color_gamut_boundary_info()의 존부를 지시할 수 있다. 보다 구체적으로, backward_color_space_conversion_info_flag는 mapping_color_space_type 이 지정하는 색공간으로부터 입력 색공간으로 변환하기 위한 정보가 존재하는지 여부를 지시할 수 있다. 일 실시예에서, backward_color_space_conversion_flag가 1인 경우, color_gamut_boundary_info()가 존재함을 나타낼 수 있다.
만약 색역 변환 후 mapping_color_space_type이 지정하는 색공간이 아닌 다른 색공간으로 변환하는 경우, 색역 변환 후의 색 공간을 지시하기 위한 추가 시그널링이 더 필요할 수 있다.
color_space_conversion_function()는 주어진 색역 정보를 3차원 색공간으로 변환하기 위한 구체적인 정보를 전달하는데 사용될 수 있다. 각각의 coefficient는 mapping_color_space_type으로 부터 전달받은 값에 따라 달라질 수 있다. color_space_conversion_function()에 대한 보다 구체적인 실시예는 도 39를 참조하여 설명한다.
source_gamut_boundary_info_flag는 color_gamut_boundary_info()의 존부를 지시할 수 있다. 보다 구체적으로, source_gamut_boundary_info_flag는 source와 관련된 color_gamut_boundary_info()의 존부를 지시할 수 있다. 일 실시예에서, source_gamut_boundary_info_flag가 1인 경우, color_gamut_boundary_info()가 존재함을 지시할 수 있다.
target_gamut_boundary_info_flag는 color_gamut_boundary_info()의 존부를 지시할 수 있다. 보다 구체적으로, target_gamut_boundary_info_flag는 target와 관련된 color_gamut_boundary_info()의 존부를 지시할 수 있다. 일 실시예에서, target_gamut_boundary_info_flag가 1인 경우, color_gamut_boundary_info()가 존재함을 지시할 수 있다.
color_gamut_boundary_info() 는 색역 정보와 컬러 스페이스 컨버전 정보로부터 획득한 데이터를 통해 3차원 색공간에서 original gamut의 volume boundary 및/또는 target gamut의 volume boundary를 정의하는 파라미터를 제공할 수 있다. 다시 말해, color_gamut_boundary_info()는 mapping_color_space_type에서 정의한 color space 상에서의 source/target color gamut을 나타낼 수 있으며, 이는 source_color_gamut_type 및/또는 target_color_gamut_type과 구분되는 정보로써 제공될 수 있다. 이 경우, color gamut boundary는 color space에 따라 구분하되나, container/content 와 같이 표현하고자 하는 정보에 따라 구분되거나, 정보를 사용하는 단계에서 필요로 하는 정보의 세밀도에 따라서 구분될 수 있다. color_gamut_boundary_info()에 대한 보다 구체적인 실시예는 도 40을 참조하여 설명한다.
hue_correction_info()는 source 및 target 의 hue를 보정하기 위해 제공되는 정보일 수 있다. hue_correction_info()는 전술한 본 발명의 일 실시예에 따른 컬러 볼륨 맵핑 디스크립터에 포함된 hue_correction_function_info()와 대응하는 정보를 나타낼 수 있다. hue_correction_info()에 대한 보다 구체적인 실시예는 도 41을 참조하여 설명한다.
num_of_hue는 나타내고자 하는 hue 의 수를 지시할 수 있다. 일 실시예에서, number_of_hue의 최대값은 1023일 수 있다. number_of_hue가 1023(최대값)인 경우 hue angle을 1도 단위로 균등하게 나타낼 수 있다 (0도~359도). number_of_hue가 1022 인 경우 RGBCMY로 정의될 수 있다. number_of_hue가 1021인 경우 RGB로 정의될 수 있다. 이와 같이, num_of_hue를 이용하여 특정한 경우를 정의해서 사용할 수도 있다.
hue_component는 서로 다른 정보를 전달하기 위한 hue sample value를 나타낼 수 있다. hue_component가 hue angle인 경우 1도 단위로 표현될 수 있다. 일 실시예에서, hue_component의 최대값은 1023일 수 있다. hue_component의 최대값은 hue 값을 사용하지 않는 경우 (e.g., region_boundary_type == 0100 or 0101과 같이 영역의 순서 또는 영역의 특성을 나타내는 경우)를 의미할 수 있고, 이때 number_of_hue=1로 고정될 수 있다. 일 실시예에서, 360 이상의 hue angle을 갖는 값은 무의미한 정보로 취급될 수 있다.
number_of_hue_region는 hue/chroma/lightness classification 을 통해 현재 hue_component에서 정의하는 영역(hue region)의 개수를 나타낸다. 앞서 설명한 color volume mapping 방법을 사용하는 경우, constant-hue-angle-plane 상에서 영역은 4개로 나뉠 수 있다.
number_of_hue_region은 전술한 본 발명의 일 실시예에 따른 컬러 볼륨 맵핑 디스크립터에 포함된 number_of_regions와 실질적으로 동일한 정보를 의미할 수 있다.
hue_region_info()는 3차원 color volume에서 color gamut mapping을 수행할 hue 영역을 정의하기 위한 정보를 제공할 수 있다. 후술할 hue_region_type에 따라 hue plane에서 hue 영역을 타입이 정의될 수 있다.
hue_region_type은 hue plane에서 영역을 표현하는 타입을 지시할 수 있다. 또한, hue_region_type은 hue 영역이 순서에 따라 구분됨을 지시하거나, hue 영역을 표현하는 방법에 따라 구분됨을 지시할 수도 있다. 일 실시예에 따른 영역 표현 타입은 constant_hue plane 내 각각의 lightness 정보 및 chroma의 boundary 정보와, 그에 따른 거리 비율(alpha)을 이용하여 hue plane 내 영역을 정의할 수 있다. 다른 실시예에서 따른 영역 표현 타입은, inner gamut(좁은 색역)에서 임의의 두 neutral point를 기준으로 삼각형 또는 사용자가 설정한 형태로 hue plane 내 영역을 정의할 수 있다. 또 다른 실시예에 따른 영역 표현 타입은 임의의 영역 좌표를 통해 hue plane 내 영역을 정의할 수 있다. hue_region_type이 영역의 순서에 따라 구분 hue 영역이 구분됨을 지시하는 경우, number_of_hue_regions[i] 까지의 범위를 갖는 j 가 영역의 순서로써 사용될 수 있다. hue 영역 특성에 따라 hue 영역이 구분됨을 지시하는 경우, 영역의 순서는 미리 정의되거나 (e.g., mapping에 의해 chroma/lightness가 변하는 정도에 따른 순서) 또는 mapping_function_type에 의해 특성이 구분될 수 있다.
일 실시예에서, hue_region_type 은 hue_region_info() 에 포함될 수도 있다.
hue_region_info() 및 hue_region_type에 대한 보다 구체적인 실시예는 도 42를 참조하여 설명한다.
mapping_function_info() 는 outer gamut(넓은 색역)을 inner gamut(좁은 색역)으로 mapping 하는 방법을 지시할 수 있다. 색정보 리맵핑을 위한 함수의 형태는 다양할 수 있으며, linear function, nth-order polynomial 의 형태로 나타낼 수 있다. 특히, constant-hue-angle-plane이 복수의 영역으로 구획된 경우, mapping_function_info()는 각 영역에 대해 다른 방법으로 리맵핑하기 위한 정보를 제공할 수 있다.
mapping_function_type 은 mapping_function_info()에서 사용될 함수의 타입을 나타낼 수 있다. 전술한 바와 같이, mapping_function_info()는 mapping function_type에 따라 함수의 형태가 달라진다. 함수의 형태에 따라, input과 output의 관계가 정의될 수 있다.
일 실시예에서, mapping_function_type 은 mapping_function_info() 에 포함될 수도 있다.
mapping_function_info() 및 mapping_function_type 에 대한 보다 구체적인 실시예는 도 43을 참조하여 설명한다.
도 38은 본 발명의 다른 실시예에 따른 RGBWL_primaries()의 syntax를 나타낸 도면이다.
RGBWL_primaries() 은 source gamut(original gamut) 및/또는 target gamut의 색역을 정의할 때 사용될 수 있다. 이는 앞서 설명한 바와 같다.
본 발명의 다른 실시예에 따른 RGBWL_primaries()는 color_primary_r_x, color_primary_r_y, color_primary_g_x, color_primary_g_y, color_primary_b_x, color_primary_b_y, white_point_x, white_point_y, max_luminance_Y, min_luminance_Y를 포함할 수 있다.
여기서, color_primary_r_x, color_primary_r_y, color_primary_g_x, color_primary_g_y, color_primary_b_x, 및 color_primary_b_y 는 RGB primary 및white point 좌표를 의미하며, CIE1931 chromaticity diagram에서 red(r), green(g), blue(b)의 좌표값(x, y)을 의미할 수 있다.
white_point_x, 및 white_point_y 는 white point의 좌표를 의미하며, CIE1931 chromaticity diagram에서 white point의 좌표값(x, y)을 의미할 수 있다.
max_luminance_Y는 최대 밝기를 의미하며, CIE1931 의 Y를 의미할 수 있다. 보다 구체적으로, max_luminance_Y는 peak white 의 luminance value 를 의미할 수 있다.
max_luminance_Y는 최소 밝기를 의미하며, CIE1931 의 Y를 의미할 수 있다. 보다 구체적으로, min_luminance_Y는 black level 의 luminance value를 의미할 수 있다.
도 39는 본 발명의 다른 실시예에 따른 color_space_conversion_function()의 syntax를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 color_space_conversion_function()은 number_of_coeff, 및 color_space_conversion_coeff[i] 를 포함한다.
number_of_coeff 는 color space 변환을 위해 쓰이는 coefficient 의 개수를 나타낼 수 있다. 예를 들어, primary color인 red, green, blue 정보를 이용해 color space를 변환할 경우, coefficient는 3x3 matrix 형태가 되므로 number_of_coeff는 9가 된다.
color_space_conversion_coeff[i] 는 number_of_coeff 로부터 만들어지는 matrix의 coefficient 값을 나타낼 수 있다.
도 40은 본 발명의 다른 실시예에 따른 color_gamut_boundary_info()의 syntax 및 gamut_boundary_info_type을 나타낸 도면이다.
본 발명의 다른 실시예에 따른 color_gamut_boundary_info()은 gamut_boundary_info_type, number_of_points, x_index, y_index, z_index, number_of_step_size, LUT_type, 및 LUT_info()를 포함할 수 있다.
보다 구체적으로, 본 발명의 다른 실시예에 따른 color_gamut_boundary_info()은 gamut_boundary_info_type의 값에 따라, number_of_points, x_index[i], y_index[i] 및 z_index[i]를 포함하거나, number_of_step_size, number_of_points, x_index[i], y_index[i] 및 z_index[i]를 포함하거나, LUT_type 및 LUT_info()를 포함한다.
앞서 설명한 바와 같이, gamut_boundary_info_type 은 3차원의 gamut volume boundary를 표현하기 위한 방법을 지시할 수 있다. gamut_boundary_info_type이 0000인 경우, 제1 어프로치에 따라 color_gamut_boundary가 정의될 수 있고, gamut_boundary_info_type이 0001인 경우, 제2 어프로치에 따라 color_gamut_boundary가 정의될 수 있다. 일 실시예에 따르면, 제1 어프로치 및 제2 어프로치는 boundary에 대한 앵커 포인트를 기준으로 linear interpolation 을 수행하여 나머지 boundary 값을 도출할 수 있고 이를 통해 gamut volume boundary를 정의하거나, convex hull method를 통해 gamut volume boundary를 정의할 수 있다. color_gamut_boundary_type이 0010인 경우, LUT(look-up table)을 통해 표현된 값으로 color_gamut boundary를 정의할 수 있다.
number_of_points는 각 밝기(lightness) 레벨의 스텝 별 크로미넌스(chrominance) 성분의 경계(boundary)를 정의 하기 위한 point의 개수를 나타낼 수 있다.
x_index, y_index 및 z_index 는 color_space_type 또는 주어진 color space 내에서 좌표를 의미할 수 있다. 예를 들어 Lch color space의 경우, x_index, y_index 및 z_index는 hue, chroma, lightness 와 같은 의미를 가질 수 있다
number_of_step_size 는 밝기(lightness) 성분과 크로미넌스(chrominance) 성분이 분리되어 표현될 수 있는 색공간에서 컬러 볼륨(color volume)을 정의 하기 위한 lightness level의 step 개수를 나타낼 수 있다.
LUT_type과, LUT_info() 는 각각 look-up table의 타입과 look-up table을 통해 제공되는 정보를 나타낼 수 있다. LUT_type 및 LUT_info()에 대한 실시예는 전술한 도 35가 그대로 적용될 수 있다.
도 41은 본 발명의 다른 실시예에 따른 hue_correction_info()의 syntax 및 hue_correction_type을 나타낸 도면이다.
본 발명의 일 실시예에 따른 hue_correction_info()은 number_of_points, original_hue_index, target_hue_index, hue_coeff, hue_correction_type, function_type, number_of_coefficients, coeff, LUT_type 및 LUT_info()를 포함할 수 있다.
보다 구체적으로, 본 발명의 일 실시예에 따른 hue_correction_info()은 hue_correction_type의 값에 따라, number_of_points, original_hue_index[i], 및 target_hue_index[i]를 포함하거나, number_of_points, function_type[i], number_of_coefficients 및 coeff[i][j]를 포함하거나, LUT_type, 및 LUT_info()를 포함할 수 있다.
전술한 바와 같이, hue_correction_type 은 hue correction 의 타입을 지시할 수 있다. hue_correction_type이 0000, 0001 또는 0010인 경우, 각각 미리 설정된 type1, type2, type3을 지시할 수 있다. 일 실시예에서, type1은 linear interpolation을 지시할 수 있으며, type3음 임의의 수식을 지시할 수 있다. type1의 경우, 주어진 anchor points를 이용하여 나머지 hue angle이 도출될 수 있다. 보다 구체적으로, hue_correction_type이 0000이고, type1이 linear interpolation인 경우, 주어진 anchor points를 기준으로 linear interpolation을 수행하여 나머지 hue angle의 값을 도출할 수 있다. type 3의 경우, hue_correction_info()에 정의된 보간 함수를 이용하여 나머지 hue angle이 도출될 수 있다. hue_correction_type이 0011인 경우, look-up table 을 이용하여 hue correction이 이루어질 수 있다.
number_of_points는 색상 보정(hue correction)을 위한 앵커 포인트(anchor point)의 개수를 나타낼 수 있다.
original_hue_index 는 원본 콘텐츠(original contents)의 3차원 색 공간에서 primary color 및 중간 color에 대한 hue angle 정보를 나타낼 수 있다.
target_hue_index 는 타겟 콘텐츠(target contents)의 3차원 색 공간에서 primary color 및 중간 color에 대한 hue angle 정보를 나타낼 수 있다.
function_type 은 ith hue index 및 i+1th hue index 사이의 보간 방법을 나타낼 수 있다. function_type에 따라 linear, n차 함수 등이 사용될 수 있다. function_type에 따라 계수의 수(number_of_coefficients)가 결정될 수 있다.
number_of_coefficients 는 function_type에서 정의되는 함수에 사용되는 계수의 개수를 지시할 수 있다.
coeff 는 hue correction를 위해 설정된 anchor point 의 사이에 해당하는 hue angle을 non-linear의 형태로 correction 하기 위한 parameter 값일 수 있다.
hue_coeff 는 색상 보정(hue correction)를 위해 설정된 앵커 포인트(anchor point)들의 사이에 해당하는 hue angle을 non-linear의 형태로 보정(correction) 하기 위한 파라미터 값일 수 있다.
LUT_type과, LUT_info() 는 각각 look-up table의 타입과 look-up table을 통해 제공되는 정보를 나타낼 수 있다. LUT_type 및 LUT_info()에 대한 실시예는 전술한 도 35가 그대로 적용될 수 있다.
도 42는 본 발명의 다른 실시예에 따른 hue_region_info() 의 syntax 및 hue_region_type을 나타낸 도면이다.
본 발명의 일 실시예에 따른 hue_region_info()은 hue_region_type, chroma_index, lightness_index, alpha, intercept_upper, intercept_bottom, vertex_point_chroma, number of points, x_index, 및 y_index를 포함할 수 있다.
보다 구체적으로, 본 발명의 일 실시예에 따른 hue_region_info()은 hue_region_type의 값에 따라, chroma_index, lightness_index, 및 alpha를 포함하거나, intercept_upper, intercept_bottom, vertex_point_chroma, 및 alpha를 포함하거나, number of points, x_index, 및 y_index를 포함할 수 있다.
전술한 바와 같이, hue_region_type은 hue plane에서 영역을 표현하는 타입을 지시할 수 있다. hue_region_type이 0000인 경우, constant_hue plane 내 각각의 lightness 정보 및 chroma의 boundary 정보와, 그에 따른 거리 비율(alpha)을 이용하여 hue plane 내 영역이 정의될 수 있다. hue_region_type이 0001인 경우, inner gamut(좁은 색역)에서 임의의 두 neutral point를 기준으로 삼각형 또는 사용자가 설정한 형태에 따라 hue plane 내 영역이 정의될 수 있다. hue_region_type이 0010인 경우, 임의의 영역 좌표를 통해 hue plane 내 영역이 정의될 수 있다.
한편, hue_region_type이 0011 또는 0100인 경우, hue_region_type은 hue 영역이 순서에 따라 구분됨을 지시하거나, hue 영역을 표현하는 방법에 따라 구분됨을 지시할 수 있다. hue_region_type이 영역의 순서에 따라 구분 hue 영역이 구분됨을 지시하는 경우(hue_region_type==0011), number_of_hue_regions[i] 까지의 범위를 갖는 j 가 영역의 순서로써 사용될 수 있다. hue 영역 특성에 따라 hue 영역이 구분됨을 지시하는 경우(hue_region_type==0100), 영역의 순서는 미리 정의되거나 (e.g., mapping에 의해 chroma/lightness가 변하는 정도에 따른 순서) 또는 mapping_function_type에 의해 특성이 구분될 수 있다.
choma_index 는 3차원 색공간에서 color volume boundary에 위치하는 chroma 성분의 좌표 값을 나타낼 수 있다.
lightness_index 는 3차원 색공간에서 color volume boundary에 위치하는 lightness 성분의 좌표 값을 나타낼 수 있다.
intercept_upper 는 invariant area 또는 core region을 설정하기 위해 lightness 축 선상에 위치하는 점의 좌표값을 나타낼 수 있다. intercept_upper는 white에 가까운 밝기 값을 나타낼 수 있다
intercept_bottom 는 영역(e.g., invariant area 또는 core region)을 설정하기 위해 lightness 축 선상에 위치하는 점의 좌표값을 나타낼 수 있다. intercept_bottom는 black에 가까운 밝기 값을 나타낼 수 있다.
vertex_point_chroma 는 inner gamut에 해당하는 boundary값 중 constant_hue plane 내에서 가장 큰 chroma를 나타낼 수 있다.
alpha는 미리 정의된 chroma_index, lightness_index 또는 vertex_point_chroma 값에서 invariant area 또는 core region을 설정하기 위한 가중치(weight)를 나타낼 수 있다.
number of points 는 영역 설정을 위한 포인트의 개수를 지시할 수 있다.
x_index는 영역 설정을 위한 x축 좌표를 지시할 수 있다.
y_index는 영역 설정을 위한 y축 좌표를 지시할 수 있다.
도 43은 본 발명의 다른 실시예에 따른 mapping_function_info() 의 syntax 및 mapping_function_type을 나타낸 도면이다.
본 발명의 일 실시예에 따른 mapping_function_info()는 mapping_function_type, gain, offset, coeff_n, LUT_type, LUT_info(), mapping_target_point_X 및 mapping_target_point_Y 를 포함할 수 있다.
보다 구체적으로, 본 발명의 일 실시예에 따른 mapping_function_info()는 mapping_function_type에 따라, gain, 및 offset을 포함하거나, gain, offset, 및 coeff_n을 포함하거나, LUT_type 및 LUT_info() 를 포함하거나, mapping_target_point_X 및 mapping_target_point_Y을 포함한다.
mapping_function_type은 mapping_function_info()에서 사용될 함수의 타입을 나타낼 수 있다. outer gamut에 존재하는 색 정보는 inner gamut으로 색정보 리맵핑되어야 한다. 색정보 리맵핑 에는 다양한 형태의 함수가 사용될 수 있다. 콘텐츠의 전달 효과를 극대화 하기 위해 영역별로 다른 형태의 함수를 적용될 수 있다. mapping_function_type이 0x0인 경우, 색정보 리맵핑은 선형 함수(linear function)를 이용하여 이루어질 수 있다. mapping_function_type이 0x1인 경우, 색정보 리맵핑은 n차 비선형 함수(nth order function)를 이용하여 이루어질 수 있다. mapping_function_type이 0x2인 경우, 색정보 리맵핑은 주어진 look-up table을 적용하는 방식을 통해 이루어질 수 있다. mapping_function_type이 0x3인 경우, 색정보 리맵핑은 주어진 look-up table을 적용하는 방식을 통해 이루어질 수 있다. mapping_function_type이 0x4인 경우, 특정 point와 original point(source point)를 연결하는 직선상의 비율에 따라 색정보 리맵핑이 이루어질 수 있다. mapping_function_type이 0x4인 경우, 별도의 색정보 리맵핑은 수행되지 않을 수 있다. 즉, 원본 색정보가 그대로 유지될 수 있다. 일 실시예에서, 해당 영역이 invariant area 또는 core region인 경우, mapping_function_type은 0x4일 수 있다.
gain과 offset은 색정보 리맵핑에 사용될 함수의 계수를 의미할 수 있다. 즉, gain은 색정보 리맵핑에 사용될 함수의 기울기를 지시할 수 있고, offset은 색정보 리맵핑에 사용될 함수의 오프셋을 지시할 수 있다.
coeff_n은 n차 비선형 함수의 차수를 지시할 수 있다.
한편, 도 43의 하단에는 함수의 형태(선형 함수 또는 비선형함수)에 따른 input(in)과 output(out)을 관계를 예시적으로 정의하고 있다.
mapping_target_point_x 과, mapping_target_point_y 은 특정 point 와, original point(source point)를 연결하는 직선상의 비율에 따라 색정보 리맵핑이 이루어지는 경우에 특정 포인트의 좌표를 지시할 수 있다. 예를 들어, 주어진 특정 point (x,y)와 mapping을 하고자 하는 original point (x,y) 를 연결하는 직선에 대해 정해진 비율에 따라 리맵핑을 수행하는 경우 기준 point로써 (mapping_target_point_x, mapping_target_point_y)를 사용할 수 있다.
LUT_type과, LUT_info() 는 각각 look-up table의 타입과 look-up table을 통해 제공되는 정보를 나타낼 수 있다. LUT_type 및 LUT_info()에 대한 실시예는 전술한 도 35가 그대로 적용될 수 있다.
한편, 앞서 도면을 통해 설명한 mapping function은 위 syntax를 기반으로 표현될 수 있다. 일 예로, lightness를 유지하기 위기 위한 mapping function은, mapping_function_type = 0x00 인 경우에, gain은 0으로, offset은 임의의 값(일 실시예에서, offset이 max로 설정되는 경우 각 source point에 의해 offset이 정해지는 경우로 정의될 수 있음)으로 setting 될 수 있다. 다른 예로, cusp line과 평행한 직선을 mapping function으로 정하기 위해, gain은 cusp line의 기울기와 같은 값으로 설정되고, offset은 max와 같이 미리 약속된 값으로 설정될 수 있다.
다른 측면에서, mapping function은, 이와 같은 파라미터에 기반하여서 정의되는 대신 mapping_function_type을 lightness 유지, cusp line에 평행, 또는 cusp line과 lightness axis와의 교점을 향하는 mapping 등으로 정의하는 방식을 통해 정의될 수 있다. 또는 송수신단에서 미리 규칙을 설정하고, 기 설정된 규칙에 mapping을 수행하도록 하여 별도의 시그널링이 없는 경우에도 mapping이 이루어질 수 있도록 할 수 있다.
도 44는 본 발명의 다른 실시예에 따른 컬러 볼륨 맵핑 디스크립터를 포함하는 SEI message를 수신 처리하는 수신기 동작을 나타낸 도면이다.
본 실시예에서 설명되는 SEI message는 도 36을 통해 설명한 컬러 볼륨 맵핑 디스크립터를 포함할 수 있다.
상기 수신기는 비디오 디코더(h44010), 메타데이터 파서(h44020), 싱크로나이저(h44030), 어뎁테이션부(h44040), 컬러 볼륨 맵핑 프로세서(h44050) 및 디스플레이부(h44060)를 포함한다.
비디오 디코더(h44010)는 비디오 스트림을 수신할 수 있다. 비디오 디코더(h44010)는 비디오 스트림을 디코딩하여 HDR/WCG 비디오 소스를 어뎁테이션부(h44040)로 전송할 수 있다. 또한 비디오 디코더(h44010)는 비디오 스트림을 디코딩하여 컬러 볼륨 맵핑 SEI message(color volume mapping SEI message)를 획득할 수 있다. 여기서, 컬러 볼륨 맵핑 SEI message(color volume mapping SEI message)는 컬러 볼륨 맵핑 디스크립터를 포함하는 SEI message일 수 있다. 비디오 디코더(h44010)는 획득한 컬러 볼륨 맵핑 SEI message를 메타데이터 파서(h44020)로 전송할 수 있다.
메타데이터 파서(h44020)는 비디오 디코더(h44010)로부터 컬러 볼륨 맵핑 SEI message(color volume mapping SEI message)를 수신할 수 있다. 메타데이터 파서(h44020)는 컬러 볼륨 맵핑 SEI message(color volume mapping SEI message)를 파싱할 수 있다. 메타데이터 파서(h44020)는 컬러 볼륨 맵핑 SEI message(color volume mapping SEI message)에 포함된 정보를 수신기 내 다른 구성요소로 전송할 수 있다.
메타데이터 파서(h44020)는 어뎁테이션부(h44030)로 source_color_gamut_type, 및 RGBWL_primaries()를 전송할 수 있다. 어뎁테이션부(h44030)로 전송하는 상기 정보는 어뎁테이션 부(h44030)에서 컬러 볼륨 맵핑을 수행할 지 여부를 판단하는 정보로 사용될 수 있다.
메타데이터 파서(h44020)는 컬러 볼륨 맵핑 프로세서(h44050)로 mapping_color_space_type, forward_color_space_conversion_info_flag, color_space_conversion_function(), hue_correction_info(), hue_component, hue_region_type, hue_region_info(), mapping_function_type, mapping_function_info(), mapping_color_space_type, backward_color_space_conversion_info_flag, color_space_conversion_function(), source_color_gamut_type, RGBWL_primaries(), target_color_gamut_type, source_gamut_boundary_info_flag, color_gamut_boundary_info(), 및/또는 target_gamut_boundary_info_flag을 전송할 수 있다.
보다 구체적으로, 메타데이터 파서(h44010)는 각각의 메타데이터를 컬러 볼륨 맵핑 프로세서(h44050)의 엘레먼트로 전송할 수 있다.
메타데이터 파서(h44020)는 mapping_color_space_type, forward_color_space_conversion_info_flag 및 color_space_conversion_function() 를 컬러 스페이스 변환부(color space conversion)로 전송할 수 있다.
또한, 메타데이터 파서(h44020)는 source_color_gamut_type, RGBWL_primaries(), target_color_gamut_type, RGBWL_primaries(), source_gamut_boundary_info_flag, color_gamut_boundary_info(), target_gamut_boundary_info_flag 및 color_gamut_boundary_info()를 색역 바운더리 디텍션부(source/target gamut boundary detection)로 전송할 수 있다.
또한, 메타데이터 파서(h44020)는 hue_correction_info()를 색상 보정부(hue correction)로 전송할 수 있다.
또한, 메타데이터 파서(h44020)는 hue_component, hue_region_type 및 hue_region_info()를 영역 판단부(hue/chroma/lightness classification)로 전송할 수 있다.
또한, 메타데이터 파서(h44020)는 mapping_function_type 및 mapping_function_info()를 색정보 리맵핑부(hue/chroma/lightness adaptive mapping)로 전송할 수 있다.
또한, 메타데이터 파서(h44020)는 mapping_color_space_type, backward_color_space_conversion_info_flag 및 color_space_conversion_function()를 컬러 스페이스 역변환부(inv. Color Space conversion)로 전송할 수 있다.
메타데이터 파서(h44020)는 업데이트 정보를 이용하여 컬러 볼륨 맵핑 SEI message(color volume mapping SEI message)를 업데이트할 수 있다. 여기서, 업데이트 정보는 cvm_cancel_flag 및 cvm_persistence_flag 일 수 있다.
싱크로나이저(h44030)는 메타데이터 파서(h44020)와 컬러 볼륨 맵핑 프로세서(h44050)를 동기화시킬 수 있다.
어뎁테이션부(h44040)는 비디오 디코더(h44010)로부터 HDR/WCG 비디오 소스(HDR/WCD video source)를 수신할 수 있다.
어뎁테이션부(h44040)는 메타데이터 파서(h44020)로부터 source_color_gamut_type, 및 RGBWL_primaries()를 수신할 수 있다. 어뎁테이션부(h44040)는 상기 정보를 수신하여 컬러 볼륨 맵핑을 수행할 지 여부를 판단할 수 있다. 만약, source color gamut(original color gamut)이 수신기에서 디스플레이 가능한 색역인 경우(h44040에서의 No), 어뎁테이션부(h44040)는 비디오 디코더(h44010)로부터 수신한 HDR/WCG 비디오 소스(HDR/WCD video source)를 디스플레이부(h44060)로 전송할 수 있다. 이와 달리, source color gamut(original color gamut)이 수신기에서 그대로 디스플레이 할 수 없는 색역인 경우(h44040에서의 Yes), 어뎁테이션부(h44040)는 비디오 디코더(h44010)로부터 수신한 HDR/WCG 비디오 소스(HDR/WCD video source)를 컬러 볼륨 맵핑 프로세서(h44050)로 전송할 수 있다.
컬러 볼륨 맵핑 프로세서(h44050)는 어뎁테이션부(h44040)로부터 HDR/WCG 비디오 소스(HDR/WCD video source)를 수신할 수 있다. 또한, 컬러 볼륨 맵핑 프로세서(h44050)는 메타데이터 파서(h44020)로부터 mapping_color_space_type, forward_color_space_conversion_info_flag, color_space_conversion_function(), hue_correction_info(), hue_component, hue_region_type, hue_region_info(), mapping_function_type, mapping_function_info(), mapping_color_space_type, backward_color_space_conversion_info_flag, color_space_conversion_function(), source_color_gamut_type, RGBWL_primaries(), target_color_gamut_type, source_gamut_boundary_info_flag, color_gamut_boundary_info(), 및/또는 target_gamut_boundary_info_flag를 수신할 수 있다.
보다 구체적으로, 컬러 볼륨 맵핑 프로세서(h44050)의 엘레먼트는 메타데이터 파서(h44020)로부터 각각의 메타데이터를 전송할 수 있다.
컬러 스페이스 변환부(color space conversion)는 mapping_color_space_type, forward_color_space_conversion_info_flag 및 color_space_conversion_function() 를 메타데이터 파서(h44020)로부터 수신할 수 있다.
또한, 색역 바운더리 디텍션부(source/target gamut boundary detection)는 source_color_gamut_type, RGBWL_primaries(), target_color_gamut_type, RGBWL_primaries(), source_gamut_boundary_info_flag, color_gamut_boundary_info(), target_gamut_boundary_info_flag 및 color_gamut_boundary_info()를 메타데이터 파서(h44020)로부터 수신할 수 있다.
또한, 색상 보정부(hue correction)는 hue_correction_info()를 메타데이터 파서(h44020)로부터 수신할 수 있다.
또한, 영역 판단부(hue/chroma/lightness classification)는 hue_component, hue_region_type 및 hue_region_info()를 메타데이터 파서(h44020)로부터 수신할 수 있다.
또한, 색정보 리맵핑부(hue/chroma/lightness adaptive mapping)는 mapping_function_type 및 mapping_function_info()를 메타데이터 파서(h44020)로부터 수신할 수 있다.
또한, 컬러 스페이스 역변환부(inv. Color Space conversion)는 mapping_color_space_type, backward_color_space_conversion_info_flag 및 color_space_conversion_function()를 메타데이터 파서(h44020)로부터 수신할 수 있다.
컬러 스페이스 변환부(color space conversion)는, 메타데이터 파서(h44020)로부터 수신한 메타데이터를 이용하여 어뎁테이션부(h44040)로부터 수신한 HDR/WCG 비디오 소스에 대한 컬러 스페이스 변환을 수행할 수 있다. 컬러 스페이스 변환부(color space conversion)는 컬러 스페이스가 변환된 HDR/WCG 비디오 소스를 색상 보정부(hue correction)로 전송할 수 있다.
색상 보정부(hue correction)는 컬러 스페이스 변환부(color space conversion)로부터 컬러 스페이스가 변환된 HDR/WCG 비디오 소스를 수신할 수 있다. 또한, 색상 보정부(hue correction)는 컬러 스페이스가 변환된 HDR/WCG 비디오 소스에 대한 색상 보정을 수행할 수 있다. 이때, 색상 보정부(hue correction)는 메타데이터 파서(h44020)로부터 수신한 메타데이터를 이용할 수 있다. 색상 보정부(hue correction)는 색상 보정된 HDR/WCG 비디오 소스를 영역 판단부(hue/chroma/lightness classification)로 전송할 수 있다.
영역 판단부(hue/chroma/lightness classification)는 색상 보정부(hue correction)로부터 색상 보정된 HDR/WCG 비디오 소스를 수신할 수 있다. 또한, 영역 판단부(hue/chroma/lightness classification)는 임의의 색정보가 속하는 색역 내 영역을 판단할 수 있다. 이때, 영역 판단부(hue/chroma/lightness classification)는 메타데이터 파서(h44020)로부터 수신한 메타데이터를 이용할 수 있다. 영역 판단부(hue/chroma/lightness classification)는 영역 판단된 색정보를 색정보 리맵핑부(hue/chroma/lightness adaptive mapping)로 전송할 수 있다.
색정보 리맵핑부(hue/chroma/lightness adaptive mapping)는 영역 판단부(hue/chroma/lightness classification)는 영역 판단된 색정보를 수신할 수 있다. 또한, 색정보 리맵핑부(hue/chroma/lightness adaptive mapping)는 해당 색정보를 해당 영역에 해당하는 맵핑 함수를 적용하여 색정보 리맵핑을 수행할 수 있다. 이때, 색정보 리맵핑부(hue/chroma/lightness adaptive mapping)는 메타데이터 파서(h44020)로부터 수신한 메타데이터를 이용할 수 있다. 색정보 리맵핑부(hue/chroma/lightness adaptive mapping)는 리맵핑된 색정보를 컬러 스페이스 변환부(color space conversion)로 전송할 수 있다.
컬러 스페이스 역변환부(inv. Color Space conversion)는 색정보 리맵핑부(hue/chroma/lightness adaptive mapping)로부터 리맵핑된 색정보를 수신할 수 있다. 또한, 컬러 스페이스 역변환부(inv. Color Space conversion)는 색역 맵핑 후 색공간을 본래의 색공간으로 역변환 할 수 있다. 이때, 컬러 스페이스 역변환부(inv. Color Space conversion)는 메타데이터 파서(h44020)로부터 수신한 메타데이터를 이용할 수 있다. 컬러 스페이스 역변환부(inv. Color Space conversion)는 컬러 볼륨 맵핑이 완료된 비디오를 디스플레이부(h44060)로 전송할 수 있다.
한편, 색역 바운더리 디텍션부(source/target gamut boundary detection)는 메타데이터 파서(h44020)로부터 수신한 메타데이터를 이용하여 소스 색역의 바운더리와, 타겟 색역의 바운더리를 탐지할 수 있다. 색역 바운더리 디텍션부(source/target gamut boundary detection)가 찾은 색역 바운더리는 색상 보정부(hue correction), 영역 판단부(hue/chroma/lightness classification), 및/또는 색정보 리맵핑부(hue/chroma/lightness adaptive mapping)에서 사용될 수 있다.
디스플레이부(h44060)는 어뎁테이션부(h44040)로부터 HDR/WCG video source를 수신할 수 있다. 또는 디스플레이부(h44060)는 컬러 볼륨 맵핑 프로세서(h44050)로부터 컬러 볼륨 맵핑이 완료된 비디오를 수신할 수 있다. 디스플레이부(h44060)는 광색역의 비디오 또는 협색역의 비디오를 디스플레이할 수 있다.
이하, 도 44의 수신기의 예시적인 동작을 순차적으로 설명한다.
비디오 디코더(h44010)를 통해 비디오 정보와 부가 정보가 분리되면, 부가 정보 (source_color_gamut_type 및 RGBWL_primaries(), 추가적으로 디스플레이의 color gamut 정보가 사용될 수 있음)를 기반으로 수신기에서 추가 처리 여부를 결정할 수 있다. 만약 비디오에서 표현하고자 하는 색역이 디스플레이에서 표현할 수 있는 색역 보다 넓고, color volume mapping info를 기반으로 처리가 가능하다고 판단되는 경우 전술한 세부 정보를 이용해서 광색역의 영상을 디스플레이에 적합한 색역으로 변환하여 영상을 재생할 수 있다.
먼저, 색역 변환을 수행할 색공간으로 변환이 이루어져야 한다. 이 때 mapping_color_space_type을 이용하거나, forward_color_space_conversion_info_flag이 1인 경우 color_space_conversion_function() 정보를 통해 주어진 변환 수식을 사용할 수 있다.
변환된 색공간에서 source gamut 및 target gamut의 hue를 보정하는 작업을 실시한다. 이때, hue_correction_info()이 사용될 수 있다.
또한, source/target gamut boundary detection을 통해 이후 color volume mapping 과정에서 사용될 gamut boundary 에 대한 정보를 획득할 수 있다. 이때, source_color_gamut_type 및 target_color_gamut_type가 이용될 수 있으며, RGBWL_primaries()를 통해 구체적인 정보를 획득할 수 있다. 만약, source_gamut_boundary_info_flag 및/또는 target_gamut_boundary_info_flag 가 1인 경우 변환된 색공간(color space) 상에서의 color boundary 정보가 전달됨을 나타내며, color_gamut_boundary_info()를 통해 구체적인 정보를 전달받을 수 있다.
다음 단계에서, 변환하고자 하는 색상이 구분된다. 즉, 수신기(알고리즘)에서 구분하고자 하는 영역의 종류에 따라 처리 방법이 달라지는데, 구분하기 위한 기준으로써 hue_component, hue_region_type이 사용될 수 있다. hue 에 따라 서로 다른 처리를 하는 경우 hue_component에 따라 서로 다른 영역 정보가 전달될 수 있으며, 각각의 영역 정보는 hue_region_type 및 구체적인 정보인 hue_region_info()가 이용될 수 있다.
변환하고자 하는 색상이 속한 색상 영역이 구분된 후 영역에 따라 각각 다른 방법으로 color volume mapping이 수행될 수 있다. 이 때 해당 hue_component 및 hue_region_type에 해당하는 mapping_function_type 및 mapping_function_info()를 통해 변환 방법에 대한 정보가 얻어질 수 있다. 수신기는 획득한 정보를 이용하여 source의 색상을 컬러 영역에 따라 적응적으로 target gamut boundary 내의 색상으로 변환하게 된다.
디스플레이를 위해, 최종 출력을 위한 색공간으로 변환이 이루어져야 한다. 이때 mapping_color_space_type을 이용할 수 있고, 또는 backward_color_space_conversion_info_flag이 1인 경우 color_space_conversion_function() 정보를 이용하여 주어진 변환 수식에 따른 색공간 역변환이 이루어질 수 있다.
color volume mapping이 수행된 후 출력된 최종 영상은 디스플레이부(h44060)를 통해 재생될 수 있다.
도면에는, video codec의 SEI message의 형태로 메타데이터가 전달되는 실시예가 도시되어 있으나, 메타데이터는 방송 등의 서비스 레벨에서 전달되거나, File Format 자체의 부가 정보로써 전달될 수도 있다. 또한, 도면에는 전달되는 메타데이터가 실제적으로 어떻게 사용되는지를 설명하기 위해 수신기를 예시로 사용하였다. 비록 도면에는 도시되지 않았으나, 송신단에서도 수신기와 쌍대되는 동작이 수행될 수 있다. 즉, 송신단에서 관련 메타데이터를 생성하고 이를 시그널링 포맷에 저장하고 전달할 수 있다. 또한 프로덕션 간 혹은 장비 간 관련 정보를 전달하는데 있어서도 앞서 설명된 시그널링 포맷이 사용될 수 있다.
도 45는 본 발명의 일 실시예에 따른 방송 신호 송신 방법을 나타낸 도면이다.
본 발명의 일 실시예에 따른 방송 신호 송신 방법은 비디오 데이터 및 상기 비디오 데이터에 대한 메타데이터를 인코딩하는 단계(sh45010), 상기 인코딩된 비디오 데이터 및 메타데이터를 포함하는 방송 신호를 생성하는 단계(sh45020), 및/또는 상기 생성된 방송 신호를 전송하는 단계를 포함할 수 있다. 여기서, 메타데이터는, 도 11, 도 12, 도 13, 도 16, 및 도 25 내지 도 43에서 설명된 메타데이터일 수 있다.
또한, 상기 메타데이터는 상기 비디오 데이터의 색역을 나타내는 오리지널 색역 정보 및 상기 비디오 데이터가 변환되어야 할 타겟 색역을 나타내는 타겟 색역 정보를 포함할 수 있다. 여기서, 오리지널 색역 정보는 도 26, 도 27 및 도 29의 original_color_gamut_type 및/또는 RGBWL_primaries()를 포함할 수 있고, 도 36 및 도 38의 source_color_gamut_type 및/또는 RGBWL_primaries()를 포함할 수 있다. 또한, 타겟 색역 정보는 도 26, 도 27 및 도 29의 target_color_gamut_type 및/또는 RGBWL_primaries()를 포함할 수 있고, 도 36 및 도 38의 target_color_gamut_type 및/또는 RGBWL_primaries()를 포함할 수 있다.
또한, 상기 메타데이터는 밝기 축과 색상 축이 분리 가능한 3차원 색공간으로 변환하는데 사용되는 색공간 변환 정보를 포함할 수 있다. 여기서, 색공간 변환 정보는 도 26, 도 28 및 도 30 의 color_space_type, color_space_conversion_flag, 및/또는 color_space_conversion_function()을 포함하거나, 도 36, 도 37 및 도 39의 mapping_color_space_type, forward_color_space_conversion_info_flag, backward_color_space_conversion_info_flag 및/또는 color_space_conversion_function()를 포함할 수 있다.
또한, 상기 메타데이터는 색상 보정에 사용되는 색상 보정 정보를 포함할 수 있다. 여기서, 색상보정 정보는 도 26 및 도 32의 hue_correction_type 및/또는 hue_correction_info()를 포함하거나, 도 36 및 도 41의 hue_correction_type 및/또는 hue_correction_info()를 포함할 수 있다.
또한, 상기 메타데이터는 색역 내에 존재하는 영역의 개수를 나타내는 정보, 상기 영역을 구분하는 방법을 나타내는 정보 및 상기 영역을 구분하는 방법에 따라 상기 영역을 구분하기 위한 상세 정보를 포함할 수 있다. 여기서, 상기 영역을 구분하기 위한 상세 정보는 상기 영역을 구분하기 위한 기준좌표 정보를 포함할 수 있다.
여기서, 영역의 개수를 나타내는 정보는 도 26의 number_of_regions 또는 도 36의 number_of_hue_regions[i]일 수 있다. 그리고, 영역을 구분하는 방법을 나타내는 정보는 도 26 및 도 33의 region_boundary_type이거나, 도 36 및 도 42의 hue_region_type일 수 있다. 또한, 영역을 구분하기 위한 상세 정보는 도 26 및 도 33의 region_boundary_info()이거나, 도 36 및 도 42의 hue_region_info()일 수 있다.
또한, 상기 메타데이터는 상기 비디오 데이터의 색역을 타겟 색역으로 변환하기 위해 사용되는 맵핑 함수의 타입을 나타내는 정보 및 상기 맵핑 함수에 사용되는 파라미터 정보를 포함할 수 있다. 여기서, 맵핑 함수의 타입을 나타내는 정보는, 도 26 및 도 34의 mapping_function_type이거나, 도 36 및 도 43의 mapping_function_type일 수 있다.
그리고, 맵핑 함수에 사용되는 파라미터 정보는, 도 26 및 도 34의 mapping_function_info()이거나, 도 36 및 도 43의 mapping_function_type일 수 있다.
일 실시예에서, 상기 색역(오리지널 색역 또는 타겟 색역) 내에 존재하는 영역 중 제1 영역은 색역 변환이 수행되지 않도록 설정될 수 있다. 여기서, 제1 영역은 전술한 불변 영역으로서, invariant area 또는 core region일 수 있다.
다른 실시예에서, 상기 비디오 데이터의 색역을 타겟 색역으로 변환하는데 사용되는 맵핑 라인을 설정하는 방법이 각 영역마다 다를 수 있다. 즉, 도 19의 실시예와 같이, region A의 맵핑 라인과, region B의 맵핑 라인과, region C의 맵핑 라인이 다를 수 있다. 또한, 도 21의 실시예와 같이, cusp region의 맵핑 라인과, switch region의 맵핑 라인과, constant L region의 맵핑 라인이 다를 수 있다.
또 다른 실시예에서, 상기 색역 내에 존재하는 영역 중 제2영역은, 제1 라인과 평행한 직선을 제1 맵핑 라인으로 설정하고, 상기 색역 내에 존재하는 영역 중 제3영역은, 상기 제1라인과 상기 밝기 축이 만나는 점을 지나는 직선을 제2 맵핑 라인으로 설정하고, 상기 색역 내에 존재하는 영역 중 제4영역은, 상기 밝기 축과 수직한 직선을 제3 맵핑 라인으로 설정할 수 있다. 여기서, 제2 영역은 도 21 등에서 말하는 cusp region일 수 있고, 제3 영역은 switch region일 수 있고, 제4 영역은 constant L region 일 수 있다. 한편, 상기 제1 라인은 상기 비디오 데이터의 색역에서 최대 채도 값을 갖는 점과, 상기 타겟 색역에서 최대 채도 값을 갖는 점을 잇는 직선일 수 있다. 즉, 제1 라인은 도 21에서의 cusp line을 의미할 수 있다.
또한, 상기 메타데이터는 SEI(Supplemental Enhancement Information) 메시지에 포함되어 시그널링 될 수 있다.
도 46는 본 발명의 일 실시예에 따른 방송 신호 수신 방법을 나타낸 도면이다.
본 발명의 일 실시예에 따른 방송 신호 수신 방법은 비디오 데이터 및 상기 비디오 데이터에 대한 메타데이터를 포함하는 방송 신호를 수신하는 단계(sh46010), 상기 수신한 방송 신호에 포함된 상기 비디오 데이터 및 메타데이터를 디코딩하는 단계(sh46020), 및/또는 상기 메타데이터를 이용하여 상기 비디오 데이터를 디스플레이하는 단계를 포함할 수 있다(sh46030). 여기서, 메타데이터는, 도 11, 도 12, 도 13, 도 16, 및 도 25 내지 도 43에서 설명된 메타데이터일 수 있다.
또한, 상기 메타데이터는 상기 비디오 데이터의 색역을 나타내는 오리지널 색역 정보 및 상기 비디오 데이터가 변환되어야 할 타겟 색역을 나타내는 타겟 색역 정보를 포함할 수 있다. 여기서, 오리지널 색역 정보는 도 26, 도 27 및 도 29의 original_color_gamut_type 및/또는 RGBWL_primaries()를 포함할 수 있고, 도 36 및 도 38의 source_color_gamut_type 및/또는 RGBWL_primaries()를 포함할 수 있다. 또한, 타겟 색역 정보는 도 26, 도 27 및 도 29의 target_color_gamut_type 및/또는 RGBWL_primaries()를 포함할 수 있고, 도 36 및 도 38의 target_color_gamut_type 및/또는 RGBWL_primaries()를 포함할 수 있다.
또한, 상기 메타데이터는 밝기 축과 색상 축이 분리 가능한 3차원 색공간으로 변환하는데 사용되는 색공간 변환 정보를 포함할 수 있다. 여기서, 색공간 변환 정보는 도 26, 도 28 및 도 30 의 color_space_type, color_space_conversion_flag, 및/또는 color_space_conversion_function()을 포함하거나, 도 36, 도 37 및 도 39의 mapping_color_space_type, forward_color_space_conversion_info_flag, backward_color_space_conversion_info_flag 및/또는 color_space_conversion_function()를 포함할 수 있다.
또한, 상기 메타데이터는 색상 보정에 사용되는 색상 보정 정보를 포함할 수 있다. 여기서, 색상 보정 정보는 도 26 및 도 32의 hue_correction_type 및/또는 hue_correction_info()를 포함하거나, 도 36 및 도 41의 hue_correction_type 및/또는 hue_correction_info()를 포함할 수 있다.
또한, 상기 메타데이터는 색역 내에 존재하는 영역의 개수를 나타내는 정보, 상기 영역을 구분하는 방법을 나타내는 정보 및 상기 영역을 구분하는 방법에 따라 상기 영역을 구분하기 위한 상세 정보를 포함할 수 있다. 여기서, 상기 영역을 구분하기 위한 상세 정보는 상기 영역을 구분하기 위한 기준좌표 정보를 포함할 수 있다.
여기서, 영역의 개수를 나타내는 정보는 도 26의 number_of_regions 또는 도 36의 number_of_hue_regions[i]일 수 있다. 그리고, 영역을 구분하는 방법을 나타내는 정보는 도 26 및 도 33의 region_boundary_type이거나, 도 36 및 도 42의 hue_region_type일 수 있다. 또한, 영역을 구분하기 위한 상세 정보는 도 26 및 도 33의 region_boundary_info()이거나, 도 36 및 도 42의 hue_region_info()일 수 있다.
또한, 상기 메타데이터는 상기 비디오 데이터의 색역을 타겟 색역으로 변환하기 위해 사용되는 맵핑 함수의 타입을 나타내는 정보 및 상기 맵핑 함수에 사용되는 파라미터 정보를 포함할 수 있다. 여기서, 맵핑 함수의 타입을 나타내는 정보는, 도 26 및 도 34의 mapping_function_type이거나, 도 36 및 도 43의 mapping_function_type일 수 있다.
그리고, 맵핑 함수에 사용되는 파라미터 정보는, 도 26 및 도 34의 mapping_function_info()이거나, 도 36 및 도 43의 mapping_function_type일 수 있다.
일 실시예에서, 상기 색역(오리지널 색역 또는 타겟 색역) 내에 존재하는 영역 중 제1 영역은 색역 변환이 수행되지 않도록 설정될 수 있다. 여기서, 제1 영역은 전술한 불변 영역으로서, invariant area 또는 core region일 수 있다.
다른 실시예에서, 상기 비디오 데이터의 색역을 타겟 색역으로 변환하는데 사용되는 맵핑 라인을 설정하는 방법이 각 영역마다 다를 수 있다. 즉, 도 19의 실시예와 같이, region A의 맵핑 라인과, region B의 맵핑 라인과, region C의 맵핑 라인이 다를 수 있다. 또한, 도 21의 실시예와 같이, cusp region의 맵핑 라인과, switch region의 맵핑 라인과, constant L region의 맵핑 라인이 다를 수 있다.
또 다른 실시예에서, 상기 색역 내에 존재하는 영역 중 제2영역은, 제1 라인과 평행한 직선을 제1 맵핑 라인으로 설정하고, 상기 색역 내에 존재하는 영역 중 제3영역은, 상기 제1라인과 상기 밝기 축이 만나는 점을 지나는 직선을 제2 맵핑 라인으로 설정하고, 상기 색역 내에 존재하는 영역 중 제4영역은, 상기 밝기 축과 수직한 직선을 제3 맵핑 라인으로 설정할 수 있다. 여기서, 제2 영역은 도 21 등에서 말하는 cusp region일 수 있고, 제3 영역은 switch region일 수 있고, 제4 영역은 constant L region 일 수 있다. 한편, 상기 제1 라인은 상기 비디오 데이터의 색역에서 최대 채도 값을 갖는 점과, 상기 타겟 색역에서 최대 채도 값을 갖는 점을 잇는 직선일 수 있다. 즉, 제1 라인은 도 21에서의 cusp line을 의미할 수 있다.
또한, 상기 메타데이터는 SEI(Supplemental Enhancement Information) 메시지에 포함되어 시그널링 될 수 있다.
도 47은 본 발명의 일 실시예에 따른 방송 신호 송신 장치를 나타낸 도면이다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치는 비디오 데이터 및 상기 비디오 데이터에 대한 메타데이터를 인코딩하는 인코더(h47010), 상기 인코딩된 비디오 데이터 및 메타데이터를 포함하는 방송 신호를 생성하는 방송 신호 생성부(h47020), 및/또는 상기 생성된 방송 신호를 전송하는 전송부(h47030)를 포함할 수 있다. 여기서, 메타데이터는, 도 11, 도 12, 도 13, 도 16, 및 도 25 내지 도 43에서 설명된 메타데이터일 수 있다.
또한, 상기 메타데이터는 상기 비디오 데이터의 색역을 나타내는 오리지널 색역 정보 및 상기 비디오 데이터가 변환되어야 할 타겟 색역을 나타내는 타겟 색역 정보를 포함할 수 있다. 여기서, 오리지널 색역 정보는 도 26, 도 27 및 도 29의 original_color_gamut_type 및/또는 RGBWL_primaries()를 포함할 수 있고, 도 36 및 도 38의 source_color_gamut_type 및/또는 RGBWL_primaries()를 포함할 수 있다. 또한, 타겟 색역 정보는 도 26, 도 27 및 도 29의 target_color_gamut_type 및/또는 RGBWL_primaries()를 포함할 수 있고, 도 36 및 도 38의 target_color_gamut_type 및/또는 RGBWL_primaries()를 포함할 수 있다.
또한, 상기 메타데이터는 밝기 축과 색상 축이 분리 가능한 3차원 색공간으로 변환하는데 사용되는 색공간 변환 정보를 포함할 수 있다. 여기서, 색공간 변환 정보는 도 26, 도 28 및 도 30 의 color_space_type, color_space_conversion_flag, 및/또는 color_space_conversion_function()을 포함하거나, 도 36, 도 37 및 도 39의 mapping_color_space_type, forward_color_space_conversion_info_flag, backward_color_space_conversion_info_flag 및/또는 color_space_conversion_function()를 포함할 수 있다.
또한, 상기 메타데이터는 색상 보정에 사용되는 색상 보정 정보를 포함할 수 있다. 여기서, 색상 보정 정보는 도 26 및 도 32의 hue_correction_type 및/또는 hue_correction_info()를 포함하거나, 도 36 및 도 41의 hue_correction_type 및/또는 hue_correction_info()를 포함할 수 있다.
또한, 상기 메타데이터는 색역 내에 존재하는 영역의 개수를 나타내는 정보, 상기 영역을 구분하는 방법을 나타내는 정보 및 상기 영역을 구분하는 방법에 따라 상기 영역을 구분하기 위한 상세 정보를 포함할 수 있다. 여기서, 상기 영역을 구분하기 위한 상세 정보는 상기 영역을 구분하기 위한 기준좌표 정보를 포함할 수 있다.
여기서, 영역의 개수를 나타내는 정보는 도 26의 number_of_regions 또는 도 36의 number_of_hue_regions[i]일 수 있다. 그리고, 영역을 구분하는 방법을 나타내는 정보는 도 26 및 도 33의 region_boundary_type이거나, 도 36 및 도 42의 hue_region_type일 수 있다. 또한, 영역을 구분하기 위한 상세 정보는 도 26 및 도 33의 region_boundary_info()이거나, 도 36 및 도 42의 hue_region_info()일 수 있다.
또한, 상기 메타데이터는 상기 비디오 데이터의 색역을 타겟 색역으로 변환하기 위해 사용되는 맵핑 함수의 타입을 나타내는 정보 및 상기 맵핑 함수에 사용되는 파라미터 정보를 포함할 수 있다. 여기서, 맵핑 함수의 타입을 나타내는 정보는, 도 26 및 도 34의 mapping_function_type이거나, 도 36 및 도 43의 mapping_function_type일 수 있다.
그리고, 맵핑 함수에 사용되는 파라미터 정보는, 도 26 및 도 34의 mapping_function_info()이거나, 도 36 및 도 43의 mapping_function_type일 수 있다.
일 실시예에서, 상기 색역(오리지널 색역 또는 타겟 색역) 내에 존재하는 영역 중 제1 영역은 색역 변환이 수행되지 않도록 설정될 수 있다. 여기서, 제1 영역은 전술한 불변 영역으로서, invariant area 또는 core region일 수 있다.
다른 실시예에서, 상기 비디오 데이터의 색역을 타겟 색역으로 변환하는데 사용되는 맵핑 라인을 설정하는 방법이 각 영역마다 다를 수 있다. 즉, 도 19의 실시예와 같이, region A의 맵핑 라인과, region B의 맵핑 라인과, region C의 맵핑 라인이 다를 수 있다. 또한, 도 21의 실시예와 같이, cusp region의 맵핑 라인과, switch region의 맵핑 라인과, constant L region의 맵핑 라인이 다를 수 있다.
또 다른 실시예에서, 상기 색역 내에 존재하는 영역 중 제2영역은, 제1 라인과 평행한 직선을 제1 맵핑 라인으로 설정하고, 상기 색역 내에 존재하는 영역 중 제3영역은, 상기 제1라인과 상기 밝기 축이 만나는 점을 지나는 직선을 제2 맵핑 라인으로 설정하고, 상기 색역 내에 존재하는 영역 중 제4영역은, 상기 밝기 축과 수직한 직선을 제3 맵핑 라인으로 설정할 수 있다. 여기서, 제2 영역은 도 21 등에서 말하는 cusp region일 수 있고, 제3 영역은 switch region일 수 있고, 제4 영역은 constant L region 일 수 있다. 한편, 상기 제1 라인은 상기 비디오 데이터의 색역에서 최대 채도 값을 갖는 점과, 상기 타겟 색역에서 최대 채도 값을 갖는 점을 잇는 직선일 수 있다. 즉, 제1 라인은 도 21에서의 cusp line을 의미할 수 있다.
또한, 상기 메타데이터는 SEI(Supplemental Enhancement Information) 메시지에 포함되어 시그널링 될 수 있다.
도 48은 본 발명의 일 실시예에 따른 방송 신호 수신 장치를 나타낸 도면이다.
본 발명의 일 실시예에 따른 방송 신호 수신 장치는, 비디오 데이터 및 상기 비디오 데이터에 대한 메타데이터를 포함하는 방송 신호를 수신하는 튜너(h48010), 상기 수신한 방송 신호에 포함된 상기 비디오 데이터 및 메타데이터를 디코딩하는 디코더(h48020) 및/또는 상기 메타데이터를 이용하여 상기 비디오 데이터를 디스플레이하는 디스플레이부(h48030)를 포함할 수 있다. 여기서, 메타데이터는, 도 11, 도 12, 도 13, 도 16, 및 도 25 내지 도 43에서 설명된 메타데이터일 수 있다.
또한, 상기 메타데이터는 상기 비디오 데이터의 색역을 나타내는 오리지널 색역 정보 및 상기 비디오 데이터가 변환되어야 할 타겟 색역을 나타내는 타겟 색역 정보를 포함할 수 있다. 여기서, 오리지널 색역 정보는 도 26, 도 27 및 도 29의 original_color_gamut_type 및/또는 RGBWL_primaries()를 포함할 수 있고, 도 36 및 도 38의 source_color_gamut_type 및/또는 RGBWL_primaries()를 포함할 수 있다. 또한, 타겟 색역 정보는 도 26, 도 27 및 도 29의 target_color_gamut_type 및/또는 RGBWL_primaries()를 포함할 수 있고, 도 36 및 도 38의 target_color_gamut_type 및/또는 RGBWL_primaries()를 포함할 수 있다.
또한, 상기 메타데이터는 밝기 축과 색상 축이 분리 가능한 3차원 색공간으로 변환하는데 사용되는 색공간 변환 정보를 포함할 수 있다. 여기서, 색공간 변환 정보는 도 26, 도 28 및 도 30 의 color_space_type, color_space_conversion_flag, 및/또는 color_space_conversion_function()을 포함하거나, 도 36, 도 37 및 도 39의 mapping_color_space_type, forward_color_space_conversion_info_flag, backward_color_space_conversion_info_flag 및/또는 color_space_conversion_function()를 포함할 수 있다.
또한, 상기 메타데이터는 색상 보정에 사용되는 색상 보정 정보를 포함할 수 있다. 여기서, 색상 보정 정보는 도 26 및 도 32의 hue_correction_type 및/또는 hue_correction_info()를 포함하거나, 도 36 및 도 41의 hue_correction_type 및/또는 hue_correction_info()를 포함할 수 있다.
또한, 상기 메타데이터는 색역 내에 존재하는 영역의 개수를 나타내는 정보, 상기 영역을 구분하는 방법을 나타내는 정보 및 상기 영역을 구분하는 방법에 따라 상기 영역을 구분하기 위한 상세 정보를 포함할 수 있다. 여기서, 상기 영역을 구분하기 위한 상세 정보는 상기 영역을 구분하기 위한 기준좌표 정보를 포함할 수 있다.
여기서, 영역의 개수를 나타내는 정보는 도 26의 number_of_regions 또는 도 36의 number_of_hue_regions[i]일 수 있다. 그리고, 영역을 구분하는 방법을 나타내는 정보는 도 26 및 도 33의 region_boundary_type이거나, 도 36 및 도 42의 hue_region_type일 수 있다. 또한, 영역을 구분하기 위한 상세 정보는 도 26 및 도 33의 region_boundary_info()이거나, 도 36 및 도 42의 hue_region_info()일 수 있다.
또한, 상기 메타데이터는 상기 비디오 데이터의 색역을 타겟 색역으로 변환하기 위해 사용되는 맵핑 함수의 타입을 나타내는 정보 및 상기 맵핑 함수에 사용되는 파라미터 정보를 포함할 수 있다. 여기서, 맵핑 함수의 타입을 나타내는 정보는, 도 26 및 도 34의 mapping_function_type이거나, 도 36 및 도 43의 mapping_function_type일 수 있다.
그리고, 맵핑 함수에 사용되는 파라미터 정보는, 도 26 및 도 34의 mapping_function_info()이거나, 도 36 및 도 43의 mapping_function_type일 수 있다.
일 실시예에서, 상기 색역(오리지널 색역 또는 타겟 색역) 내에 존재하는 영역 중 제1 영역은 색역 변환이 수행되지 않도록 설정될 수 있다. 여기서, 제1 영역은 전술한 불변 영역으로서, invariant area 또는 core region일 수 있다.
다른 실시예에서, 상기 비디오 데이터의 색역을 타겟 색역으로 변환하는데 사용되는 맵핑 라인을 설정하는 방법이 각 영역마다 다를 수 있다. 즉, 도 19의 실시예와 같이, region A의 맵핑 라인과, region B의 맵핑 라인과, region C의 맵핑 라인이 다를 수 있다. 또한, 도 21의 실시예와 같이, cusp region의 맵핑 라인과, switch region의 맵핑 라인과, constant L region의 맵핑 라인이 다를 수 있다.
또 다른 실시예에서, 상기 색역 내에 존재하는 영역 중 제2영역은, 제1 라인과 평행한 직선을 제1 맵핑 라인으로 설정하고, 상기 색역 내에 존재하는 영역 중 제3영역은, 상기 제1라인과 상기 밝기 축이 만나는 점을 지나는 직선을 제2 맵핑 라인으로 설정하고, 상기 색역 내에 존재하는 영역 중 제4영역은, 상기 밝기 축과 수직한 직선을 제3 맵핑 라인으로 설정할 수 있다. 여기서, 제2 영역은 도 21 등에서 말하는 cusp region일 수 있고, 제3 영역은 switch region일 수 있고, 제4 영역은 constant L region 일 수 있다. 한편, 상기 제1 라인은 상기 비디오 데이터의 색역에서 최대 채도 값을 갖는 점과, 상기 타겟 색역에서 최대 채도 값을 갖는 점을 잇는 직선일 수 있다. 즉, 제1 라인은 도 21에서의 cusp line을 의미할 수 있다.
또한, 상기 메타데이터는 SEI(Supplemental Enhancement Information) 메시지에 포함되어 시그널링 될 수 있다.
전술한 장치의 내부 컴포넌트들은 메모리에 저장된 연속된 수행과정들을 실행하는 프로세서들이거나, 그 외의 하드웨어로 구성된 하드웨어 컴포넌트들일 수 있다. 이 들은 장치 내/외부에 위치할 수 있다.
전술한 모듈들은 실시예에 따라 생략되거나, 유사/동일한 동작을 수행하는 다른 모듈에 의해 대체될 수 있다.
전술한 각각의 파트, 모듈 또는 유닛은 메모리(또는 저장 유닛)에 저장된 연속된 수행과정들을 실행하는 프로세서이거나 하드웨어 파트일 수 있다. 전술한 실시예에 기술된 각 단계들은 프로세서 또는 하드웨어 파트들에 의해 수행될 수 있다. 전술한 실시예에 기술된 각 모듈/블락/유닛들은 하드웨어/프로세서로서 동작할 수 있다. 또한, 본 발명이 제시하는 방법들은 코드로서 실행될 수 있다. 이 코드는 프로세서가 읽을 수 있는 저장매체에 쓰여질 수 있고, 따라서 장치(apparatus)가 제공하는 프로세서에 의해 읽혀질 수 있다.
설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시 예들을 병합하여 새로운 실시 예를 구현하도록 설계하는 것도 가능하다. 그리고, 통상의 기술자의 필요에 따라, 이전에 설명된 실시 예들을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 설계하는 것도 본 발명의 권리범위에 속한다.
본 발명에 따른 장치 및 방법은 상술한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상술한 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
한편, 본 발명이 제안하는 방법을 네트워크 디바이스에 구비된, 프로세서가 읽을 수 있는 기록매체에, 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 이해된다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.
본 명세서에서 장치 및 방법 발명이 모두 언급되고, 장치 및 방법 발명 모두의 설명은 서로 보완하여 적용될 수 있다.
다양한 실시예가 본 발명을 실시하기 위한 최선의 형태에서 설명되었다.
본 발명은 일련의 방송 신호 제공 분야에서 이용된다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 자명하다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.

Claims (24)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 오리지널 색역(color gamut)을 갖는 비디오 데이터와 상기 비디오 데이터를 위한 메타 데이터를, 수신기에 의해, 수신하는 단계;
    상기 오리지널 색역의 색 정보를, 색역 매퍼에 의해, 상기 비디오 데이터를 디스플레이하기 위한 디스플레이의 타겟 색역의 색 정보로 매핑하는 단계; 및
    상기 비디오 데이터를, 디스플레이에 의해, 디스플레이하는 단계를 포함하며,
    여기서 매핑 단계는,
    밝기(lightness) 축과 채도(chroma) 축으로 구성되는 콘스탄트 휴 앵글 플레인(constant-hue-angle-plane) 내 상기 오리지널 색역, 상기 비디오 데이터를 디스플레이하기 위한 디스플레이의 타겟 색역, 제1 라인 그리고 제2 라인을 기반으로 상기 콘스탄트 휴 앵글 플레인을 복수개의 영역들로 나누는,
    상기 제1 라인은 상기 오리지널 색역의 최대 채도 포인트와 상기 타겟 색역의 최대 채도 포인트를 교차함에 의해 만들어진 라인으로 설정되고,
    상기 제2 라인은 상기 제1 라인이 교차하는 상기 밝기 축의 포인트를 기반으로 상기 채도 축과 평행하는 라인으로 설정되고,
    상기 복수개의 영역들은 코어(core) 영역과 하나 이상의 매핑 영역들을 포함하고,
    상기 코어 영역은 상기 타겟 색역의 바운더리 내 클로즈드 영역(closed area)으로 설정됨, 단계, 및
    상기 오리지널 색역의 색 정보가 상기 오리지널 색역의 바운더리와 상기 타겟 색역의 바운더리 사이에 있으면, 상기 오리지널 색역의 색 정보를 상기 코어 영역의 바운더리와 상기 타겟 색역의 바운더리 사이의 색 정보로 매핑하는 단계를 포함하며,
    상기 하나 이상의 매핑 영역들의 경우, 각 매핑 영역별로 다른 매핑 방법이 적용되고,
    상기 오리지널 색역의 색 정보가 상기 코어 영역 내에 존재하면, 상기 오리지널 색역의 색 정보는 변경되지 않으며,
    상기 색 정보는 밝기 컴포넌트와 채도 컴포넌트를 포함하는 데이터 수신 방법.
  16. 제 15 항에 있어서,
    상기 하나 이상의 매핑 영역들은 제1 매핑 영역, 제2 매핑 영역, 및 제3 매핑 영역을 포함하고,
    상기 제1 매핑 영역은 상기 코어 영역의 바운더리, 상기 제2 라인, 상기 오리지널 색역의 바운더리를 기반으로 결정되고,
    상기 제2 매핑 영역은 상기 코어 영역의 바운더리, 상기 제1 라인, 상기 오리지널 색역의 바운더리를 기반으로 결정되며,
    상기 제3 매핑 영역은 상기 코어 영역의 바운더리, 상기 제1 라인, 상기 제2 라인, 및 상기 오리지널 색역의 바운더리를 기반으로 결정되는 데이터 수신 방법.
  17. 제 16 항에 있어서,
    상기 제1 매핑 영역 내 오리지널 색역의 색 정보는 상기 제2 라인과 병렬이며, 상기 오리지널 색역의 색 정보의 포인트를 교차하는 매핑 라인을 따라 상기 타겟 색역의 색 정보로 매핑되는 데이터 수신 방법.
  18. 제 16 항에 있어서,
    상기 제2 매핑 영역 내 오리지널 색역의 색 정보는 상기 제1 라인과 병렬이며, 상기 오리지널 색역의 색 정보의 포인트를 교차하는 매핑 라인을 따라 상기 타겟 색역의 색 정보로 매핑되는 데이터 수신 방법.
  19. 제 16 항에 있어서,
    상기 제2 매핑 영역 내 오리지널 색역의 색 정보는 상기 오리지널 색역의 색 정보의 포인트와 상기 제1 라인이 교차하는 밝기 축의 포인트가 교차하는 매핑 라인에 따라 상기 타겟 색역의 색 정보로 매핑되는 데이터 수신 방법.
  20. 오리지널 색역(color gamut)을 갖는 비디오 데이터와 상기 비디오 데이터를 위한 메타 데이터를 수신하는 수신기; 및
    상기 오리지널 색역의 색 정보를 상기 비디오 데이터를 디스플레이하기 위한 디스플레이의 타겟 색역의 색 정보로 매핑하는 색역 매퍼를 포함하며,
    상기 색역 매퍼는 밝기(lightness) 축과 채도(chroma) 축으로 구성되는 콘스탄트 휴 앵글 플레인(constant-hue-angle-plane) 내 상기 오리지널 색역, 상기 타겟 색역, 제1 라인 그리고 제2 라인을 기반으로 상기 콘스탄트 휴 앵글 플레인을 복수개의 영역들로 나누며,
    상기 제1 라인은 상기 오리지널 색역의 최대 채도 포인트와 상기 타겟 색역의 최대 채도 포인트를 교차함에 의해 만들어진 라인으로 설정되고,
    상기 제2 라인은 상기 제1 라인이 교차하는 상기 밝기 축의 포인트를 기반으로 상기 채도 축과 평행하는 라인으로 설정되고,
    상기 복수개의 영역들은 코어(core) 영역과 하나 이상의 매핑 영역들을 포함하고,
    상기 코어 영역은 상기 타겟 색역의 바운더리 내 클로즈드 영역으로 설정되고,
    상기 색역 매퍼는 상기 오리지널 색역의 색 정보가 상기 오리지널 색역의 바운더리와 상기 타겟 색역의 바운더리 사이에 있으면, 상기 오리지널 색역의 색 정보를 상기 코어 영역의 바운더리와 상기 타겟 색역의 바운더리 사이의 색 정보로 매핑하며,
    상기 하나 이상의 매핑 영역들의 경우, 각 매핑 영역별로 다른 매핑 방법이 적용되고,
    상기 오리지널 색역의 색 정보가 상기 코어 영역 내에 존재하면, 상기 오리지널 색역의 색 정보는 변경되지 않으며,
    상기 색 정보는 밝기 컴포넌트와 채도 컴포넌트를 포함하고,
    상기 디스플레이는 상기 비디오 데이터를 디스플레이하는 데이터 수신 장치.
  21. 제 20 항에 있어서,
    상기 하나 이상의 매핑 영역들은 제1 매핑 영역, 제2 매핑 영역, 및 제3 매핑 영역을 포함하고,
    상기 제1 매핑 영역은 상기 코어 영역의 바운더리, 상기 제2 라인, 상기 오리지널 색역의 바운더리를 기반으로 결정되고,
    상기 제2 매핑 영역은 상기 코어 영역의 바운더리, 상기 제1 라인, 상기 오리지널 색역의 바운더리를 기반으로 결정되며,
    상기 제3 매핑 영역은 상기 코어 영역의 바운더리, 상기 제1 라인, 상기 제2 라인, 및 상기 오리지널 색역의 바운더리를 기반으로 결정되는 데이터 수신 장치.
  22. 제 21 항에 있어서,
    상기 제1 매핑 영역 내 오리지널 색역의 색 정보는 상기 제2 라인과 병렬이며, 상기 오리지널 색역의 색 정보의 포인트를 교차하는 매핑 라인을 따라 상기 타겟 색역의 색 정보로 매핑되는 데이터 수신 장치.
  23. 제 21 항에 있어서,
    상기 제2 매핑 영역 내 오리지널 색역의 색 정보는 상기 제1 라인과 병렬이며, 상기 오리지널 색역의 색 정보의 포인트를 교차하는 매핑 라인을 따라 상기 타겟 색역의 색 정보로 매핑되는 데이터 수신 장치.
  24. 제 21 항에 있어서,
    상기 제2 매핑 영역 내 오리지널 색역의 색 정보는 상기 오리지널 색역의 색 정보의 포인트와 상기 제1 라인이 교차하는 밝기 축의 포인트가 교차하는 매핑 라인에 따라 상기 타겟 색역의 색 정보로 매핑되는 데이터 수신 장치.
KR1020197003536A 2016-07-01 2017-06-30 방송 신호 송신 방법, 방송 신호 수신 방법, 방송 신호 송신 장치 및 방송 신호 수신 장치 KR102396045B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227015079A KR102521289B1 (ko) 2016-07-01 2017-06-30 방송 신호 송신 방법, 방송 신호 수신 방법, 방송 신호 송신 장치 및 방송 신호 수신 장치

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201662357388P 2016-07-01 2016-07-01
US62/357,388 2016-07-01
US201662385237P 2016-09-08 2016-09-08
US62/385,237 2016-09-08
US201662417356P 2016-11-04 2016-11-04
US62/417,356 2016-11-04
PCT/KR2017/006942 WO2018004291A1 (ko) 2016-07-01 2017-06-30 방송 신호 송신 방법, 방송 신호 수신 방법, 방송 신호 송신 장치 및 방송 신호 수신 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227015079A Division KR102521289B1 (ko) 2016-07-01 2017-06-30 방송 신호 송신 방법, 방송 신호 수신 방법, 방송 신호 송신 장치 및 방송 신호 수신 장치

Publications (2)

Publication Number Publication Date
KR20190020156A KR20190020156A (ko) 2019-02-27
KR102396045B1 true KR102396045B1 (ko) 2022-05-10

Family

ID=60787398

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197003536A KR102396045B1 (ko) 2016-07-01 2017-06-30 방송 신호 송신 방법, 방송 신호 수신 방법, 방송 신호 송신 장치 및 방송 신호 수신 장치
KR1020227015079A KR102521289B1 (ko) 2016-07-01 2017-06-30 방송 신호 송신 방법, 방송 신호 수신 방법, 방송 신호 송신 장치 및 방송 신호 수신 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020227015079A KR102521289B1 (ko) 2016-07-01 2017-06-30 방송 신호 송신 방법, 방송 신호 수신 방법, 방송 신호 송신 장치 및 방송 신호 수신 장치

Country Status (3)

Country Link
US (1) US10841627B2 (ko)
KR (2) KR102396045B1 (ko)
WO (1) WO2018004291A1 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10861413B2 (en) * 2016-11-07 2020-12-08 Faurecia Irystec Inc. System and method for age-based gamut mapping
EP3367659A1 (en) * 2017-02-28 2018-08-29 Thomson Licensing Hue changing color gamut mapping
EP3383017A1 (en) * 2017-03-31 2018-10-03 Thomson Licensing Method and device for color gamut mapping
CN110392243B (zh) 2018-04-16 2021-04-09 华为技术有限公司 色域映射的方法和装置
US11032528B2 (en) * 2018-09-07 2021-06-08 Intel Corporation Gamut mapping architecture and processing for color reproduction in images in digital camera environments
US11410593B2 (en) 2018-10-25 2022-08-09 Baylor University System and method for a multi-primary wide gamut color system
US11030934B2 (en) 2018-10-25 2021-06-08 Baylor University System and method for a multi-primary wide gamut color system
US10607527B1 (en) 2018-10-25 2020-03-31 Baylor University System and method for a six-primary wide gamut color system
US11043157B2 (en) 2018-10-25 2021-06-22 Baylor University System and method for a six-primary wide gamut color system
US11289000B2 (en) 2018-10-25 2022-03-29 Baylor University System and method for a multi-primary wide gamut color system
US11289003B2 (en) 2018-10-25 2022-03-29 Baylor University System and method for a multi-primary wide gamut color system
US11062638B2 (en) 2018-10-25 2021-07-13 Baylor University System and method for a multi-primary wide gamut color system
US10997896B2 (en) 2018-10-25 2021-05-04 Baylor University System and method for a six-primary wide gamut color system
US11189210B2 (en) 2018-10-25 2021-11-30 Baylor University System and method for a multi-primary wide gamut color system
US11315467B1 (en) 2018-10-25 2022-04-26 Baylor University System and method for a multi-primary wide gamut color system
US11488510B2 (en) 2018-10-25 2022-11-01 Baylor University System and method for a multi-primary wide gamut color system
US11373575B2 (en) 2018-10-25 2022-06-28 Baylor University System and method for a multi-primary wide gamut color system
US11475819B2 (en) 2018-10-25 2022-10-18 Baylor University System and method for a multi-primary wide gamut color system
US11037481B1 (en) 2018-10-25 2021-06-15 Baylor University System and method for a multi-primary wide gamut color system
US11587491B1 (en) 2018-10-25 2023-02-21 Baylor University System and method for a multi-primary wide gamut color system
US11403987B2 (en) 2018-10-25 2022-08-02 Baylor University System and method for a multi-primary wide gamut color system
US10950161B2 (en) 2018-10-25 2021-03-16 Baylor University System and method for a six-primary wide gamut color system
US11069280B2 (en) 2018-10-25 2021-07-20 Baylor University System and method for a multi-primary wide gamut color system
US11069279B2 (en) 2018-10-25 2021-07-20 Baylor University System and method for a multi-primary wide gamut color system
US11341890B2 (en) 2018-10-25 2022-05-24 Baylor University System and method for a multi-primary wide gamut color system
US11532261B1 (en) 2018-10-25 2022-12-20 Baylor University System and method for a multi-primary wide gamut color system
US10950162B2 (en) 2018-10-25 2021-03-16 Baylor University System and method for a six-primary wide gamut color system
US11348553B2 (en) * 2019-02-11 2022-05-31 Samsung Electronics Co., Ltd. Color gamut mapping in the CIE 1931 color space
KR102145528B1 (ko) 2019-03-15 2020-08-18 주식회사 로와시스 Atsc 3.0 수신장비용 alp표준 자동 전환 장치 및 방법
US11170690B2 (en) * 2019-09-26 2021-11-09 Apple Inc. Pixel leakage and internal resistance compensation systems and methods
EP3945719B1 (de) * 2020-07-30 2023-12-27 Hochschule Rheinmain University of Applied Sciences Wiesbaden Rüsselsheim Verfahren zur farbraumtransformation
CN112134923A (zh) * 2020-08-14 2020-12-25 广州大学 基于区块链的招投标信息处理方法、系统、装置和介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909291A (en) * 1992-03-19 1999-06-01 Apple Computer, Inc. Color matching apparatus and method
JPH0998298A (ja) * 1995-09-29 1997-04-08 Sony Corp 色域圧縮方法及び色域圧縮装置
US6724507B1 (en) * 1998-07-02 2004-04-20 Fuji Xerox Co., Ltd. Image processing method and image processing apparatus
US20050259109A1 (en) * 2004-05-19 2005-11-24 Microsoft Corporation System and method for a gamut mapping platform having plug-in transform functions
KR100601867B1 (ko) * 2004-06-11 2006-07-19 삼성전자주식회사 벡터 스트레칭을 이용한 색역 매핑 장치 및 방법
KR100629516B1 (ko) * 2004-09-21 2006-09-28 삼성전자주식회사 색역 경계 검출장치 및 이를 이용하는 매핑 장치 그리고그 방법
US7397588B2 (en) * 2005-01-31 2008-07-08 Canon Kabushiki Kaisha Generation of hue slice table for gamut mapping
KR100679048B1 (ko) * 2005-10-14 2007-02-06 삼성전자주식회사 색역 사상 방법 및 장치
JP4752535B2 (ja) * 2006-02-15 2011-08-17 富士ゼロックス株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
JP2008098849A (ja) * 2006-10-10 2008-04-24 Sharp Corp 映像情報の色空間の変換を行なう電子機器
JP5043513B2 (ja) * 2007-05-28 2012-10-10 キヤノン株式会社 色処理装置および方法
KR101319335B1 (ko) * 2007-06-22 2013-10-16 엘지디스플레이 주식회사 색역 맵핑 방법 및 그를 이용한 액정 표시 장치
US8295594B2 (en) * 2007-10-09 2012-10-23 Samsung Display Co., Ltd. Systems and methods for selective handling of out-of-gamut color conversions
JP4517308B2 (ja) * 2007-12-13 2010-08-04 ソニー株式会社 情報処理装置および方法、プログラム、並びに情報処理システム
JP4560741B2 (ja) * 2007-12-13 2010-10-13 ソニー株式会社 情報処理装置および方法、プログラム、並びに情報処理システム
JP2010011191A (ja) * 2008-06-27 2010-01-14 Sony Corp 記録装置および記録制御方法、再生装置および再生制御方法、出力装置および出力制御方法、並びにプログラム
US10055866B2 (en) * 2013-02-21 2018-08-21 Dolby Laboratories Licensing Corporation Systems and methods for appearance mapping for compositing overlay graphics
CN105009567B (zh) * 2013-02-21 2018-06-08 杜比实验室特许公司 用于合成叠加图形的外观映射的系统和方法
WO2014145003A1 (en) * 2013-03-15 2014-09-18 Ostendo Technologies, Inc. Dynamic gamut display systems, methods, and applications thereof
US10057633B2 (en) * 2013-07-14 2018-08-21 Lg Electronics Inc. Method and apparatus for transmitting and receiving ultra high-definition broadcasting signal for expressing high-quality color in digital broadcasting system
US10582269B2 (en) * 2014-07-11 2020-03-03 Lg Electronics Inc. Method and device for transmitting and receiving broadcast signal
WO2016031911A1 (ja) * 2014-08-29 2016-03-03 シャープ株式会社 制御情報生成装置、受信装置、映像信号伝送システム、および制御プログラム
WO2016072693A1 (ko) * 2014-11-04 2016-05-12 엘지전자 주식회사 컨텐츠의 색 범위 조정을 위한 방송 신호를 송수신하는 방법 및 장치

Also Published As

Publication number Publication date
KR102521289B1 (ko) 2023-04-13
US10841627B2 (en) 2020-11-17
US20190158894A1 (en) 2019-05-23
KR20190020156A (ko) 2019-02-27
WO2018004291A1 (ko) 2018-01-04
KR20220062686A (ko) 2022-05-17

Similar Documents

Publication Publication Date Title
KR102396045B1 (ko) 방송 신호 송신 방법, 방송 신호 수신 방법, 방송 신호 송신 장치 및 방송 신호 수신 장치
JP6633739B2 (ja) 放送信号送信装置、放送信号受信装置、放送信号送信方法、及び放送信号受信方法
US11178436B2 (en) Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method
US11323755B2 (en) Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method
US10171849B1 (en) Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method
US20180213216A1 (en) Media data transmission device, media data reception device, media data transmission method, and media data rececption method
US11336934B2 (en) Broadcast signal transmitting/receiving apparatus and method
US10349095B2 (en) Transmission device for processing video data related to HDR/SDR and method for controlling the same
CA2996649A1 (en) Systems and methods for signaling of video parameters and information associated with caption services
CN109792549B (zh) 用于发信号通知视频参数的系统和方法
US10666549B2 (en) Broadcast signal transmission apparatus, broadcast signal reception apparatus, broadcast signal transmission method and broadcast signal reception method
KR102023018B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US10237591B2 (en) Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method
US20180124439A1 (en) Broadcast signal transmitting apparatus, broadcast signal receiving apparatus, broadcast signal transmitting method, and broadcast signal receiving method
EP3448043B1 (en) Broadcast signal transmission/reception method and apparatus for providing high-quality media in dash-based system
US20210195254A1 (en) Device for transmitting broadcast signal, device for receiving broadcast signal, method for transmitting broadcast signal, and method for receiving broadcast signal

Legal Events

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