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

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

Info

Publication number
WO2016178549A1
WO2016178549A1 PCT/KR2016/004820 KR2016004820W WO2016178549A1 WO 2016178549 A1 WO2016178549 A1 WO 2016178549A1 KR 2016004820 W KR2016004820 W KR 2016004820W WO 2016178549 A1 WO2016178549 A1 WO 2016178549A1
Authority
WO
WIPO (PCT)
Prior art keywords
hdr
information
track
box
video
Prior art date
Application number
PCT/KR2016/004820
Other languages
English (en)
French (fr)
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 US15/568,638 priority Critical patent/US10349095B2/en
Publication of WO2016178549A1 publication Critical patent/WO2016178549A1/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/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/2362Generation or processing of Service Information [SI]
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2665Gathering content from different sources, e.g. Internet and satellite
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/015High-definition television systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6112Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving terrestrial transmission, e.g. DVB-T
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet

Definitions

  • the present invention relates to a broadcast signal transmission apparatus, a broadcast signal reception apparatus, and a broadcast signal transmission and reception method.
  • the digital broadcast signal may include a larger amount of video / audio data than the analog broadcast signal, and may further include various types of additional data as well as the video / audio data.
  • the digital broadcasting system may provide high definition (HD) images, multichannel audio, and various additional services.
  • HD high definition
  • data transmission efficiency for a large amount of data transmission, robustness of a transmission / reception network, and network flexibility in consideration of a mobile receiving device should be improved.
  • the present invention provides a system and an associated signaling scheme that can effectively support next-generation broadcast services in an environment that supports next-generation hybrid broadcasting using terrestrial broadcasting networks and Internet networks. Suggest.
  • the present invention proposes a method of defining, storing and transmitting HDR information and WCG information in a media file.
  • the method of the present invention can effectively store and convey HDR information, WCG information.
  • the method of the present invention proposes an effective signaling scheme when there is a change in HDR information and WCG information of a video sample in units of video samples or track fragments.
  • the method of the present invention proposes effective level-by-level signaling of HDR information and WCG information.
  • the method of the present invention can provide excellent compatibility in various storage and transmission systems using the media file format.
  • FIG. 1 is a diagram illustrating a protocol stack according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating a service discovery process according to an embodiment of the present invention.
  • LLS low level signaling
  • SLT service list table
  • FIG. 4 illustrates a USBD and an S-TSID delivered to ROUTE according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating a USBD delivered to MMT according to an embodiment of the present invention.
  • FIG. 6 illustrates a link layer operation according to an embodiment of the present invention.
  • FIG. 7 illustrates a link mapping table (LMT) according to an embodiment of the present invention.
  • FIG. 8 shows a structure of a broadcast signal transmission apparatus for a next generation broadcast service according to an embodiment of the present invention.
  • FIG 9 illustrates a writing operation of a time interleaver according to an embodiment of the present invention.
  • FIG. 10 is a block diagram of an interleaving address generator composed of a main-PRBS generator and a sub-PRBS generator according to each FFT mode included in a frequency interleaver according to an embodiment of the present invention.
  • FIG. 11 illustrates a hybrid broadcast reception device according to an embodiment of the present invention.
  • FIG. 12 is a diagram illustrating the overall operation of the DASH-based adaptive streaming model according to an embodiment of the present invention.
  • FIG. 13 is a block diagram of a receiver according to an embodiment of the present invention.
  • FIG. 14 is a diagram showing the structure of a media file according to an embodiment of the present invention.
  • FIG. 15 illustrates an HDR configuration box for providing HDR information according to an embodiment of the present invention.
  • FIG. 16 illustrates a scheme for defining HDR information in a tkhd box according to an embodiment of the present invention.
  • 17 is a diagram illustrating a method of defining HDR information in a vmhd box according to an embodiment of the present invention.
  • FIG. 18 is a diagram illustrating a method of defining HDR information in a trex box according to an embodiment of the present invention.
  • FIG. 19 illustrates a method of defining HDR information in a tfhd box according to an embodiment of the present invention.
  • FIG. 20 is a diagram illustrating a method of defining HDR information in a trun box according to an embodiment of the present invention.
  • FIG. 21 illustrates a scheme for defining HDR information in various flags, sample group entries, or sample entries according to an embodiment of the present invention.
  • FIG. 22 illustrates a scheme for defining HDR information in a HEVC sample entry, an HEVC configuration box, or an HEVC decoder configuration record according to an embodiment of the present invention.
  • FIG. 23 is a diagram illustrating a method of storing / delivering HDR information by defining an HDR information SEI box according to an embodiment of the present invention.
  • FIG. 24 is a diagram illustrating a media engine operation of a receiver based on HDR information processing capability according to an embodiment of the present invention.
  • FIG. 25 illustrates a CG configuration box for providing color gamut information according to an embodiment of the present invention.
  • FIG. 26 illustrates a scheme for defining color gamut information in a tkhd box according to an embodiment of the present invention.
  • FIG. 27 is a diagram illustrating a method of defining color gamut information in a vmhd box according to an embodiment of the present invention.
  • FIG. 28 is a diagram illustrating a method of defining color gamut information in a trex box according to an embodiment of the present invention.
  • FIG. 29 illustrates a scheme for defining color gamut information in a tfhd box according to an embodiment of the present invention.
  • FIG. 30 is a diagram illustrating a method of defining color gamut information in a trun box according to an embodiment of the present invention.
  • FIG. 31 is a diagram illustrating a method of defining color gamut information in a trun box according to another embodiment of the present invention.
  • 32 is a diagram illustrating a method of defining color gamut information in various flags, sample group entries, or sample entries according to an embodiment of the present invention.
  • 33 is a diagram illustrating a method of defining color gamut information in various flags, sample group entries, or sample entries according to another embodiment of the present invention.
  • FIG. 34 is a diagram illustrating a method of defining color gamut information in an HEVC sample entry, an HEVC configuration box, or an HEVC decoder configuration record according to an embodiment of the present invention.
  • 35 is a diagram illustrating a method of storing / delivering color gamut information by defining a CG information SEI box according to an embodiment of the present invention.
  • FIG. 36 illustrates a media engine operation of a receiver based on WCG information processing capability according to an embodiment of the present invention.
  • FIG. 37 is a diagram illustrating a method of transmitting media content according to an embodiment of the present invention.
  • 38 is a diagram illustrating an apparatus for transmitting media content according to an embodiment of the present invention.
  • the present invention provides an apparatus and method for transmitting and receiving broadcast signals for next generation broadcast services.
  • the next generation broadcast service includes a terrestrial broadcast service, a mobile broadcast service, a UHDTV service, and the like.
  • a broadcast signal for a next generation broadcast service may be processed through a non-multiple input multiple output (MIMO) or MIMO scheme.
  • the non-MIMO scheme according to an embodiment of the present invention may include a multiple input single output (MISO) scheme, a single input single output (SISO) scheme, and the like.
  • MISO multiple input single output
  • SISO single input single output
  • the present invention proposes a physical profile (or system) that is optimized to minimize receiver complexity while achieving the performance required for a particular application.
  • FIG. 1 is a diagram illustrating a protocol stack according to an embodiment of the present invention.
  • the service may be delivered to the receiver through a plurality of layers.
  • the transmitting side can generate service data.
  • the delivery layer on the transmitting side performs processing for transmission to the service data, and the physical layer encodes it as a broadcast signal and transmits it through a broadcasting network or broadband.
  • the service data may be generated in a format according to ISO BMFF (base media file format).
  • the ISO BMFF media file may be used in broadcast network / broadband delivery, media encapsulation and / or synchronization format.
  • the service data is all data related to the service, and may include a concept including service components constituting the linear service, signaling information thereof, non real time (NRT) data, and other files.
  • the delivery layer will be described.
  • the delivery layer may provide a transmission function for service data.
  • the service data may be delivered through a broadcast network and / or broadband.
  • the first method may be to process service data into Media Processing Units (MPUs) based on MPEG Media Transport (MMT) and transmit the data using MMM protocol (MMTP).
  • MPUs Media Processing Units
  • MMT MPEG Media Transport
  • MMTP MMM protocol
  • the service data delivered through the MMTP may include service components for linear service and / or service signaling information thereof.
  • the second method may be to process service data into DASH segments based on MPEG DASH and transmit it using Real Time Object Delivery over Unidirectional Transport (ROUTE).
  • the service data delivered through the ROUTE protocol may include service components for the linear service, service signaling information and / or NRT data thereof. That is, non-timed data such as NRT data and files may be delivered through ROUTE.
  • Data processed according to the MMTP or ROUTE protocol may be processed into IP packets via the UDP / IP layer.
  • a service list table (SLT) may also be transmitted through a broadcasting network through a UDP / IP layer.
  • the SLT may be included in the LLS (Low Level Signaling) table and transmitted. The SLT and the LLS table will be described later.
  • IP packets may be treated as link layer packets at the link layer.
  • the link layer may encapsulate data of various formats delivered from an upper layer into a link layer packet and then deliver the data to the physical layer. The link layer will be described later.
  • At least one or more service elements may be delivered via a broadband path.
  • the data transmitted through the broadband may include service components in a DASH format, service signaling information and / or NRT data thereof. This data can be processed via HTTP / TCP / IP, passed through the link layer for broadband transmission, and delivered to the physical layer for broadband transmission.
  • the physical layer may process data received from a delivery layer (upper layer and / or link layer) and transmit the data through a broadcast network or a broadband. Details of the physical layer will be described later.
  • a service can be a collection of service components that are shown to the user as a whole, a component can be of multiple media types, a service can be continuous or intermittent, a service can be real or non-real time, and a real time service can be a sequence of TV programs It can be configured as.
  • the service may be a linear audio / video or audio only service that may have app-based enhancements.
  • the service may be an app-based service whose reproduction / configuration is controlled by the downloaded application.
  • the service may be an ESG service that provides an electronic service guide (ESG).
  • ESG electronic service guide
  • EA Emergency Alert
  • the service component may be delivered by (1) one or more ROUTE sessions or (2) one or more MMTP sessions.
  • the service component When a linear service with app-based enhancement is delivered through a broadcast network, the service component may be delivered by (1) one or more ROUTE sessions and (2) zero or more MMTP sessions.
  • data used for app-based enhancement may be delivered through a ROUTE session in the form of NRT data or other files.
  • linear service components (streaming media components) of one service may not be allowed to be delivered using both protocols simultaneously.
  • the service component may be delivered by one or more ROUTE sessions.
  • the service data used for the app-based service may be delivered through a ROUTE session in the form of NRT data or other files.
  • some service components or some NRT data, files, etc. of these services may be delivered via broadband (hybrid service delivery).
  • the linear service components of one service may be delivered through the MMT protocol.
  • the linear service components of one service may be delivered via a ROUTE protocol.
  • the linear service component and NRT data (NRT service component) of one service may be delivered through the ROUTE protocol.
  • linear service components of one service may be delivered through the MMT protocol, and NRT data (NRT service components) may be delivered through the ROUTE protocol.
  • some service component or some NRT data of a service may be delivered over broadband.
  • the data related to the app-based service or the app-based enhancement may be transmitted through a broadcast network according to ROUTE or through broadband in the form of NRT data.
  • NRT data may also be referred to as locally cashed data.
  • Each ROUTE session includes one or more LCT sessions that deliver, in whole or in part, the content components that make up the service.
  • an LCT session may deliver an individual component of a user service, such as an audio, video, or closed caption stream.
  • Streaming media is formatted into a DASH segment.
  • Each MMTP session includes one or more MMTP packet flows carrying an MMT signaling message or all or some content components.
  • the MMTP packet flow may carry a component formatted with an MMT signaling message or an MPU.
  • an LCT session For delivery of NRT user service or system metadata, an LCT session carries a file based content item.
  • These content files may consist of continuous (timed) or discrete (non-timed) media components of an NRT service, or metadata such as service signaling or ESG fragments.
  • Delivery of system metadata, such as service signaling or ESG fragments, can also be accomplished through the signaling message mode of the MMTP.
  • the tuner can scan frequencies and detect broadcast signals at specific frequencies.
  • the receiver can extract the SLT and send it to the module that processes it.
  • the SLT parser can parse the SLT, obtain data, and store it in the channel map.
  • the receiver may acquire bootstrap information of the SLT and deliver it to the ROUTE or MMT client. This allows the receiver to obtain and store the SLS. USBD or the like can be obtained, which can be parsed by the signaling parser.
  • FIG. 2 is a diagram illustrating a service discovery process according to an embodiment of the present invention.
  • the broadcast stream delivered by the broadcast signal frame of the physical layer may carry LLS (Low Level Signaling).
  • LLS data may be carried through the payload of an IP packet delivered to a well known IP address / port. This LLS may contain an SLT depending on its type.
  • LLS data may be formatted in the form of an LLS table. The first byte of every UDP / IP packet carrying LLS data may be the beginning of the LLS table. Unlike the illustrated embodiment, the IP stream carrying LLS data may be delivered to the same PLP along with other service data.
  • the SLT enables the receiver to generate a service list through a fast channel scan and provides access information for locating the SLS.
  • the SLT includes bootstrap information, which enables the receiver to obtain Service Layer Signaling (SLS) for each service.
  • SLS Service Layer Signaling
  • the bootstrap information may include destination IP address and destination port information of the ROUTE session including the LCT channel carrying the SLS and the LCT channel.
  • the bootstrap information may include a destination IP address and destination port information of the MMTP session carrying the SLS.
  • the SLS of service # 1 described by the SLT is delivered via ROUTE, and the SLT includes bootstrap information (sIP1, dIP1, dPort1) for the ROUTE session including the LCT channel to which the SLS is delivered. can do.
  • SLS of service # 2 described by the SLT is delivered through MMT, and the SLT may include bootstrap information (sIP2, dIP2, and dPort2) for an MMTP session including an MMTP packet flow through which the SLS is delivered.
  • the SLS is signaling information describing characteristics of a corresponding service and may include information for acquiring a corresponding service and a service component of the corresponding service, or may include receiver capability information for reproducing the corresponding service significantly. Having separate service signaling for each service allows the receiver to obtain the appropriate SLS for the desired service without having to parse the entire SLS delivered in the broadcast stream.
  • the SLS When the SLS is delivered through the ROUTE protocol, the SLS may be delivered through a dedicated LCT channel of a ROUTE session indicated by the SLT.
  • the SLS may include a user service bundle description (USBD / USD), a service-based transport session instance description (S-TSID), and / or a media presentation description (MPD).
  • USBD / USD user service bundle description
  • S-TSID service-based transport session instance description
  • MPD media presentation description
  • USBD to USD is one of the SLS fragments and may serve as a signaling hub for describing specific technical information of a service.
  • the USBD may include service identification information, device capability information, and the like.
  • the USBD may include reference information (URI reference) to other SLS fragments (S-TSID, MPD, etc.). That is, USBD / USD can refer to S-TSID and MPD respectively.
  • the USBD may further include metadata information that enables the receiver to determine the transmission mode (broadcast network / broadband). Details of the USBD / USD will be described later.
  • the S-TSID is one of the SLS fragments, and may provide overall session description information for a transport session carrying a service component of a corresponding service.
  • the S-TSID may provide transport session description information for the ROUTE session to which the service component of the corresponding service is delivered and / or the LCT channel of the ROUTE sessions.
  • the S-TSID may provide component acquisition information of service components related to one service.
  • the S-TSID may provide a mapping between the DASH Representation of the MPD and the tsi of the corresponding service component.
  • the component acquisition information of the S-TSID may be provided in the form of tsi, an identifier of an associated DASH representation, and may or may not include a PLP ID according to an embodiment.
  • the component acquisition information enables the receiver to collect audio / video components of a service and to buffer, decode, and the like of DASH media segments.
  • the S-TSID may be referenced by the USBD as described above. Details of the S-TSID will be described later.
  • the MPD is one of the SLS fragments and may provide a description of the DASH media presentation of the service.
  • the MPD may provide a resource identifier for the media segments and may provide contextual information within the media presentation for the identified resources.
  • the MPD may describe the DASH representation (service component) delivered through the broadcast network, and may also describe additional DASH representations delivered through the broadband (hybrid delivery).
  • the MPD may be referenced by the USBD as described above.
  • the SLS When the SLS is delivered through the MMT protocol, the SLS may be delivered through a dedicated MMTP packet flow of an MMTP session indicated by the SLT.
  • packet_id of MMTP packets carrying SLS may have a value of 00.
  • the SLS may include a USBD / USD and / or MMT Package (MP) table.
  • USBD is one of the SLS fragments, and may describe specific technical information of a service like that in ROUTE.
  • the USBD here may also include reference information (URI reference) to other SLS fragments.
  • the USBD of the MMT may refer to the MP table of the MMT signaling.
  • the USBD of the MMT may also include reference information on the S-TSID and / or the MPD.
  • the S-TSID may be for NRT data transmitted through the ROUTE protocol. This is because NRT data can be delivered through the ROUTE protocol even when the linear service component is delivered through the MMT protocol.
  • MPD may be for a service component delivered over broadband in hybrid service delivery. Details of the USBD of the MMT will be described later.
  • the MP table is a signaling message of the MMT for MPU components and may provide overall session description information for an MMTP session carrying a service component of a corresponding service.
  • the MP table may also contain descriptions for assets delivered via this MMTP session.
  • the MP table is streaming signaling information for MPU components, and may provide a list of assets corresponding to one service and location information (component acquisition information) of these components. Specific contents of the MP table may be in a form defined in MMT or a form in which modifications are made.
  • Asset is a multimedia data entity, which may mean a data entity associated with one unique ID and used to generate one multimedia presentation. Asset may correspond to a service component constituting a service.
  • the MP table may be used to access a streaming service component (MPU) corresponding to a desired service.
  • the MP table may be referenced by the USBD as described above.
  • MMT signaling messages may be defined. Such MMT signaling messages may describe additional information related to the MMTP session or service.
  • ROUTE sessions are identified by source IP address, destination IP address, and destination port number.
  • the LCT session is identified by a transport session identifier (TSI) that is unique within the scope of the parent ROUTE session.
  • MMTP sessions are identified by destination IP address and destination port number.
  • the MMTP packet flow is identified by a unique packet_id within the scope of the parent MMTP session.
  • the S-TSID, the USBD / USD, the MPD, or the LCT session carrying them may be referred to as a service signaling channel.
  • the S-TSID, the USBD / USD, the MPD, or the LCT session carrying them may be referred to as a service signaling channel.
  • MMT signaling messages or packet flow carrying them may be called a service signaling channel.
  • one ROUTE or MMTP session may be delivered through a plurality of PLPs. That is, one service may be delivered through one or more PLPs. Unlike shown, components constituting one service may be delivered through different ROUTE sessions. In addition, according to an embodiment, components constituting one service may be delivered through different MMTP sessions. According to an embodiment, components constituting one service may be delivered divided into a ROUTE session and an MMTP session. Although not shown, a component constituting one service may be delivered through a broadband (hybrid delivery).
  • LLS low level signaling
  • SLT service list table
  • An embodiment t3010 of the illustrated LLS table may include information according to an LLS_table_id field, a provider_id field, an LLS_table_version field, and / or an LLS_table_id field.
  • the LLS_table_id field may identify a type of the corresponding LLS table, and the provider_id field may identify service providers related to services signaled by the corresponding LLS table.
  • the service provider is a broadcaster using all or part of the broadcast stream, and the provider_id field may identify one of a plurality of broadcasters using the broadcast stream.
  • the LLS_table_version field may provide version information of a corresponding LLS table.
  • the corresponding LLS table includes the above-described SLT, a rating region table (RRT) including information related to a content advisory rating, a SystemTime information providing information related to system time, and an emergency alert. It may include one of the CAP (Common Alert Protocol) message that provides information related to. According to an embodiment, other information other than these may be included in the LLS table.
  • RRT rating region table
  • CAP Common Alert Protocol
  • One embodiment t3020 of the illustrated SLT may include an @bsid attribute, an @sltCapabilities attribute, a sltInetUrl element, and / or a Service element.
  • Each field may be omitted or may exist in plurality, depending on the value of the illustrated Use column.
  • the @bsid attribute may be an identifier of a broadcast stream.
  • the @sltCapabilities attribute can provide the capability information required to decode and significantly reproduce all services described by the SLT.
  • the sltInetUrl element may provide base URL information used to obtain ESG or service signaling information for services of the corresponding SLT through broadband.
  • the sltInetUrl element may further include an @urlType attribute, which may indicate the type of data that can be obtained through the URL.
  • the service element may be an element including information on services described by the corresponding SLT, and a service element may exist for each service.
  • the Service element contains the @serviceId property, the @sltSvcSeqNum property, the @protected property, the @majorChannelNo property, the @minorChannelNo property, the @serviceCategory property, the @shortServiceName property, the @hidden property, the @broadbandAccessRequired property, the @svcCapabilities property, the BroadcastSvcSignaling element, and / or the svcInetUrl element. It may include.
  • the @serviceId attribute may be an identifier of a corresponding service, and the @sltSvcSeqNum attribute may indicate a sequence number of SLT information for the corresponding service.
  • the @protected attribute may indicate whether at least one service component necessary for meaningful playback of the corresponding service is protected.
  • the @majorChannelNo and @minorChannelNo attributes may indicate the major channel number and the minor channel number of the corresponding service, respectively.
  • the @serviceCategory attribute can indicate the category of the corresponding service.
  • the service category may include a linear A / V service, a linear audio service, an app-based service, an ESG service, and an EAS service.
  • the @shortServiceName attribute may provide a short name of the corresponding service.
  • the @hidden attribute can indicate whether the service is for testing or proprietary use.
  • the @broadbandAccessRequired attribute may indicate whether broadband access is required for meaningful playback of the corresponding service.
  • the @svcCapabilities attribute can provide the capability information necessary for decoding and meaningful reproduction of the corresponding service.
  • the BroadcastSvcSignaling element may provide information related to broadcast signaling of a corresponding service. This element may provide information such as a location, a protocol, and an address with respect to signaling through a broadcasting network of a corresponding service. Details will be described later.
  • the svcInetUrl element may provide URL information for accessing signaling information for a corresponding service through broadband.
  • the sltInetUrl element may further include an @urlType attribute, which may indicate the type of data that can be obtained through the URL.
  • the aforementioned BroadcastSvcSignaling element may include an @slsProtocol attribute, an @slsMajorProtocolVersion attribute, an @slsMinorProtocolVersion attribute, an @slsPlpId attribute, an @slsDestinationIpAddress attribute, an @slsDestinationUdpPort attribute, and / or an @slsSourceIpAddress attribute.
  • the @slsProtocol attribute can indicate the protocol used to deliver the SLS of the service (ROUTE, MMT, etc.).
  • the @slsMajorProtocolVersion attribute and @slsMinorProtocolVersion attribute may indicate the major version number and the minor version number of the protocol used to deliver the SLS of the corresponding service, respectively.
  • the @slsPlpId attribute may provide a PLP identifier for identifying a PLP that delivers the SLS of the corresponding service. According to an embodiment, this field may be omitted, and the PLP information to which the SLS is delivered may be identified by combining information in the LMT to be described later and bootstrap information of the SLT.
  • the @slsDestinationIpAddress attribute, @slsDestinationUdpPort attribute, and @slsSourceIpAddress attribute may indicate a destination IP address, a destination UDP port, and a source IP address of a transport packet carrying an SLS of a corresponding service, respectively. They can identify the transport session (ROUTE session or MMTP session) to which the SLS is delivered. These may be included in the bootstrap information.
  • FIG. 4 illustrates a USBD and an S-TSID delivered to ROUTE according to an embodiment of the present invention.
  • One embodiment t4010 of the illustrated USBD may have a bundleDescription root element.
  • the bundleDescription root element may have a userServiceDescription element.
  • the userServiceDescription element may be an instance of one service.
  • the userServiceDescription element may include an @globalServiceID attribute, an @serviceId attribute, an @serviceStatus attribute, an @fullMPDUri attribute, an @sTSIDUri attribute, a name element, a serviceLanguage element, a capabilityCode element, and / or a deliveryMethod element.
  • Each field may be omitted or may exist in plurality, depending on the value of the illustrated Use column.
  • the @globalServiceID attribute is a globally unique identifier of the service and can be used to link with ESG data (Service @ globalServiceID).
  • the @serviceId attribute is a reference corresponding to the corresponding service entry of the SLT and may be the same as service ID information of the SLT.
  • the @serviceStatus attribute may indicate the status of the corresponding service. This field may indicate whether the corresponding service is active or inactive.
  • the @fullMPDUri attribute can refer to the MPD fragment of the service. As described above, the MPD may provide a reproduction description for a service component delivered through a broadcast network or a broadband.
  • the @sTSIDUri attribute may refer to the S-TSID fragment of the service.
  • the S-TSID may provide parameters related to access to the transport session carrying the service as described above.
  • the name element may provide the name of the service.
  • This element may further include an @lang attribute, which may indicate the language of the name provided by the name element.
  • the serviceLanguage element may indicate the available languages of the service. That is, this element may list the languages in which the service can be provided.
  • the capabilityCode element may indicate capability or capability group information of the receiver side necessary for significantly playing a corresponding service. This information may be compatible with the capability information format provided by the service announcement.
  • the deliveryMethod element may provide delivery related information with respect to contents accessed through a broadcasting network or a broadband of a corresponding service.
  • the deliveryMethod element may include a broadcastAppService element and / or a unicastAppService element. Each of these elements may have a basePattern element as its child element.
  • the broadcastAppService element may include transmission related information on the DASH presentation delivered through the broadcast network.
  • These DASH representations may include media components across all periods of the service media presentation.
  • the basePattern element of this element may represent a character pattern used by the receiver to match the segment URL. This can be used by the DASH client to request segments of the representation. Matching may imply that the media segment is delivered over the broadcast network.
  • the unicastAppService element may include transmission related information on the DASH representation delivered through broadband. These DASH representations may include media components across all periods of the service media presentation.
  • the basePattern element of this element may represent a character pattern used by the receiver to match the segment URL. This can be used by the DASH client to request segments of the representation. Matching may imply that the media segment is delivered over broadband.
  • An embodiment t4020 of the illustrated S-TSID may have an S-TSID root element.
  • the S-TSID root element may include an @serviceId attribute and / or an RS element.
  • Each field may be omitted or may exist in plurality, depending on the value of the illustrated Use column.
  • the @serviceId attribute is an identifier of a corresponding service and may refer to a corresponding service of USBD / USD.
  • the RS element may describe information on ROUTE sessions through which service components of a corresponding service are delivered. Depending on the number of such ROUTE sessions, there may be a plurality of these elements.
  • the RS element may further include an @bsid attribute, an @sIpAddr attribute, an @dIpAddr attribute, an @dport attribute, an @PLPID attribute, and / or an LS element.
  • the @bsid attribute may be an identifier of a broadcast stream through which service components of a corresponding service are delivered. If this field is omitted, the default broadcast stream may be a broadcast stream that includes a PLP that carries the SLS of the service. The value of this field may be the same value as the @bsid attribute of SLT.
  • the @sIpAddr attribute, the @dIpAddr attribute, and the @dport attribute may indicate a source IP address, a destination IP address, and a destination UDP port of the corresponding ROUTE session, respectively. If these fields are omitted, the default values may be the source IP address, destination IP address, and destination UDP port values of the current, ROUTE session carrying that SLS, that is, carrying that S-TSID. For other ROUTE sessions that carry service components of the service but not the current ROUTE session, these fields may not be omitted.
  • the @PLPID attribute may indicate PLP ID information of a corresponding ROUTE session. If this field is omitted, the default value may be the PLP ID value of the current PLP to which the corresponding S-TSID is being delivered. According to an embodiment, this field is omitted, and the PLP ID information of the corresponding ROUTE session may be confirmed by combining information in the LMT to be described later and IP address / UDP port information of the RS element.
  • the LS element may describe information on LCT channels through which service components of a corresponding service are delivered. Depending on the number of such LCT channels, there may be a plurality of these elements.
  • the LS element may include an @tsi attribute, an @PLPID attribute, an @bw attribute, an @startTime attribute, an @endTime attribute, an SrcFlow element, and / or a RepairFlow element.
  • the @tsi attribute may represent tsi information of a corresponding LCT channel. Through this, LCT channels through which a service component of a corresponding service is delivered may be identified.
  • the @PLPID attribute may represent PLP ID information of a corresponding LCT channel. In some embodiments, this field may be omitted.
  • the @bw attribute may indicate the maximum bandwidth of the corresponding LCT channel.
  • the @startTime attribute may indicate the start time of the LCT session, and the @endTime attribute may indicate the end time of the LCT channel.
  • the SrcFlow element may describe the source flow of ROUTE.
  • the source protocol of ROUTE is used to transmit the delivery object, and can establish at least one source flow in one ROUTE session. These source flows can deliver related objects as an object flow.
  • the RepairFlow element may describe the repair flow of ROUTE. Delivery objects delivered according to the source protocol may be protected according to Forward Error Correction (FEC).
  • FEC Forward Error Correction
  • the repair protocol may define a FEC framework that enables such FEC protection.
  • FIG. 5 is a diagram illustrating a USBD delivered to MMT according to an embodiment of the present invention.
  • One embodiment of the illustrated USBD may have a bundleDescription root element.
  • the bundleDescription root element may have a userServiceDescription element.
  • the userServiceDescription element may be an instance of one service.
  • the userServiceDescription element may include an @globalServiceID attribute, an @serviceId attribute, a Name element, a serviceLanguage element, a content advisoryRating element, a Channel element, an mpuComponent element, a routeComponent element, a broadbandComponent element, and / or a ComponentInfo element.
  • Each field may be omitted or may exist in plurality, depending on the value of the illustrated Use column.
  • the @globalServiceID attribute, the @serviceId attribute, the Name element and / or the serviceLanguage element may be the same as the corresponding fields of the USBD delivered to the above-described ROUTE.
  • the contentAdvisoryRating element may indicate the content advisory rating of the corresponding service. This information may be compatible with the content advisory rating information format provided by the service announcement.
  • the channel element may include information related to the corresponding service. The detail of this element is mentioned later.
  • the mpuComponent element may provide a description for service components delivered as an MPU of a corresponding service.
  • This element may further include an @mmtPackageId attribute and / or an @nextMmtPackageId attribute.
  • the @mmtPackageId attribute may refer to an MMT package of service components delivered as an MPU of a corresponding service.
  • the @nextMmtPackageId attribute may refer to an MMT package to be used next to the MMT package referenced by the @mmtPackageId attribute in time.
  • the MP table can be referenced through the information of this element.
  • the routeComponent element may include a description of service components of the corresponding service delivered to ROUTE. Even if the linear service components are delivered in the MMT protocol, the NRT data may be delivered according to the ROUTE protocol as described above. This element may describe information about such NRT data. The detail of this element is mentioned later.
  • the broadbandComponent element may include a description of service components of the corresponding service delivered over broadband.
  • some service components or other files of a service may be delivered over broadband. This element may describe information about these data.
  • This element may further include the @fullMPDUri attribute. This attribute may refer to an MPD that describes service components delivered over broadband.
  • the element when the broadcast signal is weakened due to driving in a tunnel or the like, the element may be needed to support handoff between the broadcast network and the broadband band. When the broadcast signal is weakened, while acquiring the service component through broadband, and when the broadcast signal is stronger, the service continuity may be guaranteed by acquiring the service component through the broadcast network.
  • the ComponentInfo element may include information on service components of a corresponding service. Depending on the number of service components of the service, there may be a plurality of these elements. This element may describe information such as the type, role, name, identifier, and protection of each service component. Detailed information on this element will be described later.
  • the aforementioned channel element may further include an @serviceGenre attribute, an @serviceIcon attribute, and / or a ServiceDescription element.
  • the @serviceGenre attribute may indicate the genre of the corresponding service
  • the @serviceIcon attribute may include URL information of an icon representing the corresponding service.
  • the ServiceDescription element provides a service description of the service, which may further include an @serviceDescrText attribute and / or an @serviceDescrLang attribute. Each of these attributes may indicate the text of the service description and the language used for that text.
  • the aforementioned routeComponent element may further include an @sTSIDUri attribute, an @sTSIDDestinationIpAddress attribute, an @sTSIDDestinationUdpPort attribute, an @sTSIDSourceIpAddress attribute, an @sTSIDMajorProtocolVersion attribute, and / or an @sTSIDMinorProtocolVersion attribute.
  • the @sTSIDUri attribute may refer to an S-TSID fragment. This field may be the same as the corresponding field of USBD delivered to ROUTE described above. This S-TSID may provide access related information for service components delivered in ROUTE. This S-TSID may exist for NRT data delivered according to the ROUTE protocol in the situation where linear service components are delivered according to the MMT protocol.
  • the @sTSIDDestinationIpAddress attribute, the @sTSIDDestinationUdpPort attribute, and the @sTSIDSourceIpAddress attribute may indicate a destination IP address, a destination UDP port, and a source IP address of a transport packet carrying the aforementioned S-TSID, respectively. That is, these fields may identify a transport session (MMTP session or ROUTE session) carrying the aforementioned S-TSID.
  • the @sTSIDMajorProtocolVersion attribute and the @sTSIDMinorProtocolVersion attribute may indicate a major version number and a minor version number of the transport protocol used to deliver the aforementioned S-TSID.
  • ComponentInfo element may further include an @componentType attribute, an @componentRole attribute, an @componentProtectedFlag attribute, an @componentId attribute, and / or an @componentName attribute.
  • the @componentType attribute may indicate the type of the corresponding component. For example, this property may indicate whether the corresponding component is an audio, video, or closed caption component.
  • the @componentRole attribute can indicate the role (role) of the corresponding component. For example, this property can indicate whether the main audio, music, commentary, etc., if the corresponding component is an audio component. If the corresponding component is a video component, it may indicate whether it is primary video. If the corresponding component is a closed caption component, it may indicate whether it is a normal caption or an easy reader type.
  • the @componentProtectedFlag attribute may indicate whether a corresponding service component is protected, for example, encrypted.
  • the @componentId attribute may represent an identifier of a corresponding service component.
  • the value of this attribute may be a value such as asset_id (asset ID) of the MP table corresponding to this service component.
  • the @componentName attribute may represent the name of the corresponding service component.
  • FIG. 6 illustrates a link layer operation according to an embodiment of the present invention.
  • the link layer may be a layer between the physical layer and the network layer.
  • the transmitter may transmit data from the network layer to the physical layer
  • the receiver may transmit data from the physical layer to the network layer (t6010).
  • the purpose of the link layer may be to compress all input packet types into one format for processing by the physical layer, to ensure flexibility and future scalability for input packet types not yet defined. have.
  • the link layer may provide an option of compressing unnecessary information in the header of the input packet, so that the input data may be efficiently transmitted. Operations such as overhead reduction and encapsulation of the link layer may be referred to as a link layer protocol, and a packet generated using the corresponding protocol may be referred to as a link layer packet.
  • the link layer may perform functions such as packet encapsulation, overhead reduction, and / or signaling transmission.
  • the link layer ALP may perform an overhead reduction process on input packets and then encapsulate them into link layer packets.
  • the link layer may encapsulate the link layer packet without performing an overhead reduction process.
  • the use of the link layer protocol can greatly reduce the overhead for data transmission on the physical layer, and the link layer protocol according to the present invention can provide IP overhead reduction and / or MPEG-2 TS overhead reduction. have.
  • the link layer may sequentially perform IP header compression, adaptation, and / or encapsulation. In some embodiments, some processes may be omitted.
  • the RoHC module performs IP packet header compression to reduce unnecessary overhead, and context information may be extracted and transmitted out of band through an adaptation process.
  • the IP header compression and adaptation process may be collectively called IP header compression.
  • IP packets may be encapsulated into link layer packets through an encapsulation process.
  • the link layer may sequentially perform an overhead reduction and / or encapsulation process for the TS packet. In some embodiments, some processes may be omitted.
  • the link layer may provide sync byte removal, null packet deletion and / or common header removal (compression).
  • Sync byte elimination can provide overhead reduction of 1 byte per TS packet. Null packet deletion can be performed in a manner that can be reinserted at the receiving end. In addition, common information between successive headers can be deleted (compressed) in a manner that can be recovered at the receiving side. Some of each overhead reduction process may be omitted. Thereafter, TS packets may be encapsulated into link layer packets through an encapsulation process.
  • the link layer packet structure for encapsulation of TS packets may be different from other types of packets.
  • IP header compression will be described.
  • the IP packet has a fixed header format, but some information required in a communication environment may be unnecessary in a broadcast environment.
  • the link layer protocol may provide a mechanism to reduce broadcast overhead by compressing the header of the IP packet.
  • IP header compression may include a header compressor / decompressor and / or adaptation module.
  • the IP header compressor (RoHC compressor) may reduce the size of each IP packet header based on the RoHC scheme.
  • the adaptation module may then extract the context information and generate signaling information from each packet stream.
  • the receiver may parse signaling information related to the packet stream and attach context information to the packet stream.
  • the RoHC decompressor can reconstruct the original IP packet by recovering the packet header.
  • IP header compression may mean only IP header compression by a header compressor, or may mean a concept in which the IP header compression and the adaptation process by the adaptation module are combined. The same is true for decompressing.
  • the adaptation function may generate link layer signaling using context information and / or configuration parameters.
  • the adaptation function may periodically send link layer signaling over each physical frame using previous configuration parameters and / or context information.
  • the context information is extracted from the compressed IP packets, and various methods may be used according to the adaptation mode.
  • Mode # 1 is a mode in which no operation is performed on the compressed packet stream, and may be a mode in which the adaptation module operates as a buffer.
  • Mode # 2 may be a mode for extracting context information (static chain) by detecting IR packets in the compressed packet stream. After extraction, the IR packet is converted into an IR-DYN packet, and the IR-DYN packet can be transmitted in the same order in the packet stream by replacing the original IR packet.
  • context information static chain
  • Mode # 3 t6020 may be a mode for detecting IR and IR-DYN packets and extracting context information from the compressed packet stream.
  • Static chains and dynamic chains can be extracted from IR packets and dynamic chains can be extracted from IR-DYN packets.
  • the IR and IR-DYN packets can be converted into regular compressed packets.
  • the switched packets can be sent in the same order within the packet stream, replacing the original IR and IR-DYN packets.
  • the remaining packets after the context information is extracted may be encapsulated and transmitted according to the link layer packet structure for the compressed IP packet.
  • the context information may be transmitted by being encapsulated according to a link layer packet structure for signaling information as link layer signaling.
  • the extracted context information may be included in the RoHC-U Description Table (RTT) and transmitted separately from the RoHC packet flow.
  • the context information may be transmitted through a specific physical data path along with other signaling information.
  • a specific physical data path may mean one of general PLPs, a PLP to which LLS (Low Level Signaling) is delivered, a dedicated PLP, or an L1 signaling path. path).
  • the RDT may be signaling information including context information (static chain and / or dynamic chain) and / or information related to header compression.
  • the RDT may be transmitted whenever the context information changes.
  • the RDT may be transmitted in every physical frame. In order to transmit the RDT in every physical frame, a previous RDT may be re-use.
  • the receiver may first select PLP to acquire signaling information such as SLT, RDT, LMT, and the like. When the signaling information is obtained, the receiver may combine these to obtain a mapping between the service-IP information-context information-PLP. That is, the receiver can know which service is transmitted to which IP streams, which IP streams are delivered to which PLP, and can also obtain corresponding context information of the PLPs. The receiver can select and decode a PLP carrying a particular packet stream. The adaptation module can parse the context information and merge it with the compressed packets. This allows the packet stream to be recovered, which can be delivered to the RoHC decompressor. Decompression can then begin.
  • signaling information such as SLT, RDT, LMT, and the like.
  • the receiver may combine these to obtain a mapping between the service-IP information-context information-PLP. That is, the receiver can know which service is transmitted to which IP streams, which IP streams are delivered to which PLP, and can also obtain corresponding context information of the PLPs.
  • the receiver detects the IR packet and starts decompression from the first received IR packet according to the adaptation mode (mode 1), or detects the IR-DYN packet to perform decompression from the first received IR-DYN packet.
  • the link layer protocol may encapsulate all types of input packets, such as IP packets and TS packets, into link layer packets. This allows the physical layer to process only one packet format independently of the protocol type of the network layer (here, consider MPEG-2 TS packet as a kind of network layer packet). Each network layer packet or input packet is transformed into a payload of a generic link layer packet.
  • Segmentation may be utilized in the packet encapsulation process. If the network layer packet is too large to be processed by the physical layer, the network layer packet may be divided into two or more segments.
  • the link layer packet header may include fields for performing division at the transmitting side and recombination at the receiving side. Each segment may be encapsulated into a link layer packet in the same order as the original position.
  • Concatenation may also be utilized in the packet encapsulation process. If the network layer packet is small enough that the payload of the link layer packet includes several network layer packets, concatenation may be performed.
  • the link layer packet header may include fields for executing concatenation. In the case of concatenation, each input packet may be encapsulated into the payload of the link layer packet in the same order as the original input order.
  • the link layer packet may include a header and a payload, and the header may include a base header, an additional header, and / or an optional header.
  • the additional header may be added depending on the chaining or splitting, and the additional header may include necessary fields according to the situation.
  • an optional header may be further added to transmit additional information.
  • Each header structure may be predefined. As described above, when the input packet is a TS packet, a link layer header structure different from other packets may be used.
  • Link layer signaling may operate at a lower level than the IP layer.
  • the receiving side can acquire the link layer signaling faster than the IP level signaling such as LLS, SLT, SLS, and the like. Therefore, link layer signaling may be obtained before session establishment.
  • Link layer signaling may include internal link layer signaling and external link layer signaling.
  • Internal link layer signaling may be signaling information generated in the link layer.
  • the above-described RDT or LMT to be described later may correspond to this.
  • the external link layer signaling may be signaling information received from an external module, an external protocol, or an upper layer.
  • the link layer may encapsulate link layer signaling into a link layer packet and deliver it.
  • a link layer packet structure (header structure) for link layer signaling may be defined, and link layer signaling information may be encapsulated according to this structure.
  • FIG. 7 illustrates a link mapping table (LMT) according to an embodiment of the present invention.
  • the LMT may provide a list of higher layer sessions carried by the PLP.
  • the LMT may also provide additional information for processing link layer packets carrying higher layer sessions.
  • the higher layer session may be called multicast.
  • Information on which IP streams and which transport sessions are being transmitted through a specific PLP may be obtained through the LMT. Conversely, information on which PLP a specific transport session is delivered to may be obtained.
  • the LMT may be delivered to any PLP identified as carrying an LLS.
  • the PLP through which the LLS is delivered may be identified by the LLS flag of the L1 detail signaling information of the physical layer.
  • the LLS flag may be a flag field indicating whether LLS is delivered to the corresponding PLP for each PLP.
  • the L1 detail signaling information may correspond to PLS2 data to be described later.
  • the LMT may be delivered to the same PLP together with the LLS.
  • Each LMT may describe the mapping between PLPs and IP address / port as described above.
  • the LLS may include an SLT, where these IP addresses / ports described by the LMT are all IP addresses associated with any service described by the SLT forwarded to the same PLP as that LMT. It can be / ports.
  • the PLP identifier information in the above-described SLT, SLS, etc. may be utilized, so that information on which PLP the specific transmission session indicated by the SLT, SLS is transmitted may be confirmed.
  • the PLP identifier information in the above-described SLT, SLS, etc. may be omitted, and the PLP information for the specific transport session indicated by the SLT, SLS may be confirmed by referring to the information in the LMT.
  • the receiver may identify the PLP to know by combining LMT and other IP level signaling information.
  • PLP information in SLT, SLS, and the like is not omitted, and may remain in the SLT, SLS, and the like.
  • the LMT according to the illustrated embodiment may include a signaling_type field, a PLP_ID field, a num_session field, and / or information about respective sessions.
  • a PLP loop may be added to the LMT according to an embodiment, so that information on a plurality of PLPs may be described.
  • the LMT may describe PLPs for all IP addresses / ports related to all services described by the SLTs delivered together, in a PLP loop.
  • the signaling_type field may indicate the type of signaling information carried by the corresponding table.
  • the value of the signaling_type field for the LMT may be set to 0x01.
  • the signaling_type field may be omitted.
  • the PLP_ID field may identify a target PLP to be described. When a PLP loop is used, each PLP_ID field may identify each target PLP. From the PLP_ID field may be included in the PLP loop.
  • the PLP_ID field mentioned below is an identifier for one PLP in a PLP loop, and the fields described below may be fields for the corresponding PLP.
  • the num_session field may indicate the number of upper layer sessions delivered to the PLP identified by the corresponding PLP_ID field. According to the number indicated by the num_session field, information about each session may be included. This information may include an src_IP_add field, a dst_IP_add field, a src_UDP_port field, a dst_UDP_port field, a SID_flag field, a compressed_flag field, a SID field, and / or a context_id field.
  • the src_IP_add field, dst_IP_add field, src_UDP_port field, and dst_UDP_port field are the source IP address, destination IP address, source UDP port, destination UDP port for the transport session among the upper layer sessions forwarded to the PLP identified by the corresponding PLP_ID field. It can indicate a port.
  • the SID_flag field may indicate whether a link layer packet carrying a corresponding transport session has an SID field in its optional header.
  • a link layer packet carrying an upper layer session may have an SID field in its optional header, and the SID field value may be the same as an SID field in an LMT to be described later.
  • the compressed_flag field may indicate whether header compression has been applied to data of a link layer packet carrying a corresponding transport session.
  • the existence of the context_id field to be described later may be determined according to the value of this field.
  • the SID field may indicate a sub stream ID (SID) for link layer packets carrying a corresponding transport session.
  • SID sub stream ID
  • These link layer packets may include an SID having the same value as this SID field in the optional header.
  • the context_id field may provide a reference to a context id (CID) in the RDT.
  • the CID information of the RDT may indicate the context ID for the corresponding compressed IP packet stream.
  • the RDT may provide context information for the compressed IP packet stream. RDT and LMT may be associated with this field.
  • each field, element, or attribute may be omitted or replaced by another field, and additional fields, elements, or attributes may be added according to an embodiment. .
  • service components of one service may be delivered through a plurality of ROUTE sessions.
  • the SLS may be obtained through the bootstrap information of the SLT.
  • the SLS's USBD allows the S-TSID and MPD to be referenced.
  • the S-TSID may describe transport session description information for other ROUTE sessions to which service components are delivered, as well as a ROUTE session to which an SLS is being delivered.
  • all service components delivered through a plurality of ROUTE sessions may be collected. This may be similarly applied when service components of a service are delivered through a plurality of MMTP sessions.
  • one service component may be used simultaneously by a plurality of services.
  • bootstrapping for ESG services may be performed by a broadcast network or broadband.
  • URL information of the SLT may be utilized. ESG information and the like can be requested to this URL.
  • one service component of one service may be delivered to the broadcasting network and one to the broadband (hybrid).
  • the S-TSID may describe components delivered to a broadcasting network, so that a ROUTE client may acquire desired service components.
  • USBD also has base pattern information, which allows you to describe which segments (which components) are to be routed to which path. Therefore, the receiver can use this to know what segment to request to the broadband server and what segment to find in the broadcast stream.
  • scalable coding for a service may be performed.
  • the USBD may have all the capability information needed to render the service. For example, when a service is provided in HD or UHD, the capability information of the USBD may have a value of “HD or UHD”.
  • the receiver may know which component should be played in order to render the UHD or HD service using the MPD.
  • app components to be used for app-based enhancement / app-based service may be delivered through a broadcast network or through broadband as an NRT component.
  • app signaling for app-based enhancement may be performed by an application signaling table (AST) delivered with SLS.
  • an event which is a signaling of an operation to be performed by the app, may be delivered in the form of an event message table (EMT) with SLS, signaled in an MPD, or in-band signaled in a box in a DASH representation. . AST, EMT, etc. may be delivered via broadband.
  • App-based enhancement may be provided using the collected app components and such signaling information.
  • a CAP message may be included in the aforementioned LLS table for emergency alerting. Rich media content for emergency alerts may also be provided. Rich media may be signaled by the CAP message, and if rich media is present it may be provided as an EAS service signaled by the SLT.
  • the linear service components may be delivered through a broadcasting network according to the MMT protocol.
  • NRT data for example, an app component
  • data on the service may be delivered through a broadcasting network according to the ROUTE protocol.
  • data on the service may be delivered through broadband.
  • the receiver can access the MMTP session carrying the SLS using the bootstrap information of the SLT.
  • the USBD of the SLS according to the MMT may refer to the MP table so that the receiver may acquire linear service components formatted with the MPU delivered according to the MMT protocol.
  • the USBD may further refer to the S-TSID to allow the receiver to obtain NRT data delivered according to the ROUTE protocol.
  • the USBD may further reference the MPD to provide a playback description for the data delivered over the broadband.
  • the receiver may transmit location URL information for obtaining a streaming component and / or a file content item (such as a file) to the companion device through a method such as a web socket.
  • An application of a companion device may request the component, data, and the like by requesting the URL through an HTTP GET.
  • the receiver may transmit information such as system time information and emergency alert information to the companion device.
  • FIG. 8 shows a structure of a broadcast signal transmission apparatus for a next generation broadcast service according to an embodiment of the present invention.
  • a broadcast signal transmission apparatus for a next generation broadcast service includes an input format block 1000, a bit interleaved coding & modulation (BICM) block 1010, and a frame building block 1020, orthogonal frequency division multiplexing (OFDM) generation block (OFDM generation block) 1030, and signaling generation block 1040. The operation of each block of the broadcast signal transmission apparatus will be described.
  • BICM bit interleaved coding & modulation
  • OFDM generation block orthogonal frequency division multiplexing
  • signaling generation block 1040 The operation of each block of the broadcast signal transmission apparatus will be described.
  • IP streams / packets and MPEG2-TS may be main input formats, and other stream types are treated as general streams.
  • the input format block 1000 can demultiplex each input stream into one or multiple data pipes to which independent coding and modulation is applied.
  • the data pipe is the basic unit for controlling robustness, which affects the quality of service (QoS).
  • QoS quality of service
  • One or multiple services or service components may be delivered by one data pipe.
  • a data pipe is a logical channel at the physical layer that carries service data or related metadata that can carry one or multiple services or service components.
  • the BICM block 1010 may include a processing block applied to a profile (or system) to which MIMO is not applied and / or a processing block of a profile (or system) to which MIMO is applied, and for processing each data pipe. It may include a plurality of processing blocks.
  • the processing block of the BICM block to which MIMO is not applied may include a data FEC encoder, a bit interleaver, a constellation mapper, a signal space diversity (SSD) encoding block, and a time interleaver.
  • the processing block of the BICM block to which MIMO is applied is distinguished from the processing block of BICM to which MIMO is not applied in that it further includes a cell word demultiplexer and a MIMO encoding block.
  • the data FEC encoder performs FEC encoding on the input BBF to generate the FECBLOCK procedure using outer coding (BCH) and inner coding (LDPC).
  • Outer coding (BCH) is an optional coding method.
  • the bit interleaver interleaves the output of the data FEC encoder to achieve optimized performance with a combination of LDPC codes and modulation schemes.
  • Constellation Mapper uses QPSK, QAM-16, non-uniform QAM (NUQ-64, NUQ-256, NUQ-1024) or non-uniform constellation (NUC-16, NUC-64, NUC-256, NUC-1024)
  • the cell word from the bit interleaver or cell word demultiplexer can then be modulated to provide a power-normalized constellation point.
  • NUQ has any shape, while QAM-16 and NUQ have a square shape. Both NUQ and NUC are specifically defined for each code rate and are signaled by the parameter DP_MOD of PLS2 data.
  • the time interleaver may operate at the data pipe level. The parameters of time interleaving can be set differently for each data pipe.
  • the time interleaver of the present invention may be located between a BICM chain block and a frame builder.
  • the time interleaver according to the present invention may selectively use a convolution interleaver (CI) and a block interleaver (BI) according to a physical layer pipe (PLP) mode, or both.
  • PLP according to an embodiment of the present invention is a physical path used in the same concept as the above-described DP, the name can be changed according to the designer's intention.
  • the PLP mode according to an embodiment of the present invention may include a single PLP mode or a multiple PLP mode according to the number of PLPs processed by the broadcast signal transmitter or the broadcast signal transmitter.
  • time interleaving using different time interleaving methods according to the PLP mode may be referred to as hybrid time interleaving.
  • the hybrid time deinterleaver may perform an operation corresponding to the reverse operation of the aforementioned hybrid time interleaver.
  • the cell word demultiplexer is used to separate a single cell word stream into a dual cell word stream for MIMO processing.
  • the MIMO encoding block can process the output of the cell word demultiplexer using the MIMO encoding scheme.
  • the MIMO encoding scheme of the present invention may be defined as full-rate spatial multiplexing (FR-SM) to provide capacity increase with a relatively small complexity increase at the receiver side.
  • MIMO processing is applied at the data pipe level.
  • NUQ e 1, i and e 2, i
  • MIMO encoder output pairs g1, i and g2, i). Is transmitted by the same carrier k and OFDM symbol l of each transmit antenna.
  • the frame building block 1020 may map data cells of an input data pipe to OFDM symbols and perform frequency interleaving for frequency domain diversity within one frame.
  • a frame according to an embodiment of the present invention is divided into a preamble, one or more frame signaling symbols (FSS), and normal data symbols.
  • the preamble is a special symbol that provides a set of basic transmission parameters for efficient transmission and reception of a signal.
  • the preamble may signal a basic transmission parameter and a transmission type of the frame.
  • the preamble may indicate whether an emergency alert service (EAS) is provided in the current frame.
  • EAS emergency alert service
  • the main purpose of the FSS is to carry PLS data. For fast synchronization and channel estimation, and fast decoding of PLS data, the FSS has a higher density pilot pattern than normal data symbols.
  • the frame building block adjusts the timing between the data pipes and the corresponding PLS data so that a delay compensation block is provided at the transmitter to ensure co-time between the data pipes and the corresponding PLS data.
  • a cell mapper and a frequency interleaver for mapping a PLS, a data pipe, an auxiliary stream, and a dummy cell to an active carrier of an OFDM symbol in a frame.
  • the frequency interleaver may provide frequency diversity by randomly interleaving data cells received from the cell mapper.
  • the frequency interleaver uses a different interleaving seed order to obtain the maximum interleaving gain in a single frame.
  • the frequency interleaver uses a single symbol or data corresponding to an OFDM symbol pair consisting of two sequential OFDM symbols. Operate on corresponding data.
  • OFDM generation block 1030 modulates the OFDM carrier, inserts pilots, and generates time-domain signals for transmission by the cells generated by the frame building block. In addition, the block sequentially inserts a guard interval and applies a PAPR reduction process to generate a final RF signal.
  • the signaling generation block 1040 may generate physical layer signaling information used for the operation of each functional block.
  • Signaling information may include PLS data.
  • PLS provides a means by which a receiver can connect to a physical layer data pipe.
  • PLS data consists of PLS1 data and PLS2 data.
  • PLS1 data is the first set of PLS data delivered to the FSS in frames with fixed size, coding, and modulation that convey basic information about the system as well as the parameters needed to decode the PLS2 data.
  • PLS1 data provides basic transmission parameters including the parameters required to enable reception and decoding of PLS2 data.
  • PLS2 data carries more detailed PLS data about the data pipes and systems and is the second set of PLS data sent to the FSS.
  • PLS2 signaling further consists of two types of parameters: PLS2 static data (PLS2-STAT data) and PLS2 dynamic data (PLS2-DYN data).
  • PLS2 static data is PLS2 data that is static during the duration of a frame group
  • PLS2 dynamic data is PLS2 data that changes dynamically from frame to frame.
  • the PLS2 data may include FIC_FLAG information.
  • FIC Fast Information Channel
  • the FIC_FLAG information is a 1-bit field and indicates whether a fast information channel (FIC) is used in the current frame group.If the value of this field is set to 1, the FIC is provided in the current frame. If the value of the field is set to 0, the FIC is not transmitted in the current frame.
  • the BICM block 1010 may include a BICM block for protecting PLS data
  • the BICM block for protecting PLS data is a PLS FEC encoder. , Bit interleaver, and constellation mapper.
  • the PLS FEC encoder performs external encoding on scrambled PLS 1,2 data using a scrambler for scrambling PLS1 data and PLS2 data, shortened BCH code for PLS protection, and a BCH for inserting zero bits after BCH encoding.
  • An encoding / zero insertion block, an LDPC encoding block for performing encoding using an LDPC code, and an LDPC parity puncturing block may be included.
  • the output bits of zero insertion can be permutated before LDPC encoding.
  • the bit interleaver interleaves the respective shortened and punctured PLS1 data and PLS2 data, and the constellation mapper bit interleaves.
  • the PLS1 data and the PLS2 data can be mapped to the constellation.
  • the broadcast signal receiving apparatus for the next generation broadcast service may perform a reverse process of the broadcast signal transmitting apparatus for the next generation broadcast service described with reference to FIG. 8.
  • An apparatus for receiving broadcast signals for a next generation broadcast service includes a synchronization and demodulation module for performing demodulation corresponding to a reverse process of a procedure executed by a broadcast signal transmitting apparatus and an input signal.
  • a frame parsing module for parsing a frame, extracting data on which a service selected by a user is transmitted, converting an input signal into bit region data, and then deinterleaving the bit region data as necessary, and transmitting efficiency
  • a demapping and decoding module for performing demapping on the mapping applied for decoding, and correcting an error occurring in a transmission channel through decoding, of various compression / signal processing procedures applied by a broadcast signal transmission apparatus.
  • Demodulated by an output processor and a synchronization and demodulation module that executes the inverse process It may include a signaling decoding module for obtaining and processing the PLS information from the signal.
  • the frame parsing module, the demapping and decoding module, and the output processor may execute the function by using the PLS data output from the signaling decoding module.
  • a time interleaving group according to an embodiment of the present invention is directly mapped to one frame or spread over P I frames.
  • Each time interleaving group is further divided into one or more (N TI ) time interleaving blocks.
  • each time interleaving block corresponds to one use of the time interleaver memory.
  • the time interleaving block in the time interleaving group may include different numbers of XFECBLOCKs.
  • the time interleaver may also act as a buffer for data pipe data prior to the frame generation process.
  • the time interleaver according to an embodiment of the present invention is a twisted row-column block interleaver.
  • the twisted row-column block interleaver according to an embodiment of the present invention writes the first XFECBLOCK in the column direction to the first column of the time interleaving memory, the second XFECBLOCK to the next column and the remaining XFECBLOCKs in the time interleaving block in the same manner. You can fill in these. And in an interleaving array, cells can be read diagonally from the first row to the last row (starting from the leftmost column to the right along the row).
  • the interleaving array for the twisted row-column block interleaver may insert the virtual XFECBLOCK into the time interleaving memory to achieve a single memory deinterleaving at the receiver side regardless of the number of XFECBLOCKs in the time interleaving block.
  • the virtual XFECBLOCK must be inserted in front of the other XFECBLOCKs to achieve a single memory deinterleaving on the receiver side.
  • FIG 9 illustrates a writing operation of a time interleaver according to an embodiment of the present invention.
  • the block shown on the left side of the figure represents a TI memory address array, and the block shown on the right side of the figure shows that virtual FEC blocks are placed at the front of the TI group for two consecutive TI groups. It represents the writing operation when two and one are inserted respectively.
  • the frequency interleaver may include an interleaving address generator for generating an interleaving address for applying to data corresponding to a symbol pair.
  • FIG. 10 is a block diagram of an interleaving address generator composed of a main-PRBS generator and a sub-PRBS generator according to each FFT mode included in a frequency interleaver according to an embodiment of the present invention.
  • the interleaving process for an OFDM symbol pair uses one interleaving sequence and is described as follows.
  • x m, l, p is the p th cell of the l th OFDM symbol in the m th frame
  • N data is the number of data cells.
  • H l (p) is an interleaving address generated based on the cyclic shift value (symbol offset) of the PRBS generator and the sub-PRBS generator.
  • FIG. 11 illustrates a hybrid broadcast reception device according to an embodiment of the present invention.
  • the hybrid broadcasting system may transmit a broadcast signal by interworking a terrestrial broadcasting network and an internet network.
  • the hybrid broadcast reception device may receive a broadcast signal through a terrestrial broadcast network (broadcast) and an internet network (broadband).
  • the hybrid broadcast receiver includes a physical layer module, a physical layer I / F module, a service / content acquisition controller, an internet access control module, a signaling decoder, a service signaling manager, a service guide manager, an application signaling manager, an alarm signal manager, an alarm signal parser, Targeting signal parser, streaming media engine, non-real time file processor, component synchronizer, targeting processor, application processor, A / V processor, device manager, data sharing and communication unit, redistribution module, companion device and / or external modules can do.
  • the physical layer module (s) may receive and process a broadcast-related signal through a terrestrial broadcast channel, convert it into an appropriate form, and deliver the signal to a physical layer I / F module.
  • the physical layer I / F module may obtain an IP datagram from information obtained from the physical layer module.
  • the physical layer I / F module may convert the obtained IP datagram into a specific frame (eg, RS Frame, GSE, etc.).
  • the service / content acquisition controller may perform a control operation for acquiring service, content, and signaling data related thereto through broadcast and / or broadband channels.
  • the Internet Access Control Module (s) may control a receiver operation for acquiring a service, content, or the like through a broadband channel.
  • the signaling decoder may decode signaling information obtained through a broadcast channel.
  • the service signaling manager may extract, parse, and manage signaling information related to service scan and service / content from an IP datagram.
  • the service guide manager may extract announcement information from an IP datagram, manage an SG database, and provide a service guide.
  • the App Signaling Manager may extract, parse and manage signaling information related to application acquisition from an IP datagram.
  • Alert Signaling Parser can extract, parse and manage signaling information related to alerting from IP datagram.
  • Targeting Signaling Parser can extract, parse and manage signaling information related to service / content personalization or targeting from IP datagram.
  • the targeting signal parser may deliver the parsed signaling information to the targeting processor.
  • the streaming media engine can extract and decode audio / video data for A / V streaming from IP datagrams.
  • the non-real time file processor can extract, decode and manage file type data such as NRT data and applications from IP datagrams.
  • the Component Synchronizer can synchronize content and services such as streaming audio / video data and NRT data.
  • the targeting processor may process an operation related to personalization of a service / content based on the targeting signaling data received from the targeting signal parser.
  • the App Processor may process application related information, downloaded application status, and display parameters.
  • the A / V Processor may perform audio / video rendering related operations based on decoded audio, video data, and application data.
  • the device manager may perform a connection and data exchange operation with an external device.
  • the device manager may perform management operations on external devices, such as adding, deleting, and updating external devices that can be interworked.
  • the data sharing & communication unit can process information related to data transmission and exchange between the hybrid broadcast receiver and an external device.
  • the data that can be transmitted and exchanged may be signaling, A / V data, or the like.
  • the redistribution module (s) may obtain relevant information about next-generation broadcast services and contents when the broadcast receiver does not directly receive the terrestrial broadcast signal.
  • the redistribution module may support the acquisition of broadcast services and content by the next generation broadcast system when the broadcast receiver does not directly receive the terrestrial broadcast signal.
  • Companion device (s) may be connected to the broadcast receiver of the present invention to share audio, video, or signaling inclusion data.
  • the companion device may refer to an external device connected to the broadcast receiver.
  • the external module may refer to a module for providing a broadcast service / content and may be, for example, a next generation broadcast service / content server.
  • the external module may refer to an external device connected to the broadcast receiver.
  • FIG. 12 is a diagram illustrating the overall operation of the DASH-based adaptive streaming model according to an embodiment of the present invention.
  • the present invention proposes a next-generation media service providing method for providing content capable of supporting High Dynamic Range (HDR).
  • HDR content capable of expressing rich brightness is provided
  • the present invention proposes metadata and a delivery method thereof. Through this, the content may be adaptively adjusted according to various scene-specific characteristics of the content, and the content may be provided with improved image quality.
  • the present invention proposes a method of signaling HDR parameters related to video tracks, video samples, etc. of content providing HDR based on a media file such as ISOBMFF.
  • the present invention proposes a method of storing and signaling HDR flags and / or parameters associated with a video track (stream).
  • the present invention proposes a method of storing and signaling HDR flags and / or parameters related to a video sample, a video sample group or a video sample entry.
  • the present invention proposes a method of storing and signaling an SEI NAL unit including HDR related information.
  • the storage / delivery method of HDR information according to the present invention may be utilized in the generation of content supporting HDR. That is, the method of the present invention may be utilized when generating a media file for content that supports HDR, generating a DASH segment operating on MPEG DASH, or generating an MPU operating on MPEG MMT.
  • the receiver including a DASH client, an MMT client, etc.
  • HDR information may be obtained from a decoder and the like, and effectively provide the corresponding content based on the information.
  • HDR configuration box or HDR related flag information may exist simultaneously in multiple boxes in a media file, DASH segment, or MMT MPU.
  • the HDR information defined in the upper box may be overridden by the HDR information defined in the lower box.
  • the HDR information of the tkhd box may be overridden by the HDR information of the vmhd box.
  • the DASH-based adaptive streaming model describes the operation between the HTTP server and the DASH client.
  • DASH Dynamic Adaptive Streaming over HTTP
  • DASH is a protocol for supporting HTTP-based adaptive streaming, and can dynamically support streaming according to network conditions. Accordingly, the AV content can be provided without interruption.
  • the DASH client can obtain the MPD.
  • MPD may be delivered from a service provider such as an HTTP server.
  • the MPD may be delivered according to the delivery embodiment described above.
  • the DASH client can request the segments from the server using the access information to the segment described in the MPD. In this case, the request may be performed by reflecting the network state.
  • the DASH client may process it in the media engine and display the segment on the screen.
  • the DASH client may request and acquire a required segment by adaptively reflecting a playing time and / or a network condition (Adaptive Streaming). This allows the content to be played back seamlessly.
  • Adaptive Streaming a network condition
  • MPD Media Presentation Description
  • XML form a file containing detailed information for allowing a DASH client to dynamically acquire a segment. This MPD may be the same as the MPD described above according to an embodiment.
  • the DASH Client Controller may generate a command for requesting the MPD and / or the segment reflecting the network situation.
  • the controller can control the obtained information to be used in an internal block of the media engine or the like.
  • the MPD Parser may parse the acquired MPD in real time. This allows the DASH client controller to generate a command to obtain the required segment.
  • the segment parser may parse the acquired segment in real time. Internal blocks such as the media engine may perform a specific operation according to the information included in the segment.
  • the HTTP client may request the HTTP server for necessary MPDs and / or segments.
  • the HTTP client may also pass MPD and / or segments obtained from the server to the MPD parser or segment parser.
  • the media engine may display content on the screen using media data included in the segment. At this time, the information of the MPD may be utilized.
  • FIG. 13 is a block diagram of a receiver according to an embodiment of the present invention.
  • the receiver is a Tuner, Physical Layer Controller, Physical Frame Parser, Link Layer Frame Processor, IP / UDP Datagram Filter, DTV Control Engine, Route Client, Segment Buffer Control, MMT Client, MPU reconstruction, Media Processor, Signaling Parser, DASH Client, ISO BMFF Parser, Media Decoder and / or HTTP Access Client.
  • Each detailed block of the receiver may be a processor that is hardware.
  • the tuner can receive and process broadcast signals through terrestrial broadcast channels and convert them into appropriate forms (Physical Frame, etc.).
  • the physical layer controller may control operations of a tuner, a physical frame parser, etc. using RF information of a broadcast channel to be received.
  • the physical frame parser may acquire the link layer frame through parsing the received physical frame and processing related thereto.
  • the link layer frame processor may acquire link layer signaling from a link layer frame, acquire an IP / UDP datagram, and perform related operations.
  • the IP / UDP Datagram Filter may filter a specific IP / UDP datagram from the received IP / UDP datagrams.
  • the DTV Control Engine is in charge of the interface between each component and can control the operation of each component by passing parameters.
  • the Route Client can generate one or more ISO Base Media File Format (ISOBMFF) objects by processing Real-Time Object Delivery over Unidirectional Transport (ROUTE) packets that support real-time object transport, and collecting and processing multiple packets.
  • ISOBMFF ISO Base Media File Format
  • ROUTE Real-Time Object Delivery over Unidirectional Transport
  • Segment Buffer Control can control the buffer related to segment transmission between Route Client and Dash Client.
  • the MMT Client can process MPEG Media Transport (MPT) transport protocol packets that support real-time object transport and collect and process multiple packets.
  • MPU reconstruction may reconstruct a Media Processing Unit (MPU) from an MMTP packet.
  • the Media Processor can collect and process the reconstructed MPU.
  • MPEG Media Transport MPEG Media Transport
  • the Signaling Parser may acquire and parse DTV broadcast service related signaling (Link Layer / Service Layer Signaling), and generate and / or manage a channel map based on this. This configuration can handle low level signaling and service level signaling.
  • the DASH Client can process real-time streaming or adaptive streaming-related operations and acquired DASH Segments.
  • the ISO BMFF Parser may extract audio / video data and related parameters from an ISO BMFF object.
  • the media decoder may decode and / or present the received audio and video data.
  • the HTTP Access Client can request specific information from an HTTP server and process the response to the request.
  • FIG. 14 is a diagram showing the structure of a media file according to an embodiment of the present invention.
  • the media file of the present invention may have a file format based on ISO BMFF (ISO base media file format).
  • the media file according to the present invention may include at least one box.
  • the box may be a data block or an object including media data or metadata related to the media data.
  • the boxes may form a hierarchical structure with each other, such that the data may be classified so that the media file may be in a form suitable for storage and / or transmission of a large amount of media data.
  • the media file may have an easy structure for accessing the media information, such as a user moving to a specific point of the media content.
  • the media file according to the present invention may include an ftyp box, a moov box and / or an mdat box.
  • An ftyp box can provide file type or compatibility related information for a corresponding media file.
  • the ftyp box may include configuration version information about media data of a corresponding media file.
  • the decoder can identify the media file by referring to the ftyp box.
  • the moov box may be a box including metadata about media data of a corresponding media file.
  • the moov box can act as a container for all metadata.
  • the moov box may be a box of the highest layer among metadata related boxes. According to an embodiment, only one moov box may exist in a media file.
  • the mdat box may be a box containing actual media data of the media file.
  • Media data may include audio samples and / or video samples, where the mdat box may serve as a container for storing these media samples.
  • the above-described moov box may further include a mvhd box, a trak box and / or an mvex box as a lower box.
  • the mvhd box may include media presentation related information of media data included in the media file. That is, the mvhd box may include information such as media generation time, change time, time specification, duration, etc. of the media presentation.
  • the trak box can provide information related to the track of the media data.
  • the trak box may include information such as stream related information, presentation related information, and access related information for an audio track or a video track. There may be a plurality of trak boxes according to the number of tracks.
  • the trak box may further include a tkhd box (track header box) as a lower box.
  • the tkhd box may include information about the track indicated by the trak box.
  • the tkhd box may include information such as a creation time, a change time, and a track identifier of the corresponding track.
  • the mvex box (movie extend box) may indicate that the media file may have a moof box to be described later. To know all the media samples of a particular track, moof boxes may have to be scanned.
  • the media file according to the present invention may be divided into a plurality of fragments according to an embodiment (t14010). Through this, the media file may be divided and stored or transmitted.
  • the media data (mdat box) of the media file may be divided into a plurality of fragments, and each fragment may include a mdat box and a moof box. According to an embodiment, information of the ftyp box and / or the moov box may be needed to utilize the fragments.
  • the moof box may provide metadata about media data of the fragment.
  • the moof box may be a box of the highest layer among metadata-related boxes of the fragment.
  • the mdat box may contain the actual media data as described above.
  • This mdat box may include media samples of media data corresponding to each corresponding fragment.
  • the above-described moof box may further include a mfhd box and / or a traf box as a lower box.
  • the mfhd box may include information related to an association between a plurality of fragmented fragments.
  • the mfhd box may include a sequence number to indicate how many times the media data of the corresponding fragment is divided. In addition, it may be confirmed whether there is no missing data divided using the mfhd box.
  • the traf box may include information about a corresponding track fragment.
  • the traf box may provide metadata about the divided track fragments included in the fragment.
  • the traf box may provide metadata so that media samples in the track fragment can be decoded / played back. There may be a plurality of traf boxes according to the number of track fragments.
  • the above-described traf box may further include a tfhd box and / or a trun box as a lower box.
  • the tfhd box may include header information of the corresponding track fragment.
  • the tfhd box may provide information such as a basic sample size, a duration, an offset, an identifier, and the like for media samples of the track fragment indicated by the traf box described above.
  • the trun box may include corresponding track fragment related information.
  • the trun box may include information such as duration, size, and playback time of each media sample.
  • the aforementioned media file or fragments of the media file may be processed into segments and transmitted.
  • the segment may have an initialization segment and / or a media segment.
  • the file of the illustrated embodiment t14020 may be a file including information related to initialization of the media decoder except for media data. This file may correspond to the initialization segment described above, for example.
  • the initialization segment may include the ftyp box and / or moov box described above.
  • the file of the illustrated embodiment t14030 may be a file including the aforementioned fragment. This file may correspond to the media segment described above, for example.
  • the media segment may include the moof box and / or mdat box described above.
  • the media segment may further include a styp box and / or a sidx box.
  • the styp box may provide information for identifying the media data of the fragmented fragment.
  • the styp box may play the same role as the above-described ftyp box for the divided fragment.
  • the styp box may have the same format as the ftyp box.
  • the sidx box may provide information indicating an index for the divided fragment. Through this, it is possible to indicate how many fragments are the corresponding fragments.
  • the ssix box may be further included.
  • the ssix box (sub-segment index box) may provide information indicating an index of the sub-segment when the segment is further divided into sub-segments.
  • the boxes in the media file may include more extended information based on a box-to-full box form as in the illustrated embodiment t14050.
  • the size field and the largesize field may indicate the length of the corresponding box in bytes.
  • the version field may indicate the version of the box format.
  • the type field may indicate the type or identifier of the corresponding box.
  • the flags field may indicate a flag related to the box.
  • FIG. 15 illustrates an HDR configuration box for providing HDR information according to an embodiment of the present invention.
  • an HDR configuration box can be defined.
  • the HDR configuration box can be located in the media file.
  • the HDR configuration box may be included in a moov box, a moof box or a third box.
  • the HDR configuration box may be called an hdrc box.
  • the HDR configuration box may have a hdr_config field.
  • the hdr_config field may include an OETF_type field, max_mastering_display_luminance field, min_mastering_display_luminance field, hdr_type_transition_flag field, hdr_sdr_transition_flag field, sdr_hdr_transition_flag field, sdr_compatibility_flag field, average_frame_luminance_level field and
  • the OETF_type field may indicate the type of the source OETF (opto-electronic transfer function) of the video data. When the value of this field is 1, 2, or 3, it may correspond to the ITU-R BT.1886, ITU-R BT.709, and ITU-R BT.2020 types, respectively. Other values can be left for future use.
  • the max_mastering_display_luminance field may indicate a peak luminance value of a mastering display of corresponding video data. This value can be an integer value between 100 and 1000.
  • the min_mastering_display_luminance field may indicate a minimum luminance value of a mastering display of corresponding video data. This value may be a fractional number value between 0 and 0.1.
  • the hdr_type_transition_flag field may be a flag indicating whether the HDR information of the corresponding video data is changed to apply another type of HDR information.
  • the hdr_sdr_transition_flag field may be a flag indicating whether corresponding video data is switched from HDR to SDR.
  • the sdr_hdr_transition_flag field may be a flag indicating whether corresponding video data is switched from SDR to HDR.
  • the sdr_compatibility_flag field may be a flag indicating whether corresponding video data is compatible with an SDR decoder or an SDR display.
  • the average_frame_luminance_level field may indicate an average value of luminance level for one video sample.
  • this field may indicate a maximum value among average values of luminance levels of each sample belonging to the sample group or the video track (stream).
  • the max_frame_pixel_luminance field may indicate the maximum value of pixel luminance values for one video sample. In addition, this field may indicate the largest value among pixel luminance maximum values of each sample belonging to the sample group or the video track (stream).
  • That video data that the fields describe is a video track, a video sample group, or respective video samples in a media file.
  • the range described by each field may vary according to the description object.
  • the hdr_type_transition_flag field may indicate whether the corresponding video track is switched from HDR to SDR or may indicate whether one video sample is switched from HDR to SDR.
  • FIG. 16 illustrates a scheme for defining HDR information in a tkhd box according to an embodiment of the present invention.
  • HDR information may be included in the structure of the above-described media file itself to store / transmit.
  • HDR information (parameters) may be added to the tkhd box in the above-described moov box. Added HDR information is shaded.
  • the hdr_flag field may be a flag indicating whether HDR video data is included in a corresponding video track described by the tkhd box. When the value of this field is 1, HDR video data may be included in the corresponding video track. When the value of this field is 1, four flag fields to be described later may exist.
  • the hdr_type_transition_flag field may be a flag indicating whether HDR information (parameters) related to HDR video data in a corresponding video track have been changed. When the value of this field is 1, the HDR information for the HDR video data in the corresponding video track may be changed to other HDR information.
  • the hdr_sdr_transition_flag field may be a flag indicating whether video data in a corresponding video track is switched from HDR to SDR. When the value of this field is 1, it may be confirmed that corresponding video data is converted from HDR to SDR.
  • the sdr_hdr_transition_flag field may be a flag indicating whether video data in a corresponding video track is switched from SDR to HDR. When the value of this field is 1, it may be confirmed that video data is converted from SDR to HDR.
  • the sdr_compatibility_flag field may be a flag indicating whether video data in a corresponding video track is compatible with a decoder or display that supports SDR. If the value of this field is 1, it may be confirmed that the HDR video data in the corresponding video track is compatible with devices supporting SDR. When the value of this field is 1, decoder / display devices supporting SDR may determine whether to decode / display HDR video data included in a corresponding video track.
  • the decoder or the like may make the data (SEI, etc.) in the video related thereto before processing the video data.
  • the above-described HDR configuration box may be added to the tkhd box.
  • the hdr_flag field in the present embodiment may be the same as the hdr_flag field in the above-described embodiment t16010. However, in this case, when the value of the hdr_flag field is 1, it may be indicated that the hdr_config box having the HDR configuration box type exists in place of the above four flags in the tkhd box.
  • the hdr_config box may include HDR information about video data included in a corresponding video track.
  • This box is therefore of the above-mentioned HDR configuration box type, and may include a OETF_type field, max_mastering_display_luminance field, min_mastering_display_luminance field, hdr_type_transition_flag field, hdr_sdr_transition_flag field, sdr_hdr_transition_flag field, sdr_compatibility_flag field, average_frame_luminance_level field and / or max_frame_pixel_luminance field as described above, .
  • these fields may describe information about the corresponding video track.
  • the OETF_type field may indicate an OETF type for video data in the "corresponding video track”.
  • the hdr_type_transition_flag field, hdr_sdr_transition_flag field, sdr_hdr_transition_flag field, and / or sdr_compatibility_flag field may have the same meaning as the four flag fields in the above-described embodiment (t16010).
  • the average_frame_luminance_level field in this HDR configuration box may indicate a maximum value among average values of luminance levels of each of the video samples in the corresponding video track.
  • the max_frame_pixel_luminance field may indicate the largest value among the maximum values of pixel luminance of each of the video samples in the corresponding video track.
  • 17 is a diagram illustrating a method of defining HDR information in a vmhd box according to an embodiment of the present invention.
  • HDR information may be included in the structure of the above-described media file itself to store / transmit.
  • HDR information (parameters) may be added to the vmhd box in the above-described trak box. Added HDR information is shaded.
  • the vmhd box (video media header box) is a lower box of the above-described trak box and may provide general presentation related information about the corresponding video track.
  • an hdr_flag field may be included.
  • the hdr_type_transition_flag field, the hdr_sdr_transition_flag field, the sdr_hdr_transition_flag field, and / or the sdr_compatibility_flag field may be further included according to the value of the hdr_flag field.
  • an hdr_flag field may be included.
  • the hdr_config box which is an HDR configuration box, may be further included according to the value of the hdr_flag field.
  • the hdr_flag field and the hdr_config box may play the same role as the field or box of the same name in the above-described tkhd box.
  • the HDR information in the vmhd box may provide HDR information about video data included in the corresponding video track.
  • HDR information may be simultaneously included in the tkhd box and the vmhd box.
  • embodiments of the HDR information structure included in each box may be combined with each other.
  • the values of the HDR information defined in the tkhd box may be overridden to the values of the HDR information defined in the vmhd box. That is, when the values of the HDR information defined in both are different, the value in the vmhd box may be used. If the HDR information is not included in the vmhd box, the HDR information in the tkhd box may be used.
  • FIG. 18 is a diagram illustrating a method of defining HDR information in a trex box according to an embodiment of the present invention.
  • HDR information may be included in the structure of the above-described media file itself to store / transmit.
  • HDR information (parameters) may be added to the trex box in the aforementioned mvex box. Added HDR information is shaded.
  • the trex box (track extend box) is a lower box of the above-described mvex box, and may set default values used by each movie fragment. By providing a default value for this box, space and complexity in the traf box can be reduced.
  • the trex box may include a default_hdr_flag field and / or a default_sample_hdr_flag field.
  • the default_hdr_config box which is an HDR configuration box, may be further included.
  • the default_sample_hdr_config box which is an HDR configuration box, may be further included.
  • the default_hdr_flag field may be a flag indicating whether HDR video data is included in a video track fragment included in the corresponding fragment. When the value of this field is 1, it may be indicated that the fragment includes HDR video data by default. If the value of this field is 1, a default_hdr_config box, which is an HDR configuration box, may be further included.
  • the default_hdr_config box may include HDR information that can be commonly applied to video samples included in the corresponding video track fragment.
  • This box is the aforementioned HDR configuration box and may include the fields of the aforementioned HDR configuration box.
  • the average_frame_luminance_level field may indicate a maximum value among average values of luminance levels of each video sample belonging to a track fragment in the corresponding fragment.
  • max_frame_pixel_luminance field The maximum_frame_pixel_luminance field may indicate the largest value among the maximum values of pixel luminance of each video sample belonging to the track fragment in the corresponding fragment.
  • the default_sample_hdr_flag field may be a flag indicating whether HDR video samples are included in a video track fragment included in the corresponding fragment. When the value of this field is 1, it may be indicated that the fragment includes HDR video samples by default. If the value of this field is 1, the default_sample_hdr_config box, which is an HDR configuration box, may be further included.
  • the default_sample_hdr_config box may include HDR information that can be applied to each of the video samples included in the corresponding video track fragment.
  • This box is the aforementioned HDR configuration box and may include the fields of the aforementioned HDR configuration box.
  • the average_frame_luminance_level field may indicate an average value of luminance levels of each video sample belonging to a track fragment in a corresponding fragment.
  • max_frame_pixel_luminance field This may indicate the maximum value of pixel luminance of each video sample belonging to the track fragment in the corresponding fragment.
  • FIG. 19 illustrates a method of defining HDR information in a tfhd box according to an embodiment of the present invention.
  • HDR information may be included in the structure of the above-described media file itself to store / transmit.
  • HDR information (parameters) may be added to the tfhd box in the above-described moof box. Added HDR information is shaded.
  • the hdr_flag field may be a flag indicating whether HDR video data is included in a corresponding video track fragment described by the tfhd box. When the value of this field is 1, HDR video data may be included in the corresponding video track fragment.
  • the hdr_type_transition_flag field When the value of the hdr_flag field is 1, the hdr_type_transition_flag field, the hdr_sdr_transition_flag field, the sdr_hdr_transition_flag field, and / or the sdr_compatibility_flag field may be further included. These fields may play the same role as the fields of the same name in the tkhd box described above. In this case, however, these fields may describe the video track fragment, not the entire video track.
  • the hdr_type_transition_flag field may indicate whether there is a change in the HDR information with respect to media data related to the track fragment in the corresponding track fragment.
  • the hdr_sdr_transition_flag field may represent that the track fragment is switched from HDR to SDR.
  • the sdr_hdr_transition_flag field may represent that the track fragment is switched from SDR to HDR.
  • the sdr_compatibility_flag field may indicate whether the HDR video data of the corresponding track fragment is compatible with the SDR decoder / display.
  • the tfhd box may include the HDR configuration box described above. According to the value of the hdr_flag field, it may be indicated whether the hdr_config box, which is an HDR configuration box, is included.
  • the hdr_config box may provide HDR information that may be commonly applied to video samples of the corresponding track fragment.
  • the average_frame_luminance_level field may indicate a maximum value among average values of luminance levels of each video sample belonging to a track fragment in the corresponding fragment.
  • max_frame_pixel_luminance field The maximum_frame_pixel_luminance field may indicate the largest value among the maximum values of pixel luminance of each video sample belonging to the track fragment in the corresponding fragment.
  • the tfhd box may further include HDR information according to the tf_flags value.
  • tr_flags may indicate flags associated with the box. For example, when tr_flags includes a value of 0x000001, it may be indicated that the base data offset information is included in the tfhd box, and when it includes the value of 0x000002, it may be indicated that the sample description index information is included in the tfhd box.
  • the tf_flags value when the tf_flags value includes a value of 0x100000, it may be indicated that a default value of HDR information for video samples included in a track fragment in the corresponding fragment exists.
  • the tf_flags value indicating the presence of the HDR information may have a value other than the 0x100000 value in some embodiments. (0x100000: default-sample-hdr-configuration-present)
  • the tfhd box may include a deafult_sample_hdr_config box, which is an HDR configuration box.
  • the deafult_sample_hdr_config box may play the same role as the deafult_sample_hdr_config box in the above-described trex box.
  • FIG. 20 is a diagram illustrating a method of defining HDR information in a trun box according to an embodiment of the present invention.
  • HDR information may be included in the structure of the above-described media file itself to store / transmit.
  • HDR information (parameters) may be added to the trun box in the traf box described above. Added HDR information is shaded.
  • the trun box may include an hdr_flag field.
  • the hdr_type_transition_flag field, the hdr_sdr_transition_flag field, the sdr_hdr_transition_flag field, and / or the sdr_compatibility_flag field may be further included according to the value of the hdr_flag field.
  • These fields may signal HDR related matters that may be commonly applied to video samples in the corresponding track fragment. These fields may have the same meaning as the fields of the same name in the tfhd box described above.
  • HDR information may be simultaneously included in the tfhd box and the trun box.
  • embodiments of the HDR information structure included in each box may be combined with each other.
  • the values of the HDR information defined in the tfhd box may be overridden to the values of the HDR information defined in the trun box. That is, when the values of the HDR information defined in both are different, the value in the trun box may be used. If the HDR information is not included in the trun box, the HDR information in the tfhd box may be used.
  • the trun box may include an hdr_flag field, and may further include an hdr_config box, which is an HDR configuration box, according to the value of the hdr_flag field.
  • This box may contain HDR information that can be commonly applied to video samples within the track fragment.
  • the fields in this box may have the same meaning as the fields of the same name of the HDR configuration box in the tfhd box described above.
  • the trun box may further include HDR information according to the tf_flags value.
  • tr_flags may indicate flags associated with the box. For example, when tr_flags includes a value of 0x000001, it may be indicated that data offset information is included in a trun box. When tr_flags includes a value of 0x000004, it may be indicated that the first sample flag information is included in a trun box.
  • the tf_flags value when the tf_flags value includes a value of 0x002000, it may be indicated whether there is HDR information that can be commonly applied to video samples included in the track fragment in the corresponding fragment.
  • the tf_flags value indicating that the HDR information is present may have a value other than the 0x002000 value in some embodiments. (0x002000: hdr-configuration-present)
  • the trun box may include an hdr_config box, which is an HDR configuration box.
  • the hdr_config box may play the same role as the hdr_config box in the above-described tfhd box.
  • the trun box may further include HDR information according to the tf_flags value.
  • the tf_flags value when the tf_flags value includes a value of 0x001000, it may be indicated whether there is HDR information that can be applied to each of the video samples included in the track fragment in the corresponding fragment.
  • the tf_flags value indicating that the HDR information exists may have a value other than the 0x001000 value according to an embodiment. (0x001000: sample-hdr-configuration-present)
  • the trun box may include a sample_hdr_config box, which is an HDR configuration box.
  • the sample_hdr_config box may provide HDR information about the sample.
  • the meaning of the information in the sample_hdr_config box may be the same as the meaning of the information in the deafult_sample_hdr_config box of the tfhd box described above. That is, the deafult_sample_hdr_config box of the tfhd box may provide default HDR information that may be applied to each sample, and the sample_hdr_config box of the trun box may provide individual HDR information that may be applied to the sample for each sample.
  • the average_frame_luminance_level field and / or max_frame_pixel_luminance field of the sample_hdr_config box may have a different meaning from those of the default_sample_hdr_config box.
  • the average_frame_luminance_level field may indicate an average value of the luminance level of the video sample.
  • max_frame_pixel_luminance field This may represent the maximum value of pixel luminance of a corresponding video sample.
  • FIG. 21 illustrates a scheme for defining HDR information in various flags, sample group entries, or sample entries according to an embodiment of the present invention.
  • default-sample_flags in the trex box may be added.
  • default_sample_flags in the tfhd box may be added.
  • sample_flags in the trun box may be added.
  • the hdr_flag field may be included on each flag.
  • the hdr_flag field may be a field indicating whether a corresponding media sample is an HDR video sample. When the value of this field is 1, it may be indicated that the corresponding sample is an HDR video sample. According to an embodiment, existence of flag fields to be described later may be determined by the value of the hdr_flag field.
  • the sdr_compatibility_flag field, the hdr_type_transition_flag field, and / or the hdr_sdr_transition_flag field have the same meaning as the above-described fields of the same name, but may be different in that they are described for the corresponding media sample (HDR video sample).
  • the sdr_compatibility_flag field may indicate whether the corresponding HDR video sample is compatible with a decoder / display supporting SDR.
  • the hdr_type_transition_flag field may indicate that HDR information (parameter) for the corresponding HDR video sample and HDR information for the HDR video sample subsequent thereto may be different. If the value of this field is 1, the current sample is the last HDR video sample to which the existing HDR information is applied, and the following samples may indicate that other HDR information may be applied.
  • the hdr_sdr_transition_flag field may be a flag indicating whether the current HDR video sample is the last HDR sample, and the following samples are SDR samples. If the value of this field is 1, this may indicate that the corresponding sample is the last HDR sample, followed by the SDR samples.
  • the HDR information may be included in the visual sampel group entry. If the same HDR related flag can be applied to one or more video samples present in one media file or fragment, HDR flags, such as the illustrated embodiment, may be further included in the visual sample group entry.
  • the depicted HDR related flags have the same meaning as the above-mentioned flags of the same name, but in this case, the corresponding sample group may be described. That is, the hdr_flag field may indicate whether the corresponding sample group is an HDR video sample group.
  • the hdr_type_transition_flag field may indicate whether HDR information (parameter) related to HDR video samples is changed to other HDR information and applied in the corresponding HDR video sample group.
  • the hdr_sdr_transition_flag field may indicate whether to switch from HDR to SDR in the corresponding video sample group.
  • the sdr_hdr_transition_flag field may indicate whether HDR transition is performed in SDR within a corresponding video sample group.
  • the sdr_compatibility_flag field may indicate whether HDR video samples in the corresponding video sample group are compatible with a decoder / display supporting SDR.
  • HDR information may be included in the visual sampel group entry. If the same HDR information (parameter) can be applied to one or more video samples present in one media file or fragment, the hdr_flag field and the HDR configuration box may be further included in the visual sample group entry as shown in the illustrated embodiment. .
  • the hdr_flag field may have the same meaning as the hdr_flag field in the aforementioned visual sample group entry.
  • the information in the HDR configuration box may have the same meaning as the information in the HDR configuration box described above. In this case, however, each piece of information may be described for the corresponding sample group. That is, the information in the HDR configuration box can provide default HDR information (parameters) that can be commonly applied to HDR video samples of the corresponding sample group.
  • the average_frame_luminance_level field and / or the max_frame_pixel_luminance field may have different meanings.
  • the average_frame_luminance_level field may indicate a maximum value among average values of luminance levels of each video sample belonging to the corresponding sample group.
  • the max_frame_pixel_luminance field may indicate the largest value among the maximum values of pixel luminance of each video sample belonging to the corresponding sample group.
  • the HDR information may be included in the visual sampel entry.
  • HDR flag information related to the sample may be further included in the visual sample entry.
  • the hdr_flag field may indicate whether the associated video track or sample includes the HDR video sample.
  • the hdr_type_transition_flag field may indicate whether HDR information (parameter) for an associated video track or sample is changed and thus other HDR information is applied.
  • the hdr_sdr_transition_flag field may be a flag indicating whether an associated video track or sample is switched from HDR to SDR.
  • the sdr_hdr_transition_flag field may be a flag indicating whether an associated video track or sample is switched from SDR to HDR.
  • the sdr_compatibility_flag field may be a flag indicating whether an associated video track or sample is compatible with the SDR decoder / display.
  • HDR information may be included in a visual sampel entry.
  • initialization information required to decode respective video samples present in one media file or fragment HDR information (parameter) related to the sample may be further included in the visual sample entry.
  • the hdr_flag field may indicate whether the associated video track or sample includes the HDR video sample.
  • the hdr_config box is an HDR configuration box and may include HDR information (parameters) about an associated video track or sample. Each of the information included in the above-described HDR configuration box may be as described above. In this case, however, each of the pieces of information may describe the associated video track or samples.
  • FIG. 22 illustrates a scheme for defining HDR information in a HEVC sample entry, an HEVC configuration box, or an HEVC decoder configuration record according to an embodiment of the present invention.
  • the HDR information may be included in the HEVC sample entry HEVCSampleEntry.
  • HDR information related to each HEVC sample or the like may be added as shown.
  • the added HDR information may be added in the form of the above-described HDR configuration box according to an embodiment.
  • the HDR information may be added in the same manner as AVC sample entry (AVCSampleEntry), AVC2 sample entry (AVC2SampleEntry), SVC sample entry (SVCSampleEntry), MVC sample entry (MVCSampleEntry).
  • the HDR information may be included in the HEVC Configuration Box.
  • HDR information related to each HEVC sample or the like may be added as shown.
  • the added HDR information may be added in the form of the above-described HDR configuration box according to an embodiment.
  • the HDR information may be added in the same manner as in the AVC configuration box (AVCConfigurationBox), the SVC configuration box (SVCConfigurationBox), the MVC configuration box (MVCConfigurationBox), and the like.
  • HDR information may be included in an HEVC decoder configuration record (HEVCDecoderConfigurationRecord).
  • HEVCDecoderConfigurationRecord As initialization information required to decode respective HEVC samples present in the media file or fragment, HDR information related to each HEVC sample or the like may be added as shown.
  • the added HDR information may be added in the form of the above-described HDR configuration box according to an embodiment. In this case, whether to add the HDR configuration box may be performed by the hdr_flag field.
  • the HDR information may be added in the same manner as the AVC decoder configuration record (AVCDecoderConfigurationRecord), the SVC decoder configuration record (SVCDecoderConfigurationRecord), the MVC decoder configuration record (MVCDecoderConfigurationRecord), and the like.
  • FIG. 23 is a diagram illustrating a method of storing / delivering HDR information by defining an HDR information SEI box according to an embodiment of the present invention.
  • the present invention defines an HDR information SEI box (HDRInformationSEIBox) (t23010).
  • This box contains an SEI NAL unit, which may have an SEI message containing HDR related information.
  • the HDR information SEI box may be called hisb box.
  • the HDR information SEI box may be included in the visual sample entry, the HEVC configuration box and / or the HEVC sample entry, as shown in the illustrated embodiments (t23020, t23030, t23040). Also, according to an embodiment, it may be included in an AVC sample entry, an MVC sample entry, and an SVC sample entry.
  • FIG. 24 is a diagram illustrating a media engine operation of a receiver based on HDR information processing capability according to an embodiment of the present invention.
  • the parser of the receiver may parse ISOBMFF based media files, DASH segments and / or MMT MPUs. According to the parsing result, video samples may be delivered to a video decoder, and HDR information (metadata) may be delivered to a metadata parser.
  • the video decoder may decode video samples to obtain HDR video data. If there is HDR information acquired in this process, it can be delivered to the metadata parser.
  • the metadata parser may parse the received HDR metadata. Control information necessary for the video decoder may be transmitted to the video decoder using the obtained metadata.
  • the metadata parser may serve as a buffer or metadata update. The update may be performed using set_number, version_number, and the like.
  • the number of cases can be divided depending on whether the receiver is capable of HDR display. If display of the HDR video is impossible, the HDR video data may be transferred to the SDR display block via HDR-SDR conversion.
  • the SDR display block is a hardware block that can receive and play the converted SDR video. At this time, the information received from the metadata parser may be used for conversion.
  • quality enhancement may be performed on the HDR video.
  • quality enhancement may be performed using common HDR information (dynamic range, transfer function, color gamut, color temperature, DR / CG mapping, viewing condition, etc.) received from the metadata parser.
  • the number of cases can be divided depending on the case where the receiver can process scene / frame metadata.
  • the HDR display block of the receiver may play the received HDR video data.
  • scene-by-scene HDR video quality enhancement may be performed.
  • quality enhancement may be performed using scene / frame HDR metadata (While levels, Black levels, frame-by-frame, DR / CG mapping, etc.) received from the metadata parser.
  • the HDR display block of the receiver can reproduce the enhanced HDR video data.
  • the HDR display block can be a hardware block.
  • the timing converter can deliver time-related information to a metadata parser, synchronizer, and the like.
  • the synchronizer may provide information necessary for the new HDR video quality enhancement operation by using information such as sync_start and sync_duration.
  • FIG. 25 illustrates a CG configuration box for providing color gamut information according to an embodiment of the present invention.
  • the present invention proposes a next-generation media service providing method for providing WCG (Wide Color Gamut) capable content.
  • the present invention proposes a method of defining and delivering metadata according to scene-specific characteristics for a high-definition video service having features such as WCG. Through this, it is possible to provide an image of improved quality.
  • the present invention proposes a method of storing and signaling Color gamut related parameters related to video tracks, video samples, etc. of content based on media files such as ISOBMFF.
  • the present invention proposes a method for storing and signaling color gamut flags and / or parameters associated with a video track (stream).
  • the present invention proposes a method of storing and signaling color gamut flags and / or parameters related to a video sample, a video sample group or a video sample entry.
  • the present invention proposes a method of storing and signaling an SEI NAL unit including color gamut related information.
  • the storage / delivery method of color gamut information according to the present invention may be utilized in generating content that supports WCG. That is, the method of the present invention can be utilized when generating a media file for content supporting WCG, generating a DASH segment operating on MPEG DASH, or generating an MPU operating on MPEG MMT.
  • a receiver including a DASH client, an MMT client, etc. may obtain color gamut information (flag, parameter, box, etc.) from a decoder, etc., and effectively provide the corresponding content based on this.
  • CG configuration box or color gamut related flag information may exist simultaneously in multiple boxes in a media file, a DASH segment, or an MMT MPU.
  • color gamut information defined in the upper box may be overridden by color gamut information defined in the lower box.
  • the color gamut information of the tkhd box may be overridden by the color gamut information of the vmhd box.
  • a CG configuration box When generating a media file, a CG configuration box may be defined to store and signal color gamut information related to a video track (stream) or a sample (t25010).
  • the CG configuration box can be located in the media file.
  • the CG configuration box may be included in a moov box, a moof box or a third box.
  • the CG configuration box may be called a cgcf box.
  • the CG configuration box may have a cg_config field.
  • the cg_config field may include a color_gamut_type field, a color_space_transition_flag field, a wcg_scg_transition_flag field, a scg_wcg_transition_flag field, a scg_compatibility_flag field, and / or a color_primary_flag field.
  • color_primaryRx field, color_primaryRy field, color_primaryGx field, color_primaryGy field, color_primaryBx field, color_primaryBy field, color_whitePx field, and / or color_whitePy field may be further included according to the value of the color_primary_flag field.
  • the color_gamut_type field may indicate the type of color gamut for the corresponding video data.
  • this field may indicate chromaticity coordinates of source primaries.
  • color primaries of video usability information VUI
  • values of this field may be indicated as shown.
  • the color_space_transition_flag field may be a flag indicating whether the chromaticity coordination of the source primerless is changed to another chromaticity coordination for the corresponding video data.
  • the wcg_scg_transition_flag field may be a flag indicating whether corresponding video data is switched from Wide Color Gamut (WCG) to Standard Color Gamut (SCG). For example, when the WCG of BT.2020 is converted to the SCG of BT.709, the value of this field may be set to 1.
  • scg_wcg_transition_flag field It may be a flag indicating whether corresponding video data is switched from SCG to WCG. For example, when the SCG of BT.709 is converted to the WCG of BT.2020, the value of this field may be set to 1.
  • the scg_compatibility_flag field may be a flag indicating whether the corresponding WCG video is compatible with an SCG based decoder or display. That is, in the case where an existing SCG decoder or display is used, whether or not the WCG video can be output without a quality problem without additional mapping information or upgrade may be confirmed by this field.
  • the color_primary_flag field may be a flag indicating whether detailed information on chromaticity coordination of the color primerless for the corresponding video exists.
  • color_gamut_type field indicates "unspecified”
  • detailed information on chromaticity coordination of color primaryless may be provided for the corresponding video.
  • color_primary_flag field is set to 1, that is, when it is indicated that detailed information exists, fields to be described later may be further added.
  • the color_primaryRx field and the color_primaryRy field may represent x coordinate and y coordinate values for the R-color of the corresponding video source, respectively. This may be in the form of a fractional number between 0 and 1.
  • the color_primaryGx field and the color_primaryGy field may represent x coordinate and y coordinate values for the G-color of the corresponding video source, respectively. This may be in the form of a fractional number between 0 and 1.
  • the color_primaryBx field and the color_primaryBy field may represent x coordinate and y coordinate values for the B-color of the corresponding video source, respectively. This may be in the form of a fractional number between 0 and 1.
  • the color_whitePx field and the color_whitePy field may represent x coordinate and y coordinate values with respect to a white point of a corresponding video source, respectively. This may be in the form of a fractional number between 0 and 1.
  • FIG. 26 illustrates a scheme for defining color gamut information in a tkhd box according to an embodiment of the present invention.
  • the present invention defines information about two types of color gamut. One can be called the container color gamut and the other is called the content color gamut.
  • the container color gamut may include color gamut related information used in encoding, decoding, and / or mapping decoded pixel values.
  • the content color gamut may include information on color gamut of an original source. That is, the content color gamut may represent a valid color space volume applied to the actual content.
  • the optimized image mapping may be performed by using the color volume representing the effective range of the color representation applied to the actual content.
  • a primary signal for specifying an effective color volume may be signaled.
  • the present invention may store and signal the container color gamut information and / or the content color gamut information together when generating a media file based on ISO BMFF.
  • the color gamut information may be color gamut parameters related to a corresponding video track, a stream, a sample, and the like.
  • color gamut information (parameters) may be added to the tkhd box in the above-described moov box. Added color gamut information is shaded.
  • the tkhd box may include a container_wcg_flag field and / or a content_wcg_flag field. According to the values of the container_wcg_flag field and the content_wcg_flag field, the container_cg_config box and / or the content_cg_config box may be further included, respectively. These two boxes may be of the CG configuration box type described above.
  • the container_wcg_flag field may be a flag indicating that video samples of the corresponding video track (track described by the tkhd box) are encoded or decoded based on the WCG. This field may indicate whether detailed information about the container color gamut is included in the tkhd box. When the value of this field is 1, it may be indicated that video samples encoded on the basis of WCG are included in the corresponding video track. In addition, when the value of this field is 1, it may be indicated that container color gamut information related to video data of a corresponding video track exists in the tkhd box. In this case, the tkhd box may include a container_cg_config box, which is a CG configuration box.
  • the video decoder or the like can process the video data in the corresponding video track.
  • the container_cg_config box may include container color gamut information about video data of a corresponding video track.
  • This box is a CG configuration box and may include the fields of the above-described CG configuration box. These fields may describe the contents of the container color gamut, according to the above definition, for the corresponding video track, ie the track associated with the tkhd box.
  • the color_gamut_type field may indicate a container color gamut type of video samples of a corresponding video track. That is, it can refer to chromaticity coordination for color primers used at the time of encoding or at the time of decoding.
  • the color_space_transition_flag field may be a flag indicating whether, for video samples of the corresponding video track, the chromaticity coordination for color primaries used at encoding / decoding is changed to another chromaticity coordination.
  • the wcg_scg_transition_flag field may be a flag indicating whether a container color gamut of video samples of a corresponding video track is switched from WCG to SCG.
  • the scg_wcg_transition_flag field may be a flag indicating whether a container color gamut of video samples of a corresponding video track is switched from SCG to WCG.
  • the scg_compatibility_flag field may be a flag indicating whether a container color gamut of video samples of a corresponding video track is compatible with an SCG based decoder or display. Since this is information about container color gamut, this field may indicate whether the video data can be decoded even if the SCG-based decoder / display does not know the color gamut such as BT.2020.
  • the color_primary_flag field may be a flag indicating whether or not there is detailed information on chromaticity coordination of color primerless that can be used when encoding / decoding video samples of a corresponding video track.
  • the color_primaryRx field, color_primaryRy field, color_primaryGx field, color_primaryGy field, color_primaryBx field, color_primaryBy field, color_primaryBy field, color_whitePx field and / or color_whitePy field may be included as described above.
  • These fields may indicate the RGB color of the color primerless and the x and y coordinates of the white point, respectively, which may be used / used in encoding / decoding.
  • the content_wcg_flag field may be a flag indicating that, for an original source of video samples of a corresponding video track (track described by a tkhd box), an actual color representation range of the original source is generated based on WCG.
  • this field may indicate whether detailed information about the content color gamut is included in the tkhd box. In this case, detailed information on the content color gamut may be included in the form of the above-described CG configuration box. This box can be called the content_cg_config box.
  • BT.709, BT.2020 are examples of color gamut types
  • the content_cg_config box may include content color gamut information about video data of a corresponding video track.
  • This box is a CG configuration box and may include the fields of the above-described CG configuration box. These fields may describe the contents of the content color gamut according to the above definition, for the corresponding video track, that is, the track associated with the tkhd box.
  • the color_gamut_type field may indicate the content color gamut type of video samples of the corresponding video track. That is, this field may indicate chromaticity coordination with respect to the original source primary of the video data.
  • the color_space_transition_flag field may be a flag indicating whether, for the original source primers of video samples of the corresponding video track, the chromaticity coordination of these is changed to another chromaticity coordination.
  • the wcg_scg_transition_flag field may be a flag indicating whether content color gamut of video samples of a corresponding video track is switched from WCG to SCG.
  • the scg_wcg_transition_flag field may be a flag indicating whether content color gamut of video samples of a corresponding video track is switched from SCG to WCG.
  • the scg_compatibility_flag field may be a flag indicating whether content color gamut of video samples of a corresponding video track is compatible with an SCG based decoder or display. That is, when the value of this field is 1, it may represent that the effective color expression range of the corresponding video data is SCG compatible and no separate mapping is required.
  • the color_primary_flag field may be a flag indicating whether detailed information about the chromaticity coordination of the original source primerless of video samples of the corresponding video track exists.
  • color_primaryRx field may indicate the RGB color of the original source primerless and the x and y coordinates of the white point, respectively.
  • the tkhd box may include a container_wcg_flag field and / or a content_wcg_flag field. According to the values of the container_wcg_flag field and the content_wcg_flag field, flags for the container color gamut and / or flags for the content color gamut may be further included, respectively.
  • Flags for the container color gamut may include a container_color_space_transition_flag field, a container_wcg_scg_transition_flag field, a container_scg_wcg_transition_flag field, and / or a container_scg_compatibility_flag field.
  • Each may have the same meaning as the color_space_transition_flag field, wcg_scg_transition_flag field, scg_wcg_transition_flag field and / or scg_compatibility_flag field in the container_cg_config box described above.
  • Flags for the content color gamut may include a content_color_space_transition_flag field, a content_wcg_scg_transition_flag field, a content_scg_wcg_transition_flag field, and / or a content_scg_compatibility_flag field.
  • Each may have the same meaning as the color_space_transition_flag field, wcg_scg_transition_flag field, scg_wcg_transition_flag field and / or scg_compatibility_flag field in the above-described content_cg_config box.
  • FIG. 27 is a diagram illustrating a method of defining color gamut information in a vmhd box according to an embodiment of the present invention.
  • Color gamut information may be included in the structure of the above-described media file itself to store / transmit.
  • color gamut information (parameters) may be added to the vmhd box in the trak box described above. Added color gamut information is shaded.
  • the vmhd box may include the container_wcg_flag field and / or the content_wcg_flag field described above. According to the values of these fields, as described above, flags for the container color gamut or the content color gamut may be further included (t27010), or CG configuration boxes for the container color gamut or the content color gamut may be further included (t27020). Each flag and box is as described above in the embodiment for the tkhd box.
  • color gamut information may be simultaneously included in the tkhd box and the vmhd box.
  • embodiments of the color gamut information structure included in each box may be combined with each other.
  • the values of the color gamut information defined in the tkhd box may be overridden to the values of the color gamut information defined in the vmhd box. That is, when the values of the color gamut information defined in both are different, the value in the vmhd box may be used. If color gamut information is not included in the vmhd box, the color gamut information in the tkhd box may be used.
  • FIG. 28 is a diagram illustrating a method of defining color gamut information in a trex box according to an embodiment of the present invention.
  • Color gamut information may be included in the structure of the above-described media file itself to store / transmit.
  • color gamut information (parameters) may be added to the trex box in the above-described mvex box. Added color gamut information is shaded.
  • the trex box may include a default_container_wcg_flag field and / or a default_content_wcg_flag field.
  • a default_container_cg_config box which is a CG configuration box
  • the default_content_cg_config box which is a CG configuration box
  • the default_container_wcg_flag field may be a flag indicating that video data is encoded or decoded based on WCG by default when video data is included in the corresponding fragment.
  • this field may indicate that container color gamut information that can be used as a default for the corresponding video data is included in the trex box.
  • This default container color gamut information may be included in the form of a default_container_cg_config box, which is a CG configuration box.
  • the default_container_cg_config box may include default container color gamut information of video samples of the fragment.
  • This box is a CG configuration box, and its internal fields may have the meaning as described above. In this case, however, these fields may describe a container color gamut of video samples included in the corresponding track fragment. These field values may be used as default values of container color gamut information for video samples of the corresponding track fragment.
  • the default_content_wcg_flag field may be a flag indicating that an original source of the video data is generated based on WCG by default when the fragment includes video data.
  • this field may indicate that content color gamut information that can be used by default for the corresponding video data is included in the trex box.
  • This default content color gamut information may be included in the form of a default_content_cg_config box, which is a CG configuration box.
  • the default_content_cg_config box may include default content color gamut information of video samples of the corresponding fragment.
  • This box is a CG configuration box, and its internal fields may have the meaning as described above. In this case, however, these fields may describe the content color gamut of video samples included in the corresponding track fragment. These field values may be used as default values of content color gamut information for video samples of the corresponding track fragment.
  • FIG. 29 illustrates a scheme for defining color gamut information in a tfhd box according to an embodiment of the present invention.
  • Color gamut information may be included in the structure of the above-described media file itself to store / transmit.
  • color gamut information (parameters) may be added to the tfhd box in the above-described moof box. Added color gamut information is shaded.
  • the tfhd box may include the aforementioned container_wcg_flag field and / or the content_wcg_flag field.
  • the CG configuration boxes for the container color gamut or the content color gamut may be further included as described above.
  • These may be container_cg_config boxes and / or content_cg_config boxes, respectively, which are CG configuration boxes.
  • the tfhd box may further include color gamut information according to the tf_flags value.
  • the tf_flags value when the tf_flags value includes a value of 0x400000, it may be indicated that a default value of container color gamut information for video samples included in a track fragment in a corresponding fragment exists.
  • the tf_flags value indicating that the container color gamut information is present may have a value other than the 0x400000 value according to an embodiment. (0x400000: default-container-cg-configuration-present)
  • the tfhd box may include a default_container_cg_config box, which is a CG configuration box.
  • the default_container_cg_config box may play the same role as the default_container_cg_config box in the above-described trex box.
  • the tf_flags value includes a value of 0x800000 according to an embodiment, it may be indicated that a default value of content color gamut information for video samples included in a track fragment in a corresponding fragment exists.
  • the tf_flags value indicating that the content color gamut information exists may have a value other than the 0x800000 value according to an embodiment. (0x800000: default-content-cg-configuration-present)
  • the tfhd box may include a default_content_cg_config box, which is a CG configuration box.
  • the default_content_cg_config box may play the same role as the default_content_cg_config box in the above-described trex box.
  • FIG. 30 is a diagram illustrating a method of defining color gamut information in a trun box according to an embodiment of the present invention.
  • Color gamut information may be included in the structure of the above-described media file itself to store / transmit.
  • color gamut information (parameters) may be added to the trun box in the traf box described above. Added color gamut information is shaded.
  • the trun box may include the container_wcg_flag field and / or the content_wcg_flag field described above.
  • the CG configuration boxes for the container color gamut or the content color gamut may be further included as described above.
  • These may be container_cg_config boxes and / or content_cg_config boxes, respectively, which are CG configuration boxes.
  • the trun box may include the aforementioned container_wcg_flag field and / or the content_wcg_flag field. According to the values of these fields, as described above, flags related to the container color gamut or the content color gamut may be further included. Through this, container / content color gamut information that can be commonly applied to video samples included in the corresponding track fragment can be stored and signaled.
  • Each flag and box is as described above in the embodiment for the tkhd box. In this case, however, each field may describe container / content color gamut information about video samples included in the corresponding track fragment.
  • FIG. 31 is a diagram illustrating a method of defining color gamut information in a trun box according to another embodiment of the present invention.
  • the trun box may further include color gamut information according to the tf_flags value.
  • the tf_flags value when the tf_flags value includes a value of 0x010000, it may be indicated whether there is container color gamut information that can be commonly applied to video samples included in the track fragment in the corresponding fragment.
  • the tf_flags value indicating that container color gamut information is present may have a value other than 0x010000 according to an embodiment. (0x010000: container-cg-configuration-present)
  • the trun box may include a container_cg_config box, which is a CG configuration box.
  • the container_cg_config box may play the same role as the container_cg_config box in the aforementioned tfhd box.
  • the tf_flags value when the tf_flags value includes a value of 0x020000, it may be indicated whether there is content color gamut information that can be commonly applied to video samples included in the track fragment in the corresponding fragment.
  • the tf_flags value indicating that the content color gamut information exists may have a value other than the 0x020000 value according to an embodiment. (0x020000: content-cg-configuration-present)
  • the trun box may include a content_cg_config box, which is a CG configuration box.
  • the content_cg_config box may play the same role as the content_cg_config box in the aforementioned tfhd box.
  • CG configuration boxes may describe container / content color gamut information that can be commonly applied to video samples of the corresponding track fragment.
  • the trun box may further include color gamut information according to the tf_flags value.
  • the tf_flags value when the tf_flags value includes a value of 0x100000, it may be indicated whether there is container color gamut information that can be individually applied to each of the video samples of the track fragment in the corresponding fragment.
  • the tf_flags value indicating that container color gamut information is present may have a value other than 0x100000 according to an embodiment. (0x100000: sample-container-cg-configuration-present)
  • the trun box may include a sample_container_cg_config box, which is a CG configuration box.
  • the sample_container_cg_config box plays the same role as the container_cg_config box in the above-described embodiment t31010.
  • each field may describe container color gamut information that can be individually applied to each video sample of the corresponding track fragment. .
  • the tf_flags value when the tf_flags value includes a value of 0x200000, it may be indicated whether there is content color gamut information that can be individually applied to each of the video samples of the track fragment in the corresponding fragment.
  • the tf_flags value indicating that the content color gamut information exists may have a value other than the 0x200000 value according to an embodiment. (0x200000: sample-content-cg-configuration-present)
  • the trun box may include a sample_content_cg_config box, which is a CG configuration box.
  • the sample_content_cg_config box plays the same role as the content_cg_config box in the above-described embodiment t31010. However, in this case, each field may describe content color gamut information that can be individually applied to each video sample of the corresponding track fragment. .
  • these CG configuration boxes can describe container / content color gamut information that can be applied to each of the samples individually for video samples of the corresponding track fragment.
  • 32 is a diagram illustrating a method of defining color gamut information in various flags, sample group entries, or sample entries according to an embodiment of the present invention.
  • default gasample related flags shown on default_sample_flags in a trex box, default_sample_flags in a tfhd box, sample_flags in a trun box, and / or first_sample_flags in a trun box may be added.
  • a container_wcg_flag field, a container_scg_compatibility_flag field, a content_wcg_flag field, and / or a content_scg_compatibility_flag field may be included on each flag.
  • the container_wcg_flag field may be a flag indicating whether the container color gamut of the corresponding sample is WCG.
  • the container_scg_compatibility_flag field may be a flag indicating whether the container color gamut of the corresponding sample is compatible with the SCG based decoder / display. When the flag is set, a decoder / display that supports only SCG can decode the sample, and can decide whether to decode the sample and output the sample.
  • the content_wcg_flag field may be a flag indicating whether a content color gamut of a corresponding sample is WCG.
  • the content_scg_compatibility_flag field may be a flag indicating whether the content color gamut of the corresponding sample is compatible with the SCG based decoder / display. When the flag is set, a decoder / display that supports only SCG can process the sample, and can determine whether to decode / display the sample.
  • color gamut information may be included in a visual sampel group entry. If the same container / content color gamut related flag can be applied to one or more video samples present in one media file or fragment, color gamut flags as shown in the illustrated embodiment may be further included in the visual sample group entry.
  • the illustrated color gamut related flags have the same meaning as the above-mentioned flags of the same name, but in this case, the corresponding sample group may be described. That is, the container_wcg_flag field may indicate whether the container color gamut of the sample group is WCG. In addition, according to the value of this field, whether the flag color gamut related flags for the corresponding sample group exist may be indicated.
  • the content_wcg_flag field may indicate whether the content color gamut of the corresponding sample group is WCG. In addition, according to the value of this field, whether the content color gamut related flags for the corresponding sample group exists may be indicated.
  • the container_color_space_transition_flag field may be a flag indicating whether the chromaticity coordination of the color primitives used by the samples in the corresponding sample group or used during decoding is changed to another chromaticity coordination.
  • the container_wcg_scg_transition_flag field may be a flag indicating whether the sample container color gamut is switched from WCG to SCG in the corresponding sample group.
  • the container_scg_wcg_transition_flag field may be a flag indicating whether the container color gamut of a sample is switched from SCG to WCG in the sample group.
  • the container_scg_compatibility_flag field may be a flag indicating whether a container color gamut of samples in a corresponding sample group is compatible with an SCG based decoder / display.
  • the content_color_space_transition_flag field may be a flag indicating whether the chromaticity coordination of the original source primerless of the samples in the sample group is changed to another chromaticity coordination.
  • the content_wcg_scg_transition_flag field may be a flag indicating whether the content color gamut of a sample is switched from WCG to SCG in the corresponding sample group.
  • the content_scg_wcg_transition_flag field may be a flag indicating whether a content color gamut of a sample is switched from SCG to WCG in a corresponding sample group.
  • the content_scg_compatibility_flag field may be a flag indicating whether the content color gamut of the samples in the corresponding sample group is compatible with the SCG based decoder / display.
  • color gamut information may be included in a visual sample group entry.
  • the container / content color gamut information (parameter) can be applied to one or more video samples present in one media file or fragment, the container / content color gamut information is added to the visual sample group entry as shown in the illustrated embodiment. It may be further included.
  • the visual sample group entry may include a container_wcg_flag field and / or a content_wcg_flag field.
  • the container_cg_config box and / or the content_cg_config box which are CG configuration boxes, may be further included according to the values of these fields.
  • the information in this CG configuration box may have the same meaning as the information in the above-mentioned CG configuration box. In this case, however, each piece of information may be described for the corresponding sample group. That is, the information in the CG configuration box may provide container / content color gamut information that can be commonly applied to video samples of the corresponding sample group.
  • 33 is a diagram illustrating a method of defining color gamut information in various flags, sample group entries, or sample entries according to another embodiment of the present invention.
  • color gamut information may be included in a visual sampel entry.
  • initialization information required to decode respective video samples present in one media file or fragment color gamut related flags related to the sample may be further included in the visual sample entry.
  • the visual sample entry may include a container_wcg_flag field and / or a content_wcg_flag field.
  • Container / content color gamut related flags may be further included according to the values of these fields. The meanings of these flags are as defined in the above visual sample group entry, but in this case, each flag may describe one corresponding sample rather than the sample group.
  • the container_wcg_flag field may indicate that a sample in an associated video track or track fragment is encoded / decoded based on WCG. In addition, depending on the value of this field, it may be indicated whether or not there are container color gamut related flags for the corresponding sample.
  • the content_wcg_flag field may indicate whether an original source of a sample in an associated video track or track fragment was generated based on WCG. In addition, according to the value of this field, whether or not there are content color gamut related flags for a corresponding sample may be indicated.
  • the container_color_space_transition_flag field may be a flag indicating whether the chromaticity coordination of color privacy of the container color gamut of the corresponding video sample is changed to another chromaticity coordination.
  • the container_wcg_scg_transition_flag field may be a flag indicating whether the container color gamut of the corresponding video sample is switched from WCG to SCG.
  • the container_scg_wcg_transition_flag field may be a flag indicating whether the container color gamut of the corresponding video sample is switched from the SCG to the WCG.
  • the container_scg_compatibility_flag field may be a flag indicating whether the container color gamut of the corresponding video sample is compatible with the SCG based decoder / display.
  • the content_color_space_transition_flag field may be a flag indicating whether the chromaticity coordination of the original source primerless of the content color gamut of the corresponding video sample is changed to another chromaticity coordination.
  • the content_wcg_scg_transition_flag field may be a flag indicating whether a content color gamut of a corresponding video sample is switched from WCG to SCG.
  • the content_scg_wcg_transition_flag field may be a flag indicating whether the content color gamut of the corresponding video sample is switched from the SCG to the WCG.
  • the content_scg_compatibility_flag field may be a flag indicating whether the content color gamut of the corresponding video sample is compatible with the SCG based decoder / display.
  • color gamut information may be included in a visual sampel entry.
  • color gamut information parameter
  • a container_wcg_flag field and / or a content_wcg_flag field may be included.
  • the container_cg_config box and / or the content_cg_config box which are CG configuration boxes, may be further included according to the values of these fields.
  • the information in this CG configuration box may have the same meaning as the information in the above-mentioned CG configuration box. In this case, however, each piece of information may describe the corresponding video sample.
  • FIG. 34 is a diagram illustrating a method of defining color gamut information in an HEVC sample entry, an HEVC configuration box, or an HEVC decoder configuration record according to an embodiment of the present invention.
  • color gamut information may be included in the HEVC sample entry HEVCSampleEntry.
  • color gamut information related to each HEVC sample or the like may be added as shown.
  • the color gamut information to be added may be added in the form of the above-described CG configuration box according to an embodiment.
  • color gamut information may be added in the same manner as AVC sample entry (AVCSampleEntry), AVC2 sample entry (AVC2SampleEntry), SVC sample entry (SVCSampleEntry), MVC sample entry (MVCSampleEntry).
  • color gamut information may be included in an HEVC configuration box.
  • color gamut information related to each HEVC sample or the like may be added as shown.
  • the color gamut information to be added may be added in the form of the above-described CG configuration box according to an embodiment. In this case, whether to add a CG configuration box may be indicated by flag fields.
  • color gamut information may be added in the same manner as AVC configuration box (AVCConfigurationBox), SVC configuration box (SVCConfigurationBox), MVC configuration box (MVCConfigurationBox).
  • color gamut related flags may be included in the HEVC configuration box, not including the CG configuration box.
  • color gamut information may be included in the HEVC decoder configuration record (HEVCDecoderConfigurationRecord).
  • HEVCDecoderConfigurationRecord As initialization information required to decode respective HEVC samples present in the media file or fragment, color gamut information related to each HEVC sample or the like may be added as shown.
  • the color gamut information to be added may be added in the form of the above-described CG configuration box according to an embodiment. In this case, whether to add the CG configuration box may be performed by the container_cg_flag field and / or the content_cg_flag field.
  • color gamut information may be added in the same manner as AVC decoder configuration record (AVCDecoderConfigurationRecord), SVC decoder configuration record (SVCDecoderConfigurationRecord), MVC decoder configuration record (MVCDecoderConfigurationRecord) and the like.
  • 35 is a diagram illustrating a method of storing / delivering color gamut information by defining a CG information SEI box according to an embodiment of the present invention.
  • the present invention defines a CG information SEI box (CGInformationSEIBox) (t35010).
  • This box contains an SEI NAL unit, which may have an SEI message containing color gamut related information.
  • the CG Information SEI box may be called a cisb box.
  • the CG information SEI box may be included in the visual sample entry, the HEVC configuration box and / or the HEVC sample entry, as shown in the illustrated embodiments (t35020, t35030, t35040). Also, according to an embodiment, it may be included in an AVC sample entry, an MVC sample entry, and an SVC sample entry.
  • FIG. 36 illustrates a media engine operation of a receiver based on WCG information processing capability according to an embodiment of the present invention.
  • the parser of the receiver may parse ISOBMFF based media files, DASH segments and / or MMT MPUs. According to the parsing result, WCG video samples may be delivered to a video decoder, and color gamut information (metadata) may be delivered to a metadata parser.
  • the video decoder may decode video samples to obtain WCG video data. If there is color gamut related information obtained in this process, it can be delivered to the metadata parser.
  • the metadata parser can parse the received color gamut metadata.
  • the container / content color gamut information obtained here may be utilized in the receiver process.
  • the metadata parser may serve as a buffer or metadata update. The update may be performed using set_number, version_number, and the like.
  • the number of cases may be divided according to whether the content color gamut information is included in the received data. If the content color gamut information is not included, the receiver may determine whether the display color gamut is greater than or equal to the container color gamut. If the display color gamut is greater than or equal to the container color gamut, the receiver may provide a full WCG display. If the display color gamut is smaller than the container color gamut, the receiver may perform gamut mapping from the container color gamut to the display color gamut. The receiver may then provide an SCG display or a partial WCG display. In this process, the common container color gamut related information received from the metadata parser may be used.
  • the receiver may determine whether the display color gamut is greater than or equal to the content color gamut. If the display color gamut is greater than or equal to the content color gamut, the receiver may provide a full WCG display. If the display color gamut is smaller than the content color gamut, the receiver may perform gamut mapping from the content color gamut to the display color gamut. The receiver may then provide an SCG display or a partial WCG display. In this process, the common content color gamut related information received from the metadata parser may be used.
  • the present invention proposes a method of storing / delivering HDR information and / or color gamut information using a media file format.
  • the present invention can improve efficiency in various next generation content systems supporting UHD, hybrid broadcasting, etc. by defining HDR information and / or color gamut information in the media file itself, rather than a separate signaling path.
  • signaling information about HDR and color gamut may not need to be separately configured for HDR media data or WCG media data.
  • the information on the HDR to WCG can be identified by the media file itself, and the receiver can grasp the HDR or WCG-related information before decoding the video data and determine how to process it accordingly.
  • HDR to color gamut related information is defined in the most basic media file itself, without having to be signaled separately, compatibility with various storage / delivery systems can be ensured. That is, the method proposed in the present invention can be used if the system uses the media file format without additional structure change or improvement of the storage / transmission system.
  • the receiver may provide the media data as it is intended at the time of generating the media data. That is, HDR, WCG configuration of the media file itself, which is not changed by signaling information or the like, can be provided.
  • the level-by-level signaling can be efficiently performed by utilizing the box high key structure in the media file. That is, the default HDR, WCG values can be defined for the range covered by the box in the upper level box (eg one track fragment), and then the range covered by the box in the lower level box (eg video sample). Individual HDR and WCG parameters can be defined to override the default value.
  • FIG. 37 is a diagram illustrating a method of transmitting media content according to an embodiment of the present invention.
  • the media content transmission method may include generating media files, processing the media files into segments, and / or transmitting the segments.
  • the file generator of the transmitting side may generate media files including information on the presentation of the media content.
  • This media file may be based on ISOBMFF.
  • At least one media file may comprise a movie block and / or at least one fragment.
  • the movie block may correspond to the above-described moov box.
  • the movie block may include metadata about the presentation of the media file.
  • the movie block may include at least one track block.
  • the track block here may be against the trak box described above.
  • the track block may include metadata about the track of the presentation.
  • the fragment may mean a fragment of the aforementioned media file.
  • At least one fragment may include a movie fragment block and / or a media data block.
  • the movie fragment block may correspond to the above described moof box.
  • the movie fragment block may provide metadata about the presentation of the fragment.
  • the media data block may correspond to the mdat box described above.
  • the media data block may include video samples for presentation of the fragment. That is, the media data block may include actual media data for media presentation.
  • the segment processor of the transmitter may process the generated media files into a plurality of segments.
  • the segment may be a DASH segment.
  • the generating of the media file and the processing of the segment into segments may be performed simultaneously, and may be performed in one step. That is, the transmitting side can generate the media segment immediately.
  • the segment may include an initialization segment including an ftyp box and a moov box, and a media segment including the above-described fragment.
  • the transmitter of the transmitter may transmit the generated plurality of segments.
  • the corresponding segments may be transmitted to the receiver through a broadcasting network or a broadband.
  • the aforementioned track block may further include a track header block.
  • the track header block may correspond to the tkhd box described above.
  • the track header block may describe the characteristics for that track.
  • the track may mean an audio track, a video track, or a specific track included in the media.
  • the track header block may include first HDR information or first WCG information. These may provide HDR, WCG information for video samples of the track, ie video data. These may be respectively HDR information and WCG information in the tkhd box described above.
  • the HDR information and the WCG information may follow one of the forms described in the above-described embodiments.
  • the first HDR information may include an HDR flag indicating whether or not HDR video samples supporting HDR are included in a corresponding track.
  • the HDR flag may correspond to the above described hdr_flag field.
  • the first HDR information may further include an HDR type flag indicating whether the HDR related parameter for the HDR video samples is changed in the corresponding track.
  • the HDR type flag may correspond to the hdr_type_transition_flag field described above.
  • the first HDR information may further include an SDR-HDR transition flag indicating whether video samples are switched from SDR video samples supporting SDR to HDR video samples within the track.
  • the SDR-HDR transition flag may correspond to the aforementioned hdr_sdr_transition_flag field.
  • the first HDR information may further include an HDR-SDR transition flag indicating whether the video samples are switched from HDR video samples to SDR video samples within the track.
  • the HDR-SDR transition flag may be the aforementioned sdr_hdr_transition_flag field.
  • the first HDR information may further include an SDR compatible flag indicating whether HDR video samples of the track are compatible with a decoder supporting SDR.
  • the SDR compatibility flag may correspond to the aforementioned sdr_compatibility_flag field.
  • the first WCG information includes content color gamut information for providing color gamut information of the media content and / or color ant used in the encoding process of the media content. It may include container color gamut information for providing information.
  • the container / content color gamut information is as described above. According to an embodiment, not only one of the two pieces of information is sent, but also the two pieces of information are sent together, thereby enabling efficient color gamut processing in the receiver.
  • the content color ant information further includes a WCG-SCG transition flag indicating whether the content color ant of video samples is switched from WCG to SCG in the corresponding track. can do.
  • the WCG-SCG transition flag may correspond to the aforementioned content_wcg_scg_transition_flag field.
  • the content color ant information may further include an SCG-WCG transition flag indicating whether a content color ant of video samples is switched from SCG to WCG in the corresponding track.
  • the SCG-WCG transition flag may correspond to the aforementioned content_scg_wcg_transition_flag field.
  • the container color ant information may further include a WCG-SCG transition flag indicating whether a container color ant of video samples is switched from WCG to Standard Color Gamut (SCG) in the corresponding track.
  • the WCG-SCG transition flag may correspond to the aforementioned container_wcg_scg_transition_flag field.
  • the container color ant information may further include an SCG-WCG transition flag indicating whether the container color ant of video samples is switched from SCG to WCG in the corresponding track.
  • the SCG-WCG transition flag may correspond to the aforementioned container_scg_wcg_transition_flag field.
  • the movie fragment block may further include a movie fragment track header block that provides metadata about a track fragment included in the fragment.
  • the movie fragment track header block may correspond to the tfhd box described above.
  • the movie fragment track header block may further include second HDR information for video samples of the track fragment.
  • the second HDR information may provide HDR information for video samples of the corresponding track fragment.
  • This HDR information may be HDR information in the tfhd box described above. In this case, the HDR information may follow one of the forms described in the above-described embodiments.
  • the HDR flag included in the second HDR information may indicate whether the HDR video samples are included in the track fragment. This HDR flag may correspond to the hdr_flag field included in the aforementioned tfhd box.
  • the HDR type flag included in the second HDR information may indicate whether the HDR related parameter for the HDR video samples is changed in the corresponding track fragment. This HDR type flag may correspond to the hdr_type_transition_flag field included in the aforementioned tfhd box.
  • the SDR-HDR transition flag of the second HDR information may indicate whether video samples are switched from SDR video samples to HDR video samples within the track fragment.
  • This SDR-HDR transition flag may correspond to the hdr_sdr_transition_flag field included in the above-described tfhd box.
  • the HDR-SDR transition flag of the second HDR information may indicate whether video samples are switched from HDR video samples to SDR video samples within the track fragment.
  • This HDR-SDR transition flag may correspond to the sdr_hdr_transition_flag field included in the above-described tfhd box.
  • the SDR compatible flag of the second HDR information may indicate whether the HDR video samples of the track fragment are compatible with a decoder supporting SDR.
  • This SDR compatibility flag may correspond to the sdr_compatibility_flag field included in the aforementioned tfhd box.
  • the movie fragment block may further include a movie fragment track run block that provides metadata for video samples of the track fragment.
  • the movie fragment track run block may correspond to the trun box described above.
  • the movie fragment track run block may further include third HDR information for each video sample.
  • the third DR information may provide HDR information for each video sample of the corresponding track fragment.
  • This HDR information may be HDR information in the trun box described above. In this case, the HDR information may follow one of the forms described in the above-described embodiments.
  • the HDR flag of the third HDR information may indicate whether the corresponding video sample is an HDR video sample that supports HDR. This HDR flag may correspond to the hdr_type_transition_flag field of the sample_hdr_config box included in the aforementioned trun box.
  • the HDR type flag of the third HDR information may indicate whether the changed HDR related parameter is applied from the corresponding video sample. This HDR type flag may correspond to the hdr_sdr_transition_flag field of the sample_hdr_config box included in the aforementioned trun box.
  • the SDR-HDR transition flag of the third HDR information may indicate whether to switch from the corresponding video sample to the SDR video sample to the HDR video sample.
  • This SDR-HDR transition flag may correspond to the sdr_hdr_transition_flag field of the sample_hdr_config box included in the trun box described above.
  • the HDR-SDR transition flag of the third HDR information may indicate whether to switch from the corresponding video sample to the SDR video sample from the HDR video sample.
  • This HDR-SDR transition flag may correspond to the sdr_hdr_transition_flag field of the sample_hdr_config box included in the above-described trun box.
  • the SDR compatibility flag of the third HDR information may indicate whether the corresponding video sample is compatible with a decoder supporting SDR. This SDR compatibility flag may correspond to the sdr_compatibility_flag field of the sample_hdr_config box included in the trun box described above.
  • the third HDR information May be applied to the corresponding video sample.
  • the HDR information defined in the tfhd box can be overridden by the HDR information defined for each individual sample in the trun box. That is, the HDR information of the trun box may be applied more preferentially.
  • a method of receiving media content according to an embodiment of the present invention will be described. This method is not shown in the figure.
  • a method of receiving a media content the receiving unit receiving a plurality of segments, a processing unit receiving a segment to obtain a media file, and obtaining HDR information and WCG information therefrom;
  • the method may include displaying the media presentation using the information obtained by the display unit.
  • Media content reception methods may correspond to the media content transmission methods according to the embodiments of the present invention described above.
  • the media content receiving methods may be performed by hardware modules corresponding to modules (eg, a file generator, a segment processor, a transmitter, etc.) used in the media content transmission method.
  • the method of receiving media content may have embodiments corresponding to the embodiments of the aforementioned media content transmission method.
  • 38 is a diagram illustrating an apparatus for transmitting media content according to an embodiment of the present invention.
  • the media content transmission device may include the file generator, the segment processor, and / or the transmitter.
  • Each block, module is as described above.
  • the media content transmission device and its internal modules / blocks according to an embodiment of the present invention can perform the above-described embodiments of the method for delivering media content of the present invention.
  • An apparatus for receiving media content may include the above-described receiver, segment processor, and / or display unit. Each block, module is as described above.
  • the media content receiving apparatus and its internal modules / blocks according to an embodiment of the present invention can perform the above-described embodiments of the method for receiving media content of the present invention.
  • the above-described blocks / modules in the device may be processors for executing consecutive processes stored in a memory, and according to embodiments, may be hardware elements located in / outside the device.
  • the above-described modules may be omitted or replaced by other modules performing similar / same operations according to the embodiment.
  • the module or unit may be processors that execute successive procedures stored in a memory (or storage unit). Each of the steps described in the above embodiments may be performed by hardware / processors. Each module / block / unit described in the above embodiments can operate as a hardware / processor.
  • the methods proposed by the present invention can be executed as code. This code can be written to a processor readable storage medium and thus read by a processor provided by an apparatus.
  • Apparatus and method according to the present invention is not limited to the configuration and method of the embodiments described as described above, the above-described embodiments may be selectively all or part of each embodiment so that various modifications can be made It may be configured in combination.
  • the processor-readable recording medium includes all kinds of recording devices that store data that can be read by the processor.
  • Examples of the processor-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like, and may also be implemented in the form of a carrier wave such as transmission over the Internet.
  • the processor-readable recording medium can also be distributed over network coupled computer systems so that the processor-readable code is stored and executed in a distributed fashion.
  • the present invention is used in the field of providing a series of broadcast signals.

