WO2015178690A1 - 방송 신호 송/수신 처리 방법 및 장치 - Google Patents

방송 신호 송/수신 처리 방법 및 장치 Download PDF

Info

Publication number
WO2015178690A1
WO2015178690A1 PCT/KR2015/005085 KR2015005085W WO2015178690A1 WO 2015178690 A1 WO2015178690 A1 WO 2015178690A1 KR 2015005085 W KR2015005085 W KR 2015005085W WO 2015178690 A1 WO2015178690 A1 WO 2015178690A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
segment
information
representation
broadcast
Prior art date
Application number
PCT/KR2015/005085
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 EP15796735.7A priority Critical patent/EP3148196A4/en
Priority to CA2947833A priority patent/CA2947833C/en
Priority to KR1020167017187A priority patent/KR101814403B1/ko
Priority to CN201580025850.XA priority patent/CN106464929B/zh
Priority to US15/305,301 priority patent/US20170055046A1/en
Publication of WO2015178690A1 publication Critical patent/WO2015178690A1/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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • 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/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/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4383Accessing a communication channel
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • 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/835Generation of protective data, e.g. certificates
    • H04N21/8352Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
    • 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

Definitions

  • the present invention relates to a method and apparatus for transmitting / receiving a media signal. More specifically, the present invention relates to a method and apparatus for processing data for media transmitted by broadband and broadcast, respectively, in a broadcast system in which a broadband and a broadcast are combined.
  • IP-based broadcast signals In the digital broadcasting system, transmission and reception of IP-based broadcast signals are expanding. In particular, the importance of IP-based transmission and reception environment is emphasized in mobile digital broadcasting such as DVB-NGH among European broadcasting standards and ATSC-MH among North American broadcasting standards.
  • mobile digital broadcasting such as DVB-NGH among European broadcasting standards and ATSC-MH among North American broadcasting standards.
  • ATSC-MH Mobile Broadcasting standards
  • hybrid broadcasting system which is serviced by interworking with a broadcasting network and an internet network, is expected to be constructed.
  • a single media may be generated by using data transmitted through a broadcasting network and data transmitted through a broadband network.
  • data transmitted through a broadcasting network and data transmitted through a broadband network are generated.
  • the timing is not correct or synchronization may not be achieved.
  • the technical problem to be solved by the present invention is to solve the above-mentioned problems.
  • a method of transmitting data through a conventional broadcasting network and a method of transmitting data through a broadband network coexist, these data are processed. It is to provide a suitable method and apparatus.
  • An object of the present invention is to provide an appropriate method and apparatus for synchronizing the timing and synchronization between data and data transmitted through a broadband network.
  • Another object of the present invention is to provide a session start and end method using segment URL information including a segment number.
  • Another object of the present invention is to provide a session start and end method using representation ID information and transaction information.
  • a broadcast signal reception apparatus including: a signaling parser for extracting signaling information for providing discovery and acquisition of at least one content component of a service; A delivery object processor for restoring at least one delivery object based on the signaling information; And a media decoder for decoding the at least one delivery object.
  • the signaling information includes a transport session for transmitting the at least one content component of the service and first information about at least one delivery object transmitted through the transport session, and a DASH Media Presentation corresponding to the service. Includes at least one of second information including a description of;
  • the delivery object is included in at least one content component of the service and recovered individually, the delivery object is a file, a part of the file, a group of files (a group of the file), a Hyper Text Transfer Protocol (HTTP) Entity, and a group of the HTTP Entity.
  • HTTP Hyper Text Transfer Protocol
  • the delivery object processor includes: a DASH client for determining a representation to be presented and requesting a segment associated with the delivery object; A DTV control engine mapping the Representation of the signaling information and a Transport Session Identifier (TSI) of the content component; And a transport protocol client configured to recover at least one delivery object from the transport session based on the TSI.
  • a DASH client for determining a representation to be presented and requesting a segment associated with the delivery object
  • a DTV control engine mapping the Representation of the signaling information and a Transport Session Identifier (TSI) of the content component
  • TSI Transport Session Identifier
  • the second information may include segment URL information indicating a uniform resource locator (URL) that can access the segment.
  • URL uniform resource locator
  • the segment URL information may include at least one of a Representation ID for identifying the Representation and a segment number for identifying the number of the segment.
  • the Representation includes a first Representation and a Second Representation
  • the transport protocol client can switch the Representation from the first Representation to the second Representation from a predetermined time point.
  • the DASH client determines a second Representation to be presented; And the DTV control engine may map the second representation of the signaling information and the TSI of the content component.
  • the second information may include at least one of Representation ID information identifying the Representation and Transaction information indicating whether to participate in a transmission session for transmitting the Representation.
  • the transaction information may include at least one of a Start Transaction instructing to participate in the transport session and a Stop Transaction instructing to terminate the transport session.
  • the Representation includes a first Representation and a Second Representation
  • the transport protocol client may switch the Representation from the first Representation to the second Representation from a predetermined time point.
  • the DASH client determines a second Representation to be presented; And the DTV control engine may map the second representation of the signaling information and the TSI of the content component.
  • a broadcast signal transmission apparatus comprising: a delivery object generator configured to generate at least one delivery object included in at least one content component of a service; A signaling encoder for generating signaling information providing for the discovery and acquisition of said service and said at least one content component; And a transmitter for transmitting the at least one delivery object and the signaling information through a unidirectional channel.
  • the signaling information includes a transport session for transmitting the at least one content component of the service, first information about at least one delivery object transmitted through the transport session, and a DASH Media Presentation corresponding to the service. At least one of second information including descriptions; And the delivery object is recovered individually, the delivery object is a file, a part of the file, a group of the file, Hyper Text Transfer Protocol (HTTP). ) Entity, and a group of the HTTP Entity.
  • HTTP Hyper Text Transfer Protocol
  • the second information includes segment URL information indicating a uniform resource locator (URL) that can access the segment, Representation ID information identifying the Representation, and whether to participate in a transmission session for transmitting the Representation. It may include at least one of transaction information indicating a.
  • segment URL information indicating a uniform resource locator (URL) that can access the segment
  • Representation ID information identifying the Representation
  • It may include at least one of transaction information indicating a.
  • the segment URL information may include at least one of a Representation ID for identifying the Representation and a segment number for identifying the number of the segment.
  • data transmitted through the existing broadcasting network and data transmitted through the broadband network can be efficiently processed together.
  • FIG. 1 shows a structure of a broadcast signal transmission apparatus for a next generation broadcast service according to an embodiment of the present invention.
  • FIG 2 illustrates an input formatting block according to an embodiment of the present invention.
  • FIG 3 illustrates an input formatting block according to another embodiment of the present invention.
  • BICM bit interleaved coding & modulation
  • FIG. 5 illustrates a BICM block according to another embodiment of the present invention.
  • FIG. 6 illustrates a frame building block according to an embodiment of the present invention.
  • FIG 7 illustrates an orthogonal frequency division multiplexing (OFDM) generation block according to an embodiment of the present invention.
  • OFDM orthogonal frequency division multiplexing
  • FIG. 8 illustrates a structure of a broadcast signal receiving apparatus for a next generation broadcast service according to an embodiment of the present invention.
  • FIG. 9 shows a frame structure according to an embodiment of the present invention.
  • FIG. 10 illustrates a signaling hierarchy structure of a frame according to an embodiment of the present invention.
  • FIG 11 illustrates preamble signaling data according to an embodiment of the present invention.
  • FIG 13 illustrates PLS2 data according to an embodiment of the present invention.
  • FIG 14 illustrates PLS2 data according to another embodiment of the present invention.
  • FIG. 15 illustrates a logical structure of a frame according to an embodiment of the present invention.
  • PLS 16 illustrates physical layer signaling (PLS) mapping according to an embodiment of the present invention.
  • EAC emergency alert channel
  • FEC forward error correction
  • 21 illustrates the basic operation of a twisted row-column block interleaver according to an embodiment of the present invention.
  • FIG. 22 illustrates an operation of a twisted row-column block interleaver according to another embodiment of the present invention.
  • FIG. 23 illustrates a diagonal read pattern of a twisted row-column block interleaver according to an embodiment of the present invention.
  • FIG. 24 illustrates XFECBLOCKs interleaved from each interleaving array according to an embodiment of the present invention.
  • 25 is a diagram illustrating a hybrid broadcast receiver according to an embodiment of the present invention.
  • FIG. 26 illustrates an operation of performing service scanning in a hybrid broadcast receiver according to an embodiment of the present invention.
  • 27 is a diagram illustrating an operation of performing service selection in a hybrid broadcast receiver according to an embodiment of the present invention.
  • 28 is a diagram illustrating an operation of performing service selection in a hybrid broadcast receiver according to an embodiment of the present invention.
  • 29 is a diagram illustrating an operation of performing service selection in a hybrid broadcast receiver according to another embodiment of the present invention.
  • FIG. 30 is a block diagram of a hybrid broadcast receiver according to an embodiment of the present invention.
  • 31 is a diagram illustrating an operation of performing service selection in a hybrid broadcast receiver according to another embodiment of the present invention.
  • 32 is a diagram illustrating an operation of performing service selection in a hybrid broadcast receiver according to another embodiment of the present invention.
  • 33 is a diagram illustrating an operation of performing service selection in a hybrid broadcast receiver according to another embodiment of the present invention.
  • 34 is a diagram illustrating an operation of performing service selection in a hybrid broadcast receiver according to another embodiment of the present invention.
  • 35 is a view showing the operation of the ALC / LCT + client according to an embodiment of the present invention.
  • FIG. 36 illustrates an ISO BMFF file according to an embodiment of the present invention.
  • FIG 37 illustrates an application layer transport protocol packet according to an embodiment of the present invention.
  • FIG. 38 illustrates an application layer transport protocol packet when a TSI is mapped to one track and a TOI is mapped to one chunk according to an embodiment of the present invention.
  • FIG. 39 illustrates setting characteristics of respective boxes in an ISO BMFF file in an application layer transport protocol packet when TSI is mapped to one track and TOI is mapped to one chunk according to an embodiment of the present invention.
  • FIG 40 illustrates transmission and reception of an application layer transport protocol packet according to an embodiment of the present invention.
  • 41 illustrates a structure of an application layer transport protocol packet according to an embodiment of the present invention.
  • 43 is a diagram illustrating a broadcast system according to an embodiment of the present invention.
  • 44 is a diagram showing timing of segment processing in a broadcast system according to an embodiment of the present invention.
  • 46 is a diagram showing timing of processing of a segment in a broadcasting system according to another embodiment of the present invention.
  • 47 is a diagram illustrating a broadcast system when using MPD only in broadband according to another embodiment of the present invention.
  • 48 is a diagram showing timing of processing of a segment in a broadcasting system according to another embodiment of the present invention.
  • 49 is a diagram illustrating a broadcast system when using MPD only in broadband according to another embodiment of the present invention.
  • 50 is a diagram illustrating timing of segment processing in a broadcast system according to another embodiment of the present invention.
  • 51 is a flowchart illustrating a procedure of transmitting and receiving broadcast signals according to an embodiment of the present invention.
  • FIG. 52 illustrates a transmitter and a receiver according to an embodiment of the present invention.
  • FIG. 53 illustrates a ROUTE protocol stack according to an embodiment of the present invention.
  • FIG. 54 is a diagram illustrating a structure of a broadcast signal transmission apparatus according to an embodiment of the present invention.
  • 55 is a diagram showing the structure of a broadcast signal receiving apparatus according to an embodiment of the present invention.
  • 56 is a diagram showing the structure of a delivery object processor according to an embodiment of the present invention.
  • 57 is a diagram illustrating the structure of a delivery object processor according to an embodiment of the present invention.
  • 58 is a flowchart illustrating a broadcast signal transmission method according to an embodiment of the present invention.
  • 59 is a flowchart illustrating a broadcast signal receiving method according to an embodiment of the present invention.
  • 60 is a flowchart illustrating a restoration of a delivery object according to an embodiment of the present invention.
  • the term “signaling” refers to transmitting / receiving service information (SI) provided by a broadcasting system, an internet broadcasting system, and / or a broadcasting / internet convergence system.
  • the service information includes broadcast service information (eg, ATSC-SI and / or DVB-SI) provided in each broadcast system that currently exists.
  • the term 'broadcast signal' refers to bidirectional communication such as internet broadcasting, broadband broadcasting, communication broadcasting, data broadcasting, and / or video on demand, in addition to terrestrial broadcasting, cable broadcasting, satellite broadcasting, and / or mobile broadcasting. This is defined as a concept including a signal and / or data provided in a broadcast.
  • 'PLP' refers to a certain unit for transmitting data belonging to a physical layer. Therefore, the content named "PLP” in this specification may be renamed to "data unit” or "data pipe.”
  • DTV digital broadcasting
  • the hybrid broadcasting service allows a user to transmit enhancement data related to broadcasting A / V (Audio / Video) content or a portion of broadcasting A / V content transmitted through a terrestrial broadcasting network in real time through an internet network. Lets you experience various contents.
  • 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.
  • MIMO multiple input multiple output
  • the non-MIMO scheme may include a multiple input single output (MISO) scheme, a single input single output (SISO) scheme, and the like.
  • the MISO or MIMO scheme uses two antennas, but the present invention can be applied to a system using two or more antennas.
  • the present invention can define three physical profiles (base, handheld, advanced) that are optimized to minimize receiver complexity while achieving the performance required for a particular application. have.
  • the physical profile is a subset of all the structures that the corresponding receiver must implement.
  • the three physical profiles share most of the functional blocks, but differ slightly in certain blocks and / or parameters. Further physical profiles can be defined later.
  • a future profile may be multiplexed with a profile present in a single radio frequency (RF) channel through a future extension frame (FEF). Details of each physical profile will be described later.
  • RF radio frequency
  • FEF future extension frame
  • the base profile mainly indicates the main use of a fixed receiving device in connection with a roof-top antenna.
  • the base profile can be moved to any place but can also include portable devices that fall into a relatively stationary reception category.
  • the use of the base profile can be extended for handheld devices or vehicles with some improved implementation, but such use is not expected in base profile receiver operation.
  • the target signal-to-noise ratio range of reception is approximately 10-20 dB, which includes the 15 dB signal-to-noise ratio receiving capability of existing broadcast systems (eg, ATSC A / 53). Receiver complexity and power consumption are not as important as in battery powered handheld devices that will use the handheld profile. Key system parameters for the base profile are listed in Table 1 below.
  • the handheld profile is designed for use in battery powered handheld and in-vehicle devices.
  • the device may move at pedestrian or vehicle speed.
  • the power consumption as well as the receiver complexity is very important for the implementation of devices in the handheld profile.
  • the target signal-to-noise ratio range of the handheld profile is approximately 0-10 dB, but can be set to reach below 0 dB if intended for lower indoor reception.
  • the advance profile provides higher channel capability in exchange for greater execution complexity.
  • the profile requires the use of MIMO transmission and reception, and the UHDTV service is a target use, for which the profile is specifically designed.
  • the enhanced capability may also be used to allow for an increase in the number of services at a given bandwidth, for example multiple SDTV or HDTV services.
  • the target signal to noise ratio range of the advanced profile is approximately 20 to 30 dB.
  • MIMO transmissions initially use existing elliptic polarization transmission equipment and can later be extended to full power cross polarization transmissions. Key system parameters for the advance profile are listed in Table 3 below.
  • the base profile may be used as a profile for both terrestrial broadcast service and mobile broadcast service. That is, the base profile can be used to define the concept of a profile that includes a mobile profile. Also, the advanced profile can be divided into an advanced profile for the base profile with MIMO and an advanced profile for the handheld profile with MIMO. The three profiles can be changed according to the designer's intention.
  • Auxiliary stream A sequence of cells carrying data of an undefined modulation and coding that can be used as a future extension or as required by a broadcaster or network operator.
  • Base data pipe a data pipe that carries service signaling data
  • Baseband Frame (or BBFRAME): A set of Kbch bits that form the input for one FEC encoding process (BCH and LDPC encoding).
  • Coded block one of an LDPC encoded block of PLS1 data or an LDPC encoded block of PLS2 data
  • Data pipe a logical channel in the physical layer that carries service data or related metadata that can carry one or more services or service components
  • Data pipe unit A basic unit that can allocate data cells to data pipes in a frame
  • Data symbol OFDM symbol in a frame that is not a preamble symbol (frame signaling symbols and frame edge symbols are included in the data symbols)
  • DP_ID This 8-bit field uniquely identifies a data pipe within the system identified by SYSTEM_ID.
  • Dummy cell A cell that carries a pseudo-random value used to fill the remaining unused capacity for physical layer signaling (PLS) signaling, data pipes, or auxiliary streams.
  • PLS physical layer signaling
  • FAC Emergency alert channel
  • Frame A physical layer time slot starting with a preamble and ending with a frame edge symbol.
  • Frame repetition unit A set of frames belonging to the same or different physical profile that contains an FEF that is repeated eight times in a super-frame.
  • FEC Fast information channel
  • FECBLOCK set of LDPC encoded bits of data pipe data
  • FFT size The nominal FFT size used for a particular mode equal to the active symbol period Ts expressed in cycles of the fundamental period T.
  • Frame signaling symbol The higher pilot density used at the start of a frame in a particular combination of FFT size, guard interval, and scattered pilot pattern, which carries a portion of the PLS data. Having OFDM symbol
  • Frame edge symbol An OFDM symbol with a higher pilot density used at the end of the frame in a particular combination of FFT size, guard interval, and scatter pilot pattern.
  • Frame-group set of all frames with the same physical profile type in a superframe
  • Future extention frame A physical layer time slot within a super frame that can be used for future expansion, starting with a preamble.
  • Futurecast UTB system A proposed physical layer broadcast system whose input is one or more MPEG2-TS or IP (Internet protocol) or generic streams and the output is an RF signal.
  • Input stream A stream of data for the coordination of services delivered to the end user by the system.
  • Normal data symbols data symbols except frame signaling symbols and frame edge symbols
  • PHY profile A subset of all structures that the corresponding receiver must implement
  • PLS physical layer signaling data consisting of PLS1 and PLS2
  • PLS1 The first set of PLS data carried in a frame signaling symbol (FSS) with fixed size, coding, and modulation that conveys basic information about the system as well as the parameters needed to decode PLS2.
  • FSS frame signaling symbol
  • PLS2 The second set of PLS data sent to the FSS carrying more detailed PLS data about data pipes and systems.
  • PLS2 dynamic data PLS2 data that changes dynamically from frame to frame
  • PLS2 static data PLS2 data that is static during the duration of a frame group
  • Preamble signaling data signaling data carried by the preamble symbol and used to identify the basic mode of the system
  • Preamble symbol a fixed length pilot symbol carrying basic PLS data and positioned at the beginning of a frame
  • Preamble symbols are primarily used for fast initial band scans to detect system signals, their timings, frequency offsets, and FFT sizes.
  • Superframe set of eight frame repeat units
  • Time interleaving block A set of cells in which time interleaving is performed, corresponding to one use of time interleaver memory.
  • Time interleaving group A unit in which dynamic capacity allocation is performed for a particular data pipe, consisting of an integer, the number of XFECBLOCKs that change dynamically.
  • a time interleaving group can be directly mapped to one frame or mapped to multiple frames.
  • the time interleaving group may include one or more time interleaving blocks.
  • Type 1 DP A data pipe in a frame where all data pipes are mapped to frames in a time division multiplexing (TDM) manner.
  • Type 2 DPs Types of data pipes in a frame where all data pipes are mapped to frames in an FDM fashion.
  • XFECBLOCK set of N cells cells carrying all the bits of one LDPC FECBLOCK
  • FIG. 1 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 are the main input formats and other stream types are treated as general streams.
  • management information is input to control the scheduling and allocation of the corresponding bandwidth for each input stream.
  • One or multiple TS streams, IP streams and / or general stream inputs are allowed at the same time.
  • 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. Detailed operations of the input format block 1000 will be described later.
  • 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 data pipe unit is a basic unit for allocating data cells to data pipes in one frame.
  • parity data is added for error correction and the encoded bit stream is mapped to a complex value constellation symbol.
  • the symbols are interleaved over the specific interleaving depth used for that data pipe.
  • MIMO encoding is performed at BICM block 1010 and additional data paths are added to the output for MIMO transmission. Detailed operations of the BICM block 1010 will be described later.
  • the frame building block 1020 may map data cells of an input data pipe to OFDM solid balls within one frame. After mapping, frequency interleaving is used for frequency domain diversity, in particular to prevent frequency selective fading channels. Detailed operations of the frame building block 1020 will be described later.
  • the OFDM generation block 1030 can apply existing OFDM modulation having a cyclic prefix as the guard interval.
  • a distributed MISO scheme is applied across the transmitter.
  • a peak-to-average power ratio (PAPR) scheme is implemented in the time domain.
  • PAPR peak-to-average power ratio
  • the proposal provides a variety of FFT sizes, guard interval lengths, and sets of corresponding pilot patterns. Detailed operations of the OFDM generation block 1030 will be described later.
  • the signaling generation block 1040 may generate physical layer signaling information used for the operation of each functional block.
  • the signaling information is also transmitted such that the service of interest is properly recovered at the receiver side. Detailed operations of the signaling generation block 1040 will be described later.
  • 2 illustrates an input format block according to an embodiment of the present invention. 2 shows an input format block when the input signal is a single input stream.
  • the input format block illustrated in FIG. 2 corresponds to an embodiment of the input format block 1000 described with reference to FIG. 1.
  • Input to the physical layer may consist of one or multiple data streams. Each data stream is carried by one data pipe.
  • the mode adaptation module slices the input data stream into a data field of a baseband frame (BBF).
  • BBF baseband frame
  • the system supports three types of input data streams: MPEG2-TS, IP, and GS (generic stream).
  • MPEG2-TS features a fixed length (188 bytes) packet where the first byte is a sync byte (0x47).
  • An IP stream consists of variable length IP datagram packets signaled in IP packet headers.
  • the system supports both IPv4 and IPv6 for IP streams.
  • the GS may consist of variable length packets or constant length packets signaled in the encapsulation packet header.
  • (a) shows a mode adaptation block 2000 and a stream adaptation (stream adaptation) 2010 for a signal data pipe
  • PLS generation block 2020 and PLS scrambler 2030 are shown. The operation of each block will be described.
  • the input stream splitter splits the input TS, IP, GS streams into multiple service or service component (audio, video, etc.) streams.
  • the mode adaptation module 2010 is composed of a CRC encoder, a baseband (BB) frame slicer, and a BB frame header insertion block.
  • the CRC encoder provides three types of CRC encoding, CRC-8, CRC-16, and CRC-32, for error detection at the user packet (UP) level.
  • the calculated CRC byte is appended after the UP.
  • CRC-8 is used for the TS stream
  • CRC-32 is used for the IP stream. If the GS stream does not provide CRC encoding, then the proposed CRC encoding should be applied.
  • the BB Frame Slicer maps the input to an internal logical bit format.
  • the first receive bit is defined as MSB.
  • the BB frame slicer allocates the same number of input bits as the available data field capacity. In order to allocate the same number of input bits as the BBF payload, the UP stream is sliced to fit the data field of the BBF.
  • the BB frame header insertion block can insert a 2 bytes fixed length BBF header before the BB frame.
  • the BBF header consists of STUFFI (1 bit), SYNCD (13 bit), and RFU (2 bit).
  • the BBF may have an extension field (1 or 3 bytes) at the end of the 2-byte BBF header.
  • Stream adaptation 2010 consists of a stuffing insertion block and a BB scrambler.
  • the stuffing insertion block may insert the stuffing field into the payload of the BB frame. If the input data for the stream adaptation is sufficient to fill the BB frame, STUFFI is set to 0, and the BBF has no stuffing field. Otherwise, STUFFI is set to 1 and the stuffing field is inserted immediately after the BBF header.
  • the stuffing field includes a 2-byte stuffing field header and variable sized stuffing data.
  • the BB scrambler scrambles the complete BBF for energy dissipation.
  • the scrambling sequence is synchronized with the BBF.
  • the scrambling sequence is generated by the feedback shift register.
  • the PLS generation block 2020 may generate 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.
  • the PLS1 data is constant during the duration of the frame group.
  • PLS2 data is the second set of PLS data sent to the FSS that carries more detailed PLS data about the data pipes and systems.
  • PLS2 contains parameters that provide enough information for the receiver to decode the desired data pipe.
  • 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 PLS scrambler 2030 may scramble PLS data generated for energy distribution.
  • the aforementioned blocks may be omitted or may be replaced by blocks having similar or identical functions.
  • FIG 3 illustrates an input format block according to another embodiment of the present invention.
  • the input format block illustrated in FIG. 3 corresponds to an embodiment of the input format block 1000 described with reference to FIG. 1.
  • FIG. 3 illustrates a mode adaptation block of an input format block when the input signal corresponds to a multi input stream.
  • a mode adaptation block of an input format block for processing multi input streams may independently process multiple input streams.
  • a mode adaptation block for processing a multi input stream may be an input stream splitter 3000 or an input stream synchro.
  • Each block of the mode adaptation block will be described.
  • Operations of the CRC encoder 3050, the BB frame slicer 3060, and the BB header insertion block 3070 correspond to the operations of the CRC encoder, the BB frame slicer, and the BB header insertion block described with reference to FIG. Is omitted.
  • the input stream splitter 3000 splits the input TS, IP, and GS streams into a plurality of service or service component (audio, video, etc.) streams.
  • the input stream synchronizer 3010 may be called ISSY.
  • ISSY can provide suitable means to ensure constant bit rate (CBR) and constant end-to-end transmission delay for any input data format.
  • CBR constant bit rate
  • ISSY is always used in the case of multiple data pipes carrying TS, and optionally in multiple data pipes carrying GS streams.
  • Compensating delay block 3020 may delay the split TS packet stream following the insertion of ISSY information to allow TS packet recombination mechanisms without requiring additional memory at the receiver. have.
  • the null packet deletion block 3030 is used only for the TS input stream. Some TS input streams or split TS streams may have a large number of null packets present to accommodate variable bit-rate (VBR) services in the CBR TS stream. In this case, to avoid unnecessary transmission overhead, null packets may be acknowledged and not transmitted. At the receiver, the discarded null packet can be reinserted in the exact place it originally existed with reference to the deleted null-packet (DNP) counter inserted in the transmission, ensuring CBR and time stamp (PCR) updates. There is no need.
  • VBR variable bit-rate
  • the header compression block 3040 can provide packet header compression to increase transmission efficiency for the TS or IP input stream. Since the receiver may have a priori information for a particular portion of the header, this known information may be deleted at the transmitter.
  • the receiver may have a priori information about the sync byte configuration (0x47) and the packet length (188 bytes). If the input TS delivers content with only one PID, that is, one service component (video, audio, etc.) or service subcomponent (SVC base layer, SVC enhancement layer, MVC base view, or MVC dependent view) Only, TS packet header compression may (optionally) be applied to the TS. TS packet header compression is optionally used when the input stream is an IP stream. The block may be omitted or replaced with a block having similar or identical functions.
  • FIG. 4 illustrates a BICM block according to an embodiment of the present invention.
  • the BICM block illustrated in FIG. 4 corresponds to an embodiment of the BICM block 1010 described with reference to FIG. 1.
  • the broadcast signal transmission apparatus for the next generation broadcast service may provide a terrestrial broadcast service, a mobile broadcast service, a UHDTV service, and the like.
  • the BICM block according to an embodiment of the present invention can independently process each data pipe by independently applying the SISO, MISO, and MIMO schemes to the data pipes corresponding to the respective data paths.
  • the apparatus for transmitting broadcast signals for the next generation broadcast service according to an embodiment of the present invention may adjust QoS for each service or service component transmitted through each data pipe.
  • the BICM block shared by the base profile and the handheld profile and the BICM block of the advanced profile may include a plurality of processing blocks for processing each data pipe.
  • the processing block 5000 of the BICM block for the base profile and the handheld profile includes a data FEC encoder 5010, a bit interleaver 5020, a constellation mapper 5030, a signal space diversity (SSD) encoding block ( 5040, and a time interleaver 5050.
  • a data FEC encoder 5010 a bit interleaver 5020
  • a constellation mapper 5030 a signal space diversity (SSD) encoding block ( 5040, and a time interleaver 5050.
  • SSD signal space diversity
  • the data FEC encoder 5010 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 detailed operation of the data FEC encoder 5010 will be described later.
  • the bit interleaver 5020 may interleave the output of the data FEC encoder 5010 while providing a structure that can be efficiently realized to achieve optimized performance by a combination of LDPC codes and modulation schemes. The detailed operation of the bit interleaver 5020 will be described later.
  • Constellation mapper 5030 can be QPSK, QAM-16, non-uniform QAM (NUQ-64, NUQ-256, NUQ-1024) or non-uniform constellation (NUC-16, NUC-64, NUC-256, NUC-1024)
  • NUQ-64, NUQ-256, NUQ-1024 non-uniform QAM
  • NUC-16, NUC-64, NUC-256, NUC-1024 A constellation point whose power is normalized by modulating each cell word from the bit interleaver 5020 in the base and handheld profiles or the cell word from the cell word demultiplexer 5010-1 in the advanced profile. e l can be provided.
  • the constellation mapping applies only to data pipes. It is observed that NUQ has any shape, while QAM-16 and NUQ have a square shape. If each constellation is rotated by a multiple of 90 degrees, the rotated constellation overlaps exactly with the original. Due to the rotational symmetry characteristic, the real and imaginary components have the same capacity and average power. Both NUQ and N
  • the time interleaver 5050 may operate at the data pipe level.
  • the parameters of time interleaving can be set differently for each data pipe. The specific operation of the time interleaver 5050 will be described later.
  • the processing block 5000-1 of the BICM block for the advanced profile may include a data FEC encoder, a bit interleaver, a constellation mapper, and a time interleaver.
  • the processing block 5000-1 is distinguished from the processing block 5000 in that it further includes a cell word demultiplexer 5010-1 and a MIMO encoding block 5020-1.
  • operations of the data FEC encoder, the bit interleaver, the constellation mapper, and the time interleaver in the processing block 5000-1 may be performed by the data FEC encoder 5010, the bit interleaver 5020, and the constellation mapper 5030. Since this corresponds to the operation of the time interleaver 5050, the description thereof will be omitted.
  • Cell word demultiplexer 5010-1 is used by an advanced profile data pipe to separate a single cell word stream into a dual cell word stream for MIMO processing. A detailed operation of the cell word demultiplexer 5010-1 will be described later.
  • the MIMO encoding block 5020-1 may process the output of the cell word demultiplexer 5010-1 using the MIMO encoding scheme.
  • MIMO encoding scheme is optimized for broadcast signal transmission. MIMO technology is a promising way to gain capacity, but depends on the channel characteristics. Especially for broadcast, the difference in received signal power between two antennas due to different signal propagation characteristics or the strong LOS component of the channel makes it difficult to obtain capacity gains from MIMO.
  • the proposed MIMO encoding scheme overcomes this problem by using phase randomization and rotation based precoding of one of the MIMO output signals.
  • MIMO encoding is intended for a 2x2 MIMO system that requires at least two antennas at both the transmitter and the receiver.
  • Two MIMO encoding modes are defined in this proposal, full-rate spatial multiplexing (FR-SM) and full-rate full-diversity spatial multiplexing (FRFD-SM).
  • FR-SM encoding provides increased capacity with a relatively small complexity increase at the receiver side, while FRFD-SM encoding provides increased capacity and additional diversity gain with a larger complexity increase at the receiver side.
  • the proposed MIMO encoding scheme does not limit the antenna polarity arrangement.
  • MIMO processing is required for the advanced profile frame, which means that all data pipes in the advanced profile frame are processed by the MIMO encoder. MIMO processing is applied at the data pipe level.
  • the pair of constellation mapper outputs, NUQ (e 1, i and e 2, i ), are fed to the input of the MIMO encoder.
  • MIMO encoder output pairs g1, i and g2, i are transmitted by the same carrier k and OFDM symbol l of each transmit antenna.
  • FIG. 5 illustrates a BICM block according to another embodiment of the present invention.
  • the BICM block illustrated in FIG. 5 corresponds to an embodiment of the BICM block 1010 described with reference to FIG. 1.
  • the EAC is part of a frame carrying EAS information data
  • the FIC is a logical channel in a frame carrying mapping information between a service and a corresponding base data pipe. Detailed description of the EAC and FIC will be described later.
  • a BICM block for protecting PLS, EAC, and FIC may include a PLS FEC encoder 6000, a bit interleaver 6010, and a constellation mapper 6020.
  • the PLS FEC encoder 6000 may include a scrambler, a BCH encoding / zero insertion block, an LDPC encoding block, and an LDPC parity puncturing block. Each block of the BICM block will be described.
  • the PLS FEC encoder 6000 may encode scrambled PLS 1/2 data, EAC and FIC sections.
  • the scrambler may scramble PLS1 data and PLS2 data before BCH encoding and shortening and punctured LDPC encoding.
  • the BCH encoding / zero insertion block may perform outer encoding on the scrambled PLS 1/2 data using the shortened BCH code for PLS protection, and insert zero bits after BCH encoding. For PLS1 data only, the output bits of zero insertion can be permutated before LDPC encoding.
  • the LDPC encoding block may encode the output of the BCH encoding / zero insertion block using the LDPC code.
  • C ldpc and parity bits P ldpc are encoded systematically from each zero-inserted PLS information block I ldpc and appended after it.
  • LDPC code parameters for PLS1 and PLS2 are shown in Table 4 below.
  • the LDPC parity puncturing block may perform puncturing on the PLS1 data and the PLS2 data.
  • LDPC parity bits are punctured after LDPC encoding.
  • the LDPC parity bits of PLS2 are punctured after LDPC encoding. These punctured bits are not transmitted.
  • the bit interleaver 6010 may interleave each shortened and punctured PLS1 data and PLS2 data.
  • the constellation mapper 6020 may map bit interleaved PLS1 data and PLS2 data to constellations.
  • FIG. 6 illustrates a frame building block according to an embodiment of the present invention.
  • the frame building block illustrated in FIG. 7 corresponds to an embodiment of the frame building block 1020 described with reference to FIG. 1.
  • the frame building block may include a delay compensation block 7000, a cell mapper 7010, and a frequency interleaver 7020. have. Each block of the frame building block will be described.
  • the delay compensation block 7000 adjusts the timing between the data pipes and the corresponding PLS data to ensure co-time between the data pipes and the corresponding PLS data at the transmitter. have.
  • PLS data is delayed by the data pipe.
  • the delay of the BICM block is mainly due to the time interleaver 5050.
  • In-band signaling data may cause information of the next time interleaving group to be delivered one frame ahead of the data pipe to be signaled.
  • the delay compensation block delays the in-band signaling data accordingly.
  • the cell mapper 7010 may map a PLS, an EAC, an FIC, a data pipe, an auxiliary stream, and a dummy cell to an active carrier of an OFDM symbol in a frame.
  • the basic function of the cell mapper 7010 is to activate the data cells generated by time interleaving for each data pipe, PLS cell, and EAC / FIC cell, if any, corresponding to each OFDM symbol in one frame. (active) mapping to an array of OFDM cells.
  • Service signaling data (such as program specific information (PSI) / SI) may be collected separately and sent by a data pipe.
  • PSI program specific information
  • SI program specific information
  • the frequency interleaver 7020 may randomly interleave data cells received by the cell mapper 7010 to provide frequency diversity.
  • the frequency interleaver 7020 may operate in an OFDM symbol pair consisting of two sequential OFDM symbols using different interleaving seed order to obtain the maximum interleaving gain in a single frame.
  • FIG 7 illustrates an OFDM generation block according to an embodiment of the present invention.
  • the OFDM generation block illustrated in FIG. 7 corresponds to an embodiment of the OFDM generation block 1030 described with reference to FIG. 1.
  • the OFDM generation block modulates the OFDM carrier by inserting a pilot by the cell generated by the frame building block, inserts a pilot, and generates a time domain signal for transmission.
  • the block sequentially inserts a guard interval and applies a PAPR reduction process to generate a final RF signal.
  • the OFDM generation block includes a pilot and reserved tone insertion block (8000), a 2D-single frequency network (eSFN) encoding block 8010, an inverse fast fourier transform (IFFT).
  • Block 8020 PAPR reduction block 8030, guard interval insertion block 8040, preamble insertion block 8050, other system insertion block 8060, and DAC block ( 8070).
  • the other system insertion block 8060 may multiplex signals of a plurality of broadcast transmission / reception systems in a time domain so that data of two or more different broadcast transmission / reception systems providing a broadcast service may be simultaneously transmitted in the same RF signal band.
  • two or more different broadcast transmission / reception systems refer to a system that provides different broadcast services.
  • Different broadcast services may refer to terrestrial broadcast services or mobile broadcast services.
  • FIG. 8 illustrates a structure of a broadcast signal receiving apparatus for a next generation broadcast service according to an embodiment of the present invention.
  • the broadcast signal receiving apparatus for the next generation broadcast service may correspond to the broadcast signal transmitting apparatus for the next generation broadcast service described with reference to FIG. 1.
  • An apparatus for receiving broadcast signals for a next generation broadcast service includes a synchronization & demodulation module 9000, a frame parsing module 9010, a demapping and decoding module a demapping & decoding module 9020, an output processor 9030, and a signaling decoding module 9040. The operation of each module of the broadcast signal receiving apparatus will be described.
  • the synchronization and demodulation module 9000 receives an input signal through m reception antennas, performs signal detection and synchronization on a system corresponding to the broadcast signal receiving apparatus, and performs a reverse process of the procedure performed by the broadcast signal transmitting apparatus. Demodulation can be performed.
  • the frame parsing module 9010 may parse an input signal frame and extract data in which a service selected by a user is transmitted.
  • the frame parsing module 9010 may execute deinterleaving corresponding to the reverse process of interleaving. In this case, positions of signals and data to be extracted are obtained by decoding the data output from the signaling decoding module 9040, so that the scheduling information generated by the broadcast signal transmission apparatus may be restored.
  • the demapping and decoding module 9020 may convert the input signal into bit region data and then deinterleave the bit region data as necessary.
  • the demapping and decoding module 9020 can perform demapping on the mapping applied for transmission efficiency, and correct an error generated in the transmission channel through decoding. In this case, the demapping and decoding module 9020 can obtain transmission parameters necessary for demapping and decoding by decoding the data output from the signaling decoding module 9040.
  • the output processor 9030 may perform a reverse process of various compression / signal processing procedures applied by the broadcast signal transmission apparatus to improve transmission efficiency.
  • the output processor 9030 may obtain necessary control information from the data output from the signaling decoding module 9040.
  • the output of the output processor 8300 corresponds to a signal input to the broadcast signal transmission apparatus and may be MPEG-TS, IP stream (v4 or v6), and GS.
  • the signaling decoding module 9040 may obtain PLS information from the signal demodulated by the synchronization and demodulation module 9000. As described above, the frame parsing module 9010, the demapping and decoding module 9200, and the output processor 9300 may execute the function using data output from the signaling decoding module 9040.
  • FIG. 9 shows a frame structure according to an embodiment of the present invention.
  • FIG. 9 shows a structural example of a frame time and a frame repetition unit (FRU) in a super frame.
  • (a) shows a super frame according to an embodiment of the present invention
  • (b) shows a FRU according to an embodiment of the present invention
  • (c) shows a frame of various physical profile (PHY profile) in the FRU
  • (D) shows the structure of the frame.
  • Super frame may consist of eight FRUs.
  • the FRU is the basic multiplexing unit for the TDM of the frame and is repeated eight times in the super frame.
  • Each frame in the FRU belongs to one of the physical profiles (base, handheld, advanced profile) or FEF.
  • the maximum allowable number of frames in a FRU is 4, and a given physical profile may appear any number of times from 0 to 4 times in the FRU (eg, base, base, handheld, advanced).
  • the physical profile definition may be extended using the reserved value of PHY_PROFILE in the preamble if necessary.
  • the FEF portion is inserted at the end of the FRU if included. If the FEF is included in the FRU, the maximum number of FEFs is 8 in a super frame. It is not recommended that the FEF parts be adjacent to each other.
  • One frame is further separated into multiple OFDM symbols and preambles. As shown in (d), the frame includes a preamble, one or more FSS, normal data symbols, and FES.
  • the preamble is a special symbol that enables fast Futurecast UTB system signal detection and provides a set of basic transmission parameters for efficient transmission and reception of the signal. Details of the preamble will be described later.
  • the main purpose of the FSS is to carry PLS data.
  • the FSS For fast synchronization and channel estimation, and hence for fast decoding of PLS data, the FSS has a higher density pilot pattern than normal data symbols.
  • the FES has a pilot that is exactly the same as the FSS, which allows frequency only interpolation and temporal interpolation within the FES without extrapolation for symbols immediately preceding the FES.
  • FIG. 10 illustrates a signaling hierarchy structure of a frame according to an embodiment of the present invention.
  • PLS 10 shows a signaling hierarchy, which is divided into three main parts: preamble signaling data 11000, PLS1 data 11010, and PLS2 data 11020.
  • the purpose of the preamble carried by the preamble signal every frame is to indicate the basic transmission parameters and transmission type of the frame.
  • PLS1 allows the receiver to access and decode PLS2 data that includes parameters for connecting to the data pipe of interest.
  • PLS2 is delivered every frame and divided into two main parts, PLS2-STAT data and PLS2-DYN data. The static and dynamic parts of the PLS2 data are followed by padding if necessary.
  • FIG 11 illustrates preamble signaling data according to an embodiment of the present invention.
  • the preamble signaling data carries 21 bits of information needed to enable the receiver to access the PLS data and track the data pipes within the frame structure. Details of the preamble signaling data are as follows.
  • PHY_PROFILE This 3-bit field indicates the physical profile type of the current frame. The mapping of different physical profile types is given in Table 5 below.
  • FFT_SIZE This 2-bit field indicates the FFT size of the current frame in the frame group as described in Table 6 below.
  • GI_FRACTION This 3-bit field indicates a guard interval fraction value in the current super frame as described in Table 7 below.
  • EAC_FLAG This 1-bit field indicates whether EAC is provided in the current frame. If this field is set to 1, EAS is provided in the current frame. If this field is set to 0, EAS is not delivered in the current frame. This field may be converted to dynamic within a super frame.
  • PILOT_MODE This 1-bit field indicates whether the pilot mode is a mobile mode or a fixed mode for the current frame in the current frame group. If this field is set to 0, mobile pilot mode is used. If the field is set to '1', fixed pilot mode is used.
  • PAPR_FLAG This 1-bit field indicates whether PAPR reduction is used for the current frame in the current frame group. If this field is set to 1, tone reservation is used for PAPR reduction. If this field is set to 0, no PAPR reduction is used.
  • This 3-bit field indicates the physical profile type configuration of the FRU present in the current super frame. In the corresponding field in all preambles in the current super frame, all profile types carried in the current super frame are identified. The 3-bit field is defined differently for each profile as shown in Table 8 below.
  • PLS1 data provides basic transmission parameters including the parameters needed to enable the reception and decoding of PLS2. As mentioned above, the PLS1 data does not change during the entire duration of one frame group. A detailed definition of the signaling field of the PLS1 data is as follows.
  • PREAMBLE_DATA This 20-bit field is a copy of the preamble signaling data excluding EAC_FLAG.
  • NUM_FRAME_FRU This 2-bit field indicates the number of frames per FRU.
  • PAYLOAD_TYPE This 3-bit field indicates the format of payload data carried in the frame group. PAYLOAD_TYPE is signaled as shown in Table 9.
  • NUM_FSS This 2-bit field indicates the number of FSS in the current frame.
  • SYSTEM_VERSION This 8-bit field indicates the version of the signal format being transmitted. SYSTEM_VERSION is separated into two 4-bit fields: major and minor.
  • the 4-bit MSB in the SYSTEM_VERSION field indicates major version information. Changes in the major version field indicate incompatible changes. The default value is 0000. For the version described in that standard, the value is set to 0000.
  • Minor Version A 4-bit LSB in the SYSTEM_VERSION field indicates minor version information. Changes in the minor version field are compatible.
  • CELL_ID This is a 16-bit field that uniquely identifies a geographic cell in an ATSC network. ATSC cell coverage may consist of one or more frequencies depending on the number of frequencies used per Futurecast UTB system. If the value of CELL_ID is unknown or not specified, this field is set to zero.
  • NETWORK_ID This is a 16-bit field that uniquely identifies the current ATSC network.
  • SYSTEM_ID This 16-bit field uniquely identifies a Futurecast UTB system within an ATSC network.
  • Futurecast UTB systems are terrestrial broadcast systems whose input is one or more input streams (TS, IP, GS) and the output is an RF signal.
  • the Futurecast UTB system conveys the FEF and one or more physical profiles, if present.
  • the same Futurecast UTB system can carry different input streams and use different RFs in different geographic regions, allowing for local service insertion.
  • Frame structure and scheduling are controlled in one place and are the same for all transmissions within a Futurecast UTB system.
  • One or more Futurecast UTB systems may have the same SYSTEM_ID meaning that they all have the same physical structure and configuration.
  • the following loop is composed of FRU_PHY_PROFILE, FRU_FRAME_LENGTH, FRU_GI_FRACTION, and RESERVED indicating the length and FRU configuration of each frame type.
  • the loop size is fixed such that four physical profiles (including FFEs) are signaled within the FRU. If NUM_FRAME_FRU is less than 4, the unused fields are filled with zeros.
  • FRU_PHY_PROFILE This 3-bit field indicates the physical profile type of the (i + 1) th frame (i is a loop index) of the associated FRU. This field uses the same signaling format as shown in Table 8.
  • FRU_FRAME_LENGTH This 2-bit field indicates the length of the (i + 1) th frame of the associated FRU. Using FRU_FRAME_LENGTH with FRU_GI_FRACTION, the exact value of frame duration can be obtained.
  • FRU_GI_FRACTION This 3-bit field indicates the guard interval partial value of the (i + 1) th frame of the associated FRU.
  • FRU_GI_FRACTION is signaled according to Table 7.
  • the following fields provide parameters for decoding PLS2 data.
  • PLS2_FEC_TYPE This 2-bit field indicates the FEC type used by the PLS2 protection.
  • the FEC type is signaled according to Table 10. Details of the LDPC code will be described later.
  • PLS2_MOD This 3-bit field indicates the modulation type used by PLS2.
  • the modulation type is signaled according to Table 11.
  • PLS2_SIZE_CELL This 15-bit field indicates C total_partial_block which is the size (specified by the number of QAM cells) of all coding blocks for PLS2 carried in the current frame group . This value is constant for the entire duration of the current frame-group.
  • PLS2_STAT_SIZE_BIT This 14-bit field indicates the size, in bits, of the PLS2-STAT for the current frame-group. This value is constant for the entire duration of the current frame-group.
  • PLS2_DYN_SIZE_BIT This 14-bit field indicates the size, in bits, of the PLS2-DYN for the current frame-group. This value is constant for the entire duration of the current frame-group.
  • PLS2_REP_FLAG This 1-bit flag indicates whether the PLS2 repeat mode is used in the current frame group. If the value of this field is set to 1, PLS2 repeat mode is activated. If the value of this field is set to 0, PLS2 repeat mode is deactivated.
  • PLS2_REP_SIZE_CELL This 15-bit field indicates C total_partial_block , which is the size (specified by the number of QAM cells) of the partial coding block for PLS2 delivered every frame of the current frame group when PLS2 repetition is used. If iteration is not used, the value of this field is equal to zero. This value is constant for the entire duration of the current frame-group.
  • PLS2_NEXT_FEC_TYPE This 2-bit field indicates the FEC type used for PLS2 delivered in every frame of the next frame-group.
  • the FEC type is signaled according to Table 10.
  • PLS2_NEXT_MOD This 3-bit field indicates the modulation type used for PLS2 delivered in every frame of the next frame-group.
  • the modulation type is signaled according to Table 11.
  • PLS2_NEXT_REP_FLAG This 1-bit flag indicates whether the PLS2 repeat mode is used in the next frame group. If the value of this field is set to 1, PLS2 repeat mode is activated. If the value of this field is set to 0, PLS2 repeat mode is deactivated.
  • PLS2_NEXT_REP_SIZE_CELL This 15-bit field indicates C total_full_block , which is the size (specified in the number of QAM cells) of the entire coding block for PLS2 delivered every frame of the next frame-group when PLS2 repetition is used. If iteration is not used in the next frame-group, the value of this field is equal to zero. This value is constant for the entire duration of the current frame-group.
  • PLS2_NEXT_REP_STAT_SIZE_BIT This 14-bit field indicates the size, in bits, of the PLS2-STAT for the next frame-group. The value is constant in the current frame group.
  • PLS2_NEXT_REP_DYN_SIZE_BIT This 14-bit field indicates the size of the PLS2-DYN for the next frame-group, in bits. The value is constant in the current frame group.
  • PLS2_AP_MODE This 2-bit field indicates whether additional parity is provided for PLS2 in the current frame group. This value is constant for the entire duration of the current frame-group. Table 12 below provides the values for this field. If the value of this field is set to 00, no additional parity is used for PLS2 in the current frame group.
  • PLS2_AP_SIZE_CELL This 15-bit field indicates the size (specified by the number of QAM cells) of additional parity bits of PLS2. This value is constant for the entire duration of the current frame-group.
  • PLS2_NEXT_AP_MODE This 2-bit field indicates whether additional parity is provided for PLS2 signaling for every frame of the next frame-group. This value is constant for the entire duration of the current frame-group. Table 12 defines the values of this field.
  • PLS2_NEXT_AP_SIZE_CELL This 15-bit field indicates the size (specified by the number of QAM cells) of additional parity bits of PLS2 for every frame of the next frame-group. This value is constant for the entire duration of the current frame-group.
  • RESERVED This 32-bit field is reserved for future use.
  • FIG 13 illustrates PLS2 data according to an embodiment of the present invention.
  • PLS2-STAT data of the PLS2 data.
  • PLS2-STAT data is the same within a frame group, while PLS2-DYN data provides specific information about the current frame.
  • FIC_FLAG This 1-bit field indicates whether the 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 this field is set to 0, FIC is not delivered in the current frame. This value is constant for the entire duration of the current frame-group.
  • AUX_FLAG This 1-bit field indicates whether the auxiliary stream is used in the current frame group. If the value of this field is set to 1, the auxiliary stream is provided in the current frame. If the value of this field is set to 0, the auxiliary frame is not transmitted in the current frame. This value is constant for the entire duration of the current frame-group.
  • NUM_DP This 6-bit field indicates the number of data pipes carried in the current frame. The value of this field is between 1 and 64, and the number of data pipes is NUM_DP + 1.
  • DP_ID This 6-bit field uniquely identifies within the physical profile.
  • DP_TYPE This 3-bit field indicates the type of data pipe. This is signaled according to Table 13 below.
  • DP_GROUP_ID This 8-bit field identifies the data pipe group with which the current data pipe is associated. This can be used to connect to the data pipe of the service component associated with a particular service that the receiver will have the same DP_GROUP_ID.
  • BASE_DP_ID This 6-bit field indicates a data pipe that carries service signaling data (such as PSI / SI) used in the management layer.
  • the data pipe indicated by BASE_DP_ID may be a normal data pipe for delivering service signaling data together with service data or a dedicated data pipe for delivering only service signaling data.
  • DP_FEC_TYPE This 2-bit field indicates the FEC type used by the associated data pipe.
  • the FEC type is signaled according to Table 14 below.
  • DP_COD This 4-bit field indicates the code rate used by the associated data pipe.
  • the code rate is signaled according to Table 15 below.
  • DP_MOD This 4-bit field indicates the modulation used by the associated data pipe. Modulation is signaled according to Table 16 below.
  • DP_SSD_FLAG This 1-bit field indicates whether the SSD mode is used in the associated data pipe. If the value of this field is set to 1, the SSD is used. If the value of this field is set to 0, the SSD is not used.
  • DP_MIMO This 3-bit field indicates what type of MIMO encoding processing is applied to the associated data pipe.
  • the type of MIMO encoding process is signaled according to Table 17 below.
  • DP_TI_TYPE This 1-bit field indicates the type of time interleaving. A value of 0 indicates that one time interleaving group corresponds to one frame and includes one or more time interleaving blocks. A value of 1 indicates that one time interleaving group is delivered in more than one frame and contains only one time interleaving block.
  • DP_TI_LENGTH The use of this 2-bit field (only allowed values are 1, 2, 4, 8) is determined by the value set in the DP_TI_TYPE field as follows.
  • N TI the number of time interleaving block per time interleaving group
  • This 2-bit field represents the frame interval (I JUMP ) within the frame group for the associated data pipe, and allowed values are 1, 2, 4, 8 (the corresponding 2-bit fields are 00, 01, 10, 11). For data pipes that do not appear in every frame of a frame group, the value of this field is equal to the interval between sequential frames. For example, if a data pipe appears in frames 1, 5, 9, 13, etc., the value of this field is set to 4. For data pipes that appear in every frame, the value of this field is set to 1.
  • DP_TI_BYPASS This 1-bit field determines the availability of time interleaver 5050. If time interleaving is not used for the data pipe, this field value is set to 1. On the other hand, if time interleaving is used, the corresponding field value is set to zero.
  • DP_FIRST_FRAME_IDX This 5-bit field indicates the index of the first frame of the super frame in which the current data pipe occurs.
  • the value of DP_FIRST_FRAME_IDX is between 0 and 31.
  • DP_NUM_BLOCK_MAX This 10-bit field indicates the maximum value of DP_NUM_BLOCKS for the data pipe. The value of this field has the same range as DP_NUM_BLOCKS.
  • DP_PAYLOAD_TYPE This 2-bit field indicates the type of payload data carried by a given data pipe. DP_PAYLOAD_TYPE is signaled according to Table 19 below.
  • DP_INBAND_MODE This 2-bit field indicates whether the current data pipe carries in-band signaling information. In-band signaling type is signaled according to Table 20 below.
  • DP_PROTOCOL_TYPE This 2-bit field indicates the protocol type of the payload carried by the given data pipe.
  • the protocol type of payload is signaled according to Table 21 below when the input payload type is selected.
  • DP_CRC_MODE This 2-bit field indicates whether CRC encoding is used in the input format block. CRC mode is signaled according to Table 22 below.
  • DNP_MODE This 2-bit field indicates the null packet deletion mode used by the associated data pipe when DP_PAYLOAD_TYPE is set to TS ('00'). DNP_MODE is signaled according to Table 23 below. If DP_PAYLOAD_TYPE is not TS ('00'), DNP_MODE is set to a value of 00.
  • ISSY_MODE This 2-bit field indicates the ISSY mode used by the associated data pipe when DP_PAYLOAD_TYPE is set to TS ('00'). ISSY_MODE is signaled according to Table 24 below. If DP_PAYLOAD_TYPE is not TS ('00'), ISSY_MODE is set to a value of 00.
  • HC_MODE_TS This 2-bit field indicates the TS header compression mode used by the associated data pipe when DP_PAYLOAD_TYPE is set to TS ('00'). HC_MODE_TS is signaled according to Table 25 below.
  • HC_MODE_IP This 2-bit field indicates the IP header compression mode when DP_PAYLOAD_TYPE is set to IP ('01'). HC_MODE_IP is signaled according to Table 26 below.
  • PID This 13-bit field indicates the number of PIDs for TS header compression when DP_PAYLOAD_TYPE is set to TS ('00') and HC_MODE_TS is set to 01 or 10.
  • FIC_VERSION This 8-bit field indicates the version number of the FIC.
  • FIC_LENGTH_BYTE This 13-bit field indicates the length of the FIC in bytes.
  • NUM_AUX This 4-bit field indicates the number of auxiliary streams. Zero indicates that no auxiliary stream is used.
  • AUX_CONFIG_RFU This 8-bit field is reserved for future use.
  • AUX_STREAM_TYPE This 4 bits is reserved for future use to indicate the type of the current auxiliary stream.
  • AUX_PRIVATE_CONFIG This 28-bit field is reserved for future use for signaling the secondary stream.
  • FIG 14 illustrates PLS2 data according to another embodiment of the present invention.
  • the value of the PLS2-DYN data may change during the duration of one frame group, while the size of the field is constant.
  • FRAME_INDEX This 5-bit field indicates the frame index of the current frame within the super frame. The index of the first frame of the super frame is set to zero.
  • PLS_CHANGE_COUNTER This 4-bit field indicates the number of super frames before the configuration changes. The next super frame whose configuration changes is indicated by the value signaled in that field. If the value of this field is set to 0000, this means that no scheduled change is expected. For example, a value of 1 indicates that there is a change in the next super frame.
  • FIC_CHANGE_COUNTER This 4-bit field indicates the number of super frames before the configuration (i.e., the content of the FIC) changes. The next super frame whose configuration changes is indicated by the value signaled in that field. If the value of this field is set to 0000, this means that no scheduled change is expected. For example, a value of 0001 indicates that there is a change in the next super frame.
  • NUM_DP NUM_DP that describes the parameters related to the data pipe carried in the current frame.
  • DP_ID This 6-bit field uniquely represents a data pipe within the physical profile.
  • DP_START This 15-bit (or 13-bit) field indicates the first starting position of the data pipe using the DPU addressing technique.
  • the DP_START field has a length different according to the physical profile and the FFT size as shown in Table 27 below.
  • DP_NUM_BLOCK This 10-bit field indicates the number of FEC blocks in the current time interleaving group for the current data pipe.
  • the value of DP_NUM_BLOCK is between 0 and 1023.
  • the next field indicates the FIC parameter associated with the EAC.
  • EAC_FLAG This 1-bit field indicates the presence of an EAC in the current frame. This bit is equal to EAC_FLAG in the preamble.
  • EAS_WAKE_UP_VERSION_NUM This 8-bit field indicates the version number of the automatic activation indication.
  • EAC_FLAG field If the EAC_FLAG field is equal to 1, the next 12 bits are allocated to the EAC_LENGTH_BYTE field. If the EAC_FLAG field is equal to 0, the next 12 bits are allocated to EAC_COUNTER.
  • EAC_LENGTH_BYTE This 12-bit field indicates the length of the EAC in bytes.
  • EAC_COUNTER This 12-bit field indicates the number of frames before the frame in which the EAC arrives.
  • AUX_PRIVATE_DYN This 48-bit field is reserved for future use for signaling the secondary stream. The meaning of this field depends on the value of AUX_STREAM_TYPE in configurable PLS2-STAT.
  • CRC_32 32-bit error detection code that applies to the entire PLS2.
  • FIG. 15 illustrates a logical structure of a frame according to an embodiment of the present invention.
  • the PLS, EAC, FIC, data pipe, auxiliary stream, and dummy cell are mapped to the active carrier of the OFDM symbol in the frame.
  • PLS1 and PLS2 are initially mapped to one or more FSS. Then, if there is an EAC, the EAC cell is mapped to the immediately following PLS field. If there is an FIC next, the FIC cell is mapped.
  • the data pipes are mapped after the PLS or, if present, after the EAC or FIC. Type 1 data pipes are mapped first, and type 2 data pipes are mapped next. Details of the type of data pipe will be described later. In some cases, the data pipe may carry some special data or service signaling data for the EAS.
  • auxiliary stream or stream if present, is mapped to the data pipe next, followed by a dummy cell in turn. Mapping all together in the order described above, namely PLS, EAC, FIC, data pipe, auxiliary stream, and dummy cell, will correctly fill the cell capacity in the frame.
  • FIG 16 illustrates PLS mapping according to an embodiment of the present invention.
  • the PLS cell is mapped to an active carrier of the FSS. According to the number of cells occupied by the PLS, one or more symbols are designated as FSS, and the number N FSS of the FSS is signaled by NUM_FSS in PLS1.
  • FSS is a special symbol that carries a PLS cell. Since alertness and latency are critical issues in PLS, the FSS has a high pilot density, enabling fast synchronization and interpolation only on frequencies within the FSS.
  • the PLS cell is mapped to an active carrier of the FSS from the top down as shown in the example of FIG.
  • PLS1 cells are initially mapped in ascending order of cell index from the first cell of the first FSS.
  • the PLS2 cell follows immediately after the last cell of PLS1 and the mapping continues downward until the last cell index of the first FSS. If the total number of required PLS cells exceeds the number of active carriers of one FSS, the mapping proceeds to the next FSS and continues in exactly the same way as the first FSS.
  • EAC, FIC or both are present in the current frame, EAC and FIC are placed between the PLS and the normal data pipe.
  • FIG 17 illustrates EAC mapping according to an embodiment of the present invention.
  • the EAC is a dedicated channel for delivering EAS messages and is connected to the data pipes for the EAS. EAS support is provided, but the EAC itself may or may not be present in every frame. If there is an EAC, the EAC is mapped immediately after the PLS2 cell. Except for PLS cells, none of the FIC, data pipes, auxiliary streams or dummy cells are located before the EAC. The mapping procedure of the EAC cell is exactly the same as that of the PLS.
  • EAC cells are mapped in ascending order of cell index from the next cell of PLS2 as shown in the example of FIG. Depending on the EAS message size, as shown in FIG. 17, the EAC cell may occupy few symbols.
  • the EAC cell follows immediately after the last cell of PLS2 and the mapping continues downward until the last cell index of the last FSS. If the total number of required EAC cells exceeds the number of remaining active carriers of the last FSS, the EAC mapping proceeds to the next symbol and continues in exactly the same way as the FSS. In this case, the next symbol to which the EAC is mapped is a normal data symbol, which has more active carriers than the FSS.
  • the FIC is passed next if present. If no FIC is sent (as signaling in the PLS2 field), the data pipe follows immediately after the last cell of the EAC.
  • FIC is a dedicated channel that carries cross-layer information to enable fast service acquisition and channel scan.
  • the information mainly includes channel binding information between data pipes and services of each broadcaster.
  • the receiver can decode the FIC and obtain information such as broadcaster ID, number of services, and BASE_DP_ID.
  • BASE_DP_ID For high-speed service acquisition, not only the FIC but also the base data pipe can be decoded using BASE_DP_ID. Except for the content that the base data pipe transmits, the base data pipe is encoded and mapped to the frame in exactly the same way as a normal data pipe. Thus, no further explanation of the base data pipe is needed.
  • FIC data is generated and consumed at the management layer. The content of the FIC data is as described in the management layer specification.
  • FIC data is optional and the use of FIC is signaled by the FIC_FLAG parameter in the static part of the PLS2. If FIC is used, FIC_FLAG is set to 1 and the signaling field for FIC is defined in the static part of PLS2. Signaled in this field is FIC_VERSION, FIC_LENGTH_BYTE. FIC uses the same modulation, coding, and time interleaving parameters as PLS2. The FIC shares the same signaling parameters as PLS2_MOD and PLS2_FEC. FIC data is mapped after PLS2 if present, or immediately after EAC if EAC is present. None of the normal data pipes, auxiliary streams, or dummy cells are located before the FIC. The method of mapping the FIC cells is exactly the same as the EAC, which in turn is identical to the PLS.
  • the FIC cells are mapped in ascending order of cell index from the next cell of PLS2 as shown in the example of (a).
  • FIC cells are mapped for several symbols.
  • the FIC cell follows immediately after the last cell of PLS2 and the mapping continues downward until the last cell index of the last FSS. If the total number of required FIC cells exceeds the number of remaining active carriers of the last FSS, the mapping of the remaining FIC cells proceeds to the next symbol, which continues in exactly the same way as the FSS. In this case, the next symbol to which the FIC is mapped is a normal data symbol, which has more active carriers than the FSS.
  • the EAC is mapped before the FIC and the FIC cells are mapped in ascending order of cell index from the next cell of the EAC as shown in (b).
  • one or more data pipes are mapped, followed by auxiliary streams and dummy cells if present.
  • FIG 19 shows an FEC structure according to an embodiment of the present invention.
  • the data FEC encoder may perform FEC encoding on the input BBF to generate the FECBLOCK procedure using outer coding (BCH) and inner coding (LDPC).
  • BCH outer coding
  • LDPC inner coding
  • the illustrated FEC structure corresponds to FECBLOCK.
  • the FECBLOCK and FEC structures have the same value corresponding to the length of the LDPC codeword.
  • N ldpc 64800 bits (long FECBLOCK) or 16200 bits (short FECBLOCK).
  • Tables 28 and 29 below show the FEC encoding parameters for the long FECBLOCK and the short FECBLOCK, respectively.
  • a 12-error correcting BCH code is used for the outer encoding of the BBF.
  • the BBF-generated polynomials for short FECBLOCK and long FECBLOCK are obtained by multiplying all polynomials.
  • LDPC codes are used to encode the output of the outer BCH encoding.
  • ldpc P parity bits
  • I ldpc - is systematically encoded from the (BCH encoded BBF), it is attached to the I ldpc.
  • the finished B ldpc (FECBLOCK) is expressed by the following equation.
  • N ldpc for long FECBLOCK - specific procedures for calculating the K ldpc parity bits is as follows.
  • x represents the address of the parity bit accumulator corresponding to the first bit i 0
  • Q ldpc is a code rate dependent constant specified in the address of the parity check matrix.
  • Equation 6 x represents the address of the parity bit accumulator corresponding to information bit i 360 , that is, the entry of the second row of the parity check matrix.
  • the final parity bits are obtained as follows.
  • the corresponding LDPC encoding procedure for short FECBLOCK is t LDPC for long FECBLOCK.
  • the time interleaver operates at the data pipe level.
  • the parameters of time interleaving can be set differently for each data pipe.
  • DP_TI_TYPE (allowed values: 0 or 1): Represents the time interleaving mode.
  • 0 indicates a mode with multiple time interleaving blocks (one or more time interleaving blocks) per time interleaving group. In this case, one time interleaving group is directly mapped to one frame (without interframe interleaving).
  • 1 indicates a mode having only one time interleaving block per time interleaving group. In this case, the time interleaving block is spread over one or more frames (interframe interleaving).
  • DP_NUM_BLOCK_MAX (allowed values: 0 to 1023): Represents the maximum number of XFECBLOCKs per time interleaving group.
  • DP_FRAME_INTERVAL (allowed values: 1, 2, 4, 8): Represents the number of frames I JUMP between two sequential frames carrying the same data pipe of a given physical profile.
  • DP_TI_BYPASS (allowed values: 0 or 1): If time interleaving is not used for the data frame, this parameter is set to one. If time interleaving is used, it is set to zero.
  • the parameter DP_NUM_BLOCK from the PLS2-DYN data indicates the number of XFECBLOCKs carried by one time interleaving group of the data group.
  • each time interleaving group is a set of integer number of XFECBLOCKs, and will contain a dynamically varying number of XFECBLOCKs.
  • N xBLOCK_Group (n) The number of XFECBLOCKs in the time interleaving group at index n is represented by N xBLOCK_Group (n) and signaled as DP_NUM_BLOCK in the PLS2-DYN data.
  • N xBLOCK_Group (n) may vary from the minimum value 0 to the maximum value N xBLOCK_Group_MAX (corresponding to DP_NUM_BLOCK_MAX ) having the largest value 1023.
  • Each time interleaving group is either mapped directly 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 some other number of XFECBLOCKs. If the time interleaving group is divided into multiple time interleaving blocks, the time interleaving group is directly mapped to only one frame. As shown in Table 32 below, there are three options for time interleaving (except for the additional option of omitting time interleaving).
  • the time interleaver will also act as a buffer for the data pipe data before the frame generation process. This is accomplished with two memory banks for each data pipe.
  • the first time interleaving block is written to the first bank.
  • the second time interleaving block is written to the second bank while reading from the first bank.
  • Time interleaving is a twisted row-column block interleaver.
  • the number of columns N c is equal to N xBLOCK_TI (n, s)
  • 21 illustrates the basic operation of a twisted row-column block interleaver according to an embodiment of the present invention.
  • Fig. 21A shows a write operation in the time interleaver
  • Fig. 21B shows a read operation in the time interleaver.
  • the first XFECBLOCK is written in the column direction to the first column of the time interleaving memory
  • the second XFECBLOCK is written to the next column, followed by this operation.
  • the cells are read diagonally.
  • Cells are read. Specifically, Assuming that this is a time interleaving memory cell position to be read sequentially, the read operation in this interleaving array is a row index as in the equation below. Column index Related twist parameters Is executed by calculating.
  • the cell position to be read is coordinate Calculated by
  • FIG. 22 illustrates an operation of a twisted row-column block interleaver according to another embodiment of the present invention.
  • FIG. 22 Denotes an interleaving array in the time interleaving memory for each time interleaving group including the virtual XFECBLOCK.
  • the interleaving array for twisted row-column block interleaver inserts a virtual XFECBLOCK into the time interleaving memory. It is set to the size of, and the reading process is made as follows.
  • the number of time interleaving groups is set to three.
  • the maximum number of XFECBLOCKs is signaled in PLS2-STAT data by NxBLOCK_Group_MAX, which Leads to.
  • Figure 23 illustrates a diagonal read pattern of a twisted row-column block interleaver according to one embodiment of the present invention.
  • 25 is a diagram illustrating a hybrid broadcast receiver according to an embodiment of the present invention.
  • the hybrid broadcast receiver may receive an existing broadcast signal.
  • the hybrid broadcast receiver includes a network interface capable of receiving data transmitted in an IP packet.
  • a hybrid broadcast receiver includes: a tuner J25010, a physical layer controller J25020, a physical frame parser J25030, a link layer frame processor J25040; Link Layer Frame Processor), IP / UDP Datagram Filter (J25050), Timing Control (J25060; Timing Control), System Clock Processing Unit (J25070; System Clock), ALC / LCT + Client (J25080; ALC / LCT + Client, File Processing Unit (J25090; Files), DTV Control Engine (J25100; ATSC3.0 DTV Control Engine), Signaling Parser (J25110; Signaling Parser), Channel Map Processing Unit (J25120; Channel Map), HTTP Server (J25130; HTTP Server, HTTP Access Client (J25140; HTTP Access Client), HTTP Cache (J25150; HTTP Cache), DASH Client (J25160; DASH Client), ISO BMFF Parser (J25170; ISO BMFF Parser) and / or Media Decoder ( J25050), Timing Control (J
  • the tuner J25010 receives a broadcast signal.
  • the tuner may tune to a specific frequency from the broadcast signal and receive the broadcast signal of the corresponding frequency.
  • the tuner may extract a physical frame included in the broadcast signal.
  • the physical layer controller J25020 performs control related to processing on the broadcast signal in the physical layer.
  • the physical layer controller may control the tuner to tune to the corresponding frequency by transmitting information on a frequency to be tuned to obtain a specific broadcast service to the tuner based on the information obtained from the transmission parameter or the signaling data.
  • the physical layer controller converts information (DP ID) identifying a DP (Data Pipe) to be accessed / extracted to obtain a specific broadcast service or broadcast content, based on the information obtained from the transmission parameter or signaling data, to the physical frame parser. By passing, the physical frame parser identifies the DP and controls it to parse it.
  • the physical frame parser J25030 parses a physical frame in a broadcast signal. Physical frames represent units of data for processing at the physical layer.
  • the physical frame parser may parse the physical frame to extract the link layer frame.
  • the physical frame parser may extract a link layer frame having a corresponding DP ID by using a data pipe identifier (DP ID) to extract a link layer frame including a specific DP.
  • the physical frame parser may extract signaling data.
  • the physical frame parser may extract a DP (eg, base DP) including signaling data, identify a signaling channel for transmitting signaling data, and extract signaling data transmitted in the corresponding channel.
  • DP data pipe identifier
  • the link layer frame processor processes the link layer frame.
  • the link layer frame processor extracts an IP / UDP datagram from the link layer frame.
  • the link layer processor may extract signaling data carried in the link layer.
  • the signaling data delivered in the link layer may include information about data in a layer higher than the link layer.
  • signaling data carried in the link layer may include the form of an IP packet, the content of information that is common in the headers of the IP packet, and / or information about hair compression when compression is applied for the IP header. can do.
  • the IP / UDP datagram filter may identify and extract a specific IP / UDP datagram.
  • the IP / UDP datagram filter may extract specific IP packets, and in this process, may use IP / Port information.
  • the IP / UDP datagram filter may extract an IP / UDP datagram including a specific packet and transmit a packet in the datagram to each device of the receiver.
  • the IP / UDP Datagram Filter is a synchronization between ALC / LCT + (Asynchronous Layered Coding / Layered Coding Transport +) packets, broadcast systems, broadcast receivers, and / or broadcast services / content that transmits broadcast data in IP / UDP datagrams.
  • a timeline packet including data for and a signaling packet transmitting signaling data may be extracted.
  • the timing controller J25060 serves to synchronize synchronization between transport streams transmitted from one or more sources. Information necessary for synchronization between transport streams transmitted from one or more sources may be transmitted in the form of typeline packets.
  • the timing controller may play a role of synchronizing a received packet or data in the packet with a broadcast system clock. The timing controller may serve to synchronize the clock of the broadcast receiver and the clock of the broadcast system.
  • the system clock processing unit J25070 receives information about the wall clock time and controls the clock of the system.
  • the ALC / LCT + client processes packets according to the protocol of the application layer.
  • the ALC / LCT + Client (J25080; ALC / LCT + Client) may be named an Application Layer Transport Protocol Client.
  • the protocol packet of the application layer may have various names according to a protocol applied to the corresponding layer, but herein, the application packet is referred to as an application layer transport protocol packet or a packet.
  • the application layer transport protocol packet may include an ALC / LCT packet, an ALC / LCT + packet, a ROUTE packet, and / or an MMT packet.
  • the ALC / LCT + client may extract a file for transmitting general data from an application layer transport protocol packet or extract ISO base media file format (ISO BMFF) object data.
  • ISO BMFF ISO base media file format
  • the ALC / LCT + client can obtain additional timing related information in the process of extracting ISO BMFF object data.
  • the ALC / LCT + client may use delivery mode and / or Transport Session Identifier (TSI) information in the process of extracting general file and / or ISO BMFF object data.
  • TSI Transport Session Identifier
  • the file processor J25090 stores files or processes the files.
  • the DTV control engine J25100 controls a series of operations for processing broadcast data by using information on a channel map including information on each broadcast channel.
  • the DTV control engine receives a user input by an UI (User Interface) or an event on the system and processes it.
  • the DTV control engine controls the physical layer controller by using the transmission parameter so that the physical layer controller can control the processing of the broadcast signal in the physical layer.
  • the DTV control engine extracts a media presentation description (MPD) when the broadcast receiver processes data related to moving picture expert group (Dynamic Adaptive Streaming over HTTP) or obtains MPD location information (eg, For example, URL-Uniform Resource Locator information) is extracted and transmitted to a device that processes data related to MPEG-DASH.
  • MPD media presentation description
  • the signaling parser J25110 receives a signaling packet or a signaling bitstream to parse signaling information.
  • the signaling information may include information necessary for generating a channel map.
  • the channel map processor J25120 generates a channel map using signaling information and stores the channel map.
  • HTTP server J25130 transfers data or packets using HyperText Transfer Protocol (HTTP).
  • HTTP server receives a request of the broadcast receiver and transmits a response to the broadcast receiver.
  • the HTTP server may be provided outside the broadcast receiver or may be provided inside the broadcast receiver.
  • An HTTP access client (J25140) handles communication with an HTTP server.
  • the HTTP access client delivers the DASH client's request to the HTTP server or delivers the HTTP server's response to the DASH client.
  • HTTP Cache (J25150) serves to cache some or all of the data transmitted over HTTP.
  • the DASH Client J25160 performs a series of operations for processing data related to MPEG-DASH.
  • the DASH client requests or receives the MPD in response to the HTTP server, or receives the MPD through another path.
  • the DASH client uses the MPD to extract the DASH segment for the specific broadcast service or content.
  • the DASH segment extracted from the DASH client may be in the form of an ISO BMFF file.
  • the DASH client receives input by the UI or input by a system event and processes data related thereto.
  • An ISO BMFF Parser (J25170) parses ISO BMFF object data and / or ISO BMFF files.
  • the ISO BMFF parser may parse ISO BMFF object data and / or ISO BMFF file to extract an access unit, timing information, and / or information necessary for decoding.
  • the access unit may contain data for the media.
  • the media decoder J25180 decodes the media (broadcast service, broadcast content or event) by using the access unit, timing information, and / or information necessary for decoding.
  • FIG. 26 illustrates an operation of performing service scanning in a hybrid broadcast receiver according to an embodiment of the present invention.
  • the physical layer controller J25020 controls the tuner J25010 so that the tuner performs scanning on channels of each frequency.
  • Tuner J25010 receives a broadcast signal on each channel.
  • the tuner J25010 may extract a physical frame from the broadcast signal.
  • the tuner J25010 transmits a broadcast signal or a physical frame to the physical frame parser J25030.
  • the physical frame parser J25030 extracts a signaling bitstream that carries signaling information.
  • the physical frame parser J25030 transmits the signaling bitstream to the signaling parser J250110.
  • the signaling parser J25110 extracts signaling information from the signaling bitstream.
  • the signaling parser J25110 delivers signaling information to the channel map processor J25120.
  • 27 is a diagram illustrating an operation of performing service selection in a hybrid broadcast receiver according to an embodiment of the present invention.
  • the DTV control engine J25100 receives a control signal for selecting a service by a user or a broadcast event.
  • the DTV control engine J25100 extracts a frequency, DP identification information, component identification information, and / or datagram identification information of a channel transmitting the selected service from the channel map or signaling information stored in the channel map processing unit, and the like, and the physical layer controller. Transfer the data to the J25020 and / or the IP / UDP datagram filter J25050.
  • the physical layer controller J25020 controls the tuner J25010 to tune to a channel for transmitting the selected service by using the frequency information, and selects the physical frame parser J25030 by using the DP identification information. Control to extract DPs that transmit services.
  • the extracted DP is processed by the link layer frame processor J25040 to extract IP / UDP datagrams.
  • the IP / UDP datagram filter (J25050) filters specific IP / UDP datagrams or specific IP packets transmitting signaling packets by using IP / Port information, extracts signaling packets from the corresponding datagrams, and generates a signaling parser ( J25110).
  • 28 is a diagram illustrating an operation of performing service selection in a hybrid broadcast receiver according to an embodiment of the present invention.
  • the DTV control engine according to the information of the channel map, the information for identifying the DP for transmitting the packet for the broadcast service or broadcast content selected by the user, the information for identifying the transmission mode for transmitting the packet, the TSI information for the packet and / Or Obtain IP / Port information of the packet.
  • the DTV control engine may transmit information identifying the DP to the physical layer controller.
  • the DTV control engine may transmit IP / Port information of the packet to the IP / UDP datagram filter.
  • the DTV control engine may transmit TSI information about the packet and / or information identifying a transmission mode for transmitting the packet to the ALC / LCT + client.
  • the physical layer controller delivers a DP ID (Data Pipe Identifier) to the physical frame parser.
  • DP ID Data Pipe Identifier
  • the physical frame parser identifies a DP for transmitting a packet for a broadcast service or broadcast content selected by a user using a DP ID, and parses the corresponding DP.
  • the physical frame parser can extract the link layer frame from the DP.
  • the link layer frame processor parses IP / UDP datagrams in link layer frames.
  • the link layer frame processor may extract an IP / UDP datagram and / or an IP packet related to a broadcast service or broadcast content selected by a user.
  • the IP / UDP datagram filter extracts a packet (eg, an application layer transport protocol packet) including data related to a broadcast service or broadcast content selected by a user.
  • the IP / UDP datagram filter may extract a timeline packet including information for synchronization with a broadcast system of a broadcast service and / or broadcast content.
  • the ALC / LCT + client may extract ISO BMFF object data and / or timing related information from the received packet and transmit the extracted ISO BMFF object data to the ISO BMFF parser.
  • Processing of the data is then replaced with the description of each device described above.
  • 29 is a diagram illustrating an operation of performing service selection in a hybrid broadcast receiver according to another embodiment of the present invention.
  • FIG. 27 the operation of the broadcast receiver performed after the service selection in the broadcast receiver described above with reference to FIG. 27 is illustrated.
  • the DTV control engine acquires an MPD including information on a broadcast service or broadcast content selected by a user through a channel map or signaling information, or obtains a location of a server or a storage providing the MPD.
  • the DTV control engine delivers the location of the MPD or MPD to the DASH client.
  • the DASH client obtains the MPD, and extracts information (eg, segment URL) about a location in the MPD that provides a segment that is data included in a media (broadcast service or broadcast content) selected by the user.
  • the DASH client sends a request for the segment to the HTTP access client.
  • the HTTP access client uses the information on the location of the segment, connects to the server providing the segment, obtains the segment, and delivers the segment to the DASH client.
  • the DASH client extracts the file (eg, ISO BMFF file) from the received segment and forwards it to the ISO BMFF parser.
  • the file eg, ISO BMFF file
  • Processing of the data is then replaced with the description of each device described above.
  • FIG. 30 is a block diagram of a hybrid broadcast receiver according to an embodiment of the present invention.
  • the hybrid broadcast receiver may receive a hybrid broadcast service through interlocking terrestrial broadcast and broadband in a DTV service of a next generation broadcast system.
  • the hybrid broadcast receiver may receive broadcast audio / video (Audio / Video, A / V) content transmitted through terrestrial broadcast, and receive enhancement data or a part of broadcast A / V content related thereto in real time through broadband.
  • broadcast audio / video (A / V) content may be referred to as media content.
  • Hybrid broadcast receivers include Physical Layer Controller (D25010), Tuner (Tuner, D25020), Physical Frame Parser (D25030), Link Layer Parser (D25040), IP / UDP Datagram Filter (IP / UDP Datagram Filter, D25050), ATSC 3.0 Digital Television Control Engine (ATSC 3.0 DTV Control Engine, D25060), ALC / LCT + Client (ALC / LCT + Client, D25070), Timing Control (Timing Control, D25080), Signaling Signaling Parser (D25090), DASH Client (Dynamic Adaptive Streaming over HTTP Client, DASH Client, D25100), HTTP Access Client (HTTP Access Client, D25110), ISO BMFF Parser (ISO Base Media File Format Parser, ISO BMFF Parser, D25120) and / or a media decoder D25130.
  • D25010 Physical Layer Controller
  • Tuner Tuner
  • D25030 Physical Frame Parser
  • Link Layer Parser
  • the physical layer controller D25010 may control the operation of the tuner D25020, the physical frame parser D25030, etc. using radio frequency (RF) information of the terrestrial broadcast channel that the hybrid broadcast receiver intends to receive. .
  • RF radio frequency
  • the tuner D25020 may receive and process a broadcast related signal through a terrestrial broadcast channel and convert it into an appropriate form. For example, the tuner D25020 may convert the received terrestrial broadcast signal into a physical frame.
  • the physical frame parser D25030 may obtain a link layer frame through parsing the received physical frame and processing related thereto.
  • the link layer parser D25040 may perform a related operation for acquiring link layer signaling or the like from an link layer frame or obtaining an IP / UDP datagram.
  • the link layer parser D25040 may output at least one IP / UDP datagram.
  • the IP / UDP datagram filter D25050 may filter a specific IP / UDP datagram from the received at least one IP / UDP datagram. That is, the IP / UDP datagram filter D25050 selectively selects the IP / UDP datagram selected by the ATSC 3.0 digital television control engine D30060 among at least one IP / UDP datagram output from the link layer parser D25040. You can filter.
  • the IP / UDP datagram filter D25050 may output an application layer transport protocol packet.
  • the ATSC 3.0 digital television control engine (D25060) may be responsible for the interface between the modules included in each hybrid broadcast receiver. In addition, the ATSC 3.0 digital television control engine (D25060) transmits the parameters required for each module to each module, thereby controlling the operation of each module. In the present invention, the ATSC 3.0 digital television control engine D25060 may deliver a media presentation description (MPD) and / or an MPD URL to the DASH client D25100. In addition, in the present invention, the ATSC 3.0 digital television control engine D25060 may transmit a delivery mode and / or a transport session identifier (TSI) to the ALC / LCT + client D25070.
  • TSI may indicate an identifier of a session for transmitting a transport packet including a signaling message such as MPD or MPD URL related signaling, for example, an ALC / LCT session or a FLUTE session.
  • the ALC / LCT + client D25070 may generate one or more ISO Base Media File Format (ISOBMFF) objects by processing the application layer transport protocol packets and collecting and processing the plurality of application layer transport protocol packets.
  • ISOBMFF ISO Base Media File Format
  • the timing controller D25080 may process a packet including system time information and control the system clock accordingly.
  • the signaling parser D25090 may acquire and parse DTV broadcast service related signaling, and generate and manage a channel map or the like based on the parsed signaling.
  • the signaling parser may parse extended MPD or MPD related information from the signaling information.
  • the DASH client D25100 may perform operations related to real-time streaming or adaptive streaming.
  • the DASH client D25100 may receive the DASH content from the HTTP server through the HTTP connection client D25110.
  • the DASH client D25100 may output the ISO Base Media File Format object by processing the received DASH segment.
  • the DASH client D25100 may transmit the full Representation ID or the segment URL to the ATSC 3.0 digital television control engine D25060.
  • the entire Representation ID may mean, for example, an ID combining the MPD URL, period @ id, and representation @ id.
  • the DASH client D25100 may also receive an MPD or MPD URL from the ATSC 3.0 digital television control engine D25060.
  • the DASH client D25100 may receive a desired media stream or DASH segment from the HTTP server using the received MPD or MPD URL.
  • the DASH client D25100 may be referred to as a processor.
  • the HTTP access client D25110 may request specific information from the HTTP server, and receive and process a response from the HTTP server.
  • the HTTP server may process a request received from an HTTP connection client and provide a response thereto.
  • the ISO BMFF parser D25120 may extract audio / video data from an ISO Base Media File Format object.
  • the media decoder D25130 may decode the received audio and / or video data and perform processing for presenting the decoded audio / video data.
  • an extension or modification of the MPD is required.
  • the above-mentioned terrestrial broadcasting system may transmit an extended or modified MPD, and the hybrid broadcast receiver may receive content through broadcast or broadband using the extended or modified MPD. That is, the hybrid broadcast receiver may receive the extended or modified MPD through terrestrial broadcasting and receive content through terrestrial broadcasting or broadband based on the MPD.
  • the following describes elements and attributes that should be additionally included in the extended or modified MPD compared to the existing MPD.
  • an extended or modified MPD may be described as an MPD.
  • MPD can be extended or modified to represent ATSC 3.0 services.
  • the extended or modified MPD may additionally include MPD @ anchorPresentationTime, Common @ presentable, Common.Targeting, Common.TargetDevice and / or Common @ associatedTo.
  • the MPD @ anchorPresentationTime may indicate an anchor of the presentation time of the segments included in the MPD, that is, the time at which it is based.
  • MPD @ anchorPresentationTime may be used as an effective time of the MPD.
  • MPD @ anchorPresentationTime may indicate the earliest playback time point among segments included in the MPD.
  • the MPD may further include common attributes and elements. Common @ presentable may indicate that the media described by the MPD is a component that can be presented.
  • Targeting may indicate targeting properties and / or personalization properties of media described by the MPD.
  • TargetDevice may represent a target device or target devices of the media described by the MPD.
  • Common @ associatedTo may indicate an adaptationSet and / or representation related to the media described by the MPD.
  • MPD @ id, Period @ id and AdaptationSet @ id included in the MPD may be required to specify the media content described by the MPD. That is, the DASH client may specify the content to be received based on the MPD as MPD @ id, Period @ id, and AdaptationSet @ id, and deliver the content to the ATSC 3.0 digital television control engine.
  • the ATSC 3.0 digital television control engine can also receive the content and deliver it to the DASH client.
  • 31 is a diagram illustrating an operation of performing service selection in a hybrid broadcast receiver according to another embodiment of the present invention.
  • the physical layer controller D25010 controls the tuner D25020 so that the tuner performs scanning on channels of each frequency.
  • Tuner D25020 receives a broadcast signal on each channel.
  • the tuner D25020 may extract a physical frame from a broadcast signal.
  • the tuner D25020 transmits a broadcast signal or a physical frame to the physical frame parser D25030.
  • the physical frame parser D25030 extracts a signaling bitstream that carries signaling information.
  • the physical frame parser D25030 transmits the signaling bitstream to the signaling parser D25090.
  • the signaling parser D25090 extracts signaling information from the signaling bitstream.
  • the signaling parser D25090 delivers signaling information to a channel map processor (Channel Map or Channel Map Processor).
  • 32 is a diagram illustrating an operation of performing service selection in a hybrid broadcast receiver according to another embodiment of the present invention.
  • the DTV control engine D25060 receives a control signal for selecting a service by a user or a broadcast event.
  • the DTV control engine D25060 extracts a frequency, DP identification information, component identification information, and / or datagram identification information of a channel transmitting the selected service from the channel map or signaling information stored in the channel map processing unit, and the like, and the physical layer controller. And transmits the data to the D25010 and / or the IP / UDP datagram filter D25050.
  • the physical layer controller D25010 controls the tuner D25020 to tune to a channel transmitting the selected service using frequency information, and uses the DP identification information to select the physical frame parser D25030. Control to extract DPs that transmit services.
  • the extracted DP is processed by the link layer frame processor D25040 to extract IP / UDP datagrams.
  • the IP / UDP datagram filter (D25050) filters specific IP / UDP datagrams or specific IP packets transmitting signaling packets using IP / Port information, extracts signaling packets from the corresponding datagrams, and generates a signaling parser ( D25090).
  • the IP / UDP datagram filter D25050 may extract an application layer transport protocol packet for transmitting data for a broadcast service or broadcast content. Some packets of the application layer transport protocol packets may include signaling information.
  • the ALC / LCT + client D25070 may parse the packet including the signaling information and deliver it to the signaling parser D25090.
  • the signaling parser parses the packet including the corresponding signaling information, obtains the signaling information, delivers it to the channel map processor, or stores it as a channel map.
  • 33 is a diagram illustrating an operation of performing service selection in a hybrid broadcast receiver according to another embodiment of the present invention.
  • the DTV control engine D25060 may obtain the URL information of the position where the channel map processing unit may acquire the MPD or the MPD.
  • the DTV control engine D25060 delivers the MPD including information on media such as a specific broadcast service or broadcast content or URL information of a location where the MPD can be obtained to the DASH client D25100.
  • the DASH client D25100 may parse the MPD.
  • the DASH client D25100 may transmit a request for the MPD at the corresponding location to the HTTP access client by using the URL information of the location where the MPD may be obtained.
  • the HTTP access client accesses the HTTP server of the location indicated by the URL information of the location where the MPD can be obtained, requests the MPD, receives the MPD in response, and delivers the MPD to the DASH client.
  • the DASH client D25100 extracts a Representation ID, which is information for identifying a Representation included in the MPD, and / or segment URL information for identifying a location from which a specific segment can be obtained.
  • the DASH client D25100 delivers the information extracted from the MPD to the DTV control engine D25060.
  • the DTV control engine D25060 may identify information (eg, DP ID, component ID, IP / Port) for identifying a DP for transmitting a specific media (specific broadcast service, content, and / or event) indicated by information extracted from the MPD. Information and / or TSI information) to be transmitted to the physical layer controller D25010 and / or the IP / UDP datagram filter D25050.
  • the information identifying the DP may be stored in the channel map processor or extracted from information stored in the broadcast receiver in the channel map format.
  • the physical layer controller D25010 may control the physical frame parser D25030 so that the physical frame parser D25030 extracts a specific DP from the physical frame.
  • the physical layer controller D25010 transfers the DP ID to the physical frame parser D25030 so that the DP identified by the DP ID can be extracted by the physical frame parser D25030.
  • the physical frame parser D25030 extracts a link layer frame included in the DP.
  • the link layer frame processor D25040 parses the link layer frame and extracts one or more IP / UDP datagrams.
  • the IP / UDP datagram filter D25050 extracts IP / UDP datagrams and / or IP packets including data on media to be extracted by the broadcast receiver using IP / Port information.
  • the IP / UDP datagram filter D25050 parses an IP / UDP datagram and / or an IP packet to extract an application layer transport protocol packet that transmits data for a specific media.
  • the ALC / LCT + client D25070 decodes an application layer transport protocol packet including data about media to be consumed by the broadcast receiver to obtain ISO BMFF object data.
  • ISO BMFF object data may include an HTTP entity.
  • the HTTP entity may include HTTP related information capable of receiving specific data.
  • the HTTP access client D25110 may decode the ISO BMFF object data or receive data for a specific media from the outside by using information included in the ISO BMFF object data.
  • the DASH client D25100 parses the DASH segment from the received data.
  • the DASH segment may have the form of an ISO BMFF file.
  • 34 is a diagram illustrating an operation of performing service selection in a hybrid broadcast receiver according to another embodiment of the present invention.
  • FIG. 32 the operation of the broadcast receiver performed after the service selection in the broadcast receiver described above with reference to FIG. 32 is illustrated.
  • the DTV control engine D25060 obtains an MPD including information on a broadcast service or broadcast content selected by a user through a channel map or signaling information, or obtains a location of a server or a storage providing the MPD.
  • the DTV control engine D25060 communicates the location of the MPD or the MPD to the DASH client.
  • the DASH client D25100 When the DASH client D25100 receives the information on the location of the server or storage providing the MPD, the DASH client D25100 transmits a request for the MPD to the HTTP access client D25110.
  • the HTTP access client D25110 may access a server or storage corresponding to the location of the MPD, acquire the MPD, and deliver the MPD to the DASH client D25100.
  • the DASH client D25100 obtains the MPD, and extracts information (eg, segment URL) about a location providing a segment, which is data included in the media (broadcast service or broadcast content) selected by the user, in the MPD. .
  • the DASH client D25100 sends a request for the segment to the HTTP access client D25110.
  • the HTTP access client D25110 uses the information on the location of the segment, accesses the server providing the segment, obtains the segment, and delivers the segment to the DASH client D25100.
  • the DASH client D25100 extracts a file (eg, an ISO BMFF file) from the received segment and delivers the file to the ISO BMFF parser.
  • a file eg, an ISO BMFF file
  • Processing of the data is then replaced with the description of each device described above.
  • 35 is a view showing the operation of the ALC / LCT + client according to an embodiment of the present invention.
  • the ALC / LCT + client may process data according to one or more protocols.
  • the ALC / LCT + client can process data according to file delivery over unidirectional transport (FLUTE) and / or ALC / LCT + protocol.
  • the ALC / LCT + client may receive TSI information and obtain data transmitted through a transport session corresponding to the TSI information.
  • the ALC / LCT + client may receive FLUTE data and / or ALC / LCT + data.
  • the ALC / LCT + client may decode or parse generic file and / or ISO BMFF object data from the received data.
  • Non-real-time transmission is a transmission scheme that receives data of a media through a broadcasting network before the media is actually consumed.
  • the broadcast service that may be included in the media may include one or more broadcast contents.
  • the broadcast content may consist of one or more files. Each file may be transmitted discontinuously and stored at the receiver.
  • Data transmitted in non-real time may correspond to data of a broadcast service and / or broadcast content.
  • the data transmitted in real time may correspond to data used in addition to broadcast data transmitted in real time or media data received through an internet network.
  • data transmitted through the non-real time transmission may be transmitted using the FLUTE protocol.
  • FLUTE these files to which files are transferred can contain generic files or ISO BMFF Object data.
  • the ALC / LCT + client may extract generic file and / or ISO BMFF Object data from data transmitted through FLUTE.
  • the ALC / LCT + client may collect ALC / LCT packets having specific Transmission Object Identifier (TOI) information and / or TSI information for a file delivery table (FDT) in order to obtain data by non-real time transmission.
  • the ALC / LCT + client may parse the FDT in corresponding ALC / LCT packets.
  • the ALC / LCT + client may collect ALC / LCT packets having specific TOI information and / or TSI information in order to collect files included in specific media or broadcast content.
  • TOI information and / or TSI information about files corresponding to a specific media or broadcast content may be included in the above-described FDT.
  • an operation for acquiring an FDT may not be performed. In this case, the ALC / LCT + client may operate to ignore TOI information and TSI information related to the FDT.
  • Real-time transmission can transmit data using the ALC / LCT + protocol.
  • the ALC / LCT + protocol may be named ROUTE (Real-Time Object Delivery over Unidirectional Transport).
  • the ALC / LCT + client may extract ISO BMFF Object data from the application layer transport protocol packet.
  • the ALC / LCT + client may collect an AL: C / LCT + packet having specific TSI information and / or TOI information in order to obtain data constituting specific media or broadcast content.
  • FIG. 36 illustrates an ISO BMFF file according to an embodiment of the present invention.
  • ISO BMFF file may be used in the same concept as one DASH segment.
  • the ISO BMFF Object data may correspond to some data of the ISO BMFF file.
  • An ISO BMFF file may be divided into one or more chunks, and each chunk may correspond to ISO BMFF Object data.
  • An ISO BMFF file may contain one or more boxes.
  • ISO BMFF files may include ftyp boxes, moov boxes, moof boxes, and / or mdat boxes.
  • the chunk can contain two or more boxes of different types. Alternatively, a chunk may contain only one type of box. Alternatively, a chunk may contain part of one box. Alternatively, the chunk may include data included in one box and some data included in another type of box.
  • the ftyp box can indicate the type of ISO BMFF file.
  • the ftyp box can identify the technical standard to which the ISO BMFF file is compatible.
  • a moov box is a container for metadata.
  • the metadata may correspond to signaling information.
  • the metadata may include information describing data included in the media.
  • the moof box corresponds to the movie fragment box, and the movie fragment extends the presentation time.
  • the mdat box contains the actual media data for the presentation.
  • FIG 37 illustrates an application layer transport protocol packet according to an embodiment of the present invention.
  • a transport session identifier may be mapped to one track.
  • One track may correspond to a video, audio or DASH representation.
  • a DASH representation represents an aggregation or encapsulation of one or more media streams.
  • the DASH representation is encoded to transmit the elements of the media and may have different encoding characteristics for each DASH representation.
  • a DASH representation may represent units encoded using different bit rates, resolutions, and / or codecs for content elements of the same media.
  • the DASH representation may include one or more DASH segments.
  • the DASH segment corresponds to a file divided continuously in time units.
  • the DASH segment may include data in MPEG2-TS or ISO BMFF format.
  • a transmission object identifier may be mapped to one ISO BMFF object data.
  • One ISO BMFF object data may correspond to one ISO BMFF file or one chunk.
  • This figure shows an application layer transport protocol packet when TSI is mapped to one track and TOI is mapped to one ISO BMFF file.
  • one video track may include one or more segments (DASH segments).
  • Each segment may correspond to an ISO BMFF file.
  • An ISO BMFF file may be divided into one or more elementary streams or elementary segments. In the figure, one ISO BMFF file is divided into five ESs.
  • the application layer transport protocol packet includes an ALC / LCT + header (ALC / LCT + H) and an ES, respectively.
  • the data of segment 1 may be transmitted through five application layer transport protocol packets, and each application layer transport protocol packet has a TOI value of '1', thereby transmitting data of segment 1.
  • the video track may be identified by a TSI having a value of '1', and other segments included in the video track may be identified by a value of TOI. If the video track includes N segments, the TOI may have a value from 1 to N.
  • the receiver must be able to identify the beginning of the file.
  • the ISO BMFF file transmitted by segment 1 may include information that may indicate that the file is the first file of the data unit identified by the TSI.
  • FIG. 38 illustrates an application layer transport protocol packet when a TSI is mapped to one track and a TOI is mapped to one chunk according to an embodiment of the present invention.
  • one track may comprise one or more segments.
  • One segment may correspond to an ISO BMFF file.
  • a segment can be divided into one or more chunks.
  • One chunk can be divided into one or more ESs.
  • Each application layer transport protocol packet may include an ALC / LCT + header and one ES. In this case, each chunk may be transmitted by one or more application layer transport protocol packets.
  • a TSI value of '1' is set, and a segment included in the video track has a TSI value of '1'.
  • a respective TOI value may be set for each chunk included in segment 1.
  • each chunk may include offset information indicating an offset
  • a chunk including data at the beginning of an ISO BMFF file may include offset information having a value of '0'.
  • FIG. 39 illustrates setting characteristics of respective boxes in an ISO BMFF file in an application layer transport protocol packet when TSI is mapped to one track and TOI is mapped to one chunk according to an embodiment of the present invention.
  • the TSI When the TSI is mapped to one track and the TOI is mapped to one chunk, for each box included in the ISO BMFF file corresponding to the segment, different importance may be set. This importance can be set at the transmitter. For example, the importance level may be set for the moov box, and the importance level may be set for the moof box.
  • An mdat box including data corresponding to a random access point may be set to have a higher importance than other mdat boxes not including a RAP.
  • the RAP may correspond to a data unit for transmitting data of an I-frame.
  • Information for determining priority according to importance among the mdat boxes may be included in each mdat box.
  • information for determining the priority according to the importance among the mdat boxes may be included in the moov box.
  • the information may be used to determine the priority of a specific mdat box in association with the information identifying the mdat box.
  • the moof box can be set to be more important than the mdat box. Also, since the moof box cannot be processed without the moov box, the moov box can be set to be more important than the moof box.
  • information about a priority may be included in each application layer transport protocol packet in consideration of the boxes included in each application layer transport protocol packet. have.
  • setting of information or setting of data may be performed at a transmitter or a receiver.
  • FIG 40 illustrates transmission and reception of an application layer transport protocol packet according to an embodiment of the present invention.
  • the aforementioned application layer transport protocol packet is generated at the transmitter and transmitted to the receiver.
  • the video track includes segment 1 and segment 2.
  • Segment 1 includes chunk 1 through chunk 3.
  • Segment 2 includes chunk 1 and chunk 2.
  • each chunk is sent to each ES.
  • three application layer transport protocol packets generated for segment 1 may exist, and in an ES transmitting a chunk including the first data of segment 1, TSI is set to '1' and TOI is set to '1'. It is set to, and the offset information may be transmitted through the application layer transport protocol packet set to '0'.
  • ES 2 transmitting chunk 2 included in segment 1 may be transmitted through an application layer transport protocol packet in which TSI is set to '1', TOI is set to '2', and offset information is set to '200'. have.
  • ES 3 transmitting chunk 3 included in segment 1 may be transmitted through an application layer transport protocol packet in which TSI is set to '1', TOI is set to '3', and offset information is set to '1000'.
  • ES 4 transmitting chunk 1 included in segment 2 may be transmitted through an application layer transport protocol packet in which TSI is set to '1', TOI is set to '4', and offset information is set to '0'. have.
  • ES 5 transmitting chunk 2 included in segment 2 may be transmitted through an application layer transport protocol packet in which TSI is set to '1', TOI is set to '5', and offset information is set to '1000'. have.
  • the receiver may recognize the application layer transport protocol packets corresponding to the TSI having a value of '1' as packets for transmitting data on the same track. . Therefore, in the process of collecting the application layer transport protocol packets having the same TSI, the receiver may collect the application layer transport protocol packets in the order of the value of the TOI. However, if application layer transport protocol packets transmitting ES 3 and / or ES 4 are lost, the receiver may set the TSI to '1', the TOI to '5', and the offset information to '1000'. There may be a problem that it is not possible to determine whether the ES (or chunk) transmitted by the application layer transport protocol packet set to S1 belongs to Segment 1 or Segment 2.
  • a track ID value may be used for TSI.
  • the track may be used as a concept corresponding to the representation of MPEG-DASH.
  • a value obtained by combining an identifier of an ISO BMFF file and an identifier of a chunk may be used. If one ISO BMFF object data is set equal to one ISO BMFF file, the ISO BMFF object data may be assumed to be composed of one chunk. In an embodiment of the present invention, two bits of the reserved bits may be used to set information indicating priority of each ISO BMFF object data (or chunk).
  • offset information from the beginning of each file to the application layer transport protocol packet may be set. Such information may be included in signaling information and / or application layer transport protocol packets. If the value of the offset information is '0', it indicates that the application layer transport protocol packet to which the value is applied is an application layer transport protocol packet that transmits data at the beginning of the ISO BMFF file.
  • the application layer transport protocol packet may include information indicating the presentation timing of the media (for example, the start time, duration, and / or information for synchronizing with other content) and / or the corresponding file or application layer transport protocol packet. May include location information (eg, URL information) for the required data.
  • 41 illustrates a structure of an application layer transport protocol packet according to an embodiment of the present invention.
  • Application layer transport protocol packets include the following elements: v element, c element, PSI element, S element, O element, H element, priority element, A element, B element, HDR_LEN element, Codepoint element, Congestion Control Information element, Transport Session Identifier (TSI) Elements, a Transport Object Identifier (TOI) element, an EXT_FTI element, an EXT_SCT element, an EXT_OBJ_OFFSET element, an EXT_OBJ_PTS element, an EXT_OBJ_LOCATION element, an FEC payload ID element, and / or an Encoding Symbols element.
  • TSI Transport Session Identifier
  • TOI Transport Object Identifier
  • the PSI element may comprise an X element and / or a Y element.
  • the v element indicates the version number of the packet.
  • the v element may indicate a version of ALC / LCT.
  • the v element may indicate that this packet is a packet that follows ALC / LCT +.
  • the c element corresponds to the Congestion control flag.
  • the c element may indicate the length of the Congestion Control Information (CCI) element.
  • CCI Congestion Control Information
  • the c element has a CCI value of 0, the CCI length is 32 bits, the c element has a value of 1, the CCI length is 64 bits, and the c element has a value of CCI. If the length of 96 bits, the value of the c element is 3, it can represent that the length of the CCI is 128 bits.
  • the PSI element may correspond to Protocol-Specific Indication (PSI).
  • PSI Protocol-Specific Indication
  • the PSI element may be used as a specific purpose indicator for the higher protocol of ALC / LCT +.
  • the PSI element may indicate whether the current packet corresponds to the source packet or the FEC repair packet.
  • the X element may correspond to information indicating a source packet.
  • FEC payload ID formats are used for source and repair data, if the value of this element is '1', it indicates that the FEC payload ID format is for source data. If the value of this element is '0', repair data is used. Indicates that the FEC payload ID format for the. Or, if the value of this element is set to '0' at the transmitter, the receiver may ignore this element or this packet and not process it.
  • the S element may correspond to a Transport Session Identifier flag.
  • the S element indicates the length of the Transport Session Identifier element.
  • the O element may correspond to a Transport Object Identifier flag.
  • the O element may indicate the length of the Transport Object Identifier element.
  • An object may mean one file, and the TOI is identification information of each object, and a file having a TOI of 0 may include signaling information related to a file.
  • the H element may correspond to a half-word flag.
  • the H element indicates whether to add half-word (16 bits) to the length of the TSI and TOI fields.
  • the priority element indicates the priority of data included in this packet.
  • the description of the priority between each object, chunk, or boxes included in the chunk is replaced with the above description.
  • the A element may correspond to the Close Session flag.
  • the A element may indicate that the session has ended or is about to end.
  • the B element may correspond to the Close Object flag.
  • the B element may indicate that the object being transmitted is about to terminate or is about to terminate.
  • the HDR_LEN element indicates the length of the header of the packet.
  • the Codepoint element indicates the type of payload carried by this packet. Depending on the type of payload, additional payload headers may be inserted in the prefix of payload data.
  • the Congestion Control Information (CCI) element may include congestion control information such as layer numbers, logical channel numbers, and sequence numbers.
  • the Congestion Control Information (CCI) element may contain necessary Congestion Control related information.
  • the Transport Session Identifier field (TSI) is a unique identifier of the session.
  • the TSI element indicates any one of all sessions from a particular sender.
  • the TSI element identifies the transport session.
  • the value of the TSI element can be used for one track.
  • the Transport Object Identifier (TOI) element is a unique identifier of an object.
  • the TOI element indicates which object this packet belongs to within the session.
  • the value of the TOI element may be used for one ISO BMFF object data.
  • the TOI element may include an ID of an ISO BMFF file and an ID of a chunk.
  • the TOI element may have a combination of the ID of the ISO BMFF file and the ID of the chunk as its value.
  • the EXT_FTI element includes information on FEC Transport Information.
  • the EXT_SCT element may correspond to extended information of the sender current time.
  • the EXT_SCT element includes time information at the transmitting side.
  • the EXT_OBJ_OFFSET element indicates the offset of the object.
  • the EXT_OBJ_OFFSET element indicates the offset of the position at which the object (eg, ISO BMFF object data or chunk) contained in this packet is located within the segment, from the beginning of the segment (eg, ISO BMFF file or file).
  • the EXT_OBJ_OFFSET element are replaced by the above description.
  • Information indicating the offset may be included in the payload of the application layer transport protocol packet.
  • the EXT_OBJ_PTS element represents a PTS (Presentation Timestamp) of the object.
  • the EXT_OBJ_LOCATION element identifies the location of the object.
  • the EXT_OBJ_LOCATION element identifies the location of the object including the URI of the object included in the payload of the packet. This location may be indicated by a URL or the like.
  • the FEC payload ID element is an FEC payload identifier.
  • the FEC payload ID element includes identification information of a transmission block or an encoding symbol.
  • the FEC Payload ID indicates an identifier when the file is FEC encoded. For example, when the FLUTE protocol file is FEC encoded, the FEC Payload ID may be allocated by a broadcasting station or a broadcasting server to distinguish it.
  • the encoding symbol element may include data of a transmission block or an encoding symbol.
  • a value of one TSI is assigned for one track
  • a value of one TOI includes a value for identifying an ID of an ISO BMFF file and an ID of a chunk.
  • one video track includes N segments. Segment 1 may correspond to one ISO BMFF file. A segment can be divided into one or more chunks. Each chunk can be sent through one or more ESs. Each ES is sent on the payload of an application layer transport protocol packet.
  • the application layer transport protocol packet transmitting the ES 1 included in the segment 1 includes data corresponding to the beginning of the ISO BMFF file, and includes a moov box.
  • this application layer transport protocol packet has a value of the priority element of 'highest' (most important), the TSI element has a value (eg, 1) that points to the corresponding video track, and the TOI element is the corresponding video. It has a value of '1' identifying segment 1 in the track and '1' indicating that the data is included in the first chunk in the segment.
  • the offset element of the application layer transport protocol packet corresponds to zero.
  • the application layer transport protocol packet transmitting the ES 2 included in the segment 1 includes a part of chunk 2 including a part of a moof box and a mdat box.
  • this application layer transport protocol packet has a value of the priority element of 'higher' (more important)
  • the TSI element has a value (eg, 1) pointing to that video track
  • the TOI element has the corresponding video. It has a value of '1' identifying segment 1 in the track and '2' indicating that the data is included in the second chunk in the segment.
  • the offset element indicates that data transmitted by the application layer transport protocol packet is data located at an offset of 100 from the beginning of the segment.
  • the application layer transport protocol packet transmitting the ES 3 included in the segment 1 transmits the data contained in the chunk 2, the priority element, the TSI element, and the TOI element have the same value as the application layer transport protocol packet transmitting the ES 2.
  • the application layer transport protocol packet transmitting ES 3 has an offset element value different from the value of the offset element of the application layer transport protocol packet transmitting ES 2.
  • the application layer transport protocol packet transmitting the ES 4 included in the segment 1 includes a part of chunk 3 including a part of the mdat box. Therefore, this application layer transport protocol packet has a value of 'low' priority element, the TSI element has a value (eg, 1) indicating the video track, and the TOI element is in the video track. It has a value of '1' identifying segment 1 and a value of '3' indicating that the data is included in the third chunk in the segment.
  • the offset element indicates that data transmitted by the application layer transport protocol packet is data located at an offset of 400 from the beginning of the segment.
  • the application layer transport protocol packet transmitting ES 5 included in segment 1 transmits data included in chunk 3, the priority element, the TSI element, and the TOI element have the same value as the application layer transport protocol packet transmitting ES 4.
  • the application layer transport protocol packet transmitting ES 5 has an offset element value different from that of the offset element of the application layer transport protocol packet transmitting ES 4.
  • the application layer transport protocol packet transmitting the ES 1 included in the segment 2 includes data corresponding to the beginning of the ISO BMFF file, and includes a moov box.
  • this application layer transport protocol packet has a value of the priority element of 'highest' (most important), the TSI element has a value (eg, 1) that points to the corresponding video track, and the TOI element is the corresponding video. It has a value of '2' identifying segment 2 in the track and '1' indicating that the data is included in the first chunk in the segment.
  • the offset element of the application layer transport protocol packet corresponds to zero.
  • the application layer transport protocol packet transmitting the ES 2 included in the segment 2 includes a part of chunk 2 including a part of a moof box and a mdat box.
  • this application layer transport protocol packet has a value of the priority element of 'higher' (more important)
  • the TSI element has a value (eg, 1) pointing to that video track
  • the TOI element has the corresponding video. It has a value of '2' identifying segment 2 in the track and '2' indicating that the data is included in the second chunk in the segment.
  • the offset element indicates that data transmitted by the application layer transport protocol packet is data located at an offset of 100 from the beginning of the segment.
  • the application layer transport protocol packet transmitting the ES 3 included in the segment 2 includes a part of chunk 3 including a part of the mdat box.
  • the data of the mdat box may contain more important data than the data of other mdat boxes. Therefore, this application layer transport protocol packet has a value of 'medium' (usually) priority element, the TSI element has a value (eg, 1) indicating the video track, and the TOI element has a value in the video track. It has a value of '2' identifying segment 2 and '3' indicating that it is data included in the third chunk in the segment.
  • the offset element indicates that data transmitted by the application layer transport protocol packet is data located at an offset of 400 from the beginning of the segment.
  • An application layer transport protocol packet included in each of segment 1 and segment 2 may include a PTS element value.
  • the PTS element value of the application layer transport protocol packet included in segment 1 has x
  • the application included in segment 2 In the layer transport protocol packet the value of the PTS element may have x + 1.
  • the receiver may know which segment (or ISO BMFF file) a specific application layer transport protocol packet belongs to, so that a part of the application layer transport protocol packet is lost during the transmission. Even in this case, the received application layer transport protocol packet can be decoded at the correct position.
  • 43 is a diagram illustrating a broadcast system according to an embodiment of the present invention.
  • the broadcast receiver may provide broadcast streaming by using MPD of MPEG-DASH.
  • the broadcast receiver according to an embodiment of the present invention may receive and process broadcast signals and / or broadcast data through broadband and / or broadcast.
  • MPD can be used in both broadband and broadcast. Or MPD can be used only in broadband.
  • This figure illustrates the operation of a broadcast system in accordance with an embodiment of the present invention when using MPD in both broadcast and broadband.
  • the broadcast system includes a transmission system and a receiver.
  • the transmission system may include a wall clock processing unit (Wall Clock-T; J42010), an NTP server (NTP server; J42020), a DASH encoder (DASH Encoder; J42030), a broadcast transmitter (J42040) and / or an HTTP server ( external HTTP server; J42050).
  • Wall Clock-T wall clock processing unit
  • NTP server NTP server
  • DASH Encoder DASH Encoder
  • J42040 broadcast transmitter
  • HTTP server external HTTP server
  • Receiver includes IP / UDP datagram filter (J42110), FLUTE + client (FLUTE + client; J42120), DASH client (DASH client; J42130), HTTP server (Internal HTTP server; J42140), NTP client (NTP client; J42150) and / or Wall clock processor (J42160).
  • the wall clock processor J42010 processes and provides information about a reference time of the broadcast transmitter.
  • the NTP server J42020 generates NTP (network time protocol) information by using information on a reference time of the broadcast transmitter, and generates an NTP packet including NTP information.
  • NTP network time protocol
  • the DASH Encoder J42030 encodes a segment including broadcast data according to information about a reference time of a broadcast transmitter.
  • the DASH Encoder J42030 encodes an MPD including data and / or descriptive information about the media (broadcast service, broadcast content, and / or broadcast event) in accordance with information about a reference time of the broadcast transmitter.
  • the broadcast transmitter J42040 transmits a broadcast stream including an NTP packet, a segment, and / or an MPD.
  • the external HTTP server J42050 processes a response to a request for an MPD or a response to a request for data on a media such as a segment.
  • An external HTTP server J42050 may be located inside the broadcast transmitter and may be located outside.
  • the IP / UDP datagram filter J42110 filters IP / UDP datagrams or IP packets separated from broadcast signals.
  • the IP / UDP datagram filter J42110 may filter the NTP packet and the packet (application layer transport protocol packet or LCT packet) including the data for the media.
  • the FLUTE + client J42120 extracts the MPD from the received packet.
  • the FLUTE + client (J42120) extracts an HTTP entity that contains information about the media.
  • the DASH client J42130 includes an MPD parser, an HTTP access engine, a segment buffer control, a segment buffer, and a segment index processor. Index), a DASH Client Control, and / or a Media Engine.
  • the DASH client (DASH client) J42130 processes the MPD, performs a request for a segment according to the MPD, or receives and processes the segment.
  • the MPD parser parses the MPD.
  • the HTTP access engine communicates with a server through HTTP to request or receive necessary data.
  • the segment buffer control controls the segment buffer. Seg.Buffer buffers segments.
  • the segment index processing unit manages and processes the indexes of the segments so that the segments can be processed in order. Information about the index of the segment is included in the MPD.
  • the segment index processing unit obtains information about the timing of the segment and performs a process of allowing the segment to be decoded according to the timing.
  • the DASH Client Control controls the DASH client.
  • the DASH client controller controls the DASH client to operate according to the reference time of the broadcast system.
  • the media engine decodes the segments to produce media.
  • the internal HTTP server J42140 receives a request for a specific segment of the DASH client and forwards the segment to the DASH client in response.
  • the DASH client may transmit URL information of the segment to the HTTP server in order to request a specific segment.
  • the internal HTTP server J42140 may exist inside the receiver, or may exist outside the receiver.
  • NTP client (NTP client) J42150 receives and parses NTP packets.
  • the wall clock processor J42160 uses NTP information to process synchronization between the reference time of the receiver and the reference time of the network system.
  • the segments are input into the broadcast stream as soon as they are encoded at the broadcast transmitter.
  • a constant delay may occur during the transmission from the transmitter to the receiver.
  • a constant delay can occur between the wall clock (reference time) of the transmitter and receiver.
  • the segment is sent from the internal HTTP server to the DASH client.
  • 44 is a diagram showing timing of segment processing in a broadcast system according to an embodiment of the present invention.
  • Segment A1 transmits data of audio 1.
  • Segment V1 transmits the data of video 1.
  • Segment A2 carries the data of audio 2.
  • Segment V2 carries the data of video two.
  • Segment A3 carries the data of audio 3.
  • Segment V3 transmits the data of video three.
  • Timeline 1 is the timeline at the encoder of the transmitter.
  • Timeline 2 is the timeline on the broadcast stream.
  • Timeline 4 is the timeline at the receiver's internal server.
  • Timeline 5 is the timeline at the DASH client of the receiver.
  • segment A1 and segment V1 are encoded for the same time.
  • segment A2 and the segment V2 are encoded for the same time.
  • segment A3 and the segment V3 are encoded for the same time.
  • an availability timeline is shown that represents the time that the segment depicted in the MPD is available.
  • the duration of each segment according to the actual duration of the segment and the time shift buffer depth may be combined to set the length of the segment.
  • the time at which each segment is actually received may have a constant delay compared to the transmission time.
  • a suggested presentation delay may be set for presentation of the segment V3.
  • the receiver adds period start information, start time information of the segment A3 and the segment V3, and times indicated by the suggested presentation delay information to determine a time for displaying the segment A3 and the segment V3 after the period starts. You can decide.
  • the broadcast system includes a transmission system and a receiver.
  • the transmission system may comprise a Wall Clock-T (J44010), a timeline packet encoder (J44020), a DASH Encoder (J44030), a broadcast transmitter (J44040) and / or HTTP. It includes a server (external HTTP server; J44050).
  • the receiver includes an IP / UDP datagram filter (J44110), an ALC / LCT + client (ALC / LCT + client; J44120), a receiver buffer control (J44130), a segment buffer (Seg. Buffer; J44140). ), A media engine (J44150), a timeline packet parser (J44160), a wall clock-R (J44170), and / or a DASH client (J44180). have.
  • the wall clock processor J44010 processes and provides information about a reference time of the broadcast transmitter.
  • the timeline packet encoder J44020 generates a timeline packet including information for synchronization of media or synchronization of a reference time between a broadcast system and a broadcast receiver.
  • the DASH Encoder J44030 encodes a segment including broadcast data according to information about a reference time of a broadcast transmitter.
  • the DASH Encoder J44030 encodes an MPD including data and / or descriptive information about the media (broadcast service, broadcast content, and / or broadcast event) in accordance with information about a reference time of the broadcast transmitter.
  • the broadcast transmitter J44040 transmits a broadcast stream including a timeline packet, a segment, and / or an MPD.
  • the HTTP server J44050 processes a response to a request for an MPD or a response to a request for data on a medium such as a segment.
  • the HTTP server J44050 may be located inside the broadcast transmitter and may be located outside.
  • the HTTP server J44050 receives a request for a specific segment (eg, Seg. (A)) from the DASH client. This request may include location information (eg, URL information) of a particular segment.
  • the HTTP server J44050 may receive the corresponding segment from the DASH encoder and deliver the segment to the DASH client.
  • the IP / UDP datagram filter J44110 filters IP / UDP datagrams or IP packets separated from broadcast signals.
  • the IP / UDP datagram filter J44110 may filter the packet including the data for the media (application layer transport protocol packet or LCT packet) and the timeline packet.
  • the ALC / LCT + client J44120 extracts the MPD from the received packet.
  • the ALC / LCT + client J44120 extracts a segment (eg Seg. (V)) containing the data for the media.
  • the receiver buffer control J44130 controls the operation of the segment buffer in the receiver.
  • the receiver buffer control J44130 receives a segment transmitted in an application layer transport protocol packet.
  • the receiver buffer control J44130 may transfer the segment to the segment buffer when buffering is required.
  • the receiver buffer control J44130 receives a broadband timeline reference (wall clock) and receives timing information about a segment.
  • the receiver buffer control J44130 transfers the segment to the media engine according to the timing and the wall clock of the segment, and controls the segment to be consumed.
  • Seg. Buffer J44140 buffers the segment.
  • the media engine J44150 decodes the segment and expresses the media corresponding to the segment.
  • a timeline packet parser J44160 parses the timeline packet.
  • the wall clock processor J44170 uses information in the timeline packet to process synchronization between the reference time of the receiver and the reference time of the system.
  • the DASH client J44180 includes an MPD parser, an HTTP access engine, a segment buffer control, a segment buffer, and a segment index processor. Index), a DASH Client Control, and / or a Media Engine.
  • the DASH client (DASH client) J44180 processes an MPD and performs a request for a segment or receives and processes a segment according to the MPD.
  • the MPD parser parses the MPD.
  • the MPD parser may extract timing information (eg, PTS, etc.), segment URL information, and / or available timing information of the segment in the existing broadcasting system for the segment A in the MPD. .
  • the HTTP access engine communicates with a server through HTTP to request or receive necessary data.
  • the segment buffer control controls the segment buffer.
  • the segment index processing unit manages and processes the indexes of the segments so that the segments can be processed in order. Information about the index of the segment is included in the MPD.
  • the segment index processing unit obtains information about the timing of the segment and performs a process of allowing the segment to be decoded according to the timing.
  • the DASH Client Control controls the DASH client.
  • the DASH client controller controls the DASH client to operate according to the reference time of the broadcast system.
  • the media engine decodes the segments to produce media.
  • a segment (Seg. (V)) for transmitting video data and a segment (Seg. (A)) for transmitting audio data are transmitted in different transmission schemes, and undergo a different processing process. You can form part of the media.
  • the segments are input into the broadcast stream as soon as they are encoded at the broadcast transmitter. Segments are available to external servers as soon as they are encoded at the broadcast transmitter. A constant delay may occur during the transmission from the transmitter to the receiver. A constant delay can occur between the wall clock (reference time) of the transmitter and receiver. Segments can be sent immediately from internal servers to DASH clients.
  • 46 is a diagram showing timing of processing of a segment in a broadcasting system according to another embodiment of the present invention.
  • Timing (1) respective timelines in Timing (1), Timing (2), Timing (3), Timing (4), and Timing (5) shown in each device of FIG. 45 are shown, The timing of the segments is shown.
  • Segment A1 transmits data of audio 1.
  • Segment V1 transmits the data of video 1.
  • Segment A2 carries the data of audio 2.
  • Segment V2 carries the data of video two.
  • Segment A3 carries the data of audio 3.
  • Segment V3 transmits the data of video three.
  • Timeline 1 is the timeline at the encoder of the transmitter.
  • Timeline 2 is the timeline on the broadcast stream.
  • Timeline 3 is the timeline on the external server.
  • Timeline 4 is the timeline at the receiver's internal server.
  • Timeline 5 is the timeline at the DASH client of the receiver.
  • segment A1 and segment V1 are encoded for the same time.
  • segment A2 and the segment V2 are encoded for the same time.
  • segment A3 and the segment V3 are encoded for the same time.
  • segments including video data may be transmitted through the broadcasting network. That is, the segment V1, segment V2, and segment V3 are transmitted through the broadcast network.
  • timeline 3 a time in which segments A1, S2, and A3 for transmitting audio data corresponding to segments for transmitting video data are available from an external server is represented.
  • an availability timeline is shown that represents the time that the segment depicted in the MPD is available.
  • the duration of each segment according to the actual duration of the segment and the time shift buffer depth may be combined to set the length of the segment.
  • the time at which each segment is actually received may have a constant delay compared to the transmission time.
  • segment A2, segment A3, and segment V3 are available, taking into account the time when the segment is synchronized with the processing result of another client.
  • a suggested presentation delay can be set for the presentation of the segment A2, the segment A3, the segment V3.
  • the receiver adds the period start information, the segment A2, the segment A3, the respective start time information of the segment V3, and the times indicated by the suggested presentation delay information, so that the segment A2, the segment ( A3) and the time to display the segment V3 can be determined.
  • there may be a difference in time at which the content is displayed but the difference in time at which the content is displayed between the receivers may be eliminated by using a suggested presentation delay.
  • the receiver may receive the segment transmitted over the broadband before the segment transmitted over the broadcast channel.
  • the existing DASH availability timeline may not be used for segments transmitted in the broadcast stream (at the internal server).
  • the segment availability time in the internal server may be affected by the channel change time.
  • the segment reception time should be considered, and the receiver can measure the segment availability time in consideration of the segment reception time.
  • the DASH presentation time may be difficult to be accurately synchronized using the suggested presentation delay information.
  • 47 is a diagram illustrating a broadcast system when using MPD only in broadband according to another embodiment of the present invention.
  • the broadcast system includes a transmission system and a receiver.
  • the transmission system may use a wall clock processor (J46010), a timeline packet encoder (J46020), a DASH encoder (J46030), and / or a broadcast transmitter (J46040). Include.
  • the receiver includes an IP / UDP datagram filter (J46110), an ALC / LCT + client (ALC / LCT + client; J46120), a receiver buffer control (J46130), a segment buffer (Seg.Buffer; J46140). ), A media engine (J46150), a timeline packet parser (J46160), and / or a wall clock processor (J46170).
  • the wall clock processor J46010 processes and provides information about a reference time of the broadcast transmitter.
  • the timeline packet encoder J46020 generates a timeline packet including information for synchronization of media or synchronization of a reference time between a broadcast system and a broadcast receiver.
  • the DASH Encoder J46030 encodes a segment including broadcast data according to information about a reference time of a broadcast transmitter.
  • the DASH Encoder J46030 encodes an MPD including data and / or description information about the media (broadcast service, broadcast content, and / or broadcast event) in accordance with the information about the reference time of the broadcast transmitter.
  • the broadcast transmitter J46040 transmits a broadcast stream including a timeline packet, a segment, and / or an MPD.
  • the IP / UDP datagram filter J46110 filters IP / UDP datagrams or IP packets separated from broadcast signals.
  • the IP / UDP datagram filter J46110 may filter the packet including the data for the media (application layer transport protocol packet or LCT packet) and the timeline packet.
  • the ALC / LCT + client J46120 extracts segments (eg Seg. (V), Seg. (A)) containing data for the media.
  • the ALC / LCT + client (ALC / LCT + client; J46120) may extract information for existing timing (eg, timing information used in the MPEG2 TS) instead of the MPD. Information for such timing may be included in each segment.
  • the buffer control J46130 controls the operation of the segment buffer in the receiver.
  • the buffer control J46130 receives a segment transmitted in an application layer transport protocol packet.
  • the buffer control J46130 may transfer the segment to the segment buffer when buffering is required.
  • the buffer control J46130 receives a broadband timeline reference (wall clock) and receives timing information about a segment.
  • the buffer control J46130 transfers the segment to the media engine according to the timing of the segment and the wall clock, and controls the segment to be consumed.
  • Seg. Buffer J46140 buffers the segment.
  • the media engine J46150 decodes the segment and expresses the media corresponding to the segment.
  • a timeline packet parser J46160 parses the timeline packet.
  • the wall clock processor J46170 uses information in the timeline packet to process synchronization between the reference time of the receiver and the reference time of the system.
  • the segments are input into the broadcast stream as soon as they are encoded at the broadcast transmitter.
  • the wall clock is transmitted from the transmitter to the receiver in the form of a broadcast timeline reference.
  • a constant delay may occur during the transmission from the transmitter to the receiver.
  • a constant delay can occur between the wall clock (reference time) of the transmitter and receiver.
  • 48 is a diagram showing timing of processing of a segment in a broadcasting system according to another embodiment of the present invention.
  • Segment A1 transmits data of audio 1.
  • Segment V1 transmits the data of video 1.
  • Segment A2 carries the data of audio 2.
  • Segment V2 carries the data of video two.
  • Segment A3 carries the data of audio 3.
  • Segment V3 transmits the data of video three.
  • Timeline 1 is the timeline at the encoder of the transmitter.
  • Timeline 2 is the timeline on the broadcast stream.
  • Timeline 4 is the timeline applied to the receiver's buffer.
  • Timeline 5 is the timeline at the DASH client of the receiver.
  • segment A1 and segment V1 are encoded for the same time.
  • segment A2 and the segment V2 are encoded for the same time.
  • segment A3 and the segment V3 are encoded for the same time.
  • Each segment may include a PTS.
  • each segment becomes available.
  • segment A2 and segment V2 may not be received.
  • segment A3 and the segment V3 can both be received.
  • a suggested presentation delay may be set for the presentation of segment A3 and segment V3.
  • 49 is a diagram illustrating a broadcast system when using MPD only in broadband according to another embodiment of the present invention.
  • the broadcast system includes a transmission system and a receiver.
  • the transmission system may comprise a Wall Clock-T (J48010), a timeline packet encoder (J48020), a DASH Encoder (J48030), a broadcast transmitter (J48040) and / or HTTP. It includes a server (HTTP server; J48050).
  • the receiver includes an IP / UDP datagram filter (J48110), an ALC / LCT + client (ALC / LCT + client; J48120), a receiver buffer control (J48130), a segment buffer (Seg.Buffer; J48140). ), A media engine (J48150), a timeline packet parser (J48160), a wall clock-R (J48170), and / or a DASH client (J48180). have.
  • the wall clock processor J48010 processes and provides information about a reference time of the broadcast transmitter.
  • the timeline packet encoder J48020 generates a timeline packet including information for synchronization of media or synchronization of a reference time between a broadcast system and a broadcast receiver.
  • the DASH Encoder J48030 encodes a segment including broadcast data according to information about a reference time of a broadcast transmitter.
  • the DASH Encoder J44030 encodes an MPD including data and / or descriptive information about the media (broadcast service, broadcast content, and / or broadcast event) in accordance with information about a reference time of the broadcast transmitter.
  • the broadcast transmitter J48040 transmits a broadcast stream including a timeline packet, a segment, and / or an MPD.
  • the HTTP server J48050 processes a response to a request for MPD, or a response to a request for data on media such as a segment.
  • the HTTP server J48050 may be located inside the broadcast transmitter or may be located outside.
  • the HTTP server J48050 receives a request for a specific segment (eg, Seg. (A)) from the DASH client. This request may include location information (eg, URL information) of a particular segment.
  • the HTTP server J48050 may receive the segment from the DASH encoder and deliver the segment to the DASH client.
  • IP / UDP datagram filter (J48110) filters IP / UDP datagrams or IP packets separated from broadcast signals.
  • the IP / UDP datagram filter J48110 may filter the packet including the data for the media (application layer transport protocol packet or LCT packet) and the timeline packet.
  • the ALC / LCT + client (J48120) extracts the MPD from the received packet.
  • An ALC / LCT + client (J48120) extracts a segment (eg Seg. (V)) containing data for the media.
  • the ALC / LCT + client J48120 may extract information related to timing used in the existing broadcasting system (eg, timing related information used in transmission of MPEG2-TS). Alternatively, information related to timing used in the existing broadcasting system may be included in the segment (V).
  • the receiver buffer control J48130 controls the operation of the segment buffer in the receiver.
  • the receiver buffer control J48130 receives a segment transmitted in an application layer transport protocol packet.
  • the receiver buffer control J48130 may transfer the segment to the segment buffer when buffering is required.
  • the receiver buffer control J48130 receives a broadband timeline reference (wall clock) and receives timing information about a segment.
  • the receiver buffer control J48130 transfers the segment to the media engine according to the timing of the segment and the wall clock, and controls the segment to be consumed.
  • Seg. Buffer J48140 buffers the segment.
  • the media engine J48150 decodes the segment and expresses the media corresponding to the segment.
  • a timeline packet parser J48160 parses the timeline packet.
  • the wall clock processor J48170 uses the information in the timeline packet to process synchronization between the reference time of the receiver and the reference time of the system.
  • the DASH client (DASH client) J48180 includes an MPD parser, an HTTP access engine, a segment buffer control, a segment buffer, and a segment index processor. Index), a DASH Client Control, and / or a Media Engine.
  • the DASH client (DASH client) J44180 processes an MPD and performs a request for a segment or receives and processes a segment according to the MPD.
  • the MPD parser parses the MPD.
  • the MPD parser may extract timing information (eg, PTS, etc.), segment URL information, and / or available timing information of the segment in the existing broadcasting system for the segment A in the MPD. .
  • the HTTP access engine communicates with a server through HTTP to request or receive necessary data.
  • the segment buffer control controls the segment buffer.
  • the segment index processing unit manages and processes the indexes of the segments so that the segments can be processed in order. Information about the index of the segment is included in the MPD.
  • the segment index processing unit obtains information about the timing of the segment and performs a process of allowing the segment to be decoded according to the timing.
  • the DASH Client Control controls the DASH client.
  • the DASH client controller controls the DASH client to operate according to the reference time of the broadcast system.
  • the media engine decodes the segments to produce media.
  • a segment (Seg. (V)) for transmitting video data and a segment (Seg. (A)) for transmitting audio data are transmitted in different transmission schemes, and undergo a different processing process. You can form part of the media.
  • the segments are input into the broadcast stream as soon as they are encoded at the broadcast transmitter.
  • the wall clock is transmitted from the transmitter to the receiver in the form of a broadcast timeline reference.
  • a constant delay may occur during the transmission from the transmitter to the receiver.
  • a constant delay can occur between the wall clock (reference time) of the transmitter and receiver.
  • 50 is a diagram illustrating timing of segment processing in a broadcast system according to another embodiment of the present invention.
  • Timing (1), Timing (2), Timing (3), Timing (4), and Timing (5) shown in each device of FIG. 49 are shown, and in the corresponding timeline The timing of the segments is shown.
  • Segment A1 transmits data of audio 1.
  • Segment V1 transmits the data of video 1.
  • Segment A2 carries the data of audio 2.
  • Segment V2 carries the data of video two.
  • Segment A3 carries the data of audio 3.
  • Segment V3 transmits the data of video three.
  • Timeline 1 is the timeline at the encoder of the transmitter.
  • Timeline 2 is the timeline on the broadcast stream.
  • Timeline 3 is the timeline on the server.
  • Timeline 4 is the timeline in the receiver's internal buffer.
  • Timeline 5 is the timeline at the DASH client of the receiver.
  • segment A1 and segment V1 are encoded for the same time.
  • segment A2 and the segment V2 are encoded for the same time.
  • segment A3 and the segment V3 are encoded for the same time.
  • a segment including each video data may include PTS (Presentation Timestamp) information.
  • segments including video data may be transmitted through the broadcasting network. That is, the segment V1, segment V2, and segment V3 are transmitted through the broadcast network.
  • timeline 3 a time in which segments A1, S2, and A3 for transmitting audio data corresponding to segments for transmitting video data are available from an external server is represented.
  • each segment becomes available.
  • the receiver does not receive the segment V1 and some data included in the segment V2.
  • the receiver can fully receive the segment V3 after the channel change time. Meanwhile, the receiver may receive the segment A2 using the MPD.
  • a suggested presentation delay is set for presentation of the segment A2, segment A3, and segment V3. Can be.
  • the receiver adds the period start information, the segment A2, the respective start time information of the segment A3, and / or the times indicated by the suggested presentation delay information, so that the segment A2 and the segment A3 after the period starts. You can set the time to express.
  • there may be a difference in time at which the content is displayed but the difference in time at which the content is displayed between the receivers may be eliminated by using a suggested presentation delay.
  • the 'broadband timeline reference' may be synchronized with the value of the wall clock.
  • the MPD may include media presentation time clock information to signal the presentation time of the media.
  • media presentation time clock information to signal the presentation time of the media.
  • an additional module or device for converting between the wall clock and the media presentation time clock information may be required.
  • the 'MPD @ suggestedPresentationDelay' information may be transmitted together with the PTS, or the PTS may be set to have a value considering the 'suggested presentation delay'.
  • a DASH media presentation timeline may be used for broadcast and broadband. For example, use 'MPD @ suggestedPresentationDelay' to align the broadcast stream with the broadband stream.
  • SegmentBase @ availabilityTimeOffset can be used to allow a client to access a segment before the signaled availability start time.
  • the anchor information of the presentation time may be added to the MPD. Such anchor information may be expressed as 'MPD @ anchorPresentationTime'.
  • the receiver can measure the presentation time of the start of the segment from the value of the anchor. For example, the receiver may measure presentation time of the start of a segment with 'MPD @ anchorPresentationTime' + 'Period @ start' + 'Segment @ presentationTimeOffset / Segment @ timescale'.
  • the receiver preferably requests data (segment or content) to be transmitted over the broadband, before the time that the data is actually consumed. Therefore, when data transmitted by broadcast is received, this data and data transmitted by broadband can be consumed together.
  • 'SegmentBase @ availabilityTimeOffset' which is information for setting a constant offset with respect to a segment transmitted by broadband, may be added to the MPD.
  • 51 is a flowchart illustrating a procedure of transmitting and receiving broadcast signals according to an embodiment of the present invention.
  • the transmitter generates a segment for transmitting a part of data included in the media (JS51010).
  • the transmitter divides the segment into one or more data units, and generates a packet including a header and a payload including all or part of data of the data unit (JS51020).
  • the transmitter generates a broadcast signal including the packet and transmits the broadcast signal (JS51030).
  • the transmitter includes a transport object identifier (TOI) element, wherein the TOI element is a segment identification element identifying the segment including the data transmitted by the payload and data identifying the data unit. It can be processed to include the unit identification element.
  • TOI transport object identifier
  • the receiver receives a broadcast signal including one or more packets (JS51110).
  • the receiver parses the one or more packets (JS51120).
  • the packet may include a payload including headers and all or part of data of the data unit.
  • the receiver extracts one or more data units from the one or more packets to generate a segment for transmitting a portion of data included in the media (JS51130).
  • the receiver uses the segment to decode the media (JS51140).
  • the header includes a transport object identifier (TOI) element
  • the TOI element includes a segment identification element for identifying the segment including data transmitted by the payload and a data unit identification element for identifying the data unit. It may include.
  • the transmission and / or reception processing procedure of the described broadcast signal is an embodiment, and in each processing procedure, one or more data processing operations described herein may be added. Alternatively, some of the processes described in this drawing may be omitted.
  • FIG. 52 illustrates a transmitter and a receiver according to an embodiment of the present invention.
  • the transmitter J52010 may include a data encoder J52020, a packet encoder J52030, a broadcast signal transmitter J52040, and / or a signaling encoder J52050.
  • the data encoder J52020 generates a segment for transmitting a part of data included in the media.
  • the packet encoder J52030 divides the segment into one or more data units and generates a packet including a header and a payload including all or part of the data of the data unit.
  • the broadcast signal transmitter J52040 generates a broadcast signal including the packet and transmits the broadcast signal.
  • the header includes a transport object identifier (TOI) element
  • the TOI element includes a segment identification element for identifying the segment including data transmitted by the payload and a data unit identification element for identifying the data unit. It may include.
  • the signaling encoder J52050 generates signaling information.
  • the signaling encoder J52050 may deliver signaling information generated to one or more devices included in the transmitter.
  • any one or more of the devices of the transmitter described above may be added.
  • the receiver J52110 may include a tuner J52120, an ALC / LCT + client J52130, a DASH client J52140, and / or a media decoder J52150.
  • the tuner J52120 receives a broadcast signal including one or more packets.
  • ALC / LCT + client J52130 parses the one or more packets.
  • the packet may include a payload including headers and all or part of data of the data unit.
  • the DASH client J52140 extracts one or more data units from the one or more packets to create a segment that transmits a portion of the data contained in the media.
  • Media decoder J52150 uses the segment to decode the media.
  • the header includes a transport object identifier (TOI) element
  • the TOI element includes a segment identification element for identifying the segment including data transmitted by the payload and a data unit identification element for identifying the data unit. It may include.
  • any one or more of the devices of the receiver described above may be added.
  • FIG. 53 illustrates a ROUTE protocol stack according to an embodiment of the present invention.
  • the broadcast service of a next generation broadcast system supporting IP-based hybrid broadcasting may include video data, audio data, subtitle data, signaling data, electronic service guide (ESG) data, and / or NRT content data.
  • ESG electronic service guide
  • Video data, audio data, and caption data may be encapsulated in the form of ISO Base Media File (hereinafter referred to as ISO BMFF).
  • ISO BMFF ISO Base Media File
  • data encapsulated in the form of ISO BMFF may take the form of MPEG (Moving Picture Expert Group) -DASH (Dynamic Adaptive Streaming over HTTP) segment or MMT (MPEG Media Transport) media processing unit (MPU).
  • MPEG Motion Picture Expert Group
  • DASH Dynamic Adaptive Streaming over HTTP
  • MMT MPEG Media Transport
  • the data encapsulated in ISO BMFF format may be transmitted in the broadcast network and the Internet network identically or differently according to the characteristics of each transmission network.
  • data encapsulated in the form of signaling data, ESG data, NRT content data, and / or ISO BMFF may be encapsulated into an application layer transport protocol packet supporting real-time object transmission.
  • data encapsulated in the form of ISO BMFF may be encapsulated by a Real-Time Object Delivery over Unidirectional Transport (ROUTE) and / or a transport packet of MMT.
  • ROUTE Real-Time Object Delivery over Unidirectional Transport
  • ROUTE Real-Time Object Delivery over Unidirectional Transport
  • ALC Asynchronous Layered Coding
  • LCT Layered Coding Transport
  • ROUTE is an enhanced version or functional replacement with additional features for FLUTE.
  • ROUTE may carry signaling messages, Electronic Service Guide (ESG) messages, and NRT content.
  • ESG Electronic Service Guide
  • NRT content
  • ROUTE is particularly well suited for transmitting streaming media such as MPEG-DASH Media Segment files.
  • FLUTE Compared to FLUTE, ROUTE provides lower end-to-end latency through the delivery chain.
  • the ROUTE protocol is a generic transport application that provides for the transport of any kind of object.
  • the ROUTE protocol supports rich presentation including scene descriptions, media objects, and DRM related information.
  • ROUTE is particularly well suited for the delivery of real-time media content and offers many features.
  • ROUTE provides individual delivery and access to different media components (e.g. language tracks, subtitles, alternative video views). And, ROUTE provides support of layered coding by enabling delivery in different transport sessions or in different ROUTE sessions. ROUTE also provides support for flexible FEC protection, including multistage. ROUTE also provides an easy MPEG-DASH combination. The MPEG-DASH combination enables synergy between the broadcast and broadband delivery modes of DASH. ROUTE also provides quick access to the media when joining a ROUTE session and / or a transport session. ROUTE also provides high scalability by focusing on delivery concepts. ROUTE also provides compatibility with existing IETF protocols and with the use of IETF-endorsed extension mechanisms.
  • media components e.g. language tracks, subtitles, alternative video views.
  • ROUTE provides support of layered coding by enabling delivery in different transport sessions or in different ROUTE sessions.
  • ROUTE also provides support for flexible FEC protection, including multistage.
  • ROUTE also provides an easy MPEG-DASH combination. The MPEG-DASH combination
  • the ROUTE protocol is divided into two main components.
  • the first component is a source protocol for the delivery of objects or flows / sets of objects.
  • the second component is a repair protocol for flexibly protecting delivery objects or bundles of delivery objects delivered through the source protocol.
  • the source protocol is independent of the repair protocol. That is, the source protocol can be used without the ROUTE repair protocol.
  • the repair protocol may be used for specific development scenarios, specific geographic areas, or specific service for mobile reception.
  • the source protocol may be supported by FLUTE as well as extensions defined in 3GPP TS 26.346.
  • the source protocol may use some theories of FCAST as defined in RFC 6968.
  • object metadata and object content may be delivered together as a compound object.
  • the ROUTE protocol adds specific optimizations and limitations that enable optimized support for real-time delivery of media data.
  • the source ROUTE protocol provides real-time delivery of object-based media data.
  • the source ROUTE protocol provides for flexible packetization, which includes enabling media-aware packetization as well as transport aware packetization of delivery objects.
  • the source ROUTE protocol is independent of files and / or delivery objects. That is, the delivery object may be part of a file or a group of files.
  • Delivery objects are a key component of the ROUTE protocol because the receiver recovers the delivery objects and passes them to the application.
  • the delivery object is self-contained for the application and relates to specific properties, metadata, and timing related information related to the application.
  • attributes are provided in-band with the objects.
  • data is delivered out-of-band in a static or dynamic fashion.
  • the delivery object may contain a complete file or part of a file accompanied by a "FDT Instance".
  • the delivery object may include an HTTP Entity Header and an HTTP Entity Body.
  • the delivery object may include a package of delivery objects.
  • the delivery object may be a full file or a byte ranges of a file accompanying the FDT instance.
  • the delivery object may be delivered in real time or non-timed delivery. If the delivery object is delivered in real time (If timed), specific real time limits and buffer limits apply, and specific extension headers can be used. Dynamic and static metadata can be used to describe delivery object properties.
  • the delivery object may be delivered through specific data structures, such as ISO BMFF structures. In this case, media-aware packetization or general packetization may be applied.
  • the delivery format can specify which formats are used to convey information to the application.
  • the ROUTE repair protocol is FEC based and may operate as an additional layer between the transport layer (e.g., UDP) and the object delivery layer protocol.
  • FEC can reuse the FEC Framework definitions defined in RFC 6363. However, FEC differs in that it protects delivery objects carried in the source protocol.
  • Each FEC source block may contain a portion of a delivery object.
  • the delivery object may be a single delivery object (similar to FLUTE) or multiple delivery objects. Multiple delivery objects may be created prior to FEC protection.
  • ROUTE FEC may be similar in meaning to the FEC scheme defined in RFC 5052.
  • the ROUTE FEC may include the contents of RFC 5052.
  • the FEC scheme defines the FEC encoding and decoding The FEC scheme is used to identify the packet payload data in the protocol fields and the contents of the FEC scheme. Procedures can be defined.
  • All packets in ROUTE are LCT packets defined in RFC 5651.
  • Source and repair packets may be distinguished by at least one ROUTE session, a LCT transport session, and / or a PSI bit. Different ROUTE sessions may be sent on different IP / UDP port combinations. Different LCT transport sessions may have different TSI values in the LCT header. If source and repair packets are sent through the same LCT transport session, they can be distinguished by the PSI bits in the LCT. This mode of operation is mostly suitable for FLUTE compatible deployments.
  • ROUTE defines a source protocol that includes packet formats, sending behavior, and receiving behavior. And, ROUTE defines a repair protocol. And, ROUTE defines metadata for transport session establishment and metadata for object flow delivery. And, ROUTE can define mappings for ROUTE for rich and high quality linear TV broadcast services and recommendations for MPEG-DASH configuration.
  • the scope of the ROUTE protocol is the reliable delivery of delivery objects and associated metadata using LCT packets.
  • Objects can be made available to applications through the Delivery Object Cache.
  • the implementation of this cache may vary depending on the application.
  • the ROUTE protocol concentrates on the format of the LCT packets carrying delivery objects.
  • the ROUTE protocol focuses on reliable delivery of delivery objects using a repair protocol based on FEC.
  • the ROUTE protocol focuses on the definition and delivery of object metadata that enables the delivery of an object between the delivery object cache and the application along with the delivery objects.
  • the ROUTE protocol concentrates on the ROUTE session and the LCT session for establishing the reception of objects and their metadata.
  • the ROUTE protocol focuses on normative aspects, formats, and semantics of auxiliary information sent with packets to optimize performance for specific applications. For example, real time delivery may be an example.
  • the ROUTE protocol provides recommended mappings of DASH Media Presentation formats specific to ROUTE delivery as well as the appropriate DASH formats used for delivery.
  • the key issue is that by using ROUTE, DASH media formats can be used as is.
  • This architectural design enables converged unicast / broadcast services.
  • a ROUTE session for carrying LCT packets is established.
  • These packets may carry source objects or FEC repair data.
  • the source protocol may include at least one LCT sessions, and each LCT session may send related objects with metadata.
  • Metadata can be delivered statically in the LCT Session Instance Description (LSID) and dynamically delivered as LCT extension headers in compound objects or packet headers in Entity Mode.
  • Packets may be sent via ALC using a specific FEC scheme that allows for flexible fragmentation of an object at arbitrary byte boundaries.
  • delivery objects may be FEC protected individually or in the form of bundles.
  • the bundle-type object is encoded and only repair packets can be delivered. In combination with the source packets, this allows restoration of delivery object bundles.
  • At least one repair flow may be generated, and each repair flow may have different characteristics. For example, each repair flow may have different latency requirements, and may have different protection requirements.
  • Dynamic MetaData is metadata that dynamically generates descriptions corresponding to FDT on the client.
  • the DMD is transmitted through the Entity-header in Entity Mode and may be carried through the LCT header in other modes of delivery.
  • the ROUTE protocol can support different protection and delivery schemes for source data. In order to be used efficiently in the backward-compatibility mode, the ROUTE protocol can support all existing uses for NRT delivery.
  • the ROUTE session is associated with the IP address / port combination. Typically, by joining a ROUTE session, all packets of the session can be received and the application protocol can apply additional processing.
  • Each ROUTE session may include at least one LCT transport session.
  • LCT transport sessions may be a subset of a ROUTE session.
  • one LCT transport session can typically transmit one media component (e.g. DASH Representation).
  • DASH Representation e.g. DASH Representation
  • a ROUTE session may be considered as a complex of LCT transport sessions that carry at least one media component that is a component of at least one DASH Media Presentation.
  • at least one object associated with each other may be transmitted.
  • the objects may be DASH segments related to one representation.
  • metadata properties can be passed so that the objects can be used in applications.
  • Applications may include, but are not limited to, DASH Media Presentations, HTML-5 Presentations, or other object-consuming applications.
  • ROUTE sessions may be bounded or unbounded from the temporal perspective.
  • the ROUTE session may include at least one LCT transport session.
  • Each transport session is uniquely identified by a unique Transport Session Identifier (TSI) in the LCT header.
  • TTI Transport Session Identifier
  • the ROUTE Session Description specifies at least one sender IP address, an address and port number for the session, an indication that the session is a ROUTE session, an indication that all packets are LCT packets, and / or to join and consume a session at the IP / UDP level. May contain other necessary information.
  • the Session Description may include, but is not limited to, data rates used for the ROUTE session and the duration of the ROUTE session.
  • the session description may be in the form of Session Description Protocol (SDP) defined in RFC 4566, or in the form of XML metadata defined in RFC 3023.
  • SDP Session Description Protocol
  • the session description may be transmitted through a session announcement protocol using a proprietary session control protocol located on a web page with scheduling information.
  • the Session Description may be sent in an email or other out-of-band manner.
  • Transport sessions are not described in the ROUTE session description, but may be described in the LCT Session Instance Description (LSID).
  • Transport sessions ie, LCT transport sessions or LCT sessions
  • Source Flows can carry source data.
  • Repair Flows can send repair data.
  • At least one LCT transport session included in one ROUTE session may be described by an LCT Session Instance description (LSID).
  • the LSID may define what is transmitted in each LCT transport session included in the ROUTE session.
  • Each transport session can be uniquely identified by a Transport Session Identifier (TSI) in the LCT header.
  • TSI Transport Session Identifier
  • the LSID may describe at least one transport session transmitted in the ROUTE session.
  • the LSID may be delivered through the same ROUTE session including LCT transport sessions and may be delivered through an external means of the ROUTE session.
  • the LSID may be delivered through unicast or other ROUTE session.
  • Entity Mode can be used. If such objects are not delivered via Entity Mode, the LSID must be recovered before obtaining an extended FDT for the received object.
  • LSID's Internet Media Type is application / xml + route + lsid.
  • the LSID may refer to at least one other data fragment.
  • the LSID element may include a version attribute, a validity attribute, and / or an expiration attribute.
  • the LSID element can be properly updated using a version attribute as well as a validity attribute and an expiration attribute. For example, certain transport sessions may end after some time or when a new session is started.
  • the version attribute may indicate the version of the LSID element.
  • the version can be incremented by one when the descriptor is updated.
  • the received LSID element with the highest version number indicates the currently valid version.
  • the validity attribute may indicate the date and / or time when the LSID element becomes valid.
  • the validity attribute may or may not exist. If the validity attribute does not exist, the receiver may assume that the LSID element version is valid immediately.
  • the expiration attribute may indicate the date and / or time when the LSID element expires.
  • the expiration attribute may or may not exist. If not present, the receiver may assume that the LSID element is valid at all times or until the receiver receives a new LSID element with an associated expiration value.
  • the LSID element may include at least one TransportSession element.
  • the TransportSession element may include information on at least one LCT transport session.
  • Each TransportSession element may include a tsi attribute, a SourceFlow element, and / or a RepairFlow element.
  • the Tsi attribute specifies a transport session identifier. Session identifiers do not have a value of zero.
  • the SourceFlow element may include information about the source flow transmitted through the transport session.
  • the RepairFlow element may include information about repair flow transmitted through a transport session.
  • the data encapsulated into the application layer transport protocol packet can be packetized according to the IP / UDP method.
  • Data packetized according to an IP / UDP scheme may be referred to as an IP / UDP datagram.
  • the IP / UDP datagram may be transmitted by being carried in a broadcast signal.
  • data encapsulated in the form of ISO BMFF can be delivered to the receiver based on a streaming technique.
  • the streaming technique may include MPEG-DASH.
  • the signaling data may be transmitted in the following manner.
  • signaling data may be transmitted through a specific data pipe (hereinafter referred to as DP) of a transport frame (or frame) delivered to a physical layer of a next-generation broadcast transmission system and a broadcast network according to a signaling property.
  • DP specific data pipe
  • the signaling form may be a form encapsulated into a bit stream or an IP / UDP datagram.
  • the signaling data may be returned and delivered as a response to the request of the receiver.
  • ESG data and NRT content data may be transmitted in the following manner.
  • ESG data and NRT content data may be encapsulated into an application layer transport protocol packet. Then, the data encapsulated in the application layer transport protocol packet may be transmitted as described above.
  • the ESG data and the NRT content data may be returned and delivered as a response to the request of the receiver.
  • the physical layers (Broadcast PHY and Broadband PHY) of the apparatus for transmitting broadcast signals according to an embodiment of the present invention may have the structure shown in FIG. 1.
  • the physical layer of the broadcast signal receiving apparatus may have a structure shown in FIG. 8.
  • the signaling data and the IP / UDP datagram may be transmitted through a specific data pipe (hereinafter referred to as DP) of a transport frame (or frame) delivered to the physical layer.
  • DP specific data pipe
  • the input format block 1000 may receive signaling data and IP / UDP datagrams, and demultiplex each signaling data and IP / UDP datagrams into at least one DP.
  • the output processor 9300 may perform an operation opposite to the input format block 1000.
  • FIG. 54 is a diagram illustrating a structure of a broadcast signal transmission apparatus according to an embodiment of the present invention.
  • the broadcast signal transmission apparatus may include a delivery object generator (C61300), a signaling encoder (C61100), and / or a transmitter (C61500).
  • a delivery object generator C61300
  • a signaling encoder C61100
  • a transmitter C61500
  • the delivery object generator C61300 may be included in at least one content component of the service and may generate at least one delivery object that is recovered individually.
  • the delivery object generator may generate at least one delivery object by dividing at least one content component included in a service.
  • the service may be media content including at least one contiguous media content period (one media content period or a contiguous sequence of media content periods).
  • the service may be one of one broadcast program, information added to the broadcast program, and / or independent information.
  • the service may include at least one content component.
  • a content component is one continuous component of the media content with an assigned media component type that has an assigned media component type and can be independently encoded into a media stream. can be encoded individually into a media stream).
  • the media component type may include at least one of video, audio, and / or text.
  • the delivery object may be one of a file, a part of the file, a group of the file, a Hyper Text Transfer Protocol (HTTP) Entity, and a group of the HTTP Entity.
  • Part of the file may be a file in byte range.
  • the HTTP Entity may include an HTTP Entity Header and / or an HTTP Entity body.
  • Each delivery object may be recovered individually.
  • the signaling encoder C61100 may generate signaling information for providing discovery and acquisition of the service and the at least one content component.
  • the signaling information may include a transport session for transmitting the at least one content component of the service and first information about at least one delivery object transmitted through the transport session.
  • the signaling information may further include second information including a description of the DASH Media Presentation corresponding to the service.
  • the signaling information may include at least one of first information and / or second information.
  • signaling information may include offset information indicating a location of a first byte of a payload of a transport protocol packet transmitting the delivery object, and whether the at least one delivery object transmits a streaming service.
  • Real time information indicative of the information mapping information for mapping the transport session to a Transport Session Identifier (TSI); and mapping the delivery object to a Transport Object Identifier (TOI); It may include at least one of the information.
  • TSI Transport Session Identifier
  • TOI Transport Object Identifier
  • the offset information may indicate an offset (temporal position or spatial position) of a packet payload currently being transmitted in the object (or the delivery object).
  • the timestamp information may include timing information associated with data included in the payload of the transport protocol packet.
  • the timestamp information may also include timing information associated with the delivery object.
  • the time stamp information may include information about a time point at which the first byte of data included in the payload is decoded and / or presentation time information of the data.
  • the signaling information may include segment URL information indicating a uniform resource locator (URL) that can access the segment, a Representation ID information for identifying the representation, and a transmission session for transmitting the representation. It may include at least one of Transaction information indicating whether to participate.
  • segment URL information indicating a uniform resource locator (URL) that can access the segment
  • Representation ID information for identifying the representation
  • transmission session for transmitting the representation. It may include at least one of Transaction information indicating whether to participate.
  • the segment URL information may include at least one of a Representation ID for identifying the Representation and a segment number for identifying the number of the segment.
  • the transaction information may include at least one of a Start Transaction instructing to participate in the transmission session and a Stop Transaction instructing to terminate the transmission session.
  • the transmitter C61500 may transmit the at least one delivery object and the signaling information through a unidirectional channel.
  • Services can be transmitted using three functional layers.
  • the layers may include a physical layer, a delivery layer, and / or a service management layer.
  • the physical layer may provide a mechanism for transmitting at least one of signaling, service announcements, and / or IP packets to the broadcast physical layer and / or the broadband physical layer. Can be.
  • the delivery layer may provide the functionality to carry the object and / or object flow. This may be realized through the above-described Real-Time Object Delivery over Unidirectional Transport (ROUTE) protocol and / or HTTP protocol.
  • the ROUTE protocol may be operated through UDP / IP multicast on the broadcast physical layer.
  • the HTTP protocol may be operated through UDP / IP unicast on the broadband physical layer.
  • the service management layer may provide a mechanism for transmitting any type of service (eg, linear TV service or HTML5 application service) via the delivery layer and / or the physical layer.
  • any type of service eg, linear TV service or HTML5 application service
  • the signaling information can provide service discovery and description information.
  • the signaling information may include bootstrapping signaling information (FIT) and / or service layer signaling information (SLS).
  • FIT bootstrapping signaling information
  • SLS service layer signaling information
  • Such signaling information may include information necessary for discovering or obtaining at least one user service.
  • the FIT allows the receiver to build a basic list of services and bootstrap the discovery of service layer signaling for each service.
  • the FIT may be represented by a service list table (SLT).
  • the FIT (or SLT) may be transmitted through link layer signaling.
  • the FIT (or SLT) may be transmitted in each physical layer frame for quick acquisition.
  • the FIT (or SLT) may be transmitted through at least one of a physical layer frame, a PLP transmitting signaling, and / or a PLP allocated to each broadcasting station. In the following description, the FIT will be described.
  • SLS allows a receiver to discover and access at least one service and / or at least one content component.
  • SLS may be transmitted within at least one LCT transport session included in a ROUTE session by ROUTE / UDP / IP.
  • the SLS may be transmitted at a suitable carousel rate supporting fast channel joining and switching.
  • the SLS may be transmitted by HTTP (S) / TCP / IP.
  • a transport session according to another embodiment of the present invention is a Real-Time Object Delivery over Unidirectional Transport (ROUTE) session, Layered Coding Transport (LCT) transport session (or LCT session), and / or MPEG Media Transport Protocol (MMTP) session. It may include at least one of.
  • ROUTE Real-Time Object Delivery over Unidirectional Transport
  • LCT Layered Coding Transport
  • MMTP MPEG Media Transport Protocol
  • the transport protocol packet may include at least one of a ROUTE packet (or an ALC / LCT extension packet, an ALC / LCT + packet, an ALC / LCT packet, an LCT packet) and / or an MMTP packet.
  • a ROUTE packet or an ALC / LCT extension packet, an ALC / LCT + packet, an ALC / LCT packet, an LCT packet
  • MMTP packet or an MMTP packet.
  • Representation of MPEG-DASH is a concept corresponding to an LCT transport session (or LCT session) in the ROUTE protocol and may be mapped to a TSI.
  • Representation of MPEG-DASH is a concept corresponding to the MMTP packet flow in the MMT protocol and may be mapped to an asset identifier (or Asset ID, asset_id).
  • Segment of MPEG-DASH is a concept corresponding to a file (or a delivery object) in the ROUTE protocol, and may be mapped to the TOI.
  • segment of MPEG-DASH is a concept corresponding to the MPU in the MMT protocol, and may be mapped to the information (or MPU identifier) included in the mmpu box.
  • the relationship between a ROUTE / LCT session and / or an MMTP session for transmitting at least one content component of a service is as follows.
  • the content component of the service may be transmitted through 1) at least one ROUTE / LCT session and / or 2) at least one MMTP session.
  • the content component of the service may be transmitted through at least one ROUTE / LCT session.
  • a content component of a service may be transmitted through at least one ROUTE / LCT session and / or at least one MMPT session.
  • a content component of a service may be transmitted through at least one ROUTE / LCT session.
  • Each ROUTE session may include at least one LCT session.
  • Each LCT session may include all or part of each content component included in the service.
  • the LCT session may transmit individual components of the user service, such as audio, video, and / or closed caption streams.
  • the streaming media may be formatted with at least one DASH segment by MPEG-DASH.
  • Each MMTP session may include at least one MMTP packet flow.
  • Each MMTP packst flow may carry an MPEG Media Transport (MMT) signaling message.
  • MMT MPEG Media Transport
  • each MMTP packet flow may include all or part of each content component included in the service.
  • the MMTP packet flow may transmit at least one content component configured with at least one MPU by MMT signaling message and / or MMT.
  • the LCT session may transmit at least one file-based content item.
  • the at least one file-based content item may comprise a time-based or non-time-based media component of the NRT service.
  • the at least one file-based content item may include service signaling and / or Electronic Service Guide (ESG) fragments.
  • ESG Electronic Service Guide
  • the broadcast stream may be an abstract concept for the RF channel.
  • the RF channel may be defined based on a carrier frequency within a specific bandwidth.
  • the RF channel may be defined by a pair of [geographic area, frequency]. Geographic area and frequency information may be defined and / or maintained by an administrative authority along with a broadcast stream ID (BSID).
  • BSID broadcast stream ID
  • the physical layer pipe (PLP) may correspond to a part of the RF channel.
  • Each PLP may include at least one modulation and / or coding parameter.
  • the PLP may be identified by a PLP identifier (PLPID) having a unique value in the broadcast stream to which the PLP belongs.
  • PLP identifier PLP identifier
  • Each service can be identified by two types of service identifiers.
  • One is a compressed form that is used in the FIT and has a unique value only within the broadcast domain.
  • the other is a globally unique form used in SLS and / or ESG.
  • the ROUTE session may be identified by a source IP address, a destination IP address, and / or a destination port number.
  • the LCT session can be identified by a unique Transport Session Identifier (TSI) within the scope of the parent ROUTE session.
  • TTI Transport Session Identifier
  • the Service-based Transport Session Instance Description may include information about characteristics that are common to at least one LCT session and / or certain characteristics that are unique to an individual at least one LCT session. .
  • the S-TSID may be a ROUTE signaling structure and may be part of service level signaling.
  • Each LCT session may be transmitted through one PLP. Different LCT sessions in one ROUTE session may be included in different PLPs or in the same PLP.
  • the at least one characteristic described in the S-TSID is a TSI and PLPID for each LCT session, at least one descriptor for at least one delivery object or file, and / or at least one application layer. It may include an FEC parameter.
  • the MMT session may be identified by a source IP address, a destination IP address, and / or a destination port number.
  • the MMTP packet flow can be identified by a unique packet_id within the scope of the parent MMTP session.
  • the S-TSID may include information on characteristics that are common to each MMTP packet flow and / or certain characteristics that are unique to the individual at least one MMTP packet flow.
  • At least one characteristic for each MMTP session may be transmitted by an MMT signaling message transmitted in the MMTP session.
  • Each MMTP packet flow may be transmitted through one PLP. Different MMTP packet flows in one MMTP session may be included in different PLPs or in the same PLP.
  • At least one characteristic described in the MMT signaling message may include a packet_id and / or a PLPID for each MMTP packet flow.
  • LMS Link Layer Signaling
  • SLS Service Layer Signaling
  • the LLS may indicate signaling information directly transmitted as a payload of at least one Link Layer packet or as content of designated channels.
  • the LLS may comprise a FIT.
  • the receiver may first analyze the FIT.
  • the FIT may provide a quick channel scan, channel name, and / or channel number, etc. that allow the receiver to build a list of all services it can receive.
  • the FIT may also provide bootstrap information that allows the receiver to discover the SLS for each service.
  • the bootstrap information may include a destination IP address, a destination port, and / or a TSI for the LCT session for transmitting the SLS.
  • the SLS for each service is a list of at least one component included in the service, where the at least one component can be obtained, and / or the capabilities of the receiver required for a meaningful presentation of the service. Describe at least one characteristic of the same service.
  • the SLS may include a User Service Bundle Description (USBD), a Service-based Transport Session Instance Description (S-TSID), and / or a DASH Media Presentation Description (MPD).
  • USBD User Service Bundle Description
  • S-TSID Service-based Transport Session Instance Description
  • MPD DASH Media Presentation Description
  • the receiver may acquire the FIT (or SLT).
  • the FIT (or SLT) may be transmitted through a physical layer frame within a designated frequency band identified by a designated broadcast stream ID (BSID).
  • BSID broadcast stream ID
  • the FIT (or SLT) may be transmitted through at least one of a physical layer frame, a PLP transmitting signaling, and / or a PLP allocated to each broadcasting station.
  • Each of the services may include at least one SLS bootstrapping information.
  • each of the services may be identified by a Service_id.
  • the SLS bootstrapping information may include a PLPID, a source IP address, a destination IP address, a destination port number, and / or a TSI.
  • the receiver may acquire at least one SLS fragment.
  • the SLS fragment may be transmitted through an IP / UDP / LCT session and a PLP.
  • the SLS fragment may include a USBD / USD fragment, an S-TSID fragment, and / or an MPD fragment.
  • the USBD / USD fragment, the S-TSID fragment, and / or the MPD fragment may be information related to one service.
  • the USBD / USD fragment may describe at least one service level characteristic.
  • the USBD / USD fragment may include URI reference information for at least one S-TSID fragment and / or URI reference information for at least one MPD fragment.
  • the S-TSID fragment may include component acquisition information related to one service.
  • the S-TSID fragment may provide a mapping between the DASH Representation found in the MPD and the TSI corresponding to the component of the service.
  • the S-TSID fragment may include component acquisition information in the form of a TSI and an associated DASH Representation identifier, and / or a PLPID transmitting at least one DASH segment related to the DASH Representation.
  • the receiver may collect at least one audio / video component from the service based on the PLPID and / or TSI. In addition, the receiver may start buffering at least one DASH Media Segment.
  • the receiver can then perform the appropriate decoding process.
  • link layer signaling (LLS) will be described in detail.
  • LLS can operate below the IP level.
  • LLS may be obtained before IP level signaling (eg, Service Layer Signaling). Therefore, Link Layer Signaling may be obtained before session establishment.
  • IP level signaling eg, Service Layer Signaling
  • Link Layer Signaling may be obtained before session establishment.
  • the LLS may be sent above the IP / UDP as well as below the IP level.
  • the LLS may include binding information between the SLS and the at least one PLP.
  • the LLS may include signaling information related to an emergency alert.
  • LLS may comprise a FIT.
  • the FIT can provide fast channel scan and / or service acquisition by including information about each service in the broadcast stream.
  • the FIT may include information for presentation of a service list that is meaningful to the user and may support service selection through channel number and / or up / down zapping.
  • the FIT may include information indicating the location of Service Layer Signaling of a service transmitted through broadcast and / or broadband.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

방송 신호 수신 장치는 서비스의 적어도 하나의 콘텐트 컴포넌트의 발견 및 획득을 제공하는 시그널링 정보를 추출하는 시그널링 파서(Signaling Parser); 상기 시그널링 정보를 기초로 적어도 하나의 딜리버리 오브젝트를 복원하는 딜리버리 오브젝트 프로세서(Delivery Object Processor); 및 상기 적어도 하나의 딜리버리 오브젝트를 디코딩하는 미디어 디코더(Media Decoder)를 포함한다.

Description

방송 신호 송/수신 처리 방법 및 장치
본 발명은 미디어 신호를 전송/수신하는 방법 및 장치에 관한 것이다. 보다 상세하게는, 본 발명은 브로드밴드 (broadband)와 브로드캐스트 (broadcast) 가 결합된 방송 시스템에서, 브로드밴드와 브로드캐스트로 각각 전송되는 미디어에 대한 데이터를 처리하는 방법 및 장치에 관한 것이다.
디지털 방송 시스템에는 IP 기반의 방송 신호의 송수신이 확장되고 있다. 특히 유럽 방송 표준 중 DVB-NGH나, 북미 방송 표준 중 ATSC-MH 같은 모바일 디지털 방송에서 IP 기반의 방송 신호 송수신 환경의 중요성이 강조되고 있다. 또한, 차세대 방송 시스템 에서는 방송망과 인터넷 망을 연동하여 서비스 되는, 이른바, 하이브리드 방송 시스템이 구축될 전망이다.
하이브리드 방송 시스템에서는 기존의 방송망을 통하여 데이터가 전송되는 방식과 브로드밴드망을 통하여 데이터가 전송되는 방식이 공존하므로, 이들 데이터를 처리하는 방식이 기존의 방송 수신기와는 다르다는 문제점이 있다.
또한, 하이브리드 방송 시스템에서는 방송망을 통하여 전송되는 데이터와 브로드밴드망을 통하여 전송되는 데이터를 함께 사용하여 하나의 미디어를 생성할 수 있는데, 이 과정에서 방송망을 통하여 전송되는 데이터와 브로드밴드망을 통하여 전송되는 데이터 사이의 타이밍이 맞지 않거나, 동기 (sync) 가 이루어 지지 않을 수 있다는 문제점이 있다.
본 발명이 이루고자 하는 기술적 과제는, 전술한 문제점을 해결하기 위한 것으로, 하이브리드 방송 시스템에서는 기존의 방송망을 통하여 데이터가 전송되는 방식과 브로드밴드망을 통하여 데이터가 전송되는 방식이 공존하므로, 이들 데이터를 처리하는 적절한 방법 및 장치를 제공하는 것에 있다.
또한, 본 발명이 이루고자 하는 기술적 과제는, 하이브리드 방송 시스템에서는 방송망을 통하여 전송되는 데이터와 브로드밴드망을 통하여 전송되는 데이터를 함께 사용하여 하나의 미디어를 생성할 수 있는데, 이 과정에서 방송망을 통하여 전송되는 데이터와 브로드밴드망을 통하여 전송되는 데이터 사이의 타이밍이나 동기를 맞출 수 있는 적절한 방법 및 장치를 제공하는 것에 있다.
또한, 본 발명이 이루고자 하는 기술적 과제는 segment number를 포함하는 Segment URL 정보를 이용하여 session 시작 및 종료 방법을 제공하는 것에 있다.
또한, 본 발명이 이루고자 하는 기술적 과제는 representation ID 정보와 transaction 정보를 이용하여 session 시작 및 종료 방법을 제공하는 것에 있다.
전술한 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른, 방송 신호 수신 장치는 서비스의 적어도 하나의 콘텐트 컴포넌트의 발견 및 획득을 제공하는 시그널링 정보를 추출하는 시그널링 파서(Signaling Parser); 상기 시그널링 정보를 기초로 적어도 하나의 딜리버리 오브젝트를 복원하는 딜리버리 오브젝트 프로세서(Delivery Object Processor); 및 상기 적어도 하나의 딜리버리 오브젝트를 디코딩하는 미디어 디코더(Media Decoder)를 포함할 수 있다.
바람직하게는, 상기 시그널링 정보는 상기 서비스의 상기 적어도 하나의 콘텐트 컴포넌트를 전송하는 전송 세션 및 상기 전송 세션을 통해 전송되는 적어도 하나의 딜리버리 오브젝트에 관한 제1 정보, 및 상기 서비스에 해당하는 DASH Media Presentation의 디스크립션을 포함하는 제2 정보 중에서 적어도 하나를 포함하고; 및 상기 딜리버리 오브젝트는 상기 서비스의 적어도 하나의 콘텐트 컴포넌트에 포함되며, 독립적으로 복원되고(recovered individually), 상기 딜리버리 오브젝트는 파일, 상기 파일의 일부(a part of the file), 상기 파일의 그룹(a group of the file), Hyper Text Transfer Protocol(HTTP) Entity, 및 상기 HTTP Entity의 그룹 중에서 하나인 것을 특징으로 한다.
바람직하게는, 상기 딜리버리 오브젝트 프로세서는 재생(present)하고자 하는 Representation을 결정하고 상기 딜리버리 오브젝트와 관련된 Segment를 요청하는 DASH 클라이언트; 상기 시그널링 정보의 상기 Representation과 상기 콘텐트 컴포넌트의 Transport Session Identifier(TSI)를 매핑하는 DTV 제어 엔진; 및 상기 TSI를 기초로 상기 전송 세션으로부터 적어도 하나의 딜리버리 오브젝트를 복원하는 전송 프로토콜 클라이언트;를 더 포함할 수 있다.
바람직하게는, 상기 제2 정보는 상기 Segment에 접근할 수 있는 Uniform Resource Locator(URL)을 지시하는 Segment URL 정보를 포함할 수 있다.
바람직하게는, 상기 Segment URL 정보는 상기 Representation을 식별하는 Representation ID 및 상기 Segment의 번호를 식별하는 segment number 중에서 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 Representation은 제1 Representation 및 제2 Representation을 포함하고, 상기 전송 프로토콜 클라이언트는 미리 정해진 타임 포인트부터 제1 Representation에서 제2 Representation으로 Representation을 스위칭할 수 있다.
바람직하게는, 상기 제1 Representation에 관련된 Segment URL 정보와 상기 제2 Representation에 관련된 Segment URL 정보가 다르면, 상기 DASH 클라이언트는 재생(present)하고자 하는 제2 Representation을 결정하고; 및 상기 DTV 제어 엔진은 상기 시그널링 정보의 상기 제2 Representation과 상기 콘텐트 컴포넌트의 상기 TSI를 매핑할 수 있다.
바람직하게는, 상기 제2 정보는 상기 Representation을 식별하는 Representation ID 정보 및 상기 Representation을 전송하는 전송 세션에 참가할지 여부를 지시하는 Transaction 정보 중에서 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 Transaction 정보는 상기 전송 세션에 참가할 것을 지시하는 Start Transaction 및 상기 전송 세션을 종료할 것을 지시하는 Stop Transaction 중에서 적어도 하나를 포함할 수 있다.
바람직하게는, Representation은 제1 Representation 및 제2 Representation을 포함하고, 상기 전송 프로토콜 클라이언트는 미리 정해진 타임 포인트부터 제1 Representation에서 제2 Representation으로 Representation을 스위칭할 수 있다.
바람직하게는, 상기 제1 Representation을 식별하는 상기 Representation ID 정보와 상기 제2 Representation을 식별하는 상기 Representation ID 정보가 다르면, 상기 DASH 클라이언트는 재생(present)하고자 하는 제2 Representation을 결정하고; 및 상기 DTV 제어 엔진은 상기 시그널링 정보의 상기 제2 Representation과 상기 콘텐트 컴포넌트의 상기 TSI를 매핑할 수 있다.
전술한 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른, 방송 신호 송신 장치는 서비스의 적어도 하나의 콘텐트 컴포넌트에 포함되는 적어도 하나의 딜리버리 오브젝트를 생성하는 딜리버리 오브젝트 제너레이터(Delivery Object Generator); 상기 서비스 및 상기 적어도 하나의 콘텐트 컴포넌트의 발견 및 획득을 제공하는 시그널링 정보를 생성하는 시그널링 인코더(Signaling Encoder); 및 상기 적어도 하나의 딜리버리 오브젝트 및 상기 시그널링 정보를 단방향 채널(unidirectional channel)을 통해서 전송하는 트랜스미터(Transmitter)를 포함할 수 있다.
바람직하게는, 상기 시그널링 정보는 상기 서비스의 상기 적어도 하나의 콘텐트 컴포넌트를 전송하는 전송 세션 및 상기 전송 세션을 통해 전송되는 적어도 하나의 딜리버리 오브젝트에 관한 제1 정보 및 상기 서비스에 해당하는 DASH Media Presentation의 디스크립션을 포함하는 제2 정보 중에서 적어도 하나를 포함하고; 및 상기 딜리버리 오브젝트는 독립적으로 복원되고(recovered individually), 상기 딜리버리 오브젝트는 파일, 상기 파일의 일부(a part of the file), 상기 파일의 그룹(a group of the file), Hyper Text Transfer Protocol(HTTP) Entity, 및 상기 HTTP Entity의 그룹 중에서 하나인 것을 특징으로 한다.
바람직하게는, 상기 제2 정보는 상기 Segment에 접근할 수 있는 Uniform Resource Locator(URL)을 지시하는 Segment URL 정보, 상기 Representation을 식별하는 Representation ID 정보, 및 상기 Representation을 전송하는 전송 세션에 참가할지 여부를 지시하는 Transaction 정보 중에서 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 Segment URL 정보는 상기 Representation을 식별하는 Representation ID 및 상기 Segment의 번호를 식별하는 segment number 중에서 적어도 하나를 포함할 수 있다.
본 발명에 따르면, 하이브리드 방송 시스템에서는 기존의 방송망을 통하여 전송되는 데이터와 브로드밴드망을 통하여 전송되는 데이터를 효율적으로 함께 처리할 수 있다는 효과가 있다.
본 발명에 따르면, 방송망을 통하여 전송되는 데이터와 브로드밴드망을 통하여 전송되는 데이터 사이의 효과적으로 타이밍이나 동기를 맞출 수 있는 효과가 있다.
본 발명에 따르면, 전송 세션에 효과적으로 참가 및/또는 종료할 수 있는 효과가 있다.
본 발명에 따르면, 전송 세션을 효과적으로 스위칭할 수 있는 효과가 있다.
본 발명에 대해 더욱 이해하기 위해 포함되며 본 출원에 포함되고 그 일부를 구성하는 첨부된 도면은 본 발명의 원리를 설명하는 상세한 설명과 함께 본 발명의 실시예를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치의 구조를 나타낸다.
도 2는 본 발명의 일 실시예에 따른 인풋 포맷팅(Input formatting, 입력 포맷) 블록을 나타낸다.
도 3은 본 발명의 다른 일 실시예에 따른 인풋 포맷팅(Input formatting, 입력 포맷) 블록을 나타낸다.
도 4는 본 발명의 일 실시예에 따른 BICM (bit interleaved coding & modulation) 블록을 나타낸다.
도 5는 본 발명의 다른 일 실시예에 따른 BICM 블록을 나타낸다.
도 6은 본 발명의 일 실시예에 따른 프레임 빌딩(Frame Building, 프레임 생성) 블록을 나타낸다.
도 7은 본 발명의 일 실시예에 따른 OFDM (orthogonal frequency division multiplexing) 제너레이션(generation, 생성) 블록을 나타낸다.
도 8은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치의 구조를 나타낸다.
도 9는 본 발명의 일 실시예에 따른 프레임 구조를 나타낸다.
도 10은 본 발명의 일 실시예에 따른 프레임의 시그널링 계층 구조를 나타낸다.
도 11은 본 발명의 일 실시예에 따른 프리앰블 시그널링 데이터를 나타낸다.
도 12는 본 발명의 일 실시예에 따른 PLS1 데이터를 나타낸다.
도 13은 본 발명의 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 14는 본 발명의 다른 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 15는 본 발명의 일 실시예에 따른 프레임의 로지컬(logical, 논리) 구조를 나타낸다.
도 16은 본 발명의 일 실시예에 따른 PLS (physical layer signalling) 매핑을 나타낸다.
도 17은 본 발명의 일 실시예에 따른 EAC (emergency alert channel) 매핑을 나타낸다.
도 18은 본 발명의 일 실시예에 따른 FIC (fast information channel) 매핑을 나타낸다.
도 19는 본 발명의 일 실시예에 따른 FEC (forward error correction) 구조를 나타낸다.
도 20은 본 발명의 일 실시예에 따른 타임 인터리빙을 나타낸다.
도 21은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 기본 동작을 나타낸다.
도 22는 본 발명의 다른 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 동작을 나타낸다.
도 23은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 대각선 방향 읽기 패턴을 나타낸다.
도 24는 본 발명의 일 실시예에 따른 각 인터리빙 어레이(array)로부터 인터리빙된 XFECBLOCK을 나타낸다.
도 25는 본 발명의 일 실시예에 따른, 하이브리드 (hybrid) 방송 수신기를 나타낸 도면이다.
도 26은 본 발명의 일 실시예에 따른, 하이브리드 방송 수신기에서 서비스 스캐닝 (scanning) 을 수행하는 동작을 나타낸 도면이다.
도 27은 본 발명의 일 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
도 28은 본 발명의 일 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
도 29는 본 발명의 다른 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
도 30은 본 발명의 일 실시예에 따른 하이브리드 방송 수신기의 블록도를 나타낸 도면이다.
도 31은 본 발명의 다른 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
도 32은 본 발명의 다른 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
도 33는 본 발명의 다른 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
도 34는 본 발명의 다른 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
도 35는 본 발명의 일 실시예에 따른, ALC/LCT+클라이언트의 동작을 나타낸 도면이다.
도 36는 본 발명의 일 실시예에 따른, ISO BMFF 파일을 나타낸 도면이다.
도 37은 본 발명의 일 실시예에 따른, 어플리케이션 계층 전송 프로토콜 패킷을 나타낸 도면이다.
도 38은 본 발명의 일 실시예에 따른, TSI가 하나의 트랙에 맵핑되고, TOI가 하나의 chunk에 맵핑되는 경우의 어플리케이션 계층 전송 프로토콜 패킷을 나타낸 도면이다.
도 39은 본 발명의 일 실시예에 따른, TSI가 하나의 트랙에 맵핑되고, TOI가 하나의 chunk에 맵핑되는 경우의 어플리케이션 계층 전송 프로토콜 패킷 내의 ISO BMFF 파일 내의 각 박스들의 특성을 설정하는 것을 나타낸 도면이다.
도 40는 본 발명의 일 실시예에 따른, 어플리케이션 계층 전송 프로토콜 패킷의 송신 및 수신을 나타낸 도면이다.
도 41은 본 발명의 일 실시예에 따른, 어플리케이션 계층 전송 프로토콜 패킷의 구조를 나타낸 도면이다.
도 42은 본 발명의 일 실시예에 따른, 어플리케이션 계층 전송 프로토콜 패킷의 처리를 나타낸 도면이다.
도 43는 본 발명의 일 실시예에 따른, 방송 시스템을 나타낸 도면이다.
도 44은 본 발명의 일 실시예에 따른 방송 시스템에서의 세그먼트의 처리의 타이밍을 나타낸 도면이다.
도 45는 본 발명의 일 실시예에 따른, MPD를 브로드밴드와 브로드캐스트 모두에서 사용하는 경우에 있어서, 방송 시스템의 동작을 나타낸다.
도 46은 본 발명의 다른 실시예에 따른 방송 시스템에서의 세그먼트의 처리의 타이밍을 나타낸 도면이다.
도 47은 본 발명의 다른 실시예에 따른, MPD를 브로드밴드에서만 사용하는 경우에 있어서, 방송 시스템을 나타낸 도면이다.
도 48은 본 발명의 다른 실시에에 따른, 방송 시스템에서의 세그먼트의 처리의 타이밍을 나타낸 도면이다.
도 49는 본 발명의 다른 실시예에 따른, MPD를 브로드밴드에서만 사용하는 경우에 있어서, 방송 시스템을 나타낸 도면이다.
도 50는 본 발명의 다른 실시예에 따른 방송 시스템에서의 세그먼트의 처리의 타이밍을 나타낸 도면이다.
도 51은 본 발명의 일 실시예에 따른, 방송 신호를 송신 처리하는 순서 및 방송 신호를 수신 처리하는 순서를 나타낸 순서도이다.
도 52는 본 발명의 일 실시예에 따른, 송신기 및 수신기를 나타낸 도면이다.
도 53은 본 발명의 일 실시예에 따른 ROUTE 프로토콜 스택을 도시한 도면이다.
도 54는 본 발명의 일 실시예에 따른 방송 신호 송신 장치의 구조를 나타낸 도면이다.
도 55는 본 발명의 일 실시예에 따른 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 56는 본 발명의 일 실시예에 따른 딜리버리 오브젝트 프로세서의 구조를 나타낸 도면이다.
도 57는 본 발명의 일 실시예에 따른 딜리버리 오브젝트 프로세서의 구조를 나타낸 도면이다.
도 58는 본 발명의 일 실시예에 따른 방송 신호 송신 방법의 흐름도를 나타낸 도면이다.
도 59는 본 발명의 일 실시예에 따른 방송 신호 수신 방법의 흐름도를 나타낸 도면이다.
도 60는 본 발명의 일 실시예에 따른 딜리버리 오브젝트를 복원하는 흐름도를 나타낸 도면이다.
본 발명의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 본 발명의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 본 발명의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 본 발명에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 본 발명이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.
본 발명에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 본 발명은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.
본 명세서에서 ‘시그널링 (signaling)’ 이라 함은 방송 시스템, 인터넷 방송 시스템 및/또는 방송/인터넷 융합 시스템에서 제공되는 서비스 정보 (Service Information; SI)를 전송/수신하는 것을 나타낸다. 서비스 정보는 현재 존재하는 각 방송 시스템에서 제공되는 방송 서비스 정보 (예를 들면, ATSC-SI 및/또는 DVB-SI)를 포함한다.
본 명세서에서 ‘방송 신호’ 라 함은, 지상파 방송, 케이블 방송, 위성 방송, 및/또는 모바일 방송 이외에도, 인터넷 방송, 브로드밴드 방송, 통신 방송, 데이터 방송 및/또는 VOD (Video On Demand) 등의 양방향 방송에서 제공되는 신호 및/또는 데이터를 포함하는 개념으로 정의한다.
본 명세서에서 ‘PLP’ 라 함은, 물리적 계층에 속하는 데이터를 전송하는 일정한 유닛을 의미한다. 따라서, 본 명세서에서 ‘PLP’로 명명된 내용은, ‘데이터 유닛’ 또는 ‘데이터 파이프 (data pipe)’ 로 바꾸어 명명될 수도 있다.
디지털 방송 (DTV) 서비스에서 활용될 유력한 어플리케이션 (application) 중의 하나로, 방송 망과 인터넷 망과의 연동을 통한 하이브리드 방송 서비스를 꼽을 수 있다. 하이브리드 방송 서비스는 지상파 방송망을 통해서 전송되는 방송 A/V (Audio/Video) 컨텐츠와 연관된 인핸스먼트 데이터 (enhancement data) 혹은 방송 A/V 컨텐츠의 일부를 인터넷 망을 통하여 실시간으로 전송함으로써, 사용자로 하여금 다양한 컨텐츠를 경험할 수 있도록 한다.
본 발명은 차세대 방송 서비스에 대한 방송 신호 송신 및 수신 장치 및 방법을 제공한다. 본 발명의 일 실시예에 따른 차세대 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스, UHDTV 서비스 등을 포함한다. 본 발명은 일 실시예에 따라 비-MIMO (non-Multiple Input Multiple Output) 또는 MIMO 방식을 통해 차세대 방송 서비스에 대한 방송 신호를 처리할 수 있다. 본 발명의 일 실시예에 따른 비-MIMO 방식은 MISO (Multiple Input Single Output) 방식, SISO (Single Input Single Output) 방식 등을 포함할 수 있다.
이하에서는 설명의 편의를 위해 MISO 또는 MIMO 방식은 두 개의 안테나를 사용하지만, 본 발명은 두 개 이상의 안테나를 사용하는 시스템에 적용될 수 있다. 본 발명은 특정 용도에 요구되는 성능을 달성하면서 수신기 복잡도를 최소화하기 위해 최적화된 세 개의 피지컬 프로파일(PHY profile) (베이스(base), 핸드헬드(handheld), 어드벤스(advanced) 프로파일)을 정의할 수 있다. 피지컬 프로파일은 해당하는 수신기가 구현해야 하는 모든 구조의 서브셋이다.
세 개의 피지컬 프로파일은 대부분의 기능 블록을 공유하지만, 특정 블록 및/또는 파라미터에서는 약간 다르다. 추후에 추가로 피지컬 프로파일이 정의될 수 있다. 시스템 발전을 위해, 퓨처 프로파일은 FEF (future extension frame)을 통해 단일 RF (radio frequency) 채널에 존재하는 프로파일과 멀티플렉싱 될 수도 있다. 각 피지컬 프로파일에 대한 자세한 내용은 후술한다.
1. 베이스 프로파일
베이스 프로파일은 주로 루프 톱(roof-top) 안테나와 연결되는 고정된 수신 장치의 주된 용도를 나타낸다. 베이스 프로파일은 어떤 장소로 이동될 수 있지만 비교적 정지된 수신 범주에 속하는 휴대용 장치도 포함할 수 있다. 베이스 프로파일의 용도는 약간의 개선된 실행에 의해 핸드헬드 장치 또는 차량용으로 확장될 수 있지만, 이러한 사용 용도는 베이스 프로파일 수신기 동작에서는 기대되지 않는다.
수신의 타겟 신호 대 잡음비 범위는 대략 10 내지 20 dB인데, 이는 기존 방송 시스템(예를 들면, ATSC A/53)의 15 dB 신호 대 잡음비 수신 능력을 포함한다. 수신기 복잡도 및 소비 전력은 핸드헬드 프로파일을 사용할 배터리로 구동되는 핸드헬드 장치에서만큼 중요하지 않다. 베이스 프로파일에 대한 중요 시스템 파라미터가 아래 표 1에 기재되어 있다.
표 1
Figure PCTKR2015005085-appb-T000001
2. 핸드헬드 프로파일
핸드헬드 프로파일은 배터리 전원으로 구동되는 핸드헬드 및 차량용 장치에서의 사용을 위해 설계된다. 해당 장치는 보행자 또는 차량 속도로 이동할 수 있다. 수신기 복잡도뿐만 아니라 소비 전력은 핸드헬드 프로파일의 장치의 구현을 위해 매우 중요하다. 핸드헬드 프로파일의 타겟 신호 대 잡음비 범위는 대략 0 내지 10 dB이지만, 더 낮은 실내 수신을 위해 의도된 경우 0 dB 아래에 달하도록 설정될 수 있다.
저 신호 대 잡음비 능력뿐만 아니라, 수신기 이동성에 의해 나타난 도플러 효과에 대한 복원력은 핸드헬드 프로파일의 가장 중요한 성능 속성이다. 핸드헬드 프로파일에 대한 중요 시스템 파라미터가 아래 표 2에 기재되어 있다.
표 2
Figure PCTKR2015005085-appb-T000002
3. 어드벤스 프로파일
어드벤스 프로파일은 더 큰 실행 복잡도에 대한 대가로 더 높은 채널 능력을 제공한다. 해당 프로파일은 MIMO 송신 및 수신을 사용할 것을 요구하며, UHDTV 서비스는 타겟 용도이고, 이를 위해 해당 프로파일이 특별히 설계된다. 향상된 능력은 주어진 대역폭에서 서비스 수의 증가, 예를 들면, 다수의 SDTV 또는 HDTV 서비스를 허용하는 데도 사용될 수 있다.
어드벤스 프로파일의 타겟 신호 대 잡음비 범위는 대략 20 내지 30 dB이다. MIMO 전송은 초기에는 기존의 타원 분극 전송 장비를 사용하고, 추후에 전출력 교차 분극 전송으로 확장될 수 있다. 어드벤스 프로파일에 대한 중요 시스템 파라미터가 아래 표 3에 기재되어 있다.
표 3
Figure PCTKR2015005085-appb-T000003
이 경우, 베이스 프로파일은 지상파 방송 서비스 및 모바일 방송 서비스 모두에 대한 프로파일로 사용될 수 있다. 즉, 베이스 프로파일은 모바일 프로파일을 포함하는 프로파일의 개념을 정의하기 위해 사용될 수 있다. 또한, 어드벤스 프로파일은 MIMO을 갖는 베이스 프로파일에 대한 어드벤스 프로파일 및 MIMO을 갖는 핸드헬드 프로파일에 대한 어드벤스 프로파일로 구분될 수 있다. 그리고 해당 세 프로파일은 설계자의 의도에 따라 변경될 수 있다.
다음의 용어 및 정의는 본 발명에 적용될 수 있다. 다음의 용어 및 정의는 설계에 따라 변경될 수 있다.
보조 스트림: 퓨처 익스텐션(future extension, 추후 확장) 또는 방송사나 네트워크 운영자에 의해 요구됨에 따라 사용될 수 있는 아직 정의되지 않은 변조 및 코딩의 데이터를 전달하는 셀의 시퀀스
베이스 데이터 파이프(base data pipe): 서비스 시그널링 데이터를 전달하는 데이터 파이프
베이스밴드 프레임 (또는 BBFRAME): 하나의 FEC 인코딩 과정 (BCH 및 LDPC 인코딩)에 대한 입력을 형성하는 Kbch 비트의 집합
셀(cell): OFDM 전송의 하나의 캐리어에 의해 전달되는 변조값
코딩 블록(coded block): PLS1 데이터의 LDPC 인코딩된 블록 또는 PLS2 데이터의 LDPC 인코딩된 블록들 중 하나
데이터 파이프(data pipe): 하나 또는 다수의 서비스 또는 서비스 컴포넌트를 전달할 수 있는 서비스 데이터 또는 관련된 메타데이터를 전달하는 물리 계층(physical layer)에서의 로지컬 채널
데이터 파이프 유닛(DPU, data pipe unit): 데이터 셀을 프레임에서의 데이터 파이프에 할당할 수 있는 기본 유닛
데이터 심볼(data symbol): 프리앰블 심볼이 아닌 프레임에서의 OFDM 심볼 (프레임 시그널링 심볼 및 프레임 엣지(edge) 심볼은 데이터 심볼에 포함된다.)
DP_ID: 해당 8비트 필드는 SYSTEM_ID에 의해 식별된 시스템 내에서 데이터 파이프를 유일하게 식별한다.
더미 셀(dummy cell): PLS (physical layer signalling) 시그널링, 데이터 파이프, 또는 보조 스트림을 위해 사용되지 않은 남아 있는 용량을 채우는 데 사용되는 의사 랜덤값을 전달하는 셀
FAC (emergency alert channel, 비상 경보 채널): EAS 정보 데이터를 전달하는 프레임 중 일부
프레임(frame): 프리앰블로 시작해서 프레임 엣지 심볼로 종료되는 물리 계층(physical layer) 타임 슬롯
프레임 리피티션 유닛(frame repetition unit, 프레임 반복 단위): 슈퍼 프레임(super-frame)에서 8회 반복되는 FEF를 포함하는 동일한 또는 다른 피지컬 프로파일에 속하는 프레임의 집합
FIC (fast information channel, 고속 정보 채널): 서비스와 해당 베이스 데이터 파이프 사이에서의 매핑 정보를 전달하는 프레임에서 로지컬 채널
FECBLOCK: 데이터 파이프 데이터의 LDPC 인코딩된 비트의 집합
FFT 사이즈: 기본 주기 T의 사이클로 표현된 액티브 심볼 주기 Ts와 동일한 특정 모드에 사용되는 명목상의 FFT 사이즈
프레임 시그널링 심볼(frame signaling symbol): PLS 데이터의 일부를 전달하는, FFT 사이즈, 가드 인터벌(guard interval), 및 스캐터(scattered) 파일럿 패턴의 특정 조합에서 프레임의 시작에서 사용되는 더 높은 파일럿 밀도를 갖는 OFDM 심볼
프레임 엣지 심볼(frame edge symbol): FFT 사이즈, 가드 인터벌, 및 스캐터 파일럿 패턴의 특정 조합에서 프레임의 끝에서 사용되는 더 높은 파일럿 밀도를 갖는 OFDM 심볼
프레임 그룹(frame-group): 슈퍼 프레임에서 동일한 피지컬 프로파일 타입을 갖는 모든 프레임의 집합
퓨쳐 익스텐션 프레임(future extention frame, 추후 확장 프레임): 프리앰블로 시작하는, 추후 확장에 사용될 수 있는 슈퍼 프레임 내에서 물리 계층(physical layer) 타임 슬롯
퓨처캐스트(futurecast) UTB 시스템: 입력이 하나 이상의 MPEG2-TS 또는 IP (Internet protocol) 또는 일반 스트림이고 출력이 RF 시그널인 제안된 물리 계층(physical layer) 방송 시스템
인풋 스트림(input stream, 입력 스트림): 시스템에 의해 최종 사용자에게 전달되는 서비스의 조화(ensemble)를 위한 데이터의 스트림
노멀(normal) 데이터 심볼: 프레임 시그널링 심볼 및 프레임 엣지 심볼을 제외한 데이터 심볼
피지컬 프로파일(PHY profile): 해당하는 수신기가 구현해야 하는 모든 구조의 서브셋
PLS: PLS1 및 PLS2로 구성된 물리 계층(physical layer) 시그널링 데이터
PLS1: PLS2를 디코딩하는 데 필요한 파라미터뿐만 아니라 시스템에 관한 기본 정보를 전달하는 고정된 사이즈, 코딩, 변조를 갖는 FSS (frame signalling symbol)로 전달되는 PLS 데이터의 첫 번째 집합
NOTE: PLS1 데이터는 프레임 그룹의 듀레이션(duration) 동안 일정하다.
PLS2: 데이터 파이프 및 시스템에 관한 더욱 상세한 PLS 데이터를 전달하는 FSS로 전송되는 PLS 데이터의 두 번째 집합
PLS2 다이나믹(dynamic, 동적) 데이터: 프레임마다 다이나믹(dynamic, 동적)으로 변화하는 PLS2 데이터
PLS2 스태틱(static, 정적) 데이터: 프레임 그룹의 듀레이션 동안 스태틱(static, 정적)인 PLS2 데이터
프리앰블 시그널링 데이터(preamble signaling data): 프리앰블 심볼에 의해 전달되고 시스템의 기본 모드를 확인하는 데 사용되는 시그널링 데이터
프리앰블 심볼(preamble symbol): 기본 PLS 데이터를 전달하고 프레임의 시작에 위치하는 고정된 길이의 파일럿 심볼
NOTE: 프리앰블 심볼은 시스템 신호, 그 타이밍, 주파수 오프셋, 및 FFT 사이즈를 검출하기 위해 고속 초기 밴드 스캔에 주로 사용된다.
추후 사용(future use)을 위해 리저브드(reserved): 현재 문서에서 정의되지 않지만 추후에 정의될 수 있음
슈퍼 프레임(superframe): 8개의 프레임 반복 단위의 집합
타임 인터리빙 블록(time interleaving block, TI block): 타임 인터리버 메모리의 하나의 용도에 해당하는, 타임 인터리빙이 실행되는 셀의 집합
타임 인터리빙 그룹(time interleaving group, TI group): 정수, 다이나믹(dynamic, 동적)으로 변화하는 XFECBLOCK의 수로 이루어진, 특정 데이터 파이프에 대한 다이나믹(dynamic, 동적) 용량 할당이 실행되는 단위
NOTE: 타임 인터리빙 그룹은 하나의 프레임에 직접 매핑되거나 다수의 프레임에 매핑될 수 있다. 타임 인터리빙 그룹은 하나 이상의 타임 인터리빙 블록을 포함할 수 있다.
타입 1 데이터 파이프(Type 1 DP): 모든 데이터 파이프가 프레임에 TDM (time division multiplexing) 방식으로 매핑되는 프레임의 데이터 파이프
타입 2 데이터 파이프(Type 2 DP): 모든 데이터 파이프가 프레임에 FDM 방식으로 매핑되는 프레임의 데이터 파이프
XFECBLOCK: 하나의 LDPC FECBLOCK의 모든 비트를 전달하는 Ncells 셀들의 집합
도 1은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치의 구조를 나타낸다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 인풋 포맷 블록 (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은 주요 입력 포맷이고, 다른 스트림 타입은 일반 스트림으로 다루어진다. 이들 데이터 입력에 추가로, 관리 정보가 입력되어 각 입력 스트림에 대한 해당 대역폭의 스케줄링 및 할당을 제어한다. 하나 또는 다수의 TS 스트림, IP 스트림 및/또는 일반 스트림 입력이 동시에 허용된다.
인풋 포맷 블록(1000)은 각각의 입력 스트림을 독립적인 코딩 및 변조가 적용되는 하나 또는 다수의 데이터 파이프로 디멀티플렉싱 할 수 있다. 데이터 파이프는 견고성(robustness) 제어를 위한 기본 단위이며, 이는 QoS (Quality of Service)에 영향을 미친다. 하나 또는 다수의 서비스 또는 서비스 컴포넌트가 하나의 데이터 파이프에 의해 전달될 수 있다. 인풋 포맷 블록(1000)의 자세한 동작은 후술한다.
데이터 파이프는 하나 또는 다수의 서비스 또는 서비스 컴포넌트를 전달할 수 있는 서비스 데이터 또는 관련 메타데이터를 전달하는 물리 계층(physical layer)에서의 로지컬 채널이다.
또한, 데이터 파이프 유닛은 하나의 프레임에서 데이터 셀을 데이터 파이프에 할당하기 위한 기본 유닛이다.
인풋 포맷 블록(1000)에서, 패리티(parity) 데이터는 에러 정정을 위해 추가되고, 인코딩된 비트 스트림은 복소수값 컨스텔레이션 심볼에 매핑된다. 해당 심볼은 해당 데이터 파이프에 사용되는 특정 인터리빙 깊이에 걸쳐 인터리빙 된다. 어드벤스 프로파일에 있어서, BICM 블록(1010)에서 MIMO 인코딩이 실행되고 추가 데이터 경로가 MIMO 전송을 위해 출력에 추가된다. BICM 블록(1010)의 자세한 동작은 후술한다.
프레임 빌딩 블록(1020)은 하나의 프레임 내에서 입력 데이터 파이프의 데이터 셀을 OFDM 실볼로 매핑할 수 있다. 매핑 후, 주파수 영역 다이버시티를 위해, 특히 주파수 선택적 페이딩 채널을 방지하기 위해 주파수 인터리빙이 이용된다. 프레임 빌딩 블록(1020)의 자세한 동작은 후술한다.
프리앰블을 각 프레임의 시작에 삽입한 후, OFDM 제너레이션 블록(1030)은 사이클릭 프리픽스(cyclic prefix)을 가드 인터벌로 갖는 기존의 OFDM 변조를 적용할 수 있다. 안테나 스페이스 다이버시티를 위해, 분산된(distributed) MISO 방식이 송신기에 걸쳐 적용된다. 또한, PAPR (peak-to-average power ratio) 방식이 시간 영역에서 실행된다. 유연한 네트워크 방식을 위해, 해당 제안은 다양한 FFT 사이즈, 가드 인터벌 길이, 해당 파일럿 패턴의 집합을 제공한다. OFDM 제너레이션 블록(1030)의 자세한 동작은 후술한다.
시그널링 생성 블록(1040)은 각 기능 블록의 동작에 사용되는 물리 계층(physical layer) 시그널링 정보를 생성할 수 있다. 해당 시그널링 정보는 또한 관심 있는 서비스가 수신기 측에서 적절히 복구되도록 전송된다. 시그널링 생성 블록(1040)의 자세한 동작은 후술한다.
도 2, 3, 4는 본 발명의 실시예에 따른 인풋 포맷 블록(1000)을 나타낸다. 각 도면에 대해 설명한다.
도 2는 본 발명의 일 실시예에 따른 인풋 포맷 블록을 나타낸다. 도 2는 입력 신호가 단일 입력 스트림(single input stream)일 때의 인풋 포맷 블록을 나타낸다.
도 2에 도시된 인풋 포맷 블록은 도 1을 참조하여 설명한 인풋 포맷 블록(1000)의 일 실시예에 해당한다.
물리 계층(physical layer)으로의 입력은 하나 또는 다수의 데이터 스트림으로 구성될 수 있다. 각각의 데이터 스트림은 하나의 데이터 파이프에 의해 전달된다. 모드 어댑테이션(mode adaptaion, 모드 적응) 모듈은 입력되는 데이터 스트림을 BBF (baseband frame)의 데이터 필드로 슬라이스한다. 해당 시스템은 세 가지 종류의 입력 데이터 스트림, 즉 MPEG2-TS, IP, GS (generic stream)을 지원한다. MPEG2-TS는 첫 번째 바이트가 동기 바이트(0x47)인 고정된 길이(188 바이트)의 패킷을 특징으로 한다. IP 스트림은 IP 패킷 헤더 내에서 시그널링 되는 가변 길이 IP 데이터그램 패킷으로 구성된다. 해당 시스템은 IP 스트림에 대해 IPv4와 IPv6을 모두 지원한다. GS는 캡슐화 패킷 헤더 내에서 시그널링되는 가변 길이 패킷 또는 일정 길이 패킷으로 구성될 수 있다.
(a)는 신호 데이터 파이프에 대한 모드 어댑테이션(mode adaptaion, 모드 적응) 블록(2000) 및 스트림 어댑테이션(stream adaptation, 스트림 적응)(2010)을 나타내고, (b)는 PLS 데이터를 생성 및 처리하기 위한 PLS 생성 블록(2020) 및 PLS 스크램블러(2030)를 나타낸다. 각 블록의 동작에 대해 설명한다.
입력 스트림 스플리터는 입력된 TS, IP, GS 스트림을 다수의 서비스 또는 서비스 컴포넌트(오디오, 비디오 등) 스트림으로 분할한다. 모드 어댑테이션(mode adaptaion, 모드 적응) 모듈(2010)은 CRC 인코더, BB (baseband) 프레임 슬라이서, 및 BB 프레임 헤더 삽입 블록으로 구성된다.
CRC 인코더는 유저 패킷 (user packet, UP)레벨에서의 에러 검출을 위한 세 종류의 CRC 인코딩, 즉 CRC-8, CRC-16, CRC-32를 제공한다. 산출된 CRC 바이트는 UP 뒤에 첨부된다. CRC-8은 TS 스트림에 사용되고, CRC-32는 IP 스트림에 사용된다. GS 스트림이 CRC 인코딩을 제공하지 않으면, 제안된 CRC 인코딩이 적용되어야 한다.
BB 프레임 슬라이서는 입력을 내부 로지컬 비트 포맷에 매핑한다. 첫 번째 수신 비트는 MSB라고 정의한다. BB 프레임 슬라이서는 가용 데이터 필드 용량과 동일한 수의 입력 비트를 할당한다. BBF 페이로드와 동일한 수의 입력 비트를 할당하기 위해, UP 스트림이 BBF의 데이터 필드에 맞게 슬라이스된다.
BB 프레임 헤더 삽입 블록은 2바이트의 고정된 길이의 BBF 헤더를 BB 프레임의 앞에 삽입할 수 있다. BBF 헤더는 STUFFI (1비트), SYNCD (13비트), 및 RFU (2비트)로 구성된다. 고정된 2바이트 BBF 헤더뿐만 아니라, BBF는 2바이트 BBF 헤더 끝에 확장 필드(1 또는 3바이트)를 가질 수 있다.
스트림 어댑테이션(stream adaptation, 스트림 적응)(2010)은 스터핑(stuffing) 삽입 블록 및 BB 스크램블러로 구성된다. 스터핑 삽입 블록은 스터핑 필드를 BB 프레임의 페이로드에 삽입할 수 있다. 스트림 어댑테이션(stream adaptation, 스트림 적응)에 대한 입력 데이터가 BB 프레임을 채우기에 충분하면, STUFFI는 0으로 설정되고, BBF는 스터핑 필드를 갖지 않는다. 그렇지 않으면, STUFFI는 1로 설정되고, 스터핑 필드는 BBF 헤더 직후에 삽입된다. 스터핑 필드는 2바이트의 스터핑 필드 헤더 및 가변 사이즈의 스터핑 데이터를 포함한다.
BB 스크램블러는 에너지 분산을 위해 완전한 BBF를 스크램블링한다. 스크램블링 시퀀스는 BBF와 동기화된다. 스크램블링 시퀀스는 피드백 시프트 레지스터에 의해 생성된다.
PLS 생성 블록(2020)은 PLS 데이터를 생성할 수 있다. PLS는 수신기에서 피지컬 레이어(physical layer) 데이터 파이프에 접속할 수 있는 수단을 제공한다. PLS 데이터는 PLS1 데이터 및 PLS2 데이터로 구성된다.
PLS1 데이터는 PLS2 데이터를 디코딩하는 데 필요한 파라미터뿐만 아니라 시스템에 관한 기본 정보를 전달하는 고정된 사이즈, 코딩, 변조를 갖는 프레임에서 FSS로 전달되는 PLS 데이터의 첫 번째 집합이다. PLS1 데이터는 PLS2 데이터의 수신 및 디코딩을 가능하게 하는 데 요구되는 파라미터를 포함하는 기본 송신 파라미터를 제공한다. 또한, PLS1 데이터는 프레임 그룹의 듀레이션 동안 일정하다.
PLS2 데이터는 데이터 파이프 및 시스템에 관한 더욱 상세한 PLS 데이터를 전달하는 FSS로 전송되는 PLS 데이터의 두 번째 집합이다. PLS2는 수신기가 원하는 데이터 파이프를 디코딩하는 데 충분한 정보를 제공하는 파라미터를 포함한다. PLS2 시그널링은 PLS2 스태틱(static, 정적) 데이터(PLS2-STAT 데이터) 및 PLS2 다이나믹(dynamic, 동적) 데이터(PLS2-DYN 데이터)의 두 종류의 파라미터로 더 구성된다. PLS2 스태틱(static, 정적) 데이터는 프레임 그룹의 듀레이션 동안 스태틱(static, 정적)인 PLS2 데이터이고, PLS2 다이나믹(dynamic, 동적) 데이터는 프레임마다 다이나믹(dynamic, 동적)으로 변화하는 PLS2 데이터이다.
PLS 데이터에 대한 자세한 내용은 후술한다.
PLS 스크램블러(2030)는 에너지 분산을 위해 생성된 PLS 데이터를 스크램블링 할 수 있다.
전술한 블록은 생략될 수도 있고 유사 또는 동일 기능을 갖는 블록에 의해 대체될 수도 있다.
도 3은 본 발명의 다른 일 실시예에 따른 인풋 포맷 블록을 나타낸다.
도 3에 도시된 인풋 포맷 블록은 도 1을 참조하여 설명한 인풋 포맷 블록(1000)의 일 실시예에 해당한다.
도 3은 입력 신호가 멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)에 해당하는 경우 인풋 포맷 블록의 모드 어댑테이션(mode adaptaion, 모드 적응) 블록을 나타낸다.
멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)을 처리하기 위한 인풋 포맷 블록의 모드 어댑테이션(mode adaptaion, 모드 적응) 블록은 다수 입력 스트림을 독립적으로 처리할 수 있다.
도 3을 참조하면, 멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)을 각각 처리하기 위한 모드 어댑테이션(mode adaptaion, 모드 적응) 블록은 인풋 스트림 스플리터 (input stream splitter) (3000), 인풋 스트림 싱크로나이저 (input stream synchronizer) (3010), 컴펜세이팅 딜레이(compensatin delay, 보상 지연) 블록(3020), 널 패킷 딜리션 블록 (null packet deletion block) (3030), 헤더 컴프레션 블록 (header compression block) (3040), CRC 인코더 (CRC encoder) (3050), BB 프레임 슬라이서(BB frame slicer) (3060), 및 BB 헤더 삽입 블록 (BB header insertion block) (3070)을 포함할 수 있다. 모드 어댑테이션(mode adaptaion, 모드 적응) 블록의 각 블록에 대해 설명한다.
CRC 인코더(3050), BB 프레임 슬라이서(3060), 및 BB 헤더 삽입 블록(3070)의 동작은 도 2를 참조하여 설명한 CRC 인코더, BB 프레임 슬라이서, 및 BB 헤더 삽입 블록의 동작에 해당하므로, 그 설명은 생략한다.
인풋 스트림 스플리터(3000)는 입력된 TS, IP, GS 스트림을 다수의 서비스 또는 서비스 컴포넌트(오디오, 비디오 등) 스트림으로 분할한다.
인풋 스트림 싱크로나이저(3010)는 ISSY라 불릴 수 있다. ISSY는 어떠한 입력 데이터 포맷에 대해서도 CBR (constant bit rate) 및 일정한 종단간 전송(end-to-end transmission) 지연을 보장하는 적합한 수단을 제공할 수 있다. ISSY는 TS를 전달하는 다수의 데이터 파이프의 경우에 항상 이용되고, GS 스트림을 전달하는 다수의 데이터 파이프에 선택적으로 이용된다.
컴펜세이팅 딜레이(compensatin delay, 보상 지연) 블록(3020)은 수신기에서 추가로 메모리를 필요로 하지 않고 TS 패킷 재결합 메커니즘을 허용하기 위해 ISSY 정보의 삽입에 뒤따르는 분할된 TS 패킷 스트림을 지연시킬 수 있다.
널 패킷 딜리션 블록(3030)은 TS 입력 스트림 경우에만 사용된다. 일부 TS 입력 스트림 또는 분할된 TS 스트림은 VBR (variable bit-rate) 서비스를 CBR TS 스트림에 수용하기 위해 존재하는 많은 수의 널 패킷을 가질 수 있다. 이 경우, 불필요한 전송 오버헤드를 피하기 위해, 널 패킷은 확인되어 전송되지 않을 수 있다. 수신기에서, 제거된 널 패킷은 전송에 삽입된 DNP(deleted null-packet, 삭제된 널 패킷) 카운터를 참조하여 원래 존재했던 정확한 장소에 재삽입될 수 있어, CBR이 보장되고 타임 스탬프(PCR) 갱신의 필요가 없어진다.
헤더 컴프레션 블록(3040)은 TS 또는 IP 입력 스트림에 대한 전송 효율을 증가시키기 위해 패킷 헤더 압축을 제공할 수 있다. 수신기는 헤더의 특정 부분에 대한 선험적인(a priori) 정보를 가질 수 있기 때문에, 이 알려진 정보(known information)는 송신기에서 삭제될 수 있다.
TS에 대해, 수신기는 동기 바이트 구성(0x47) 및 패킷 길이(188 바이트)에 관한 선험적인 정보를 가질 수 있다. 입력된 TS가 하나의 PID만을 갖는 콘텐트를 전달하면, 즉, 하나의 서비스 컴포넌트(비디오, 오디오 등) 또는 서비스 서브 컴포넌트(SVC 베이스 레이어, SVC 인헨스먼트 레이어, MVC 베이스 뷰, 또는 MVC 의존 뷰)에 대해서만, TS 패킷 헤더 압축이 TS에 (선택적으로) 적용될 수 있다. TS 패킷 헤더 압축은 입력 스트림이 IP 스트림인 경우 선택적으로 사용된다. 상기 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 4는 본 발명의 일 실시예에 따른 BICM 블록을 나타낸다.
도 4에 도시된 BICM 블록은 도 1을 참조하여 설명한 BICM 블록(1010)의 일 실시예에 해당한다.
전술한 바와 같이, 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 지상파 방송 서비스, 모바일 방송 서비스, UHDTV 서비스 등을 제공할 수 있다.
QoS가 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치에 의해 제공되는 서비스의 특성에 의존하므로, 각각의 서비스에 해당하는 데이터는 서로 다른 방식을 통해 처리되어야 한다. 따라서, 본 발명의 일 실시예에 따른 BICM 블록은 SISO, MISO, MIMO 방식을 각각의 데이터 경로에 해당하는 데이터 파이프에 독립적으로 적용함으로써 각데이터 파이프를 독립적으로 처리할 수 있다. 결과적으로, 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 각각의 데이터 파이프를 통해 전송되는 각 서비스 또는 서비스 컴포넌트에 대한 QoS를 조절할 수 있다.
(a)는 베이스 프로파일 및 핸드헬드 프로파일에 의해 공유되는 BICM 블록을 나타내고, (b)는 어드벤스 프로파일의 BICM 블록을 나타낸다.
베이스 프로파일 및 핸드헬드 프로파일에 의해 공유되는 BICM 블록 및 어드벤스 프로파일의 BICM 블록은 각각의 데이터 파이프를 처리하기 위한 복수의 처리 블록을 포함할 수 있다.
베이스 프로파일 및 핸드헬드 프로파일에 대한 BICM 블록 및 어드벤스 프로파일에 대한 BICM 블록의 각각의 처리 블록에 대해 설명한다.
베이스 프로파일 및 핸드헬드 프로파일에 대한 BICM 블록의 처리 블록(5000)은 데이터 FEC 인코더(5010), 비트 인터리버(5020), 컨스텔레이션 매퍼(mapper)(5030), SSD (signal space diversity) 인코딩 블록(5040), 타임 인터리버(5050)를 포함할 수 있다.
데이터 FEC 인코더(5010)는 외부 코딩(BCH) 및 내부 코딩(LDPC)을 이용하여 FECBLOCK 절차를 생성하기 위해 입력 BBF에 FEC 인코딩을 실행한다. 외부 코딩(BCH)은 선택적인 코딩 방법이다. 데이터 FEC 인코더(5010)의 구체적인 동작에 대해서는 후술한다.
비트 인터리버(5020)는 효율적으로 실현 가능한 구조를 제공하면서 데이터 FEC 인코더(5010)의 출력을 인터리빙하여 LDPC 코드 및 변조 방식의 조합으로 최적화된 성능을 달성할 수 있다. 비트 인터리버(5020)의 구체적인 동작에 대해서는 후술한다.
컨스텔레이션 매퍼(5030)는 QPSK, QAM-16, 불균일 QAM (NUQ-64, NUQ-256, NUQ-1024) 또는 불균일 컨스텔레이션 (NUC-16, NUC-64, NUC-256, NUC-1024)을 이용해서 베이스 및 핸드헬드 프로파일에서 비트 인터리버(5020)로부터의 각각의 셀 워드를 변조하거나 어드벤스 프로파일에서 셀 워드 디멀티플렉서(5010-1)로부터의 셀 워드를 변조하여 파워가 정규화된 컨스텔레이션 포인트 el을 제공할 수 있다. 해당 컨스텔레이션 매핑은 데이터 파이프에 대해서만 적용된다. NUQ가 임의의 형태를 갖는 반면, QAM-16 및 NUQ는 정사각형 모양을 갖는 것이 관찰된다. 각각의 컨스텔레이션이 90도의 배수만큼 회전되면, 회전된 컨스텔레이션은 원래의 것과 정확히 겹쳐진다. 회전 대칭 특성으로 인해 실수 및 허수 컴포넌트의 용량 및 평균 파워가 서로 동일해진다. NUQ 및 NUC는 모두 각 코드 레이트(code rate)에 대해 특별히 정의되고, 사용되는 특정 하나는 PLS2 데이터에 보관된 파라미터 DP_MOD에 의해 시그널링 된다.
타임 인터리버(5050)는 데이터 파이프 레벨에서 동작할 수 있다. 타임 인터리빙의 파라미터는 각각의 데이터 파이프에 대해 다르게 설정될 수 있다. 타임 인터리버(5050)의 구체적인 동작에 관해서는 후술한다.
어드벤스 프로파일에 대한 BICM 블록의 처리 블록(5000-1)은 데이터 FEC 인코더, 비트 인터리버, 컨스텔레이션 매퍼, 및 타임 인터리버를 포함할 수 있다.
단, 처리 블록(5000-1)은 셀 워드 디멀티플렉서(5010-1) 및 MIMO 인코딩 블록(5020-1)을 더 포함한다는 점에서 처리 블록(5000)과 구별된다.
또한, 처리 블록(5000-1)에서의 데이터 FEC 인코더, 비트 인터리버, 컨스텔레이션 매퍼, 타임 인터리버의 동작은 전술한 데이터 FEC 인코더(5010), 비트 인터리버(5020), 컨스텔레이션 매퍼(5030), 타임 인터리버(5050)의 동작에 해당하므로, 그 설명은 생략한다.
셀 워드 디멀티플렉서(5010-1)는 어드벤스 프로파일의 데이터 파이프가 MIMO 처리를 위해 단일 셀 워드 스트림을 이중 셀 워드 스트림으로 분리하는 데 사용된다. 셀 워드 디멀티플렉서(5010-1)의 구체적인 동작에 관해서는 후술한다.
MIMO 인코딩 블록(5020-1)은 MIMO 인코딩 방식을 이용해서 셀 워드 디멀티플렉서(5010-1)의 출력을 처리할 수 있다. MIMO 인코딩 방식은 방송 신호 송신을 위해 최적화되었다. MIMO 기술은 용량 증가를 얻기 위한 유망한 방식이지만, 채널 특성에 의존한다. 특별히 방송에 대해서, 서로 다른 신호 전파 특성으로 인한 두 안테나 사이의 수신 신호 파워 차이 또는 채널의 강한 LOS 컴포넌트는 MIMO로부터 용량 이득을 얻는 것을 어렵게 한다. 제안된 MIMO 인코딩 방식은 MIMO 출력 신호 중 하나의 위상 랜덤화 및 회전 기반 프리코딩을 이용하여 이 문제를 극복한다.
MIMO 인코딩은 송신기 및 수신기 모두에서 적어도 두 개의 안테나를 필요로 하는 2x2 MIMO 시스템을 위해 의도된다. 두 개의 MIMO 인코딩 모드는 본 제안인 FR-SM (full-rate spatial multiplexing) 및 FRFD-SM (full-rate full-diversity spatial multiplexing)에서 정의된다. FR-SM 인코딩은 수신기 측에서의 비교적 작은 복잡도 증가로 용량 증가를 제공하는 반면, FRFD-SM 인코딩은 수신기 측에서의 큰 복잡도 증가로 용량 증가 및 추가적인 다이버시티 이득을 제공한다. 제안된 MIMO 인코딩 방식은 안테나 극성 배치를 제한하지 않는다.
MIMO 처리는 어드벤스 프로파일 프레임에 요구되는데, 이는 어드벤스 프로파일 프레임에서의 모든 데이터 파이프가 MIMO 인코더에 의해 처리된다는 것을 의미한다. MIMO 처리는 데이터 파이프 레벨에서 적용된다. 컨스텔레이션 매퍼 출력의 페어(pair, 쌍)인 NUQ (e1,i 및 e2,i)는 MIMO 인코더의 입력으로 공급된다. MIMO 인코더 출력 페어(pair, 쌍)(g1,i 및 g2,i)은 각각의 송신 안테나의 동일한 캐리어 k 및 OFDM 심볼 l에 의해 전송된다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 5는 본 발명의 다른 실시예에 따른 BICM 블록을 나타낸다.
도 5에 도시된 BICM 블록은 도 1을 참조하여 설명한 BICM 블록(1010)의 일 실시예에 해당한다.
도 5는 PLS, EAC, 및 FIC의 보호를 위한 BICM 블록을 나타낸다. EAC는 EAS 정보 데이터를 전달하는 프레임의 일부이고, FIC는 서비스와 해당하는 베이스 데이터 파이프 사이에서 매핑 정보를 전달하는 프레임에서의 로지컬 채널이다. EAC 및 FIC에 대한 상세한 설명은 후술한다.
도 5를 참조하면, PLS, EAC, 및 FIC의 보호를 위한 BICM 블록은 PLS FEC 인코더(6000), 비트 인터리버(6010), 및 컨스텔레이션 매퍼(6020)를 포함할 수 있다.
또한, PLS FEC 인코더(6000)는 스크램블러, BCH 인코딩/제로 삽입 블록, LDPC 인코딩 블록, 및 LDPC 패리티 펑처링(puncturing) 블록을 포함할 수 있다. BICM 블록의 각 블록에 대해 설명한다.
PLS FEC 인코더(6000)는 스크램블링된 PLS 1/2 데이터, EAC 및 FIC 섹션을 인코딩할 수 있다.
스크램블러는 BCH 인코딩 및 쇼트닝(shortening) 및 펑처링된 LDPC 인코딩 전에 PLS1 데이터 및 PLS2 데이터를 스크램블링 할 수 있다.
BCH 인코딩/제로 삽입 블록은 PLS 보호를 위한 쇼트닝된 BCH 코드를 이용하여 스크램블링된 PLS 1/2 데이터에 외부 인코딩을 수행하고, BCH 인코딩 후에 제로 비트를 삽입할 수 있다. PLS1 데이터에 대해서만, 제로 삽입의 출력 비트가 LDPC 인코딩 전에 퍼뮤테이션(permutation) 될 수 있다.
LDPC 인코딩 블록은 LDPC 코드를 이용하여 BCH 인코딩/제로 삽입 블록의 출력을 인코딩할 수 있다. 완전한 코딩 블록을 생성하기 위해, Cldpc 및 패리티 비트 Pldpc는 각각의 제로가 삽입된 PLS 정보 블록 Ildpc로부터 조직적으로 인코딩되고, 그 뒤에 첨부된다.
수학식 1
Figure PCTKR2015005085-appb-M000001
PLS1 및 PLS2에 대한 LDPC 코드 파라미터는 다음의 표 4와 같다.
표 4
Figure PCTKR2015005085-appb-T000004
LDPC 패리티 펑처링 블록은 PLS1 데이터 및 PLS2 데이터에 대해 펑처링을 수행할 수 있다.
쇼트닝이 PLS1 데이터 보호에 적용되면, 일부 LDPC 패리티 비트는 LDPC 인코딩 후에 펑처링된다. 또한, PLS2 데이터 보호를 위해, PLS2의 LDPC 패리티 비트가 LDPC 인코딩 후에 펑처링된다. 이들 펑처링된 비트는 전송되지 않는다.
비트 인터리버(6010)는 각각의 쇼트닝 및 펑처링된 PLS1 데이터 및 PLS2 데이터를 인터리빙할 수 있다.
컨스텔레이션 매퍼(6020)는 비트 인터리빙된 PLS1 데이터 및 PLS2 데이터를 컨스텔레이션에 매핑할 수 있다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 6은 본 발명의 일 실시예에 따른 프레임 빌딩 블록(frame building block)을 나타낸다.
도 7에 도시한 프레임 빌딩 블록은 도 1을 참조하여 설명한 프레임 빌딩 블록(1020)의 일 실시예에 해당한다.
도 6을 참조하면, 프레임 빌딩 블록은 딜레이 컴펜세이션(delay compensation, 지연보상) 블록(7000), 셀 매퍼 (cell mapper) (7010), 및 프리퀀시 인터리버 (frequency interleaver) (7020)를 포함할 수 있다. 프레임 빌딩 블록의 각 블록에 관해 설명한다.
딜레이 컴펜세이션(delay compensation, 지연보상) 블록(7000)은 데이터 파이프와 해당하는 PLS 데이터 사이의 타이밍을 조절하여 송신기 측에서 데이터 파이프와 해당하는 PLS 데이터 간의 동시성(co-time)을 보장할 수 있다. 인풋 포맷 블록 및 BICM 블록으로 인한 데이터 파이프의 지연을 다룸으로써 PLS 데이터는 데이터 파이프만큼 지연된다. BICM 블록의 지연은 주로 타임 인터리버(5050)로 인한 것이다. 인 밴드(In-band) 시그널링 데이터는 다음 타임 인터리빙 그룹의 정보를 시그널링될 데이터 파이프보다 하나의 프레임 앞서 전달되도록 할 수 있다. 딜레이 컴펜세이션(delay compensation, 지연보상) 블록은 그에 맞추어 인 밴드(In-band) 시그널링 데이터를 지연시킨다.
셀 매퍼(7010)는 PLS, EAC, FIC, 데이터 파이프, 보조 스트림, 및 더미 셀을 프레임 내에서 OFDM 심볼의 액티브(active) 캐리어에 매핑할 수 있다. 셀 매퍼(7010)의 기본 기능은 각각의 데이터 파이프, PLS 셀, 및 EAC/FIC 셀에 대한 타임 인터리빙에 의해 생성된 데이터 셀을, 존재한다면, 하나의 프레임 내에서 각각의 OFDM 심볼에 해당하는 액티브(active) OFDM 셀의 어레이에 매핑하는 것이다. (PSI(program specific information)/SI와 같은) 서비스 시그널링 데이터는 개별적으로 수집되어 데이터 파이프에 의해 보내질 수 있다. 셀 매퍼는 프레임 구조의 구성 및 스케줄러에 의해 생성된 다이나믹 인포메이션(dynamic information, 동적 정보)에 따라 동작한다. 프레임에 관한 자세한 내용은 후술한다.
주파수 인터리버(7020)는 셀 매퍼(7010)로부터 의해 수신된 데이터 셀을 랜덤하게 인터리빙하여 주파수 다이버시티를 제공할 수 있다. 또한, 주파수 인터리버(7020)는 단일 프레임에서 최대의 인터리빙 이득을 얻기 위해 다른 인터리빙 시드(seed) 순서를 이용하여 두 개의 순차적인 OFDM 심볼로 구성된 OFDM 심볼 페어(pair, 쌍)에서 동작할 수 있다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 7은 본 발명의 일 실시예에 따른 OFDM 제너레이션 블록을 나타낸다.
도 7에 도시된 OFDM 제너레이션 블록은 도 1을 참조하여 설명한 OFDM 제너레이션 블록(1030)의 일 실시예에 해당한다.
OFDM 제너레이션 블록은 프레임 빌딩 블록에 의해 생성된 셀에 의해 OFDM 캐리어를 변조하고, 파일럿을 삽입하고, 전송을 위한 시간 영역 신호를 생성한다. 또한, 해당 블록은 순차적으로 가드 인터벌을 삽입하고, PAPR 감소 처리를 적용하여 최종 RF 신호를 생성한다.
도 8을 참조하면, OFDM 제너레이션 블록은 파일럿 및 리저브드 톤 삽입 블록 (pilot and revserved tone insertion block) (8000), 2D-eSFN (single frequency network) 인코딩 블록(8010), IFFT (inverse fast Fourier transform) 블록(8020), PAPR 감소 블록(8030), 가드 인터벌 삽입 블록 (guard interval insertion block)(8040), 프리앰블 삽입 블록 (preamble insertion block)(8050), 기타 시스템 삽입 블록(8060), 및 DAC 블록(8070)을 포함할 수 있다.
기타 시스템 삽입 블록(8060)은 방송 서비스를 제공하는 둘 이상의 서로 다른 방송 송신/수신 시스템의 데이터가 동일한 RF 신호 대역에서 동시에 전송될 수 있도록 시간 영역에서 복수의 방송 송신/수신 시스템의 신호를 멀티플렉싱 할 수 있다. 이 경우, 둘 이상의 서로 다른 방송 송신/수신 시스템은 서로 다른 방송 서비스를 제공하는 시스템을 말한다. 서로 다른 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스 등을 의미할 수 있다.
도 8은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치의 구조를 나타낸다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치는 도 1을 참조하여 설명한 차세대 방송 서비스에 대한 방송 신호 송신 장치에 대응할 수 있다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치는 동기 및 복조 모듈 (synchronization & demodulation module) (9000), 프레임 파싱 모듈 (frame parsing module) (9010), 디매핑 및 디코딩 모듈 (demapping & decoding module) (9020), 출력 프로세서 (output processor) (9030), 및 시그널링 디코딩 모듈 (signaling decoding module) (9040)을 포함할 수 있다. 방송 신호 수신 장치의 각 모듈의 동작에 대해 설명한다.
동기 및 복조 모듈(9000)은 m개의 수신 안테나를 통해 입력 신호를 수신하고, 방송 신호 수신 장치에 해당하는 시스템에 대해 신호 검출 및 동기화를 실행하고, 방송 신호 송신 장치에 의해 실행되는 절차의 역과정에 해당하는 복조를 실행할 수 있다.
프레임 파싱 모듈(9010)은 입력 신호 프레임을 파싱하고, 사용자에 의해 선택된 서비스가 전송되는 데이터를 추출할 수 있다. 방송 신호 송신 장치가 인터리빙을 실행하면, 프레임 파싱 모듈(9010)은 인터리빙의 역과정에 해당하는 디인터리빙을 실행할 수 있다. 이 경우, 추출되어야 하는 신호 및 데이터의 위치가 시그널링 디코딩 모듈(9040)로부터 출력된 데이터를 디코딩함으로써 획득되어, 방송 신호 송신 장치에 의해 생성된 스케줄링 정보가 복원될 수 있다.
디매핑 및 디코딩 모듈(9020)은 입력 신호를 비트 영역 데이터로 변환한 후, 필요에 따라 비트 영역 데이터들을 디인터리빙할 수 있다. 디매핑 및 디코딩 모듈(9020)은 전송 효율을 위해 적용된 매핑에 대한 디매핑을 실행하고, 디코딩을 통해 전송 채널에서 발생한 에러를 정정할 수 있다. 이 경우, 디매핑 및 디코딩 모듈(9020)은 시그널링 디코딩 모듈(9040)로부터 출력된 데이터를 디코딩함으로써 디매핑 및 디코딩을 위해 필요한 전송 파라미터를 획득할 수 있다.
출력 프로세서(9030)는 전송 효율을 향상시키기 위해 방송 신호 송신 장치에 의해 적용되는 다양한 압축/신호 처리 절차의 역과정을 실행할 수 있다. 이 경우, 출력 프로세서(9030)는 시그널링 디코딩 모듈(9040)로부터 출력된 데이터에서 필요한 제어 정보를 획득할 수 있다. 출력 프로세서(8300)의 출력은 방송 신호 송신 장치에 입력되는 신호에 해당하고, MPEG-TS, IP 스트림 (v4 또는 v6) 및 GS일 수 있다.
시그널링 디코딩 모듈(9040)은 동기 및 복조 모듈(9000)에 의해 복조된 신호로부터 PLS 정보를 획득할 수 있다. 전술한 바와 같이, 프레임 파싱 모듈(9010), 디매핑 및 디코딩 모듈(9200), 출력 프로세서(9300)는 시그널링 디코딩 모듈(9040)로부터 출력된 데이터를 이용하여 그 기능을 실행할 수 있다.
도 9는 본 발명의 일 실시예에 따른 프레임 구조를 나타낸다.
도 9는 프레임 타임의 구성예 및 슈퍼 프레임에서의 FRU (frame repetition unit, 프레임 반복 단위)를 나타낸다. (a)는 본 발명의 일 실시예에 따른 슈퍼 프레임을 나타내고, (b)는 본 발명의 일 실시예에 따른 FRU를 나타내고, (c)는 FRU에서의 다양한 피지컬 프로파일(PHY profile)의 프레임을 나타내고, (d)는 프레임의 구조를 나타낸다.
슈퍼 프레임은 8개의 FRU로 구성될 수 있다. FRU는 프레임의 TDM에 대한 기본 멀티플렉싱 단위이고, 슈퍼 프레임에서 8회 반복된다.
FRU에서 각 프레임은 피지컬 프로파일(베이스, 핸드헬드, 어드벤스 프로파일) 중 하나 또는 FEF에 속한다. FRU에서 프레임의 최대 허용수는 4이고, 주어진 피지컬 프로파일은 FRU에서 0회 내지 4회 중 어느 횟수만큼 나타날 수 있다(예를 들면, 베이스, 베이스, 핸드헬드, 어드벤스). 피지컬 프로파일 정의는 필요시 프리앰블에서의 PHY_PROFILE의 리저브드 값을 이용하여 확장될 수 있다.
FEF 부분은 포함된다면 FRU의 끝에 삽입된다. FEF가 FRU에 포함되는 경우, FEF의 최대수는 슈퍼 프레임에서 8이다. FEF 부분들이 서로 인접할 것이 권장되지 않는다.
하나의 프레임은 다수의 OFDM 심볼 및 프리앰블로 더 분리된다. (d)에 도시한 바와 같이, 프레임은 프리앰블, 하나 이상의 FSS, 노멀 데이터 심볼, FES를 포함한다.
프리앰블은 고속 퓨처캐스트 UTB 시스템 신호 검출을 가능하게 하고, 신호의 효율적인 송신 및 수신을 위한 기본 전송 파라미터의 집합을 제공하는 특별한 심볼이다. 프리앰블에 대한 자세한 내용은 후술한다.
FSS의 주된 목적은 PLS 데이터를 전달하는 것이다. 고속 동기화 및 채널 추정을 위해, 이에 따른 PLS 데이터의 고속 디코딩을 위해, FSS는 노멀 데이터 심볼보다 고밀도의 파일럿 패턴을 갖는다. FES는 FSS와 완전히 동일한 파일럿을 갖는데, 이는 FES에 바로 앞서는 심볼에 대해 외삽(extrapolation) 없이 FES 내에서의 주파수만의 인터폴레이션(interpolation, 보간) 및 시간적 보간(temporal interpolation)을 가능하게 한다.
도 10은 본 발명의 일 실시예에 따른 프레임의 시그널링 계층 구조(signaling hierarchy structure) 를 나타낸다.
도 10은 시그널링 계층 구조를 나타내는데, 이는 세 개의 주요 부분인 프리앰블 시그널링 데이터(11000), PLS1 데이터(11010), 및 PLS2 데이터(11020)로 분할된다. 매 프레임마다 프리앰블 신호에 의해 전달되는 프리앰블의 목적은 프레임의 기본 전송 파라미터 및 전송 타입을 나타내는 것이다. PLS1은 수신기가 관심 있는 데이터 파이프에 접속하기 위한 파라미터를 포함하는 PLS2 데이터에 접속하여 디코딩할 수 있게 한다. PLS2는 매 프레임마다 전달되고, 두 개의 주요 부분인 PLS2-STAT 데이터와 PLS2-DYN 데이터로 분할된다. PLS2 데이터의 스태틱(static, 정적) 및 다이나믹(dynamic, 동적) 부분에는 필요시 패딩이 뒤따른다.
도 11은 본 발명의 일 실시예에 따른 프리앰블 시그널링 데이터를 나타낸다.
프리앰블 시그널링 데이터는 수신기가 프레임 구조 내에서 PLS 데이터에 접속하고 데이터 파이프를 추적할 수 있게 하기 위해 필요한 21비트의 정보를 전달한다. 프리앰블 시그널링 데이터에 대한 자세한 내용은 다음과 같다.
PHY_PROFILE: 해당 3비트 필드는 현 프레임의 피지컬 프로파일 타입을 나타낸다. 서로 다른 피지컬 프로파일 타입의 매핑은 아래 표 5에 주어진다.
표 5
Figure PCTKR2015005085-appb-T000005
FFT_SIZE: 해당 2비트 필드는 아래 표 6에서 설명한 바와 같이 프레임 그룹 내에서 현 프레임의 FFT 사이즈를 나타낸다.
표 6
Figure PCTKR2015005085-appb-T000006
GI_FRACTION: 해당 3비트 필드는 아래 표 7에서 설명한 바와 같이 현 슈퍼 프레임에서의 가드 인터벌 일부(fraction) 값을 나타낸다.
표 7
Figure PCTKR2015005085-appb-T000007
EAC_FLAG: 해당 1비트 필드는 EAC가 현 프레임에 제공되는지 여부를 나타낸다. 해당 필드가 1로 설정되면, EAS가 현 프레임에 제공된다. 해당 필드가 0으로 설정되면, EAS가 현 프레임에서 전달되지 않는다. 해당 필드는 슈퍼 프레임 내에서 다이나믹(dynamic, 동적)으로 전환될 수 있다.
PILOT_MODE: 해당 1비트 필드는 현 프레임 그룹에서 현 프레임에 대해 파일럿 모드가 모바일 모드인지 또는 고정 모드인지 여부를 나타낸다. 해당 필드가 0으로 설정되면, 모바일 파일럿 모드가 사용된다. 해당 필드가 1로 설정되면, 고정 파일럿 모드가 사용된다.
PAPR_FLAG: 해당 1비트 필드는 현 프레임 그룹에서 현 프레임에 대해 PAPR 감소가 사용되는지 여부를 나타낸다. 해당 필드가 1로 설정되면, 톤 예약(tone reservation)이 PAPR 감소를 위해 사용된다. 해당 필드가 0으로 설정되면, PAPR 감소가 사용되지 않는다.
FRU_CONFIGURE: 해당 3비트 필드는 현 슈퍼 프레임에서 존재하는 FRU의 피지컬 프로파일 타입 구성을 나타낸다. 현 슈퍼 프레임에서 모든 프리앰블에서의 해당 필드에서, 현 슈퍼 프레임에서 전달되는 모든 프로파일 타입이 식별된다. 해당 3비트 필드는 아래 표 8에 나타낸 바와 같이 각각의 프로파일에 대해 다르게 정의된다.
표 8
Figure PCTKR2015005085-appb-T000008
RESERVED: 해당 7비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
도 12는 본 발명의 일 실시예에 따른 PLS1 데이터를 나타낸다.
PLS1 데이터는 PLS2의 수신 및 디코딩을 가능하게 하기 위해 필요한 파라미터를 포함한 기본 전송 파라미터를 제공한다. 전술한 바와 같이, PLS1 데이터는 하나의 프레임 그룹의 전체 듀레이션 동안 변화하지 않는다. PLS1 데이터의 시그널링 필드의 구체적인 정의는 다음과 같다.
PREAMBLE_DATA: 해당 20비트 필드는 EAC_FLAG를 제외한 프리앰블 시그널링 데이터의 카피이다.
NUM_FRAME_FRU: 해당 2비트 필드는 FRU당 프레임 수를 나타낸다.
PAYLOAD_TYPE: 해당 3비트 필드는 프레임 그룹에서 전달되는 페이로드 데이터의 포맷을 나타낸다. PAYLOAD_TYPE은 표 9에 나타낸 바와 같이 시그널링 된다.
표 9
Figure PCTKR2015005085-appb-T000009
NUM_FSS: 해당 2비트 필드는 현 프레임에서 FSS의 수를 나타낸다.
SYSTEM_VERSION: 해당 8비트 필드는 전송되는 신호 포맷의 버전을 나타낸다. SYSTEM_VERSION은 주 버전 및 부 버전의 두 개의 4비트 필드로 분리된다.
주 버전: SYSTEM_VERSION 필드의 MSB인 4비트는 주 버전 정보를 나타낸다. 주 버전 필드에서의 변화는 호환이 불가능한 변화를 나타낸다. 디폴트 값은 0000이다. 해당 표준에서 서술된 버전에 대해, 값이 0000으로 설정된다.
부 버전: SYSTEM_VERSION 필드의 LSB인 4비트는 부 버전 정보를 나타낸다. 부 버전 필드에서의 변화는 호환이 가능하다.
CELL_ID: 이는 ATSC 네트워크에서 지리적 셀을 유일하게 식별하는 16비트 필드이다. ATSC 셀 커버리지는 퓨처캐스트 UTB 시스템당 사용되는 주파수 수에 따라 하나 이상의 주파수로 구성될 수 있다. CELL_ID의 값이 알려지지 않거나 특정되지 않으면, 해당 필드는 0으로 설정된다.
NETWORK_ID: 이는 현 ATSC 네트워크를 유일하게 식별하는 16비트 필드이다.
SYSTEM_ID: 해당 16비트 필드는 ATSC 네트워크 내에서 퓨처캐스트 UTB 시스템을 유일하게 식별한다. 퓨처캐스트 UTB 시스템은 입력이 하나 이상의 입력 스트림(TS, IP, GS)이고 출력이 RF 신호인 지상파 방송 시스템이다. 퓨처캐스트 UTB 시스템은 존재한다면 FEF 및 하나 이상의 피지컬 프로파일을 전달한다. 동일한 퓨처캐스트 UTB 시스템은 서로 다른 입력 스트림을 전달하고 서로 다른 지리적 영역에서 서로 다른 RF를 사용할 수 있어, 로컬 서비스 삽입을 허용한다. 프레임 구조 및 스케줄링은 하나의 장소에서 제어되고, 퓨처캐스트 UTB 시스템 내에서 모든 전송에 대해 동일하다. 하나 이상의 퓨처캐스트 UTB 시스템은 모두 동일한 피지컬 구조 및 구성을 갖는다는 동일한 SYSTEM_ID 의미를 가질 수 있다.
다음의 루프(loop)는 각 프레임 타입의 길이 및 FRU 구성을 나타내는 FRU_PHY_PROFILE, FRU_FRAME_LENGTH, FRU_GI_FRACTION, RESERVED로 구성된다. 루프(loop) 사이즈는 FRU 내에서 4개의 피지컬 프로파일(FEF 포함)이 시그널링되도록 고정된다. NUM_FRAME_FRU가 4보다 작으면, 사용되지 않는 필드는 제로로 채워진다.
FRU_PHY_PROFILE: 해당 3비트 필드는 관련된 FRU의 (i+1)번째 프레임(i는 루프(loop) 인덱스)의 피지컬 프로파일 타입을 나타낸다. 해당 필드는 표 8에 나타낸 것과 동일한 시그널링 포맷을 사용한다.
FRU_FRAME_LENGTH: 해당 2비트 필드는 관련된 FRU의 (i+1)번째 프레임의 길이를 나타낸다. FRU_GI_FRACTION와 함께 FRU_FRAME_LENGTH를 사용하면, 프레임 듀레이션의 정확한 값이 얻어질 수 있다.
FRU_GI_FRACTION: 해당 3비트 필드는 관련된 FRU의 (i+1)번째 프레임의 가드 인터벌 일부 값을 나타낸다. FRU_GI_FRACTION은 표 7에 따라 시그널링 된다.
RESERVED: 해당 4비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음의 필드는 PLS2 데이터를 디코딩하기 위한 파라미터를 제공한다.
PLS2_FEC_TYPE: 해당 2비트 필드는 PLS2 보호에 의해 사용되는 FEC 타입을 나타낸다. FEC 타입은 표 10에 따라 시그널링 된다. LDPC 코드에 대한 자세한 내용은 후술한다.
표 10
Figure PCTKR2015005085-appb-T000010
PLS2_MOD: 해당 3비트 필드는 PLS2에 의해 사용되는 변조 타입을 나타낸다. 변조 타입은 표 11에 따라 시그널링 된다.
표 11
Figure PCTKR2015005085-appb-T000011
PLS2_SIZE_CELL: 해당 15비트 필드는 현 프레임 그룹에서 전달되는 PLS2에 대한 모든 코딩 블록의 사이즈(QAM 셀의 수로 특정됨)인 C total_partial_block 를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_STAT_SIZE_BIT: 해당 14비트 필드는 현 프레임 그룹에 대한 PLS2-STAT의 사이즈를 비트수로 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_DYN_SIZE_BIT: 해당 14비트 필드는 현 프레임 그룹에 대한 PLS2-DYN의 사이즈를 비트수로 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_REP_FLAG: 해당 1비트 플래그는 PLS2 반복 모드가 현 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, PLS2 반복 모드는 활성화된다. 해당 필드의 값이 0으로 설정되면, PLS2 반복 모드는 비활성화된다.
PLS2_REP_SIZE_CELL: 해당 15비트 필드는 PLS2 반복이 사용되는 경우 현 프레임 그룹의 매 프레임마다 전달되는 PLS2에 대한 부분 코딩 블록의 사이즈(QAM 셀의 수로 특정됨)인 Ctotal_partial_block를 나타낸다. 반복이 사용되지 않는 경우, 해당 필드의 값은 0과 동일하다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_NEXT_FEC_TYPE: 해당 2비트 필드는 다음 프레임 그룹의 매 프레임에서 전달되는 PLS2에 사용되는 FEC 타입을 나타낸다. FEC 타입은 표 10에 따라 시그널링 된다.
PLS2_NEXT_MOD: 해당 3비트 필드는 다음 프레임 그룹의 매 프레임에서 전달되는 PLS2에 사용되는 변조 타입을 나타낸다. 변조 타입은 표 11에 따라 시그널링 된다.
PLS2_NEXT_REP_FLAG: 해당 1비트 플래그는 PLS2 반복 모드가 다음 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, PLS2 반복 모드는 활성화된다. 해당 필드의 값이 0으로 설정되면, PLS2 반복 모드는 비활성화된다.
PLS2_NEXT_REP_SIZE_CELL: 해당 15비트 필드는 PLS2 반복이 사용되는 경우 다음 프레임 그룹의 매 프레임마다 전달되는 PLS2에 대한 전체 코딩 블록의 사이즈(QAM 셀의 수로 특정됨)인 Ctotal_full_block를 나타낸다. 다음 프레임 그룹에서 반복이 사용되지 않는 경우, 해당 필드의 값은 0과 동일하다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_NEXT_REP_STAT_SIZE_BIT: 해당 14비트 필드는 다음 프레임 그룹에 대한 PLS2-STAT의 사이즈를 비트수로 나타낸다. 해당 값은 현 프레임 그룹에서 일정하다.
PLS2_NEXT_REP_DYN_SIZE_BIT: 해당 14비트 필드는 다음 프레임 그룹에 대한 PLS2-DYN의 사이즈를 비트수로 나타낸다. 해당 값은 현 프레임 그룹에서 일정하다.
PLS2_AP_MODE: 해당 2비트 필드는 현 프레임 그룹에서 PLS2에 대해 추가 패리티가 제공되는지 여부를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다. 아래의 표 12는 해당 필드의 값을 제공한다. 해당 필드의 값이 00으로 설정되면, 현 프레임 그룹에서 추가 패리티가 PLS2에 대해 사용되지 않는다.
표 12
Figure PCTKR2015005085-appb-T000012
PLS2_AP_SIZE_CELL: 해당 15비트 필드는 PLS2의 추가 패리티 비트의 사이즈(QAM 셀의 수로 특정됨)를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_NEXT_AP_MODE: 해당 2비트 필드는 다음 프레임 그룹의 매 프레임마다 PLS2 시그널링에 대해 추가 패리티가 제공되는지 여부를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다. 표 12는 해당 필드의 값을 정의한다.
PLS2_NEXT_AP_SIZE_CELL: 해당 15비트 필드는 다음 프레임 그룹의 매 프레임마다 PLS2의 추가 패리티 비트의 사이즈(QAM 셀의 수로 특정됨)를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
RESERVED: 해당 32비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
CRC_32: 전체 PLS1 시그널링에 적용되는 32비트 에러 검출 코드
도 13은 본 발명의 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 13은 PLS2 데이터의 PLS2-STAT 데이터를 나타낸다. PLS2-STAT 데이터는 프레임 그룹 내에서 동일한 반면, PLS2-DYN 데이터는 현 프레임에 대해 특정한 정보를 제공한다.
PLS2-STAT 데이터의 필드에 대해 다음에 구체적으로 설명한다.
FIC_FLAG: 해당 1비트 필드는 FIC가 현 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, FIC는 현 프레임에서 제공된다. 해당 필드의 값이 0으로 설정되면, FIC는 현 프레임에서 전달되지 않는다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
AUX_FLAG: 해당 1비트 필드는 보조 스트림이 현 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, 보조 스트림은 현 프레임에서 제공된다. 해당 필드의 값이 0으로 설정되면, 보조 프레임은 현 프레임에서 전달되지 않는다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
*NUM_DP: 해당 6비트 필드는 현 프레임 내에서 전달되는 데이터 파이프의 수를 나타낸다. 해당 필드의 값은 1에서 64 사이이고, 데이터 파이프의 수는 NUM_DP+1이다.
DP_ID: 해당 6비트 필드는 피지컬 프로파일 내에서 유일하게 식별한다.
DP_TYPE: 해당 3비트 필드는 데이터 파이프의 타입을 나타낸다. 이는 아래의 표 13에 따라 시그널링 된다.
표 13
Figure PCTKR2015005085-appb-T000013
DP_GROUP_ID: 해당 8비트 필드는 현 데이터 파이프가 관련되어 있는 데이터 파이프 그룹을 식별한다. 이는 수신기가 동일한 DP_GROUP_ID를 갖게 되는 특정 서비스와 관련되어 있는 서비스 컴포넌트의 데이터 파이프에 접속하는 데 사용될 수 있다.
BASE_DP_ID: 해당 6비트 필드는 관리 계층에서 사용되는 (PSI/SI와 같은) 서비스 시그널링 데이터를 전달하는 데이터 파이프를 나타낸다. BASE_DP_ID에 의해 나타내는 데이터 파이프는 서비스 데이터와 함께 서비스 시그널링 데이터를 전달하는 노멀 데이터 파이프이거나, 서비스 시그널링 데이터만을 전달하는 전용 데이터 파이프일 수 있다.
DP_FEC_TYPE: 해당 2비트 필드는 관련된 데이터 파이프에 의해 사용되는 FEC 타입을 나타낸다. FEC 타입은 아래의 표 14에 따라 시그널링 된다.
표 14
Figure PCTKR2015005085-appb-T000014
DP_COD: 해당 4비트 필드는 관련된 데이터 파이프에 의해 사용되는 코드 레이트(code rate)을 나타낸다. 코드 레이트(code rate)은 아래의 표 15에 따라 시그널링 된다.
표 15
Figure PCTKR2015005085-appb-T000015
DP_MOD: 해당 4비트 필드는 관련된 데이터 파이프에 의해 사용되는 변조를 나타낸다. 변조는 아래의 표 16에 따라 시그널링 된다.
표 16
Figure PCTKR2015005085-appb-T000016
DP_SSD_FLAG: 해당 1비트 필드는 SSD 모드가 관련된 데이터 파이프에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, SSD는 사용된다. 해당 필드의 값이 0으로 설정되면, SSD는 사용되지 않는다.
다음의 필드는 PHY_PROFILE가 어드벤스 프로파일을 나타내는 010과 동일할 때에만 나타난다.
DP_MIMO: 해당 3비트 필드는 어떤 타입의 MIMO 인코딩 처리가 관련된 데이터 파이프에 적용되는지 나타낸다. MIMO 인코딩 처리의 타입은 아래의 표 17에 따라 시그널링 된다.
표 17
Figure PCTKR2015005085-appb-T000017
DP_TI_TYPE: 해당 1비트 필드는 타임 인터리빙의 타입을 나타낸다. 0의 값은 하나의 타임 인터리빙 그룹이 하나의 프레임에 해당하고 하나 이상의 타임 인터리빙 블록을 포함하는 것을 나타낸다. 1의 값은 하나의 타임 인터리빙 그룹이 하나보다 많은 프레임으로 전달되고 하나의 타임 인터리빙 블록만을 포함하는 것을 나타낸다.
DP_TI_LENGTH: 해당 2비트 필드(허용된 값은 1, 2, 4, 8뿐이다)의 사용은 다음과 같은 DP_TI_TYPE 필드 내에서 설정되는 값에 의해 결정된다.
DP_TI_TYPE의 값이 1로 설정되면, 해당 필드는 각각의 타임 인터리빙 그룹이 매핑되는 프레임의 수인 PI를 나타내고, 타임 인터리빙 그룹당 하나의 타임 인터리빙 블록이 존재한다 (NTI=1). 해당 2비트 필드로 허용되는 PI의 값은 아래의 표 18에 정의된다.
DP_TI_TYPE의 값이 0으로 설정되면, 해당 필드는 타임 인터리빙 그룹당 타임 인터리빙 블록의 수 NTI를 나타내고, 프레임당 하나의 타임 인터리빙 그룹이 존재한다 (PI=1). 해당 2비트 필드로 허용되는 PI의 값은 아래의 표 18에 정의된다.
표 18
Figure PCTKR2015005085-appb-T000018
DP_FRAME_INTERVAL: 해당 2비트 필드는 관련된 데이터 파이프에 대한 프레임 그룹 내에서 프레임 간격(IJUMP)을 나타내고, 허용된 값은 1, 2, 4, 8 (해당하는 2비트 필드는 각각 00, 01, 10, 11)이다. 프레임 그룹의 모든 프레임에 나타나지 않는 데이터 파이프에 대해, 해당 필드의 값은 순차적인 프레임 사이의 간격과 동일하다. 예를 들면, 데이터 파이프가 1, 5, 9, 13 등의 프레임에 나타나면, 해당 필드의 값은 4로 설정된다. 모든 프레임에 나타나는 데이터 파이프에 대해, 해당 필드의 값은 1로 설정된다.
DP_TI_BYPASS: 해당 1비트 필드는 타임 인터리버(5050)의 가용성을 결정한다. 데이터 파이프에 대해 타임 인터리빙이 사용되지 않으면, 해당 필드 값은 1로 설정된다. 반면, 타임 인터리빙이 사용되면, 해당 필드 값은 0으로 설정된다.
DP_FIRST_FRAME_IDX: 해당 5비트 필드는 현 데이터 파이프가 발생하는 슈퍼 프레임의 첫 번째 프레임의 인덱스를 나타낸다. DP_FIRST_FRAME_IDX의 값은 0에서 31 사이다.
DP_NUM_BLOCK_MAX: 해당 10비트 필드는 해당 데이터 파이프에 대한 DP_NUM_BLOCKS의 최대값을 나타낸다. 해당 필드의 값은 DP_NUM_BLOCKS와 동일한 범위를 갖는다.
DP_PAYLOAD_TYPE: 해당 2비트 필드는 주어진 데이터 파이프에 의해 전달되는 페이로드 데이터의 타입을 나타낸다. DP_PAYLOAD_TYPE은 아래의 표 19에 따라 시그널링 된다.
표 19
Figure PCTKR2015005085-appb-T000019
DP_INBAND_MODE: 해당 2비트 필드는 현 데이터 파이프가 인 밴드(In-band) 시그널링 정보를 전달하는지 여부를 나타낸다. 인 밴드(In-band) 시그널링 타입은 아래의 표 20에 따라 시그널링 된다.
표 20
Figure PCTKR2015005085-appb-T000020
DP_PROTOCOL_TYPE: 해당 2비트 필드는 주어진 데이터 파이프에 의해 전달되는 페이로드의 프로토콜 타입을 나타낸다. 페이로드의 프로토콜 타입은 입력 페이로드 타입이 선택되면 아래의 표 21에 따라 시그널링 된다.
표 21
Figure PCTKR2015005085-appb-T000021
DP_CRC_MODE: 해당 2비트 필드는 CRC 인코딩이 인풋 포맷 블록에서 사용되는지 여부를 나타낸다. CRC 모드는 아래의 표 22에 따라 시그널링 된다.
표 22
Figure PCTKR2015005085-appb-T000022
DNP_MODE: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 널 패킷 삭제 모드를 나타낸다. DNP_MODE는 아래의 표 23에 따라 시그널링 된다. DP_PAYLOAD_TYPE이 TS ('00')가 아니면, DNP_MODE는 00의 값으로 설정된다.
표 23
Figure PCTKR2015005085-appb-T000023
ISSY_MODE: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 ISSY 모드를 나타낸다. ISSY_MODE는 아래의 표 24에 따라 시그널링 된다. DP_PAYLOAD_TYPE이 TS ('00')가 아니면, ISSY_MODE는 00의 값으로 설정된다.
표 24
Figure PCTKR2015005085-appb-T000024
HC_MODE_TS: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 TS 헤더 압축 모드를 나타낸다. HC_MODE_TS는 아래의 표 25에 따라 시그널링 된다.
표 25
Figure PCTKR2015005085-appb-T000025
HC_MODE_IP: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 IP ('01')로 설정되는 경우에 IP 헤더 압축 모드를 나타낸다. HC_MODE_IP는 아래의 표 26에 따라 시그널링 된다.
표 26
Figure PCTKR2015005085-appb-T000026
PID: 해당 13비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되고 HC_MODE_TS가 01 또는 10으로 설정되는 경우에 TS 헤더 압축을 위한 PID 수를 나타낸다.
RESERVED: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음 필드는 FIC_FLAG가 1과 동일할 때만 나타난다.
FIC_VERSION: 해당 8비트 필드는 FIC의 버전 넘버를 나타낸다.
FIC_LENGTH_BYTE: 해당 13비트 필드는 FIC의 길이를 바이트 단위로 나타낸다.
RESERVED: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음 필드는 AUX_FLAG가 1과 동일할 때만 나타난다.
NUM_AUX: 해당 4비트 필드는 보조 스트림의 수를 나타낸다. 제로는 보조 스트림이 사용되지 않는 것을 나타낸다.
AUX_CONFIG_RFU: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
AUX_STREAM_TYPE: 해당 4비트는 현 보조 스트림의 타입을 나타내기 위한 추후 사용을 위해 리저브드(reserved)된다.
AUX_PRIVATE_CONFIG: 해당 28비트 필드는 보조 스트림을 시그널링 하기 위한 추후 사용을 위해 리저브드(reserved)된다.
도 14는 본 발명의 다른 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 14는 PLS2 데이터의 PLS2-DYN을 나타낸다. PLS2-DYN 데이터의 값은 하나의 프레임 그룹의 듀레이션 동안 변화할 수 있는 반면, 필드의 사이즈는 일정하다.
PLS2-DYN 데이터의 필드의 구체적인 내용은 다음과 같다.
FRAME_INDEX: 해당 5비트 필드는 슈퍼 프레임 내에서 현 프레임의 프레임 인덱스를 나타낸다. 슈퍼 프레임의 첫 번째 프레임의 인덱스는 0으로 설정된다.
PLS_CHANGE_COUNTER: 해당 4비트 필드는 구성이 변화하기 전의 슈퍼 프레임의 수를 나타낸다. 구성이 변화하는 다음 슈퍼 프레임은 해당 필드 내에서 시그널링 되는 값에 의해 나타낸다. 해당 필드의 값이 0000으로 설정되면, 이는 어떠한 예정된 변화도 예측되지 않는 것을 의미한다. 예를 들면, 1의 값은 다음 슈퍼 프레임에 변화가 있다는 것을 나타낸다.
FIC_CHANGE_COUNTER: 해당 4비트 필드는 구성(즉, FIC의 콘텐츠)이 변화하기 전의 슈퍼 프레임의 수를 나타낸다. 구성이 변화하는 다음 슈퍼 프레임은 해당 필드 내에서 시그널링 되는 값에 의해 나타낸다. 해당 필드의 값이 0000으로 설정되면, 이는 어떠한 예정된 변화도 예측되지 않는 것을 의미한다. 예를 들면, 0001의 값은 다음 슈퍼 프레임에 변화가 있다는 것을 나타낸다.
RESERVED: 해당 16비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음 필드는 현 프레임에서 전달되는 데이터 파이프와 관련된 파라미터를 설명하는 NUM_DP에서의 루프(loop)에 나타난다.
DP_ID: 해당 6비트 필드는 피지컬 프로파일 내에서 데이터 파이프를 유일하게 나타낸다.
DP_START: 해당 15비트 (또는 13비트) 필드는 DPU 어드레싱(addressing) 기법을 사용하여 데이터 파이프의 첫 번째의 시작 위치를 나타낸다. DP_START 필드는 아래의 표 27에 나타낸 바와 같이 피지컬 프로파일 및 FFT 사이즈에 따라 다른 길이를 갖는다.
표 27
Figure PCTKR2015005085-appb-T000027
DP_NUM_BLOCK: 해당 10비트 필드는 현 데이터 파이프에 대한 현 타임 인터리빙 그룹에서 FEC 블록의 수를 나타낸다. DP_NUM_BLOCK의 값은 0에서 1023 사이에 있다.
RESERVED: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음의 필드는 EAC와 관련된 FIC 파라미터를 나타낸다.
EAC_FLAG: 해당 1비트 필드는 현 프레임에서 EAC의 존재를 나타낸다. 해당 비트는 프리앰블에서 EAC_FLAG와 같은 값이다.
EAS_WAKE_UP_VERSION_NUM: 해당 8비트 필드는 자동 활성화 지시의 버전 넘버를 나타낸다.
EAC_FLAG 필드가 1과 동일하면, 다음의 12비트가 EAC_LENGTH_BYTE 필드에 할당된다. EAC_FLAG 필드가 0과 동일하면, 다음의 12비트가 EAC_COUNTER에 할당된다.
EAC_LENGTH_BYTE: 해당 12비트 필드는 EAC의 길이를 바이트로 나타낸다.
EAC_COUNTER: 해당 12비트 필드는 EAC가 도달하는 프레임 전의 프레임의 수를 나타낸다.
다음 필드는 AUX_FLAG 필드가 1과 동일한 경우에만 나타난다.
AUX_PRIVATE_DYN: 해당 48비트 필드는 보조 스트림을 시그널링 하기 위한 추후 사용을 위해 리저브드(reserved)된다. 해당 필드의 의미는 설정 가능한 PLS2-STAT에서 AUX_STREAM_TYPE의 값에 의존한다.
CRC_32: 전체 PLS2에 적용되는 32비트 에러 검출 코드.
도 15는 본 발명의 일 실시예에 따른 프레임의 로지컬(logical) 구조를 나타낸다.
전술한 바와 같이, PLS, EAC, FIC, 데이터 파이프, 보조 스트림, 더미 셀은 프레임에서 OFDM 심볼의 액티브(active) 캐리어에 매핑된다. PLS1 및 PLS2는 처음에 하나 이상의 FSS에 매핑된다. 그 후, EAC가 존재한다면 EAC 셀은 바로 뒤따르는 PLS 필드에 매핑된다. 다음에 FIC가 존재한다면 FIC 셀이 매핑된다. 데이터 파이프는 PLS 다음에 매핑되거나, EAC 또는 FIC가 존재하는 경우, EAC 또는 FIC 이후에 매핑된다. 타입 1 데이터 파이프가 처음에 매핑되고, 타입 2 데이터 파이프가 다음에 매핑된다. 데이터 파이프의 타입의 구체적인 내용은 후술한다. 일부 경우, 데이터 파이프는 EAS에 대한 일부 특수 데이터 또는 서비스 시그널링 데이터를 전달할 수 있다. 보조 스트림 또는 스트림은 존재한다면 데이터 파이프를 다음에 매핑되고 여기에는 차례로 더미 셀이 뒤따른다. 전술한 순서, 즉, PLS, EAC, FIC, 데이터 파이프, 보조 스트림, 및 더미 셀의 순서로 모두 함께 매핑하면 프레임에서 셀 용량을 정확히 채운다.
도 16은 본 발명의 일 실시예에 따른 PLS 매핑을 나타낸다.
PLS 셀은 FSS의 액티브(active) 캐리어에 매핑된다. PLS가 차지하는 셀의 수에 따라, 하나 이상의 심볼이 FSS로 지정되고, FSS의 수 NFSS는 PLS1에서의 NUM_FSS에 의해 시그널링된다. FSS는 PLS 셀을 전달하는 특수한 심볼이다. 경고성 및 지연 시간(latency)은 PLS에서 중대한 사안이므로, FSS는 높은 파일럿 밀도를 가지고 있어 고속 동기화 및 FSS 내에서의 주파수만의 인터폴레이션(interpoloation, 보간)을 가능하게 한다.
PLS 셀은 도 16의 예에 나타낸 바와 같이 하향식으로 FSS의 액티브(active) 캐리어에 매핑된다. PLS1 셀은 처음에 첫 FSS의 첫 셀부터 셀 인덱스의 오름차순으로 매핑된다. PLS2 셀은 PLS1의 마지막 셀 직후에 뒤따르고, 매핑은 첫 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 PLS 셀의 총 수가 하나의 FSS의 액티브(active) 캐리어의 수를 초과하면, 매핑은 다음 FSS로 진행되고 첫 FSS와 완전히 동일한 방식으로 계속된다.
PLS 매핑이 완료된 후, 데이터 파이프가 다음에 전달된다. EAC, FIC 또는 둘 다 현 프레임에 존재하면, EAC 및 FIC는PLS와 노멀 데이터 파이프 사이에 배치된다.
도 17은 본 발명의 일 실시예에 따른 EAC 매핑을 나타낸다.
EAC는 EAS 메시지를 전달하는 전용 채널이고 EAS에 대한 데이터 파이프에 연결된다. EAS 지원은 제공되지만, EAC 자체는 모든 프레임에 존재할 수도 있고 존재하지 않을 수도 있다. EAC가 존재하는 경우, EAC는 PLS2 셀의 직후에 매핑된다. PLS 셀을 제외하고 FIC, 데이터 파이프, 보조 스트림 또는 더미 셀 중 어느 것도 EAC 앞에 위치하지 않는다. EAC 셀의 매핑 절차는 PLS와 완전히 동일하다.
EAC 셀은 도 17의 예에 나타낸 바와 같이 PLS2의 다음 셀부터 셀 인덱스의 오름차순으로 매핑된다. EAS 메시지 크기에 따라, 도 17에 나타낸 바와 같이 EAC 셀은 적은 심볼을 차지할 수 있다.
EAC 셀은 PLS2의 마지막 셀 직후에 뒤따르고, 매핑은 마지막 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 EAC 셀의 총 수가 마지막 FSS의 남아 있는 액티브(active) 캐리어의 수를 초과하면, EAC 매핑은 다음 심볼로 진행되며, FSS와 완전히 동일한 방식으로 계속된다. 이 경우 EAC의 매핑이 이루어지는 다음 심볼은 노멀 데이터 심볼이고, 이는 FSS보다 더 많은 액티브(active) 캐리어를 갖는다.
EAC 매핑이 완료된 후, 존재한다면 FIC가 다음에 전달된다. FIC가 전송되지 않으면(PLS2 필드에서 시그널링으로), 데이터 파이프가 EAC의 마지막 셀 직후에 뒤따른다.
도 18은 본 발명의 일 실시예에 따른 FIC 매핑을 나타낸다.
(a)는 EAC 없이 FIC 셀의 매핑의 예를 나타내고, (b)는 EAC와 함께 FIC 셀의 매핑의 예를 나타낸다.
FIC는 고속 서비스 획득 및 채널 스캔을 가능하게 하기 위해 계층간 정보(cross-layer information)를 전달하는 전용 채널이다. 해당 정보는 주로 데이터 파이프 사이의 채널 바인딩 (channel binding) 정보 및 각 방송사의 서비스를 포함한다. 고속 스캔을 위해, 수신기는 FIC를 디코딩하고 방송사 ID, 서비스 수, BASE_DP_ID와 같은 정보를 획득할 수 있다. 고속 서비스 획득을 위해, FIC뿐만 아니라 베이스 데이터 파이프도 BASE_DP_ID를 이용해서 디코딩 될 수 있다. 베이스 데이터 파이프가 전송하는 콘텐트를 제외하고, 베이스 데이터 파이프는 노멀 데이터 파이프와 정확히 동일한 방식으로 인코딩되어 프레임에 매핑된다. 따라서, 베이스 데이터 파이프에 대한 추가 설명이 필요하지 않다. FIC 데이터가 생성되어 관리 계층에서 소비된다. FIC 데이터의 콘텐트는 관리 계층 사양에 설명된 바와 같다.
FIC 데이터는 선택적이고, FIC의 사용은 PLS2의 스태틱(static, 정적)인 부분에서 FIC_FLAG 파라미터에 의해 시그널링 된다. FIC가 사용되면, FIC_FLAG는 1로 설정되고, FIC에 대한 시그널링 필드는 PLS2의 스태틱(static, 정적)인 부분에서 정의된다. 해당 필드에서 시그널링되는 것은 FIC_VERSION이고, FIC_LENGTH_BYTE. FIC는 PLS2와 동일한 변조, 코딩, 타임 인터리빙 파라미터를 사용한다. FIC는 PLS2_MOD 및 PLS2_FEC와 같은 동일한 시그널링 파라미터를 공유한다. FIC 데이터는 존재한다면 PLS2 후에 매핑되거나, EAC가 존재하는 경우 EAC 직후에 매핑된다. 노멀 데이터 파이프, 보조 스트림, 또는 더미 셀 중 어느 것도 FIC 앞에 위치하지 않는다. FIC 셀을 매핑하는 방법은 EAC와 완전히 동일하고, 이는 다시 PLS와 동일하다.
PLS 후의 EAC가 존재하지 않는 경우, FIC 셀은 (a)의 예에 나타낸 바와 같이 PLS2의 다음 셀부터 셀 인덱스의 오름차순으로 매핑된다. FIC 데이터 사이즈에 따라, (b)에 나타낸 바와 같이, FIC 셀은 수 개의 심볼에 대해서 매핑된다.
FIC 셀은 PLS2의 마지막 셀 직후에 뒤따르고, 매핑은 마지막 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 FIC 셀의 총 수가 마지막 FSS의 남아 있는 액티브(active) 캐리어의 수를 초과하면, 나머지 FIC 셀의 매핑은 다음 심볼로 진행되며 이는 FSS와 완전히 동일한 방식으로 계속된다. 이 경우, FIC가 매핑되는 다음 심볼은 노멀 데이터 심볼이며, 이는 FSS보다 더 많은 액티브(active) 캐리어를 갖는다.
EAS 메시지가 현 프레임에서 전송되면, EAC는 FIC 보다 먼저 매핑되고 (b)에 나타낸 바와 같이 EAC의 다음 셀부터 FIC 셀은 셀 인덱스의 오름차순으로 매핑된다.
FIC 매핑이 완료된 후, 하나 이상의 데이터 파이프가 매핑되고, 이후 존재한다면 보조 스트림, 더미 셀이 뒤따른다.
도 19는 본 발명의 일 실시예에 따른 FEC 구조를 나타낸다.
도 19는 비트 인터리빙 전의 본 발명의 일 실시예에 따른 FEC 구조를 나타낸다. 전술한 바와 같이, 데이터 FEC 인코더는 외부 코딩(BCH) 및 내부 코딩(LDPC)을 이용하여 FECBLOCK 절차를 생성하기 위해 입력 BBF에 FEC 인코딩을 실행할 수 있다. 도시된 FEC 구조는 FECBLOCK에 해당한다. 또한, FECBLOCK 및 FEC 구조는 LDPC 코드워드의 길이에 해당하는 동일한 값을 갖는다.
도 19에 도시된 바와 같이, BCH 인코딩이 각각의 BBF(Kbch 비트)에 적용된 후, LDPC 인코딩이 BCH - 인코딩된 BBF(Kldpc 비트 = Nbch 비트)에 적용된다.
Nldpc의 값은 64800 비트 (롱 FECBLOCK) 또는 16200 비트 (쇼트 FECBLOCK)이다.
아래의 표 28 및 표 29는 롱 FECBLOCK 및 쇼트 FECBLOCK 각각에 대한 FEC 인코딩 파라미터를 나타낸다.
표 28
Figure PCTKR2015005085-appb-T000028
표 29
Figure PCTKR2015005085-appb-T000029
BCH 인코딩 및 LDPC 인코딩의 구체적인 동작은 다음과 같다.
12-에러 정정 BCH 코드가 BBF의 외부 인코딩에 사용된다. 쇼트 FECBLOCK 및 롱 FECBLOCK에 대한 BBF 생성 다항식은 모든 다항식을 곱함으로써 얻어진다.
LDPC 코드는 외부 BCH 인코딩의 출력을 인코딩하는 데 사용된다. 완성된 Bldpc (FECBLOCK)를 생성하기 위해, Pldpc (패리티 비트)가 각각의 Ildpc (BCH - 인코딩된 BBF)로부터 조직적으로 인코딩되고, Ildpc에 첨부된다. 완성된 Bldpc (FECBLOCK)는 다음의 수학식으로 표현된다.
수학식 2
Figure PCTKR2015005085-appb-M000002
롱 FECBLOCK 및 쇼트 FECBLOCK에 대한 파라미터는 위의 표 28 및 29에 각각 주어진다.
롱 FECBLOCK에 대해 Nldpc - Kldpc 패리티 비트를 계산하는 구체적인 절차는 다음과 같다.
1) 패리티 비트 초기화
수학식 3
Figure PCTKR2015005085-appb-M000003
2) 패리티 체크 매트릭스의 어드레스의 첫 번째 행에서 특정된 패리티 비트 어드레스에서 첫 번째 정보 비트 i0 누산(accumulate). 패리티 체크 매트릭스의 어드레스의 상세한 내용은 후술한다. 예를 들면, 비율 13/15에 대해,
수학식 4
Figure PCTKR2015005085-appb-M000004
3) 다음 359개의 정보 비트 is, s=1, 2, …, 359에 대해, 다음의 수학식을 이용하여 패리티 비트 어드레스에서 is 누산(accumulate).
수학식 5
Figure PCTKR2015005085-appb-M000005
여기서, x는 첫 번째 비트 i0에 해당하는 패리티 비트 누산기의 어드레스를 나타내고, Qldpc는 패리티 체크 매트릭스의 어드레서에서 특정된 코드 레이트(code rate) 의존 상수이다. 상기 예인, 비율 13/15에 대한, 따라서 정보 비트 i1에 대한 Qldpc = 24에 계속해서, 다음 동작이 실행된다.
수학식 6
Figure PCTKR2015005085-appb-M000006
4) 361번째 정보 비트 i360에 대해, 패리티 비트 누산기의 어드레스는 패리티 체크 매트릭스의 어드레스의 두 번째 행에 주어진다. 마찬가지 방식으로, 다음 359개의 정보 비트 is, s= 361, 362, …, 719에 대한 패리티 비트 누산기의 어드레스는 수학식 6을 이용하여 얻어진다. 여기서, x는 정보 비트 i360에 해당하는 패리티 비트 누산기의 어드레스, 즉 패리티 체크 매트릭스의 두 번째 행의 엔트리를 나타낸다.
5) 마찬가지 방식으로, 360개의 새로운 정보 비트의 모든 그룹에 대해, 패리티 체크 매트릭스의 어드레스로부터의 새로운 행은 패리티 비트 누산기의 어드레스를 구하는 데 사용된다.
모든 정보 비트가 이용된 후, 최종 패리티 비트가 다음과 같이 얻어진다.
6) i=1로 시작해서 다음 동작을 순차적으로 실행
수학식 7
Figure PCTKR2015005085-appb-M000007
여기서 pi, i=0,1,...Nldpc - Kldpc - 1의 최종 콘텐트는 패리티 비트 pi와 동일하다.
표 30
Figure PCTKR2015005085-appb-T000030
표 30을 표 31로 대체하고, 롱 FECBLOCK에 대한 패리티 체크 매트릭스의 어드레스를 쇼트 FECBLOCK에 대한 패리티 체크 매트릭스의 어드레스로 대체하는 것을 제외하고, 쇼트 FECBLOCK에 대한 해당 LDPC 인코딩 절차는 롱 FECBLOCK에 대한 t LDPC 인코딩 절차에 따른다.
표 31
Figure PCTKR2015005085-appb-T000031
도 20은 본 발명의 일 실시예에 따른 타임 인터리빙을 나타낸다.
(a) 내지 (c)는 타임 인터리빙 모드의 예를 나타낸다.
타임 인터리버는 데이터 파이프 레벨에서 동작한다. 타임 인터리빙의 파라미터는 각각의 데이터 파이프에 대해 다르게 설정될 수 있다.
PLS2-STAT 데이터의 일부에 나타나는 다음의 파라미터는 타임 인터리빙을 구성한다.
DP_TI_TYPE (허용된 값: 0 또는 1): 타임 인터리빙 모드를 나타낸다. 0은 타임 인터리빙 그룹당 다수의 타임 인터리빙 블록(하나 이상의 타임 인터리빙 블록)을 갖는 모드를 나타낸다. 이 경우, 하나의 타임 인터리빙 그룹은 하나의 프레임에 (프레임간 인터리빙 없이) 직접 매핑된다. 1은 타임 인터리빙 그룹당 하나의 타임 인터리빙 블록만을 갖는 모드를 나타낸다. 이 경우, 타임 인터리빙 블록은 하나 이상의 프레임에 걸쳐 확산된다(프레임간 인터리빙).
DP_TI_LENGTH: DP_TI_TYPE = '0'이면, 해당 파라미터는 타임 인터리빙 그룹당 타임 인터리빙 블록의 수 NTI이다. DP_TI_TYPE = '1'인 경우, 해당 파라미터는 하나의 타임 인터리빙 그룹으로부터 확산되는 프레임의 수 PI이다.
DP_NUM_BLOCK_MAX (허용된 값: 0 내지 1023): 타임 인터리빙 그룹당 XFECBLOCK의 최대 수를 나타낸다.
DP_FRAME_INTERVAL (허용된 값: 1, 2, 4, 8): 주어진 피지컬 프로파일의 동일한 데이터 파이프를 전달하는 두 개의 순차적인 프레임 사이의 프레임의 수 IJUMP를 나타낸다.
DP_TI_BYPASS (허용된 값: 0 또는 1): 타임 인터리빙이 데이터 프레임에 이용되지 않으면, 해당 파라미터는 1로 설정된다. 타임 인터리빙이 이용되면, 0으로 설정된다.
추가로, PLS2-DYN 데이터로부터의 파라미터 DP_NUM_BLOCK은 데이터 그룹의 하나의 타임 인터리빙 그룹에 의해 전달되는 XFECBLOCK의 수를 나타낸다.
타임 인터리빙이 데이터 프레임에 이용되지 않으면, 다음의 타임 인터리빙 그룹, 타임 인터리빙 동작, 타임 인터리빙 모드는 고려되지 않는다. 그러나 스케줄러부터의 다이나믹(dynamic, 동적) 구성 정보를 위한 딜레이 컴펜세이션(delay compensation, 지연보상) 블록은 여전히 필요하다. 각각의 데이터 파이프에서, SSD/MIMO 인코딩으로부터 수신한 XFECBLOCK은 타임 인터리빙 그룹으로 그루핑된다. 즉, 각각의 타임 인터리빙 그룹은 정수 개의 XFECBLOCK의 집합이고, 다이나믹(dynamic, 동적)으로 변화하는 수의 XFECBLOCK을 포함할 것이다. 인덱스 n의 타임 인터리빙 그룹에 있는 XFECBLOCK의 수는 NxBLOCK_Group(n)로 나타내고, PLS2-DYN 데이터에서 DP_NUM_BLOCK으로 시그널링된다. 이때, NxBLOCK_Group(n)은 최소값 0에서 가장 큰 값이 1023인 최대값 NxBLOCK_Group_MAX (DP_NUM_BLOCK_MAX에 해당)까지 변화할 수 있다.
각각의 타임 인터리빙 그룹은 하나의 프레임에 직접 매핑되거나 PI개의 프레임에 걸쳐 확산된다. 또한 각각의 타임 인터리빙 그룹은 하나 이상(NTI개)의 타임 인터리빙 블록으로 분리된다. 여기서 각각의 타임 인터리빙 블록은 타임 인터리버 메모리의 하나의 사용에 해당한다. 타임 인터리빙 그룹 내의 타임 인터리빙 블록은 약간의 다른 수의 XFECBLOCK을 포함할 수 있다. 타임 인터리빙 그룹이 다수의 타임 인터리빙 블록으로 분리되면, 타임 인터리빙 그룹은 하나의 프레임에만 직접 매핑된다. 아래의 표 32에 나타낸 바와 같이, 타임 인터리빙에는 세 가지 옵션이 있다(타임 인터리빙을 생략하는 추가 옵션 제외).
표 32
Figure PCTKR2015005085-appb-T000032
일반적으로, 타임 인터리버는 프레임 생성 과정 이전에 데이터 파이프 데이터에 대한 버퍼로도 작용할 것이다. 이는 각각의 데이터 파이프에 대해 2개의 메모리 뱅크로 달성된다. 첫 번째 타임 인터리빙 블록은 첫 번째 뱅크에 기입된다. 첫 번째 뱅크에서 판독되는 동안 두 번째 타임 인터리빙 블록이 두 번째 뱅크에 기입된다.
타임 인터리빙은 트위스트된 행-열 블록 인터리버이다. n번째 타임 인터리빙 그룹의 s번째 타임 인터리빙 블록에 대해, 열의 수 Nc 가 NxBLOCK_TI(n,s) 와 동일한 반면, 타임 인터리빙 메모리의 행의 수 Nr 는 셀의 수 Ncells 와 동일하다 (즉, Nr = Ncells).
도 21은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 기본 동작을 나타낸다.
도 21(a)는 타임 인터리버에서 기입 동작을 나타내고, 도 21(b)는 타임 인터리버에서 판독 동작을 나타낸다. (a)에 나타낸 바와 같이, 첫 번째 XFECBLOCK은 타임 인터리빙 메모리의 첫 번째 열에 열 방향으로 기입되고, 두 번째 XFECBLOCK은 다음 열에 기입되고, 이러한 동작이 이어진다. 그리고 인터리빙 어레이에서, 셀이 대각선 방향으로 판독된다. (b)에 나타낸 바와 같이 첫 번째 행으로부터 (가장 왼쪽 열을 시작으로 행을 따라 오른쪽으로) 마지막 행까지 대각선 방향 판독이 진행되는 동안,
Figure PCTKR2015005085-appb-I000001
개의 셀이 판독된다. 구체적으로,
Figure PCTKR2015005085-appb-I000002
이 순차적으로 판독될 타임 인터리빙 메모리 셀 위치라고 가정하면, 이러한 인터리빙 어레이에서의 판독 동작은 아래 식에서와 같이 행 인덱스
Figure PCTKR2015005085-appb-I000003
, 열 인덱스
Figure PCTKR2015005085-appb-I000004
, 관련된 트위스트 파라미터
Figure PCTKR2015005085-appb-I000005
를 산출함으로써 실행된다.
수학식 8
Figure PCTKR2015005085-appb-M000008
여기서,
Figure PCTKR2015005085-appb-I000006
Figure PCTKR2015005085-appb-I000007
에 상관없이 대각선 방향 판독 과정에 대한 공통 시프트 값이고, 시프트 값은 아래 식에서와 같이 PLS2-STAT에서 주어진
Figure PCTKR2015005085-appb-I000008
에 의해 결정된다.
수학식 9
Figure PCTKR2015005085-appb-M000009
결과적으로, 판독될 셀 위치는 좌표
Figure PCTKR2015005085-appb-I000009
에 의해 산출된다.
도 22는 본 발명의 다른 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 동작을 나타낸다.
더 구체적으로, 도 22는
Figure PCTKR2015005085-appb-I000010
,
Figure PCTKR2015005085-appb-I000011
,
Figure PCTKR2015005085-appb-I000012
일 때 가상 XFECBLOCK을 포함하는 각각의 타임 인터리빙 그룹에 대한 타임 인터리빙 메모리에서 인터리빙 어레이를 나타낸다.
변수
Figure PCTKR2015005085-appb-I000013
Figure PCTKR2015005085-appb-I000014
보다 작거나 같을 것이다. 따라서,
Figure PCTKR2015005085-appb-I000015
에 상관없이 수신기 측에서 단일 메모리 디인터리빙을 달성하기 위해, 트위스트된 행-열 블록 인터리버용 인터리빙 어레이는 가상 XFECBLOCK을 타임 인터리빙 메모리에 삽입함으로써
Figure PCTKR2015005085-appb-I000016
의 크기로 설정되고, 판독 과정은 다음 식과 같이 이루어진다.
수학식 10
Figure PCTKR2015005085-appb-M000010
타임 인터리빙 그룹의 수는 3으로 설정된다. 타임 인터리버의 옵션은 DP_TI_TYPE='0', DP_FRAME_INTERVAL='1', DP_TI_LENGTH='1', 즉 NTI=1, IJUMP=1, PI=1에 의해 PLS2-STAT 데이터에서 시그널링된다. 각각 Ncells = 30인 XFECBLOCK의 타임 인터리빙 그룹당 수는 각각의 NxBLOCK_TI(0,0) = 3, NxBLOCK_TI(1,0) = 6, NxBLOCK_TI(2,0) = 5에 의해 PLS2-DYN 데이터에서 시그널링된다. XFECBLOCK의 최대 수는 NxBLOCK_Group_MAX에 의해 PLS2-STAT 데이터에서 시그널링 되고, 이는
Figure PCTKR2015005085-appb-I000017
로 이어진다.
도 23은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 대각선 방향 판독 패턴을 나타낸다.
더 구체적으로, 도 23은 파라미터
Figure PCTKR2015005085-appb-I000018
및 Sshift=(7-1)/2=3을 갖는 각각의 인터리빙 어레이로부터의 대각선 방향 판독 패턴을 나타낸다. 이때 위에 유사 코드로 나타낸 판독 과정에서,
Figure PCTKR2015005085-appb-I000019
이면, Vi의 값이 생략되고, Vi의 다음 계산값이 사용된다.
도 24는 본 발명의 일 실시예에 따른 각각의 인터리빙 어레이로부터의 인터리빙된 XFECBLOCK을 나타낸다.
도 24는 파라미터
Figure PCTKR2015005085-appb-I000020
및 Sshift=3을 갖는 각각의 인터리빙 어레이로부터 인터리빙된 XFECBLOCK을 나타낸다.
도 25는 본 발명의 일 실시예에 따른, 하이브리드 (hybrid) 방송 수신기를 나타낸 도면이다.
본 발명의 일 실시예에 따른 하이브리드 방송 수신기는, 기존의 방송 신호를 수신할 수 있다. 또한, 하이브리드 방송 수신기는 IP 패킷으로 전송되는 데이터를 수신할 수 있는 네트워크 인터페이스를 포함한다.
본 발명의 일 실시예에 따른, 하이브리드 방송 수신기는, 튜너 (J25010; Tuner), 물리적 계층 제어부 (J25020; Physical Layer Controller), 물리적 프레임 파서 (J25030; Physical Frame Parser), 링크 계층 프레임 프로세서 (J25040; Link Layer Frame Processor), IP/UDP 데이터그램 필터 (J25050; IP/UDP Datagram Filter), 타이밍 제어부 (J25060; Timing Control), 시스템 클락 처리부 (J25070; System Clock), ALC/LCT+ 클라이언트 (J25080; ALC/LCT+ Client), 파일 처리부 (J25090; Files), DTV 제어 엔진 (J25100; ATSC3.0 DTV Control Engine), 시그널링 파서 (J25110; Signaling Parser), 채널 맵 처리부 (J25120; Channel Map), HTTP 서버 (J25130; HTTP Server), HTTP 어세스 클라이언트 (J25140; HTTP Access Client), HTTP 캐쉬 (J25150; HTTP Cache), DASH 클라이언트 (J25160; DASH Client), ISO BMFF 파서 (J25170; ISO BMFF Parser) 및/또는 미디어 디코더 (J25180; Media Decoder) 를 포함한다.
튜너 (J25010; Tuner)는 방송 신호를 수신한다. 튜너는 방송 신호에서 특정 주파수로의 튜닝을 하여, 해당 주파수의 방송 신호를 수신할 수 있다. 튜너는 방송 신호에 포함된 물리적 프레임 (Physical Frame) 을 추출할 수 있다.
물리적 계층 제어부 (J25020; Physical Layer Controller)는 물리적 계층에서의 방송 신호에 처리와 관련한 제어를 수행한다. 물리적 계층 제어부는 전송 파라미터 또는 시그널링 데이터에서 획득한 정보를 바탕으로, 특정 방송 서비스를 획득하기 위하여 튜닝하여야 하는 주파수에 대한 정보를 튜너로 전달하여, 튜너가 해당 주파수로 튜닝할 수 있도록 제어할 수 있다. 물리적 계층 제어부는 전송 파라미터 또는 시그널링 데이터에서 획득한 정보를 바탕으로, 특정 방송 서비스 또는 방송 컨텐츠를 획득하기 위하여 접근/추출하여야 하는 DP (Data Pipe) 를 식별하는 정보 (DP ID)를 물리적 프레임 파서로 전달하여, 물리적 프레임 파서가 해당 DP를 식별하고, 이를 파싱할 수 있도록 제어한다.
물리적 프레임 파서 (J25030; Physical Frame Parser)는 방송 신호 내의 물리적 프레임을 파싱한다. 물리적 프레임은 물리적 계층에서의 처리를 위한 데이터의 단위를 나타낸다. 물리적 프레임 파서는 물리적 프레임을 파싱하여, 링크 계층 프레임을 추출할 수 있다. 물리적 프레임 파서는 물리적 프레임을 파싱하는 과정에서, 특정 DP를 포함하는 링크 계층 프레임을 추출하기 위하여, DP ID (Data pipe Identifier)를 이용하여, 해당 DP ID가지는 링크 계층 프레임을 추출할 수 있다. 물리적 프레임 파서는, 시그널링 데이터를 추출할 수 있다. 물리적 프레임 파서는 시그널링 데이터를 포함하는 DP (예를 들면, base DP)를 추출하거나, 시그널링 데이터를 전송하는 시그널링 채널을 식별하여, 해당 채널에서 전송되는 시그널링 데이터를 추출할 수 있다.
링크 계층 프레임 프로세서 (J25040; Link Layer Frame Processor)는 링크 계층 프레임을 처리한다. 링크 계층 프레임 프로세서 는 링크 계층 프레임에서 IP/UDP 데이터그램을 추출한다. 링크 계층 프로세서는 링크 계층에서 전달되는 시그널링 데이터를 추출할 수 있다. 링크 계층에서 전달되는 시그널링 데이터는, 링크 계층보다 상위 계층에서의 데이터에 대한 정보를 포함할 수 있다. 예를 들면, 링크 계층에서 전달되는 시그널링 데이터는, IP 패킷의 형태, IP 패킷의 헤더들 내에서 공통되는 정보의 내용, 및/또는 IP 헤더에 대한 압축이 적용된 경우, 헤어 압축에 대한 정보를 포함할 수 있다.
IP/UDP 데이터그램 필터 (J25050; IP/UDP Datagram Filter)는 특정 IP/UDP 데이터그램을 식별하고, 이를 추출할 수 있다. IP/UDP 데이터그램 필터는 특정 IP 패킷을 추출할 수 있고, 이 과정에서, IP/Port 정보를 사용할 수 있다. IP/UDP 데이터그램 필터는 특정 패킷을 포함하는 IP/UDP 데이터그램을 추출하여, 해당 데이터그램 내의 패킷을 수신기의 각 장치로 전송할 수 있다. IP/UDP 데이터그램 필터는 IP/UDP 데이터그램에서 방송 데이터를 전송하는 ALC/LCT + (Asynchronous Layered Coding / Layered Coding Transport +) 패킷, 방송 시스템, 방송 수신기, 및/또는 방송 서비스/컨텐츠 사이의 동기를 위한 데이터를 포함하는 타임라인 패킷 (Timeline Packet), 및/또는 시그널링 데이터를 전송하는 시그널링 패킷 (Signaling Packet)을 추출할 수 있다.
타이밍 제어부 (J25060; Timing Control)는 하나 이상의 소스 (source)로부터 전송되는 전송 스트림들 사이의 동기를 맞추는 역할을 수행한다. 하나 이상의 소스로부터 전송되는 전송 스트림들 사이의 동기를 맞추기 위하여 필요한 정보는 타입라인 패킷의 형태로 전송될 수 있다. 타이밍 제어부는 수신한 패킷 또는 패킷 내의 데이터를 방송 시스템 클락 (system clock) 에 동기를 맞추는 역할을 수행할 수 있다. 타이밍 제어부는 방송 수신기의 클락과 방송 시스템의 클락을 동기화하는 역할을 수행할 수 있다.
시스템 클락 처리부 (J25070; System Clock)는 wall-clock time에 대한 정보를 수신하여, 시스템의 클락을 제어한다.
ALC/LCT+ 클라이언트 (J25080; ALC/LCT+ Client)는 어플리케이션 계층의 프로토콜에 따른 패킷을 처리한다. 따라서, ALC/LCT+ 클라이언트 (J25080; ALC/LCT+ Client)는 어플리케이션 계층 전송 프로토콜 클라이언트로 명명될 수도 있다. 어플리케이션 계층의 프로토콜 패킷은 해당 계층에 적용되는 프로토콜에 따라 다양한 명칭을 가질 수 있으나, 본원에서는 어플리케이션 계층 전송 프로토콜 패킷 또는 패킷으로 명명하기로 한다. 어플리케이션 계층 전송 프로토콜 패킷에는 ALC/LCT 패킷, ALC/LCT+ 패킷, ROUTE 패킷, 및/또는 MMT 패킷이 포함될 수 있다.
어플리케이션 계층 전송 프로토콜 패킷을 파싱 또는 디코딩한다. ALC/LCT+ 클라이언트는 어플리케이션 계층 전송 프로토콜 패킷에서 일반적인 데이터를 전송하는 파일 (file)을 추출하거나, ISO BMFF (ISO base media file format) object 데이터를 추출할 수 있다. ALC/LCT+ 클라이언트는 ISO BMFF object 데이터를 추출하는 과정에서, timing과 관련된 정보를 추가로 획득할 수 있다. ALC/LCT+ 클라이언트는 일반적인 파일 및/또는 ISO BMFF object 데이터를 추출하는 과정에서, 전송 모드 (delivery mode) 및/또는 TSI (Transport Session Identifier) 정보를 이용할 수 있다.
파일 처리부 (J25090; Files)는 파일들을 저장하거나, 파일들에 대한 처리를 수행한다.
DTV 제어 엔진 (J25100; ATSC3.0 DTV Control Engine)은 각 방송 채널에 대한 정보를 포함하는 채널 맵에 대한 정보를 이용하여, 방송 데이터를 처리하는 일련의 동작을 제어한다. DTV 제어 엔진은 UI (User Interface) 에 의한 사용자 입력 또는 시스템 상의 이벤트 (event) 를 수신하고, 이를 처리한다. DTV 제어 엔진은 전송 파라미터를 이용하여, 물리적 계층 제어부를 제어하여, 물리적 계층 제어부가 물리적 계층에서 방송 신호에 대한 처리를 제어할 수 있도록 하는 역할을 수행한다. DTV 제어 엔진은 MPEG-DASH (Moving Picture Expert Group - Dynamic Adaptive Streaming over HTTP) 와 관련한 데이터를 방송 수신기가 처리하는 경우, MPD (Media Presentation Description)를 추출하거나, MPD를 획득할 수 있는 위치 정보 (예를 들면, URL - Uniform Resource Locator 정보)를 추출하여, MPEG-DASH 와 관련한 데이터를 처리하는 장치로 전달한다.
시그널링 파서 (J25110; Signaling Parser)는 시그널링 패킷 또는 시그널링 비트스트림을 수신하여, 시그널링 정보를 파싱한다. 시그널링 정보에는 채널 맵을 생성하기 위하여 필요한 정보가 포함될 수 있다.
채널 맵 처리부 (J25120; Channel Map)는 시그널링 정보를 이용하여, 채널 맵을 생성하고 이를 저장한다.
HTTP 서버 (J25130; HTTP Server)는 HTTP (HyperText Transfer Protocol)를 이용하여 데이터 또는 패킷을 전달한다. HTTP 서버는 방송 수신기의 요구 (request)를 수신하고, 이에 대한 응답 (response)를 방송 수신기로 전달한다. HTTP 서버는 방송 수신기 외부에 구비될 수도 있고, 방송 수신기 내부에 구비될 수도 있다.
HTTP 어세스 클라이언트 (J25140; HTTP Access Client)는 HTTP 서버와의 통신을 처리한다. HTTP 어세스 클라이언트는 DASH client의 요구를 HTTP 서버에 전달하거나, HTTP 서버의 응답을 DASH client에 전달하는 역할을 수행한다.
HTTP 캐쉬 (J25150; HTTP Cache)는 HTTP로 전송되는 데이터의 일부 또는 전부를 캐쉬 (Cache) 하는 역할을 수행한다.
DASH 클라이언트 (J25160; DASH Client)는 MPEG-DASH와 관련된 데이터를 처리하는 일련의 동작을 수행한다. DASH 클라이언트는 MPD를 HTTP 서버에 요청하거나 이에 대한 응답으로 수신하거나, 다른 경로를 통하여 MPD를 수신한다. DASH 클라이언트는 MPD를 이용하여, 특정 방송 서비스 또는 컨텐츠를 위한 DASH 세그먼트를 추출한다. DASH 클라이언트에서 추출되는 DASH 세그먼트는 ISO BMFF 파일의 형태일 수 있다. DASH 클라이언트는 UI에 의한 입력이나, 시스템 이벤트에 의한 입력을 수신하여, 이와 관련된 데이터를 처리한다.
ISO BMFF 파서 (J25170; ISO BMFF Parser)는 ISO BMFF object 데이터 및/또는 ISO BMFF 파일을 파싱한다. ISO BMFF 파서는 ISO BMFF object 데이터 및/또는 ISO BMFF 파일을 파싱하여 어세스 유닛 (Access Unit), 타이밍 정보, 및/또는 디코딩에 필요한 정보를 추출할 수 있다. 어세스 유닛은 미디어를 위한 데이터를 포함할 수 있다.
미디어 디코더 (J25180; Media Decoder)는 Access Unit, 타이밍 정보, 및/또는 디코딩에 필요한 정보를 이용하여, 미디어 (방송 서비스, 방송 컨텐츠 또는 이벤트)를 디코딩한다.
도 26은 본 발명의 일 실시예에 따른, 하이브리드 방송 수신기에서 서비스 스캐닝 (scanning) 을 수행하는 동작을 나타낸 도면이다.
본 발명의 일 실시예에 따른 방송 수신기의 서비스 스캐닝은, 물리적 계층 제어부 (J25020) 이, 튜너 (J25010)를 제어하여, 각각의 주파수의 채널에 대하여, 튜너가 스캐닝을 수행한다.
튜너 (J25010)는 각각의 채널에서의 방송 신호를 수신한다. 튜너 (J25010)는 방송 신호에서 물리적 프레임을 추출할 수도 있다. 튜너 (J25010)는 방송 신호 또는 물리적 프레임을 물리적 프레임 파서 (J25030)에 전송한다.
물리적 프레임 파서 (J25030)는 시그널링 정보를 전송하는 시그널링 비트스트림을 추출한다. 물리적 프레임 파서 (J25030)는 시그널링 비트스트림을 시그널링 파서 (J250110)으로 전송한다.
시그널링 파서 (J25110)는 시그널링 비트스트림에서 시그널링 정보를 추출한다. 시그널링 파서 (J25110)는 시그널링 정보를 채널 맵 처리부 (J25120) 으로 전달한다.
도 27은 본 발명의 일 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
DTV 제어 엔진 (J25100) 은 사용자 또는 방송 이벤트에 의한 서비스를 선택하는 제어 신호를 수신한다. DTV 제어 엔진 (J25100)은 채널 맵 처리부 등에 저장된 채널 맵 또는 시그널링 정보에서, 선택된 서비스를 전송하는 채널의 주파수, DP 식별 정보, 컴포넌트 식별 정보 및/또는 데이터그램 식별하는 정보를 추출하여, 물리적 계층 제어부 (J25020) 및/또는 IP/UDP 데이터그램 필터 (J25050)으로 전달한다.
물리적 계층 제어부 (J25020)는 주파수 정보를 이용하여, 튜너 (J25010) 가 선택된 서비스를 전송하는 채널로의 튜닝을 수행할 수 있도록 제어하고, DP 식별 정보를 이용하여, 물리적 프레임 파서 (J25030) 가 선택된 서비스를 전송하는 DP를 추출하도록 제어한다.
추출된 DP는 링크 계층 프레임 프로세서 (J25040) 에서 처리하여, IP/UDP 데이터그램들을 추출한다.
IP/UDP 데이터그램 필터 (J25050)은 IP/Port 정보를 이용하여, 시그널링 패킷을 전송하는 특정 IP/UDP 데이터그램 또는 특정 IP 패킷을 필터링하고, 해당 데이터그램에서 시그널링 패킷을 추출하여, 시그널링 파서 (J25110)으로 전달한다.
도 28은 본 발명의 일 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
본 도면에서는, 전술한 방송 수신기에서의 서비스 선택을 수행하는 동작에 이어서, 수행되는 방송 수신기의 동작을 나타낸다.
DTV 제어 엔진은 채널 맵의 정보에 따라, 사용자가 선택한 방송 서비스 또는 방송 컨텐츠에 대한 패킷을 전송하는 DP를 식별하는 정보, 해당 패킷을 전송하는 전송 모드를 식별하는 정보, 해당 패킷에 대한 TSI 정보 및/또는 해당 패킷의 IP/Port 정보를 획득한다.
DTV 제어 엔진은 DP를 식별하는 정보를 물리적 계층 제어부로 전송할 수 있다. DTV 제어 엔진은 해당 패킷의 IP/Port 정보를 IP/UDP 데이터그램 필터로 전송할 수 있다. DTV 제어 엔진은 해당 패킷에 대한 TSI 정보 및/또는 해당 패킷을 전송하는 전송 모드를 식별하는 정보를 ALC/LCT+클라이언트로 전송할 수 있다.
물리적 계층 제어부는 DP ID (Data Pipe identifier) 를 물리적 프레임 파서로 전달한다.
물리적 프레임 파서는 DP ID를 이용하여, 사용자가 선택한 방송 서비스 또는 방송 컨텐츠에 대한 패킷을 전송하는 DP를 식별하고, 해당 DP를 파싱한다. 물리적 프레임 파서는 DP에서 링크 계층 프레임을 추출해낼 수 있다.
링크 계층 프레임 프로세서는 링크 계층 프레임에서 IP/UDP 데이터그램을 파싱한다. 링크 계층 프레임 프로세서는 사용자가 선택한 방송 서비스 또는 방송 컨텐츠와 관련된 IP/UDP 데이터그램 및/또는 IP 패킷을 추출할 수 있다.
IP/UDP 데이터그램 필터는 사용자가 선택한 방송 서비스 또는 방송 컨텐츠와 관련된 데이터를 포함하는 패킷 (예를 들면, 어플리케이션 계층 전송 프로토콜 패킷) 을 추출한다. IP/UDP 데이터그램 필터는 방송 서비스 및/또는 방송 컨텐트의 방송 시스템과의 동기를 위한 정보를 포함하는 타임라인 패킷을 추출할 수 있다.
ALC/LCT+클라이언트는 수신한 패킷에서 ISO BMFF object 데이터 및/또는 타이밍 관련 정보를 추출하고, ISO BMFF 파서로 전송할 수 있다.
이후 데이터의 처리는 전술한 각 장치에 대한 설명으로 대체한다.
도 29는 본 발명의 다른 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
본 도면에서는, 도 27에 대한 설명에서 전술한 방송 수신기에서의 서비스 선택을 수행하는 동작에 이어서, 수행되는 방송 수신기의 동작을 나타낸다.
DTV 제어 엔진은 채널 맵 또는 시그널링 정보를 통하여, 사용자가 선택한 방송 서비스 또는 방송 컨텐츠에 관한 정보를 포함하는 MPD를 획득하거나, 해당 MPD를 제공하는 서버 또는 저장소의 위치를 획득한다. DTV 제어 엔진은은 MPD 또는 MPD의 위치를 DASH 클라이언트로 전달한다.
DASH 클라이언트는 MPD를 획득하고, MPD 내에서, 사용자가 선택한 미디어 (방송 서비스 또는 방송 컨텐츠) 에 포함되는 데이터인 세그먼트를 제공하는 위치에 대한 정보 (예를 들면, segment URL) 를 추출한다. DASH 클라이언트는 세그먼트에 대한 요청을 HTTP 어세스 클라이언트에 전송한다.
HTTP 어세스 클라이언트는 세그먼트의 위치에 대한 정보를 이용하여, 해당 세그먼트를 제공하는 서버에 접속하여, 해당 세그먼트를 획득하고, 이를 DASH 클라이언트에 전달한다.
DASH 클라이언트는 수신한 세그먼트에서 파일 (예를 들면, ISO BMFF 파일)을 추출하고, ISO BMFF 파서로 전달한다.
이후 데이터의 처리는 전술한 각 장치에 대한 설명으로 대체한다.
본 도면에 나타난 실시예에 따르면, 방송망이 아닌 HTTP 를 이용하는 통신망을 통하여, 미디어를 수신할 수 있다.
도 30은 본 발명의 일 실시예에 따른 하이브리드 방송 수신기의 블록도를 나타낸 도면이다.
하이브리드 방송 수신기는 차세대 방송 시스템의 DTV 서비스에서 지상파 방송과 브로드밴드의 연동을 통한 하이브리드 방송 서비스를 수신할 수 있다. 하이브리드 방송 수신기는 지상파 방송을 통해서 전송되는 방송 오디오/비디오 (Audio/Video, A/V) 컨텐츠를 수신하고, 이와 연관된 enhancement data 혹은 방송 A/V 컨텐츠의 일부를 브로드밴드를 통하여 실시간으로 수신할 수 있다. 본 명세서에서 방송 오디오/비디오 (Audio/Video, A/V) 컨텐츠는 미디어 컨텐츠로 지칭할 수 있다.
하이브리드 방송 수신기는 물리 계층 컨트롤러 (Physical Layer Controller, D25010), 튜너 (Tuner, D25020), 물리적 프레임 파서 (Physical Frame Parser, D25030), 링크 계층 파서 (Link Layer Frame Parser, D25040), IP/UDP 데이터그램 필터 (IP/UDP Datagram Filter, D25050), ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (ATSC 3.0 DTV Control Engine, D25060), ALC/LCT+ 클라이언트 (ALC/LCT+ Client, D25070), 타이밍 제어부 (Timing Control, D25080), 시그널링 파서 (Signaling Parser, D25090), DASH 클라이언트 (Dynamic Adaptive Streaming over HTTP Client, DASH Client, D25100), HTTP 접속 클라이언트 (HTTP Access Client, D25110), ISO BMFF 파서 (ISO Base Media File Format Parser, ISO BMFF Parser, D25120) 및/또는 미디어 디코더(Media Decoder, D25130)을 포함할 수 있다.
물리 계층 컨트롤러 (D25010)는 하이브리드 방송 수신기가 수신하고자 하는 지상파 방송 채널의 라디오 주파수 (Radio Frequency, RF) 정보 등을 이용하여 튜너 (D25020), 물리적 프레임 파서(D25030) 등의 동작을 제어할 수 있다.
튜너 (D25020)는 지상파 방송 채널을 통하여 방송 관련 신호를 수신 및 처리하고 이를 적절한 형태로 변환할 수 있다. 예를 들어 튜너 (D25020)는 수신된 지상파 방송 신호를 물리적 프레임 (Physical Frame)으로 변환할 수 있다.
물리적 프레임 파서 (D25030)는 수신된 물리적 프레임을 파싱하고 이와 관련된 프로세싱을 통하여 연결 계층 프레임 (Link Layer Frame)을 획득할 수 있다.
링크 계층 파서 (D25040)는 링크 계층 프레임으로부터 링크 계층 시그널링 (Link Layer signaling) 등을 획득하거나 IP/UDP 데이터그램을 획득하기 위한 관련 연산을 수행할 수 있다. 링크 계층 파서 (D25040)는 적어도 하나의 IP/UDP 데이터그램을 출력할 수 있다.
IP/UDP 데이터그램 필터 (D25050)는 수신된 적어도 하나의 IP/UDP 데이터그램로부터 특정 IP/UDP 데이터 그램을 필터링할 수 있다. 즉, IP/UDP 데이터그램 필터 (D25050)는 링크 계층 파서 (D25040)로부터 출력된 적어도 하나의 IP/UDP 데이터그램 중 ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D30060)에 의해 선택된 IP/UDP 데이터그램을 선택적으로 필터링할 수 있다. IP/UDP 데이터그램 필터 (D25050)는 어플리케이션 계층 전송 프로토콜 패킷을 출력할 수 있다.
ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D25060)은 각 하이브리드 방송 수신기에 포함된 모듈 간의 인터페이스를 담당할 수 있다. 또한 ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D25060)은 각 모듈에 필요한 파라미터 등을 각 모듈에 전달하고, 이를 통해 각 모듈의 동작을 제어할 수 있다. 본 발명에서 ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D25060)은 미디어 프리젠테이션 디스크립션 (Media Presentation Description, MPD) 및/또는 MPD URL을 DASH 클라이언트 (D25100)에 전달할 수 있다. 또한 본 발명에서 ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D25060)은 전송 모드(Delivery mode) 및/또는 전송 세션 식별자 (Transport Session Identifier, TSI)를 ALC/LCT+ 클라이언트 (D25070)에 전달할 수 있다. 여기서 TSI는 MPD 또는 MPD URL 관련 시그널링 등 시그널링 메시지를 포함하는 전송 패킷을 전송하는 세션, 예를 들어 ALC/LCT 세션 또는 FLUTE 세션의 식별자를 나타낼 수 있다.
ALC/LCT+ 클라이언트 (D25070)는 어플리케이션 계층 전송 프로토콜 패킷을 처리하고 복수의 어플리케이션 계층 전송 프로토콜 패킷을 수집 및 처리하여 하나 이상의 ISO Base Media File Format (ISOBMFF) 오브젝트를 생성할 수 있다.
타이밍 제어부 (D25080)는 시스템 타임 정보를 포함하는 패킷을 처리하고 이에 따라 시스템 클럭을 제어할 수 있다.
시그널링 파서 (D25090)는 DTV 방송 서비스 관련 시그널링을 획득 및 파싱하고 파싱된 시그널링에 기초하여 채널 맵 등을 생성하고 관리할 수 있다. 본 발명에서 시그널링 파서는 시그널링 정보로부터 확장된 MPD 또는 MPD 관련 정보를 파싱할 수 있다.
DASH 클라이언트 (D25100)는 실시간 스트리밍 (Real-time Streaming)혹은 적응적 스트리밍 (Adaptive Streaming)에 관련된 연산을 수행할 수 있다. DASH 클라이언트 (D25100)는 HTTP 접속 클라이언트 (D25110)을 통해 HTTP 서버로부터 DASH 컨텐츠를 수신할 수 있다. DASH 클라이언트 (D25100)는 수신된 DASH Segment등을 처리하여 ISO Base Media File Format 오브젝트를 출력할 수 있다. 본 발명에서 DASH 클라이언트 (D25100)는 ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D25060)에 전체 Representation ID (Fully qualified Representation ID) 또는 세그먼트 URL을 전달할 수 있다. 여기서 전체 Representation ID는 예를 들어 MPD URL, period@id 및 representation@id를 결합한 ID를 의미할 수 있다. 또한 DASH 클라이언트 (D25100)는 ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D25060)으로부터 MPD 또는 MPD URL을 수신할 수 있다. DASH 클라이언트 (D25100)는 수신된 MPD 또는 MPD URL을 이용하여 원하는 미디어 스트림 또는 DASH Segment를 HTTP 서버로부터 수신할 수 있다. 본 명세서에서 DASH 클라이언트 (D25100)는 프로세서로 지칭될 수 있다.
HTTP 접속 클라이언트 (D25110)는 HTTP 서버에 대해 특정 정보를 요청하고, HTTP 서버로부터 이에 대한 응답을 수신하여 처리할 수 있다. 여기서 HTTP 서버는 HTTP 접속 클라이언트로부터 수신한 요청을 처리하고 이에 대한 응답을 제공할 수 있다.
ISO BMFF 파서 (D25120)는 ISO Base Media File Format 오브젝트로부터 오디오/비디오의 데이터 추출할 수 있다.
미디어 디코더 (D25130)는 수신된 오디오 및/또는 비디오 데이터를 디코딩하고, 디코딩된 오디오/비디오 데이터를 프리젠테이션하기 위한 프로세싱을 수행할 수 있다.
본 발명의 하이브리드 방송 수신기가 지상파 방송망과 브로드밴드의 연동을 통한 하이브리드 방송 서비스를 제공하기 위해서는 MPD에 대한 확장 또는 수정이 요구된다. 전술한 지상파 방송 시스템은 확장 또는 수정된 MPD를 송신할 수 있으며 하이브리드 방송 수신기는 확장 또는 수정된 MPD를 이용하여 방송 또는 브로드밴드를 통해 컨텐츠를 수신할 수 있다. 즉, 하이브리드 방송 수신기는 확장 또는 수정된 MPD는 지상파 방송을 통해 수신하고, MPD에 기초하여 지상파 방송 또는 브로드밴드를 통해 컨텐츠를 수신할 수 있다. 아래에서는 기존 MPD와 비교하여 확장 또는 수정된 MPD에 추가적으로 포함되어야 하는 엘리먼트 및 속성(attribute)에 대해 기술한다. 아래에서, 확장 또는 수정된 MPD는 MPD로 기술될 수 있다.
MPD는 ATSC 3.0 서비스를 표현하기 위해 확장되거나 수정될 수 있다. 확장 또는 수정된 MPD는 MPD@anchorPresentationTime, Common@presentable, Common.Targeting, Common.TargetDevice 및/또는 Common@associatedTo를 추가적으로 포함할 수 있다.
MPD@anchorPresentationTime는 MPD에 포함된 세그먼트들의 프리젠테이션 타임의 앵커, 즉 기초가 되는 시간을 나타낼 수 있다. 아래에서 MPD@anchorPresentationTime는 MPD의 유효 시간(effective time)으로 사용될 수 있다. MPD@anchorPresentationTime는 MPD에 포함된 세그먼트들 중 가장 빠른 재생 시점을 나타낼 수 있다.
MPD는 공통 속성들 및 요소들(common attributes and elements)을 더 포함할 수 있다. Common@presentable은 MPD가 기술하고 있는 미디어가 프리젠테이션이 가능한 컴포넌트임을 나타낼 수 있다.
Common.Targeting은 MPD가 기술하고 있는 미디어의 타겟팅 특징(targeting properties) 및/또는 개별화 특징(personalization properties)를 나타낼 수 있다.
Common.TargetDevice는 MPD가 기술하고 있는 미디어의 타겟 디바이스 또는 타겟 디바이스들을 나타낼 수 있다.
Common@associatedTo는 MPD가 기술하고 있는 미디어에 관련된 adaptationSet 및/또는 representation을 나타낼 수 있다.
또한 MPD에 포함된 MPD@id, Period@id 및 AdaptationSet@id는 MPD가 기술하고 있는 미디어 컨텐츠를 특정하기 위해 요구될 수 있다. 즉, DASH 클라이언트는 MPD에 기초하여 수신하고자 하는 컨텐츠를 MPD@id, Period@id 및 AdaptationSet@id로 특정하여 ATSC 3.0 디지털 텔레비전 컨트롤 엔진에 전달할 수 있다. 또한 ATSC 3.0 디지털 텔레비전 컨트롤 엔진은 해당 컨텐츠를 수신하여 DASH 클라이언트에 전달할 수 있다.
도 31은 본 발명의 다른 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
본 발명의 다른 실시예에 따른 방송 수신기의 서비스 스캐닝은, 물리적 계층 제어부 (D25010) 이, 튜너 (D25020)를 제어하여, 각각의 주파수의 채널에 대하여, 튜너가 스캐닝을 수행한다.
튜너 (D25020)는 각각의 채널에서의 방송 신호를 수신한다. 튜너 (D25020)는 방송 신호에서 물리적 프레임을 추출할 수도 있다. 튜너 (D25020)는 방송 신호 또는 물리적 프레임을 물리적 프레임 파서 (D25030)에 전송한다.
물리적 프레임 파서 (D25030)는 시그널링 정보를 전송하는 시그널링 비트스트림을 추출한다. 물리적 프레임 파서 (D25030)는 시그널링 비트스트림을 시그널링 파서 (D25090)으로 전송한다.
시그널링 파서 (D25090)는 시그널링 비트스트림에서 시그널링 정보를 추출한다. 시그널링 파서 (D25090)는 시그널링 정보를 채널 맵 처리부 (Channel Map 또는 Channel Map Processor) 으로 전달한다.
도 32은 본 발명의 다른 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
DTV 제어 엔진 (D25060) 은 사용자 또는 방송 이벤트에 의한 서비스를 선택하는 제어 신호를 수신한다. DTV 제어 엔진 (D25060)은 채널 맵 처리부 등에 저장된 채널 맵 또는 시그널링 정보에서, 선택된 서비스를 전송하는 채널의 주파수, DP 식별 정보, 컴포넌트 식별 정보 및/또는 데이터그램 식별하는 정보를 추출하여, 물리적 계층 제어부 (D25010) 및/또는 IP/UDP 데이터그램 필터 (D25050)으로 전달한다.
물리적 계층 제어부 (D25010)는 주파수 정보를 이용하여, 튜너 (D25020) 가 선택된 서비스를 전송하는 채널로의 튜닝을 수행할 수 있도록 제어하고, DP 식별 정보를 이용하여, 물리적 프레임 파서 (D25030) 가 선택된 서비스를 전송하는 DP를 추출하도록 제어한다.
추출된 DP는 링크 계층 프레임 프로세서 (D25040) 에서 처리하여, IP/UDP 데이터그램들을 추출한다.
IP/UDP 데이터그램 필터 (D25050)는 IP/Port 정보를 이용하여, 시그널링 패킷을 전송하는 특정 IP/UDP 데이터그램 또는 특정 IP 패킷을 필터링하고, 해당 데이터그램에서 시그널링 패킷을 추출하여, 시그널링 파서 (D25090)으로 전달한다.
한편, IP/UDP 데이터그램 필터 (D25050)는 방송 서비스 또는 방송 컨텐츠에 대한 데이터를 전송하는 어플리케이션 계층 전송 프로토콜 패킷을 추출할 수 있다. 어플리케이션 계층 전송 프로토콜 패킷 중 일부 패킷은 시그널링 정보를 포함할 수 있다. ALC/LCT+ 클라이언트 (D25070) 은 시그널링 정보를 포함하는 패킷을 파싱하여, 시그널링 파서 (D25090)으로 전달할 수 있다. 시그널링 파서는 해당 시그널링 정보를 포함하는 패킷을 파싱하여, 시그널링 정보를 획득히고, 이를 채널 맵 처리부에 전달하거나, 채널 맵으로 저장한다.
도 33는 본 발명의 다른 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
본 도면에서는, 전술한 방송 수신기에서의 서비스 선택을 수행하는 동작에 이어서, 수행되는 방송 수신기의 동작을 나타낸다.
DTV 제어 엔진 (D25060)은 채널 맵 처리부에서 MPD 또는 MPD를 획득할 수 있는 위치의 URL 정보를 획득할 수 있다.
DTV 제어 엔진 (D25060)은 특정 방송 서비스 또는 방송 컨텐츠 등의 미디어에 관한 정보를 포함하는 MPD 또는 해당 MPD를 획득할 수 있는 위치의 URL 정보를 DASH 클라이언트 (D25100) 에 전달한다.
DASH 클라이언트 (D25100)는 MPD를 파싱할 수 있다. DASH 클라이언트 (D25100)는 MPD를 획득할 수 있는 위치의 URL 정보를 이용하여, 해당 위치에 있는 MPD에 대한 요청을 HTTP 어세스 클라이언트로 전달할 수 있다. HTTP 어세스 클라이언트는 MPD를 획득할 수 있는 위치의 URL 정보가 나타내는 위치의 HTTP 서버에 접속하여, MPD를 요청하고, 이에 대한 응답으로 MPD를 수신하여, DASH 클라이언트에 전달한다. DASH 클라이언트 (D25100)는 MPD에 포함된 Representation을 식별하는 정보인 Representation ID 및/또는 특정 세그먼트를 획득할 수 있는 위치를 식별하는 Segment URL 정보를 추출한다. DASH 클라이언트 (D25100)는 MPD에서 추출한 정보를 DTV 제어 엔진 (D25060) 에 전달한다.
DTV 제어 엔진 (D25060)은 MPD에서 추출된 정보가 나타내는, 특정 미디어 (특정 방송 서비스, 컨텐츠 및/또는 이벤트)를 전송하는 DP를 식별하는 정보 (예를 들면, DP ID, component ID, IP/Port 정보 및/또는 TSI 정보) 를 획득하여, 물리적 계층 제어부 (D25010) 및/또는 IP/UDP 데이터그램 필터 (D25050) 에 전달한다. DP를 식별하는 정보는 채널 맵 처리부에 저장되어 있거나, 채널 맵 형식으로 방송 수신기에 저장되어 있는 정보에서 추출될 수 있다.
물리적 계층 제어부 (D25010)는 물리적 프레임 파서 (D25030)가 물리적 프레임에서 특정 DP를 추출하도록 물리적 프레임 파서 (D25030)를 제어할 수 있다. 물리적 계층 제어부 (D25010)는 DP ID를 물리적 프레임 파서 (D25030)으로 전달하여, 해당 DP ID가 식별하는 DP가, 물리적 프레임 파서 (D25030)에 의하여 추출될 수 있도록 한다.
물리적 프레임 파서 (D25030) 는 DP에 포함된 링크 계층 프레임을 추출한다.
링크 계층 프레임 처리부 (D25040)는 링크 계층 프레임을 파싱하고, 하나 이상의 IP/UDP 데이터그램을 추출한다.
IP/UDP 데이터그램 필터 (D25050)는 IP/Port 정보를 이용하여, 방송 수신기가 추출하고자 하는 미디어에 대한 데이터를 포함하는 IP/UDP 데이터그램 및/또는 IP 패킷을 추출한다. IP/UDP 데이터그램 필터 (D25050)는 IP/UDP 데이터그램 및/또는 IP 패킷을 파싱하여, 특정 미디어에 대한 데이터를 전송하는 어플리케이션 계층 전송 프로토콜 패킷을 추출한다.
ALC/LCT+ 클라이언트 (D25070) 는 방송 수신기가 소비하고자 하는 미디어에 대한 데이터를 포함하는 어플리케이션 계층 전송 프로토콜 패킷을 디코딩하여, ISO BMFF object 데이터를 획득한다. ISO BMFF object 데이터는 HTTP entity를 포함할 수 있다. HTTP entity는 특정 데이터를 수신할 수 있는 HTTP 관련 정보를 포함할 수 있다.
HTTP 어세스 클라이언트 (D25110) 는 ISO BMFF object 데이터를 디코딩하거나, ISO BMFF object 데이터에 포함된 정보를 이용하여, 특정 미디어를 위한 데이터를 외부로부터 수신할 수 있다.
DASH 클라이언트 (D25100) 는 수신한 데이터로부터, DASH 세그먼트를 파싱한다. DASH 세그먼트는 ISO BMFF 파일의 형태를 가질 수 있다.
이후 절차는 전술한 방송 수신기의 각 장치의 동작에 대한 설명으로 대체한다.
도 34는 본 발명의 다른 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
본 도면에서는, 도 32에 대한 설명에서 전술한 방송 수신기에서의 서비스 선택을 수행하는 동작에 이어서, 수행되는 방송 수신기의 동작을 나타낸다.
DTV 제어 엔진 (D25060)은 채널 맵 또는 시그널링 정보를 통하여, 사용자가 선택한 방송 서비스 또는 방송 컨텐츠에 관한 정보를 포함하는 MPD를 획득하거나, 해당 MPD를 제공하는 서버 또는 저장소의 위치를 획득한다. DTV 제어 엔진 (D25060)은 MPD 또는 MPD의 위치를 DASH 클라이언트로 전달한다.
DASH 클라이언트 (D25100)는 MPD를 제공하는 서버 또는 저장소의 위치에 대한 정보를 수신하는 경우, 해당 MPD에 대한 요청을 HTTP 어세스 클라이언트 (D25110)에 전달한다. HTTP 어세스 클라이언트 (D25110)는 MPD의 위치에 해당하는 서버 또는 저장소에 접속하여, MPD를 획득하고, MPD를 DASH 클라이언트 (D25100)에 전달할 수 있다.
DASH 클라이언트 (D25100)는 MPD를 획득하고, MPD 내에서, 사용자가 선택한 미디어 (방송 서비스 또는 방송 컨텐츠) 에 포함되는 데이터인 세그먼트를 제공하는 위치에 대한 정보 (예를 들면, segment URL) 를 추출한다. DASH 클라이언트 (D25100)는 세그먼트에 대한 요청을 HTTP 어세스 클라이언트 (D25110)에 전송한다.
HTTP 어세스 클라이언트 (D25110)는 세그먼트의 위치에 대한 정보를 이용하여, 해당 세그먼트를 제공하는 서버에 접속하여, 해당 세그먼트를 획득하고, 이를 DASH 클라이언트 (D25100)에 전달한다.
DASH 클라이언트 (D25100)는 수신한 세그먼트에서 파일 (예를 들면, ISO BMFF 파일)을 추출하고, ISO BMFF 파서로 전달한다.
이후 데이터의 처리는 전술한 각 장치에 대한 설명으로 대체한다.
본 도면에 나타난 실시예에 따르면, 방송망이 아닌 HTTP 를 이용하는 통신망을 통하여, 미디어를 수신할 수 있다.
도 35는 본 발명의 일 실시예에 따른, ALC/LCT+클라이언트의 동작을 나타낸 도면이다.
(a)를 참조하면, ALC/LCT+클라이언트는 하나 이상의 프로토콜에 따른 데이터를 처리할 수 있다. ALC/LCT+클라이언트는 FLUTE (file delivery over unidirectional transport) 및/또는 ALC/LCT+ 프로토콜에 따른 데이터를 처리할 수 있다. ALC/LCT+클라이언트는 TSI 정보를 수신하고, TSI 정보에 해당하는 전송 세션을 통하여 전송되는 데이터를 획득할 수 있다. ALC/LCT+클라이언트는 FLUTE 데이터 및/또는 ALC/LCT+ 데이터를 수신할 수 있다. ALC/LCT+클라이언트는 수신한 데이터에서 generic 파일 및/또는 ISO BMFF object 데이터를 디코딩 또는 파싱할 수 있다.
(b)를 참조하면, 본 발명의 일 실시예에 따른 비실시간 전송을 지원하는 경우의 ALC/LCT+클라이언트의 동작이 도시되었다. 비실시간 (non-real-time) 전송은, 방송망을 통하여, 미디어가 실제로 소비되기 이전에, 해당 미디어의 데이터를 수신하는 전송 방식이다. 미디어에 포함될 수 있는 방송 서비스는 하나 이상의 방송 컨텐츠를 포함할 수 있다. 방송 컨텐츠는 하나 이상의 파일로 구성될 수 있다. 각각의 파일은 불연속적으로 전송되어, 수신기에 저장될 수 있다. 비실시간으로 전송되는 데이터는 방송 서비스 및/또는 방송 컨텐츠의 데이터에 해당될 수 있다. 비실시간으로 전송되는 데이터는, 실시간으로 전송되는 방송 데이터 또는 인터넷망을 통하여 수신되는 미디어 데이터에 부가되어 사용되는 데이터에 해당될 수 있다.
본 발명의 일 실시예에 따르면, 비실시간 전송이 이루어지는 경우, 비실시간 전송으로 전송되는 데이터는, FLUTE 프로토콜을 사용하여 전송될 수 있다. FLUTE를 통하여, 파일들이 전송되는 이 파일들은 generic 파일을 포함하거나, ISO BMFF Object 데이터를 포함할 수 있다. ALC/LCT+클라이언트는 FLUTE를 통하여 전송되는 데이터에서 generic 파일 및/또는 ISO BMFF Object 데이터를 추출할 수 있다.
ALC/LCT+클라이언트는 비실시간 전송에 의한 데이터를 획득하기 위하여, FDT (file delivery table) 을 위하여, 특정 TOI (Transmission Object Identifier) 정보 및/또는 TSI 정보를 가지는 ALC/LCT 패킷을 모을 수 있다. ALC/LCT+클라이언트는 해당 ALC/LCT 패킷들에서 FDT를 파싱할 수 있다. ALC/LCT+클라이언트는 특정 미디어 또는 방송 컨텐츠에 포함되는 파일을 모으기 위하여, 특정 TOI 정보 및/또는 TSI 정보를 가지는 ALC/LCT 패킷을 모을 수 있다. 특정 미디어 또는 방송 컨텐츠에 해당되는 파일들에 대한 TOI 정보 및/또는 TSI 정보는 전술한 FDT에 포함될 수 있다. 실시간 스트리밍이 이루어지는 경우에는, FDT를 획득하기 위한 동작은 수행되지 않을 수 있으며, 이 경우, ALC/LCT+클라이언트는 FDT와 관련된 TOI 정보 및 TSI 정보는 무시하도록 동작할 수 있다.
(c)를 참조하면, 본 발명의 일 실시예에 따른 실시간 전송에 있어서, ALC/LCT+클라이언트의 동작이 도시되었다.
실시간 전송은 ALC/LCT+ 프로토콜을 이용하여 데이터를 전송할 수 있다. ALC/LCT+프로토콜은 ROUTE (Real-Time Object Delivery over Unidirectional Transport)로 명명될 수도 있다. ALC/LCT+클라이언트는 어플리케이션 계층 전송 프로토콜 패킷에서 ISO BMFF Object 데이터를 추출할 수 있다.
ALC/LCT+클라이언트는 특정 미디어 또는 방송 컨텐트를 구성하는 데이터를 획득하기 위하여, 특정 TSI 정보 및/또는 TOI 정보를 가지는 AL:C/LCT+ 패킷을 모을 수 있다.
도 36는 본 발명의 일 실시예에 따른, ISO BMFF 파일을 나타낸 도면이다.
하나의 ISO BMFF 파일은, 하나의 DASH 세그먼트와 동일한 개념으로 사용될 수 있다. ISO BMFF Object 데이터는 ISO BMFF 파일의 일부 데이터에 해당될 수 있다. ISO BMFF 파일은 하나 이상의 chunk로 분리될 수 있고, 각각의 Chunk는 ISO BMFF Object 데이터에 해당될 수 있다.
ISO BMFF 파일은 하나 이상의 박스 (box)를 포함할 수 있다. ISO BMFF 파일은 ftyp 박스, moov 박스, moof 박스, 및/또는 mdat 박스를 포함할 수 있다.
ISO BMFF 파일이 하나 이상의 chunk로 분리되는 경우, chunk에는 서로 다른 종류의 2개 이상의 박스가 포함될 수 있다. 또는 chunk에는 하나의 종류의 박스만 포함될 수도 있다. 또는, chunk에는 하나의 박스의 일부가 포함될 수도 있다. 또는 chunk에는 하나의 박스에 포함되는 데이터와, 다른 종류의 박스에 포함되는 데이터의 일부가 포함될 수도 있다.
ftyp 박스는 ISO BMFF 파일의 종류를 나타낼 수 있다. ftyp 박스는 ISO BMFF 파일이 호환되는 기술 표준을 식별할 수 있다.
moov 박스는 메타데이터를 위한 컨테이너 (container)이다. 메타데이터는 시그널링 정보에 해당될 수 있다. 메타데이터는 미디어에 포함되는 데이터를 설명하는 정보를 포함할 수 있다.
moof 박스는 movie fragment 박스에 해당되고, movie fragment는 프레젠테이션 시간을 확장한다.
mdat 박스는 프레젠테이션을 위한 실제 미디어 데이터를 포함한다.
도 37은 본 발명의 일 실시예에 따른, 어플리케이션 계층 전송 프로토콜 패킷을 나타낸 도면이다.
본 발명의 일 실시예에 따른, TSI (Transport Session Identifier) 는 하나의 트랙에 맵핑될 수 있다. 하나의 트랙은 비디오, 오디오 또는 DASH representation에 해당될 수 있다.
DASH representation은 하나 이상의 미디어 스트림의 집합 또는 인캡슐레이션 (encapsulation) 을 나타낸다. DASH representation은 미디어의 요소를 전송하도록 인코딩되어 있으며, DASH representation 마다 다른 인코딩 특성을 가질 수 있다. 예를 들면, DASH representation은 동일한 미디어의 컨텐츠 요소에 대하여, 서로 다른 비트율, 해상도, 및/또는 코덱을 사용하여 인코딩된 단위를 나타낼 수 있다. DASH representation은 하나 이상의 DASH 세그먼트를 포함할 수 있다. DASH 세그먼트는 시간 단위로 연속적으로 나뉘어진 파일에 해당된다. DASH 세그먼트는 MPEG2-TS 또는 ISO BMFF 형식의 데이터를 포함할 수 있다.
본 발명의 일 실시예에 따른, TOI (Transmission Object Identifier)는 하나의 ISO BMFF object 데이터에 맵핑될 수 있다. 하나의 ISO BMFF object 데이터는 하나의 ISO BMFF 파일 또는 하나의 chunk에 해당될 수 있다.
본 도면은, TSI가 하나의 트랙에 맵핑되고, TOI가 하나의 ISO BMFF 파일에 맵핑되는 경우의 어플리케이션 계층 전송 프로토콜 패킷을 나타낸 도면이다.
예를 들면, 하나의 비디오 트랙 (track)은 하나 이상의 세그먼트 (DASH 세그먼트)를 포함할 수 있다.
각각의 세그먼트는 ISO BMFF 파일에 해당될 수 있다. ISO BMFF 파일은 하나 이상의 ES (elementary stream 또는 elementary segment)로 나뉠 수 있다. 도면에서는 하나의 ISO BMFF 파일은 5개의 ES로 나뉘어졌다.
어플리케이션 계층 전송 프로토콜 패킷은, 각각 ALC/LCT+ 헤더 (ALC/LCT+ H) 및 ES를 포함한다.
예를 들면, 세그먼트 1의 데이터는 5개의 어플리케이션 계층 전송 프로토콜 패킷을 통하여 전송될 수 있고, 각각의 어플리케이션 계층 전송 프로토콜 패킷은 TOI 값을 ‘1’로 가짐으로써, 세그먼트 1의 데이터를 전송하고 있음을 나타낼 수 있다. 비디오 트랙은 ‘1’의 값을 가지는 TSI로 식별되고, 해당 비디오 트랙에 포함되는 다른 세그먼트는 TOI의 값으로 식별될 수 있다. 비디오 트랙이 N개의 세그먼트를 포함하는 경우, TOI는 1부터 N의 값을 가질 수 있다.
수신기는 파일의 시작을 식별할 수 있어야 한다. 세그먼트 1에 의하여 전송되는 ISO BMFF 파일은, 해당 파일이 해당 TSI에 의하여 식별되는 데이터 유닛의 처음 파일임을 나타낼 수 있는 정보를 포함할 수 있다.
도 38은 본 발명의 일 실시예에 따른, TSI가 하나의 트랙에 맵핑되고, TOI가 하나의 chunk에 맵핑되는 경우의 어플리케이션 계층 전송 프로토콜 패킷을 나타낸 도면이다.
본 발명의 일 실시예에 따르면, 하나의 트랙 (예를 들면, 비디오 트랙)은 하나 이상의 세그먼트를 포함할 수 있다. 하나의 세그먼트는 ISO BMFF 파일에 해당될 수 있다. 하나의 세그먼트는 하나 이상의 chunk (청크)로 나뉠 수 있다. 하나의 chunk는 하나 이상의 ES로 나뉠 수 있다. 각각의 어플리케이션 계층 전송 프로토콜 패킷은 ALC/LCT+ 헤더 및 하나의 ES를 포함할 수 있다. 이 경우, 각각의 chunk는 하나 이상의 어플리케이션 계층 전송 프로토콜 패킷에 의하여 전송될 수 있다.
도면을 참조하면, 비디오 트랙에 대하여, ‘1’의 TSI 값이 설정되고, 해당 비디오 트랙에 포함되는 세그먼트는 ‘1’의 TSI 값을 가진다. 세그먼트 1에 포함되는 chunk 각각에 대하여, 각각의 TOI 값이 설정될 수 있다.
수신기는 ISO BMFF 파서가 올바른 동작을 제어하기 위하여, ISO BMFF 파일의 시작부터, 각각의 chunk까지의 오프셋 (offset) 을 식별할 수 있어야 한다. 예를 들면, 각각의 chunk는 오프셋을 나타내는 오프셋 정보를 포함할 수 있고, ISO BMFF 파일의 시작 부분의 데이터를 포함하는 chunk는 ‘0’의 값을 가지는 오프셋 정보를 포함할 수 있다.
도 39은 본 발명의 일 실시예에 따른, TSI가 하나의 트랙에 맵핑되고, TOI가 하나의 chunk에 맵핑되는 경우의 어플리케이션 계층 전송 프로토콜 패킷 내의 ISO BMFF 파일 내의 각 박스들의 특성을 설정하는 것을 나타낸 도면이다.
TSI가 하나의 트랙에 맵핑되고, TOI가 하나의 chunk에 맵핑되는 경우, 세그먼트에 해당되는 ISO BMFF 파일 내에 포함되는 각각의 박스들에 대하여, 서로 다른 중요도가 설정될 수 있다. 이러한 중요도는 송신기에서 설정될 수 있다. 예를 들면, moov 박스에 대하여는 가장 중요함 (highest) 을 나타내는 중요도가 설정될 수 있고, moof 박스에 대하여는 보다 중요함 (higher) 을 나타내는 중요도가 설정될 수 있다.
RAP (random access point)에 해당되는 데이터를 포함하는 mdat 박스는, RAP를 포함하지 않는 다른 mdat 박스 보다 높은 중요도를 가지는 것으로 설정될 수 있다. RAP 는 비디오 트랙의 경우, I-frame 의 데이터를 전송하는 데이터 유닛에 해당될 수 있다.
mdat 박스들 사이에서 중요도에 따라 우선 순위를 결정하는 정보가 각각의 mdat 박스에 포함될 수 있다. 또는, mdat 박스들 사이에서 중요도에 따라 우선 순위를 결정하는 정보는 moov 박스에 포함될 수도 있다. 이 경우, mdat 박스를 식별하는 정보와 연계되어, 특정 mdat 박스의 우선 순위를 결정하는데, 해당 정보가 사용될 수 있다.
도면을 참조하면, mdat 박스는 moof 박스가 없이는 처리될 수 없으므로, mdat 박스에 비하여, moof 박스가 더 중요하도록 설정될 수 있다. 또한, moof 박스는 moov 박스가 없이는 처리될 수 없으므로, moof 박스에 비하여, moov 박스가 더 중요하도록 설정될 수 있다.
하나 또는 하나 이상의 박스들이 서로 다른 어플리케이션 계층 전송 프로토콜 패킷들에 의하여 전송되는 경우, 각각의 어플리케이션 계층 전송 프로토콜 패킷에 포함되는 박스들을 고려하여, 우선 순위에 대한 정보가 어플리케이션 계층 전송 프로토콜 패킷 각각에 포함될 수 있다. 본 발명에서 정보의 설정 또는 데이터의 설정은 송신기 또는 수신기에서 수행될 수 있다.
도 40는 본 발명의 일 실시예에 따른, 어플리케이션 계층 전송 프로토콜 패킷의 송신 및 수신을 나타낸 도면이다.
전술한 어플리케이션 계층 전송 프로토콜 패킷은 송신기에서 생성되어, 수신기로 전송된다.
하나의 TSI가 하나의 트랙에 맵핑되고, 하나의 TOI가 하나의 chunk에 맵핑되는 경우에 있어서, 각 세그먼트의 데이터를 전송하기 위한 어플리케이션 계층 전송 프로토콜 패킷의 생성은 전술하였다. 이 경우, 송신측에서 생성되어 전송되는 ALC.LCT+ 패킷을 수신기에서 수신하는 경우, 어느 어플리케이션 계층 전송 프로토콜 패킷이 어느 세그먼트에 속하는 것인지 수신기는 알 수 없는 문제가 발생할 수 있다. 각각의 chunk에 대하여 각각의 TOI가 설정되고, 각각의 chunk는 하나 이상의 ES로 분할되어, 각각의 ES가 어플리케이션 계층 전송 프로토콜 패킷으로 전송되므로, 어플리케이션 계층 전송 프로토콜 패킷을 수신한 수신기로서는, 해당 어플리케이션 계층 전송 프로토콜 패킷 또는 어플리케이션 계층 전송 프로토콜 패킷에 포함되는 ES가 어느 세그먼트에 속하는 것인지 알 수 없다. 따라서, 수신기가 각각의 chunk가 어느 세그먼트 (또는 파일)에 속하는지 알 수 있도록 하는 방안이 마련되어야 한다.
도면을 참조하면, 비디오 트랙은 세그먼트 1과 세그먼트 2를 포함한다. 세그먼트 1은 chunk 1 내지 chunk 3을 포함한다. 세그먼트 2는 chunk 1 및 chunk 2를 포함한다. 본 예시에서는, 각각의 chunk는 각각의 ES로 전송되는 것을 가정한다. 이 경우, 세그먼트 1에 대하여 생성된 어플리케이션 계층 전송 프로토콜 패킷은 3개가 존재할 수 있으며, 세그먼트 1의 처음 데이터를 포함하는 chunk를 전송하는 ES는, TSI가 ‘1’로 설정되고, TOI가 ‘1’로 설정되고, 오프셋 정보가 ‘0’으로 설정된 어플리케이션 계층 전송 프로토콜 패킷을 통하여 전송될 수 있다. 세그먼트 1에 포함되는 chunk 2을 전송하는 ES 2는, TSI가 ‘1’로 설정되고, TOI가 ‘2’로 설정되고, 오프셋 정보가 ‘200’으로 설정된 어플리케이션 계층 전송 프로토콜 패킷을 통하여 전송될 수 있다. 세그먼트 1에 포함되는 chunk 3을 전송하는 ES 3는, TSI가 ‘1’로 설정되고, TOI가 ‘3’로 설정되고, 오프셋 정보가 ‘1000’으로 설정된 어플리케이션 계층 전송 프로토콜 패킷을 통하여 전송될 수 있다. 세그먼트 2에 포함되는 chunk 1을 전송하는 ES 4는, TSI가 ‘1’로 설정되고, TOI가 ‘4’로 설정되고, 오프셋 정보가 ‘0’으로 설정된 어플리케이션 계층 전송 프로토콜 패킷을 통하여 전송될 수 있다. 세그먼트 2에 포함되는 chunk 2을 전송하는 ES 5는, TSI가 ‘1’로 설정되고, TOI가 ‘5’로 설정되고, 오프셋 정보가 ‘1000’으로 설정된 어플리케이션 계층 전송 프로토콜 패킷을 통하여 전송될 수 있다.
어플리케이션 계층 전송 프로토콜 패킷이 순차적으로 송신기에서 수신기로 전송되는 경우, 수신기는 ‘1’의 값을 가지는 TSI에 해당되는 어플리케이션 계층 전송 프로토콜 패킷들을 동일한 트랙에 대한 데이터를 전송하는 패킷들로 인식할 수 있다. 따라서, 수신기가 동일한 TSI를 가지는 어플리케이션 계층 전송 프로토콜 패킷들을 모으는 과정에서, TOI의 값의 순서대로, 어플리케이션 계층 전송 프로토콜 패킷들을 모을 수 있다. 그러나, ES 3, 및/또는 ES 4를 전송하는 어플리케이션 계층 전송 프로토콜 패킷들이 손실된 경우, 수신기는, TSI가 ‘1’로 설정되고, TOI가 ‘5’로 설정되고, 오프셋 정보가 ‘1000’으로 설정된 어플리케이션 계층 전송 프로토콜 패킷이 전송하는 ES (또는 chunk)가 세그먼트 1에 속하는 것인지, 세그먼트 2에 속하는 것인지 판단할 수 없는 문제가 발생할 수 있다.
본 발명의 일 실시예에서는, 전술한 문제점을 해결하기 위하여, TSI에 대하여 트랙의 ID 값을 사용할 수 있다. 여기서, 트랙은 MPEG-DASH의 representation에 대응되는 개념으로 사용될 수 있다. 또한, TOI에 대하여는, ISO BMFF 파일의 ID (identifier) 와 chunk의 ID (identifier)이 결합된 값을 사용할 수 있다. 만약, 하나의 ISO BMFF object 데이터가 하나의 ISO BMFF 파일과 동일하게 설정된 경우, ISO BMFF object 데이터는 하나의 chunk로 구성되어 있는 것으로 가정할 수도 있다. 본 발명의 일 실시예에서는, 각각의 ISO BMFF object 데이터 (또는 chunk) 에 대한 우선 순위를 나타내는 정보를 설정하기 위하여, reserved bit 중 2비트를 사용할 수 있다.
본 발명의 일 실시예에서는, 각각의 파일들의 시작 부분부터, 어플리케이션 계층 전송 프로토콜 패킷까지의 오프셋 정보가 설정될 수 있다. 이러한 정보는 시그널링 정보 및/또는 어플리케이션 계층 전송 프로토콜 패킷에 포함될 수 있다. 만약 오프셋 정보의 값이 ‘0’인 경우, 해당 값이 적용되는 어플리케이션 계층 전송 프로토콜 패킷은, ISO BMFF 파일의 시작 부분의 데이터를 전송하는 어플리케이션 계층 전송 프로토콜 패킷임을 나타낸다. 어플리케이션 계층 전송 프로토콜 패킷은 미디어의 프리젠테이션 타이밍을 나타내는 정보 (예를 들면, 프레젠테이션의 시작 시간, 지속 시간, 및/또는 다른 컨텐츠와 동기를 위한 정보) 및/또는 해당 파일 또는 어플리케이션 계층 전송 프로토콜 패킷과 관련하여 필요한 데이터에 대한 위치 정보 (예를 들면, URL 정보)를 포함할 수 있다.
도 41은 본 발명의 일 실시예에 따른, 어플리케이션 계층 전송 프로토콜 패킷의 구조를 나타낸 도면이다.
어플리케이션 계층 전송 프로토콜 패킷은 v 엘레먼트, c 엘레먼트, PSI 엘레먼트, S 엘레먼트, O 엘레먼트, H 엘레먼트, priority 엘레먼트, A 엘레먼트, B 엘레먼트, HDR_LEN 엘레먼트, Codepoint 엘레먼트, Congestion Control Information 엘레먼트, Transport Session Identifier (TSI) 엘레먼트, Transport Object Identifier (TOI) 엘레먼트, EXT_FTI 엘레먼트, EXT_SCT 엘레먼트, EXT_OBJ_OFFSET 엘레먼트, EXT_OBJ_PTS 엘레먼트, EXT_OBJ_LOCATION 엘레먼트, FEC payload ID 엘레먼트, 및/또는 Encoding Symbols 엘레먼트를 포함할 수 있다.
PSI 엘레먼트는 X 엘레먼트 및/또는 Y 엘레먼트를 포함할 수 있다.
v 엘레먼트는 패킷의 버전 넘버를 나타낸다. v 엘레먼트는 ALC/LCT 의 버전을 나타낼 수 있다. v 엘레먼트는 본 패킷이 ALC/LCT+을 따르는 패킷임을 나타낼 수 있다.
c 엘레먼트는 Congestion control flag 에 해당된다. c 엘레먼트는 Congestion Control Information (CCI) 엘레먼트의 길이를 나타낼 수 있다. 예를 들면, c 엘레먼트는, c 엘레먼트의 값이 0인 경우, CCI의 길이는 32비트, c 엘레먼트의 값이 1인 경우, CCI의 길이는 64비트, c 엘레먼트의 값이 2인 경우, CCI의 길이는 96비트, c 엘레먼트의 값이 3인 경우, CCI의 길이는 128비트 임을 나타낼 수 있다.
PSI 엘레먼트는 Protocol-Specific Indication (PSI) 에 해당될 수 있다. PSI 엘레먼트는 ALC/LCT+의 상위 프로토콜에 대한 특정 목적의 지시자로 사용될 수 있다. PSI 엘레먼트는 현재 패킷이 source packet에 해당되는지 FEC repair packet에 해당되는지 가리킬 수 있다.
X 엘레먼트는 source packet을 가리키는 정보에 해당될 수 있다. Source와 repair data를 위하여 서로 다른 FEC payload ID 포맷이 사용되는 경우, 이 엘레먼트의 값이 ‘1’이면, source data를 위한 FEC payload ID 포맷임을 나타내고, 이 엘레먼트의 값이 ‘0’ 이면, repair data를 위한 FEC payload ID 포맷임을 나타낸다. 또는, 이 엘레먼트의 값이 송신기에서 ‘0’으로 세팅된 경우, 수신기는 이 엘레먼트 또는 이 패킷을 무시하고, 처리하지 않을 수 있다.
S 엘레먼트는 Transport Session Identifier flag 에 해당될 수 있다. S 엘레먼트는 Transport Session Identifier 엘레먼트의 길이를 가리킨다.
O 엘레먼트는 Transport Object Identifier flag 에 해당될 수 있다. O 엘레먼트는 Transport Object Identifier 엘레먼트의 길이를 나타낼 수 있다. 오브젝트는 하나의 파일을 의미할 수 있고, 상기 TOI는 각 오브젝트의 식별정보로써, 상기 TOI가 0인 파일은 파일과 관련된 시그널링 정보를 포함할 수 있다.
H 엘레먼트는 Half-word flag 에 해당될 수 있다. H 엘레먼트는 TSI 및 TOI 필드의 길이에 half-word(16 bits)를 추가할지 여부를 지시한다.
priority 엘레먼트는 이 패킷에 포함된 데이터의 우선 순위를 나타낸다. priority 엘레먼트와 관련하여, 각 오브젝트, chunk, 또는 chunk에 포함되는 박스들 사이의 우선 순위에 관한 설명은 전술한 설명으로 대체한다.
A 엘레먼트는 Close Session flag 에 해당될 수 있다. A 엘레먼트는 세션이 종료 또는 종료가 임박했음을 가리킬 수 있다.
B 엘레먼트는 Close Object flag 에 해당될 수 있다. B 엘레먼트는 전송 중인 오브젝트가 종료 또는 종료가 임박했음을 가리킬 수 있다.
HDR_LEN 엘레먼트는 패킷의 헤더의 길이를 나타낸다.
Codepoint 엘레먼트는 이 패킷에 의하여 전송되는 페이로드 (payload)의 타입을 나타낸다. 페이로드의 타입에 따라, 추가적인 페이로드 헤더가 페이로드 데이터의 프리픽스 (prefix)에 삽입될 수 있다.
Congestion Control Information (CCI) 엘레먼트는 layer numbers, logical channel numbers, sequence numbers 등의 Congestion Control 정보를 포함할 수 있다. Congestion Control Information (CCI) 엘레먼트는 필요한 Congestion Control 관련 정보를 포함할 수 있다.
Transport Session Identifier (TSI) 엘레먼트는 Transport Session Identifier field(TSI)는 세션의 고유 식별자이다. TSI 엘레먼트는 특정 전송자 (sender) 로 부터의 모든 세션 (session)들 중에 어느 하나의 세션을 가리킨다. TSI 엘레먼트는 transport session 을 식별하는 역할을 수행한다. TSI 엘레먼트의 값은 하나의 트랙을 위하여 사용될 수 있다.
Transport Object Identifier (TOI) 엘레먼트는 오브젝트의 고유 식별자이다. TOI 엘레먼트는 세션 내에서, 어떠한 오브젝트에 이 패킷이 속하는지를 가리킨다. TOI 엘레먼트의 값은 하나의 ISO BMFF object 데이터를 위하여 사용될 수 있다. TOI 엘레먼트는 ISO BMFF 파일의 ID와 chunk의 ID를 포함할 수 있다. TOI 엘레먼트는 ISO BMFF 파일의 ID와 chunk의 ID의 조합을 그 값으로 가질 수 있다.
EXT_FTI 엘레먼트는 FEC Transport Information 에 대한 정보를 포함한다.
EXT_SCT 엘레먼트는 Sender Current Time의 확장 정보에 해당될 수 있다. EXT_SCT 엘레먼트는 송신측에서의 시간 정보를 포함한다.
EXT_OBJ_OFFSET 엘레먼트는 오브젝트의 오프셋을 가리킨다. EXT_OBJ_OFFSET 엘레먼트는 세그먼트 (예를 들면, ISO BMFF 파일 또는 파일) 의 시작 부분에서부터, 이 패킷에 포함된 오브젝트 (예를 들면, ISO BMFF object 데이터 또는 chunk) 이 세그먼트 내에서 위치하는 위치의 오프셋을 가리킨다. EXT_OBJ_OFFSET 엘레먼트에 대한 상세한 실시예는 전술한 설명으로 대체한다. 오프셋을 가리키는 정보는 어플리케이션 계층 전송 프로토콜 패킷의 페이로드에 포함될 수도 있다.
EXT_OBJ_PTS 엘레먼트는 오브젝트의 PTS (Presentation Timestamp) 를 나타낸다.
EXT_OBJ_LOCATION 엘레먼트는 오브젝트의 위치를 식별한다. EXT_OBJ_LOCATION 엘레먼트는 패킷의 페이로드에 포함된 오브젝트의 URI 등을 포함하는 오브젝트의 위치를 식별한다. 이 위치는 URL 등으로 표시될 수 있다.
FEC payload ID 엘레먼트는 FEC Payload 식별자이다. FEC payload ID 엘레먼트는 Transmission Block 또는 encoding symbol의 식별 정보를 포함한다. FEC Payload ID는 상기 파일이 FEC 인코딩된 경우의 식별자를 나타낸다. 예를 들어, FEC Payload ID는 상기 FLUTE 프로토콜 파일이 FEC 인코딩된 경우, 방송국 또는 방송서버가 이를 구분하기 위해 할당할 수 있다.
Encoding Symbols 엘레먼트는 Transmission Block 또는 encoding symbol의 데이터를 포함할 수 있다.
도 42은 본 발명의 일 실시예에 따른, 어플리케이션 계층 전송 프로토콜 패킷의 처리를 나타낸 도면이다.
본 발명의 일 실시예에 따르면, 하나의 TSI의 값은 하나의 트랙을 위하여 할당되고, 하나의 TOI의 값은, ISO BMFF 파일의 ID와 chunk의 ID를 식별하는 값을 포함한다.
도면을 참조하면, 하나의 비디오 트랙은 N개의 세그먼트를 포함한다. 세그먼트 1은 하나의 ISO BMFF 파일에 대응될 수 있다. 세그먼트는 하나 이상의 chunk로 나뉘어질 수 있다. 각각의 chunk는 하나 이상의 ES를 통하여 전송될 수 있다. 각각의 ES는 어플리케이션 계층 전송 프로토콜 패킷의 페이로드를 통하여 전송된다.
세그먼트 1에 포함되는 ES 1을 전송하는 어플리케이션 계층 전송 프로토콜 패킷은 ISO BMFF 파일의 시작 부분에 해당되는 데이터를 포함하고, moov 박스를 포함한다. 따라서, 이 어플리케이션 계층 전송 프로토콜 패킷은 ‘highest’ (가장 중요함)의 priority 엘레먼트의 값을 가지고, TSI 엘레먼트는 해당 비디오 트랙을 가리키는 값 (예를 들면, 1)을 가지고, TOI 엘레먼트는, 해당 비디오 트랙 내의 세그먼트 1을 식별하는 ‘1’과 해당 세그먼트 내에서 처음 chunk에 포함되는 데이터임을 가리키는 ‘1’의 값을 함께 가진다. 또한, 세그먼트의 시작 부분의 데이터를 전송하므로, 어플리케이션 계층 전송 프로토콜 패킷의 오프셋 엘레먼트는 0에 해당된다.
세그먼트 1에 포함되는 ES 2를 전송하는 어플리케이션 계층 전송 프로토콜 패킷은, moof 박스, mdat 박스의 일부를 포함하는 chunk 2의 일부를 포함한다. 따라서, 이 어플리케이션 계층 전송 프로토콜 패킷은 ‘higher’ (보다 중요함)의 priority 엘레먼트의 값을 가지고, TSI 엘레먼트는 해당 비디오 트랙을 가리키는 값 (예를 들면, 1)을 가지고, TOI 엘레먼트는, 해당 비디오 트랙 내의 세그먼트 1을 식별하는 ‘1’과 해당 세그먼트 내에서 두 번째 chunk에 포함되는 데이터임을 가리키는 ‘2’의 값을 함께 가진다. 또한, 어플리케이션 계층 전송 프로토콜 패킷에 의하여 전송되는 데이터는, 세그먼트의 시작 부분에서부터 100의 오프셋을 가지는 곳에 위치하는 데이터임을, offset 엘레먼트가 가리킨다. 세그먼트 1에 포함되는 ES 3을 전송하는 어플리케이션 계층 전송 프로토콜 패킷은 chunk 2에 포함되는 데이터를 전송하므로, priority 엘레먼트, TSI 엘레먼트 및 TOI 엘레먼트는, ES 2를 전송하는 어플리케이션 계층 전송 프로토콜 패킷과 동일한 값을 가진다. 다만, ES 3을 전송하는 어플리케이션 계층 전송 프로토콜 패킷은, ES 2를 전송하는 어플리케이션 계층 전송 프로토콜 패킷의 오프셋 엘레먼트의 값과는 다른 오프셋 엘레먼트 값을 가진다.
세그먼트 1에 포함되는 ES 4를 전송하는 어플리케이션 계층 전송 프로토콜 패킷은, mdat 박스의 일부를 포함하는 chunk 3의 일부를 포함한다. 따라서, 이 어플리케이션 계층 전송 프로토콜 패킷은 ‘low’ (낮음)의 priority 엘레먼트의 값을 가지고, TSI 엘레먼트는 해당 비디오 트랙을 가리키는 값 (예를 들면, 1)을 가지고, TOI 엘레먼트는, 해당 비디오 트랙 내의 세그먼트 1을 식별하는 ‘1’과 해당 세그먼트 내에서 세 번째 chunk에 포함되는 데이터임을 가리키는 ‘3’의 값을 함께 가진다. 또한, 어플리케이션 계층 전송 프로토콜 패킷에 의하여 전송되는 데이터는, 세그먼트의 시작 부분에서부터 400의 오프셋을 가지는 곳에 위치하는 데이터임을, offset 엘레먼트가 가리킨다. 세그먼트 1에 포함되는 ES 5를 전송하는 어플리케이션 계층 전송 프로토콜 패킷은 chunk 3에 포함되는 데이터를 전송하므로, priority 엘레먼트, TSI 엘레먼트 및 TOI 엘레먼트는, ES 4를 전송하는 어플리케이션 계층 전송 프로토콜 패킷과 동일한 값을 가진다. 다만, ES 5를 전송하는 어플리케이션 계층 전송 프로토콜 패킷은, ES 4를 전송하는 어플리케이션 계층 전송 프로토콜 패킷의 오프셋 엘레먼트의 값과는 다른 오프셋 엘레먼트 값을 가진다.
세그먼트 2에 포함되는 ES 1을 전송하는 어플리케이션 계층 전송 프로토콜 패킷은 ISO BMFF 파일의 시작 부분에 해당되는 데이터를 포함하고, moov 박스를 포함한다. 따라서, 이 어플리케이션 계층 전송 프로토콜 패킷은 ‘highest’ (가장 중요함)의 priority 엘레먼트의 값을 가지고, TSI 엘레먼트는 해당 비디오 트랙을 가리키는 값 (예를 들면, 1)을 가지고, TOI 엘레먼트는, 해당 비디오 트랙 내의 세그먼트 2를 식별하는 ‘2’와 해당 세그먼트 내에서 처음 chunk에 포함되는 데이터임을 가리키는 ‘1’의 값을 함께 가진다. 또한, 세그먼트의 시작 부분의 데이터를 전송하므로, 어플리케이션 계층 전송 프로토콜 패킷의 오프셋 엘레먼트는 0에 해당된다.
세그먼트 2에 포함되는 ES 2를 전송하는 어플리케이션 계층 전송 프로토콜 패킷은, moof 박스, mdat 박스의 일부를 포함하는 chunk 2의 일부를 포함한다. 따라서, 이 어플리케이션 계층 전송 프로토콜 패킷은 ‘higher’ (보다 중요함)의 priority 엘레먼트의 값을 가지고, TSI 엘레먼트는 해당 비디오 트랙을 가리키는 값 (예를 들면, 1)을 가지고, TOI 엘레먼트는, 해당 비디오 트랙 내의 세그먼트 2를 식별하는 ‘2’와 해당 세그먼트 내에서 두 번째 chunk에 포함되는 데이터임을 가리키는 ‘2’의 값을 함께 가진다. 또한, 어플리케이션 계층 전송 프로토콜 패킷에 의하여 전송되는 데이터는, 세그먼트의 시작 부분에서부터 100의 오프셋을 가지는 곳에 위치하는 데이터임을, offset 엘레먼트가 가리킨다.
세그먼트 2에 포함되는 ES 3을 전송하는 어플리케이션 계층 전송 프로토콜 패킷은, mdat 박스의 일부를 포함하는 chunk 3의 일부를 포함한다. 해당 mdat 박스의 데이터는 다른 mdat 박스의 데이터 보다 중요한 데이터가 포함되어 있을 수 있다. 따라서, 이 어플리케이션 계층 전송 프로토콜 패킷은 ‘medium’ (보통)의 priority 엘레먼트의 값을 가지고, TSI 엘레먼트는 해당 비디오 트랙을 가리키는 값 (예를 들면, 1)을 가지고, TOI 엘레먼트는, 해당 비디오 트랙 내의 세그먼트 2를 식별하는 ‘2’와 해당 세그먼트 내에서 세 번째 chunk에 포함되는 데이터임을 가리키는 ‘3’의 값을 함께 가진다. 또한, 어플리케이션 계층 전송 프로토콜 패킷에 의하여 전송되는 데이터는, 세그먼트의 시작 부분에서부터 400의 오프셋을 가지는 곳에 위치하는 데이터임을, offset 엘레먼트가 가리킨다.
세그먼트 1과 세그먼트 2에 각각 포함되는 어플리케이션 계층 전송 프로토콜 패킷은 PTS 엘레먼트 값을 포함할 수 있는데, 세그먼트 1에 포함되는 어플리케이션 계층 전송 프로토콜 패킷의 PTS 엘레먼트 값이 x를 가지는 경우, 세그먼트 2에 포함되는 어플리케이션 계층 전송 프로토콜 패킷이 PTS 엘레먼트의 값은 x+1을 가질 수 있다.
이와 같이, 어플리케이션 계층 전송 프로토콜 패킷을 구성하는 경우, 수신기는 특정 어플리케이션 계층 전송 프로토콜 패킷이 어느 세그먼트 (또는 ISO BMFF 파일) 에 속하는지 알 수 있어, 전송 과정에서 어플리케이션 계층 전송 프로토콜 패킷의 일부가 손실되는 경우에도, 수신한 어플리케이션 계층 전송 프로토콜 패킷을 정확한 위치에서 디코딩할 수 있다.
도 43는 본 발명의 일 실시예에 따른, 방송 시스템을 나타낸 도면이다.
전술한 바와 같이, 본 발명의 일 실시예에 따른, 방송 수신기는 MPEG-DASH의 MPD를 이용하여, 방송 스트리밍을 제공할 수 있다. 본 발명의 일 실시예에 따른 방송 수신기는 브로드밴드 및/또는 브로드캐스트를 통하여 방송 신호 및/또는 방송 데이터를 수신하여 처리할 수 있다. 따라서, MPD는 브로드밴드와 브로드캐스트 모두에서 사용될 수 있다. 또는 MPD는 브로드밴드에서만 사용될 수 있다.
본 도면은 MPD를 브로드캐스트와 브로드밴드 모두에서 사용하는 경우에 있어서, 본 발명의 일 실시예에 따른, 방송 시스템의 동작을 나타낸다.
본 발명의 일 실시예에 따른 방송 시스템은 송신 시스템과 수신기를 포함한다.
송신 시스템 (송신기)는 월 클럭 처리부 (Wall Clock-T; J42010), NTP 서버 (NTP server; J42020), DASH 인코더 (DASH Encoder; J42030), 방송 송신기 (Broadcast Transmitter; J42040) 및/또는 HTTP 서버 (external HTTP server; J42050)을 포함한다.
수신기는 IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J42110), FLUTE+ 클라이언트 (FLUTE+ client; J42120), DASH 클라이언트 (DASH client; J42130), HTTP 서버 (Internal HTTP server; J42140), NTP 클라이언트 (NTP client; J42150) 및/또는 월 클럭 처리부 (Wall clock-R; J42160) 를 포함할 수 있다.
월 클럭 처리부 (Wall Clock-T; J42010)는 방송 송신기의 기준 시간에 관한 정보를 처리하고 제공한다.
NTP 서버 (NTP server; J42020)는 방송 송신기의 기준 시간에 대한 정보를 이용하여, NTP (network time protocol) 정보를 생성하고, NTP 정보를 포함하는 NTP 패킷을 생성한다.
DASH 인코더 (DASH Encoder; J42030)는 방송 송신기의 기준 시간에 관한 정보에 맞추어, 방송 데이터를 포함하는 세그먼트를 인코딩한다. DASH 인코더 (DASH Encoder; J42030)는 방송 송신기의 기준 시간에 관한 정보에 맞추어, 미디어 (방송 서비스, 방송 컨텐츠, 및/또는 방송 이벤트) 에 대한 데이터 및/또는 설명 정보를 포함하는 MPD를 인코딩한다.
방송 송신기 (Broadcast Transmitter; J42040)는 NTP 패킷, 세그먼트 및/또는 MPD를 포함하는 방송 스트림을 전송한다.
HTTP 서버 (external HTTP server; J42050)는 MPD에 대한 요청에 대한 응답을 처리하거나, 세그먼트 등과 같은 미디어에 대한 데이터에 대한 요청에 대한 응답을 처리한다. HTTP 서버 (external HTTP server; J42050)는 방송 송신기 내부에 위치할 수 있으며, 외부에 위치할 수도 있다.
IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J42110)는 방송 신호에서 분리된 IP/UDP 데이터그램 또는 IP 패킷을 필터링한다. IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J42110)는 미디어에 대한 데이터를 포함하는 패킷 (어플리케이션 계층 전송 프로토콜 패킷 또는 LCT 패킷) 과 NTP 패킷을 필터링할 수 있다.
FLUTE+ 클라이언트 (FLUTE+ client; J42120)는 수신한 패킷에서 MPD를 추출한다. FLUTE+ 클라이언트 (FLUTE+ client; J42120)는 미디어에 대한 정보를 포함하는 HTTP entity를 추출한다.
DASH 클라이언트 (DASH client; J42130)는 MPD 파서 (MPD parser), HTTP 어세스 엔진 (HTTP access engine), 세그먼트 버퍼 제어부 (Seg. Buffer control), 세그먼트 버퍼 (Seg. Buffer), 세그먼트 인덱스 처리부 (Seg. Index), DASH 클라이언트 제어부 (DASH Client Control) 및/또는 미디어 엔진 (Media Engine)을 포함할 수 있다. DASH 클라이언트 (DASH client; J42130)는 MPD를 처리하고, MPD에 따라 세그먼트에 대한 요청을 수행하거나, 세그먼트를 수신하여 처리하는 역할을 수행한다. MPD 파서 (MPD parser)는 MPD를 파싱한다. HTTP 어세스 엔진 (HTTP access engine)는 HTTP 를 통하여, 서버와 통신을 수행하여, 필요한 데이터를 요청하거나, 수신한다. 세그먼트 버퍼 제어부 (Seg. Buffer control)는 세그먼트 버퍼를 제어한다. 세그먼트 버퍼 (Seg. Buffer)는 세그먼트를 버퍼링한다. 세그먼트 인덱스 처리부 (Seg. Index)는 세그먼트가 순서대로 처리할 수 있도록 세그먼트의 인덱스를 관리 및 처리한다. 세그먼트의 인덱스에 관한 정보는 MPD에 포함된다. 세그먼트 인덱스 처리부는, 세그먼트의 타이밍에 대한 정보를 획득하여, 타이밍에 따라 세그먼트가 디코딩될 수 있도록 하는 처리를 수행한다. DASH 클라이언트 제어부 (DASH Client Control)는 DASH 클라이언트를 제어한다. DASH 클라이언트 제어부는 방송 시스템의 기준 시간에 맞게 DASH 클라이언트가 동작할 수 있도록 제어한다. 미디어 엔진 (Media Engine)는 세그먼트를 디코딩하여, 미디어를 생성한다.
HTTP 서버 (Internal HTTP server; J42140)는 DASH 클라이언트의 특정 세그먼트에 대한 요청을 수신하고, 이에 대한 응답으로 해당 세그먼트를 DASH 클라이언트로 전달한다. DASH 클라이언트는 특정 세그먼트를 요청하기 위하여, 해당 세그먼트의 URL 정보를 HTTP 서버로 전달할 수 있다. HTTP 서버 (Internal HTTP server; J42140)는 수신기 내부에 존재할 수 도 있고, 수신기 외부에 존재할 수도 있다.
NTP 클라이언트 (NTP client; J42150)는 NTP 패킷을 수신하여 파싱한다.
월 클럭 처리부 (Wall clock-R; J42160)는 NTP 정보를 이용하여, 수신기의 기준 시간과 네트워크 시스템의 기준 시간 사이의 동기를 유지하도록 처리한다.
본 발명의 일 실시예에서는, 세그먼트들은, 방송 송신기에서 인코딩되는 즉시 방송 스트림으로 입력된다. 송신기에서 수신기로의 전송 과정에서 일정한 delay가 발생할 수 있다. 송신기와 수신기의 월 클럭 (기준 시간) 사이에 일정한 delay가 발생할 수 있다. 세그먼트는 내부 HTTP 서버에서 DASH 클라이언트로 전송된다.
도 44은 본 발명의 일 실시예에 따른 방송 시스템에서의 세그먼트의 처리의 타이밍을 나타낸 도면이다.
본 도면에서는, 도 43의 각 장치에 표시된 Timing (1), Timing (2), Timing (4), Timing (5)에서의 각각의 타임라인이 도시되어 있으며, 해당 타임라인에서 세그먼트의 타이밍이 도시되었다.
세그먼트(A1)는 오디오 1의 데이터를 전송한다.
세그먼트(V1)는 비디오 1의 데이터를 전송한다.
세그먼트(A2)는 오디오 2의 데이터를 전송한다.
세그먼트(V2)는 비디오 2의 데이터를 전송한다.
세그먼트(A3)는 오디오 3의 데이터를 전송한다.
세그먼트(V3)는 비디오 3의 데이터를 전송한다.
타임라인 1은 송신기의 encoder에서의 타임라인이다.
타임라인 2는 방송 스트림 상에서의 타임라인이다.
타임라인 4는 수신기의 내부 서버에서의 타임라인이다.
타임라인 5는 수신기의 DASH 클라이언트에서의 타임라인이다.
타임라인 1에서, 세그먼트(A1) 및 세그먼트(V1)가 동일 시간 동안 인코딩된다. , 세그먼트(A1) 및 세그먼트(V1)의 인코딩이 종료되면, 세그먼트(A2) 및 세그먼트(V2)가 동일 시간 동안 인코딩된다. 세그먼트(A2) 및 세그먼트(V2)의 인코딩이 종료되면, 세그먼트(A3) 및 세그먼트(V3)가 동일 시간 동안 인코딩된다.
타임라인 2에서, 각각의 세그먼트에 대한 인코딩이 종료되면, 송신기는 해당 세그먼트를 전송한다.
타임라인 4에서, MPD에서 묘사된 세그먼트가 available 한 시간을 나타내는 availability 타임라인이 도시되었다. 세그먼트의 실제 지속 시간 (duration)과 time shift buffer depth에 따른 각각의 세그먼트의 시간이 결합되어 해당 세그먼트의 길이로 설정될 수 있다.
타임라인 4에서, 실제로 각각의 세그먼트가 수신되는 시간은, 전송 시간과 비교하여 일정한 지연 (constant delay)가 있을 수 있다.
타임라인 5를 참조하면, 채널 변경 (channel change)가 발생하는 시점에서는 세그먼트 (A3), 세그먼트 (V3)가 available하고, 위 세그먼트가 다른 클라이언트의 처리 결과와 동기되는 시간을 고려하여, 세그먼트 (A3), 세그먼트 (V3)의 표출을 위하여 제시되는 지연 (suggested presentation delay)이 설정될 수 있다. 수신기에서는 period start 정보, 세그먼트 (A3) 및 세그먼트 (V3)의 start time 정보, 및 suggested presentation delay 정보가 나타내는 시간들을 더하여, period가 시작된 이후의 세그먼트 (A3) 및 세그먼트 (V3)를 표출하는 시간을 정할 수 있다.
도 45는 본 발명의 일 실시예에 따른, MPD를 브로드밴드와 브로드캐스트 모두에서 사용하는 경우에 있어서, 방송 시스템의 동작을 나타낸다.
본 발명의 일 실시예에 따른 방송 시스템은 송신 시스템과 수신기를 포함한다.
송신 시스템 (송신기)는 월 클럭 처리부 (Wall Clock-T; J44010), 타임라인 패킷 인코더 (timeline packet encoder; J44020), DASH 인코더 (DASH Encoder; J44030), 방송 송신기 (Broadcaster; J44040) 및/또는 HTTP 서버 (external HTTP server; J44050)을 포함한다.
수신기는 IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J44110), ALC/LCT+ 클라이언트 (ALC/LCT+ client; J44120), 수신기 버퍼 제어부 (receiver buffer control; J44130), 세그먼트 버퍼 (Seg. Buffer; J44140), 미디어 엔진 (Media engine; J44150), 타임라인 패킷 파서 (timeline packet parser; J44160), 월 클럭 처리부 (Wall clock-R; J44170), 및/또는 DASH 클라이언트 (DASH client; J44180) 를 포함할 수 있다.
월 클럭 처리부 (Wall Clock-T; J44010)는 방송 송신기의 기준 시간에 관한 정보를 처리하고 제공한다.
타임라인 패킷 인코더 (timeline packet encoder; J44020)는 미디어의 동기, 또는 방송 시스템과 방송 수신기 사이의 기준 시간의 동기를 위한 정보를 포함하는 타임라인 패킷을 생성한다.
DASH 인코더 (DASH Encoder; J44030)는 방송 송신기의 기준 시간에 관한 정보에 맞추어, 방송 데이터를 포함하는 세그먼트를 인코딩한다. DASH 인코더 (DASH Encoder; J44030)는 방송 송신기의 기준 시간에 관한 정보에 맞추어, 미디어 (방송 서비스, 방송 컨텐츠, 및/또는 방송 이벤트) 에 대한 데이터 및/또는 설명 정보를 포함하는 MPD를 인코딩한다.
방송 송신기 (Broadcaster; J44040)는 타임라인 패킷, 세그먼트 및/또는 MPD를 포함하는 방송 스트림을 전송한다.
HTTP 서버 (HTTP server; J44050)는 MPD에 대한 요청에 대한 응답을 처리하거나, 세그먼트 등과 같은 미디어에 대한 데이터에 대한 요청에 대한 응답을 처리한다. HTTP 서버 (HTTP server; J44050)는 방송 송신기 내부에 위치할 수 있으며, 외부에 위치할 수도 있다. HTTP 서버 (HTTP server; J44050)는 DASH 클라이언트로부터 특정 세그먼트 (예를 들면, Seg.(A)) 에 대한 요청을 수신 받는다. 이 요청에는 특정 세그먼트의 위치 정보 (예를 들면, URL 정보)가 포함될 수 있다. HTTP 서버 (HTTP server; J44050)는 DASH 인코더로부터, 해당 세그먼트를 수신 받아, DASH 클라이언트로 전달할 수 있다.
IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J44110)는 방송 신호에서 분리된 IP/UDP 데이터그램 또는 IP 패킷을 필터링한다. IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J44110)는 미디어에 대한 데이터를 포함하는 패킷 (어플리케이션 계층 전송 프로토콜 패킷 또는 LCT 패킷) 과 타임라인 패킷을 필터링할 수 있다.
ALC/LCT+ 클라이언트 (ALC/LCT+ client; J44120)는 수신한 패킷에서 MPD를 추출한다. ALC/LCT+ 클라이언트 (ALC/LCT+ client; J44120)는 미디어에 대한 데이터를 포함하는 세그먼트 (예를 들면, Seg.(V))를 추출한다.
수신기 버퍼 제어부 (receiver buffer control; J44130)는 수신기 내의 세그먼트 버퍼의 동작을 제어한다. 수신기 버퍼 제어부 (receiver buffer control; J44130)는 어플리케이션 계층 전송 프로토콜 패킷으로 전송되는 세그먼트를 전달받는다. 수신기 버퍼 제어부 (receiver buffer control; J44130)는 버퍼링이 필요한 경우, 해당 세그먼트를 세그먼트 버퍼로 전달할 수 있다. 수신기 버퍼 제어부 (receiver buffer control; J44130)는 브로드밴드 타임라인 기준 (Broadband timeline reference; wall clock) 을 수신하고, 세그먼트에 대한 타이밍 정보를 수신한다. 수신기 버퍼 제어부 (receiver buffer control; J44130)는 세그먼트의 타이밍과 월 클럭에 맞춰 세그먼트를 미디어 엔진 등으로 전달하여, 해당 세그먼트가 소비될 수 있도록 제어한다.
세그먼트 버퍼 (Seg. Buffer; J44140)는 세그먼트를 버퍼링한다.
미디어 엔진 (Media engine; J44150)는 세그먼트를 디코딩하고, 세그먼트에 해당되는 미디어를 표출한다.
타임라인 패킷 파서 (timeline packet parser; J44160)는 타임라인 패킷을 파싱한다.
월 클럭 처리부 (Wall clock-R; J44170)는 타임라인 패킷 내의 정보를 이용하여, 수신기의 기준 시간과 시스템의 기준 시간 사이의 동기를 유지하도록 처리한다.
DASH 클라이언트 (DASH client; J44180)는 MPD 파서 (MPD parser), HTTP 어세스 엔진 (HTTP access engine), 세그먼트 버퍼 제어부 (Seg. Buffer control), 세그먼트 버퍼 (Seg. Buffer), 세그먼트 인덱스 처리부 (Seg. Index), DASH 클라이언트 제어부 (DASH Client Control) 및/또는 미디어 엔진 (Media Engine)을 포함할 수 있다. DASH 클라이언트 (DASH client; J44180)는 MPD를 처리하고, MPD에 따라 세그먼트에 대한 요청을 수행하거나, 세그먼트를 수신하여 처리하는 역할을 수행한다. MPD 파서 (MPD parser)는 MPD를 파싱한다. MPD 파서 (MPD parser)는 MPD에서 세그먼트 (A)에 대한 기존의 방송 시스템 에서의 타이밍 정보 (예를 들면, PTS 등), 세그먼트의 URL 정보, 및/또는 세그먼트의 available 타이밍 정보를 추출할 수 있다. HTTP 어세스 엔진 (HTTP access engine)는 HTTP 를 통하여, 서버와 통신을 수행하여, 필요한 데이터를 요청하거나, 수신한다. 세그먼트 버퍼 제어부 (Seg. Buffer control)는 세그먼트 버퍼를 제어한다. 세그먼트 버퍼 (Seg. Buffer)는 세그먼트를 버퍼링한다. 세그먼트 인덱스 처리부 (Seg. Index)는 세그먼트가 순서대로 처리할 수 있도록 세그먼트의 인덱스를 관리 및 처리한다. 세그먼트의 인덱스에 관한 정보는 MPD에 포함된다. 세그먼트 인덱스 처리부는, 세그먼트의 타이밍에 대한 정보를 획득하여, 타이밍에 따라 세그먼트가 디코딩될 수 있도록 하는 처리를 수행한다. DASH 클라이언트 제어부 (DASH Client Control)는 DASH 클라이언트를 제어한다. DASH 클라이언트 제어부는 방송 시스템의 기준 시간에 맞게 DASH 클라이언트가 동작할 수 있도록 제어한다. 미디어 엔진 (Media Engine)는 세그먼트를 디코딩하여, 미디어를 생성한다.
본 발명에 따르면, 비디오 데이터를 전송하는 세그먼트 (Seg.(V))와 오디오 데이터를 전송하는 세그먼트 (Seg.(A))가 서로 다른 전송 방식으로 전송되어, 서로 다른 처리 과정을 거쳐, 하나의 미디어의 일부를 구성할 수 있다.
본 발명의 일 실시예에서는, 세그먼트들은, 방송 송신기에서 인코딩되는 즉시 방송 스트림으로 입력된다. 세그먼트들은, 방송 송신기에서 인코딩되는 즉시 외부 서버에서 사용 가능하다. 송신기에서 수신기로의 전송 과정에서 일정한 delay가 발생할 수 있다. 송신기와 수신기의 월 클럭 (기준 시간) 사이에 일정한 delay가 발생할 수 있다. 세그먼트는 내부 서버에서 DASH 클라이언트로 즉시 전송될 수 있다.
도 46은 본 발명의 다른 실시예에 따른 방송 시스템에서의 세그먼트의 처리의 타이밍을 나타낸 도면이다.
본 도면에서는, 도 45의 각 장치에 표시된 Timing (1), Timing (2), Timing (3), Timing (4), Timing (5)에서의 각각의 타임라인이 도시되어 있으며, 해당 타임라인에서 세그먼트의 타이밍이 도시되었다.
세그먼트(A1)는 오디오 1의 데이터를 전송한다.
세그먼트(V1)는 비디오 1의 데이터를 전송한다.
세그먼트(A2)는 오디오 2의 데이터를 전송한다.
세그먼트(V2)는 비디오 2의 데이터를 전송한다.
세그먼트(A3)는 오디오 3의 데이터를 전송한다.
세그먼트(V3)는 비디오 3의 데이터를 전송한다.
타임라인 1은 송신기의 encoder에서의 타임라인이다.
타임라인 2는 방송 스트림 상에서의 타임라인이다.
타임라인 3은 외부 서버 상에서의 타임라인이다.
타임라인 4는 수신기의 내부 서버에서의 타임라인이다.
타임라인 5는 수신기의 DASH 클라이언트에서의 타임라인이다.
타임라인 1에서, 세그먼트(A1) 및 세그먼트(V1)가 동일 시간 동안 인코딩된다. , 세그먼트(A1) 및 세그먼트(V1)의 인코딩이 종료되면, 세그먼트(A2) 및 세그먼트(V2)가 동일 시간 동안 인코딩된다. 세그먼트(A2) 및 세그먼트(V2)의 인코딩이 종료되면, 세그먼트(A3) 및 세그먼트(V3)가 동일 시간 동안 인코딩된다.
타임라인 2에서, 각각의 세그먼트에 대한 인코딩이 종료되면, 송신기는 해당 세그먼트를 전송한다. 여기서 방송망을 통하여는, 비디오 데이터를 포함하는 세그먼트들이 전송될 수 있다. 즉, 방송망을 통하여는, 세그먼트(V1), 세그먼트(V2), 세그먼트(V3)이 전송된다.
타임라인 3에서, 비디오 데이터를 전송하는 세그먼트에 대응되는 오디오 데이터를 전송하는 세그먼트(A1), 세그먼트(A2), 세그먼트(A3)가 외부 서버에서 available 한 시간이 표현되어 있다.
타임라인 4에서, MPD에서 묘사된 세그먼트가 available 한 시간을 나타내는 availability 타임라인이 도시되었다. 세그먼트의 실제 지속 시간 (duration)과 time shift buffer depth에 따른 각각의 세그먼트의 시간이 결합되어 해당 세그먼트의 길이로 설정될 수 있다.
타임라인 4에서, 실제로 각각의 세그먼트가 수신되는 시간은, 전송 시간과 비교하여 일정한 지연 (constant delay)가 있을 수 있다.
타임라인 5를 참조하면, 채널 변경 (channel change)가 발생하는 시점에서는 세그먼트 (A2), 세그먼트 (A3), 세그먼트 (V3)가 available하고, 위 세그먼트가 다른 클라이언트의 처리 결과와 동기되는 시간을 고려하여, 세그먼트 (A2), 세그먼트 (A3), 세그먼트 (V3)의 표출을 위하여 제시되는 지연 (suggested presentation delay)이 설정될 수 있다. 수신기에서는 period start 정보, 세그먼트 (A2), 세그먼트 (A3), 세그먼트 (V3)의 각각의 start time 정보, 및 suggested presentation delay 정보가 나타내는 시간들을 더하여, period가 시작된 이후의 세그먼트 (A2), 세그먼트 (A3), 및 세그먼트 (V3)를 표출하는 시간을 정할 수 있다. 수신기에 따라, 컨텐츠가 표출되는 시간의 차이가 있을 수 있으나, suggested presentation delay 를 이용하여 수신기 간의 컨텐츠가 표출되는 시간 차이를 없앨 수 있다.
MPD가 브로드밴드와 브로드캐스트 모두에서 사용되는 경우, 브로드캐스트 채널로 전송되는 세그먼트 보다, 브로드밴드로 전송되는 세그먼트를 수신기는 먼저 수신할 수 있다.
기존의 (외부 서버를 위한) DASH availability 타임라인은, (내부 서버에서) 방송 스트림으로 전송되는 세그먼트들을 위하여는 사용될 수 없을 것이다. 내부 서버에서의 세그먼트 availability time은 채널 변경 시간에 의하여 영향을 받을 수 있다. 추가적으로 세그먼트 수신 시간 (segment reception time)이 고려되어야 하며, 수신기는 세그먼트 수신 시간을 고려하여, 세그먼트 availability time을 측정할 수 있다. 전술한 실시예에서, 일정한 지연 (constant delay)이 수신기 마다 다른 경우, DASH presentation time 은 suggested presentation delay 정보를 이용하여 정확하게 동기화되기 어려울 수 있다.
도 47은 본 발명의 다른 실시예에 따른, MPD를 브로드밴드에서만 사용하는 경우에 있어서, 방송 시스템을 나타낸 도면이다.
본 발명의 일 실시예에 따른 방송 시스템은 송신 시스템과 수신기를 포함한다.
송신 시스템 (송신기)는 월 클럭 처리부 (Wall Clock-T; J46010), 타임라인 패킷 인코더 (timeline packet encoder; J46020), DASH 인코더 (DASH Encoder; J46030), 및/또는 방송 송신기 (Broadcaster; J46040) 을 포함한다.
수신기는 IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J46110), ALC/LCT+ 클라이언트 (ALC/LCT+ client; J46120), 수신기 버퍼 제어부 (receiver buffer control; J46130), 세그먼트 버퍼 (Seg. Buffer; J46140), 미디어 엔진 (Media engine; J46150), 타임라인 패킷 파서 (timeline packet parser; J46160), 및/또는 월 클럭 처리부 (Wall clock-R; J46170) 를 포함할 수 있다.
월 클럭 처리부 (Wall Clock-T; J46010)는 방송 송신기의 기준 시간에 관한 정보를 처리하고 제공한다.
타임라인 패킷 인코더 (timeline packet encoder; J46020)는 미디어의 동기, 또는 방송 시스템과 방송 수신기 사이의 기준 시간의 동기를 위한 정보를 포함하는 타임라인 패킷을 생성한다.
DASH 인코더 (DASH Encoder; J46030)는 방송 송신기의 기준 시간에 관한 정보에 맞추어, 방송 데이터를 포함하는 세그먼트를 인코딩한다. DASH 인코더 (DASH Encoder; J46030)는 방송 송신기의 기준 시간에 관한 정보에 맞추어, 미디어 (방송 서비스, 방송 컨텐츠, 및/또는 방송 이벤트) 에 대한 데이터 및/또는 설명 정보를 포함하는 MPD를 인코딩한다.
방송 송신기 (Broadcaster; J46040)는 타임라인 패킷, 세그먼트 및/또는 MPD를 포함하는 방송 스트림을 전송한다.
IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J46110)는 방송 신호에서 분리된 IP/UDP 데이터그램 또는 IP 패킷을 필터링한다. IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J46110)는 미디어에 대한 데이터를 포함하는 패킷 (어플리케이션 계층 전송 프로토콜 패킷 또는 LCT 패킷) 과 타임라인 패킷을 필터링할 수 있다.
ALC/LCT+ 클라이언트 (ALC/LCT+ client; J46120)는 미디어에 대한 데이터를 포함하는 세그먼트 (예를 들면, Seg.(V), Seg.(A))를 추출한다. ALC/LCT+ 클라이언트 (ALC/LCT+ client; J46120)는 MPD 대신, 기존의 타이밍을 위한 정보 (예를 들면, MPEG2 TS에서 사용되던 타이밍 정보)를 추출할 수 있다. 이러한 타이밍을 위한 정보는 각 세그먼트에 포함되어 있을 수도 있다.
버퍼 제어부 (buffer control; J46130)는 수신기 내의 세그먼트 버퍼의 동작을 제어한다. 버퍼 제어부 (buffer control; J46130)는 어플리케이션 계층 전송 프로토콜 패킷으로 전송되는 세그먼트를 전달받는다. 버퍼 제어부 (buffer control; J46130)는 버퍼링이 필요한 경우, 해당 세그먼트를 세그먼트 버퍼로 전달할 수 있다. 버퍼 제어부 (buffer control; J46130)는 브로드밴드 타임라인 기준 (Broadband timeline reference; wall clock) 을 수신하고, 세그먼트에 대한 타이밍 정보를 수신한다. 버퍼 제어부 (buffer control; J46130)는 세그먼트의 타이밍과 월 클럭에 맞춰 세그먼트를 미디어 엔진 등으로 전달하여, 해당 세그먼트가 소비될 수 있도록 제어한다.
세그먼트 버퍼 (Seg. Buffer; J46140)는 세그먼트를 버퍼링한다.
미디어 엔진 (Media engine; J46150)는 세그먼트를 디코딩하고, 세그먼트에 해당되는 미디어를 표출한다.
타임라인 패킷 파서 (timeline packet parser; J46160)는 타임라인 패킷을 파싱한다.
월 클럭 처리부 (Wall clock-R; J46170)는 타임라인 패킷 내의 정보를 이용하여, 수신기의 기준 시간과 시스템의 기준 시간 사이의 동기를 유지하도록 처리한다.
본 발명의 일 실시예에서는, 세그먼트들은, 방송 송신기에서 인코딩되는 즉시 방송 스트림으로 입력된다. 월 클럭 (wall clock)은 브로드캐스트 타임라인 레퍼런스 (Boradcast timeline reference) 형태로 송신기에서 수신기로 전송된다. 송신기에서 수신기로의 전송 과정에서 일정한 delay가 발생할 수 있다. 송신기와 수신기의 월 클럭 (기준 시간) 사이에 일정한 delay가 발생할 수 있다.
도 48은 본 발명의 다른 실시에에 따른, 방송 시스템에서의 세그먼트의 처리의 타이밍을 나타낸 도면이다.
본 도면에서는, 도 47의 각 장치에 표시된 Timing (1), Timing (2), Timing (4), Timing (5)에서의 각각의 타임라인이 도시되어 있으며, 해당 타임라인에서 세그먼트의 타이밍이 도시되었다.
세그먼트(A1)는 오디오 1의 데이터를 전송한다.
세그먼트(V1)는 비디오 1의 데이터를 전송한다.
세그먼트(A2)는 오디오 2의 데이터를 전송한다.
세그먼트(V2)는 비디오 2의 데이터를 전송한다.
세그먼트(A3)는 오디오 3의 데이터를 전송한다.
세그먼트(V3)는 비디오 3의 데이터를 전송한다.
타임라인 1은 송신기의 encoder에서의 타임라인이다.
타임라인 2는 방송 스트림 상에서의 타임라인이다.
타임라인 4는 수신기의 버퍼에 적용되는 타임라인이다.
타임라인 5는 수신기의 DASH 클라이언트에서의 타임라인이다.
타임라인 1에서, 세그먼트(A1) 및 세그먼트(V1)가 동일 시간 동안 인코딩된다. , 세그먼트(A1) 및 세그먼트(V1)의 인코딩이 종료되면, 세그먼트(A2) 및 세그먼트(V2)가 동일 시간 동안 인코딩된다. 세그먼트(A2) 및 세그먼트(V2)의 인코딩이 종료되면, 세그먼트(A3) 및 세그먼트(V3)가 동일 시간 동안 인코딩된다. 각각의 세그먼트에는 PTS가 포함될 수 있다.
타임라인 2에서, 각각의 세그먼트에 대한 인코딩이 종료되면, 송신기는 해당 세그먼트를 전송한다.
타임라인 4를 참조하면, 일정한 지연 (constant delay)와 각각의 세그먼트의 수신에 필요한 시간이 흐른 뒤, 각각의 세그먼트가 사용 가능하게 된다.
타임라인 5를 참조하면, 채널 변경 (channel change)가 발생하는 시점에서는, 세그먼트 (A2) 및 세그먼트 (V2)의 일부 데이터는 수신하지 못할 수 있다. 채널 변경 (channel change)가 발생하는 시점 이후에, 세그먼트 (A3), 및 세그먼트 (V3)은 모두 수신할 수 있다. 위 세그먼트가 다른 클라이언트의 처리 결과와 동기되는 시간을 고려하여, 세그먼트 (A3), 세그먼트 (V3)의 표출을 위하여 제시되는 지연 (suggested presentation delay)이 설정될 수 있다.
도 49는 본 발명의 다른 실시예에 따른, MPD를 브로드밴드에서만 사용하는 경우에 있어서, 방송 시스템을 나타낸 도면이다.
본 발명의 일 실시예에 따른 방송 시스템은 송신 시스템과 수신기를 포함한다.
송신 시스템 (송신기)는 월 클럭 처리부 (Wall Clock-T; J48010), 타임라인 패킷 인코더 (timeline packet encoder; J48020), DASH 인코더 (DASH Encoder; J48030), 방송 송신기 (Broadcaster; J48040) 및/또는 HTTP 서버 (HTTP server; J48050)을 포함한다.
수신기는 IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J48110), ALC/LCT+ 클라이언트 (ALC/LCT+ client; J48120), 수신기 버퍼 제어부 (receiver buffer control; J48130), 세그먼트 버퍼 (Seg. Buffer; J48140), 미디어 엔진 (Media engine; J48150), 타임라인 패킷 파서 (timeline packet parser; J48160), 월 클럭 처리부 (Wall clock-R; J48170), 및/또는 DASH 클라이언트 (DASH client; J48180) 를 포함할 수 있다.
월 클럭 처리부 (Wall Clock-T; J48010)는 방송 송신기의 기준 시간에 관한 정보를 처리하고 제공한다.
타임라인 패킷 인코더 (timeline packet encoder; J48020)는 미디어의 동기, 또는 방송 시스템과 방송 수신기 사이의 기준 시간의 동기를 위한 정보를 포함하는 타임라인 패킷을 생성한다.
DASH 인코더 (DASH Encoder; J48030)는 방송 송신기의 기준 시간에 관한 정보에 맞추어, 방송 데이터를 포함하는 세그먼트를 인코딩한다. DASH 인코더 (DASH Encoder; J44030)는 방송 송신기의 기준 시간에 관한 정보에 맞추어, 미디어 (방송 서비스, 방송 컨텐츠, 및/또는 방송 이벤트) 에 대한 데이터 및/또는 설명 정보를 포함하는 MPD를 인코딩한다.
방송 송신기 (Broadcaster; J48040)는 타임라인 패킷, 세그먼트 및/또는 MPD를 포함하는 방송 스트림을 전송한다.
HTTP 서버 (HTTP server; J48050)는 MPD에 대한 요청에 대한 응답을 처리하거나, 세그먼트 등과 같은 미디어에 대한 데이터에 대한 요청에 대한 응답을 처리한다. HTTP 서버 (HTTP server; J48050)는 방송 송신기 내부에 위치할 수 있으며, 외부에 위치할 수도 있다. HTTP 서버 (HTTP server; J48050)는 DASH 클라이언트로부터 특정 세그먼트 (예를 들면, Seg.(A)) 에 대한 요청을 수신 받는다. 이 요청에는 특정 세그먼트의 위치 정보 (예를 들면, URL 정보)가 포함될 수 있다. HTTP 서버 (HTTP server; J48050)는 DASH 인코더로부터, 해당 세그먼트를 수신 받아, DASH 클라이언트로 전달할 수 있다.
IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J48110)는 방송 신호에서 분리된 IP/UDP 데이터그램 또는 IP 패킷을 필터링한다. IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J48110)는 미디어에 대한 데이터를 포함하는 패킷 (어플리케이션 계층 전송 프로토콜 패킷 또는 LCT 패킷) 과 타임라인 패킷을 필터링할 수 있다.
ALC/LCT+ 클라이언트 (ALC/LCT+ client; J48120)는 수신한 패킷에서 MPD를 추출한다. ALC/LCT+ 클라이언트 (ALC/LCT+ client; J48120)는 미디어에 대한 데이터를 포함하는 세그먼트 (예를 들면, Seg.(V))를 추출한다. ALC/LCT+ 클라이언트 (ALC/LCT+ client; J48120)는 기존의 방송 시스템에서 사용되는 타이밍과 관련된 정보 (예를 들면, MPEG2-TS의 전송에서 사용되던 타이밍 관련 정보)를 추출할 수 있다. 또는 기존의 방송 시스템에서 사용되는 타이밍과 관련된 정보가 세그먼트 (V)에 포함되어 있을 수 있다.
수신기 버퍼 제어부 (receiver buffer control; J48130)는 수신기 내의 세그먼트 버퍼의 동작을 제어한다. 수신기 버퍼 제어부 (receiver buffer control; J48130)는 어플리케이션 계층 전송 프로토콜 패킷으로 전송되는 세그먼트를 전달받는다. 수신기 버퍼 제어부 (receiver buffer control; J48130)는 버퍼링이 필요한 경우, 해당 세그먼트를 세그먼트 버퍼로 전달할 수 있다. 수신기 버퍼 제어부 (receiver buffer control; J48130)는 브로드밴드 타임라인 기준 (Broadband timeline reference; wall clock) 을 수신하고, 세그먼트에 대한 타이밍 정보를 수신한다. 수신기 버퍼 제어부 (receiver buffer control; J48130)는 세그먼트의 타이밍과 월 클럭에 맞춰 세그먼트를 미디어 엔진 등으로 전달하여, 해당 세그먼트가 소비될 수 있도록 제어한다.
세그먼트 버퍼 (Seg. Buffer; J48140)는 세그먼트를 버퍼링한다.
미디어 엔진 (Media engine; J48150)는 세그먼트를 디코딩하고, 세그먼트에 해당되는 미디어를 표출한다.
타임라인 패킷 파서 (timeline packet parser; J48160)는 타임라인 패킷을 파싱한다.
월 클럭 처리부 (Wall clock-R; J48170)는 타임라인 패킷 내의 정보를 이용하여, 수신기의 기준 시간과 시스템의 기준 시간 사이의 동기를 유지하도록 처리한다.
DASH 클라이언트 (DASH client; J48180)는 MPD 파서 (MPD parser), HTTP 어세스 엔진 (HTTP access engine), 세그먼트 버퍼 제어부 (Seg. Buffer control), 세그먼트 버퍼 (Seg. Buffer), 세그먼트 인덱스 처리부 (Seg. Index), DASH 클라이언트 제어부 (DASH Client Control) 및/또는 미디어 엔진 (Media Engine)을 포함할 수 있다. DASH 클라이언트 (DASH client; J44180)는 MPD를 처리하고, MPD에 따라 세그먼트에 대한 요청을 수행하거나, 세그먼트를 수신하여 처리하는 역할을 수행한다. MPD 파서 (MPD parser)는 MPD를 파싱한다. MPD 파서 (MPD parser)는 MPD에서 세그먼트 (A)에 대한 기존의 방송 시스템 에서의 타이밍 정보 (예를 들면, PTS 등), 세그먼트의 URL 정보, 및/또는 세그먼트의 available 타이밍 정보를 추출할 수 있다. HTTP 어세스 엔진 (HTTP access engine)는 HTTP 를 통하여, 서버와 통신을 수행하여, 필요한 데이터를 요청하거나, 수신한다. 세그먼트 버퍼 제어부 (Seg. Buffer control)는 세그먼트 버퍼를 제어한다. 세그먼트 버퍼 (Seg. Buffer)는 세그먼트를 버퍼링한다. 세그먼트 인덱스 처리부 (Seg. Index)는 세그먼트가 순서대로 처리할 수 있도록 세그먼트의 인덱스를 관리 및 처리한다. 세그먼트의 인덱스에 관한 정보는 MPD에 포함된다. 세그먼트 인덱스 처리부는, 세그먼트의 타이밍에 대한 정보를 획득하여, 타이밍에 따라 세그먼트가 디코딩될 수 있도록 하는 처리를 수행한다. DASH 클라이언트 제어부 (DASH Client Control)는 DASH 클라이언트를 제어한다. DASH 클라이언트 제어부는 방송 시스템의 기준 시간에 맞게 DASH 클라이언트가 동작할 수 있도록 제어한다. 미디어 엔진 (Media Engine)는 세그먼트를 디코딩하여, 미디어를 생성한다.
본 발명에 따르면, 비디오 데이터를 전송하는 세그먼트 (Seg.(V))와 오디오 데이터를 전송하는 세그먼트 (Seg.(A))가 서로 다른 전송 방식으로 전송되어, 서로 다른 처리 과정을 거쳐, 하나의 미디어의 일부를 구성할 수 있다.
본 발명의 일 실시예에서는, 세그먼트들은, 방송 송신기에서 인코딩되는 즉시 방송 스트림으로 입력된다. 월 클럭 (wall clock)은 브로드캐스트 타임라인 레퍼런스 (Boradcast timeline reference) 형태로 송신기에서 수신기로 전송된다. 송신기에서 수신기로의 전송 과정에서 일정한 delay가 발생할 수 있다. 송신기와 수신기의 월 클럭 (기준 시간) 사이에 일정한 delay가 발생할 수 있다.
도 50는 본 발명의 다른 실시예에 따른 방송 시스템에서의 세그먼트의 처리의 타이밍을 나타낸 도면이다.
본 도면에서는, 도 49의 각 장치에 표시된 Timing (1), Timing (2), Timing (3), Timing (4), Timing (5)에서의 각각의 타임라인이 도시되어 있으며, 해당 타임라인에서 세그먼트의 타이밍이 도시되었다.
세그먼트(A1)는 오디오 1의 데이터를 전송한다.
세그먼트(V1)는 비디오 1의 데이터를 전송한다.
세그먼트(A2)는 오디오 2의 데이터를 전송한다.
세그먼트(V2)는 비디오 2의 데이터를 전송한다.
세그먼트(A3)는 오디오 3의 데이터를 전송한다.
세그먼트(V3)는 비디오 3의 데이터를 전송한다.
타임라인 1은 송신기의 encoder에서의 타임라인이다.
타임라인 2는 방송 스트림 상에서의 타임라인이다.
타임라인 3은 서버 상에서의 타임라인이다.
타임라인 4는 수신기의 내부 버퍼에서의 타임라인이다.
타임라인 5는 수신기의 DASH 클라이언트에서의 타임라인이다.
타임라인 1에서, 세그먼트(A1) 및 세그먼트(V1)가 동일 시간 동안 인코딩된다. , 세그먼트(A1) 및 세그먼트(V1)의 인코딩이 종료되면, 세그먼트(A2) 및 세그먼트(V2)가 동일 시간 동안 인코딩된다. 세그먼트(A2) 및 세그먼트(V2)의 인코딩이 종료되면, 세그먼트(A3) 및 세그먼트(V3)가 동일 시간 동안 인코딩된다. 각각의 비디오 데이터를 포함하는 세그먼트는 PTS (Presentation Timestamp) 정보를 포함할 수 있다.
타임라인 2에서, 각각의 세그먼트에 대한 인코딩이 종료되면, 송신기는 해당 세그먼트를 전송한다. 여기서 방송망을 통하여는, 비디오 데이터를 포함하는 세그먼트들이 전송될 수 있다. 즉, 방송망을 통하여는, 세그먼트(V1), 세그먼트(V2), 세그먼트(V3)이 전송된다.
타임라인 3에서, 비디오 데이터를 전송하는 세그먼트에 대응되는 오디오 데이터를 전송하는 세그먼트(A1), 세그먼트(A2), 세그먼트(A3)가 외부 서버에서 available 한 시간이 표현되어 있다. 오디오 데이터를 포함하는 세그먼트들의 지속시간에 time shift buffer depth를 더하여, 해당 세그먼트가 available 한 기간을 알 수 있다.
타임라인 4를 참조하면, 일정한 지연 (constant delay)와 각각의 세그먼트의 수신에 필요한 시간이 흐른 뒤, 각각의 세그먼트가 사용 가능하게 된다.
타임라인 5를 참조하면, 채널 변경 (channel change)가 발생하는 시점에서는, 수신기는 세그먼트 (V1)은 수신하지 못하였고, 세그먼트 (V2)에 포함되는 일부 데이터는 수신하지 못하였다. 수신기는 채널 변경 시점 이후, 세그먼트 (V3)를 완전히 수신할 수 있다. 한편, 수신기는 MPD를 이용하여, 세그먼트 (A2)는 수신할 수 있다. 각 세그먼트가 available하고, 위 세그먼트가 다른 클라이언트의 처리 결과와 동기되는 시간을 고려하여, 세그먼트 (A2), 세그먼트 (A3), 세그먼트 (V3)의 표출을 위하여 제시되는 지연 (suggested presentation delay)이 설정될 수 있다. 수신기에서는 period start 정보, 세그먼트 (A2), 세그먼트 (A3)의 각각의 start time 정보, 및/또는 suggested presentation delay 정보가 나타내는 시간들을 더하여, period가 시작된 이후의 세그먼트 (A2), 및 세그먼트 (A3) 를 표출하는 시간을 정할 수 있다. 수신기에 따라, 컨텐츠가 표출되는 시간의 차이가 있을 수 있으나, suggested presentation delay 를 이용하여 수신기 간의 컨텐츠가 표출되는 시간 차이를 없앨 수 있다.
MPD가 브로드밴드에서만 사용되는 경우, 브로드밴드로 전송되는 컨텐츠에 대한 availability timeline을 처리하기 위하여 월 클럭 (wall clock)이 필요하다. 이 경우, ‘broadband timeline reference’가 월 클럭의 값에 동기될 수 있다.
MPD는 미디어의 표출 시간을 시그널링하기 위하여, Media presentation time clock 정보를 포함할 수 있다. Media presentation time clock 정보를 ‘broadcast timeline reference’ 로 사용하기 위하여, 월 클럭과 media presentation time clock 정보 사이의 변환을 위한 추가적인 모듈 또는 장치가 필요할 수 있다. 본 발명의 일 실시예에 따르면, ‘MPD@suggestedPresentationDelay’ 정보가 PTS와 함께 전송되거나, PTS가 ‘suggested presentation delay’를 고려한 값을 가지도록 설정될 수 있다.
브로드캐스트망과 브로드밴드망으로 각각 전송되는 미디어 (방송 서비스, 컨텐츠, 및/또는 이벤트) 들 사이의 동기를 위하여, DASH media presentation timeline이 브로드캐스트와 브로드밴드를 위하여 사용될 수 있다. 예를 들면, ‘MPD@suggestedPresentationDelay’ 를 이용하여, 브로드캐스트 스트림과 브로드밴드 스트림을 일치 (align) 시킨다. ‘SegmentBase@availabilityTimeOffset’ 을 이용하여, 시그널링된 availability start time 이전에, 클라이언트가 세그먼트에 접근할 수 있도록 허용할 수 있다. MPD에 presentation time의 anchor 정보를 추가할 수 있다. 이러한 anchor 정보는 ‘MPD@anchorPresentationTime’으로 표현될 수 있다. 수신기는 anchor의 값으로부터 세그먼트의 시작의 presentation time을 측정할 수 있다. 예를 들면, 수신기는 ‘MPD@anchorPresentationTime’ + ‘Period@start’ + ‘Segment@presentationTimeOffset/Segment@timescale’ 으로, 세그먼트의 시작의 presentation time을 측정할 수 있다.
브로드밴드 네트워크와 브로드캐스트 네트워크 상에서 서로 다른 길이의 지연이 발생할 수 있다. 이 경우, 수신기는 브로드밴드로 전송되는 데이터 (세그먼트 또는 컨텐츠) 를, 해당 데이터가 실제로 소비되는 시간 이전에 요청하는 것이 바람직하다. 따라서, 브로드캐스트로 전송되는 데이터가 수신되는 경우, 이 데이터와 브로드밴드로 전송된 데이터를 함께 소비할 수 있다. 이를 위하여, MPD에 브로드밴드로 전송되는 세그먼트에 대하여 일정한 오프셋을 설정하는 정보인 ‘SegmentBase@availabilityTimeOffset’ 을 추가할 수 있다.
도 51은 본 발명의 일 실시예에 따른, 방송 신호를 송신 처리하는 순서 및 방송 신호를 수신 처리하는 순서를 나타낸 순서도이다.
(a)를 참조하면, 송신기에서는 미디어에 포함되는 데이터의 일부를 전송하는 세그먼트를 생성하는 한다 (JS51010).
송신기에서는 상기 세그먼트를 하나 이상의 데이터 유닛으로 분할하고, 헤더 (header)와 상기 데이터 유닛의 전부 또는 일부 데이터를 포함하는 페이로드 (payload)를 포함하는 패킷을 생성한다 (JS51020).
송신기에서는 상기 패킷을 포함하는 방송 신호를 생성하고, 상기 방송 신호를 송신한다 (JS51030).
위 과정에서, 송신기는 상기 헤더는 TOI (transport object identifier) 엘레먼트를 포함하고, 상기 TOI 엘레먼트는 상기 페이로드가 전송하는 데이터가 포함되는 상기 세그먼트를 식별하는 세그먼트 식별 엘레먼트와 상기 데이터 유닛을 식별하는 데이터 유닛 식별 엘레먼트를 포함하도록 처리할 수 있다.
(b)를 참조하면, 수신기는 하나 이상의 패킷을 포함하는 방송 신호를 수신한다 (JS51110).
수신기는 상기 하나 이상의 패킷을 파싱한다 (JS51120). 여기서 상기 패킷은 헤더 (header)와 데이터 유닛의 전부 또는 일부 데이터를 포함하는 페이로드 (payload)를 포함할 수 있다.
수신기는 상기 하나 이상의 패킷에서 하나 이상의 데이터 유닛을 추출하여, 미디어에 포함되는 데이터의 일부를 전송하는 세그먼트를 생성한다 (JS51130).
수신기는 상기 세그먼트를 이용하여, 미디어를 디코딩한다 (JS51140).
여기서, 상기 헤더는 TOI (transport object identifier) 엘레먼트를 포함하고, 상기 TOI 엘레먼트는 상기 페이로드가 전송하는 데이터가 포함되는 상기 세그먼트를 식별하는 세그먼트 식별 엘레먼트와 상기 데이터 유닛을 식별하는 데이터 유닛 식별 엘레먼트를 포함할 수 있다.
설명된 방송 신호의 송신 및/또는 수신 처리 과정은, 하나의 실시예로서, 각 처리 과정에서, 본 명세서에서 전술한 하나 이상의 데이터 처리 동작이 부가될 수 있다. 또는 본 도면에서 설명된 과정 중 일부 처리 과정은 생략될 수 있다.
도 52는 본 발명의 일 실시예에 따른, 송신기 및 수신기를 나타낸 도면이다.
(a)를 참조하면, 송신기 (J52010)은 데이터 인코더 (J52020), 패킷 인코더 (J52030), 방송 신호 송신부 (J52040) 및/또는 시그널링 인코더 (J52050)을 포함할 수 있다.
데이터 인코더 (J52020)는 미디어에 포함되는 데이터의 일부를 전송하는 세그먼트를 생성한다.
패킷 인코더 (J52030)는 상기 세그먼트를 하나 이상의 데이터 유닛으로 분할하고, 헤더 (header)와 상기 데이터 유닛의 전부 또는 일부 데이터를 포함하는 페이로드 (payload)를 포함하는 패킷을 생성한다.
방송 신호 송신부 (J52040)는 상기 패킷을 포함하는 방송 신호를 생성하고, 상기 방송 신호를 송신한다.
여기서, 상기 헤더는 TOI (transport object identifier) 엘레먼트를 포함하고, 상기 TOI 엘레먼트는 상기 페이로드가 전송하는 데이터가 포함되는 상기 세그먼트를 식별하는 세그먼트 식별 엘레먼트와 상기 데이터 유닛을 식별하는 데이터 유닛 식별 엘레먼트를 포함할 수 있다.
시그널링 인코더 (J52050)는 시그널링 정보를 생성한다. 시그널링 인코더 (J52050)는 송신기에 포함된 하나 이상의 장치에 생성한 시그널링 정보를 전달할 수 있다.
본 도면의 송신기에는, 본 명세서에서 전술한 송신기의 각 장치들 중 어느 하나 이상의 장치가 부가될 수 있다.
(b)를 참조하면, 수신기 (J52110) 는 튜너 (J52120), ALC/LCT+클라이언트 (J52130), DASH 클라이언트 (J52140) 및/또는 미디어 디코더 (J52150)를 포함할 수 있다.
튜너 (J52120)는 하나 이상의 패킷을 포함하는 방송 신호를 수신한다.
ALC/LCT+클라이언트 (J52130)는 상기 하나 이상의 패킷을 파싱한다. 여기서 상기 패킷은 헤더 (header)와 데이터 유닛의 전부 또는 일부 데이터를 포함하는 페이로드 (payload)를 포함할 수 있다.
DASH 클라이언트 (J52140) 는 상기 하나 이상의 패킷에서 하나 이상의 데이터 유닛을 추출하여, 미디어에 포함되는 데이터의 일부를 전송하는 세그먼트를 생성한다.
미디어 디코더 (J52150)는 상기 세그먼트를 이용하여, 미디어를 디코딩한다.
여기서, 상기 헤더는 TOI (transport object identifier) 엘레먼트를 포함하고, 상기 TOI 엘레먼트는 상기 페이로드가 전송하는 데이터가 포함되는 상기 세그먼트를 식별하는 세그먼트 식별 엘레먼트와 상기 데이터 유닛을 식별하는 데이터 유닛 식별 엘레먼트를 포함할 수 있다.
본 도면의 수신기에는, 본 명세서에서 전술한 수신기의 각 장치들 중 어느 하나 이상의 장치가 부가될 수 있다.
도 53은 본 발명의 일 실시예에 따른 ROUTE 프로토콜 스택을 도시한 도면이다.
IP 기반 하이브리드 방송을 지원하는 차세대 방송 시스템의 방송서비스는 비디오 데이터, 오디오 데이터, 자막 데이터, 시그널링 데이터, ESG(Electronic Service Guide) 데이터, 및/또는 NRT 콘텐츠 데이터를 포함할 수 있다.
비디오 데이터, 오디오 데이터 및 자막 데이터 등은 ISO Base Media File (이하 ISO BMFF) 형태로 encapsulation 될 수 있다. 예를 들어, ISO BMFF 형태로 encapsulation 된 데이터는 MPEG(Moving Picture Expert Group)-DASH((Dynamic Adaptive Streaming over HTTP)의 Segment 혹은 MMT(MPEG Media Transport) 의 MPU (Media processing unit) 등의 형태를 따를 수 있다. 그리고 나서, ISO BMFF 형태로 encapsulation 된 데이터는 방송망과 인터넷 망에서 동일하게 또는 각 전송망의 속성에 따라 서로 다르게 전송될 수 있다.
방송망의 경우, Signaling data, ESG data, NRT Content data, and/or ISO BMFF 형태로 encapsulation 된 데이터들은 실시간 오브젝트 전송을 지원하는 application layer transport 프로토콜 패킷으로 encapsulation 될 수 있다. 예를 들어, ISO BMFF 형태로 encapsulation 된 데이터들은 ROUTE(Real-Time Object Delivery over Unidirectional Transport) 및/또는 MMT의 transport packet 등으로 encapsulation 될 수 있다.
Real-Time Object Delivery over Unidirectional Transport (ROUTE)는 IP 멀티캐스트 네트워크들을 통하여 파일들의 전송을 위한 프로토콜이다. ROUTE 프로토콜은 메시블리 스케일러블 멀티케스트 디스트리뷰션(massively scalable multicast distribution)을 위해서 디자인된 베이스 프로토콜인 Asynchronous Layered Coding (ALC), Layered Coding Transport (LCT), 및 다른 잘 알려진 인터넷 표준들을 활용한다. ROUTE는 FLUTE에 대하여 추가적인 특징들을 가진 향상된 버전 또는 기능적 대체물이다.
ROUTE는 시그널링 메시지들, Electronic Service Guide (ESG) 메시지들, 및 NRT 콘텐트를 전송할 수 있다. ROUTE는 특히 MPEG-DASH Media Segment 파일들과 같은 스트리밍 미디어를 전송하는데 매우 적합하다. FLUTE와 비교하여, ROUTE는 딜리버리 체인(delivery chain)을 통하여 낮은 앤드-투-앤드 레이턴시(lower end-to-end latency)를 제공한다.
ROUTE 프로토콜은 임의의 종류의 오브젝트의 전송을 제공하는 제네릭 트랜스포트 애플리케이션(generic transport application)이다. ROUTE 프로토콜은 장면 디스크립션들(scene descriptions), 미디어 오브젝트들, 및 DRM 관련 정보를 포함하는 풍부한 프리젠테이션(rich presentation )을 지원한다. ROUTE는 특히 실시간 미디어 콘텐트의 전송에 매우 적합하고, 많은 특징들을 제공한다.
예를 들어, ROUTE는 상이한 미디어 컴포넌트들(e.g. language tracks, subtitles, alternative video views)에 대한 개별적인 전달(delivery) 및 접근을 제공한다. 그리고, ROUTE는 상이한 전송 세션들(transport sessions) 또는 상이한 ROUTE 세션들(ROUTE sessions)에서 전달을 가능하게 함으로서 계층화된 코딩(layered coding)의 지원을 제공한다. 또한, ROUTE는 멀티 스테이지(multistage)를 포함하는 유연한 FEC 보호에 대한 지원을 제공한다. 또한, ROUTE는 쉬운 MPEG-DASH 조합을 제공한다. MPEG-DASH 조합은 DASH의 브로드캐스트 및 브로드밴드 전달(delibery) 모드들 사이에서 시너지(synergy)를 가능하게 한다. 또한, ROUTE는 ROUTE 세션 및/또는 전송 세션(transport session)에 참가(join)할 때, 미디어에 빠른 접근을 제공한다. 또한, ROUTE는 전달 컨셉에 집중함으로서 높은 확장성을 제공한다. 그리고, ROUTE는 기존의 IETF 프로토콜들과의 호환성을 제공하고, IETF 기반의 확장 메커니즘들(IETF-endorsed extension mechanisms)의 사용과도 호환성을 제공한다.
ROUTE 프로토콜은 두 가지 주요 컴포넌트들로 나누어 진다. 첫째 컴포넌트는 오브젝트들 또는 오브젝트들의 흐름들/집합의 전달을 위한 소스 프로토콜(source protocol)이다. 두 번째 컴포넌트는 소스 프로토콜을 통하여 전달되는 딜리버리 오브젝트들 또는 딜리버리 오브젝트들의 묵음들(bundles)을 유연하게 보호하기 위한 리페어 프로토콜(repair protocol)이다.
소스 프로토콜은 리페어 프로토콜에 대하여 독립적이다. 즉, 소스 프로토콜은 ROUTE 리페어 프로토콜 없이도 사용될 수 있다. 리페어 프로토콜은 모바일 수신을 위한 특정 개발 시나리오들, 특정 지리적 영역들, 또는 특정 서비스를 위해서 사용될 수 있다.
소스 프로토콜은 3GPP TS 26.346에서 정의된 확장들뿐만 아니라 FLUTE에 의해서도 지지될 수 있다. 소스 프로토콜은 RFC 6968에서 정의되는 FCAST의 일부 이론들을 사용할 수도 있다. 예를 들어, 오브젝트 메타데이터 및 오브젝트 콘텐트는 컴파운드 오브젝트(compound object)로 함께 전달될 수 있다.
기본적인 FLUTE 프로토콜에 더하여, ROUTE 프로토콜에는 미디어 데이터의 실시간 전달을 위한 최적화된 지원을 가능하게 하는 특정 최적화들 및 제한들이 추가되었다. 소스 ROUTE 프로토콜은 오브젝트 기반의 미디어 데이터의 실시간 전달을 제공한다. 그리고, 소스 ROUTE 프로토콜은 딜리버리 오브젝트들의 전송 관련 패킷화(transport aware packetization) 뿐만 아니라 미디어 관련 패킷화(media-aware packetization)을 가능하게 하는 것을 포함하는 유연한 패킷화(flexible packetization)를 제공한다. 그리고, 소스 ROUTE 프로토콜은 파일들 및/또는 딜리버리 오브젝트들에 대하여 독립적이다. 즉, 딜리버리 오브젝트는 파일의 일부일 수도 있고, 파일들의 그룹일 수도 있다.
수신기는 딜리버리 오브젝트들을 복원하고 애플리케이션으로 전달하기 때문에, 딜리버리 오브젝트들은 ROUTE 프로토콜의 핵심 컴포넌트이다. 딜리버리 오브젝트는 애플리케이션에 독립적이고(self-contained for the application), 애플리케이션과 관련 있는 특정 속성들, 메타데이터, 및 타이밍 관련 정보와 관련이 있다. 어떤 경우에는, 속성들은 오브젝트들과 함께 인-밴드(in-band)로 제공된다. 다른 경우에는, 데이터들은 스태틱(static) 또는 다이나믹 방식(fashion)으로 아웃-오브-밴드(out-of-band)로 전달된다.
딜리버리 오브젝트는 "FDT Instance"를 동반하는 완벽한 파일 또는 파일의 일부를 포함할 수 있다. 또한, 딜리버리 오브젝트는 HTTP Entity(HTTP Entity Header and HTTP Entity Body)를 포함할 수 있다. 또한, 딜리버리 오브젝트는 딜리버리 오브젝트들의 패키지를 포함할 수 있다.
딜리버리 오브젝트는 FDT Instance를 동반하는 풀 파일(full file) 또는 바이트 범위의 파일(byte ranges of a file)일 수 있다. 딜리버리 오브젝트는 실시간 또는 비실시간(timed or non-timed delivery)으로 전달될 수 있다. 만약 딜리버리 오브젝트가 실시간으로 전달되면(If timed), 특정 실시간 제한들 및 버퍼 제한들이 적용되고, 특정 확장 헤더들이 사용될 수 있다. 다이나믹 및 스태틱 메타데이터(Dynamic and static metadata)는 딜리버리 오브젝트 속성들을 서술하기 위해서 사용될 수 있다. 딜리버리 오브젝트는 ISO BMFF 구조들과 같은 특정 데이터 구조들을 통해서 전달될 수 있다. 이 경우, 미디어 관련 패킷화(media-aware packetization) 또는 제너럴 패킷화(general packetization)가 적용될 수 있다.
딜리버리 포맷은 어떤 포맷들이 애플리케이션으로 정보를 전달하기 위해서 사용되는지 명시할 수 있다.
ROUTE 리페어 프로토콜(ROUTE repair protocol)은 FEC 기반이고, 전송 레이어(e.g., UDP) 및 오브젝트 딜리버리 레이어 프로토콜 사이에 추가적인 레이어로서 동작할 수 있다. FEC는 RFC 6363에서 정의된 FEC Framework 정의를 재사용할 수 있다. 하지만, FEC는 소스 프로토콜에서 전달되는 딜리버리 오브젝트들을 보호한다는 점에서 차이가 있다. 각각의 FEC 소스 블록은 딜리버리 오브젝트의 일부를 포함할 수 있다. 딜리버리 오브젝트는 싱글 딜리버리 오브젝트((similar to FLUTE) 또는 멀티플 딜리버리 오브젝트들일 수 있다. 멀티플 딜리버리 오브젝트는 FEC 보호 이전에 생성(bundled)될 수 있다. ROUTE FEC는 RFC 5052에서 정의된 FEC 스킴과 유사한 의미일 수 있다. ROUTE FEC는 RFC 5052의 내용들을 포함할 수 있다. FEC 스킴은 FEC encoding 및 decoding을 정의한다. FEC 스킴은 프로토콜 필드들 및 FEC 스킴의 내용에 있는 패킷 페이로드 데이터를 식별하기 위해 사용되는 절차들을 정의할 수 있다.
ROUTE에서 모든 패킷들은 RFC 5651에서 정의되는 LCT 패킷들이다. 소스 및 리페어 패킷들은 적어도 하나의 ROUTE session, a LCT transport session, and/or a PSI bit에 의해서 구별될 수 있다. 상이한 ROUTE 세션들은 상이한 IP/UDP 포트 조합들 상에서 전송될 수 있다. 상이한 LCT transport 세션들은 LCT 헤더에서 상이한 TSI 값들을 가질 수 있다. 만일 소스 및 리페어 패킷들이 같은 LCT transport 세션을 통해서 전송되면, 그들은 LCT 내에 있는 PSI 비트에 의해서 구별될 수 있다. 이런 동작 모드는 FLUTE 호환 배치에 적합하다(This mode of operation is mostly suitable for FLUTE compatible deployments).
ROUTE는 패킷 포맷들, 전송 동작(sending behavior), 및 수신 동작(receiving behavior)을 포함하는 소스 프로토콜을 정의한다. 그리고, ROUTE는 리페어 프로토콜을 정의한다. 그리고, ROUTE는 전송 세션 확립(transport session establishment)을 위한 메타데이터 및 오브젝트 플로우 딜리버리를 위한 메타데이터를 정의한다. 그리고, ROUTE는 MPEG-DASH 컨피규레이션을 위한 권고사항(recommendations) 및 풍부하고 고품질의 리니어 TV 방송 서비스들을 위한 ROUTE에 대한 매핑을 정의할 수 있다.
ROUTE 프로토콜의 범위는 LCT 패킷들을 이용하여 딜리버리 오브젝트 및 관련된 메타데이터의 신뢰성있는 전달이다. 오브젝트들은 Delivery Object Cache를 통하여 애플리케이션에서 이용될 수 있도록 만들어질 수 있다. 이러한 Cache의 실행(implementation)은 애플리케이션에 따라서 달라질 수 있다.
ROUTE 프로토콜은 딜리버리 오브젝트들을 전송하는 LCT 패킷들의 포맷에 집중한다. 또한, ROUTE 프로토콜은 FEC에 기반을 둔 리페어 프로토콜을 사용하는 딜리버리 오브젝트의 신뢰성 있는 전달에 집중한다. 그리고, ROUTE 프로토콜은 딜리버리 오브젝트들과 함께 딜리버리 오브젝트 캐쉬 및 애플리케이션 사이에서 인터페이스 역할을 가능하게 하는 오브젝트 메타데이터의 정의 및 전달에 집중한다. 그리고, ROUTE 프로토콜은 오브젝트들 및 그들의 메타데이터의 수신을 수립하기 위한 ROUTE 세션 및 LCT 세션에 집중한다. 그리고, ROUTE 프로토콜은 특정 애플리케이션들을 위해 성능을 최적화시키기 위한 패킷들과 함께 전송되는 부가 정보(auxiliary information)의 규범적인 모습들(normative aspects, formats, semantics)에 집중한다. 예들 들어, 실시간 전달이 예가 될 수 있다.
게다가, ROUTE 프로토콜은 딜리버리에 사용되는 적합한 DASH 포맷들뿐만 아니라 ROUTE 딜리버리에 구체적인(specific) DASH Media Presentation 포맷들의 추천되는 매핑들을 제공한다. 핵심 이슈는, ROUTE를 사용함으로서 DASH media 포맷들이 그대로 사용될 수 있다는 것이다. 이러한 아키텍처럴 디자인(architectural design)은 수렴되는(converged) 유니캐스트/브로드캐스트 서비스들을 가능하게 한다.
ROUTE 프로토콜의 송신자 동작에서, LCT 패킷들을 전달하는 ROUTE session이 확립된다(established). 이러한 패킷들은 소스 오브젝트들 또는 FEC 리페어 데이터를 전송할 수 있다. 소스 프로토콜은 적어도 하나의 LCT 세션(session)들을 포함할 수 있고, 각각의 LCT 세션은 메타데이터와 함께 관련된 오브젝트들을 전송할 수 있다. 메타데이터는 LCT Session Instance Description (LSID)에서 정적으로 전달될 수 있고, Entity Mode에서 복합체 오브젝트(compound object) 또는 패킷 헤더들에서 LCT 확장 헤더들로서 동적으로 전달될 수 있다. 패킷들은 임의의 바이트 경계들에서(at arbitrary byte boundaries) 오브젝트의 유연한 분할(fragmentation)을 허용하는 구체적인(specific) FEC 스킴을 사용하는 ALC를 통해서 전송될 수 있다. 게다가, 딜리버리 오브젝트들은 개별적으로 또는 번들(bundles)의 형태로 FEC 보호(FEC protected)될 수 있다. 어떠한 경우에도, 번들 형태의 오브젝트는 인코딩되고, 리페어 패킷들만 전달될 수 있다. 소스 패킷들과 조합된 형태로, 이것은 딜리버리 오브젝트 번들들의 복원을 허용한다. 적어도 하나의 리페어 플로우들이 생성될 수 있고, 각각의 리페어 플로우는 서로 다른 특성을 가질 수 있다. 예를 들어, 각각의 리페어 플로우는 서로 다른 잠재 요건들(latency requirements)을 가질 수 있고, 서로 다른 보호 요건들(protection requirements)을 가질 수 있다.
DMD(Dynamic MetaData)는 클라이언트에서 동적으로 FDT에 상당하는 디스크립션들을 생성하는 메타데이터이다. DMD는 Entity Mode 에서 Entity-header을 통해서 전송되고, 전달의 다른 모드들에서 LCT 헤더를 통해서 전달될 수 있다.
ROUTE 프로토콜은 소스 데이터에 대한 서로 다른 보호 및 딜리버리 스킴을 지원할 수 있다. 역-호환성 모드에서 효율적으로 사용되기 위해서, ROUTE 프로토콜은 NRT 딜리버리를 위한 모든 기존의 사용예들을 지원할 수 있다.
ROUTE 세션은 IP address/port 조합에 관련된다. 전형적으로, ROUTE 세션에 참가함으로서(by joining), 세션의 모든 패킷들은 수신될 수 있고, 애플리케이션 프로토콜은 추가적인 프로세싱을 적용할 수 있다.
각각의 ROUTE session은 적어도 하나의 LCT transport session을 포함할 수 있다. LCT transport session 들은 ROUTE session의 부분집합일 수 있다. 미디어 딜리버리에 대하여, 하나의 LCT transport session은 전형적으로 하나의 미디어 컴포넌트(e.g. DASH Representation)를 전송할 수 있다. 브로드캐스트 DASH의 관점에서, ROUTE session은 적어도 하나의 DASH Media Presentation의 구성요소인 적어도 하나의 미디어 컴포넌트를 전송하는 LCT transport session의 복합체로서 간주될 수 있다. 각각의 LCT transport session 내에서, 서로 관련이 있는 적어도 하나의 오브젝트들이 전송될 수 있다. 예를 들어, 오브젝트들은 하나의 Representation에 관련된 DASH 세그먼트들(DASH Segments)일 수 있다. 각각의 오브젝트와 함께, 오브젝트들이 애플리케이션들에서 사용될 수 있도록 메타데이터 프로퍼티들이 전달될 수 있다. 애플리케이션들은 DASH Media Presentations, HTML-5 Presentations, 또는 다른 object-consuming application을 포함할 수 있고, 이에 제한되지 않는다.
ROUTE session들은 일시적인 관점으로부터 경계가 있거나 경계가 없을 수도 있다(The ROUTE sessions may be bounded or unbounded from the temporal perspective). ROUTE session은 적어도 하나의 LCT transport session을 포함할 수 있다. 각각의 transport session은 LCT 헤더에 있는 고유한 Transport Session Identifier (TSI)에 의해서 고유하게 식별된다.
수신기가 ROUTE session에 참가하기 전에, 수신기는 ROUTE Session Description을 획득할 필요가 있다. ROUTE Session Description은 적어도 하나의 sender IP address, 세션에 대한 address 및 port number, 세션이 ROUTE session이라는 지시, 모든 패킷들은 LCT 패킷들이라는 지시, 및/또는 IP/UDP 레벨에서 세션에 참가하고 소비하기 위해 필수적인 다른 정보들을 포함할 수 있다.
Session Description은 ROUTE session을 위해서 사용되는 데이터 레이트들(data rates) 및 ROUTE session의 지속기간(duration)에 대한 어떤 정보들을 포함할 수 있고, 이에 제한되지 않는다.
Session Description은 RFC 4566에서 정의된 Session Description Protocol (SDP)과 같은 형태일 수도 있고, RFC 3023에서 정의된 XML metadata의 형태일 수도 있다. Session Description은 스케줄링 정보가 있는 웹 페이지에 위치한 proprietary session control protocol을 이용하는 session announcement protocol을 통해서 전송될 수도 있다. 또한, Session Description은 이메일 또는 다른 아웃-오브-밴드 방식으로 전송될 수 있다.
Transport session들은 ROUTE session description에서 서술되지 않고, LCT Session Instance Description (LSID)에서 서술될 수 있다. Transport session들(즉, LCT transport sessions 또는 LCT sessions)은 Source Flows 및 Repair Flows 중에서 적어도 하나를 포함할 수 있다. Source Flows 들은 소스 데이터를 전송할 수 있다. Repair Flows는 리페어 데이터를 전송할 수 있다.
하나의 ROUTE session 에 포함된 적어도 하나의 LCT transport session은 LCT Session Instance description (LSID)에 의해서 서술될 수 있다. 특히, LSID는 ROUTE session에 포함된 각각의 LCT transport session에서 무엇이 전송되는지 정의할 수 있다. 각각의 transport session은 LCT 헤더에 있는 Transport Session Identifier (TSI)에 의해서 고유하게 식별될 수 있다.
LSID는 ROUTE session 내에서 전송되는 적어도 하나의 transport session을 서술할 수 있다. LSID는 LCT transport sessions을 포함하는 동일한 ROUTE session을 통해서 전달될 수 있고, ROUTE session의 외부 수단을 통해서 전달될 수 있다. 예를 들어, LSID는 유니캐스트 또는 다른 ROUTE session을 통해서 전달될 수 있다. 전자의 경우에, LSID는 TSI=0으로 지정된 LCT transport session을 통해서 전달될 수 있고, TOI=0인 딜리버리 오브젝트를 통해서 전달될 수도 있다. TSI=0인 transport session을 통해서 전달되는 오브젝트에 대하여, Entity Mode가 사용될 수 있다. 만약 그러한 오브젝트들이 Entity Mode를 통해서 전달되지 않으면, LSID는 수신된 오브젝트에 대한 확장된 FDT(extended FDT)를 획득하기 전에 복원되어야 한다.
LSID의 인터넷 미디어 타입(Internet Media Type )은 application/xml+route+lsid이다.
LSID는 다른 적어도 하나의 데이터 프래그먼트를 참조할 수 있다. LSID에서 참조되는 오브젝트는 TSI=0인 transport session을 통해서 전달될 수 있지만, LSID와는 다른 TOI값을 가져야 한다. 또한, LSID는 TSI=0이 아닌 별도의 LCT session을 통해서 전달될 수 있다.
LSID element는 version attribute, validity attribute, 및/또는 expiration attribute를 포함할 수 있다. LSID element는 validity attribute 및 expiration attribute 뿐만 아니라 version attribute를 사용하여 적절하게 업데이트될 수 있다. 예를 들어, 특정 transport session들은 어떤 시간(some time)이 지나거나 새로운 session이 시작되면 종료될 수 있다.
version attribute은 LSID element의 버전을 지시할 수 있다. 버전은 디스크립터가 업데이트될 때 하나씩 증가될 수 있다. 가장 높은 버전 번호를 가진 수신된 LSID element는 현재 유효한 버전을 나타낸다.
validity attribute는 LSID element가 유효하게 되는 날짜 및/또는 시간을 지시할 수 있다. validity attribute는 존재할 수도 있고, 존재하지 않을 수도 있다. 만약 validity attribute가 존재하지 않으면, 수신기는 LSID element 버전이 즉시 유효하다고 추정할 수 있다.
expiration attribute는 LSID element가 만료되는 날짜 및/또는 시간을 지시할 수 있다. expiration attribute는 존재할 수도 있고, 존재하지 않을 수도 있다. 만약 존재하지 않으면 수신기는 LSID element가 모든 시간에 유효하다고 추정하거나, 수신기가 관련된 만료 값(expiration value)을 가진 새로운 LSID element를 수신할 때까지 유효하다고 추정할 수 있다.
LSID element는 적어도 하나의 TransportSession element를 포함할 수 있다. TransportSession element는 적어도 하나의 LCT transport session에 대한 정보를 포함할 수 있다. 각각의 TransportSession element는 tsi attribute, SourceFlow element, 및/또는 RepairFlow element를 포함할 수 있다.
Tsi attribute는 transport session 식별자(transport session identifier)를 명시한다. session identifier들은 0의 값을 갖지 않는다. SourceFlow element는 transport session을 통해서 전송되는 소스 플로우에 대한 정보를 포함할 수 있다. RepairFlow element는 transport session을 통해서 전송되는 repair flow에 대한 정보를 포함할 수 있다.
그리고 나서, application layer transport 프로토콜 패킷으로 encapsulation 된 데이터들은 IP/UDP 방식에 따라 패킷화될 수 있다. IP/UDP 방식에 따라 패킷화 된 데이터를 IP/UDP 데이터그램이라 할 수 있는데, IP/UDP 데이터그램은 방송 신호에 실려서 전송될 수 있다.
인터넷 망의 경우, ISO BMFF 형태로 encapsulation 된 데이터들은 스트리밍 기법을 기반으로 수신측에 전달될 수 있다. 예를 들어, 스트리밍 기법은 MPEG-DASH 를 포함할 수 있다.
시그널링 데이터는 아래와 같은 방법으로 전송될 수 있다.
방송망의 경우, 시그널링 데이터는 시그널링의 속성에 따라서 차세대 방송 전송 시스템 및 방송망의 physical layer 에 전달되는 transport frame(또는 프레임)의 특정 data pipe (이하 DP) 등을 통하여 전송될 수 있다. 예를 들어, 시그널링 형태는 비트 스트림 또는 IP/UDP 데이터그램으로 encapsulation 된 형태일 수 있다.
인터넷망의 경우, 시그널링 데이터는 수신기의 요청에 대한 응답으로서 리턴하여 전달될 수 있다.
ESG 데이터 및 NRT 콘텐츠 데이터는 아래와 같은 방법으로 전송될 수 있다.
방송망의 경우, ESG 데이터 및 NRT 콘텐츠 데이터는 application layer transport 프로토콜 패킷으로 encapsulation 될 수 있다. 그리고 나서, application layer transport 프로토콜 패킷으로 encapsulation 된 데이터들은 상술한 바와 동일하게 전송될 수 있다.
인터넷망의 경우, ESG 데이터 및 NRT 콘텐츠 데이터는 수신기의 요청에 대한 응답으로서 리턴하여 전달될 수 있다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치의 physical layer(Broadcast PHY 및 Broadband PHY)는 도 1에 도시된 구조일 수 있다. 또한, 방송 신호 수신 장치의 physical layer는 도 8에 도시된 구조일 수 있다.
시그널링 데이터 및 IP/UDP 데이터그램은 physical layer에 전달되는 transport frame(또는 프레임)의 특정 data pipe (이하 DP)를 통하여 전송될 수 있다. 예를 들어, 인풋 포맷 블록(1000)은 시그널링 데이터 및 IP/UDP 데이터그램을 수신하고, 각각의 시그널링 데이터 및 IP/UDP 데이터그램을 적어도 하나의 DP 로 역다중화 할 수 있다. 출력 프로세서(9300)는 인풋 포맷 블록(1000)와 상반된 동작을 수행할 수 있다.
이하에서는 상술한 ISO BMFF 형태로 encapsulation 된 데이터들이 ROUTE의 transport packet으로 encapsulation 된 경우를 중심으로 설명한다.
도 54는 본 발명의 일 실시예에 따른 방송 신호 송신 장치의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 방송 신호 송신 장치는 딜리버리 오브젝트 제너레이터(Delivery Object Generator, C61300), 시그널링 인코더(Signaling Encoder, C61100), 및/또는 트랜스미터(transmitter, C61500)를 포함할 수 있다.
딜리버리 오브젝트 제너레이터(C61300)는 서비스의 적어도 하나의 콘텐트 컴포넌트 에 포함되며, 독립적으로 복원되는(recovered individually) 적어도 하나의 딜리버리 오브젝트 를 생성할 수 있다.
예를 들어, 딜리버리 오브젝트 제너레이터(Delivery Object Generator)는 서비스에 포함되는 적어도 하나의 콘텐트 컴포넌트를 분할하여 적어도 하나의 딜리버리 오브젝트를 생성할 수 있다.
서비스는 연속된 적어도 하나의 미디어 콘텐트 피리어드를 포함하는 미디어 콘텐트일 수 있다(one media content period or a contiguous sequence of media content periods). 또한, 서비스는 하나의 방송 프로그램, 방송 프로그램에 부가되는 정보, 및/또는 독립된 정보 중에서 하나일 수 있다. 서비스는 적어도 하나의 콘텐트 컴포넌트를 포함할 수 있다.
콘텐트 컨포넌트는, 할당된 미디어 컴포넌트 타입을 가지며, 독립적으로 하나의 미디어 스트림으로 인코딩 될 수 있는, 미디어 콘텐트에 포함되는 하나의 연속적인 컴포넌트이다(one continuous component of the media content with an assigned media component type that can be encoded individually into a media stream). 또한, 미디어 컴포넌트 타입은 비디오, 오디오, 및/또는 텍스트 중에서 적어도 하나를 포함할 수 있다.
딜리버리 오브젝트는 파일, 상기 파일의 일부(a part of the file), 상기 파일의 그룹(a group of the file), Hyper Text Transfer Protocol(HTTP) Entity, 및 상기 HTTP Entity의 그룹 중에서 하나일 수 있다. 파일의 일부는 바이트 범위의 파일일 수 있다. HTTP Entity는 HTTP Entity Header 및/또는 HTTP Entity body를 포함할 수 있다.
각각의 딜리버리 오브젝트는 독립적으로 복원되는(recovered individually)될 수 있다.
시그널링 인코더(C61100)는 상기 서비스 및 상기 적어도 하나의 콘텐트 컴포넌트의 발견 및 획득을 제공하는 시그널링 정보 를 생성할 수 있다.
상기 시그널링 정보는 상기 서비스의 상기 적어도 하나의 콘텐트 컴포넌트를 전송하는 전송 세션 및 상기 전송 세션을 통해 전송되는 적어도 하나의 딜리버리 오브젝트에 관한 제1 정보 를 포함할 수 있다.
또한, 상기 시그널링 정보는 상기 서비스에 해당하는 DASH Media Presentation의 디스크립션을 포함하는 제2 정보 를 더 포함할 수 있다.
상기 시그널링 정보는 제1정보 및/또는 제2 정보 중에서 적어도 하나를 포함할 수 있다.
예를 들어, 시그널링 정보(또는, 제1 정보)는 상기 딜리버리 오브젝트를 전송하는 전송 프로토콜 패킷의 페이로드의 첫번째 바이트의 위치를 지시하는 오프셋 정보 , 상기 적어도 하나의 딜리버리 오브젝트가 스트리밍 서비스를 전송하는지 여부를 지시하는 실시간 정보 , 상기 전송 세션을 Transport Session Identifier(TSI)에 매핑시키고 상기 딜리버리 오브젝트를 Transport Object Identifier(TOI)에 매핑시키는 매핑 정보 , 상기 딜리버리 오브젝트에 대한 시간 정보를 지시하는 타임스탬프(timestamp) 정보 중에서 적어도 하나를 포함할 수 있다.
오프셋 정보는 오브젝트(또는, 딜리버리 오브젝트) 내에서 현재 전송중인 패킷 페이로드의 오프셋(시간적 위치 또는 공간적 위치)을 지시할 수 있다
타임스탬프 정보는 전송 프로토콜 패킷의 페이로드에 포함된 데이터와 연관된 타이밍 정보를 포함할 수 있다. 또한, 타임스탬프 정보는 딜리버리 오브젝트와 연관된 타이밍 정보를 포함할 수 있다. 예를 들어, 타임스탬프 정보는 페이로드에 포함된 데이터의 첫 바이트가 디코딩되는 시점에 대한 정보 및/또는 데이터의 프리젠테이션 타임 정보를 포함할 수 있다.
또한, 시그널링 정보(또는, 제2 정보)는 상기 Segment에 접근할 수 있는 Uniform Resource Locator(URL)을 지시하는 Segment URL 정보 , 상기 Representation을 식별하는 Representation ID 정보, 및 상기 Representation을 전송하는 전송 세션에 참가할지 여부를 지시하는 Transaction 정보 중에서 적어도 하나를 포함할 수 있다.
상기 Segment URL 정보는 상기 Representation을 식별하는 Representation ID 및 상기 Segment의 번호를 식별하는 segment number 중에서 적어도 하나를 포함 할 수 있다.
상기 Transaction 정보는 상기 전송 세션에 참가할 것을 지시하는 Start Transaction 및 상기 전송 세션을 종료할 것을 지시하는 Stop Transaction 중에서 적어도 하나를 포함할 수 있다.
트랜스미터(transmitter, C61500)는 상기 적어도 하나의 딜리버리 오브젝트 및 상기 시그널링 정보를 단방향 채널(unidirectional channel)을 통해서 전송 할 수 있다.
이하에서는, 시그널링 정보에 대하여 더욱 구체적으로 설명하기로 한다.
서비스들은 세가지 기능적 레이어들을 이용하여 전송될 수 있다. 예를 들어, 레이어들은 물리적 레이어(Physical layer), 전송 레이어(Delivery layer), 및/또는 서비스 매니지먼트 레이어(Service Management layer)를 포함할 수 있다.
물리적 레이어는 시그널링, 서비스 어나운스먼트(announcement), 및/또는 IP 패킷 중에서 적어도 하나를 브로드캐스트 물리적 레이어(Broadcast Physical layer) 및/또는 브로드밴드 물리적 레이어(Broadband Physical layer)로 전송하는 매커니즘을 제공할 수 있다.
딜리버리 레이어는 오브젝트 및/또는 오브젝트 플로우를 전송하는 기능성을 제공할 수 있다. 이것은 전술한 ROUTE(Real-Time Object Delivery over Unidirectional Transport) protocol 및/또는 HTTP protocol을 통해서 실현될 수 있다. ROUTE protocol은 브로드캐스트 물리적 레이어 상에서 UDP/IP 멀티캐스트(multicast)를 통하여 동작될 수 있다. HTTP protocol은 브로드밴드 물리적 레이어 상에서 UDP/IP 유니캐스트(unicast)를 통하여 동작될 수 있다.
서비스 매니지먼트 레이어는 어떠한 타입의 서비스(예를 들어, 리니어 TV 서비스 또는 HTML5 어플리케이션 서비스)를 딜리버리 레이어 및/또는 물리적 레이어를 통해서 전송하는 매커니즘을 제공할 수 있다.
시그널링 정보는(예를 들어, 서비스 시그널링)은 서비스 발견 및 디스트립션 정보를 제공할 수 있다. 시그널링 정보는 부트스트래핑 시그널링 정보(Fast Information Table, FIT) 및/또는 서비스 레이어 시그널링 정보(Service Layer Signaling, SLS)을 포함할 수 있다. 이러한, 시그널링 정보는 적어도 하나의 사용자 서비스를 발견하거나 획득하기 위해서 필요한 정보를 포함할 수 있다.
FIT는 수신기가 기본적인 서비스 리스트를 만들고(build), 각각의 서비스를 위한 서비스 레이어 시그널링의 발견(discovery)을 부트스트랩(bootstrap)할 수 있도록 한다. 실시예에 따라, FIT는 SLT(Service List Table)로 표현할 수도 있다. FIT(또는, SLT)는 링크 레이어 시그널링을 통해서 전송될 수 있다. 또한, FIT(또는, SLT)는 신속한 획득을 위해서 각각의 물리적 레이어 프레임 내에서 전송될 수 있다. 실시예에 따라, FIT(또는, SLT)는 Physical Layer Frame, signaling을 전송하는 PLP, 및/또는 방송국마다 할당된 PLP 중에서 적어도 하나를 통해서 전송될 수 있다. 이하에서는, FIT를 중심으로 설명한다.
SLS는 수신기가 적어도 하나의 서비스 및/또는 적어도 하나의 콘텐트 컴포넌트를 발견(discovery)하고 엑세스(access)할 수 있도록 한다. 브로드캐스트를 통해서 전송되는 경우, SLS는 ROUTE/UDP/IP에 의해서 ROUTE 세션에 포함되는 적어도 하나의 LCT 전송 세션 내에서 전송될 수 있다. 이때, SLS는 빠른 채널 조인 및 스위칭을 지원하는 적절한 캐러셀 레이트(suitable carousel rate)로 전송될 수 있다. 브로드밴드를 통해서 전송되는 경우, SLS는 HTTP(S)/TCP/IP에 의해서 전송될 수 있다.
본 발명의 다른 실시예에 따른 전송 세션은 Real-Time Object Delivery over Unidirectional Transport(ROUTE) session, Layered Coding Transport(LCT) transport session(또는, LCT session), 및/또는 MPEG Media Transport Protocol(MMTP) session 중에서 적어도 하나를 포함할 수 있다.
본 발명의 다른 실시예에 따른 전송 프로토콜 패킷은 ROUTE 패킷(또는, ALC/LCT 확장 패킷, ALC/LCT+ 패킷, ALC/LCT 패킷, LCT 패킷) 및/또는 MMTP 패킷 중에서 적어도 하나를 포함할 수 있다.
MPEG-DASH의 Representation은 ROUTE protocol에서 LCT transport session(또는, LCT session)에 대응되는 개념이며, TSI에 매핑될 수 있다. 또한, MPEG-DASH의 Representation은 MMT protocol에서 MMTP packet flow에 대응되는 개념이며, Asset identifier(또는 Asset ID, asset_id)에 매핑될 수 있다.
MPEG-DASH의 Segment는 ROUTE protocol에서 파일(또는, 딜리버리 오브젝트)에 대응되는 개념이며, TOI에 매핑될 수 있다. 또한, MPEG-DASH의 Segment는 MMT protocol에서 MPU에 대응되는 개념이며, mmpu box에 포함된 정보(또는, MPU 식별자)에 매핑될 수 있다
서비스의 적어도 하나의 콘텐트 컴포넌트를 전송하기 위한 ROUTE/LCT session 및/또는 MMTP session의 관계는 아래와 같다.
app-based enhancement 없이 리니어 서비스의 브로드캐스트 딜리버리를 위해서는, 1) 적어도 하나의 ROUTE/LCT session 및/또는 2) 적어도 하나의 MMTP session를 통하여 서비스의 콘텐트 컴포넌트가 전송될 수 있다.
app-based enhancement와 함께 리니어 서비스의 브로드캐스트 딜리버리를 위해서는, 1) 적어도 하나의 ROUTE/LCT session 만을 통하여 서비스의 콘텐트 컴포넌트가 전송될 수 있다. 또는, 2) 적어도 하나의 ROUTE/LCT session 및/또는 적어도 하나의 MMPT session을 통하여 서비스의 콘텐트 컴포넌트가 전송될 수 있다.
App-based 서비스의 브로드캐스트 딜리버리를 위해서는, 적어도 하나의 ROUTE/LCT session을 통하여 서비스의 콘텐트 컴포넌트가 전송될 수 있다.
각각의 ROUTE session은 적어도 하나의 LCT session을 포함할 수 있다. 각각의 LCT session은 서비스에 포함되는 각각의 콘텐트 컴포넌트의 전체 또는 일부를 포함할 수 있다.
스트리밍 서비스들의 전송에서, LCT session은 오디오, 비디오, 및/또는 클로우즈드 캡션 스트림과 같은 사용자 서비스의 개별적인 컴포넌트를 전송할 수 있다. 스트리밍 미디어는 MPEG-DASH에 의해서 적어도 하나의 DASH Segment로 구성될(formatted) 수 있다.
각각의 MMTP session은 적어도 하나의 MMTP packet flow를 포함할 수 있다. 각각의 MMTP packst flow는 MPEG Media Transport(MMT) signaling message를 전송할 수 있다. 또한, 각각의 MMTP packet flow는 서비스에 포함되는 각각의 콘텐트 컴포넌트의 전체 또는 일부를 포함할 수 있다.
MMTP packet flow는 MMT signaling message 및/또는 MMT에 의해서 적어도 하나의 MPU로 구성된(formatted) 적어도 하나의 콘텐트 컴포넌트를 전송할 수 있다.
NRT 사용자 서비스 및/또는 시스템 메타 데이터의 전송을 위하여, LCT session은 적어도 하나의 파일 기반(file-based)의 콘텐트 아이템을 전송할 수 있다. 적어도 하나의 파일 기반(file-based)의 콘텐트 아이템은 NRT 서비스의 연속적인(time-based) 또는 불연속적인(non-time-based) 미디어 컴포넌트를 포함할 수 있다. 또한, 적어도 하나의 파일 기반(file-based)의 콘텐트 아이템은 서비스 시그널링 및/또는 Electronic Service Guide(ESG) 프래그먼트를 포함할 수 있다.
브로드캐스트 스트림은 RF 채널에 대한 추상적 개념일 수 있다. RF channel은 특정 대역폭(bandwidth) 내에서 반송 주파수(carrier frequence)를 중심으로 정의될 수 있다. RF channel은 [지오그래픽 영역(geographic area), 주파수(frequency)]의 쌍에 의해서 정의될 수 있다. 지오그래픽 영역(geographic area) 및 주파수(frequency) 정보는 브로드캐스트 스트림 ID(BSID)와 함께 행정권(administrative authority)에 의해서 정의 및/또는 유지될 수 있다. 물리적 레이어 파이프(Physical Layer Pipe, PLP)는 RF channel의 일부에 해당할 수 있다.
각각의 PLP는 적어도 하나의 변조(modulation) 및/또는 코딩 파라미터를 포함할 수 있다. PLP는 PLP가 속한 브로드캐스트 스트림 내에서 유일한 값을 갖는 PLP 식별자(PLPID)에 의하여 식별될 수 있다.
각각의 서비스는 두가지 형태의 서비스 식별자에 의해서 식별될 수 있다. 하나는 FIT에서 사용되고 브로드캐스트 영역 내에서만 유일한 값을 갖는 압축된 형태이다. 다른 하나는 SLS 및/또는 ESG에서 사용되는 전역적으로 유일한 형태이고(globally unique form)이다.
ROUTE session은 source IP Address, destination IP Address, 및/또는 destination port number 에 의해서 식별될 수 있다. LCT session은 부모 ROUTE session의 범위 내에서 유일한 Transport Session Identifier(TSI)에 의해서 식별될 수 있다.
Service-based Transport Session Instance Description(S-TSID)는 적어도 하나의 LCT session에 대해서 공통적인 특성들 및/또는 개별적인 적어도 하나의 LCT session에 대해서 유일한(unique) 어떤 특성들에 대한 정보를 포함할 수 있다. S-TSID는 ROUTE signaling structure일 수 있고, 서비스 레벨 시그널링(Service Level Signaling)의 일부일 수 있다.
각각의 LCT session은 하나의 PLP를 통해서 전송될 수 있다. 하나의 ROUTE session 내의 서로 다른 LCT session들은 서로 다른 PLP들에 포함되거나 같은 PLP에 포함될 수 있다.
S-TSID에서 서술된(described) 적어도 하나의 특성들은 각각의 LCT session에 대한 TSI 및 PLPID, 적어도 하나의 전송 오브젝트(Delivery Object) 또는 파일에 대한 적어도 하나의 디스크립터, 및/또는 적어도 하나의 Application Layer FEC parameter를 포함할 수 있다.
MMT session은 source IP Address, destination IP Address, 및/또는 destination port number에 의해서 식별될 수 있다. MMTP packet flow는 부모 MMTP session의 범위 내에서 유일한 packet_id에 의해서 식별될 수 있다.
S-TSID는 각각의 MMTP packet flow에 대해서 공통적인 특성들 및/또는 개별적인 적어도 하나의 MMTP packet flow에 대해서 유일한(unique) 어떤 특성들에 대한 정보를 포함할 수 있다.
각각의 MMTP session에 대한 적어도 하나의 특성들은 MMTP session 내에서 전송되는 MMT signaling message에 의해서 전송될 수 있다.
각각의 MMTP packet flow는 하나의 PLP를 통해서 전송될 수 있다. 하나의 MMTP session 내의 서로 다른 MMTP packet flow들은 서로 다른 PLP들에 포함되거나 같은 PLP에 포함될 수 있다.
MMT signaling message 에서 서술된 적어도 하나의 특성들은 packet_id 및/또는 각각의 MMTP packet flow에 대한 PLPID를 포함할 수 있다.
이하에서는, Link Layer Signaling(LLS) 및 Service Layer Signaling(SLS)에 대하여 설명한다.
LLS은 적어도 하나의 Link Layer packet의 페이로드로서 또는 지정된 채널들의 콘텐트로서 직접적으로 전송되는 시그널링 정보를 나타낼 수 있다. 예를 들어, LLS은 FIT를 포함할 수 있다.
수신기가 방송 신호를 처음 수신하면, 수신기는 제일 먼저 FIT를 분석할 수 있다. FIT는 수신기가 수신할 수 있는 모든 서비스들의 리스트를 수립(build) 할 수 있도록 하는 빠른 채널 스캔, 채널 이름, 및/또는 채널 번호 등을 제공할 수 있다. 또한, FIT는 수신기가 각각의 서비스에 대한 SLS을 발견(discover)할 수 있도록 하는 부트스트랩 정보(bootstrap information)을 제공할 수 있다. 부트스트랩 정보는 destination IP address, destination port, 및/또는 SLS를 전송하는 LCT session에 대한 TSI를 포함할 수 있다.
각각의 서비스에 대한 SLS는 서비스에 포함되는 적어도 하나의 컴포넌트에 대한 리스트, 적어도 하나의 컴포넌트를 얻을 수 있는 장소, 및/또는 서비스의 의미있는 프리젠테이션을 위하여 요구되는 수신기의 성능(capability)들과 같은 서비스의 적어도 하나의 특성을 서술할 수 있다.
ROUTE/DASH 시스템에서, SLS은 User Service Bundle Description (USBD), Service-based Transport Session Instance Description(S-TSID), 및/또는 DASH Media Presentation Description (MPD)을 포함할 수 있다.
이하에서는, SLS 획득을 부트스트랩(bootstrap)하기 위한 LLS의 사용예, 및 적어도 하나의 ROUTE/LCT transport session을 통해서 전송되는 적어도 하나의 서비스 컴포넌트를 획득하기 위한 SLS의 사용예를 설명한다.
먼저, 수신기는 FIT(또는, SLT)를 획득할 수 있다. 예를 들어, FIT(또는, SLT)는 지정된 Broadcast Stream ID(BSID)에 의해서 식별되는 지정된 주파수 밴드 내에서 Physical Layer Frame을 통하여 전송될 수 있다. 실시예에 따라, FIT(또는, SLT)는 Physical Layer Frame, signaling을 전송하는 PLP, 및/또는 방송국마다 할당된 PLP 중에서 적어도 하나를 통해서 전송될 수 있다.
각각의 서비스들은 적어도 하나의 SLS 부트스트래핑 정보를 포함할 수 있다. 예를 들어, 각각의 서비스들은 Service_id에 의해서 식별될 수 있다. 또한, SLS 부트스트래핑 정보는 PLPID, source IP address, destination IP address, destination port number, 및/또는 TSI를 포함할 수 있다.
그리고 나서, 수신기는 적어도 하나의 SLS fragment를 획득할 수 있다. SLS fragment는 IP/UDP/LCT session 및 PLP를 통해서 전송될 수 있다. 예를 들어, SLS 프래그먼트는 USBD/USD fragment, S-TSID fragment, 및/또는 MPD fragment를 포함할 수 있다. USBD/USD fragment, S-TSID fragment, 및/또는 MPD fragment는 하나의 서비스와 관련된 정보일 수 있다.
USBD/USD fragment는 적어도 하나의 서비스 레벨 특성을 서술할 수 있다. 또한, USBD/USD fragment는 적어도 하나의 S-TSID fragment에 대한 URI 참조 정보 및/또는 적어도 하나의 MPD fragment에 대한 URI 참조 정보를 포함할 수 있다.
S-TSID fragment는 하나의 서비스에 관련된 컴포넌트 획득 정보를 포함할 수 있다. 또한, S-TSID fragment는 MPD 내에서 발견되는 DASH Representation 과 서비스의 컴포넌트에 해당하는 TSI 사이의 매핑을 제공할 수 있다. 또한, S-TSID fragment는 TSI 및 관련된 DASH Representation 식별자 형태의 컴포넌트 획득 정보, 및/또는 DASH Representation과 관련된 적어도 하나의 DASH Segment를 전송하는 PLPID를 포함할 수 있다.
수신기는 PLPID 및/또는 TSI를 기초로 서비스로부터 적어도 하나의 오디오/비디오 컴포넌트를 수집할 수 있다. 또한, 수신기는 적어도 하나의 DASH Media Segment에 대한 버퍼링을 시작할 수 있다.
그리고 나서, 수신기는 적절한 디코딩 프로세스를 수행할 수 있다.
이하에서는 Link Layer Signaling(LLS)에 대해서 구체적으로 설명한다.
LLS는 IP 레벨 이하에서 동작할 수 있다. 수신기 측에서, LLS는 IP 레벨 시그널링(예를 들어, Service Layer Signaling) 보다 먼저 획득될 수 있다. 그러므로, Link Layer Signaling은 세션 확립(session establishment) 이전에 획득될 수 있다. 실시예에 따라서, LLS는 IP 레벨 이하에서 뿐만 아니라 IP/UDP 위에서 전송될 수도 있다.
LLS의 목적들 중에서 하나는 신속한 채널 스캔(channel scan) 및/또는 서비스 획득(service acquisition)을 위한 필수 정보를 효율적으로 전송하는 것이다. LLS는 SLS와 적어도 하나의 PLP 사이의 바인딩 정보(binding information)을 포함할 수 있다. 또한, LLS는 비상 경보(emergency alert)와 관련된 시그널링 정보를 포함할 수 있다.
LLS는 FIT를 포함할 수 있다. FIT는, 브로드캐스트 스트림 내에 있는 각각의 서비스에 대한 정보를 포함함으로서, 신속한 채널 스캔 및/또는 서비스 획득을 제공할 수 있다.
예를 들어, FIT는 사용자에게 의미 있고, 채널 번호 및/또는 업/다운 재핑(zapping)을 통해서 서비스 선택을 지원할 수 있는 서비스 리스트의 프리젠테이션을 위한 정보를 포함할 수 있다.
또한, FIT는 브로드캐스트 및/또는 브로드밴드를 통하여 전송되는 서비스의 Service Layer Signaling 의 위치를 나타내는 정보를 포함할 수 있다.
이하에서는, Service Layer Signaling(SLS)에 대해서 구체적으로 설명한다.
SLS는 적어도 하나의 서비스 및/또는 적어도 하나의 콘텐트 컴포넌트의 발견(discovery) 및/또는 접근(access)를 위한 정보를 포함할 수 있다. SLS는 지정된 LCT session을 통해서 전송되는 XML-encoded metadata fragment의 집합을 포함할 수 있다. LCT session은 FIT에 포함되는 부트스트랩 정보를 기초로 획득될 수 있다. SLS는 서비스 레벨 마다(per-service level) 정의될 수 있다. 또한, SLS는 서비스의 특성 및/또는 접근 정보를 포함할 수 있다. 예를 들어, SLS는 적어도 하나의 콘텐트 컴포넌트의 리스트, 적어도 하나의 콘텐트 컴포넌트를 획득하는 방법, 및/또는 서비스의 의미있는 프리젠테이션을 위해서 요구되는 수신기 성능과 관련된 정보를 포함할 수 있다.
ROUTE/DASH system에서, 리니어 서비스의 전송을 위하여, SLS는 User Service Bundle Description(USBD), Service-level Transport Session Instance Description (S-TSID), 및/또는 DASH Media Presentation Description(MPD)을 포함할 수 있다. 적어도 하나의 SLS fragment는 TSI 값을 가지는 지정된 LCT transport session을 통하여 전송될 수 있다.
SLS는 리니어 기반 서비스(linear-based Serivce) 및/또는 Application 기반 서비스(application-based Service)에 적용될 수 있다.
이하에서는, USBD에 대해서 구체적으로 설명한다.
USBD는 서비스 식별 정보, 장치 성능 정보(device capabilities information), 서비스 및/또는 적어도 하나의 컴포넌트에 접근하기 위해서 필요한 다른 적어도 하나의 SLS를 참조하는 정보, 및/또는 수신기가 적어도 하나의 서비스 컴포넌트의 수신 모드를 결정하기 위해서 필요한 메타데이터를 포함할 수 있다. 예를 들어, 수신 모드는 브로드캐스트 및/또는 브로드밴드를 포함할 수 있다.
USBD는 최고 레벨(top level) 또는 엔트리 포인트의 SLS fragment(entry point SLS fragment)일 수 있다. USBD는 3GPP MBMS에서 정의된 USBD를 포함할 수 있다.
USBD는 적어도 하나의 userServiceDescription element를 포함할 수 있다. userServiceDescription element는 하나의 서비스의 싱글 인스턴스일 수 있다.
userServiceDescription element는 serviceId attribute, serviceId attribute, fullMPDUri attribute, sTSIDUri attribute, name element, serviceLanguage attribute, capabilityCode attribute, 및/또는 deliveryMethod attribute를 포함할 수 있다.
serviceId attribute는 서비스의 전역적으로 유일한 식별자(Globally unique identifier)이다.
serviceId attribute는 LLS(FIT)에 있는 서비스 엔트리에 해당하는 참조 정보이다. serviceId attribute의 값은 엔트리에 할당된 serviceId와 동일하다.
fullMPDUri attribute는 브로드캐스트 및/또는 브로드밴드를 통하여 전송되는 서비스에 포함되는 적어도 하나의 콘텐트 컴포넌트에 대한 적어도 하나의 디스크립션(description)을 포함하는 MPD fragment에 대한 참조 정보를 나타낸다.
sTSIDUri attribute는 서비스의 적어도 하나의 콘텐트를 전송하는 전송 세션에 대한 적어도 하나의 접근 관련 파라미터(access related parameter)를 제공하는 S-TSID에 대한 참조 정보를 나타낸다.
name element는 서비스의 이름을 나타낸다. Name element는 lang attribute를 포함할 수 있다. lang attribute는 서비스 이름의 언어를 나타낸다.
serviceLanguage attribute는 서비스의 가능한 적어도 하나의 언어를 나타낸다.
capabilityCode attribute는 수신기가 서비스의 콘텐트의 의미있는 프리젠테이션을 생성하기 위해서 요구되는 적어도 하나의 성능(capability) 정보를 포함할 수 있다.
deliveryMethod attribute는 브로드캐스트 및/또는 브로드밴드 모드의 접근을 통해서 서비스의 적어도 하나의 콘텐트에 관련된 전송 관련 정보(transport related information)를 포함하는 컨테이너이다. deliveryMethod attribute는 broadcastAppService attribute 및/또는 unicastAppService attribute를 포함할 수 있다.
broadcastAppService attribute는 브로드캐스트를 통해서 다중화된 형태 또는 다중화되지 않은 형태(multiplexed or non-multiplexed form)로 전송되는 DASH Representation을 나타낸다. DASH Representation은, 관련된 Media Presentation의 전체 피리어드들에 걸쳐서, 서비스에 속하는 해당되는 적어도 하나의 미디어 컴포넌트를 포함할 수 있다(A DASH Representation delivered over broadcast, in multiplexed or non-multiplexed form, containing the corresponding media component(s) belonging to the service, across all Periods of the affiliated Media Presentation.).
broadcastAppService attribute는 적어도 하나의 basePattern attribute를 포함할 수 있다.
basePattern attribute는 부모 Representation의 적어도 하나의 Media Segment를 요청하기 위해서 DASH 클라이언트에 의해서 사용되는 Segment URL의 어떤 부분에 매칭시키기 위해서 수신기에 의해서 사용되는 캐릭터 패턴(character pattern)을 나타낸다(A character pattern for use by the the ATSC receiver to match against any portion of the Segment URL used by the DASH client to request Media Segments of a parent Representation under its containing Period). 매치(match)는 해당되는 요청된 Media Segment가 브로드캐스트 전송을 통해서 전송되는 것을 의미한다.
unicastAppService attribute는 브로드밴드를 통해서 다중화된 형태 또는 다중화되지 않은 형태(multiplexed or non-multiplexed form)로 전송되는 DASH Representation을 나타낸다. DASH Representation은, 관련된 Media Presentation의 전체 피리어드들에 걸쳐서, 서비스에 속하는 해당되는 적어도 하나의 미디어 컴포넌트를 포함할 수 있다(A DASH Representation delivered over broadband, in multiplexed or non-multiplexed form, containing the constituent media content component(s) belonging to the service, across all Periods of the affiliated Media Presentation.)
unicastAppService attribute는 적어도 하나의 basePattern attribute를 포함할 수 있다.
basePattern attribute는 부모 Representation의 적어도 하나의 Media Segment를 요청하기 위해서 DASH 클라이언트에 의해서 사용되는 Segment URL의 어떤 부분에 매칭시키기 위해서 수신기에 의해서 사용되는 캐릭터 패턴(character pattern)을 나타낸다(A character pattern for use by the the receiver to match against any portion of the Segment URL used by the DASH client to request Media Segments of a parent Representation under its containing Period). 매치(match)는 해당되는 요청된 Media Segment가 브로드캐스트 전송을 통해서 전송되는 것을 의미한다.
이하에서는, S-TSID에 대해서 구체적으로 설명한다.
S-TSID는 적어도 하나의 ROUTE session 및 ROUTE에 포함된 적어도 하나의 LCT session, 및 적어도 하나의 MMTP session에 대한 전체적인 전송 세션 디스크립션 정보(overall transport session description information)를 포함하는 SLS metadata fragment이다. 실시예에 따라서, S-TSID는 ROUTE session 또는 MMTP session을 포함하지 않을 수 있다. ROUTE session 및/또는 MMTP session을 통해서 서비스에 포함된 적어도 하나의 미디어 콘텐트 컴포넌트가 전송될 수 있다.
또한, S-TSID는 서비스에 포함되는 적어도 하나의 LCT session에서 전송되는 딜리버리 오브젝트(Delivery Object) 및/또는 오브젝트 플로우에 대한 file metadata 및/또는 디스크립션(description)을 포함할 수 있다. 또한, S-TSID는 페이로드 포맷들 및/또는 적어도 하나의 LCT session에서 전송되는 적어도 하나의 콘텐트 컴포넌트에 대한 부가 정보를 포함할 수 있다.
S-TSID fragment의 각각의 인스턴스는 USBD fragment에서 userServiceDescription element의 sTSIDUri attribute에 의해서 참조될 수 있다.
이하에서는 S-TSID에 포함되는 attribute 및/또는 element를 설명한다.
S-TSID는 serviceId attribute, 적어도 하나의 RS element, 및/또는 적어도 하나의 MS element를 포함할 수 있다.
serviceId attribute는 LLS(예를 들어, FIT)에 있는 해당하는 service element를 참조하는 정보이다. serviceId attribute는 FIT에 있는 해당하는 service_id 값을 갖는 서비스를 참조하는 정보이다. 적어도 하나의 MMTP session이 USD 및/또는 ROUTE session을 사용하지 않고 리니어 서비스의 브로드캐스트 전송을 위해 사용될 때, serviceId attribute는 존재할 수 있다.
RS element는 ROUTE session을 나타낸다.
MS element는 MMTP session을 나타낸다.
RS element는 bsid attribute, sIpAddr attribute, dIpAddr attribute, dport attribute, PLPID attribute, 및/또는 적어도 하나의 LS element를 포함할 수 있다.
bsid attribute는 브로드캐스트 스트림의 식별자이다. broadcastAppService attribute의 적어도 하나의 콘텐트 컴포넌트는 브로드캐스트 스트림 내에서 전송될 수 있다. bsid attribute가 존재하지 않으면, 디폴트 브로드캐스트 스트림이다. 디폴트 브로드캐스트 스트림의 적어도 하나의 PLP는 서비스에 대한 적어도 하나의 SLS fragment를 전송할 수 있다.
sIpAddr attribute는 source IP address를 나타낸다. 예를 들어, sIpAddr attribute의 디폴트 값은 현재 ROUTE session의 source IP address를 나타낼 수 있다.
dIpAddr attribute는 destination IP address를 나타낸다. 예를 들어, dIpAddr attribute의 디폴트 값은 현재 ROUTE session의 destination IP address를 나타낼 수 있다.
dport attribute는 destination port를 나타낸다. 예를 들어, dport attribute의 디폴트 값은 현재 ROUTE session의 destination port를 나타낼 수 있다.
PLPID attribute는 ROUTE session에 대한 Physical Layer Pipe ID를 나타낸다. 예를 들어, PLPID attribute는 현재 physical layer pipe를 나타낼 수 있다.
LS element는 LCT session을 나타낸다.
LS element는 tsi attribute, PLPID attribute, bw attribute, startTime attribute, endTime attribute, SrcFlow element, 및/또는 RprFlow element를 포함할 수 있다.
tsi attribute는 TSI 값을 나타낸다.
PLPID attribute는 PLP ID의 값을 나타낸다.
bw attribute는 최대 대역폭을 나타낸다.
startTime attribute는 시작 시간을 나타낸다.
endTime attribute는 종료 시간을 나타낸다.
SrcFlow element는 소스 플로우(source flow)를 나타낸다. 예를 들어, 소스 플로우는 source data를 전송할 수 있다. 또한, 소스 플로우는 적어도 하나의 딜리버리 오브젝트를 전송할 수 있다.
RprFlow element는 리페어 플로우(repair flow)를 나타낸다. 예를 들어, 리페어 플로우는 리페어 데이터를 전송할 수 있다. 리페어 플로우는 소스 플로우를 통해서 전송되는 적어도 하나의 딜리버리 오브젝트를 유연하게 보호하는 데이터를 전송할 수 있다.
MS element는 versionNumber element, bsid element, sIpAddr element, dIpAddr element, dport element, packetId element, PLPID element, bw element, startTime element, 및/또는 endTime element 를 포함할 수 있다.
versionNumber element는 MMTP session에 사용되는 MMTP protocol의 버전 번호를 나타낸다.
bsid element는 브로드캐스트 스트림의 식별자이다. 적어도 하나의 콘텐트 컴포넌트는 브로드캐스트 스트림 내에서 전송될 수 있다. bsid attribute가 존재하지 않으면, 디폴트 브로드캐스트 스트림이다. 디폴트 브로드캐스트 스트림의 적어도 하나의 PLP는 서비스에 대한 적어도 하나의 SLS fragment를 전송할 수 있다.
sIpAddr element는 source IP address를 나타낸다
dIpAddr element는 destination IP address를 나타낸다.
dport element는 destination port를 나타낸다.
packetId element는 MMTP session의 적어도 하나의 MMT signaling message를 전송하는 MMTP packet_id를 나타낸다.
PLPID element는 MMTP session에 대한 Physical Layer Pipe ID를 나타낸다.
bw element는 최대 대역폭을 나타낸다.
startTime element는 MMTP session의 시작 시간을 나타낸다.
endTime element는 MMTP session의 종료 시간을 나타낸다.
이하에서는, MPD에 대해서 구체적으로 설명한다
SLS의 스트리밍 콘텐트 시그널링 컴포넌트는 MPD fragment에 해당할 수 있다. MPD는 스트리밍 콘텐트와 같은 DASH Segment의 전송을 위한 리니어 서비스와 관련이 있다. MPD는 또한 애플리케이션 기반 서비스(app-based service)들을 지원하기 위해서 사용될 수 있다. 관련된 적어도 하나의 콘텐트 컴포넌트는 DASH 형태로 구성될(DASH-formatted) 수 있다. 또한, MPD는 적어도 하나의 콘텐트 컴포넌트의 재생(playout)을 제어하기 위해서 사용될 수 있다. MPD는 리니어/스트리밍 서비스의 개별적인 적어도 하나의 미디어 컴포넌트에 대한 적어도 하나의 리소스 식별자(resource identifier)를 포함할 수 있다. 예를 들어, 리소스 식별자는 Segment URL을 포함할 수 있다. 또한, MPD는 Media Presentation 내에 있는 적어도 하나의 식별된 리소스의 내용(context)를 포함할 수 있다.
Media Presentation Description (MPD)는 DASH Media Presentation의 공식화된 디스크립션(formalized description)을 포함하는 SLS metadata fragment이다. 예를 들어, DASH Media Presentation는 브로드캐스터에 의해서 정의된 주어진 기간(given duration)의 리니어 서비스에 해당할 수 있다. 예를 들어, 리니어 서비스는 단일(single) TV 프로그램, 또는 6시간 간격동안 지속되는 연속적인 적어도 하나의 리니어 TV 프로그램의 집합일 수도 있다. MPD의 콘텐트는 세그먼트(segment)에 대한 리소스 식별자 및 Media Presentation 내에 있는 식별된 리소스들에 대한 내용(context)를 제공할 수 있다.
MPD 내에서 전송되는 적어도 하나의 Representation은 브로드캐스트를 통해서 전송될 수 있다. 하이브리드 서비스의 경우에, MPD는 브로드밴드를 통해서 전송되는 추가적인 적어도 하나의 Representation을 서술할 수 있다. 또한, MPD는 방송 신호 저하(broadcast signal degradation) 때문에 브로드캐스트에서 브로드캐스트로 핸드오프(handoff)할 때, 서비스 연속성을 지원하기 위해서 추가적인 적어도 하나의 Representation을 포함할 수 있다. 예를 들어, 방송 신호 저하는 산 아래에서 주행하거나 터널을 통과할 때 발생할 수 있다.
이하에서는, SLS에 포함되는 애플리케이션 기반 인핸스먼트 시그널링에 대하여 구체적으로 설명한다.
애플리케이션 기반 인핸스먼트 시그널링(app-based enhancement signaling)은 적어도 하나의 애플리케이션 기반 인핸스먼트 컴포넌트의 전송과 관련이 있다. 예를 들어, 애플리케이션 기반 인핸스먼트 컴포넌트는 애플리케이션 로직 파일(application logic file), NRT media file, on-demand content component, 및/또는 notification stream을 포함할 수 있다. 물론, 애플리케이션은 NRT 데이터를 브로드밴드 연결을 통해서 검색할 수도 있다.
이하에서는 MMTP의 SLS에 포함되는 MMT Signaling Message에 대해서 구체적으로 설명한다.
적어도 하나의 MMTP session이 스트리밍 서비스를 전송하기 위하여 사용되면, 적어도 하나의 MMT signaling message가 MMTP에 의해서 전송될 수 있다. 각각의 MMTP session은 적어도 하나의 MMT signaling message 및 적어도 하나의 컴포넌트를 전송할 수 있다. 또한, 적어도 하나의 MMT signaling message를 전송하는 적어도 하나의 패킷은 S-TSID fragment에 있는 MS element에 의해서 시그널될 수 있다.
본 발명의 다른 실시예에 따른 시그널링 정보의 제1 정보는 S-TSID를 포함할 수 있고, 제2 정보는 MPD를 포함할 수 있다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치는 전술한 방송 신호 송신 장치 및/또는 송신기의 기능을 모두 포함할 수 있다. 또한, 시그널링 정보에 대한 구체적인 내용은 전술한 내용을 모두 포함할 수 있다. 시그널링 정보는 LCT 패킷의 헤더 및 LCT 패킷의 헤더 Extension의 내용을 모두 포함할 수 있다.
도 55는 본 발명의 일 실시예에 따른 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도면을 참조하면, 본 발명의 다른 실시예에 따른 방송 신호 수신 장치는 시그널링 파서(Signaling Parser, C62100), 딜리버리 오브젝트 프로세서(Delivery Object Processor, C62300), 및/또는 미디어 디코더(Media Decoder, C62500)를 포함할 수 있다.
시그널링 파서(C62100)는 서비스의 적어도 하나의 콘텐트 컴포넌트의 발견 및 획득을 제공하는 시그널링 정보 를 추출할 수 있다.
시그널링 정보는 SLS 획득을 부트스트랩(bootstrap)하기 위한 LLS, 및/또는 적어도 하나의 ROUTE/LCT transport session을 통해서 전송되는 적어도 하나의 서비스 컴포넌트를 획득하기 위한 SLS를 포함할 수 있다.
먼저, 시그널링 파서(C62100)는 FIT(또는, SLT)를 획득할 수 있다. 예를 들어, FIT(또는, SLT)는 지정된 Broadcast Stream ID(BSID)에 의해서 식별되는 지정된 주파수 밴드 내에서 Physical Layer Frame을 통하여 전송될 수 있다. 실시예에 따라, FIT(또는, SLT)는 Physical Layer Frame, signaling을 전송하는 PLP, 및/또는 방송국마다 할당된 PLP 중에서 적어도 하나를 통해서 전송될 수 있다.
각각의 서비스들은 적어도 하나의 SLS 부트스트래핑 정보를 포함할 수 있다. 예를 들어, 각각의 서비스들은 Service_id에 의해서 식별될 수 있다. 또한, SLS 부트스트래핑 정보는 PLPID, source IP address, destination IP address, destination port number, 및/또는 TSI를 포함할 수 있다.
그리고 나서, 시그널링 파서(C62100)는 적어도 하나의 SLS fragment를 획득할 수 있다. SLS fragment는 IP/UDP/LCT session 및 PLP를 통해서 전송될 수 있다. 예를 들어, SLS 프래그먼트는 USBD/USD fragment, S-TSID fragment, 및/또는 MPD fragment를 포함할 수 있다. USBD/USD fragment, S-TSID fragment, 및/또는 MPD fragment는 하나의 서비스와 관련된 정보일 수 있다.
USBD/USD fragment는 적어도 하나의 서비스 레벨 특성을 서술할 수 있다. 또한, USBD/USD fragment는 적어도 하나의 S-TSID fragment에 대한 URI 참조 정보 및/또는 적어도 하나의 MPD fragment에 대한 URI 참조 정보를 포함할 수 있다.
S-TSID fragment는 하나의 서비스에 관련된 컴포넌트 획득 정보를 포함할 수 있다. 또한, S-TSID fragment는 MPD 내에서 발견되는 DASH Representation 과 서비스의 컴포넌트에 해당하는 TSI 사이의 매핑을 제공할 수 있다. 또한, S-TSID fragment는 TSI 및 관련된 DASH Representation 식별자 형태의 컴포넌트 획득 정보, 및/또는 DASH Representation과 관련된 적어도 하나의 DASH Segment를 전송하는 PLPID를 포함할 수 있다.
상기 시그널링 정보는 적어도 하나의 딜리버리 오브젝트(또는, 적어도 하나의 오브젝트 플로우)를 서술하는 정보를 포함할 수 있다.
상기 딜리버리 오브젝트는 파일, 상기 파일의 일부(a part of the file), 상기 파일의 그룹(a group of the file), Hyper Text Transfer Protocol(HTTP) Entity, 및/또는 상기 HTTP Entity의 그룹을 포함할 수 있다. 상기 딜리버리 오브젝트는 상기 서비스의 적어도 하나의 콘텐트 컴포넌트에 포함되며 , 독립적으로 복원될 수 있다(recovered individually).
상기 시그널링 정보는 상기 서비스의 상기 적어도 하나의 콘텐트 컴포넌트를 전송하는 전송 세션 및 상기 전송 세션을 통해 전송되는 적어도 하나의 딜리버리 오브젝트에 관한 제1 정보를 포함 할 수 있다. 예를 들어, 제1 정보는 S-TSID일 수 있다.
제1 정보는 MPD 내에서 발견되는 DASH Representation 과 서비스의 컴포넌트에 해당하는 TSI 사이의 매핑을 제공할 수 있다. 또한, S-TSID fragment는 TSI 및 관련된 DASH Representation 식별자 형태의 컴포넌트 획득 정보를 포함할 수 있다.
상기 제1 정보는 상기 딜리버리 오브젝트를 전송하는 전송 프로토콜 패킷의 페이로드의 첫번째 바이트의 위치를 지시하는 오프셋 정보 , 상기 적어도 하나의 딜리버리 오브젝트가 스트리밍 서비스를 전송하는지 여부를 지시하는 실시간 정보 , 상기 전송 세션을 Transport Session Identifier(TSI)에 매핑시키고 상기 딜리버리 오브젝트를 Transport Object Identifier(TOI)에 매핑시키는 매핑 정보 , 상기 딜리버리 오브젝트에 대한 시간 정보를 지시하는 타임스탬프 정보 중에서 적어도 하나를 더 포함할 수 있다.
상기 시그널링 정보는 상기 서비스에 해당하는 DASH Media Presentation의 디스크립션을 포함하는 제2 정보 를 더 포함할 수 있다.
예를 들어, 제2 정보는 Media Presentation Description(MPD)일 수 있다. 제 2정보는 Segment URL 정보, Representation ID 정보, 및/또는 Transaction 정보 중에서 적어도 하나를 포함할 수 있다
Segment URL 정보는 상기 Segment에 접근할 수 있는 Uniform Resource Locator(URL)을 지시 할 수 있다.
Representation ID 정보는 상기 Representation을 식별할 수 있다.
Transaction 정보는 상기 Representation을 전송하는 전송 세션에 참가할지 여부를 지시할 수 있다.
상기 시그널링 정보는 제1정보 및/또는 제2 정보 중에서 적어도 하나를 포함할 수 있다. 또한, 시그널링 정보는 LCT 패킷의 헤더 및 LCT 패킷의 헤더 Extension의 내용을 모두 포함할 수 있다. 또한, 시그널링 정보에 대한 구체적인 내용은 전술한 내용을 모두 포함할 수 있다.
일 실시예로, 시그널링 파서(C62100)는 Session Description을 획득할 수 있다.
Session(e.g. ROUTE session, MMTP session, 및/또는 LCT transport session 중에서 적어도 하나)에 참가(participate)하기 위해서, 시그널링 파서(C62100)는 Session Description을 획득할 수 있다. Session Description은 Session Description Protocol (SDP), XML metadata, HTTP/MIME headers, 및/또는 session announcement protocol(SAP) 중에서 하나의 형태일 수 있다. 이하에서는, 시그널링 정보(또는, SLS)가 Session Description을 포함하는 것을 중심으로 설명한다. 시그널링 정보는 (source IP address, Transport Session Identifier) pair에 의해서 식별될 수 있다. 또한, 수신기는 시그널링 정보와 관련된 destination IP addresses 및 각각의 포트들을 획득할 수도 있다.
딜리버리 오브젝트 프로세서(C62300)는 상기 시그널링 정보를 기초로 상기 적어도 하나의 딜리버리 오브젝트를 복원할 수 있다 .
딜리버리 오브젝트 프로세서(C62300)는 PLPID 및/또는 TSI를 기초로 서비스로부터 적어도 하나의 오디오/비디오 컴포넌트를 수집할 수 있다. 또한, 딜리버리 오브젝트 프로세서(C62300)는 적어도 하나의 DASH Media Segment에 대한 버퍼링을 시작할 수 있다. 또한, 딜리버리 오브젝트 프로세서(C62300)는 ROUTE session, MMTP session, 및/또는 LCT transport session 중에서 적어도 하나의 session에 join 및/또는 종료할 수 있다.
이하에서는, 딜리버리 오브젝트 프로세서(C62300)가 딜리버리 오브젝트를 복원하는 절차를 설명한다.
먼저, 딜리버리 오브젝트 프로세서(C62300)는 시그널링 정보와 관련되는 적어도 하나의 전송 프로토콜 패킷(ALC/LCT 패킷, ALC/LCT+ 패킷, ROUTE 패킷, 및/또는 MMTP 패킷)을 수신하기 위해서 적어도 하나의 세션(또는, 채널)에 참가할 수 있다. 이하에서는, 전송 프로토콜 패킷을 간략히 패킷으로 표현한다.
그리고 나서, 딜리버리 오브젝트 프로세서(C62300)는 적어도 하나의 패킷을 수신할 수 있다.
그리고 나서, 딜리버리 오브젝트 프로세서(C62300)는 적어도 하나의 패킷을 적절히 필터링할 수 있다. 예를 들어, 딜리버리 오브젝트 프로세서(C62300)는 패킷 헤더를 파싱하고, 패킷 헤더가 유효한 헤더인지 확인할 수 있다. 만약 패킷 헤더가 유효하지 않으면, 그 패킷(또는, 페이로드)은 추가적인 처리 없이 폐기될 수 있다. 또한, 딜리버리 오브젝트 프로세서(C62300)는 적어도 하나의 패킷이 TSI 값에 매칭되는지 체크할 수 있다. 만약 매칭되지 않으면, 그 패킷들은 폐기될 수 있다.
예를 들어, 딜리버리 오브젝트 프로세서(C62300)는 TSI attribute 및 CodePoint attribute가 시그널링 정보에서 유효한 동작 지점을 나타내는지 확인할 수 있다. 즉, 시그널링 정보는 패킷 헤더에서 제공되는 TSI 값에 대한 매칭 엔트리(matching entry)를 포함할 수 있다. 또한, 해당 TSI에 대하여, 시그널링 정보는 CodePoint attribute를 포함할 수 있다. CodePoint attribute의 값은 패킷의 헤더에 있는 CodePoint field의 값과 동일할 수 있다.
딜리버리 오브젝트 프로세서(C62300)는 sender IP address, 및/또는 헤더에서 전송되는 TSI가 시그널링 정보(또는, Session Description)내에서 수신되는 (sender IP address, TSI) 페어(pair)들 중에서 하나와 매칭되는지 확인할 수 있다. (sender IP address, TSI) 페어(pair)들 중에서 하나는 수신기가 현재 참가하고 있는 LCT transport session을 지시할 수 있다. 만약 매칭되지 않으면, 그 패킷들은 추가적인 처리 없이 폐기될 수 있다. 이하의 단계들은 수신된 패킷의 (sender IP address, TSI) session의 범위 내에서 수행될 수 있다.
그리고 나서, 딜리버리 오브젝트 프로세서(C62300)는 패킷 인증(packet authentication)을 사용할 수 있다. 만약 패킷 인증(packet authentication)이 사용되면, 딜리버리 오브젝트 프로세서(C62300)는 패킷의 진위(authenticity of a packet)를 체크할 수 있다. 만약 즉각적인 체킹이 가능하고 그 패킷이 인증을 실패하면, 딜리버리 오브젝트 프로세서(C62300)는 그 패킷을 폐기할 수 있다.
그리고 나서, 딜리버리 오브젝트 프로세서(C62300)는 multiple rate congestion control building block을 따르는 CCI field에 따라서 처리 및 동작할 수 있다.
그리고 나서, 패킷들을 수신하면서, 딜리버리 오브젝트 프로세서(C62300)는 TOI를 기초로 적어도 하나의 패킷을 디멀티플렉싱(demultiplex)할 수 있다. 그리고, 딜리버리 오브젝트 프로세서(C62300)는 해당 딜리버리 오브젝트의 복원을 위해 적절한 장소에 적절한 패킷 정보들을 저장할 수 있다.
만약 하나 이상의 오브젝트가 LCT transport session을 통해서 전송되면, 딜리버리 오브젝트 프로세서(C62300)는 패킷 헤더에 있는 TOI가 유효한지를 확인할 수 있다. 만약 TOI가 유효하지 않으면, 그 패킷은 추가적인 처리 없이 폐기될 수 있다.
그리고 나서, 딜리버리 오브젝트 프로세서(C62300)는 패킷(또는, 페이로드)의 나머지 부분들을 처리할 수 있다. 예를 들어, 딜리버리 오브젝트 프로세서(C62300)는 다른 패킷 헤더들을 적절하게 해석할 수 있다. 또한, 딜리버리 오브젝트 프로세서(C62300)는 해당 딜리버리 오브젝트를 복원하기 위해서 FEC Payload ID(또는, source FEC Payload ID), 및/또는 페이로드에 있는 적어도 하나의 인코딩 심볼을 이용할 수 있다.
예를 들어, 딜리버리 오브젝트 프로세서(C62300)는 시그널링 정보, 및 패킷의 헤더에서 전송되는 TOI를 기초로 수신된 ROUTE 패킷 페이로드에 관련된 딜리버리 오브젝트를 결정할 수 있다.
그리고 나서, 딜리버리 오브젝트 프로세서(C62300)는 적어도 하나의 딜리버리 오브젝트를 복원할 수 있다. 예를 들어, ROUTE session 및 ROUTE session에 포함된 각각의 LCT transport session으로부터, 딜리버리 오브젝트 프로세서(C62300)는 적어도 하나의 딜리버리 오브젝트를 복원할 수 있다.
그리고 나서, 복원된 딜리버리 오브젝트는 추가적인 처리를 위해서 적절한 핸들러로 전달될 수 있다
주어진 TOI 값에 관련된 딜리버리 오브젝트에 대한 적어도 하나의 패킷 페이로드의 완전한 집합 및 그 딜리버리 오브젝트에 대한 시그널링 정보(또는, 메타 데이터)를 복원하면, 그 딜리버리 오브젝트는 애플리케이션으로 전달될 수 있다. 예를 들어, 그 딜리버리 오브젝트는 미디어 디코더(C62500)로 전달될 수 있다. 시그널링 정보(또는, 메타데이터)는 적용된 딜리버리 모드에 의존할 수 있다.
딜리버리 오브젝트 프로세서(C62300)는 그 시그널링 정보에 관련되는 적어도 하나의 패킷을 수신하는 과정을 반복할 수 있다.
전술한 딜리버리 오브젝트 프로세서(C62300)의 동작 중에서 적어도 하나는 수신기의 다른 구성요소에 의해서 수행될 수 있다.
미디어 디코더(C62500)는 상기 적어도 하나의 딜리버리 오브젝트를 디코딩 할 수 있다. 미디어 디코더(C62500)는 적절한 디코딩 프로세스를 수행할 수 있다. 예를 들어, 미디어 디코더(C62500)는 시그널링 정보(예를 들어, 타이밍 정보, 및/또는 디코딩에 필요한 정보, 렌더링에 필요한 정보)를 기초로 적어도 하나의 엑세스 유닛을 디코딩(decoding) 및/또는 디코딩된 적어도 하나의 엑세스 유닛을 렌더링(rendering)할 수 있다.
도 56는 본 발명의 일 실시예에 따른 딜리버리 오브젝트 프로세서의 구조를 나타낸 도면이다.
이하에서는, 딜리버리 오브젝트 프로세서(C62300)가 ROUTE session, MMTP session, 및/또는 LCT transport session 중에서 적어도 하나의 session에 join 및/또는 종료하는 동작을 구체적으로 설명한다. 이하에서는 LCT transport session을 중심으로 설명한다.
먼저, 딜리버리 오브젝트 프로세서(C62300)가 segment number를 포함하는 Segment URL 정보를 기초로 적어도 하나의 LCT transport session에 join 및/또는 종료하는 동작을 설명한다.
본 발명의 일 실시예에 따른 딜리버리 오브젝트 프로세서(C62300)는 DASH 클라이언트(DASH Client, C62320), DTV 제어 엔진(DTV Control Engine, C62340), 및/또는 전송 프로토콜 클라이언트(ALC/LCT+ Client, C62360) 중에서 적어도 하나를 포함할 수 있다.
DASH 클라이언트 (C62320; DASH Client)는 재생(present)하고자 하는 Representation을 결정 하고 상기 딜리버리 오브젝트와 관련된 Segment를 요청 할 수 있다.
DASH 클라이언트 (C62320)는 MPEG-DASH와 관련된 데이터를 처리하는 일련의 동작을 수행한다. DASH 클라이언트(C62320)는 MPD를 기초로 Segment를 요청하고, 상기 Segment를 획득할 수 있다. DASH 클라이언트(C62320)에 대한 기본적인 설명은 전술한 내용을 모두 포함할 수 있다.
먼저, DASH 클라이언트(C62320)는 MPD 및/또는 MPD URL 중에서 적어도 하나를 획득할 수 있다. MPD는 스트리밍 서비스를 제공하기 위한 Media Presentation에 대한 공식화된 디스크립션이다. MPD URL은 MPD를 획득할 수 있는 장소를 지시할 수 있다. 예를 들어, DASH 클라이언트(C62320)는 DTV 제어 엔진(C62340)으로부터 MPD 및/또는 MPD URL 중에서 적어도 하나를 전달받을 수 있다. 또한, DASH 클라이언트(C62320)는 MPD URL을 기초로, MPD를 HTTP 서버에 요청하거나 이에 대한 응답으로 MPD를 수신할 수 있다. 또한, DASH 클라이언트(C62320)는 다른 경로를 통하여 MPD를 수신할 수 있다.
그리고 나서, DASH 클라이언트(C62320)는 MPD를 파싱할 수 있다. DASH 클라이언트(C62320)는 MPD를 기초로 적어도 하나의 Adaptation Set을 선택할 수 있다.
그리고 나서, 선택된 Adaptation Set 내에서, DASH 클라이언트(C62320)는 하나의 Representation을 선택할 수 있다. DASH 클라이언트(C62320)는 대역폭(bandwidth), 수신기의 디코딩 성능, 및/또는 수신기의 랜더링 성능 등을 고려하여 Representation을 선택할 수 있다. 그리고 나서, DASH 클라이언트(C62320)는 wall-clock time으로 측정한 실제 클라이언트-로컬 타임(client-local time)에서 각각의 Representation에 대하여 접근가능한(accessible) 적어도 하나의 Segment들의 리스트를 나타내는 Segment 리스트를 생성할 수 있다. 실시예에 따라서, Segment 리스트는 MPD에 포함될 수 있다.
예를 들어, Segment는 Initialization Segment, Media Segment, 및/또는 Index Segment 중에서 적어도 하나를 포함할 수 있다. Segment 리스트는 적어도 하나의 Segment URL 정보를 포함할 수 있다. Segment URL 정보는 Segment에 접근할 수 있는 Uniform Resource Locator(URL)을 지시한다. Segment URL 정보는 Initialization Segment URL, Media Segment URL, 및/또는 Index Segment URL 중에서 적어도 하나를 포함할 수 있다. Initialization Segment URL은 Initialization Segment에 접근할 수 있는 URL을 지시한다. Media Segment URL는 Media Segment에 접근할 수 있는 URL을 지시한다. Index Segment URL은 Index Segment에 접근할 수 있는 URL을 지시한다.
그리고 나서, DASH 클라이언트(C62320)는 MPD timeline에 따라서 Segment를 선택할 수 있다. DASH 클라이언트(C62320)는 선택된 Representation 내에서 Segment 리스트 및/또는 MPD timeline을 기초로 Segment를 선택할 수 있다. 만약 하나의 딜리버리 오브젝트가 하나의 Segment이면, DASH 클라이언트(C62320)는 요청하고자 하는 딜리버리 오브젝트에 해당하는 Segment를 선택할 수 있다. 만약, 하나의 딜리버리 오브젝트가 하나의 Segment의 일부이면, DASH 클라이언트(C62320)는 요청하고자 하는 딜리버리 오브젝트가 속한 Segment를 선택할 수 있다.
그리고 나서, DASH 클라이언트(C62320)는 적어도 하나의 Segment, 전체 Segment들, 바이트 범위의 Segment들(byte ranges of Segments), 및/또는 적어도 하나의 딜리버리 오브젝트 중에서 하나를 요청함으로서 서비스(또는, 콘텐트)에 접근할 수 있다. DASH 클라이언트(C62320)는 생성된 Segment 리스트를 기초로 선택된 Representation의 적어도 하나의 Segment 및/또는 딜리버리 오브젝트를 요청할 수 있다.
예를 들어, DASH 클라이언트(C62320)는 Segment 리스트 및/또는 Segment URL 정보를 DTV 제어 엔진(C62340)으로 전달할 수 있다.
Segment URL 정보는 적어도 하나의 식별자를 포함할 수 있다. 예를 들어, Segment URL 정보는 해당 Segment를 포함하는 Representation을 식별하는 Representation ID, 및/또는 해당 Segment의 번호를 식별하는 segment number 중에서 적어도 하나를 포함할 수 있다. 예를 들어, Segment URL 정보는 “www.example.com/SomeMovie_w720_h480_b500k_V_n00278.m4v”와 같은 형태일 수 있다. 여기에서, “n00278”는 segment number를 지시할 수 있다.
DTV 제어 엔진(C62340)은 상기 시그널링 정보의 상기 Representation과 상기 콘텐트 컴포넌트의 Transport Session Identifier(TSI)를 매핑 할 수 있다.
간단히, DTV 제어 엔진(C62340)은 시그널링 정보를 기초로 요청 받은 Segment 및/또는 딜리버리 오브젝트의 TSI 및/또는 TOI를 결정할 수 있다. 각각의 ROUTE session은 적어도 하나의 LCT transport session을 포함할 수 있다. 하나의 LCT transport session은 하나의 미디어 콘텐트 컴포넌트(e.g. DASH Representation)를 전송할 수 있다. 각각의 비디오 컴포넌트 및/또는 오디오 컴포넌트는 MPEG-DASH의 Representation에 매칭될 수 있다. 따라서, TSI는 LCT transport session에 매칭될 수 있다.
시그널링 정보(또는, S-TSID fragment)는 하나의 서비스에 관련된 컴포넌트 획득 정보를 포함할 수 있다. 또한, 시그널링 정보(또는, S-TSID fragment)는 MPD 내에서 발견되는 DASH Representation과 서비스의 컴포넌트에 해당하는 TSI 사이의 매핑을 제공할 수 있다. 또한, 시그널링 정보(또는, S-TSID fragment)는 TSI 및 관련된 DASH Representation 식별자 형태의 컴포넌트 획득 정보, 및/또는 DASH Representation과 관련된 적어도 하나의 DASH Segment를 전송하는 PLPID를 포함할 수 있다.
예를 들어, 시그널링 정보는 상기 전송 세션을 Transport Session Identifier(TSI)에 매핑시키고 상기 딜리버리 오브젝트를 Transport Object Identifier(TOI)에 매핑시키는 매핑 정보를 포함할 수 있다. 매핑 정보(또는, ContentInfo)는 LCT transport session으로 전송되는 애플리케이션 서비스에 매핑되는 정보를 포함할 수 있다. 매핑 정보는 랜더링을 하기 위한 LCT transport session을 선택하기 위한 DASH Media Representation의 Adaptation Set parameters 및/또는 DASH 콘텐트의 Representation ID를 포함할 수 있다. 또한, 시그널링 정보(또는, S-TSID fragment)는 LCT transport session을 지시하는 TSI field를 포함할 수 있다.
먼저, DTV 제어 엔진(C62340)은 시그널링 정보 및/또는 Segment URL 정보를 기초로 요청 받은 Segment 및/또는 딜리버리 오브젝트에 해당하는 TSI를 결정할 수 있다.
그리고 나서, DTV 제어 엔진(C62340)는 시그널링 정보 및/또는 Segment URL 정보를 기초로 요청 받은 Segment 및/또는 딜리버리 오브젝트에 해당하는 TOI를 결정할 수 있다.
각각의 LCT transport session 내에서, 서로 관련이 있는 적어도 하나의 오브젝트가 각각 적어도 하나의 딜리버리 오브젝트로 분할되어 전송될 수 있다. 또한, 오브젝트는 하나의 Representation에 관련된 DASH 세그먼트(DASH Segment)일 수 있다.
따라서, 만약 하나의 딜리버리 오브젝트가 하나의 Segment이면, TOI는 Segment에 매칭될 수 있다. 만약 하나의 딜리버리 오브젝트가 하나의 Segment의 일부이면, TOI는 Segment에 속한 딜리버리 오브젝트에 매칭될 수 있다. 만약 하나의 딜리버리 오브젝트가 하나의 Segment의 일부이면, TOI는 MPD timeline을 기초로 Segment에 속한 적절한 딜리버리 오브젝트에 매칭될 수 있다.
전송 프로토콜 클라이언트(C62360)는 상기 TSI를 기초로 상기 전송 세션으로부터 적어도 하나의 딜리버리 오브젝트를 복원 할 수 있다. 전송 프로토콜 클라이언트(C62360)는 전술한 FLUTE+ 클라이언트 및/또는 ALC/LCT+ 클라이언트를 포함할 수 있다.
먼저, 전송 프로토콜 클라이언트(C62360)는 TSI를 기초로 session에 참가(join)할 수 있다. 예를 들어, session은 LCT transport session일 수 있다.
전송 프로토콜 클라이언트(C62360)는 적어도 하나의 패킷이 TSI 값에 매칭되는지 체크할 수 있다. 만약 매칭되지 않으면, 그 패킷들은 폐기될 수 있다. 예를 들어, 전송 프로토콜 클라이언트(C62360)는 sender IP address, 및/또는 헤더에서 전송되는 TSI가 시그널링 정보(또는, Session Description)내에서 수신되는 (sender IP address, TSI) 페어(pair)들 중에서 하나와 매칭되는지 확인할 수 있다. (sender IP address, TSI) 페어(pair)들 중에서 하나는 수신기가 현재 참가하고 있는(또는, 참가 하고자 하는) LCT transport session을 지시할 수 있다. 만약 매칭되지 않으면, 그 패킷들은 추가적인 처리 없이 폐기될 수 있다. 이하의 단계들은 수신된 패킷의 (sender IP address, TSI) session의 범위 내에서 수행될 수 있다.
또한, 전송 프로토콜 클라이언트(C62360)는 TSI attribute 및/또는 CodePoint attribute가 시그널링 정보에서 유효한 동작 지점을 나타내는지 확인할 수 있다. 즉, 시그널링 정보는 패킷 헤더에서 제공되는 TSI 값에 대한 매칭 엔트리(matching entry)를 포함할 수 있다. 또한, 해당 TSI에 대하여, 시그널링 정보는 CodePoint attribute를 포함할 수 있다. CodePoint attribute의 값은 패킷의 헤더에 있는 CodePoint field의 값과 동일할 수 있다.
그리고 나서, 전송 프로토콜 클라이언트(C62360)는 TSI 및/또는 TOI를 기초로 패킷을 수신, 필터링, 수집, 및/또는 처리할 수 있다.
만약 하나 이상의 딜리버리 오브젝트가 LCT transport session을 통해서 전송되면, 전송 프로토콜 클라이언트(C62360)는 패킷 헤더에 있는 TOI가 유효한지를 확인할 수 있다. 만약 TOI가 유효하지 않으면, 그 패킷은 추가적인 처리 없이 폐기될 수 있다.
전송 프로토콜 클라이언트(C62360)은 요청한 딜리버리 오브젝트에 매칭되는 TOI를 가지는 패킷을 수집할 수 있다.
패킷들을 수신하면서, 전송 프로토콜 클라이언트(C62360)는 TOI를 기초로 적어도 하나의 패킷을 디멀티플렉싱(demultiplex)할 수 있다. 그리고, 전송 프로토콜 클라이언트(C62360)는 해당 딜리버리 오브젝트의 복원을 위해 적절한 장소에 적절한 패킷 정보들을 저장할 수 있다.
그리고 나서, 전송 프로토콜 클라이언트(C62360)는 적어도 하나의 딜리버리 오브젝트를 복원할 수 있다.
ROUTE session 및/또는 ROUTE session에 포함된 각각의 LCT transport session으로부터, 전송 프로토콜 클라이언트(C62360)는 적어도 하나의 딜리버리 오브젝트를 복원할 수 있다.
예를 들어, 전송 프로토콜 클라이언트(C62360)는 TOI를 기초로 그 딜리버리 오브젝트의 처음 부분의 데이터를 포함하는 패킷부터 복원을 시작할 수 있다.
또한, 전송 프로토콜 클라이언트(C62360)는 패킷(또는, 페이로드)의 나머지 부분들을 처리할 수 있다. 예를 들어, 전송 프로토콜 클라이언트(C62360)는 다른 패킷 헤더들을 적절하게 해석할 수 있다. 또한, 전송 프로토콜 클라이언트(C62360)는 오프셋 정보를 결정하기 위해서 FEC Payload ID(또는, source FEC Payload ID)를 이용할 수 있고, 해당 딜리버리 오브젝트를 복원하기 위해서 페이로드에 있는 적어도 하나의 인코딩 심볼을 이용할 수 있다.
예를 들어, 전송 프로토콜 클라이언트(C62360)는 시그널링 정보, 및/또는 패킷의 헤더에서 전송되는 TOI를 기초로 수신된 패킷(또는, ROUTE 패킷)의 페이로드에 관련된 딜리버리 오브젝트를 결정할 수 있다.
그리고 나서, 복원된 Segment 및/또는 딜리버리 오브젝트는 추가적인 처리를 위해서 적절한 핸들러로 전달될 수 있다.
예를 들어, 복원된 적어도 하나의 딜리버리 오브젝트는 타이밍 정보와 함께 DASH 클라이언트(C62320)로 전달될 수 있다. 타이밍 정보는 딜리버리 오브젝트와 관련된 디코딩 타임 정보 및/또는 프리젠테이션 타임 정보 중에서 적어도 하나를 포함할 수 있다.
또한, 주어진 TOI 값에 관련된 딜리버리 오브젝트에 대한 적어도 하나의 패킷 페이로드의 완전한 집합 및 그 딜리버리 오브젝트에 대한 시그널링 정보(또는, 메타 데이터)가 복원되면, 그 딜리버리 오브젝트는 애플리케이션으로 전달될 수 있다. 예를 들어, 그 딜리버리 오브젝트는 미디어 디코더(미도시)로 전달될 수 있다. 시그널링 정보(또는, 메타데이터)는 적용된 딜리버리 모드에 의존할 수 있다.
이하에서는 Representation Switching 동작에 대하여 설명한다.
현재 진행 중인 Media Presentation 동안에 업데이트된 정보에 기초하여, 수신기는 Representation을 스위칭할 수 있다.
Representation을 스위칭하는 것은 “기존의” Representation(이하부터, 제1 Representation)이 프리젠테이션되어 온 특정한 타임 포인트(time point)부터 “새로운” Representation(이하부터, 제2 Representation)으로 튜닝(tuning in) 또는 획득(seeking to)하는 것과 동일하다.
일단 스위칭 요청이 있으면, 수신기는 현재 프리젠테이션 타임 이후의 가까운 바람직한 프리젠테이션 타임에서 제2 Representation에 있는 각각의 미디어 스트림에 대하여 Stream Access Point(SAP)를 찾을 수 있다. SAP는 Representation 내에 있는 미디어 스트림의 재생의 시작을 가능하게 하는 위치를 지시한다. 제1 Representation을 제2 Representation에 있는 SAP까지 재생하는 것은 끊어짐이 없는(seamless) 스위칭을 가능하게 한다.
제1 Representation 및 제2 Representation은 하나의 서비스에 포함되고, 동일한 미디어 타입을 갖고, 서로 대체할 수 있는 미디어 콘텐트 컴포넌트이다.
예를 들어, 하나의 서비스가 하나의 비디오 컴포넌트 및/또는 두 개의 오디오 컴포넌트를 포함할 수 있다. 각각의 오디오 컴포넌트는 각각의 Representation에 매칭된다. 각각의 오디오 컴포넌트는 한국어 오디오 컴포넌트 및/또는 영어 오디오 컴포넌트를 포함할 수 있다. 이 경우, 수신기는 특정 시간에 동일한 서비스에 포함되는 오디오 컴포넌트를 한국어 오디오 컴포넌트에서 영어 오디오 컴포넌트로 변경할 수 있다. 예를 들어, 수신기는 한국어 오디오 컴포넌트를 전송하는 LCT transport session에 참가하여 관련된 오브젝트를 수신 및 디코딩할 수 있다. 그리고 나서, 수신기는 특정 시간에 한국어 오디오 컴포넌트를 전송하는 LCT transport session을 종료하고, 영어 오디오 컴포넌트를 전송하는 LCT transport session에 참가하여 관련된 오브젝트를 수신 및 디코딩할 수 있다.
상기 제1 Representation에 관련된 Segment URL 정보와 상기 제2 Representation에 관련된 Segment URL 정보가 다르면, 상기 DASH 클라이언트(C62320)는 재생(present)하고자 하는 제2 Representation을 결정할 수 있다.
예를 들어, Representation을 스위칭하는 경우, DASH 클라이언트(C62320)는 제1 Representation과 다른 제2 Representation을 선택할 수 있다.
그리고 나서, DASH 클라이언트(C62320)는 MPD timeline에 따라서 제2 Representation에 관련되는 Segment 및/또는 딜리버리 오브젝트를 선택할 수 있다.
그리고 나서, DASH 클라이언트(C62320)는 제2 Representation에 관련되는 Segment 리스트 및/또는 Segment URL 정보를 DTV 제어 엔진(C62340)으로 전달할 수 있다.
예를 들어, DASH 클라이언트(C62320)는 대체 가능한 동일한 종류의 미디어 콘텐트 컴포넌트에 대하여 다른(another) segment number를 포함하는 다른(another) Segment URL 정보를 DTV 제어 엔진(C62340)으로 전달 할 수 있다.
DASH 클라이언트(C62320)의 구체적인 내용은 전술한 것과 동일하다.
상기 DTV 제어 엔진(C62340)은 상기 시그널링 정보의 상기 제2 Representation과 상기 콘텐트 컴포넌트의 상기 TSI를 매핑할 수 있다.
예를 들어, DTV 제어 엔진(C62340)은 제2 Representation에 관련되는 Segment 리스트 및/또는 Segment URL 정보를 기초로 요청 받은 Segment 및/또는 딜리버리 오브젝트의 TSI 및/또는 TOI를 결정할 수 있다.
상기 Representation은 제1 Representation 및 제2 Representation을 포함하고, 상기 전송 프로토콜 클라이언트(C62360)는 미리 정해진 타임 포인트부터 제1 Representation에서 제2 Representation으로 Representation을 스위칭 할 수 있다.
예를 들어, 전송 프로토콜 클라이언트(C62360)는 TSI를 기초로 제2 Representation에 관련되는 session에 참가(join)할 수 있다. 그리고, 전송 프로토콜 클라이언트(C62360)는 제1 Representation에 관련되는 session을 종료할 수 있다. 실시예에 따라서, 전송 프로토콜 클라이언트(C62360)는 제1 Representation에 관련되는 session을 종료한 후에 제2 Representation에 관련되는 session에 참가할 수도 있고, 제1 Representation에 관련되는 session을 종료하기 전에 제2 Representation에 관련되는 session에 참가할 수도 있다.
Representation을 스위칭하는 경우, DASH 클라이언트(C62320), DTV 제어 엔진(C62340), 및/또는 전송 프로토콜 클라이언트(C62360)의 구체적인 내용은 전술한 것과 동일하다. 또한, 전술한 딜리버리 오브젝트 프로세서(C62300)의 동작 중에서 적어도 하나는 수신기의 다른 구성요소에 의해서 수행될 수 있다.
도 57는 본 발명의 일 실시예에 따른 딜리버리 오브젝트 프로세서의 구조를 나타낸 도면이다.
딜리버리 오브젝트 프로세서(C62300)가 ROUTE session, MMTP session, 및/또는 LCT transport session 중에서 적어도 하나의 session에 join 및/또는 종료하는 동작을 구체적으로 설명한다. 또한, LCT transport session을 중심으로 설명한다.
이하에서는, 딜리버리 오브젝트 프로세서(C62300)가 Representation ID 정보 및/또는 Transaction 정보를 기초로 적어도 하나의 LCT transport session에 join 및/또는 종료하는 동작을 설명한다.
본 발명의 일 실시예에 따른 딜리버리 오브젝트 프로세서(C62300)는 DASH 클라이언트(DASH Client, C62325), DTV 제어 엔진(DTV Control Engine, C62345), 및/또는 전송 프로토콜 클라이언트(ALC/LCT+ Client, C62365)을 포함할 수 있다.
딜리버리 오브젝트 프로세서(C62300)에 포함되는 구성요소 중에서 전술한 것과 동일한 명칭을 가지는 구성요소에 대한 기본적인 동작의 내용은 전술한 것과 동일하다. 이하에서는, 차이점을 위주로 설명한다.
DASH 클라이언트(C62325)는 재생(present)하고자 하는 Representation을 결정 하고 상기 딜리버리 오브젝트와 관련된 Segment를 요청 할 수 있다.
먼저, DASH 클라이언트(C62325)는 MPD 및/또는 MPD URL 중에서 적어도 하나를 획득할 수 있다.
그리고 나서, DASH 클라이언트(C62325)는 MPD를 파싱할 수 있다. DASH 클라이언트(C62320)는 MPD(또는, 제2 정보)를 기초로 적어도 하나의 Adaptation Set을 선택할 수 있다.
그리고 나서, 선택된 Adaptation Set 내에서, DASH 클라이언트(C62325)는 MPD(또는, 제2 정보)를 기초로 하나의 Representation을 선택할 수 있다.
상기 MPD(또는, 제2 정보)는 상기 Representation을 식별하는 Representation ID 정보 및 상기 Representation을 전송하는 전송 세션에 참가할지 여부를 지시하는 Transaction 정보 중에서 적어도 하나를 포함할 수 있다. 상기 Transaction 정보는 상기 전송 세션에 참가할 것을 지시하는 Start Transaction 및 상기 전송 세션을 종료할 것을 지시하는 Stop Transaction 중에서 적어도 하나를 포함할 수 있다.
예를 들어, Transaction 정보는 Start Transaction 및/또는 Stop Transaction을 포함할 수 있다. 처음 session에 참가하는 경우, Start Transaction은 제1 Representation에 관련된 session에 참가할 것을 지시할 수 있다. 또한, Representation을 스위칭하는 경우, Start Transaction은 제1 Representation에 관련된 session을 종료하고 제2 Representation에 관련된 session에 참가할 것을 지시할 수 있다. 현재의 session을 종료하는 경우, Stop Transaction은 제1 Representation에 관련된 session을 종료할 것을 지시할 수 있다.
session에 처음 참가하는 경우, DASH 클라이언트(C62325)는 선택된 제1 Representation을 식별하는 Representation ID 정보 및/또는 “Start Transaction”을 지시하는 Transaction 정보를 DTV 제어 엔진(C62345)으로 전달할 수 있다.
그리고 나서, DASH 클라이언트(C62325)는 Representation ID 정보 및/또는 Transaction 정보를 기초로 선택된 Representation의 적어도 하나의 Segment 및/또는 딜리버리 오브젝트를 요청할 수 있다.
DTV 제어 엔진(C62345)은 상기 시그널링 정보의 상기 Representation과 상기 콘텐트 컴포넌트의 Transport Session Identifier(TSI)를 매핑 할 수 있다.
예를 들어, DTV 제어 엔진(C62345)은 Representation ID 정보를 기초로 전송 세션을 식별하는 TSI를 결정하고, Transaction 정보를 기초로 상기 전송 세션에 참가할지 여부를 결정할 수 있다.
예를 들어, DTV 제어 엔진(C62345)은 Representation ID 정보를 기초로 전송 세션을 식별하는 TSI를 결정하고, TSI를 전송 프로토콜 클라이언트(C62365)로 전달할 수 있다.
전송 프로토콜 클라이언트(C62365)는 상기 TSI를 기초로 상기 전송 세션으로부터 적어도 하나의 딜리버리 오브젝트를 복원 할 수 있다.
예를 들어, 전송 프로토콜 클라이언트(C62365)는 TSI를 기초로 전송 세션에 참가(join)할 수 있다. 예를 들어, 전송 세션은 LCT transport session일 수 있다. 그리고 나서, 전송 프로토콜 클라이언트(C62365)는 패킷을 수신, 필터링, 수집, 및/또는 처리할 수 있다. 그리고 나서, 전송 프로토콜 클라이언트(C62365)는 적어도 하나의 Segment 및/또는 딜리버리 오브젝트를 복원할 수 있다.
그리고 나서, 복원된 Segment 및/또는 딜리버리 오브젝트는 추가적인 처리를 위해서 적절한 핸들러로 전달될 수 있다.
예를 들어, 복원된 적어도 하나의 Segment 및/또는 딜리버리 오브젝트는 타이밍 정보와 함께 DASH 클라이언트(C62325)로 전달될 수 있다. 타이밍 정보는 딜리버리 오브젝트와 관련된 디코딩 타임 정보 및/또는 프리젠테이션 타임 정보 중에서 적어도 하나를 포함할 수 있다.
이하에서는 Representation Switching 동작에 대하여 설명한다.
상기 제1 Representation을 식별하는 상기 Representation ID 정보와 상기 제2 Representation을 식별하는 상기 Representation ID 정보가 다르면, 상기 DASH 클라이언트(C62325)는 재생(present)하고자 하는 제2 Representation을 결정할 수 있다.
예를 들어, Representation을 스위칭하는 경우, DASH 클라이언트(C62325)는 제1 Representation과 다른 제2 Representation을 선택할 수 있다.
그리고 나서, DASH 클라이언트(C62325)는 제2 Representation을 식별하는 Representation ID 정보 및/또는 “Start Transaction”을 지시하는 Transaction 정보를 DTV 제어 엔진(C62345)으로 전달할 수 있다. 예를 들어, DASH 클라이언트(C62325)는 대체 가능한 동일한 종류의 미디어 콘텐트 컴포넌트에 대한 다른(another) Representation ID 정보 및/또는 “Start Transaction”을 지시하는 Transaction 정보를 DTV 제어 엔진(C62345)으로 전달할 수 있다.
또는, DASH 클라이언트(C62325)는 제1 Representation을 식별하는 Representation ID 정보 및/또는 “Stop Transaction”을 지시하는 Transaction 정보를 DTV 제어 엔진(C62345)으로 전달할 수 있다.
DTV 제어 엔진(C62345)은 상기 DTV 제어 엔진은 상기 시그널링 정보의 상기 제2 Representation과 상기 콘텐트 컴포넌트의 상기 TSI를 매핑할 수 있다.
예를 들어, DTV 제어 엔진(C62345)은 Representation ID 정보를 기초로 TSI를 결정할 수 하고, Transaction 정보를 기초로 session에 참가할지 여부를 지시할 수 있다. 또한, DTV 제어 엔진(C62345)은 수신기의 전체 프로세스의 구동을 제어할 수 있다. 예를 들어, DTV 제어 엔진(C62345)은 Transaction 정보를 기초로 전송 프로토콜 클라이언트(C62365)를 제어할 수 있다.
예를 들어, DTV 제어 엔진(C62345)은 제1 Representation을 식별하는 Representation ID 정보를 기초로 제1 Representation에 관련된 TSI를 결정할 수 있다. 또한, DTV 제어 엔진(C62345)은 제2 Representation을 식별하는 Representation ID 정보를 기초로 제2 Representation에 관련된 TSI를 결정할 수 있다.
Representation은 제1 Representation 및 제2 Representation을 포함하고, 상기 전송 프로토콜 클라이언트(C62365)는 미리 정해진 타임 포인트부터 제1 Representation에서 제2 Representation으로 Representation을 스위칭할 수 있다.
예를 들어, 전송 프로토콜 클라이언트(C62365)는 TSI를 기초로 제2 Representation에 관련되는 session에 참가(join)할 수 있다. 그리고, 전송 프로토콜 클라이언트(C62365)는 제1 Representation에 관련되는 session을 종료할 수 있다.
실시예에 따라서, 전송 프로토콜 클라이언트(C62365)는 제1 Representation에 관련되는 session을 종료한 후에 제2 Representation에 관련되는 session에 참가할 수도 있고, 제1 Representation에 관련되는 session을 종료하기 전에 제2 Representation에 관련되는 session에 참가할 수도 있다.
Representation을 스위칭하는 경우, DASH 클라이언트(C62325), DTV 제어 엔진(C62345), 및/또는 전송 프로토콜 클라이언트(C62365)의 구체적인 내용은 전술한 것과 동일하다. 또한, 전술한 딜리버리 오브젝트 프로세서(C62300)의 동작 중에서 적어도 하나는 수신기의 다른 구성요소에 의해서 수행될 수 있다.
도 58는 본 발명의 일 실시예에 따른 방송 신호 송신 방법의 흐름도를 나타낸 도면이다.
도면을 참조하면, 송신기(또는, 방송 신호 송신 장치)는, 딜리버리 오브젝트 제너레이터를 이용하여, 서비스의 적어도 하나의 콘텐트 컴포넌트 에 포함되며, 독립적으로 복원되는(recovered individually) 적어도 하나의 딜리버리 오브젝트 를 생성할 수 있다(SC61100).
예를 들어, 딜리버리 오브젝트 제너레이터(Delivery Object Generator)는 서비스에 포함되는 적어도 하나의 콘텐트 컴포넌트를 분할하여 적어도 하나의 딜리버리 오브젝트를 생성할 수 있다.
서비스는 연속된 적어도 하나의 미디어 콘텐트 피리어드를 포함하는 미디어 콘텐트일 수 있다(one media content period or a contiguous sequence of media content periods). 또한, 서비스는 하나의 방송 프로그램, 방송 프로그램에 부가되는 정보, 및/또는 독립된 정보 중에서 하나일 수 있다. 서비스는 적어도 하나의 콘텐트 컴포넌트를 포함할 수 있다.
콘텐트 컨포넌트는, 할당된 미디어 컴포넌트 타입을 가지며, 독립적으로 하나의 미디어 스트림으로 인코딩 될 수 있는, 미디어 콘텐트에 포함되는 하나의 연속적인 컴포넌트이다(one continuous component of the media content with an assigned media component type that can be encoded individually into a media stream). 또한, 미디어 컴포넌트 타입은 비디오, 오디오, 및/또는 텍스트 중에서 적어도 하나를 포함할 수 있다.
딜리버리 오브젝트는 파일, 상기 파일의 일부(a part of the file), 상기 파일의 그룹(a group of the file), Hyper Text Transfer Protocol(HTTP) Entity, 및 상기 HTTP Entity의 그룹 중에서 하나일 수 있다. 파일의 일부는 바이트 범위의 파일일 수 있다. HTTP Entity는 HTTP Entity Header 및/또는 HTTP Entity body를 포함할 수 있다.
또한, 송신기는, 시그널링 인코더를 이용하여, 상기 서비스 및 상기 적어도 하나의 콘텐트 컴포넌트의 발견 및 획득을 제공하는 시그널링 정보 를 생성할 수 있다(CS61300).
상기 시그널링 정보는 상기 서비스의 상기 적어도 하나의 콘텐트 컴포넌트를 전송하는 전송 세션 및 상기 전송 세션을 통해 전송되는 적어도 하나의 딜리버리 오브젝트에 관한 제1 정보 를 포함할 수 있다.
또한, 상기 시그널링 정보는 상기 서비스에 해당하는 DASH Media Presentation의 디스크립션을 포함하는 제2 정보 를 더 포함할 수 있다.
상기 시그널링 정보는 제1정보 및/또는 제2 정보 중에서 적어도 하나를 포함할 수 있다.
예를 들어, 시그널링 정보(또는, 제1 정보)는 상기 딜리버리 오브젝트를 전송하는 전송 프로토콜 패킷의 페이로드의 첫번째 바이트의 위치를 지시하는 오프셋 정보 , 상기 적어도 하나의 딜리버리 오브젝트가 스트리밍 서비스를 전송하는지 여부를 지시하는 실시간 정보 , 상기 전송 세션을 Transport Session Identifier(TSI)에 매핑시키고 상기 딜리버리 오브젝트를 Transport Object Identifier(TOI)에 매핑시키는 매핑 정보 , 상기 딜리버리 오브젝트에 대한 시간 정보를 지시하는 타임스탬프(timestamp) 정보 중에서 적어도 하나를 포함할 수 있다.
오프셋 정보는 오브젝트(또는, 딜리버리 오브젝트) 내에서 현재 전송중인 패킷 페이로드의 오프셋(시간적 위치 또는 공간적 위치)을 지시할 수 있다
타임스탬프 정보는 전송 프로토콜 패킷의 페이로드에 포함된 데이터와 연관된 타이밍 정보를 포함할 수 있다. 또한, 타임스탬프 정보는 딜리버리 오브젝트와 연관된 타이밍 정보를 포함할 수 있다. 예를 들어, 타임스탬프 정보는 페이로드에 포함된 데이터의 첫 바이트가 디코딩되는 시점에 대한 정보 및/또는 데이터의 프리젠테이션 타임 정보를 포함할 수 있다.
또한, 시그널링 정보(또는, 제2 정보)는 상기 Segment에 접근할 수 있는 Uniform Resource Locator(URL)을 지시하는 Segment URL 정보 , 상기 Representation을 식별하는 Representation ID 정보, 및 상기 Representation을 전송하는 전송 세션에 참가할지 여부를 지시하는 Transaction 정보 중에서 적어도 하나를 포함할 수 있다.
상기 Segment URL 정보는 상기 Representation을 식별하는 Representation ID 및 상기 Segment의 번호를 식별하는 segment number 중에서 적어도 하나를 포함 할 수 있다.
상기 Transaction 정보는 상기 전송 세션에 참가할 것을 지시하는 Start Transaction 및 상기 전송 세션을 종료할 것을 지시하는 Stop Transaction 중에서 적어도 하나를 포함할 수 있다.
또한, 송신기는, 트랜스미터를 이용하여, 상기 적어도 하나의 딜리버리 오브젝트 및 상기 시그널링 정보를 단방향 채널(unidirectional channel)을 통해서 전송 할 수 있다(CS61500).
본 발명의 다른 실시예에 따른 방송 신호 송신 방법은 전술한 방송 신호 송신 장치의 기능을 모두 포함할 수 있다. 또한, 시그널링 정보에 대한 구체적인 내용은 전술한 내용을 모두 포함할 수 있다.
도 59는 본 발명의 일 실시예에 따른 방송 신호 수신 방법의 흐름도를 나타낸 도면이다.
도면을 참조하면, 수신기(또는, 방송 신호 수신 장치)는, 시그널링 파서를 이용하여, 서비스의 적어도 하나의 콘텐트 컴포넌트의 발견 및 획득을 제공하는 시그널링 정보 를 추출할 수 있다(CS62100).
상기 시그널링 정보는 상기 서비스의 상기 적어도 하나의 콘텐트 컴포넌트를 전송하는 전송 세션 및 상기 전송 세션을 통해 전송되는 적어도 하나의 딜리버리 오브젝트에 관한 제1 정보를 포함 할 수 있다.
상기 제1 정보는 상기 딜리버리 오브젝트를 전송하는 전송 프로토콜 패킷의 페이로드의 첫번째 바이트의 위치를 지시하는 오프셋 정보 , 상기 적어도 하나의 딜리버리 오브젝트가 스트리밍 서비스를 전송하는지 여부를 지시하는 실시간 정보 , 상기 전송 세션을 Transport Session Identifier(TSI)에 매핑시키고 상기 딜리버리 오브젝트를 Transport Object Identifier(TOI)에 매핑시키는 매핑 정보 , 상기 딜리버리 오브젝트에 대한 시간 정보를 지시하는 타임스탬프 정보 중에서 적어도 하나를 더 포함할 수 있다.
또한, 상기 시그널링 정보는 상기 서비스에 해당하는 DASH Media Presentation의 디스크립션을 포함하는 제2 정보 를 더 포함할 수 있다.
예를 들어, 제2 정보는 Media Presentation Description(MPD)일 수 있다. 제 2정보는 Segment URL 정보, Representation ID 정보, 및/또는 Transaction 정보 중에서 적어도 하나를 포함할 수 있다
Segment URL 정보는 상기 Segment에 접근할 수 있는 Uniform Resource Locator(URL)을 지시 할 수 있다. 상기 Segment URL 정보는 상기 Representation을 식별하는 Representation ID 및 상기 Segment의 번호를 식별하는 segment number 중에서 적어도 하나를 포함 할 수 있다.
Representation ID 정보는 상기 Representation을 식별할 수 있다.
Transaction 정보는 상기 Representation을 전송하는 전송 세션에 참가할지 여부를 지시할 수 있다. 상기 Transaction 정보는 상기 전송 세션에 참가할 것을 지시하는 Start Transaction 및 상기 전송 세션을 종료할 것을 지시하는 Stop Transaction 중에서 적어도 하나를 포함할 수 있다.
상기 시그널링 정보는 제1정보 및/또는 제2 정보 중에서 적어도 하나를 포함할 수 있다. 또한, 시그널링 정보는 LCT 패킷의 헤더 및 LCT 패킷의 헤더 Extension의 내용을 모두 포함할 수 있다. 또한, 시그널링 정보에 대한 구체적인 내용은 전술한 내용을 모두 포함할 수 있다.
또한, 수신기는, 딜리버리 오브젝트 프로세서를 이용하여, 상기 시그널링 정보를 기초로 상기 적어도 하나의 딜리버리 오브젝트를 복원 할 수 있다(CS62300).
상기 딜리버리 오브젝트는 상기 서비스의 적어도 하나의 콘텐트 컴포넌트에 포함되며 , 독립적으로 복원되고(recovered individually) 될 수 있다.
또한, 수신기는, 미디어 디코더를 이용하여, 상기 적어도 하나의 딜리버리 오브젝트를 디코딩 할 수 있다(CS62500).
본 발명의 일 실시예에 따른 방송 신호 수신 방법은 전술한 방송 신호 수신 장치의 기능을 모두 포함할 수 있다. 또한, 시그널링 정보에 대한 구체적인 내용은 전술한 내용을 모두 포함할 수 있다.
도 60는 본 발명의 일 실시예에 따른 딜리버리 오브젝트를 복원하는 흐름도를 나타낸 도면이다.
이하에서는 수신기(또는 방송 신호 수신 장치)가 적어도 하나의 딜리버리 오브젝트를 복원하는 과정을 간략하게 설명한다.
수신기는, DASH 클라이언트를 이용하여, 재생(present)하고자 하는 Representation을 결정 하고 상기 딜리버리 오브젝트와 관련된 Segment를 요청 할 수 있다(CS62310).
그리고 나서, 수신기는, DTV 제어 엔진을 이용하여, 상기 시그널링 정보의 상기 Representation과 상기 콘텐트 컴포넌트의 Transport Session Identifier(TSI)를 매핑 할 수 있다(CS62330).
그리고 나서, 수신기는, 전송 프로토콜 클라이언트를 이용하여, 상기 TSI를 기초로 상기 전송 세션으로부터 적어도 하나의 딜리버리 오브젝트를 복원 할 수 있다(CS62350).
또한, 수신기는 Segment URL 정보를 기초로 Representation을 스위칭할 수 있다.
Representation은 제1 Representation 및 제2 Representation을 포함할 수 있다.
제1 Representation에 관련된 Segment URL 정보와 제2 Representation에 관련된 Segment URL 정보가 다르면, 수신기는, DASH 클라이언트를 이용하여, 재생(present)하고자 하는 제2 Representation을 결정할 수 있다.
그리고 나서, 수신기는, DTV 제어 엔진을 이용하여, 시그널링 정보의 제2 Representation과 콘텐트 컴포넌트의 TSI를 매핑할 수 있다.
그리고 나서, 수신기는, 전송 프로토콜 클라이언트를 이용하여, 미리 정해진 타임 포인트부터 제1 Representation에서 제2 Representation으로 Representation을 스위칭 할 수 있다.
또한, 수신기는 Representation ID 정보를 기초로 Representation을 스위칭할 수 있다.
제1 Representation을 식별하는 Representation ID 정보와 제2 Representation을 식별하는 Representation ID 정보가 다르면, 수신기는, DASH 클라이언트를 이용하여, 재생(present)하고자 하는 제2 Representation을 결정할 수 있다.
그리고 나서, 수신기는, DTV 제어 엔진을 이용하여, 상기 시그널링 정보의 상기 제2 Representation과 상기 콘텐트 컴포넌트의 상기 TSI를 매핑할 수 있다.
그리고 나서, 수신기는, 전송 프로토콜 클라이언트를 이용하여, 미리 정해진 타임 포인트부터 제1 Representation에서 제2 Representation으로 Representation을 스위칭할 수 있다.
본 발명의 일 실시예에 따른 딜리버리 오브젝트를 복원하는 방법은 전술한 방송 신호 수신 장치의 기능을 모두 포함할 수 있다. 또한, 시그널링 정보에 대한 구체적인 내용은 전술한 내용을 모두 포함할 수 있다.
모듈, 처리부, 디바이스 또는 유닛은 메모리(또는 저장 유닛)에 저장된 연속된 수행과정들을 실행하는 프로세서들일 수 있다. 전술한 실시예에 기술된 각 단계들은 하드웨어/프로세서들에 의해 수행될 수 있다. 전술한 실시예에 기술된 각 모듈/블록/유닛들은 하드웨어/프로세서로서 동작할 수 있다. 또한, 본 발명이 제시하는 방법들은 코드로서 실행될 수 있다. 이 코드는 프로세서가 읽을 수 있는 저장매체에 쓰여질 수 있고, 따라서 장치(apparatus)가 제공하는 프로세서에 의해 읽혀질 수 있다.
본 발명에 따른 방법 발명은 모두 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.
상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.
본 명세서에서 장치 및 방법 발명이 모두 언급되고, 장치 및 방법 발명 모두의 설명은 서로 보완하여 적용될 수 있다.
발명의 실시를 위한 형태는 전술한 바와 같이, 발명의 실시를 위한 최선의 형태로 상술되었다.
본 발명은 방송 산업 전반에서 이용 가능하다.

Claims (15)

  1. 서비스의 적어도 하나의 콘텐트 컴포넌트의 발견 및 획득을 제공하는 시그널링 정보 를 추출하는 시그널링 파서(Signaling Parser);
    상기 시그널링 정보를 기초로 적어도 하나의 딜리버리 오브젝트를 복원하는 딜리버리 오브젝트 프로세서(Delivery Object Processor) ; 및
    상기 적어도 하나의 딜리버리 오브젝트를 디코딩하는 미디어 디코더(Media Decoder)를
    포함하는 방송 신호 수신 장치.
  2. 제 1 항에 있어서,
    상기 시그널링 정보는 상기 서비스의 상기 적어도 하나의 콘텐트 컴포넌트를 전송하는 전송 세션 및 상기 전송 세션을 통해 전송되는 적어도 하나의 딜리버리 오브젝트에 관한 제1 정보, 및 상기 서비스에 해당하는 DASH Media Presentation의 디스크립션을 포함하는 제2 정보 중에서 적어도 하나를 포함하고; 및
    상기 딜리버리 오브젝트는 상기 서비스의 적어도 하나의 콘텐트 컴포넌트에 포함되며, 독립적으로 복원되고(recovered individually),
    상기 딜리버리 오브젝트는 파일, 상기 파일의 일부(a part of the file), 상기 파일의 그룹(a group of the file), Hyper Text Transfer Protocol(HTTP) Entity, 및 상기 HTTP Entity의 그룹 중에서 하나인 방송 신호 수신 장치.
  3. 제 2 항에 있어서,
    상기 딜리버리 오브젝트 프로세서는
    재생(present)하고자 하는 Representation을 결정 하고 상기 딜리버리 오브젝트와 관련된 Segment를 요청하는 DASH 클라이언트 ;
    상기 시그널링 정보의 상기 Representation과 상기 콘텐트 컴포넌트의 Transport Session Identifier(TSI)를 매핑 하는 DTV 제어 엔진; 및
    상기 TSI를 기초로 상기 전송 세션으로부터 적어도 하나의 딜리버리 오브젝트를 복원 하는 전송 프로토콜 클라이언트
    를 더 포함하는 방송 신호 수신 장치.
  4. 제 3 항에 있어서,
    상기 제2 정보는 상기 Segment에 접근할 수 있는 Uniform Resource Locator(URL)을 지시하는 Segment URL 정보를 포함 하는 방송 신호 수신 장치.
  5. 제 4 항에 있어서,
    상기 Segment URL 정보는 상기 Representation을 식별하는 Representation ID 및 상기 Segment의 번호를 식별하는 segment number 중에서 적어도 하나를 포함 하는 방송 신호 수신 장치.
  6. 제 5 항에 있어서,
    상기 Representation은 제1 Representation 및 제2 Representation을 포함하고,
    상기 전송 프로토콜 클라이언트는 미리 정해진 타임 포인트부터 제1 Representation에서 제2 Representation으로 Representation을 스위칭하는 방송 신호 수신 장치.
  7. 제 6 항에 있어서,
    상기 제1 Representation에 관련된 Segment URL 정보와 상기 제2 Representation에 관련된 Segment URL 정보가 다르면,
    상기 DASH 클라이언트는 재생(present)하고자 하는 제2 Representation을 결정하고; 및
    상기 DTV 제어 엔진은 상기 시그널링 정보의 상기 제2 Representation과 상기 콘텐트 컴포넌트의 상기 TSI를 매핑하는 방송 신호 수신 장치.
  8. 제 3 항에 있어서,
    상기 제2 정보는 상기 Representation을 식별하는 Representation ID 정보 및 상기 Representation을 전송하는 전송 세션에 참가할지 여부를 지시하는 Transaction 정보 중에서 적어도 하나를 포함하는 방송 신호 수신 장치.
  9. 제 8 항에 있어서,
    상기 Transaction 정보는 상기 전송 세션에 참가할 것을 지시하는 Start Transaction 및 상기 전송 세션을 종료할 것을 지시하는 Stop Transaction 중에서 적어도 하나를 포함하는 방송 신호 수신 장치.
  10. 제 9 항에 있어서,
    Representation은 제1 Representation 및 제2 Representation을 포함하고,
    상기 전송 프로토콜 클라이언트는 미리 정해진 타임 포인트부터 제1 Representation에서 제2 Representation으로 Representation을 스위칭하는 방송 신호 수신 장치.
  11. 제 10 항에 있어서,
    상기 제1 Representation을 식별하는 상기 Representation ID 정보와 상기 제2 Representation을 식별하는 상기 Representation ID 정보가 다르면,
    상기 DASH 클라이언트는 재생(present)하고자 하는 제2 Representation을 결정하고; 및
    상기 DTV 제어 엔진은 상기 시그널링 정보의 상기 제2 Representation과 상기 콘텐트 컴포넌트의 상기 TSI를 매핑하는 방송 신호 수신 장치.
  12. 서비스의 적어도 하나의 콘텐트 컴포넌트에 포함되는 적어도 하나의 딜리버리 오브젝트를 생성하는 딜리버리 오브젝트 제너레이터(Delivery Object Generator);
    상기 서비스 및 상기 적어도 하나의 콘텐트 컴포넌트의 발견 및 획득을 제공하는 시그널링 정보 를 생성하는 시그널링 인코더(Signaling Encoder); 및
    상기 적어도 하나의 딜리버리 오브젝트 및 상기 시그널링 정보를 단방향 채널(unidirectional channel)을 통해서 전송하는 트랜스미터 (Transmitter)를
    포함하는 방송 신호 송신 장치.
  13. 제 12 항에 있어서,
    상기 시그널링 정보는 상기 서비스의 상기 적어도 하나의 콘텐트 컴포넌트를 전송하는 전송 세션 및 상기 전송 세션을 통해 전송되는 적어도 하나의 딜리버리 오브젝트에 관한 제1 정보 및 상기 서비스에 해당하는 DASH Media Presentation의 디스크립션을 포함하는 제2 정보 중에서 적어도 하나를 포함하고; 및
    상기 딜리버리 오브젝트는 독립적으로 복원되고(recovered individually) ,
    상기 딜리버리 오브젝트는 파일, 상기 파일의 일부(a part of the file), 상기 파일의 그룹(a group of the file), Hyper Text Transfer Protocol(HTTP) Entity, 및 상기 HTTP Entity의 그룹 중에서 하나인 방송 신호 송신 장치.
  14. 제 13 항에 있어서,
    상기 제2 정보는 상기 Segment에 접근할 수 있는 Uniform Resource Locator(URL)을 지시하는 Segment URL 정보, 상기 Representation을 식별하는 Representation ID 정보, 및 상기 Representation을 전송하는 전송 세션에 참가할지 여부를 지시하는 Transaction 정보 중에서 적어도 하나를 포함하는 방송 신호 송신 장치.
  15. 제 14 항에 있어서,
    상기 Segment URL 정보는 상기 Representation을 식별하는 Representation ID 및 상기 Segment의 번호를 식별하는 segment number 중에서 적어도 하나를 포함 하는 방송 신호 송신 장치.
PCT/KR2015/005085 2014-05-21 2015-05-21 방송 신호 송/수신 처리 방법 및 장치 WO2015178690A1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP15796735.7A EP3148196A4 (en) 2014-05-21 2015-05-21 Broadcast signal transmitting/receiving method and device
CA2947833A CA2947833C (en) 2014-05-21 2015-05-21 Broadcast signal transmitting/receiving method and device
KR1020167017187A KR101814403B1 (ko) 2014-05-21 2015-05-21 방송 신호 송/수신 처리 방법 및 장치
CN201580025850.XA CN106464929B (zh) 2014-05-21 2015-05-21 广播信号发送/接收方法和装置
US15/305,301 US20170055046A1 (en) 2014-05-21 2015-05-21 Broadcast signal transmitting/receiving method and device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462001613P 2014-05-21 2014-05-21
US62/001,613 2014-05-21

Publications (1)

Publication Number Publication Date
WO2015178690A1 true WO2015178690A1 (ko) 2015-11-26

Family

ID=54554286

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/005085 WO2015178690A1 (ko) 2014-05-21 2015-05-21 방송 신호 송/수신 처리 방법 및 장치

Country Status (6)

Country Link
US (1) US20170055046A1 (ko)
EP (1) EP3148196A4 (ko)
KR (1) KR101814403B1 (ko)
CN (1) CN106464929B (ko)
CA (1) CA2947833C (ko)
WO (1) WO2015178690A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10666961B2 (en) 2016-01-08 2020-05-26 Qualcomm Incorporated Determining media delivery event locations for media transport

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015199460A1 (ko) * 2014-06-25 2015-12-30 삼성전자 주식회사 통신 시스템에서 프레임 송수신 방법 및 장치
EP3220653B1 (en) * 2014-11-13 2019-12-04 Sony Corporation Reception device, reception method, transmission device, and transmission method for layer-coded services using route sessions
US10298647B2 (en) * 2015-02-26 2019-05-21 Qualcomm Incorporated Delay compensation for broadcast adaptive bitrate streaming
JP6529900B2 (ja) * 2015-12-15 2019-06-12 株式会社東芝 多重化装置および多重化方法
CA3021173A1 (en) * 2016-04-22 2017-10-26 Sharp Kabushiki Kaisha Systems and methods for signaling of an identifier of a data channel
KR102263223B1 (ko) * 2017-03-14 2021-06-09 삼성전자 주식회사 전자장치 및 그 제어방법
CN110915180B (zh) * 2017-05-16 2022-06-28 瑞典爱立信有限公司 低时延媒体摄取系统、设备和方法
US11582125B2 (en) * 2019-10-01 2023-02-14 Qualcomm Incorporated Repair mechanism for adaptive bit rate multicast
US12101526B2 (en) * 2019-12-11 2024-09-24 Saturn Licensing Llc Reducing latency during service change and improving robustness in advanced television systems committee (ATSC) 3.0 system
US11228796B2 (en) * 2020-01-07 2022-01-18 Tencent America LLC Pattern addressing for session-based dash operations

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080005063A (ko) * 2006-07-07 2008-01-10 삼성전자주식회사 Ipdc 서비스를 제공하는 장치 및 방법 및 ipdc서비스를 처리하는 장치 및 방법
KR20080084756A (ko) * 2007-03-16 2008-09-19 엘지전자 주식회사 오디오 신호 처리 방법 및 장치
KR20100081714A (ko) * 2009-01-07 2010-07-15 엘지전자 주식회사 디지털 방송 신호를 처리하는 방법 및 장치
WO2013042902A1 (ko) * 2011-09-23 2013-03-28 엘지전자 주식회사 방송 서비스 수신 방법 및 그 수신 장치
US20130103849A1 (en) * 2011-09-21 2013-04-25 Qualcomm Incorporated Signaling characteristics of segments for network streaming of media data

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006135201A1 (en) * 2005-06-15 2006-12-21 Electronics And Telecommunications Research Institute Wireless communication system with protocol architecture for improving latency
KR100848273B1 (ko) * 2007-07-03 2008-07-25 삼성전자주식회사 디지털 방송수신기의 파일 처리 장치 및 방법
JP5483082B2 (ja) * 2010-01-06 2014-05-07 ソニー株式会社 受信装置及び方法、プログラム、並びに受信システム
CA2816621A1 (en) * 2010-11-02 2012-05-10 Lg Electronics Inc. Method for adaptive streaming that transmits/receives media content according to a network bandwidth and device for adaptive streaming using the same
US20130294747A1 (en) * 2011-01-14 2013-11-07 Sharp Kabushiki Kaisha Content playing device, content playing method, distribution system, content playing program, recording medium, and data structure
EP2805463A1 (en) * 2012-01-17 2014-11-26 Telefonaktiebolaget L M Ericsson (publ) Method for sending respectively receiving a media stream
US9438883B2 (en) * 2012-04-09 2016-09-06 Intel Corporation Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content
WO2014063730A1 (en) * 2012-10-24 2014-05-01 Huawei Technologies Co., Ltd. Communication receiver
US20150032845A1 (en) * 2013-07-26 2015-01-29 Samsung Electronics Co., Ltd. Packet transmission protocol supporting downloading and streaming
KR101838082B1 (ko) * 2013-11-01 2018-03-13 엘지전자 주식회사 방송 신호를 송신하는 장치, 방송 신호를 수신하는 장치, 방송 신호를 송신하는 방법 및 방송 신호를 수신하는 방법
CA2944773A1 (en) * 2014-04-11 2015-10-15 Sony Corporation Reception apparatus, reception method, transmission apparatus, and transmission method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080005063A (ko) * 2006-07-07 2008-01-10 삼성전자주식회사 Ipdc 서비스를 제공하는 장치 및 방법 및 ipdc서비스를 처리하는 장치 및 방법
KR20080084756A (ko) * 2007-03-16 2008-09-19 엘지전자 주식회사 오디오 신호 처리 방법 및 장치
KR20100081714A (ko) * 2009-01-07 2010-07-15 엘지전자 주식회사 디지털 방송 신호를 처리하는 방법 및 장치
US20130103849A1 (en) * 2011-09-21 2013-04-25 Qualcomm Incorporated Signaling characteristics of segments for network streaming of media data
WO2013042902A1 (ko) * 2011-09-23 2013-03-28 엘지전자 주식회사 방송 서비스 수신 방법 및 그 수신 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3148196A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10666961B2 (en) 2016-01-08 2020-05-26 Qualcomm Incorporated Determining media delivery event locations for media transport

Also Published As

Publication number Publication date
US20170055046A1 (en) 2017-02-23
EP3148196A1 (en) 2017-03-29
CN106464929B (zh) 2019-11-01
CA2947833C (en) 2018-11-20
EP3148196A4 (en) 2017-11-15
KR101814403B1 (ko) 2018-01-04
CN106464929A (zh) 2017-02-22
CA2947833A1 (en) 2015-11-26
KR20160093038A (ko) 2016-08-05

Similar Documents

Publication Publication Date Title
WO2015178603A1 (ko) 방송 전송 장치, 방송 전송 장치의 동작 방법. 방송 수신 장치 및 방송 수신 장치의 동작 방법
WO2016080803A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2015178690A1 (ko) 방송 신호 송/수신 처리 방법 및 장치
WO2015160137A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016010404A1 (ko) 방송 송신 장치, 방송 송신 장치의 데이터 처리 방법, 방송 수신 장치 및 방송 수신 장치의 데이터 처리 방법
WO2016060422A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016076569A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016028119A1 (ko) 방송 신호 송신 방법, 방송 신호 송신 장치, 방송 신호 수신 방법 및 방송 신호 수신 장치
WO2016093537A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016076623A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016140486A1 (ko) 방송 신호 송수신 장치 및 방법
WO2016117939A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016093576A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2015105391A1 (en) Apparatuses and methods for transmitting or receiving a broadcast content via one or more networks
WO2016076654A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016111526A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016122267A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016144072A1 (ko) 방송 신호 송수신 장치 및 방법
WO2015156625A1 (ko) 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법
WO2015126223A1 (en) Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
WO2015156607A1 (ko) 방송 신호 송/수신 처리 방법 및 장치
WO2015167200A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016080721A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016064151A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016129869A1 (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: 15796735

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20167017187

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15305301

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2947833

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2015796735

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015796735

Country of ref document: EP