Abstract

본 발명은 방송 신호를 전송하는 방법을 제안한다. 본 발명에 따른 방송 신호를 전송하는 방법은, 지상파 방송망과 인터넷 망을 사용하는 차세대 하이브리드 방송을 지원하는 환경에서 차세대 방송 서비스를 지원할 수 있는 시스템을 제안한다. 또한, 차세대 하이브리드 방송을 지원하는 환경에서, 지상파 방송망과 인터넷 망을 모두 아우를 수 있는 효율적인 시그널링 방안을 제안한다.

Description

방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
본 발명은 방송 신호 송신 장치, 방송 신호 수신 장치, 및 방송 신호 송수신 방법에 관한 것이다.
아날로그 방송 신호 송신이 종료됨에 따라, 디지털 방송 신호를 송수신하기 위한 다양한 기술이 개발되고 있다. 디지털 방송 신호는 아날로그 방송 신호에 비해 더 많은 양의 비디오/오디오 데이터를 포함할 수 있고, 비디오/오디오 데이터뿐만 아니라 다양한 종류의 부가 데이터를 더 포함할 수 있다.
즉, 디지털 방송 시스템은 HD(High Definition) 이미지, 멀티채널(multi channel, 다채널) 오디오, 및 다양한 부가 서비스를 제공할 수 있다. 그러나, 디지털 방송을 위해서는, 많은 양의 데이터 전송에 대한 데이터 전송 효율, 송수신 네트워크의 견고성(robustness), 및 모바일 수신 장치를 고려한 네트워크 유연성(flexibility)이 향상되어야 한다.
본 발명의 목적에 따라, 여기에 포함되고 대략적으로 기재된 바와 같이, 본 발명은 지상파 방송망과 인터넷 망을 사용하는 차세대 하이브리드 방송을 지원하는 환경에서 차세대 방송 서비스를 효과적으로 지원할 수 있는 시스템 및 관련된 시그널링 방안을 제안한다.
본 발명은 미디어 파일 내에 HDR 정보, WCG 정보를 정의하여 저장하고 전달하는 방안을 제안한다.
본 발명의 방법은 효과적으로 HDR 정보, WCG 정보를 저장하고 전달할 수 있다. 본 발명의 방법은 비디오 샘플 혹은 트랙 프래그먼트 단위로 비디오 샘플의 HDR 정보, WCG 정보에 변화가 있는 경우에 효과적인 시그널링 방안을 제안한다. 본 발명의 방법은 HDR 정보, WCG 정보의 효과적인 레벨별 시그널링을 제안한다. 본 발명의 방법은 해당 미디어 파일 포맷을 사용하는 다양한 저장, 전송 시스템에서 우수한 호환성을 제공할 수 있다.
본 발명에 대해 더욱 이해하기 위해 포함되며 본 출원에 포함되고 그 일부를 구성하는 첨부된 도면은 본 발명의 원리를 설명하는 상세한 설명과 함께 본 발명의 실시예를 나타낸다.
도 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 은 본 발명의 일 실시예에 따른 하이브리드 방송 수신 장치를 나타낸 도면이다.
도 12 는 본 발명의 일 실시예에 따른 DASH 기반 적응형(Adaptive) 스트리밍 모델의 전반적인 동작을 도시한 도면이다.
도 13 은 본 발명의 일 실시예에 따른 수신기의 블락 다이어그램을 도시한 도면이다.
도 14 는 본 발명의 일 실시예에 따른 미디어 파일의 구조를 도시한 도면이다.
도 15 는 본 발명의 일 실시예에 따른 HDR 정보를 제공하기 위한 HDR 컨피규레이션 박스를 나타낸 도면이다.
도 16 은 본 발명의 일 실시예에 따른, HDR 정보를 tkhd 박스 내에 정의하는 방안을 도시한 도면이다.
도 17 은 본 발명의 일 실시예에 따른, HDR 정보를 vmhd 박스 내에 정의하는 방안을 도시한 도면이다.
도 18 은 본 발명의 일 실시예에 따른, HDR 정보를 trex 박스 내에 정의하는 방안을 도시한 도면이다.
도 19 는 본 발명의 일 실시예에 따른, HDR 정보를 tfhd 박스 내에 정의하는 방안을 도시한 도면이다.
도 20 은 본 발명의 일 실시예에 따른, HDR 정보를 trun 박스 내에 정의하는 방안을 도시한 도면이다.
도 21 은 본 발명의 일 실시예에 따른, HDR 정보를 각종 플래그, 샘플 그룹 엔트리 또는 샘플 엔트리 내에 정의하는 방안을 도시한 도면이다.
도 22 는 본 발명의 일 실시예에 따른, HDR 정보를 HEVC 샘플 엔트리, HEVC 컨피규레이션 박스 또는 HEVC 디코더 컨피규레이션 레코드 내에 정의하는 방안을 도시한 도면이다.
도 23 은 본 발명의 일 실시예에 따른, HDR 정보 SEI 박스를 정의하여 HDR 정보를 저장/전달하는 방안을 도시한 도면이다.
도 24 는 본 발명의 일 실시예에 따른, HDR 정보 처리 능력에 기반한 수신기의 미디어 엔진 동작을 도시한 도면이다.
도 25 는 본 발명의 일 실시예에 따른, Color gamut 정보를 제공하기 위한 CG 컨피규레이션 박스를 나타낸 도면이다.
도 26 은 본 발명의 일 실시예에 따른, Color gamut 정보를 tkhd 박스 내에 정의하는 방안을 도시한 도면이다.
도 27 은 본 발명의 일 실시예에 따른, Color gamut 정보를 vmhd 박스 내에 정의하는 방안을 도시한 도면이다.
도 28 은 본 발명의 일 실시예에 따른, Color gamut 정보를 trex 박스 내에 정의하는 방안을 도시한 도면이다.
도 29 는 본 발명의 일 실시예에 따른, color gamut 정보를 tfhd 박스 내에 정의하는 방안을 도시한 도면이다.
도 30 은 본 발명의 일 실시예에 따른, color gamut 정보를 trun 박스 내에 정의하는 방안을 도시한 도면이다.
도 31 은 본 발명의 다른 실시예에 따른, color gamut 정보를 trun 박스 내에 정의하는 방안을 도시한 도면이다.
도 32 는 본 발명의 일 실시예에 따른, color gamut 정보를 각종 플래그, 샘플 그룹 엔트리 또는 샘플 엔트리 내에 정의하는 방안을 도시한 도면이다.
도 33 은 본 발명의 다른 실시예에 따른, color gamut 정보를 각종 플래그, 샘플 그룹 엔트리 또는 샘플 엔트리 내에 정의하는 방안을 도시한 도면이다.
도 34 는 본 발명의 일 실시예에 따른, color gamut 정보를 HEVC 샘플 엔트리, HEVC 컨피규레이션 박스 또는 HEVC 디코더 컨피규레이션 레코드 내에 정의하는 방안을 도시한 도면이다.
도 35 는 본 발명의 일 실시예에 따른, CG 정보 SEI 박스를 정의하여 color gamut 정보를 저장/전달하는 방안을 도시한 도면이다.
도 36 은 본 발명의 일 실시예에 따른, WCG 정보 처리 능력에 기반한 수신기의 미디어 엔진 동작을 도시한 도면이다.
도 37 은 본 발명의 일 실시예에 따른 미디어 컨텐트 전송 방법을 도시한 도면이다.
도 38 은 본 발명의 일 실시예에 따른 미디어 컨텐트 전송 장치를 도시한 도면이다.
본 발명의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 본 발명의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 본 발명의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 본 발명에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 본 발명이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.
본 발명에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 본 발명은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.
본 발명은 차세대 방송 서비스에 대한 방송 신호 송신 및 수신 장치 및 방법을 제공한다. 본 발명의 일 실시예에 따른 차세대 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스, 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,pm번째 프레임에서 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 제너레이터의 사이클릭 시프트 값(심볼 오프셋)을 기반으로 생성된 인터리빙 어드레스이다.
도 11 은 본 발명의 일 실시예에 따른 하이브리드 방송 수신 장치를 나타낸 도면이다.
하이브리드 방송 시스템은 지상파 방송망 및 인터넷 망을 연동하여 방송 신호를 송신할 수 있다. 하이브리드 방송 수신 장치는 지상파 방송망 (브로드캐스트) 및 인터넷 망 (브로드밴드)을 통해 방송 신호를 수신할 수 있다. 하이브리드 방송 수신 장치는 피지컬 레이어 모듈, 피지컬 레이어 I/F 모듈, 서비스/컨텐트 획득 컨트롤러, 인터넷 억세스 제어 모듈, 시그널링 디코더, 서비스 시그널링 매니저, 서비스 가이드 매니저, 어플리케이션 시그널링 매니저, 경보 신호 매니저, 경보 신호 파서, 타겟팅 신호 파서, 스트리밍 미디어 엔진, 비실시간 파일 프로세서, 컴포넌트 싱크로나이저, 타겟팅 프로세서, 어플리케이션 프로세서, A/V 프로세서, 디바이스 매니저, 데이터 셰어링 및 커뮤니케이션 유닛, 재분배 모듈, 컴패니언 디바이스 및/또는 외부 모듈들을 포함할 수 있다.
피지컬 레이어 모듈 (Physical Layer Module(s))은 지상파 방송 채널을 통하여 방송 관련 신호를 수신 및 처리하고 이를 적절한 형태로 변환하여 피지컬 레이어 I/F 모듈로 전달할 수 있다.
피지컬 레이어 I/F 모듈 (Physical Layer I/F Module(s))은 Physical layer Module로 부터 획득된 정보로부터 IP 데이터 그램을 획득할 수 있다. 또한, 피지컬 레이어 I/F 모듈은 획득된 IP 데이터그램 등을 특정 프레임(예를 들어 RS Frame, GSE 등) 으로 변환할 수 있다.
서비스/컨텐트 획득 컨트롤러 (Service/Content Acquisition Controller)는 broadcast 및/또는 broadband 채널을 통한 서비스, 콘텐츠 및 이와 관련된 시그널링 데이터 획득을 위한 제어 동작을 수행할 수 있다.
인터넷 억세스 제어 모듈(Internet Access Control Module(s))은 Broadband 채널을 통하여 서비스, 콘텐츠 등을 획득하기 위한 수신기 동작을 제어할 수 있다.
시그널링 디코더 (Signaling Decoder)는 broadcast 채널 등을 통하여 획득한 시그널링 정보를 디코딩할 수 있다.
서비스 시그널링 매니저 (Service Signaling Manager)는 IP 데이터 그램 등으로부터 서비스 스캔 및 서비스/콘텐츠 등과 관련된 시그널링 정보 추출, 파싱 및 관리할 수 있다.
서비스 가이드 매니저 (Service Guide Manager)는 IP 데이터 그램 등으로 부터 announcement 정보를 추출하고 SG(Service Guide) database 관리하며, service guide를 제공할 수 있다.
어플리케이션 시그널링 매니저 (App Signaling Manager)는 IP 데이터 그램 등으로 부터 애플리케이션 획득 등과 관련된 시그널링 정보 추출, 파싱 및 관리할 수 있다.
경보 신호 파서 (Alert Signaling Parser)는 IP 데이터 그램 등으로 부터 alerting 관련된 시그널링 정보 추출 및 파싱, 관리할 수 있다.
타겟팅 신호 파서 (Targeting Signaling Parser)는 IP 데이터 그램 등으로 부터 서비스/콘텐츠 개인화 혹은 타겟팅 관련된 시그널링 정보 추출 및 파싱, 관리할 수 있다. 또한 타겟팅 신호 파서는 파싱된 시그널링 정보를 타겟팅 프로세서로 전달할 수 있다.
스트리밍 미디어 엔진 (Streaming Media Engine)은 IP 데이터그램 등으로 부터 A/V 스트리밍을 위한 오디오/비디오 데이터 추출 및 디코딩할 수 있다.
비실시간 파일 프로세서 (Non-real time File Processor)는 IP 데이터그램 등으로 부터 NRT 데이터 및 application 등 파일 형태 데이터 추출 및 디코딩, 관리할 수 있다.
컴포넌트 싱크로나이저 (Component Synchronizer)는 스트리밍 오디오/비디오 데이터 및 NRT 데이터 등의 콘텐츠 및 서비스를 동기화할 수 있다.
타겟팅 프로세서 (Targeting Processor)는 타겟팅 신호 파서로부터 수신한 타겟팅 시그널링 데이터에 기초하여 서비스/콘텐츠의 개인화 관련 연산을 처리할 수 있다.
어플리케이션 프로세서 (App Processor)는 application 관련 정보 및 다운로드 된 application 상태 및 디스플레이 파라미터 처리할 수 있다.
A/V 프로세서 (A/V Processor)는 디코딩된 audio 및 video data, application 데이터 등을 기반으로 오디오/비디오 랜더링 관련 동작을 수행할 수 있다.
디바이스 매니저 (Device Manager)는 외부 장치와의 연결 및 데이터 교환 동작을 수행할 수 있다. 또한 디바이스 매니저는 연동 가능한 외부 장치의 추가/삭제/갱신 등 외부 장치에 대한 관리 동작을 수행할 수 있다.
데이터 셰어링 및 커뮤니케이션 유닛 (Data Sharing & Comm.)은 하이브리드 방송 수신기와 외부 장치 간의 데이터 전송 및 교환에 관련된 정보를 처리할 수 있다. 여기서, 전송 및 교환 가능한 데이터는 시그널링, A/V 데이터 등이 될 수 있다.
재분배 모듈 (Redistribution Module(s))은 방송 수신기가 지상파 방송 신호를 직접 수신 하지 못하는 경우 차세대 방송 서비스 및 콘텐츠에 대한 관련 정보를 획득할 수 있다. 또한 재분배 모듈은 방송 수신기가 지상파 방송 신호를 직접 수신 하지 못하는 경우 차세대 방송 시스템에 의한 방송 서비스 및 콘텐츠 획득을 지원할 수 있다.
컴패니언 디바이스 (Companion device(s))는 본 발명의 방송 수신기에 연결되어 오디오, 비디오, 또는 시그널링 포함데이터를 공유할 수 있다. 컴패니언 디바이스는 방송 수신기와 연결된 외부 장치를 지칭할 수 있다.
외부 모듈 (External Management)는 방송 서비스/콘텐츠 제공을 위한 모듈을 지칭할 수 있으며 예를들어 차세대 방송 서비스/컨텐츠 서버가 될 수 있다. 외부 모듈은 방송 수신기와 연결된 외부 장치를 지칭할 수 있다.
도 12 는 본 발명의 일 실시예에 따른 DASH 기반 적응형(Adaptive) 스트리밍 모델의 전반적인 동작을 도시한 도면이다.
본 발명은 HDR (High Dynamic Range) 지원 가능한 컨텐트를 제공하는 차세대 미디어 서비스 제공 방안을 제안한다. 풍부한 밝기 표현이 가능한 HDR 컨텐트가 제공되는 경우에 있어, 본 발명은 이와 관련한 메타데이터 및 그 전달방안을 제안한다. 이를 통해 컨텐트의 다양한 장면별 특성에 따라 적응적으로 컨텐트가 조정될 수 있고, 컨텐트가 개선된 화질로 제공될 수 있다.
UHD 방송 등의 경우, 기존의 컨텐트들이 표현하지 못했던 밝기가 표현될 수 있어, 고도의 현장감이 제공될 수 있다. HDR 의 도입으로 컨텐트 영상의 밝기의 표현 범위가 증가되어, 컨텐트의 장면별 특성의 차이가 이전보다 커질 수 있다. 컨텐트의 장면별 특징들을 효과적으로 디스플레이에 나타내기 위하여, 메타데이터가 정의되고 이 것들이 수신기로 전달될 수 있다. 수신기에서는 전달받은 메타데이터들을 기반으로, 서비스 프로바이더가 의도한 바에 따라 적절하게 컨텐트의 영상이 제공될 수 있다.
본 발명은 ISOBMFF 등의 미디어 파일을 기반으로, HDR 을 제공하는 컨텐트의 비디오 트랙, 비디오 샘플 등과 관련된 HDR 파라미터를 시그널링하는 방안을 제안한다. 본 발명은 비디오 트랙(스트림)과 관련된 HDR 플래그들 및/또는 파라미터를 저장하고 시그널링하는 방안을 제안한다. 본 발명은 비디오 샘플, 비디오 샘플 그룹 또는 비디오 샘플 엔트리에 관련된 HDR 플래그들 및/또는 파라미터를 저장하고 시그널링하는 방안을 제안한다. 본 발명은 HDR 관련 정보를 포함하는 SEI NAL 유닛을 저장하고 시그널링하는 방안을 제안한다.
본 발명에 따른 HDR 정보의 저장/전달 방안은, HDR 을 지원하는 컨텐트의 생성에 있어 활용될 수 있다. 즉, HDR 을 지원하는 컨텐트에 대한 미디어 파일의 생성, MPEG DASH 상에서 동작하는 DASH 세그먼트의 생성 또는 MPEG MMT 상에서 동작하는 MPU 생성시에, 본 발명의 방안이 활용될 수 있다. 수신기(DASH 클라이언트, MMT 클라이언트 등을 포함)는, 디코더 등에서 HDR 정보(플래그, 파라미터, 박스 등등)을 획득하여, 이를 기반으로 해당 컨텐트를 효과적으로 제공할 수 있다.
후술할 HDR 컨피규레이션 박스 또는 HDR 관련 플래그 정보들은, 미디어 파일, DASH 세그먼트 또는 MMT MPU 내의 여러 박스들에 동시에 존재할 수도 있다. 이 경우, 상위 박스에서 정의된 HDR 정보들은 하위 박스에서 정의된 HDR 정보들에 의해 오버라이드(override) 될 수 있다. 예를 들어 tkhd 박스와 vmhd 박스에 HDR 정보가 동시에 포함되는 경우, tkhd 박스의 HDR 정보는 vmhd 박스의 HDR 정보로 오버라이드될 수 있다.
도시된 실시예에 따른 DASH 기반 적응형 스트리밍 모델은, HTTP 서버와 DASH 클라이언트 간의 동작을 기술하고 있다. 여기서 DASH (Dynamic Adaptive Streaming over HTTP) 는, HTTP 기반 적응형 스트리밍을 지원하기 위한 프로토콜로서, 네트워크 상황에 따라 동적으로 스트리밍을 지원할 수 있다. 이에 따라 AV 컨텐트 재생이 끊김없이 제공될 수 있다.
먼저 DASH 클라이언트는 MPD 를 획득할 수 있다. MPD 는 HTTP 서버 등의 서비스 프로바이더로부터 전달될 수 있다. MPD 는 전술한 딜리버리 실시예에 따라 전달될 수도 있다. DASH 클라이언트는 MPD 에 기술된 세그먼트에의 접근 정보를 이용하여 서버로 해당 세그먼트들을 요청할 수 있다. 여기서 이 요청은 네트워크 상태를 반영하여 수행될 수 있다.
DASH 클라이언트는 해당 세그먼트를 획득한 후, 이를 미디어 엔진에서 처리하여 화면에 디스플레이할 수 있다. DASH 클라이언트는 재생 시간 및/또는 네트워크 상황 등을 실시간으로 반영하여, 필요한 세그먼트를 요청, 획득할 수 있다(Adaptive Streaming). 이를 통해 컨텐트가 끊김없이 재생될 수 있다.
MPD (Media Presentation Description) 는 DASH 클라이언트로 하여금 세그먼트를 동적으로 획득할 수 있도록 하기 위한 상세 정보를 포함하는 파일로서 XML 형태로 표현될 수 있다. 이 MPD 는 실시예에 따라 전술한 MPD 와 같을 수 있다.
DASH 클라이언트 컨트롤러(DASH Client Controller) 는 네트워크 상황을 반영하여 MPD 및/또는 세그먼트를 요청하는 커맨드를 생성할 수 있다. 또한, 이 컨트롤러는 획득된 정보를 미디어 엔진 등등의 내부 블락에서 사용할 수 있도록 제어할 수 있다.
MPD 파서(Parser) 는 획득한 MPD 를 실시간으로 파싱할 수 있다. 이를 통해, DASH 클라이언트 컨트롤러는 필요한 세그먼트를 획득할 수 있는 커맨드를 생성할 수 있게 될 수 있다.
세그먼트 파서(Parser) 는 획득한 세그먼트를 실시간으로 파싱할 수 있다. 세그먼트에 포함된 정보들에 따라 미디어 엔진 등의 내부 블락들은 특정 동작을 수행할 수 있다.
HTTP 클라이언트는 필요한 MPD 및/또는 세그먼트 등을 HTTP 서버에 요청할 수 있다. 또한 HTTP 클라이언트는 서버로부터 획득한 MPD 및/또는 세그먼트들을 MPD 파서 또는 세그먼트 파서로 전달할 수 있다.
미디어 엔진(Media Engine) 은 세그먼트에 포함된 미디어 데이터를 이용하여 컨텐트를 화면상에 표시할 수 있다. 이 때, MPD 의 정보들이 활용될 수 있다.
도 13 은 본 발명의 일 실시예에 따른 수신기의 블락 다이어그램을 도시한 도면이다.
도시된 실시예에 따른 수신기는 Tuner, Physical Layer Controller, Physical Frame Parser, Link Layer Frame Processor, IP/UDP Datagram Filter, DTV Control Engine, Route Client, Segment Buffer Control, MMT Client, MPU reconstruction, Media Processor, Signaling Parser, DASH Client, ISO BMFF Parser, Media Decoder 및/또는 HTTP Access Client 를 포함할 수 있다. 수신기의 각 세부 블락들은 하드웨어인 프로세서일 수 있다.
Tuner는 지상파 방송 채널을 통하여 방송 신호를 수신 및 처리하고 이를 적절한 형태 (Physical Frame 등)로 변환할 수 있다. Physical Layer Controller는 수신하고자 하는 방송 채널의 RF 정보 등을 이용하여 Tuner, Physical Frame Parser 등의 동작을 제어할 수 있다. Physical Frame Parser는 수신된 Physical Frame을 파싱하고 이와 관련된 프로세싱을 통하여 Link Layer Frame 등을 획득할 수 있다.
Link Layer Frame Processor는 Link Layer Frame으로 부터 Link Layer signaling 등을 획득하거나 IP/UDP 데이터그램 획득하고 관련된 연산을 수행할 수 있다. IP/UDP Datagram Filter는 수신된 IP/UDP 데이터 그램들로부터 특정 IP/UDP 데이터 그램을 필터링할 수 있다. DTV Control Engine은 각 구성 간의 인터페이스를 담당하며 파라미터 등의 전달을 통해 각 구성의 동작을 제어할 수 있다.
Route Client는 실시간 오브젝트 전송을 지원하는 ROUTE (Real-Time Object Delivery over Unidirectional Transport) 패킷을 처리하고 여러 패킷들을 수집 및 처리하여 하나 이상의 ISOBMFF (ISO Base Media File Format) 오브젝트를 생성할 수 있다. Segment Buffer Control는 Route Client와 Dash Client 간의 세그먼트 (segment) 전송 관련한 버퍼를 제어할 수 있다.
MMT Client는 실시간 오브젝트 전송을 지원하는 MMT (MPEG Media Transport) 전송 프로토콜 패킷을 처리하고 여러 패킷을 수집 및 처리할 수 있다. MPU reconstruction는 MMTP 패킷으로부터 MPU (Media Processing Unit)을 재구성할 수 있다. Media Processor는 재구성된 MPU를 수집하고 처리할 수 있다.
Signaling Parser는 DTV 방송 서비스 관련 시그널링 (Link Layer/ Service Layer Signaling) 획득 및 파싱하고 이를 기반으로 채널 맵 등을 생성 및/또는 관리할 수 있다. 이 구성은 로우 레벨 시그널링, 서비스 레벨 시그널링을 처리할 수 있다.
DASH Client는 실시간 스트리밍 혹은 적응적 스트리밍 관련 연산 및 획득된 DASH Segment 등을 처리할 수 있다. ISO BMFF Parser는 ISO BMFF 오브젝트로부터 오디오/비디오의 데이터 및 관련 파라미터 등을 추출할 수 있다. Media Decoder는 수신된 audio 및 video data를 decoding 및/또는 presentation 처리할 수 있다. HTTP Access Client는 HTTP 서버로부터 특정 정보를 요청하고 요청에 대한 응답을 처리할 수 있다.
도 14 는 본 발명의 일 실시예에 따른 미디어 파일의 구조를 도시한 도면이다.
오디오 또는 비디오 등의 미디어 데이터를 저장하고 전송하기 위하여, 정형화된 미디어 파일 포맷이 정의될 수 있다. 실시예에 따라 본 발명의 미디어 파일은 ISO BMFF (ISO base media file format) 를 기반으로한 파일 포맷을 가질 수 있다.
본 발명에 따른 미디어 파일은 적어도 하나 이상의 박스를 포함할 수 있다. 여기서 박스(box)는 미디어 데이터 또는 미디어 데이터에 관련된 메타데이터 등을 포함하는 데이터 블락 내지 오브젝트일 수 있다. 박스들은 서로 계층적 구조를 이룰 수 있으며, 이에 따라 데이터들이 분류되어 미디어 파일이 대용량 미디어 데이터의 저장 및/또는 전송에 적합한 형태를 띄게 될 수 있다. 또한 미디어 파일은, 사용자가 미디어 컨텐츠의 특정지점으로 이동하는 등, 미디어 정보에 접근하는데 있어 용이한 구조를 가질 수 있다.
본 발명에 따른 미디어 파일은 ftyp 박스, moov 박스 및/또는 mdat 박스를 포함할 수 있다.
ftyp 박스(파일 타입 박스)는 해당 미디어 파일에 대한 파일 타입 또는 호환성 관련 정보를 제공할 수 있다. ftyp 박스는 해당 미디어 파일의 미디어 데이터에 대한 구성 버전 정보를 포함할 수 있다. 복호기는 ftyp 박스를 참조하여 해당 미디어 파일을 구분할 수 있다.
moov 박스(무비 박스)는 해당 미디어 파일의 미디어 데이터에 대한 메타 데이터를 포함하는 박스일 수 있다. moov 박스는 모든 메타 데이터들을 위한 컨테이너 역할을 할 수 있다. moov 박스는 메타 데이터 관련 박스들 중 최상위 계층의 박스일 수 있다. 실시예에 따라 moov 박스는 미디어 파일 내에 하나만 존재할 수 있다.
mdat 박스(미디어 데이터 박스) 는 해당 미디어 파일의 실제 미디어 데이터들을 담는 박스일 수 있다. 미디어 데이터들은 오디오 샘플 및/또는 비디오 샘플들을 포함할 수 있는데, mdat 박스는 이러한 미디어 샘플들을 담는 컨테이너 역할을 할 수 있다.
실시예에 따라 전술한 moov 박스는 mvhd 박스, trak 박스 및/또는 mvex 박스 등을 하위 박스로서 더 포함할 수 있다.
mvhd 박스(무비 헤더 박스)는 해당 미디어 파일에 포함되는 미디어 데이터의 미디어 프리젠테이션 관련 정보를 포함할 수 있다. 즉, mvhd 박스는 해당 미디어 프리젠테이션의 미디어 생성시간, 변경시간, 시간규격, 기간 등의 정보를 포함할 수 있다.
trak 박스(트랙 박스)는 해당 미디어 데이터의 트랙에 관련된 정보를 제공할 수 있다. trak 박스는 오디오 트랙 또는 비디오 트랙에 대한 스트림 관련 정보, 프리젠테이션 관련 정보, 액세스 관련 정보 등의 정보를 포함할 수 있다. trak 박스는 트랙의 개수에 따라 복수개 존재할 수 있다.
trak 박스는 실시예에 따라 tkhd 박스(트랙 헤더 박스)를 하위 박스로서 더 포함할 수 있다. tkhd 박스는 trak 박스가 나타내는 해당 트랙에 대한 정보를 포함할 수 있다. tkhd 박스는 해당 트랙의 생성시간, 변경시간, 트랙 식별자 등의 정보를 포함할 수 있다.
mvex 박스(무비 익스텐드 박스)는 해당 미디어 파일에 후술할 moof 박스가 있을 수 있음을 지시할 수 있다. 특정 트랙의 모든 미디어 샘플들을 알기 위해서, moof 박스들이 스캔되어야할 수 있다.
본 발명에 따른 미디어 파일은, 실시예에 따라, 복수개의 프래그먼트로 나뉘어질 수 있다(t14010). 이를 통해 미디어 파일이 분할되어 저장되거나 전송될 수 있다. 미디어 파일의 미디어 데이터들(mdat 박스)은 복수개의 프래그먼트로 나뉘어지고, 각각의 프래그먼트는 moof 박스와 나뉘어진 mdat 박스를 포함할 수 있다. 실시예에 따라 프래그먼트들을 활용하기 위해서는 ftyp 박스 및/또는 moov 박스의 정보가 필요할 수 있다.
moof 박스(무비 프래그먼트 박스)는 해당 프래그먼트의 미디어 데이터에 대한 메타 데이터를 제공할 수 있다. moof 박스는 해당 프래그먼트의 메타데이터 관련 박스들 중 최상위 계층의 박스일 수 있다.
mdat 박스(미디어 데이터 박스)는 전술한 바와 같이 실제 미디어 데이터를 포함할 수 있다. 이 mdat 박스는 각각의 해당 프래그먼트에 해당하는 미디어 데이터들의 미디어 샘플들을 포함할 수 있다.
실시예에 따라 전술한 moof 박스는 mfhd 박스 및/또는 traf 박스 등을 하위 박스로서 더 포함할 수 있다.
mfhd 박스(무비 프래그먼트 헤더 박스)는 분할된 복수개의 프래그먼트들 간의 연관성과 관련한 정보들을 포함할 수 있다. mfhd 박스는 시퀀스 넘버(sequence number) 를 포함하여, 해당 프래그먼트의 미디어 데이터가 분할된 몇 번째 데이터인지를 나타낼 수 있다. 또한, mfhd 박스를 이용하여 분할된 데이터 중 누락된 것은 없는지 여부가 확인될 수 있다.
traf 박스(트랙 프래그먼트 박스)는 해당 트랙 프래그먼트에 대한 정보를 포함할 수 있다. traf 박스는 해당 프래그먼트에 포함되는 분할된 트랙 프래그먼트에 대한 메타데이터를 제공할 수 있다. traf 박스는 해당 트랙 프래그먼트 내의 미디어 샘플들이 복호화/재생될 수 있도록 메타데이터를 제공할 수 있다. traf 박스는 트랙 프래그먼트의 개수에 따라 복수개 존재할 수 있다.
실시예에 따라 전술한 traf 박스는 tfhd 박스 및/또는 trun 박스 등을 하위 박스로서 더 포함할 수 있다.
tfhd 박스(트랙 프래그먼트 헤더 박스)는 해당 트랙 프래그먼트의 헤더 정보를 포함할 수 있다. tfhd 박스는 전술한 traf 박스가 나타내는 트랙 프래그먼트의 미디어 샘플들에 대하여, 기본적인 샘플크기, 기간, 오프셋, 식별자 등의 정보를 제공할 수 있다.
trun 박스(트랙 프래그먼트 런 박스)는 해당 트랙 프래그먼트 관련 정보를 포함할 수 있다. trun 박스는 미디어 샘플별 기간, 크기, 재생시점 등과 같은 정보를 포함할 수 있다.
전술한 미디어 파일 내지 미디어 파일의 프래그먼트들은 세그먼트들로 처리되어 전송될 수 있다. 세그먼트에는 초기화 세그먼트(initialization segment) 및/또는 미디어 세그먼트(media segment) 가 있을 수 있다.
도시된 실시예(t14020)의 파일은, 미디어 데이터는 제외하고 미디어 디코더의 초기화와 관련된 정보 등을 포함하는 파일일 수 있다. 이 파일은 예를 들어 전술한 초기화 세그먼트에 해당할 수 있다. 초기화 세그먼트는 전술한 ftyp 박스 및/또는 moov 박스를 포함할 수 있다.
도시된 실시예(t14030)의 파일은, 전술한 프래그먼트를 포함하는 파일일 수 있다. 이 파일은 예를 들어 전술한 미디어 세그먼트에 해당할 수 있다. 미디어 세그먼트는 전술한 moof 박스 및/또는 mdat 박스를 포함할 수 있다. 또한, 미디어 세그먼트는 styp 박스 및/또는 sidx 박스를 더 포함할 수 있다.
styp 박스(세그먼트 타입 박스) 는 분할된 프래그먼트의 미디어 데이터를 식별하기 위한 정보를 제공할 수 있다. styp 박스는 분할된 프래그먼트에 대해, 전술한 ftyp 박스와 같은 역할을 수행할 수 있다. 실시예에 따라 styp 박스는 ftyp 박스와 동일한 포맷을 가질 수 있다.
sidx 박스(세그먼트 인덱스 박스) 는 분할된 프래그먼트에 대한 인덱스를 나타내는 정보를 제공할 수 있다. 이를 통해 해당 분할된 프래그먼트가 몇번째 프래그먼트인지가 지시될 수 있다.
실시예에 따라(t14040) ssix 박스가 더 포함될 수 있는데, ssix 박스(서브 세그먼트 인덱스 박스)는 세그먼트가 서브 세그먼트로 더 나뉘어지는 경우에 있어, 그 서브 세그먼트의 인덱스를 나타내는 정보를 제공할 수 있다.
미디어 파일 내의 박스들은, 도시된 실시예(t14050)와 같은 박스 내지 풀 박스(FullBox) 형태를 기반으로, 더 확장된 정보들을 포함할 수 있다. 이 실시예에서 size 필드, largesize 필드는 해당 박스의 길이를 바이트 단위 등으로 나타낼 수 있다. version 필드는 해당 박스 포맷의 버전을 나타낼 수 있다. type 필드는 해당 박스의 타입 내지 식별자를 나타낼 수 있다. flags 필드는 해당 박스와 관련된 플래그 등을 나타낼 수 있다.
도 15 는 본 발명의 일 실시예에 따른 HDR 정보를 제공하기 위한 HDR 컨피규레이션 박스를 나타낸 도면이다.
미디어 파일 내의 비디오 트랙 내지 비디오 샘플들에 관련된 HDR 정보를 제공하기 위하여, HDR 컨피규레이션 박스가 정의될 수 있다. HDR 컨피규레이션 박스는 미디어 파일 내에 위치할 수 있다. 실시예에 따라 HDR 컨피규레이션 박스는 moov 박스, moof 박스 또는 제 3 의 박스에 포함될 수도 있다. HDR 컨피규레이션 박스는 hdrc 박스라 불릴 수도 있다.
HDR 컨피규레이션 박스는 hdr_config 필드를 가질 수 있다. hdr_config 필드는 OETF_type 필드, max_mastering_display_luminance 필드, min_mastering_display_luminance 필드, hdr_type_transition_flag 필드, hdr_sdr_transition_flag 필드, sdr_hdr_transition_flag 필드, sdr_compatibility_flag 필드, average_frame_luminance_level 필드 및/또는 max_frame_pixel_luminance 필드를 포함할 수 있다.
OETF_type 필드는 해당 비디오 데이터의 소스 OETF (opto-electronic transfer function) 의 타입을 지시할 수 있다. 본 필드의 값이 1, 2, 3 인 경우, 각각 ITU-R BT.1886, ITU-R BT.709, ITU-R BT.2020 타입에 해당할 수 있다. 다른 값은 향후 사용을 위해 남겨둘 수 있다.
max_mastering_display_luminance 필드는 해당 비디오 데이터의 마스터링 디스플레이의 피크 루미넌스(peak luminance) 값을 나타낼 수 있다. 이 값은 100-1000 사이의 정수 값일 수 있다.
min_mastering_display_luminance 필드는 해당 비디오 데이터의 마스터링 디스플레이의 최소 루미넌스(minimum luminance) 값을 나타낼 수 있다. 이 값은 0-0.1 사이의 분수(fractional number) 값일 수 있다.
hdr_type_transition_flag 필드는 해당 비디오 데이터에 대한 HDR 정보가 변경되어 다른 타입의 HDR 정보가 적용되는지 여부를 나타내는 플래그일 수 있다.
hdr_sdr_transition_flag 필드는 해당 비디오 데이터가 HDR 에서 SDR 로 전환되는지 여부를 나타내는 플래그일 수 있다.
sdr_hdr_transition_flag 필드는 해당 비디오 데이터가 SDR 에서 HDR 로 전환되는지 여부를 나타내는 플래그일 수 있다.
sdr_compatibility_flag 필드는 해당 비디오 데이터가 SDR 디코더 내지 SDR 디스플레이와 호환이 가능한지 여부를 나타내는 플래그일 수 있다.
average_frame_luminance_level 필드는 하나의 비디오 샘플에 대해서는 루미넌스 레벨의 평균값을 나타낼 수 있다. 또한 본 필드는 샘플 그룹 또는 비디오 트랙(스트림)에 대해서는 그곳에 소속된 샘플 각각의 루미넌스 레벨의 평균값들 중 최대값을 나타낼 수 있다.
max_frame_pixel_luminance 필드는 하나의 비디오 샘플에 대해서는 픽셀 루미넌스 값 중의 최대값을 나타낼 수 있다. 또한 본 필드는 샘플 그룹 또는 비디오 트랙(스트림)에 대해서는 그곳에 소속된 샘플 각각의 픽셀 루미넌스 최대값들 중 가장 큰 값을 나타낼 수 있다.
상기 필드들이 기술하는 대상인 "해당 비디오 데이터" 는, 미디어 파일 내의 비디오 트랙, 비디오 샘플 그룹 또는 각각의 비디오 샘플들일 수 있다. 기술 대상에 따라 각 필드들이 기술하는 범위가 달라질 수 있다. 예를 들어 hdr_type_transition_flag 필드는 해당 비디오 트랙이 HDR 에서 SDR 로 전환되는지를 지시하거나, 비디오 샘플 하나가 HDR 에서 SDR 로 전환되는지 여부를 지시할 수 있다.
도 16 은 본 발명의 일 실시예에 따른, HDR 정보를 tkhd 박스 내에 정의하는 방안을 도시한 도면이다.
전술한 미디어 파일의 구조 자체에 HDR 정보를 포함시켜 저장/전송할 수 있다. 본 실시예에서는 전술한 moov 박스 내의 tkhd 박스에 HDR 정보(파라미터)들이 추가될 수 있다. 추가된 HDR 정보들은 음영표시 되었다.
도시된 실시예(t16010)에서, hdr_flag 필드는 tkhd 박스가 기술하는 해당 비디오 트랙 내에 HDR 비디오 데이터가 포함되어 있는지 여부를 지시하는 플래그일 수 있다. 이 필드의 값이 1 인 경우, 해당 비디오 트랙 내에 HDR 비디오 데이터가 포함되어 있을 수 있다. 이 필드의 값이 1 인 경우, 후술할 4 개의 플래그 필드들이 존재할 수 있다.
hdr_flag 및 후술할 플래그 필드 값을 기반으로 비디오 디코더 등에서 해당 비디오 트랙 내의 비디오 데이터를 처리할 수 있는지 여부 등을 결정할 수 있다. 예를 들어 SDR 만 처리 가능한 디코더의 경우 HDR_flag =1 이고 SDR_compatibility =0 인 경우 해당비디오 데이터들을 처리할 수 없음을 알 수 있다.
hdr_type_transition_flag 필드는 해당 비디오 트랙 내의 HDR 비디오 데이터에 관련된 HDR 정보(파라미터)들이 변경되었는지 여부를 나타내는 플래그일 수 있다. 이 필드의 값이 1 인 경우, 해당 비디오 트랙 내의 HDR 비디오 데이터에 대한 HDR 정보가 다른 HDR 정보로 변경되었을 수 있다.
hdr_sdr_transition_flag 필드는 해당 비디오 트랙 내의 비디오 데이터가 HDR 에서 SDR 로 전환되는지 여부를 지시하는 플래그일 수 있다. 이 필드의 값이 1 인 경우, 해당 비디오 데이터가 HDR 에서 SDR 로 전환됨이 확인될 수 있다.
sdr_hdr_transition_flag 필드는 해당 비디오 트랙 내의 비디오 데이터가 SDR 에서 HDR 로 전환되는지 여부를 지시하는 플래그일 수 있다. 이 필드의 값이 1 인 경우, 해당 비디오 데이터가 SDR 에서 HDR 로 전환됨이 확인될 수 있다.
sdr_compatibility_flag 필드는 해당 비디오 트랙 내의 비디오 데이터가 SDR 을 지원하는 디코더 내지 디스플레이와 호환이 가능한지 여부를 나타내는 플래그일 수 있다. 이 필드의 값이 1 인 경우, 해당 비디오 트랙 내의 HDR 비디오 데이터가 SDR 을 지원하는 장치들과 호환이 가능함이 확인될 수 있다. 이 필드의 값이 1 인 경우, SDR 을 지원하는 디코더/디스플레이 장치들은 해당 비디오 트랙에 포함된 HDR 비디오 데이터를 디코딩/디스플레이할지 여부 등을 결정할 수 있다.
실시예에 따라 Transition 관련 플래그가 1로 설정되는 경우 디코더 등에서 비디오 데이터 처리 이전에 이와 관련된 비디오 내의 데이터 (SEI 등)을 확인하게 만들 수 있다.
실시예에 따라(t16020), tkhd 박스 내에 전술한 HDR 컨피규레이션 박스가 추가될 수도 있다. 본 실시예에서의 hdr_flag 필드는 전술한 실시예(t16010) 에서의 hdr_flag 필드와 같을 수 있다. 단 이 경우, hdr_flag 필드의 값이 1 일 때, tkhd 박스 내에 전술한 4 개의 플래그 대신, HDR 컨피규레이션 박스 타입을 가지는 hdr_config 박스가 존재함이 지시될 수 있다.
여기서 hdr_config 박스는 해당 비디오 트랙 내에 포함된 비디오 데이터에 대한 HDR 정보들을 포함할 수 있다. 이 박스는 전술한 HDR 컨피규레이션 박스 타입을 가지므로, 전술한 바와 같이 OETF_type 필드, max_mastering_display_luminance 필드, min_mastering_display_luminance 필드, hdr_type_transition_flag 필드, hdr_sdr_transition_flag 필드, sdr_hdr_transition_flag 필드, sdr_compatibility_flag 필드, average_frame_luminance_level 필드 및/또는 max_frame_pixel_luminance 필드를 포함할 수 있다.
이 필드들에 대한 정의는 전술한 바와 같으나, 이 실시예에서는 HDR 컨피규레이션 박스가 tkhd 박스 내에 존재하므로, 이 필드들은 해당 비디오 트랙에 대한 정보들을 기술할 수 있다. 예를 들어 OETF_type 필드는 "해당 비디오 트랙" 내의 비디오 데이터에 대한 OETF 타입을 지시할 수 있다. 특시 hdr_type_transition_flag 필드, hdr_sdr_transition_flag 필드, sdr_hdr_transition_flag 필드 및/또는 sdr_compatibility_flag 필드는 전술한 실시예(t16010)에서의 4개의 플래그 필드와 같은 의미일 수 있다.
실시예에 따라 이 HDR 컨피규레이션 박스 내의 average_frame_luminance_level 필드는 해당 비디오 트랙 내의 비디오 샘플들 각각의 루미넌스 레벨의 평균값들 중, 최대값을 나타낼 수 있다. 또한 max_frame_pixel_luminance 필드는 해당 비디오 트랙 내의 비디오 샘플들 각각의 픽셀 루미넌스의 최대값들 중, 가장 큰 값을 나타낼 수 있다.
도 17 은 본 발명의 일 실시예에 따른, HDR 정보를 vmhd 박스 내에 정의하는 방안을 도시한 도면이다.
전술한 미디어 파일의 구조 자체에 HDR 정보를 포함시켜 저장/전송할 수 있다. 본 실시예에서는 전술한 trak 박스 내의 vmhd 박스에 HDR 정보(파라미터)들이 추가될 수 있다. 추가된 HDR 정보들은 음영표시 되었다.
여기서 vmhd 박스(비디오 미디어 헤더 박스) 는 전술한 trak 박스의 하위 박스로서, 해당 비디오 트랙에 대한 일반적인(general) 프리젠테이션 관련 정보를 제공할 수 있다.
도시된 실시예(t17010)에서, hdr_flag 필드가 포함될 수 있다. 또한 hdr_flag 필드의 값에 따라 hdr_type_transition_flag 필드, hdr_sdr_transition_flag 필드, sdr_hdr_transition_flag 필드 및/또는 sdr_compatibility_flag 필드가 더 포함될 수 있다. 이 필드들은 전술한 tkhd 박스 내의 동명의 필드들과 같은 역할을 수행할 수 있다.
또한, 도시된 실시예(t17020)에서, hdr_flag 필드가 포함될 수 있다. 또한 hdr_flag 필드의 값에 따라 HDR 컨피규레이션 박스인 hdr_config 박스가 더 포함될 수 있다. hdr_flag 필드 및 hdr_config 박스는 전술한 tkhd 박스 내의 동명의 필드, 박스와 같은 역할을 수행할 수 있다.
즉, 도시된 실시예들에서, vmhd 박스 내의 HDR 정보들은, 해당 비디오 트랙에 포함되는 비디오 데이터들에 대한 HDR 정보를 제공할 수 있다.
실시예에 따라, tkhd 박스와 vmhd 박스에 HDR 정보가 동시에 포함될 수도 있다. 이 경우 각각의 박스에 포함되는 HDR 정보 구조의 실시예들은 서로 조합될 수 있다. tkhd 박스와 vmhd 박스에 HDR 정보가 동시에 포함되는 경우, tkhd 박스에 정의된 HDR 정보들의 값은, vmhd 박스에 정의된 HDR 정보들의 값으로 오버라이드(override) 될 수 있다. 즉, 양자에 정의된 HDR 정보들의 값이 다른 경우, vmhd 박스 내의 값이 사용될 수 있다. vmhd 박스 내에 HDR 정보가 포함되어 있지 않은 경우, tkhd 박스 내의 HDR 정보가 사용될 수 있다.
도 18 은 본 발명의 일 실시예에 따른, HDR 정보를 trex 박스 내에 정의하는 방안을 도시한 도면이다.
전술한 미디어 파일의 구조 자체에 HDR 정보를 포함시켜 저장/전송할 수 있다. 본 실시예에서는 전술한 mvex 박스 내의 trex 박스에 HDR 정보(파라미터)들이 추가될 수 있다. 추가된 HDR 정보들은 음영표시 되었다.
여기서 trex 박스(트랙 익스탠드 박스) 는 전술한 mvex 박스의 하위 박스로서, 각각의 무비 프래그먼트에 의해 사용되는 디폴트 값들을 셋업할 수 있다. 이 박스는 디폴트 값을 제공함으로써, traf 박스 내의 공간과 복잡성을 줄일 수 있다.
trex 박스는 default_hdr_flag 필드 및/또는 default_sample_hdr_flag 필드를 포함할 수 있다. default_hdr_flag 필드의 값에 따라 HDR 컨피규레이션 박스인 default_hdr_config 박스가 더 포함될 수 있다. 또한 default_sample_hdr_flag 필드의 값에 따라 HDR 컨피규레이션 박스인 default_sample_hdr_config 박스가 더 포함될 수도 있다.
default_hdr_flag 필드는 해당 프래그먼트에 포함된 비디오 트랙 프래그먼트에 HDR 비디오 데이터가 포함되어 있는지 여부를 나타내는 플래그일 수 있다. 이 필드의 값이 1 인 경우, 해당 프래그먼트에 HDR 비디오 데이터가 디폴트로 포함되어 있음이 지시될 수 있다. 이 필드의 값이 1 인 경우, HDR 컨피규레이션 박스인 default_hdr_config 박스가 더 포함될 수 있다.
default_hdr_config 박스는 해당 비디오 트랙 프래그먼트에 포함되는 비디오 샘플들에 공통적으로 적용될 수 있는 HDR 정보들을 포함할 수 있다. 본 박스는 전술한 HDR 컨피규레이션 박스로서, 전술한 HDR 컨피규레이션 박스의 필드들을 포함할 수 있다.
본 박스의 필드들 중 average_frame_luminance_level 필드 및/또는 max_frame_pixel_luminance 필드를 제외한 다른 필드들은, 전술한 tkhd 박스에 포함되는 HDR 컨피규레이션 박스 내의 동명의 필드들과 같은 역할을 수행할 수 있다. average_frame_luminance_level 필드는 해당 프래그먼트 내의 트랙 프래그먼트에 소속된 비디오 샘플 각각의 루미넌스 레벨의 평균값들 중, 최대값을 나타낼 수 있다. max_frame_pixel_luminance 필드 해당 프래그먼트 내의 트랙 프래그먼트에 소속된 비디오 샘플 각각의 픽셀 루미넌스의 최대값들 중, 가장 큰 값을 나타낼 수 있다.
default_sample_hdr_flag 필드는 해당 프래그먼트에 포함된 비디오 트랙 프래그먼트에 HDR 비디오 샘플들이 포함되어 있는지 여부를 나타내는 플래그일 수 있다. 이 필드의 값이 1 인 경우, 해당 프래그먼트에 HDR 비디오 샘플들이 디폴트로 포함되어 있음이 지시될 수 있다. 이 필드의 값이 1 인 경우, HDR 컨피규레이션 박스인 default_sample_hdr_config 박스가 더 포함될 수 있다.
default_sample_hdr_config 박스는 해당 비디오 트랙 프래그먼트에 포함되는 비디오 샘플들 각각에 적용될 수 있는 HDR 정보들을 포함할 수 있다. 본 박스는 전술한 HDR 컨피규레이션 박스로서, 전술한 HDR 컨피규레이션 박스의 필드들을 포함할 수 있다.
본 박스의 필드들 중 average_frame_luminance_level 필드 및/또는 max_frame_pixel_luminance 필드를 제외한 다른 필드들은, 전술한 tkhd 박스에 포함되는 HDR 컨피규레이션 박스 내의 동명의 필드들과 같은 역할을 수행할 수 있다. average_frame_luminance_level 필드는 해당 프래그먼트 내의 트랙 프래그먼트에 소속된 비디오 샘플 각각의 루미넌스 레벨의 평균값을 나타낼 수 있다. max_frame_pixel_luminance 필드 해당 프래그먼트 내의 트랙 프래그먼트에 소속된 비디오 샘플 각각의 픽셀 루미넌스의 최대값을 나타낼 수 있다.
도 19 는 본 발명의 일 실시예에 따른, HDR 정보를 tfhd 박스 내에 정의하는 방안을 도시한 도면이다.
전술한 미디어 파일의 구조 자체에 HDR 정보를 포함시켜 저장/전송할 수 있다. 본 실시예에서는 전술한 moof 박스 내의 tfhd 박스에 HDR 정보(파라미터)들이 추가될 수 있다. 추가된 HDR 정보들은 음영표시 되었다.
도시된 실시예(t19010)에서, hdr_flag 필드는 tfhd 박스가 기술하는 해당 비디오 트랙 프래그먼트 내에 HDR 비디오 데이터가 포함되어 있는지 여부를 지시하는 플래그일 수 있다. 이 필드의 값이 1 인 경우, 해당 비디오 트랙 프래그먼트 내에 HDR 비디오 데이터가 포함되어 있을 수 있다.
hdr_flag 필드의 값이 1 인 경우, hdr_type_transition_flag 필드, hdr_sdr_transition_flag 필드, sdr_hdr_transition_flag 필드 및/또는 sdr_compatibility_flag 필드가 더 포함될 수 있다. 이 필드들은 전술한 tkhd 박스 내의 동명의 필드들과 같은 역할을 수행할 수 있다. 단 이 경우, 이 필드들은 비디오 트랙 전체가 아닌, 해당 비디오 트랙 프래그먼트에 대하여 기술할 수 있다.
즉, hdr_type_transition_flag 필드는 해당 트랙 프래그먼트 내에서, 그 트랙 프래그먼트와 관련된 미디어 데이터에 대해 HDR 정보의 변경이 있는지 나타낼 수 있다. hdr_sdr_transition_flag 필드는 해당 트랙 프래그먼트가 HDR 에서 SDR 로 전환됨을 나타낼 수 있다. sdr_hdr_transition_flag 필드는 해당 트랙 프래그먼트가 SDR 에서 HDR 로 전환됨을 나타낼 수 있다. sdr_compatibility_flag 필드는 해당 트랙 프래그먼트의 HDR 비디오 데이터가 SDR 디코더/디스플레이와 호환되는지 여부를 지시할 수 있다.
도시된 실시예(t19020)에서, tfhd 박스는 전술한 HDR 컨피규레이션 박스를 포함할 수도 있다. hdr_flag 필드의 값에 따라 HDR 컨피규레이션 박스인 hdr_config 박스가 포함되는지 여부가 지시될 수 있다. hdr_config 박스는 해당 트랙 프래그먼트의 비디오 샘플들에 공통적으로 적용될 수 있는 HDR 정보들을 제공할 수 있다.
본 박스의 필드들 중 average_frame_luminance_level 필드 및/또는 max_frame_pixel_luminance 필드를 제외한 다른 필드들은, 전술한 tkhd 박스에 포함되는 HDR 컨피규레이션 박스 내의 동명의 필드들과 같은 역할을 수행할 수 있다. 단 이 경우, 이 필드들은 비디오 트랙 전체가 아닌, 해당 비디오 트랙 프래그먼트에 대하여 기술할 수 있다.
average_frame_luminance_level 필드는 해당 프래그먼트 내의 트랙 프래그먼트에 소속된 비디오 샘플 각각의 루미넌스 레벨의 평균값들 중, 최대값을 나타낼 수 있다. max_frame_pixel_luminance 필드 해당 프래그먼트 내의 트랙 프래그먼트에 소속된 비디오 샘플 각각의 픽셀 루미넌스의 최대값들 중, 가장 큰 값을 나타낼 수 있다.
도시된 실시예(t19030)에서, tfhd 박스는 tf_flags 값에 따라 HDR 정보를 더 포함할 수 있다. tr_flags 는 해당 박스와 연관된 플래그들을 나타낼 수 있다. 예를 들어 tr_flags 가 0x000001 값을 포함하는 경우 베이스 데이터 오프셋 정보가 tfhd 박스에 포함됨이 지시될 수 있고, 0x000002 값을 포함하는 경우 샘플 디스크립션 인덱스 정보가 tfhd 박스에 포함됨이 지시될 수 있다.
실시예에 따라 tf_flags 값이 0x100000 값을 포함하는 경우, 해당 프래그먼트내의 트랙 프래그먼트에 포함된 비디오 샘플들에 대한 HDR 정보의 디폴트 값이 존재함이 지시될 수 있다. HDR 정보가 존재함을 지시하는 tf_flags 값은 실시예에 따라 0x100000 값 외에 다른 값을 가질 수도 있다. (0x100000 : default-sample-hdr-configuration-present)
tf_flags 값이 0x100000 값을 포함하는 경우, tfhd 박스에는 HDR 컨피규레이션 박스인 deafult_sample_hdr_config 박스가 포함될 수 있다. deafult_sample_hdr_config 박스는 전술한 trex 박스 내의 deafult_sample_hdr_config 박스와 같은 역할을 수행할 수 있다.
도 20 은 본 발명의 일 실시예에 따른, HDR 정보를 trun 박스 내에 정의하는 방안을 도시한 도면이다.
전술한 미디어 파일의 구조 자체에 HDR 정보를 포함시켜 저장/전송할 수 있다. 본 실시예에서는 전술한 traf 박스 내의 trun 박스에 HDR 정보(파라미터)들이 추가될 수 있다. 추가된 HDR 정보들은 음영표시 되었다.
도시된 실시예(t20010)에서, trun 박스는 hdr_flag 필드를 포함할 수 있다. 또한 hdr_flag 필드의 값에 따라 hdr_type_transition_flag 필드, hdr_sdr_transition_flag 필드, sdr_hdr_transition_flag 필드 및/또는 sdr_compatibility_flag 필드가 더 포함될 수 있다. 이 필드들은 해당 트랙 프래그먼트내의 비디오 샘플들에 공통적으로 적용될 수 있는 HDR 관련 사항들을 시그널링할 수 있다. 이 필드들은 전술한 tfhd 박스 내의 동명의 필드들과 같은 의미를 가질 수 있다.
실시예에 따라, tfhd 박스와 trun 박스에 HDR 정보가 동시에 포함될 수도 있다. 이 경우 각각의 박스에 포함되는 HDR 정보 구조의 실시예들은 서로 조합될 수 있다. tfhd 박스와 trun 박스에 HDR 정보가 동시에 포함되는 경우, tfhd 박스에 정의된 HDR 정보들의 값은, trun 박스에 정의된 HDR 정보들의 값으로 오버라이드(override) 될 수 있다. 즉, 양자에 정의된 HDR 정보들의 값이 다른 경우, trun 박스 내의 값이 사용될 수 있다. trun 박스 내에 HDR 정보가 포함되어 있지 않은 경우, tfhd 박스 내의 HDR 정보가 사용될 수 있다.
도시된 실시예(t20020)에서, trun 박스는 hdr_flag 필드를 포함할 수 있고, hdr_flag 필드의 값에 따라 HDR 컨피규레이션 박스인 hdr_config 박스를 더 포함할 수 있다. 이 박스는 해당 트랙 프래그먼트내의 비디오 샘플들에 공통적으로 적용될 수 있는 HDR 정보들을 포함할 수 있다. 이 박스 내의 필드들은, 전술한 tfhd 박스 내의 HDR 컨피규레이션 박스의 동명의 필드들과 같은 의미를 가질 수 있다.
도시된 실시예(t20030)에서, trun 박스는 tf_flags 값에 따라 HDR 정보를 더 포함할 수 있다. tr_flags 는 해당 박스와 연관된 플래그들을 나타낼 수 있다. 예를 들어 tr_flags 가 0x000001 값을 포함하는 경우 데이터 오프셋 정보가 trun 박스에 포함됨이 지시될 수 있고, 0x000004 값을 포함하는 경우 첫번째 샘플 플래그 정보가 trun 박스에 포함됨이 지시될 수 있다.
실시예에 따라 tf_flags 값이 0x002000 값을 포함하는 경우, 해당 프래그먼트내의 트랙 프래그먼트에 포함된 비디오 샘플들에 공통적으로 적용될 수 있는 HDR 정보가 존재하는지 여부가 지시될 수 있다. HDR 정보가 존재함을 지시하는 tf_flags 값은 실시예에 따라 0x002000 값 외에 다른 값을 가질 수도 있다. (0x002000: hdr-configuration-present)
tf_flags 값이 0x002000 값을 포함하는 경우, trun 박스에는 HDR 컨피규레이션 박스인 hdr_config 박스가 포함될 수 있다. hdr_config 박스는 전술한 tfhd 박스 내의 hdr_config 박스와 같은 역할을 수행할 수 있다.
도시된 실시예(t20040)에서, trun 박스는 tf_flags 값에 따라 HDR 정보를 더 포함할 수 있다. 실시예에 따라 tf_flags 값이 0x001000 값을 포함하는 경우, 해당 프래그먼트내의 트랙 프래그먼트에 포함된 비디오 샘플들 각각에 적용될 수 있는 HDR 정보가 존재하는지 여부가 지시될 수 있다. HDR 정보가 존재함을 지시하는 tf_flags 값은 실시예에 따라 0x001000 값 외에 다른 값을 가질 수도 있다. (0x001000: sample-hdr-configuration-present)
tf_flags 값이 0x001000 값을 포함하는 경우, trun 박스에는 HDR 컨피규레이션 박스인 sample_hdr_config 박스가 포함될 수 있다. sample_hdr_config 박스는 해당 샘플에 대한 HDR 정보를 제공할 수 있다.
sample_hdr_config 박스 내의 정보들의 의미는, 전술한 tfhd 박스의 deafult_sample_hdr_config 박스 내의 정보들의 의미와 같을 수 있다. 즉, tfhd 박스의 deafult_sample_hdr_config 박스는 각각의 샘플들에 대해 적용될 수 있는 디폴트 HDR 정보를 제공하고, trun 박스의 sample_hdr_config 박스는 각 샘플들에 대하여 해당 샘플에 적용될 수 있는 개별 HDR 정보를 제공할 수 있다.
단, sample_hdr_config 박스의 average_frame_luminance_level 필드 및/또는 max_frame_pixel_luminance 필드는 default_sample_hdr_config 박스의 그 것들과 다른 의미를 가질 수 있다. average_frame_luminance_level 필드는 해당 비디오 샘플의 루미넌스 레벨의 평균값을 나타낼 수 있다. max_frame_pixel_luminance 필드 해당 비디오 샘플의 픽셀 루미넌스의 최대값을 나타낼 수 있다.
도 21 은 본 발명의 일 실시예에 따른, HDR 정보를 각종 플래그, 샘플 그룹 엔트리 또는 샘플 엔트리 내에 정의하는 방안을 도시한 도면이다.
도시된 실시예(t21010)에서, trex 박스 내의 default_sample_flags, tfhd 박스 내의 default_sample_flags, trun 박스 내의 sample_flags 및/또는 trun 박스 내의 first_sample_flags 상에 도시된 HDR 관련 플래그들이 추가될 수 있다.
먼저 각각의 플래그 상에 hdr_flag 필드가 포함될 수 있다. hdr_flag 필드는 해당 미디어 샘플이 HDR 비디오 샘플인지 아닌지를 나타내는 필드일 수 있다. 이 필드의 값이 1 인 경우, 해당 샘플이 HDR 비디오 샘플임이 지시될 수 있다. 실시예에 따라, hdr_flag 필드의 값에 의해 후술할 플래그 필드들의 존부가 결정될 수도 있다.
sdr_compatibility_flag 필드, hdr_type_transition_flag 필드 및/또는 hdr_sdr_transition_flag 필드는 전술한 동명의 필드들과 그 의미가 같으나, 해당 미디어 샘플(HDR 비디오 샘플)에 대해서 기술한다는 점이 다를 수 있다.
즉, sdr_compatibility_flag 필드는 해당 HDR 비디오 샘플이 SDR 을 지원하는 디코더/디스플레이와 호환이 가능한지 여부를 나타낼 수 있다. hdr_type_transition_flag 필드는 해당 HDR 비디오 샘플에 대한 HDR 정보(파라미터)와, 이를 뒤따르는 HDR 비디오 샘플에 대한 HDR 정보가 다를 수 있음을 지시할 수 있다. 이 필드의 값이 1 인 경우, 현재 샘플이 기존의 HDR 정보가 적용되는 마지막 HDR 비디오 샘플이며, 뒤따르는 샘플들은 다른 HDR 정보가 적용될 수 있음을 나타낼 수 있다. hdr_sdr_transition_flag 필드는 현재의 HDR 비디오 샘플이 마지막 HDR 샘플이며, 뒤따르는 샘플들은 SDR 샘플들인지 여부를 지시하는 플래그일 수 있다. 이 필드의 값이 1 인 경우, 해당 샘플이 마지막 HDR 샘플로서, 이 후부터는 SDR 샘플들이 뒤따름을 나타낼 수 있다.
도시된 실시예(t21020)에서, 비주얼 샘플 그룹 엔트리(visual sampel group entry) 에 HDR 정보가 포함될 수 있다. 하나의 미디어 파일 또는 프래그먼트에 존재하는 하나 이상의 비디오 샘플들에, 동일한 HDR 관련 플래그가 적용될 수 있는 경우, 도시된 실시예와 같은 HDR 플래그들이 비주얼 샘플 그룹 엔트리에 더 포함될 수 있다.
도시된 HDR 관련 플래그들은 전술한 동명의 플래그들과 그 의미는 같으나, 이 경우 해당 샘플 그룹에 대해서 기술할 수 있다. 즉, hdr_flag 필드는 해당 샘플 그룹이 HDR 비디오 샘플 그룹인지 아닌지를 나타낼 수 있다. hdr_type_transition_flag 필드는 해당 HDR 비디오 샘플 그룹 내에서, HDR 비디오 샘플들과 관련된 HDR 정보(파라미터)가 다른 HDR 정보로 변경되어 적용되는지 여부를 지시할 수 있다. hdr_sdr_transition_flag 필드는 해당 비디오 샘플 그룹 내에서 HDR 에서 SDR 로 전환되는지 여부를 지시할 수 있다. sdr_hdr_transition_flag 필드는 해당 비디오 샘플 그룹 내에서 SDR 에서 HDR 전환되는지 여부를 지시할 수 있다. sdr_compatibility_flag 필드는 해당 비디오 샘플 그룹 내의 HDR 비디오 샘플들이 SDR 을 지원하는 디코더/디스플레이와 호환될 수 있는지를 지시할 수 있다.
도시된 실시예(t21030)에서, 비주얼 샘플 그룹 엔트리(visual sampel group entry) 에 HDR 정보가 포함될 수 있다. 하나의 미디어 파일 또는 프래그먼트에 존재하는 하나 이상의 비디오 샘플들에, 동일한 HDR 정보(파라미터)가 적용될 수 있는 경우, 도시된 실시예와 같이 hdr_flag 필드와 HDR 컨피규레이션 박스가 비주얼 샘플 그룹 엔트리에 더 포함될 수 있다.
여기서 hdr_flag 필드는 전술한 비주얼 샘플 그룹 엔트리 내의 hdr_flag 필드와 그 의미가 같을 수 있다. HDR 컨피규레이션 박스 내의 정보들은 전술한 HDR 컨피규레이션 박스 내의 정보들과 그 의미가 같을 수 있다. 단 이 경우, 각 정보들은 해당 샘플 그룹에 대해서 기술할 수 있다. 즉, HDR 컨피규레이션 박스 내의 정보들은 해당 샘플 그룹의 HDR 비디오 샘플들에 공통적으로 적용될 수 있는 디폴트 HDR 정보(파라미터)들을 제공할 수 있다. 여기서, average_frame_luminance_level 필드 및/또는 max_frame_pixel_luminance 필드는 그 의미가 다를 수 있는데, average_frame_luminance_level 필드는 해당 샘플 그룹 내에 소속된 각 비디오 샘플의 루미넌스 레벨의 평균값들 중, 최대값을 나타낼 수 있다. max_frame_pixel_luminance 필드는 해당 샘플 그룹 내에 소속된 각 비디오 샘플의 픽셀 루미넌스의 최대값들 중, 가장 큰 값을 나타낼 수 있다.
도시된 실시예(t21040)에서, 비주얼 샘플 엔트리(visual sampel entry) 에 HDR 정보가 포함될 수 있다. 하나의 미디어 파일 또는 프래그먼트에 존재하는 각각의 비디오 샘플들을 디코딩하기 위해 필요한 초기화 정보로서, 해당 샘플과 관련된 HDR 플래그 정보가 비주얼 샘플 엔트리에 더 포함될 수 있다.
hdr_flag 필드는 연관된 비디오 트랙 또는 샘플 등이 HDR 비디오 샘플을 포함하는지 여부를 나타낼 수 있다. hdr_type_transition_flag 필드는 연관된 비디오 트랙 또는 샘플 등에 대한 HDR 정보(파라미터)가 변경되어 다른 HDR 정보가 적용되는지 여부를 나타낼 수 있다. hdr_sdr_transition_flag 필드는 연관된 비디오 트랙 또는 샘플 등이 HDR 에서 SDR 로 전환되는지 여부를 나타내는 플래그일 수 있다. sdr_hdr_transition_flag 필드는 연관된 비디오 트랙 또는 샘플 등이 SDR 에서 HDR 로 전환되는지 여부를 나타내는 플래그일 수 있다. sdr_compatibility_flag 필드는 연관된 비디오 트랙 또는 샘플 등이 SDR 디코더/디스플레이와 호환이 가능한지 여부를 나타내는 플래그일 수 있다.
도시된 실시예(t21050)에서, 비주얼 샘플 엔트리(visual sampel entry) 에 HDR 정보가 포함될 수 있다. 하나의 미디어 파일 또는 프래그먼트에 존재하는 각각의 비디오 샘플들을 디코딩하기 위해 필요한 초기화 정보로서, 해당 샘플과 관련된 HDR 정보(파라미터) 자체가 비주얼 샘플 엔트리에 더 포함될 수 있다.
hdr_flag 필드는 연관된 비디오 트랙 또는 샘플 등이 HDR 비디오 샘플을 포함하는지 여부를 나타낼 수 있다. hdr_config 박스는 HDR 컨피규레이션 박스로서, 연관된 비디오 트랙 또는 샘플 등에 대한 HDR 정보(파라미터) 들을 포함할 수 있다. 전술한 HDR 컨피규레이션 박스에 포함된 각각의 정보들은 전술한 바와 같을 수 있다. 단 이 경우, 각각의 정보들은 연관된 비디오 트랙 또는 샘플들에 대해 기술할 수 있다.
도 22 는 본 발명의 일 실시예에 따른, HDR 정보를 HEVC 샘플 엔트리, HEVC 컨피규레이션 박스 또는 HEVC 디코더 컨피규레이션 레코드 내에 정의하는 방안을 도시한 도면이다.
도시된 실시예(t22010)에서, HDR 정보가 HEVC 샘플 엔트리(HEVCSampleEntry)에 포함될 수 있다. 미디어 파일 또는 프래그먼트 내에 존재하는 각각의 HEVC 샘플들을 디코딩하기 위해 필요한 초기화 정보로서, 각각의 HEVC 샘플 등과 관련된 HDR 정보가 도시된 바와 같이 추가될 수 있다. 추가되는 HDR 정보는, 실시예에 따라, 전술한 HDR 컨피규레이션 박스의 형태로 추가될 수 있다. 실시예에 따라 HDR 정보는 AVC 샘플 엔트리(AVCSampleEntry), AVC2 샘플 엔트리(AVC2SampleEntry), SVC 샘플 엔트리(SVCSampleEntry), MVC 샘플 엔트리 (MVCSampleEntry) 등에 같은 방식으로 추가될 수 있다.
도시된 실시예(t22020)에서, HDR 정보가 HEVC 컨피규레이션 박스(HEVCConfigurationBox) 에 포함될 수 있다. 미디어 파일 또는 프래그먼트 내에 존재하는 각각의 HEVC 샘플들을 디코딩하기 위해 필요한 초기화 정보로서, 각각의 HEVC 샘플 등과 관련된 HDR 정보가 도시된 바와 같이 추가될 수 있다. 추가되는 HDR 정보는, 실시예에 따라, 전술한 HDR 컨피규레이션 박스의 형태로 추가될 수 있다. 실시예에 따라 HDR 정보는 AVC 컨피규레이션 박스(AVCConfigurationBox), SVC 컨피규레이션 박스(SVCConfigurationBox), MVC 컨피규레이션 박스(MVCConfigurationBox) 등에 같은 방식으로 추가될 수 있다.
도시된 실시예(t22030)에서, HDR 정보가 HEVC 디코더 컨피규레이션 레코드 (HEVCDecoderConfigurationRecord) 에 포함될 수 있다. 미디어 파일 또는 프래그먼트 내에 존재하는 각각의 HEVC 샘플들을 디코딩하기 위해 필요한 초기화 정보로서, 각각의 HEVC 샘플 등과 관련된 HDR 정보가 도시된 바와 같이 추가될 수 있다. 추가되는 HDR 정보는, 실시예에 따라, 전술한 HDR 컨피규레이션 박스의 형태로 추가될 수 있다. 이 경우, HDR 컨피규레이션 박스의 추가 여부가 hdr_flag 필드에 의해 수행될 수 있다. 실시예에 따라 HDR 정보는 AVC 디코더 컨피규레이션 레코드(AVCDecoderConfigurationRecord), SVC 디코더 컨피규레이션 레코드(SVCDecoderConfigurationRecord), MVC 디코더 컨피규레이션 레코드(MVCDecoderConfigurationRecord) 등에 같은 방식으로 추가될 수 있다.
도 23 은 본 발명의 일 실시예에 따른, HDR 정보 SEI 박스를 정의하여 HDR 정보를 저장/전달하는 방안을 도시한 도면이다.
본 발명은 HDR 정보 SEI 박스(HDRInformationSEIBox) 를 정의한다(t23010). 이 박스는 SEI NAL 유닛을 포함하는데, 이 SEI NAL 유닛은 HDR 관련 정보를 포함하는 SEI 메시지를 가질 수 있다. HDR 정보 SEI 박스는 hisb 박스로 불릴 수도 있다.
HDR 정보 SEI 박스는 도시된 실시예들과 같이(t23020, t23030, t23040), 비주얼 샘플 엔트리, HEVC 컨피규레이션 박스 및/또는 HEVC 샘플 엔트리에 포함될 수 있다. 또한 실시예에 따라, AVC 샘플 엔트리, MVC 샘플 엔트리, SVC 샘플 엔트리에 포함될 수도 있다.
도 24 는 본 발명의 일 실시예에 따른, HDR 정보 처리 능력에 기반한 수신기의 미디어 엔진 동작을 도시한 도면이다.
수신기의 파서(ISOBMFF 파서)는 ISOBMFF 기반 미디어 파일, DASH 세그먼트 및/또는 MMT MPU 등을 파싱할 수 있다. 파싱한 결과에 따라 비디오 샘플들은 비디오 디코더로 전달되고, HDR 정보(메타데이터)는 메타데이터 파서로 전달될 수 있다.
비디오 디코더는 비디오 샘플들을 디코딩하여 HDR 비디오 데이터들을 획득할 수 있다. 이 과정에서 획득한 HDR 정보가 있는 경우 이를 메타데이터 파서로 전달할 수 있다. 메타데이터 파서는 전달받은 HDR 메타데이터들을 파싱할 수 있다. 여기서 획득한 메타데이터를 이용해 비디오 디코더에 필요한 컨트롤 정보 등이 비디오 디코더로 전달될 수 있다. 메타데이터 파서는 버퍼 내지 메타데이터 업데이트 역할을 수행할 수도 있다. 업데이트는 set_number, version_number 등을 이용해 수행될 수 있다.
수신기가 HDR 디스플레이가 가능한지에 따라 경우의 수가 나뉠 수 있다. HDR 비디오의 디스플레이가 불가능한 경우, HDR 비디오 데이터는 HDR-SDR 컨버전을 거쳐 SDR 디스플레이 블락으로 전달될 수 있다. SDR 디스플레이 블락은 하드웨어 블락으로서, 컨버전된 SDR 비디오를 전달받아 재생할 수 있다. 이 때, 컨버전에는 메타데이터 파서로부터 전달받은 정보가 사용될 수 있다.
수신기가 HDR 디스플레이가 가능한 경우, HDR 비디오에 대해 퀄리티 인핸스먼트가 수행될 수 있다. 이 때 메타데이터 파서로부터 전달받은 공통된(common) HDR 정보(Dynamic range, transfer function, color gamut, color temperature, DR/CG mapping, Viewing condition 등) 를 이용하여 퀄리티 인핸스먼트가 수행될 수 있다.
수신기가 신/프레임(scene/frame) 별 메타데이터를 처리할 수 있는 경우에 따라 경우의 수가 나뉠 수 있다. 신/프레임별 메타데이터를 처리할 수 없는 경우, 수신기의 HDR 디스플레이 블락은 전달받은 HDR 비디오 데이터를 재생할 수 있다.
신/프레임별 메타데이터가 처리될 수 있는 경우, 신 별 HDR 비디오 퀄리티 인핸스먼트(Scene-by-Scene HDR video quality enhancement)가 수행될 수 있다. 이 때, 메타데이터 파서로부터 전달받은 신/프레임 HDR 메타데이터(While levels, Black levels, frame-by-frame, DR/CG mapping 등) 를 이용하여 퀄리티 인핸스먼트가 수행될 수 있다. 이 경우, 수신기의 HDR 디스플레이 블락은 인핸스드된 HDR 비디오 데이터를 재생할 수 있다. HDR 디스플레이 블락은 하드웨어 블락일 수 있다.
타이밍 컨버터는 메타데이터 파서, 싱크로나이저 등으로 타임 관련 정보를 전달할 수 있다. 싱크로 나이저는 sync_start, sync_duration 등의 정보를 활용하여, 신 별 HDR 비디오 퀄리티 인핸스먼트 동작에 필요한 정보를 제공할 수 있다.
도 25 는 본 발명의 일 실시예에 따른, Color gamut 정보를 제공하기 위한 CG 컨피규레이션 박스를 나타낸 도면이다.
본 발명은 WCG (Wide Color Gamut) 지원 가능한 컨텐트를 제공하는 차세대 미디어 서비스 제공 방안을 제안한다. 본 발명은 WCG 등의 특징을 갖는 고화질 영상 서비스에 대해, 장면 별 특성에 따른 메타데이터를 정의하고, 이를 전달하는 방안을 제안한다. 이를 통해 개선된 화질의 영상을 제공할 수 있다.
본 발명은 ISOBMFF 등의 미디어 파일을 기반으로, 컨텐트의 비디오 트랙, 비디오 샘플 등과 관련된 Color gamut 관련 파라미터를 저장, 시그널링하는 방안을 제안한다. 본 발명은 비디오 트랙(스트림)과 관련된 color gamut 플래그들 및/또는 파라미터를 저장하고 시그널링하는 방안을 제안한다. 본 발명은 비디오 샘플, 비디오 샘플 그룹 또는 비디오 샘플 엔트리에 관련된 color gamut 플래그들 및/또는 파라미터를 저장하고 시그널링하는 방안을 제안한다. 본 발명은 color gamut 관련 정보를 포함하는 SEI NAL 유닛을 저장하고 시그널링하는 방안을 제안한다.
본 발명에 따른 color gamut 정보의 저장/전달 방안은, WCG 를 지원하는 컨텐트의 생성에 있어 활용될 수 있다. 즉, WCG 을 지원하는 컨텐트에 대한 미디어 파일의 생성, MPEG DASH 상에서 동작하는 DASH 세그먼트의 생성 또는 MPEG MMT 상에서 동작하는 MPU 생성시에, 본 발명의 방안이 활용될 수 있다. 수신기(DASH 클라이언트, MMT 클라이언트 등을 포함)는, 디코더 등에서 color gamut 정보(플래그, 파라미터, 박스 등등)을 획득하여, 이를 기반으로 해당 컨텐트를 효과적으로 제공할 수 있다.
후술할 CG 컨피규레이션 박스 또는 color gamut 관련 플래그 정보들은, 미디어 파일, DASH 세그먼트 또는 MMT MPU 내의 여러 박스들에 동시에 존재할 수도 있다. 이 경우, 상위 박스에서 정의된 color gamut 정보들은 하위 박스에서 정의된 color gamut 정보들에 의해 오버라이드(override) 될 수 있다. 예를 들어 tkhd 박스와 vmhd 박스에 color gamut 정보가 동시에 포함되는 경우, tkhd 박스의 color gamut 정보는 vmhd 박스의 color gamut 정보로 오버라이드될 수 있다.
미디어 파일의 생성시, 비디오 트랙(스트림) 또는 샘플 등과 관련된 color gamut 정보를 저장, 시그널링할 수 있도록, CG 컨피규레이션 박스가 정의될 수 있다(t25010). CG 컨피규레이션 박스는 미디어 파일 내에 위치할 수 있다. 실시예에 따라 CG 컨피규레이션 박스는 moov 박스, moof 박스 또는 제 3 의 박스에 포함될 수도 있다. CG 컨피규레이션 박스는 cgcf 박스라 불릴 수도 있다.
CG 컨피규레이션 박스는 cg_config 필드를 가질 수 있다. cg_config 필드는 color_gamut_type 필드, color_space_transition_flag 필드, wcg_scg_transition_flag 필드 ,scg_wcg_transition_flag 필드, scg_compatibility_flag 필드 및/또는 color_primary_flag 필드를 포함할 수 있다. 또한 color_primary_flag 필드의 값에 따라 color_primaryRx 필드, color_primaryRy 필드, color_primaryGx 필드, color_primaryGy 필드, color_primaryBx 필드, color_primaryBy 필드, color_whitePx 필드 및/또는 color_whitePy 필드가 더 포함될 수도 있다.
color_gamut_type 필드는 해당 비디오 데이터에 대한 color gamut 의 타입을 지시할 수 있다. 즉, 이 필드는 소스 프라이머리스(primaries)의 크로마티시티 코디네이트(chromaticity coordinates)를 지시할 수 있다. 이 필드의 값에 따라 VUI(video usability information) 의 컬러 프라이머리(colour primaries) 값이 지시될 수 있다. 실시예에 따라(t25020), 도시된 바와 같이 본 필드의 값들이 지시될 수 있다.
color_space_transition_flag 필드는 해당 비디오 데이터에 대해, 소스 프라이머리스의 크로마티시티 코디네이트가 다른 크로마티시티 코디네이트로 변경되는지 여부를 나타내는 플래그일 수 있다.
wcg_scg_transition_flag 필드는 해당 비디오 데이터가 WCG (Wide Color Gamut) 에서 SCG (Standard Color Gamut) 으로 전환되는지 여부를 나타내는 플래그일 수 있다. 예를 들어 BT.2020 의 WCG 에서 BT.709 의 SCG 로 변환되는 경우, 이 필드의 값이 1 로 설정될 수 있다.
scg_wcg_transition_flag 필드 해당 비디오 데이터가 SCG 에서 WCG 으로 전환되는지 여부를 나타내는 플래그일 수 있다. 예를 들어 BT.709 의 SCG 에서 BT.2020 의 WCG 로 변환되는 경우, 이 필드의 값이 1 로 설정될 수 있다.
scg_compatibility_flag 필드는 해당 WCG 비디오가 SCG 기반의 디코더, 디스플레이와 호환이 가능한지 여부를 나타내는 플래그일 수 있다. 즉, 기존의 SCG 디코더 내지 디스플레이가 사용되는 경우에 있어, 별도의 매핑 정보나 업그레이드 없이도 해당 WCG 비디오를 퀄리티 문제 없이 출력이 가능한지 여부가, 이 필드로 인해 확인될 수 있다.
color_primary_flag 필드는 해당 비디오에 대한 컬러 프라이머리스의 크로마티시티 코디네이트에 대한 세부 정보가 존재하는지 여부를 나타내는 플래그일 수 있다. 전술한 color_gamut_type 필드가 "unspecified" 를 지시하는 경우, 해당 비디오에 대해 컬러 프라이머리스의 크로마티시티 코디네이트에 대한 세부정보가 제공되어야 할 수 있다.
전술한 바와 같이, color_primary_flag 필드가 1 로 세팅되는 경우, 즉 세부 정보가 존재하는 걸로 지시되는 경우, 후술할 필드들이 더 추가될 수 있다.
color_primaryRx 필드 및 color_primaryRy 필드는 각각 해당 비디오 소스의 R-컬러에 대한 x 좌표, y 좌표값을 나타낼 수 있다. 이는 0 과 1 사이의 분수(fractional number) 형태일 수 있다.
color_primaryGx 필드 및 color_primaryGy 필드는 각각 해당 비디오 소스의 G-컬러에 대한 x 좌표, y 좌표값을 나타낼 수 있다. 이는 0 과 1 사이의 분수(fractional number) 형태일 수 있다.
color_primaryBx 필드 및 color_primaryBy 필드는 각각 해당 비디오 소스의 B-컬러에 대한 x 좌표, y 좌표값을 나타낼 수 있다. 이는 0 과 1 사이의 분수(fractional number) 형태일 수 있다.
color_whitePx 필드 및 color_whitePy 필드는 각각 해당 비디오 소스의 화이트 포인트(White point) 에 대한 x 좌표, y 좌표값을 나타낼 수 있다. 이는 0 과 1 사이의 분수(fractional number) 형태일 수 있다.
도 26 은 본 발명의 일 실시예에 따른, Color gamut 정보를 tkhd 박스 내에 정의하는 방안을 도시한 도면이다.
본 발명은 두 가지 형태의 color gamut 에 대한 정보를 정의한다. 하나는 컨테이너 color gamut 이고, 다른 하나는 컨텐트 color gamut 이라 부를 수 있다.
컨테이너 color gamut 은 인코딩, 디코딩 단계 및/또는 디코딩된 화소 값을 매핑하는 과정에서 사용되는 color gamut 관련 정보를 포함할 수 있다. 컨텐트 color gamut 은 오리지널 소스(original source)의 color gamut 에 대한 정보를 포함할 수 있다. 즉, 컨텐트 color gamut 은 실제의 컨텐트에 적용된 유효한 컬러 스페이스 볼륨(color space volume) 을 나타낼 수 있다.
예를 들어, 비디오 데이터의 컨테이너 color gamut 이 BT.2020 인 경우에 있어, 해당 비디오의 색 표현을 할 때, BT.2020 의 모든 컬러 영역을 사용하지 않고 일부만을 사용할 수 있다. 이에 따라, 실제 컨텐트에 적용된 색 표현의 유효범위를 나타내는 컬러 볼륨을 이용해, 최적화된 영상 매핑이 수행될 수 있다. 이를 위하여 추가적으로 유효 컬러 볼륨을 지정하기 위한 프라이머리(priamry)를 시그널링해줄 수 있다.
따라서, 본 발명은 ISO BMFF 등에 기반한 미디어 파일 생성시에, 컨테이너 color gamut 정보 및/또는 컨텐트 color gamut 정보를 같이 포함하여 저장 및 시그널링할 수 있다. 이 color gamut 정보들은 해당 비디오 트랙, 스트림, 샘플등과 관련된 color gamut 파라미터들일 수 있다.
본 실시예에서는 전술한 moov 박스 내의 tkhd 박스에 color gamut 정보(파라미터)들이 추가될 수 있다. 추가된 color gamut 정보들은 음영표시 되었다.
도시된 실시예(t26010)에서, tkhd 박스는 container_wcg_flag 필드 및/또는 content_wcg_flag 필드를 포함할 수 있다. container_wcg_flag 필드 및 content_wcg_flag 필드의 값에 따라, 각각 container_cg_config 박스 및/또는 content_cg_config 박스가 더 포함될 수 있다. 이 두 박스들은 전술한 CG 컨피규레이션 박스 타입일 수 있다.
container_wcg_flag 필드는 해당 비디오 트랙(tkhd 박스가 기술하는 트랙)의 비디오 샘플들이 WCG 를 기반으로 인코딩 또는 디코딩되었음을 지시하는 플래그일 수 있다. 이 필드는 컨테이너 color gamut 에 대한 세부 정보들이, tkhd 박스 내에 포함되었는지 여부를 나타낼 수 있다. 이 필드의 값이 1 인 경우, 해당 비디오 트랙 내에 WCG 기반으로 인코딩된 비디오 샘플들이 포함되었음이 지시될 수 있다. 또한 이 필드의 값이 1 인 경우, 해당 비디오 트랙의 비디오 데이터에 관련된 컨테이너 color gamut 정보들이 tkhd 박스에 존재함이 지시될 수 있다. 이 경우 tkhd 박스는 CG 컨피규레이션 박스인 container_cg_config 박스를 포함할 수 있다.
container_wcg_flag 및 관련 세부 필드 값을 기반으로 비디오 디코더 등에서 해당 비디오 트랙 내의 비디오 데이터를 처리할 수 있는지 여부 등을 결정할 수 있다.
container_cg_config 박스는 해당 비디오 트랙의 비디오 데이터에 대한 컨테이너 color gamut 정보들을 포함할 수 있다. 이 박스는 CG 컨피규레이션 박스로서, 전술한 CG 컨피규레이션 박스의 필드들을 포함할 수 있다. 이 필드들은 해당 비디오 트랙, 즉 tkhd 박스와 연관된 트랙에 대해서, 전술한 정의에 따라, 컨테이너 color gamut 에 관한 내용들을 기술할 수 있다.
예를 들어, color_gamut_type 필드는 해당 비디오 트랙의 비디오 샘플들의 컨테이너 color gamut 타입을 지시할 수 있다. 즉 인코딩시에 사용한, 또는 디코딩시에 사용할 수 있는 컬러 프라이머리스에 대한 크로마티시티 코디네이트를 가리킬 수 있다.
color_space_transition_flag 필드는 해당 비디오 트랙의 비디오 샘플들에 대하여, 인코딩시에 사용한 / 디코딩시에 사용할 수 있는 컬러 프라이머리스에 대한 크로마티시티 코디네이트가 다른 크로마티시티 코디네이트로 변경되는지 여부를 나타내는 플래그일 수 있다.
wcg_scg_transition_flag 필드는 해당 비디오 트랙의 비디오 샘플들의 컨테이너 color gamut 이 WCG 에서 SCG 로 전환되는지 여부를 나타내는 플래그일 수 있다.
scg_wcg_transition_flag 필드는 해당 비디오 트랙의 비디오 샘플들의 컨테이너 color gamut 이 SCG 에서 WCG 로 전환되는지 여부를 나타내는 플래그일 수 있다.
scg_compatibility_flag 필드는 해당 비디오 트랙의 비디오 샘플들의 컨테이너 color gamut 이 SCG 기반 디코더, 디스플레이와 호환 가능한지 여부를 나타내는 플래그일 수 있다. 컨테이너 color gamut 에 관한 정보이므로, 이 필드는 SCG 기반 디코더/디스플레이가 BT.2020 같은 color gamut 을 모르더라도 해당 비디오 데이터를 디코딩할 수 있는지 여부를 나타낼 수 있다.
color_primary_flag 필드는 해당 비디오 트랙의 비디오 샘플들의 인코딩/디코딩 시에 사용할 수 있는 컬러 프라이머리스의 크로마티시티 코디네이트에 대한 세부 정보가 존재하는지 여부를 나타내는 플래그일 수 있다.
color_primary_flag 필드의 값에 따라 전술한 바와 같이 color_primaryRx 필드, color_primaryRy 필드, color_primaryGx 필드, color_primaryGy 필드, color_primaryBx 필드, color_primaryBy 필드, color_whitePx 필드 및/또는 color_whitePy 필드가 포함될 수 있다. 이 필드들은 각각 인코딩/디코딩 시에 사용된/사용될 수 있는 컬러 프라이머리스의 RGB 컬러, 화이트 포인트의 x, y 좌표를 나타낼 수 있다.
content_wcg_flag 필드는 해당 비디오 트랙(tkhd 박스가 기술하는 트랙)의 비디오 샘플들의 오리지널 소스에 대하여, 그 오리지널 소스의 실제 색 표현 범위가 WCG 를 기반으로 생성되었음을 나타내는 플래그일 수 있다. 또한 이 필드는 컨텐트 color gamut 에 대한 세부 정보들이, tkhd 박스 내에 포함되었는지 여부를 나타낼 수 있다. 이 경우 컨텐트 color gamut 에 대한 세부 정보들은 전술한 CG 컨피규레이션 박스의 형태로 포함될 수 있다. 이 박스는 content_cg_config 박스로 불릴 수 있다.
여기서 전술한 container_wcg_flag 필드는 1 의 값을 가지고, content_wcg_flag 필드는 0 의 값을 가지는 경우, 원래 BT.709 에 해당하는 color gamut 의 컨텐트가 인코딩 단계에서 BT.2020 을 기반으로 변환되었음을 유추할 수 있다. (BT.709, BT.2020 은 예시로 든 color gamut 타입이다)
content_cg_config 박스는 해당 비디오 트랙의 비디오 데이터에 대한 컨텐트 color gamut 정보들을 포함할 수 있다. 이 박스는 CG 컨피규레이션 박스로서, 전술한 CG 컨피규레이션 박스의 필드들을 포함할 수 있다. 이 필드들은 해당 비디오 트랙, 즉 tkhd 박스와 연관된 트랙에 대해서, 전술한 정의에 따라, 컨텐트 color gamut 에 관한 내용들을 기술할 수 있다.
예를 들어, color_gamut_type 필드는 해당 비디오 트랙의 비디오 샘플들의 컨텐트 color gamut 타입을 지시할 수 있다. 즉 이 필드는 해당 비디오 데이터의 오리지널 소스 프라이머리스에 대한 크로마티시티 코디네이트를 가리킬 수 있다.
color_space_transition_flag 필드는 해당 비디오 트랙의 비디오 샘플들의 오리지널 소스 프라이머스에 대하여, 이 것들의 크로마티시티 코디네이트가 다른 크로마티시티 코디네이트로 변경되는지 여부를 나타내는 플래그일 수 있다.
wcg_scg_transition_flag 필드는 해당 비디오 트랙의 비디오 샘플들의 컨텐트 color gamut 이 WCG 에서 SCG 로 전환되는지 여부를 나타내는 플래그일 수 있다.
scg_wcg_transition_flag 필드는 해당 비디오 트랙의 비디오 샘플들의 컨텐트 color gamut 이 SCG 에서 WCG 로 전환되는지 여부를 나타내는 플래그일 수 있다.
scg_compatibility_flag 필드는 해당 비디오 트랙의 비디오 샘플들의 컨텐트 color gamut 이 SCG 기반 디코더, 디스플레이와 호환 가능한지 여부를 나타내는 플래그일 수 있다. 즉 이 필드의 값이 1 인 경우, 해당 비디오 데이터의 유효 색 표현 범위가 SCG 호환이고, 별도의 매핑등이 필요 없음을 나타낼 수 있다.
color_primary_flag 필드는 해당 비디오 트랙의 비디오 샘플들의 오리지널 소스 프라이머리스의 크로마티시티 코디네이트에 대한 세부 정보가 존재하는지 여부를 나타내는 플래그일 수 있다.
color_primary_flag 필드의 값에 따라 전술한 바와 같이 color_primaryRx 필드, color_primaryRy 필드, color_primaryGx 필드, color_primaryGy 필드, color_primaryBx 필드, color_primaryBy 필드, color_whitePx 필드 및/또는 color_whitePy 필드가 포함될 수 있다. 이 필드들은 각각 오리지널 소스 프라이머리스의 RGB 컬러, 화이트 포인트의 x, y 좌표를 나타낼 수 있다.
도시된 실시예(t26020)에서, tkhd 박스는 container_wcg_flag 필드 및/또는 content_wcg_flag 필드를 포함할 수 있다. container_wcg_flag 필드 및 content_wcg_flag 필드의 값에 따라, 각각 컨테이너 color gamut 에 대한 플래그들 및/또는 컨텐트 color gamut 에 대한 플래그들이 더 포함될 수 있다.
컨테이너 color gamut 에 대한 플래그들에는 container_color_space_transition_flag 필드, container_wcg_scg_transition_flag 필드, container_scg_wcg_transition_flag 필드 및/또는 container_scg_compatibility_flag 필드가 있을 수 있다. 각각은 전술한 container_cg_config 박스 내의 color_space_transition_flag 필드, wcg_scg_transition_flag 필드, scg_wcg_transition_flag 필드 및/또는 scg_compatibility_flag 필드와 같은 의미를 가질 수 있다.
컨텐트 color gamut 에 대한 플래그들에는 content_color_space_transition_flag 필드, content_wcg_scg_transition_flag 필드, content_scg_wcg_transition_flag 필드 및/또는 content_scg_compatibility_flag 필드가 있을 수 있다. 각각은 전술한 content_cg_config 박스 내의 color_space_transition_flag 필드, wcg_scg_transition_flag 필드, scg_wcg_transition_flag 필드 및/또는 scg_compatibility_flag 필드와 같은 의미를 가질 수 있다.
도 27 은 본 발명의 일 실시예에 따른, Color gamut 정보를 vmhd 박스 내에 정의하는 방안을 도시한 도면이다.
전술한 미디어 파일의 구조 자체에 Color gamut 정보를 포함시켜 저장/전송할 수 있다. 본 실시예에서는 전술한 trak 박스 내의 vmhd 박스에 Color gamut 정보(파라미터)들이 추가될 수 있다. 추가된 Color gamut 정보들은 음영표시 되었다.
도시된 실시예들(t27010, t27020)에서, vmhd 박스는 전술한 container_wcg_flag 필드 및/또는 content_wcg_flag 필드를 포함할 수 있다. 이 필드들의 값에 따라, 전술한 바와 같이 컨테이너 color gamut 또는 컨텐트 color gamut 에 대한 플래그들이 더 포함되거나(t27010), 컨테이너 color gamut 또는 컨텐트 color gamut 에 대한 CG 컨피규레이션 박스들이 더 포함될 수 있다(t27020). 각 플래그 및 박스들에 대해서는 tkhd 박스에 대한 실시예에서 전술한 바와 같다.
실시예에 따라, tkhd 박스와 vmhd 박스에 Color gamut 정보가 동시에 포함될 수도 있다. 이 경우 각각의 박스에 포함되는 Color gamut 정보 구조의 실시예들은 서로 조합될 수 있다. tkhd 박스와 vmhd 박스에 Color gamut 정보가 동시에 포함되는 경우, tkhd 박스에 정의된 Color gamut 정보들의 값은, vmhd 박스에 정의된 Color gamut 정보들의 값으로 오버라이드(override) 될 수 있다. 즉, 양자에 정의된 Color gamut 정보들의 값이 다른 경우, vmhd 박스 내의 값이 사용될 수 있다. vmhd 박스 내에 Color gamut 정보가 포함되어 있지 않은 경우, tkhd 박스 내의 Color gamut 정보가 사용될 수 있다.
도 28 은 본 발명의 일 실시예에 따른, Color gamut 정보를 trex 박스 내에 정의하는 방안을 도시한 도면이다.
전술한 미디어 파일의 구조 자체에 Color gamut 정보를 포함시켜 저장/전송할 수 있다. 본 실시예에서는 전술한 mvex 박스 내의 trex 박스에 Color gamut 정보(파라미터)들이 추가될 수 있다. 추가된 Color gamut 정보들은 음영표시 되었다.
trex 박스는 default_container_wcg_flag 필드 및/또는 default_content_wcg_flag 필드를 포함할 수 있다. default_container_wcg_flag 필드의 값에 따라 CG 컨피규레이션 박스인 default_container_cg_config 박스가 더 포함될 수 있다. 또한 default_content_wcg_flag 필드의 값에 따라 CG 컨피규레이션 박스인 default_content_cg_config 박스가 더 포함될 수도 있다.
default_container_wcg_flag 필드는, 해당 프래그먼트에 비디오 데이터가 포함된 경우, 그 비디오 데이터가 디폴트로 WCG 를 기반으로 인코딩 내지 디코딩되었음을 나타내는 플래그일 수 있다. 또한, 이 필드는 해당 비디오 데이터에 대해 디폴트로 쓰일 수 있는 컨테이너 color gamut 정보가 trex 박스 내에 포함됨을 지시할 수 있다. 이 디폴트 컨테이너 color gamut 정보는 CG 컨피규레이션 박스인 default_container_cg_config 박스의 형태로 포함될 수 있다.
default_container_cg_config 박스는 해당 프래그먼트의 비디오 샘플들의 디폴트 컨테이너 color gamut 정보를 포함할 수 있다. 본 박스는 CG 컨피규레이션 박스로서, 그 내부 필드들은 전술한 바와 같은 의미를 가질 수 있다. 단 이 경우, 이 필드들은 해당 트랙 프래그먼트에 포함된 비디오 샘플들의 컨테이너 color gamut 에 대해 기술할 수 있다. 이 필드 값들은 해당 트랙 프래그먼트의 비디오 샘플들에 대하여, 컨테이너 color gamut 정보의 디폴트 값으로 쓰일 수 있다.
default_content_wcg_flag 필드는, 해당 프래그먼트에 비디오 데이터가 포함된 경우, 그 비디오 데이터의 오리지널 소스가 디폴트로 WCG 를 기반으로 생성되었음을 나타내는 플래그일 수 있다. 또한, 이 필드는 해당 비디오 데이터에 대해 디폴트로 쓰일 수 있는 컨텐트 color gamut 정보가 trex 박스 내에 포함됨을 지시할 수 있다. 이 디폴트 컨텐트 color gamut 정보는 CG 컨피규레이션 박스인 default_content_cg_config 박스의 형태로 포함될 수 있다.
default_content_cg_config 박스는 해당 프래그먼트의 비디오 샘플들의 디폴트 컨텐트 color gamut 정보를 포함할 수 있다. 본 박스는 CG 컨피규레이션 박스로서, 그 내부 필드들은 전술한 바와 같은 의미를 가질 수 있다. 단 이 경우, 이 필드들은 해당 트랙 프래그먼트에 포함된 비디오 샘플들의 컨텐트 color gamut 에 대해 기술할 수 있다. 이 필드 값들은 해당 트랙 프래그먼트의 비디오 샘플들에 대하여, 컨텐트 color gamut 정보의 디폴트 값으로 쓰일 수 있다.
도 29 는 본 발명의 일 실시예에 따른, color gamut 정보를 tfhd 박스 내에 정의하는 방안을 도시한 도면이다.
전술한 미디어 파일의 구조 자체에 color gamut 정보를 포함시켜 저장/전송할 수 있다. 본 실시예에서는 전술한 moof 박스 내의 tfhd 박스에 color gamut 정보(파라미터)들이 추가될 수 있다. 추가된 color gamut 정보들은 음영표시 되었다.
도시된 실시예(t29010)에서, tfhd 박스는 전술한 container_wcg_flag 필드 및/또는 content_wcg_flag 필드를 포함할 수 있다. 이 필드들의 값에 따라, 전술한 바와 같이 컨테이너 color gamut 또는 컨텐트 color gamut 에 대한 CG 컨피규레이션 박스들이 더 포함될 수 있다. 이들은 각각 CG 컨피규레이션 박스인 container_cg_config 박스 및/또는 content_cg_config 박스일 수 있다. 이를 통하여, 해당 트랙 프래그먼트 내의 비디오 샘플들에 공통적으로 적용될 수 있는 color gamut 정보들이 제공될 수 있다. 각 플래그 및 박스들에 대해서는 trex 박스에 대한 실시예에서 전술한 바와 같다.
도시된 실시예(t29020)에서, tfhd 박스는 tf_flags 값에 따라 color gamut 정보를 더 포함할 수 있다. 실시예에 따라 tf_flags 값이 0x400000 값을 포함하는 경우, 해당 프래그먼트내의 트랙 프래그먼트에 포함된 비디오 샘플들에 대한 컨테이너 color gamut 정보의 디폴트 값이 존재함이 지시될 수 있다. 컨테이너 color gamut 정보가 존재함을 지시하는 tf_flags 값은 실시예에 따라 0x400000 값 외에 다른 값을 가질 수도 있다. (0x400000 : default-container-cg-configuration-present)
tf_flags 값이 0x400000 값을 포함하는 경우, tfhd 박스에는 CG 컨피규레이션 박스인 default_container_cg_config 박스가 포함될 수 있다. default_container_cg_config 박스는 전술한 trex 박스 내의 default_container_cg_config 박스와 같은 역할을 수행할 수 있다.
또한 실시예에 따라 tf_flags 값이 0x800000 값을 포함하는 경우, 해당 프래그먼트내의 트랙 프래그먼트에 포함된 비디오 샘플들에 대한 컨텐트 color gamut 정보의 디폴트 값이 존재함이 지시될 수 있다. 컨텐트 color gamut 정보가 존재함을 지시하는 tf_flags 값은 실시예에 따라 0x800000 값 외에 다른 값을 가질 수도 있다. (0x800000 : default-content-cg-configuration-present)
tf_flags 값이 0x800000 값을 포함하는 경우, tfhd 박스에는 CG 컨피규레이션 박스인 default_content_cg_config 박스가 포함될 수 있다. default_content_cg_config 박스는 전술한 trex 박스 내의 default_content_cg_config 박스와 같은 역할을 수행할 수 있다.
도 30 은 본 발명의 일 실시예에 따른, color gamut 정보를 trun 박스 내에 정의하는 방안을 도시한 도면이다.
전술한 미디어 파일의 구조 자체에 color gamut 정보를 포함시켜 저장/전송할 수 있다. 본 실시예에서는 전술한 traf 박스 내의 trun 박스에 color gamut 정보(파라미터)들이 추가될 수 있다. 추가된 color gamut 정보들은 음영표시 되었다.
도시된 실시예(t30010)에서, trun 박스는 전술한 container_wcg_flag 필드 및/또는 content_wcg_flag 필드를 포함할 수 있다. 이 필드들의 값에 따라, 전술한 바와 같이 컨테이너 color gamut 또는 컨텐트 color gamut 에 대한 CG 컨피규레이션 박스들이 더 포함될 수 있다. 이들은 각각 CG 컨피규레이션 박스인 container_cg_config 박스 및/또는 content_cg_config 박스일 수 있다. 이를 통하여 해당 트랙 프래그먼트 내에 포함된 비디오 샘플들에 공통적으로 적용될 수 있는 컨테이너/컨텐트 color gamut 관련 플래그들이 저장되고 시그널링될 수 있다. 각 플래그 및 박스들에 대해서는 tfhd 박스에 대한 실시예에서 전술한 바와 같다.
도시된 실시예(t31010)에서, trun 박스는 전술한 container_wcg_flag 필드 및/또는 content_wcg_flag 필드를 포함할 수 있다. 이 필드들의 값에 따라, 전술한 바와 같이 컨테이너 color gamut 또는 컨텐트 color gamut 에 관련한 플래그들이 더 포함될 수 있다. 이를 통하여 해당 트랙 프래그먼트 내에 포함된 비디오 샘플들에 공통적으로 적용될 수 있는 컨테이너/컨텐트 color gamut 정보들이 저장되고 시그널링될 수 있다. 각 플래그 및 박스들에 대해서는 tkhd 박스에 대한 실시예에서 전술한 바와 같다. 단 이 경우, 각 필드들은 해당 트랙 프래그먼트에 포함되는 비디오 샘플들에 대한 컨테이너/컨텐트 color gamut 정보를 기술할 수 있다.
도 31 은 본 발명의 다른 실시예에 따른, color gamut 정보를 trun 박스 내에 정의하는 방안을 도시한 도면이다.
도시된 실시예(t31010)에서, trun 박스는 tf_flags 값에 따라 color gamut 정보를 더 포함할 수 있다. 실시예에 따라 tf_flags 값이 0x010000 값을 포함하는 경우, 해당 프래그먼트내의 트랙 프래그먼트에 포함된 비디오 샘플들에 공통적으로 적용될 수 있는 컨테이너 color gamut 정보가 존재하는지 여부가 지시될 수 있다. 컨테이너 color gamut 정보가 존재함을 지시하는 tf_flags 값은 실시예에 따라 0x010000 값 외에 다른 값을 가질 수도 있다. (0x010000: container-cg-configuration-present)
tf_flags 값이 0x010000 값을 포함하는 경우, trun 박스에는 CG 컨피규레이션 박스인 container_cg_config 박스가 포함될 수 있다. container_cg_config 박스는 전술한 tfhd 박스 내의 container_cg_config 박스와 같은 역할을 수행할 수 있다.
실시예에 따라 tf_flags 값이 0x020000값을 포함하는 경우, 해당 프래그먼트내의 트랙 프래그먼트에 포함된 비디오 샘플들에 공통적으로 적용될 수 있는 컨텐트 color gamut 정보가 존재하는지 여부가 지시될 수 있다. 컨텐트 color gamut 정보가 존재함을 지시하는 tf_flags 값은 실시예에 따라 0x020000 값 외에 다른 값을 가질 수도 있다. (0x020000: content-cg-configuration-present)
tf_flags 값이 0x020000 값을 포함하는 경우, trun 박스에는 CG 컨피규레이션 박스인 content_cg_config 박스가 포함될 수 있다. content_cg_config 박스는 전술한 tfhd 박스 내의 content_cg_config 박스와 같은 역할을 수행할 수 있다.
이 CG 컨피규레이션 박스들은 해당 트랙 프래그먼트의 비디오 샘플들에 대하여, 공통적으로 적용될 수 있는 컨테이너/컨텐트 color gamut 정보를 기술할 수 있다.
도시된 실시예(t31020)에서, trun 박스는 tf_flags 값에 따라 color gamut 정보를 더 포함할 수 있다. 실시예에 따라 tf_flags 값이 0x100000 값을 포함하는 경우, 해당 프래그먼트내의 트랙 프래그먼트의 비디오 샘플 각각에 개별적으로 적용될 수 있는 컨테이너 color gamut 정보가 존재하는지 여부가 지시될 수 있다. 컨테이너 color gamut 정보가 존재함을 지시하는 tf_flags 값은 실시예에 따라 0x100000 값 외에 다른 값을 가질 수도 있다. (0x100000: sample-container-cg-configuration-present)
tf_flags 값이 0x100000 값을 포함하는 경우, trun 박스에는 CG 컨피규레이션 박스인 sample_container_cg_config 박스가 포함될 수 있다. sample_container_cg_config 박스는 전술한 실시예(t31010)에서의 container_cg_config 박스와 같은 역할을 수행하나, 단 이 경우, 각 필드들은 해당 트랙 프래그먼트의 비디오 샘플 각각에 개별적으로 적용될 수 있는 컨테이너 color gamut 정보를 기술할 수 있다.
실시예에 따라 tf_flags 값이 0x200000 값을 포함하는 경우, 해당 프래그먼트내의 트랙 프래그먼트의 비디오 샘플 각각에 개별적으로 적용될 수 있는 컨텐트 color gamut 정보가 존재하는지 여부가 지시될 수 있다. 컨텐트 color gamut 정보가 존재함을 지시하는 tf_flags 값은 실시예에 따라 0x200000 값 외에 다른 값을 가질 수도 있다. (0x200000: sample-content-cg-configuration-present)
tf_flags 값이 0x200000 값을 포함하는 경우, trun 박스에는 CG 컨피규레이션 박스인 sample_content_cg_config 박스가 포함될 수 있다. sample_content_cg_config 박스는 전술한 실시예(t31010)에서의 content_cg_config 박스와 같은 역할을 수행하나, 단 이 경우, 각 필드들은 해당 트랙 프래그먼트의 비디오 샘플 각각에 개별적으로 적용될 수 있는 컨텐트 color gamut 정보를 기술할 수 있다.
즉, 이 CG 컨피규레이션 박스들은 해당 트랙 프래그먼트의 비디오 샘플들에 대하여, 샘플 각각에 개별적으로 적용될 수 있는 컨테이너/컨텐트 color gamut 정보를 각각 기술할 수 있다.
도 32 는 본 발명의 일 실시예에 따른, color gamut 정보를 각종 플래그, 샘플 그룹 엔트리 또는 샘플 엔트리 내에 정의하는 방안을 도시한 도면이다.
도시된 실시예(t32010)에서, trex 박스 내의 default_sample_flags, tfhd 박스 내의 default_sample_flags, trun 박스 내의 sample_flags 및/또는 trun 박스 내의 first_sample_flags 상에 도시된 color gamut 관련 플래그들이 추가될 수 있다.
각각의 플래그 상에 container_wcg_flag 필드, container_scg_compatibility_flag 필드, content_wcg_flag 필드 및/또는 content_scg_compatibility_flag 필드가 포함될 수 있다.
container_wcg_flag 필드는 해당 샘플의 컨테이너 color gamut 이 WCG 인지 여부를 나타내는 플래그일 수 있다. container_scg_compatibility_flag 필드는 해당 샘플의 컨테이너 color gamut 이 SCG 기반 디코더/디스플레이와 호환이 가능한지 여부를 나타내는 플래그일 수 있다. 해당 플래그가 셋(set) 되는 경우, SCG 만을 지원하는 디코더/디스플레이도 해당 샘플을 디코딩 가능하며, 이 해당 샘플을 디코딩하여 출력할 것인지 여부 등을 결정할 수 있다.
content_wcg_flag 필드는 해당 샘플의 컨텐트 color gamut 이 WCG 인지 여부를 나타내는 플래그일 수 있다. content_scg_compatibility_flag 필드는 해당 샘플의 컨텐트 color gamut 이 SCG 기반 디코더/디스플레이와 호환이 가능한지 여부를 나타내는 플래그일 수 있다. 해당 플래그가 셋(set) 되는 경우, SCG 만을 지원하는 디코더/디스플레이도 해당 샘플을 처리가능하며, 이 해당 샘플의 디코딩/디스플레이 여부 등을 결정할 수 있다.
도시된 실시예(t32020)에서, 비주얼 샘플 그룹 엔트리(visual sampel group entry) 에 color gamut 정보가 포함될 수 있다. 하나의 미디어 파일 또는 프래그먼트에 존재하는 하나 이상의 비디오 샘플들에, 동일한 컨테이너/컨텐트 color gamut 관련 플래그가 적용될 수 있는 경우, 도시된 실시예와 같은 color gamut 플래그들이 비주얼 샘플 그룹 엔트리에 더 포함될 수 있다.
도시된 color gamut 관련 플래그들은 전술한 동명의 플래그들과 그 의미는 같으나, 이 경우 해당 샘플 그룹에 대해서 기술할 수 있다. 즉, container_wcg_flag 필드는 해당 샘플 그룹의 컨테이너 color gamut 이 WCG 인지 여부를 나타낼 수 있다. 또한 이 필드의 값에 따라 해당 샘플 그룹에 대한 컨테이너 color gamut 관련 플래그들의 존재 여부가 지시될 수 있다. content_wcg_flag 필드는 해당 샘플 그룹의 컨텐트 color gamut 이 WCG 인지 여부를 나타낼 수 있다. 또한 이 필드의 값에 따라 해당 샘플 그룹에 대한 컨텐트 color gamut 관련 플래그들의 존재 여부가 지시될 수 있다.
container_color_space_transition_flag 필드는 해당 샘플 그룹 내에서 샘플들이 인코딩시에 사용했거나, 디코딩시에 사용할 수 있는 컬러 프라이마리스의 크로마티시티 코디네이트가 다른 크로마티시티 코디네이트로 변경되는지 여부를 나타내는 플래그일 수 있다. container_wcg_scg_transition_flag 필드는 해당 샘플 그룹 내에서 샘플 컨테이너 color gamut 이 WCG 에서 SCG 로 전환되는지 여부를 나타내는 플래그일 수 있다. container_scg_wcg_transition_flag 필드는 해당 샘플 그룹 내에서 샘플의 컨테이너 color gamut 이 SCG 에서 WCG 로 전환되는지 여부를 나타내는 플래그일 수 있다. container_scg_compatibility_flag 필드는 해당 샘플 그룹 내의 샘플들의 컨테이너 color gamut 이 SCG 기반 디코더/ 디스플레이와 호환이 가능한지 여부를 나타내는 플래그일 수 있다.
content_color_space_transition_flag 필드는 해당 샘플 그룹 내 샘플들의 오리지널 소스 프라이머리스의 크로마티시티 코디네이트가 다른 크로마티시티 코디네이트로 변경되는지 여부를 나타내는 플래그일 수 있다. content_wcg_scg_transition_flag 필드는 해당 샘플 그룹 내에서 샘플의 컨텐트 color gamut 이 WCG 에서 SCG 로 전환되는지 여부를 나타내는 플래그일 수 있다. content_scg_wcg_transition_flag 필드는 해당 샘플 그룹 내에서 샘플의 컨텐트 color gamut 이 SCG 에서 WCG 로 전환되는지 여부를 나타내는 플래그일 수 있다. content_scg_compatibility_flag 필드는 해당 샘플 그룹 내에서 샘플들의 컨텐트 color gamut 이 SCG 기반 디코더/ 디스플레이와 호환이 가능한지 여부를 나타내는 플래그일 수 있다.
도시된 실시예(t32030)에서, 비주얼 샘플 그룹 엔트리(visual sample group entry) 에 color gamut 정보가 포함될 수 있다. 하나의 미디어 파일 또는 프래그먼트에 존재하는 하나 이상의 비디오 샘플들에, 동일한 컨테이너/컨텐트 color gamut 정보(파라미터)가 적용될 수 있는 경우, 도시된 실시예와 같이 컨테이너/컨텐트 color gamut 정보가 비주얼 샘플 그룹 엔트리에 더 포함될 수 있다.
여기서 비주얼 샘플 그룹 엔트리에는 container_wcg_flag 필드 및/또는 content_wcg_flag 필드가 포함될 수 있다. 이 필드들의 값에 따라 CG 컨피규레이션 박스인 container_cg_config 박스 및/또는 content_cg_config 박스가 더 포함될 수 있다. 이 CG 컨피규레이션 박스 내의 정보들은 전술한 CG 컨피규레이션 박스 내의 정보들과 그 의미가 같을 수 있다. 단 이 경우, 각 정보들은 해당 샘플 그룹에 대해서 기술할 수 있다. 즉, CG 컨피규레이션 박스 내의 정보들은 해당 샘플 그룹의 비디오 샘플들에 공통적으로 적용될 수 있는 컨테이너/컨텐트 color gamut 정보를 제공할 수 있다.
도 33 은 본 발명의 다른 실시예에 따른, color gamut 정보를 각종 플래그, 샘플 그룹 엔트리 또는 샘플 엔트리 내에 정의하는 방안을 도시한 도면이다.
도시된 실시예(t33010)에서, 비주얼 샘플 엔트리(visual sampel entry) 에 color gamut 정보가 포함될 수 있다. 하나의 미디어 파일 또는 프래그먼트에 존재하는 각각의 비디오 샘플들을 디코딩하기 위해 필요한 초기화 정보로서, 해당 샘플과 관련된 color gamut 관련 플래그들이 비주얼 샘플 엔트리에 더 포함될 수 있다.
비주얼 샘플 엔트리에는 container_wcg_flag 필드 및/또는 content_wcg_flag 필드가 포함될 수 있다. 이 필드들의 값에 따라 컨테이너/컨텐트 color gamut 관련 플래그들이 더 포함될 수 있다. 이 플래그들의 의미는, 전술한 비주얼 샘플 그룹 엔트리에서 정의된 바와 같으나, 단 이 경우 각각의 플래그들은 샘플 그룹이 아닌 해당 샘플 하나에 대해서 기술할 수 있다.
즉, container_wcg_flag 필드는 연관된 비디오 트랙 또는 트랙 프래그먼트 내의 샘플이 WCG 를 기반으로 인코딩/디코딩되었음을 나타낼 수 있다. 또한 이 필드의 값에 따라 해당 샘플에 대한 컨테이너 color gamut 관련 플래그들의 존재 여부가 지시될 수 있다. content_wcg_flag 필드는 연관된 비디오 트랙 또는 트랙 프래그먼트 내의 샘플의 오리지널 소스가 WCG 를 기반으로 생성되었는지 여부를 나타낼 수 있다. 또한 이 필드의 값에 따라 해당 샘플에 대한 컨텐트 color gamut 관련 플래그들의 존재 여부가 지시될 수 있다.
container_color_space_transition_flag 필드는 해당 비디오 샘플의 컨테니어 color gamut 의 컬러 프라이마리스의 크로마티시티 코디네이트가 다른 크로마티시티 코디네이트로 변경되는지 여부를 나타내는 플래그일 수 있다. container_wcg_scg_transition_flag 필드는 해당 비디오 샘플의 컨테이너 color gamut 이 WCG 에서 SCG 로 전환되는지 여부를 나타내는 플래그일 수 있다. container_scg_wcg_transition_flag 필드는 해당 비디오 샘플의 컨테이너 color gamut 이 SCG 에서 WCG 로 전환되는지 여부를 나타내는 플래그일 수 있다. container_scg_compatibility_flag 필드는 해당 비디오 샘플의 컨테이너 color gamut 이 SCG 기반 디코더/ 디스플레이와 호환이 가능한지 여부를 나타내는 플래그일 수 있다.
content_color_space_transition_flag 필드는 해당 비디오 샘플의 컨텐트 color gamut 의 오리지널 소스 프라이머리스의 크로마티시티 코디네이트가 다른 크로마티시티 코디네이트로 변경되는지 여부를 나타내는 플래그일 수 있다. content_wcg_scg_transition_flag 필드는 해당 비디오 샘플의 컨텐트 color gamut 이 WCG 에서 SCG 로 전환되는지 여부를 나타내는 플래그일 수 있다. content_scg_wcg_transition_flag 필드는 해당 비디오 샘플의 컨텐트 color gamut 이 SCG 에서 WCG 로 전환되는지 여부를 나타내는 플래그일 수 있다. content_scg_compatibility_flag 필드는 해당 비디오 샘플의 컨텐트 color gamut 이 SCG 기반 디코더/ 디스플레이와 호환이 가능한지 여부를 나타내는 플래그일 수 있다.
도시된 실시예(t33020)에서, 비주얼 샘플 엔트리(visual sampel entry) 에 color gamut 정보가 포함될 수 있다. 하나의 미디어 파일 또는 프래그먼트에 존재하는 각각의 비디오 샘플들을 디코딩하기 위해 필요한 초기화 정보로서, 해당 샘플과 관련된 color gamut 정보(파라미터) 자체가 비주얼 샘플 엔트리에 더 포함될 수 있다.
container_wcg_flag 필드 및/또는 content_wcg_flag 필드가 포함될 수 있다. 이 필드들의 값에 따라 CG 컨피규레이션 박스인 container_cg_config 박스 및/또는 content_cg_config 박스가 더 포함될 수 있다. 이 CG 컨피규레이션 박스 내의 정보들은 전술한 CG 컨피규레이션 박스 내의 정보들과 그 의미가 같을 수 있다. 단 이 경우, 각 정보들은 해당 비디오 샘플에 대해서 기술할 수 있다.
도 34 는 본 발명의 일 실시예에 따른, color gamut 정보를 HEVC 샘플 엔트리, HEVC 컨피규레이션 박스 또는 HEVC 디코더 컨피규레이션 레코드 내에 정의하는 방안을 도시한 도면이다.
도시된 실시예(t34010)에서, color gamut 정보가 HEVC 샘플 엔트리(HEVCSampleEntry)에 포함될 수 있다. 미디어 파일 또는 프래그먼트 내에 존재하는 각각의 HEVC 샘플들을 디코딩하기 위해 필요한 초기화 정보로서, 각각의 HEVC 샘플 등과 관련된 color gamut 정보가 도시된 바와 같이 추가될 수 있다. 추가되는 color gamut 정보는, 실시예에 따라, 전술한 CG 컨피규레이션 박스의 형태로 추가될 수 있다. 실시예에 따라 color gamut 정보는 AVC 샘플 엔트리(AVCSampleEntry), AVC2 샘플 엔트리(AVC2SampleEntry), SVC 샘플 엔트리(SVCSampleEntry), MVC 샘플 엔트리 (MVCSampleEntry) 등에 같은 방식으로 추가될 수 있다.
도시된 실시예(t34020)에서, color gamut 정보가 HEVC 컨피규레이션 박스(HEVCConfigurationBox) 에 포함될 수 있다. 미디어 파일 또는 프래그먼트 내에 존재하는 각각의 HEVC 샘플들을 디코딩하기 위해 필요한 초기화 정보로서, 각각의 HEVC 샘플 등과 관련된 color gamut 정보가 도시된 바와 같이 추가될 수 있다. 추가되는 color gamut 정보는, 실시예에 따라, 전술한 CG 컨피규레이션 박스의 형태로 추가될 수 있다. 이 경우, CG 컨피규레이션 박스의 추가 여부가 플래그 필드들에 의해 지시될 수 있다. 실시예에 따라 color gamut 정보는 AVC 컨피규레이션 박스(AVCConfigurationBox), SVC 컨피규레이션 박스(SVCConfigurationBox), MVC 컨피규레이션 박스(MVCConfigurationBox) 등에 같은 방식으로 추가될 수 있다. 실시예에 따라 HEVC 컨피규레이션 박스에 CG 컨피규레이션 박스가 포함되는 것이 아닌, color gamut 관련 플래그들이 포함될 수도 있다.
도시된 실시예(t34030)에서, color gamut 정보가 HEVC 디코더 컨피규레이션 레코드 (HEVCDecoderConfigurationRecord) 에 포함될 수 있다. 미디어 파일 또는 프래그먼트 내에 존재하는 각각의 HEVC 샘플들을 디코딩하기 위해 필요한 초기화 정보로서, 각각의 HEVC 샘플 등과 관련된 color gamut 정보가 도시된 바와 같이 추가될 수 있다. 추가되는 color gamut 정보는, 실시예에 따라, 전술한 CG 컨피규레이션 박스의 형태로 추가될 수 있다. 이 경우, CG 컨피규레이션 박스의 추가 여부가 container_cg_flag 필드 및/또는 content_cg_flag 필드에 의해 수행될 수 있다. 실시예에 따라 color gamut 정보는 AVC 디코더 컨피규레이션 레코드(AVCDecoderConfigurationRecord), SVC 디코더 컨피규레이션 레코드(SVCDecoderConfigurationRecord), MVC 디코더 컨피규레이션 레코드(MVCDecoderConfigurationRecord) 등에 같은 방식으로 추가될 수 있다.
도 35 는 본 발명의 일 실시예에 따른, CG 정보 SEI 박스를 정의하여 color gamut 정보를 저장/전달하는 방안을 도시한 도면이다.
본 발명은 CG 정보 SEI 박스(CGInformationSEIBox) 를 정의한다(t35010). 이 박스는 SEI NAL 유닛을 포함하는데, 이 SEI NAL 유닛은 color gamut 관련 정보를 포함하는 SEI 메시지를 가질 수 있다. CG 정보 SEI 박스는 cisb 박스로 불릴 수도 있다.
CG 정보 SEI 박스는 도시된 실시예들과 같이(t35020, t35030, t35040), 비주얼 샘플 엔트리, HEVC 컨피규레이션 박스 및/또는 HEVC 샘플 엔트리에 포함될 수 있다. 또한 실시예에 따라, AVC 샘플 엔트리, MVC 샘플 엔트리, SVC 샘플 엔트리에 포함될 수도 있다.
도 36 은 본 발명의 일 실시예에 따른, WCG 정보 처리 능력에 기반한 수신기의 미디어 엔진 동작을 도시한 도면이다.
수신기의 파서(ISOBMFF 파서)는 ISOBMFF 기반 미디어 파일, DASH 세그먼트 및/또는 MMT MPU 등을 파싱할 수 있다. 파싱한 결과에 따라 WCG 비디오 샘플들은 비디오 디코더로 전달되고, color gamut 정보(메타데이터)는 메타데이터 파서로 전달될 수 있다.
비디오 디코더는 비디오 샘플들을 디코딩하여 WCG 비디오 데이터들을 획득할 수 있다. 이 과정에서 획득한 color gamut 관련 정보가 있는 경우 이를 메타데이터 파서로 전달할 수 있다. 메타데이터 파서는 전달받은 color gamut 메타데이터들을 파싱할 수 있다. 여기서 획득한 컨테이너/컨텐트 color gamut 정보가 수신기 처리 과정에서 활용될 수 있다. 메타데이터 파서는 버퍼 내지 메타데이터 업데이트 역할을 수행할 수도 있다. 업데이트는 set_number, version_number 등을 이용해 수행될 수 있다.
수신한 데이터에 대하여, 컨텐트 color gamut 정보가 포함되어 있는지에 따라 경우의 수가 나뉠 수 있다. 컨텐트 color gamut 정보가 포함되어 있지 않은 경우, 수신기는 디스플레이 color gamut 이 컨테이너 color gamut 보다 크거나 같은지를 판단할 수 있다. 디스플레이 color gamut 이 컨테이너 color gamut 보다 크거나 같은 경우, 수신기는 완전한(full) WCG 디스플레이를 제공할 수 있다. 디스플레이 color gamut 이 컨테이너 color gamut 보다 작은 경우, 수신기는 컨테이너 color gamut 으로부터 디스플레이 color gamut 으로 gamut 매핑을 수행할 수 있다. 이 후 수신기는 SCG 디스플레이 또는 파셜(partial) WCG 디스플레이를 제공할 수 있다. 이 과정에서 메타데이터 파서로부터 전달받은 공통(common) 컨테이너 color gamut 관련 정보들이 활용될 수 있다.
반대로 수신한 데이터에 대하여, 컨텐트 color gamut 정보가 포함되어 있는 경우, 수신기는 디스플레이 color gamut 이 컨텐트 color gamut 보다 크거나 같은지를 판단할 수 있다. 디스플레이 color gamut 이 컨텐트 color gamut 보다 크거나 같은 경우, 수신기는 완전한(full) WCG 디스플레이를 제공할 수 있다. 디스플레이 color gamut 이 컨텐트 color gamut 보다 작은 경우, 수신기는 컨텐트 color gamut 으로부터 디스플레이 color gamut 으로 gamut 매핑을 수행할 수 있다. 이 후 수신기는 SCG 디스플레이 또는 파셜(partial) WCG 디스플레이를 제공할 수 있다. 이 과정에서 메타데이터 파서로부터 전달받은 공통(common) 컨텐트 color gamut 관련 정보들이 활용될 수 있다.
본 발명에서는 미디어 파일 포맷을 이용하여, HDR 정보 및/또는 color gamut 정보를 저장/전달하는 방안을 제안하였다. 본 발명은 별도의 시그널링 패쓰(path) 가 아닌, 해당 미디어 파일 자체에 HDR 정보 및/또는 color gamut 정보를 정의함으로써, UHD, 하이브리드 방송 등을 지원하는 다양한 차세대 컨텐트 시스템에서 효율성을 제고할 수 있다.
먼저, 본 발명이 제안하는 방법은, HDR 미디어 데이터 또는 WCG 미디어 데이터에 대하여 HDR, color gamut 에 대한 시그널링 정보가 따로 구성될 필요가 없을 수 있다. 미디어 파일 그 자체로 HDR 내지 WCG 에 대한 정보가 파악될 수 있고, 수신기는 비디오 데이터 디코딩 이전에 HDR 혹은 WCG 관련 정보를 파악하고 그에 따라 어떻게 처리할 지 여부를 결정할 수 있다.
HDR 내지 color gamut 관련 정보가 따로 시그널링될 필요없이, 가장 기본적인 미디어 파일 자체에서 정의됨에 따라, 다양한 저장/전달 시스템과 호환성이 보장될 수 있다. 즉, 추가적인 저장/전송 시스템의 구조 변경이나 개선없이도, 해당 미디어 파일 포맷을 사용하는 시스템이라면 본 발명에서 제안하는 방법이 사용될 수 있다.
또한 미디어 파일 생성 자체부터 HDR 내지 WCG 관련 정보 등이 반영되어 생성되므로, 수신기는 해당 미디어 데이터의 생성시에 의도되었던 바 그대로, 미디어 데이터를 제공할 수 있다. 즉, 시그널링 정보 등에 의해 변경되지 않는, 미디어 파일 자체의 HDR, WCG 컨피규레이션이 제공될 수 있다.
또한, 미디어 파일내의 박스 하이라키 구조를 활용하여 레벨별 시그널링이 효율적으로 수행될 수 있다. 즉, 상위 레벨 박스에서 해당 박스가 커버하는 범위(예를 들어 한 트랙 프래그먼트)에 대해 디폴트 HDR, WCG 값이 정의될 수 있고, 후에 하위 레벨 박스에서 해당 박스가 커버하는 범위(예를 들어 비디오 샘플 하나)에 대해 개별적인 HDR, WCG 파라미터가 정의되어 디폴트 값을 오버라이드할 수 있다.
도 37 은 본 발명의 일 실시예에 따른 미디어 컨텐트 전송 방법을 도시한 도면이다.
본 발명의 일 실시예에 따른 미디어 컨텐트 전송 방법은 미디어 파일들을 생성하는 단계, 미디어 파일들을 세그먼트들로 프로세싱하는 단계 및/또는 세그먼트들을 전송하는 단계를 포함할 수 있다.
먼저 송신측의 파일 생성부는 미디어 컨텐트의 프리젠테이션에 대한 정보를 포함하는 미디어 파일들을 생성할 수 있다. 이 미디어 파일은 ISOBMFF 기반일 수 있다. 적어도 하나의 미디어 파일은 무비 블락 및/또는 적어도 하나 이상의 프래그먼트를 포함할 수 있다. 여기서 무비 블락은 전술한 moov 박스에 해당할 수 있다. 무비 블락은 해당 미디어 파일의 프리젠테이션에 대한 메타데이터를 포함할 수 있다. 실시예에 따라, 무비 블락은 적어도 하나 이상의 트랙 블락을 포함할 수 있다. 여기서 트랙 블락은 전술한 trak 박스에 대항할 수 있다. 트랙 블락은 프리젠테이션의 트랙에 대한 메타데이터를 포함할 수 있다.
프래그먼트는 전술한 미디어 파일의 프래그먼트를 의미할 수 있다. 적어도 하나의 프래그먼트는 무비 프래그먼트 블락 및/또는 미디어 데이터 블락을 포함할 수 있다. 여기서 무비 프래그먼트 블락은 전술한 moof 박스에 해당할 수 있다. 무비 프래그먼트 블락은 해당 프래그먼트의 프리젠테이션에 대한 메타데이터를 제공할 수 있다. 여기서 미디어 데이터 블락은 전술한 mdat 박스에 해당할 수 있다. 미디어 데이터 블락은 해당 프래그먼트의 프리젠테이션을 위한 비디오 샘플들을 포함할 수 있다. 즉, 미디어 데이터 블락은 미디어 프리젠테이션을 위한 실제 미디어 데이터를 포함할 수 있다.
송신측의 세그먼트 처리부는 생성된 미디어 파일들을 복수개의 세그먼트들로 프로세싱할 수 있다. 여기서 세그먼트는 DASH 세그먼트일 수 있다. 실시예에 따라 미디어 파일을 생성하는 단계와 이를 세그먼트로 프로세싱하는 단계는 동시에 수행되어, 하나의 단계로 수행될 수도 있다. 즉, 송신측에서는 바로 미디어 세그먼트를 생성할 수 있다. 여기서 세그먼트에는 ftyp 박스와 moov 박스를 포함하는 초기화 세그먼트와, 전술한 프래그먼트를 포함하는 미디어 세그먼트가 있을 수 있다.
송신측의 전송부는 생성된 복수개의 세그먼트들을 전송할 수 있다. 적응적 스트리밍 방식에 따라 해당 세그먼트들이 방송망 또는 브로드밴드를 통해 수신기로 전송될 수 있다.
실시예에 따라, 전술한 트랙 블락은 트랙 헤더 블락을 더 포함할 수 있다. 트랙 헤더 블락은 전술한 tkhd 박스에 해당할 수 있다. 트랙 헤더 블락은 해당 트랙에 대한 특성을 기술할 수 있다. 여기서 트랙은 오디오 트랙, 비디오 트랙 또는 해당 미디어에 포함되는 특정 트랙 등등을 의미할 수 있다. 트랙 헤더 블락은 제 1 HDR 정보 또는 제 1 WCG 정보를 포함할 수 있다. 이 들은 해당 트랙의 비디오 샘플들, 즉 비디오 데이터들에 대한 HDR, WCG 정보를 제공할 수 있다. 이 들은 각각 전술한 tkhd 박스 내의 HDR 정보, WCG 정보일 수 있다. 여기서 HDR 정보, WCG 정보들은 전술한 실시예들에서 기술한 형태 중 하나의 형태를 따를 수 있다.
본 발명의 다른 실시예에 따른 미디어 컨텐트 전송 방법에서, 제 1 HDR 정보는 해당 트랙에 HDR 을 지원하는 HDR 비디오 샘플들이 포함되었는지 여부를 지시하는 HDR 플래그를 포함할 수 있다. 여기서 HDR 플래그는 전술한 hdr_flag 필드에 해당할 수 있다. 제 1 HDR 정보는 HDR 비디오 샘플들에 대한 HDR 관련 파라미터가 해당 트랙 내에서 변경되는지 여부를 지시하는 HDR 타입 플래그를 더 포함할 수 있다. HDR 타입 플래그는 전술한 hdr_type_transition_flag 필드에 해당할 수 있다. 제 1 HDR 정보는 비디오 샘플들이 해당 트랙 내에서 SDR 을 지원하는 SDR 비디오 샘플들에서 HDR 비디오 샘플들로 전환되는지 여부를 지시하는 SDR-HDR 트랜지션 플래그를 더 포함할 수 있다. SDR-HDR 트랜지션 플래그는 전술한 hdr_sdr_transition_flag 필드에 해당할 수 있다. 제 1 HDR 정보는 비디오 샘플들이 해당 트랙 내에서 HDR 비디오 샘플들에서 SDR 비디오 샘플들로 전환되는지 여부를 지시하는 HDR-SDR 트랜지션 플래그를 더 포함할 수 있다. HDR-SDR 트랜지션 플래그는 전술한 sdr_hdr_transition_flag 필드일 수 있다. 제 1 HDR 정보는 해당 트랙의 HDR 비디오 샘플들이 SDR 을 지원하는 디코더와 호환이 되는지 여부를 지시하는 SDR 호환 플래그를 더 포함할 수 있다. SDR 호환 플래그는 전술한 sdr_compatibility_flag 필드에 해당할 수 있다.
본 발명의 또 다른 실시예에 따른 미디어 컨텐트 전송 방법에서, 제 1 WCG 정보는 미디어 컨텐트의 컬러 개밋 정보를 제공하는 컨텐트 컬러 개밋(color gamut) 정보 및/또는 미디어 컨텐트의 인코딩 과정에서 사용되는 컬러 개밋 정보를 제공하는 컨테이너 컬러 개밋(color gamut) 정보를 포함할 수 있다. 컨테이너/컨텐트 color gamut 정보에 대해서는 전술한 바와 같다. 실시예에 따라 이 두 정보 중 어느 하나의 정보만을 보내는 것이 아니라, 두 정보를 함께 보냄으로써, 수신기에서 효율적인 color gamut 처리가 가능할 수 있다.
본 발명의 또 다른 실시예에 따른 미디어 컨텐트 전송 방법에서, 컨텐트 컬러 개밋 정보는 비디오 샘플들의 컨텐트 컬러 개밋이 상기 해당 트랙 내에서 WCG 에서 SCG 로 전환되는지 여부를 지시하는 WCG-SCG 트랜지션 플래그를 더 포함할 수 있다. 여기서 WCG-SCG 트랜지션 플래그는 전술한 content_wcg_scg_transition_flag 필드에 해당할 수 있다. 컨텐트 컬러 개밋 정보는 비디오 샘플들의 컨텐트 컬러 개밋이 상기 해당 트랙 내에서 SCG 에서 WCG 로 전환되는지 여부를 지시하는 SCG-WCG 트랜지션 플래그를 더 포함할 수 있다. 여기서 SCG-WCG 트랜지션 플래그는 전술한 content_scg_wcg_transition_flag 필드에 해당할 수 있다. 컨테이너 컬러 개밋 정보는 비디오 샘플들의 컨테이너 컬러 개밋이 상기 해당 트랙 내에서 WCG 에서 SCG (Standard Color Gamut) 로 전환되는지 여부를 지시하는 WCG-SCG 트랜지션 플래그를 더 포함할 수 있다. 여기서 WCG-SCG 트랜지션 플래그는 전술한 container_wcg_scg_transition_flag 필드에 해당할 수 있다. 컨테이너 컬러 개밋 정보는 비디오 샘플들의 컨테이너 컬러 개밋이 해당 트랙 내에서 SCG 에서 WCG 로 전환되는지 여부를 지시하는 SCG-WCG 트랜지션 플래그를 더 포함할 수 있다. 여기서 SCG-WCG 트랜지션 플래그는 전술한 container_scg_wcg_transition_flag 필드에 해당할 수 있다.
본 발명의 또 다른 실시예에 따른 미디어 컨텐트 전송 방법에서, 무비 프래그먼트 블락은 해당 프래그먼트에 포함되는 트랙 프래그먼트에 대한 메타데이터를 제공하는 무비 프래그먼트 트랙 헤더 블락을 더 포함할 수 있다. 무비 프래그먼트 트랙 헤더 블락은 전술한 tfhd 박스에 해당할 수 있다. 무비 프래그먼트 트랙 헤더 블락은 트랙 프래그먼트의 비디오 샘플들에 대한 제 2 HDR 정보를 더 포함할 수 있다. 제 2 HDR 정보는 해당 트랙 프래그먼트의 비디오 샘플들에 대해 HDR 정보를 제공할 수 있다. 이 HDR 정보는 전술한 tfhd 박스 내의 HDR 정보일 수 있다. 여기서 HDR 정보는 전술한 실시예들에서 기술한 형태 중 하나의 형태를 따를 수 있다.
제 2 HDR 정보에 포함되는 HDR 플래그는 트랙 프래그먼트에 HDR 비디오 샘플들이 포함되었는지 여부를 지시할 수 있다. 이 HDR 플래그는 전술한 tfhd 박스에 포함되는 hdr_flag 필드에 해당할 수 있다. 제 2 HDR 정보에 포함되는 HDR 타입 플래그는 HDR 비디오 샘플들에 대한 HDR 관련 파라미터가 해당 트랙 프래그먼트 내에서 변경되는지 여부를 지시할 수 있다. 이 HDR 타입 플래그는 전술한 tfhd 박스에 포함되는 hdr_type_transition_flag 필드에 해당할 수 있다. 제 2 HDR 정보의 SDR-HDR 트랜지션 플래그는 비디오 샘플들이 트랙 프래그먼트 내에서 SDR 비디오 샘플들에서 HDR 비디오 샘플들로 전환되는지 여부를 지시할 수 있다. 이 SDR-HDR 트랜지션 플래그는 전술한 tfhd 박스에 포함되는 hdr_sdr_transition_flag 필드에 해당할 수 있다. 제 2 HDR 정보의 HDR-SDR 트랜지션 플래그는 비디오 샘플들이 트랙 프래그먼트 내에서 HDR 비디오 샘플들에서 SDR 비디오 샘플들로 전환되는지 여부를 지시할 수 있다. 이 HDR-SDR 트랜지션 플래그는 전술한 tfhd 박스에 포함되는 sdr_hdr_transition_flag 필드에 해당할 수 있다. 제 2 HDR 정보의 SDR 호환 플래그는 트랙 프래그먼트의 HDR 비디오 샘플들이 SDR 을 지원하는 디코더와 호환이 되는지 여부를 지시할 수 있다. 이 SDR 호환 플래그는 전술한 tfhd 박스에 포함되는 sdr_compatibility_flag 필드에 해당할 수 있다.
본 발명의 또 다른 실시예에 따른 미디어 컨텐트 전송 방법에서, 무비 프래그먼트 블락은 트랙 프래그먼트의 비디오 샘플들에 대한 메타데이터를 제공하는 무비 프래그먼트 트랙 런 블락을 더 포함할 수 있다. 무비 프래그먼트 트랙 런 블락은 전술한 trun 박스에 해당할 수 있다. 무비 프래그먼트 트랙 런 블락은 각각의 비디오 샘플들에 대한 제 3 HDR 정보를 더 포함할 수 있다. 제 3 DR 정보는 해당 트랙 프래그먼트의 각각의 비디오 샘플들에 대해 HDR 정보를 제공할 수 있다. 이 HDR 정보는 전술한 trun 박스 내의 HDR 정보일 수 있다. 여기서 HDR 정보는 전술한 실시예들에서 기술한 형태 중 하나의 형태를 따를 수 있다.
제 3 HDR 정보의 HDR 플래그는 해당 비디오 샘플이 HDR 을 지원하는 HDR 비디오 샘플인지 여부를 지시할 수 있다. 이 HDR 플래그는 전술한 trun 박스에 포함되는 sample_hdr_config 박스의 hdr_type_transition_flag 필드에 해당할 수 있다. 제 3 HDR 정보의 HDR 타입 플래그는 해당 비디오 샘플부터 변경된 HDR 관련 파라미터가 적용되는지 여부를 지시할 수 있다. 이 HDR 타입 플래그는 전술한 trun 박스에 포함되는 sample_hdr_config 박스의 hdr_sdr_transition_flag 필드에 해당할 수 있다. 제 3 HDR 정보의 SDR-HDR 트랜지션 플래그는 해당 비디오 샘플부터 SDR 비디오 샘플에서 HDR 비디오 샘플로 전환되는지 여부를 지시할 수 있다. 이 SDR-HDR 트랜지션 플래그는 전술한 trun 박스에 포함되는 sample_hdr_config 박스의 sdr_hdr_transition_flag 필드에 해당할 수 있다. 제 3 HDR 정보의 HDR-SDR 트랜지션 플래그는 해당 비디오 샘플부터 HDR 비디오 샘플에서 SDR 비디오 샘플로 전환되는지 여부를 지시할 수 있다. 이 HDR-SDR 트랜지션 플래그는 전술한 trun 박스에 포함되는 sample_hdr_config 박스의 sdr_hdr_transition_flag 필드에 해당할 수 있다. 제 3 HDR 정보의 SDR 호환 플래그는 해당 비디오 샘플이 SDR 을 지원하는 디코더와 호환이 되는지 여부를 지시할 수 있다. 이 SDR 호환 플래그는 전술한 trun 박스에 포함되는 sample_hdr_config 박스의 sdr_compatibility_flag 필드에 해당할 수 있다.
본 발명의 또 다른 실시예에 따른 미디어 컨텐트 전송 방법에서, 트랙 프래그먼트의 비디오 샘플들에 대한 제 2 HDR 정보의 값과 각각의 비디오 샘플에 대한 제 3 HDR 정보의 값이 다른 경우, 제 3 HDR 정보의 값이 해당 비디오 샘플에 적용될 수 있다. 즉, tfhd 박스에서 정의하고 있는 HDR 정보는, trun 박스에서 각각의 개별적 샘플에 대해 정의하고 있는 HDR 정보에 의해 오버라이드(override)될 수 있다. 즉, trun 박스의 HDR 정보가 더 우선적으로 적용될 수 있다.
본 발명의 일 실시예에 따른 미디어 컨텐트 수신 방법을 설명한다. 이 방법은 도면에 도시되지 아니하였다.
본 발명의 일 실시예에 따른 미디어 컨텐트 수신 방법은 수신부가 복수개의 세그먼트들을 수신하는 단계, 세그먼트 처리부가 수신한 세그먼트들을 프로세싱하여 미디어 파일을 획득하고 이로부터 HDR 정보, WCG 정보를 획득하는 단계 및/또는 디스플레이부가 획득한 정보들을 이용하여 미디어 프리젠테이션을 디스플레이하는 단계를 포함할 수 있다.
본 발명의 실시예들에 따른 미디어 컨텐트 수신 방법들은, 전술한 본 발명의 실시예들에 따른 미디어 컨텐트 전송 방법들에 대응될 수 있다. 미디어 컨텐트 수신 방법들은, 미디어 컨텐트 전송 방법에서 사용되는 모듈들(예를 들어, 파일 생성부, 세그먼트 처리부, 전송부 등)에 대응되는 하드웨어 모듈들에 의해 수행될 수 있다. 미디어 컨텐트 수신 방법은, 전술한 미디어 컨텐트 전송 방법의 실시예들에 대응되는 실시예들을 가질 수 있다.
전술한 단계들은 실시예에 따라 생략되거나, 유사/동일한 동작을 수행하는 다른 단계에 의해 대체될 수 있다.
도 38 은 본 발명의 일 실시예에 따른 미디어 컨텐트 전송 장치를 도시한 도면이다.
본 발명의 일 실시예에 따른 미디어 컨텐트 전송 장치는 전술한 파일 생성부, 세그먼트 처리부 및/또는 전송부를 포함할 수 있다. 각각의 블락, 모듈들은 전술한 바와 같다.
본 발명의 일 실시예에 따른 미디어 컨텐트 전송 장치 및 그 내부 모듈/블락들은, 전술한 본 발명의 미디어 컨텐트 전송 방법의 실시예들을 수행할 수 있다.
본 발명의 일 실시예에 따른 미디어 컨텐트 수신 장치를 설명한다. 이 장치는 도면에 도시되지 아니하였다.
본 발명의 일 실시예에 따른 미디어 컨텐트 수신 장치는 전술한 수신부, 세그먼트 처리부 및/또는디스플레이부를 포함할 수 있다. 각각의 블락, 모듈들은 전술한 바와 같다.
본 발명의 일 실시예에 따른 미디어 컨텐트 수신 장치 및 그 내부 모듈/블락들은, 전술한 본 발명의 미디어 컨텐트 수신 방법의 실시예들을 수행할 수 있다.
전술한 장치 내부의 블락/모듈 등은 메모리에 저장된 연속된 수행과정들을 실행하는 프로세서들일 수 있고, 실시예에 따라 장치 내/외부에 위치하는 하드웨어 엘레멘트들일 수 있다.
전술한 모듈들은 실시예에 따라 생략되거나, 유사/동일한 동작을 수행하는 다른 모듈에 의해 대체될 수 있다.
모듈 또는 유닛은 메모리(또는 저장 유닛)에 저장된 연속된 수행과정들을 실행하는 프로세서들일 수 있다. 전술한 실시예에 기술된 각 단계들은 하드웨어/프로세서들에 의해 수행될 수 있다. 전술한 실시예에 기술된 각 모듈/블락/유닛들은 하드웨어/프로세서로서 동작할 수 있다. 또한, 본 발명이 제시하는 방법들은 코드로서 실행될 수 있다. 이 코드는 프로세서가 읽을 수 있는 저장매체에 쓰여질 수 있고, 따라서 장치(apparatus)가 제공하는 프로세서에 의해 읽혀질 수 있다.
설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시 예들을 병합하여 새로운 실시 예를 구현하도록 설계하는 것도 가능하다. 그리고, 통상의 기술자의 필요에 따라, 이전에 설명된 실시 예들을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 설계하는 것도 본 발명의 권리범위에 속한다.
본 발명에 따른 장치 및 방법은 상술한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상술한 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
한편, 본 발명이 제안하는 방법을 네트워크 디바이스에 구비된, 프로세서가 읽을 수 있는 기록매체에, 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
그리고, 당해 명세서에서는 물건 발명과 방법 발명이 모두 설명되고 있으며, 필요에 따라 양 발명의 설명은 보충적으로 적용될 수가 있다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 이해된다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.
본 명세서에서 장치 및 방법 발명이 모두 언급되고, 장치 및 방법 발명 모두의 설명은 서로 보완하여 적용될 수 있다.
다양한 실시예가 본 발명을 실시하기 위한 최선의 형태에서 설명되었다.
본 발명은 일련의 방송 신호 제공 분야에서 이용된다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 자명하다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.

Claims (14)

  1. 미디어 컨텐트의 프리젠테이션에 대한 정보를 포함하는 미디어 파일들을 생성하는 단계, 적어도 하나의 상기 미디어 파일은 상기 미디어 파일의 프리젠테이션에 대한 메타데이터를 포함하는 무비 블락 및 복수개의 프래그먼트들을 포함하고, 상기 무비 블락은 상기 프리젠테이션의 트랙에 대한 메타데이터를 포함하는 적어도 하나의 트랙 블락을 더 포함하고,
    적어도 하나의 상기 프래그먼트는 해당 프래그먼트의 프리젠테이션에 대한 메타데이터를 제공하는 무비 프래그먼트 블락 및 상기 해당 프래그먼트의 프리젠테이션을 위한 비디오 샘플들을 포함하는 미디어 데이터 블락을 포함하고;
    상기 미디어 파일들을 복수개의 세그먼트들로 프로세싱하는 단계; 및
    상기 복수개의 세그먼트들을 전송하는 단계; 를 포함하고,
    상기 트랙 블락은 해당 트랙에 대한 특성을 기술하는 트랙 헤더 블락을 더 포함하고,
    상기 트랙 헤더 블락은 상기 해당 트랙의 비디오 샘플들에 대한 제 1 HDR (High Dynamic Range) 정보 또는 제 1 WCG (Wide Color Gamut) 정보를 포함하는 것을 특징으로 하는 미디어 컨텐트 전송 방법.
  2. 제 1 항에 있어서,
    상기 제 1 HDR 정보는 상기 해당 트랙에 HDR 을 지원하는 HDR 비디오 샘플들이 포함되었는지 여부를 지시하는 HDR 플래그,
    상기 HDR 비디오 샘플들에 대한 HDR 관련 파라미터가 해당 트랙 내에서 변경되는지 여부를 지시하는 HDR 타입 플래그,
    비디오 샘플들이 상기 해당 트랙 내에서 SDR (Standard Dynamic Range) 을 지원하는 SDR 비디오 샘플들에서 HDR 비디오 샘플들로 전환되는지 여부를 지시하는 SDR-HDR 트랜지션 플래그,
    비디오 샘플들이 상기 해당 트랙 내에서 HDR 비디오 샘플들에서 SDR 비디오 샘플들로 전환되는지 여부를 지시하는 HDR-SDR 트랜지션 플래그 또는
    상기 해당 트랙의 상기 HDR 비디오 샘플들이 SDR 을 지원하는 디코더와 호환이 되는지 여부를 지시하는 SDR 호환 플래그를 포함하는 것을 특징으로 하는 미디어 컨텐트 전송 방법.
  3. 제 1 항에 있어서,
    상기 제 1 WCG 정보는 상기 미디어 컨텐트의 컬러 개밋 정보를 제공하는 컨텐트 컬러 개밋(color gamut) 정보 및 상기 미디어 컨텐트의 인코딩 과정에서 사용되는 컬러 개밋 정보를 제공하는 컨테이너 컬러 개밋(color gamut) 정보를 포함하는 것을 특징으로 하는 미디어 컨텐트 전송 방법.
  4. 제 3 항에 있어서,
    상기 컨텐트 컬러 개밋 정보는 비디오 샘플들의 컨텐트 컬러 개밋이 상기 해당 트랙 내에서 WCG 에서 SCG (Standard Color Gamut) 로 전환되는지 여부를 지시하는 WCG-SCG 트랜지션 플래그, 또는 비디오 샘플들의 컨텐트 컬러 개밋이 상기 해당 트랙 내에서 SCG 에서 WCG 로 전환되는지 여부를 지시하는 SCG-WCG 트랜지션 플래그를 포함하고,
    상기 컨테이너 컬러 개밋 정보는 비디오 샘플들의 컨테이너 컬러 개밋이 상기 해당 트랙 내에서 WCG 에서 SCG (Standard Color Gamut) 로 전환되는지 여부를 지시하는 WCG-SCG 트랜지션 플래그, 또는 비디오 샘플들의 컨테이너 컬러 개밋이 상기 해당 트랙 내에서 SCG 에서 WCG 로 전환되는지 여부를 지시하는 SCG-WCG 트랜지션 플래그를 포함하는 것을 특징으로 하는 미디어 컨텐트 전송 방법.
  5. 제 1 항에 있어서,
    상기 무비 프래그먼트 블락은 상기 해당 프래그먼트에 포함되는 트랙 프래그먼트에 대한 메타데이터를 제공하는 무비 프래그먼트 트랙 헤더 블락을 더 포함하고,
    상기 무비 프래그먼트 트랙 헤더 블락은 상기 트랙 프래그먼트의 비디오 샘플들에 대한 제 2 HDR 정보를 더 포함하고,
    상기 제 2 HDR 정보의 HDR 플래그는 상기 트랙 프래그먼트에 HDR 비디오 샘플들이 포함되었는지 여부를 지시하고,
    상기 제 2 HDR 정보의 HDR 타입 플래그는 상기 HDR 비디오 샘플들에 대한 HDR 관련 파라미터가 해당 트랙 프래그먼트 내에서 변경되는지 여부를 지시하고,
    상기 제 2 HDR 정보의 SDR-HDR 트랜지션 플래그는 비디오 샘플들이 상기 트랙 프래그먼트 내에서 SDR 비디오 샘플들에서 HDR 비디오 샘플들로 전환되는지 여부를 지시하고,
    상기 제 2 HDR 정보의 HDR-SDR 트랜지션 플래그는 비디오 샘플들이 상기 트랙 프래그먼트 내에서 HDR 비디오 샘플들에서 SDR 비디오 샘플들로 전환되는지 여부를 지시하고,
    상기 제 2 HDR 정보의 SDR 호환 플래그는 상기 트랙 프래그먼트의 상기 HDR 비디오 샘플들이 SDR 을 지원하는 디코더와 호환이 되는지 여부를 지시하는 것을 특징으로 하는 미디어 컨텐트 전송 방법.
  6. 제 5 항에 있어서,
    상기 무비 프래그먼트 블락은 상기 트랙 프래그먼트의 비디오 샘플들에 대한 메타데이터를 제공하는 무비 프래그먼트 트랙 런 블락을 더 포함하고,
    상기 무비 프래그먼트 트랙 런 블락은 각각의 상기 비디오 샘플들에 대한 제 3 HDR 정보를 더 포함하고,
    상기 제 3 HDR 정보의 HDR 플래그는 해당 비디오 샘플이 HDR 을 지원하는 HDR 비디오 샘플인지 여부를 지시하고,
    상기 제 3 HDR 정보의 HDR 타입 플래그는 상기 해당 비디오 샘플부터 변경된 HDR 관련 파라미터가 적용되는지 여부를 지시하고,
    상기 제 3 HDR 정보의 SDR-HDR 트랜지션 플래그는 상기 해당 비디오 샘플부터 SDR 비디오 샘플에서 HDR 비디오 샘플로 전환되는지 여부를 지시하고,
    상기 제 3 HDR 정보의 HDR-SDR 트랜지션 플래그는 상기 해당 비디오 샘플부터 HDR 비디오 샘플에서 SDR 비디오 샘플로 전환되는지 여부를 지시하고,
    상기 제 3 HDR 정보의 SDR 호환 플래그는 상기 해당 비디오 샘플이 SDR 을 지원하는 디코더와 호환이 되는지 여부를 지시하는 것을 특징으로 하는 미디어 컨텐트 전송 방법.
  7. 제 6 항에 있어서,
    상기 트랙 프래그먼트의 비디오 샘플들에 대한 상기 제 2 HDR 정보의 값과 각각의 비디오 샘플에 대한 상기 제 3 HDR 정보의 값이 다른 경우,
    상기 제 3 HDR 정보의 값이 해당 비디오 샘플에 적용되는 것을 특징으로 하는 미디어 컨텐트 전송 방법.
  8. 미디어 컨텐트의 프리젠테이션에 대한 정보를 포함하는 미디어 파일들을 생성하는 파일 생성부, 적어도 하나의 상기 미디어 파일은 상기 미디어 파일의 프리젠테이션에 대한 메타데이터를 포함하는 무비 블락 및 복수개의 프래그먼트들을 포함하고, 상기 무비 블락은 상기 프리젠테이션의 트랙에 대한 메타데이터를 포함하는 적어도 하나의 트랙 블락을 더 포함하고,
    적어도 하나의 상기 프래그먼트는 해당 프래그먼트의 프리젠테이션에 대한 메타데이터를 제공하는 무비 프래그먼트 블락 및 상기 해당 프래그먼트의 프리젠테이션을 위한 비디오 샘플들을 포함하는 미디어 데이터 블락을 포함하고;
    상기 미디어 파일들을 복수개의 세그먼트들로 프로세싱하는 세그먼트 처리부; 및
    상기 복수개의 세그먼트들을 전송하는 전송부; 를 포함하고,
    상기 트랙 블락은 해당 트랙에 대한 특성을 기술하는 트랙 헤더 블락을 더 포함하고,
    상기 트랙 헤더 블락은 상기 해당 트랙의 비디오 샘플들에 대한 제 1 HDR (High Dynamic Range) 정보 또는 제 1 WCG (Wide Color Gamut) 정보를 포함하는 것을 특징으로 하는 미디어 컨텐트 전송 장치.
  9. 제 8 항에 있어서,
    상기 제 1 HDR 정보는 상기 해당 트랙에 HDR 을 지원하는 HDR 비디오 샘플들이 포함되었는지 여부를 지시하는 HDR 플래그,
    상기 HDR 비디오 샘플들에 대한 HDR 관련 파라미터가 해당 트랙 내에서 변경되는지 여부를 지시하는 HDR 타입 플래그,
    비디오 샘플들이 상기 해당 트랙 내에서 SDR (Standard Dynamic Range) 을 지원하는 SDR 비디오 샘플들에서 HDR 비디오 샘플들로 전환되는지 여부를 지시하는 SDR-HDR 트랜지션 플래그,
    비디오 샘플들이 상기 해당 트랙 내에서 HDR 비디오 샘플들에서 SDR 비디오 샘플들로 전환되는지 여부를 지시하는 HDR-SDR 트랜지션 플래그 또는
    상기 해당 트랙의 상기 HDR 비디오 샘플들이 SDR 을 지원하는 디코더와 호환이 되는지 여부를 지시하는 SDR 호환 플래그를 포함하는 것을 특징으로 하는 미디어 컨텐트 전송 장치.
  10. 제 8 항에 있어서,
    상기 제 1 WCG 정보는 상기 미디어 컨텐트의 컬러 개밋 정보를 제공하는 컨텐트 컬러 개밋(color gamut) 정보 및 상기 미디어 컨텐트의 인코딩 과정에서 사용되는 컬러 개밋 정보를 제공하는 컨테이너 컬러 개밋(color gamut) 정보를 포함하는 것을 특징으로 하는 미디어 컨텐트 전송 장치.
  11. 제 10 항에 있어서,
    상기 컨텐트 컬러 개밋 정보는 비디오 샘플들의 컨텐트 컬러 개밋이 상기 해당 트랙 내에서 WCG 에서 SCG (Standard Color Gamut) 로 전환되는지 여부를 지시하는 WCG-SCG 트랜지션 플래그, 또는 비디오 샘플들의 컨텐트 컬러 개밋이 상기 해당 트랙 내에서 SCG 에서 WCG 로 전환되는지 여부를 지시하는 SCG-WCG 트랜지션 플래그를 포함하고,
    상기 컨테이너 컬러 개밋 정보는 비디오 샘플들의 컨테이너 컬러 개밋이 상기 해당 트랙 내에서 WCG 에서 SCG (Standard Color Gamut) 로 전환되는지 여부를 지시하는 WCG-SCG 트랜지션 플래그, 또는 비디오 샘플들의 컨테이너 컬러 개밋이 상기 해당 트랙 내에서 SCG 에서 WCG 로 전환되는지 여부를 지시하는 SCG-WCG 트랜지션 플래그를 포함하는 것을 특징으로 하는 미디어 컨텐트 전송 장치.
  12. 제 8 항에 있어서,
    상기 무비 프래그먼트 블락은 상기 해당 프래그먼트에 포함되는 트랙 프래그먼트에 대한 메타데이터를 제공하는 무비 프래그먼트 트랙 헤더 블락을 더 포함하고,
    상기 무비 프래그먼트 트랙 헤더 블락은 상기 트랙 프래그먼트의 비디오 샘플들에 대한 제 2 HDR 정보를 더 포함하고,
    상기 제 2 HDR 정보의 HDR 플래그는 상기 트랙 프래그먼트에 HDR 비디오 샘플들이 포함되었는지 여부를 지시하고,
    상기 제 2 HDR 정보의 HDR 타입 플래그는 상기 HDR 비디오 샘플들에 대한 HDR 관련 파라미터가 해당 트랙 프래그먼트 내에서 변경되는지 여부를 지시하고,
    상기 제 2 HDR 정보의 SDR-HDR 트랜지션 플래그는 비디오 샘플들이 상기 트랙 프래그먼트 내에서 SDR 비디오 샘플들에서 HDR 비디오 샘플들로 전환되는지 여부를 지시하고,
    상기 제 2 HDR 정보의 HDR-SDR 트랜지션 플래그는 비디오 샘플들이 상기 트랙 프래그먼트 내에서 HDR 비디오 샘플들에서 SDR 비디오 샘플들로 전환되는지 여부를 지시하고,
    상기 제 2 HDR 정보의 SDR 호환 플래그는 상기 트랙 프래그먼트의 상기 HDR 비디오 샘플들이 SDR 을 지원하는 디코더와 호환이 되는지 여부를 지시하는 것을 특징으로 하는 미디어 컨텐트 전송 장치.
  13. 제 12 항에 있어서,
    상기 무비 프래그먼트 블락은 상기 트랙 프래그먼트의 비디오 샘플들에 대한 메타데이터를 제공하는 무비 프래그먼트 트랙 런 블락을 더 포함하고,
    상기 무비 프래그먼트 트랙 런 블락은 각각의 상기 비디오 샘플들에 대한 제 3 HDR 정보를 더 포함하고,
    상기 제 3 HDR 정보의 HDR 플래그는 해당 비디오 샘플이 HDR 을 지원하는 HDR 비디오 샘플인지 여부를 지시하고,
    상기 제 3 HDR 정보의 HDR 타입 플래그는 상기 해당 비디오 샘플부터 변경된 HDR 관련 파라미터가 적용되는지 여부를 지시하고,
    상기 제 3 HDR 정보의 SDR-HDR 트랜지션 플래그는 상기 해당 비디오 샘플부터 SDR 비디오 샘플에서 HDR 비디오 샘플로 전환되는지 여부를 지시하고,
    상기 제 3 HDR 정보의 HDR-SDR 트랜지션 플래그는 상기 해당 비디오 샘플부터 HDR 비디오 샘플에서 SDR 비디오 샘플로 전환되는지 여부를 지시하고,
    상기 제 3 HDR 정보의 SDR 호환 플래그는 상기 해당 비디오 샘플이 SDR 을 지원하는 디코더와 호환이 되는지 여부를 지시하는 것을 특징으로 하는 미디어 컨텐트 전송 장치.
  14. 제 13 항에 있어서,
    상기 트랙 프래그먼트의 비디오 샘플들에 대한 상기 제 2 HDR 정보의 값과 각각의 비디오 샘플에 대한 상기 제 3 HDR 정보의 값이 다른 경우,
    상기 제 3 HDR 정보의 값이 해당 비디오 샘플에 적용되는 것을 특징으로 하는 미디어 컨텐트 전송 장치.
PCT/KR2016/004820 2015-05-07 2016-05-09 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 WO2016178549A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/568,638 US10349095B2 (en) 2015-05-07 2016-05-09 Transmission device for processing video data related to HDR/SDR and method for controlling the same

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562158494P 2015-05-07 2015-05-07
US62/158,494 2015-05-07
US201562159911P 2015-05-11 2015-05-11
US62/159,911 2015-05-11

Publications (1)

Publication Number Publication Date
WO2016178549A1 true WO2016178549A1 (ko) 2016-11-10

Family

ID=57217611

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/004820 WO2016178549A1 (ko) 2015-05-07 2016-05-09 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Country Status (2)

Country Link
US (1) US10349095B2 (ko)
WO (1) WO2016178549A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11284134B2 (en) 2018-08-08 2022-03-22 Comcast Cable Communications, Llc Media content enhancement based on content importance
US11678025B2 (en) 2018-12-20 2023-06-13 Interdigital Vc Holdings, Inc. Methods for processing audio and/or video contents and corresponding signal, devices, electronic assembly, system, computer readable program products and computer readable storage media

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10681107B2 (en) * 2015-06-16 2020-06-09 Apple Inc. Adaptive video content for cellular communication
IL305702B1 (en) * 2016-10-05 2024-03-01 Dolby Laboratories Licensing Corp Messaging information volume source color
US9894396B1 (en) * 2017-03-06 2018-02-13 Tribune Broadcasting Company, Llc Media production system with dynamic modification of multiple media items

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060081375A (ko) * 2005-01-07 2006-07-12 한국전자통신연구원 맞춤형 데이터 방송 서비스를 위한 메타데이터 구성과 이를이용한 데이터 방송 서비스 방법 및 시스템
WO2007106211A1 (en) * 2006-03-15 2007-09-20 Microsoft Corporation Efficient encoding of alternative graphic sets
KR20080003881A (ko) * 2005-04-15 2008-01-08 코닌클리케 필립스 일렉트로닉스 엔.브이. 방송 오디오-비디오 콘텐트와 국부적 사용가능 정보를결합하는 방법, 엔드 유저 시스템, 신호 및 전송 시스템
WO2012011722A2 (ko) * 2010-07-19 2012-01-26 엘지전자 주식회사 미디어 송수신 방법 및 그를 이용한 송수신 장치
US20120173623A1 (en) * 2011-01-04 2012-07-05 Qualcomm Incorporated Methods and apparatus for enhanced system access control for peer-to-peer wireless communication networks

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6307856B2 (ja) * 2013-11-28 2018-04-11 ソニー株式会社 送信装置、広色域画像データ送信方法、受信装置、広色域画像データ受信方法およびプログラム
US11310302B2 (en) * 2014-01-09 2022-04-19 Samsung Electronics Co., Ltd. Method and apparatus for streaming dash content over broadcast channels
JP6467680B2 (ja) * 2014-01-10 2019-02-13 パナソニックIpマネジメント株式会社 ファイル生成方法およびファイル生成装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060081375A (ko) * 2005-01-07 2006-07-12 한국전자통신연구원 맞춤형 데이터 방송 서비스를 위한 메타데이터 구성과 이를이용한 데이터 방송 서비스 방법 및 시스템
KR20080003881A (ko) * 2005-04-15 2008-01-08 코닌클리케 필립스 일렉트로닉스 엔.브이. 방송 오디오-비디오 콘텐트와 국부적 사용가능 정보를결합하는 방법, 엔드 유저 시스템, 신호 및 전송 시스템
WO2007106211A1 (en) * 2006-03-15 2007-09-20 Microsoft Corporation Efficient encoding of alternative graphic sets
WO2012011722A2 (ko) * 2010-07-19 2012-01-26 엘지전자 주식회사 미디어 송수신 방법 및 그를 이용한 송수신 장치
US20120173623A1 (en) * 2011-01-04 2012-07-05 Qualcomm Incorporated Methods and apparatus for enhanced system access control for peer-to-peer wireless communication networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11284134B2 (en) 2018-08-08 2022-03-22 Comcast Cable Communications, Llc Media content enhancement based on content importance
US11678025B2 (en) 2018-12-20 2023-06-13 Interdigital Vc Holdings, Inc. Methods for processing audio and/or video contents and corresponding signal, devices, electronic assembly, system, computer readable program products and computer readable storage media

Also Published As

Publication number Publication date
US20180176609A1 (en) 2018-06-21
US10349095B2 (en) 2019-07-09

Similar Documents

Publication Publication Date Title
WO2017030425A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2018004291A1 (ko) 방송 신호 송신 방법, 방송 신호 수신 방법, 방송 신호 송신 장치 및 방송 신호 수신 장치
WO2017007192A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2017043863A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016182371A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016153326A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016186407A1 (ko) 방송 신호 송수신 장치 및 방법
WO2017014586A1 (ko) 방송 신호 송수신 장치 및 방법
WO2016140486A1 (ko) 방송 신호 송수신 장치 및 방법
WO2016076654A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2017061796A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016178549A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2017209514A1 (ko) 방송 신호 송수신 장치 및 방법
WO2016171518A2 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016122269A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2018101566A1 (ko) 방송 신호 송수신 장치 및 방법
WO2017061792A1 (ko) 방송 신호 송수신 장치 및 방법
WO2016190662A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016129904A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016190720A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016171528A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016072725A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2017123044A1 (ko) 방송 신호 송수신 장치 및 방법
WO2017018775A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법 및 방송 신호 수신 방법
WO2017164595A1 (ko) 방송 신호 송수신 장치 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16789655

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15568638

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16789655

Country of ref document: EP

Kind code of ref document: A1