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

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

Info

Publication number
WO2016105090A1
WO2016105090A1 PCT/KR2015/014107 KR2015014107W WO2016105090A1 WO 2016105090 A1 WO2016105090 A1 WO 2016105090A1 KR 2015014107 W KR2015014107 W KR 2015014107W WO 2016105090 A1 WO2016105090 A1 WO 2016105090A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
information
data
service
signaling
Prior art date
Application number
PCT/KR2015/014107
Other languages
English (en)
French (fr)
Inventor
송영훈
유휘상
안승주
문경수
이진원
염헤경
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to US15/532,457 priority Critical patent/US20170272691A1/en
Publication of WO2016105090A1 publication Critical patent/WO2016105090A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/28Arrangements for simultaneous broadcast of plural pieces of information
    • H04H20/33Arrangements for simultaneous broadcast of plural pieces of information by plural channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/40Arrangements for broadcast specially adapted for accumulation-type receivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/42Arrangements for resource management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
    • 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 MPEG 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/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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition

Definitions

  • the digital broadcasting system may provide high definition (HD) images, multichannel audio, and various additional services.
  • HD high definition
  • data transmission efficiency for a large amount of data transmission, robustness of a transmission / reception network, and network flexibility in consideration of a mobile receiving device should be improved.
  • the method for receiving a broadcast signal comprises the steps of: receiving the broadcast signal for transmitting a plurality of sessions corresponding to a first channel and a second channel, the first channel and Opening the plurality of sessions corresponding to the second channel together, acquiring broadcast service data included in the plurality of sessions, at least one corresponding to the first channel of the opened plurality of sessions Decoding broadcast service data included in a session; and when the first channel is switched to the second channel, the broadcast service included in at least one session corresponding to the second channel among the plurality of open sessions. Decoding the data.
  • the present invention can achieve transmission flexibility by transmitting various broadcast services through the same radio frequency (RF) signal bandwidth.
  • RF radio frequency
  • the present invention it is possible to provide a broadcast signal transmission and reception method and apparatus capable of receiving a digital broadcast signal without errors even when using a mobile reception device or in an indoor environment.
  • the present invention can effectively support the next generation broadcast service in an environment supporting the next generation hybrid broadcast using the terrestrial broadcast network and the Internet network.
  • FIG. 3 is a diagram illustrating an SLT according to an embodiment of the present invention.
  • FIG. 7 illustrates a USBD / USD fragment for MMT according to an embodiment of the present invention.
  • FIG. 20 illustrates a BICM block according to another embodiment of the present invention.
  • 21 is a diagram illustrating a process of bit interleaving of a PLS according to an embodiment of the present invention.
  • 26 illustrates PLS2 data according to another embodiment of the present invention.
  • 29 illustrates time interleaving according to an embodiment of the present invention.
  • FIG. 30 illustrates the basic operation of a twisted row-column block interleaver according to an embodiment of the present invention.
  • 40 is a block diagram including the second embodiment of the structure of the hybrid time deinterleaver.
  • FIG. 43 is a diagram illustrating a media segment configuration of MPEG-DASH to which a data structure is applied according to an embodiment of the present invention.
  • 46 is a diagram illustrating a structure of a packet including object type information according to another embodiment of the present invention.
  • 48 is a diagram showing the structure of a packet including type information according to another embodiment of the present invention.
  • 53 is a diagram illustrating a structure of a broadcast signal receiving apparatus using packet information according to an embodiment of the present invention.
  • 56 is a diagram showing the structure of a packet including priority information according to another embodiment of the present invention.
  • 57 is a diagram showing the structure of a packet including priority information according to another embodiment of the present invention.
  • 58 is a diagram showing the structure of a packet including offset information according to another embodiment of the present invention.
  • RAP random access point
  • FIG. 62 is a diagram illustrating a structure of a broadcast signal receiving apparatus according to an embodiment of the present invention.
  • FIG. 63 is a diagram showing the structure of a broadcast signal receiving apparatus according to another embodiment of the present invention.
  • 64 is a diagram illustrating a method of configuring an HTTP entity header according to another embodiment of the present invention.
  • 65 is a diagram illustrating a structure of a broadcast signal receiving apparatus according to another embodiment of the present invention.
  • 67 is a structural diagram of a receiver using a pull method according to an embodiment of the present invention.
  • 69 is a structural diagram of a receiver using a pull method according to another embodiment of the present invention.
  • 70 shows a flowchart of the receiver operation using the pull method described above.
  • 71 is a view illustrating CMT and MPD in which a flag is defined according to an embodiment of the present invention.
  • 72 is a flowchart illustrating an operation of a receiver according to a pull method according to an embodiment of the present invention.
  • 73 is a configuration diagram of a system based on MPEG DASH.
  • 76 is a view illustrating a relationship between a channel and a PLP within a frequency range allocated to a broadcast transmission system according to an embodiment of the present invention.
  • 77 is a view showing a method of switching a channel by opening a session of PLPs within the same frequency range in a broadcast system according to an embodiment of the present invention.
  • 78 is a view illustrating a method of switching a channel by opening a session of PLPs within another frequency range in a broadcasting system according to an embodiment of the present invention.
  • 80 is a flowchart illustrating a procedure of receiving and playing a multimedia packet of a receiver to which a method for improving channel switching speed according to an embodiment of the present invention is applied.
  • 81 is a flowchart illustrating a procedure of playing DASH media data of a receiver to which the channel switching speed improving method according to an embodiment of the present invention is applied.
  • 82 is a view illustrating a method in which a receiver stores segments according to an embodiment of the present invention to improve channel switching speed.
  • FIG. 84 is a view illustrating a method for improving a channel switching speed by a receiver storing segments received from an Inter Http Server or a Packet Filter according to an embodiment of the present invention.
  • FIG. 1 is a diagram illustrating a receiver protocol stack according to an embodiment of the present invention.
  • the first method may be to transmit MPUs (Media Processing Units) using MMTP protocol (MMTP) based on MPEG Media Transport (MMT).
  • the second method may be to transmit DASH segments using Real Time Object Delivery over Unidirectional Transport (ROUTE) based on MPEG DASH.
  • MPUs Media Processing Units
  • MMT MPEG Media Transport
  • ROUTE Real Time Object Delivery over Unidirectional Transport
  • Non-time content including NRT media, EPG data, and other files, is delivered to ROUTE.
  • the signal may be delivered via MMTP and / or ROUTE, while bootstrap signaling information is provided by a service list table (SLT).
  • SLT service list table
  • hybrid service delivery MPEG DASH over HTTP / TCP / IP is used on the broadband side.
  • Media files in ISO base media file format (BMFF) are used as de-encapsulation and synchronization formats for delivery, broadcast, and broadband delivery.
  • BMFF ISO base media file format
  • hybrid service delivery may refer to a case in which one or more program elements are delivered through a broadband path.
  • the part transmitted through SLT and MMTP and the part transmitted through ROUTE may be encapsulated again in the data link layer after being processed in the UDP and IP layers.
  • the link layer will be described later.
  • the broadcast data processed in the link layer may be multicast as a broadcast signal through a process such as encoding / interleaving in the physical layer.
  • the broadband protocol stack portion may be transmitted through HTTP as described above.
  • Data formatted in the form of a DASH segment, information such as signaling information, and NRT may be transmitted through HTTP.
  • the signaling information shown here may be signaling information about a service.
  • These data can be processed over the TCP and IP layers and then encapsulated at the link layer. In some embodiments, some or all of TCP, IP, and a link layer may be omitted. Subsequently, the processed broadband data may be unicast to broadband through processing for transmission in the physical layer.
  • SLT service layer signaling
  • Service signaling provides service discovery and description information and includes two functional components. These are bootstrap signaling and SLS via SLT. These represent the information needed to discover and obtain user services. SLT allows the receiver to build a basic list of services and bootstrap the discovery of SLS for each service.
  • SLT enables very fast acquisition of basic service information.
  • SLS allows the receiver to discover and access the service and its content components. Details of SLT and SLS will be described later.
  • the SLT may also have access information for accessing the MMT signaling component carried by the MMTP. That is, the SLT may bootstrap to the SLS according to the MMTP. This SLS may be delivered by an MMTP signaling message defined in MMT. This SLS can be used to access the streaming service component (MPU) corresponding to the desired service. As described above, in the present invention, the NRT service component is delivered through the ROUTE protocol, and the SLS according to the MMTP may also include information for accessing the same. In broadband delivery, SLS is carried over HTTP (S) / TCP / IP.
  • S HTTP
  • TCP Transmission Control Protocol
  • FIG. 3 is a diagram illustrating an SLT according to an embodiment of the present invention.
  • the service may be signaled as one of two basic types.
  • the first type is a linear audio / video or audio only service that can have app-based enhancements.
  • the second type is a service whose presentation and configuration are controlled by a download application executed by the acquisition of a service. The latter can also be called an app-based service.
  • the content component of the service may be delivered by either (1) one or more ROUTE / LCT sessions or (2) one or more MMTP sessions, but not both. have.
  • the use of both MMTP and ROUTE for streaming media components in the same service may not be allowed.
  • the content component of the service may be delivered by one or more ROUTE / LCT sessions.
  • an LCT session For delivery of NRT user service or system metadata, an LCT session carries a file based content item.
  • These content files may consist of continuous (timed) or discrete (non-timed) media components of an NRT service, or metadata such as service signaling or ESG fragments.
  • Delivery of system metadata, such as service signaling or ESG fragments, can also be accomplished through the signaling message mode of the MMTP.
  • Each service is identified by two types of service identifiers. One is the only compact form used in SLT and only within the broadcast domain, and the other is the only form in the world used in SLS and ESG.
  • ROUTE sessions are identified by source IP address, destination IP address, and destination port number.
  • An LCT session (associated with the service component it delivers) is identified by a transport session identifier (TSI) that is unique within the scope of the parent ROUTE session. Properties that are common to LCT sessions and that are unique to individual LCT sessions are given in the ROUTE signaling structure called service-based transport session instance description (S-TSID), which is part of service layer signaling.
  • S-TSID service-based transport session instance description
  • Each LCT session is delivered through one PLP. According to an embodiment, one LCT session may be delivered through a plurality of PLPs.
  • Different LCT sessions of a ROUTE session may or may not be included in different PLPs.
  • the ROUTE session may be delivered through a plurality of PLPs.
  • Properties described in the S-TSID include TSI values and PLPIDs for each LCT session, descriptors for delivery objects / files, and application layer FEC parameters.
  • LLS Low Level Signaling
  • the signaling information carried in the payload of an IP packet with a well-known address / port dedicated to this function is called LLS.
  • This IP address and port number may be set differently according to the embodiment.
  • the LLS may be delivered in an IP packet with an address of 224.0.23.60 and a destination port of 4937 / udp.
  • the LLS may be located at a portion represented by "SLT" on the aforementioned protocol stack.
  • the LLS may be transmitted through a separate physical channel on a signal frame without processing the UDP / IP layer.
  • UDP / IP packets carrying LLS data may be formatted in the form of LLS tables.
  • the first byte of every UDP / IP packet carrying LLS data may be the beginning of the LLS table.
  • the maximum length of all LLS tables is limited to 65,507 bytes by the largest IP packet that can be delivered from the physical layer.
  • the LLS table may include an LLS table ID field for identifying a type of the LLS table and an LLS table version field for identifying a version of the LLS table. According to the value indicated by the LLS table ID field, the LLS table may include the aforementioned SLT or include a RRT (Rating Region Table). The RRT may have information about a content advisory rating.
  • the LLS may be signaling information supporting bootstrapping and fast channel scan of service acquisition by the receiver, and the SLT may be a table of signaling information used to build a basic service listing and provide bootstrap discovery of the SLS.
  • the function of the SLT is similar to the program association table (PAT) in the MPEG-2 system and the fast information channel (FIC) found in the ATSC system. For a receiver undergoing a broadcast emission for the first time, this is the starting point.
  • SLT supports fast channel scan that allows the receiver to build a list of all the services it can receive by channel name, channel number, and so on.
  • the SLT also provides bootstrap information that allows the receiver to discover the SLS for each service. For services delivered in ROUTE / DASH, the bootstrap information includes the destination IP address and destination port of the LCT session carrying the SLS. For services delivered to the MMT / MPU, the bootstrap information includes the destination IP address and destination port of the MMTP session carrying the SLS.
  • the SLT supports service acquisition and fast channel scan by including the following information about each service in the broadcast stream.
  • the SLT may include the information needed to allow the presentation of a list of services that are meaningful to the viewer and may support up / down selection or initial service selection via channel number.
  • the SLT may contain the information necessary to locate the SLS for each listed service. That is, the SLT may include access information about a location for delivering the SLS.
  • the SLT according to the exemplary embodiment of the present invention shown is represented in the form of an XML document having an SLT root element.
  • the SLT may be expressed in a binary format or an XML document.
  • the SLT root elements of the illustrated SLT may include @bsid, @sltSectionVersion, @sltSectionNumber, @totalSltSectionNumbers, @language, @capabilities, InetSigLoc, and / or Service.
  • the SLT root element may further include @providerId. In some embodiments, the SLT root element may not include @language.
  • Service elements are @serviceId, @SLTserviceSeqNumber, @protected, @majorChannelNo, @minorChannelNo, @serviceCategory, @shortServiceName, @hidden, @slsProtocolType, BroadcastSignaling, @slsPlpId, @slsDestinationIpAddress, @slsDestinationUdpPort, @slslsSourceItoAddressProtoMin @serviceLanguage, @broadbandAccessRequired, @capabilities and / or InetSigLoc.
  • @providerId is the index of the broadcaster using some or all of this broadcast stream. This is an optional property. The absence of it means that this broadcast stream is being used by one broadcaster. @providerId is not shown in the figure.
  • @sltSectionVersion may be the version number of the SLT section.
  • the sltSectionVersion can be incremented by one when there is a change in the information delivered in the slt. When it reaches the maximum value it is shifted to zero.
  • @sltSectionNumber can be counted from 1 as the number of the corresponding section of the SLT. That is, it may correspond to the section number of the corresponding SLT section. If this field is not used, it may be set to a default value of 1.
  • @language may indicate the main language of the service included in the case of the slt. According to an embodiment, this field value may be in the form of a three character language code defined in ISO. This field may be omitted.
  • InetSigLoc can provide a URL telling the receiver where to get all the required types of data from an external server via broadband.
  • This element may further include @urlType as a subfield. According to the value of this @urlType field, the type of URL provided by InetSigLoc may be indicated. According to an embodiment, when the value of the @urlType field is 0, InetSigLoc may provide a URL of a signaling server. If the value of the @urlType field is 1, InetSigLoc can provide the URL of the ESG server. If the @urlType field has any other value, it can be reserved for future use.
  • @serviceId may be an integer number uniquely identifying the corresponding service within a range of the corresponding broadcast area. In some embodiments, the scope of @serviceId may be changed.
  • @SLTserviceSeqNumber may be an integer number indicating a sequence number of SLT service information having the same service ID as the serviceId property. The SLTserviceSeqNumber value can start at 0 for each service and can be incremented by 1 whenever any property changes in the corresponding Service element. If no property value changes compared to the previous service element with a specific value of ServiceID, SLTserviceSeqNumber will not be incremented. The SLTserviceSeqNumber field is shifted to zero after reaching the maximum value.
  • @protected is flag information and may indicate whether one or more components for meaningful playback of the corresponding service are protected. If set to "1" (true), one or more components required for a meaningful presentation are protected. If set to "0" (false), the corresponding flag indicates that none of the components required for meaningful presentation of the service are protected. The default value is false.
  • @majorChannelNo is an integer value indicating the "major" channel number of the service.
  • One embodiment of this field may range from 1 to 999.
  • @minorChannelNo is an integer value indicating the "minor" channel number of the service.
  • One embodiment of this field may range from 1 to 999.
  • @serviceCategory can indicate the category of the service.
  • the meaning indicated by this field may be changed according to an embodiment.
  • the corresponding service may be a linear A / V service, a linear audio only service, or an app-based service. -based service). If this field value is 0, it may be a service of an undefined category, and if this field value has a value other than 0, 1, 2, or 3, it may be reserved for future use.
  • @shortServiceName may be a short string name of a service.
  • @hidden may be a boolean value if present and set to "true", indicating that the service is for testing or exclusive use and is not selected as a normal TV receiver. If not present, the default value is "false”.
  • @slsProtocolType may be a property indicating the type of SLS protocol used by the service. The meaning indicated by this field may be changed according to an embodiment. According to an embodiment, when this field value is 1 or 2, the SLS protocols used by the corresponding service may be ROUTE and MMTP, respectively. If this field has a value of 0 or other value, it may be reserved for future use. This field may be called @slsProtocol.
  • @slsPlpId may be a string representing an integer representing the PLP ID of the PLP that delivers the SLS for the service.
  • @slsDestinationIpAddress can be a string containing the dotted-IPv4 destination address of the packet carrying SLS data for the service.
  • @slsDestinationUdpPort can be a string that contains the port number of the packet carrying SLS data for the service. As described above, SLS bootstrapping may be performed by destination IP / UDP information.
  • @slsSourceIpAddress can be a string containing the dotted-IPv4 source address of the packet carrying the SLS data for that service.
  • @slsMajorProtocolVersion can be the major version number of the protocol used to deliver the SLS for that service. The default value is 1.
  • @serviceLanguage may be a three letter language code indicating the primary language of the service.
  • the format of the value of this field may be changed according to an embodiment.
  • @broadbandccessRequired may be a boolean value indicating that the receiver needs broadband access to make a meaningful presentation of the service. If the value of this field is True, the receiver needs to access the broadband for meaningful service reproduction, which may correspond to a hybrid delivery case of the service.
  • @capabilities may indicate the capability required to decode and meaningfully indicate the contents of the service with the same service ID as the serviceId property.
  • InetSigLoc may provide a URL for accessing signaling or announcement information over broadband when available.
  • the data type can be an extension of any URL data type that adds an @urlType property that indicates where the URL is accessed.
  • the meaning of the @urlType field of this field may be the same as that of the aforementioned @urlType field of InetSigLoc.
  • an InetSigLoc element of property URL_type 0x00 exists as an element of the SLT, it can be used to make an HTTP request for signaling metadata.
  • This HTTP POST message body may contain a service term. If the InetSigLoc element appears at the section level, the service term is used to indicate the service to which the requested signaling metadata object applies.
  • InetSigLoc appears at the service level, there is no service term required to specify the desired service. If an InetSigLoc element of property URL_type 0x01 is provided, it can be used to retrieve ESG data over broadband. If the element appears as a child element of a service element, the URL can be used to retrieve data for that service. If the element appears as a child element of an SLT element, the URL can be used to retrieve ESG data for all services in that section.
  • the @sltSectionVersion, @sltSectionNumber, @totalSltSectionNumbers and / or @language fields of the SLT may be omitted.
  • the suggested default values can be changed according to the embodiment.
  • the shown use column is for each field, where 1 may mean that the field is required, and 0..1 may mean that the field is an optional field.
  • FIG. 4 is a diagram illustrating an SLS bootstrapping and service discovery process according to an embodiment of the present invention.
  • SLS service layer signaling
  • SLS may be signaling that provides information for discovering and obtaining services and their content components.
  • the SLS for each service describes the characteristics of the service, such as a list of components, where they can be obtained, and receiver performance required for a meaningful presentation of the service.
  • the SLS includes a user service bundle description (USBD), an S-TSID, and a media presentation description (DASH MPD).
  • USBD or the User Service Description (USD) may serve as a signaling hub for describing specific technical information of the service as one of the SLS XML fragments.
  • This USBD / USD can be further extended than defined in the 3GPP MBMS. Details of the USBD / USD will be described later.
  • the SLT may include an HTTP URL from which the service signaling file may be obtained as described above.
  • the USBD refers to the MMT message of MMT signaling, whose MP table provides location information and identification of package IDs for assets belonging to the service.
  • Asset is a multimedia data entity, which may mean a data entity associated with one unique ID and used to generate one multimedia presentation.
  • Asset may correspond to a service component constituting a service.
  • the MPT message is a message having the MP table of the MMT, where the MP table may be an MMT Package Table having information on the MMT Asset and the content. Details may be as defined in the MMT.
  • the media presentation may be a collection of data for establishing a bound / unbound presentation of the media content.
  • S-TSID segmentation provides a mapping between component acquisition information associated with one service and the DASH representations found in the TSI and MPD corresponding to the component of that service.
  • the S-TSID may provide component acquisition information in the form of a TSI and associated DASH Representation Identifier, and a PLPID that conveys the DASH segmentation associated with the DASH Representation.
  • the receiver collects audio / video components from the service, starts buffering the DASH media segmentation, and then applies the appropriate decoding procedure.
  • the receiver obtains an MPT message with a matching MMT_package_id to complete the SLS.
  • the MPT message provides a complete list of service components, including acquisition information and services for each component.
  • the component acquisition information includes MMTP session information, PLPID for delivering the session, and packet_id in the session.
  • each S-TSID fragment may be used.
  • Each fragment may provide access information for LCT sessions that convey the content of each service.
  • the S-TSID, the USBD / USD, the MPD, or the LCT session carrying them may be referred to as a service signaling channel.
  • the S-TSID, the USBD / USD, the MPD, or the LCT session carrying them may be referred to as a service signaling channel.
  • MMT signaling messages or packet flow carrying them may be called a service signaling channel.
  • FIG. 5 is a diagram illustrating a USBD fragment for ROUTE / DASH according to an embodiment of the present invention.
  • service layer signaling will be described in the delivery based on ROUTE.
  • SLS provides specific technical information to the receiver to enable discovery and access of services and their content components. It may include a set of XML coded metadata fragments that are delivered to a dedicated LCT session.
  • the LCT session may be obtained using the bootstrap information included in the SLT as described above.
  • SLS is defined per service level, which describes a list of content components, how to obtain them, and access information and features of the service, such as the receiver capabilities required to make a meaningful presentation of the service.
  • the SLS consists of metadata partitions such as USBD, S-TSID, and DASH MPD.
  • the TSI of a specific LCT session to which an SLS fragment is delivered may have a different value.
  • the LCT session to which the SLS fragment is delivered may be signaled by SLT or another method.
  • ROUTE / DASH SLS may include USBD and S-TSID metadata partitioning. These service signaling divisions can be applied to services based on linear and application.
  • USBD partitioning is service identification, device performance information, references to other SLS partitioning required to access service and configuration media components, and metadata that allows the receiver to determine the transmission mode (broadcast and / or broadband) of the service component. It includes.
  • the S-TSID segment referenced by the USBD provides a transport session description for one or more ROUTE / LCT sessions to which the media content component of the service is delivered and a description of the delivery objects delivered in that LCT session. USBD and S-TSID will be described later.
  • the streaming content signaling component of the SLS corresponds to an MPD fragment.
  • MPD is primarily associated with linear services for the delivery of DASH partitions as streaming content.
  • the MPD provides the source identifiers for the individual media components of the linear / streaming service in the form of split URLs, and the context of the identified resources in the media presentation. Details of the MPD will be described later.
  • app-based enhancement signaling is used to deliver app-based enhancement components such as application logic files, locally cached media files, network content items, or announcement streams. Belongs.
  • the application can also retrieve locally cached data on the broadband connection if possible.
  • the top level or entry point SLS split is a USBD split.
  • the illustrated USBD fragment is an embodiment of the present invention, and fields of a basic USBD fragment not shown may be further added according to the embodiment. As described above, the illustrated USBD fragment may have fields added in the basic structure in an expanded form.
  • the illustrated USBD can have a bundleDescription root element.
  • the bundleDescription root element may have a userServiceDescription element.
  • the userServiceDescription element may be an instance of one service.
  • serviceStatus can specify the status of the service. The value indicates whether the service is enabled or disabled. If set to "1" (true), it indicates that the service is active. If this field is not used, it may be set to a default value of 1.
  • @atsc: fullMPDUri may refer to an MPD segmentation that optionally includes a description of the content component of the service delivered on the broadband and also on the broadband.
  • sTSIDUri may refer to an S-TSID segment that provides access-related parameters to a transport session that delivers the content of the service.
  • name can represent the name of the service given by the lang property.
  • the name element may include a lang property indicating the language of the service name.
  • the language can be specified according to the XML data type.
  • the deliveryMethod may be a container of transports related to information pertaining to the content of the service on broadcast and (optionally) broadband mode of access. For the data included in the service, if the data is N pieces, delivery methods for the respective data can be described by this element.
  • the deliveryMethod element may include an r12: broadcastAppService element and an r12: unicastAppService element. Each subelement may have a basePattern element as a subelement.
  • r12: unicastAppService may be a DASH presentation delivered on a multiplexed or non-multiplexed form of broadband including constituent media content components belonging to the service over all durations of the media presentation to which it belongs. That is, each of the present fields may mean DASH representations delivered through broadband.
  • the basePattern may be a character pattern used by the receiver to match against all parts of the fragment URL used by the DASH client to request media segmentation of the parent presentation in the included period.
  • the match implies that the requested media segment is delivered on the broadcast transport.
  • a part of the URL may have a specific pattern, which pattern may be described by this field. have. Through this information, it may be possible to distinguish some data.
  • the suggested default values can be changed according to the embodiment.
  • the shown use column is for each field, M may be a required field, O is an optional field, OD is an optional field having a default value, and CM may mean a conditional required field. 0 ... 1 to 0 ... N may mean a possible number of corresponding fields.
  • FIG. 6 illustrates an S-TSID fragment for ROUTE / DASH according to an embodiment of the present invention.
  • the S-TSID may be an SLS XML fragment that provides overall session descriptive information for the transport session that carries the content component of the service.
  • the S-TSID is an SLS metadata fragment that contains overall transport session descriptive information for the configuration LCT session and zero or more ROUTE sessions to which the media content component of the service is delivered.
  • the S-TSID also contains file metadata for the delivery object or object flow delivered in the LCT session of the service, as well as additional information about the content component and payload format delivered in the LCT session.
  • @serviceID may be a reference corresponding to a service element in USD.
  • the value of this property may refer to a service having the corresponding value of service_id.
  • the RS element may have information about a ROUTE session for delivering corresponding service data. Since service data or service components may be delivered through a plurality of ROUTE sessions, the element may have 1 to N numbers.
  • @sIpAddr may indicate the source IP address.
  • the source IP address may be a source IP address of a ROUTE session for delivering a service component included in a corresponding service.
  • service components of one service may be delivered through a plurality of ROUTE sessions. Therefore, the service component may be transmitted in a ROUTE session other than the ROUTE session in which the corresponding S-TSID is transmitted.
  • this field may be used to indicate the source IP address of the ROUTE session.
  • the default value of this field may be the source IP address of the current ROUTE session. If there is a service component delivered through another ROUTE session and needs to indicate the ROUTE session, this field value may be a source IP address value of the ROUTE session. In this case, this field may be M, that is, a required field.
  • @dIpAddr may indicate a destination IP address.
  • the destination IP address may be a destination IP address of a ROUTE session for delivering a service component included in a corresponding service.
  • this field may indicate the destination IP address of the ROUTE session carrying the service component.
  • the default value of this field may be the destination IP address of the current ROUTE session. If there is a service component delivered through another ROUTE session and needs to indicate the ROUTE session, this field value may be a destination IP address value of the ROUTE session. In this case, this field may be M, that is, a required field.
  • @dport can represent a destination port.
  • the destination port may be a destination port of a ROUTE session for delivering a service component included in a corresponding service.
  • this field may indicate the destination port of the ROUTE session that carries the service component.
  • the default value of this field may be the destination port number of the current ROUTE session. If there is a service component delivered through another ROUTE session and needs to indicate the ROUTE session, this field value may be a destination port number value of the ROUTE session. In this case, this field may be M, that is, a required field.
  • @PLPID may be an ID of a PLP for a ROUTE session expressed in RS.
  • the default value may be the ID of the PLP of the LCT session that contains the current S-TSID.
  • this field may have an ID value of a PLP for an LCT session to which an S-TSID is delivered in a corresponding ROUTE session, or may have ID values of all PLPs for a corresponding ROUTE session.
  • the LS element may have information about an LCT session that carries corresponding service data. Since service data or service components may be delivered through a plurality of LCT sessions, the element may have 1 to N numbers.
  • the LS element may include @tsi, @PLPID, @bw, @startTime, @endTime, SrcFlow and / or RprFlow.
  • @tsi may indicate a TSI value of an LCT session in which a service component of a corresponding service is delivered.
  • @PLPID may have ID information of a PLP for a corresponding LCT session. This value may override the default ROUTE session value.
  • @bw may indicate the maximum bandwiss value.
  • @startTime can indicate the start time of the LCT session.
  • @endTime may indicate an end time of the corresponding LCT session.
  • the SrcFlow element may describe the source flow of ROUTE.
  • the RprFlow element may describe the repair flow of ROUTE.
  • the suggested default values can be changed according to the embodiment.
  • M may be a required field
  • O is an optional field
  • OD is an optional field having a default value
  • MPD is an SLS metadata fragment containing a formal description of a DASH media presentation corresponding to a linear service of a given duration as determined by the broadcaster (eg, a set of TV programs or a series of consecutive linear TV programs for a period of time). ).
  • the contents of the MPD provide source identifiers for context and segmentation for the identified resources within the media presentation.
  • the data structure and semantics of MPD segmentation may be according to the MPD defined by MPEG DASH.
  • One or more DASH presentations delivered in the MPD may be delivered on the broadcast.
  • MPD may describe additional presentations delivered on broadband as in the case of hybrid services, or may support service continuity in broadcast-to-broadcast handoffs due to broadcast signal degradation (eg, driving in tunnels). .
  • FIG. 7 illustrates a USBD / USD fragment for MMT according to an embodiment of the present invention.
  • MMT SLS for linear service includes USBD partition and MP table.
  • the MP table is as described above.
  • USBD partitioning is service identification, device performance information, references to other SLS partitioning required to access service and configuration media components, and metadata that allows the receiver to determine the transmission mode (broadcast and / or broadband) of the service component. It includes.
  • the MP table for the MPU component referenced by the USBD provides the transport session description for the MMTP session to which the media content component of the service is delivered and the description of the asset delivered in the MMTP session.
  • the streaming content signaling component of the SLS for the MPU component corresponds to an MP table defined in MMT.
  • the MP table provides a list of MMT assets for which each asset corresponds to a single service component and a description of location information for the corresponding component.
  • USBD partitioning may also include references to the S-TSID and MPD as described above for service components carried by the ROUTE protocol and broadband, respectively.
  • the service component delivered through the ROUTE protocol in delivery through MMT is data such as NRT
  • MPD may not be necessary in this case.
  • the S-TSID may not be necessary since the service component delivered through broadband does not need information about which LCT session to deliver.
  • the MMT package may be a logical collection of media data delivered using MMT.
  • the MMTP packet may mean a formatted unit of media data delivered using MMT.
  • the media processing unit (MPU) may mean a generic container of independently decodable timed / non-timed data.
  • the data in the MPU is a media codec agnostic.
  • the illustrated USBD fragment is an embodiment of the present invention, and fields of a basic USBD fragment not shown may be further added according to the embodiment. As described above, the illustrated USBD fragment may have fields added in the basic structure in an expanded form.
  • USBD according to the embodiment of the present invention shown is represented in the form of an XML document.
  • the USBD may be represented in a binary format or an XML document.
  • the illustrated USBD can have a bundleDescription root element.
  • the bundleDescription root element may have a userServiceDescription element.
  • the userServiceDescription element may be an instance of one service.
  • the userServiceDescription element may include @serviceId, @atsc: serviceId, name, serviceLanguage, atsc: capabilityCode, atsc: Channel, atsc: mpuComponent, atsc: routeComponent, atsc: broadband Component and / or atsc: ComponentInfo.
  • @serviceId, @atsc: serviceId, name, serviceLanguage, and atsc: capabilityCode may be the same as described above.
  • the lang field under the name field may also be the same as described above.
  • atsc: capabilityCode may be omitted according to an embodiment.
  • the userServiceDescription element may further include an atsc: contentAdvisoryRating element according to an embodiment. This element may be an optional element. atsc: contentAdvisoryRating may specify the content advisory ranking. This field is not shown in the figure.
  • Atsc: Channel may have information about a channel of a service.
  • the atsc: Channel element may include @atsc: majorChannelNo, @atsc: minorChannelNo, @atsc: serviceLang, @atsc: serviceGenre, @atsc: serviceIcon and / or atsc: ServiceDescription.
  • @atsc: majorChannelNo, @atsc: minorChannelNo, and @atsc: serviceLang may be omitted according to embodiments.
  • @atsc: majorChannelNo is a property that indicates the primary channel number of the service.
  • @atsc: serviceLang is a property that indicates the main language used in the service.
  • @atsc: serviceGenre is a property that represents the main genre of a service.
  • @atsc serviceIcon is a property that indicates the URL to the icon used to represent the service.
  • @atsc: serviceDescrText is a property that describes the description of the service.
  • @atsc: serviceDescrLang is a property indicating the language of the serviceDescrText property.
  • Atsc: mpuComponent may have information about a content component of a service delivered in MPU form.
  • atsc: mpuComponent may include @atsc: mmtPackageId and / or @atsc: nextMmtPackageId.
  • @atsc: mmtPackageId can refer to the MMT package for the content component of the service delivered to the MPU.
  • routeComponent may have information about a content component of a service delivered through ROUTE.
  • routeComponent may include @atsc: sTSIDUri, @sTSIDPlpId, @sTSIDDestinationIpAddress, @sTSIDDestinationUdpPort, @sTSIDSourceIpAddress, @sTSIDMajorProtocolVersion and / or @sTSIDMinorProtocolVersion.
  • sTSIDUri may refer to an S-TSID segment that provides access-related parameters to a transport session that delivers the content of the service. This field may be the same as the URI for referencing the S-TSID in the USBD for ROUTE described above. As described above, even in service delivery by MMTP, service components delivered through NRT may be delivered by ROUTE. This field may be used to refer to an S-TSID for this purpose.
  • @sTSIDPlpId may be a string representing an integer indicating the PLP ID of the PLP that delivers the S-TSID for the service. (Default: current PLP)
  • @sTSIDDestinationIpAddress can be a string containing the dotted-IPv4 destination address of the packet carrying the S-TSID for the service. (Default: source IP address of the current MMTP session)
  • @sTSIDDestinationUdpPort may be a string including the port number of the packet carrying the S-TSID for the service.
  • @sTSIDSourceIpAddress can be a string containing the dotted-IPv4 source address of the packet carrying the S-TSID for the service.
  • @sTSIDMajorProtocolVersion can indicate the major version number of the protocol used to deliver the S-TSID for the service. The default value is 1.
  • @sTSIDMinorProtocolVersion can indicate the minor version number of the protocol used to deliver the S-TSID for the service. The default value is zero.
  • broadbandComponent may have information about a content component of a service delivered through broadband. That is, it may be a field that assumes hybrid delivery.
  • broadbandComponent may further include @atsc: fullfMPDUri.
  • @atsc: fullfMPDUri may be a reference to MPD segmentation that contains a description of the content component of the service delivered over broadband.
  • Atsc: ComponentInfo may have information about available components of a service. For each component, it may have information such as type, role, name, and the like. This field may exist as many as each component (N).
  • ComponentInfo may include @atsc: componentType, @atsc: componentRole, @atsc: componentProtectedFlag, @atsc: componentId and / or @atsc: componentName.
  • @atsc: componentType is a property that indicates the type of the component.
  • a value of 0 indicates audio component.
  • a value of 1 represents the video component.
  • a value of 2 indicates a closed caption component.
  • a value of 3 represents an application component.
  • the value of 4 to 7 is left. The meaning of this field value may be set differently according to an embodiment.
  • @atsc: componentRole is a property that indicates the role and type of the component.
  • the value of the componentRole property is as follows.
  • 0 Primary video
  • 1 Alternative camera view
  • 2 Other alternative video component
  • 3 Sign language inset
  • 4 follow subject video
  • 5 3D video left View (3D video left view)
  • 6 3D video right view
  • 7 3D video depth information
  • 8 Part of video array ⁇ x, y> of ⁇ n, m >
  • 9 follow-Subject metadata
  • componentType property If the value of the componentType property is between 3 and 7, it may be equal to componentRole 255.
  • the meaning of this field value may be set differently according to an embodiment.
  • @atsc: componentId is an attribute that indicates the identifier of the corresponding component.
  • the value of the property may be the same as asset_id in the MP table corresponding to the corresponding component.
  • @atsc: componentName is a property that indicates the human-readable name of the component.
  • the suggested default values can be changed according to the embodiment.
  • M may be a required field
  • O is an optional field
  • OD is an optional field having a default value
  • MMT media presentation description
  • the MPD delivered by the MMTP session describes the presentation carried on the broadband, such as in the case of hybrid services, or due to broadcast signal deterioration (e.g., driving down a mountain or in a tunnel). Service continuity can be supported in a handoff from broadcast to broadcast.
  • the MMT signaling message defined by the MMT is carried by the MMTP packet according to the signaling message mode defined by the MMT.
  • the value of the packet_id field of the MMTP packet carrying the SLS is set to "00" except for the MMTP packet carrying the MMT signaling message specific to the asset, which may be set to the same packet_id value as the MMTP packet carrying the asset.
  • An identifier that references the appropriate packet for each service is signaled by the USBD segmentation as described above.
  • MPT messages with matching MMT_package_id may be carried on the MMTP session signaled in the SLT.
  • Each MMTP session carries an MMT signaling message or each asset carried by the MMTP session specific to that session.
  • the IP destination address / port number of the packet having the SLS for the specific service may be specified to access the USBD of the MMTP session.
  • the packet ID of the MMTP packet carrying the SLS may be designated as a specific value such as 00.
  • the above-described package ID information of the USBD may be used to access an MPT message having a matching package ID.
  • the MPT message can be used to access each service component / asset as described below.
  • MPT message This message carries an MP table containing a list of all assets and their location information as defined by the MMT. If the asset is delivered by a different PLP than the current PLP carrying the MP table, the identifier of the PLP carrying the asset may be provided in the MP table using the PLP identifier descriptor. The PLP identifier descriptor will be described later.
  • the following MMTP message may be carried by the MMTP session signaled in the SLT if necessary.
  • MPI message This message carries an MPI table that contains all or some documents of the presentation information.
  • the MP table associated with the MPI table can be conveyed by this message.
  • CRI (clock relation information) message This message carries a CRI table containing clock related information for mapping between NTP timestamp and MPEG-2 STC. In some embodiments, the CRI message may not be delivered through the corresponding MMTP session.
  • Virtual Receiver Buffer Model Message This message carries the information required by the receiver to manage the buffer.
  • This message carries the information required by the receiver to manage the MMT decapsulation buffer.
  • Mmt_atsc3_message which is one of MMT signaling messages
  • Mmt_atsc3_message () is defined to deliver information specific to a service according to the present invention described above.
  • This signaling message may include a message ID, version and / or length field which are basic fields of an MMT signaling message.
  • the payload of this signaling message may include service ID information, content type, content version, content compression information, and / or URI information.
  • the content type information may indicate the type of data included in the payload of the signaling message.
  • the content version information may indicate a version of data included in the payload, and the content compression information may indicate a compression type applied to the corresponding data.
  • the URI information may have URI information related to the content delivered by this message.
  • the PLP identifier descriptor is a descriptor that can be used as one of the descriptors of the aforementioned MP table.
  • the PLP identifier descriptor provides information about the PLP that carries the asset. If an asset is carried by a different PLP than the current PLP carrying the MP table, the PLP identifier descriptor can be used as an asset descriptor in the associated MP table to identify the PLP carrying that asset.
  • the PLP identifier descriptor may further include BSID information in addition to PLP ID information.
  • the BSID may be the ID of a broadcast stream that carries MMTP packets for the Asset described by this descriptor.
  • FIG 8 illustrates a link layer protocol architecture according to an embodiment of the present invention.
  • the link layer is a layer between the physical layer and the network layer, and the transmitting side transmits data from the network layer to the physical layer, and the receiving side transmits data from the physical layer to the network layer.
  • the purpose of the link layer is to summarize all input packet types into one format for processing by the physical layer, to ensure flexibility and future scalability for input types not yet defined.
  • processing within the link layer ensures that input data can be efficiently transmitted, for example by providing an option to compress unnecessary information in the header of the input packet.
  • Encapsulation, compression, and the like are referred to as link layer protocols, and packets generated using such protocols are called link layer packets.
  • the link layer may perform functions such as packet encapsulation, overhead reduction, and / or signaling transmission.
  • the link layer protocol enables encapsulation of all types of packets, including IP packets and MPEG-2 TS.
  • the physical layer needs to process only one packet format independently of the network layer protocol type (here, consider MPEG-2 TS packet as a kind of network layer packet).
  • Each network layer packet or input packet is transformed into a payload of a generic link layer packet.
  • concatenation and splitting may be performed to efficiently use physical layer resources when the input packet size is particularly small or large.
  • segmentation may be utilized in the packet encapsulation process. If the network layer packet is too large to be easily processed by the physical layer, the network layer packet is divided into two or more partitions.
  • the link layer packet header includes a protocol field for performing division at the transmitting side and recombination at the receiving side. If the network layer packet is split, each split may be encapsulated into a link layer packet in the same order as the original position in the network layer packet. In addition, each link layer packet including the division of the network layer packet may be transmitted to the physical layer as a result.
  • concatenation may also be utilized in the packet encapsulation process. If the network layer packet is small enough so that the payload of the link layer packet includes several network layer packets, the link layer packet header includes a protocol field for executing concatenation. A concatenation is a combination of multiple small network layer packets into one payload. When network layer packets are concatenated, each network layer packet may be concatenated into the payload of the link layer packet in the same order as the original input order. In addition, each packet constituting the payload of the link layer packet may be an entire packet instead of a packet division.
  • the link layer protocol can greatly reduce the overhead for the transmission of data on the physical layer.
  • the link layer protocol according to the present invention may provide IP overhead reduction and / or MPEG-2 TS overhead reduction.
  • IP overhead reduction IP packets have a fixed header format, but some information needed in a communication environment may be unnecessary in a broadcast environment.
  • the link layer protocol provides a mechanism to reduce broadcast overhead by compressing the header of IP packets.
  • MPEG-2 TS overhead reduction the link layer protocol provides sync byte removal, null packet deletion and / or common header removal (compression).
  • sink byte removal provides an overhead reduction of one byte per TS packet, and then a null packet deletion mechanism removes 188 bytes of null TS packets in a manner that can be reinserted at the receiver. Finally, a common header removal mechanism is provided.
  • the link layer protocol may provide a specific format for signaling packets to transmit link layer signaling. This will be described later.
  • the link layer protocol takes an input network layer packet such as IPv4, MPEG-2 TS, etc. as an input packet.
  • IPv4 IPv4, MPEG-2 TS, etc.
  • Future extensions represent protocols that can be entered at different packet types and link layers.
  • the link layer protocol specifies signaling and format for all link layer signaling, including information about the mapping for a particular channel in the physical layer.
  • the figure shows how ALP includes mechanisms to improve transmission efficiency through various header compression and deletion algorithms.
  • link layer protocol can basically encapsulate input packets.
  • FIG. 9 illustrates a base header structure of a link layer packet according to an embodiment of the present invention.
  • the structure of the header will be described.
  • the link layer packet may include a header followed by the data payload.
  • the packet of the link layer packet may include a base header and may include an additional header according to a control field of the base header.
  • the presence of the optional header is indicated from the flag field of the additional header.
  • a field indicating the presence of an additional header and an optional header may be located in the base header.
  • the base header for link layer packet encapsulation has a hierarchical structure.
  • the base header may have a length of 2 bytes and is the minimum length of the link layer packet header.
  • the base header according to the embodiment of the present invention shown may include a Packet_Type field, a PC field, and / or a length field. According to an embodiment, the base header may further include an HM field or an S / C field.
  • the Packet_Type field is a 3-bit field indicating the packet type or the original protocol of the input data before encapsulation into the link layer packet.
  • IPv4 packets, compressed IP packets, link layer signaling packets, and other types of packets have this base header structure and can be encapsulated.
  • the MPEG-2 TS packet may have another special structure and may be encapsulated. If the value of Packet_Type is "000" "001" "100" or "111", then the original data type of the ALP packet is one of an IPv4 packet, a compressed IP packet, a link layer signaling or an extension packet. If the MPEG-2 TS packet is encapsulated, the value of Packet_Type may be "010". The values of other Packet_Type fields may be reserved for future use.
  • the Payload_Configuration (PC) field may be a 1-bit field indicating the configuration of the payload.
  • a value of 0 may indicate that the link layer packet carries one full input packet and the next field is Header_Mode.
  • a value of 1 may indicate that the link layer packet carries one or more input packets (chains) or a portion of a large input packet (segmentation) and the next field is Segmentation_Concatenation.
  • the Header_Mode (HM) field may indicate that there is no additional header and may be a 1-bit field indicating that the length of the payload of the link layer packet is less than 2048 bytes. This value may vary depending on the embodiment. A value of 1 may indicate that an additional header for one packet defined below exists after the length field. In this case, the payload length is greater than 2047 bytes and / or optional features may be used (sub stream identification, header extension, etc.). This value may vary depending on the embodiment. This field may be present only when the Payload_Configuration field of the link layer packet has a value of zero.
  • the Segmentation_Concatenation (S / C) field may be a 1-bit field indicating that the payload carries a segment of the input packet and that an additional header for segmentation defined below exists after the length field.
  • a value of 1 may indicate that the payload carries more than one complete input packet and that an additional header for concatenation defined below exists after the length field. This field may be present only when the value of the Payload_Configuration field of the ALP packet is 1.
  • the length field may be an 11-bit field indicating 11 LSBs (least significant bits) of the length in bytes of the payload carried by the link layer packet. If there is a Length_MSB field in the next additional header, the length field is concatenated to the Length_MSB field and becomes the LSB to provide the actual total length of the payload. The number of bits in the length field may be changed to other bits in addition to 11 bits.
  • packet structure types are possible. That is, one packet without additional headers, one packet with additional headers, split packets, and concatenated packets are possible. According to an embodiment, more packet configurations may be possible by combining each additional header and optional header, an additional header for signaling information to be described later, and an additional header for type extension.
  • FIG. 10 is a diagram illustrating an additional header structure of a link layer packet according to an embodiment of the present invention.
  • Additional headers may be of various types. Hereinafter, an additional header for a single packet will be described.
  • Header_Mode (HM) "1". If the length of the payload of the link layer packet is larger than 2047 bytes or an option field is used, Header_Mode (HM) may be set to one. An additional header tsib10010 of one packet is shown in the figure.
  • the Length_MSB field may be a 5-bit field that may indicate the most significant bits (MSBs) of the total payload length in bytes in the current link layer packet, and is concatenated into a length field including 11 LSBs to obtain the total payload length. .
  • MSBs most significant bits
  • the number of bits in the length field may be changed to other bits in addition to 11 bits.
  • the length_MSB field may also change the number of bits, and thus the maximum representable payload length may also change.
  • each length field may indicate the length of the entire link layer packet, not the payload.
  • the Sub-stream Identifier Flag (SIF) field may be a 1-bit field that may indicate whether a sub-stream ID (SID) exists after the header extension flag (HEF) field. If there is no SID in the link layer packet, the SIF field may be set to zero. If there is an SID after the HEF field in the link layer packet, the SIF may be set to one. Details of the SID will be described later.
  • the HEF field may be a 1-bit field that may indicate that an additional header exists for later expansion. A value of 0 can indicate that this extension field does not exist.
  • Segment_Sequence_Number may be an unsigned integer of 5 bits that may indicate the order of the corresponding segment carried by the link layer packet. For a link layer packet carrying the first division of the input packet, the value of the corresponding field may be set to 0x0. This field may be incremented by one for each additional segment belonging to the input packet to be split.
  • the LSI may be a 1-bit field that may indicate that the partition in the payload is the end of the input packet. A value of zero can indicate that it is not the last partition.
  • the Sub-stream Identifier Flag may be a 1-bit field that may indicate whether the SID exists after the HEF field. If there is no SID in the link layer packet, the SIF field may be set to zero. If there is an SID after the HEF field in the link layer packet, the SIF may be set to one.
  • the HEF field may be a 1-bit field that may indicate that there is an optional header extension after the additional header for later expansion of the link layer header.
  • a value of 0 can indicate that there is no optional header extension.
  • Segmentation_Concatenation (S / C) "1"
  • an additional header tsib10030 may exist.
  • the HEF field may be a 1-bit field that may indicate that an optional header extension exists after an additional header for future extension of the link layer header. A value of 0 can indicate that no extension header exists.
  • Component_Length may be a 12-bit field that may indicate the length in bytes of each packet.
  • the Component_Length field is included in the same order as the packets present in the payload except for the last component packet.
  • the number of length fields may be represented by (Count + 1). In some embodiments, there may be the same number of length fields as the value of the Count field.
  • four stuffing bits may follow the last Component_Length field. These bits can be set to zero.
  • the Component_Length field indicating the length of the last concatenated input packet may not exist. In this case, the length of the last concatenated input packet may be indicated as the length obtained by subtracting the sum of the values indicated by each Component_length field from the total payload length.
  • the optional header is described below.
  • the optional header may be added after the additional header.
  • the optional header field may include SID and / or header extension. SIDs are used to filter specific packet streams at the link layer level. One example of a SID is the role of a service identifier in a link layer stream that carries multiple services. If applicable, mapping information between the service and the SID value corresponding to the service may be provided in the SLT.
  • the header extension includes an extension field for future use. The receiver can ignore all header extensions that it does not understand.
  • the SID may be an 8-bit field that may indicate a sub stream identifier for the link layer packet. If there is an optional header extension, the SID is between the additional header and the optional header extension.
  • Header_Extension may include fields defined below.
  • Extension_Length may be an 8-bit field that may indicate the byte length of Header Extension () counted from the next byte to the last byte of Header_Extension ().
  • Extension_Byte may be a byte representing the value of Header_Extension ().
  • FIG. 11 illustrates an additional header structure of a link layer packet according to another embodiment of the present invention.
  • link layer signaling is included in a link layer packet is as follows.
  • the signaling packet is identified when the Packet_Type field of the base header is equal to 100.
  • the additional header for signaling information may include the following fields. In some embodiments, some fields may be omitted.
  • Signaling_Type may be an 8-bit field that may indicate the type of signaling.
  • Signaling_Type_Extension may be a 16-bit field that may indicate an attribute of signaling. Details of this field may be defined in the signaling specification.
  • Signaling_Version may be an 8-bit field that may indicate the version of signaling.
  • Signaling_Format may be a 2-bit field that may indicate a data format of signaling data.
  • the signaling format may mean a data format such as binary or XML.
  • Signaling_Encoding may be a 2-bit field that can specify the encoding / compression format. This field may indicate whether compression has not been performed or what specific compression has been performed.
  • Additional headers are defined to provide a mechanism that allows for an almost unlimited number of packet types and additional protocols carried by the link layer later.
  • Packet_type is 111 in the base header
  • packet type extension may be used.
  • the figure tsib11020 illustrates a structure of a link layer packet including an additional header for type extension.
  • the additional header for type extension may include the following fields. In some embodiments, some fields may be omitted.
  • the extended_type may be a 16-bit field that may indicate a protocol or packet type of an input encapsulated into a link layer packet as a payload. This field cannot be used for all protocols or packet types already defined by the Packet_Type field.
  • the Packet_Type field of the base header is equal to 010.
  • a plurality of TS packets may be encapsulated within each link layer packet.
  • the number of TS packets may be signaled through the NUMTS field.
  • a special link layer packet header format may be used.
  • the link layer provides an overhead reduction mechanism for MPEG-2 TS to improve transmission efficiency.
  • the sync byte (0x47) of each TS packet may be deleted.
  • the option to delete null packets and similar TS headers is also provided.
  • the deleted null packet may be recovered at the receiver side using the DNP field.
  • the DNP field indicates the count of deleted null packets. The null packet deletion mechanism using the DNP field is described below.
  • headers of MPEG-2 TS packets can be removed. If two or more sequential TS packets sequentially increment the CC (continuity counter) field and other header fields are also the same, the header is transmitted once in the first packet and the other header is deleted.
  • the HDM field may indicate whether the header has been deleted. The detailed procedure of common TS header deletion is described below.
  • overhead reduction may be performed in the following order: sink removal, null packet deletion, common header deletion. According to an embodiment, the order in which each mechanism is performed may be changed. In addition, some mechanisms may be omitted in some embodiments.
  • Packet_Type may be a 3-bit field that may indicate a protocol type of an input packet as described above. For MPEG-2 TS packet encapsulation, this field may always be set to 010.
  • NUMTS Number of TS packets
  • NUMTS Number of TS packets
  • NUMTS 0001 means that one TS packet is delivered.
  • An additional header flag may be a field that may indicate whether an additional header exists. A value of zero indicates that no additional header is present. A value of 1 indicates that an additional header of length 1 byte exists after the base header. If a null TS packet is deleted or TS header compression is applied, this field may be set to one.
  • the additional header for TS packet encapsulation consists of the following two fields and is present only when the value of AHF in the corresponding link layer packet is set to 1.
  • the header deletion mode may be a 1-bit field indicating whether TS header deletion may be applied to the corresponding link layer packet. A value of 1 indicates that TS header deletion can be applied. A value of 0 indicates that the TS header deletion method is not applied to the corresponding link layer packet.
  • the number of bits of each field described above may be changed, and the minimum / maximum value of the value indicated by the corresponding field may be changed according to the changed number of bits. This can be changed according to the designer's intention.
  • the sync byte (0x47) may be deleted from the start of each TS packet.
  • the length of an MPEG2-TS packet encapsulated in the payload of a link layer packet is always 187 bytes (instead of the original 188 bytes).
  • the processed TS packets may be encapsulated in the payload of the link layer packet.
  • the Packet_Type field may have a value of 010 since the TS packet is input.
  • the NUMTS field may indicate the number of encapsulated TS packets.
  • the AHF field may be set to 1 since packet header deletion has been performed to indicate the presence of an additional header.
  • the HDM field may be set to 1 since header deletion has been performed.
  • the DNP may be set to 0 since null packet deletion is not performed.
  • FIG. 13 is a diagram illustrating an embodiment of the adaptation modes in the IP header compression according to an embodiment of the present invention (the transmitting side).
  • IP header compression will be described.
  • an IP header compression / decompression scheme can be provided.
  • the IP header compression may include two parts, a header compressor / decompressor and an adaptation module.
  • the header compression scheme can be based on RoHC.
  • an adaptation function is added for broadcasting purposes.
  • the RoHC compressor reduces the size of the header for each packet.
  • the adaptation module then extracts the context information and generates signaling information from each packet stream.
  • the adaptation module parses the signaling information associated with the received packet stream and attaches the context information to the received packet stream.
  • the RoHC decompressor reconstructs the original IP packet by restoring the packet header.
  • the header compression scheme may be based on ROHC as described above.
  • the ROHC framework can operate in the U mode (uni dirctional mode) of the ROHC.
  • the ROHC UDP header compression profile identified by the profile identifier of 0x0002 may be used in the present system.
  • the adaptation function provides out-of-band transmission of configuration parameters and context information. Out-of-band transmission may be through link layer signaling. Accordingly, the adaptation function is used to reduce the decompression error and the channel change delay caused by the loss of the context information.
  • Adaptation mode 1 may be a mode in which no further operation is applied to the basic ROHC packet stream. That is, in this mode the adaptation module can operate as a buffer. Therefore, in this mode, there may be no context information in link layer signaling.
  • the adaptation module may detect the IR packet from the RoHC packet flow and extract context information (static chain). After extracting the context information, each IR packet can be converted into an IR-DYN packet. The converted IR-DYN packet may be included in the RoHC packet flow and transmitted in the same order as the IR packet by replacing the original packet.
  • the adaptation module may detect IR and IR-DYN packets from the RoHC packet flow and extract context information. Static chains and dynamic chains can be extracted from IR packets, and dynamic chains can be extracted from IR-DYN packets. After extracting the context information, each IR and IR-DYN packet can be converted into a compressed packet.
  • the compressed packet format may be the same as the next packet of the IR or IR-DYN packet.
  • the converted compressed packet may be included in the RoHC packet flow and transmitted in the same order as the IR or IR-DYN packet to replace the original packet.
  • the signaling (context) information can be encapsulated based on the transmission structure.
  • context information may be encapsulated with link layer signaling.
  • the packet type value may be set to 100.
  • the link layer packet for context information may have a Packet Type field value of 100.
  • the link layer packet for the compressed IP packets may have a Packet Type field value of 001. This indicates that the signaling information and the compressed IP packet are included in the link layer packet, respectively, as described above.
  • the signaling PLP may mean an L1 signaling path.
  • the signaling PLP is not distinguished from the general PLP and may mean a specific general PLP through which signaling information is transmitted.
  • the receiver may need to obtain signaling information. If the receiver decodes the first PLP to obtain signaling information, context signaling may also be received. After signaling acquisition is made, a PLP may be selected to receive the packet stream. That is, the receiver may first select the initial PLP to obtain signaling information including context information. Here, the initial PLP may be the aforementioned signaling PLP. Thereafter, the receiver can select a PLP to obtain a packet stream. Through this, context information may be obtained prior to receiving the packet stream.
  • the adaptation module may detect the IR-DYN packet from the received packet flow.
  • the adaptation module parses the static chain from the context information in the signaling data. This is similar to receiving an IR packet.
  • the IR-DYN packet can be recovered to an IR packet.
  • the recovered RoHC packet flow can be sent to the RoHC decompressor. Decompression can then begin.
  • LMT link mapping table
  • link layer signaling operates under the IP level.
  • link layer signaling may be obtained before IP level signaling such as SLT and SLS. Therefore, link layer signaling may be obtained before session establishment.
  • link layer signaling there may be two types of signaling, depending on the input path, internal link layer signaling and external link layer signaling.
  • Internal link layer signaling is generated at the link layer at the transmitter side.
  • the link layer also takes signaling from external modules or protocols. This kind of signaling information is considered external link layer signaling. If some signaling needs to be obtained prior to IP level signaling, external signaling is sent in the format of a link layer packet.
  • Link layer signaling may be encapsulated in a link layer packet as described above.
  • the link layer packet may carry link layer signaling in any format including binary and XML.
  • the same signaling information may be sent in a different format for link layer signaling.
  • Internal link layer signaling may include signaling information for link mapping.
  • LMT provides a list of higher layer sessions delivered to the PLP. The LMT also provides additional information for processing link layer packets carrying upper layer sessions at the link layer.
  • signaling_type may be an 8-bit unsigned integer field that indicates the type of signaling carried by the corresponding table.
  • the value of the signaling_type field for the LMT may be set to 0x01.
  • num_session may be an 8-bit unsigned integer field that provides the number of higher layer sessions delivered to the PLP identified by the PLP_ID field. If the value of the signaling_type field is 0x01, this field may indicate the number of UDP / IP sessions in the PLP.
  • src_IP_add may be a 32-bit unsigned integer field that contains the source IP address of the higher layer session delivered to the PLP identified by the PLP_ID field.
  • dst_IP_add may be a 32-bit unsigned integer field containing the destination IP address of the higher layer session carried to the PLP identified by the PLP_ID field.
  • the compressed_flag may be a 1-bit Boolean field indicating whether header compression is applied to a link layer packet carrying an upper layer session identified by the four fields Src_IP_add, Dst_IP_add, Src_UDP_Port, and Dst_UDP_Port. If the value of this field is set to 0, the link layer packet carrying the upper layer session may have a value of 0x00 in the Packet_Type field in the base header. If the value of this field is set to 1, a link layer packet carrying an upper layer session may have a value of 0x01 of a Packet_Type field in its base header and a Context_ID field may exist.
  • the SID may be an 8-bit unsigned integer field indicating a sub stream identifier for a link layer packet carrying a higher layer session identified by the four fields Src_IP_add, Dst_IP_add, Src_UDP_Port, and Dst_UDP_Port. This field may exist when the value of SID_flag is equal to one.
  • context_id may be an 8-bit field that provides a reference to the context id (CID) provided in the ROHC-U description table. This field may exist when the value of compressed_flag is equal to 1.
  • ROHC-U adaptation module may generate information related to header compression.
  • signaling_type may be an 8-bit field indicating the type of signaling carried by the corresponding table.
  • the value of the signaling_type field for the ROHC-U description table may be set to "0x02".
  • the context_profile may be an 8-bit field indicating the range of protocols used to compress the stream. This field may be omitted.
  • the adaptation_mode may be a 2-bit field indicating the mode of the adaptation module in the corresponding PLP.
  • the adaptation mode has been described above.
  • context_config may be a 2-bit field indicating a combination of context information. If the context information does not exist in the table, this field may be set to '0x0'. If a static_chain () or dynamic_chain () byte is included in the table, this field may be set to '0x01' or '0x02'. If both the static_chain () and dynamic_chain () bytes are included in the table, this field may be set to '0x03'.
  • static_chain_byte may be a field for transmitting static information used to initialize the RoHC-U decompressor. The size and structure of this field depends on the context profile.
  • dynamic_chain_byte may be a field for transmitting dynamic information used to initialize the RoHC-U decompressor.
  • the size and structure of this field depends on the context profile.
  • static_chain_byte may be defined as subheader information of an IR packet.
  • dynamic_chain_byte may be defined as subheader information of an IR packet and an IR-DYN packet.
  • 15 is a diagram illustrating a link layer structure of a transmitter according to an embodiment of the present invention.
  • the link layer on the transmitter side may include a link layer signaling portion, an overhead reduction portion, and / or an encapsulation portion that largely process signaling information.
  • the link layer on the transmitter side may include a scheduler for controlling and scheduling the entire operation of the link layer and / or input and output portions of the link layer.
  • the scheduler tsib15020 may determine and control operations of various modules included in the link layer.
  • the delivered signaling information and / or system parameter tsib15010 may be filtered or utilized by the scheduler tsib15020.
  • information required by the receiver may be delivered to the link layer signaling portion.
  • information necessary for the operation of the link layer among the signaling information may be transferred to the overhead reduction control tsib15120 or the encapsulation control tsib15180.
  • the signaling manager tsib15030 may receive the signaling information received from the scheduler tsib15020 and / or the signaling and / or context information received from the overhead reduction part.
  • the signaling manager tsib15030 may determine a path to which each signaling information should be transmitted with respect to the received data.
  • Each signaling information may be delivered in a path determined by the signaling manager tsib15030.
  • signaling information to be transmitted through a separate channel such as FIC or EAS may be delivered to the signaling formatter tsib15040, and other signaling information may be delivered to the encapsulation buffer tsib15070.
  • the buffers tsib15050 for the channel may serve to transmit signaling information received from the signaling formatter tsib15040 to the designated separate channel tsib15060.
  • the number and content of separate channels may vary according to embodiments.
  • the signaling manager tsib15030 may transmit signaling information not transmitted through a specific channel to the encapsulation buffer tsib15070.
  • the encapsulation buffer tsib15070 may serve as a buffer for receiving signaling information not transmitted through a specific channel.
  • Encapsulation for signaling information tsib15080 may perform encapsulation on signaling information not transmitted through a specific channel.
  • the transmission buffer tsib15090 may serve as a buffer for transferring the encapsulated signaling information to the DP tsib15100 for signaling information.
  • the DP for signaling information tsib15100 may refer to the above-described PLS region.
  • the overhead reduction portion can eliminate the overhead of packets delivered to the link layer, thereby enabling efficient transmission.
  • the overhead reduction part may be configured by the number of IP streams input to the link layer.
  • the overhead reduction buffer tsib15130 may serve to receive an IP packet transferred from an upper layer.
  • the received IP packet may be input to the overhead reduction portion through the overhead reduction buffer tsib15130.
  • the overhead reduction control tsib15120 may determine whether to perform overhead reduction on the packet stream input to the overhead reduction buffer tsib15130.
  • the overhead reduction control tsib15120 may determine whether to perform overhead reduction for each packet stream.
  • packets When overhead reduction is performed on the packet stream, packets may be delivered to the RoHC compressor tsib15140 to perform overhead reduction. If overhead reduction is not performed on the packet stream, packets may be delivered to the encapsulation portion so that encapsulation may proceed without overhead reduction.
  • Whether to perform overhead reduction of packets may be determined by signaling information tsib15010 transmitted to the link layer. The signaling information may be transferred to the overhead reduction control tsib15180 by the scheduler tsib15020.
  • the RoHC compressor tsib15140 may perform overhead reduction on the packet stream.
  • the RoHC compressor tsib15140 may perform an operation of compressing headers of packets.
  • Various methods can be used for overhead reduction. As described above, overhead reduction may be performed by the methods proposed by the present invention.
  • the present embodiment assumes an IP stream and is expressed as a RoHC compressor, the name may be changed according to the embodiment, and the operation is not limited to the compression of the IP stream, and the overhead reduction of all kinds of packets is RoHC compressor. (tsib15140).
  • the packet stream configuration block tsib15150 may separate information to be transmitted to the signaling region and information to be transmitted to the packet stream, from among the IP packets compressed with the header.
  • Information to be transmitted in the packet stream may mean information to be transmitted to the DP area.
  • Information to be transmitted to the signaling area may be delivered to the signaling and / or context control tsib15160.
  • Information to be transmitted in the packet stream may be transmitted to the encapsulation portion.
  • the signaling and / or context control tsib15160 may collect signaling and / or context information and transfer it to the signaling manager. This is to transmit signaling and / or context information to the signaling area.
  • the encapsulation portion may perform an encapsulation operation in a form suitable for delivering packets to the physical layer.
  • the encapsulation portion may be configured by the number of IP streams.
  • the encapsulation buffer tsib15170 may serve to receive a packet stream for encapsulation.
  • the overhead reduced packets may be received, and when the overhead reduction is not performed, the received IP packet may be received as it is.
  • the encapsulation control tsib15180 may determine whether to encapsulate the input packet stream. When encapsulation is performed, the packet stream may be delivered to segmentation / concatenation tsib15190. If encapsulation is not performed, the packet stream may be delivered to the transmission buffer tsib15230. Whether to perform encapsulation of packets may be determined by signaling information tsib15010 delivered to the link layer. The signaling information may be delivered to the encapsulation control tsib15180 by the scheduler tsib15020.
  • the above-described segmentation or concatenation operation may be performed on the packets. That is, when the input IP packet is longer than the link layer packet which is the output of the link layer, a plurality of link layer packet payloads may be generated by dividing one IP packet into several segments. In addition, when the input IP packet is shorter than the link layer packet that is the output of the link layer, a plurality of IP packets may be concatenated to form one link layer packet payload.
  • the packet configuration table tsib15200 may have configuration information of segmented and / or concatenated link layer packets.
  • the information in the packet configuration table tsib15200 may have the same information between the transmitter and the receiver.
  • Information in the packet configuration table tsib15200 may be referenced by the transmitter and the receiver.
  • the index value of the information in the packet configuration table tsib15200 may be included in the header of the link layer packet.
  • the link layer header information block tsib15210 may collect header information generated during the encapsulation process. In addition, the link layer header information block tsib15210 may collect information included in the packet configuration table tsib15200. The link layer header information block tsib15210 may configure header information according to the header structure of the link layer packet.
  • the header attachment tsib15220 may add a header to the payload of the segmented and / or concatenated link layer packet.
  • the transmission buffer tsib15230 may serve as a buffer for delivering the link layer packet to the DP tsib15240 of the physical layer.
  • Each block to module and part may be configured as one module / protocol in the link layer or may be composed of a plurality of modules / protocols.
  • FIG. 16 illustrates a link layer structure of a receiver side according to an embodiment of the present invention.
  • the link layer on the receiver side may include a link layer signaling portion, an overhead processing portion, and / or a decapsulation portion that largely process signaling information.
  • the link layer on the receiver side may include a scheduler for controlling and scheduling the entire operation of the link layer and / or input and output portions of the link layer.
  • each information received through the physical layer may be delivered to the link layer.
  • the link layer may process each piece of information, return it to its original state before being processed by the transmitter, and transmit the information to the upper layer.
  • the upper layer may be an IP layer.
  • Information delivered through specific channels tsib16030 separated in the physical layer may be delivered to the link layer signaling part.
  • the link layer signaling part may determine signaling information received from the physical layer and deliver signaling information determined to respective parts of the link layer.
  • the buffer tsib16040 for the channel may serve as a buffer for receiving signaling information transmitted through specific channels. As described above, when there is a separate channel physically / logically separated in the physical layer, signaling information transmitted through the channels may be received. When information received from separate channels is in a divided state, the divided information may be stored until the information is in a complete form.
  • the signaling decoder / parser tsib16050 may check the format of the signaling information received through a specific channel and extract information to be utilized in the link layer. When signaling information through a specific channel is encoded, decoding may be performed. In addition, the integrity of the corresponding signaling information may be checked according to an embodiment.
  • the signaling manager tsib16060 may integrate signaling information received through various paths. Signaling information received through the DP tsib16070 for signaling, which will be described later, may also be integrated in the signaling manager tsib16060.
  • the signaling manager tsib16060 may deliver signaling information necessary for each part in the link layer. For example, context information for packet recovery may be delivered to the overhead processing portion. In addition, signaling information for control may be delivered to the scheduler tsib16020.
  • DP for signaling may mean PLS or L1.
  • the DP may be referred to as a physical layer pipe (PLP).
  • the reception buffer tsib16080 may serve as a buffer for receiving signaling information received from the DP for signaling.
  • the received signaling information may be decapsulated.
  • the decapsulated signaling information may be delivered to the signaling manager tsib16060 via the decapsulation buffer tsib16100.
  • the signaling manager tsib16060 may collect signaling information and deliver the signaling information to the necessary part in the link layer.
  • the decapsulation part may filter packets received from the DP tsib16110 of the physical layer and separate packets according to the type of the corresponding packet.
  • the decapsulation portion may be configured by the number of DPs that can be decoded simultaneously in the physical layer.
  • the decapsulation buffer tsib16110 may serve as a buffer for receiving a packet stream from the physical layer for decapsulation.
  • the decapsulation control tsib16130 may determine whether to decapsulate the input packet stream. When decapsulation is performed, the packet stream may be delivered to the link layer header parser tsib16140. If decapsulation is not performed, the packet stream may be delivered to the output buffer tsib16220.
  • the signaling information received from the scheduler tsib16020 may be used to determine whether to perform decapsulation.
  • the link layer header parser tsib16140 may check the header of the received link layer packet. By checking the header, it is possible to confirm the configuration of the IP packet included in the payload of the link layer packet. For example, an IP packet may be segmented or concatenated.
  • the reassembly block tsib16160 may configure the payload of the link layer packet composed of segmentation and / or concatenation into packets of the original IP stream. Segments can be gathered into one IP packet or reconstructed into separate IP packet streams. Recombined IP packets may be passed to the overhead processing portion.
  • the overhead processing portion may perform an operation of turning overhead reduced packets back to the original packets in a reverse process of the overhead reduction performed at the transmitter. This operation may be called overhead processing.
  • the overhead processing portion may be configured by the number of DPs that can be decoded simultaneously in the physical layer.
  • the packet recovery buffer tsib16170 may serve as a buffer for receiving the decapsulated RoHC packet or the IP packet to perform overhead processing.
  • the overhead control tsib16180 may determine whether to perform packet recovery and / or decompression on the decapsulated packets. When packet recovery and / or decompression are performed, the packet may be delivered to the packet stream recovery tsib16190. If packet recovery and / or decompression are not performed, the packets may be delivered to the output buffer tsib16220. Whether to perform packet recovery and / or decompression may be determined based on the signaling information delivered by the scheduler tsib16020.
  • the packet stream recovery tsib16190 may perform an operation of integrating the packet stream separated from the transmitter and the context information of the packet stream. This may be a process of restoring the packet stream so that the RoHC decompressor tsib16210 can process it.
  • signaling information and / or context information may be received from the signaling and / or context control tsib16200.
  • the signaling and / or context control tsib16200 may determine the signaling information transmitted from the transmitter and transmit the signaling information to the packet stream reversal tsib16190 to be mapped to the stream corresponding to the corresponding context ID.
  • the RoHC decompressor tsib16210 may recover headers of packets of the packet stream. Packets in the packet stream may be recovered in the form of original IP packets with the header recovered. That is, the RoHC decompressor tsib16210 may perform overhead processing.
  • the output buffer tsib16220 may serve as a buffer before delivering the output stream to the IP layer tsib16230.
  • the link layer of the transmitter and the receiver proposed by the present invention may include blocks or modules as described above. Through this, the link layer can operate independently regardless of the upper layer and the lower layer, can efficiently perform overhead reduction, and it is easy to confirm / add / remove functions that can be supported according to upper and lower layers. .
  • 17 is a diagram illustrating a signaling transmission structure through a link layer according to an embodiment of the present invention (transmission / reception side).
  • a plurality of service providers may provide a service in one frequency band.
  • the service provider may transmit a plurality of services, and one service may include one or more components. The user may consider receiving content on a service basis.
  • the present invention assumes that a plurality of session-based transport protocols are used to support IP hybrid broadcasting.
  • the signaling information delivered to the signaling path may be determined according to the transmission structure of each protocol.
  • Each protocol may be given various names according to the embodiment.
  • service providers Broadcasters may provide a plurality of services (Service # 1, # 2, ).
  • Signaling for a service may be transmitted through a general transport session (Signaling C), but may be transmitted through a specific session according to an embodiment (Signaling B).
  • Service data and service signaling information may be encapsulated according to a transport protocol.
  • IP / UDP may be used.
  • signaling A in the IP / UDP layer may be added. This signaling may be omitted.
  • PLP may be called DP.
  • Base DP / PLP it is assumed that Base DP / PLP is used.
  • transmission may be performed using only general DP / PLP without Base DP / PLP.
  • the system parameter may include a transmitter related parameter, a service provider related parameter, and the like.
  • Link layer signaling may include context information related to IP header compression and / or identification information about data to which the context is applied.
  • the upper layer signaling may include an IP address, a UDP number, service / component information, emergency alert related information, an IP / UDP address for service signaling, a session ID, and the like. Detailed embodiments have been described above.
  • the receiver may tune to a corresponding frequency and read receiver information stored in a DB or the like regarding the corresponding channel.
  • Information stored in the DB of the receiver can be configured by reading the SLT during the initial channel scan.
  • the decoding or parsing procedure After receiving the SLT and receiving the information of the corresponding channel, update the previously stored DB, and obtain information about the transmission path and component information of the service selected by the user, or the path through which signaling required to obtain such information is transmitted. Acquire. If it is determined that there is no change of the corresponding information by using the version information of the SLT, the decoding or parsing procedure may be omitted.
  • the receiver may determine whether there is SLT information in the corresponding PLP by parsing the physical signaling of the PLP in the corresponding broadcast stream (not shown). This may be indicated through a specific field of physical signaling.
  • the SLT information may be accessed to access a location where service layer signaling of a specific service is transmitted. This service layer signaling may be encapsulated in IP / UDP and delivered through a transport session. Information about a component constituting a corresponding service can be obtained using this service layer signaling.
  • the detailed SLT-SLS structure is as described above.
  • transmission path information for receiving higher layer signaling information (service signaling information) required for reception of a corresponding service among various packet streams and PLPs currently being transmitted on a channel using the SLT may be obtained.
  • This transmission path information may include an IP address, a UDP port number, a session ID, a PLP ID, and the like.
  • the IP / UDP address may use a value predetermined in IANA or a system. Such information may be obtained by methods such as DB and shared memory access.
  • the service data delivered through the PLP may be temporarily stored in a device such as a buffer while the link layer signaling is decoded.
  • path information through which the corresponding service is actually transmitted may be obtained.
  • decapsulation and header recovery may be performed on the received packet stream by using information such as overhead reduction for a PLP to be received.
  • FIC and EAC were used, and the concept of Base DP / PLP was assumed. As described above, the FIC, EAC, and Base DP / PLP concepts may not be utilized.
  • 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 proposes a physical profile (or system) that is optimized to minimize receiver complexity while achieving the performance required for a particular application.
  • the physical profile (PHY profile) base, handheld, advanced profile
  • PHY profile base, handheld, advanced profile
  • the physical profile (PHY profile) base, handheld, advanced profile) according to an embodiment of the present invention is a subset of all structures that a corresponding receiver must implement, and most functional blocks , But slightly different in certain blocks and / or parameters.
  • a future profile may be multiplexed with a profile present in a single radio frequency (RF) channel through a future extension frame (FEF).
  • RF radio frequency
  • FEF future extension frame
  • the base profile and the handheld profile according to an embodiment of the present invention mean a profile to which MIMO is not applied, and the advanced profile means a profile to which MIMO is applied.
  • 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.
  • 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 profile of the present invention can be changed according to the intention of the designer.
  • 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.
  • EAC 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.
  • 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
  • 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
  • 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
  • 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
  • a broadcast signal transmission apparatus for a next generation broadcast service includes an input format block 1000, a bit interleaved coding & modulation (BICM) block 1010, and a frame building block 1020, orthogonal frequency division multiplexing (OFDM) generation block (OFDM generation block) 1030, and signaling generation block 1040. The operation of each block of the broadcast signal transmission apparatus will be described.
  • BICM bit interleaved coding & modulation
  • OFDM generation block orthogonal frequency division multiplexing
  • signaling generation block 1040 The operation of each block of the broadcast signal transmission apparatus will be described.
  • IP streams / packets and MPEG2-TS may be main input formats, and other stream types are treated as general streams.
  • 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.
  • 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.
  • the input format block 1000 may convert a data stream input through one or more physical paths (DPs) into a baseband frame (BBF).
  • the input format block 1000 may perform null packet deletion or header compression on the input data (TS or IP input stream) to increase transmission efficiency. 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 null packet deletion block 3030 may be used only for the TS input stream.
  • BICM block 1010 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. For the advanced profile, MIMO encoding is performed at BICM block 1010 and additional data paths are added to the output for MIMO transmission.
  • the frame building block 1020 may map data cells of the input data pipe to OFDM symbols within one frame and perform frequency interleaving for frequency domain diversity, particularly to prevent frequency selective fading channels.
  • the frame building block may include a delay compensation block, a cell mapper, and a frequency interleaver.
  • the delay compensation block 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 side.
  • PLS data is delayed by the data pipe.
  • the delay of the BICM block is mainly due to the time interleaver.
  • 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 may map a PLS, a data pipe, an auxiliary stream, a dummy cell, and the like to an active carrier of an OFDM symbol in a frame.
  • the basic function of the cell mapper is to map the data cells generated by time interleaving for each data pipe, PLS cell, if present, to an array of active OFDM cells corresponding to each OFDM symbol in one frame. It is. 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 Service signaling data
  • the cell mapper operates according to the structure of the frame structure and the dynamic information generated by the scheduler.
  • the frequency interleaver may provide frequency diversity by randomly interleaving data cells received from the cell mapper.
  • the frequency interleaver 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.
  • OFDM generation block 1030 modulates the OFDM carrier, inserts pilots, and generates time-domain signals for transmission by the cells generated by the frame building block. In addition, the block sequentially inserts a guard interval and applies a PAPR reduction process to generate a final RF signal.
  • the OFDM generation block 1030 may apply the 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 present invention provides a set of various FFT sizes, guard interval lengths, and corresponding pilot patterns.
  • the present invention can multiplex the signals of a plurality of broadcast transmission / reception systems in the time domain so that data of two or more different broadcast transmission / reception systems providing a broadcast service can 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.
  • 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.
  • Signaling information according to an embodiment of the present invention may include PLS data.
  • PLS provides a means by which a receiver can connect to a physical layer data pipe.
  • PLS data consists of PLS1 data and PLS2 data.
  • PLS1 data is the first set of PLS data delivered to the FSS in frames with fixed size, coding, and modulation that convey basic information about the system as well as the parameters needed to decode the PLS2 data.
  • PLS1 data provides basic transmission parameters including the parameters required to enable reception and decoding of PLS2 data.
  • 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. Details of the PLS data will be described later.
  • the aforementioned blocks may be omitted or may be replaced by blocks having similar or identical functions.
  • FIG. 19 illustrates a BICM block according to an embodiment of the present invention.
  • the BICM block illustrated in FIG. 19 corresponds to an embodiment of the BICM block 1010 described with reference to FIG. 18.
  • 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 processing block 5000 of the BICM block to which MIMO is not applied may include a data FEC encoder 5010, a bit interleaver 5020, a constellation mapper 5030, a signal space diversity (SSD) encoding block 5040, It may include a time interleaver 5050.
  • a data FEC encoder 5010 may include a data FEC encoder 5010, a bit interleaver 5020, a constellation mapper 5030, a signal space diversity (SSD) encoding block 5040, It may include 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 to which MIMO is applied may include a data FEC encoder, a bit interleaver, a constellation mapper, and a time interleaver.
  • the processing block 5000-1 is different from the processing block 5000 of the BICM to which MIMO is not applied 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.
  • 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.
  • the MIMO encoding mode of the present invention may be defined as full-rate spatial multiplexing (FR-SM).
  • FR-SM encoding can provide increased capacity with a relatively small complexity increase at the receiver side.
  • the MIMO encoding scheme of the present invention does not limit the antenna polarity arrangement.
  • MIMO processing is applied at the data pipe level.
  • NUQ e 1, i
  • the pair of constellation mapper outputs 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. 20 illustrates a BICM block according to another embodiment of the present invention.
  • the BICM block illustrated in FIG. 20 corresponds to an embodiment of the BICM block 1010 described with reference to FIG. 18.
  • the 20 shows a BICM block for protection of PLS, EAC, and FIC.
  • 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.
  • the LDPC parity puncturing block may perform puncturing on the PLS1 data and the PLS2 data.
  • 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.
  • 21 is a diagram illustrating a process of bit interleaving of a PLS according to an embodiment of the present invention.
  • Each shortened and punctured PLS1 and PLS2 coding block is interleaved one bit as shown in FIG.
  • Each block of additional parity bits is interleaved with the same block interleaving structure but is interleaved separately.
  • N FEC is the length of each LDPC coding block after shortening and puncturing.
  • the FEC coding bits are written to the interleaver sequentially in the column direction.
  • the number of columns is equal to the modulation order.
  • bits for one constellation symbol are sequentially read in the row direction and input to the bit demultiplexer block. These actions continue to the end of the column.
  • Each bit interleaving group is demultiplexed by one bit in the group before constellation mapping.
  • the bit group read from the bit interleaving block is matched to the QAM symbol without any action.
  • i is a bit group index corresponding to a column index in bit interleaving.
  • FIG. 22 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. 18.
  • 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 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 9030 corresponds to a signal input to a broadcast signal transmission apparatus and may be MPEG-TS, IP stream (v4 or v6), and GS.
  • 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. 23 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.
  • the preamble signaling data carries 21 bits of information necessary for enabling the receiver to access PLS data and track the data pipe in a frame structure. Details of the preamble signaling data are as follows.
  • FFT_SIZE This 2-bit field indicates the FFT size of the current frame in the frame group as described in Table 1 below.
  • 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.
  • 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 3.
  • 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.
  • 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.
  • 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.
  • 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 4. 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 5.
  • 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 by 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 6 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.
  • 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.
  • 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 7 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 8 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 9 below.
  • DP_MOD This 4-bit field indicates the modulation used by the associated data pipe. Modulation is signaled according to Table 10 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 11 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 13 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 14 below.
  • 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 16 below.
  • 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 18 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 19 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 20 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.
  • 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.
  • 26 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_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 21 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. 27 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.
  • 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 figure.
  • 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.
  • 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).
  • 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.
  • P ldpc Parity bit
  • I ldpc BCH-encoded BBF
  • I ldpc I ldpc
  • 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.
  • 29 illustrates time interleaving according to an embodiment of the present invention.
  • 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 ) with the largest value being 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 26 below, there are three options for time interleaving (except for the additional option of omitting time interleaving).
  • Each time interleaving group includes one time interleaving block and is mapped to one or more frames.
  • each time interleaving group is divided into a plurality of time interleaving blocks and directly mapped to one frame.
  • Each time interleaving block may use a full time interleaving memory to provide a maximum bit rate for the data pipe.
  • FIG. 30 illustrates the basic operation of a twisted row-column block interleaver according to an embodiment of the present invention.
  • the cell position to be read is coordinate Calculated by
  • 31 illustrates the operation of a twisted row-column block interleaver according to another embodiment of the present invention.
  • FIG. 31 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.
  • a frequency interleaver operating on data corresponding to one OFDM symbol is to provide frequency diversity by randomly interleaving data cells received from a frame builder. To obtain the maximum interleaving gain in one frame, different interleaving sequences are used for every OFDM symbol pair consisting of two sequential OFDM symbols.
  • the frequency interleaver may include an interleaving address generator for generating an interleaving address for applying to data corresponding to a symbol pair.
  • 32 is a block diagram of an interleaving address generator composed of a main-PRBS generator and a sub-PRBS generator according to each FFT mode according to an embodiment of the present invention.
  • the interleaving process for an OFDM symbol pair uses one interleaving sequence and is described as follows.
  • the available data cells (output cells from the cell mapper) to be interleaved in one OFDM symbol O m, l are About Is defined as
  • x m, l, p is the p th cell of the l th OFDM symbol in the m-th frame
  • interleaved data cells About Is defined as
  • the interleaved OFDM symbol pair is for the first OFDM symbol of each pair For the second OFDM symbol of each pair Is given by At this time, H l (p) is an interleaving address generated by the PRBS generator.
  • 33 is a diagram illustrating main-PRBS used in all FFT modes according to an embodiment of the present invention.
  • 34 illustrates sub-PRBS used for interleaving address and FFT modes for frequency interleaving according to an embodiment of the present invention.
  • (a) shows a sub-PRBS generator and (b) shows an interleaving address for frequency interleaving.
  • the cyclic shift value according to an embodiment of the present invention may be referred to as a symbol offset.
  • 35 illustrates a writing operation of a time interleaver according to an embodiment of the present invention.
  • 35 shows the writing operation for two TI groups.
  • the block shown on the left side of the figure represents a TI memory address array, and the block shown on the right side of the figure shows that virtual FEC blocks are placed at the front of the TI group for two consecutive TI groups. It represents the writing operation when two and one are inserted respectively.
  • PLP physical layer pipe
  • the PLP mode may include a single PLP mode or a multiple PLP mode according to the number of PLPs processed by the broadcast signal transmitter or the broadcast signal transmitter.
  • the single PLP mode refers to a case where the number of PLPs processed by the broadcast signal transmission apparatus is one.
  • the single PLP mode may be referred to as a single PLP.
  • the multiple PLP mode is a case where the number of PLPs processed by the broadcast signal transmission apparatus is one or more, and the multiple PLP mode may be referred to as multiple PLPs.
  • time interleaving using different time interleaving methods according to the PLP mode may be referred to as hybrid time interleaving.
  • Hybrid time interleaving according to an embodiment of the present invention is applied to each PLP (or at a PLP level) in the multiple PLP mode.
  • 36 is a table showing interleaving types applied according to the number of PLPs.
  • the PLP mode is multiple PLPs.
  • a convolutional interleaver (CI) and a block interleaver (BI) may be applied.
  • the convolution interleaver may perform inter frame interleaving
  • the block interleaver may perform intra frame interleaving.
  • 37 is a block diagram including the first embodiment of the above-described hybrid time interleaver structure.
  • the hybrid time interleaver according to the first embodiment may include a block interleaver (BI) and a convolution interleaver (CI).
  • the time interleaver of the present invention may be located between a BICM chain block and a frame builder.
  • the BICM chain block illustrated in FIGS. 37 to 38 may include blocks excluding the time interleaver 5050 of the processing block 5000 of the BICM block illustrated in FIG. 19. 37 to 38 may perform the same role as the block building block 1020 of FIG. 18.
  • 38 is a block diagram including a second embodiment of the above-described hybrid time interleaver structure.
  • each block included in the second embodiment of the hybrid time interleaver structure is the same as the content described with reference to FIG. 37.
  • Whether to apply the block interleaver according to the second embodiment of the hybrid time interleaver structure may be determined according to the PLP_NUM value.
  • Each block of the hybrid time interleaver according to the second embodiment may perform operations according to the embodiment of the present invention.
  • 39 is a block diagram including the first embodiment of the structure of the hybrid time deinterleaver.
  • the convolutional deinterleaver of the hybrid time deinterleaver may perform inter frame deinterleaving, and the block deinterleaver may perform intra frame deinterleaving. Details of inter frame deinterleaving and intra frame deinterleaving are the same as those described above.
  • the BICM decoding block illustrated in FIGS. 39 to 40 may perform a reverse operation of the BICM chain block of FIGS. 37 to 38.
  • 40 is a block diagram including the second embodiment of the structure of the hybrid time deinterleaver.
  • the hybrid time deinterleaver according to the second embodiment may perform an operation corresponding to the reverse operation of the hybrid time interleaver according to the second embodiment. Operation of each block included in the second embodiment of the hybrid time deinterleaver structure may be the same as the content described with reference to FIG. 39.
  • Whether the block deinterleaver according to the second embodiment of the hybrid time deinterleaver structure is applied may be determined according to a PLP_NUM value.
  • Each block of the hybrid time deinterleaver according to the second embodiment may perform operations according to the embodiment of the present invention.
  • FIG. 41 is a diagram illustrating 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 subtitle 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 ISO BMFF format may be a segment of Moving Picture Expert Group (MPEG) -DASH (Dynamic Adaptive Streaming over HTTP) or a Media Processing Unit (MPU) of MPEG Media Transport (MMT).
  • MPEG Moving Picture Expert Group
  • MPU Media Processing Unit
  • MMT MPEG Media Transport
  • signaling data, ESG data, NRT content data, and / or encapsulated data in ISO BMFF format may be encapsulated in an application layer transport protocol packet supporting real-time object transmission.
  • data encapsulated in the form of ISO BMFF may be encapsulated in a Real-Time Object Delivery over Unidirectional Transport (ROUTE) and 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 improved 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 the 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 is associated with specific attributes, metadata, and timing directive 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 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 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, LCT transport session, and / or 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 over the same LCT transport session, they can be distinguished by the PSI bits in the LCT. This mode of operation is suitable for FLUTE compatible deployments.
  • 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 an application through a delivery object cache.
  • the implementation of this cache may vary depending on the application.
  • 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.
  • LCT packets In the sender operation of the ROUTE protocol, a ROUTE session is established that carries LCT packets. 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 may be delivered statically in the LCT Session Instance Description (LSID) and dynamically delivered as LCT extension headers in compound object 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. In any case, 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 may be sent 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.
  • ROUTE sessions may or may not have boundaries from a temporary 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 may include 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 join a session at the IP / UDP level. And other information necessary to consume.
  • 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).
  • the transport sessions ie, LCT transport sessions or LCT sessions
  • Source flows may transmit source data.
  • the repair flow may transmit 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 that includes LCT transport sessions, and may be communicated through external means of the ROUTE session.
  • the LSID may be delivered via unicast or other ROUTE session.
  • 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. LSID elements can be updated appropriately using version attributes as well as validation attributes and expiration attributes. 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.
  • a validity attribute may indicate the date and / or time when the LSID element becomes valid.
  • a validity attribute may or may not exist. If there is no validity attribute, the receiver may assume that the LSID element version is valid immediately.
  • An expiration attribute may indicate the date and / or time when the LSID element expires.
  • An expansion 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 Tsi attribute specifies a transport session identifier. Session identifiers do not have a value of zero.
  • the source flow element may include information about the source flow transmitted through the transport session.
  • the repair flow element may include information on the repair flow transmitted through the transport session.
  • the data encapsulated in 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 may be delivered to a 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 transport frame or a specific data pipe (hereinafter referred to as DP) of a transport frame or a frame delivered to a physical layer of a next generation broadcast transmission system and a broadcast network according to the 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. 42 illustrates a data structure of file-based multimedia content according to an embodiment of the present invention.
  • File-based multimedia content refers to multimedia content consisting of at least one file.
  • Multimedia content such as a broadcast program
  • the presentation may include at least one object.
  • the object may be a file.
  • the object may include at least one fragment.
  • Fragment according to an embodiment of the present invention refers to a data unit that can be independently decoded and reproduced without dependency on previous data.
  • the fragment containing the video data starts with an IDR Picture, and the header data for parsing the media data also has no dependency on the preceding fragment.
  • the fragment according to an embodiment of the present invention may be divided and transmitted in units of at least one transport block.
  • a transport block according to an embodiment of the present invention means a minimum data unit that can be encoded and transmitted independently without dependency on prior data.
  • the transport block may be a meaningful data unit in a GOP unit or chunk unit of a variable size.
  • the transport block may include at least one chunk composed of the same media data, such as a GOP of video data. Chunk may refer to a segment of content.
  • the transport block may include at least one source block.
  • the GOP is a basic unit that performs coding used in video coding, and is a data unit of variable size representing a set of frames including at least one I-frame.
  • the GOP since the media data is independently transmitted in a unit of an object internal structure which is a meaningful data unit, the GOP may include an open GOP and a closed GOP.
  • a B-frame within one GOP may refer to an I-frame or P-frame of an adjacent GOP.
  • Open GOP can significantly increase coding efficiency.
  • a B-frame or a P-frame refers only to frames within that GOP, not to frames outside of that GOP.
  • the transport block may include at least one data, and each data may have the same or different media type.
  • the media type may include an audio type and a video type. That is, the transport block may include at least one data having different media types together as in the case of audio and video.
  • the fragment according to an embodiment of the present invention may include a fragment header and a fragment payload.
  • the fragment header may include timing information and indexing information for parsing the above-described chunks.
  • the fragment header may consist of at least one transport block.
  • the fragment header may be included in one transport block.
  • at least one chunk data constituting the fragment payload may be included in at least one transport block.
  • the fragment header and the fragment payload may be included in at least one transport block, respectively.
  • the transport block according to an embodiment of the present invention may be divided into at least one symbol. At least one symbol may be packetized.
  • the broadcast signal transmission apparatus according to an embodiment of the present invention may packetize at least one symbol into an LCT packet.
  • the broadcast signal transmitting apparatus may transmit packetized data to the broadcast signal receiving apparatus.
  • FIG. 43 is a diagram illustrating a media segment configuration of MPEG-DASH to which a data structure is applied according to an embodiment of the present invention.
  • FIG. 43 there is shown an embodiment in which a data structure according to an embodiment of the present invention is applied to a media segment of MPEG-DASH.
  • the broadcast signal transmission apparatus provides a seamless real-time streaming service by retaining multimedia contents having a plurality of qualities in a server and providing multimedia contents suitable for a user's broadcasting environment and an environment of a broadcast signal receiving apparatus. can do.
  • the apparatus for transmitting broadcast signals may provide a real time streaming service using MPEG-DASH.
  • the broadcast signal transmitting apparatus is a broadcast signal receiving apparatus using a ROUTE protocol for a media presentation description (MPD) in XML format and a multimedia content for transmission in binary format, and is dynamically changed according to the broadcast environment and the environment of the broadcast signal receiving apparatus. Can be sent.
  • MPD media presentation description
  • the MPD has a hierarchical structure and may include information on structural functions and roles of each layer.
  • the segment may comprise a media segment.
  • the media segment refers to a data unit in the form of a media-related object separated by quality and time to be transmitted to a broadcast signal receiving apparatus to support a streaming service.
  • the media segment may include information on the media stream, information on how to access the media stream in the segment, such as at least one access unit, presentation time or index. have.
  • the media segment may be divided into at least one subsegment by a segment index.
  • the fragment header may include a segment index box (sidx) and a movie fragment box (moof).
  • the segment index box may provide initial presentation time, data offset, and stream access point (SAP) information of media data existing in the fragment.
  • the movie fragment box may include metadata about the media data box mdat.
  • the movie fragment box may include timing, indexing, decoding information, and the like, of a media data sample in the fragment.
  • the encoded media data is included in chunks in the media data box (mdat) corresponding to the fragment payload. As described above, samples corresponding to the same track may be included in one chunk.
  • the broadcast signal transmission apparatus may generate at least one transport block by dividing the fragment.
  • the broadcast signal transmission apparatus may include the fragment header and the payload data in different transport blocks to distinguish the fragment header and the payload data.
  • the broadcast signal transmission apparatus may generate a transport block partitioned in chunks in order to divide and transmit data in the fragment payload. That is, the broadcast signal transmission apparatus according to an embodiment of the present invention may generate a transport block so that the boundary of the chunk and the boundary point of the transport block coincide.
  • the broadcast signal transmission apparatus may generate at least one symbol by dividing at least one transport block.
  • the length of all symbols in an object may be the same.
  • the last symbol of the transport block may include padding bytes.
  • the broadcast signal transmission apparatus may packetize at least one symbol.
  • the broadcast signal transmission apparatus may generate an LCT packet based on at least one symbol.
  • the broadcast signal transmission apparatus may transmit the generated LCT packet.
  • the apparatus for transmitting broadcast signals generates a fragment header after generating a fragment payload first to generate a fragment.
  • the broadcast signal transmission apparatus may generate a transport block corresponding to the media data in the fragment payload.
  • at least one transport block corresponding to the media data included in the media data box mdat may be sequentially generated in chunk units. Then, the broadcast signal transmission apparatus may generate a transport block corresponding to the fragment header.
  • the broadcast signal transmission apparatus may transmit a transport block generated in order to transmit media content in real time broadcasting according to a generation order.
  • the broadcast signal receiving apparatus parses the fragment payload after parsing the fragment header first.
  • the broadcast signal transmission apparatus may transmit the parsed data in a parsing order.
  • FIG 44 is a diagram showing the structure of an LCT packet for transmitting a file according to an embodiment of the present invention.
  • the application layer transport session may consist of a combination of IP address and port number. If the application layer transport session is a ROUTE protocol, the ROUTE session may consist of at least one Layered Coding Transport (LCT) sessions. For example, when delivering one media component through one LCT transport session, at least one media component may be multiplexed and transmitted through one application layer transport session. In addition, at least one transport object may be delivered through one LCT transport session.
  • LCT Layered Coding Transport
  • each field of the LCT packet indicates the following information.
  • the LCT packet includes the LCT version number field (V), Congestion control flag field (C), Reserved field (R), Transport Session Identifier flag field (S), Transport Object Identifier flag field (O), and Half-word flag field (H). ), Sender Current Time present flag field (T), Expected Residual Time present flag field (R), Close Session flag field (A), Close Object flag field (B), LCT header length field (HDR_LEN), Codepoint field (CP) ), A Congestion Control Information field (CCI), a Transport Session Identifier field (TSI), a Transport Object Identifier field (TOI), a Header Extensions field, a FEC Payload ID field, and / or an Encoding Symbol (s) field.
  • V LCT version number field
  • C Congestion control flag field
  • R Reserved field
  • S Transport Session Identifier flag field
  • OF Transport Object Identifier flag field
  • H Half-word flag field
  • the LCT version number field V may indicate a protocol version number.
  • the LCT version number field V may indicate the LCT version number.
  • the LCT version number field V of the LCT header may be interpreted as a ROUTE version number field.
  • the version of ROUTE implicitly may use version '1' of the LCT building block.
  • the version number may be '0001b'.
  • the congestion control flag field C may indicate the length of the congestion control information field.
  • the reserved field R may be a protocol-specific indication field (PSI).
  • PSI Protocol-Specific Indication field
  • the PSI field may indicate whether the current packet is a soap packet or an FEC repair packet. Since the ROUTE source protocol only transmits source packets, the PSI field may be set to '10b'.
  • the Transport Session Identifier flag field S may indicate the length of the Transport Session Identifier field.
  • the Transport Object Identifier flag field O may indicate the length of the Transport Object Identifier field.
  • an object may mean one file, and the TOI is identification information of each object, and a file whose TOI is 0 is called an FDT.
  • the Half-word flag field H indicates whether to add half-word (16 bits) to the length of the TSI and TOI fields.
  • the sender current time present flag field T may indicate whether a sender current time (SCT) exists.
  • the SCT may be included to indicate to the sender how long the session is to be processed.
  • the Expected Residual Time present flag field R may indicate whether an Expected Residual Time (ERT) field exists.
  • the ERT may be included to indicate to the sender how long the session / object transmission will last.
  • the Close Session flag field (A) indicates that the session is about to end or is about to end.
  • the Close Object flag field B indicates that the object being transmitted has finished or is about to be terminated.
  • the LCT header length field (HDR_LEN) may indicate the total length of the LCT header in 32-bit word units.
  • the Codepoint field may indicate the type of payload carried by the current packet. By type of payload, an additional payload header can be added before the payload data.
  • the Congestion Control Information field (CCI) is used to transmit congestion control information such as layer numbers, logical channel numbers, and sequence numbers.
  • the CCI field in the LCT header may include necessary Congestion Control Information.
  • the Transport Session Identifier field is a unique identifier of the session.
  • the TSI may uniquely identify the session among all sessions sent from a particular sender.
  • the TSI field may identify a transport tax in ROUTE.
  • the contents of the transport tax may be provided by the LSD Session Instance description (LSID).
  • LSID LSD Session Instance description
  • the LSID may define what is transmitted in each LCT transport session of the ROUTE session. Each transport session can be uniquely identified by the TSI in the LCT header.
  • the LSID may be transmitted through the same ROUTE session including LCT transmission sessions, and may also be transmitted through a communication network, a broadcasting network, an internet network, a cable network, and / or a satellite network. The means by which the LSID is transmitted is not limited to this.
  • the LSID may be transmitted through a specific LCT transport session in which the value of TSI is '0'.
  • the LSID may include signaling information about all transport sessions transmitted through the ROUTE session.
  • the LSID may include LSID version information and information about the validity of the LSID.
  • the LSID may include transport session information that provides information about the LCT transport session.
  • the transport session information includes TSI information identifying a transport session, source flow information transmitted in the corresponding TSI, and information on the source flow in which the source data is transmitted, and a repair flow transmitted in the corresponding TSI and in which repair data is transmitted. It may include repair flow information for providing information on the transport session property information including additional property information on the transport session.
  • the TOI may indicate which object in the session the current packet is related to.
  • the TOI field may indicate which object in the current session belongs to the payload of the current packet.
  • the mapping of the TOI field to the object may be provided by the Extended FDT.
  • Extended FDT can specify the specifics of the file delivery data. This may be an extended FDT instance.
  • the extended FDT can be used to generate FDT-equivalent descriptions for the delivery object along with the LCT packet header.
  • the Header Extensions field is used as an LCT header extension part for transmitting additional information.
  • the Header Extensions field in the LCT may be used to accommodate optional header fields that are not always used or have a variable size.
  • the EXT_TIME extension field may be used to transmit some type of timing information.
  • the EXT_TIME extension field may include general purpose timing information, Sender Current Time (SCT), Expected Residual Time (ERT), and / or Sender Last Change (SLC) time extensions.
  • SCT Sender Current Time
  • ERT Expected Residual Time
  • SLC Sender Last Change
  • the EXT_TIME extension can be used for timing information with narrower applicability.
  • the EXT_TIME extension field may be defined for single protocol instantiation. In this case, the EXT_TIME extension may be described separately.
  • the FEC Payload ID field 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 (s) field may include data of a transmission block or an encoding symbol.
  • the LCT packet according to an embodiment of the present invention may include a Real Time Support Extension field (EXT_RTS) which is an extension of the Header Extensions field.
  • EXT_RTS may include split generation and consumption information of a file, and may be expressed as fragment information hereinafter.
  • the LCT packet according to an embodiment of the present invention includes EXT_RTS as an extension of the Header Extensions field, thereby supporting real-time file transmission and consumption information in a manner compatible with existing LCT.
  • the fragment information EXT_RTS may include a header extension type field (HET), a fragment start indicator field (SI), a fragment header flag field (FH), and a fragment header complete indicator field (FC). Can be.
  • HET header extension type field
  • SI fragment start indicator field
  • FH fragment header flag field
  • FC fragment header complete indicator field
  • the Header Extension Type field indicates the type of the corresponding header extension.
  • the HET field may be an integer of 8 bits. Basically, in the LCT, when the HET has a value between 0 and 127, there is a variable length Header Extension in 32-bit word units, and the length is described in the Header Extension Length field (HEL) following the HET. If the HET has a value between 128 and 255, the header extension has a 32-bit fixed length.
  • the FH field indicates that the LCT packet includes a fragment header part.
  • the fragment header has a characteristic that the generation order and the consumption order are different from the fragment payload.
  • the broadcast signal receiving apparatus may regenerate fragments by rearranging the transport blocks received in the order of generation based on the FH field in the order of consumption.
  • the FC field may indicate that the packet includes the last data of the fragment. For example, if the fragment header is transmitted after the fragment payload is first transmitted, the FC field may indicate that the FC field includes the last data of the fragment header. If the fragment payload is transmitted after the fragment header is transmitted first, the FC field may indicate that the fragment field contains the last data of the fragment payload. In the following description, the fragment payload is first transmitted and then the fragment header is transmitted.
  • the broadcast signal reception apparatus When the broadcast signal reception apparatus receives the packet in which the FC field is set to 1, the broadcast signal reception apparatus recognizes that the reception of the fragment header is completed and may restore the fragment by combining the fragment header and the fragment payload.
  • the Padding Bytes field indicates the number of padding bytes included in the corresponding LCT packet.
  • all LCT packets corresponding to one object must have the same length.
  • the last symbol of each transport block may have a different length. Accordingly, the apparatus for transmitting broadcast signals according to an embodiment of the present invention can support real-time file transmission in a manner compatible with existing LCT by using a fixed length packet by filling the remaining portion of the packet with padding bytes.
  • 45 is a diagram showing the structure of an LCT packet for transmitting a file according to an embodiment of the present invention.
  • the fragment information EXT_RTS may include a fragment header length field FHL instead of the FC field described with reference to FIG. 44.
  • the FHL field may provide information on whether or not reception of the fragment is completed by indicating the number of symbols constituting the fragment.
  • the FHL field may indicate the total number of symbols corresponding to each fragment including both the fragment header and the fragment payload.
  • the FHL field may indicate the total number of symbols of the later transmission of the fragment header and the fragment payload.
  • the FHL field may indicate the total number of symbols corresponding to the fragment header.
  • the FHL field may indicate the length of the fragment header.
  • the fragment payload is first transmitted and then the fragment header is transmitted.
  • the broadcast signal receiving apparatus may receive an LCT packet including a fragment header corresponding to the number of symbols indicated in the FHL field.
  • the broadcast signal reception apparatus may identify that the reception of the fragment header is completed by checking the number of reception of the LCT packet including the fragment header.
  • the broadcast signal reception apparatus may identify the completion of the reception of the fragment header by checking the number of transport blocks corresponding to the fragment header.
  • 46 is a diagram illustrating a structure of a packet including object type information according to another embodiment of the present invention.
  • the object type information may identify the type of the object currently transmitted by the packet using the LCT Header Extension field.
  • the object type information using the LCT header extension may be applied to a packet for a transport protocol such as a realtime protocol (RTP).
  • RTP realtime protocol
  • the object type information may include a header extension type (HET) field, a type field, and / or a reserved field.
  • HET header extension type
  • the HET field may be an integer of 8 bits and may indicate the type of a corresponding header extension.
  • the HET field may identify the type of the corresponding header extension as one unique value among values between 128 and 255.
  • the header extension may have a fixed length of 32 bits.
  • the Type field may indicate the type of an object to which the current LCT packet or LCT packets to which the same TOI is transmitted are transmitted.
  • the Type field may be expressed as object type information.
  • the object type may include a regular file, an initialization segment, a media segment, and a self-initializing segment according to the value of the object type information.
  • the object type indicates "Regular File”. If the value of the object type information is "0x01”, the object type indicates the "Initialization Segment”. If the value of the object type information is "0x10”, the object type indicates "Media Segment”. If the value of the object type information is "0x11”, the object type is "Self-Initiation Segment (Self-)”. Initializing Segment) ”.
  • the Reserved field may be a field reserved for future use.
  • 47 is a diagram illustrating a structure of a broadcast signal receiving apparatus using object type information according to another embodiment of the present invention.
  • the packet filter C32010 may identify object type information from at least one received packet and classify the object type information so as to perform a procedure corresponding to each object type based on the object type information.
  • the packet filter C32010 initializes the data of the LCT packet through the segment buffer C32031 and initializes the segmentation parser C32051. If the object type information is "2", the packet filter (C32010) sends the data of the LCT packet through the segment buffer (segment buffer) (Segment buffer) (C32032). If the transport object type information is “3”, the packet filter C32010 sends the data of the LCT packet to the segment buffer segment buffer (segment buffer) (C32033). Can be delivered to the self-initializing segment parser C32053.
  • Segment buffer A segment buffer (segment buffer) C32030 may receive data of an LCT packet from a packet filter and store the data for a predetermined time. Segment buffer Segment buffer (Segment buffer) (C32030) can exist as a component, and several segment buffers Segment buffer (Segment buffer) (C32031, C32032, C32033).
  • the parser C32050 may generate at least one access unit and initialization information for parsing at least one object and accessing the presentation based on the object type information.
  • the Parser (C32050) is an Initialization Segment Parser (C32051), Media Segment Parser (C32052), and / or a Self-initializing segment parser (C32053). It may include.
  • Initialization Segment Parser parses the initialization segment stored in the segment buffer (segment buffer) (C32031) and initializes information for accessing the presentation.
  • the Initialization Segment Parser receives the initialization segment from the Self-initializing segment parser (C32053) and accesses the presentation. Initialization information can be generated.
  • the media segment parser C32052 parses a media segment stored in a segment buffer segment buffer (segment buffer) C32032, and includes information of a media stream, at least one access unit, and a presentation time. information about how to access media presentations within that segment, such as time) or indexes.
  • the Media Segment Parser C32052 receives a media segment from a Self-initializing segment parser C32053 and receives information of a media stream, at least one access unit, and a presentation time or You can create information about how to access Media Media Presentations within that segment, such as indexes.
  • the self-initializing segment parser (C32053) parses and initializes the self-initializing segments stored in the segment buffer segment buffer (segment buffer) (C32033). Segments and media segments can be created.

Abstract

본 발명의 방송 신호를 수신하는 방법은 제1 채널 및 제2 채널에 대응하는 복수의 세션들을 전송하는 상기 방송 신호를 수신하는 단계, 상기 제1 채널 및 상기 제2 채널에 대응하는 상기 복수의 세션들을 함께 오픈하고, 상기 복수의 세션들에 포함된 방송 서비스 데이터를 획득하는 단계, 상기 오픈된 복수의 세션들 중 상기 제1 채널에 대응하는 적어도 하나의 세션에 포함된 방송 서비스 데이터를 디코딩하는 단계 및 상기 제1 채널이 상기 제2 채널로 전환되는 경우, 상기 오픈된 복수의 세션들 중 상기 제2 채널에 대응하는 적어도 하나의 세션에 포함된 방송 서비스 데이터를 디코딩하는 단계를 포함할 수 있다.

Description

방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
본 발명은 방송 신호 송신 장치, 방송 신호 수신 장치, 및 방송 신호 송수신 방법에 관한 것이다.
아날로그 방송 신호 송신이 종료됨에 따라, 디지털 방송 신호를 송수신하기 위한 다양한 기술이 개발되고 있다. 디지털 방송 신호는 아날로그 방송 신호에 비해 더 많은 양의 비디오/오디오 데이터를 포함할 수 있고, 비디오/오디오 데이터뿐만 아니라 다양한 종류의 부가 데이터를 더 포함할 수 있다.
즉, 디지털 방송 시스템은 HD(High Definition) 이미지, 멀티채널(multi channel, 다채널) 오디오, 및 다양한 부가 서비스를 제공할 수 있다. 그러나, 디지털 방송을 위해서는, 많은 양의 데이터 전송에 대한 데이터 전송 효율, 송수신 네트워크의 견고성(robustness), 및 모바일 수신 장치를 고려한 네트워크 유연성(flexibility)이 향상되어야 한다.
상술한 문제점을 해결하기 위하여 본 발명의 일 실시예에 따른 방송 신호 수신 방법은, 제1 채널 및 제2 채널에 대응하는 복수의 세션들을 전송하는 상기 방송 신호를 수신하는 단계, 상기 제1 채널 및 상기 제2 채널에 대응하는 상기 복수의 세션들을 함께 오픈하고, 상기 복수의 세션들에 포함된 방송 서비스 데이터를 획득하는 단계, 상기 오픈된 복수의 세션들 중 상기 제1 채널에 대응하는 적어도 하나의 세션에 포함된 방송 서비스 데이터를 디코딩하는 단계 및 상기 제1 채널이 상기 제2 채널로 전환되는 경우, 상기 오픈된 복수의 세션들 중 상기 제2 채널에 대응하는 적어도 하나의 세션에 포함된 방송 서비스 데이터를 디코딩하는 단계를 포함할 수 있다.
본 발명은 서비스 특성에 따라 데이터를 처리하여 각 서비스 또는 서비스 컴포넌트에 대한 QoS (Quality of Service)를 제어함으로써 다양한 방송 서비스를 제공할 수 있다.
본 발명은 동일한 RF (radio frequency) 신호 대역폭을 통해 다양한 방송 서비스를 전송함으로써 전송 유연성(flexibility)을 달성할 수 있다.
본 발명에 따르면, 모바일 수신 장치를 사용하거나 실내 환경에 있더라도, 에러 없이 디지털 방송 신호를 수신할 수 있는 방송 신호 송신 및 수신 방법 및 장치를 제공할 수 있다.
본 발명은 지상파 방송망과 인터넷 망을 사용하는 차세대 하이브리드 방송을 지원하는 환경에서 차세대 방송 서비스를 효과적으로 지원할 수 있다.
본 발명에 대해 더욱 이해하기 위해 포함되며 본 출원에 포함되고 그 일부를 구성하는 첨부된 도면은 본 발명의 원리를 설명하는 상세한 설명과 함께 본 발명의 실시예를 나타낸다.
도 1 은 본 발명의 일 실시예에 따른 수신기 프로토콜 스택(receiver protocol stack) 을 도시한 도면이다.
도 2 는 본 발명의 일 실시예에 따른 SLT 와 SLS (service layer signaling) 의 관계를 도시한 도면이다.
도 3 은 본 발명의 일 실시예에 따른 SLT 를 도시한 도면이다.
도 4 는 본 발명의 일 실시예에 따른 SLS 부트스트래핑과 서비스 디스커버리 과정을 도시한 도면이다.
도 5 는 본 발명의 일 실시예에 따른 ROUTE/DASH 를 위한 USBD 프래그먼트를 도시한 도면이다.
도 6 은 본 발명의 일 실시예에 따른 ROUTE/DASH 를 위한 S-TSID 프래그먼트를 도시한 도면이다.
도 7 은 본 발명의 일 실시예에 따른 MMT 를 위한 USBD/USD 프래그먼트를 도시한 도면이다.
도 8 은 본 발명의 일 실시예에 따른 링크 레이어 프로토콜 아키텍쳐를 도시한 도면이다.
도 9 는 본 발명의 일 실시예에 따른 링크 레이어 패킷의 베이스 헤더 구조를 도시한 도면이다.
도 10 은 본 발명의 일 실시예에 따른 링크 레이어 패킷의 추가 헤더 구조를 도시한 도면이다.
도 11 은 본 발명의 다른 실시예에 따른 링크 레이어 패킷의 추가 헤더 구조를 도시한 도면이다.
도 12 은 본 발명의 일 실시예에 따른, MPEG-2 TS 패킷을 위한 링크 레이어 패킷의 헤더 구조와, 그 인캡슐레이션 과정을 도시한 도면이다.
도 13 는 본 발명의 일 실시예에 따른 IP 헤더 압축에 있어서, 어댑테이션 모드들의 실시예를 도시한 도면이다(송신측).
도 14 은 본 발명의 일 실시예에 따른 LMT(Link Mapping Table) 및 ROHC-U 디스크립션 테이블을 도시한 도면이다.
도 15 은 본 발명의 일 실시예에 따른 송신기 측의 링크 레이어 구조를 도시한 도면이다.
도 16 는 본 발명의 일 실시예에 따른 수신기 측의 링크 레이어 구조를 도시한 도면이다.
도 17 은 본 발명의 일 실시예에 따른, 링크 레이어를 통한 시그널링 전송 구조를 도시한 도면이다(송/수신측).
도 18은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치의 구조를 나타낸다.
도 19는 본 발명의 일 실시예에 따른 BICM (bit interleaved coding & modulation) 블록을 나타낸다.
도 20은 본 발명의 다른 일 실시예에 따른 BICM 블록을 나타낸다.
도 21는 본 발명의 일 실시예에 따른 PLS의 비트 인터리빙을 과정을 나타낸 도면이다.
도 22는 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치의 구조를 나타낸다.
도 23은 본 발명의 일 실시예에 따른 프레임의 시그널링 계층 구조를 나타낸다.
도 24은 본 발명의 일 실시예에 따른 PLS1 데이터를 나타낸다.
도 25은 본 발명의 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 26는 본 발명의 다른 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 27은 본 발명의 일 실시예에 따른 프레임의 로지컬(logical, 논리) 구조를 나타낸다.
도 28은 본 발명의 일 실시예에 따른 PLS (physical layer signalling) 매핑을 나타낸다.
도 29는 본 발명의 일 실시예에 따른 타임 인터리빙을 나타낸다.
도 30은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 기본 동작을 나타낸다.
도 31는 본 발명의 다른 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 동작을 나타낸다.
도 32는 본 발명의 일 실시예에 따른 각 FFT 모드에 따른 메인-PRBS 제너레이터와 서브-PRBS 제너레이터로 구성된 인터리빙 어드레스 제너레이터의 블록 다이아그램을 나타낸 도면이다.
도 33은 본 발명의 일 실시예에 따른 모든 FFT 모드들에 사용되는 메인-PRBS를 나타낸 도면이다.
도 34은 본 발명의 일 실시예에 따른 프리퀀시 인터리빙을 위한 인터리빙 어드레스 및 FFT 모드들에 사용되는 서브-PRBS를 나타낸 도면이다.
도 35은 본 발명의 일 실시예에 따른 타임 인터리버의 라이팅 (writing) 오퍼레이션을 나타낸다.
도 36는 PLP 개수에 따라 적용하는 인터리빙 타입을 표로 도시한 도면이다.
도 37은 상술한 하이브리드 타임 인터리버 구조의 제 1 실시예를 포함하는 블록도이다.
도 38은 상술한 하이브리드 타임 인터리버 구조의 제 2 실시예를 포함하는 블록도이다.
도 39는 하이브리드 타임 디인터리버의 구조의 제 1 실시예를 포함하는 블록도이다.
도 40은 하이브리드 타임 디인터리버의 구조의 제 2 실시예를 포함하는 블록도이다.
도 41은 본 발명의 일 실시예에 따른 ROUTE 프로토콜 스택을 도시한 도면이다.
도 42는 본 발명의 일 실시예에 따른 파일기반 멀티미디어 콘텐츠의 데이터 구조를 나타낸 도면이다.
도 43은 본 발명의 일 실시예에 따른 데이터 구조를 적용한 MPEG-DASH의 미디어 세그먼트 구성을 나타낸 도면이다.
도 44는 본 발명의 일 실시예에 따른 파일을 전송하기 위한 LCT 패킷의 구조를 나타낸 도면이다.
도 45는 본 발명의 일 실시예에 따른 파일을 전송하기 위한 LCT 패킷의 구조를 나타낸 도면이다.
도 46은 본 발명의 다른 실시예에 따른 오브젝트 타입 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 47은 본 발명의 다른 실시예에 따른 오브젝트 타입 정보를 이용하는 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 48은 본 발명의 다른 실시예에 따른 타입 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 49는 본 발명의 다른 실시예에 따른 경계 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 50은 본 발명의 다른 실시예에 따른 매핑 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 51은 본 발명의 다른 실시예에 따른 그룹핑 정보를 포함하는 LCT 패킷의 구조를 나타낸 도면이다.
도 52는 본 발명의 일 실시예에 따른 세션 및 오브젝트의 그룹핑을 나타낸 도면이다.
도 53은 본 발명의 일 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 54는 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 55는 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 56은 본 발명의 다른 실시예에 따른 우선순위 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 57은 본 발명의 다른 실시예에 따른 우선순위 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 58은 본 발명의 다른 실시예에 따른 오프셋 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 59는 본 발명의 다른 실시예에 따른 RAP (Random Access Point) 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 60은 본 발명의 다른 실시예에 따른 RAP (Random Access Point) 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 61은 본 발명의 다른 실시예에 따른 실시간(Real Time) 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 62는 본 발명의 일 실시예에 따른 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 63은 본 발명의 다른 실시예에 따른 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 64는 본 발명의 다른 실시예에 따른 HTTP Entity header의 구성 방법을 나타낸 도면이다.
도 65는 본 발명의 다른 실시예에 따른 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 66은 본 발명의 다른 실시예에 따른 HTTP Entity header의 구성 방법을 나타낸 도면이다.
도 67은 본 발명의 일 실시예에 따른 풀 방식을 사용한 수신기의 구조도를 나타낸다.
도 68은 상술한 풀 방식을 사용한 수신기 동작의 플로우 차트를 나타낸다.
도 69는 본 발명의 다른 실시예에 따른 풀 방식을 사용한 수신기의 구조도를 나타낸다.
도 70은 상술한 풀 방식을 사용한 수신기 동작의 플로우 차트를 나타낸다.
도 71은 본 발명의 일 실시예에 따른 플래그를 정의한 CMT 및 MPD를 나타낸 도면이다.
도 72는 본 발명의 일 실시예에 따른 풀 방식에 따른 수신기 동작을 나타낸 플로우 차트이다.
도 73은 MPEG DASH 기반의 시스템의 구성도이다.
도 74는 방송망으로 DASH 컨텐츠가 전송되는 경우 수신기 구조를 나타낸다.
도 75는 본 발명의 다른 실시예에 따른 수신기 구조를 나타낸다.
도 76은 본 발명의 일 실시예에 따른 방송 송신 시스템에게 할당된 주파수 범위 내의 PLP와 채널 사이의 관계를 나타낸다.
도 77은 본 발명의 일 실시예에 따른 방송 시스템에서 동일한 주파수 범위 내에 속하는 PLP들의 세션을 오픈하여 채널 전환하는 방법을 나타낸다.
도 78은 본 발명의 일 실시예에 따른 방송 시스템에서 다른 주파수 범위 내에 속하는 PLP들의 세션을 오픈하여 채널 전환하는 방법을 나타낸다.
도 79는 본 발명의 일 실시예에 따른 수신기의 멀티미디어 패킷을 수신하고 재생하는 순서를 나타낸다.
도 80은 본 발명의 일 실시예에 따른 채널 전환 속도 개선 방법을 적용한 수신기의 멀티미디어 패킷을 수신하고 재생하는 순서를 나타낸다.
도 81는 본 발명의 일 실시예에 따른 채널 전환 속도 개선 방법을 적용한 수신기의 DASH 미디어 데이터를 재생하는 순서를 나타낸다.
도 82는 본 발명의 일 실시예에 따른 수신기가 세그먼트를 저장하여 채널 전환 속도를 개선하는 방법을 나타낸다.
도 83은 본 발명의 일 실시예에 따른 수신기가 세그먼트에 대한 파싱 결과를 저장하여 채널 전환 속도를 개선하는 방법을 나타낸다.
도 84는 본 발명의 일 실시예에 따른 수신기가 Inter Http Server 또는 Packet Filter로부터 수신된 세그먼트를 저장하여 채널 전환 속도를 개선하는 방법을 나타낸다.
도 85는 본 발명의 일 실시예에 따른 방송 수신기의 동작 방법을 나타낸 도면이다.
본 발명의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 본 발명의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 본 발명의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 본 발명에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 본 발명이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.
본 발명에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 본 발명은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.
본 발명은 차세대 방송 서비스에 대한 방송 신호 송신 및 수신 장치 및 방법을 제공한다. 본 발명의 일 실시예에 따른 차세대 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스, UHDTV 서비스 등을 포함한다. 본 발명은 일 실시예에 따라 비-MIMO (non-Multiple Input Multiple Output) 또는 MIMO 방식을 통해 차세대 방송 서비스에 대한 방송 신호를 처리할 수 있다. 본 발명의 일 실시예에 따른 비-MIMO 방식은 MISO (Multiple Input Single Output) 방식, SISO (Single Input Single Output) 방식 등을 포함할 수 있다.
도 1 은 본 발명의 일 실시예에 따른 수신기 프로토콜 스택(receiver protocol stack) 을 도시한 도면이다.
방송망을 통한 서비스 딜리버리(broadcast service delivery)에 있어 두가지 방법이 있을 수 있다.
첫번째 방법은 MMT (MPEG Media Transport) 에 근거하여, MPU (Media Processing Units) 들을 MMTP (MMT protocol) 을 이용하여 전송하는 것일 수 있다. 두번째 방법은 MPEG DASH 에 근거하여, DASH 세그먼트들을 ROUTE (Real time Object delivery over Unidirectional Transport) 를 이용하여 전송하는 것일 수 있다.
NRT 미디어, EPG 데이터, 및 다른 파일을 포함하는 비시간 컨텐츠는 ROUTE로 전달된다. 시그널은 MMTP 및/또는 ROUTE를 통해 전달될 수 있는 반면, 부트스트랩 시그널링 정보는 SLT (service list table)에 의해 제공된다.
하이브리드 서비스 딜리버리(hybrid service delivery)에 있어서는, HTTP/TCP/IP 상의 MPEG DASH가 브로드밴드 측에서 이용된다. ISO BMFF (base media file format)의 미디어 파일은 딜리버리, 브로드캐스트 및 브로드밴드 딜리버리에 대한 디미어 인캡슐레이션 및 동기화 포맷으로 사용된다. 여기서 하이브리드 서비스 딜리버리란 하나 또는 그 이상의 프로그램 엘레멘트가 브로드밴드 패쓰(path) 를 통하여 전달되는 경우를 말할 수 있다.
서비스는 세 가지 기능 레이어를 이용하여 전달된다. 이들은 피지컬 레이어, 딜리버리 레이어, 서비스 매니지먼트 레이어이다. 피지컬 레이어는 시그널, 서비스 공지, IP 패킷 스트림이 브로드캐스트 피지컬 레이어 및/또는 브로드밴드 피지컬 레이어에서 전송되는 매커니즘을 제공한다. 딜리버리 레이어는 오브젝트 및 오브젝트 플로우 트랜스포트 기능을 제공한다. 이는 브로드캐스트 피지컬 레이어의 UDP/IP 멀티캐스트에서 동작하는 MMTP 또는 ROUTE 프로토콜에 의해 가능하고, 브로드밴드 피지컬 레이어의 TCP/IP 유니캐스트에서 HTTP 프로토콜에 의해 가능하다. 서비스 매니지먼트 레이어는 하위인 딜리버리 및 피지컬 레이어에 의해 실행되는 리니어 TV 또는 HTML5 응용 서비스와 같은 모든 서비스를 가능하게 한다.
본 도면에서 방송(broadcast) 쪽 프로토콜 스택 부분은, SLT 와 MMTP 를 통해 전송되는 부분, ROUTE 를 통해 전송되는 부분으로 나뉘어질 수 있다.
SLT 는 UDP, IP 레이어를 거쳐 인캡슐레이션될 수 있다. 여기서 SLT 에 대해서는 후술한다. MMTP 는 MMT 에서 정의되는 MPU 포맷으로 포맷된 데이터들과 MMTP 에 따른 시그널링 정보들을 전송할 수 있다. 이 데이터들은 UDP, IP 레이어를 거쳐 인캡슐레이션될 수 있다. ROUTE 는 DASH 세그먼트 형태로 포맷된 데이터들과 시그널링 정보들, 그리고 NRT 등의 논 타임드(non timed) 데이터들을 전송할 수 있다. 이 데이터들 역시 UDP, IP 레이어를 거쳐 인캡슐레이션될 수 있다. 실시예에 따라 UDP, IP 레이어에 따른 프로세싱은 일부 또는 전부 생략될 수도 있다. 여기서 도시된 시그널링 정보들(signaling)은 서비스에 관한 시그널링 정보일 수 있다.
SLT 와 MMTP 를 통해 전송되는 부분, ROUTE 를 통해 전송되는 부분은 UDP, IP 레이어에서 처리된 후 링크 레이어(Data Link Layer)에서 다시 인캡슐레이션될 수 있다. 링크 레이어에 대해서는 후술한다. 링크 레이어에서 처리된 방송 데이터는 피지컬 레이어에서 인코딩/인터리빙 등의 과정을 거쳐 방송 신호로서 멀티캐스트될 수 있다.
본 도면에서 브로드밴드(broadband) 쪽 프로토콜 스택 부분은, 전술한 바와 같이 HTTP 를 통하여 전송될 수 있다. DASH 세그먼트 형태로 포맷된 데이터들과 시그널링 정보들, NRT 등의 정보가 HTTP 를 통하여 전송될 수 있다. 여기서 도시된 시그널링 정보들(signaling)은 서비스에 관한 시그널링 정보일 수 있다. 이 데이터들은 TCP, IP 레이어를 거쳐 프로세싱된 후, 링크 레이어에서 인캡슐레이션될 수 있다. 실시예에 따라 TCP, IP, 링크 레이어의 일부 또는 전부는 생략될 수 있다. 이 후 처리된 브로드밴드 데이터는 피지컬 레이어에서 전송을 위한 처리를 거쳐 브로드밴드로 유니캐스트될 수 있다.
서비스는 전체적으로 사용자에게 보여주는 미디어 컴포넌트의 컬렉션일 수 있고, 컴포넌트는 여러 미디어 타입의 것일 수 있고, 서비스는 연속적이거나 간헐적일 수 있고, 서비스는 실시간이거나 비실시간일 수 있고, 실시간 서비스는 TV 프로그램의 시퀀스로 구성될 수 있다.
도 2 는 본 발명의 일 실시예에 따른 SLT 와 SLS (service layer signaling) 의 관계를 도시한 도면이다.
서비스 시그널링은 서비스 디스커버리 및 디스크립션 정보를 제공하고, 두 기능 컴포넌트를 포함한다. 이들은 SLT를 통한 부트스트랩 시그널링과 SLS이다. 이들은 사용자 서비스를 발견하고 획득하는 데 필요한 정보를 나타낸다. SLT는 수신기가 기본 서비스 리스트를 작성하고 각 서비스에 대한 SLS의 발견을 부트스트랩 할 수 있게 해준다.
SLT는 기본 서비스 정보의 매우 빠른 획득을 가능하게 한다. SLS는 수신기가 서비스와 그 컨텐츠 컴포넌트를 발견하고 이에 접속할 수 있게 해준다. SLT 와 SLS 의 구체적 내용에 대해서는 후술한다.
전술한 바와 같이 SLT 는 UDP/IP 를 통해 전송될 수 있다. 이 때, 실시예에 따라 이 전송에 있어 가장 강건한(robust) 방법을 통해 SLT 에 해당하는 데이터가 전달될 수 있다.
SLT 는 ROUTE 프로토콜에 의해 전달되는 SLS 에 접근하기 위한 액세스 정보를 가질 수 있다. 즉 SLT 는 ROUTE 프로토콜에 따른 SLS 에 부트스트래핑할 수 있다. 이 SLS 는 전술한 프로토콜 스택에서 ROUTE 윗 레이어에 위치하는 시그널링 정보로서, ROUTE/UDP/IP 를 통해 전달될 수 있다. 이 SLS 는 ROUTE 세션에 포함되는 LCT 세션들 중 하나를 통하여 전달될 수 있다. 이 SLS 를 이용하여 원하는 서비스에 해당하는 서비스 컴포넌트에 접근할 수 있다.
또한 SLT 는 MMTP 에 의해 전달되는 MMT 시그널링 컴포넌트에 접근하기 위한 액세스 정보를 가질 수 있다. 즉, SLT 는 MMTP 에 따른 SLS 에 부트스트래핑할 수 있다. 이 SLS 는 MMT 에서 정의하는 MMTP 시그널링 메시지(Signaling Message)에 의해 전달될 수 있다. 이 SLS 를 이용하여 원하는 서비스에 해당하는 스트리밍 서비스 컴포넌트(MPU) 에 접근할 수 있다. 전술한 바와 같이, 본 발명에서는 NRT 서비스 컴포넌트는 ROUTE 프로토콜을 통해 전달되는데, MMTP 에 따른 SLS 는 이에 접근하기 위한 정보도 포함할 수 있다. 브로드밴드 딜리버리에서, SLS는 HTTP(S)/TCP/IP로 전달된다.
도 3 은 본 발명의 일 실시예에 따른 SLT 를 도시한 도면이다.
먼저, 서비스 매니지먼트, 딜리버리, 피지컬 레이어의 각 논리적 엔티티간의 관계에 대해서 설명한다.
서비스는 두 기본 타입 중 하나로 시그널링될 수 있다. 첫 번째 타입은 앱 기반 인헨스먼트를 가질 수 있는 리니어 오디오/비디오 또는 오디오만의 서비스이다. 두 번째 타입은 프레젠테이션 및 구성이 서비스의 획득에 의해 실행되는 다운로드 어플리케이션에 의해 제어되는 서비스이다. 후자는 앱 기반 서비스라 불릴 수도 있다.
서비스의 컨텐츠 컴포넌트를 전달하는 MMTP 세션 및/또는 ROUTE/LCT 세션의 존재와 관련된 규칙은 다음과 같을 수 있다.
앱 기반 인헨스먼트가 없는 리니어 서비스의 브로드캐스트 딜리버리를 위해, 서비스의 컨텐츠 컴포넌트는 (1) 하나 이상의 ROUTE/LCT 세션 또는 (2) 하나 이상의 MMTP 세션 중 하나 (둘 다는 아님)에 의해 전달될 수 있다.
앱 기반 인헨스먼트가 있는 리니어 서비스의 브로드캐스트 딜리버리를 위해, 서비스의 컨텐츠 컴포넌트는 (1) 하나 이상의 ROUTE/LCT 세션 및 (2) 0개 이상의 MMTP 세션에 의해 전달될 수 있다.
특정 실시예에서, 동일한 서비스에서 스트리밍 미디어 컴포넌트에 대한 MMTP 및 ROUTE의 양자의 사용이 허용되지 않을 수 있다.
앱 기반 서비스의 브로드캐스트 딜리버리를 위해, 서비스의 컨텐츠 컴포넌트는 하나 이상의 ROUTE/LCT 세션에 의해 전달될 수 있다.
각각의 ROUTE 세션은 서비스를 구성하는 컨텐츠 컴포넌트를 전체적으로 또는 부분적으로 전달하는 하나 이상의 LCT 세션을 포함한다. 스트리밍 서비스 딜리버리에서, LCT 세션은 오디오, 비디오, 또는 클로즈드 캡션 스트림과 같은 사용자 서비스의 개별 컴포넌트를 전달할 수 있다. 스트리밍 미디어는 DASH 세그먼트로 포맷된다.
각각의 MMTP 세션은 MMT 시그널링 메시지 또는 전체 또는 일부 컨텐츠 컴포넌트를 전달하는 하나 이상의 MMTP 패킷 플로우를 포함한다. MMTP 패킷 플로우는 MMT 시그널링 메시지 또는 MPU로 포맷된 컴포넌트를 전달할 수 있다.
NRT 사용자 서비스 또는 시스템 메타데이터의 딜리버리를 위해, LCT 세션은 파일 기반의 컨텐츠 아이템을 전달한다. 이들 컨텐츠 파일은 NRT 서비스의 연속적 (타임드) 또는 이산적 (논 타임드) 미디어 컴포넌트, 또는 서비스 시그널링이나 ESG 프레그먼트와 같은 메타데이터로 구성될 수 있다. 서비스 시그널링이나 ESG 프레그먼트와 같은 시스템 메타데이터의 딜리버리 또한 MMTP의 시그널링 메시지 모드를 통해 이루어질 수 있다.
브로드캐스트 스트림은 특정 대역 내에 집중된 캐리어 주파수 측면에서 정의된 RF 채널의 개념이다. 그것은 [지리적 영역, 주파수] 쌍에 의해 식별된다. PLP (physical layer pipe)는 RF 채널의 일부에 해당된다. 각 PLP는 특정 모듈레이션 및 코딩 파라미터를 갖는다. 그것은 속해 있는 브로드캐스트 스트림 내에서 유일한 PLPID (PLP identifier)에 의해 식별된다. 여기서, PLP는 DP (data pipe)라 불릴 수도 있다.
각 서비스는 두 형태의 서비스 식별자에 의해 식별된다. 하나는 SLT에서 사용되고 브로드캐스트 영역 내에서만 유일한 컴팩트 형태이고, 다른 하나는 SLS 및 ESG에서 사용되는 전 세계적으로 유일한 형태이다. ROUTE 세션은 소스 IP 어드레스, 데스티네이션 IP 어드레스, 데스티네이션 포트 넘버에 의해 식별된다. LCT 세션 (그것이 전달하는 서비스 컴포넌트와 관련됨)은 페어런트 ROUTE 세션의 범위 내에서 유일한 TSI (transport session identifier)에 의해 식별된다. LCT 세션에 공통적인 성질 및 개별 LCT 세션에 유일한 특정한 성질은 서비스 레이어 시그널링의 일부인 S-TSID (service-based transport session instance description)라 불리는 ROUTE 시그널링 구조에서 주어진다. 각 LCT 세션은 하나의 PLP를 통해 전달된다. 실시예에 따라 하나의 LCT 세션이 복수개의 PLP 를 통해 전달될 수도 있다. ROUTE 세션의 서로 다른 LCT 세션은 서로 다른 PLP에 포함되거나 그렇지 않을 수 있다. 여기서, ROUTE 세션은 복수개의 PLP 들을 통해 전달될 수도 있다. S-TSID에 서술된 성질은 각 LCT 세션에 대한 TSI 값 및 PLPID, 딜리버리 오브젝트/파일에 대한 디스크립터, 어플리케이션 레이어 FEC 파라미터를 포함한다.
MMTP 세션은 데스티네이션 IP 어드레스 및 데스티네이션 포트 넘버에 의해 식별된다. MMTP 패킷 플로우 (그것이 전달하는 서비스 컴포넌트와 관련됨)는 페어런트 MMTP 세션의 범위 내에서 유일한 packet_id에 의해 식별된다. 각 MMTP 패킷 플로우에 공통인 성질 및 MMTP 패킷 플로우의 특정 성질이 SLT에 주어진다. 각 MMTP 세션에 대한 성질은 MMTP 세션 내에서 전달될 수 있는 MMT 시그널링 메시지에 의해 주어진다. MMTP 세션의 서로 다른 MMTP 패킷 플로우는 서로 다른 PLP에 포함되거나 그렇지 않을 수 있다. 여기서, MMTP 세션은 복수개의 PLP 들을 통해 전달될 수도 있다. MMT 시그널링 메시지에 서술된 성질은 각 MMTP 패킷 플로우에 대해 packet_id 값 및 PLPID를 포함한다. 여기서 MMT 시그널링 메시지는 MMT 에서 정의된 형태이거나, 후술할 실시예들에 따라 변형이 이루어진 형태일 수 있다.
이하, LLS (Low Level Signaling) 에 대해서 설명한다.
이 기능에 전용인 잘 알려진 어드레스/포트를 갖는 IP 패킷의 페이로드에 전달되는 시그널링 정보는 LLS이라 불린다. 이 IP 어드레스 및 포트넘버는 실시예에 따라 다르게 설정될 수 있다. 일 실시예에서, LLS는 어드레스가 224.0.23.60이고 데스티네이션 포트가 4937/udp인 IP 패킷에 전달될 수 있다. LLS 는 전술한 프로토콜 스택상에서 "SLT" 로 표현된 부분에 위치할 수 있다. 단, 실시예에 따라 LLS 는 UDP/IP 레이어의 프로세싱을 거치지 않고, 신호 프레임 상의 별도의 물리 채널(dedicated channel) 을 통해 전송될 수도 있다.
LLS 데이터를 전달하는 UDP/IP 패킷들은 LLS 테이블이라는 형태로 포맷될 수 있다. LLS 데이터를 운반하는 매 UDP/IP 패킷의 첫번째 바이트는 LLS 테이블의 시작일 수 있다. 모든 LLS 테이블의 최대 길이는 피지컬 레이어로부터 전달될 수 있는 가장 큰 IP 패킷에 의해 65,507 바이트로 제한된다.
LLS 테이블은 LLS 테이블의 타입을 식별하는 LLS 테이블 ID 필드와, LLS 테이블의 버전을 식별하는 LLS 테이블 버전 필드를 포함할 수 있다. LLS 테이블 ID 필드가 나타내는 값에 따라서, LLS 테이블은 전술한 SLT 를 포함하거나 RRT (Rating Region Table) 을 포함할 수 있다. RRT 는 컨텐트 권고 레이팅(Content Advisory Rating) 에 관한 정보를 가질 수 있다.
이하, SLT (Service List Table) 에 대해서 설명한다. LLS는 수신기에 의한 서비스 획득의 부트스트래핑과 빠른 채널 스캔을 지원하는 시그널링 정보일 수 있고, SLT는 기본 서비스 리스팅을 구축하고 SLS의 부트스트랩 디스커버리를 제공하기 위해 사용되는 시그널링 정보의 테이블일 수 있다.
SLT의 기능은 MPEG-2 시스템에서의 PAT (program association table) 및 ATSC 시스템에서 발견되는 FIC (fast information channel)와 유사하다. 처음으로 브로드캐스트 이미션을 겪는 수신기에게 이것은 시작되는 지점이다. SLT는 수신기가 채널 이름, 채널 넘버 등으로 그것이 수신할 수 있는 모든 서비스의 리스트를 구축할 수 있게 하는 빠른 채널 스캔을 지원한다. 또한 SLT는 수신기가 각 서비스에 대해 SLS를 발견할 수 있게 하는 부트스트랩 정보를 제공한다. ROUTE/DASH로 전달되는 서비스에 대해, 부트스트랩 정보는 SLS를 전달하는 LCT 세션의 데스티네이션 IP 어드레스 및 데스티네이션 포트를 포함한다. MMT/MPU로 전달되는 서비스에 대해, 부트스트랩 정보는 SLS를 전달하는 MMTP 세션의 데스티네이션 IP 어드레스 및 데스티네이션 포트를 포함한다.
SLT는 브로드캐스트 스트림에서 각 서비스에 관한 다음의 정보를 포함함으로써 서비스 획득 및 빠른 채널 스캔을 지원한다. 첫째로, SLT는 시청자에게 유의미하고 위/아래 선택 또는 채널 넘버를 통한 초기 서비스 선택을 지원할 수 있는 서비스 리스트의 프레젠테이션을 허용하는 데 필요한 정보를 포함할 수 있다. 둘째로, SLT는 각 리스팅된 서비스에 대해 SLS의 위치를 찾아내는 데 필요한 정보를 포함할 수 있다. 즉, SLT 는 SLS 를 전달하는 위치(location)에 대한 엑세스 정보를 포함할 수 있다.
도시된 본 발명의 일 실시예에 따른 SLT 는, SLT 루트 엘레먼트(root element) 를 가지는 XML 도큐먼트 형태로 표현되었다. 실시예에 따라, SLT 는 바이너리 포맷 또는 XML 도큐먼트의 형태로 표현될 수 있다.
도시된 SLT 의 SLT 루트 엘레멘트는 @bsid, @sltSectionVersion, @sltSectionNumber, @totalSltSectionNumbers, @language, @capabilities, InetSigLoc 및/또는 Service 를 포함할 수 있다. 실시예에 따라 SLT 루트 엘레멘트는 @providerId를 더 포함할 수도 있다. 실시예에 따라 SLT 루트 엘레멘트는 @language 를 포함하지 않을 수 있다.
Service 엘레멘트는 @serviceId, @SLTserviceSeqNumber, @protected, @majorChannelNo, @minorChannelNo, @serviceCategory, @shortServiceName, @hidden, @slsProtocolType, BroadcastSignaling, @slsPlpId, @slsDestinationIpAddress, @slsDestinationUdpPort, @slsSourceIpAddress, @slsMajorProtocolVersion, @SlsMinorProtocolVersion, @serviceLanguage, @broadbandAccessRequired, @capabilities 및/또는 InetSigLoc 를 포함할 수 있다.
실시예에 따라 SLT 의 성질 또는 엘레멘트는 추가/변경/삭제될 수 있다. SLT 에 포함되는 각 엘레멘트들 역시 추가적으로 별도의 성질 또는 엘레멘트를 가질 수 있으며, 본 실시예에 따른 성질 또는 엘레멘트 중 일부가 생략될 수도 있다. 여기서 @ 표기된 필드는 성질(attribute)에 해당하고, @ 표기되지 않은 필드는 엘레멘트(element)에 해당할 수 있다.
@bsid는 전체 브로드캐스트 스트림의 식별자이다. BSID의 값은 지역적 레벨에서 유일할 수 있다.
@providerId는 이 브로드캐스트 스트림의 일부 또는 전체를 사용하는 방송사의 인덱스이다. 이것은 선택적인 성질이다. 그것이 존재하지 않는다는 것은 이 브로드캐스트 스트림이 하나의 방송사에 의해 사용되고 있다는 것을 의미한다. @providerId 는 도면에 도시되지 않았다.
@sltSectionVersion은 SLT 섹션의 버전 넘버일 수 있다. sltSectionVersion는 slt 내에서 전달되는 정보에 변화가 생기면 1씩 증분될 수 있다. 그것이 최대값에 도달하면, 0으로 시프트된다.
@sltSectionNumber는 SLT의 해당 섹션의 넘버로 1부터 카운트될 수 있다. 즉 해당 SLT 섹션의 섹션넘버에 해당할 수 있다. 이 필드가 사용되지 않는 경우, 디폴트 값 1 로 설정될 수 있다.
@totalSltSectionNumbers는 해당 섹션이 일부인 SLT의 섹션(즉, 최대 sltSectionNumber를 갖는 섹션)의 총 넘버일 수 있다. sltSectionNumber와 totalSltSectionNumbers는 함께 분할로 보내지는 경우 SLT의 일부의 "N의 M 부분"을 나타낸다고 볼 수 있다. 즉 SLT 를 전송함에 있어서 분할(fragmentation)을 통한 전송이 지원될 수 있다. 이 필드가 사용되지 않는 경우, 디폴트 값 1 로 설정될 수 있다. 필드가 사용되지 않는 경우는 SLT 가 분할되어 전송되지 않는 경우일 수 있다.
@language는 해당 slt의 경우에 포함되는 서비스의 주 언어를 나타낼 수 있다. 실시예에 따라 이 필드 값은 ISO 에서 정의되는 3-캐릭터 언어 코드(three character language code) 의 형태일 수 있다. 본 필드는 생략될 수 있다.
@capabilities는 해당 slt의 경우에서 모든 서비스에 대한 내용을 디코딩하고 유의미하게 나타내기 위해 요구되는 캐피빌리티를 나타낼 수 있다.
InetSigLoc는 어디에서 브로드밴드를 통해 외부 서버로부터 모든 요구되는 타입의 데이터를 획득할 수 있는지 수신기에게 알리는 URL을 제공할 수 있다. 이 엘레멘트는 @urlType 를 하위필드로 더 포함할 수도 있다. 이 @urlType 필드의 값에 따라, InetSigLoc 이 제공하는 URL 의 타입이 지시될 수 있다. 실시예에 따라 @urlType 필드 값이 0 인 경우, InetSigLoc 은 시그널링 서버의 URL 을 제공할 수 있다. @urlType 필드 값이 1 인 경우, InetSigLoc 은 ESG 서버의 URL 을 제공할 수 있다. @urlType 필드가 그 외의 값을 가지는 경우는 향후 사용을 위해 남겨둘 수 있다(reserved for future use).
Service 필드는 각 서비스들에 대한 정보를 가지는 엘레멘트로, 서비스 엔트리에 해당할 수 있다. SLT 가 지시하는 서비스의 개수(N)만큼 Service 엘레멘트 필드가 존재할 수 있다. 이하 Service 필드의 하위 성질/엘레멘트에 대해 설명한다.
@serviceId는 해당 브로드캐스트 영역의 범위 내에서 해당 서비스를 유일하게 식별하는 정수 넘버일 수 있다. 실시예에 따라 @serviceId 의 스코프(scope)는 변경될 수 있다. @SLTserviceSeqNumber는 상기 serviceId 성질과 같은 서비스 ID를 갖는 SLT 서비스 정보의 시퀀스 넘버를 나타내는 정수 넘버일 수 있다. SLTserviceSeqNumber 값은 각 서비스에 대해 0부터 시작할 수 있고, 해당 Service 엘레먼트에서 어떠한 성질이 변화할 때마다 1씩 증분될 수 있다. ServiceID의 특정 값을 갖는 이전 서비스 엘레먼트에 비해 아무 성질 값이 변화하지 않으면, SLTserviceSeqNumber는 증분되지 않을 것이다. SLTserviceSeqNumber 필드는 최대값에 도달한 후 0으로 시프트된다.
@protected 는 플래그 정보로서, 해당 서비스의 유의미한 재생을 위한 하나 또는 그 이상의 컴포넌트가 보호된(protected) 상태인지를 지시할 수 있다. "1"(참)로 설정되면, 유의미한 프레젠테이션에 필요한 하나 이상의 컴포넌트가 보호된다. "0"(거짓)으로 설정되면, 해당 프레그는 서비스의 유의미한 프레젠테이션에 필요한 컴포넌트가 아무것도 보호되지 않는다는 것을 나타낸다. 디폴트 값은 거짓이다.
@majorChannelNo는 서비스의 "주" 채널 넘버를 나타내는 정수값이다. 본 필드의 일 실시예는 1 에서 999 까지의 범위를 가질 수 있다.
@minorChannelNo는 서비스의 "부" 채널 넘버를 나타내는 정수값이다. 본 필드의 일 실시예는 1 에서 999 까지의 범위를 가질 수 있다.
@serviceCategory는 해당 서비스의 카테고리를 나타낼 수 있다. 본 필드가 지시하는 의미는 실시예에 따라 변경될 수 있다. 일 실시예에 따르면 본 필드 값이 1, 2, 3 인 경우, 각각 해당 서비스는 리니어 A/V 서비스(Linear A/V service), 리니어 오디오 서비스(Linear audio only service), 앱 베이스드 서비스(app-based service) 에 해당할 수 있다. 본 필드 값이 0 인 경우 정의되지 않은 카테고리의 서비스일 수 있고, 본 필드 값이 다른 0, 1, 2, 3 외의 다른 값을 가지는 경우는 향후 사용을 위해 남겨둘 수 있다(reserved for future use). @shortServiceName는 서비스의 쇼트 스트링 네임일 수 있다.
@hidden는 존재하고 "참"으로 설정되는 경우 부울 값일 수 있고, 이는 서비스가 테스트나 독점 사용을 위한 것이고 보통의 TV 수신기로는 선택되지 않는다는 것을 나타낸다. 존재하지 않는 경우 디폴트 값은 "거짓"이다.
@slsProtocolType은 해당 서비스에 의해 사용되는 SLS의 프로토콜의 타입을 나타내는 성질일 수 있다. 본 필드가 지시하는 의미는 실시예에 따라 변경될 수 있다. 일 실시예에 따르면 본 필드 값이 1, 2, 인 경우, 각각 해당 서비스가 사용하는 SLS 의 프로토콜은 ROUTE, MMTP 일 수 있다. 본 필드 값이 0 또는 그 외의 값을 가지는 경우는 향후 사용을 위해 남겨둘 수 있다(reserved for future use). 본 필드는 @slsProtocol 로 불릴 수도 있다.
BroadcastSignaling 및 그 하위 성질/엘레멘트들은 방송 시그널링과 관련된 정보를 제공할 수 있다. BroadcastSignaling 엘레먼트가 존재하지 않는 경우, 페어런트 서비스 엘레먼트의 차일드 엘레먼트인 InetSigLoc가 존재할 수 있고, 그 성질인 urlType은 URL_type 0x00 (URL to signaling server)을 포함한다. 이 경우, 성질인 url은 service_id가 페어런트 서비스 엘레먼트에 대한 serviced 속성에 해당하는 쿼리 파라미터 svc=<service_id>를 지원한다.
또는 BroadcastSignaling 엘레먼트가 존재하지 않는 경우, 엘레먼트 InetSigLoc는 slt 루트 엘레먼트의 차일드 엘레먼트로 존재할 수 있고, InetSigLoc 엘레먼트의 속성 urlType은 URL_type 0x00 (URL to signaling server)를 포함한다. 이 경우, URL_type 0x00에 대한 성질 url은 service_id가 페어런트 서비스 엘레먼트의 serviceId 성질에 해당하는 쿼리 파라미터 svc=<service_id>를 지원한다.
@slsPlpId는 해당 서비스에 대해 SLS를 전달하는 PLP의 PLP ID를 나타내는 정수를 표현하는 스트링일 수 있다.
@slsDestinationIpAddress는 해당 서비스에 대해 SLS 데이터를 전달하는 패킷의 dotted-IPv4 데스티네이션 어드레스를 포함하는 스트링일 수 있다.
@slsDestinationUdpPort는 해당 서비스에 대해 SLS 데이터를 전달하는 패킷의 포트 넘버를 포함하는 스트링일 수 있다. 전술한 바와 같이 데스티네이션 IP/UDP 정보에 의하여 SLS 부트스트래핑이 수행될 수 있다.
@slsSourceIpAddress는 해당 서비스에 대해 SLS 데이터를 전달하는 패킷의 dotted-IPv4 소스 어드레스를 포함하는 스트링일 수 있다.
@slsMajorProtocolVersion는 해당 서비스에 대해 SLS를 전달하기 위해 사용되는 프로토콜의 주 버전 넘버일 수 있다. 디폴트 값은 1이다.
@SlsMinorProtocolVersion는 해당 서비스에 대해 SLS를 전달하기 위해 사용되는 프로토콜의 부 버전 넘버일 수 있다. 디폴트 값은 0이다.
@serviceLanguage는 서비스의 주 언어를 나타내는 3문자 언어 코드일 수 있다. 본 필드의 값의 형식은 실시예에 따라 변경될 수 있다.
@broadbandccessRequired는 수신기가 서비스의 유의미한 프리젠테이션을 하기 위해 브로드밴드 액세스가 필요하다는 것을 나타내는 부울 값일 수 있다. 본 필드 값이 True 인 경우, 리시버는 유의미한 서비스 재생을 위하여 브로드밴드에 액세스해야 하며, 이는 서비스의 하이브리드 딜리버리 경우에 해당할 수 있다.
@capabilities는 상기 serviceId 성질과 동일한 서비스 ID로 서비스에 대한 내용을 디코딩하고 유의미하게 나타내기 위해 요구되는 캐피빌리티를 나타낼 수 있다.
InetSigLoc는 사용 가능한 경우 브로드밴드를 통해 시그널링이나 공지 정보에 접속하기 위한 URL을 제공할 수 있다. 그 데이터 타입은 URL이 어디에 액세스하는지를 나타내는 @urlType 성질을 추가하는 모든 URL 데이터 타입의 확장일 수 있다. 본 필드의 @urlType 필드가 의미하는 바는, 전술한 InetSigLoc 의 @urlType 필드가 의미하는 바와 동일할 수 있다. 성질 URL_type 0x00의 InetSigLoc 엘레먼트가 SLT의 엘레먼트로 존재하는 경우, 그것은 시그널링 메타데이터에 대해 HTTP 요청을 하기 위해 사용될 수 있다. 이 HTTP POST 메시지 바디에는 서비스 텀이 포함될 수 있다. InetSigLoc 엘레먼트가 섹션 레벨에서 나타나는 경우, 서비스 텀은 요청된 시그널링 메타데이터 오브젝트가 적용되는 서비스를 나타내기 위해 사용된다. 서비스 텀이 존재하지 않으면, 해당 섹션의 모든 서비스에 대한 시그널링 메타데이터 오브젝트가 요청된다. InetSigLoc이 서비스 레벨에서 나타나는 경우, 원하는 서비스를 지정하기 위해 필요한 서비스 텀이 없다. 성질 URL_type 0x01의 InetSigLoc 엘레먼트가 제공되면, 그것은 브로드밴드를 통해 ESG 데이터를 검색하는 데 사용될 수 있다. 해당 엘레먼트가 서비스 엘레먼트의 차일드 엘레먼트로 나타나면, URL은 해당 서비스에 대해 데이터를 검색하는 데 사용될 수 있다. 해당 엘레먼트가 SLT 엘레먼트의 차일드 엘레먼트로 나타나면, URL은 해당 섹션에서 모든 서비스에 대한 ESG 데이터를 검색하는 데 사용될 수 있다.
SLT 의 다른 실시예에서, SLT 의 @sltSectionVersion, @sltSectionNumber, @totalSltSectionNumbers 및/또는 @language 필드는 생략될 수 있다.
또한, 전술한 InetSigLoc 필드는 @sltInetSigUri 및/또는 @sltInetEsgUri 필드로 대체될 수 있다. 두 필드는 각각 시그널링 서버의 URI, ESG 서버의 URI 정보를 포함할 수 있다. SLT 의 하위 엘레멘트인 InetSigLoc 필드와 Service 의 하위 엘레멘트인 InetSigLoc 필드 모두 상기와 같은 방법으로 대체될 수 있다.
제시된 디폴트 값들은 실시예에 따라 변경될 수 있다. 도시된 사용(use) 열은 각 필드에 관한 것으로, 1 은 해당 필드가 필수적인 필드, 0..1 은 해당 필드가 옵셔널 필드임을 의미할 수 있다.
도 4 는 본 발명의 일 실시예에 따른 SLS 부트스트래핑과 서비스 디스커버리 과정을 도시한 도면이다.
이하, 서비스 레이어 시그널링(SLS, Service Layer Signaling) 에 대해서 설명한다.
SLS는 서비스 및 그 컨텐츠 컴포넌트를 발견하고 획득하기 위한 정보를 제공하는 시그널링일 수 있다.
ROUTE/DASH에 대해, 각 서비스에 대한 SLS는 컴포넌트들의 리스트, 어디에서 그것들을 획득할 수 있는지, 서비스의 유의미한 프레젠테이션을 위해 요구되는 수신기 성능과 같은 서비스의 특성을 서술한다. ROUTE/DASH 시스템에서, SLS는 USBD (user service bundle description), S-TSID, DASH MPD (media presentation description)를 포함한다. 여기서 USBD 또는 USD (User Service Description) 는 SLS XML 프래그먼트 중 하나로서 서비스의 구체적 기술적 정보들을 기술하는 시그널링 허브로서 역할할 수 있다. 이 USBD/USD 는 3GPP MBMS 에서 정의된 것 보다 더 확장되어 있을 수 있다. USBD/USD 의 구체적 내용들에 대해서는 후술한다.
서비스 시그널링은 서비스 자체의 기본 성질, 특히 서비스를 획득하기 위해 필요한 성질에 초점을 둔다. 시청자를 위한 서비스 및 프로그래밍의 특징은 서비스 공지 또는 ESG 데이터로 나타난다.
각 서비스에 대해 별개의 서비스 시그널링을 가지면 수신기는 브로드캐스트 스트림 내에서 전달되는 전체 SLS을 파싱할 필요 없이 원하는 서비스에 대한 적절한 SLS를 획득하면 된다.
서비스 시그널링의 선택적 브로드밴드 딜리버리에 대해, SLT는 전술한 바와 같이 서비스 시그널링 파일이 획득될 수 있는 HTTP URL을 포함할 수 있다.
LLS는 SLS 획득을 부트스트랩 하는데 사용되고, 그 후 SLS는 ROUTE 세션 또는 MMTP 세션에서 전달되는 서비스 컴포넌트를 획득하는 데 사용된다. 서술된 도면은 다음의 시그널링 시퀀스를 도시한다. 수신기는 전술한 SLT를 획득하기 시작한다. ROUTE 세션에서 전달되는 service_id에 의해 식별되는 각 서비스는 PLPID(#1), 소스 IP 어드레스 (sIP1), 데스티네이션 IP 어드레스 (dIP1), 및 데스티네이션 포트 넘버 (dPort1)와 같은 SLS 부트스트래핑 정보를 제공한다. MMTP 세션에서 전달되는 service_id에 의해 식별되는 각 서비스는 PLPID(#2), 데스티네이션 IP 어드레스 (dIP2), 및 데스티네이션 포트 넘버 (dPort2)와 같은 SLS 부트스트래핑 정보를 제공한다.
ROUTE를 이용한 스트리밍 서비스 딜리버리에 대해, 수신기는 PLP 및 IP/UDP/LCT 세션으로 전달되는 SLS 분할을 획득할 수 있다. 반면, MMTP를 이용한 스트리밍 서비스 딜리버리에 대해, 수신기는 PLP 및 MMTP 세션으로 전달되는 SLS 분할을 획득할 수 있다. ROUTE를 이용한 서비스 딜리버리에 대해, 이들 SLS 분할은 USBD/USD 분할, S-TSID 분할, MPD 분할을 포함한다. 그것들은 하나의 서비스와 관련이 있다. USBD/USD 분할은 서비스 레이어 특성을 서술하고, S-TSID 분할에 대한 URI 레퍼런스 및 MPD 분할에 대한 URI 레퍼런스를 제공한다. 즉, USBD/USD 는 S-TSID 와 MPD 를 각각 레퍼런싱할 수 있다. MMTP를 이용한 서비스 딜리버리에 대해, USBD는 MMT 시그널링의 MMT 메시지를 참조하는데, 그것의 MP 테이블은 서비스에 속하는 에셋(asset)을 위한 위치 정보 및 패키지 ID의 식별을 제공한다. 여기서, Asset 이란, 멀티미디어 데이터 엔티티로서, 하나의 유니크 ID 로 연합되고 하나의 멀티미디어 프리젠테이션을 생성하는데 사용되는 데이터 엔티티를 의미할 수 있다. Asset 은 하나의 서비스를 구성하는 서비스 컴포넌트에 해당할 수 있다. MPT 메시지는 MMT 의 MP 테이블을 가지는 메시지이고, 여기서 MP 테이블은 MMT Asset 과 컨텐트에 대한 정보를 가지는 MMT 패키지 테이블(MMT Package Table)일 수 있다. 구체적인 내용은 MMT 에서 정의된 바와 같을 수 있다. 여기서 미디어 프리젠테이션이란 미디어 컨텐츠의 바운드/언바운드된 프리젠테이션을 성립시키는 데이터의 콜렉션일 수 있다.
S-TSID 분할은 하나의 서비스와 관련된 컴포넌트 획득 정보와 해당 서비스의 컴포넌트에 해당하는 TSI 및 MPD에서 발견되는 DASH 표현들 사이의 매핑을 제공한다. S-TSID는 TSI 및 관련된 DASH 표현 식별자의 형태의 컴포넌트 획득 정보, 및 DASH 표현과 관련된 DASH 분할을 전달하는 PLPID를 제공할 수 있다. PLPID 및 TSI 값에 의해, 수신기는 서비스로부터 오디오/비디오 컴포넌트를 수집하고, DASH 미디어 분할의 버퍼링을 시작한 후, 적절한 디코딩 과정을 적용한다.
MMTP 세션에서 전달되는 USBD 리스팅 서비스 컴포넌트에 대해, 서술된 도면의 "Service #2"에 도시한 바와 같이, 수신기는 SLS를 완료하기 위해 매칭되는 MMT_package_id를 갖는 MPT 메시지를 획득한다. MPT 메시지는 각 컴포넌트에 대한 획득 정보 및 서비스를 포함하는 서비스 컴포넌트의 완전한 리스트를 제공한다. 컴포넌트 획득 정보는 MMTP 세션 정보, 해당 세션을 전달하는 PLPID, 해당 세션 내의 packet_id를 포함한다.
실시예에 따라, 예를 들어 ROUTE 의 경우, 두 개 이상의 S-TSID 프래그먼트가 사용될 수 있다. 각각의 프래그먼트는 각 서비스의 컨텐츠를 전달하는 LCT 세션들에 대한 액세스 정보를 제공할 수 있다.
ROUTE 의 경우 S-TSID, USBD/USD, MPD 또는 이 들을 전달하는 LCT 세션을 서비스 시그널링 채널이라 부를 수도 있다. MMTP 의 경우, USBD/UD, MMT 시그널링 메시지들 또는 이들을 전달하는 패킷 플로우를 서비스 시그널링 채널이라 부를 수도 있다.
도시된 실시예와는 달리, 하나의 ROUTE 또는 MMTP 세션은 복수개의 PLP 를 통해 전달될 수 있다. 즉, 하나의 서비스는 하나 이상의 PLP 를 통해 전달될 수도 있다. 전술한 바와 같이 하나의 LCT 세션은 하나의 PLP 를 통해 전달될 수 있다. 도시된 것과 달리 실시예에 따라 하나의 서비스를 구성하는 컴포넌트들이 서로 다른 ROUTE 세션들을 통해 전달될 수도 있다. 또한, 실시예에 따라 하나의 서비스를 구성하는 컴포넌트들이 서로 다른 MMTP 세션들을 통해 전달될 수도 있다. 실시예에 따라 하나의 서비스를 구성하는 컴포넌트들이 ROUTE 세션과 MMTP 세션에 나뉘어 전달될 수도 있다. 도시되지 않았으나, 하나의 서비스를 구성하는 컴포넌트가 브로드밴드를 통해 전달(하이브리드 딜리버리)되는 경우도 있을 수 있다.
도 5 는 본 발명의 일 실시예에 따른 ROUTE/DASH 를 위한 USBD 프래그먼트를 도시한 도면이다.
이하, ROUTE 에 근거한 딜리버리에 있어서, 서비스 레이어 시그널링에 대해서 설명한다.
SLS는 서비스 및 그 컨텐츠 컴포넌트의 발견 및 접근을 가능하게 하기 위해 수신기에게 구체적인 기술적인 정보를 제공한다. 그것은 전용 LCT 세션으로 전달되는 XML 코딩된 메타데이터 분할을 집합을 포함할 수 있다. 해당 LCT 세션은 전술한 바와 같이 SLT에 포함된 부트스트랩 정보를 이용하여 획득할 수 있다. SLS는 서비스 레벨 당 정의되고, 그것은 컨텐츠 컴포넌트의 리스트, 어떻게 그것들을 획득하는지, 서비스의 유의미한 프레젠테이션을 하기 위해 요구되는 수신기 성능과 같은 서비스의 액세스 정보 및 특징을 서술한다. ROUTE/DASH 시스템에서, 리니어 서비스 딜리버리를 위해, SLS는 USBD, S-TSID 및 DASH MPD와 같은 메타데이터 분할로 구성된다. SLS 분할은 TSI = 0인 전용 LCT 전송 세션에서 전달될 수 있다. 실시예에 따라 SLS 프래그먼트가 전달되는 특정 LCT 세션(dedicated LCT session) 의 TSI 는 다른 값을 가질 수 있다. 실시예에 따라 SLS 프래그먼트가 전달되는 LCT 세션이 SLT 또는 다른 방법에 의해 시그널링될 수도 있다.
ROUTE/DASH SLS는 USBD 및 S-TSID 메타데이터 분할을 포함할 수 있다. 이들 서비스 시그널링 분할은 리니어 및 어플리케이션에 기초한 서비스에 적용될 수 있다. USBD 분할은 서비스 식별, 장치 성능 정보, 서비스 및 구성 미디어 컴포넌트에 액세스하는 데 요구되는 다른 SLS 분할에 대한 참조, 수신기가 서비스 컴포넌트의 전송 모드 (브로드캐스트 및/또는 브로드밴드)를 결정할 수 있게 하는 메타데이터를 포함한다. USBD에 의해 참조되는 S-TSID 분할은 서비스의 미디어 컨텐츠 컴포넌트가 전달되는 하나 이상의 ROUTE/LCT 세션에 대한 전송 세션 디스크립션 및 해당 LCT 세션에서 전달되는 딜리버리 오브젝트의 디스크립션을 제공한다. USBD 및 S-TSID는 후술한다.
ROUTE 에 근거한 딜리버리 중 Streaming Content Signaling 에 있어서, SLS 의 스트리밍 컨텐츠 시그널링 컴포넌트는 MPD 프래그먼트에 해당한다. MPD는 주로 스트리밍 컨텐츠로서의 DASH 분할의 딜리버리를 위한 리니어 서비스와 관련된다. MPD는 분할 URL 형태의 리니어/스트리밍 서비스의 개별 미디어 컴포넌트에 대한 소스 식별자, 및 미디어 프레젠테이션 내의 식별된 리소스의 컨텍스트를 제공한다. MPD 에 대한 구체적인 내용은 후술한다.
ROUTE 에 근거한 딜리버리 중 앱 기반 인헨스먼트 시그널링에 있어서, 앱 기반 인헨스먼트 시그널링은 어플리케이션 로직 파일, 국부적으로 캐싱된 미디어 파일, 네트워크 컨텐츠 아이템, 또는 공지 스트림과 같은 앱 기반 인헨스먼트 컴포넌트의 딜리버리에 속한다. 어플리케이션은 또한 가능한 경우 브로드밴드 커넥션 상에서 국부적으로 캐싱된 데이터를 검색할 수 있다.
이하, 본 도면에 도시된 USBD/USD 의 구체적인 내용에 대해 설명한다.
탑 레벨 또는 엔트리 포인트 SLS 분할은 USBD 분할이다. 도시된 USBD 프래그먼트는 본 발명의 일 실시예이며, 도시되지 않은 기본적인 USBD 프래그먼트의 필드들이 실시예에 따라 더 추가될 수도 있다. 전술한 바와 같이 도시된 USBD 프래그먼트는 확장된 형태로서 기본 구조에서 더 추가된 필드들을 가질 수 있다.
도시된 USBD 는 bundleDescription 루트 엘레멘트를 가질 수 있다. bundleDescription 루트 엘레멘트는 userServiceDescription 엘레멘트를 가질 수 있다. userServiceDescription 엘레멘트는 하나의 서비스에 대한 인스턴스일 수 있다.
userServiceDescription 엘레멘트는 @serviceId, @atsc:serviceId, @atsc:serviceStatus, @atsc:fullMPDUri, @atsc:sTSIDUri, name, serviceLanguage, atsc:capabilityCode 및/또는 deliveryMethod 를 포함할 수 있다.
@serviceId는 BSID의 범위 내에서 유일한 서비스를 식별하는 전 세계적으로 유일한 URI일 수 있다. 해당 파라미터는 ESG 데이터 (Service@globalServiceID)와 관련시키는 데 사용될 수 있다.
@atsc:serviced는 LLS (SLT)에서 해당하는 서비스 엔트리에 대한 레퍼런스이다. 해당 성질의 값은 해당 엔트리에 할당된 serviceId의 값과 동일하다.
@atsc:serviceStatus는 해당 서비스의 상태는 특정할 수 있다. 그 값은 해당 서비스가 활성화되어 있는지 비활성화되어 있는지를 나타낸다. "1" (참)로 설정되면, 서비스가 활성화되어 있다는 것을 나타낸다. 이 필드가 사용되지 않는 경우, 디폴트 값 1 로 설정될 수 있다.
@atsc:fullMPDUri는 브로드캐스트 상에서 선택적으로, 또한 브로드밴드 상에서 전달되는 서비스의 컨텐츠 컴포넌트에 대한 디스크립션을 포함하는 MPD 분할을 레퍼런싱할 수 있다.
@atsc:sTSIDUri는 해당 서비스의 컨텐츠를 전달하는 전송 세션에 액세스 관련 파라미터를 제공하는 S-TSID 분할을 레퍼런싱할 수 있다.
name은 lang 성질에 의해 주어지는 서비스의 네임을 나타낼 수 있다. name 엘레먼트는 서비스 네임의 언어를 나타내는 lang 성질을 포함할 수 있다. 언어는 XML 데이터타입에 따라 특정될 수 있다.
serviceLanguage는 서비스의 이용 가능한 언어를 나타낼 수 있다. 언어는 XML 데이터타입에 따라 특정될 수 있다.
atsc:capabilityCode는 수신기가 해당 서비스의 컨텐츠의 유의미한 프레젠테이션을 생성할 수 있도록 요구되는 캐패빌리티를 특정할 수 있다. 실시예에 따라 본 필드는 기 정의된 캐패빌리티 그룹을 특정할 수도 있다. 여기서 캐패빌리티 그룹은 유의미한 프리젠테이션을 위한 캐패빌리티 성질들 값의 그룹일 수 있다. 본 필드는 실시예에 따라 생략될 수 있다.
deliveryMethod는 액세스의 브로드캐스트 및 (선택적으로) 브로드밴드 모드 상에서 서비스의 컨텐츠에 속하는 정보에 관련된 트랜스포트의 컨테이너일 수 있다. 해당 서비스에 포함되는 데이터에 있어서, 그 데이터를 N 개라 하면, 그 각각의 데이터들에 대한 딜리버리 방법들이, 이 엘레멘트에 의해 기술될 수 있다. deliveryMethod 엘레멘트는 r12:broadcastAppService 엘레멘트와 r12:unicastAppService 엘레멘트를 포함할 수 있다. 각각의 하위 엘레멘트들은 basePattern 엘레멘트를 하위 엘레멘트로 가질 수 있다.
r12:broadcastAppService는 소속된 미디어 프레젠테이션의 모든 기간에 걸쳐 서비스에 속하는 해당 미디어 컴포넌트를 포함하는 다중화된 또는 비다중화된 형태의 브로드캐스트 상에서 전달되는 DASH 레프레젠테이션일 수 있다. 즉, 각각의 본 필드들은, 방송망을 통해 전달되는 DASH 레프레젠테이션(representation) 들을 의미할 수 있다.
r12:unicastAppService는 소속된 미디어 프레젠테이션의 모든 기간에 걸쳐 서비스에 속하는 구성 미디어 컨텐츠 컴포넌트를 포함하는 다중화된 또는 비다중화된 형태의 브로드밴드 상에서 전달되는 DASH 레프레젠테이션일 수 있다. 즉, 각각의 본 필드들은, 브로드밴드를 통해 전달되는 DASH 레프레젠테이션(representation) 들을 의미할 수 있다.
basePattern은 포함된 기간에 페어런트 레프레젠테이션의 미디어 분할을 요구하기 위해 DASH 클라이언트에 의해 사용되는 분할 URL의 모든 부분에 대해 매칭되도록 수신기에 의해 사용되는 문자 패턴일 수 있다. 매치는 해당 요구된 미디어 분할이 브로드캐스트 트랜스포트 상에서 전달되는 것을 암시한다. 각각의 r12:broadcastAppService 엘레멘트와 r12:unicastAppService 엘레멘트로 표현되는 DASH 레프레젠테이션을 전달받을 수 있는 URL 주소에 있어서, 그 URL 의 일부분 등은 특정한 패턴을 가질 수 있는데, 그 패턴이 본 필드에 의해 기술될 수 있다. 이 정보를 통하여 일정부분 데이터에 대한 구분이 가능할 수 있다. 제시된 디폴트 값들은 실시예에 따라 변경될 수 있다. 도시된 사용(use) 열은 각 필드에 관한 것으로, M 은 필수 필드, O 는 옵셔널 필드, OD 는 디폴트 값을 가지는 옵셔널 필드, CM 은 조건부 필수 필드를 의미할 수 있다. 0...1 내지 0...N 은 해당 필드들의 가능 개수를 의미할 수 있다.
도 6 은 본 발명의 일 실시예에 따른 ROUTE/DASH 를 위한 S-TSID 프래그먼트를 도시한 도면이다.
이하, 본 도면에 도시된 S-TSID 의 구체적인 내용에 대해 설명한다.
S-TSID는 서비스의 컨텐츠 컴포넌트를 전달하는 전송 세션에 대한 전체적인 세션 디스크립트 정보를 제공하는 SLS XML 분할일 수 있다. S-TSID는 서비스의 미디어 컨텐츠 컴포넌트가 전달되는 구성 LCT 세션 및 0개 이상의 ROUTE 세션에 대한 전체적인 전송 세션 디스크립트 정보를 포함하는 SLS 메타데이터 분할이다. S-TSID는 또한 LCT 세션에서 전달되는 컨텐츠 컴포넌트 및 페이로드 포맷에 대한 추가 정보뿐만 아니라 서비스의 LCT 세션에서 전달되는 딜리버리 오브젝트 또는 오브젝트 플로우에 대한 파일 메타데이터를 포함한다.
S-TSID 분할의 각 경우는 userServiceDescription 엘레먼트의 @atsc:sTSIDUri 성질에 의해 USBD 분할에서 레퍼런싱된다. 도시된 본 발명의 일 실시예에 따른 S-TSID 는 XML 도큐먼트 형태로 표현되었다. 실시예에 따라, S-TSID 는 바이너리 포맷 또는 XML 도큐먼트의 형태로 표현될 수 있다.
도시된 S-TSID 는 도시된 S-TSID 는 S-TSID 루트 엘레멘트를 가질 수 있다. S-TSID 루트 엘레멘트는 @serviceId 및/또는 RS 를 포함할 수 있다.
@serviceID는 USD에서 서비스 엘레멘트에 해당하는 레퍼런스일 수 있다. 해당 성질의 값은 service_id의 해당 값을 갖는 서비스를 레퍼런싱할 수 있다.
RS 엘레멘트는 해당 서비스 데이터들을 전달하는 ROUTE 세션에 대한 정보를 가질 수 있다. 복수개의 ROUTE 세션을 통해 서비스 데이터 내지 서비스 컴포넌트들이 전달될 수 있으므로, 본 엘레멘트는 1 내지 N 개의 개수를 가질 수 있다.
RS 엘레멘트는 @bsid, @sIpAddr, @dIpAddr, @dport, @PLPID 및/또는 LS 를 포함할 수 있다.
@bsid는 broadcastAppService의 컨텐츠 컴포넌트가 전달되는 브로드캐스트 스트림의 식별자일 수 있다. 해당 성질이 존재하지 않으면, 디폴트 브로드캐스트 스트림의 PLP가 해당 서비스에 대한 SLS 분할을 전달하는 것일 수 있다. 그 값은 SLT에서 broadcast_stream_id와 동일할 수 있다.
@sIpAddr은 소스 IP 어드레스를 나타낼 수 있다. 여기서 소스 IP 어드레스는, 해당 서비스에 포함되는 서비스 컴포넌트를 전달하는 ROUTE 세션의 소스 IP 어드레스일 수 있다. 전술한 바와 같이 하나의 서비스의 서비스 컴포넌트들은 복수개의 ROUTE 세션을 통해 전달될 수도 있다. 그 때문에, 해당 S-TSID 가 전달되는 ROUTE 세션이 아닌 다른 ROUTE 세션으로 그 서비스 컴포넌트가 전송될 수도 있다. 따라서, ROUTE 세션의 소스 IP 어드레스를 지시하기 위하여 본 필드가 사용될 수 있다. 본 필드의 디폴트 값은 현재 ROUTE 세션의 소스 IP 어드레스일 수 있다. 다른 ROUTE 세션을 통해 전달되는 서비스 컴포넌트가 있어 그 ROUTE 세션을 지시해야 되는 경우에는 본 필드 값은 그 ROUTE 세션의 소스 IP 어드레스 값일 수 있다. 이 경우 본 필드는 M, 즉 필수 필드일 수 있다.
@dIpAddr은 데스티네이션 IP 어드레스를 나타낼 수 있다. 여기서 데스티네이션 IP 어드레스는, 해당 서비스에 포함되는 서비스 컴포넌트를 전달하는 ROUTE 세션의 데스티네이션 IP 어드레스일 수 있다. @sIpAddr 에서 설명한 것과 같은 경우를 위해, 본 필드는 서비스 컴포넌트를 전달하는 ROUTE 세션의 데스티네이션 IP 어드레스를 지시할 수 있다. 본 필드의 디폴트 값은 현재 ROUTE 세션의 데스티네이션 IP 어드레스일 수 있다. 다른 ROUTE 세션을 통해 전달되는 서비스 컴포넌트가 있어 그 ROUTE 세션을 지시해야 되는 경우에는 본 필드 값은 그 ROUTE 세션의 데스티네이션 IP 어드레스 값일 수 있다. 이 경우 본 필드는 M, 즉 필수 필드일 수 있다.
@dport는 데스티네이션 포트를 나타낼 수 있다. 여기서 데스티네이션 포트는, 해당 서비스에 포함되는 서비스 컴포넌트를 전달하는 ROUTE 세션의 데스티네이션 포트일 수 있다. @sIpAddr 에서 설명한 것과 같은 경우를 위해, 본 필드는 서비스 컴포넌트를 전달하는 ROUTE 세션의 데스티네이션 포트를 지시할 수 있다. 본 필드의 디폴트 값은 현재 ROUTE 세션의 데스티네이션 포트 넘버일 수 있다. 다른 ROUTE 세션을 통해 전달되는 서비스 컴포넌트가 있어 그 ROUTE 세션을 지시해야 되는 경우에는 본 필드 값은 그 ROUTE 세션의 데스티네이션 포트 넘버 값일 수 있다. 이 경우 본 필드는 M, 즉 필수 필드일 수 있다.
@PLPID 는 RS 로 표현되는 ROUTE 세션을 위한 PLP 의 ID 일 수 있다. 디폴트 값은 현재 S-TSID 가 포함된 LCT 세션의 PLP 의 ID 일 수 있다. 실시예에 따라 본 필드는 해당 ROUTE 세션에서 S-TSID 가 전달되는 LCT 세션을 위한 PLP 의 ID 값을 가질 수도 있고, 해당 ROUTE 세션을위한 모든 PLP 들의 ID 값들을 가질 수도 있다.
LS 엘레멘트는 해당 서비스 데이터들을 전달하는 LCT 세션에 대한 정보를 가질 수 있다. 복수개의 LCT 세션을 통해 서비스 데이터 내지 서비스 컴포넌트들이 전달될 수 있으므로, 본 엘레멘트는 1 내지 N 개의 개수를 가질 수 있다.
LS 엘레멘트는 @tsi, @PLPID, @bw, @startTime, @endTime, SrcFlow 및/또는 RprFlow 를 포함할 수 있다.
@tsi 는 해당 서비스의 서비스 컴포넌트가 전달되는 LCT 세션의 TSI 값을 지시할 수 있다.
@PLPID 는 해당 LCT 세션을 위한 PLP 의 ID 정보를 가질 수 있다. 이 값은 기본 ROUTE 세션 값을 덮어쓸 수도 있다.
@bw 는 최대 밴드위스 값을 지시할 수 있다. @startTime 은 해당 LCT 세션의 스타트 타임(Start time)을 지시할 수 있다. @endTime 은 해당 LCT 세션의 엔드 타임(End time)을 지시할 수 있다. SrcFlow 엘레멘트는 ROUTE 의 소스 플로우에 대해 기술할 수 있다. RprFlow 엘레멘트는 ROUTE 의 리페어 플로우에 대해 기술할 수 있다.
제시된 디폴트 값들은 실시예에 따라 변경될 수 있다. 도시된 사용(use) 열은 각 필드에 관한 것으로, M 은 필수 필드, O 는 옵셔널 필드, OD 는 디폴트 값을 가지는 옵셔널 필드, CM 은 조건부 필수 필드를 의미할 수 있다. 0...1 내지 0...N 은 해당 필드들의 가능 개수를 의미할 수 있다.
이하, ROUTE/DASH 를 위한 MPD (Media Presentation Description) 에 대해 설명한다.
MPD는 방송사에 의해 정해진 주어진 듀레이션의 리니어 서비스에 해당하는 DASH 미디어 프레젠테이션의 공식화된 디스크립션을 포함하는 SLS 메타데이터 분할이다 (예를 들면, 어떤 기간 동안의 하나의 TV 프로그램 또는 연속적인 리니어 TV 프로그램의 집합). MPD의 컨텐츠는 미디어 프레젠테이션 내에서 식별된 리소스에 대한 컨텍스트 및 분할에 대한 소스 식별자를 제공한다. MPD 분할의 데이터 구조 및 시맨틱스는 MPEG DASH에 의해 정의된 MPD에 따를 수 있다.
MPD에서 전달되는 하나 이상의 DASH 레프레젠테이션은 브로드캐스트 상에서 전달될 수 있다. MPD는 하이브리드 서비스의 경우와 같은 브로드밴드 상에서 전달되는 추가 레프레젠테이션을 서술하거나, 브로드캐스트 신호 악화 (예를 들면, 터널 속 주행)로 인한 브로드캐스트에서 브로드캐스트로의 핸드오프에서 서비스 연속성을 지원할 수 있다.
도 7 은 본 발명의 일 실시예에 따른 MMT 를 위한 USBD/USD 프래그먼트를 도시한 도면이다.
리니어 서비스를 위한 MMT SLS는 USBD 분할 및 MP 테이블을 포함한다. MP 테이블은 전술한 바와 같다. USBD 분할은 서비스 식별, 장치 성능 정보, 서비스 및 구성 미디어 컴포넌트에 액세스하는 데 요구되는 다른 SLS 분할에 대한 참조, 수신기가 서비스 컴포넌트의 전송 모드 (브로드캐스트 및/또는 브로드밴드)를 결정할 수 있게 하는 메타데이터를 포함한다. USBD에 의해 참조되는 MPU 컴포넌트에 대한 MP 테이블은 서비스의 미디어 컨텐츠 컴포넌트가 전달되는 MMTP 세션에 대한 전송 세션 디스크립션 및 MMTP 세션에서 전달되는 에셋의 디스크립션을 제공한다.
MPU 컴포넌트에 대한 SLS의 스트리밍 컨텐츠 시그널링 컴포넌트는 MMT에서 정의된 MP 테이블에 해당한다. MP 테이블은 각 에셋이 단일 서비스 컴포넌트에 해당하는 MMT 에셋의 리스트 및 해당 컴포넌트에 대한 위치 정보의 디스크립션을 제공한다.
USBD 분할은 ROUTE 프로토콜 및 브로드밴드에 의해 각각 전달되는 서비스 컴포넌트에 대해 전술한 바와 같은 S-TSID 및 MPD에 대한 참조도 포함할 수 있다. 실시예에 따라, MMT 를 통한 딜리버리에 있어 ROUTE 프로토콜을 통해 전달되는 서비스 컴포넌트란 NRT 등의 데이터이므로, 이 경우에 있어 MPD 는 필요치 않을 수 있다. 또한, MMT 를 통한 딜리버리에 있어 브로드밴드를 통해 전달되는 서비스 컴포넌트는 어떤 LCT 세션을 통해 전달되는지에 대한 정보가 필요치 않으므로 S-TSID 는 필요치 않을 수 있다. 여기서, MMT 패키지는 MMT 를 이용하여 전달되는, 미디어 데이터의 논리적 콜렉션일 수 있다. 여기서, MMTP 패킷은 MMT 를 이용하여 전달되는 미디어 데이터의 포맷된 유닛을 의미할 수 있다. MPU (Media Processing Unit) 은 독립적으로 디코딩 가능한 타임드/논-타임드 데이터의 제네릭 컨테이너를 의미할 수 있다. 여기서, MPU에서의 데이터는 미디어 코덱 애그노스틱이다.
이하, 본 도면에 도시된 USBD/USD 의 구체적인 내용에 대해 설명한다.
도시된 USBD 프래그먼트는 본 발명의 일 실시예이며, 도시되지 않은 기본적인 USBD 프래그먼트의 필드들이 실시예에 따라 더 추가될 수도 있다. 전술한 바와 같이 도시된 USBD 프래그먼트는 확장된 형태로서 기본 구조에서 더 추가된 필드들을 가질 수 있다.
도시된 본 발명의 일 실시예에 따른 USBD 는 XML 도큐먼트 형태로 표현되었다. 실시예에 따라, USBD 는 바이너리 포맷 또는 XML 도큐먼트의 형태로 표현될 수 있다.
도시된 USBD 는 bundleDescription 루트 엘레멘트를 가질 수 있다. bundleDescription 루트 엘레멘트는 userServiceDescription 엘레멘트를 가질 수 있다. userServiceDescription 엘레멘트는 하나의 서비스에 대한 인스턴스일 수 있다.
userServiceDescription 엘레멘트는 @serviceId, @atsc:serviceId, name, serviceLanguage, atsc:capabilityCode, atsc:Channel, atsc:mpuComponent, atsc:routeComponent, atsc:broadband Component 및/또는 atsc:ComponentInfo 를 포함할 수 있다.
여기서, @serviceId, @atsc:serviceId, name, serviceLanguage, atsc:capabilityCode 는 전술한 것과 같을 수 있다. name 필드 밑의 lang 필드 역시 전술한 것과 같을 수 있다. atsc:capabilityCode 는 실시예에 따라 생략될 수 있다.
userServiceDescription 엘레멘트는, 실시예에 따라 atsc:contentAdvisoryRating 엘레멘트를 더 포함할 수 있다. 이 엘레멘트는 옵셔널 엘레멘트일 수 있다. atsc:contentAdvisoryRating는 컨텐츠 자문 순위를 특정할 수 있다. 본 필드는 도면에 도시되지 않았다.
atsc:Channel 은 서비스의 채널에 대한 정보를 가질 수 있다. atsc:Channel 엘레멘트는 @atsc:majorChannelNo, @atsc:minorChannelNo, @atsc:serviceLang, @atsc:serviceGenre, @atsc:serviceIcon 및/또는 atsc:ServiceDescription 를 포함할 수 있다. @atsc:majorChannelNo, @atsc:minorChannelNo, @atsc:serviceLang 는 실시예에 따라 생략될 수 있다.
@atsc:majorChannelNo는 서비스의 주 채널 넘버를 나타내는 성질이다.
@atsc:minorChannelNo는 서비스의 부 채널 넘버를 나타내는 성질이다.
@atsc:serviceLang는 서비스에서 사용되는 주요 언어를 나타내는 성질이다.
@atsc:serviceGenre는 서비스의 주요 장르를 나타내는 성질이다.
@atsc:serviceIcon는 해당 서비스를 표현하는 데 사용되는 아이콘에 대한 URL을 나타내는 성질이다.
atsc:ServiceDescription은 서비스 디스크립션을 포함하며 이는 다중 언어일 수 있다. atsc:ServiceDescription은 @atsc:serviceDescrText 및/또는 @atsc:serviceDescrLang를 포함할 수 있다.
@atsc:serviceDescrText는 서비스의 디스크립션을 나타내는 성질이다.
@atsc:serviceDescrLang는 상기 serviceDescrText 성질의 언어를 나타내는 성질이다.
atsc:mpuComponent 는 MPU 형태로 전달되는 서비스의 컨텐츠 컴포넌트에 대한 정보를 가질 수 있다. atsc:mpuComponent 는 @atsc:mmtPackageId 및/또는 @atsc:nextMmtPackageId 를 포함할 수 있다.
@atsc:mmtPackageId는 MPU로 전달되는 서비스의 컨텐츠 컴포넌트에 대한 MMT 패키지를 레퍼런싱할 수 있다.
@atsc:nextMmtPackageId는 MPU로 전달되는 서비스의 컨텐츠 컴포넌트에 맞추어 @atsc:mmtPackageId에 의해 참조된 후에 사용되는 MMT 패키지를 레퍼런싱할 수 있다.
atsc:routeComponent 는 ROUTE 를 통해 전달되는 서비스의 컨텐츠 컴포넌트에 대한 정보를 가질 수 있다. atsc:routeComponent 는 @atsc:sTSIDUri, @sTSIDPlpId, @sTSIDDestinationIpAddress, @sTSIDDestinationUdpPort, @sTSIDSourceIpAddress, @sTSIDMajorProtocolVersion 및/또는 @sTSIDMinorProtocolVersion 를 포함할 수 있다.
@atsc:sTSIDUri는 해당 서비스의 컨텐츠를 전달하는 전송 세션에 액세스 관련 파라미터를 제공하는 S-TSID 분할을 레퍼런싱할 수 있다. 이 필드는 전술한 ROUTE 를 위한 USBD 에서의 S-TSID 를 레퍼런싱하기 위한 URI 와 같을 수 있다. 전술한 바와 같이 MMTP 에 의한 서비스 딜리버리에 있어서도, NRT 등을 통해 전달되는 서비스 컴포넌트들은 ROUTE 에 의해 전달될 수 있다. 이를 위한 S-TSID 를 레퍼런싱하기 위하여 본 필드가 사용될 수 있다.
@sTSIDPlpId는 해당 서비스에 대한 S-TSID를 전달하는 PLP의 PLP ID를 나타내는 정수를 표현하는 스트링일 수 있다. (디폴트: 현재 PLP)
@sTSIDDestinationIpAddress는 해당 서비스에 대한 S-TSID를 전달하는 패킷의 dotted-IPv4 데스티네이션 어드레스를 포함하는 스트링일 수 있다. (디폴트: 현재 MMTP 세션의 소스 IP 어드레스)
@sTSIDDestinationUdpPort는 해당 서비스에 대한 S-TSID를 전달하는 패킷의 포트 넘버를 포함하는 스트링일 수 있다.
@sTSIDSourceIpAddress는 해당 서비스에 대한 S-TSID를 전달하는 패킷의 dotted-IPv4 소스 어드레스를 포함하는 스트링일 수 있다.
@sTSIDMajorProtocolVersion은 해당 서비스에 대한 S-TSID를 전달하기 위해 사용되는 프로토콜의 주 버전 넘버를 나타낼 수 있다. 디폴트 값은 1이다.
@sTSIDMinorProtocolVersion은 해당 서비스에 대한 S-TSID를 전달하기 위해 사용되는 프로토콜의 부 버전 넘버를 나타낼 수 있다. 디폴트 값은 0이다.
atsc:broadbandComponent 는 브로드밴드를 통해 전달되는 서비스의 컨텐츠 컴포넌트에 대한 정보를 가질 수 있다. 즉, 하이브리드 딜리버리를 상정한 필드일 수 있다. atsc:broadbandComponent 는 @atsc:fullfMPDUri 를 더 포함할 수 있다.
@atsc:fullfMPDUri는 브로드밴드로 전달되는 서비스의 컨텐츠 컴포넌트에 대한 디스크립션을 포함하는 MPD 분할에 대한 레퍼런스일 수 있다.
atsc:ComponentInfo 는 서비스의 어베일러블한(available) 컴포넌트에 대한 정보를 가질 수 있다. 각각의 컴포넌트에 대한, 타입, 롤, 이름 등의 정보를 가질 수 있다. 각 컴포넌트(N개) 개수만큼 본 필드가 존재할 수 있다. atsc:ComponentInfo 는 @atsc:componentType, @atsc:componentRole, @atsc:componentProtectedFlag, @atsc:componentId 및/또는 @atsc:componentName 을 포함할 수 있다.
@atsc:componentType은 해당 컴포넌트의 타입을 나타내는 성질이다. 0의 값은 오디오 컴포넌트를 나타낸다. 1의 값은 비디오 컴포넌트를 나타낸다. 2의 값은 클로즈드 캡션 컴포넌트를 나타낸다. 3의 값은 어플리케이션 컴포넌트를 나타낸다. 4 내지 7의 값은 남겨둔다. 본 필드 값의 의미는 실시예에 따라 다르게 설정될 수도 있다.
@atsc:componentRole은 해당 컴포넌트의 역할 및 종류를 나타내는 성질이다.
오디오에 대해 (상기 componentType 성질이 0과 동일할 때), componentRole 성질의 값은 다음과 같다. 0 = Complete main, 1 = 음악 및 효과 (Music and Effects), 2 = 대화 (Dialog), 3 = 해설 (Commentary), 4 = 시각 장애 (Visually Impaired), 5 = 청각 장애 (Hearing Impaired), 6 = 보이스오버 (Voice-Over), 7-254= reserved, 255 = 알 수 없음 (unknown).
오디오에 대해 (상기 componentType 성질이 1과 동일할 때), componentRole 성질의 값은 다음과 같다. 0 = Primary video, 1= 대체 카메라 뷰 (Alternative camera view), 2 = 다른 대체 비디오 컴포넌트 (Other alternative video component), 3 = 수화 삽입 (Sign language inset), 4 = Follow subject video, 5 = 3D 비디오 좌측 뷰 (3D video left view), 6 = 3D 비디오 우측 뷰 (3D video right view), 7 = 3D 비디오 깊이 정보 (3D video depth information), 8 = Part of video array <x,y> of <n,m>, 9 = Follow-Subject metadata, 10-254 = reserved, 255 = 알 수 없음 (unknown).
클로즈드 캡션 컴포넌트에 대해, (상기 componentType 성질이 2와 동일할 때), componentRole 성질의 값은 다음과 같다. 0 = Normal, 1 = Easy reader, 2-254 = reserved, 255 = 알 수 없음 (unknown).
상기 componentType 성질의 값이 3과 7 사이이면, componentRole 255와 동일할 수 있다. 본 필드 값의 의미는 실시예에 따라 다르게 설정될 수도 있다.
@atsc:componentProtectedFlag는 해당 컴포넌트가 보호되는지 (예를 들면, 암호화되는지)를 나타내는 성질이다. 해당 플레그가 1의 값으로 설정되면, 해당 컴포넌트는 보호된다 (예를 들면, 암호화된다). 해당 플레그가 0의 값으로 설정되면, 해당 컴포넌트는 보호되지 않는다 (예를 들면, 암호화되지 않는다). 존재하지 않는 경우, componentProtectedFlag 성질의 값은 0과 같은 것으로 추론된다. 본 필드 값의 의미는 실시예에 따라 다르게 설정될 수도 있다.
@atsc:componentId는 해당 컴포넌트의 식별자를 나타내는 성질이다. 해당 성질의 값은 해당 컴포넌트에 해당하는 MP 테이블에서 asset_id와 동일할 수 있다.
@atsc:componentName은 해당 컴포넌트의 사람이 판독 가능한 이름을 나타내는 성질이다.
제시된 디폴트 값들은 실시예에 따라 변경될 수 있다. 도시된 사용(use) 열은 각 필드에 관한 것으로, M 은 필수 필드, O 는 옵셔널 필드, OD 는 디폴트 값을 가지는 옵셔널 필드, CM 은 조건부 필수 필드를 의미할 수 있다. 0...1 내지 0...N 은 해당 필드들의 가능 개수를 의미할 수 있다.
이하, MMT 를 위한 MPD (Media Presentation Description) 에 대해 설명한다.
MPD는 방송사에 의해 정해진 주어진 듀레이션의 리니어 서비스에 해당하는 SLS 메타데이터 분할이다 (예를 들면, 하나의 TV 프로그램, 또는 어떤 기간 동안의 연속적인 리니어 TV 프로그램의 집합). MPD의 컨텐츠는 분할에 대한 리소스 식별자 및 미디어 프레젠테이션 내에서 식별된 리소스에 대한 컨텍스트를 제공한다. MPD의 데이터 구조 및 시맨틱스는 MPEG DASH에 의해 정의된 MPD에 따를 수 있다.
본 발명의 실시예에 있어서, MMTP 세션에 의해 전달되는 MPD는 하이브리드 서비스의 경우와 같은 브로드밴드 상에서 전달되는 레프레젠테이션을 서술하거나, 브로드캐스트 신호 악화 (예를 들면, 산 아래나 터널 속 주행)로 인한 브로드캐스트에서 브로드캐스트로의 핸드오프에서 서비스 연속성을 지원할 수 있다.
이하, MMT 를 위한 MMT 시그널링 메시지에 대해서 설명한다.
MMTP 세션이 스트리밍 서비스를 전달하기 위해서 사용되면, MMT에 의해 정의된 MMT 시그널링 메시지는 MMT에 의해 정의된 시그널링 메시지 모드에 따라 MMTP 패킷에 의해 전달된다. 에셋을 전달하는 MMTP 패킷과 동일한 packet_id 값으로 설정될 수 있는, 에셋에 특정한 MMT 시그널링 메시지를 전달하는 MMTP 패킷을 제외하고 SLS를 전달하는 MMTP 패킷의 packet_id 필드의 값은 "00"으로 설정된다. 각 서비스에 대한 적절한 패킷을 레퍼런싱하는 식별자는 전술한 바와 같이 USBD 분할에 의해 시그널링된다. 매칭하는 MMT_package_id를 갖는 MPT 메시지는 SLT에서 시그널링되는 MMTP 세션 상에서 전달될 수 있다. 각 MMTP 세션은 그 세션에 특정한 MMT 시그널링 메시지 또는 MMTP 세션에 의해 전달되는 각 에셋을 전달한다.
즉, SLT 에서 특정 서비스에 대한 SLS 를 가지는 패킷의 IP 데스티네이션 어드레스/포트 넘버 등을 특정하여 MMTP 세션의 USBD 에 접근할 수 있다. 전술한 바와 같이 SLS 를 운반하는 MMTP 패킷의 패킷 ID 는 00 등 특정값으로 지정될 수 있다. USBD 의 전술한 패키지 ID 정보를 이용하여, 매칭되는 패키지 ID 를 가지는 MPT 메시지에 접근할 수 있다. MPT 메시지는 후술하는 바와 같이 각 서비스 컴포넌트/에셋에 접근하는데 사용될 수 있다.
다음의 MMTP 메시지는 SLT에서 시그널링되는 MMTP 세션에 의해 전달될 수 있다.
MPT 메시지: 이 메시지는 모든 에셋의 리스트 및 MMT에 의해 정의된 바와 같은 그것들의 위치 정보를 포함하는 MP 테이블을 전달한다. 에셋이 MP 테이블을 전달하는 현 PLP와 다른 PLP에 의해 전달되면, 해당 에셋을 전달하는 PLP의 식별자는 PLP 식별자 디스크립터를 사용한 MP 테이블에서 제공될 수 있다. PLP 식별자 디스크립터에 대해서는 후술한다.
MMT ATSC3 (MA3) message mmt_atsc3_message(): 이 메시지는 전술한 바와 같이 SLS를 포함하는 서비스에 특정한 시스템 메타데이터를 전달한다. mmt_atsc3_message()에 대해서는 후술한다.
다음의 MMTP 메시지는 필요한 경우 SLT에서 시그널링된 MMTP 세션에 의해 전달될 수 있다.
MPI 메시지: 이 메시지는 프레젠테이션 정보의 모든 다큐먼트 또는 일부 다큐먼트를 포함하는 MPI 테이블을 전달한다. MPI 테이블과 관련된 MP 테이블은 이 메시지에 의해 전달될 수 있다.
CRI (clock relation information) 메시지: 이 메시지는 NTP 타임스탬프와 MPEG-2 STC 사이의 매핑을 위한 클록 관련 정보를 포함하는 CRI 테이블을 전달한다. 실시예에 따라 CRI 메시지는 해당 MMTP 세션을 통해 전달되지 않을 수 있다.
다음의 MMTP 메시지는 스트리밍 컨텐츠를 전달하는 각 MMTP 세션에 의해 전달될 수 있다.
가상적인 수신기 버퍼 모델 메시지: 이 메시지는 버퍼를 관리하기 위해 수신기에 의해 요구되는 정보를 전달한다.
가상적인 수신기 버퍼 모델 제거 메시지: 이 메시지는 MMT 디캡슐레이션 버퍼를 관리하기 위해 수신기에 의해 요구되는 정보를 전달한다.
이하, MMT 시그널링 메시지 중 하나인 mmt_atsc3_message() 에 대해서 설명한다. MMT 시그널링 메시지인 mmt_atsc3_message()는 전술한 본 발명에 따라 서비스에 특정한 정보를 전달하기 위해 정의된다. 본 시그널링 메시지는 MMT 시그널링 메시지의 기본적인 필드인 메시지 ID, 버전 및/또는 길이(length) 필드를 포함할 수 있다. 본 시그널링 메시지의 페이로드에는 서비스 ID 정보와, 컨텐트 타입, 컨텐트 버전, 컨텐트 컴프레션 정보 및/또는 URI 정보가 포함될 수 있다. 컨텐트 타입 정보는 본 시그널링 메시지의 페이로드에 포함되는 데이터의 타입을 지시할 수 있다. 컨텐트 버전 정보는 페이로드에 포함되는 데이터의 버전을, 컨텐트 컴프레션 정보는 해당 데이터에 적용된 컴프레션 타입을 지시할 수 있다. URI 정보는 본 메시지에 의해 전달되는 컨텐츠와 관련된 URI 정보를 가질 수 있다.
이하, PLP 식별자 디스크립터에 대해서 설명한다.
PLP 식별자 디스크립터는 전술한 MP 테이블의 디스크립터 중 하나로 사용될 수 있는 디스크립터이다. PLP 식별자 디스크립터는 에셋을 전달하는 PLP에 관한 정보를 제공한다. 에셋이 MP 테이블을 전달하는 현재 PLP와 다른 PLP에 의해 전달되면, PLP 식별자 디스크립터는 그 에셋을 전달하는 PLP를 식별하기 위해 관련된 MP 테이블에서 에셋 디스크립터로 사용될 수 있다. PLP 식별자 디스크립터는 PLP ID 정보 외에 BSID 정보를 더 포함할 수도 있다. BSID 는 이 디스크립터에 의해 기술되는 Asset 을 위한 MMTP 패킷을 전달하는 브로드캐스트 스트림의 ID 일 수 있다.
도 8 은 본 발명의 일 실시예에 따른 링크 레이어 프로토콜 아키텍쳐를 도시한 도면이다.
이하, 링크 레이어(Link Layer) 에 대해서 설명한다.
링크 레이어는 피지컬 레이어와 네트워크 레이어 사이의 레이어이며, 송신 측에서는 네트워크 레이어에서 피지컬 레이어로 데이터를 전송하고, 수신 측에서는 피지컬 레이어에서 네트워크 레이어로 데이터를 전송한다. 링크 레이어의 목적은 피지컬 레이어에 의한 처리를 위해 모든 입력 패킷 타입을 하나의 포맷으로 요약하는 것, 아직 정의되지 않은 입력 타입에 대한 유연성 및 추후 확장 가능성을 보장하는 것이다. 또한, 링크 레이어 내에서 처리하면, 예를 들면, 입력 패킷의 헤더에 있는 불필요한 정보를 압축하는 데 옵션을 제공함으로써, 입력 데이터가 효율적으로 전송될 수 있도록 보장된다. 인캡슐레이션, 콤프레션 등의 동작은 링크 레이어 프로토콜이라 불리고, 해당 프로토콜을 이용하여 생성된 패킷은 링크 레이어 패킷이라 불린다. 링크 레이어는 패킷 인캡슐레이션(packet encapsulation), 오버헤드 리덕션(Overhead Reduction) 및/또는 시그널링 전송(Signaling Transmission) 등의 기능을 수행할 수 있다.
이하, 패킷 인캡슐레이션에 대해서 설명한다. 링크 레이어 프로토콜은 IP 패킷 및 MPEG-2 TS와 같은 것을 포함하는 모든 타입의 패킷의 인캡슐레이션을 가능하게 한다. 링크 레이어 프로토콜을 이용하여, 피지컬 레이어는 네트워크 레이어 프로토콜 타입과 독립적으로 하나의 패킷 포맷만 처리하면 된다 (여기서 네트워크 레이어 패킷의 일종으로 MPEG-2 TS 패킷을 고려). 각 네트워크 레이어 패킷 또는 입력 패킷은 제네릭 링크 레이어 패킷의 페이로드로 변형된다. 추가적으로, 입력 패킷 사이즈가 특별히 작거나 큰 경우 피지컬 레이어 리소스를 효율적으로 이용하기 위해 연쇄 및 분할이 실행될 수 있다.
전술한 바와 같이 패킷 인캡슐레이션 과정에서 분할(segmentation) 이 활용될 수 있다. 네트워크 레이어 패킷이 지나치게 커서 피지컬 레이어에서 쉽게 처리하지 못하는 경우, 네트워크 레이어 패킷은 두 개 이상의 분할로 나누어진다. 링크 레이어 패킷 헤더는 송신 측에서 분할을 실행하고 수신 측에서 재결합을 실행하기 위해 프로토콜 필드를 포함한다. 네트워크 레이어 패킷이 분할되는 경우, 각 분할은 네트워크 레이어 패킷에서의 원래 위치와 같은 순서로 링크 레이어 패킷으로 인캡슐레이션 될 수 있다. 또한 네트워크 레이어 패킷의 분할을 포함하는 각 링크 레이어 패킷은 결과적으로 피지컬 레이어로 전송될 수 있다.
전술한 바와 같이 패킷 인캡슐레이션 과정에서 연쇄(concatenation) 또한 활용될 수 있다. 링크 레이어 패킷의 페이로드가 여러 네트워크 레이어 패킷을 포함할 정도로 네트워크 레이어 패킷이 충분히 작은 경우, 링크 레이어 패킷 헤더는 연쇄를 실행하기 위해 프로토콜 필드를 포함한다. 연쇄는 다수의 작은 크기의 네트워크 레이어 패킷을 하나의 페이로드로 결합한 것이다. 네트워크 레이어 패킷들이 연쇄되면, 각 네트워크 레이어 패킷은 원래의 입력 순서와 같은 순서로 링크 레이어 패킷의 페이로드로 연쇄될 수 있다. 또한, 링크 레이어 패킷의 페이로드를 구성하는 각 패킷은 패킷의 분할이 아닌 전체 패킷일 수 있다.
이하, 오버헤드 리덕션에 대해서 설명한다. 링크 레이어 프로토콜의 사용으로 인해 피지컬 레이어 상에서 데이터의 전송에 대한 오버헤드가 크게 감소할 수 있다. 본 발명에 따른 링크 레이어 프로토콜은 IP 오버헤드 리덕션 및/또는 MPEG-2 TS 오버헤드 리덕션을 제공할 수 있다. IP 오버헤드 리덕션에 있어서, IP 패킷은 고정된 헤더 포맷을 가지고 있으나, 통신 환경에서 필요한 일부 정보는 브로드캐스트 환경에서 불필요할 수 있다. 링크 레이어 프로토콜은 IP 패킷의 헤더를 압축함으로써 브로드캐스트 오버헤드를 줄이는 메커니즘을 제공한다. MPEG-2 TS 오버헤드 리덕션에 있어서, 링크 레이어 프로토콜은 싱크 바이트 제거, 널 패킷 삭제 및/또는 공통 헤더 제거 (압축)을 제공한다. 우선, 싱크 바이트 제거는 TS 패킷당 하나의 바이트의 오버헤드 리덕션을 제공하고, 다음으로, 널 패킷 삭제 메커니즘은 수신기에서 재삽입될 수 있는 방식으로 188 바이트의 널 TS 패킷을 제거한다. 마지막으로, 공통 헤더 제거 메커니즘이 제공된다.
시그널링 전송에 대해서, 링크 레이어 프로토콜은 시그널링 패킷을 위한 특정 포맷이, 링크 레이어 시그널링을 전송하기 위하여 제공될 수 있다. 이에 관해서는 후술한다.
도시된 본 발명의 일 실시예에 따른 링크 레이어 프로토콜 아키텍쳐에서, 링크 레이어 프로토콜은 입력 패킷으로 IPv4, MPEG-2 TS 등과 같은 입력 네트워크 레이어 패킷을 취한다. 향후 확장은 다른 패킷 타입과 링크 레이어에서 입력될 수 있는 프로토콜을 나타낸다. 링크 레이어 프로토콜은 피지컬 레이어에서 특정 채널에 대한 매핑에 관한 정보를 포함하는 모든 링크 레이어 시그널링에 대한 시그널링 및 포맷을 특정한다. 도면은 ALP가 어떻게 다양한 헤더 컴프레션 및 삭제 알고리즘을 통해 전송 효율을 향상시키기 위해 메커니즘을 포함하는지 나타낸다. 또한 링크 레이어 프로토콜은 기본적으로 입력 패킷들을 인캡슐레이션할 수 있다.
도 9 는 본 발명의 일 실시예에 따른 링크 레이어 패킷의 베이스 헤더 구조를 도시한 도면이다. 이하, 헤더의 구조에 대해서 설명한다.
링크 레이어 패킷은 데이터 페이로드가 뒤따르는 헤더를 포함할 수 있다. 링크 레이어 패킷의 패킷은 베이스 헤더를 포함할 수 있고, 베이스 헤더의 컨트롤 필드에 따라 추가 헤더를 포함할 수 있다. 옵셔널 헤더의 존재는 추가 헤더의 플레그 필드로부터 지시된다. 실시예에 따라, 추가 헤더, 옵셔널 헤더의 존재를 나타내는 필드는 베이스 헤더에 위치할 수도 있다.
이하, 베이스 헤더의 구조에 대해서 설명한다. 링크 레이어 패킷 인캡슐레이션에 대한 베이스 헤더는 계층 구조를 갖는다. 베이스 헤더는 2바이트의 길이를 가질 수 있고, 링크 레이어 패킷 헤더의 최소 길이이다.
도시된 본 발명의 일 실시예에 따른 베이스 헤더는, Packet_Type 필드, PC 필드 및/또는 길이(length) 필드를 포함할 수 있다. 실시예에 따라 베이스 헤더는 HM 필드 또는 S/C 필드를 더 포함할 수 있다.
Packet_Type 필드는 링크 레이어 패킷으로의 인캡슐레이션 전의 입력 데이터의 패킷 타입 또는 원래의 프로토콜을 나타내는 3비트 필드이다. IPv4 패킷, 압축된 IP 패킷(compressed IP packet), 링크 레이어 시그널링 패킷, 및 그 밖의 타입의 패킷들이 이러한 베이스 헤더 구조를 가지며 인캡슐레이션 될 수 있다. 단, 실시예에 따라 MPEG-2 TS 패킷은 이와 다른 특별한 구조를 가지며 인캡슐레이션 될 수 있다. Packet_Type의 값이 "000" "001" "100" 또는 "111" 이면, 이면, ALP 패킷의 원래의 데이터 타입은 IPv4 패킷, 압축 IP 패킷, 링크 레이어 시그널링 또는 익스텐션 패킷 중 하나이다. MPEG-2 TS 패킷이 캡슐화되면, Packet_Type의 값은 "010"이 될 수 있다. 다른 Packet_Type 필드의 값들은 향후 사용을 위해 남겨둘 수 있다(reserved for future use).
Payload_Configuration (PC) 필드는 페이로드의 구성을 나타내는 1비트 필드일 수 있다. 0의 값은 링크 레이어 패킷이 하나의 전체 입력 패킷을 전달하고 다음 필드가 Header_Mode라는 것을 나타낼 수 있다. 1의 값은 링크 레이어 패킷이 하나 이상의 입력 패킷 (연쇄)이나 큰 입력 패킷 (분할)의 일부를 전달하며 다음 필드가 Segmentation_Concatenation이라는 것을 나타낼 수 있다.
Header_Mode (HM) 필드는 0으로 설정되는 경우 추가 헤더가 없다는 것을 나타내고 링크 레이어 패킷의 페이로드의 길이가 2048 바이트보다 작다는 것을 나타내는 1비트 필드일 수 있다. 이 수치는 실시예에 따라 변경될 수 있다. 1의 값은 아래에 정의된 하나의 패킷을 위한 추가 헤더가 길이 필드 다음에 존재한다는 것을 나타낼 수 있다. 이 경우, 페이로드의 길이는 2047 바이트보다 크고/크거나 옵션 피쳐가 사용될 수 있다 (서브 스트림 식별, 헤더 확장 등). 이 수치는 실시예에 따라 변경될 수 있다. 본 필드는 링크 레이어 패킷의 Payload_Configuration 필드가 0의 값을 가질 때만 존재할 수 있다.
Segmentation_Concatenation (S/C) 필드는 0으로 설정된 경우 페이로드가 입력 패킷의 세그먼트를 전달하고 아래에 정의되는 분할을 위한 추가 헤더가 길이 필드 다음에 존재한다는 것을 나타내는 1비트 필드일 수 있다. 1의 값은 페이로드가 하나보다 많은 완전한 입력 패킷을 전달하고 아래에 정의된 연쇄를 위한 추가 헤더가 길이 필드 다음에 존재한다는 것을 나타낼 수 있다. 본 필드는 ALP 패킷의 Payload_Configuration 필드의 값이 1일 때만 존재할 수 있다.
길이 필드는 링크 레이어 패킷에 의해 전달되는 페이로드의 바이트 단위의 길이의 11 LSBs (least significant bits)를 나타내는 11비트 필드일 수 있다. 다음의 추가 헤더에 Length_MSB 필드가 있으면, 길이 필드는 Length_MSB 필드에 연쇄되고 페이로드의 실제 총 길이를 제공하기 위해 LSB가 된다. 길이필드의 비트수는 11 비트외에 다른 비트로 변경될 수도 있다.
따라서 다음의 패킷 구조의 타입이 가능하다. 즉, 추가 헤더가 없는 하나의 패킷, 추가 헤더가 있는 하나의 패킷, 분할된 패킷, 연쇄된 패킷이 가능하다. 실시예에 따라 각 추가 헤더와 옵셔널 헤더, 후술할 시그널링 정보를 위한 추가헤더와 타입 익스텐션을 위한 추가헤더에 의한 조합으로, 더 많은 패킷 컨피규레이션이 가능할 수 있다.
도 10 은 본 발명의 일 실시예에 따른 링크 레이어 패킷의 추가 헤더 구조를 도시한 도면이다.
추가 헤더(additional header) 는 다양한 타입이 있을 수 있다. 이하 싱글 패킷을 위한 추가 헤더에 대해서 설명한다.
하나의 패킷에 대한 해당 추가 헤더는 Header_Mode (HM) ="1"인 경우 존재할 수 있다. 링크 레이어 패킷의 페이로드의 길이가 2047 바이트보다 크거나 옵션 필드가 사용되는 경우 Header_Mode (HM)는 1로 설정될 수 있다. 하나의 패킷의 추가 헤더(tsib10010)는 도면에 나타낸다.
Length_MSB 필드는 현재 링크 레이어 패킷에서 바이트 단위의 총 페이로드 길이의 MSBs (most significant bits)를 나타낼 수 있는 5비트 필드일 수 있고, 총 페이로드 길이를 얻기 위해 11 LSB를 포함하는 길이 필드에 연쇄된다. 따라서 시그널링될 수 있는 페이로드의 최대 길이는 65535 바이트이다. 길이필드의 비트수는 11 비트외에 다른 비트로 변경될 수도 있다. 또한 Length_MSB 필드 역시 비트수가 변경될 수 있으며 이에 따라 최대 표현가능한 페이로드 길이 역시 변경될 수 있다. 실시예에 따라 각 길이필드들은 페이로드가 아닌 전체 링크 레이어 패킷의 길이를 지시할 수도 있다.
Sub-stream Identifier Flag (SIF) 필드는 HEF (Header Extension Flag) 필드 후에 SID (sub-stream ID)가 존재하는지 나타낼 수 있는 1비트 필드가 될 수 있다. 링크 레이어 패킷에 SID가 없으면, SIF 필드는 0으로 설정될 수 있다. 링크 레이어 패킷에서 HEF 필드 후에 SID가 존재하면, SIF는 1로 설정될 수 있다. SID에 대한 자세한 내용은 후술한다.
HEF 필드는 1로 설정되는 경우 추후 확장을 위해 추가 헤더가 존재한다는 것을 나타낼 수 있는 1비트 필드가 될 수 있다. 0의 값은 이 확장 필더가 존재하지 않는다는 것을 나타낼 수 있다.
이하, 분할(segmentation) 이 활용되는 경우에 있어서 추가 헤더에 대해서 설명한다.
Segmentation_Concatenation (S/C) ="0"인 경우 추가 헤더(tsib10020)가 존재할 수 있다. Segment_Sequence_Number는 링크 레이어 패킷에 의해 전달되는 해당 분할의 순서를 나타낼 수 있는 5비트의 무부호 정수가 될 수 있다. 입력 패킷의 첫 번째 분할을 전달하는 링크 레이어 패킷에 대해, 해당 필드의 값은 0x0으로 설정될 수 있다. 해당 필드는 분할될 입력 패킷에 속하는 각 추가 세그먼트마다 1씩 증분될 수 있다.
LSI (Last_Segment_Indicator)는 1로 설정되는 경우 해당 페이로드에 있는 분할이 입력 패킷의 마지막 것임을 나타낼 수 있는 1비트 필드일 수 있다. 0의 값은 그것이 마지막 분할이 아님을 나타낼 수 있다.
SIF (Sub-stream Identifier Flag)는 SID가 HEF 필드 후에 존재하는지 나타낼 수 있는 1비트 필드가 될 수 있다. 링크 레이어 패킷에 SID가 존재하지 않으면, SIF 필드는 0으로 설정될 수 있다. 링크 레이어 패킷에서 HEF 필드 후에 SID가 존재하면, SIF는 1로 설정될 수 있다.
HEF 필드는 1로 설정되는 경우 링크 레이어 헤더의 추후 확장을 위해 추가 헤더 후에 옵셔널 헤더 확장이 존재한다는 것을 나타낼 수 있는 1비트 필드일 수 있다. 0의 값은 옵셔널 헤더 확장이 존재하지 않는다는 것을 나타낼 수 있다.
실시예에 따라 각 분할된 세그먼트가 동일한 입력 패킷으로부터 생성되었음을 지시하는 패킷 ID 필드가 추가될 수도 있다. 이 필드는 분할된 세그먼트가 순서대로 전송된다면 필요치 않아 생략될 수 있다.
*이하, 연쇄(concatenation) 이 활용되는 경우에 있어서 추가 헤더에 대해서 설명한다.
Segmentation_Concatenation (S/C) ="1"인 경우 추가 헤더(tsib10030)가 존재할 수 있다.
Length_MSB는 해당 링크 레이어 패킷에서 바이트 단위의 페이로드 길이의 MSB 비트를 나타낼 수 있는 4비트 필드일 수 있다. 해당 페이로드의 최대 길이는 연쇄를 위해 32767 바이트가 된다. 전술한 바와 마찬가지로 자세한 수치는 변경될 수 있다.
Count 필드는 링크 레이어 패킷에 포함된 패킷의 수를 나타낼 수 있는 필드일 수 있다. 링크 레이어 패킷에 포함된 패킷의 수에 해당하는 2는 해당 필드에 설정될 수 있다. 따라서, 링크 레이어 패킷에서 연쇄된 패킷의 최대값은 9이다. Count 필드가 그 개수를 지시하는 방법은 실시예마다 다를 수 있다. 즉, 1 부터 8 까지의 개수가 지시될 수도 있다.
HEF 필드는 1로 설정되는 경우 링크 레이어 헤더의 향후 확장을 위한 추가 헤더 후에 옵셔널 헤더 확장이 존재한다는 것을 나타낼 수 있는 1비트 필드일 수 있다. 0의 값은 확장 헤더가 존재하지 않는다는 것을 나타낼 수 있다.
Component_Length는 각 패킷의 바이트 단위 길이를 나타낼 수 있는 12비트 필드일 수 있다. Component_Length 필드는 마지막 컴포넌트 패킷을 제외하고 페이로드에 존재하는 패킷과 같은 순서로 포함된다. 길이 필드의 수는 (Count+1)에 의해 나타낼 수 있다. 실시예에 따라 Count 필드의 값과 같은 수의 길이 필드가 존재할 수도 있다. 링크 레이어 헤더가 홀수의 Component_Length로 구성되는 경우, 네 개의 스터핑 비트가 마지막 Component_Length 필드에 뒤따를 수 있다. 이들 비트는 0으로 설정될 수 있다. 실시예에 따라 마지막 연쇄된 인풋패킷의 길이를 나타내는 Component_Length 필드는 존재하지 않을 수 있다. 이 경우, 마지막 연쇄된 인풋패킷의 길이는 전체 페이로드 길이에서 각 Component_length 필드가 나타내는 값의 합을 뺀 길이로 지시될 수 있다.
이하, 옵셔널 헤더에 대해서 설명한다.
전술한 바와 같이 옵셔널 헤더는 추가 헤더 뒤편에 추가될 수 있다. 옵셔널 헤더 필드는 SID 및/또는 헤더 확장을 포함할 수 있다. SID는 링크 레이어 레벨에서 특정 패킷 스트림을 필터링하는 데 사용된다. SID의 일례는 다수의 서비스를 전달하는 링크 레이어 스트림에서 서비스 식별자의 역할이다. 적용 가능한 경우, 서비스와 서비스에 해당하는 SID 값 사이의 매핑 정보는 SLT에서 제공될 수 있다. 헤더 확장은 향후 사용을 위한 확장 필드를 포함한다. 수신기는 자신이 이해하지 못하는 모든 헤더 확장을 무시할 수 있다.
SID는 링크 레이어 패킷에 대한 서브 스트림 식별자를 나타낼 수 있는 8비트 필드일 수 있다. 옵셔널 헤더 확장이 있으면, SID는 추가 헤더와 옵셔널 헤더 확장 사이에 존재한다.
Header_Extension ()는 아래에 정의된 필드를 포함할 수 있다.
Extension_Type은 Header_Extension ()의 타입을 나타낼 수 있는 8비트 필드일 수 있다.
Extension_Length는 Header_Extension ()의 다음 바이트부터 마지막 바이트까지 카운팅되는 Header Extension ()의 바이트 길이를 나타낼 수 있는 8비트 필드일 수 있다.
Extension_Byte는 Header_Extension ()의 값을 나타내는 바이트일 수 있다.
도 11 은 본 발명의 다른 실시예에 따른 링크 레이어 패킷의 추가 헤더 구조를 도시한 도면이다.
이하, 시그널링 정보를 위한 추가 헤더에 대해서 설명한다.
링크 레이어 시그널링이 어떻게 링크 레이어 패킷에 포함되는지는 다음과 같다. 시그널링 패킷은 베이스 헤더의 Packet_Type 필드가 100과 같을 때 식별된다.
도면(tsib11010)은 시그널링 정보를 위한 추가 헤더를 포함하는 링크 레이어 패킷의 구조를 나타낸다. 링크 레이어 헤더뿐만 아니라, 링크 레이어 패킷은 시그널링 정보를 위한 추가 헤더와 실제 시그널링 데이터 자체의 두 추가 부분으로 구성될 수 있다. 링크 레이어 시그널링 패킷의 총 길이는 링크 레이어 패킷 헤더에 나타낸다.
시그널링 정보를 위한 추가 헤더는 다음의 필드들을 포함할 수 있다. 실시예에 따라 일부 필드는 생략될 수 있다.
Signaling_Type은 시그널링의 타입을 나타낼 수 있는 8비트 필드일 수 있다.
Signaling_Type_Extension은 시그널링의 속성을 나타낼 수 있는 16비트 필드일 수 있다. 해당 필드의 자세한 내용은 시그널링 사양에서 정의될 수 있다.
Signaling_Version은 시그널링의 버전을 나타낼 수 있는 8비트 필드일 수 있다.
Signaling_Format은 시그널링 데이터의 데이터 포맷을 나타낼 수 있는 2비트 필드일 수 있다. 여기서 시그널링 포맷이란 바이너리, XML 등의 데이터 포맷을 의미할 수 있다.
Signaling_Encoding은 인코딩/컴프레션 포맷을 특정할 수 있는 2비트 필드일 수 있다. 본 필드는 컴프레션이 수행되지 않았는지, 어떤 특정한 컴프레션이 수행되었는지를 지시할 수 있다.
이하, 패킷 타입 확장을 위한 추가 헤더에 대해서 설명한다.
추후에 링크 레이어에 의해 전달되는 패킷 타입 및 추가 프로토콜의 무제한에 가까운 수를 허용하는 메커니즘을 제공하기 위해, 추가 헤더가 정의된다. 전술한 바와 같이 베이스 헤더에서 Packet_type이 111인 경우 패킷 타입 확장이 사용될 수 있다. 도면(tsib11020)은 타입 확장을 위한 추가 헤더를 포함하는 링크 레이어 패킷의 구조를 나타낸다.
타입 확장을 위한 추가 헤더는 다음의 필드들을 포함할 수 있다. 실시예에 따라 일부 필드는 생략될 수 있다.
extended_type은 페이로드로서 링크 레이어 패킷으로 인캡슐레이션되는 입력의 프로토콜이나 패킷 타입을 나타낼 수 있는 16비트 필드일 수 있다. 해당 필드는 Packet_Type 필드에 의해 이미 정의된 모든 프로토콜이나 패킷 타입에 대해 사용될 수 없다.
도 12 은 본 발명의 일 실시예에 따른, MPEG-2 TS 패킷을 위한 링크 레이어 패킷의 헤더 구조와, 그 인캡슐레이션 과정을 도시한 도면이다.
이하, 입력 패킷으로 MPEG-2 TS 패킷이 입력되었을 때, 링크 레이어 패킷 포맷에 대해서 설명한다.
이 경우, 베이스 헤더의 Packet_Type 필드는 010과 동일하다. 각 링크 레이어 패킷 내에서 다수의 TS 패킷이 인캡슐레이션 될 수 있다. TS 패킷의 수는 NUMTS 필드를 통해 시그널링 될 수 있다. 이 경우, 전술한 바와 같이, 특별한 링크 레이어 패킷 헤더 포맷이 사용될 수 있다.
링크 레이어는 전송 효율을 향상시키기 위해 MPEG-2 TS를 위한 오버헤드 리덕션 메커니즘을 제공한다. 각 TS 패킷의 싱크 바이트(0x47)는 삭제될 수 있다. 널 패킷 및 유사한 TS 헤더를 삭제하는 옵션 또한 제공된다.
불필요한 전송 오버헤드를 피하기 위해, TS 널 패킷(PID = 0x1FFF)이 제거될 수 있다. 삭제된 널 패킷은 DNP 필드를 이용하여 수신기 측에서 복구될 수 있다. DNP 필드는 삭제된 널 패킷의 카운트를 나타낸다. DNP 필드를 이용한 널 패킷 삭제 메커니즘은 아래에서 설명한다.
전송 효율을 더욱 향상시키기 위해, MPEG-2 TS 패킷의 유사한 헤더가 제거될 수 있다. 두 개 이상의 순차적인 TS 패킷이 순차적으로 CC (continuity counter) 필드를 증가시키고 다른 헤더 필드도 동일하면, 헤더가 첫 번째 패킷에서 한 번 전송되고 다른 헤더는 삭제된다. HDM 필드는 헤더가 삭제되었는지 여부를 나타낼 수 있다. 공통 TS 헤더 삭제의 상세한 과정은 아래에 설명한다.
세 가지 오버헤드 리덕션 메커니즘이 모두 실행되는 경우, 오버헤드 리덕션은 싱크 제거, 널 패킷 삭제, 공통 헤더 삭제의 순으로 실행될 수 있다. 실시예에 따라 각 메커니즘이 수행되는 순서는 바뀔 수 있다. 또한, 실시예에 따라 일부 메커니즘은 생략될 수 있다.
MPEG-2 TS 패킷 인캡슐레이션을 사용하는 경우 링크 레이어 패킷 헤더의 전체적인 구조가 도면(tsib12010)에 도시된다.
이하, 도시된 각 필드에 대해서 설명한다. Packet_Type은 전술한 바와 같이 입력 패킷의 프로토콜 타입을 나타낼 수 있는 3비트 필드일 수 있다. MPEG-2 TS 패킷 인캡슐레이션을 위해, 해당 필드는 항상 010으로 설정될 수 있다.
NUMTS (Number of TS packets)는 해당 링크 레이어 패킷의 페이로드에서 TS 패킷의 수를 나타낼 수 있는 4비트 필드일 수 있다. 최대 16개의 TS 패킷이 하나의 링크 레이어 패킷에서 지원될 수 있다. NUMTS = 0의 값은 16개의 TS 패킷이 링크 레이어 패킷의 페이로드에 의해 전달된다는 것을 나타낼 수 있다. NUMTS의 다른 모든 값에 대해, 같은 수의 TS 패킷이 인식된다. 예를 들면, NUMTS = 0001은 하나의 TS 패킷이 전달되는 것을 의미한다.
AHF (additional header flag)는 추가 헤더가 존재하는지 여부를 나타낼 수 있는 필드일 수 있다. 0의 값은 추가 헤더가 존재하지 않는다는 것을 나타낸다. 1의 값은 1바이트 길이의 추가 헤더가 베이스 헤더 다음에 존재한다는 것을 나타낸다. 널 TS 패킷이 삭제되거나 TS 헤더 컴프레션이 적용되면, 해당 필드는 1로 설정될 수 있다. TS 패킷 인캡슐레이션을 위한 추가 헤더는 다음의 두 개의 필드로 구성되고 해당 링크 레이어 패킷에서의 AHF의 값이 1로 설정되는 경우에만 존재한다.
HDM (header deletion mode)은 TS 헤더 삭제가 해당 링크 레이어 패킷에 적용될 수 있는지 여부를 나타내는 1비트 필드일 수 있다. 1의 값은 TS 헤더 삭제가 적용될 수 있다는 것을 나타낸다. 0의 값은 TS 헤더 삭제 방법이 해당 링크 레이어 패킷에 적용되는 않는다는 것을 나타낸다.
DNP (deleted null packets)는 해당 링크 레이어 패킷 전에 삭제된 널 TS 패킷의 수를 나타내는 7비트 필드일 수 있다. 최대 128개의 널 TS 패킷이 삭제될 수 있다. HDM = 0인 경우, DNP = 0의 값은 128개의 널 패킷이 삭제된다는 것을 나타낼 수 있다. HDM = 1인 경우, DNP = 0의 값은 널 패킷이 삭제되지 않는다는 것을 나타낼 수 있다. DNP의 다른 모든 값에 대해, 같은 수의 널 패킷이 인식된다. 예를 들면, DNP = 5는 5개의 널 패킷이 삭제된다는 것을 의미한다.
전술한 각 필드의 비트 수들은 변경될 수 있으며, 변경된 비트 수에 따라 그 해당 필드가 지시하는 값의 최소/최대값은 변경될 수 있다. 이는 설계자의 의도에 따라 변경될 수 있다.
이하 싱크 바이트 삭제(SYNC byte removal) 에 대해서 설명한다.
TS 패킷을 링크 레이어 패킷의 페이로드로 캡슐화하는 경우, 각 TS 패킷의 시작부터 싱크 바이트(0x47)가 삭제될 수 있다. 따라서 링크 레이어 패킷의 페이로드로 캡슐화된 MPEG2-TS 패킷의 길이는 (원래의 188 바이트 대신) 항상 187 바이트이다.
이하, 널 패킷 삭제(Null Packet Deletion) 에 대해서 설명한다.
전송 스트림 규칙은 송신기의 멀티플렉서의 출력 및 수신기의 디멀티플렉서의 입력에서의 비트 레이트가 시간에 대해 일정하며 종단간 지연 또한 일정할 것을 요구한다. 일부 전송 스트림 입력 신호에 대해, 널 패킷은 일정한 비트레이스 스트림에 가변적인 비트레이트 서비스를 수용하기 위해 존재할 수 있다. 이 경우, 불필요한 전송 오버헤드를 피하기 위해, TS 널 패킷 (즉, PID = 0x1FFF인 TS 패킷)이 제거될 수 있다. 이 처리는 제거된 널 패킷이 수신기에서 원래의 정확한 자리에 다시 삽입될 수 있는 방식으로 실행되므로, 일정한 비트레이트를 보장하고 PCR 타임 스탬프 업데이트를 할 필요가 없어진다.
링크 레이어 패킷의 생성 전에, DNP라 불리는 카운터는 우선 0으로 리셋된 후에 현재 링크 레이어 패킷의 페이로드에 인캡슐레이션 될 첫 번째 널 TS 패킷이 아닌 패킷에 앞서는 각 삭제된 널 패킷에 대해 증분될 수 있다. 그 후 연속된 유용한 TS 패킷의 그룹이 현재의 링크 레이어 페킷의 페이로드에 인캡슐레이션되고, 그 헤더에서의 각 필드의 값이 결정될 수 있다. 생성된 링크 레이어 패킷이 피지컬 레이어에 주입된 후, DNP는 0으로 리셋된다. DNP가 최고 허용치에 도달하는 경우, 다음 패킷 또한 널 패킷이면, 해당 널 패킷은 유용한 패킷으로 유지되며 다음 링크 레이어 패킷의 페이로드에 인캡슐레이션된다. 각 링크 레이어 패킷은 그것의 페이로드에 적어도 하나의 유용한 TS 패킷을 포함할 수 있다.
이하, TS 패킷 헤더 삭제(TS Packet Header Deletion) 에 대해서 설명한다. TS 패킷 헤더 삭제는 TS 패킷 헤더 압축으로 불릴 수도 있다.
두 개 이상의 순차적인 TS 패킷이 순차적으로 CC 필드를 증가시키고 다른 헤더 필드도 동일하면, 헤더가 첫 번째 패킷에서 한 번 전송되고 다른 헤더는 삭제된다. 중복된 MPEG-2 TS 패킷이 두 개 이상의 순차적인 TS 패킷에 포함되면, 헤더 삭제는 송신기 측에서 적용될 수 없다. HDM 필드는 헤더가 삭제되는지 여부를 나타낼 수 있다. TS 헤더가 삭제되는 경우, HDM은 1로 설정될 수 있다. 수신기 측에서, 첫 번째 패킷 헤더를 이용하여, 삭제된 패킷 헤더가 복구되고, CC가 첫 번째 헤더부터 순서대로 증가됨으로써 복구된다.
도시된 실시예(tsib12020)는, TS 패킷의 인풋 스트림이 링크 레이어 패킷으로 인캡슐레이션되는 과정의 일 실시예이다. 먼저 SYNC 바이트(0x47)을 가지는 TS 패킷들로 이뤄진 TS 스트림이 입력될 수 있다. 먼저 SYNC 바이트 삭제과정을 통해 싱크 바이트들이 삭제될 수 있다. 이 실시예에서 널 패킷 삭제는 수행되지 않은 것으로 가정한다.
여기서, 도시된 8개의 TS 패킷의 패킷 헤더에서, CC 즉 Countinuity Counter 필드 값을 제외한 다른 값들이 모두 같다고 가정한다. 이 경우, TS 패킷 삭제/압축이 수행될 수 있다. CC = 1 인 첫번째 TS 패킷의 헤더만 남기고, 나머지 7개의 TS 패킷 헤더를 삭제한다. 처리된 TS 패킷들은 링크 레이어 패킷의 페이로드에 인캡슐레이션 될 수 있다.
완성된 링크 레이어 패킷을 보면, Packet_Type 필드는 TS 패킷이 입력된 경우이므로 010 의 값을 가질 수 있다. NUMTS 필드는 인캡슐레이션된 TS 패킷의 개수를 지시할 수 있다. AHF 필드는 패킷 헤더 삭제가 수행되었으므로 1 로 설정되어 추가 헤더의 존재를 알릴 수 있다. HDM 필드는 헤더 삭제가 수행되었으므로 1 로 설정될 수 있다. DNP 는 널 패킷 삭제가 수행되지 않았으므로 0 으로 설정될 수 있다.
도 13 는 본 발명의 일 실시예에 따른 IP 헤더 압축에 있어서, 어댑테이션 모드들의 실시예를 도시한 도면이다(송신측).
이하, IP 헤더 압축(IP Header Compression) 에 대해서 설명한다.
*링크 레이어에서, IP 헤더 컴프레션/디컴프레션 스킴이 제공될 수 있다. IP 헤더 컴프레션은 헤더 컴프레서/디컴프레서 및 어댑테이션 모듈의 두 부분을 포함할 수 있다. 헤더 컴프레션 스킴은 RoHC에 기초할 수 있다. 또한, 방송 용도로 어댑테이션 기능이 추가된다.
송신기 측에서, RoHC 컴프레서는 각 패킷에 대해 헤더의 크기를 감소시킨다. 그 후, 어댑테이션 모듈은 컨텍스트 정보를 추출하고 각 패킷 스트림으로부터 시그널링 정보를 생성한다. 수신기 측에서, 어댑테이션 모듈은 수신된 패킷 스트림과 관련된 시그널링 정보를 파싱하고 컨텍스트 정보를 수신된 패킷 스트림에 첨부한다. RoHC 디컴프레서는 패킷 헤더를 복구함으로써 원래의 IP 패킷을 재구성한다.
헤더 컴프레션 스킴은 전술한 바와 같이 ROHC 를 기반으로 할 수 있다. 특히, 본 시스템에서는 ROHC 의 U 모드(uni dirctional mode) 에서 ROHC 프레임워크가 동작할 수 있다. 또한, 본 시스템에서 0x0002 의 프로파일 식별자로 식별되는 ROHC UDP 헤더 컴프레션 프로파일이 사용될 수 있다.
이하, 어댑테이션(Adaptation) 에 대해서 설명한다.
단방향 링크를 통한 전송의 경우, 수신기가 컨텍스트의 정보를 갖고 있지 않으면, 디컴프레서는 완전한 컨텍스트를 수신할 때까지 수신된 패킷 헤더를 복구할 수 없다. 이는 채널 변경 지연 및 턴 온 딜레이 (turn-on delay)를 초래할 수 있다. 이러한 이유로, 컴프레서와 디컴프레서 사이의 컨피규레이션 파라미터와 컨텍스트 정보는 항상 패킷 플로우와 함께 전송될 수 있다.
어댑테이션 기능은 컨피규레이션 파라미터와 컨텍스트 정보의 대역 외 전송을 제공한다. 대역 외 전송은 링크 레이어 시그널링을 통해 이루어질 수 있다. 따라서, 어댑테이션 기능은 컨텍스트 정보의 손실로 인한 디컴프레션 에러 및 채널 변경 지연을 줄이기 위해 이용된다.
이하, 컨텍스트 정보(Context Information) 의 추출에 대해서 설명한다.
컨텍스트 정보의 추출은 어댑테이션 모드에 따라 다양한 방법으로 실시될 수 있다. 본 발명에서는 이하 3가지 실시예에 대해서 설명한다. 본 발명의 범위는 후술할 어댑테이션 모드의 실시예들에 한정되지 아니한다. 여기서 어댑테이션 모드는 컨텍스트 추출 모드라고 불릴 수도 있다.
어댑테이션 모드 1 (도시되지 않음) 은 기본적인 ROHC 패킷 스트림에 대해서 어떠한 추가적인 동작이 가해지지 않는 모드일 수 있다. 즉, 이 모드에서 어댑테이션 모듈은 버퍼로서 동작할 수 있다. 따라서, 이 모드에서는 링크 레이어 시그널링에 컨텍스트 정보가 있지 않을 수 있다.
어댑테이션 모드 2 (tsib13010)에서, 어댑테이션 모듈은 RoHC 패킷 플로우로부터 IR 패킷을 검출하고 컨텍스트 정보 (스태틱 체인)를 추출할 수 있다. 컨텍스트 정보를 추출한 후에, 각 IR 패킷은 IR-DYN 패킷으로 전환될 수 있다. 전환된 IR-DYN 패킷은 원래의 패킷을 대체하여 IR 패킷과 같은 순서로 RoHC 패킷 플로우 내에 포함되어 전송될 수 있다.
어댑테이션 모드 3 (tsib13020)에서, 어댑테이션 모듈은 RoHC 패킷 플로우로부터 IR 및 IR-DYN 패킷을 검출하고 컨텍스트 정보를 추출할 수 있다. 스태틱 체인 및 다이네믹 체인은 IR 패킷으로부터 추출될 수 있고, 다이네믹 체인은 IR-DYN 패킷으로부터 추출될 수 있다. 컨텍스트 정보를 추출한 후에, 각각의 IR 및 IR-DYN 패킷은 압축된 패킷으로 전환될 수 있다. 압축된 패킷 포맷은 IR 또는 IR-DYN 패킷의 다음 패킷과 동일할 수 있다. 전환된 압축 패킷은 원래의 패킷을 대체하여 IR 또는 IR-DYN 패킷과 같은 순서로 RoHC 패킷 플로우 내에 포함되어 전송될 수 있다.
시그널링 (컨텍스트) 정보는 전송 구조에 근거하여 인캡슐레이션 될 수 있다. 예를 들면, 컨텍스트 정보는 링크 레이어 시그널링로 인캡슐레이션 될 수 있다. 이 경우, 패킷 타입 값은 100으로 설정될 수 있다.
전술한 어댑테이션 모드 2, 3 에 대하여, 컨텍스트 정보에 대한 링크 레이어 패킷은 100 의 Packet Type 필드 값을 가질 수 있다. 또한 압축된 IP 패킷들에 대한 링크 레이어 패킷은 001 의 Packet Type 필드 값을 가질 수 있다. 이는 각각 시그널링 정보, 압축된 IP 패킷이 링크 레이어 패킷에 포함되어 있음을 지시하는 것으로, 전술한 바와 같다.
이하, 추출된 컨텍스트 정보를 전송하는 방법에 대해서 설명한다.
추출된 컨텍스트 정보는 특정 피지컬 데이터 경로를 통해 시그널링 데이터와 함께 RoHC 패킷 플로우와 별도로 전송될 수 있다. 컨텍스트의 전송은 피지컬 레이어 경로의 구성에 의존한다. 컨텍스트 정보는 시그널링 데이터 파이프를 통해 다른 링크 레이어 시그널링과 함께 전송될 수 있다.
즉, 컨텍스트 정보를 가지는 링크 레이어 패킷은 다른 링크 레이어 시그널링 정보를 가지는 링크 레이어 패킷들과 함께 시그널링 PLP 로 전송될 수 있다(Packet_Type = 100). 컨텍스트 정보가 추출된 압축 IP 패킷들은 일반적인 PLP 로 전송될 수 있다(Packet_Type = 001). 여기서 실시예에 따라, 시그널링 PLP 는 L1 시그널링 패쓰(path)를 의미할 수 있다. 또한 실시예에 따라 시그널링 PLP 는 일반적인 PLP 와 구분되지 않고, 시그널링 정보가 전송되는 특정한 일반 PLP 를 의미할 수도 있다.
수신측에서는, 패킷 스트림을 수신하기에 앞서, 수신기가 시그널링 정보를 얻어야 할 수 있다. 수신기가 시그널링 정보를 획득하기 위해 첫 PLP를 디코딩하면, 컨텍스트 시그널링도 수신될 수 있다. 시그널링 획득이 이루어진 후, 패킷 스트림을 수신하기 위한 PLP가 선택될 수 있다. 즉, 수신기는 먼저 이니셜 PLP 를 선택해 컨텍스트 정보를 비롯한 시그널링 정보를 얻을 수 있다. 여기서 이니셜 PLP 는 전술한 시그널링 PLP 일 수 있다. 이 후, 수신기는 패킷 스트림을 얻기 위한 PLP 를 선택할 수 있다. 이를 통하여 컨텍스트 정보는 패킷 스트림의 수신에 앞서 획득될 수 있다.
패킷 스트림을 얻기 위한 PLP 가 선택된 후, 어댑테이션 모듈은 수신된 패킷 플로우로부터 IR-DYN 패킷을 검출할 수 있다. 그 후, 어댑테이션 모듈은 시그널링 데이터에서 컨텍스트 정보로부터 스태틱 체인을 파싱한다. 이는 IR 패킷을 수신하는 것과 유사하다. 동일한 컨텍스트 식별자에 대해, IR-DYN 패킷은 IR 패킷으로 복구될 수 있다. 복구된 RoHC 패킷 플로우는 RoHC 디컴프레서로 보내질 수 있다. 이후 디컴프레션이 시작될 수 있다.
도 14 은 본 발명의 일 실시예에 따른 LMT(Link Mapping Table) 및 ROHC-U 디스크립션 테이블을 도시한 도면이다.
이하, 링크 레이어 시그널링에 대해서 설명한다.
주로, 링크 레이어 시그널링은 IP 레벨 하에서 동작한다. 수신기 측에서, 링크 레이어 시그널링은 SLT 및 SLS와 같은 IP 레벨 시그널링보다 먼저 획득될 수 있다. 따라서 링크 레이어 시그널링은 세션 설정 이전에 획득될 수 있다.
링크 레이어 시그널링에 대해, 입력 경로에 따라 인터널 링크 레이어 시그널링 및 익스터널 링크 레이어 시그널링의 두 종류의 시그널링이 존재할 수 있다. 인터널 링크 레이어 시그널링은 송신기 측에서 링크 레이어에서 생성된다. 또한 링크 레이어는 외부 모듈 또는 프로토콜로부터 시그널링을 취한다. 이러한 종류의 시그널링 정보는 익스터널 링크 레이어 시그널링이라고 간주된다. 일부 시그널링이 IP 레벨 시그널링에 앞서 획득될 필요가 있으면, 외부 시그널링은 링크 레이어 패킷의 포맷으로 전송된다.
링크 레이어 시그널링은 전술한 바와 같이 링크 레이어 패킷으로 인캡슐레이션 될 수 있다. 링크 레이어 패킷은 바이너리 및 XML을 포함한 모든 포맷의 링크 레이어 시그널링을 전달할 수 있다. 동일한 시그널링 정보가 링크 레이어 시그널링에 대해 다른 포맷으로 전송될 수 있다.
인터널 링크 레이어 시그널링에는, 링크 매핑을 위한 시그널링 정보가 포함될 수 있다. LMT는 PLP에 전달되는 상위 레이어 세션의 리스트를 제공한다. LMT는 또한 링크 레이어에서 상위 레이어 세션을 전달하는 링크 레이어 패킷을 처리하기 위한 추가 정보를 제공한다.
*본 발명에 따른 LMT 의 일 실시예(tsib14010)가 도시되었다.
signaling_type은 해당 테이블에 의해 전달되는 시그널링의 타입을 나타내는 8비트의 무부호 정수 필드일 수 있다. LMT에 대한 signaling_type 필드의 값은 0x01로 설정될 수 있다.
PLP_ID는 해당 테이블에 해당하는 PLP를 나타내는 8비트 필드일 수 있다.
num_session은 상기 PLP_ID 필드에 의해 식별되는 PLP에 전달되는 상위 레이어 세션의 개수를 제공하는 8비트의 무부호 정수 필드일 수 있다. signaling_type 필드의 값이 0x01이면, 해당 필드는 PLP에서 UDP/IP 세션의 개수를 나타낼 수 있다.
src_IP_add는 PLP_ID 필드에 의해 식별되는 PLP에 전달되는 상위 레이어 세션의 소스 IP 어드레스를 포함하는 32비트의 무부호 정수 필드일 수 있다.
dst_IP_add는 PLP_ID 필드에 의해 식별되는 PLP에 전달되는 상위 레이어 세션의 데스티네이션 IP 어드레스를 포함하는 32비트의 무부호 정수 필드일 수 있다.
src_UDP_port는 PLP_ID 필드에 의해 식별되는 PLP에 전달되는 상위 레이어 세션의 소스 UDP 포트 넘버를 나타내는 16비트의 무부호 정수 필드일 수 있다.
dst_UDP_port는 PLP_ID 필드에 의해 식별되는 PLP에 전달되는 상위 레이어 세션의 데스티네이션 UDP 포트 넘버를 나타내는 16비트의 무부호 정수 필드일 수 있다.
SID_flag는 상기 4개의 필드 Src_IP_add, Dst_IP_add, Src_UDP_Port, Dst_UDP_Port에 의해 식별되는 상위 레이어 세션을 전달하는 링크 레이어 패킷이 그 옵셔널 헤더에 SID 필드를 갖는지 여부를 나타내는 1비트의 부울 필드일 수 있다. 해당 필드의 값이 0으로 설정되면, 상위 레이어 세션을 전달하는 링크 레이어 패킷이 그 옵셔널 헤더에 SID 필드를 갖지 않을 수 있다. 해당 필드의 값이 1로 설정되면, 상위 레이어 세션을 전달하는 링크 레이어 패킷이 그 옵셔널 헤더에 SID 필드를 가질 수 있고, SID 필드의 값이 해당 테이블에서 다음 SID 필드와 동일할 수 있다.
compressed_flag는 헤더 컴프레션이 상기 4개의 필드 Src_IP_add, Dst_IP_add, Src_UDP_Port, Dst_UDP_Port에 의해 식별되는 상위 레이어 세션을 전달하는 링크 레이어 패킷에 적용되는지 여부를 나타내는 1비트 부울 필드일 수 있다. 해당 필드의 값이 0으로 설정되면, 상위 레이어 세션을 전달하는 링크 레이어 패킷은 그 베이스 헤더에 Packet_Type 필드의 0x00의 값을 가질 수 있다. 해당 필드의 값이 1로 설정되면, 상위 레이어 세션을 전달하는 링크 레이어 패킷은 그 베이스 헤더에 Packet_Type 필드의 0x01의 값을 가질 수 있고 Context_ID 필드가 존재할 수 있다.
SID는 상기 4개의 필드 Src_IP_add, Dst_IP_add, Src_UDP_Port, Dst_UDP_Port에 의해 식별되는 상위 레이어 세션을 전달하는 링크 레이어 패킷에 대한 서브 스트림 식별자를 나타내는 8비트의 무부호 정수 필드일 수 있다. 해당 필드는 SID_flag의 값이 1과 같을 때 존재할 수 있다.
context_id는 ROHC-U 디스크립션 테이블에 제공된 CID(context id)에 대한 레퍼런스를 제공하는 8비트 필드일 수 있다. 해당 필드는 compressed_flag의 값이 1과 같을 때 존재할 수 있다.
본 발명에 따른 ROHC-U 디스크립션 테이블의 일 실시예(tsib14020)가 도시되었다. 전술한 바와 같이 ROHC-U 어댑테이션 모듈은 헤더 컴프레션에 관련된 정보들을 생성할 수 있다.
signaling_type은 해당 테이블에 의해 전달되는 시그널링의 타입을 나타내는 8비트 필드일 수 있다. ROHC-U 디스크립션 테이블에 대한 signaling_type 필드의 값은 "0x02"로 설정될 수 있다.
PLP_ID는 해당 테이블에 해당하는 PLP를 나타내는 8비트 필드일 수 있다.
context_id는 압축된 IP 스트림의 CID를 나타내는 8비트 필드일 수 있다. 해당 시스템에서, 8비트의 CID는 큰 CID를 위해 사용될 수 있다.
context_profile은 스트림을 압축하기 위해 사용되는 프로토콜의 범위를 나타내는 8비트 필드일 수 있다. 해당 필드는 생략될 수 있다.
adaptation_mode는 해당 PLP에서 어댑테이션 모듈의 모드를 나타내는 2비트 필드일 수 있다. 어댑테이션 모드에 대해서는 전술하였다.
context_config는 컨텍스트 정보의 조합을 나타내는 2비트 필드일 수 있다. 해당 테이블에 컨텍스트 정보가 존재하지 않으면, 해당 필드는 '0x0'으로 설정될 수 있다. 해당 테이블에 static_chain() 또는 dynamic_chain() 바이트가 포함되면, 해당 필드는 '0x01' 또는 '0x02'로 설정될 수 있다. 해당 테이블에 static_chain() 및 dynamic_chain() 바이트가 모두 포함되면, 해당 필드는 '0x03'으로 설정될 수 있다.
context_length는 스태틱 체인 바이트 시퀀스의 길이를 나타내는 8비트 필드일 수 있다. 해당 필드는 생략될 수 있다.
static_chain_byte ()는 RoHC-U 디컴프레서를 초기화하기 위해 사용되는 스태틱 정보를 전달하는 필드일 수 있다. 해당 필드의 크기 및 구조는 컨텍스트 프로파일에 의존한다.
dynamic_chain_byte ()는 RoHC-U 디컴프레서를 초기화하기 위해 사용되는 다이네믹 정보를 전달하는 필드일 수 있다. 해당 필드의 크기 및 구조는 컨텍스트 프로파일에 의존한다.
static_chain_byte는 IR 패킷의 서브 헤더 정보로 정의될 수 있다. dynamic_chain_byte는 IR 패킷 및 IR-DYN 패킷의 서브 헤더 정보로 정의될 수 있다.
도 15 은 본 발명의 일 실시예에 따른 송신기 측의 링크 레이어 구조를 도시한 도면이다.
본 실시예는 IP 패킷을 처리하는 것을 가정한 실시예이다. 송신기 측의 링크 레이어는 기능적인 관점에서 볼 때, 크게 시그널링 정보를 처리하는 링크 레이어 시그널링 부분, 오버헤드 리덕션 부분, 및/또는 인캡슐레이션 부분을 포함할 수 있다. 또한, 송신기 측의 링크 레이어는 링크 레이어 전체 동작에 대한 제어 및 스케쥴링을 위한 스케쥴러 및/또는 링크 레이어의 입,출력 부분 등을 포함할 수 있다.
*먼저, 상위 레이어의 시그널링 정보 및/또는 시스템 파라미터(tsib15010)가 링크 레이어에 전달될 수 있다. 또한, IP 레이어(tsib15110)로부터 IP 패킷들을 포함하는 IP 스트림이 링크 레이어에 전달될 수 있다.
스케쥴러(tsib15020)는 전술한 바와 같이 링크 레이어에 포함된 여러 모듈들의 동작을 결정하고 제어하는 역할을 할 수 있다. 전달된 시그널링 정보 및/또는 시스템 파라미터(tsib15010) 는 스케쥴러(tsib15020)에 의해 필터링되거나 활용될 수 있다. 전달된 시그널링 정보 및/또는 시스템 파라미터(tsib15010) 중, 수신기에서 필요한 정보는 링크 레이어 시그널링 부분으로 전달될 수 있다. 또한 시그널링 정보 중 링크 레이어의 동작에 필요한 정보는 오버헤드 리덕션 컨트롤(tsib15120) 또는 인캡슐레이션 컨트롤(tsib15180)으로 전달될 수도 있다.
링크 레이어 시그널링 부분은, 피지컬 레이어에서 시그널링으로서 전송될 정보를 수집하고, 이를 전송에 적합한 형태로 변환/구성하는 역할을 수행할 수 있다. 링크 레이어 시그너널링 부분은 시그널링 매니저(tsib15030), 시그널링 포매터(tsib15040), 및/또는 채널을 위한 버퍼(tsib15050)을 포함할 수 있다.
시그널링 매니저(tsib15030)는 스케쥴러(tsib15020)으로부터 전달받은 시그널링 정보 및/또는 오버헤드 리덕션 부분으로부터 전달받은 시그널링 및/또는 컨텍스트(context) 정보를 입력받을 수 있다. 시그널링 매니저(tsib15030)는 전달받은 데이터들에 대하여, 각 시그널링 정보가 전송되어야할 경로를 결정할 수 있다. 각 시그널링 정보는 시그널링 매니저(tsib15030)에 의해 결정된 경로로 전달될 수 있다. 전술한 바와 같이 FIC, EAS 등의 구분된 채널로 전송될 시그널링 정보들은 시그널링 포매터(tsib15040)으로 전달될 수 있고, 그 밖의 시그널링 정보들은 인캡슐레이션 버퍼(tsib15070)으로 전달될 수 있다.
시그널링 포매터(tsib15040)는 별도로 구분된 채널을 통해 시그널링 정보가 전송될 수 있도록, 관련된 시그널링 정보를 각 구분된 채널에 맞는 형태로 포맷하는 역할을 할 수 있다. 전술한 바와 같이 피지컬 레이어에는 물리적/논리적으로 구분된 별도의 채널이 있을 수 있다. 이 구분된 채널들은 FIC 시그널링 정보나, EAS 관련 정보를 전송하는데 사용될 수 있다. FIC 또는 EAS 관련 정보는 시그널링 매니저(tsib15030)에 의해 분류되어 시그널링 포매터(tsib15040)로 입력될 수 있다. 시그널링 포매터(tsib15040)은 각 정보들을, 각자의 별도 채널에 맞게 포맷팅할 수 있다. FIC, EAS 이외에도, 피지컬 레이어가 특정 시그널링 정보를 별도의 구분된 채널을 통해 전송하는 것으로 설계된 경우에는, 그 특정 시그널링 정보를 위한 시그널링 포매터가 추가될 수 있다. 이러한 방식을 통하여, 링크 레이어가 다양한 피지컬 레이어에 대하여 호환가능해질 수 있다.
채널을 위한 버퍼(tsib15050)들은 시그널링 포매터(tsib15040)으로부터 전달받은 시그널링 정보들을, 지정된 별도의 채널(tsib15060)로 전달하는 역할을 할 수 있다. 별도의 채널들의 개수, 내용은 실시예에 따라 달라질 수 있다.
전술한 바와 같이, 시그널링 매니저(tsib15030)은 특정 채널로 전달되지 않는 시그널링 정보를 인캡슐레이션 버퍼(tsib15070)으로 전달할 수 있다. 인캡슐레이션 버퍼(tsib15070)는 특정 채널로 전달되지 않는 시그널링 정보를 전달받는 버퍼 역할을 할 수 있다.
시그널링 정보를 위한 인캡슐레이션(tsib15080)은 특정 채널로 전달되지 않는 시그널링 정보에 대하여 인캡슐레이션을 수행할 수 있다. 트랜스미션 버퍼(tsib15090)은 인캡슐레이션 된 시그널링 정보를, 시그널링 정보를 위한 DP(tsib15100) 로 전달하는 버퍼 역할을 할 수 있다. 여기서, 시그널링 정보를 위한 DP(tsib15100)은 전술한 PLS 영역을 의미할 수 있다.
오버헤드 리덕션 부분은 링크 레이어에 전달되는 패킷들의 오버헤드를 제거하여, 효율적인 전송이 가능하게 할 수 있다. 오버헤드 리덕션 부분은 링크 레이어에 입력되는 IP 스트림의 수만큼 구성될 수 있다.
오버헤드 리덕션 버퍼(tsib15130)는 상위 레이어로부터 전달된 IP 패킷을 입력받는 역할을 할 수 있다. 전달받은 IP 패킷은 오버헤드 리덕션 버퍼(tsib15130)를 통해 오버헤드 리덕션 부분으로 입력될 수 있다.
오버헤드 리덕션 컨트롤(tsib15120)은 오버헤드 리덕션 버퍼(tsib15130)로 입력되는 패킷 스트림에 대하여 오버헤드 리덕션을 수행할지 여부를 결정할 수 있다. 오버헤드 리덕션 컨트롤(tsib15120)은 패킷 스트림별로 오버헤드 리덕션 수행여부를 결정할 수 있다. 패킷 스트림에 오버헤드 리덕션이 수행되는 경우 RoHC 컴프레셔(tsib15140)으로 패킷들이 전달되어 오버헤드 리덕션이 수행될 수 있다. 패킷 스트림에 오버헤드 리덕션이 수행되지 않는 경우, 인캡슐레이션 부분으로 패킷들이 전달되어 오버헤드 리덕션 없이 인캡슐레이션이 진행될 수 있다. 패킷들의 오버헤드 리덕션 수행여부는 링크 레이어로 전달된 시그널링 정보들(tsib15010)에 의해 결정될 수 있다. 이 시그널링 정보들은 스케쥴러(tsib15020)에 의해 오버헤드 리덕션 컨트롤(tsib15180)으로 전달될 수 있다.
RoHC 컴프레셔(tsib15140) 은 패킷 스트림에 대하여 오버헤드 리덕션을 수행할 수 있다. RoHC 컴프레셔(tsib15140) 은 패킷들의 헤더를 압축하는 동작을 수행할 수 있다. 오버헤드 리덕션에는 다양한 방법들이 사용될 수 있다. 전술한, 본 발명이 제안한 방법들에 의하여 오버헤드 리덕션이 수행될 수 있다. 본 실시예는 IP 스트림을 가정했는 바, RoHC 컴프레셔라고 표현되었으나, 실시예에 따라 명칭은 변경될 수 있으며, 동작도 IP 스트림의 압축에 국한되지 아니하고, 모든 종류의 패킷들의 오버헤드 리덕션이 RoHC 컴프레셔(tsib15140)에 의해 수행될 수 있다.
패킷 스트림 컨피규레이션 블럭(tsib15150)은 헤더가 압축된 IP 패킷들 중에서, 시그널링 영역으로 전송될 정보와 패킷 스트림으로 전송될 정보를 분리할 수 있다. 패킷 스트림으로 전송될 정보란 DP 영역으로 전송될 정보를 의미할 수 있다. 시그널링 영역으로 전송될 정보는 시그널링 및/또는 컨텍스트 컨트롤(tsib15160)으로 전달될 수 있다. 패킷 스트림으로 전송될 정보는 인캡슐레이션 부분으로 전송될 수 있다.
시그널링 및/또는 컨텍스트 컨트롤(tsib15160)은 시그널링 및/또는 컨텍스트(context) 정보를 수집하고 이를 시그널링 매니저로 전달할 수 있다. 시그널링 및/또는 컨텍스트 정보를 시그널링 영역으로 전송하기 위함이다.
인캡슐레이션 부분은, 패킷들을 피지컬 레이어로 전달하기 적합한 형태로 인캡슐레이팅하는 동작을 수행할 수 있다. 인캡슐레이션 부분은 IP 스트림의 수만큼 구성될 수 있다.
인캡슐레이션 버퍼(tsib15170) 은 인캡슐레이션을 위해 패킷 스트림을 입력받는 역할을 할 수 있다. 오버헤드 리덕션이 수행된 경우 오버헤드 리덕션된 패킷들을, 오버헤드 리덕션이 수행되지 않은 경우 입력받은 IP 패킷 그대로를 입력받을 수 있다.
인캡슐레이션 컨트롤(tsib15180) 은 입력된 패킷 스트림에 대하여 인캡슐레이션을 수행할지 여부를 결정할 수 있다. 인캡슐레이션이 수행되는 경우 패킷 스트림은 세그멘테이션/컨케테네이션(tsib15190)으로 전달될 수 있다. 인캡슐레이션이 수행되지 않는 경우 패킷 스트림은 트랜스미션 버퍼(tsib15230)으로 전달될 수 있다. 패킷들의 인캡슐레이션의 수행여부는 링크 레이어로 전달된 시그널링 정보들(tsib15010)에 의해 결정될 수 있다. 이 시그널링 정보들은 스케쥴러(tsib15020)에 의해 인캡슐레이션 컨트롤(tsib15180)으로 전달될 수 있다.
세그멘테이션/컨케테네이션(tsib15190)에서는, 패킷들에 대하여 전술한 세그멘테이션 또는 컨케테네이션 작업이 수행될 수 있다. 즉, 입력된 IP 패킷이 링크 레이어의 출력인 링크 레이어 패킷보다 길 경우, 하나의 IP 패킷을 분할하여 여러 개의 세그멘트로 나누어 복수개의 링크 레이어 패킷 페이로드를 만들 수 있다. 또한, 입력된 IP 패킷이 링크 레이어의 출력인 링크 레이어 패킷보다 짧을 경우, 여러 개의 IP 패킷을 이어붙여 하나의 링크 레이어 패킷 페이로드를 만들 수 있다.
패킷 컨피규레이션 테이블(tsib15200)은, 세그멘테이션 및/또는 컨케테네이션된 링크 레이어 패킷의 구성 정보를 가질 수 있다. 패킷 컨피규레이션 테이블(tsib15200)의 정보는 송신기와 수신기가 같은 정보를 가질 수 있다. 패킷 컨피규레이션 테이블(tsib15200)의 정보가 송신기와 수신기에서 참조될 수 있다. 패킷 컨피규레이션 테이블(tsib15200)의 정보의 인덱스 값이 해당 링크 레이어 패킷의 헤더에 포함될 수 있다.
링크 레이어 헤더 정보 블락(tsib15210)은 인캡슐레이션 과정에서 발생하는 헤더 정보를 수집할 수 있다. 또한, 링크 레이어 헤더 정보 블락(tsib15210)은 패킷 컨피규레이션 테이블(tsib15200)이 가지는 정보를 수집할 수 있다. 링크 레이어 헤더 정보 블락(tsib15210)은 링크 레이어 패킷의 헤더 구조에 따라 헤더 정보를 구성할 수 있다.
헤더 어태치먼트(tsib15220)은 세그멘테이션 및/또는 컨케테네이션된 링크 레이어 패킷의 페이로드에 헤더를 추가할 수 있다. 트랜스미션 버퍼(tsib15230)은 링크 레이어 패킷을 피지컬 레이어의 DP(tsib15240) 로 전달하기 위한 버퍼 역할을 할 수 있다.
각 블락 내지 모듈 및 부분(part)들은 링크 레이어에서 하나의 모듈/프로토콜로서 구성될 수도 있고, 복수개의 모듈/프로토콜로 구성될 수도 있다.
도 16 는 본 발명의 일 실시예에 따른 수신기 측의 링크 레이어 구조를 도시한 도면이다.
본 실시예는 IP 패킷을 처리하는 것을 가정한 실시예이다. 수신기 측의 링크 레이어는 기능적인 관점에서 볼 때, 크게 시그널링 정보를 처리하는 링크 레이어 시그널링 부분, 오버헤드 프로세싱 부분, 및/또는 디캡슐레이션 부분을 포함할 수 있다. 또한, 수신기 측의 링크 레이어는 링크 레이어 전체 동작에 대한 제어 및 스케쥴링을 위한 스케쥴러 및/또는 링크 레이어의 입,출력 부분 등을 포함할 수 있다.
먼저, 피지컬 레이어를 통해 전송받은 각 정보들이 링크 레이어에 전달될 수 있다. 링크 레이어는 각 정보들을 처리하여, 송신측에서 처리하기 전의 원래 상태로 되돌린 뒤, 상위 레이어에 전달할 수 있다. 이 실시예에서 상위 레이어는 IP 레이어일 수 있다.
피지컬 레이어에서 구분된 특정 채널(tsib16030)들을 통해 전달된 정보들이 링크 레이어 시그널링 부분으로 전달될 수 있다. 링크 레이어 시그널링 부분은 피지컬 레이어로부터 수신된 시그널링 정보를 판별하고, 링크 레이어의 각 부분들로 판별된 시그널링 정보들을 전달하는 역할을 수행할 수 있다.
채널을 위한 버퍼(tsib16040)은 특정 채널들을 통해 전송된 시그널링 정보들을 전달받는 버퍼 역할을 할 수 있다. 전술한 바와 같이 피지컬 레이어에 물리적/논리적으로 구분된 별도의 채널이 존재할 경우, 그 채널들을 통해 전송된 시그널링 정보들을 전달받을 수 있다. 별도의 채널들로부터 받은 정보들이 분할된 상태일 경우, 완전한 형태의 정보가 될 때까지 분할된 정보들을 저장해 놓을 수 있다.
시그널링 디코더/파서(tsib16050)는 특정 채널을 통해 수신된 시그널링 정보의 포맷을 확인하고, 링크 레이어에서 활용될 정보들을 추출해 낼 수 있다. 특정 채널을 통한 시그널링 정보가 인코딩되어 있는 경우에는 디코딩을 수행할 수 있다. 또한, 실시예에 따라 해당 시그널링 정보의 무결성 등을 확인할 수 있다.
시그널링 매니저(tsib16060)은 여러 경로를 통해 수신된 시그널링 정보들을 통합할 수 있다. 후술할 시그널링을 위한 DP(tsib16070)을 통해 수신된 시그널링 정보들 역시 시그널링 매니저(tsib16060)에서 통합될 수 있다. 시그널링 매니저(tsib16060)은 링크 레이어 내의 각 부분에 필요한 시그널링 정보를 전달할 수 있다. 예를 들어 오버헤드 프로세싱 부분에, 패킷의 리커버리를 위한 컨텍스트 정보등을 전달할 수 있다. 또한, 스케쥴러(tsib16020)에 제어를 위한 시그널링 정보들을 전달해 줄 수 있다.
시그널링을 위한 DP(tsib16070)를 통해, 별도의 특별 채널로 수신되지 않은 일반적인 시그널링 정보들이 수신될 수 있다. 여기서, 시그널링을 위한 DP 란 PLS 또는 L1 등을 의미할 수 있다. 여기서 DP 는 PLP (Physical Layer Pipe) 라고 불릴 수도 있다. 리셉션 버퍼(tsib16080)은 시그널링을 위한 DP 로부터 수신된 시그널링 정보를 전달받는 버퍼 역할을 할 수 있다. 시그널링 정보의 디캡슐레이션(tsib16090)에서는 수신된 시그널링 정보가 디캡슐레이션될 수 있다. 디캡슐레이션 된 시그널링 정보는 디캡슐레이션 버퍼(tsib16100)을 거쳐 시그널링 매니저(tsib16060)으로 전달될 수 있다. 전술한 바와 같이, 시그널링 매니저(tsib16060)는 시그널링 정보를 취합하여 링크 레이어 내의 필요한 부분에 전달할 수 있다.
스케쥴러(tsib16020)은 링크 레이어에 포함된 여러 모듈들의 동작을 결정하고 제어하는 역할을 할 수 있다. 스케쥴러(tsib16020)은 리시버 정보(tsib16010) 및/또는 시그널링 매니저(tsib16060)으로부터 전달받은 정보를 이용하여, 링크 레이어의 각 부분을 제어할 수 있다. 또한, 스케쥴러(tsib16020)는 각 부분의 동작 모드등을 결정할 수 있다. 여기서, 리시버 정보(tsib16010) 는 수신기가 기 저장하고 있던 정보를 의미할 수 있다. 스케쥴러(tsib16020)는 채널 전환 등과 같이 사용자가 변경하는 정보 역시 이용하여 제어에 활용할 수 있다.
디캡슐레이션 부분은 피지컬 레이어의 DP(tsib16110)로부터 수신된 패킷을 필터링하고, 해당 패킷의 타입에 따라 패킷들을 분리해내는 역할을 수행할 수 있다. 디캡슐레이션 부분은 피지컬 레이어에서 동시에 디코딩할 수 있는 DP 의 수 만큼 구성될 수 있다.
디캡슐레이션 버퍼(tsib16110)은 디캡슐레이션을 위해 피지컬 레이어로부터 패킷 스트림을 입력받는 버퍼 역할을 할 수 있다. 디캡슐레이션 컨트롤(tsib16130)은 입력된 패킷 스트림에 대하여 디캡슐레이션을 수행할 것인지 여부를 결정할 수 있다. 디캡슐레이션이 수행될 경우 패킷 스트림은 링크 레이어 헤더 파서(tsib16140)으로 전달될 수 있다. 디캡슐레이션이 수행되지 않을 경우 패킷 스트림은 아웃풋 버퍼(tsib16220)로 전달될 수 있다. 디캡슐레이션의 수행여부를 결정하는 데에는 스케쥴러(tsib16020)으로부터 전달받은 시그널링 정보가 활용될 수 있다.
링크 레이어 헤더 파서(tsib16140)은 전달받은 링크 레이어 패킷의 헤더를 확인할 수 있다. 헤더를 확인함으로써, 링크 레이어 패킷의 페이로드에 포함되어 있는 IP 패킷의 구성을 확인할 수 있다. 예를 들어 IP 패킷은 세그멘테이션 되어 있거나, 컨케테네이션 되어 있을 수 있다.
패킷 컨피규레이션 테이블(tsib16150)은 세그멘테이션 및/또는 컨케테네이션으로 구성되는 링크 레이어 패킷의 페이로드 정보를 포함할 수 있다. 패킷 컨피규레이션 테이블(tsib16150)의 정보는 송신기와 수신기가 같은 정보를 가질 수 있다. 패킷 컨피규레이션 테이블(tsib16150)의 정보가 송신기와 수신기에서 참조될 수 있다. 링크 레이어 패킷에 포함된 인덱스 정보를 바탕으로 재결합(reassembly)에 필요한 값이 찾아질 수 있다.
재결합 블록(reassembly) (tsib16160)은 세그멘테이션 및/또는 컨케테네이션으로 구성된 링크 레이어 패킷의 페이로드를 원래의 IP 스트림의 패킷들로 구성할 수 있다. 세그멘트들을 하나로 모아 하나의 IP 패킷으로 재구성하거나, 컨케테네이션된 패킷들을 분리하여 복수개의 IP 패킷 스트림으로 재구성할 수 있다. 재결합된 IP 패킷들은 오버헤드 프로세싱 부분으로 전달될 수 있다.
오버헤드 프로세싱 부분은, 송신기에서 수행된 오버헤드 리덕션의 역과정으로, 오버헤드 리덕션된 패킷들을 원래의 패킷으로 돌리는 동작을 수행할 수 있다. 이 동작을 오버헤드 프로세싱이라 부를 수 있다. 오버헤드 프로세싱 부분은 피지컬 레이어에서 동시에 디코딩할 수 있는 DP 의 수 만큼 구성될 수 있다.
패킷 리커버리 버퍼(tsib16170)는 오버헤드 프로세싱을 수행하기 위해 디캡슐레이션된 RoHC 패킷 내지 IP 패킷을 입력받는 버퍼 역할을 할 수 있다.
오버헤드 컨트롤(tsib16180)은 디캡슐레이션된 패킷들에 대해 패킷 리커버리 및/또는 디컴프레션을 수행할 것인지 여부를 결정할 수 있다. 패킷 리커버리 및/또는 디컴프레션이 수행되는 경우 패킷 스트림 리커버리(tsib16190)으로 패킷이 전달될 수 있다. 패킷 리커버리 및/또는 디컴프레션이 수행되지 않는 경우, 패킷들은 아웃풋 버퍼(tsib16220)으로 전달될 수 있다. 패킷 리커버리 및/또는 디컴프레션의 수행 여부는 스케쥴러(tsib16020)에 의해 전달된 시그널링 정보에 근거해 결정될 수 있다.
패킷 스트림 리커버리(tsib16190)은 송신기에서 분리된 패킷 스트림과, 패킷 스트림의 컨텍스트 정보를 통합하는 동작을 수행할 수 있다. 이는 RoHC 디컴프레셔(tsib16210)에서 처리 가능하도록, 패킷 스트림을 복구하는 과정일 수 있다. 이 과정에서 시그널링 및/또는 컨텍스트 컨트롤(tsib16200)로부터 시그널링 정보 및/또는 컨텍스트 정보를 전달받을 수 있다. 시그널링 및/또는 컨텍스트 컨트롤(tsib16200)은 송신기로부터 전달된 시그널링 정보를 판별하고, 해당 컨텍스트 ID 에 맞는 스트림으로 매핑될 수 있도록 패킷 스트림 리버커리(tsib16190)에 시그널링 정보를 전달할 수 있다.
RoHC 디컴프레셔(tsib16210)은 패킷 스트림의 패킷들의 헤더를 복구할 수 있다. 패킷 스트림의 패킷들은 헤더가 복구되어 원래의 IP 패킷들의 형태로 복구될 수 있다. 즉, RoHC 디컴프레셔(tsib16210)은 오버헤드 프로세싱을 수행할 수 있다.
아웃풋 버퍼(tsib16220)은 IP 레이어(tsib16230)로 출력 스트림을 전달하기에 앞서, 버퍼 역할을 할 수 있다.
본 발명이 제안하는 송신기와 수신기의 링크 레이어는, 전술한 바와 같은 블록 내지 모듈들을 포함 가능하다. 이를 통해, 링크 레이어가 상위 레이어와 하위 레이어에 관계없이 독립적으로 동작할 수 있고, 오버헤드 리덕션을 효율적으로 수행할 수 있으며, 상하위 레이어 등에 따라 지원 가능한 기능의 확정/추가/제거가 용이해질 수 있다.
도 17 은 본 발명의 일 실시예에 따른, 링크 레이어를 통한 시그널링 전송 구조를 도시한 도면이다(송/수신측).
본 발명에서는 하나의 주파수 밴드 내에 복수개의 서비스 프로바이더(방송사)가 서비스를 제공할 수 있다. 또한 서비스 프로바이더는 복수개의 서비스들을 전송할 수 있는데, 하나의 서비스는 하나 이상의 컴포넌트를 포함할 수 있다. 사용자는 서비스 단위로 컨텐츠를 수신하는 것을 고려할 수 있다.
본 발명은 IP 하이브리드 방송을 지원하기 위하여, 복수개 세션 기반의 전송 프로토콜이 사용되는 것을 가정한다. 각 프로토콜의 전송 구조에 따라 그 시그널링 패쓰(path)로 전달되는 시그널링 정보가 결정될 수 있다. 각 프로토콜은 실시예에 따라 다양한 명칭이 부여될 수 있다.
도시된 송신측 데이터 구조(tsib17010) 에서, 서비스 프로바이더들(Broadcasters)은 복수개의 서비스(Service #1, #2, …) 를 제공할 수 있다. 일반적으로 서비스에 대한 시그널링은 일반적인 전송 세션을 통해 전송될 수 있으나(Signaling C), 실시예에 따라 특정 세션(dedicated session) 을 통해 전송될 수도 있다(Signaling B).
서비스 데이터 및 서비스 시그널링 정보들은 전송 프로토콜에 따라 인캡슐레이션 될 수 있다. 실시예에 따라 IP/UDP 가 사용될 수 있다. 실시예에 따라 IP/UDP 레이어에서의 시그널링(Signaling A) 가 추가될 수도 있다. 이 시그널링은 생략될 수 있다.
IP/UDP 로 처리된 데이터들은 링크 레이어로 입력될 수 있다. 링크 레이어에서는 전술한 바와 같이, 오버헤드 리덕션 및/또는 인캡슐레이션 과정을 수행할 수 있다. 여기서 링크 레이어 시그널링이 추가될 수 있다. 링크 레이어 시그널링에는 시스템 파라미터 등이 포함될 수 있다. 링크 레이어 시그널링에 대해서는 전술하였다.
이러한 처리를 거친 서비스 데이터 및 시그널링 정보들은, 피지컬 레이어에서 PLP 들을 통해 처리될 수 있다. 여기서 PLP 는 DP 로 불릴 수도 있다. 도시된 실시예에서는 Base DP/PLP 가 사용되는 경우를 상정하고 있으나, 실시예에 따라 Base DP/PLP 가 없이 일반적인 DP/PLP 만으로 전송이 수행될 수도 있다.
도시된 실시예에서는 FIC, EAC 등의 특정 채널(dedicated channel) 이 사용되고 있다. FIC를 통해 전달되는 시그널링을 FIT (Fast Information Table), EAC를 통해 전달되는 시그널링을 EAT (Emergency Alert Table)로 부를 수 있다. FIT 는 전술한 SLT 와 같을 수 있다. 이러한 특정 채널들은 실시예에 따라 사용되지 않을 수 있다. 특정 채널(Dedicated channel)이 구성되어 있지 않은 경우, FIT 와 EAT는 일반적인 링크 레이어 시그널링 전송 방법을 통해 전송되거나, 다른 서비스 데이터들처럼 IP/UDP 를 거쳐 PLP 로 전송될 수 있다.
실시예에 따라 시스템 파라미터에는 송신기 관련 파라미터, 서비스 프로바이더 관련 파라미터 등이 있을 수 있다. 링크 레이어 시그널링에는 IP 헤더 압축 관련 컨텍스트 정보 및/또는 해당 컨텍스트가 적용되는 데이터에 대한 식별정보가 포함될 수 있다. 상위 레이어의 시그널링에는 IP 주소, UDP 넘버, 서비스/컴포넌트 정보, 긴급 알림(Emergency alert) 관련 정보, 서비스 시그널링에 대한 IP/UDP 주소, 세션 ID 등등이 포함될 수 있다. 자세한 실시예에 대해서는 전술하였다.
도시된 수신측 데이터 구조(tsib17020) 에서, 수신기는 모든 PLP 를 디코딩할 필요 없이, 시그널링 정보를 활용하여 해당 서비스에 대한 PLP 만을 디코딩할 수 있다.
먼저, 사용자가 수신하고자 하는 서비스를 선택 하거나 변경 하면, 수신기는 해당 주파수로 튜닝 하고 해당 채널과 관련하여 DB 등에 저장하고 있는 수신기 정보를 읽어 들일 수 있다. 수신기의 DB 등에 저장되어 있는 정보는 최초 채널 스캔시 SLT 를 읽어 들여 구성 될 수 있다.
SLT 를 수신하고 해당 채널의 정보를 수신한 이후 기존에 저장되어 있던 DB를 업데이트하고, 사용자가 선택한 서비스의 전송 경로 및 컴포넌트 정보를 획득하거나 이러한 정보를 획득하는데 필요한 시그널링이 전송되는 경로에 대한 정보를 획득한다. SLT 의 버전 정보 등을 이용하여 해당 정보의 변경이 없다고 판단 되는 경우에는 디코딩 또는 파싱절차를 생략할 수 있다.
수신기는 해당 방송 스트림에서, PLP 의 피지컬 시그널링을 파싱하여 해당 PLP 내에 SLT 정보가 있는지 파악할 수 있다(도시되지 않음). 이는 피지컬 시그널링의 특정 필드를 통해 지시될 수 있다. SLT 정보에 접근하여 특정 서비스의 서비스 레이어 시그널링이 전송되는 위치에 접근할 수 있다. 이 서비스 레이어 시그널링은 IP/UDP 로 인캡슐레이션되어 전송 세션을 통해 전달될 수 있다. 이 서비스 레이어 시그널링을 이용하여 해당 서비스를 구성하는 컴포넌트에 대한 정보를 획득할 수 있다. 자세한 SLT-SLS 구조는 전술한 바와 같다.
즉, SLT 를 이용하여 현재 채널에 전송되고 있는 여러 패킷 스트림 및 PLP 중, 해당 서비스의 수신에 필요한 상위 레이어 시그널링 정보(서비스 시그널링 정보)를 수신하기 위한 전송 경로 정보가 획득될 수 있다. 이 전송 경로 정보에는 IP 주소, UDP 포트 넘버, 세션 ID, PLP ID 등등이 포함될 수 있다. 여기서 실시예에 따라 IP/UDP 주소는 IANA 또는 시스템에서 미리 지정되어 있는 값을 사용할 수도 있다. 이러한 정보들은 DB 및 공유 메모리 접근 등의 방법으로 획득될 수도 있다.
링크 레이어 시그널링과 서비스 데이터가 동일한 PLP 를 통해 전송되거나 하나의 PLP 만이 운용되고 있는 경우, PLP 를 통해 전달되는 서비스 데이터는 링크 레이어 시그널링이 디코딩되는 동안 임시적으로 버퍼 등의 장치에 저장될 수 있다.
수신하고자 하는 서비스에 대한 서비스 시그널링 정보를 이용하여 해당 서비스가 실제로 전송되는 경로 정보를 획득할 수 있다. 또한 수신할 PLP 에 대한 오버헤드 리덕션 등의 정보를 이용하여, 수신되는 패킷 스트림에 대해 디캡슐레이션 및 헤더 리커버리가 수행될 수 있다.
도시된 실시예(tsib17020) 에서는, FIC, EAC 가 사용되었고, Base DP/PLP 개념이 상정되었다. 전술한 바와 같이 FIC, EAC, Base DP/PLP 개념은 활용되지 않을 수 있다.
이하에서는 설명의 편의를 위해 MISO 또는 MIMO 방식은 두 개의 안테나를 사용하지만, 본 발명은 두 개 이상의 안테나를 사용하는 시스템에 적용될 수 있다. 본 발명은 특정 용도에 요구되는 성능을 달성하면서 수신기 복잡도를 최소화하기 위해 최적화된 피지컬 프로파일 (또는 시스템)을 제안한다. 본 발명의 일 실시예에 따른 피지컬 프로파일(PHY profile) (베이스(base), 핸드헬드(handheld), 어드벤스(advanced) 프로파일)은 해당하는 수신기가 구현해야 하는 모든 구조의 서브셋으로, 대부분의 기능 블록을 공유하지만, 특정 블록 및/또는 파라미터에서는 약간 다르다. 시스템 발전을 위해, 퓨처 프로파일은 FEF (future extension frame)을 통해 단일 RF (radio frequency) 채널에 존재하는 프로파일과 멀티플렉싱 될 수도 있다. 본 발명의 일 실시예에 따른 베이스 프로파일 및 핸드헬드 프로파일은 MIMO가 적용되지 않는 프로파일을 의미하며, 어드밴스드 프로파일은 MIMO가 적용되는 프로파일을 의미한다. 베이스 프로파일은 지상파 방송 서비스 및 모바일 방송 서비스 모두에 대한 프로파일로 사용될 수 있다. 즉, 베이스 프로파일은 모바일 프로파일을 포함하는 프로파일의 개념을 정의하기 위해 사용될 수 있다. 또한, 어드벤스 프로파일은 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) 시그널링, 데이터 파이프, 또는 보조 스트림을 위해 사용되지 않은 남아 있는 용량을 채우는 데 사용되는 의사 랜덤값을 전달하는 셀
EAC (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 데이터를 전달하고 프레임의 시작에 위치하는 고정된 길이의 파일럿 심볼
프리앰블 심볼은 시스템 신호, 그 타이밍, 주파수 오프셋, 및 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 셀들의 집합
도 18은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치의 구조를 나타낸다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 인풋 포맷 블록 (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)에 영향을 미친다. 하나 또는 다수의 서비스 또는 서비스 컴포넌트가 하나의 데이터 파이프에 의해 전달될 수 있다. 데이터 파이프는 하나 또는 다수의 서비스 또는 서비스 컴포넌트를 전달할 수 있는 서비스 데이터 또는 관련 메타데이터를 전달하는 물리 계층(physical layer)에서의 로지컬 채널이다.
또한, 데이터 파이프 유닛은 하나의 프레임에서 데이터 셀을 데이터 파이프에 할당하기 위한 기본 유닛이다.
물리 계층(physical layer)으로의 입력은 하나 또는 다수의 데이터 스트림으로 구성될 수 있다. 각각의 데이터 스트림은 하나의 데이터 파이프에 의해 전달된다. 인풋 포맷 블록(1000)은 하나 또는 그 이상의 물리적 경로 (physical path 또는 DP)를 통해 입력되는 데이터 스트림을 BBF (baseband frame)으로 변환할 수 있다. 이 경우 인풋 포맷 블록(1000)은 입력 데이터 (TS 또는 IP 입력 스트림)들에 대해 전송 효율을 증가시키기 위해 널 패킷 딜리션 (null packet deletion) 또는 헤더 컴프레션 (header compression)을 수행할 수 있다. 수신기는 헤더의 특정 부분에 대한 선험적인(a priori) 정보를 가질 수 있기 때문에, 이 알려진 정보(known information)는 송신기에서 삭제될 수 있다. 널 패킷 딜리션 블록(3030)은 TS 입력 스트림 경우에만 사용될 수 있다.
BICM 블록(1010)에서, 패리티(parity) 데이터는 에러 정정을 위해 추가되고, 인코딩된 비트 스트림은 복소수값 컨스텔레이션 심볼에 매핑된다. 해당 심볼은 해당 데이터 파이프에 사용되는 특정 인터리빙 깊이에 걸쳐 인터리빙 된다. 어드벤스 프로파일에 있어서, BICM 블록(1010)에서 MIMO 인코딩이 실행되고 추가 데이터 경로가 MIMO 전송을 위해 출력에 추가된다.
프레임 빌딩 블록(1020)은 하나의 프레임 내에서 입력 데이터 파이프의 데이터 셀을 OFDM 심볼로 매핑하고 주파수 영역 다이버시티를 위해, 특히 주파수 선택적 페이딩 채널을 방지하기 위해 주파수 인터리빙을 수행할 수 있다. 프레임 빌딩 블록은 딜레이 컴펜세이션(delay compensation, 지연보상) 블록, 셀 매퍼 (cell mapper) 및 프리퀀시 인터리버 (frequency interleaver)를 포함할 수 있다.
딜레이 컴펜세이션(delay compensation, 지연보상) 블록은 데이터 파이프와 해당하는 PLS 데이터 사이의 타이밍을 조절하여 송신기 측에서 데이터 파이프와 해당하는 PLS 데이터 간의 동시성(co-time)을 보장할 수 있다. 인풋 포맷 블록 및 BICM 블록으로 인한 데이터 파이프의 지연을 다룸으로써 PLS 데이터는 데이터 파이프만큼 지연된다. BICM 블록의 지연은 주로 타임 인터리버로 인한 것이다. 인 밴드(In-band) 시그널링 데이터는 다음 타임 인터리빙 그룹의 정보를 시그널링될 데이터 파이프보다 하나의 프레임 앞서 전달되도록 할 수 있다. 딜레이 컴펜세이션(delay compensation, 지연보상) 블록은 그에 맞추어 인 밴드(In-band) 시그널링 데이터를 지연시킨다.
셀 매퍼는 PLS, 데이터 파이프, 보조 스트림, 및 더미 셀 등을 프레임 내에서 OFDM 심볼의 액티브(active) 캐리어에 매핑할 수 있다. 셀 매퍼의 기본 기능은 각각의 데이터 파이프, PLS 셀에 대한 타임 인터리빙에 의해 생성된 데이터 셀을, 존재하면, 하나의 프레임 내에서 각각의 OFDM 심볼에 해당하는 액티브(active) OFDM 셀의 어레이에 매핑하는 것이다. (PSI(program specific information)/SI와 같은) 서비스 시그널링 데이터는 개별적으로 수집되어 데이터 파이프에 의해 보내질 수 있다. 셀 매퍼는 프레임 구조의 구성 및 스케줄러에 의해 생성된 다이나믹 인포메이션(dynamic information, 동적 정보)에 따라 동작한다. 프리퀀시 인터리버는 셀 매퍼로부터 의해 수신된 데이터 셀을 랜덤하게 인터리빙하여 주파수 다이버시티를 제공할 수 있다. 또한, 프리퀀시 인터리버는 단일 프레임에서 최대의 인터리빙 이득을 얻기 위해 다른 인터리빙 시드(seed) 순서를 이용하여 두 개의 순차적인 OFDM 심볼로 구성된 OFDM 심볼 페어(pair, 쌍)에서 동작할 수 있다.
OFDM 제너레이션 블록(1030)은 프레임 빌딩 블록에 의해 생성된 셀에 의해 OFDM 캐리어를 변조하고, 파일럿을 삽입하고, 전송을 위한 시간 영역 신호를 생성한다. 또한, 해당 블록은 순차적으로 가드 인터벌을 삽입하고, PAPR 감소 처리를 적용하여 최종 RF 신호를 생성한다.
구체적으로, 프리앰블을 각 프레임의 시작에 삽입한 후, OFDM 제너레이션 블록(1030)은 사이클릭 프리픽스(cyclic prefix)을 가드 인터벌로 갖는 기존의 OFDM 변조를 적용할 수 있다. 안테나 스페이스 다이버시티를 위해, 분산된(distributed) MISO 방식이 송신기에 걸쳐 적용된다. 또한, PAPR (peak-to-average power ratio) 방식이 시간 영역에서 실행된다. 유연한 네트워크 방식을 위해, 본 발명은 다양한 FFT 사이즈, 가드 인터벌 길이, 해당 파일럿 패턴의 집합을 제공한다.
또한 본 발명은 방송 서비스를 제공하는 둘 이상의 서로 다른 방송 송신/수신 시스템의 데이터가 동일한 RF 신호 대역에서 동시에 전송될 수 있도록 시간 영역에서 복수의 방송 송신/수신 시스템의 신호를 멀티플렉싱 할 수 있다. 이 경우, 둘 이상의 서로 다른 방송 송신/수신 시스템은 서로 다른 방송 서비스를 제공하는 시스템을 말한다. 서로 다른 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스 등을 의미할 수 있다.
시그널링 생성 블록(1040)은 각 기능 블록의 동작에 사용되는 물리 계층(physical layer) 시그널링 정보를 생성할 수 있다. 해당 시그널링 정보는 또한 관심 있는 서비스가 수신기 측에서 적절히 복구되도록 전송된다. 본 발명의 일실시예에 따른 시그널링 정보는 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 데이터에 대한 자세한 내용은 후술한다.
전술한 블록은 생략될 수도 있고 유사 또는 동일 기능을 갖는 블록에 의해 대체될 수도 있다.
도 19는 본 발명의 일 실시예에 따른 BICM 블록을 나타낸다.
도 19에 도시된 BICM 블록은 도 18을 참조하여 설명한 BICM 블록(1010)의 일 실시예에 해당한다.
전술한 바와 같이, 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 지상파 방송 서비스, 모바일 방송 서비스, UHDTV 서비스 등을 제공할 수 있다.
QoS가 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치에 의해 제공되는 서비스의 특성에 의존하므로, 각각의 서비스에 해당하는 데이터는 서로 다른 방식을 통해 처리되어야 한다. 따라서, 본 발명의 일 실시예에 따른 BICM 블록은 SISO, MISO, MIMO 방식을 각각의 데이터 경로에 해당하는 데이터 파이프에 독립적으로 적용함으로써 각데이터 파이프를 독립적으로 처리할 수 있다. 결과적으로, 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 각각의 데이터 파이프를 통해 전송되는 각 서비스 또는 서비스 컴포넌트에 대한 QoS를 조절할 수 있다.
(a)는 MIMO가 적용되지 않는 프로파일 (또는 시스템)에 적용되는 BICM 블록을 나타내고, (b)는 MIMO가 적용되는 프로파일(또는 시스템)의 BICM 블록을 나타낸다.
MIMO가 적용되지 않는 BICM 블록 및 MIMO가 적용되는 BICM 블록은 각각의 데이터 파이프를 처리하기 위한 복수의 처리 블록을 포함할 수 있다.
MIMO가 적용되지 않는 BICM 블록 및 MIMO가 적용되는 BICM 블록의 각각의 처리 블록에 대해 설명한다.
MIMO가 적용되지 않는 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)의 구체적인 동작에 관해서는 후술한다.
MIMO가 적용되는 BICM 블록의 처리 블록(5000-1)은 데이터 FEC 인코더, 비트 인터리버, 컨스텔레이션 매퍼, 및 타임 인터리버를 포함할 수 있다.
단, 처리 블록(5000-1)은 셀 워드 디멀티플렉서(5010-1) 및 MIMO 인코딩 블록(5020-1)을 더 포함한다는 점에서 MIMO가 적용되지 않는 BICM의 처리 블록(5000)과 구별된다.
또한, 처리 블록(5000-1)에서의 데이터 FEC 인코더, 비트 인터리버, 컨스텔레이션 매퍼, 타임 인터리버의 동작은 전술한 데이터 FEC 인코더(5010), 비트 인터리버(5020), 컨스텔레이션 매퍼(5030), 타임 인터리버(5050)의 동작에 해당하므로, 그 설명은 생략한다.
셀 워드 디멀티플렉서(5010-1)는 어드벤스 프로파일의 데이터 파이프가 MIMO 처리를 위해 단일 셀 워드 스트림을 이중 셀 워드 스트림으로 분리하는 데 사용된다.
MIMO 인코딩 블록(5020-1)은 MIMO 인코딩 방식을 이용해서 셀 워드 디멀티플렉서(5010-1)의 출력을 처리할 수 있다. MIMO 인코딩 방식은 방송 신호 송신을 위해 최적화되었다. MIMO 기술은 용량 증가를 얻기 위한 유망한 방식이지만, 채널 특성에 의존한다. 특별히 방송에 대해서, 서로 다른 신호 전파 특성으로 인한 두 안테나 사이의 수신 신호 파워 차이 또는 채널의 강한 LOS 컴포넌트는 MIMO로부터 용량 이득을 얻는 것을 어렵게 한다. 제안된 MIMO 인코딩 방식은 MIMO 출력 신호 중 하나의 위상 랜덤화 및 회전 기반 프리코딩을 이용하여 이 문제를 극복한다.
MIMO 인코딩은 송신기 및 수신기 모두에서 적어도 두 개의 안테나를 필요로 하는 2x2 MIMO 시스템을 위해 의도된다. 본 발명의 MIMO 인코딩 모드는 FR-SM (full-rate spatial multiplexing)으로 정의 될 수 있다. FR-SM 인코딩은 수신기 측에서의 비교적 작은 복잡도 증가로 용량 증가를 제공할 수 있다. 또한 본 발명의 MIMO 인코딩 방식은 안테나 극성 배치를 제한하지 않는다.
MIMO 처리는 데이터 파이프 레벨에서 적용된다. 컨스텔레이션 매퍼 출력의 페어(pair, 쌍)인 NUQ (e1,i 및 e2,i)는 MIMO 인코더의 입력으로 공급된다. MIMO 인코더 출력 페어(pair, 쌍)(g1,i 및 g2,i)은 각각의 송신 안테나의 동일한 캐리어 k 및 OFDM 심볼 l에 의해 전송된다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 20는 본 발명의 다른 실시예에 따른 BICM 블록을 나타낸다.
도 20에 도시된 BICM 블록은 도 18을 참조하여 설명한 BICM 블록(1010)의 일 실시예에 해당한다.
도 20은 PLS, EAC, 및 FIC의 보호를 위한 BICM 블록을 나타낸다. EAC는 EAS 정보 데이터를 전달하는 프레임의 일부이고, FIC는 서비스와 해당하는 베이스 데이터 파이프 사이에서 매핑 정보를 전달하는 프레임에서의 로지컬 채널이다. EAC 및 FIC에 대한 상세한 설명은 후술한다.
도 20을 참조하면, 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 PCTKR2015014107-appb-M000001
LDPC 패리티 펑처링 블록은 PLS1 데이터 및 PLS2 데이터에 대해 펑처링을 수행할 수 있다.
쇼트닝이 PLS1 데이터 보호에 적용되면, 일부 LDPC 패리티 비트는 LDPC 인코딩 후에 펑처링된다. 또한, PLS2 데이터 보호를 위해, PLS2의 LDPC 패리티 비트가 LDPC 인코딩 후에 펑처링된다. 이들 펑처링된 비트는 전송되지 않는다.
비트 인터리버(6010)는 각각의 쇼트닝 및 펑처링된 PLS1 데이터 및 PLS2 데이터를 인터리빙할 수 있다.
컨스텔레이션 매퍼(6020)는 비트 인터리빙된 PLS1 데이터 및 PLS2 데이터를 컨스텔레이션에 매핑할 수 있다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 21는 본 발명의 일 실시예에 따른 PLS의 비트 인터리빙을 과정을 나타낸 도면이다.
각각의 쇼트닝 및 펑처링된 PLS1 및 PLS2 코딩 블록은 도 22에 도시된 바와 같이 1비트씩 인터리빙 된다. 추가 패리티 비트의 각 블록은 동일한 블록 인터리빙 구조로 인터리빙 되지만 별도로 인터리빙 된다.
BPSK의 경우, 실수 및 허수 부분에서 FEC 코딩 비트를 복제하기 위해 비트 인터리빙을 위한 두 개의 브랜치가 존재한다. 각각의 코딩 블록은 상위 브랜치에 우선 라이팅 된다. 비트들은 사이클릭 시프트 값 플로어 (NFEC/2)로 모듈로 NFEC 덧셈을 적용함으로써 하위 브랜치에 매칭된다. 여기서 NFEC 는 쇼트닝 및 펑처링 후의 각각의 LDPC 코딩 블록의 길이이다.
QSPK, QAM-16, NUQ-64와 같은 다른 변조의 경우, FEC 코딩 비트는 열 방향으로 순차적으로 인터리버에 기입된다. 여기서, 열의 수는 변조 차수와 같다.
판독 동작에서, 하나의 컨스텔레이션 심볼에 대한 비트들은 순차적으로 행 방향으로 판독되고, 비트 디멀티플렉서 블록에 입력된다. 이 동작들은 열의 끝까지 계속된다.
각각의 비트 인터리빙 그룹은 컨스텔레이션 매핑 전에 그룹에서 1비트씩 디멀티플렉싱 된다. 변조 차수에 따라, 두 가지 매핑 규칙이 있다. BPSK 및 QPSK의 경우, 하나의 심볼에서 비트들의 신뢰도는 동일하다. 따라서, 비트 인터리빙 블록으로부터 판독된 비트 그룹은 어떠한 동작 없이 QAM 심볼에 매칭된다.
QAM 심볼에 매핑된 QAM-16 및 NUQ-64의 경우, 동작의 규칙이 도 23 (a)에 설명되어 있다. 도 23 (a)에 나타낸 바와 같이, i 는 비트 인터리빙에서 열 인덱스에 해당하는 비트 그룹 인덱스이다.
도 21는 QAM-16에 대한 비트 디멀티플렉싱 규칙을 나타낸다. 이 동작은 모든 비트 그룹이 비트 인터리빙 블록으로부터 판독될 때까지 계속된다.
도 22는 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치의 구조를 나타낸다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치는 도 18을 참조하여 설명한 차세대 방송 서비스에 대한 방송 신호 송신 장치에 대응할 수 있다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치는 동기 및 복조 모듈 (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)로부터 출력된 데이터에서 필요한 제어 정보를 획득할 수 있다. 출력 프로세서(9030)의 출력은 방송 신호 송신 장치에 입력되는 신호에 해당하고, MPEG-TS, IP 스트림 (v4 또는 v6) 및 GS일 수 있다.
시그널링 디코딩 모듈(9040)은 동기 및 복조 모듈(9000)에 의해 복조된 신호로부터 PLS 정보를 획득할 수 있다. 전술한 바와 같이, 프레임 파싱 모듈(9010), 디매핑 및 디코딩 모듈(9020), 출력 프로세서(9030)는 시그널링 디코딩 모듈(9040)로부터 출력된 데이터를 이용하여 그 기능을 실행할 수 있다.
본 발명의 일 실시예에 따른 프레임은 다수의 OFDM 심볼 및 프리앰블로 더 분리된다. (d)에 도시한 바와 같이, 프레임은 프리앰블, 하나 이상의 FSS, 노멀 데이터 심볼, FES를 포함한다.
프리앰블은 고속 퓨처캐스트 UTB 시스템 신호 검출을 가능하게 하고, 신호의 효율적인 송신 및 수신을 위한 기본 전송 파라미터의 집합을 제공하는 특별한 심볼이다. 프리앰블에 대한 자세한 내용은 후술한다.
FSS의 주된 목적은 PLS 데이터를 전달하는 것이다. 고속 동기화 및 채널 추정을 위해, 이에 따른 PLS 데이터의 고속 디코딩을 위해, FSS는 노멀 데이터 심볼보다 고밀도의 파일럿 패턴을 갖는다. FES는 FSS와 완전히 동일한 파일럿을 갖는데, 이는 FES에 바로 앞서는 심볼에 대해 외삽(extrapolation) 없이 FES 내에서의 주파수만의 인터폴레이션(interpolation, 보간) 및 시간적 보간(temporal interpolation)을 가능하게 한다.
도 23은 본 발명의 일 실시예에 따른 프레임의 시그널링 계층 구조(signaling hierarchy structure) 를 나타낸다.
도 23은 시그널링 계층 구조를 나타내는데, 이는 세 개의 주요 부분인 프리앰블 시그널링 데이터(11000), PLS1 데이터(11010), 및 PLS2 데이터(11020)로 분할된다. 매 프레임마다 프리앰블 신호에 의해 전달되는 프리앰블의 목적은 프레임의 기본 전송 파라미터 및 전송 타입을 나타내는 것이다. PLS1은 수신기가 관심 있는 데이터 파이프에 접속하기 위한 파라미터를 포함하는 PLS2 데이터에 접속하여 디코딩할 수 있게 한다. PLS2는 매 프레임마다 전달되고, 두 개의 주요 부분인 PLS2-STAT 데이터와 PLS2-DYN 데이터로 분할된다. PLS2 데이터의 스태틱(static, 정적) 및 다이나믹(dynamic, 동적) 부분에는 필요시 패딩이 뒤따른다.
본 발명의 일 실시예에 따른 프리앰블 시그널링 데이터는 수신기가 프레임 구조 내에서 PLS 데이터에 접속하고 데이터 파이프를 추적할 수 있게 하기 위해 필요한 21비트의 정보를 전달한다. 프리앰블 시그널링 데이터에 대한 자세한 내용은 다음과 같다.
FFT_SIZE: 해당 2비트 필드는 아래 표 1에서 설명한 바와 같이 프레임 그룹 내에서 현 프레임의 FFT 사이즈를 나타낸다.
표 1
Value FFT 사이즈
00 8K FFT
01 16K FFT
10 32K FFT
11 리저브드
GI_FRACTION: 해당 3비트 필드는 아래 표 2에서 설명한 바와 같이 현 슈퍼 프레임에서의 가드 인터벌 일부(fraction) 값을 나타낸다.
표 2
GI_FRACTION
000 1/5
001 1/10
010 1/20
011 1/40
100 1/80
101 1/160
110~111 리저브드
EAC_FLAG: 해당 1비트 필드는 EAC가 현 프레임에 제공되는지 여부를 나타낸다. 해당 필드가 1로 설정되면, EAS가 현 프레임에 제공된다. 해당 필드가 0으로 설정되면, EAS가 현 프레임에서 전달되지 않는다. 해당 필드는 슈퍼 프레임 내에서 다이나믹(dynamic, 동적)으로 전환될 수 있다.
PILOT_MODE: 해당 1비트 필드는 현 프레임 그룹에서 현 프레임에 대해 파일럿 모드가 모바일 모드인지 또는 고정 모드인지 여부를 나타낸다. 해당 필드가 0으로 설정되면, 모바일 파일럿 모드가 사용된다. 해당 필드가 1로 설정되면, 고정 파일럿 모드가 사용된다.
PAPR_FLAG: 해당 1비트 필드는 현 프레임 그룹에서 현 프레임에 대해 PAPR 감소가 사용되는지 여부를 나타낸다. 해당 필드가 1로 설정되면, 톤 예약(tone reservation)이 PAPR 감소를 위해 사용된다. 해당 필드가 0으로 설정되면, PAPR 감소가 사용되지 않는다.
RESERVED: 해당 7비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
도 24은 본 발명의 일 실시예에 따른 PLS1 데이터를 나타낸다.
PLS1 데이터는 PLS2의 수신 및 디코딩을 가능하게 하기 위해 필요한 파라미터를 포함한 기본 전송 파라미터를 제공한다. 전술한 바와 같이, PLS1 데이터는 하나의 프레임 그룹의 전체 듀레이션 동안 변화하지 않는다. PLS1 데이터의 시그널링 필드의 구체적인 정의는 다음과 같다.
PREAMBLE_DATA: 해당 20비트 필드는 EAC_FLAG를 제외한 프리앰블 시그널링 데이터의 카피이다.
NUM_FRAME_FRU: 해당 2비트 필드는 FRU당 프레임 수를 나타낸다.
PAYLOAD_TYPE: 해당 3비트 필드는 프레임 그룹에서 전달되는 페이로드 데이터의 포맷을 나타낸다. PAYLOAD_TYPE은 표 3에 나타낸 바와 같이 시그널링 된다.
표 3
페이로드 타입
1XX TS가 전송됨
X1X IP 스트림이 전송됨
XX1 GS가 전송됨
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 타입은 표 4에 따라 시그널링 된다. LDPC 코드에 대한 자세한 내용은 후술한다.
표 4
콘텐트 PLS2 FEC 타입
00 4K-1/4 및 7K-3/10 LDPC 코드
01 ~ 11 리저브드(reserved)
PLS2_MOD: 해당 3비트 필드는 PLS2에 의해 사용되는 변조 타입을 나타낸다. 변조 타입은 표 5에 따라 시그널링 된다.
표 5
PLS2_MODE
000 BPSK
001 QPSK
010 QAM-16
011 NUQ-64
100~111 리저브드(reserved)
PLS2_SIZE_CELL: 해당 15비트 필드는 현 프레임 그룹에서 전달되는 PLS2에 대한 모든 코딩 블록의 사이즈(QAM 셀의 수로 특정됨)인 Ctotal _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에 대해 추가 패리티가 제공되는지 여부를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다. 아래의 표 6은 해당 필드의 값을 제공한다. 해당 필드의 값이 00으로 설정되면, 현 프레임 그룹에서 추가 패리티가 PLS2에 대해 사용되지 않는다.
표 6
PLS2-AP 모드
00 추가 패리티가 제공되지 않음
01 AP1 모드
10~11 리저브드(reserved)
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비트 에러 검출 코드
도 25은 본 발명의 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 25은 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비트 필드는 데이터 파이프의 타입을 나타낸다. 이는 아래의 표 7에 따라 시그널링 된다.
표 7
데이터 파이프 타입
000 타입 1 데이터 파이프
001 타입 2 데이터 파이프
010~111 리저브드(reserved)
DP_GROUP_ID: 해당 8비트 필드는 현 데이터 파이프가 관련되어 있는 데이터 파이프 그룹을 식별한다. 이는 수신기가 동일한 DP_GROUP_ID를 갖게 되는 특정 서비스와 관련되어 있는 서비스 컴포넌트의 데이터 파이프에 접속하는 데 사용될 수 있다.
BASE_DP_ID: 해당 6비트 필드는 관리 계층에서 사용되는 (PSI/SI와 같은) 서비스 시그널링 데이터를 전달하는 데이터 파이프를 나타낸다. BASE_DP_ID에 의해 나타내는 데이터 파이프는 서비스 데이터와 함께 서비스 시그널링 데이터를 전달하는 노멀 데이터 파이프이거나, 서비스 시그널링 데이터만을 전달하는 전용 데이터 파이프일 수 있다.
DP_FEC_TYPE: 해당 2비트 필드는 관련된 데이터 파이프에 의해 사용되는 FEC 타입을 나타낸다. FEC 타입은 아래의 표 8에 따라 시그널링 된다.
표 8
FEC_TYPE
00 16K LDPC
01 64K LDPC
10 ~ 11 리저브드(reserved)
DP_COD: 해당 4비트 필드는 관련된 데이터 파이프에 의해 사용되는 코드 레이트(code rate)을 나타낸다. 코드 레이트(code rate)은 아래의 표 9에 따라 시그널링 된다.
표 9
코드 레이트(code rate)
0000 5/15
0001 6/15
0010 7/15
0011 8/15
0100 9/15
0101 10/15
0110 11/15
0111 12/15
1000 13/15
1001 ~ 1111 리저브드(reserved)
DP_MOD: 해당 4비트 필드는 관련된 데이터 파이프에 의해 사용되는 변조를 나타낸다. 변조는 아래의 표 10에 따라 시그널링 된다.
표 10
변조
0000 QPSK
0001 QAM-16
0010 NUQ-64
0011 NUQ-256
0100 NUQ-1024
0101 NUC-16
0110 NUC-64
0111 NUC-256
1000 NUC-1024
1001~1111 리저브드(reserved)
DP_SSD_FLAG: 해당 1비트 필드는 SSD 모드가 관련된 데이터 파이프에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, SSD는 사용된다. 해당 필드의 값이 0으로 설정되면, SSD는 사용되지 않는다.
다음의 필드는 PHY_PROFILE가 어드벤스 프로파일을 나타내는 010과 동일할 때에만 나타난다.
DP_MIMO: 해당 3비트 필드는 어떤 타입의 MIMO 인코딩 처리가 관련된 데이터 파이프에 적용되는지 나타낸다. MIMO 인코딩 처리의 타입은 아래의 표 11에 따라 시그널링 된다.
표 11
MIMO 인코딩
000 FR-SM
001 FRFD-SM
010~111 리저브드(reserved)
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의 값은 아래의 표 12에 정의된다.
DP_TI_TYPE의 값이 0으로 설정되면, 해당 필드는 타임 인터리빙 그룹당 타임 인터리빙 블록의 수 NTI를 나타내고, 프레임당 하나의 타임 인터리빙 그룹이 존재한다 (PI=1). 해당 2비트 필드로 허용되는 PI의 값은 아래의 표 12에 정의된다.
표 12
2비트 필드 PI NTI
00 1 1
01 2 2
10 4 3
11 8 4
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은 아래의 표 13에 따라 시그널링 된다.
표 13
페이로드 타입
00 TS
01 IP
10 GS
11 리저브드(reserved)
DP_INBAND_MODE: 해당 2비트 필드는 현 데이터 파이프가 인 밴드(In-band) 시그널링 정보를 전달하는지 여부를 나타낸다. 인 밴드(In-band) 시그널링 타입은 아래의 표 14에 따라 시그널링 된다.
표 14
인 밴드 모드(In-band mode)
00 인 밴드(In-band) 시그널링이 전달되지 않음
01 INBAND-PLS만 전달됨
10 INBAND-ISSY만 전달됨
11 INBAND-PLS 및 INBAND-ISSY가 전달됨
DP_PROTOCOL_TYPE: 해당 2비트 필드는 주어진 데이터 파이프에 의해 전달되는 페이로드의 프로토콜 타입을 나타낸다. 페이로드의 프로토콜 타입은 입력 페이로드 타입이 선택되면 아래의 표 15에 따라 시그널링 된다.
표 15
DP_PAYLOAD_TYPE이 TS인 경우 DP_PAYLOAD_TYPE이 IP인 경우 DP_PAYLOAD_TYPE이 GS인 경우
00 MPEG2-TS IPv4 (Note)
01 리저브드(reserved) IPv6 리저브드(reserved)
10 리저브드(reserved) 리저브드(reserved) 리저브드(reserved)
11 리저브드(reserved) 리저브드(reserved) 리저브드(reserved)
DP_CRC_MODE: 해당 2비트 필드는 CRC 인코딩이 인풋 포맷 블록에서 사용되는지 여부를 나타낸다. CRC 모드는 아래의 표 16에 따라 시그널링 된다.
표 16
CRC 모드
00 사용되지 않음
01 CRC-8
10 CRC-16
11 CRC-32
DNP_MODE: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 널 패킷 삭제 모드를 나타낸다. DNP_MODE는 아래의 표 17에 따라 시그널링 된다. DP_PAYLOAD_TYPE이 TS ('00')가 아니면, DNP_MODE는 00의 값으로 설정된다.
표 17
널 패킷 삭제 모드
00 사용되지 않음
01 DNP-NORMAL
10 DNP-OFFSET
11 리저브드(reserved)
ISSY_MODE: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 ISSY 모드를 나타낸다. ISSY_MODE는 아래의 표 18에 따라 시그널링 된다. DP_PAYLOAD_TYPE이 TS ('00')가 아니면, ISSY_MODE는 00의 값으로 설정된다.
표 18
ISSY 모드
00 사용되지 않음
01 ISSY-UP
10 ISSY-BBF
11 리저브드(reserved)
HC_MODE_TS: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 TS 헤더 압축 모드를 나타낸다. HC_MODE_TS는 아래의 표 19에 따라 시그널링 된다.
표 19
헤더 압축 모드
00 HC_MODE_TS 1
01 HC_MODE_TS 2
10 HC_MODE_TS 3
11 HC_MODE_TS 4
HC_MODE_IP: 해당 2 비트 필드는 DP_PAYLOAD_TYPE이 IP ('01')로 설정되는 경우에 IP 헤더 압축 모드를 나타낸다. HC_MODE_IP는 아래의 표 20에 따라 시그널링 된다.
표 20
헤더 압축 모드
00 압축 없음
01 HC_MODE_IP 1
10~11 리저브드(reserved)
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)된다.
도 26는 본 발명의 다른 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 26는 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 필드는 아래의 표 21에 나타낸 바와 같이 피지컬 프로파일 및 FFT 사이즈에 따라 다른 길이를 갖는다.
표 21
피지컬 프로파일 DP_START 필드 사이즈
64K 16K
베이스 13 비트 15 비트
핸드헬드 - 13 비트
어드벤스 13 비트 15 비트
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비트 에러 검출 코드.
도 27은 본 발명의 일 실시예에 따른 프레임의 로지컬(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, 데이터 파이프, 보조 스트림, 및 더미 셀의 순서로 모두 함께 매핑하면 프레임에서 셀 용량을 정확히 채운다.
도 28은 본 발명의 일 실시예에 따른 PLS 매핑을 나타낸다.
PLS 셀은 FSS의 액티브(active) 캐리어에 매핑된다. PLS가 차지하는 셀의 수에 따라, 하나 이상의 심볼이 FSS로 지정되고, FSS의 수 NFSS는 PLS1에서의 NUM_FSS에 의해 시그널링된다. FSS는 PLS 셀을 전달하는 특수한 심볼이다. 경고성 및 지연 시간(latency)은 PLS에서 중대한 사안이므로, FSS는 높은 파일럿 밀도를 가지고 있어 고속 동기화 및 FSS 내에서의 주파수만의 인터폴레이션(interpoloation, 보간)을 가능하게 한다.
PLS 셀은 도면에 도시된 바와 같이 하향식으로 FSS의 액티브(active) 캐리어에 매핑된다. PLS1 셀은 처음에 첫 FSS의 첫 셀부터 셀 인덱스의 오름차순으로 매핑된다. PLS2 셀은 PLS1의 마지막 셀 직후에 뒤따르고, 매핑은 첫 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 PLS 셀의 총 수가 하나의 FSS의 액티브(active) 캐리어의 수를 초과하면, 매핑은 다음 FSS로 진행되고 첫 FSS와 완전히 동일한 방식으로 계속된다.
PLS 매핑이 완료된 후, 데이터 파이프가 다음에 전달된다. EAC, FIC 또는 둘 다 현 프레임에 존재하면, EAC 및 FIC는PLS와 노멀 데이터 파이프 사이에 배치된다.
이하에서는 본 발명의 일 실시예에 따른 FEC 구조 및 인코딩에 대해 설명한다. 전술한 바와 같이, 데이터 FEC 인코더는 외부 코딩(BCH) 및 내부 코딩(LDPC)을 이용하여 FECBLOCK 절차를 생성하기 위해 입력 BBF에 FEC 인코딩을 실행할 수 있다. 도시된 FEC 구조는 FECBLOCK에 해당한다. 또한, FECBLOCK 및 FEC 구조는 LDPC 코드워드의 길이에 해당하는 동일한 값을 갖는다.
상술한 바와 같이BCH 인코딩이 각각의 BBF(Kbch 비트)에 적용된 후, LDPC 인코딩이 BCH - 인코딩된 BBF(Kldpc 비트 = Nbch 비트)에 적용된다.
Nldpc의 값은 64800 비트 (롱 FECBLOCK) 또는 16200 비트 (쇼트 FECBLOCK)이다.
아래의 표 22 및 표 23은 롱 FECBLOCK 및 쇼트 FECBLOCK 각각에 대한 FEC 인코딩 파라미터를 나타낸다.
표 22
LDPC 비율 Nldpc Kldpc Kbch BCH 에러 정정 능력 Nbch-Kbch
5/15 64800 21600 21408 12 192
6/15 25920 25728
7/15 30240 30048
8/15 34560 34368
9/15 38880 38688
10/15 43200 43008
11/15 47520 47328
12/15 51840 51648
13/15 56160 55968
표 23
LDPC 비율 Nldpc Kldpc Kbch BCH 에러 정정 능력 Nbch-Kbch
5/15 16200 5400 5232 12 168
6/15 6480 6312
7/15 7560 7392
8/15 8640 8472
9/15 9720 9552
10/15 10800 10632
11/15 11880 11712
12/15 12960 12792
13/15 14040 13872
BCH 인코딩 및 LDPC 인코딩의 구체적인 동작은 다음과 같다.
12-에러 정정 BCH 코드가 BBF의 외부 인코딩에 사용된다. 쇼트 FECBLOCK 및 롱 FECBLOCK에 대한 BBF 생성 다항식은 모든 다항식을 곱함으로써 얻어진다.
LDPC 코드는 외부 BCH 인코딩의 출력을 인코딩하는 데 사용된다. 완성된 Bldpc (FECBLOCK)를 생성하기 위해, Pldpc (패리티 비트)가 각각의 Ildpc (BCH - 인코딩된 BBF)로부터 조직적으로 인코딩되고, Ildpc에 첨부된다. 완성된 Bldpc (FECBLOCK)는 다음의 수학식으로 표현된다.
수학식 2
Figure PCTKR2015014107-appb-M000002
롱 FECBLOCK 및 쇼트 FECBLOCK에 대한 파라미터는 위의 표 22 및 23 에 각각 주어진다.
롱 FECBLOCK에 대해 Nldpc - Kldpc 패리티 비트를 계산하는 구체적인 절차는 다음과 같다.
1) 패리티 비트 초기화
수학식 3
Figure PCTKR2015014107-appb-M000003
2) 패리티 체크 매트릭스의 어드레스의 첫 번째 행에서 특정된 패리티 비트 어드레스에서 첫 번째 정보 비트 i0 누산(accumulate). 패리티 체크 매트릭스의 어드레스의 상세한 내용은 후술한다. 예를 들면, 비율 13/15에 대해,
수학식 4
Figure PCTKR2015014107-appb-M000004
3) 다음 359개의 정보 비트 is, s=1, 2, …, 359에 대해, 다음의 수학식을 이용하여 패리티 비트 어드레스에서 is 누산(accumulate).
수학식 5
Figure PCTKR2015014107-appb-M000005
여기서, x 는 첫 번째 비트 i0에 해당하는 패리티 비트 누산기의 어드레스를 나타내고, Qldpc는 패리티 체크 매트릭스의 어드레서에서 특정된 코드 레이트(code rate) 의존 상수이다. 상기 예인, 비율 13/15에 대한, 따라서 정보 비트 i1에 대한 Qldpc = 24에 계속해서, 다음 동작이 실행된다.
수학식 6
Figure PCTKR2015014107-appb-M000006
4) 361번째 정보 비트 i360에 대해, 패리티 비트 누산기의 어드레스는 패리티 체크 매트릭스의 어드레스의 두 번째 행에 주어진다. 마찬가지 방식으로, 다음 359개의 정보 비트 is, s= 361, 362, …, 719에 대한 패리티 비트 누산기의 어드레스는 수학식 6을 이용하여 얻어진다. 여기서, x는 정보 비트 i360에 해당하는 패리티 비트 누산기의 어드레스, 즉 패리티 체크 매트릭스의 두 번째 행의 엔트리를 나타낸다.
5) 마찬가지 방식으로, 360개의 새로운 정보 비트의 모든 그룹에 대해, 패리티 체크 매트릭스의 어드레스로부터의 새로운 행은 패리티 비트 누산기의 어드레스를 구하는 데 사용된다.
모든 정보 비트가 이용된 후, 최종 패리티 비트가 다음과 같이 얻어진다.
6) i=1로 시작해서 다음 동작을 순차적으로 실행
수학식 7
Figure PCTKR2015014107-appb-M000007
여기서 pi, i=0,1,...Nldpc - Kldpc - 1의 최종 콘텐트는 패리티 비트 pi와 동일하다.
표 24
코드 레이트(code rate) Qldpc
5/15 120
6/15 108
7/15 96
8/15 84
9/15 72
10/15 60
11/15 48
12/15 36
13/15 24
표 24을 표 25로 대체하고, 롱 FECBLOCK에 대한 패리티 체크 매트릭스의 어드레스를 쇼트 FECBLOCK에 대한 패리티 체크 매트릭스의 어드레스로 대체하는 것을 제외하고, 쇼트 FECBLOCK에 대한 해당 LDPC 인코딩 절차는 롱 FECBLOCK에 대한 t LDPC 인코딩 절차에 따른다.
표 25
코드 레이트(code rate) Qldpc
5/15 30
6/15 27
7/15 24
8/15 21
9/15 18
10/15 15
11/15 12
12/15 9
13/15 6
도 29 는 본 발명의 일 실시예에 따른 타임 인터리빙을 나타낸다.
(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을 포함할 수 있다. 타임 인터리빙 그룹이 다수의 타임 인터리빙 블록으로 분리되면, 타임 인터리빙 그룹은 하나의 프레임에만 직접 매핑된다. 아래의 표 26에 나타낸 바와 같이, 타임 인터리빙에는 세 가지 옵션이 있다(타임 인터리빙을 생략하는 추가 옵션 제외).
표 26
모드 설명
옵션 1 (a)에 나타낸 바와 같이 각각의 타임 인터리빙 그룹은 하나의 타임 인터리빙 블록을 포함하고 하나의 프레임에 직접 매핑된다. 해당 옵션은 DP_TI_TYPE = '0' 및 DP_TI_LENGTH = '1'(NTI=1)에 의해 PLS2-STAT에서 시그널링된다.
옵션 2 각각의 타임 인터리빙 그룹은 하나의 타임 인터리빙 블록을 포함하고 하나 이상의 프레임에 매핑된다. (b)는 하나의 타임 인터리빙 그룹이 두 개의 프레임, 즉 DP_TI_LENGTH ='2' (PI=2) 및 DP_FRAME_INTERVAL (IJUMP = 2)에 매핑되는 예를 나타낸다. 이것은 낮은 데이터율 서비스에 더 높은 시간 다이버시티를 제공한다. 해당 옵션은 DP_TI_TYPE ='1'에 의해 PLS2-STAT에서 시그널링된다.
옵션 3 (c)에 나타낸 바와 같이 각각의 타임 인터리빙 그룹은 다수의 타임 인터리빙 블록으로 분리되고 하나의 프레임에 직접 매핑된다. 각각의 타임 인터리빙 블록은 데이터 파이프에 대해 최대의 비트율(bit rate)을 제공하도록 풀(full) 타임 인터리빙 메모리를 사용할 수 있다. 해당 옵션은 PI=1이면서 DP_TI_TYPE = '0' 및 DP_TI_LENGTH = NTI에 의해 PLS2-STAT에서 시그널링된다.
일반적으로, 타임 인터리버는 프레임 생성 과정 이전에 데이터 파이프 데이터에 대한 버퍼로도 작용할 것이다. 이는 각각의 데이터 파이프에 대해 2개의 메모리 뱅크로 달성된다. 첫 번째 타임 인터리빙 블록은 첫 번째 뱅크에 기입된다. 첫 번째 뱅크에서 판독되는 동안 두 번째 타임 인터리빙 블록이 두 번째 뱅크에 기입된다.
타임 인터리빙은 트위스트된 행-열 블록 인터리버이다. n번째 타임 인터리빙 그룹의 s번째 타임 인터리빙 블록에 대해, 열의 수 Nc 가 NxBLOCK _ TI(n,s) 와 동일한 반면, 타임 인터리빙 메모리의 행의 수 Nr 는 셀의 수 Ncells 와 동일하다 (즉, Nr = Ncells).
도 30은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 기본 동작을 나타낸다.
도 30 (a)는 타임 인터리버에서 기입 동작을 나타내고, 도 30 (b)는 타임 인터리버에서 판독 동작을 나타낸다. (a)에 나타낸 바와 같이, 첫 번째 XFECBLOCK은 타임 인터리빙 메모리의 첫 번째 열에 열 방향으로 기입되고, 두 번째 XFECBLOCK은 다음 열에 기입되고, 이러한 동작이 이어진다. 그리고 인터리빙 어레이에서, 셀이 대각선 방향으로 판독된다. (b)에 나타낸 바와 같이 첫 번째 행으로부터 (가장 왼쪽 열을 시작으로 행을 따라 오른쪽으로) 마지막 행까지 대각선 방향 판독이 진행되는 동안, Nr 개의 셀이 판독된다. 구체적으로,
Figure PCTKR2015014107-appb-I000001
이 순차적으로 판독될 타임 인터리빙 메모리 셀 위치라고 가정하면, 이러한 인터리빙 어레이에서의 판독 동작은 아래 식에서와 같이 행 인덱스
Figure PCTKR2015014107-appb-I000002
, 열 인덱스
Figure PCTKR2015014107-appb-I000003
, 관련된 트위스트 파라미터
Figure PCTKR2015014107-appb-I000004
를 산출함으로써 실행된다.
수학식 8
Figure PCTKR2015014107-appb-M000008
여기서,
Figure PCTKR2015014107-appb-I000005
Figure PCTKR2015014107-appb-I000006
에 상관없이 대각선 방향 판독 과정에 대한 공통 시프트 값이고, 시프트 값은 아래 식에서와 같이 PLS2-STAT에서 주어진
Figure PCTKR2015014107-appb-I000007
에 의해 결정된다.
수학식 9
Figure PCTKR2015014107-appb-M000009
결과적으로, 판독될 셀 위치는 좌표
Figure PCTKR2015014107-appb-I000008
에 의해 산출된다.
도 31는 본 발명의 다른 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 동작을 나타낸다.
더 구체적으로, 도 31 은
Figure PCTKR2015014107-appb-I000009
,
Figure PCTKR2015014107-appb-I000010
,
Figure PCTKR2015014107-appb-I000011
일 때 가상 XFECBLOCK을 포함하는 각각의 타임 인터리빙 그룹에 대한 타임 인터리빙 메모리에서 인터리빙 어레이를 나타낸다.
변수
Figure PCTKR2015014107-appb-I000012
Figure PCTKR2015014107-appb-I000013
보다 작거나 같을 것이다. 따라서,
Figure PCTKR2015014107-appb-I000014
에 상관없이 수신기 측에서 단일 메모리 디인터리빙을 달성하기 위해, 트위스트된 행-열 블록 인터리버용 인터리빙 어레이는 가상 XFECBLOCK을 타임 인터리빙 메모리에 삽입함으로써
Figure PCTKR2015014107-appb-I000015
의 크기로 설정되고, 판독 과정은 다음 식과 같이 이루어진다.
수학식 10
Figure PCTKR2015014107-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 PCTKR2015014107-appb-I000016
로 이어진다.
하나의 OFDM 심볼에 해당하는 데이터 상에서 동작하는 프리퀀시 인터리버의 목적은 프레임 빌더로부터 수신된 데이터 셀을 무작위로 인터리빙 함으로써 프리퀀시 다이버시티를 제공하는 것이다. 하나의 프레임에서 최대 인터리빙 이득을 얻기 위해, 두 개의 순차적인 OFDM 심볼로 이루어진 모든 OFDM 심볼 페어에 대해 다른 인터리빙 시퀀스가 사용된다.
따라서 본 발명의 일 실시예에 따른 프리퀀시 인터리버는 심볼 페어에 대응하는 데이터들에 적용하기 위한 인터리빙 어드레스를 생성하기 위한 인터리빙 어드레스 제너레이터를 포함할 수 있다.
도 32는 본 발명의 일 실시예에 따른 각 FFT 모드에 따른 메인-PRBS 제너레이터와 서브-PRBS 제너레이터로 구성된 인터리빙 어드레스 제너레이터의 블록 다이아그램을 나타낸 도면이다.
(a)는 8K FFT 모드에 대한 인터리빙 어드레스 제너레이터의 블록 다이아그램을 나타내고, (b)는 16K FFT 모드에 대한 인터리빙 어드레스 제너레이터의 블록 다이아그램을 나타내고, (c)는 32K FFT 모드에 대한 인터리빙 어드레스 제너레이터의 블록 다이아그램을 나타낸다.
OFDM 심볼 페어에 대한 인터리빙 과정은 하나의 인터리빙 시퀀스를 이용하며 다음과 같이 설명된다. 우선, 하나의 OFDM 심볼 Om,l 에서 인터리빙 될 사용 가능한 데이터 셀(셀 매퍼로부터의 출력 셀)은
Figure PCTKR2015014107-appb-I000017
에 대해
Figure PCTKR2015014107-appb-I000018
로 정의된다. 이때 xm,l,pm번째 프레임에서 l번째 OFDM 심볼의 p번째 셀이고, Ndata 는 데이터 셀의 개수이다: 프레임 시그널링 심볼에 대해 Ndata = CFSS 이고, 노멀 데이터에 대해 Ndata = Cdata 이며, 프레임 엣지 심볼에 대해 Ndata = CFES 이다. 또한, 인터리빙된 데이터 셀은
Figure PCTKR2015014107-appb-I000019
에 대해
Figure PCTKR2015014107-appb-I000020
로 정의된다.
OFDM 심볼 페어에 대해, 인터리빙 된 OFDM 심볼 페어는 각 페어의 첫 번째 OFDM 심볼에 대해
Figure PCTKR2015014107-appb-I000021
로 주어지고, 각 페어의 두 번째 OFDM 심볼에 대해
Figure PCTKR2015014107-appb-I000022
로 주어진다. 이때 Hl(p) 는 PRBS 제너레이터에 의해 생성된 인터리빙 어드레스이다.
도 33은 본 발명의 일 실시예에 따른 모든 FFT 모드들에 사용되는 메인-PRBS를 나타낸 도면이다.
(a)는 메인-PRBS를 나타내며, (b)는 각 FFT 모드를 위한 파라미터 Nmax를 나타낸다.
도 34은 본 발명의 일 실시예에 따른 프리퀀시 인터리빙을 위한 인터리빙 어드레스 및 FFT 모드들에 사용되는 서브-PRBS를 나타낸 도면이다.
(a)는 서브-PRBS 제너레이터를 나타내며, (b)는 프리퀀시 인터리빙을 위한 인터리빙 어드레스를 나타낸다. 본 발명의 일 실시예에 따른 사이클릭 시프트 값은 심볼 오프셋이라고 호칭할 수 있다.
도 35은 본 발명의 일 실시예에 따른 타임 인터리버의 라이팅 (writing) 오퍼레이션을 나타낸다.
도 35은 두 개의 TI 그룹에 대한 라이팅 (writing) 오퍼레이션을 나타낸다.
도면의 왼쪽에 도시된 블록은 TI 메모리 어드레스 어레이(memory address array)를 나타내며, 도면의 오른쪽에 도시된 블록은 연속한 두 개의 TI 그룹들에 대해 각각 버츄얼(virtual) FEC 블록들이 TI 그룹의 가장 앞에 각각 2개 및 1개가 삽입된 경우의 라이팅 (writing) 오퍼레이션을 나타낸다.
이하, PLP (Physical Layer Pipe) 모드에 따라 컨볼루션 인터리버(Convolution Interleaver, CI)와 블록 인터리버(Block Interleaver, BI)를 선택적으로 사용하거나, 모두 사용하는 타임 인터리버의 구조 및 타임 인터리빙 방법을 설명한다. 본 발명의 일 실시예에 따른 PLP는 상술한 DP와 동일한 개념으로 사용되는 피지컬 패스(physical path)로서, 호칭은 설계자의 의도에 따라 변경 가능하다.
본 발명의 일 실시예에 따른 PLP 모드는 방송 신호 송신기 또는 방송 신호 송신 장치에서 처리하는 PLP 개수에 따라 싱글 PLP(single PLP) 모드 또는 멀티플 PLP(multiple PLP)모드를 포함할 수 있다. 싱글 PLP 모드는 방송 신호 송신 장치에서 처리하는 PLP 개수가 하나인 경우를 의미한다. 싱글 PLP 모드는 싱글 PLP로 호칭할 수도 있다.
멀티플 PLP모드는 방송 신호 송신 장치에서 처리하는 PLP 개수가 하나 이상인 경우로서 멀티플 PLP 모드는 멀티플 PLP로 호칭할 수도 있다.
본 발명에서는 PLP 모드에 따라 서로 다른 타임 인터리빙 방법을 적용하는 타임 인터리빙을 하이브리드 타임 인터리빙(Hybrid Time Interleaving)이라 호칭할 수 있다. 본 발명의 일 실시예에 따른 하이브리드 타임 인터리빙은 멀티플 PLP 모드의 경우, 각 PLP별로 (혹은 PLP 레벨에서) 적용된다.
도 36는 PLP 개수에 따라 적용하는 인터리빙 타입을 표로 도시한 도면이다.
본 발명의 일실시예에 따른 타임 인터리버는 PLP_NUM의 값을 기반으로 인터리빙 타입(Interleaving type)이 결정될 수 있다. PLP_NUM는 PLP 모드를 나타내는 시그널링 필드(signaling field) 이다. PLP_NUM의 값이 1인 경우, PLP 모드는 싱글 PLP이다. 본 발명의 일 실시예에 따른 싱글 PLP는 컨볼루션 인터리버(Convolutional Interleaver, CI)만 적용될 수 있다.
PLP_NUM의 값이 1보다 큰 경우, PLP 모드는 멀티플 PLP이다. 본 발명의 일 실시예에 따른 멀티플 PLP는 컨볼루션 인터리버(Convolutional Interleaver, CI)와 블록 인터리버(Block Interleaver, BI)가 적용될 수 있다. 이 경우, 컨볼루션 인터리버는 인터 프레임 인터리빙(Inter frame interleaving)을 수행할 수 있으며, 블록 인터리버는 인트라 프레임 인터리빙(Intra frame interleaving)을 수행할 수 있다.
도 37은 상술한 하이브리드 타임 인터리버 구조의 제 1 실시예를 포함하는 블록도이다.
제 1 실시예에 따른 하이브리드 타임 인터리버는 블록 인터리버(BI)와 컨볼루션 인터리버(CI)를 포함할 수 있다. 본 발명의 타임 인터리버는 BICM 체인(BICM chain) 블록과 프레임 빌더(Frame Builder) 사이에 위치할 수 있다.
도 37 내지 도 38에 도시된 BICM 체인 블록은 도 19에 도시된 BICM 블록의 처리 블록(5000) 중 타임 인터리버(5050)를 제외한 블록들을 포함할 수 있다. 도 37 내지 도 38에 도시된 프레임 빌더는 도 18의 프레임 빌딩(1020)블록의 동일한 역할을 수행할 수 있다.
상술한 바와 같이 하이브리드 타임 인터리버 구조의 제 1 실시예에 따른 블록 인터리버는 PLP_NUM 값에 따라 적용 여부가 결정될 수 있다. 즉, PLP_NUM=1인 경우, 블록 인터리버는 적용되지 않고(블록인터리버 오프(off)), 컨볼루션 인터리버만 적용된다. PLP_NUM>1인 경우, 블록 인터리버와 컨볼루션 인터리버가 모두 적용(블록 인터리버 온(on))될 수 있다. PLP_NUM>1인 경우 적용되는 컨볼루션 인터리버의 구조 및 동작은 PLP_NUM=1인 경우 적용되는 컨볼루션 인터리버의 구조 및 동작과 동일하거나 유사할 수 있다.
도 38은 상술한 하이브리드 타임 인터리버 구조의 제 2 실시예를 포함하는 블록도이다.
하이브리드 타임 인터리버 구조의 제 2 실시예에 포함되는 각 블록의 동작은 도 37에서 설명한 내용과 동일하다. 하이브리드 타임 인터리버 구조의 제 2 실시예에 따른 블록 인터리버는 PLP_NUM 값에 따라 적용 여부가 결정될 수 있다. 제 2 실시예에 따른 하이브리드 타임 인터리버의 각 블록들은 본 발명의 실시예에 따른 동작들을 수행할 수 있다. 이 때, PLP_NUM=1인 경우와 PLP_NUM>1인 경우 적용되는 컨볼루션 인터리버의 구조 및 동작이 서로 다를 수 있다.
도 39는 하이브리드 타임 디인터리버의 구조의 제 1 실시예를 포함하는 블록도이다.
제 1 실시예에 따른 하이브리드 타임 디인터리버는 상술한 제 1 실시예에 따른 하이브리드 타임 인터리버의 역동작에 상응하는 동작을 수행할 수 있다. 따라서, 도 39의 제 1 실시예에 따른 하이브리드 타임 디인터리버는 컨볼루션 디인터리버(Convolutional deinterleaver, CDI)와 블록 디인터리버(Block deinterleaver, BDI)를 포함할 수 있다.
PLP_NUM>1인 경우 적용되는 컨볼루션 디인터리버의 구조 및 동작은 PLP_NUM=1인 경우 적용되는 컨볼루션 디인터리버의 구조 및 동작과 동일하거나 유사할 수 있다.
하이브리드 타임 디인터리버 구조의 제 1 실시예에 따른 블록 디인터리버는 PLP_NUM 값에 따라 적용 여부가 결정될 수 있다. 즉, PLP_NUM=1인 경우, 블록 디인터리버는 적용되지 않고(블록 디인터리버 오프(off)), 컨볼루션 디인터리버만 적용된다.
하이브리드 타임 디인터리버의 컨볼루션 디인터리버는 인터 프레임 디인터리빙(Inter frame deinterleaving)을 수행할 수 있으며, 블록 디인터리버는 인트라 프레임 디인터리빙(Intra frame deinterleaving)을 수행할 수 있다. 인터 프레임 디인터리빙 및 인트라 프레임 디인터리빙의 구체적인 내용은 전술한 내용과 동일하다.
도 39 내지 도 40에 도시된 BICM 디코딩(BICM decoding) 블록은 도 37 내지 도 38의 BICM 체인(BICM chain)블록의 역동작을 수행할 수 있다.
도 40은 하이브리드 타임 디인터리버의 구조의 제 2 실시예를 포함하는 블록도이다.
제 2 실시예에 따른 하이브리드 타임 디인터리버는 상술한 제 2 실시예에 따른 하이브리드 타임 인터리버의 역동작에 상응하는 동작을 수행할 수 있다. 하이브리드 타임 디인터리버 구조의 제 2 실시예에 포함되는 각 블록의 동작은 도 39에서 설명한 내용과 동일할 수 있다.
하이브리드 타임 디인터리버 구조의 제 2 실시예에 따른 블록 디인터리버는 PLP_NUM 값에 따라 적용 여부가 결정될 수 있다. 제 2 실시예에 따른 하이브리드 타임 디인터리버의 각 블록들은 본 발명의 실시예에 따른 동작들을 수행할 수 있다. 이 때, PLP_NUM=1인 경우와 PLP_NUM>1인 경우 적용되는 컨볼루션 디인터리버의 구조 및 동작이 서로 다를 수 있다.
도 41은 본 발명의 일 실시예에 따른 ROUTE 프로토콜 스택을 도시한 도면이다.
IP 기반 하이브리드 방송을 지원하는 차세대 방송 시스템의 방송서비스는 비디오 데이터, 오디오 데이터, 자막 데이터, 시그널링 데이터, ESG(Electronic Service Guide) 데이터, 및/또는 NRT 콘텐츠 데이터를 포함할 수 있다.
비디오 데이터, 오디오 데이터 및 자막 데이터 등은 ISO Base Media File (이하 ISO BMFF) 형태로 인캡슐레이션 (encapsulation)될 수 있다. 예를 들어, ISO BMFF 형태로 인캡슐레이션 된 데이터는 MPEG(Moving Picture Expert Group)-DASH((Dynamic Adaptive Streaming over HTTP)의 세그먼트 (Segment) 혹은 MMT(MPEG Media Transport) 의 MPU (Media processing unit) 등의 형태를 따를 수 있다. 그리고 나서, ISO BMFF 형태로 인캡슐레이션 된 데이터는 방송망과 인터넷 망에서 동일하게 또는 각 전송망의 속성에 따라 서로 다르게 전송될 수 있다.
방송망의 경우, 시그널링 데이터, ESG 데이터, NRT 콘텐트 데이터, and/or ISO BMFF 형태로 인캡슐레이션 된 데이터들은 실시간 오브젝트 전송을 지원하는 어플리케이션 레이어 트랜스포트 (application layer transport) 프로토콜 패킷으로 인캡슐레이션 될 수 있다. 예를 들어, ISO BMFF 형태로 인캡슐레이션 된 데이터들은 ROUTE(Real-Time Object Delivery over Unidirectional Transport) 및 MMT의 트랜스포트 패킷 (transport packet) 등으로 인캡슐레이션 될 수 있다.
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 미디어 세그먼트 파일들과 같은 스트리밍 미디어를 전송하는데 매우 적합하다. 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 세션, LCT 트랜스포트 세션 (transport session), 및/또는 PSI 비트에 의해서 구별될 수 있다. 상이한 ROUTE 세션들은 상이한 IP/UDP 포트 조합들 상에서 전송될 수 있다. 상이한 LCT 트랜스포트 세션 (transport session)들은 LCT 헤더에서 상이한 TSI 값들을 가질 수 있다. 만일 소스 및 리페어 패킷들이 같은 LCT 트랜스포트 세션을 통해서 전송되면, 그들은 LCT 내에 있는 PSI 비트에 의해서 구별될 수 있다. 이런 동작 모드는 FLUTE 호환 배치에 적합하다.
ROUTE는 패킷 포맷들, 전송 동작(sending behavior), 및 수신 동작(receiving behavior)을 포함하는 소스 프로토콜을 정의한다. 그리고, ROUTE는 리페어 프로토콜을 정의한다. 그리고, ROUTE는 전송 세션 확립(transport session establishment)을 위한 메타데이터 및 오브젝트 플로우 딜리버리를 위한 메타데이터를 정의한다. 그리고, ROUTE는 MPEG-DASH 컨피규레이션을 위한 권고사항(recommendations) 및 풍부하고 고품질의 리니어 TV 방송 서비스들을 위한 ROUTE에 대한 매핑을 정의할 수 있다.
ROUTE 프로토콜의 범위는 LCT 패킷들을 이용하여 딜리버리 오브젝트 및 관련된 메타데이터의 신뢰성있는 전달이다. 오브젝트들은 딜리버리 오브젝트 캐시 (Delivery Object Cache)를 통하여 애플리케이션에서 이용될 수 있도록 만들어질 수 있다. 이러한 캐시의 실행(implementation)은 애플리케이션에 따라서 달라질 수 있다.
ROUTE 프로토콜은 딜리버리 오브젝트들을 전송하는 LCT 패킷들의 포맷에 집중한다. 또한, ROUTE 프로토콜은 FEC에 기반을 둔 리페어 프로토콜을 사용하는 딜리버리 오브젝트의 신뢰성 있는 전달에 집중한다. 그리고, ROUTE 프로토콜은 딜리버리 오브젝트들과 함께 딜리버리 오브젝트 캐쉬 및 애플리케이션 사이에서 인터페이스 역할을 가능하게 하는 오브젝트 메타데이터의 정의 및 전달에 집중한다. 그리고, ROUTE 프로토콜은 오브젝트들 및 그들의 메타데이터의 수신을 수립하기 위한 ROUTE 세션 및 LCT 세션에 집중한다. 그리고, ROUTE 프로토콜은 특정 애플리케이션들을 위해 성능을 최적화시키기 위한 패킷들과 함께 전송되는 부가 정보(auxiliary information)의 규범적인 모습들(normative aspects, formats, semantics)에 집중한다. 예들 들어, 실시간 전달이 예가 될 수 있다.
게다가, ROUTE 프로토콜은 딜리버리에 사용되는 적합한 DASH 포맷들뿐만 아니라 ROUTE 딜리버리에 구체적인(specific) DASH 미디어 프레젠테이션 포맷들의 추천되는 매핑들을 제공한다. 핵심 이슈는, ROUTE를 사용함으로서 DASH 미디어 포맷들이 그대로 사용될 수 있다는 것이다. 이러한 아키텍처럴 디자인(architectural design)은 수렴되는(converged) 유니캐스트/브로드캐스트 서비스들을 가능하게 한다.
ROUTE 프로토콜의 송신자 동작에서, LCT 패킷들을 전달하는 ROUTE 세션이 확립된다(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는 엔티티 모드에서 엔티티 헤더를 통해서 전송되고, 전달의 다른 모드들에서 LCT 헤더를 통해서 전달될 수 있다.
ROUTE 프로토콜은 소스 데이터에 대한 서로 다른 보호 및 딜리버리 스킴을 지원할 수 있다. 역-호환성 모드에서 효율적으로 사용되기 위해서, ROUTE 프로토콜은 NRT 딜리버리를 위한 모든 기존의 사용예들을 지원할 수 있다.
ROUTE 세션은 IP address/port 조합에 관련된다. 전형적으로, ROUTE 세션에 참가함으로서(by joining), 세션의 모든 패킷들은 수신될 수 있고, 애플리케이션 프로토콜은 추가적인 프로세싱을 적용할 수 있다.
각각의 ROUTE 세션은 적어도 하나의 LCT 트랜스포트 세션을 포함할 수 있다. LCT 트랜스포트 세션들은 ROUTE 세션의 부분집합일 수 있다. 미디어 딜리버리에 대하여, 하나의 LCT 트랜스포트 세션은 전형적으로 하나의 미디어 컴포넌트(e.g. DASH Representation)를 전송할 수 있다. 브로드캐스트 DASH의 관점에서, ROUTE 세션은 적어도 하나의 DASH 미디어 프레젠테이션의 구성요소인 적어도 하나의 미디어 컴포넌트를 전송하는 LCT 트랜스포트 세션의 복합체로서 간주될 수 있다. 각각의 LCT 트랜스포트 세션내에서, 서로 관련이 있는 적어도 하나의 오브젝트들이 전송될 수 있다. 예를 들어, 오브젝트들은 하나의 리프레젠테이션에 관련된 DASH 세그먼트들(DASH Segments)일 수 있다. 각각의 오브젝트와 함께, 오브젝트들이 애플리케이션들에서 사용될 수 있도록 메타데이터 프로퍼티들이 전달될 수 있다. 애플리케이션들은 DASH 미디어 프레젠테이션들, HTML-5 프레젠테이션들, 또는 다른 object-consuming application을 포함할 수 있고, 이에 제한되지 않는다.
ROUTE 세션들은 일시적인 관점으로부터 경계가 있거나 경계가 없을수도 있다. ROUTE 세션은 적어도 하나의 LCT 트랜스포트 세션을 포함할 수 있다. 각각의 트랜스포트 세션은 LCT 헤더에 있는 고유한 Transport Session Identifier (TSI)에 의해서 고유하게 식별된다.
수신기가 ROUTE 세션에 참가하기 전에, 수신기는 ROUTE 세션 디스크립션 (Session Description)을 획득할 필요가 있다. ROUTE 세션 디스크립션 은 적어도 하나의 sender IP address, 세션에 대한 어드레스 및 포트 넘버 (port number), 세션이 ROUTE 세션이라는 지시, 모든 패킷들은 LCT 패킷들이라는 지시, 및/또는 IP/UDP 레벨에서 세션에 참가하고 소비하기 위해 필수적인 다른 정보들을 포함할 수 있다.
세션 디스크립션은 ROUTE 세션을 위해서 사용되는 데이터 레이트들(data rates) 및 ROUTE 세션의 지속기간(duration)에 대한 어떤 정보들을 포함할 수 있고, 이에 제한되지 않는다.
세션 디스크립션은 RFC 4566에서 정의된 Session Description Protocol (SDP)과 같은 형태일 수도 있고, RFC 3023에서 정의된 XML 메타 데이터의 형태일 수도 있다. 세션 디스크립션은 스케줄링 정보가 있는 웹 페이지에 위치한 프라프라이어테리 세선 콘트롤 프로토콜 (proprietary session control protocol)을 이용하는 세션 어나운스먼트 프로토콜 (session announcement protocol)을 통해서 전송될 수도 있다. 또한, 세션 디스크립션은 이메일 또는 다른 아웃-오브-밴드 방식으로 전송될 수 있다.
트렌스포트 세션들은 ROUTE 세션 디스크립션에서 서술되지 않고, LCT Session Instance Description (LSID)에서 서술될 수 있다. 트렌스포트 세션들(즉, LCT 트렌스포트 세션들 또는 LCT 세션들)은 소스 플로우 (Source Flow) 및 리페어 플로우 (Repair Flow) 중에서 적어도 하나를 포함할 수 있다 소스 플로우들은 소스 데이터를 전송할 수 있다. 리페어 플로우는 리페어 데이터를 전송할 수 있다.
하나의 ROUTE 세션에 포함된 적어도 하나의 LCT 트렌스포트 세션은 LCT Session Instance description (LSID)에 의해서 서술될 수 있다. 특히, LSID는 ROUTE 세션에 포함된 각각의 LCT 트렌스포트 세션에서 무엇이 전송되는지 정의할 수 있다. 각각의 트렌스포트 세션은 LCT 헤더에 있는 Transport Session Identifier (TSI)에 의해서 고유하게 식별될 수 있다.
LSID는 ROUTE 세션 내에서 전송되는 적어도 하나의 트렌스포트 세션을 서술할 수 있다. LSID는 LCT 트렌스포트 세션들을 포함하는 동일한 ROUTE 세션을 통해서 전달될 수 있고, ROUTE 세션의 외부 수단을 통해서 전달될 수 있다. 예를 들어, LSID는 유니캐스트 또는 다른 ROUTE 세션을 통해서 전달될 수 있다. 전자의 경우에, LSID는 TSI=0으로 지정된 LCT 트렌스포트 세션을 통해서 전달될 수 있고, TOI=0인 딜리버리 오브젝트를 통해서 전달될 수도 있다. TSI=0인 트렌스포트 세션을 통해서 전달되는 오브젝트에 대하여, 엔티티 모드가 사용될 수 있다. 만약 그러한 오브젝트들이 엔티티 모드를 통해서 전달되지 않으면, LSID는 수신된 오브젝트에 대한 확장된 FDT(extended FDT)를 획득하기 전에 복원되어야 한다.
LSID의 인터넷 미디어 타입(Internet Media Type)은 application/xml+route+lsid이다.
LSID는 다른 적어도 하나의 데이터 프래그먼트를 참조할 수 있다. LSID에서 참조되는 오브젝트는 TSI=0인 트렌스포트 세션을 통해서 전달될 수 있지만, LSID와는 다른 TOI값을 가져야 한다. 또한, LSID는 TSI=0이 아닌 별도의 LCT 세션을 통해서 전달될 수 있다.
LSID 엘레먼트 (element)는 버전 어트리뷰트 (version attribute), 밸리디티 어트리뷰트 (validity attribute), 및/또는 엑스퍼레이션 어트리뷰트 (expiration attribute)를 포함할 수 있다. LSID 엘레먼트는 밸리디티 어트리뷰트 (validity attribute) 및 엑스퍼레이션 어트리뷰트 (expiration attribute) 뿐만 아니라 버전 어트리뷰트 (version attribute)를 사용하여 적절하게 업데이트될 수 있다. 예를 들어, 특정 트렌스포트 세션들은 어떤 시간(some time)이 지나거나 새로운 세션이 시작되면 종료될 수 있다.
version 어트리뷰트는 LSID 엘레먼트의 버전을 지시할 수 있다. 버전은 디스크립터가 업데이트될 때 하나씩 증가될 수 있다. 가장 높은 버전 번호를 가진 수신된 LSID 엘레먼트는 현재 유효한 버전을 나타낸다.
밸리디티 어트리뷰트 (validity attribute)는 LSID 엘레먼트가 유효하게 되는 날짜 및/또는 시간을 지시할 수 있다. 밸리디티 어트리뷰트 (validity attribute)는 존재할 수도 있고, 존재하지 않을 수도 있다. 만약 밸리디티 어트리뷰트 (validity attribute)가 존재하지 않으면, 수신기는 LSID 엘레먼트 버전이 즉시 유효하다고 추정할 수 있다.
엑스퍼레이션 어트리뷰트 (expiration attribute)는 LSID 엘레먼트가 만료되는 날짜 및/또는 시간을 지시할 수 있다. 엑스퍼레이션 어트리뷰트 (expiration attribute)는 존재할 수도 있고, 존재하지 않을 수도 있다. 만약 존재하지 않으면 수신기는 LSID 엘레먼트가 모든 시간에 유효하다고 추정하거나, 수신기가 관련된 만료 값(expiration value)을 가진 새로운 LSID 엘레먼트를 수신할 때까지 유효하다고 추정할 수 있다.
LSID 엘레먼트는 적어도 하나의 트랜스포트 세션 엘레먼트 (TransportSession element)를 포함할 수 있다. 트랜스포트 세션 엘레먼트는 적어도 하나의 LCT 트랜스포트 세션 에 대한 정보를 포함할 수 있다. 각각의 트랜스포트 세션 엘레먼트는 tsi 어트리뷰트 (attribute), 소스 플로우 엘레먼트 (SourceFlow), 및/또는 리페어 플로우 엘레먼트 (RepairFlow)를 포함할 수 있다.
Tsi 어트리뷰트는 트랜스포트 세션 식별자(transport session identifier)를 명시한다. session identifier들은 0의 값을 갖지 않는다. 소스 플로우 엘레먼트 (SourceFlow)는 트랜스포트 세션을 통해서 전송되는 소스 플로우에 대한 정보를 포함할 수 있다. 리페어 플로우 엘레먼트 (RepairFlow)는 트랜스포트 세션을 통해서 전송되는 리페어 플로우 에 대한 정보를 포함할 수 있다.
그리고 나서, application layer transport 프로토콜 패킷으로 인캡슐레이션 된 데이터들은 IP/UDP 방식에 따라 패킷화될 수 있다. IP/UDP 방식에 따라 패킷화 된 데이터를 IP/UDP 데이터그램이라 할 수 있는데, IP/UDP 데이터그램은 방송 신호에 실려서 전송될 수 있다.
인터넷 망의 경우, ISO BMFF 형태로 인캡슐레이션 된 데이터들은 스트리밍 기법을 기반으로 수신측에 전달될 수 있다. 예를 들어, 스트리밍 기법은 MPEG-DASH 를 포함할 수 있다.
시그널링 데이터는 아래와 같은 방법으로 전송될 수 있다.
방송망의 경우, 시그널링 데이터는 시그널링의 속성에 따라서 차세대 방송 전송 시스템 및 방송망의 피지컬 레이어에 전달되는 트랜스 포트 프레임 또는 전송 프레임 또는 프레임의 특정 데이터 파이프 (이하 DP) 등을 통하여 전송될 수 있다. 예를 들어, 시그널링 형태는 비트 스트림 또는 IP/UDP 데이터그램으로 인캡슐레이션 된 형태일 수 있다.
인터넷망의 경우, 시그널링 데이터는 수신기의 요청에 대한 응답으로서 리턴하여 전달될 수 있다.
ESG 데이터 및 NRT 콘텐츠 데이터는 아래와 같은 방법으로 전송될 수 있다.
방송망의 경우, ESG 데이터 및 NRT 콘텐츠 데이터는 application layer transport 프로토콜 패킷으로 인캡슐레이션 될 수 있다. 그리고 나서, application layer transport 프로토콜 패킷으로 인캡슐레이션 된 데이터들은 상술한 바와 동일하게 전송될 수 있다.
인터넷망의 경우, ESG 데이터 및 NRT 콘텐츠 데이터는 수신기의 요청에 대한 응답으로서 리턴하여 전달될 수 있다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치의 피지컬 레이어(Broadcast PHY 및 Broadband PHY)는 도 1에 도시된 구조일 수 있다. 또한, 방송 신호 수신 장치의 피지컬 레이어는 도 8에 도시된 구조일 수 있다.
시그널링 데이터 및 IP/UDP 데이터그램은 피지컬 레이어에 전달되는 전송 프레임 (또는 프레임)의 특정 데이터 파이프 (이하 DP)를 통하여 전송될 수 있다. 예를 들어, 인풋 포맷 블록(1000)은 시그널링 데이터 및 IP/UDP 데이터그램을 수신하고, 각각의 시그널링 데이터 및 IP/UDP 데이터그램을 적어도 하나의 DP 로 역다중화 할 수 있다. 출력 프로세서(9300)는 인풋 포맷 블록(1000)와 상반된 동작을 수행할 수 있다.
이하에서는 상술한 ISO BMFF 형태로 인캡슐레이션 된 데이터들이 ROUTE의 트랜스포트 패킷으로 인캡슐레이션 된 경우를 중심으로 설명한다.
도 42는 본 발명의 일 실시예에 따른 파일기반 멀티미디어 콘텐츠의 데이터 구조를 나타낸 도면이다.
도 42를 참조하면, 도 42는 본 발명의 일 실시예에 따른 파일 기반 멀티미디어 콘텐츠의 데이터 구조가 도시되어 있다. 파일 기반 멀티미디어 콘텐츠란 적어도 하나의 파일로 구성되어 있는 멀티미디어 콘텐츠를 의미한다.
방송 프로그램과 같은 멀티미티어 콘텐츠는 하나의 프리젠테이션(presentation)으로 이루어질 수 있다. 프리젠테이션은 적어도 하나의 오브젝트(object)를 포함할 수 있다. 예를 들어, 오브젝트는 파일일 수 있다. 또한, 오브젝트는 적어도 하나의 프래그먼트(fragment)를 포함할 수 있다.
본 발명의 일 실시예에 따른 프래그먼트란 이전(preceding)의 데이터에 대한 의존성 없이 독립적으로 복호화 및 재생될 수 있는 데이터 단위를 의미한다. 예를 들어, 비디오 데이터를 담는 프래그먼트는 IDR Picture로 시작하며, 미디어 데이터의 파싱(parsing)을 위한 헤더(header) 데이터 또한 이전(preceding)의 프래그먼트에 대하여 의존성을 갖지 않는다. 본 발명의 일 실시예에 따른 프래그먼트는 적어도 하나의 전송 블록 단위로 분할되어 전송될 수 있다.
본 발명의 일 실시예에 따른 전송 블록은 이전(preceding)의 데이터에 대한 의존성 없이 독립적으로 부호화 및 전송될 수 있는 최소 데이터 단위를 의미한다. 또한, 전송 블록은 가변적인 크기의 GOP 단위 또는 청크 단위로 된 의미 있는 데이터 단위일 수 있다. 예를 들어, 전송 블록은 비디오 데이터의 GOP와 같이 동일한 미디어 데이터로 구성되는 적어도 하나의 청크(chunk)를 포함할 수 있다. 청크란 콘텐츠의 세그멘트를 의미할 수 있다. 또한, 전송 블록은 적어도 하나의 소스 블록을 포함할 수 있다.
GOP는 비디오 코딩에서 사용되는 코딩을 수행하는 기본 단위이며, 적어도 하나의 I-프레임을 포함하는 프레임들의 집합을 나타내는 가변적인 크기의 데이터 단위이다. 본 발명의 일 실시예에 따르면, 미디어 데이터를 독립적으로 의미 있는 데이터 단위인 오브젝트 내부 구조체의 단위로 전송하므로, GOP은 Open GOP 및 Closed GOP를 포함할 수 있다.
Open GOP에서, 하나의 GOP 내에 있는 B-프레임은 인접한 GOP의 I-프레임 또는 P-프레임을 참조할 수 있다. 따라서, Open GOP은 코딩 효율을 상당히 높일 수 있다. Closed GOP에서, B-프레임 또는 P-프레임은 해당 GOP 내에 있는 프레임 만을 참조하고, 해당 GOP외에 있는 프레임들은 참조하지 않는다.
전송 블록은 적어도 하나의 데이터를 포함할 수 있고, 각각의 데이터는 동일하거나 서로 다른 미디어 타입을 가질 수 있다. 예를 들어, 미디어 타입은 오디오 타입 및 비디오 타입을 포함할 수 있다. 즉, 전송 블록은 오디오 및 비디오의 경우처럼 서로 다른 미디어 타입을 갖는 적어도 하나의 데이터를 함께 포함할 수 있다.
본 발명의 일 실시예에 따른 프래그먼트는 프래그먼트 헤더 및 프래그먼트 페이로드를 포함할 수 있다.
프래그먼트 헤더(header)는 앞서 언급한 청크들을 파싱하기 위한 타이밍(timing) 정보 및 인덱싱(indexing) 정보 등을 포함할 수 있다. 그리고, 프래그먼트 헤더는 적어도 하나의 전송 블록으로 구성될 수 있다. 예를 들어, 프래그먼트 헤더는 하나의 전송 블록에 포함될 수 있다. 또한, 프래그먼트 페이로드를 구성하는 적어도 하나의 청크 데이터도 적어도 하나의 전송 블록에 각각 포함될 수 있다. 상술한 바와 같이, 프래그먼트 헤더 및 프레그먼트 페이로드는 적어도 하나의 전송 블록에 각각 포함될 수 있다.
본 발명의 일 실시예에 따른 전송 블록은 적어도 하나의 심볼(symbol)로 분할 될 수 있다. 적어도 하나의 심볼은 패킷화될 수 있다. 예를 들어, 본 발명의 일 실시예에 따른 방송 신호 송신 장치는 적어도 하나의 심볼을 LCT 패킷으로 패킷화 할 수 있다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치는 패킷화된 데이터를 방송 신호 수신 장치로 전송할 수 있다.
도 43은 본 발명의 일 실시예에 따른 데이터 구조를 적용한 MPEG-DASH의 미디어 세그먼트 구성을 나타낸 도면이다.
도 43을 참조하면, 본 발명의 일 실시예에 따른 데이터 구조를 MPEG-DASH의 미디어 세그먼트(Media Segment)에 적용한 실시예가 나타나 있다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치는 서버에 다수의 품질을 가진 멀티미디어 콘텐츠들을 보유하고 사용자의 방송 환경 및 방송 신호 수신 장치의 환경에 적합한 멀티미디어 콘텐츠들을 제공함으로서 끊김 없는 실시간 스트리밍 서비스를 제공할 수 있다. 예를 들어, 방송 신호 송신 장치는 MPEG-DASH를 이용하여 실시간 스트리밍 서비스를 제공할 수 있다.
방송 신호 송신 장치는 XML 형태의 MPD(Media Presentation Description) 및 이진화 포맷 형태의 전송용 멀티미디어 콘텐츠인 세그먼트(Segment)를 ROUTE 프로토콜 이용하여 방송 신호 수신 장치로 방송 환경 및 방송 신호 수신 장치의 환경에 따라서 동적으로 전송할 수 있다.
MPD는 계층적인 구조로 구성되어 있으며 각 계층별 구조적 기능 및 역할 등에 관한 정보를 포함할 수 있다.
세그먼트는 미디어 세그먼트를 포함할 수 있다. 미디어 세그먼트는 스트리밍 서비스를 지원하기 위해 방송 신호 수신 장치로 전송하고자 하는 품질별, 시간별로 분리한 미디어 관련 오브젝트 형태의 데이터 단위를 뜻한다. 미디어 세그먼트는 미디어 스트림 (Media stream)의 정보, 적어도 하나의 억세스 유닛 (Access unit), 프레젠테이션 타임 (Presentation time) 또는 인덱스 (Index)와 같은 해당 세그먼트 안의 미디어 스트림에 접근 방법에 대한 정보를 포함할 수 있다. 또한, 미디어 세그먼트는 세그먼트 인덱스 (Segment index)에 의해 적어도 하나의 서브 세그먼트 (Subsegment)로 분할될 수 있다.
MPEG-DASH 콘텐츠는 적어도 하나의 미디어 세그먼트를 포함할 수 있다. 미디어 세그먼트는 적어도 하나의 프래그먼트를 포함할 수 있다. 예를 들어, 프래그먼트는 상술한 서브세그먼트일 수 있다. 상술한 바와 같이 프래그먼트는 프래그먼트 헤더 및 프래그먼트 페이로드를 포함할 수 있다.
프래그먼트 헤더는 세그먼트 인덱스 박스(sidx) 및 무비 프래그먼트 박스(moof)를 포함할 수 있다. 세그먼트 인덱스 박스는 해당 프래그먼트 내부에 존재하는 미디어 데이터의 최초 프레젠테이션 시간 및 데이터 오프셋(offset)과 SAP(Stream Access Points) 정보 등을 제공할 수 있다. 무비 프래그먼트 박스는 미디어 데이터 박스(mdat)에 대한 메타 데이터를 포함할 수 있다. 예를 들어, 무비 프래그먼트 박스는 프래그먼트 내 미디어 데이터 샘플(sample)의 타이밍, 인덱싱, 디코딩(decoding) 정보 등을 포함할 수 있다.
프래그먼트 페이로드는 미디어 데이터 박스(mdat)를 포함할 수 있다. 미디어 데이터 박스(mdat)는 해당 미디어 구성 요소(비디오 및 오디오 등)에 대한 실제 미디어 데이터를 포함할 수 있다.
부호화된 미디어 데이터는 프래그먼트 페이로드에 해당되는 미디어 데이터 박스 (mdat)내에 청크 단위로 포함된다. 상술한 바와 같이, 동일한 트랙(track)에 해당하는 샘플들은 하나의 청크 내에 포함될 수 있다.
방송 신호 송신 장치는 프래그먼트를 분할하여 적어도 하나의 전송 블록을 생성할 수 있다. 또한, 방송 신호 송신 장치는 프래그먼트 헤더와 페이로드 데이터를 구분하기 위해 프래그먼트 헤더와 페이로드 데이터를 각각 다른 전송 블록에 포함시킬 수 있다.
또한, 방송 신호 송신 장치는 프래그먼트 페이로드 내의 데이터를 분할하여 전송하기 위해서 청크 단위로 구획된 전송 블록을 생성할 수 있다. 즉, 본 발명의 일 실시예에 따른 방송 신호 송신 장치는 청크의 경계와 전송 블록의 경계 지점이 일치하도록 전송 블록을 생성할 수 있다.
그리고 나서, 방송 신호 송신 장치는 적어도 하나의 전송 블록을 분할하여 적어도 하나의 심볼을 생성할 수 있다. 오브젝트 내의 모든 심볼의 길이는 동일 할 수 있다. 또한, 오브젝트 내의 모든 심볼의 길이를 동일하게 하기 위해서, 전송 블록의 마지막 심볼은 패딩(padding) 바이트들을 포함할 수 있다.
그리고 나서, 방송 신호 송신 장치는 적어도 하나의 심볼을 패킷화할 수 있다. 예를 들어, 방송 신호 송신 장치는 적어도 하나의 심볼들을 기초로 LCT 패킷을 생성할 수 있다.
그리고 나서, 방송 신호 송신 장치는 생성된 LCT 패킷을 전송할 수 있다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치는 프래그먼트를 생성하기 위해서 프래그먼트 페이로드를 먼저 생성한 이후에 프래그먼트 헤더를 생성한다. 이때, 방송 신호 송신 장치는 프래그먼트 페이로드 내의 미디어 데이터에 해당하는 전송 블록을 생성할 수 있다. 예를 들어, 미디어 데이터 박스(mdat)에 포함된 미디어 데이터에 해당하는 적어도 하나의 전송 블록은 청크 단위로 순차적으로 생성될 수 있다. 그리고 나서, 방송 신호 송신 장치는 프래그먼트 헤더에 해당하는 전송 블록을 생성할 수 있다.
방송 신호 송신 장치는 미디어 콘텐츠를 실시간 방송으로 전송하기 위해서 생성된 전송 블록을 생성 순서에 따라서 전송할 수 있다. 반대로, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 프래그먼트 헤더를 먼저 파싱한 이후에 프래그먼트 페이로드를 파싱한다.
방송 신호 송신 장치는 미디어 데이터가 미리 인코딩되었거나 전송 블록이 미리 생성된 경우에는 파싱 순서로 전송할 수 있다.
도 44는 본 발명의 일 실시예에 따른 파일을 전송하기 위한 LCT 패킷의 구조를 나타낸 도면이다.
애플리케이션 계층 전송 세션은 IP 주소 및 포트 번호의 조합으로 구성될 수 있다. 애플리케이션 계층 전송 세션이 ROUTE 프로토콜인 경우, ROUTE 세션은 적어도 하나의 LCT(Layered Coding Transport) 세션들로 구성될 수 있다. 예를 들어, 하나의 LCT 전송 세션을 통해 하나의 미디어 컴포넌트를 전달하는 경우, 하나의 애플리케이션 계층 전송 세션을 통하여 적어도 하나의 미디어 컴포넌트를 멀티플렉싱하여 전송할 수 있다. 또한, 하나의 LCT 전송 세션을 통하여 적어도 하나의 전송 오브젝트(Transport object)를 전달할 수 있다.
도 44를 참조하면, 애플리케이션 계층 전송 프로토콜이 LCT 기반인 경우, LCT 패킷의 각 필드는 다음과 같은 정보를 나타낸다.
LCT 패킷은 LCT version number 필드(V), Congestion control flag 필드(C), Reserved 필드(R), Transport Session Identifier flag 필드(S), Transport Object Identifier flag 필드(O), Half-word flag 필드(H), Sender Current Time present flag 필드(T), Expected Residual Time present flag 필드(R), Close Session flag 필드(A), Close Object flag 필드(B), LCT header length 필드(HDR_LEN), Codepoint 필드(CP), Congestion Control Information 필드(CCI), Transport Session Identifier 필드(TSI), Transport Object Identifier 필드(TOI), Header Extensions 필드, FEC Payload ID 필드, 및/또는 Encoding Symbol(s) 필드를 포함할 수 있다.
LCT version number 필드(V)는 프로토콜 버전 번호를 지시할 수 있다. 예를 들어, LCT version number 필드(V)는 LCT 버전 번호를 지시할 수 있다. LCT 헤더의 LCT version number 필드(V)는 ROUTE 버전 번호 필드로 해석될 수 있다. ROUTE의 버전은 함축적으로(implicitly) LCT building block의 버전 ‘1’을 사용할 수 있다. 예를 들어, 버전 번호는 ‘0001b’일 수 있다.
Congestion control flag 필드(C)는 Congestion Control Information 필드의 길이를 지시할 수 있다. C=0은 Congestion Control Information (CCI) 필드 의 길이가 32-bits를 지시할 수 있다. C=1은 Congestion Control Information (CCI) 필드 의 길이가 64-bits를 지시할 수 있다. C=2은 Congestion Control Information (CCI) 필드 의 길이가 96-bits를 지시할 수 있다. C=3은 Congestion Control Information (CCI) 필드 의 길이가 128-bits를 지시할 수 있다.
Reserved 필드(R) reserved for future use. 예를 들어, Reserved 필드(R)는 Protocol-Specific Indication 필드(PSI)일 수 있다. Protocol-Specific Indication 필드(PSI)는 LCT 상위 프로토콜에서 특정 목적의 지시자로 사용될 수 있다. PSI 필드는 현재 패킷이 소프 패킷인지 FEC 리페어 패킷인지 여부를 지시할 수 있다. ROUTE 소스 프로토콜은 오직 소스 패킷들을 전송하기 때문에, PSI 필드는 ‘10b’으로 세팅될 수 있다.
Transport Session Identifier flag 필드(S)는 Transport Session Identifier 필드의 길이를 지시할 수 있다.
Transport Object Identifier flag 필드(O)는 Transport Object Identifier 필드의 길이를 지시할 수 있다. 예를 들어, 오브젝트는 하나의 파일을 의미할 수 있고, 상기 TOI는 각 오브젝트의 식별정보로써, 상기 TOI가 0인 파일은 FDT라 한다.
Half-word flag 필드(H)는 TSI 및 TOI 필드의 길이에 half-word(16 bits)를 추가할지 여부를 지시한다.
Sender Current Time present flag 필드(T)는 Sender Current Time (SCT)가 존재하는지 여부를 지시할 수 있다. T=0은 Sender Current Time (SCT) 필드가 존재하지 않는다고 지시할 수 있다. T=1은 Sender Current Time (SCT) 필드가 존재한다고 지시할 수 있다. SCT는 송신자가 수신자에게 세션이 얼마나 오랫 동안 처리되는지를 지시하기 위해서 포함될 수 있다.
Expected Residual Time present flag 필드(R)는 Expected Residual Time (ERT) 필드가 존재하는지 여부를 지시할 수 있다. R=0은 Expected Residual Time (ERT) 필드가 존재하지 않는다고 지시할 수 있다. R=1은 Expected Residual Time (ERT) 필드가 존재한다고 지시할 수 있다. ERT는 송신자가 수신자에게 세션/오브젝트 전송이 얼마나 더 오랫 동안 계속될 것인지를 지시하기 위해서 포함될 수 있다.
Close Session flag 필드(A)는 세션이 종료 또는 종료가 임박했음을 지시한다.
Close Object flag 필드(B)는 전송 중인 오브젝트가 종료 또는 종료가 임박했음을 지시한다.
LCT header length 필드(HDR_LEN)는 32-비트 워드 단위로 LCT 헤더의 총 길이를 지시할 수 있다.
Codepoint 필드(CP)는 현재 패킷에 의해서 전송되는 페이로드의 타입을 지시할 수 있다. 페이로드의 타입에 의해서, 추가적인 페이로드 헤더는 페이로드 데이터의 앞에 추가될 수 있다.
Congestion Control Information 필드(CCI)는 layer numbers, logical channel numbers, sequence numbers 등의 Congestion Control 정보 전송에 사용된다. LCT 헤더에 있는 CCI 필드는 필요한 Congestion Control Information을 포함할 수 있다.
Transport Session Identifier 필드(TSI)는 세션의 고유 식별자이다. TSI는 특정 송신자로부터 전송되는 모든 세션들 중에서 세션을 고유하게 식별할 수 있다. TSI 필드는 ROUTE에서 트랜스포트 세을 식별할 수 있다. 트랜스포트 세의 내용은 LSID(LCT Session Instance description)에 의해서 제공될 수 있다.
LSID는ROUTE 세션의 각각의 LCT 트랜스포트 세션에서 무엇이 전송되는지를 정의할 수 있다. 각각의 트랜스포트 세션은 LCT 헤더에 있는 TSI에 의해서 고유하게 식별될 수 있다. LSID는 LCT전송 세션들을 포함하는 동일한 ROUTE 세션을 통해서 전송될 수 있으며, 통신망, 방송망, 인터넷망, 케이블망, 및/또는 위성망을 통해서도 전송될 수 있다. LSID가 전송되는 수단은 이에 한정되지 않는다. 예를 들어, LSID는 TSI의 값이 ‘0’인 특정 LCT 전송 세션을 통해서 전송될 수 있다. LSID는 ROUTE 세션으로 전송되는 모든 전송 세션에 대한 시그널링 정보를 포함할 수 있다. LSID는 LSID 버전 정보 및 LSID의 유효성에 관한 정보를 포함할 수 있다. 또한, LSID는 LCT 전송 세션에 대한 정보를 제공하는 전송 세션(transport session) 정보를 포함할 수 있다. 전송 세션 정보는 전송 세션을 식별하는 TSI 정보, 해당 TSI로 전송되며 소스 데이터가 전송되는 소스 플로우에 대한 정보를 제공하는 소스플로우(source flow) 정보, 해당 TSI로 전송되며 리페어 데이터가 전송되는 리페어 플로우에 대한 정보를 제공하는 리페어플로우(repair flow) 정보, 및 해당 전송 세션에 대한 추가적인 특성 정보를 포함하는 전송 세션 프로퍼티(transport session property) 정보를 포함할 수 있다.
TOI는 세션 내에 있는 어떤 오브젝트에 현재 패킷이 관련있는지를 지시할 수 있다. TOI 필드는 현재 세션 내에서 어떤 오브젝트에 현재 패킷의 페이로드가 속하는지를 지시할 수 있다. TOI 필드의 오브젝트에의 매핑은 Extended FDT에 의해서 제공될 수 있다.
Extended FDT는 파일 딜리버리 데이터의 구체적인 내용들을 명시할 수 있다. 이것은 확장된 FDT instance일 수 있다. extended FDT는 LCT 패킷 헤더와 함께 딜리버리 오브젝트에 대한 FDT-equivalent descriptions을 생성하는데 사용될 수 있다. Extended FDT는 내장형이거나(embedded) 참조로서 제공될 수 있다. 만약 참조로서 제공되면 Extended FDT는 LSID에 대하여 독립적으로 업데이트될 수 있다. 만약 참조되면, Extended FDT는 소스 플로우에 포함된 TOI=0인 인-밴드 오브젝트로서 제공될 수 있다.
Header Extensions 필드는 추가 정보 전송을 위한 LCT 헤더 확장 부분으로 사용된다. LCT에 있는 Header Extensions필드는 항상 사용되지는 않거나 가변적인 크기를 가지는 선택적인 헤더 필드들을 수용하기 위해서 사용될 수 있다.
예를 들어, EXT_TIME extension필드는 몇가지 타입의 타이밍 정보를 전송하기 위해서 사용될 수 있다. EXT_TIME extension필드는 일반적인 목적의 타이밍 정보, Sender Current Time (SCT), Expected Residual Time (ERT), 및/또는 Sender Last Change (SLC) time extensions를 포함할 수 있다. EXT_TIME extension는 더 좁은 적용 가능성을 가진 타이밍 정보를 위해서 사용될 수 있다. 예를 들어, EXT_TIME extension필드는 single protocol instantiation을 위해서 정의될 수 있다. 이 경우, EXT_TIME extension은 별도로 서술될 수 있다.
FEC Payload ID 필드는 전송 블록 (Transmission Block) 또는 인코딩 심볼 (encoding symbol)의 식별 정보를 포함한다. FEC Payload ID는 상기 파일이 FEC 인코딩된 경우의 식별자를 나타낸다. 예를 들어, FEC Payload ID는 상기 FLUTE 프로토콜 파일이 FEC 인코딩된 경우, 방송국 또는 방송서버가 이를 구분하기 위해 할당할 수 있다.
Encoding Symbol(s) 필드는 전송 블록 (Transmission Block) 또는 인코딩 심볼 (encoding symbol)의 데이터를 포함할 수 있다.
패킷 페이로드는 오브젝트로부터 생성된 바이트들을 포함할 수 있다. 만약 하나 이상의 오브젝트가 세션 내에서 전송되면, LCT 헤더 내에 있는 Transmission Object ID (TOI)는 패킷 페이로드 데이터가 어떤 오브젝트로부터 생성되었는지를 식별하는데 사용될 수 있다.
본 발명의 일 실시예에 따른 LCT 패킷은 Header Extensions 필드의 확장 형태인 Real Time Support Extension 필드(EXT_RTS)를 포함할 수 있다. EXT_RTS는 파일의 분할 생성 및 소비 정보를 포함할 수 있고, 이하에서는 프래그먼트 정보로 표현할 수 있다. 본 발명의 일 실시예에 따른 LCT 패킷은 Header Extensions 필드의 확장 형태로 EXT_RTS를 포함함으로서, 기존의 LCT와 호환성 있는 방법으로 실시간 파일 전송 및 소비 정보를 지원할 수 있다.
본 발명의 일 실시예에 따른 프래그먼트 정보(EXT_RTS)는 Header Extension Type 필드(HET), Fragment Start Indicator 필드(SI), Fragment Header flag 필드(FH), 및 Fragment Header Complete Indicator 필드(FC)를 포함할 수 있다.
Header Extension Type 필드(HET)는 해당 Header Extension의 타입을 지시한다. HET 필드는 8비트의 정수일 수 있다. 기본적으로 LCT에서는 HET가 0에서 127 사이의 값을 가질 경우 32-bit word 단위의 가변 길이 Header Extension이 존재하며 HET에 뒤따르는 Header Extension Length 필드(HEL)에 그 길이를 기술한다. HET가 128에서 255 사이의 값을 가질 경우 Header Extension은 32 비트 고정 길이를 갖는다.
본 발명의 일 실시예에 따른 프래그먼트 정보(EXT_RTS)는 32 비트의 고정길이를 가지므로, 128에서 255 사이의 값 중 하나의 고유 값으로 해당 Header Extension의 타입을 식별할 수 있다.
SI 필드는 해당 LCT 패킷이 프래그먼트의 시작 부분을 포함하고 있음을 지시한다. 방송환경에서 사용자가 해당 파일 기반 멀티미디어 콘텐츠가 전송되는 채널의 임의의 시점에 접근하였을 경우, 최초 수신되는 패킷 중에서 SI 필드가 0으로 설정된 패킷들은 버리고, SI 필드가 1로 설정된 패킷부터 파싱을 시작함으로써 패킷의 처리 효율을 높이고 초기 지연 시간을 단축시킬 수 있다.
FH 필드는 해당 LCT 패킷이 프래그먼트 헤더 부분을 포함하고 있음을 지시한다. 상술한 바와 같이, 프래그먼트 헤더는 생성 순서와 소비 순서가 프래그먼트 페이로드와 다른 특성을 갖고 있다. 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 FH 필드를 기초로 생성 순서대로 수신된 전송 블록들을 소비 순서에 맞게 재배열하여 프래그먼트를 재생성할 수 있게 된다.
FC 필드는 해당 패킷이 프래그먼트의 마지막 데이터를 포함하고 있음을 지시할 수 있다. 예를 들어, 프래그먼트 페이로드가 먼저 전송된 이후에 프래그먼트 헤더가 전송될 경우, FC 필드는 프래그먼트 헤더의 마지막 데이터를 포함하고 있음을 지시할 수 있다. 그리고, 프래그먼트 헤더가 먼저 전송된 이후에 프래그먼트 페이로드가 전송될 경우, FC 필드는 프래그먼트 페이로드의 마지막 데이터를 포함하고 있음을 지시할 수 있다. 이하에서는, 프래그먼트 페이로드가 먼저 전송된 이후에 프래그먼트 헤더가 전송되는 것을 중심으로 설명하기로 한다.
방송 신호 수신 장치가 FC 필드가 1로 셋팅된 패킷을 수신하면 프래그먼트 헤더의 수신이 완료되었음을 인지하고, 프래그먼트 헤더와 프래그먼트 페이로드를 조합하여 프래그먼트를 복원할 수 있다.
Padding Bytes 필드(PB)는 해당 LCT 패킷에 포함된 패딩 바이트 수를 지시한다. 기존의 LCT에서는 하나의 오브젝트에 해당하는 모든 LCT 패킷의 길이가 같아야 한다. 하지만, 본 발명의 일 실시예에 따른 데이터 구성 방안에 따라서 전송 블록을 나누게 될 때, 매 전송 블록의 마지막 심볼은 다른 길이를 갖게 될 수 있다. 따라서, 본 발명의 일 실시예에 따른 방송 신호 송신 장치는 패킷의 나머지 부분을 패딩 바이트로 채움으로서 고정길이 패킷을 사용하여 기존의 LCT와 호환성 있는 방법으로 실시간 파일 전송을 지원할 수 있다.
Reserved 필드는 미래의 사용을 위해서 보류될 수 있다.
도 45는 본 발명의 일 실시예에 따른 파일을 전송하기 위한 LCT 패킷의 구조를 나타낸 도면이다.
도 45에 개시된 부분 중에서 도 44에 개시된 부분과 동일 한 부분은 도 44에서 설명한 내용과 동일하므로, 이하에서는 차이점을 중심으로 설명하기로 한다.
도 45를 참조하면, 본 발명의 일 실시예에 따른 프래그먼트 정보(EXT_RTS)는 도 44에서 설명한 FC 필드 대신에 Fragment Header Length 필드(FHL)를 포함할 수 있다.
FHL 필드는 프래그먼트를 구성하는 심볼의 수를 지시함으로서 프래그먼트의 수신이 완료되었는지 아닌지에 대한 정보를 제공할 수 있다. FHL 필드는 프래그먼트 헤더 및 프래그먼트 페이로드를 모두 포함하는 각각의 프래그먼트에 해당하는 총 심볼의 수를 지시할 수 있다. 또한, FHL 필드는 프래그먼트 헤더 및 프래그먼트 페이로드 중에서 나중에 전송되는 것의 총 심볼의 수를 지시할 수 있다.
예를 들어, 프래그먼트 페이로드가 먼저 전송된 이후에 프래그먼트 헤더가 전송될 경우, FHL 필드는 프래그먼트 헤더에 해당하는 총 심볼의 수를 지시할 수 있다. 이 때, FHL 필드는 프래그먼트 헤더의 길이를 나타낼 수 있다.
그리고, 프래그먼트 헤더가 먼저 전송된 이후에 프래그먼트 페이로드가 전송될 경우, FHL 필드는 프래그먼트 페이로드에 해당하는 총 심볼의 수를 지시할 수 있다. 이 때, FHL 필드는 프래그먼트 페이로드의 길이를 나타낼 수 있다.
이하에서는, 프래그먼트 페이로드가 먼저 전송된 이후에 프래그먼트 헤더가 전송되는 것을 중심으로 설명하기로 한다.
본 발명의 다른 실시에에 따른 방송 신호 수신 장치는 FHL 필드에 표시된 심볼의 개수에 해당하는 프래그먼트 헤더를 포함하는 LCT 패킷을 수신할 수 있다. 방송 신호 수신 장치는 프래그먼트 헤더를 포함하는 LCT 패킷의 수신 횟수를 체크함으로써 프래그먼트 헤더의 수신이 완료됨을 식별할 수 있다. 또는, 방송 신호 수신 장치는 프래그먼트 헤더에 해당하는 전송 블록의 개수를 체크하여 프래그먼트 헤더의 수신이 완료됨을 식별할 수 있다.
도 46은 본 발명의 다른 실시예에 따른 오브젝트 타입 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
상술 한 방법에 더하여, 오브젝트 타입 정보는 LCT Header Extension 필드를 이용하여 현재 패킷이 전송하고 있는 오브젝트의 타입을 식별할 수 있다. LCT Header Extension을 이용하는 오브젝트 타입 정보는 RTP(realtime protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수 있다.
오브젝트 타입 정보는 Header Extension Type(HET) 필드, Type 필드, 및/또는 Reserved 필드를 포함할 수 있다.
HET 필드는 8비트의 정수일 수 있고, 해당 Header Extension의 타입을 지시할 수 있다. 예를 들어, HET 필드는 128에서 255 사이의 값 중에서 하나의 고유값으로 해당 Header Extension의 타입을 식별할 수 있고, 이 경우 Header Extension은 32 비트 고정 길이를 가질 수 있다.
Type 필드는 현재 LCT 패킷 또는 동일 TOI가 부여된 LCT 패킷들이 전송하고 있는 오브젝트의 타입을 지시할 수 있다. 이하에서는 Type 필드를 오브젝트 타입 정보로 표현할 수 있다. MPEG-DASH 콘텐츠를 LCT 패킷으로 전송할 경우, 오브젝트 타입 정보의 값에 따라서 오브젝트 타입은 레귤러 파일 (Regular File), 이니셜라이제이션 세그먼트, 미디어 세그먼트, 및 셀프-이니셜라이징 세그먼트를 포함할 수 있다.
예를 들면, 오브젝트 타입 정보의 값이 “0x00”이면 오브젝트 타입은 “Regular File”을 지시하고, 오브젝트 타입 정보의 값이 “0x01”이면 오브젝트 타입은 “이니셜라이제이션 세그먼트 (Initialization Segment)”를 지시하고, 오브젝트 타입 정보의 값이 “0x10”이면 오브젝트 타입은 “미디어 세그먼트 (Media Segment)”를 지시하고, 오브젝트 타입 정보의 값이 “0x11”이면 오브젝트 타입은 “셀프-이니셜라이제이션 세그먼트 (Self-Initializing Segment)”를 지시할 수 있다.
Reserved 필드는 미래의 사용을 위하여 예약된 필드일 수 있다.
이하, 구체적인 내용은 상술한 바와 동일하므로 생략하기로 한다.
도 47은 본 발명의 다른 실시예에 따른 오브젝트 타입 정보를 이용하는 방송 신호 수신 장치의 구조를 나타낸 도면이다.
방송 신호 수신 장치는 패킷 필터 (Packet filter)(C32010), 세그먼트 버퍼 (Segment buffer)세그먼트 버퍼 (세그먼트 버퍼 (Segment buffer))(C32030), 파서 (Parser)(C32050), 디코딩 버퍼 (Decoding buffer)(C32059), 및/또는 디코더 (Decoder)(C32060)를 포함할 수 있다.
패킷 필터 (Packet filter)(C32010)는 수신된 적어도 하나의 패킷으로부터 오브젝트 타입 정보를 식별하고, 오브젝트 타입 정보를 기초로 각각의 오브젝트의 타입에 해당하는 절차를 수행할 수 있도록 분류할 수 있다.
예를 들어, 오브젝트 타입 정보가 “1”이면 패킷 필터 (Packet filter)(C32010)는 LCT 패킷의 데이터를 세그먼트 버퍼 (Segment buffer) (C32031)를 통하여 이니셜라이제이션 세그먼트 파서 (Initialization Segment Parser (C32051)로 전달하고, 오브젝트 타입 정보가 “2”이면 패킷 필터 (Packet filter)(C32010)는 LCT 패킷의 데이터를 세그먼트 버퍼 (Segment buffer)세그먼트 버퍼 (세그먼트 버퍼 (Segment buffer))(C32032)를 통하여 Media Segment Parser(C32052)로 전달하고, 전송 오브젝트 타입 정보가 “3”이면 패킷 필터 (Packet filter)(C32010)는 LCT 패킷의 데이터를 세그먼트 버퍼 (Segment buffer)세그먼트 버퍼 (세그먼트 버퍼 (Segment buffer))(C32033)를 통하여 셀프-이니셜라이징 세그먼트 파서 (Self-initializing segment parser)(C32053)로 전달할 수 있다.
세그먼트 버퍼 (Segment buffer)세그먼트 버퍼 (세그먼트 버퍼 (Segment buffer))(C32030)는 패킷 필터 (Packet filter)로부터 LCT 패킷의 데이터를 전달받고 미리 정해진 시간 동안 저장할 수 있다. 세그먼트 버퍼 (Segment buffer)세그먼트 버퍼 (세그먼트 버퍼 (Segment buffer))(C32030)는 하나의 구성요소로 존재할 수 있고, 여러 개의 세그먼트 버퍼 (Segment buffer)세그먼트 버퍼 (세그먼트 버퍼 (Segment buffer))(C32031, C32032, C32033)로 존재할 수도 있다.
파서 (Parser)(C32050)는 오브젝트 타입 정보를 기초로 적어도 하나의 오브젝트를 파싱하고 레프레젠테이션에 접근하기 위한 초기화 정보 및 적어도 하나의 억세스 유닛을 생성할 수 있다. 이를 위하여, 파서 (Parser)(C32050)는 이니셜라이제이션 세그먼트 파서 (Initialization Segment Parser (C32051), Media Segment Parser(C32052), 및/또는 셀프-이니셜라이징 세그먼트 파서 (Self-initializing segment parser)(C32053)를 포함 할 수 있다.
이니셜라이제이션 세그먼트 파서 (Initialization Segment Parser (C32051)는 세그먼트 버퍼 (Segment buffer)세그먼트 버퍼 (세그먼트 버퍼 (Segment buffer))(C32031)에 저장된 이니셜라이제이션 세그먼트 를 파싱하고, 레프레젠테이션에 접근하기 위한 초기화 정보를 생성할 수 있다. 또한, 이니셜라이제이션 세그먼트 파서 (Initialization Segment Parser (C32051)는 셀프-이니셜라이징 세그먼트 파서 (Self-initializing segment parser)(C32053)로부터 이니셜라이제이션 세그먼트를 전달받고, 레프레젠테이션에 접근하기 위한 초기화 정보를 생성할 수 있다.
Media Segment Parser(C32052)는 세그먼트 버퍼 (Segment buffer)세그먼트 버퍼 (세그먼트 버퍼 (Segment buffer))(C32032)에 저장된 미디어 세그먼트를 파싱하고, 미디어 스트림의 정보, 적어도 하나의 억세스 유닛, 및 프레젠테이션 타임 (Presentation time) 또는 인덱스와 같은 해당 세그먼트 안의 미디어 프레젠테이션에 접근 방법에 대한 정보를 생성할 수 있다. 또한, Media Segment Parser(C32052)는 셀프-이니셜라이징 세그먼트 파서 (Self-initializing segment parser)(C32053)로부터 미디어 세그먼트를 전달받고 미디어 스트림의 정보, 적어도 하나의 억세스 유닛, 및 프레젠테이션 타임 (Presentation time) 또는 인덱스와 같은 해당 세그먼트 안의 Media 미디어 프레젠테이션에 접근 방법에 대한 정보를 생성할 수 있다.
셀프-이니셜라이징 세그먼트 파서 (Self-initializing segment parser)(C32053)는 세그먼트 버퍼 (Segment buffer)세그먼트 버퍼 (세그먼트 버퍼 (Segment buffer))(C32033)에 저장된 셀프-이니셜라이징 세그먼트를 파싱하고, 이니셜라이제이션 세그먼트 및 미디어 세그먼트를 생성할 수 있다.
디코딩 버퍼 (Decoding buffer)(C32059)는 파서 (Parser)(C32050) 또는 Media Segment Parser(C32052)로부터 적어도 하나의 억세스 유닛을 전달받고 미리 정해진 시간 동안 저장할 수 있다.
디코더 (Decoder)(C32060)는 초기화 정보를 기초로 해당 디코더 (Decoder)(C32060)를 초기화할 수 있다. 또한, 디코더 (Decoder)(C32060)는 적어도 하나의 오브젝트를 복호화할 수 있다. 이때, 디코더 (Decoder)(C32060)는 오브젝트에 대한 정보를 적어도 하나의 억세스 유닛의 형태로 전달받고, 디코더 (Decoder)(C32060)는 적어도 하나의 억세스 유닛을 복호화하여 미디어 데이터를 생성할 수 있다.
상술한 바와 같이, MPEG-DASH 콘텐츠를 전송할 때, 본 발명의 다른 실시예에 따른 방송 신호 송신 장치는 현재 패킷에서 전송하고 있는 오브젝트의 타입을 지시하는 오브젝트 타입 정보를 전송할 수 있다. 또한, 방송 신호 수신 장치는 오브젝트 타입 정보를 기초로 수신한 패킷에서 오브젝트의 유형을 식별하고, 각 오브젝트에 적절한 프로세스를 수행할 수 있다.
도 48은 본 발명의 다른 실시예에 따른 타입 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
방송 신호 송신 장치가 독립적으로 의미 있는 단위인 오브젝트 내부 구조체(Object Internal Structure)의 단위로 데이터를 전송하면, 가변적인 크기로 데이터를 전송할 수 있다. 따라서, 방송 신호 수신 장치가 하나의 오브젝트를 전부 수신하기 전이라도 오브젝트 내부 구조체를 수신 및 식별하면, 방송 신호 수신 장치는 오브젝트 내부 구조체 단위로 재생할 수 있다. 그 결과, 멀티미디어 콘텐츠는 방송망을 통하여 실시간으로 전송 및 재생될 수 있다. 본 발명의 다른 실시예에 따르면, 오브젝트 내부 구조체를 식별하기 위하여 타입 정보(Type information) 및 경계 정보(Boundary Information)가 이용될 수 있다.
이하에서는, 오브젝트 내부 구조체를 식별하기 위한 타입 정보에 대하여 구체적으로 설명한다.
MPEG-DASH 콘텐츠를 전송 시, 패킷 정보는 LCT Header Extension을 이용하여 타입 정보를 포함할 수 있다. 타입 정보는 현재 패킷이 전송하고 있는 오브젝트의 내부 구조체의 타입을 지시할 수 있다. 타입 정보는 오브젝트 타입 정보와 구별을 위하여 내부 구조체 타입 정보로 부를 수 있다. 타입 정보는 RTP(realtime protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수 있다.
타입 정보는 Header Extension Type 필드(HET), Internal Unit Type 필드, 및/또는 Reserved 필드를 포함할 수 있다.
HET 필드는 상술한 바와 동일하며, 구체적인 설명은 생략한다.
Internal Structure Type 필드는 LCT 패킷이 전송하고 있는 오브젝트 내부 구조체의 타입을 지시할 수 있다.
오브젝트는 MPEG-DASH의 세그먼트에 해당할 수 있는데, 오브젝트 내부 구조체는 오브젝트를 구성하는 하위 구성요소에 해당한다. 예를 들어, 오브젝트 내부 구조체의 타입은 프래그먼트, 청크(chunk) 또는 GOP, 억세스 유닛, 및 NAL Unit을 포함할 수 있다. 오브젝트 내부 구조체의 타입은 이에 한정되지 않고 의미 있는 단위들을 더 포함할 수 있다.
프래그먼트란 이전(preceding)의 데이터에 대한 의존성 없이 독립적으로 복호화 및 재생될 수 있는 데이터 단위를 의미한다. 또는, 프래그먼트는 한 쌍의 무비 프래그먼트 박스(moof) 및 미디어 데이터 컨테이너 박스(mdat)를 포함하는 데이터 단위를 의미할 수 있다. 예를 들어, 프래그먼트는 MPEG-DASH의 서브세그먼트(Subsegment)에 해당할 수 있고, MMT의 프래그먼트에 해당할 수 있다. 프래그먼트는 적어도 하나의 청크 또는 적어도 하나의 GOP를 포함할 수 있다.
Chunk는 동일한 미디어 타입을 갖는 인접된 샘플들의 집합이고, 가변적인 크기의 데이터 단위이다.
GOP는 비디오 코딩에서 사용되는 코딩을 수행하는 기본 단위이며, 적어도 하나의 I-프레임을 포함하는 프레임들의 집합을 나타내는 가변적인 크기의 데이터 단위이다. 본 발명의 다른 실시예에 따르면, 미디어 데이터를 독립적으로 의미 있는 데이터 단위인 오브젝트 내부 구조체의 단위로 전송하므로, GOP은 Open GOP 및 Closed GOP를 포함할 수 있다.
Open GOP에서, 하나의 GOP 내에 있는 B-프레임은 인접한 GOP의 I-프레임 또는 P-프레임을 참조할 수 있다. 따라서, Open GOP은 코딩 효율을 상당히 높일 수 있다. Closed GOP에서, B-프레임 또는 P-프레임은 해당 GOP 내에 있는 프레임 만을 참조하고, 해당 GOP외에 있는 프레임들은 참조하지 않는다.
억세스 유닛은 부호화된 비디오 또는 오디오의 기본 데이터 단위를 의미하고, 하나의 영상 프레임 또는 오디오 프레임을 포함할 수 있다.
NAL Unit은 네트워크 기기와의 통신을 고려하여 압축된 슬라이스에 대한 요약 정보 등이 포함되어 캡슐화된 압축된 비디오 스트림이다. 예를 들어, NAL Unit 슬라이스, 파라미터 세트, 및 SEI 등의 데이터를 바이트 단위로 패킷화한 데이터 단위일 수 있다.
Reserved 필드는 미래의 사용을 위하여 예약된 필드일 수 있다.
이하에서는, 설명의 편의를 위하여 Internal Structure Type 필드를 타입 정보로 표현할 수 있다.
도 49는 본 발명의 다른 실시예에 따른 경계 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
이하에서는, 오브젝트 내부 구조체를 식별하기 위한 경계 정보에 대하여 구체적으로 설명한다.
MPEG-DASH 콘텐츠를 전송 시, 패킷 정보는 LCT Header Extension을 이용하여 경계 정보를 포함할 수 있다. 경계 정보는 현재 패킷이 전송하고 있는 오브젝트 내부 구조체의 경계를 지시할 수 있다. 경계 정보는 RTP(realtime protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수 있다.
경계 정보는 Header Extension Type 필드(HET), Start Flag 필드(SF), Reserved 필드, 및/또는 Offset 필드를 포함할 수 있다.
HET 필드는 상술한 바와 동일하며, 구체적인 설명은 생략한다.
Start Flag 필드(SF)는 LCT 패킷이 오브젝트 내부 구조체의 시작 지점을 포함하고 있음을 지시할 수 있다.
Reserved 필드는 미래의 사용을 위하여 예약된 필드일 수 있다.
Offset 필드는 LCT 패킷 내에서 오브젝트 내부 구조체의 시작 지점의 위치를 지시하는 위치 정보를 포함할 수 있다. 위치 정보는 LCT 패킷의 페이로드 시작 지점부터 오브젝트 내부 구조체의 시작 지점까지의 바이트(byte) 거리를 포함할 수 있다.
상술한 바와 같이, 방송 신호 송신 장치는 타입 정보 및 경계 정보를 기초로 오브젝트 단위로 데이터를 전송하지 않고 가변 길이의 오브젝트 내부 구조체의 단위로 데이터를 전송할 수 있다.
방송 신호 수신 장치는 오브젝트 단위로 데이터를 수신하여 재생하지 않고 가변 길이의 오브젝트 내부 구조체의 단위로 데이터를 수신하고 재생할 수 있다. 따라서, 방송 신호 수신 장치는 타입 정보 및 경계 정보를 기초로 오브젝트 내부 구조체를 식별하고, 수신한 오브젝트 내부 구조체 별로 재생할 수 있다.
예를 들어, 방송 신호 수신 장치는 경계 정보에서 표현된 오브젝트 내부 구조체의 시작과 끝 지점에 해당하는 패킷 또는 그 사이에서 전송되는 적어도 하나의 패킷에 포함된 타입 정보를 기초로 현재 오브젝트 내부 구조체의 타입을 식별할 수 있다.
그 결과, 방송 신호 수신 장치는 하나의 오브젝트를 전부 수신하기 전이라도 오브젝트 내부 구조체를 빠르게 식별할 수 있고 실시간 재생할 수 있다.
도 50은 본 발명의 다른 실시예에 따른 매핑 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따르면, 상술한 타입 정보 및 경계 정보 외에도, 매핑 정보를 이용하여 오브젝트 내부 구조체를 식별할 수 있다.
DASH 콘텐츠를 전송 시, 패킷 정보는 LCT Header Extension을 이용하여 매핑 정보를 포함할 수 있다. 매핑 정보는 현재 패킷이 전송하고 있는 세션, 오브젝트, 및 오브젝트 내부 구조체 중에서 적어도 하나를 Transport Session Identifier(TSI) 및 Transport Object Identifier(TOI) 중에서 적어도 하나에 매핑시키는 정보이다. 매핑 정보는 RTP(realtime protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수 있다.
본 발명의 일 실시예에 따른 매핑 정보는 Header Extension Type 필드(HET), Header Extension Length 필드(HEL), 및 Uniform Resource Locator 필드(URL)를 포함할 수 있다.
HET 필드는 상술한 바와 동일하며, 구체적인 설명은 생략한다.
HEL 필드는 가변 길이의 LCT Header Extension의 전체 길이를 지시한다. 기본적으로 LCT에서는 HET가 0에서 127 사이의 값을 가질 경우 32-bit word 단위의 가변 길이 Header Extension이 존재하며, HET 필드에 뒤따르는 HEL 필드는 LCT Header Extension의 전체 길이를 32-bit word 단위로 나타낸다.
URL 필드는 가변 길이일 수 있고, 현재 전송중인 세션, 오브젝트, 및 오브젝트 내부 구조체의 인터넷 상의 고유 주소를 포함할 수 있다.
이하에서는, 설명의 편의상 URL 필드를 매핑 정보로 표현할 수 있다.
매핑 정보는 시그널링 정보의 URL을 지시할 수 있다. 또한, 매핑 정보는 세션, 오브젝트, 또는 오브젝트 내부 구조체의 고유한 주소뿐만 아니라, 시그널링 정보에서 할당된 식별자를 포함할 수 있다. 식별자는 Period ID, Adaptation Set ID, representation ID, 및 component ID를 포함할 수 있다. 따라서, MPEG-DASH 콘텐츠의 경우, 매핑 정보는 세그먼트 URL, representation ID, component ID, Adaptation Set ID, 및 Period ID 등을 포함할 수 있다.
보다 완벽한 매핑을 위하여, 본 발명의 다른 실시예에 따른 시그널링 정보는 식별자 또는 오브젝트의 URL을 TOI 또는 TSI에 각각 매핑하는 매핑 정보를 더 포함할 수 있다. 즉, 시그널링 정보는 현재 전송하고 있는 TOI 및 TSI가 식별자 또는 오브젝트의 URL 중에서 어디에 매핑되는지를 지시하는 정보를 더 포함할 수 있다. 이때, 매핑 정보는 식별자 또는 오브젝트의 URL과 TOI 또는 TSI를 1:1, 1:多, 및 多:1 중에서 하나로 매핑하는 정보일 수 있다.
도 51은 본 발명의 다른 실시예에 따른 그룹핑 정보를 포함하는 LCT 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따르면, 상술한 방법 외에도, 그룹핑 정보를 이용하여 오브젝트 내부 구조체를 식별할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷은 Session Group Identifier 필드(SGI) 및 Divided Transport Session Identifier 필드(DTSI)를 포함할 수 있다. SGI 및 DTSI는 기존의 Transport Session Identifier 필드(TSI)를 분할한 형태이다.
또한, 본 발명의 다른 실시예에 따른 LCT 패킷은 Object Group Identifier 필드(OGI) 및 Divided Transport Object Identifier 필드(DTOI)를 포함할 수 있다. OGI 및 DTOI는 기존의 Transport Object Identifier 필드(TOI)를 분할한 형태이다.
S 필드는 기존의 TSI 필드의 길이를 지시하고, O 필드는 기존의 TOI의 길이를 지시하고, H 필드는 기존의 TSI 필드 및 기존의 TOI 필드의 길이에 half-word(16 bits)를 추가할지 여부를 지시한다.
따라서, SGI 필드와 DTSI 필드의 길이의 합은 기존의 TSI 필드와 같고, S 필드와 H 필드의 값을 기초로 정해질 수 있다. 또한, OGI 필드와 DTOI 필드의 길이의 합은 기존의 TOI 필드와 같고, O 필드와 H 필드의 값을 기초로 정해질 수 있다.
본 발명의 다른 실시예에 따르면, 기존의 TSI 및 TOI를 SGI, DTSI, OGI, 및 DTOI로 세분화하고, SGI, DTSI, OGI, 및 DTOI는 각각 다른 데이터 단위를 식별할 수 있다.
SGI, DTSI, OGI, 및 DTO에 대한 구체적인 내용은 다음 도면에서 설명하기로 한다.
도 52는 본 발명의 일 실시예에 따른 세션 및 오브젝트의 그룹핑을 나타낸 도면이다.
Media Presentation Description(MPD)는 MPEG-DASH 콘텐츠를 스트리밍 서비스로 제공하기 위한 엘리먼트이다.
Media Presentation Description(MPD)는 MPEG-DASH 콘텐츠를 스트리밍 서비스로 제공하기 위한 엘리먼트이다. 예를 들어, 상술한 프리젠테이션은 하나의 서비스에 대응하는 개념이고, MPEG-DASH의 MPD 및 MMT의 패키지 (package)에 해당할 수 있다. MPD(C40000)는 적어도 하나의 피리어드 (Period)를 포함할 수 있다. 예를 들어, MPD(C40000)는 제1 피리어드(C41000) 및 제2 피리어드(C42000)를 포함할 수 있다.
피리어드 (Period)는 MPEG-DASH 콘텐츠를 재생 시간으로 구분한 엘리먼트이다. 이용 가능한 비트레이트, 언어, 캡션, 및 서브타이틀 등은 피리어드 (Period)내에서 변하지 않는다. 각 Period는 시작 시간 정보를 포함할 수 있으며, MPD 내에서 시작시간의 오름차순으로 정렬될 수 있다. 예를 들어, 제1 피리어드(C41000)는 0~30min 구간의 엘리먼트이고, 제2 피리어드(C42000)는 30~60min 구간의 엘리먼트이다. 피리어드는 하위 요소로 적어도 하나의 AdaptationSet(미도시)를 포함할 수 있다.
AdaptationSet는 상호 교체할 수 있는 인코딩된 버전의 적어도 하나의 미디어 콘텐트 컴포넌트의 집합이다. AdaptationSet은 하위 요소로 적어도 하나의 레프레젠테이션 (Representation)을 포함할 수 있다. 예를 들어, AdaptationSet은 제1 레프레젠테이션 (Representation) (C41100), 제2 레프레젠테이션 (Representation) (C41200), 및 제3 레프레젠테이션 (Representation) (C41300)을 포함할 수 있다.
레프레젠테이션 (Representation)는 적어도 하나의 미디어 콘텐트 컴포넌트의 전송 가능한 인코딩된 버전의 엘리먼트를 나타내며, 적어도 하나의 미디어 스트림을 포함할 수 있다. 미디어 콘텐트 컴포넌트는 비디오 컴포넌트, 오디오 컴포넌트, 및 캡션 컴포넌트를 포함할 수 있다. 레프레젠테이션 (Representation)은 미디어 콘텐트 컴포넌트의 품질에 대한 정보를 포함할 수 있다. 따라서, 방송 신호 수신 장치는 네트워크 환경에 적응하기 위해서 하나의 AdaptationSet 내에서 Representation을 변경할 수 있다.
예를 들어, 제1 레프레젠테이션(C41100)은 주파수의 대역폭(bandwidth)이 500kbit/s인 비디오 컴포넌트이고, 제2 레프레젠테이션(C41200)은 주파수의 대역폭(bandwidth)이 250kbit/s인 비디오 컴포넌트이고, 제3 레프레젠테이션(C41300)은 주파수의 대역폭(bandwidth)이 750kbit/s인 비디오 컴포넌트 일 수 있다. 레프레젠테이션은 하위 요소로 적어도 하나의 Segment를 포함할 수 있다. 예를 들어, 제1 레프레젠테이션(C41100)은 제1 세그먼트(C41110), 제2 세그먼트(C41120), 및 제3 세그먼트(C41130)를 포함할 수 있다.
세그먼트는 한번의 HTTP 요청으로 검색(retrieve)될 수 있는 가장 큰 데이터 단위의 엘리먼트를 나타낸다. URL은 각각의 세그먼트에 제공될 수 있다. 예를 들어, 상술한 오브젝트는 파일, 이니셜라이제이션 세그먼트 (initialization segment), 미디어 세그먼트 (Media Segment), 또는 셀프-이니셜라이징 세그먼트 (Self-Initializing Segment)에 대응하는 개념이고, MPEG-DASH의 세그먼트에 해당하고, MMT의 MPU에 해당할 수 있다. 각 세그먼트는 하위 요소로 적어도 하나의 프래그먼트를 포함할 수 있다. 예를 들어, 제2 세그먼트(C41120)는 제1 프래그먼트(C41122), 제2 프래그먼트(C41124), 및 제3 프래그먼트(C41126)를 포함할 수 있다.
프래그먼트는 이전(preceding)의 데이터에 대한 의존성 없이 독립적으로 복호화 및 재생될 수 있는 데이터 단위를 의미한다. 예를 들어, 프래그먼트는 MPEG-DASH의 서브세그먼트(Subsegment) 및 MMT의 프래그먼트에 해당할 수 있다. 프래그먼트는 적어도 하나의 청크 또는 적어도 하나의 GOP를 포함할 수 있다. 예를 들어, 제1 프래그먼트(C41122)는 프래그먼트 헤더 및 프래그먼트 페이로드를 포함할 수 있다. 프래그먼트 헤더는 세그먼트 인덱스 박스(sidx) 및 무비 프래그먼트 박스(moof)를 포함할 수 있다. 프래그먼트 페이로드는 미디어 데이터 컨테이너 박스(mdat)를 포함할 수 있다. 미디어 데이터 컨테이너 박스(mdat)는 제1 청크 내지 제5 청크를 포함할 수 있다.
청크는 동일한 미디어 타입을 갖는 인접된 샘플들의 집합이고, 가변적인 크기의 데이터 단위이다.
상술한 본 발명의 일 실시예에 따르면, TSI는 전송 세션을 식별하고, 각 레프레젠테이션은 각 TSI에 매핑될 수 있다. 또한, TOI는 전송 세션 내에 있는 전송 오브젝트를 식별하고, 각 세그먼트는 각 TOI에 매핑될 수 있다.
하지만, 본 발명의 다른 실시예에 따르면, TSI를 GSI 및 DTSI로 분할하고 TOI를 OGI 및 DTOI로 분할하여, 각각의 GSI, DTSI, GOI, 및 DTOI가 각각 새로운 데이터 단위에 매핑될 수 있으며, 이하의 실시예에 한정되지 않는다.
예를 들어, SGI는 동일한 전송 세션의 그룹을 식별하고, 각 Period는 각 SGI에 매핑될 수 있다. 제1 피리어드 (Period) (C41000)는 SGI의 값이 “1”에 매핑되고, 제2 피리어드 (Period)(C42000)은 SGI의 값이 “2”에 매핑될 수 있다. SGI의 값은 상술한 실시예에 한정되지 않으며, 피리어드 (Period)를 식별하는 값인 Period ID와 동일한 값을 가질 수 있다.
DTSI는 전송 세션을 식별하고, 각 레프레젠테이션은 각 DTSI에 매핑될 수 있다. 제1 레프레젠테이션(C41100)은 DTSI의 값이 “1”에 매핑되고, 제2 레프레젠테이션(C41200)은 DTSI의 값이 “2”에 매핑되고, 제3 레프레젠테이션(C41300)은 DTSI의 값이 “3”에 매핑될 수 있다. DTSI의 값은 상술한 실시예에 한정되지 않으며, 레프레젠테이션을 식별하는 값인 Representation ID와 동일한 값을 가질 수 있다.
OGI는 전송 세션 내에서 동일한 오브젝트의 그룹을 식별하고, 각 세그먼트는 각 OGI에 매핑될 수 있다. 제1 S세그먼트 (C41110)는 OGI의 값이 “1”에 매핑되고, 제2 세그먼트 (C41120)는 OGI의 값이 “2”에 매핑되고, 및 제3 세그먼트 (C41130)는 OGI의 값이 “3”에 매핑될 수 있다.
DTOI는 딜리버리 오브젝트(Delivery Object)를 식별할 수 있다. 하나의 딜리버리 오브젝트(Delivery Object)는 하나의 ISO BMFF file 또는 하나의 ISO BMFF file의 일부일 수 있다. 하나의 ISO BMFF file의 일부는 프래그먼트, GOP, 청크, 억세스 유닛, 및/또는 NAL Unit을 포함할 수 있다.
예를 들어, 프래그먼트 헤더, 및 프래그먼트 페이로드의 각 청크 또는 각 GOP는 각 DTOI에 매핑될 수 있다. 제1 프래그먼트(C41122)의 헤더는 DTOI의 값이 “0”에 매핑되고, 제1 프래그먼트(C41122)의 페이로드 내에 있는 제1 청크 내지 제5 청크는 DTOI의 값이 “10” 내지 “14”에 매핑될 수 있다.
DTOI의 경우, 부여된 값에 따라서 용법을 정의할 수 있다. 예를 들어, DTOI 값은 오브젝트의 배열 순서에 따라서 오름차순 또는 내림차순의 값으로 설정될 수 있다. 이 경우, 방송 신호 수신 장치는 DTOI 값을 기초로 오브젝트를 재배열하고, 프래그먼트 또는 세그먼트를 생성할 수 있다. 또한, 특정한 DTOI의 값은 프래그먼트 헤더를 지시할 수 있다. 이 경우, 방송 신호 송신 장치 또는 방송 신호 수신 장치는 해당 DTOI의 값을 기초로 프래그먼트 헤더의 전송이 완료되었는지를 판단할 수 있다.
딜리버리 오브젝트가 하나의 세그먼트를 의미할 경우, 딜리버리 오브젝트의 그룹은 DASH 레프레젠테이션과 같은 콘텐트 컴포넌트에 해당할 수 있다. 이 경우, DTOI는 세그먼트에 맵핑되고, OGI는 레프레젠테이션에 맵핑될 수 있다. 예를 들어, OGI는 representation ID, content component ID 등에 일대일 맵핑되어, 한 세션 내 전송되는 콘텐트 컴포넌트들을 멀티플렉싱/디멀티플렉싱 (multiplexing/demultiplexing) 하기 위한 정보로 활용될 수 있다.
도 53은 본 발명의 일 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
이하에서는, 오브젝트 내부 구조체의 타입이 억세스 유닛인 경우의 방송 신호 수신 장치의 동작 및 구성에 대하여 설명한다.
방송 신호 수신 장치는 패킷 디패킷타이저 (Packet Depacket-izer)r(C22020), 세그먼트 버퍼 (Segment buffer) (C32030), AU 추출부 (Extractor)(C32056), 디코딩 버퍼 (Decoding buffer)(C32059), 및/또는 디코더 (Decoder)(C32060)를 더 포함할 수 있다.
패킷 디패킷타이저 (Packet Depacket-izer)(C22020)는 적어도 하나의 패킷을 디패킷타이즈 (depacketize)하여 패킷 헤더에 포함된 패킷 정보를 추출할 수 있다. 예를 들어, 디패킷타이저 (Packet Depacket-izer)(C22020)는 패킷 헤더에 포함된 타입 정보 및 경계 정보를 추출할 수 있고, 패킷 페이로드에 포함된 적어도 하나의 심볼을 추출할 수 있다. 적어도 하나의 심볼은 오브젝트 내부 구조체를 구성하는 심볼일 수 있고, 오브젝트를 구성하는 심볼일 수 있다.
패킷 디패킷타이저 (Packet Depacket-izer) (C22020)는 추출한 적어도 하나의 오브젝트 또는 적어도 하나의 오브젝트 내부 구조체를 디코더 (Decoder)(C32060)에 전달할 수 있다.
세그먼트 버퍼 (Segment buffer) (C32030)는 패킷 디패킷타이저 (Packet Depacket-izer) (C22020)로부터 LCT 패킷의 데이터를 전달받고 미리 정해진 시간 동안 저장할 수 있다. 세그먼트 버퍼 (Segment buffer) (C32030)는 오브젝트 버퍼 (Object Buffer)(C32030)로 표현될 수 있다. 또한, 세그먼트 버퍼 (Segment buffer)세그먼트 버퍼 (세그먼트 버퍼 (Segment buffer))(C32030)는 AU 추출부 (AU Extractor)(C32056), 청크 추출부 (Chunk Extractor)(미도시), 및/또는 프래그먼트 추출부 (Fragment Extractor)(미도시)를 더 포함할 수 있다. 또한, 세그먼트 버퍼 (Segment buffer)세그먼트 버퍼 (세그먼트 버퍼 (Segment buffer))(C320300)는 프래그먼트 버퍼 (Fragment Buffer)(미도시) 및/또는 청크 버퍼 (Chunk Buffer)(미도시)를 더 포함할 수 있다.
타입 정보가 오브젝트 내부 구조체의 타입은 억세스 유닛이라고 지시하면, 세그먼트 버퍼 (Segment buffer)세그먼트 버퍼 (세그먼트 버퍼 (Segment buffer))(C32030)는 AU 추출부 (AU Extractor) (C32056)를 포함할 수 있다. 다만, 이에 한정되지 않고, AU 추출부 (AU Extractor)(C32056)는 세그먼트 버퍼 (Segment buffer)세그먼트 버퍼 (세그먼트 버퍼 (Segment buffer))(C32030)와 독립적으로 존재할 수 있다.
AU 추출부 (AU Extractor)(C32056)는 경계 정보를 기초로 세그먼트 버퍼 (Segment buffer)세그먼트 버퍼 (세그먼트 버퍼 (Segment buffer))(C32030)에 저장된 억세스 유닛을 추출할 수 있다. 예를 들어, 하나의 억세스 유닛은 경계 정보가 지시하는 억세스 유닛의 시작 지점부터 다음 억세스 유닛의 시작 지점 이전까지일 수 있다.
그리고 나서, AU 추출부 (AU Extractor)(C32056)는 추출한 억세스 유닛을 디코딩 버퍼 (Decoding buffer)(C32059)를 거쳐 디코더 (Decoder)(C32060)로 전달할 수 있다.
상술한 바와 같이, 방송 신호 수신 장치가 하나의 오브젝트를 모두 수신하지 않더라도, AU 추출부 (AU Extractor)(C32056)는 타입 정보 및 경계 정보를 기초로 해당 오브젝트의 내부 구조체의 수신이 완료되면 곧바로 오브젝트 내부 구조체를 추출하여 디코더 (Decoder)(C32060)로 전달할 수 있다.
디코딩 버퍼 (Decoding buffer)(C32059)는 세그먼트 버퍼 (Segment buffer)세그먼트 버퍼 (세그먼트 버퍼 (Segment buffer))(C32030)로부터 데이터를 전달받고 미리 정해진 시간 동안 저장할 수 있다. 억세스 유닛은 디코딩 버퍼 (Decoding buffer)(C32059) 내에서 억세스 유닛에 부여된 처리 시간에 디코더 (Decoder)(C32060) 또는 다른 구성요소로 전달될 수 있다. 이때, 억세스 유닛에 PTS(Presentation Time Stamp) 등 처리 시간에 대한 타이밍 정보는 LCT Header Extension 형태로 부여될 수 있다
디코더 (Decoder)(C32060)는 오브젝트 내부 구조체를 전달받고 타입 정보를 기초로 해당 오브젝트 내부 구조체를 디코딩할 수 있다. 이때, 디코더 (Decoder)(C32060)는 오브젝트 내부 구조체의 형태뿐만 아니라 억세스 유닛의 형태로 해당 오브젝트 내부 구조체를 전달받을 수 있다.
타입 정보가 오브젝트 내부 구조체의 타입은 억세스 유닛이라고 지시하면, 디코더 (Decoder)(C32060)는 해당 오브젝트를 모두 전달받기 전이라도 해당 오브젝트의 내부 구조체인 해당 억세스 유닛을 디코딩할 수 있다.
도 54는 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
본 도면에서 나타난 구성요소 중에서 상술한 구성요소와 동일한 부분은 내용이 동일하므로 구체적인 설명은 생략하기로 한다.
이하에서는, 오브젝트 내부 구조체의 타입이 청크 또는 GOP인 경우의 방송 신호 수신 장치의 동작 및 구성에 대하여 설명한다. 방송 신호 수신 장치는 패킷 디패킷타이저 (Packet Depacket-izer) (C22020), 세그먼트 버퍼 (Segment buffer)세그먼트 버퍼 (세그먼트 버퍼 (Segment buffer))(C32030), 청크 버퍼 (Chunk Buffer)(C32035), 디코딩 버퍼 (Decoding buffer)(C32059), 및/또는 디코더 (Decoder)(C32060)를 더 포함할 수 있다.
패킷 디패킷타이저 (Packet Depacket-izer) (C22020)는 추출한 적어도 하나의 오브젝트 또는 적어도 하나의 오브젝트 내부 구조체를 세그먼트 버퍼 (Segment buffer)세그먼트 버퍼 (세그먼트 버퍼 (Segment buffer))(C32030)를 통하여 디코더 (Decoder)(C32060)에 전달할 수 있다.
세그먼트 버퍼 (Segment buffer)세그먼트 버퍼 (세그먼트 버퍼 (Segment buffer))(C32030)는 청크 추출부 (Chunk Extractor)(C32057)를 포함할 수 있다. 또한, 세그먼트 버퍼 (Segment buffer)세그먼트 버퍼 (세그먼트 버퍼 (Segment buffer))(C32030)는 청크 버퍼 (Chunk Buffer)(C32035)를 더 포함할 수 있다.
타입 정보가 오브젝트 내부 구조체의 타입은 청크 또는 GOP라고 지시하면, 청크 추출부 (Chunk Extractor) (C32057)는 경계 정보를 기초로 세그먼트 버퍼 (Segment buffer) (C32030)에 저장된 청크 또는 GOP를 추출할 수 있다. 예를 들어, 하나의 청크 또는 GOP는 경계 정보가 지시하는 청크 또는 GOP의 시작 지점부터 다음 청크 또는 GOP의 시작지점 이전까지일 수 있다. 청크 추출부 (Chunk Extractor) (C32057)는 세그먼트 버퍼 (Segment buffer) (C32030) 내에 존재할 수도 있고, 독립적으로 존재할 수도 있다.
청크 버퍼 (Chunk Buffer) (C32035)는 적어도 하나의 청크 또는 GOP를 전달 받고, 미리 정해진 시간 동안 저장할 수 있다. 청크 버퍼 (Chunk Buffer) (C32035)는 세그먼트 버퍼 (Segment buffer)세그먼트 버퍼 (세그먼트 버퍼 (Segment buffer))(C32030) 내에 존재할 수도 있고, 독립적으로 존재할 수도 있다. 청크 버퍼 (Chunk Buffer) (C32035)는 AU 추출부 (Extractor)(C32056)를 더 포함할 수 있다.
AU 추출부 (Extractor) (C32056)는 청크 버퍼 (Chunk Buffer) (C32035)에 저장된 청크 또는 GOP로부터 적어도 하나의 억세스 유닛을 추출할 수 있다. 그리고 나서, 추출된 적어도 하나의 억세스 유닛을 디코딩 버퍼 (Decoding buffer)(C32059)를 거쳐 디코더 (Decoder)(C32060)로 전달할 수 있다.
타입 정보가 오브젝트 내부 구조체의 타입은 청크 또는 GOP라고 지시하면, 디코더 (Decoder)(C32060)는 해당 오브젝트를 모두 전달받기 전이라도 해당 오브젝트의 내부 구조체인 해당 청크 또는 GOP를 디코딩할 수 있다.
도 55는 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
본 도면에서 나타난 구성요소 중에서 상술한 구성요소와 동일한 부분은 내용이 동일하므로 구체적인 설명은 생략하기로 한다.
이하에서는, 오브젝트 내부 구조체의 타입이 프래그먼트인 경우의 방송 신호 수신 장치의 동작 및 구성에 대하여 설명한다. 방송 신호 수신 장치는 패킷 디패킷타이저 (Packet Depacket-izer) (C22020), 세그먼트 버퍼 (Segment buffer) (C32030), 프래그먼트 버퍼 (Fragment Buffer)(C32036), 오디오 디코딩 버퍼 (Audio Decoding buffer) (C32059-1), 비디오 디코딩 버퍼 (Video Decoding buffer) (C32059-2), 오디오 디코더 (Audio Decoder)(C32060-1), 및/또는 비디오 디코더 (Video Decoder)(C32060-2)를 더 포함할 수 있다.
패킷 디패킷타이저 (Packet Depacket-izer) (C22020)는 추출한 적어도 하나의 오브젝트 또는 적어도 하나의 오브젝트 내부 구조체를 오디오 디코더 (Audio Decoder) (C32060-1) 및/또는 비디오 디코더 (Video Decoder)(C32060-2)에 전달할 수 있다.
세그먼트 버퍼 (Segment buffer) (C320300)는 Fragment Extractor(C32058)를 포함할 수 있다. 또한, 세그먼트 버퍼 (Segment buffer) (C32030)는 프래그먼트 버퍼 (Fragment Buffer) (C32036)를 더 포함할 수 있다.
타입 정보가 오브젝트 내부 구조체의 타입은 프래그먼트라고 지시하면, 프래그먼트 추출부 (Fragment Extractor)(C32058)는 경계 정보를 기초로 세그먼트 버퍼 (Segment buffer) (C320300)에 저장된 프래그먼트를 추출할 수 있다. 예를 들어, 하나의 프래그먼트는 경계 정보가 지시하는 프래그먼트의 시작 지점부터 다음 프래그먼트의 시작 지점 이전까지일 수 있다. 프래그먼트 추출부 (Fragment Extractor) (C32058)는 세그먼트 버퍼 (Segment buffer)(C32030) 내에 존재할 수도 있고, 독립적으로 존재할 수도 있다.
프래그먼트 버퍼 (Fragment Buffer) (C32036)는 프래그먼트를 전달받고, 미리 정해진 시간 동안 저장할 수 있다. 프래그먼트 버퍼 (Fragment Buffer) (C32036)는 세그먼트 버퍼 (Segment buffer)(C32030) 내에 존재할 수도 있고, 독립적으로 존재할 수도 있다. 프래그먼트 버퍼 (Fragment Buffer) (C32036)는 AU 추출부 (Extractor)(C32056)를 더 포함할 수 있다. 또한, 프래그먼트 버퍼 (Fragment Buffer) (C32036)는 청크 버퍼 (Chunk Buffer)(미도시)를 더 포함할 수 있다.
AU 추출부 (Extractor)(C32056)는 프래그먼트 버퍼 (Fragment Buffer) (C32036)에 저장된 프래그먼트로부터 적어도 하나의 억세스 유닛을 추출할 수 있다. AU 추출부 (Extractor)(C32056)는 프래그먼트 버퍼 (Fragment Buffer) (C32036)내에 존재할 수도 있고, 독립적으로 존재할 수 있다. 또한, 방송 신호 수신 장치는 청크 버퍼 (Chunk Buffer) (미도시)를 더 포함하고, AU 추출부 (Extractor) (C32056)는 청크 버퍼 (Chunk Buffer) 에 포함된 청크 또는 GOP로부터 적어도 하나의 억세스 유닛을 추출할 수 있다. 그리고 나서, AU 추출부 (Extractor) (C32056)는 추출된 적어도 하나의 억세스 유닛을 오디오 디코더 (Audio Decoder) (C32060-1) 및/또는 비디오 디코더 (Video Decoder) (C32060-2)로 전달할 수 있다.
디코딩 버퍼 (Decoding buffer)는 오디오 디코딩 버퍼 (Audio Decoding buffer) (C32059-1) 및/또는 비디오 디코딩 버퍼 (Video Decoding buffer) (C32059-2)를 포함할 수 있다. 오디오 디코딩 버퍼 (Audio Decoding buffer) (C32059-1)는 오디오와 관련된 데이터를 전달받고 미리 정해진 시간 동안 저장할 수 있다. 비디오 디코딩 버퍼 (Video Decoding buffer) (C32059-2)는 비디오와 관련된 데이터를 전달받고 미리 정해진 시간 동안 저장할 수 있다.
타입 정보가 오브젝트 내부 구조체의 타입은 프래그먼트라고 지시하면, 디코더 (Decoder)는 해당 오브젝트를 모두 전달받기 전이라도 해당 오브젝트의 내부 구조체인 해당 프래그먼트를 디코딩할 수 있다. 디코더 (Decoder)는 오디오와 관련된 데이터를 디코딩하는 오디오 디코더 (Audio Decoder) (C32060-1) 및/또는 비디오와 관련된 데이터를 디코딩하는 비디오 디코더 (Video Decoder) (C32060-2)를 더 포함할 수 있다.
상술한 바와 같이, 방송 신호 송신 장치는 오브젝트 단위로 데이터를 전송하지 않고 가변 길이의 오브젝트 내부 구조체로 데이터를 전송할 수 있다. 이때, 방송 신호 송신 장치는 전송하는 오브젝트 내부 구조체의 타입 정보 및 경계 정보를 함께 전송할 수 있다.
방송 신호 수신 장치는 오브젝트 단위로 데이터를 수신하여 재생하지 않고 가변 길이의 오브젝트 내부 구조체로 데이터를 수신하고 재생할 수 있다. 따라서, 방송 신호 수신 장치는 타입 정보 및 경계 정보를 기초로 오브젝트 내부 구조체를 식별하고, 수신한 오브젝트 내부 구조체 별로 재생할 수 있다.
도 56은 본 발명의 다른 실시예에 따른 우선순위 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 패킷은 ROUTE 패킷일 수 있고, ROUTE 패킷은 ALC/LCT 패킷을 나타낼 수 있다. 다만, 이하에서는 편의상 ROUTE 패킷 및/또는 ALC/LCT 패킷을 LCT 패킷으로 부를 수 있다. The LCT packet format used by ROUTE follows the ALC packet format, i.e. the UDP header followed by the LCT header and the FEC Payload ID followed by the packet payload.
LCT 패킷은 패킷 헤더 및 패킷 페이로드를 포함할 수 있다. 패킷 헤더는 패킷 페이로드에 대한 메타데이터를 포함할 수 있다. 패킷 페이로드는 MPEG-DASH 콘텐츠의 데이터를 포함할 수 있다.
예를 들어, 패킷 헤더는 LCT version number 필드(V), Congestion control flag 필드(C), Protocol-Specific Indication 필드(PSI), Transport Session Identifier flag 필드(S), Transport Object Identifier flag 필드(O), Half-word flag 필드(H), Close Session flag 필드(A), Close Object flag 필드(B), LCT header length 필드(HDR_LEN), Codepoint 필드(CP), Congestion Control Information 필드(CCI), Transport Session Identifier 필드(TSI), Transport Object Identifier 필드(TOI), Header Extensions 필드, 및/또는 FEC Payload ID 필드를 포함할 수 있다.
또한, 패킷 페이로드는 Encoding Symbol(s) 필드를 포함할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷을 구성하는 각 필드 중에서 전술한 필드와 동일한 명칭의 필드는 전술한 내용을 모두 포함할 수 있으므로 구체적인 설명은 전술한 설명으로 대체하기로 한다.
패킷 헤더는 패킷 페이로드의 우선순위(Priority)를 지시하는 우선순위 정보(Priority)을 더 포함할 수 있다. 우선순위 정보는 각 패킷의 시작지점에서부터 12번째 및 13번째 비트에 위치하는 두 개의 비트를 활용하여 패킷 페이로드의 우선순위를 지시할 수 있다. 이 경우, 두 개의 비트를 사용하므로 패킷 헤더의 사이즈를 줄일 수 있고, 효율성을 높일 수 있다.
우선순위 정보(Priority)는 하나의 파일에 포함된 LCT 패킷들 중에서 현재 LCT 패킷에서 전송하고 있는 패킷 페이로드의 우선순위를 지시할 수 있다. 즉, 우선순위 정보는 동일한 TSI 또는 TOI가 부여된 패킷들 중에서 현재 LCT 패킷에서 전송하고 있는 패킷 페이로드의 상대적 우선순위를 지시할 수 있다.
예를 들어, 우선순위 정보는 0~3의 범위의 값을 가질 수 있다. 우선순위 정보가 낮은 값을 가질수록 패킷 페이로드가 전체 파일기반 미디어 데이터를 처리함에 있어 우선순위가 높다는 것을 지시할 수 있다. 반대로, 우선순위 정보가 높은 값을 가질수록 우선순위가 낮다는 것을 지시할 수 있다.
TSI는 LCT 트랜스포트 세션을 식별할 수 있고, TOI는 딜리버리 오브젝트(Delivery Object)를 식별할 수 있다.
각각의 ROUTE 세션은 적어도 하나의 LCT 트랜스포트 세션을 포함할 수 있다. 적어도 하나의 LCT 트랜스포트 세션은 ROUTE 세션의 부분집합일 수 있다. 미디어 딜리버리를 위하여, 하나의 LCT 트랜스포트 세션은 전형적으로, MPEG-DASH 레프레젠테이션 (Representation) 과 같은, 하나의 미디어 컴포넌트를 전송할 수 있다. 브로드캐스트 MPEG-DASH의 관점으로부터, ROUTE 세션은 적어도 하나의 DASH 미디어 프레젠테이션들 (Media Presentations)에 포함되는 적어도 하나의 미디어 컴포넌트를 전송하는 적어도 하나의 LCT 트랜스포트 세션 (transport session)의 복합체로서 간주될 수 있다. 각각의 LCT 트랜스포트 세션 내에서, 전형적으로 서로 관련된 적어도 하나의 딜리버리 오브젝트가 전송될 수 있다. 예를 들어, 하나의 레프레젠테이션에 관련되는 적어도 하나의 MPEG-DASH Segments와 같이, 서로 관련된 적어도 하나의 딜리버리 오브젝트가 각각의 LCT 트랜스포트 세션내에서 전송될 수 있다. 각각의 딜리버리 오브젝트와 함께, 적어도 하나의 딜리버리 오브젝트들이 애플리케이션들에서 사용될 수 있도록 적어도 하나의 메타데이터 프로퍼티들(metadata properties)이 전달욀 수 있다.
하나의 딜리버리 오브젝트(Delivery Object)는 하나의 ISO BMFF file 또는 하나의 ISO BMFF file의 일부일 수 있다. 하나의 ISO BMFF file의 일부는 프래그먼트, GOP, 청크, 억세스 유닛, 및/또는 NAL Unit을 포함할 수 있다.
일 실시예로, 하나의 TSI가 하나의 트랙(MPEG-DASH 레프레젠테이션)에 매칭되고, 하나의 TOI가 하나의 ISO BMFF 파일에 매칭될 수 있다. 또한, 하나의 ISO BMFF 파일은 ‘ftyp’, ‘moov’, “moof”, 및/또는 ‘mdat’를 포함할 수 있다.
‘ftyp’은 파일 타입 및 호환성(compatability)에 관한 정보를 포함하고 있는 컨테이너(container)이다. ‘moov’는 미디어 데이터를 재생하기 위한 모든 메타데이터(metadata)를 포함하는 컨테이너이다. 미디어 컨텐츠가 하나의 파일 내에서 적어도 하나의 미디어 데이터로 분할되거나, 미디어 컨텐츠가 적어도 하나의 파일로 분할된 경우, ‘moof’는 각각의 분할된 미디어 데이터에 대한 메타데이터를 포함하는 컨테이너이다. ‘mdat’은 오디오 데이터 및 비디오 데이터와 같은 미디어 데이터를 포함한다. ‘mdat’는 적어도 하나의 ‘I-프레임’, ‘P-프레임’, 및/또는 ‘B-프레임’를 포함할 수 있다.
‘I-프레임’은 MPEG에서 해당 프레임의 이전 프레임 및 이후 프레임을 사용하는 시간적 압축 기술을 사용하지 않고, 다른 프레임과는 독립적으로 공간적 압축 기술만 사용해서 만들어지는 프레임을 의미한다. ‘I-프레임’은 이미지로부터 직접 코딩하여 생성되므로 inter block들로만 구성되고 랜덤 접속 포인트(Random Access Point)으로서 역할을 할 수 있다. 또한, ‘I-프레임’은 시간적 움직임을 예측하여 만들어내는 ‘P-프레임’ 및/또는 ‘B-프레임’의 기준이 될 수 있다. 따라서, ‘I-프레임’은 자신의 프레임의 공간 잉여요소만 감소시켜 압축을 수행하기 때문에, ‘I-프레임’는 낮은 압출율을 제공한다. 즉, 압축에 따른 결과 비트 수는 다른 프레임들 보다 많은 비트 수를 필요로 한다.
‘P-프레임’은 MPEG에서 시간적으로 나중에 나오는 장면에 대해 움직임을 예측해서 만들어낸 화면을 의미한다. ‘P-프레임’은 가장 최근의 ‘I-프레임’ 및/또는 ‘B-프레임’ 를 참조하여, 화면 간 순방향 예측 만으로 다음 화면을 예측하여 얻어지는 화면이다. 따라서, ‘P-프레임’은 비교적 높은 압축율을 제공한다.
‘B-프레임’은 MPEG에서 시간적으로 예측하여 만들어내는 화면 중에서 앞 및/또는 뒤에 있는 ‘P-프레임’ 및/또는 ‘I-프레임’으로부터 양방향의 움직임을 좀더 세밀하게 예측해서 만들어내는 예측 화면을 말한다. ‘B-프레임’의 경우에는 바로 앞의 ‘I-프레임’ 및/또는 ‘P-프레임’, 현재의 프레임, 및/또는 바로 뒤에 나오는 ‘I-프레임’ 및/또는 ‘P-프레임’를 기초로 코딩 및/또는 디코딩된다. 따라서, 코딩 및/또는 디코딩 시간지연이 발생한다. 하지만, ‘B-프레임’은 가장 높은 압축율을 제공하며, ‘P-프레임’ 및/또는 ‘I-프레임’의 코딩 및/또는 디코딩의 기초가 되지 않으므로 오류를 전파하지 않는다.
전술한 바와 같이, 하나의 ISO BMFF 파일 내의 ‘ftyp’, ‘moov’, “moof”, 및/또는 ‘mdat’은 각각 우선순위가 다를 수 있다. 따라서, ‘ftyp’, ‘moov’, “moof”, 및/또는 ‘mdat’을 포함하는 패킷들은 동일한 TSI 및/또는 TOI를 갖지만, 각각의 우선순위가 다를 수 있다.
예를 들어, ‘ftyp’ 및 ‘moov’를 포함하는 패킷의 우선순위 정보는 ‘0’의 값을 가지고, ‘moof’를 포함하는 패킷의 우선순위 정보는 ‘1’의 값을 가지고, ‘I-프레임’을 포함하는 패킷의 우선순위 정보는 ‘1’의 값을 가지고, ‘P-프레임’을 포함하는 패킷의 우선순위 정보는 ‘2’의 값을 가지고, 및/또는 ‘B-프레임’을 포함하는 패킷의 우선순위 정보는 ‘3’의 값을 가질 수 있다.
이와 같이, 방송 신호 송신 장치는 AVC(Advanced Video Coding)/HEVC(High Efficiency Video Coding) 등의 비디오 데이터를 포함하는 MPEG-DASH segment들을 전송할 경우, ‘ftyp’ 및 ‘moov’를 포함하는 패킷, ‘moof’를 포함하는 패킷, ‘I-Picture’를 포함하는 패킷, ‘P-Picture’를 포함하는 패킷, 및/또는 ‘B-Picture’를 포함하는 패킷의 순서로 패킷 데이터의 처리를 위한 우선 순위를 부여할 수 있다.
또한, 네트워크 상의 중계기 및/또는 라우터 등의 중간 노드들은 우선순위 정보를 기초로 네트워크의 대역폭 및/또는 서비스의 목적에 따라 우선순위가 높은 패킷을 우선적으로 전송하고 우선순위가 낮은 패킷은 선택적으로 전송할 수 있다. 따라서, 우선순위 정보는 다양한 서비스 상황에 용이하게 적용될 수 있다.
또한, 방송 신호 수신 장치는 AVC/HEVC 등의 비디오 데이터를 수신하는 경우에, ‘ftyp’, ‘moov’, ‘moof’, ‘I-Picture’, ‘P-Picture’, 및/또는 ‘B-Picture’의 우선순위 정보를 기초로 우선순위가 높은 패킷(즉, 우선순위 정보의 값이 낮은 패킷)을 우선적으로 추출하고 우선순위가 낮은 패킷(즉, 우선순위 정보의 값이 높은 패킷)을 선택적으로 추출하여 하나의 시퀀스를 구성할 수 있다. 변형된 실시예로, 방송 신호 수신 장치는 선택적으로 프레임 레이트가 높은 시퀀스를 추출하거나 프레임 레이트가 낮은 시퀀스를 추출할 수 있다.
도 57은 본 발명의 다른 실시예에 따른 우선순위 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 패킷은 LCT 패킷일 수 있고, LCT 패킷은 해킷 헤더 및 패킷 페이로드를 포함할 수 있다. 패킷 헤더는 패킷 페이로드에 대한 메타 데이터를 포함할 수 있다. 패킷 페이로드는 MPEG-DASH 콘텐츠의 데이터를 포함할 수 있다.
예를 들어, 패킷 헤더는 LCT version number 필드(V), Congestion control flag 필드(C), Protocol-Specific Indication 필드(PSI), Transport Session Identifier flag 필드(S), Transport Object Identifier flag 필드(O), Half-word flag 필드(H), Close Session flag 필드(A), Close Object flag 필드(B), LCT header length 필드(HDR_LEN), Codepoint 필드(CP), Congestion Control Information 필드(CCI), Transport Session Identifier 필드(TSI), Transport Object Identifier 필드(TOI), Header Extensions 필드, 및/또는 FEC Payload ID 필드를 포함할 수 있다.
또한, 패킷 페이로드는 Encoding Symbol(s) 필드를 포함할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷을 구성하는 각 필드 중에서 전술한 필드와 동일한 명칭의 필드는 전술한 내용을 모두 포함할 수 있으므로 구체적인 설명은 전술한 설명으로 대체하기로 한다.
패킷 헤더는 패킷 페이로드의 우선순위(Priority)를 지시하는 우선순위 정보(EXT_TYPE)을 더 포함할 수 있다. 우선순위 정보(EXT_TYPE)는 LCT Header Extension을 이용하여 현재 패킷이 전송하고 있는 패킷 페이로드의 상대적 우선순위를 지시할 수 있다. LCT Header Extension을 이용하는 경우, LCT Header Extension을 지원하지 않는 방송 신호 수신 장치에서는 우선순위 정보(EXT_TYPE)를 스킵하면 되므로 확장성을 높일 수 있다. LCT Header Extension을 이용하는 우선순위 정보(EXT_TYPE)는 RTP(realtime protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수 있다.
우선순위 정보(EXT_TYPE)는 Header Extension Type(HET) 필드, Priority 필드, 및/또는 Reserved 필드를 포함할 수 있다. 실시예에 따라서, 우선순위 정보(EXT_TYPE)는 Priority 필드 만을 지시할 수 있다.
HET 필드는 8비트의 정수일 수 있고, 해당 Header Extension의 타입을 지시할 수 있다. 예를 들어, HET 필드는 128에서 255 사이의 값 중에서 하나의 고유값으로 해당 Header Extension의 타입을 식별할 수 있고, 이 경우 Header Extension은 32 비트 고정 길이를 가질 수 있다.
Priority 필드는 하나의 파일에 포함된 LCT 패킷들 중에서 현재 LCT 패킷에서 전송하고 있는 패킷 페이로드의 우선순위를 지시할 수 있다. 또한, Priority 필드는 동일한 TSI 또는 TOI가 부여된 패킷들 중에서 현재 LCT 패킷에서 전송하고 있는 패킷 페이로드의 상대적 우선순위를 지시할 수 있다.
예를 들어, 우선순위 정보는 0~255의 범위의 값을 가질 수 있다. 우선순위 정보가 낮은 값을 가질수록 패킷 페이로드가 전체 파일기반 미디어 데이터를 처리함에 있어 우선순위가 높다는 것을 지시할 수 있다.
예를 들어, ‘ftyp’ 및 ‘moov’를 포함하는 패킷의 우선순위 정보는 ‘0’의 값을 가지고, ‘moof’를 포함하는 패킷의 우선순위 정보는 ‘1’의 값을 가지고, ‘I-프레임’을 포함하는 패킷의 우선순위 정보는 ‘2’의 값을 가지고, ‘P-프레임’을 포함하는 패킷의 우선순위 정보는 ‘3’의 값을 가지고, 및/또는 ‘B-프레임’을 포함하는 패킷의 우선순위 정보는 ‘4’의 값을 가질 수 있다.
Reserved 필드는 미래의 사용을 위하여 예약된 필드일 수 있다.
이하, 구체적인 내용은 전술한 내용과 동일하므로 생략하기로 한다.
도 58은 본 발명의 다른 실시예에 따른 오프셋 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 패킷은 LCT 패킷일 수 있고, LCT 패킷은 해킷 헤더 및 패킷 페이로드를 포함할 수 있다. 패킷 헤더는 패킷 페이로드에 대한 메타 데이터를 포함할 수 있다. 패킷 페이로드는 MPEG-DASH 콘텐츠의 데이터를 포함할 수 있다.
예를 들어, 패킷 헤더는 LCT version number 필드(V), Congestion control flag 필드(C), Protocol-Specific Indication 필드(PSI), Transport Session Identifier flag 필드(S), Transport Object Identifier flag 필드(O), Half-word flag 필드(H), Reserved 필드(Res), Close Session flag 필드(A), Close Object flag 필드(B), LCT header length 필드(HDR_LEN), Codepoint 필드(CP), Congestion Control Information 필드(CCI), Transport Session Identifier 필드(TSI), Transport Object Identifier 필드(TOI), Header Extensions 필드, 및/또는 FEC Payload ID 필드를 포함할 수 있다.
또한, 패킷 페이로드는 Encoding Symbol(s) 필드를 포함할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷을 구성하는 각 필드 중에서 전술한 필드와 동일한 명칭의 필드는 전술한 내용을 모두 포함할 수 있으므로 구체적인 설명은 전술한 설명으로 대체하기로 한다.
패킷 헤더는 오프셋 정보를 더 포함할 수 있다. 오프셋 정보는 현재 패킷이 전송하고 있는 패킷 페이로드의 파일 내에서의 오프셋을 지시할 수 있다. 오프셋 정보는 오프셋을 파일의 시작 지점으로부터의 바이트 수로 지시할 수 있다. 오프셋 정보는 LCT Header Extension의 형식일 수도 있고, FEC Payload ID 필드에 포함될 수도 있다.
일 실시예로, LCT 패킷이 LCT Header Extension의 형식으로 오프셋 정보(EXT_OFS)를 포함하는 경우를 설명한다.
LCT Header Extension을 이용하는 경우, LCT Header Extension을 지원하지 않는 수신기에서는 오프셋 정보(EXT_OFS)를 스킵하면 되므로 확장성을 높일 수 있다. LCT Header Extension을 이용하는 오프셋 정보(EXT_OFS)는 RTP(realtime protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수 있다.
오프셋 정보(EXT_OFS)는 Header Extension Type 필드(HET), Header Extension Length 필드(HEL), 및 Start Offset 필드(Start Offset)를 포함할 수 있다. 실시예에 따라서, 오프셋 정보(EXT_OFS)는 Start Offset 필드(Start Offset) 만을 지시할 수 있다.
HET 필드는 상술한 바와 동일하며, 구체적인 설명은 생략한다.
HEL 필드는 가변 길이의 LCT Header Extension의 전체 길이를 지시한다. 기본적으로 LCT에서는 HET가 0에서 127 사이의 값을 가질 경우 32-bit word 단위의 가변 길이 Header Extension이 존재하며, HET 필드에 뒤따르는 HEL 필드는 LCT Header Extension의 전체 길이를 32-bit word 단위로 나타낸다.
Start Offset 필드는 가변 길이일 수 있고, 현재 패킷이 전송하고 있는 패킷 페이로드의 파일 내에서의 오프셋을 지시할 수 있다. Start Offset 필드는 오프셋을 파일의 시작 지점으로부터의 바이트 수로 지시할 수 있다.
LCT 패킷은 LCT Header Extension의 형식뿐만 아니라, FEC Payload ID 필드에 오프셋 정보(Start Offset)를 포함할 수 있다. 이하에서는, LCT 패킷이 오프셋 정보가 FEC Payload ID 필드에 포함되는 경우를 설명한다.
FEC Payload ID 필드는 FEC 디코더에게 특정 패킷을 통해서 전송되는 엔코딩 심볼과 FEC 엔코딩 트랜스포메이션(FEC encoding transformation) 사이의 관계를 지시하기 위한 정보를 포함할 수 있다. 예를 들어, 만약 패킷이 적어도 하나의 소스 심볼을 전송하면, FEC Payload ID 필드는 오브젝트의 어떤 소스 심볼들이 패킷에 의해서 전송되는지를 지시할 수 있다. 만약 패킷들이 적어도 하나의 리페어 심볼을 전송하면, FEC Payload ID는 어떻게 적어도 하나의 리페어 심볼이 오브젝트로부터 구성되었는지를 지시할 수 있다.
또한, FEC Payload ID 필드는 더 큰 그룹의 엔코딩 심볼들에 대한 정보를 포함할 수 있다. 패킷에 포함된 encoding symbols 들은 encoding symbols의 더 큰 그룹의 일부일 수 있다. 예를 들어, FEC Payload ID 필드는 적어도 하나의 심볼들과 관련이 있는 소스 블록에 대한 정보를 포함할 수 있다.
FEC Payload ID 는 Source Block Number(SBN) 및/또는 Encoding Symbol ID(ESI)을 포함할 수 있다. SBN는 패킷 내에 있는 적어도 하나의 엔코딩 심볼과 관련이 있는 소스 블록에 대한 식별자이다. ESI는 패킷 내에 있는 엔코딩 심볼에 대한 식별자 이다.
본 발명의 다른 실시예에 따른 FEC Payload ID 필드는 오프셋 정보(Start Offset)를 더 포함할 수 있다.
A FEC Payload ID 필드 is used that specifies the starting address in octets of the delivery object. This information may be sent in several ways.
FEC Payload ID 필드는 딜리버리 오브젝트의 시작 주소(starting address in octets)를 명시하기 위해서 사용될 수 있다. FEC Payload ID 필드는 다양한 방식으로 전송될 수 있다.
첫째, FEC Payload ID 필드는 FEC Payload ID의 크기가 0으로 설정된 단일한 새로운 FEC 스킴으로 전송될 수 있다(A simple new FEC scheme with FEC Payload ID set to size 0). 이 경우, 패킷은 32 비트를 사용하여 직접 주소(start offset)로서 전체 오브젝트를 포함할 수 있다.
둘째, FEC Payload ID 필드는 RFC 6330에 대하여 호환성 있는 방식으로 RFC 5445에서 정의된 Compact No-Code를 사용하여 효율적으로 사용될 수 있는 기존의 FEC 스킴으로 전송될 수 있다. 이 경우, SBN 및 ESI는 심볼 사이즈 “T”와 함께 start offset를 정의할 수 있다(Second, Existing FEC schemes that are widely deployed using the Compact No-Code as defined in RFC 5445 in a compatible manner to RFC 6330 where the SBN and ESI defines the start offset together with the symbol size T).
셋째, LSID는 @sourceFecPayloadID 어트리뷰트 및 FECParameters 엘레먼트.를 사용하여 위의 어떠한 모드들을 시그널하기 위한 적절한 시그널링을 제공할 수 있다.
이하에서는, 오프셋 정보의 구체적인 내용을 설명한다.
종래의 FLUTE 프로토콜에서는 오프셋 정보를 전송할 필요가 없었다. 종래의 FLUTE 프로토콜은 오브젝트(예를 들어, 파일)를 비실시간으로 전송하므로, 하나의 오브젝트를 고정 크기의 적어도 하나의 데이터로 분할하여 전송하였다.
예를 들어, 종래의 FLUTE 프로토콜에서는 하나의 오브젝트를 고정 크기의 적어도 하나의 소스 블록(Source Block)으로 분할하고, 각각의 소스 블록을 고정 크기의 적어도 하나의 심볼로 분할하고, 각각의 심볼에 헤더를 추가하여 LCT 패킷(또는 FLUTE 패킷)을 생성하였다. 종래의 FLUTE 프로토콜은 하나의 LCT 패킷은 하나의 고정 크기의 심볼만을 포함할 수 있었다.
각각의 소스 블록 및/또는 심볼이 고정 크기이므로, 수신기는 소스 블록 및/또는 심볼의 식별 정보를 기초로 오브젝트 내에서 각각의 소스 블록 및/또는 심볼의 위치를 인식할 수 있었다. 따라서, 수신기는 하나의 오브젝트를 구성하는 모든 소스 블록 및/또는 심볼을 수신한 후에, 수신한 소스 블록 및/또는 심볼의 식별 정보를 기초로 오브젝트를 재구성할 수 있었다.
종래의 FLUTE 프로토콜이 오브젝트를 비실시간으로 전송하는 것에 반하여, 본 발명의 다른 실시예에 따른 ROUTE 프로토콜은 오브젝트를 가변적인 크기의 딜리버리 오브젝트(Delivery Object)로 분할하고, 딜리버리 오브젝트 단위로 실시간으로 전송할 수 있다. 예를 들어, ROUTE 프로토콜은 오브젝트를 가변적인 크기의 오브젝트 내부 구조체(Object Internal Structure) 단위로 데이터를 전송할 수도 있다.
하나의 딜리버리 오브젝트(Delivery Object)는 하나의 ISO BMFF file 또는 하나의 ISO BMFF file의 일부일 수 있다. 하나의 ISO BMFF file의 일부는 프래그먼트, GOP, 청크, 억세스 유닛, 및/또는 NAL 유닛을 포함할 수 있다. 하나의 ISO BMFF file의 일부는 전술한 오브젝트 내부 구조체를 의미할 수 있다. 오브젝트 내부 구조체는 독립적으로 의미 있는 데이터 단위이며, 오브젝트 내부 구조체의 타입은 이에 한정되지 않고 의미 있는 단위들을 더 포함할 수 있다.
또한, 본 발명의 다른 실시예에 따른 LCT 패킷에서, 각각의 LCT 패킷(ALC/LCT 패킷, 또는 ROUTE 패킷)은 적어도 하나의 인코딩 심볼을 포함할 수 있다. 즉, 본 발명의 다른 실시예에 따른 ROUTE 프로토콜에서, 하나의 LCT 패킷에 복수의 인코딩 심볼을 포함할 수 있다. 또한, 각각의 인코딩 심볼은 가변적인 크기일 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷에서, 각각의 TSI는 각각의 트랙에 매칭될 수 있다. 예를 들어, 각각의 TSI는 비디오 트랙, 오디오 트랙, 및/또는 MPEG-DASH의 레프레젠테이션 중에서 하나에 매칭될 수 있다. 또한, 각각의 TOI는 각각의 딜리버리 오브젝트(Delivery Object)에 맵핑될 수 있다. 예를 들어, TOI가 MPEG-DASH의 세그먼트에 맵핑되는 경우, 딜리버리 오브젝트는 ISO BMFF 파일 일 수 있다. 또한, 각각의 TOI는 프래그먼트, 청크(chunk), GOP, 억세스 유닛, 및/또는 NAL Unit 중에서 하나에 맵핑될 수 있다.
수신기가 가변적인 크기의 딜리버리 오브젝트의 단위로 실시간으로 LCT 패킷을 수신하는 경우, 수신기는 수신한 LCT 패킷이 오브젝트 내에서 어느 위치에 해당하는지를 인식할 수 없는 경우가 발생한다. 예를 들어, 수신기가 임의적인 순서로 LCT 패킷을 수신하는 경우, 수신기는 LCT 패킷을 순서대로 정렬할 수 없고, 딜리버리 오브젝트를 정확하게 복원 및/또는 파싱할 수 없는 경우가 발생한다.
따라서, 본 발명의 다른 실시예에 따른 오프셋 정보는 파일(예를 들어, 오브젝트) 내에서 현재 전송중인 패킷 페이로드의 오프셋을 지시할 수 있다. 수신기는 오프셋 정보를 기초로 현재 전송 중인 패킷이 해당 파일의 처음 데이터를 가지고 있음을 인식할 수 있다. 또한, 수신기는 오프셋 정보를 기초로 해당 딜리버리 오브젝트 내에서 현재 전송 중인 패킷의 순서를 인식할 수 있다. 또한, 수신기는 오프셋 정보를 기초로 현재 패킷이 전송하고 있는 패킷 페이로드의 파일 내에서의 오프셋을 인식할 수 있을 뿐만 아니라, 현재 패킷이 전송하고 있는 딜리버리 오브젝트의 파일 내에서의 오프셋도 인식할 수 있다.
예를 들어, TSI는 비디오 트랙(MPEG-DASH 레프레젠테이션)에 매칭되고, TOI는 ISO BMFF 파일(예를 들어, 오브젝트)에 매칭될 수 있다. 이 경우, 딜리버리 오브젝트(Delivery Object)는 ISO BMFF 파일을 나타낼 수 있다. 하나의 비디오 트랙(MPEG-DASH 레프레젠테이션, TSI=1)은 제1 오브젝트(TSI=1, TOI=1) 및 제2 오브젝트(TSI=1, TOI=2)를 포함할 수 있다. 제1 오브젝트(TSI=1, TOI=1)는 순차적으로 제1 패킷(TSI=1, TOI=1, Start Offset=0), 제2 패킷(TSI=1, TOI=1, Start Offset=200), 제3 패킷(TSI=1, TOI=1, Start Offset=400), 제4 패킷(TSI=1, TOI=1, Start Offset=800), 및/또는 제5 패킷(TSI=1, TOI=1, Start Offset=1000)을 포함할 수 있다.
이 경우, 오프셋 정보(Start Offset)의 값이 ‘0’이면, 해당 패킷의 패킷 페이로드는 해당 파일의 처음 데이터를 가지고 있을 수 있다. 제1 패킷의 오프셋 정보(Start Offset)의 값이 ‘0’이므로, 수신기는 제1 패킷의 패킷 페이로드는 제1 오브젝트의 처음 데이터를 가지고 있다고 인식할 수 있다.
또한, 오프셋 정보(Start Offset)의 값은 해당 오브젝트 내에서 패킷의 순서를 지시할 수 있다. 제1 오브젝트 내에서 제1 패킷의 오프셋 정보부터 제5 패킷의 오프셋 정보가 순차적으로 증가하므로, 수신기는 제1 오브젝트 내에서 제1 패킷 내지 제5 패킷이 순차적으로 배열된다는 것을 인식할 수 있다.
따라서, 수신기는 오프셋 정보를 기초로 각각의 오브젝트 내에서 수신한 LCT 패킷들을 순차적으로 정렬하고, 각각의 딜리버리 오브젝트 및/또는 오브젝트를 정확하게 복원할 수 있다. 또한, 수신기는 오프셋 정보를 기초로 각각의 딜리버리 오브젝트 및/또는 오브젝트를 정확하게 파싱 및/또는 디코딩할 수 있다.
한편, 수신기가 가변적인 크기의 딜리버리 오브젝트의 단위로 실시간으로 LCT 패킷을 수신하는 경우, 수신기는 수신한 LCT 패킷이 오브젝트(예를 들어, 파일) 내에서 어느 위치에 해당하는지 인식할 수 없는 경우가 발생한다. 예를 들어, LCT 패킷이 임의적인 순서로 전송되면, 수신기는 수신한 LCT 패킷의 오브젝트 내에서의 정확한 오프셋을 알 수 없으므로, LCT 패킷을 수집하여 딜리버리 오브젝트 및/또는 오브젝트를 정확하게 복원할 수 없는 문제가 발생할 수 있다.
예를 들어, TSI는 비디오 트랙(MPEG-DASH 레프레젠테이션)에 매칭되고, TOI는 청크에 매칭될 수 있다. 이 경우, 하나의 비디오 트랙(MPEG-DASH 레프레젠테이션, TSI=1)은 제1 오브젝트(TSI=1) 및 제2 오브젝트(TSI=1)를 포함할 수 있다. 또한, 제1 오브젝트는 제1 청크(TSI=1, TOI=1), 제2 청크(TSI=1, TOI=2), 및/또는 제3 청크(TSI=1, TOI=3)를 포함하고, 제2 오브젝트는 제4 청크(TSI=1, TOI=4) 및/또는 제5 청크(TSI=1, TOI=5)를 포함할 수 있다.
수신기는 제1 청크를 포함하는 제1 패킷(TSI=1, TOI=1, Start Offset=0), 제2 청크를 포함하는 제2 패킷(TSI=1, TOI=2, Start Offset=200), 제3 청크를 포함하는 제3 패킷(TSI=1, TOI=3, Start Offset=1000), 제4 청크를 포함하는 제4 패킷(TSI=1, TOI=4, Start Offset=0), 및/또는 제5 청크를 포함하는 제5 패킷(TSI=1, TOI=5, Start Offset=1000)을 수신할 수 있다. 여기에서는 하나의 패킷이 하나의 청크를 포함하는 것으로 설명하였지만, 하나의 청크가 적어도 하나의 패킷을 포함할 수 있다.
TOI가 오브젝트(예를 들어, 파일)에 매칭되는 것이 아니라 오브젝트 보다 작은 데이터 단위인 오브젝트 내부 구조체에 매칭되면, 수신기는 오브젝트를 식별할 수 있는 별도의 정보가 없는 한 오브젝트를 식별할 수 없다.
따라서, 수신기는 TSI 및 TOI 만으로는 수신한 제1 패킷, 2 패킷 및/또는 제3 패킷이 제1 오브젝트에 속하는지 제2 오브젝트에 속하는지 여부를 정확히 알 수 없다. 또한, 수신기는 TSI 및 TOI 만으로는 수신한 제4 패킷 및/또는 제5 패킷이 제1 오브젝트에 속하는지 제2 오브젝트에 속하는지 여부를 알 수 없다.
즉, 수신기는 제1 패킷 내지 제5 패킷이 순차적으로 배열되는 것은 TSI 및 TOI 를 기초로 식별할 수 있지만, 제3 패킷이 제1 오브젝트에 속하는지 제2 오브젝트에 속하는지는 TSI 및 TOI 만으로는 식별할 수 없다. 또한, 제4 패킷이 제3 패킷의 다음 패킷이라는 것은 TSI 및 TOI를 기초로 식별할 수 있지만, 제4 패킷이 제1 오브젝트에 속하는지 제2 오브젝트에 속하는지는 TSI 및 TOI만으로는 식별할 수 없다.
이 경우, 수신기는 제1 패킷, 제2 패킷, 및/또는 제3 패킷을 수신하더라도, 제1 오브젝트를 정확하게 복원할 수 없다. 또한, 수신기는 제4 패킷 및/또는 제5 패킷을 수신하더라도, 제2 오브젝트를 정확하게 복원할 수 없다. 그 결과, 수신기는 실시간으로 콘텐츠를 재생할 수 없게 된다.
따라서, 본 발명의 다른 실시예에 따른 LCT 패킷은 오프셋 정보(Start Offset)를 제공하는 것을 특징으로 한다. 오프셋 정보는 오브젝트 내에서 현재 전송 중인 패킷 페이로드의 오프셋을 지시할 수 있다. 수신기는 오프셋 정보를 기초로 동일한 오브젝트 내에 포함되는 오브젝트 내부 구조체 및/또는 패킷들을 식별할 수 있다.
오프셋 정보의 값이 ‘0’이면, 해당 패킷은 해당 오브젝트의 처음 패킷 임을 나타낸다. 즉, 제1 패킷 및 제4 패킷의 오프셋 정보는 ‘0’이므로, 제1 패킷 및 제4 패킷은 각각 다른 오브젝트에 속하고, 각각 해당 오브젝트의 맨 처음 패킷을 나타낸다. 또한, 수신기는 오프셋 정보뿐만 아니라 TSI 및/또는 TOI를 기초로 제1 패킷, 제2 패킷, 및/또는 제3 패킷은 제1 오브젝트에 속하고, 제4 패킷 및/또는 제5 패킷은 제2 오브젝트에 속한다는 것을 식별할 수 있다.
따라서, 수신기는 TSI, TOI, 및/또는 오프셋 정보 중에서 적어도 하나를 기초로 수신한 LCT 패킷이 각각의 오브젝트 내에서 어느 위치에 해당하는 지를 식별하고, 수신한 LCT 패킷을 순서대로 정렬할 수 있다. 예를 들어, 수신기는 오프셋 정보 및 TOI가 순차적으로 증가하도록 패킷들을 정렬할 수 있다.
그리고 나서, 수신기는 오프셋 정보가 ‘0’인 패킷부터 다음의 오프셋 정보가 ‘0’인 패킷의 이전 패킷을 하나의 오브젝트로 식별할 수 있다. 그리고, 수신기는 TOI를 기초로 하나의 오브젝트 내에서 딜리버리 오브젝트 및/또는 오브젝트 내부 구조체를 식별할 수 있다.
또한, 수신기는 각각의 딜리버리 오브젝트 및/또는 각각의 오브젝트를 정확하게 복원할 수 있다.
또한, 수신기는 TSI, TOI, 및/또는 오프셋 정보 중에서 적어도 하나를 기초로 각각의 딜리버리 오브젝트 및/또는 각각의 오브젝트를 정확하게 파싱 및/또는 디코딩할 수 있다.
전술한 바와 같이, 송신기가 독립적으로 의미 있는 단위인 오브젝트 내부 구조체(Object Internal Structure)의 단위로 데이터를 전송하면, 가변적인 크기로 데이터를 실시간으로 전송할 수 있다. 따라서, 수신기는 하나의 오브젝트를 전부 수신하기 전이라도 오브젝트 내부 구조체를 수신 및 식별하면, 수신기는 오브젝트 내부 구조체 단위로 재생할 수 있다. 그 결과, 파일(또는 오브젝트) 기반의 멀티미디어 콘텐츠는 방송망을 통하여 실시간으로 전송 및 재생될 수 있다.
도 59는 본 발명의 다른 실시예에 따른 RAP (Random Access Point) 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 패킷은 LCT 패킷일 수 있고, LCT 패킷은 해킷 헤더 및 패킷 페이로드를 포함할 수 있다. 패킷 헤더는 패킷 페이로드에 대한 메타 데이터를 포함할 수 있다. 패킷 페이로드는 MPEG-DASH 콘텐츠의 데이터를 포함할 수 있다.
예를 들어, 패킷 헤더는 LCT version number 필드(V), Congestion control flag 필드(C), Protocol-Specific Indication 필드(PSI), Transport Session Identifier flag 필드(S), Transport Object Identifier flag 필드(O), Half-word flag 필드(H), Reserved 필드(Res), Close Session flag 필드(A), Close Object flag 필드(B), LCT header length 필드(HDR_LEN), Codepoint 필드(CP), Congestion Control Information 필드(CCI), Transport Session Identifier 필드(TSI), Transport Object Identifier 필드(TOI), Header Extensions 필드, 및/또는 FEC Payload ID 필드를 포함할 수 있다.
또한, 패킷 페이로드는 Encoding Symbol(s) 필드를 포함할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷을 구성하는 각 필드 중에서 전술한 필드와 동일한 명칭의 필드는 전술한 내용을 모두 포함할 수 있으므로 구체적인 설명은 전술한 설명으로 대체하기로 한다.
패킷 헤더는 RAP(Random Access Point) 정보(P)를 더 포함할 수 있다. RAP 정보(P)는 현재 패킷이 전송하고 있는 패킷 페이로드에 랜덤 액세스 포인트(RAP)에 해당하는 데이터가 포함되어 있는지 여부를 지시할 수 있다. RAP 정보(P)는 각 패킷의 시작 지점에서부터 12번째 또는 13번째 비트에 위치하는 한 개의 비트를 활용하여 현재 패킷이 전송하고 있는 패킷 페이로드에 랜덤 액세스 포인트(RAP)에 해당하는 데이터가 포함되어 있는지 여부를 지시할 수 있다 이 경우, 한 개의 비트를 사용하므로 패킷 헤더의 사이즈를 줄일 수 있고, 효율성을 높일 수 있다.
랜덤 엑세스 포인트(RAP)는 다른 프레임을 참조하지 않고 부호화 될 수 있고, 랜덤 엑세스가 가능한 기본 프레임을 의미한다. 예를 들어, ‘I-프레임’은 MPEG에서 해당 프레임의 이전 프레임 및 이후 프레임을 사용하는 시간적 압축 기술을 사용하지 않고, 다른 프레임과는 독립적으로 공간적 압축 기술만 사용해서 만들어지는 프레임을 의미한다. 따라서, ‘I-프레임’은 이미지로부터 직접 코딩하여 생성되므로 inter block들로만 구성되고 랜덤 엑세스 포인트(Random Access Point)으로서 역할을 할 수 있다.
수신기는 RAP 정보(P)를 기초로 전송중인 패킷 시퀀스(sequence)에서 랜덤 액세스가 가능한 패킷을 식별할 수 있다. 예를 들어, 수신한 패킷의 페이로드가 ‘I-프레임’에 관한 데이터를 포함하고 있으면, RAP 정보(P)는 해당 패킷이 랜덤 액세스 포인트(RAP)에 해당하는 데이터를 포함하고 있다고 지시할 수 있다. 또한, 수신한 패킷의 페이로드가 ‘B-프레임’ 및/또는 ‘P-프레임’에 관한 데이터를 포함하고 있으면, RAP 정보(P)는 해당 패킷이 랜덤 액세스 포인트(RAP)에 해당하는 데이터를 포함하지 않는다고 지시할 수 있다.
수신기가 특정 시점부터 GOP 데이터를 순차적으로 수신할 때, 처음의 패킷이 ‘I-프레임’과 같은 RAP에 해당하면 수신기는 해당 패킷부터 디코딩을 시작할 수 있다. 하지만, 처음의 패킷이 ‘B-프레임’ 및/또는 ‘P-프레임’과 같은 RAP에 해당하지 않으면 수신기는 해당 패킷부터 디코딩을 시작할 수 없다. 이 경우, 수신기는 RAP가 아닌 패킷들은 스킵하고, 다음에 오는 ‘I-프레임’과 같은 RAP에 해당하는 패킷부터 디코딩을 할 수 있다.
따라서, 방송 환경에서의 채널 튜닝 또는 사용자의 요청에 의한 시퀀스 내의 임의 지점 접근 상황에 있어서, 수신기는 RAP 정보(P)를 기초로 RAP에 해당하지 않는 패킷은 스킵하고 RAP에 해당하는 패킷부터 디코딩하므로, 패킷의 수신 및 디코딩 효율을 높일 수 있다.
도 60은 본 발명의 다른 실시예에 따른 RAP (Random Access Point) 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 패킷은 LCT 패킷일 수 있고, LCT 패킷은 해킷 헤더 및 패킷 페이로드를 포함할 수 있다. 패킷 헤더는 패킷 페이로드에 대한 메타 데이터를 포함할 수 있다. 패킷 페이로드는 MPEG-DASH 콘텐츠의 데이터를 포함할 수 있다.
예를 들어, 패킷 헤더는 LCT version number 필드(V), Congestion control flag 필드(C), Protocol-Specific Indication 필드(PSI), Transport Session Identifier flag 필드(S), Transport Object Identifier flag 필드(O), Half-word flag 필드(H), Reserved 필드(Res), Close Session flag 필드(A), Close Object flag 필드(B), LCT header length 필드(HDR_LEN), Codepoint 필드(CP), Congestion Control Information 필드(CCI), Transport Session Identifier 필드(TSI), Transport Object Identifier 필드(TOI), Header Extensions 필드, 및/또는 FEC Payload ID 필드를 포함할 수 있다.
또한, 패킷 페이로드는 Encoding Symbol(s) 필드를 포함할 수 있다.
패킷 헤더는 RAP(Random Access Point) 정보(P)를 더 포함할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷을 구성하는 각 필드 중에서 전술한 필드와 동일한 명칭의 필드는 전술한 내용을 모두 포함할 수 있으므로 구체적인 설명은 전술한 설명으로 대체하기로 한다.
RAP 정보(P)는 각 패킷의 시작 지점에서부터 6번째 또는 7번째 비트에 위치하는 한 개의 비트를 활용하여 현재 패킷이 전송하고 있는 패킷 페이로드에 랜덤 액세스 포인트(RAP)에 해당하는 데이터가 포함되어 있는지 여부를 지시할 수 있다. 이 경우, 한 개의 비트를 사용하므로 패킷 헤더의 사이즈를 줄일 수 있고, 효율성을 높일 수 있다.
본 발명의 다른 실시예에 따른 패킷은 패킷 헤더의 6번째 또는 7번째 비트에 위치하는 비트를 활용하여 RAP 정보(P)를 포함하므로, 패킷 헤더의 12번째 또는 13번째 비트에 위치하는 비트는 다른 용도로 활용할 수 있다.
예를 들어, 패킷은 패킷 헤더의 6번째 또는 7번째 비트에 위치하는 비트를 활용하여 RAP 정보(P)를 포함하고, 패킷 헤더의 12번째 및/또는 13번째 비트에 위치하는 비트를 활용하여 전술한 오브젝트 타입 정보, 및/또는 전술한 우선순위 정보를 포함할 수 있다.
도 61은 본 발명의 다른 실시예에 따른 실시간(Real Time) 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 패킷은 LCT 패킷일 수 있고, LCT 패킷은 해킷 헤더 및 패킷 페이로드를 포함할 수 있다. 패킷 헤더는 패킷 페이로드에 대한 메타 데이터를 포함할 수 있다. 패킷 페이로드는 MPEG-DASH 콘텐츠의 데이터를 포함할 수 있다.
예를 들어, 패킷 헤더는 LCT version number 필드(V), Congestion control flag 필드(C), Protocol-Specific Indication 필드(PSI), Transport Session Identifier flag 필드(S), Transport Object Identifier flag 필드(O), Half-word flag 필드(H), Reserved 필드(Res), Close Session flag 필드(A), Close Object flag 필드(B), LCT header length 필드(HDR_LEN), Codepoint 필드(CP), Congestion Control Information 필드(CCI), Transport Session Identifier 필드(TSI), Transport Object Identifier 필드(TOI), Header Extensions 필드, 및/또는 FEC Payload ID 필드를 포함할 수 있다.
또한, 패킷 페이로드는 Encoding Symbol(s) 필드를 포함할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷을 구성하는 각 필드 중에서 전술한 필드와 동일한 명칭의 필드는 전술한 내용을 모두 포함할 수 있으므로 구체적인 설명은 전술한 설명으로 대체하기로 한다.
송신기는 FDT(File Delivery Table) 레벨 및/또는 딜리버리 오브젝트 레벨에서 정의되는 실시간 정보(T)를 통해서 LCT 패킷이 전송하고 있는 오브젝트 및/또는 오브젝트 내부 구조체가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다. 딜리버리 오브젝트 레벨은 오브젝트 레벨, 및/또는 오브젝트 내부 구조체 레벨를 포함할 수 있다.
실시간 정보(T)가 FDT 레벨에서 정의되면, 실시간 정보(T)는 해당 FDT에서 서술하는 모든 데이터가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다. 예를 들어, LSID는 실시간 정보(T)를 포함할 수 있다. 또한, 실시간 정보(T)가 FDT 레벨에서 정의되면, 실시간 정보(T)는 해당 FDT에서 서술하는 모든 오브젝트들이 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다. 여기에서, 해당 FDT에서 서술하는 모든 오브젝트들은 해당 LCT transport 세션에 속하는 모든 오브젝트들을 나타낼 수 있다.
또한, 실시간 정보(T)가 딜리버리 오브젝트 레벨에서 정의되면, 실시간 정보(T)는 해당 딜리버리 오브젝트에 속하는 모든 데이터가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다. 예를 들어, 딜리버리 오브젝트가 오브젝트에 매칭되는 경우, 실시간 정보(T)가 딜리버리 오브젝트 레벨에서 정의되면, 실시간 정보(T)는 해당 오브젝트에 속하는 모든 데이터가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다. 또한, 딜리버리 오브젝트가 오브젝트 내부 구조체에 매칭되는 경우, 실시간 정보(T)가 딜리버리 오브젝트 레벨에서 정의되면, 실시간 정보(T)는 해당 오브젝트 내부 구조체에 속하는 모든 데이터가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다.
일 실시예로, 실시간 정보(T)가 딜리버리 오브젝트 레벨에서 정의되면, 패킷 헤더는 실시간(Real Time) 정보(T)를 더 포함할 수 있다. 실시간 정보(T)는 LCT 패킷이 전송하고 있는 딜리버리 오브젝트가 실시간(Real Time)으로 전송되는지 비실시간(Non Real Time)으로 전송되는지 여부를 지시할 수 있다.
예를 들어, 딜리버리 오브젝트는 TOI에 매칭되는 데이터 단위일 수 있다. 또한, 실시간 정보(T)의 값이 ‘0’ 이면 LCT 패킷이 전송하고 있는 딜리버리 오브젝트는 비실시간으로 전송된다고 지시할 수 있고, 실시간 정보(T)의 값이 ‘1’ 이면 LCT 패킷이 전송하고 있는 딜리버리 오브젝트는 실시간으로 전송된다고 지시할 수 있다.
실시간 정보(T)는 TOI 필드의 첫 번째 비트를 활용하여 LCT 패킷이 전송하고 있는 딜리버리 오브젝트가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다.
전술한 바와 같이, TOI 필드를 OGI 필드 및 DTOI 필드로 분할한 경우, 실시간 정보(T)는 OGI 필드의 첫 번째 비트를 활용하여 LCT 패킷이 전송하고 있는 딜리버리 오브젝트가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다.
실시간 정보(T)는 TOI 필드 및/또는 OGI 필드의 첫 번째 비트에 포함되므로, 송신기는 하나의 LCT 트랜스포트 세션 (예를 들어, 비디오 트랙, 오디오 트랙, MPEG-DASH의 레프레젠테이션) 내에서 실시간 데이터 및 비실시간 데이터를 함께 전송할 수 있다. 예를 들어, 송신기는 하나의 LCT 트랜스포트 세션내에서 오디오 데이터 및/또는 비디오 데이터를 실시간으로 전송할 수 있고, 이미지 및/또는 애플리케이션 등을 비실시간으로 전송할 수 있다. 또한, 송신기는 하나의 LCT 트랜스포트 세션내에서 일부 딜리버리 오브젝트들은 실시간으로 전송하고, 나머지 딜리버리 오브젝트들은 비실시간으로 전송할 수 있다.
또한, 실시간 정보(T)는 기존의 TOI 필드의 첫 번째 비트에 포함되므로, 본 발명의 다른 실시예에 따른 LCT 패킷은 기존의 ALC/LCT 및/또는 FLUTE 프로토콜과의 역호환성을 보장할 수 있다.
도 62는 본 발명의 일 실시예에 따른 방송 신호 수신 장치의 구조를 나타낸 도면이다.
수신기는 방송 신호에 포함된 특정 IP/UDP 데이터그램을 식별하고, 이를 추출할 수 있다. 수신기는 특정 IP 패킷을 추출할 수 있고, 이 과정에서, IP/Port 정보를 사용할 수 있다. 수신기는 특정 패킷을 포함하는 IP/UDP 데이터그램을 추출하여, 해당 데이터그램 내의 패킷을 수신기의 각 장치로 전송할 수 있다. 수신기는 IP/UDP 데이터그램에서 전송 프로토콜 패킷(Transport Protocol Packet)을 추출할 수 있다.
전송 프로토콜 패킷은 ALC/LCT 확장 패킷, 타임라인 패킷(Timeline Packet), 및/또는 시그널링 패킷(Signaling Packet)을 포함할 수 있다.
ALC/LCT 확장 패킷은 방송 데이터를 전송할 수 있다.
예를 들어, 방송 데이터는 서비스를 구성하는 적어도 하나의 딜리버리 오브젝트(Delivery Object)를 포함할 수 있다. ALC/LCT 확장 패킷은 전술한 ROUTE 패킷을 포함하며, 전술한 header extension 정보를 갖는 ALC/LCT 패킷을 포함할 수 있다
타임라인 패킷은 방송 시스템, 방송 수신기, 및/또는 방송 서비스/컨텐츠 사이의 동기를 위한 데이터를 전송할 수 있다.
시그널링 패킷은 시그널링 정보를 전송할 수 있다. 시그널링 정보는 서비스의 발견을 위한 정보 및/또는 서비스에 대한 디스트립션 정보를 포함할 수 있다. 예를 들어, 시그널링 정보는 전술한 ALC/LCT 패킷의 헤더 및 ALC/LCT 패킷의 헤더 Extension의 내용을 모두 포함할 수 있다. 또한, 시그널링 정보는 전술한 ROUTE protocol의 서비스 레이어 시그널링 정보(Service Layer Signaling, SLS) 및/또는 MMTP protocol의 MMT Signaling Message의 내용을 모두 포함할 수 있다.
실시예에 따라서, 시그널링 정보는 전송 프로토콜 패킷의 헤더 및/또는 ALC/LCT 확장 패킷에 포함될 수도 있다.
도면을 참조하면, 수신기는 전송 프로토콜 클라이언트(Transport Protocol Client, C62330), 버퍼/제어부(C62370), ISO BMFF Parser(C62400), 및/또는 Media Decoder(C62500)를 포함할 수 있다. 딜리버리 오브젝트 프로세서(C62300)는 전송 프로토콜 클라이언트(C62330) 및/또는 버퍼/제어부(C62370)를 포함할 수 있다.
전송 프로토콜 클라이언트(C62330)는 전송 프로토콜 패킷을 파싱하여 적어도 하나의 딜리버리 오브젝트(Delivery Object) 및/또는 서비스 레이어 시그널링 정보를 생성할 수 있다.
예를 들어, 전송 프로토콜 패킷은 애플리케이션 계층의 전송 프로토콜 패킷이며, ROUTE 패킷 및/또는 MMTP 패킷을 포함할 수 있다. ROUTE 패킷은 전술한 ALC/LCT(Asynchronous Layered Coding / Layered Coding Transport) 패킷 및/또는 ALC/LCT 확장 패킷을 포함할 수 있다. MMTP 패킷은 MMT 프로토콜을 사용하여 전송되는 미디어 데이터의 포맷화된 단위를 나타낸다.
예를 들어, 딜리버리 오브젝트는 서비스의 콘텐트 컴포넌트에 포함되는 적어도 하나의 데이터 단위일 수 있다. 또한, 딜리버리 오브젝트는 완전한 하나의 파일, 파일의 일부, HTTP 엔티티 (Entity), 파일의 그룹, 및/또는 HTTP Entity의 그룹 중에서 하나일 수 있다. 파일의 일부는 바이트 범위의 파일일 수 있다. HTTP Entity는 HTTP Entity Header 및/또는 HTTP Entity body를 포함할 수 있다. 또한, 딜리버리 오브젝트는 MPEG-DASH의 세그먼트 또는 세그먼트 의 일부를 포함할 수 있다. 또한, 딜리버리 오브젝트는 MMTP의 MPU, MPU의 일부, 및/또는 프래그먼트를 포함할 수 있다. 또한, 딜리버리 오브젝트는 하나의 ISO BMFF file 또는 하나의 ISO BMFF file의 일부일 수 있다. 하나의 ISO BMFF file의 일부는 프래그먼트, GOP, 청크, 억세스 유닛, 및/또는 NAL Unit을 포함할 수 있다.
예를 들어, 서비스 레이어 시그널링 정보는 적어도 하나의 서비스 및/또는 적어도 하나의 콘텐트 컴포넌트의 발견(discovery) 및/또는 접근(access)를 위한 정보를 포함할 수 있다. 또한, 서비스 레이어 시그널링 정보는 서비스에 포함되는 적어도 하나의 컴포넌트에 대한 리스트, 적어도 하나의 컴포넌트를 얻을 수 있는 장소, 및/또는 서비스의 의미있는 프리젠테이션을 위하여 요구되는 수신기의 성능(capability)들과 같은 서비스의 적어도 하나의 특성을 서술할 수 있다. 또한, 서비스 레이어 시그널링 정보는 User Service Bundle Description(USBD), Service-level Transport Session Instance Description (S-TSID), 및/또는 DASH Media Presentation Description(MPD)을 포함할 수 있다.
또한, 전송 프로토콜 클라이언트(C62330)는 전송 프로토콜 패킷에서 일반적인 데이터를 전송하는 파일(file)을 추출하거나, ISO BMFF (ISO base media file format) object 데이터를 추출할 수 있다. 전송 프로토콜 클라이언트(C62330)는 ISO BMFF object 데이터를 추출하는 과정에서, timing과 관련된 정보를 추가로 획득할 수 있다. 전송 프로토콜 클라이언트(C62330)는 일반적인 파일 및/또는 ISO BMFF object 데이터를 추출하는 과정에서, 전송 모드 (delivery mode) 및/또는 TSI (Transport Session Identifier) 정보를 이용할 수 있다.
또한, 전송 프로토콜 클라이언트(C62330)는 전송 프로토콜 패킷을 처리할 수 있다. 전송 프로토콜 클라이언트(C62330)는 전송 프로토콜 패킷(예를 들어, LCT 패킷, ALC/LCT 패킷, ALC/LCT 확장 패킷, ROUTE 패킷)을 해석하여 헤더 정보 및 전술한 헤더 확장 정보(Extension infomation)를 생성할 수 있다.
예를 들어, 확장 정보는 프래그먼트 정보(EXT_RTS), 오브젝트 타입 정보, 타입 정보(Type information), 경계 정보(Boundary Information), 매핑 정보, Session Group Identifier 필드(SGI), Divided Transport Session Identifier 필드(DTSI), Object Group Identifier 필드(OGI), Divided Transport Object Identifier 필드(DTOI), 우선순위 정보, 오프셋 정보(EXT_OFS), RAP 정보(P), 실시간 정보(T), timestamp, 및/또는 딜리버리 오브젝트이 길이 정보를 포함할 수 있다.
또한, 전송 프로토콜 클라이언트(C62330)는 전송 프로토콜 패킷의 페이로드 데이터를 해석하여 딜리버리 오브젝트(Delivery Object)를 생성할 수 있다. 예를 들어, 페이로드 데이터는 encoding symbol일 수 있다.
본 발명의 일 실시예에 따른 서비스 레이어 시그널링 정보는 헤더 정보 및 헤더 확장 정보를 포함할 수 있다. 또한, 서비스 레이어 시그널링 정보는 딜리버리 오브젝트(Delivery Object)의 형태로 전송 프로토콜 패킷의 페이로드 데이터에 포함되어 전송될 수도 있다.
또한, 버퍼/제어부(Buffer/Control Unit, C62370)은 딜리버리 오브젝트를 버퍼링하고, 수신기의 전체 프로세스를 제어할 수 있다. 버퍼/제어부(C62370)는 Receiver/Buffer Control Unit(C62370)으로 표현할 수 있다.
또한, 버퍼/제어부(C62370)은 각 방송 채널에 대한 정보를 포함하는 채널 맵에 대한 정보를 이용하여, 방송 데이터를 처리하는 일련의 동작을 제어한다. 버퍼/제어부(C62370)은 UI (User Interface) 에 의한 사용자 입력 또는 시스템 상의 이벤트(event)를 수신하고, 이를 처리한다. 버퍼/제어부(C62370)은 전송 파라미터를 이용하여, 물리적 계층 제어부(미도시)를 제어하여, 물리적 계층 제어부가 물리적 계층에서 방송 신호에 대한 처리를 제어할 수 있도록 하는 역할을 수행한다. 버퍼/제어부(C62370)은 MPEG-DASH와 관련한 데이터를 수신기가 처리하는 경우, MPD를 추출하거나, MPD를 획득할 수 있는 위치 정보 (예를 들면, URL - Uniform Resource Locator 정보)를 추출하여, MPEG-DASH와 관련한 데이터를 처리하는 장치로 전달한다.
예를 들어, 버퍼/제어부(C62370)은 서비스 레이어 시그널링 정보를 기초로 버퍼링한 딜리버리 오브젝트를 ISO BMFF 파서(C62400) 및/또는 미디어 디코더(C62500)로 전달할 수 있다. 예를 들어, 버퍼/제어부(C62370)는 시그널링 정보에 포함된 timestamp 정보를 기초로 지정된 시간에 버퍼링한 딜리버리 오브젝트를 ISO BMFF 파서(C62400) 및/또는 미디어 디코더(C62500)로 전달할 수 있다.
또한, 버퍼/제어부(C62370)는 시그널링 정보, 사용자 입력, 및/또는 시스템 클록(system clock) 등을 기초로 수신기의 전체 프로세스를 제어할 수 있다.
ISO BMFF 파서(ISO BMFF Parser, C62400)는 서비스의 콘텐트 컴포넌트에 포함되는 적어도 하나의 딜리버리 오브젝트를 파싱하여 적어도 하나의 엑세스 유닛(Access Unit), 타이밍 정보, 및/또는 엑세스 유닛의 디코딩에 필요한 정보(또는, 파라미터)를 추출할 수 있다.
예를 들어, 딜리버리 오브젝트는 하나의 ISO BMFF file 또는 하나의 ISO BMFF file의 일부일 수 있다. 하나의 ISO BMFF file의 일부는 프래그먼트, GOP, 청크, 억세스 유닛, 및/또는 NAL Unit을 포함할 수 있다. 또한, 딜리버리 오브젝트는 MPEG-DASH의 세그먼트, 세그먼트의 일부, 및/또는 서브세그먼트를 포함할 수 있다. 또한, 딜리버리 오브젝트는 MMTP의 MPU, MPU의 일부, 및/또는 프래그먼트를 포함할 수 있다.
미디어 세그먼트에 두개 이상의 미디어 스트림이 포함될 경우, ISO BMFF 파서(C62400)는 역다중화(demuxing)과정을 수행할 수 있다. 이 경우, ISO BMFF 파서(C62400)는 두개 이상의 미디어 디코더(C62500)와 연결될 수 있다.
예를 들어, 딜리버리 오브젝트에 비디오 콘텐트 컴포넌트에 포함되는 적어도 하나의 엑세스 유닛 및 오디오 콘텐트 컴포넌트에 포함되는 적어도 하나의 엑세스 유닛이 포함되면, ISO BMFF 파서(C62400)는 비디오 콘텐트 컴포넌트에 포함되는 적어도 하나의 엑세스 유닛을 추출하여 비디오 디코더(미도시)로 전달할 수 있다. 또한, ISO BMFF 파서(C62400)는 오디오 콘텐트 컴포넌트에 포함되는 적어도 하나의 엑세스 유닛을 추출하여 오디오 디코더(미도시)로 전달할 수 있다.
미디어 디코더(Media Decoder, C62500)는 적어도 하나의 딜리버리 오브젝트를 디코딩할 수 있다. 미디어 디코더(C62500)는 시그널링 정보(예를 들어, 타이밍 정보, 및/또는 디코딩에 필요한 정보, 렌더링에 필요한 정보)를 기초로 적어도 하나의 엑세스 유닛을 디코딩(decoding) 및/또는 디코딩된 적어도 하나의 엑세스 유닛을 렌더링(rendering)할 수 있다.
예를 들어, 미디어 디코더(C62500)는 지정된 디코딩 타임에 적어도 하나의 엑세스 유닛을 디코딩하기 위해서, 적어도 하나의 엑세스 유닛을 버퍼링할 수 있다. 또한, 미디어 디코더(C62500)는 지정된 프레젠테이션 타임에 디코딩된 적어도 하나의 엑세스 유닛을 렌더링하기 위해서, 적어도 하나의 엑세스 유닛을 버퍼링할 수 있다.
또한, 미디어 디코더(C62500)는 디코딩된 적어도 하나의 엑세스 유닛을 re-ordering할 수 있다.
예를 들어, 적어도 하나의 엑세스 유닛은 디코딩 순서와 렌더링 순서가 다를 수 있는데, 미디어 디코더(C62500)는 디코딩된 적어도 하나의 엑세스 유닛을 렌더링 순서에 따라서 리오더링 (re-ordering)할 수 있다.
도 63은 본 발명의 다른 실시예에 따른 방송 신호 수신 장치의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 수신기는 수신한 전송 프로토콜 패킷을 기초로 HTTP entity를 생성 및 처리할 수 있다.
이를 위하여, 수신기는 딜리버리 오브젝트 프로세서(C62300), ISO BMFF 파서(C62400), 및/또는 미디어 디코더(C62500)를 포함할 수 있다. 딜리버리 오브젝트 프로세서(C62300)는 전송 프로토콜 클라이언트(C62330), HTTP Entity 제너레이터(HTTP Entity Generator, C62340), 인터널 HTTP 서버(Internal HTTP Server, C62350), 및/또는 DASH 클라이언트(DASH Client, C62390)를 포함할 수 있다.
전송 프로토콜 클라이언트(C62330)는 전송 프로토콜 패킷을 파싱하여 적어도 하나의 딜리버리 오브젝트(Delivery Object) 및/또는 시그널링 정보(또는, 서비스 레이어 시그널링 정보)를 생성할 수 있다. 전송 프로토콜 클라이언트(C62330)에 대한 구체적인 내용은 전술한 내용과 동일하다.
HTTP Entity 제너레이터(C62340)는 딜리버리 오브젝트 및 시그널링 정보(또는, 서비스 레이어 시그널링 정보)를 기초로 HTTP Entity를 생성할 수 있다.
예를 들어, HTTP Entity 제너레이터(C62340)는 전송 프로토콜 클라이언트(C62330)로부터 전달받은 딜리버리 오브젝트, 및/또는 전송 프로토콜 패킷의 기본 정보 및/또는 확장 정보를 기초로 HTTP 엔티티 (Entity) 를 생성할 수 있다.
HTTP Entity 제너레이터(C62340)는 MPD를 전달받을 수 있다. HTTP Entity 제너레이터(C62340)는 딜리버리 오브젝트, 시그널링 정보, 및/또는 MPD를 기초로 HTTP Entity를 생성할 수 있다. 예를 들어, HTTP Entity 제너레이터(C62340)는 HTTP Entity를 생성하기 위해서 MPD를 참조할 수 있고, MPD를 해석할 수 있다.
HTTP Entity body는 딜리버리 오브젝트를 기초로 생성될 수 있다. 예를 들어, HTTP entity body는 파일, 파일의 일부, 및/또는 파일의 그룹을 포함할 수 있다. 파일의 일부는 바이트 범위의 데이터일 수 있다. 또한, 하나의 HTTP entity body는 하나의 미디어 세그먼트 및/또는 하나의 Chunk를 포함할 수 있다.
HTTP Entity header는 시그널링 정보(또는, 서비스 레이어 시그널링 정보) 및 MPD를 기초로 생성될 수 있다. 예를 들어, HTTP Entity header는 전송 프로토콜 패킷의 기본 정보 및 확장 정보, 및/또는 MPD를 기초로 생성될 수 있다. HTTP Entity header를 생성하는 구체적인 내용은 이하에서 설명한다.
인터널 HTTP 서버(Internal HTTP Server, C62350)는 HTTP Entity를 저장할 수 있다. 또한, 인터널 HTTP 서버(C62350)는 HTTP Entity body에 해당하는 딜리버리 오브젝트를 DASH 클라이언트(C62390)에 전달할 수 있다.
예를 들어, 인터널 HTTP 서버(C62350)는 전달받은 HTTP Entity를 저장하기 위한 저장부 (storage) (미도시)를 가질 수 있다.
각각의 HTTP Entity는 저장부 (storage)에 저장된 시간에서부터 시작하여, HTTP Entity header의 “Expires” 필드에 명시된 시간까지 유효할 수 있다.
상기 유효시간 동안 DASH 클라이언트(C62390)로부터 딜리버리 오브젝트(또는, HTTP Entity)를 요청(request) 받을 경우, 인터널 HTTP 서버(C62350)는 HTTP Entity의 HTTP entity body에 해당하는 딜리버리 오브젝트를 응답(response) 형태로 DASH 클라이언트(C62390)에 전달해 줄 수 있다.
예를 들어, 인터널 HTTP 서버(C62350)는 MPD에 포함된 URL을 기초로 DASH 클라이어트(C62390)로부터 딜리버리 오브젝트를 요청(request) 받을 수 있다.
또는, 인터널 HTTP 서버(C62350)는 유효시간의 제약을 두지 않고 요청 받은 딜리버리 오브젝트(또는, HTTP entity)가 storage 내에 존재할 경우 언제든지 디리버리 오브젝트를 응답 형태로 DASH 클라이언트(C62390)에 전달해 줄 수 있다.
예를 들어, 인터널 HTTP 서버(C62350)는 미디어 세그먼트 또는 chunk를 응답(response) 형태로 DASH 클라이언트(C62390)에 전달해 줄 수 있다.
인터널 HTTP 서버(C62350)는 스토리지(strorage)내의 HTTP entity와 같은 파일의 유효시간에 대한 정보를 별도의 인터페이스로 전달 받을 수 있으며, 파일 관리에 대한 자체적 메커니즘을 정의하여 동작할 수도 있다.
DASH 클라이언트(DASH Client, C62390)는 MPD 정보를 전달받을 수 있다. DASH 클라이언트(DASH Client, C62390)는 MPD 정보를 기초로 인터널 HTTP 서버(C62350)에 딜리버리 오브젝트(또는, HTTP Entity)를 요청할 수 있다. 또한, DASH 클라이언트(C62390)는 전달 받은 딜리버리 오브젝트를 ISO BMFF 파서(C62400) 및/또는 미디어 디코더(C62500)에 전달할 수 있다.
DASH 클라이언트(C62390)는 MPD 정보를 전달 받아 해석하고, MPD에 포함된 URL을 기초로 인터널 HTTP 서버(C62350)에 딜리버리 오브젝트(또는, HTTP Entity)를 요청할 수 있다. 예를 들어, DASH 클라이언트(C62390)는 URL을 기초로 해당 서비스를 프레젠테이션하기 위한 미디어 세그먼트 또는 청크를 인터널 HTTP 서버(C62350)에 요청할 수 있다.
딜리버리 오브젝트(예를 들면 세그먼트 또는 청크)의 요청 및/또는 전달 시점은 MPD에 포함된 DASH 타임라인(timeline)을 기준으로 정해질 수 있다.
ISO BMFF 파서(ISO BMFF Parser, C62400)는 서비스의 콘텐트 컴포넌트에 포함되는 적어도 하나의 딜리버리 오브젝트를 파싱하여 적어도 하나의 엑세스 유닛(Access Unit), 타이밍 정보, 및/또는 엑세스 유닛의 디코딩에 필요한 정보(또는, 파라미터)를 추출할 수 있다. ISO BMFF 파서 (C62400)에 대한 구체적인 내용은 전술한 내용과 동일하다.
미디어 디코더(Media Decoder, C62500)는 시그널링 정보(예를 들어, 타이밍 정보, 및/또는 디코딩에 필요한 정보, 렌더링에 필요한 정보)를 기초로 적어도 하나의 엑세스 유닛을 디코딩(decoding) 및/또는 디코딩된 적어도 하나의 엑세스 유닛을 렌더링(rendering)할 수 있다.
도 64는 본 발명의 다른 실시예에 따른 HTTP Entity header의 구성 방법을 나타낸 도면이다.
먼저, HTTP Entity에 대해서 설명한다.
HTTP Entity는 요청 또는 응답의 페이로드로서 전송되는 정보이다. HTTP Entity는 HTTP Entity header 및 HTTP Entity Body를 포함할 수 있다. 예를 들어, 요청 메시지 및/또는 응답 메시지는 HTTP Entity를 전송할 수 있다.
누가 HTTP Entity를 송신하고 수신하는지에 따라서, 송신자(sender) 및 수신자(recipient)는 클라이언트(client) 또는 서버(server) 중에서 하나일 수 있다.
HTTP Entity header는 HTTP Entity body에 대한 메타데이터(metadata)를 포함할 수 있다. 또한, HTTP Entity body가 존재하지 않으면, HTTP Entity는 요청에 의해서 식별되는 리소스에 대한 메타데이터를 포함할 수 있다.
HTTP Entity는 Allow 필드, Content-Encoding 필드, Content-Language 필드, Content-Length 필드, Content-Location 필드, Content-MD5 필드, Content-Range 필드, Content-Type 필드, Expires 필드, Last-Modified 필드, 및/또는 extension-header 필드 를 포함할 수 있다.
Allow 필드는 Request-URI에 의해서 식별되는 리소스에 의해서 지원되는 적어도 하나의 방법을 열거(list)할 수 있다. Allow 필드는 수신자(recipient)에게 리소스와 관련된 유효한 적어도 하나의 방법을 알려줄 수 있다. 예를 들어, Allow 필드는 “GET”, “HEAD”, 및/또는 “PUT” 중에서 하나를 지시할 수 있다.
Content-Encoding 필드는 미디어 타입에 대한 수식어(modifier)를 나타낸다. Content-Encoding 필드는 HTTP Entity body에 무슨 추가적인 콘텐트 코딩이 적용되었는지를 지시할 수 있다. 또한, Content-Encoding 필드는 Content-Type 필드에 의해서 참조되는 미디어 타입을 획득하기 위해서 무슨 디코딩 메커니즘이 적용되어야 하는지를 지시할 수 있다.
Content-Language 필드는 HTTP Entity에 대하여 의도된 청중의 적어도 하나의 자연 언어(natural language)를 서술할 수 있다.
Content-Length 필드는 HTTP Entity body의 크기를 지시할 수 있다.
Content-Location 필드는 메시지에 포함된 HTTP Entity에 대한 리소스 주소를 포함할 수 있다. Content-Location 필드는, HTTP Entity가 요청된 리소스의 URL과 다른(separate from) 주소(location)로부터 접근가능하면, 메시지에 포함된 HTTP Entity에 대한 리소스 주소를 포함할 수 있다. 예를 들어, Content-Location 필드는 HTTP Entity에 대한 베이스 URI를 포함할 수 있다.
Content-MD5 필드는 HTTP Entity의 앤드-투-앤드(end-to-end) 메시지 인티그리티 체크(message integrity check, MIC)를 제공하기 위한 HTTP Entity body의 MD5 다이제스트(digest)이다.
Content-Range 필드는 완전한 HTTP Entity body (full HTTP Entity-payload) 내에서 부분 HTTP Entity body (partial HTTP Entity-payload)의 위치를 명시하기 위해서 부분 HTTP Entity body와 함께 전송될 수 있다. 예를 들어, Content-Range 필드는 first-byte-pos 정보, last-byte-pos 정보, 및/또는 instance-length 정보를 포함할 수 있다. first-byte-pos 정보는 부분 HTTP Entity body의 시작 위치를 지시할 수 있다. last-byte-pos 정보는 부분 HTTP Entity body의 마지막 위치를 지시할 수 있다. instance-length 정보는 선택된 리소스의 길이를 명시할 수 있다.
Content-Type 필드는 수신자에게 전송되는 HTTP Entity의 미디어 타입을 지시할 수 있다.
Expires 필드는 유효한 요청을 받을 수 있는 날짜/시간 정보를 포함한다. Expires 필드의 존재는 오리지널 리소스가 해당 시간에, 전에, 및/또는 이후에 변경되거나 중단(cease)되는 것을 의미하지는 않는다.
Last-Modified 필드는 오리진 서버(origin server)가 변형(variant)이 마지막으로 수정되었다고(modified) 믿는 날짜 및/또는 시간 정보를 지시할 수 있다.
extension-header 필드는 프로토콜을 변경하지 않고 추가적인 HTTP Entity header를 포함할 수 있다.
HTTP 요청 또는 응답과 함께 전송되는 HTTP Entity body는 HTTP Entity header에 의해서 정의되는 포맷 또는 인코딩일 수 있다. HTTP entity body는 파일, 파일의 일부, 및/또는 파일의 그룹을 포함할 수 있다. 파일의 일부는 바이트 범위의 데이터일 수 있다. 또한, 하나의 HTTP entity body는 하나의 미디어 세그먼트 및/또는 하나의 청크를 포함할 수 있다.
다음으로, 본 발명의 다른 실시예에 따른, 수신기가 HTTP Entity header 를 구성하는 방법을 설명한다.
도면을 참조하면, 표의 좌측에 있는 정보들은 시그널링 정보(또는, 서비스 레이어 시그너링 정보)를 나타낸다. 예를 들어, 시그널링 정보는 전송 프로토콜 패킷의 기본 정보, 확장 정보, 및/또는 MPD를 포함할 수 있다.
표의 우측에 있는 정보들은 HTTP Entity header에 포함되는 필드를 나타낸다.
먼저, HTTP Entity 제너레이터(C62340)는 전송 프로토콜 패킷의 헤더에 포함된 OGI 필드, DTOI 필드, 및/또는 EXT_FTI에 포함된 Transfer-length 필드를 기초로 Content-Length 필드를 구성할 수 있다.
본 발명의 다른 실시예에 따르면, TOI를 OGI 및 DTOI로 분할하여, 각각의 OGI 및 DTOI가 각각 새로운 데이터 단위에 매핑될 수 있다. 이때, OGI는 전송 세션 내에서 동일한 딜리버리 오브젝트의 그룹을 식별할 수 있다. DTOI는 딜리버리 오브젝트(Delivery Object)를 식별할 수 있다. 예를 들어, OGI는 미디어 세그먼트 또는 파일을 식별할 수 있고, DTOI는 서브세그먼트, 프래그먼트, GOP 및/또는 Chunk를 식별할 수 있다. 이하에서는 OGI는 미디어 세그먼트를 식별하고, DTOI는 Chunk를 식별하는 것을 기준으로 설명한다. 실시예에 따라서, DTOI를 TOI로 표현할 수도 있다.
본 발명의 다른 실시예에 따른 딜리버리 오브젝트는 Forward Error Correction (FEC)에 의하여 보호될 수 있다. FEC 코드는 패킷 손실에 대한 보호를 제공할 수 있다. 따라서, FEC 코드는 콘텐트의 신뢰성 있는 전송을 지원할 수 있다.
FEC 코드는 FEC information을 포함할 수 있다. FEC information은 FEC Encoding ID, FEC Instance ID, FEC Payload ID, 및/또는 FEC Object Transmission Information을 포함할 수 있다.
FEC Encoding ID는 사용된 FEC 인코더를 식별한다. 또한, FEC Encoding ID는 수신기가 적절한 FEC 디코더를 선택할 수 있도록 한다. FEC Instance ID는 특정한 FEC 스킴에 대하여 사용된 FEC 인코더의 더욱 구체적인 식별 정보를 포함한다. FEC Payload ID 패킷의 패이로드에 있는 적어도 하나의 인코딩 심볼을 식별한다. FEC Object Transmission Information는 FEC 디코더에 의해서 필요한 특정 오브젝트의 인코딩과 관련된 정보를 포함한다. 예를 들어, FEC Object Transmission Information는 오브젝트에 포함되는 적어도 하나의 소스 블록의 길이 정보, 전체 오브젝트의 길이 정보, 및/또는 FEC 인코더의 특정 파라미터들을 포함할 수 있다.
FEC Object Transmission Information는 FDT 및/또는 전송 프로토콜 패킷의 확장 정보에 포함된 EXT_FTI에 포함될 수 있다.
EXT_FTI는 어떤 FEC Encoding ID에 적용될 수 있는 FEC Object Transmission Information의 구조 및 속성들을 명시(specify)할 수 있다.
EXT_FTI는 HET 필드, HEL 필드, Transfer Length 필드, FEC Instance ID 필드, 및/또는 FEC Encoding ID Specific Format 필드를 포함할 수 있다.
HET 필드는 64의 값을 가질 수 있다.
HEL 필드는 가변 길이의 LCT Header Extension의 전체 길이를 지시한다.
Transfer Length 필드는 바이트 단위의 파일을 전송하는 딜리버리 오브젝트(또는, 트랜스포트 오브젝트(transport object))의 길이를 나타낸다.
FEC Instance ID 필드는 특정한 FEC 스킴에 대하여 사용된 FEC 인코더의 더욱 구체적인 식별 정보를 포함한다.
FEC Encoding ID Specific Format 필드는 FEC 인코더의 특정 파라미터들을 포함할 수 있다. 서로 다른 FEC 인코딩 스킴들은 서로 다른 집합의 인코딩 파라미터들을 필요로 한다. 따라서, FEC Encoding ID Specific Format 필드의 구조 및 길이는 FEC Encoding ID에 따라서 다를 수 있다.
예를 들어, Content-Length 필드는 동일한 OGI를 갖는 적어도 하나의 딜리버리 오브젝트의 Transfer-length의 합을 지시할 수 있다. 진수 변환이 필요하면, Content-Length 필드 진수 변환이 적용된 값을 가질 수 있다.
다음으로, HTTP Entity 제너레이터(C62340)는 매핑 정보를 기초로 Content-Location 필드를 구성할 수 있다.
매핑 정보는 딜리버리 오브젝트의 고유한 주소(e.g. URL)뿐만 아니라, 시그널링 정보에서 할당된 식별자를 포함할 수 있다. 또한, 매핑 정보는 시그널링 정보의 URL을 지시할 수 있다.
예를 들어, Content-Location 필드는 매핑 정보에 포함된 URL을 지시할 수 있다. 포맷 변환이 필요하면, Content-Location 필드는 포맷 변환이 적용된 값을 가질 수 있다.
다음으로, HTTP Entity 제너레이터(C62340)는 오프셋 정보(EXT_OFS), 전송 프로토콜 패킷의 헤더에 포함된 OGI 필드 및 DTOI 필드, 및/또는 EXT_FTI에 포함된 Transfer-length 필드를 기초로 Content-Range 필드를 구성할 수 있다.
오프셋 정보(EXT_OFS)는 Start Offset 필드를 포함할 수 있다. Start Offset 필드는 가변 길이일 수 있고, 현재 패킷이 전송하고 있는 패킷 페이로드의 파일 내에서의 오프셋을 지시할 수 있다. Start Offset 필드는 오프셋을 파일의 시작 지점으로부터의 바이트 수로 지시할 수 있다.
예를 들어, first-byte-pos 정보는 파일 내에서 현재 딜리버리 오브젝트(e.g. Cunk)의 오프셋(offset)을 지시할 수 있다. 진수 변환이 필요한 경우, first-byte-pos 정보는 진수 변환이 적용된 값을 가질 수 있다.
또한, last-byte-pos 정보는 파일 내에서 현재 딜리버리 오브젝트(e.g. chunk)의 Offset에 Transfer-Length를 더한 값을 지시할 수 있다. 진수 변환이 필요한 경우, last-byte-pos 정보는 진수 변환을 적용한 값을 가질 수 있다.
또한, instance-length 정보는 동일한 OGI를 갖는 적어도 하나의 딜리버리 오브젝트의 Transfer-Length의 합을 지시할 수 있다. 진수 변환이 필요한 경우, instance-length 정보는 진수 변환을 적용한 값을 가질 수 있다.
HTTP entity 생성시 Content-Range 필드의 값을 계산할 수 없을 경우, 생략될 수 있다. 또한, 하나의 파일(e.g. segment)이 하나의 딜리버리 오브젝트를 통해 전송될 경우 Content-Range 필드는 생략될 수 있다.
다음으로, HTTP Entity 제너레이터(C62340)는 매핑 정보 및/또는 MPD를 기초로 Expires 필드를 구성할 수 있다.
예를 들어, Expires 필드는 DASH 어벵일러빌리티 타임라인 (availability timeline)에서 세그먼트의 어베일러빌리티 엔드 타임 (availability end time)을 지시할 수 있다.
Expires 필드의 값은 다음의 수식으로 정해질 수 있다. 본 수식에서 세그먼트 스타트 타임 (segment start time)은 동일 피리어드 및 레프레젠테이션에 속하며, 해당 세그먼트보다 앞서 기술되는 세그먼트들의 지속시간 (duration)의 합이다. 세그먼트와 딜리버리 오브젝트(e.g. ALC/LCT 확장 오브젝트)는 URL에 의해 맵핑될 수 있다.
현재 segment의 Expires = MPD@availabilityStartTime + Period@start + segment start time + SegmentList/SegmentTemplate@duration (+ MPD@timeShiftBufferDepth)
또한, HTTP Entity 제너레이터(C62340)는 타임스탬프를 기초로 Expires 필드를 구성할 수 있다. 타임스탬프 정보는 EXT_MEDIA_TIME 내에 포함될 수 있다.
예를 들어, Expires 필드는, MPD 정보에 대한 참조 없이, 타임스탬프 정보를 지시할 수 있다. 타임스탬프 정보는 EXT_MEDIA_TIME 등 전송 프로토콜 패킷의 확장 정보(e.g. LCT header extension)에 의해 제공될 수 있다.
현재 segment의 Expires = 다음 Segment의 Timestamp = 현재 segment의 Timestamp + Segment의 duration (현재 Segment의 Timestamp ? 이전 Segment의 Timestamp)
위의 두 수식에서 방송 스트림에 세그먼트를 적재하는 과정 및 전송, 해석과정에 필요한 추가적인 지연시간이 고려될 수 있다.
도 65는 본 발명의 다른 실시예에 따른 방송 신호 수신 장치의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 수신기는 HTTP Entity 형식의 오브젝트를 전송 프로토콜 패킷으로 구성하여 처리할 수 있다. 예를 들어, 수신기는 ALC/LCT 패킷을 수신하여 HTTP Entity 형식의 오브젝트를 생성할 수 있다. 또한, 수신기는 HTTP Entity 형식의 오브젝트를 기초로 전송 프로토콜 패킷(e.g. ALC/LCT 확장 패킷)을 생성할 수 있다. ALC/LCT 패킷, HTTP Entity 형식의 오브젝트, 및/또는 전송 프로토콜 패킷은 적어도 하나의 딜리버리 오브젝트를 전송할 수 있다.
도면을 참조하면, 수신기는 딜리버리 오브젝트 프로세서(C62300), ISO BMFF 파서(ISO BMFF Parser, C62400), 및/또는 미디어 디코더(Media Decoder, C62500)를 포함할 수 있다. 딜리버리 오브젝트 프로세서(C62300)는 패킷 클라이언트(Packet Client, C62310), 전송 프로토콜 컨버터(Transport Protocol Convertor, C62320), 전송 프로토콜 클라이언트(Transport Protocol Client, C62330), 및/또는 버퍼/제어부(C62370)를 포함할 수 있다.
패킷 클라이언트(C62310)은 서비스를 전송하는 적어도 하나의 패킷을 전달받고, 전달 받은 패킷을 파싱하여 적어도 하나의 오브젝트를 복원할 수 있다. 예를 들어, 전달 받은 패킷은 ALC/LCT 패킷을 포함할 수 있다. 또한, 오브젝트는 HTTP Entity를 포함할 수 있다. 패킷 클라이언트(C62310)는 ALC/LCT 클라이언트(C62310)으로 표현할 수 있다.
전송 프로토콜 컨버터(C62320)는 MPD 정보를 전달받을 수 있다. 전송 프로토콜 컨버터(C62320)는 서비스에 해당하는 DASH Media Presentation의 디스크립션을 포함하는 MPD를 기초로 오브젝트(e.g. HTTP Entity)를 적어도 하나의 전송 프로토콜 패킷으로 변환할 수 있다.
예를 들어, 전송 프로토콜 컨버터는 HTTP Entity to ALC/LCT+ Convertor일 수 있다. 또한, 전송 프로토콜 패킷은 ALC/LCT 확장 패킷, 타임라인 패킷, 및/또는 시그널링 패킷을 포함할 수 있다.
전송 프로토콜 컨버터(C62320)는 MPD를 해석할 수 있고, 전송 프로토콜 패킷의 구성을 위해서 MPD 정보를 참조할 수 있다.
전송 프로토콜 컨버터(C62320)는 하나의 HTTP entity body를 기초로 적어도 하나의 전송 프로토콜 패킷의 페이로드를 생성할 수 있다. 또한, 전송 프로토콜 컨버터(C62320)는 HTTP entity header 및 MPD 정보를 기초로 적어도 하나의 전송 프로토콜 패킷의 헤더를 생성할 수 있다.
전송 프로토콜 컨버터(C62320)는 전달받은 오브젝트를 전송 프로토콜 패킷에 담기 위한 패킷화(paketization) 기능을 포함할 수 있다.
전송 프로토콜 클라이언트(C62330)는 전송 프로토콜 패킷을 파싱하여 적어도 하나의 딜리버리 오브젝트(Delivery Object) 및/또는 서비스 레이어 시그널링 정보를 생성할 수 있다.
버퍼/제어부(C62370), ISO BMFF 파서(C62400), 및/또는 미디어 디코더(C62500)에 대한 설명은 전술한 내용과 동일하다.
도 66은 본 발명의 다른 실시예에 따른 HTTP Entity header의 구성 방법을 나타낸 도면이다.
도면을 참조하면, 표의 좌측에 있는 정보들은 HTTP Entity header 및/또는 MPD에 포함되는 정보를 나타낸다. 표의 우측에 있는 정보들은 서비스 레이어 시그널링 정보를 나타낸다. 예를 들어, 서비스 레이어 시그널링 정보는 전송 프로토콜 패킷의 기본 정보 및/또는 확장 정보(e.g. ALC/LCT 확장 패킷의 헤더 정보)를 포함할 수 있다.
먼저, 전송 프로토콜 컨버터(C62320)는 HTTP Entity header에 포함된 Content-Location 필드를 기초로 매핑 정보를 구성할 수 있다.
Content-Location 필드는 메시지에 포함된 HTTP Entity에 대한 리소스 주소를 포함할 수 있다. 매핑 정보는 URL 필드를 포함할 수 있다. URL 필드는 가변 길이일 수 있고, 딜리버리 오브젝트의 고유 주소를 포함할 수 있다.
예를 들어, URL 필드는 Content-Location 필드의 정보를 지시할 수 있다. 포맷 변환이 필요할 경우, URL 필드는 포맷 변환이 적용된 값을 가질 수 있다.
다음으로, 전송 프로토콜 컨버터(C62320)는 Content-Range 필드를 기초로 오프셋 정보, OGI 필드, 및/또는 DTOI 필드를 구성할 수 있다. 전술한 바와 같이 DTOI 필드는 TOI 필드로 표현할 수 있다.
예를 들어, 오프셋 정보의 Start Offset 필드는 현재 Content-Range의 오브젝트의 first-byte-pos 정보를 지시할 수 있다. 진수 변환이 필요한 경우, Start Offset 필드는 진수 변환이 적용된 값을 가질 수 있다.
또한, 각각의 DTOI 필드는 Content-Range 별로 각각의 오브젝트를 지시할 수 있다. 즉, Content-Range 별로 각각의 오브젝트로 설정하고, 각각의 DTOI 값이 부여될 수 있다.
또한, OGI 필드는 하나의 HTTP entity로 부터 전달받은 적어도 하나의 오브젝트에는 동일한 OGI 값을 지시할 수 있다. 즉, 하나의 HTTP entity로 부터 전달받은 적어도 하나의 오브젝트에는 동일한 OGI 값이 부여될 수 있다.
하나의 파일(segment)이 하나의 오브젝트를 통해 전송될 경우, OGI 필드는 사용되지 않을 수 있다.
다음으로, 전송 프로토콜 컨버터(C62320)는 MPD를 기초로 타임스탬프 정보를 구성할 수 있다.
예를 들어, 타임스탬프 정보는 DASH 프레젠테이션 타임 라인 (presentation timeline)에서 세그먼트의 얼리스트 프레젠테이션 타임 (earliest presentation time)과 일치하는 값을 지시할 수 있다.
타임스탬프 정보는 다음의 수식으로 정해질 수 있다.
Timestamp 정보 = 현재 segment의 earliest presentation time = MPD@availabilityStartTime + Period@start + segment start time (+ MPD@suggestedPresentationDelay)
위의 수식에서 세그먼트 스타트 타임 (segment start time)은 동일 피리어드 및 레프레젠테이션에 속하며 해당 세그먼트보다 앞서 기술되는 세그먼트들의 duration의 합이며, 세그먼트와 딜리버리 오브젝트(예를 들어, ALC/LCT+ 오브젝트)는 URL에 의해 맵핑될 수 있다.
위의 수식에서 방송 스트림에 세그먼트를 적재하는 과정 및 전송, 해석과정에 필요한 추가적인 지연시간이 고려될 수 있다.
이하에서는 풀 (pull) 방식에 의한 파일 기반 멀티미디어 콘텐츠 전송을 위한 수신기의 동작에 대해 설명한다.
본 발명의 일 실시예에 따른 파일 기반 멀티미디어 콘텐츠 전송 방식은 풀 방식이 될 수 있다. 풀 방식은 미디어 플레이어를 클라이언트로 설정하고 콘텐츠 수신부의 미들웨어 (middleware)를 서버로 설정하여 클라이언트-서버간의 콘텐츠 전송을 하기 위한 것이다. 풀 방식에 따르면, 클라이언트-서버 아키텍쳐 스타일 (Client-Server Architecture Style)의 수신기 구조를 구현할 수 있다.
도 67은 본 발명의 일 실시예에 따른 풀 방식을 사용한 수신기의 구조도를 나타낸다.
구체적으로 도 67은 풀 방식에 의한 파일 콘텐츠 전송을 처리하기 위한 ROUTE 수신기의 구조도를 나타낸다. 상술한 바와 같이, 본 발명의 일 실시예에 따른 풀 방식을 사용한 수신기는 미들웨어(E67000) 및 미디어 플레이어(E67100)를 포함할 수 있다. 본 발명의 일 실시예에 따른 미디어 플레이어(E67100)는 DASH 플레이어로 호칭할 수 있으며 이는 설계자의 의도에 따라 변경가능하다. 특히 본 발명의 일 실시예에 따른 미들웨어(E67000)는 내부 HTTP 서버 (internal HTTP server)를 포함할 수 있다. 내부 HTTP 서버를 이용한 풀 방식에 따르면, 기존의 스트리밍 서비스와 동일한 방식의 클라이언트-서버 스타일의 수신기 구조를 구현할 수 있다는 장점이 있다. 또한, 내부 HTTP 서버를 이용한 풀 방식에 따라 수신기에서 콘텐츠를 재생하는 경우, 파이프라인 로드 (pipline load) 및 초기화 같은 동작을 최소화할 수 있으므로 퍼포먼스 측면에서도 효율적이다. 또한, 내부 HTTP 서버를 이용한 풀 방식은 미디어 플레이어(E67100)의 재사용능력(reusability)을 증가시킬 수 있으며, 현재 상용화된 미디어 플레이어에 대한 최소화의 수정만으로도 구현될 수 있으므로 궁극적인 포터빌리티(Portability)를 향상시킬 수 있다.
구체적으로 본 발명의 일 실시예에 따른 미들웨어(E67000)는 메인 콘트롤러, ROUTE 프로세서, LCT/ALC 프로세서, UDP 프로세서, IP 필더, DB 및 내부 HTTP 서버를 포함할 수 있다. 또한 본 발명의 일 실시예에 따른 미디어 플레이어(E67100)는 DASH 콘트롤 엔진, HTTP 억세스 클라이언트, 미디어 플러그-인 프로세서를 포함할 수 있다.
이하 미들웨어(E67000)의 동작에 대해 설명한다. 본 발명의 일 실시예에 따른 미들웨어(E67000)에 포함된 LCT/ALC 프로세서, UDP 프로세서, IP 필더는 피지컬 네트워크로부터 수신한 방송신호의 BB 패킷들(또는 신호들)에 대하여 IP 필더 프로세싱, UDP 프로세싱 및 LCT/ALC 디캡슐레이션 등을 수행할 수 있다. ROUTE 프로세서는 처리된 신호들로부터 MPD, 이니셜라이제이션 세그먼트 (initialization segment), 비디오 및 오디오의 미디어 세그먼트(media segment)들을 획득할 수 있다. 이후, ROUTE 프로세서는 획득한 MPD, 이니셜 세그먼트, 비디오 및 오디오의 미디어 세그먼트들을 내부 HTTP 서버로 전송할 수 있다. 내부 HTTP 서버는 Http Get response를 이용하여 실제 콘텐츠를 미디어 플레이어(E67100)로 전송할 수 있다. 따라서 내부 HTTP 서버가 미디어 플레이어(E67100)로부터 Http GET 메시지를 수신할 때까지, MPD, 이니셜라이제이션 세그먼트, 비디오 및 오디오의 미디어 세그먼트들은 지속적으로 미들웨어(E67000)내의 DB에 저장될 수 있다. 이후, 내부 HTTP 서버는 미디어 플레이어(E67100)로부터 Http GET 메시지 (또는 리퀘스트)를 수신하고, Http Get response를 이용하여 DB에 저장된 실제 콘텐츠를 전송할 수 있다.
이하 미디어 플레이어(E67100)의 동작을 설명한다. 본 발명의 일 실시예에 따른 미디어 플레이어(E67100) 또는 미디어 플레이어(E67100)에 포함된 HTTP 억세스 클라이언트는 신규 채널 변경시, 미들웨어(E67000) 또는 내부 HTTP 서버에게 Http GET 메시지 (또는 리퀘스트)를 이용하여 MPD, 이니셜라이제이션 세그먼트, 비디오 및 오디오의 미디어 세그먼트들 즉, 재생을 위한 콘텐츠를 요청할 수 있다. 이후, 콘텐츠는 미디어 플러그인 프로세서에 의해 재생될 수 있다.
도 68은 상술한 풀 방식을 사용한 수신기 동작의 플로우 차트를 나타낸다.
구체적으로, 도 68은 내부 HTTP 서버가 ROUTE 프로세서로부터 수신한 미디어 컨텐츠를 HTTP GET 리퀘스트를 이용하여 미디어 플레이어로 전송하는 과정을 나타낸 플로우 차트이다.
1. ROUTE 프로세서는 미디어 콘텐츠를 수신할 수 있다. 구체적으로, ROUTE 프로세서는 IP 필더 프로세싱, UDP 프로세싱 및 LCT/ALC 디캡슐레이션 등의 처리과정을 거친 신호들로부터 MPD, 이니셜라이제이션 세그먼트 (initialization segment), 비디오 및 오디오의 미디어 세그먼트(media segment)들을 획득할 수 있다.
2. ROUTE 프로세서는 미디어 콘텐츠를 내부 HTTP 서버로 전송할 수 있다.
3. 내부 HTTP 서버는 DB에 미디어 콘텐츠를 저장할 수 있다. 상술한 바와 같이, 내부 HTTP 서버가 미디어 플레이어(E67100)로부터 Http GET 메시지를 수신할 때까지, MPD, 이니셜 세그먼트, 비디오 및 오디오의 미디어 세그먼트들은 지속적으로 미들웨어(E67000) 내의 DB에 저장될 수 있다.
4. 미디어 플레이어(E67100)는 내부 HTTP 서버에게 Http GET 메시지 (또는 리퀘스트)를 전송할 수 있다. 상술한 바와 같이, 디어 플레이어(E67100)는 신규 채널 변경시, 미들웨어(E67000) 또는 내부 HTTP 서버에게 Http GET 메시지 (또는 리퀘스트)를 전송하여 MPD, 이니셜라이제이션 세그먼트, 비디오 및 오디오의 미디어 세그먼트들 즉, 재생을 위한 콘텐츠를 요청할 수 있다.
5. 내부 HTTP 서버는 HTTP GET 리퀘스트에 대한 response를 전송할 수 있다. 구체적으로, 내부 HTTP 서버는 Http Get response를 이용하여 미디어 플레이어(E67100)에서 실제 재생할 콘텐츠를 전송할 수 있다.
이하에서는 본 발명의 다른 실시예에 따른 풀 방식을 설명한다.
본 발명의 다른 실시예에 따른 풀 방식은 IPC(Inter Process Communication)를 이용하여 실제 콘텐츠를 전송하는 방식이다. 구체적으로 본 발명의 다른 실시예에 따른 풀 방식은 내부 HTTP 클라이언트가 콘텐츠를 수신하였다는 시그널링 정보로서 HTTP POST 리퀘스트 (또는 메시지)를 미디어 플레이어에게 전달하고, 실제 콘텐츠는 쉐어드 메모리 IPC (shared memory IPC)에 저장하여 미디어 플레이어에서 재생에 필요한 콘텐츠를 쉐어드 메모리 IPC로부터 직접 획득하는 방식이다.
도 69는 본 발명의 다른 실시예에 따른 풀 방식을 사용한 수신기의 구조도를 나타낸다.
구체적으로 도 69는 쉐어드 메모리 IPC를 사용한 풀 방식에 따른 ROUTE 수신기의 구조도를 나타낸다. 상술한 바와 같이, 본 발명의 일 실시예에 따른 풀 방식을 사용한 수신기는 미들웨어(E69000) 및 미디어 플레이어(E69100)를 포함할 수 있다. 본 발명의 일 실시예에 따른 미디어 플레이어(E67100)는 DASH 플레이어로 호칭할 수 있으며 이는 설계자의 의도에 따라 변경가능하다. 특히 본 발명의 일 실시예에 따른 미들웨어(E69000)는 내부 HTTP 클라이언트 (internal HTTP client)를 포함할 수 있다.
구체적으로 본 발명의 일 실시예에 따른 미들웨어(E69000)는 메인 콘트롤러, ROUTE 프로세서, LCT/ALC 프로세서, UDP 프로세서, IP 필더, DB 및 내부 HTTP 클라이언트를 포함할 수 있다. 또한 본 발명의 일 실시예에 따른 미디어 플레이어(E69100)는 DASH 콘트롤 엔진, HTTP 억세스 클라이언트, 미디어 플러그-인 프로세서를 포함할 수 있다.
본 발명의 일 실시예에 따른 미들웨어(E69000)의 기본 동작은 도 67에서 설명한 미들웨어(E67000)과 동일하나 내부 HTTP 서버 대신 내부 HTTP 클라이언트를 포함한다는 점에서 차이가 있다. 상술한 바와 같이, ROUTE 프로세서는 획득한 MPD, 이니셜라이제이션 세그먼트, 비디오 및 오디오의 미디어 세그먼트들 (또는 콘텐츠)을 내부 HTTP 클라이언트로 전송할 수 있다. 내부 HTTP 클라이언트는 Http POST 메시지 (또는 리퀘스트)를 미디어 플레이어(E69100)로 전송할 수 있다. 이후, 내부 HTTP 클라이언트는 수신한 콘텐츠를 쉐어드 메모리 IPC에 저장할 수 있다.
이하 미디어 플레이어(E67100)의 동작을 설명한다. 본 발명의 일 실시예에 따른 미디어 플레이어(E69100) 또는 미디어 플레이어(E69100)에 포함된 HTTP 억세스 클라이언트는 Http POST 메시지 를 수신할 수 있다. 이후, 신규 채널 변경시, 미디어 플레이어(E69100) 또는 미디어 플레이어(E69100)에 포함된 HTTP 억세스 클라이언트는 쉐어드 메모리 IPC에 저장된 MPD, 이니셜라이제이션 세그먼트, 비디오 및 오디오의 미디어 세그먼트들 즉, 재생을 위한 콘텐츠를 획득할 수 있다. 이후, 콘텐츠는 미디어 플러그인 프로세서에 의해 재생될 수 있다.
도 70은 상술한 풀 방식을 사용한 수신기 동작의 플로우 차트를 나타낸다.
구체적으로, 도 70은 내부 HTTP 클라이언트가 ROUTE 프로세서로부터 미디어 컨텐츠를 수신하고HTTP POST 메시지 (또는 리퀘스트)를 미디어 플레이어로 전송하는 과정을 나타낸 플로우 차트이다.
1. ROUTE 프로세서는 미디어 콘텐츠를 수신할 수 있다. 상술한 바와 같이, ROUTE 프로세서는 처리된 신호들로부터 MPD, 이니셜라이제이션 세그먼트 (initialization segment), 비디오 및 오디오의 미디어 세그먼트(media segment)들을 획득할 수 있다.
2. ROUTE 프로세서는 미디어 콘텐츠를 내부 HTTP 클라이언트로 전송할 수 있다.
3. 내부 HTTP 클라이언트는 HTTP POST 메시지(또는 리퀘스트)를 미디어 플레이어(E69100)로 전송할 수 있다.
4. 이후, 내부 HTTP 클라이언트는 수신한 콘텐츠를 쉐어드 메모리 IPC에 저장할 수 있다.
5. 미디어 플레이어(E69100)는 쉐어드 메모리 IPC에 저장된 MPD, 이니셜라이제이션 세그먼트, 비디오 및 오디오의 미디어 세그먼트들 즉, 재생을 위한 콘텐츠를 획득할 수 있다. 구체적으로 미디어 플레이어(E69100)는 HTTP POST 메시지에 포함된 filename, filesize, service ID 정보등을 이용하여 쉐어드 메모리 IPC에 저장된 콘텐츠와 재생하고자 하는 콘텐츠를 비교(fetch)하여 재생하고자 하는 콘텐츠를 획득할 수 있다.
하나의 서비스를 구성하는 오디오, 비디오 컴포넌트가 방송망 (broadcast 또는 통신망 (broadband)로 전송되는 경우, 본 발명의 일 실시예에 따른 수신기는 푸시 (PUSH) 및 풀 (PULL) 모드(mode) (또는 푸시 방식 및 풀 방식)에 따라 동작할 수 있다
이 경우, 수신기는 내부 HTTP 서버를 포함하지 않는다. 또한, 수신기는 방송망으로 콘텐츠를 수신하는 경우 푸시 모드로 동작할 수 있으며, 통신망으로 콘텐츠를 수신하는 경우, 풀 모드로 동작할 수 있다.
즉, 콘텐츠가 어떤 경로로 수신되는지 여부에 따라 수신기는 푸시 또는 풀 모드로 동작할 수 있으므로, 수신기는 콘텐츠 (또는 representation)의 전달 경로를 지시하는 정보가 필요하다. 본 발명에서는 콘텐츠의 전달 경로를 지시하는 정보를 포함하는 CMT 또는 MPD를 제안한다. 본 발명의 일 실시예에 따른 콘텐츠의 전달 경로를 지시하는 정보는 플래그 형태로 표현될 수 있다. 이는 설계자의 의도에 따라 변경가능한 사항이다.
구체적으로, 시그널링 모듈과 같이 각 representation이 어떤 딜리버리 경로로 전달되는지 시그널링 정보를 통해 알고 있는 외부 모듈에서 DASH 클라이언트에게 특정 컴포넌트를 요청하지 않도록 하는 인터페이스, 예를 들면 CMT 등을 추가하고, 외부에서 이를 제어할 수도 있다.
또한 DASH 클라이언트가 방송망을 통해 푸시 모드로 전달되는 비디오를 요청하지 않도록 하기 위하여, 본 발명의 일 실시예에 따른 MPD는 2nd 오디오만 포함하거나, 서비스를 구성하는 모든 컴포넌트 (비디오 1, 오디오 2)를 포함할 수 있다.
MPD가 모든 컴포넌트를 포함하는 경우, MPD는 각 콘텐트 또는 representation이 방송망 또는 인터넷 망으로 전달되는지를 알려주는 플래그(flag)를 포함할 수 있다. 따라서 DASH 클라이언트는 해당 플래그를 확인하고 방송망을 통해 푸시모드로 전달되는 representation을 요청하지 않을 수 있다.
도 71은 본 발명의 일 실시예에 따른 플래그를 정의한 CMT 및 MPD를 나타낸 도면이다.
구체적으로 도 71의 (a)는 본 발명의 일 실시예에 따른 CMT를 나타내며, 도 71의 (b)는 XML 포맷 형태의 MPD를 나타낸다.
(a)에 도시된 바와 같이, CMT는 각 서비스 및 서비스에 대응하는 MPD 정보 등을 포함할 수 있다. 도면에 도시된 Broadcast Com 정보의 하위 어트리뷰트들은 콘텐트가 방송망을 통해 전송되는지 여부를 지시하고, 관련 정보를 나타낼 수 있다.
BBComp 정보의 하위 어트리뷰트들은 콘텐트가 인터넷 망을 통해 전송되는지 여부를 지시하고 관련 정보를 나타낼 수 있다.
(b)에 도시된 바와 같이, 콘텐츠의 전달 경로를 지시하는 정보는 플래그 형태로 표현되어 XML 형태의 MPD에 포함될 수 있다. 본 발명의 일 실시예에 따른 MPD는 broadcast_flag 및/또는 broadband_flag를 포함할 수 있다.
구체적으로, broadcast_flag가 1인 경우 현재 콘텐트(또는 reperesntation)는 방송망으로 전송되고 있음을 나타내며, broadcast_flag가 0인 경우 현재 콘텐트는 방송망으로 전송되지 않음을 나타낸다. 동일한 방식으로, broadband_flag가 1인 경우 현재 콘텐트는 통신망으로 전송되고 있음을 나타내며, broadband_flag가 0인 경우 현재 콘텐트는 통신망으로 전송되지 않음을 나타낸다. 따라서 수신기 (또는 DASH 클라이언트)는 MPD 내의 플래그를 이용하여 콘텐트의 전송여부를 확인할 수 있다.
도 72는 본 발명의 일 실시예에 따른 풀 방식에 따른 수신기 동작을 나타낸 플로우 차트이다.
구체적으로 도 72는 도 67 내지 도 70에서 설명한 풀 방식에 따른 수신기 동작을 나타낸다.
본 발명의 일 실시예에 따른 수신기는 수신기의 상태를 채널 변경 상태로 변경할 수 있다(SE72000).
사용자로부터 채널 업/다운 인풋 신호가 입력되면, 본 발명의 일 실시예에 따른 수신기는 동일한 피지컬 채널인지 여부를 판단할 수 있다(SE72100). 판단 결과 동일한 피지컬 채널로의 전환이라면, 본 발명의 일 실시예에 따른 수신기는 해당 피지컬 채널을 세팅할 수 있다(SE72101).
판단 결과 동일한 피지컬 채널로의 전환이 아니라면, 본 발명의 일 실시예에 따른 수신기는 동일한 IP/port 채널인지 여부를 판단할 수 있다(SE72200). 판단 결과 동일한 IP/port 채널로의 전환이라면, 본 발명의 일 실시예에 따른 수신기는 해당 IP/port 채널을 세팅할 수 있다(SE72201).
판단 결과 동일한 IP/Port 채널로의 전환이 아니라면, 본 발명의 일 실시예에 따른 수신기는 동일한 세션 채널(session channel)인지 여부를 판단할 수 있다(SE72300). 판단 결과 동일한 세션 채널로의 전환이라면, 본 발명의 일 실시예에 따른 수신기는 해당 세션 채널을 세팅할 수 있다(SE72301).
판단 결과 동일한 세션 채널로의 전환이 아니라면, 본 발명의 일 실시예에 따른 수신기는 이전 콘텐츠의 유입 여부를 판단할 수 있다(SE72400). 채널 변경 상태에서 Http GET 리퀘스트가 쌓여있는 경우, 이전 채널의 콘텐츠가 유입될 수 있기 때문이다.
판단 결과 이전 채널의 콘텐츠가 유입되고 있다면, 본 발명의 일 실시예에 따른 수신기는 리퀘스트에 대한 플러싱 (flushing)을 수행하여 이전 채널 콘텐츠를 제거할 수 있다(SE72500). 구체적으로, 본 발명의 일 실시예에 따른 수신기는 Http 200 OK response를 이용하여 HTTP GET 리퀘스트들을 무시하여 유입된 이전 채널의 콘텐츠를 제거할 수 있다.
이후 본 발명의 일 실시예에 따른 수신기는 미디어 콘텐츠를 수신할 수 있다(SE72600). 구체적으로, 수신기 내의 ROUTE 프로세서는 IP 필더 프로세싱, UDP 프로세싱 및 LCT/ALC 디캡슐레이션 등의 처리과정을 거친 신호들로부터 MPD, 이니셜라이제이션 세그먼트 (initialization segment), 비디오 및 오디오의 미디어 세그먼트(media segment)들을 획득할 수 있다.
이후 본 발명의 일 실시예에 따른 수신기는 실제 콘텐츠에 대한 리퀘스트가 있는지 여부를 판단할 수 있다(SE72700).
판단 결과 리퀘스트가 있는 경우, 수신기 내의 내부 HTTP 서버는 Http 200 OK response를 이용하여 실제 콘텐츠에 대한 리퀘스트를 무시할 수 있다(SE72701). 판단 결과 리퀘스트가 없는 경우, MPD, 이니셜라이제이션 세그먼트 (initialization segment), 비디오 및 오디오의 미디어 세그먼트(media segment)은 DB 또는 에 저장될 수 있다(SE72702).
이후 수신기는 MPD 리퀘스트가 있는지 여부를 판단할 수 있다(SE72800). 구체적으로, 수신기 내의 내부 HTTP 서버는 미디어 플레이어로부터 Http GET 리퀘스트를 수신하고, HTTP Get 리퀘스트에 대한 response를 이용하여 콘텐츠를 전송할 수 있다(SE72900). 또한 풀 모드에 따라서 수신기 내의 내부 HTTP 클라이언트는 미디어 플레이어에게 Http POST 메시지를 전송하고 쉐어드 메모리 IPC에 콘텐츠를 저장할 수 있다.
또한 본 발명의 일 실시예에 따른 수신기는 수신기의 상태를 채널 변경 상태로 변경할 수 있다(SE72901).
이후 수신기 내의 미디어 플레이어는 풀 방식에 따라 Http GET response를 이용하여 수신한 콘텐츠를 재생하거나 또는 쉐어드 메모리 IPC로부터 콘텐츠를 획득하여 재생할 수 있다.
도 73은 MPEG DASH 기반의 시스템의 구성도이다.
도면에 도시된 바와 같이 MPEG DASH 기반의 시스템은 스트리밍 서버(E73000), HTTP 웹서버(E73100) 및 수신기(또는 DASH 클라이언트 또는 클라이언트 디바이스)(E73200)를 포함할 수 있다.
MPEG DASH 기반의 스트리밍 서버(E73000)는 라이브 또는 VoD 영상(또는 콘텐츠)을 다양한 해상도의 영상으로 인코딩하고, 인코딩된 각 영상을 일정한 시간 길이로 분할할 수 있다. 이 경우, 각 영상을 분할하는 단위는 세그먼트 또는 청크(chunk)가 될 수 있으며, 해당 단위는 수신기(E73200)가 콘텐츠를 요청하는 기본 단위가 될 수 있다.
또한 서버(E73000)는 콘텐츠에 대한 정보를 포함하는 MPD를 생성하고, 분할된 영상과 MPD를 HTTP 웹서버(E73100)로 전송할 수 있다.
수신기(E73200)는 먼저 HTTP 서버(E73100)에게 MPD를 요청하여 수신/파싱을 하고, 네트워크 가용 대역폭에 따라 적합한 해상도의 콘텐츠를 HTTP 서버에게 요청할 수 있다. 따라서 네트워크 대역폭이 변동하더라도 수신기(E73200)는 가변적으로 해당 대역폭에 적합한 해상도의 콘텐츠를 요청, 수신하여 끊김없이 동영상을 재생할 수 있다.
상술한 MPEG DASH 시스템이 멀티캐스트 네트워크 (예를 들면 eMBMS)에 적용되면, 차세대 방송 시스템은 사용하고자 하는 딜리버리 네트워크 (예를 들면 방송망, 브로드밴드망)에 관계없이 간단한 프로토콜 스택 및 구조를 가질 수 있다는 장점이 있다.
그러나 MPEG DASH 시스템은, DASH 클라이언트 (수신기)가 네트워크 망의 대역폭 (예를 들면 속도)에 따라 적절한 해상도의 콘텐츠를 서버로 요청하면 서버가 해당 콘텐츠를 제공하는 구조로 동작을 하므로, 수신기는 방송망으로 DASH 콘텐츠가 전송되는 경우에도 원하는 콘텐츠를 서버로 요청해야만 한다.
하지만 방송망은 브로드밴드망과 달리 수신기 요청과 관계없이 서버에서 콘텐츠를 공급하는 푸시 방법을 사용하고 있으므로, 수신기 또는 DASH 클라이언트가 디코딩할 DAHS 콘텐츠를 요청하는 시점과 서버가 DASH 콘텐츠를 전송하는 시점간의 차이가 존재할 수 있다. 따라서 수신기가 채널 전전환 수행할 때 기존 디지철 방송 시스템 보다 채널 전환 시간의 지연이 발생할 수 있다.
이하에서는 수신기의 채널 전환 시간을 단축하기 위하여, MPEG DASH 콘텐츠 (예를 들면 세그먼트또는청크)가 방송망으로 전송되는 경우, 수신기의 채널 전환 시간을 최적화하기 위한 수신기의 푸시 동작 및 필요한 정보에 대해 설명한다.
도 74는 방송망으로 DASH 컨텐츠가 전송되는 경우 수신기 구조를 나타낸다.
도 74의 수신기는 도 62 내지 65에서 설명한 수신기의 다른 실시예에 해당한다. 구체적으로, 도 74의 (a)는 풀 방식(또는 풀 모드)으로 동작하는 DAHS 클라이언트를 포함하는 수신기의 구조를 나타내며, 도 74의 (b)는 푸시 방식으로 동작하면서 방송망으로 DASH 콘텐츠를 수신할 수 있는 수신기의 구조를 나타낸다.
본 발명의 일 실시예에 따른 수신기는 피지컬 레이어 신호 수신 모듈 (Broadcast Phy), 딜리버리 모듈 (delievery module), 내부 서버 또는 인터널 서버(Internal server), DASH 클라이언트 (DASH client), ISOBMFF 파서 (ISOBMFF parser) 및 오디오/비디오 디코더 또는 A/V 디코더(A/V decoder)를 포함할 수 있다. 본 발명의 딜리버리 모듈은 상술한 전송 프로토콜 클라이언트와 동일한 동작을 수행할 수 있다. 또한, 본 발명의 딜리버리 모듈, 내부 서버 및 DASH 클라이언트는 하나의 프로세서에 포함될 수 있다. 이를 상술한 딜리버리 오브젝트 프로세서라 호칭할 수 있으며 이는 설계자의 의도에 따라 변경 가능한 사항이다. 이하 각 모듈/블록에 대해 설명한다.
피지컬 레이어 신호 수신 모듈은 방송 신호를 수신하고, 도 18 내지 도 40에서 설명한 피지컬 레이어 처리 방식에 따라 신호를 처리할 수 있다. 이후, 딜리버리 모듈은 피지컬 레이어에서 출력된 신호, 예를 들면 IP/UDP/ROUTE 신호(또는 전송 프로토콜 패킷)들을 처리할 수 있다. 내부 서버는 딜리버리 모듈에서 출력된 신호에 포함된 DASH 콘텐츠 및 MPD를 제공할 수 있다. 내부 서버가 있는 경우, 종래의 DASH 클라이언트에 대한 최소한의 수정을 하여 사용할 수 있다는 장점이 있다.
DASH 클라이언트는 MPD를 먼저 수신하고, 내부 서버로 DASH 콘텐츠(세그먼트또는 청크)를 요청할 수 있다. 구체적으로 DASH 클라이언트는 MPD 파싱 결과에 따라 지정된 코덱의 오디오/디코더를 초기화할 수 있다. DASH 클라이언트는 수신한 DASH 콘텐츠를 파싱할 수 있다. DASH 세그먼트는 ISOBMFF(ISO Base Media File Format)에 기반한 파일 형태를 가질 수 있다. 따라서 ISOBMFF 파서는 DASH 클라이언트가 수신한 세그먼트에 포함된 box 기반의 정보를 파싱하고, 오디오 데이터 또는 비디오 데이터(또는 비디오 프레임)를 오디오/비디오 디코더로 전달할 수 있다. 이후, 오디오/비디오 디코더는 오디오 데이터 또는 비디오 데이터를 디코딩할 수 있다.
상술한 바와 같이 방송망으로 DASH 콘텐츠가 전송되는 경우, 수신기는 기본적으로 푸시 방식으로 동작할 수 있다. 하지만 DASH 클라이언트는 풀 방식으로 동작하므로, 본 발명의 수신기는 내부 서버 (E74200) 및 DASH 클라이언트는 풀 방식으로 동작하고, 그 외 모듈들은 푸시 방식으로 동작하는 것을 일 실시예로 할 수 있다. 본 발명에서는 내부 서버 및 DASH 클라이언트간의 데이터 전송이 이루어지는 구간을 풀 모드 동작구간이라 호칭할 수 있다.
도 74의 (a)에 도시된 수신기 구조에서, DASH 클라이언트는 MPD를 이용하여 계산한 세그먼트 어베일러빌리티 스타트 타임 (Segment Availability Start Time)에 따라 내부 서버에게 세그먼트를 요청할 수 있다. 세그먼트 어베일러빌리티 스타트 타임은 세그먼트의 유효한 인터벌 윈도우(segment availability window)를 설명하기 위해 사용되는 정보로서, MPD에 포함된 Period@start, SegmentBase@availabilityTimeOffset 등을 이용하여 다음과 같이 계산할 수 있다.
Segment Availability Start Time = MPD@availabilityStartTime + Period@start + MST(k) ? SegmentBase@availabilityTimeOffset + MD(k)
MPD@availabilityStartTime는 MPD의 월 클럭 기반의 MPD 시작 시간을 나타내며, Period@start는 period의 시작시간을 나타낸다. MST(k)는 해당 피리어드 (period) 내의 k번째 세그먼트의 시작 시간을 나타내며, SegmentBase@availabilityTimeOffset는 Segment Availability time을 조정하기 위한 오프셋을 의미하며, MD(k)는 해당 피리어드 (period) 내의 k번째 세그먼트의 지속 시간을 나타낸다.
또한, DASH 클라이언트(E74300)는 수신한 MPD를 이용하여 세그먼트의 프레젠테이션 타임 (presentation time)을 계산하고, ISOBMFF 파서로 세그먼트 및 세그먼트 프레젠테이션 타임 (Segment presentation time) 함께 전송할 수 있다. 세그먼트 프레젠테이션 타임은 MPD에 포함된 MPD@availabityStartTime, Period@start, earliest presentation time of k-th segment 등을 이용하여 다음과 같이 계산될 수 있다.
Segment presentation time = MPD@availabityStartTime + Period@start + earliest presentation time of k-th segment - (SegmentBase@presentationTimeOffset * SegmentBase@timescale) + MPD@suggestedPresentationDelay
earliest presentation time of k-th segment은 k번째 세그먼트의 억세스 유닛(access unit)의 가장 작은 presentation time을 의미하며, SegmentBase@timescale은 세그먼트 정보 내의 서로 다른 리얼 타임 듀레이션 밸류 (real time duration value)들의 파생을 위해 사용되는 타임 스케일 (timescale)을 의미한다. MPD@suggestedPresentationDelay는 각 억세스 유닛의 프레젠테이션 타임으로 고정된 딜레이 오프셋 값을 의미한다.
상술한 바와 같이, DASH 클라이언트는 MPD를 이용하여 어떤 세그먼트를 요청할지 여부 및 언제 나타낼 것인지 등의 정보를 계산하고 결정할 수 있다. 하지만 방송망과 같은 단방향 네트워크에서는, 채널이 변경되는 경우와 같은 이벤트를 즉각 반영하기 어렵다. 또한, DASH 클라이언트가 변경될 채널의 MPD 수신, 파싱 및 그에 따른 세그먼트의 세그먼트 어베일러빌리티 스타트 타임 및 세그먼트 프레젠테이션 타임 등을 계산하는 과정에 시간이 소요되므로 수신기의 채널 전환 시간이 지연될 가능성이 있다.
도 74의 (b)는 상술한 문제점을 해결하기 위한 수신기 구조를 나타낸다.
도 74의 (b)에 도시된 수신기는 내부 서버 및 DASH 클라이언트가 없다는 점을 제외하고 도 74의 (a)의 수신기와 동일한 모듈을 포함할 수 있다. 구체적으로 도 74의 (b)에 도시된 수신기에 포함된 딜리버리 모듈은 ISOBMFF 파서로 DASH 콘텐츠를 전달할 수 있다. 피지컬 레이어 신호 수신 모듈의 동작은 상술한 바와 동일하므로 딜리버리 모듈, ISOBMFF 파서 및 및 오디오/비디오 디코더의 동작을 중심으로 설명한다. 본 발명의 일 실시예에 따른 딜리버리 모듈은 피지컬 레이어 신호 수신 모듈에서 출력된 신호로부터 ISOBMFF 파일(이니셜라이제이션 세그먼트, 미디어 세그먼트 등) 및 세그먼트의 타임 스탬프를 추출하여 ISOBMFF 파서로 전달할 수 있다. 이 경우, 딜리버리 모듈은 서버 월 클럭 (server wall clock) 정보를 주기적으로 받고 STC (System Time Clock)을 보정할 수 있다.
종래 MPEG-2 TS 기반의 기존 방송 시스템의 경우, 수신기는 오디오/비디오의 DTS(decoding timestamp)/PTS(presentation timestamp) 및 PCR(Program Clock Reference)를 수신하여 STC을 보정할 수 있었다. 차세대 방송 시스템의 경우, 모든 타임을 UTC(Universal Time Coordinate, 즉 절대 시간)로 표현할 수 있으므로, 본 발명에서는 NTP (Network Time Protocol) 값으로 타임스탬프를 표현하는 것을 일 실시예로 할 수 있다.
이하에서는 본 발명의 일 실시예에 따른 수신기의 STC를 보정하는 방법을 설명한다.
본 발명의 일 실시예에 따른 수신기 또는 딜리버리 모듈은 서버측에서 A/V 인코딩을 위해 사용한 월 클럭 값을 특정 IP/port로 NTP 패킷을 통해 주기적으로 수신하거나, 피지컬 레이어와 IP 레이어 사이에 위치한 링크레이어를 통해 NTP 타임스탬프를 수신할 수도 있다.
수신기는 주기적으로 수신한 NTP 월 클럭으로 STC를 설정하여 서버 클럭와 클라이언트 클럭 간의 오차를 없애고 클럭간의 동기화를 수행할 수 있다. 이를 통해 모든 수신기는 동일한 영상을 디코딩하고 재생할 수 있다.
본 발명의 일 실시에에 따른 딜리버리 모듈은 LSID 내의 @minBufferSize의 존재 여부에 따라 다음과 같이 동작할 수 있다.
LSID 내에 @minBufferSize가 있는 경우, 본 발명의 일 실시에에 따른 딜리버리 모듈은 채널 전환 후 @minBufferSize가 지시하는 사이즈만큼의 데이터가 쌓이면 ISOBMFF 파서로 전달할 수 있다. LSID 내에 @minBufferSize가 없는 경우, 본 발명의 일 실시예에 따른 딜리버리 모듈은 채널 전환 후 세그먼트를 ISOBMFF 파서로 전달 할 수 있다.
이후, ISOBMFF 파서는 수신한 세그먼트를 디코딩하고, 오디오/비디오 디코더는 보정된 STC에 따라 세그먼트 프레젠테이션 (segment presentation)을 수행할 수 있다. 구체적으로, 오디오/비디오 디코더는 서버와 동기화된 STC 값과 A/V 프레임의 PTS 값을 비교하여 세그먼트 프레젠테이션을 수행할 수 있다.
이하에서는 딜리버리 모듈이 ISOBMFF 파일을 추출하는 방법에 대해 설명한다.
상술한 바와 같이 딜리버리 모듈이 피지컬 레이어 신호 수신 모듈에서 출력된 신호로부터 ISOBMFF 파일을 추출하기 위해서는 수신한 신호 내에 포함된 ISOBMFF 파일을 구별하기 위한 ISOBMFF 파일과 관련된 정보가 필요하다.
이하에서는 본 발명의 일 실시예에 따른 딜리버리 모듈이 ROUTE 프로토콜의 LSID 또는 EFDT에 포함된 ISOBMFF 파일과 관련된 정보를 이용하여 ISOBMFF 파일을 추출하는 방법을 설명한다.
본 발명의 일 실시예에 따른 LSID는 실시간 리니어 콘텐츠(linear contents)가 전송되는지 여부를 지시하는 SourceFlow@realtime 플래그 (flag)를 포함할 수 있다. 따라서 본 발명의 일 실시예에 따른 딜리버리 모듈은 SourceFlow@realtime 플래그를 통해 실시간 리니어 콘텐츠의 전송여부를 확인할 수 있다.
또한 본 발명의 일 실시예에 따른 LSID 내 PayloadFormat 엘레먼트는 @codePoint를 포함할 수 있다. 본 발명의 일 실시예에 따른 딜리버리 모듈은 PayloadFormat 엘레먼트의 @codePoint가 LCT 패킷에 포함된 codepoint field (CP)와 동일하지 여부를 확인한다. 동일한 경우, 본 발명의 일 실시예에 따른 딜리버리 모듈은 SourceFlow 엘레먼트에 포함된 속성 정보, 예를 들면, @FormatID, @frag, @Order 등을 이용하여 해당 LCT 패킷이 전송하는 데이터의 오브젝트 포맷 (object format), 프래그멘테이션 (fragmentation) 방식, 전송 순서 등을 확인할 수 있다.
상술한 @FormatID는 딜리버리 오브젝트의 페이로드 포맷 (또는 오브젝트 포맷)을 지시할 수 있다. 딜리버리 오브젝트의 페이로드 포맷은 파일 모드(File Mode), 엔티티 모드(Entity Mode) 또는 패키지 (Package) 중 어느 하나가 될 수 있다. @frag는 소스 플로우의 오브젝트를 운반하는 ROUTE 패킷들의 페이로드가 딜리버리를 위해 어떻게 나눠졌는지 (fragmentation)에 대한 정보를 포함할 수 있다. @Order는 DASH 세그먼트와 같은 소스 플로우의 오브젝트들을 운반하는 ROUTE 패킷들의 페이로드가 DASH 인코더의 생성 순서대로 운반되는지 혹은 어떻게 운반되는지에 대한 정보를 포함할 수 있다.
또한 본 발명의 일 실시예에 따른 딜리버리 모듈은 EFDT의 파일 엘레먼트 (File element)에 포함된 OI 필드, Content-Location 필드, Content-Type 필드등의 정보를 이용하여 이니셜라이제이션 세그먼트를 구별할 수 있다.
뿐만 아니라 본 발명의 일 실시예에 따른 딜리버리 모듈은 오브젝트 포맷이 파일 모드인 경우, EFDT내의 FileTemplate을 통해 미디어 세그먼트를 구별할 수 있다. 만약, 오브젝트 포맷이 엔티티 모드인 경우에는 본 발명의 일 실시예에 따른 딜리버리 모듈은 해당 오브젝트 내의 엔티티 헤더를 통해 미디어 세그먼트를 구별할 수 있다.
이하에서는 본 발명의 일 실시예에 따른 딜리버리 모듈이 타임 스탬프 값을 추출하는 방법을 설명한다.
본 발명의 일 실시예에 따른 딜리버리 모듈은 세그먼트의 타임 스탬프 값을 추출하기 위하여 LSID의 SourceFlow@realtime 플래그의 존재여부를 확인할 수 있다. 플래그 값이 트루 (true)라면 세그먼트를 전송하는 LCT 익스텐션 헤더 내에 NTP 타임 스탬프가 있음을 의미한다.
세그먼트를 전송하는 LCT 패킷의 EXT_PRESENTATION_TIME 헤더는 세그먼트의 스타트 타임 (NTP)를 전송할 수 있다. 본 발명의 일 실시예에 따른 EXT_PRESENTATION_TIME은 다음과 같이 계산될 수 있다.
EXT_PRESENTATION_TIME = MPD@availabityStartTime + Period@start + earliest presentation time of k-th segment - (SegmentBase@presentationTimeOffset * SegmentBase@timescale) + MPD@suggestedPresentationDelay
즉, 도 74 (b)의 경우, DASH 클라이언트가 계산해야 하는 값을 서버에서 미리 계산하여 LCT 패킷 헤더를 통해 전송하므로, 수신기는 세그먼트의 프레젠테이션 타임을 매번 계산할 필요가 없다는 장점이 있다.
상술한 바와 같이, 도 74의 (a)에 도시된 수신기에 도시된 딜리버리 모듈은 세그먼트 또는 청크를완성한 이후에 내부 서버로 전달할 수 있으며, 내부 서버는 DASH 클라이언트가 세그먼트를 요청한 경우에만 이를 제공할 수 있다. 또한, DASH 클라이언트는 MPD를 먼저 수신해야 하므로, 세그먼트 수신 이전에 MPD 수신 및 파싱 절차를 거쳐야 한다. 이후, DASH 클라이언트는 MPD 정보를 활용하여 세그먼트의 어베일러빌리티 타임을 계산하고 내부 서버로 해당 세그먼트를 요청할 수 있다. 뿐만 아니라 DASH 클라이언트는 프레젠테이션 타임을 계산하고, 세그먼트와 계산한 프레젠테이션 타임 정보를 ISOBMFF 파서로 전송할 수 있다.
반면, 도 74의 (b)에 도시된 수신기의 딜리버리 모듈은 패킷 데이터를 수신한 뒤, 세그먼트 또는 청크 또는 패킷 단위로 ISOBMFF 파서로 전달이 가능하며 내부 서버로 요청이 필요없으므로 세그먼트 획득을 위한 시간이 단축 될 수 있다. 또한 도 74의 (b)의 딜리버리 모듈은 세그먼트 어베일러빌리티 타임을 계산하지 않으므로 ISOBMFF 파서로 DASH 콘텐츠를 전송하는 시간이 단축될 수 있다 뿐만 아니라, 도 74의 (b)의 딜리버리 모듈은 패킷 헤더 익스텐션으로 전송되는 NTP를 추출하여 ISOBMFF 파서로 전송할 수 있으므로 도 74의 (a)보다 세그먼트 프레젠테이션 타임을 계산하는 시간을 단축할 수 있다. 또한, 도 74의 (b)에 도시된 수신기는 A/V 코덱 정보를 별도의 시그널링을 통해 수신한 경우, MPD를 이용하지 않고도 A/V 디코딩 및 프레젠테이션이 가능하므로 MPD 수신 및 파싱에 소요되는 시간을 단축 할 수 있다.
결과적으로 도 74의 (a)에 도시된 수신기에 비해 도 74의 (b)에 도시된 수신기는 채널 전환 시간을 단축할 수 있다는 장점을 갖는다.
도 75는 본 발명의 다른 실시예에 따른 수신기 구조를 나타낸다.
구체적으로 도 75는 방송망/브로드밴드망을 통해 방송 신호를 수신하는 경우, 각 경로에 따라 푸시 또는 풀 모드로 동작하는 수신기의 구조를 나타낸다. 구체적으로 수신기는 방송망을 통해 DASH 콘텐츠를 수신하는 경우에는 푸시 모드로 동작할 수 있으며. 브로드밴드망을 통해 DASH 콘텐츠를 수신하는 경우에는 풀 모드로 동작할 수 있다.
또한, 본 발명의 일 실시예에 따른 수신기는 피지컬 레이어 신호 수신 모듈 (Broadcast Phy), 딜리버리 모듈 (delievery module), DASH 클라이언트 (DASH client), ISOBMFF 파서 (ISOBMFF parser) 및 오디오/비디오 디코더 또는 A/V 디코더(A/V decoder)를 포함할 수 있다.
이하에서는 하나의 서비스가 1개의 비디오 컴포넌트, 2개의 오디오 컴포넌트 1, 2로 구성되어 있고, 비디오 컴포넌트 및 오디오 컴포넌트 1은 방송망으로 전송되고, 오디오 컴포넌트 2는 브로드밴드망으로 전달되는 경우로서, 방송망으로 전송되는 컨텐츠, 비디오 컴포넌트 및 오디오 컴포넌트 1을 우선 디스플레이 하는 경우의 수신기 동작을 실시예로 설명한다.
피지컬 레이어 신호 수신 모듈은 신호를 수신할 수 있다. 이후 딜리버리 모듈은 피지컬 레이어 신호 수신 모듈에서 출력된 신호로부터 시그널링 정보를 수신 및 파싱하고, 서버 월 클럭 정보를 수신하여 수신기의 STC 값을 설정할 수 있다.
이후 딜리버리 모듈은 오디오 및 비디오의 이니셜라이제이션 세그먼트를 우선 수신하거나 기존에 캐칭된 이니셜라이제이션 세그먼트를 ISOBMFF 파서로 전달할 수 있다.
또한, 딜리버리 모듈은 방송망으로 전송되는 오디오/비디오 미디어 세그먼트 (또는 청크 또는 패킷)를 PTS 값과 함께 ISOBMFF 파서로 전달할 수 있다.
이후, ISOBMFF 파서는 세그먼트를 파싱하고 A/V 프레임을 A/V 디코더로 전달한다. A/V 디코더는STC 및 PTS 값을 참조하여 A/V 프레임을 렌더링할 수 있다.
이후 사용자가 오디오 컴포넌트 2를 선택하는 경우, 수신기의 동작은 다음과 같다.
딜리버리 모듈은 MPD를 DASH 클라이언트에게 전달할 수 있다. 본 발명의 MPD는 DASH 클라이언트가 방송망을 통해 푸시 모드로 전달되는 비디오를 요청하지 않도록 하기 위하여 오디오 컴포넌트 2만 포함하거나, 서비스를 구성하는 모든 컴포넌트 즉, 비디오 및 오디오 컴포넌트 1, 2 를 모두 포함할 수 있다,
MPD가 모든 컴포넌트를 포함하는 경우, MPD에 포함된 각 레프레젠테이션이 방송망 또는 브로드밴드망으로 전달되는지를 알려주는 플래그가 포함될 수 있다. 따라서 DASH 클라이언트는 해당 플래그를 통하여 방송망으로 전송되는 레프레젠테이션을 요청하지 않을 수 있다. 또한, 각 레프레젠테이션이 어떤 딜리버리 경로로 전달되는지 시그널링 정보를 통해 알고 있는 외부 모듈은 DASH 클라이언트에게 특정 컴포넌트를 요청하지 않도록 하는 인터페이스를 추가하고, 이를 사용하여 외부에서 DASH 클라이언트의 동작을 제어할 수 있다.
DASH 클라이언트는 MPD를 이용하여 세그먼트 어베일러빌리티 타임을 계산하여 서버에게 해당 오디오 컴포넌트 2에 대응하는 세그먼트를 요청할 수 있다. 세그먼트를 수신한 뒤, DASH 클라이언트는 MPD를 이용하여 프레젠테이션 타임을 계산하고 이를 수신한 세그먼트와 함께 ISOBMFF 파서로 전달할 수 있다. ISOBMFF 파서는 해당 세그먼트를 파싱하고 이를 오디오/비디오 디코더로 전달할 수 있다. 오디오/비디오 디코더는 STC 및 PTS 값을 참조하여 렌더링을 수행할 수 있다.
이 경우, 방송망으로 전송되는 비디오 세그먼트의 타임라인과 브로드밴드망으로 전송되는 오디오 컴포넌트 2 세그먼트의 타임라인은 동일하고, 동일한 서버 월 클럭을 사용하므로 수신기는 A/V 동기화를 수행할 수 있다.
상술한 바와 같이, ROUTE 세션은 하나 이상의 LCT(Layered Coding Transport) 세션들로 구성될 수 있다. 하나 이상의 트랜스포트 세션(Transport session)에 대한 세부 정보는 LSID (LCT Session Instance Description)을 통해 시그널링될 수 있다. 구체적으로, LSID는 ROUTE 세션의 각 구성 LCT 트랜스포트 세션을 통해 무엇이 전송되는지를 정의할 수 있다. 각 트랜스포트 세션은 LCT 헤더 내의 TSI(Transport Session Indeifier)에 의해 식별될 수 있다.
LSID는 해당 ROUTE 세션을 통해 전송되는 모든 트랜스포트 세션들을 설명할 수 있다. LSID는 LCT 트랜스포트 세션들을 포함하는 동일한 ROUTE 세션을 통해 전달되거나, 해당 ROUTE 세션의 외부 수단, 예를 들면 유니캐스트 또는 다른 ROUTE 세션을 통해 전달될 수도 있다.
동일한 ROUTE 세션을 통해 전송되는 경우, LSID는 TSI 값이 0인 데디케이티드 LCT 패킷을 통해 전달될 수 있다. 또한 LSID는 다른 데이터 프래그먼트를 참조할 수 있다.
LSID에 의해 참조되는 오브젝트는 LSID 자체와는 다른 TOI밸류를 갖는 TSI=0인 LCT 트랜스포트 세션을 통해 전송된다. 혹은 LSID에 의해 참조되는 오브젝트는 TSI가 0이 아닌 별도의 LCT 트랜스포트 세션을 통해 전송될 수 있다. LSID는 유효성 및 만료 정보 외에 버전 넘버를 사용하여 업데이트 될 수 있다.
도 76은 본 발명의 일 실시예에 따른 방송 송신 시스템에게 할당된 주파수 범위 내의 PLP와 채널 사이의 관계를 나타낸다. 아래에서는 채널 전환 속도 상승을 위한 방송 수신기 내에서의 멀티플 세션 오픈 컨트롤(Multiple 세션 오픈 Control) 방법을 설명하도록 한다. 기존의 방송 시스템과는 달리 차세대 방송 시스템에서는 Physical Layer Pipe (이하 PLP) 를 통해 방송국에 할당된 주파수 범위 안에 복수 개의 PLP를 삽입하여 송출할 수 있다. 한 개 또는 복수개의 PLP는 하나의 채널(혹은 Service)에 관련된 Audio/Video/Data 등의 정보들을 전달 할 수 있고, 방송 수신기는 튜너 설정 이후 특정 PLP를 통해 들어오는 정보들을 이용하여 채널을 수신을 할 수 있다. 도시된 바와 같이 방송국에게 할당 된 주파수 범위 안에서 방송국은 복수 개의 PLP를 구성하여 복수 개의 채널을 전송할 수 있다. 또한 각 PLP의 Robustness를 조절하여 서로 다른 Robustness를 갖는 PLP를 구성할 수도 있다. 여기서 PLP의 Robustness란, 방송 서비스가 전달되는 채널 환경이 열악한 경우에도 방송 서비스가 에러 없이 방송 수신기에 수신될 수 있는 정도를 의미할 수 있다. 즉, PLP가 Robust할수록, 해당 PLP는 더 열악한 전송 채널 환경을 극복하고 방송 수신기에 전달될 수 있다. 차세대 방송 시스템은 기존의 legacy system과는 달리, Fixed Device(e.g., DTV, etc.) 외에 Mobile Device 등에서도 서비스가 제공될 수 있다. 환경 및 수신기의 특성에 따라서 전송하는 정보들의 Robustness가 보장되어야 할 필요가 있다. 이를 위하여 Robustness 정도를 다르게 PLP를 구성하고 전송할 수 있다. 예를 들어, 도면에서 Robustness 정도가 Basic인 PLP보다 Robustness level3으로 구성된 PLP가 더욱 Robust 할 수 있다. 또한 Fixed Device에서 Mobile 전용 방송을 수신할 수도 있게 수신기가 구성될 수 있다. 여기서 모바일 전용 방송은 EMBMS를 예로 들 수 있다. 이러한 복합적인 방송 서비스가 제공됨에 따라 방송 수신기 내에서 처리해야 하는 오버헤드가 증가하고, 이는 방송 수신기의 채널 전환 속도에 영향을 끼칠 수 있다. 즉, 사용자가 방송 수신기에 대해 채널 전환을 요청하였을 때, 전환된 채널의 서비스가 사용자에게 제공될 때까지의 시간이 증가할 수 있다. 따라서, 아래에서는 차세대 방송 시스템 환경에서 방송 수신기의 채널 전환 속도를 상승시키기 위한 방법을 제안할 수 있다.
차세대 방송 시스템은 기존의 TS (Transport stream) 구조와 달리 Broadcast channel과 Broadband channel을 모두 지원하는 Hybrid System을 제공할 수 있다. 또한, 수신기로 전달되는 방송 서비스 데이터의 형태는 IP datagram의 형태를 포함할 수 있다. 이 경우 기존의 TS구조에서는 PID를 이용하여 채널 튜닝을 하였으나, 차세대 방송 수신기의 채널 튜닝은 다른 정보를 이용할 수 있다. 예를 들어 방송 수신기는 특정 채널을 구분하기 위하여 송신측(source)의 IP address와 Port 번호의 조합이나, 송신측의 IP address와 TSI(Transport 세션 Identifier)의 조합 등으로 세션을 설정할 수 있다. 하나의 채널은 한 개 이상의 세션을 통하여 구분될 수 있다. 또한 복수개의 세션이 하나의 채널을 나타내는 경우, 첫번째 세션으로는 Video data가, 두번째 세션으로는 Audio data가 전송될 수 있다. 이러한 경우, 수신기에서는 두 개의 세션을 통해 각각 수신된 오디오와 비디오를 재생할 수도 있다.
일반적으로는 채널 튜닝시 기존에 열려 있던 세션은 닫고, 새로 전환된 채널의 세션 정보를 얻어와 오픈하여 Data를 전달받을 수 있다. 이와 관련하여 본 발명의 일 실시예에서는 채널 전환 속도를 빠르게 하기 위하여 해당 채널이 아닌 다른 채널의 세션 정보를 미리 획득하고 오픈 해두는 방식을 이용해 채널 전환 속도를 상승시킬 수 있다.
도 77은 본 발명의 일 실시예에 따른 방송 시스템에서 동일한 주파수 범위 내에 속하는 PLP들의 세션을 오픈하여 채널 전환하는 방법을 나타낸다. 한 방송국에 할당된 주파수 범위 내에서 해당 방송국은 복수 개의 PLP를 통하여 복수 개의 채널을 전송할 수 있다. 수신기는 채널 튜닝시 해당 주파수 범위 내의 하나 이상 또는 모든 PLP를 수신할 수 있고, 이 중 하나를 취해 방송 서비스를 Display할 수 있다. 이를 확장하여 수신기는 하나 이상 또는 모든 PLP에서 전달되는 세션의 정보를 수신 후 세션을 오픈할 수 있다. 방송 수신기는 현재 사용자가 보고자 하는 채널을 구성하는 세션이 아닐지라도, 동일 주파수 내에서 수신되는 다른 세션들을 오픈하고 관련 data를 미리 획득할 수 있다. 즉, 방송 수신기는 재생 중인 채널 또는 서비스 외의 다른 채널 또는 서비스에 대한 세션을 오픈하고 관련 데이터를 획득할 수 있다. 결과적으로, 방송 수신기는 재생 중인 채널로부터 세션이 미리 오픈된 다른 채널로 채널 전환을 하는 경우, 빠른 채널 전환 속도를 제공할 수 있다.
방송 수신기는 도시된 sequence diagram과 같이 동작하여 동일한 주파수 범위 내에 속하는 PLP들의 하나 이상 또는 모든 세션들을 오픈할 수 있다. 이를 통해 방송 수신기는 채널 전환 속도를 상승시킬 수 있다. 아래에서는 방송 수신기가 복수의 세션을 오픈하는 동작을 각 단계별로 설명할 수 있다. 방송 송신 장치(Broadcaster) 또는 컨텐츠 프로바이더 (Content Provider, CP)는 할당된 주파수를 통해 지속적으로 정보들을 전송할 수 있다(DS10010). 여기서 전송되는 정보들은 PLP들을 통해 전달되는 세션 정보, 방송 서비스 데이터 등을 포함할 수 있다. 방송 수신기는 방송 국으로부터 전송되는 정보를 수신하기 위해 튜너를 특정 방송국에 할당된 주파수로 설정할 수 있다. 즉, 수신기의 튜너가 채널 재핑을 위하여 튜너를 특정 주파수로 설정할 수 있다(DS10020). 튜너는 주파수 설정 이후, 해당 주파수에서 수신되는 하나 이상 또는 모든 PLP들을 수신할 수 있다. 수신기는 수신한 PLP들에 포함된 하나 이상 또는 모든 세션들을 오픈하고, 하나 이상 또는 모든 세션들에 대한 data를 수신할 수 있다(DS10030). 수신기는 오픈된 세션들 중에 현재 재생해야 하는 채널의 관한 세션들로부터 수신된 data들을 system decoder로 전달할 수 있다. 이 과정에서 수신기는 오픈된 세션들을 필터링하여 재생할 채널의 세션들을 선별할 수 있다(DS10040). 수신기가 선별해야 하는 세션들에 대한 정보는 최초 채널 스캔 시에 채널 매니저(Channel Manager, CM)에 저장된 세션 정보를 통해 획득할 수 있다. 시스템 디코더는 튜너로부터 전달받은 데이터를 디코딩할 수 있다(DS10050). 여기서 시스템 디코더는 디코딩된 데이터 중 시그널링과 관련된 정보들을 signaling parser로 전달할 수 있다(DS10061). 또한 디코딩된 데이터 중 서비스 데이터, 예를 들어 오디오 및 비디오 데이터를 A/V 디코더로 전달할 수 있다(DS10062). 방송 수신기는 signaling parser와 A/V 디코더에서 각각 디코딩된 결과를 이용하여 현재 채널에서 제공하는 서비스 컨텐츠(service content)를 디스플레이할 수 있다. 상술한 DS10061 및 DS10062는 동시에 처리될 수도 있고, 순차적으로 처리될 수도 있다.
방송 수신기는 현재 채널의 서비스 컨텐츠를 재생하는 중에 현재 채널을 새로운 채널로 전환하는 채널 전환요청을 수신할 수 있다(DS10070). 전환 요청에 대응하는 새로운 채널이 이전에 튜닝된 주파수와 동일한 경우, 방송 수신기는 DS10030에서 이미 오픈한 세션 및 해당 세션에 대한 데이터를 이용하여 새로운 채널에 대응하는 세션들을 선별할 수 있다. 방송 수신기는 선별된 세션들로부터 수신된 data들을 system decoder로 전달할 수 있다(DS10080). 즉, 전환 요청에 대응하는 새로운 채널이 이전에 튜닝된 주파수와 동일하지만 다른 PLP를 통해 정보들을 획득해야 할 경우, 방송 수신기는 기존 세션을 종료(close)하고 다시 새로운 세션을 오픈할 필요가 없다. 방송 수신기는 새로운 채널에 대응하는 데이터를 바로 filtering하여 system decoder로 새로운 채널에 관한 정보들을 전달 할 수 있다. 시스템 디코더는 전환된 채널의 세션에 대응하는 데이터들을 디코딩할 수 있다(DS10090). 여기서 시스템 디코더는 디코딩된 데이터 중 시그널링과 관련된 정보들을 signaling parser로 전달할 수 있다(DS10101). 또한 디코딩된 데이터 중 서비스 데이터, 예를 들어 오디오 및 비디오 데이터를 A/V 디코더로 전달할 수 있다(DS10102). 방송 수신기는 signaling parser와 A/V 디코더에서 각각 디코딩된 결과를 이용하여 현재 채널에서 제공하는 서비스 컨텐츠(service content)를 디스플레이할 수 있다. 상술한 DS10101 및 DS10102는 동시에 처리될 수도 있고, 순차적으로 처리될 수도 있다.
방송 수신기는 새로운 채널의 서비스 컨텐츠를 재생하는 중에 다른 채널로 전환하는 채널 전환요청을 수신할 수 있다(DS10110). 전환 요청에 대응하는 다른 채널이 이전에 튜닝된 주파수와 동일하지 않은 경우, 튜너는 새로운 주파수를 튜닝할 수 있다(DS10120). 이 경우, 즉 방송 수신기가 이전 주파수와 다른 주파수로 튜닝해야 하는 경우, 방송 수신기는 기존의 오픈되어 있던 세션들을 모두 close하고, 튜너는 새로운 주파수로 튜닝할 수 있다. 방송 수신기가 새로운 주파수를 튜닝한 이후에는 DS10030 내지 DS10062의 단계를 반복할 수 있다.
추가적으로 채널 전환 속도를 상승시키기 위하여 다음과 같은 방법이 고려될 수 있다. 방송 수신기는 하나 이상 또는 모든 세션을 오픈하여 data를 얻을 때 채널 전환 속도를 증가시킬 수 있다. 하지만, 이러한 방법은 한번에 수신되는 PLP들이 많고 각각의 PLP가 모두 다른 채널의 세션을 포함하는 경우, 세션을 통해 수신되는 데이터의 양이 증가할 수 있다. 이로 인해, 방송 수신기에서는 각각의 세션에 대한 핸들링 및 데이터 수신/처리에 오버헤드가 발생할 수 있다. 이를 해결하기 위하여, 방송 수신기는 동일 주파수 범위 내에서 수신되는 모든 세션을 오픈하는 것이 아니라, 현재 tuning해야 하는 채널에 관한 세션 및 현재 채널에 인접한 채널에 관련된 세션들만을 선별적으로 오픈할 수 있다. 이를 통해 모든 세션에 대한 핸들링 및 데이터 수신/처리에 의해 발생할 수 있는 overhead를 줄일 수 있다. 전술한 세션 오픈의 범위는 수신기 자체의 성능 또는 차세대 방송 시스템을 사용하는 표준이나 단체에 지정에 따라 달라질 수 있다.
도 78은 본 발명의 일 실시예에 따른 방송 시스템에서 다른 주파수 범위 내에 속하는 PLP들의 세션을 오픈하여 채널 전환하는 방법을 나타낸다. 각각의 방송국은 할당된 서로 다른 주파수를 통해 채널을 송신할 수 있다. 또한 각 방송국은 할당된 주파수 범위 내에서 복수 개의 PLP를 통하여 복수 개의 채널을 전송할 수 있다. 수신기가 서로 다른 주파수를 동시에 수신 할 수 있고 튜너(tuner)를 통해 전달되는 하나 이상 또는 모든 세션들을 오픈하여 데이터(data)들을 동시에 수신할 수 있는 경우, 수신기는 채널 전환 속도를 상승시킬 수 있다. 수신기가 서로 다른 주파수를 동시에 수신하기 위해서, 수신기는 2개 이상의 튜너를 탑재해야 한다. 수신기에 탑재된 튜너의 개수가 증가할 수록, 수신기가 동시에 획득할 수 있는 채널에 관한 정보들은 늘어날 수 있다. 도면은 수신기가 포함한 튜너가 2개일 경우, 서로 다른 주파수 범위 내에 속하는 PLP들의 하나 이상 또는 모든 세션을 오픈하여 채널 전환 속도 상승을 얻는 방법을 나타낸 예시이다.
방송 송신기(Broadcaster) 또는 컨텐츠 제공자(Content Provider, CP)는 지속적으로 할당된 주파수를 통해 정보들을 전송할 수 있다. 이 때 방송 송신기는 두 개 이상의 주파수로 방송 신호를 송신할 수 있다(DS11010). 수신기는 두 개 이상의 튜너를 제어하여 각 튜너의 수신 주파수를 방송 송신기로부터 송신된 두 개 주파수, 제1 주파수 및 제2 주파수로써 각각 설정할 수 있다. 예를 들어 방송 수신기는 튜너1을 현재 재핑되어야 할 채널의 주파수인 제1 주파수로써 설정할 수 있다(DS11021). 현재 재핑되어야 할 채널은 방송 수신기가 현재 수신하여 디스플레이할 채널을 의미할 수 있다. 또한 방송 수신기는 튜너2를 기설정된(Pre-define) 주파수인 제2 주파수로써 설정할 수 있다(DS11022). 여기서 제2 주파수는 현재 수신하고 있는 주파수의 인접한 주파수일 수 있으며, 사용자의 선호 채널을 반영하거나, 과거 채널 변경 패턴을 고려하여 결정된 주파수일 수 있다. 방송 수신기는 DS11021 및 DS11022의 동작을 동시에 수행할 수도 있다. 방송 수신기는 복수의 튜너들에 대해 각각 수신 주파수를 설정한 후, 해당 주파수에 포함된 하나 이상 또는 모든 PLP들을 수신할 수 있다. 또한 방송 수신기는 수신한 PLP들 각각에 포함된 하나 이상 또는 모든 세션들을 오픈하여 복수의 세션에 포함된 data를 수신할 수 있다(DS11030). 방송 수신기는 튜너1을 이용하여 현재 디스플레이 해야 하는 채널에 관련된 세션들의 data들만을 필터링하고 시스템 디코더(system decoder)로 전달할 수 있다(DS11040). 수신기가 선별해야 하는 세션들에 대한 정보는 최초 채널 스캔 시에 채널 매니저(Channel Manager, CM)에 저장된 세션 정보를 통해 획득할 수 있다. System decoder는 전달받은 data를 decoding할 수 있다(DS11050). 수신기는 시스템 디코더에 의해 디코딩된 정보들 중 signaling과 관련된 정보들은 시그널링 파서(signaling parser)로 전달할 수 있다(DS11061). 또한 수신기는 시스템 디코더에 의해 디코딩된 정보들 중 오디오 및 비디오와 관련된 정보들을 A/V 디코더로 전달할 수 있다 한다(DS11062). 수신기는 시그널링 파서(signaling parser)와 A/V 디코더에서 각각 처리된 결과를 이용하여 현재 채널의 컨텐트를 디스플레이 할 수 있다.
방송 수신기는 현재 채널의 서비스 컨텐츠를 재생하는 중에 현재 채널을 새로운 채널로 전환하는 채널 전환요청을 수신할 수 있다(DS10070). 이 때 채널 전환요청이 수신된 새로운 채널은 튜너2가 설정한 제2 주파수에 속한 채널일 수 있다. 즉, 방송 수신기는 새로운 채널이 포함된 제2 주파수를 미리 튜닝함으로써 새로운 채널로의 채널 전환속도를 증가시킬 수 있다. 튜너2가 설정한 제2 주파수에 포함된 채널로의 채널 전환 요청을 수신한 방송 수신기는, 튜너1이 설정한 제1 주파수에 포함된 하나 이상 또는 모든 세션을 close하고 data 수신을 중단할 수 있다(DS11081). 튜너1의 경우 새로운 채널로 전환되면 더 이상 튜너 1이 설정한 제1 주파수에서 정보들을 수신할 필요가 없기 때문이다. 또한 제1 주파수에 포함된 세션이 종료되면, 방송 수신기는 Pre-define된 제3 주파수로 튜닝할 수 있다. 튜닝이 완료되고 나서는 제3 주파수 범위 내에서 전송되는 하나 이상 또는 모든 PLP들을 수신하고, 각 PLP들로부터 획득한 하나 이상 또는 모든 세션들을 오픈하여 data를 수신하고 있을 수 있다. 실시예에 따라, 새로운 채널에서 이전 채널로 전환될 필요가 있는 경우에는 DS11081의 동작을 스킵할 수 있다. 즉, 제3 주파수와 제1 주파수가 동일한 경우, DS11081의 동작을 스킵할 수 있다. 예를 들어, 사용자가 튜너1의 제1 주파수에 포함된 채널과 튜너2의 제2 주파수에 포함된 채널 사이에서 반복하여 채널 전환을 하는 경우에는 상기 튜너1에 대응하는 세션을 종료하지 않고 유지하여, 채널 전환 속도를 증가시킬 수도 있다. 방송 수신기는 튜너2를 이용하여 현재 수신하고 있는 모든 data들 중 채널전환요청의 대상이 된 채널에 관련된 세션들의 data들을 선별(filtering)하여 시스템 디코더(system decoder)로 전달할 수 있다(DS11082). 수신기가 선별하여 전달하는 세션들에 대한 정보는 최초 channel scan시 CM에 저장된 세션 정보를 통해 획득할 수 있다. 방송 수신기는 시스템 디코더(System decoder)를 이용하여 전환된 채널에 관한 정보들을 디코딩할 수 있다(DS11090). 수신기는 시스템 디코더에 의해 디코딩된 정보들 중 signaling과 관련된 정보들은 시그널링 파서(signaling parser)로 전달할 수 있다(DS11101). 또한 수신기는 시스템 디코더에 의해 디코딩된 정보들 중 오디오 및 비디오와 관련된 정보들을 A/V 디코더로 전달할 수 있다 한다(DS11102). 수신기는 시그널링 파서(signaling parser)와 A/V 디코더에서 각각 처리된 결과를 이용하여 현재 채널의 컨텐트를 디스플레이 할 수 있다.
전술한 Pre-define된 주파수를 규정하는데는 다음과 같은 방식이 고려될 수 있다. 방송 수신기는 이전 채널에 관한 정보들이 전송되는 주파수, 현재 채널과 바로 인접한 주파수 또는 사용자가 선호채널 등으로 설정한 주파수를 고려하여 기설정된 주파수를 설정할 수 있다. 방송 수신기 내에서 선호채널의 우선 순위가 고려될 수 있는 경우, 우선순위에 따라 주파수 설정이 가능할 수 있다.
추가적으로 채널 전환 속도를 상승시키기 위하여 다음과 같은 방법이 고려될 수 있다. 방송 수신기는 하나 이상 또는 모든 세션을 오픈하여 data를 얻을 때 채널 전환 속도를 증가시킬 수 있다. 하지만, 이러한 방법은 한번에 수신되는 PLP들이 많고 각각의 PLP가 모두 다른 채널의 세션을 포함하는 경우, 세션을 통해 수신되는 데이터의 양이 증가할 수 있다. 이로 인해, 방송 수신기에서는 각각의 세션에 대한 핸들링 및 데이터 수신/처리에 오버헤드가 발생할 수 있다. 이를 해결하기 위하여, 방송 수신기는 동일 주파수 범위 내에서 수신되는 모든 세션을 오픈하는 것이 아니라, 현재 tuning해야 하는 채널에 관한 세션 및 현재 채널에 인접한 채널에 관련된 세션들만을 선별적으로 오픈할 수 있다. 이를 통해 모든 세션에 대한 핸들링 및 데이터 수신/처리에 의해 발생할 수 있는 overhead를 줄일 수 있다. 전술한 세션 오픈의 범위는 수신기 자체의 성능 또는 차세대 방송 시스템을 사용하는 표준이나 단체에 지정에 따라 달라질 수 있다.
아래에서는 채널 전환 속도 개선 및 안정화 방안에 대해 설명하도록 한다.
도 79는 본 발명의 일 실시예에 따른 수신기의 멀티미디어 패킷을 수신하고 재생하는 순서를 나타낸다. 도면은 채널 전환을 하여 멀티미디어 패킷을 수신하고 필터링하여, 패킷 타입에 따라서 각각의 파서를 통하여 미디어 디코더로 데이터를 전달하여 미디어를 재생하는 일련의 과정을 단순화 하여 보여 준다. 도면에서 Init. Seg는 실제 멀티미디어 Packet 을 제외한 미디어 디코딩을 위한 Packet으로써 디코더를 초기화하는데 사용될 수 있는 패킷을 의미할 수 있다. 예를 들어, MPEG-DASH의 경우 초기화 세그먼트(initialization Segment)를 의미할 수 있다. 방송 수신기는 멀티미디어 패킷을 수신하기 위해 채널을 세팅할 수 있다(DS12010). 여기서 방송 수신기는 방송 수신기에 포함된 튜너의 주파수를 해당 채널을 전송하는 주파수로써 설정할 수 있다. 방송 수신기는 세팅된 채널로부터 패킷을 수신할 수 있다. 방송 수신기에 포함된 패킷 수신기는 설정된 주파수에 포함되어 수신되는 적어도 하나 이상의 패킷들을 수신할 수 있다(DS12020). 방송 수신기는 수신된 패킷들을 중에서 세팅된 채널에 대응하는 적어도 하나의 세션에 관련된 패킷들을 패킷 필터를 이용하여 선별할 수 있다(DS12030). 방송 수신기는 선별된 패킷들이 MPD/초기화 세그먼트를 포함하는 패킷인지 또는 서비스(미디어) 데이터를 포함하는 패킷인지를 구분할 수 있다(DS12040). 방송 수신기는 패킷이 MPD 또는 초기화 세그먼트를 포함하는 패킷인 경우 MPD 파서 또는 초기화 세그먼트 파서로 해당 패킷을 전달하여 파싱할 수 있다(DS12051). 또한 방송 수신기는 패킷이 미디어 세그먼트를 포함하는 패킷인 경우 미디어 세그먼트 파서로 해당 패킷을 전달하여 파싱할 수 있다(DS12052). 방송 수신기는 초기화 세그먼트에 의해 파싱된 초기화 정보를 이용하여 미디어 디코더를 초기화하고, MPD를 참조하여, 미디어 세그먼트 파서에 의해 파싱된 미디어 세그먼트를 디코딩할 수 있다(DS12060). 이후, 방송 수신기는 미디어 렌더러(media renderer)를 이용하여 디코딩된 미디어 세그먼트 데이터를 디스플레이할 수 있다(DS12070).
도 80은 본 발명의 일 실시예에 따른 채널 전환 속도 개선 방법을 적용한 수신기의 멀티미디어 패킷을 수신하고 재생하는 순서를 나타낸다. 방송 수신기는 멀티미디어 패킷을 수신하기 위해 채널을 세팅할 수 있다(DS13010). 여기서 방송 수신기는 방송 수신기에 포함된 튜너의 주파수를 해당 채널을 전송하는 주파수로써 설정할 수 있다. 주파수 설정이 완료되면, 방송 수신기는 해당 채널에 처음 진입했는지 여부에 기초하여 동작할 수 있다(DS13020). 방송 수신기가 처음으로 해당 서비스 채널에 진입하였을 경우, 방송 수신기는 재생될 미디어 패킷을 제외한 미디어 재생을 위하여 재활용 가능한 패킷 또는 파싱된 결과를 미리 저장할 수 있다. 여기서 재활용 가능한 패킷 또는 파싱된 결과는 MPD P, Init P를 포함할 수 있다. 여기서, MPD P는 MPD 또는 해당 MPD를 파싱하여 획득한 파라미터 값을 의미할 수 있다. 또한 Init P는 미디어 세그먼트(Media Segment)를 제외한 일련의 segment 또는 해당 segment 를 파싱하여 획득한 파라메터 값을 의미할 수 있다. 방송 수신기는 최초로 진입한 채널에 대해서는 해당 채널에 대한 정보(MPD P, Init P)를 저장함으로써, 추후 해당 채널에 재진입하는 경우에 재사용할 수 있다.
DS13020에서 방송 수신기가 세팅된 채널에 최초로 진입한 경우, 방송 수신기는 세팅된 채널로부터 패킷을 수신할 수 있다. 방송 수신기에 포함된 패킷 수신기는 설정된 주파수에 포함되어 수신되는 적어도 하나 이상의 패킷들을 수신할 수 있다(DS13030). 방송 수신기는 수신된 패킷들을 중에서 세팅된 채널에 대응하는 적어도 하나의 세션에 관련된 패킷들을 패킷 필터를 이용하여 선별할 수 있다(DS13040). 방송 수신기는 선별된 패킷들이 MPD/초기화 세그먼트를 포함하는 패킷인지 또는 서비스(미디어) 데이터를 포함하는 패킷인지를 구분할 수 있다(DS13050). 방송 수신기는 패킷이 MPD 또는 초기화 세그먼트(initial segment)를 포함하는 패킷인 경우 MPD 파서 또는 초기화 세그먼트 파서로 해당 패킷을 전달하여 파싱할 수 있다(DS13060). 방송 수신기는 파싱된 MPD 또는 파싱된 초기화 세그먼트가 저장된 MPD 또는 초기화 세그먼트와 상이한 경우(DS13070), 파싱된 MPD 또는 파싱된 초기화 세그먼트를 저장할 수 있다(DS13075). 만약 파싱된 초기화 세그먼트가 저장된 MPD 또는 초기화 세그먼트와 동일한 경우에는 상기 저장 과정(DS13075)을 스킵할 수 있다. 또한 방송 수신기는 패킷이 미디어 세그먼트를 포함하는 패킷인 경우 미디어 세그먼트 파서로 해당 패킷을 전달하여 파싱할 수 있다(DS13055). 방송 수신기는 초기화 세그먼트에 의해 파싱된 초기화 정보를 이용하여 미디어 디코더를 초기화하고, MPD를 참조하여, 미디어 세그먼트 파서에 의해 파싱된 미디어 세그먼트를 디코딩할 수 있다(DS13080). 이후, 방송 수신기는 미디어 렌더러(media renderer)를 이용하여 디코딩된 미디어 세그먼트 데이터를 디스플레이할 수 있다(DS13090).
즉, 방송 수신기가 채널 전환을 통하여 특정 채널에 재진입 하였을 경우, 방송 수신기는 저장된 패킷 또는 채널 정보가 유효한 경우에는 새로 채널 정보 패킷을 수신하거나 저장 및 파싱을 하지 않고, 바로 미디어 세그먼트에 대한 재생을 준비 할 수 있다. 즉, DS13020에서 방송 수신기가 세팅된 채널에 재진입하는 경우, 방송 수신기는 이미 저장된 MPD P, Init P을 읽어온 후(DS13025), 저장된 초기화 세그먼트의 정보를 이용하여 미디어 디코더를 초기화하고, 저장된 MPD의 정보를 참조하여, 미디어 세그먼트 파서에 의해 파싱된 미디어 세그먼트를 디코딩할 수 있다. 다시 말하면, 방송 수신기는 미디어 패킷만을 새로 수신하여 바로 미디어 재생을 진행한다. 이와 같은 과정을 통해 채널 전환 시에 요청되는, 미디어 재생을 위해 필요한 초기화 패킷을 수신하는 시간 또는 이를 수신한 후 파싱하는 시간을 절약하여 바로 미디어를 재생할 수 있어 시간적인 이익을 취할 수 있다. 또한 방송 수신기는 재생에 필요한 초기화 패킷 등이 채널 전환시 수신이 되지 않거나 초기화 패킷 자체에 오류가 있는 경우에도 기존 저장된 유효한 데이터를 이용하여 미디어를 재생할 수 있어 안정적인 채널 전환을 수행할 수 있다.
도 81은 본 발명의 일 실시예에 따른 채널 전환 속도 개선 방법을 적용한 수신기의 DASH 미디어 데이터를 재생하는 순서를 나타낸다. 도면은 본 발명에서 제안하는 채널 전환 속도 개선 및 안정화 방안에 대한 dash 미디어 콘텐츠 재생의 일반 적인 예이다. 도면에서 IS는 초기화 세그먼트(initial Segment)를 의미하고, MS는 미디어 세그먼트(Media Segment)를 의미한다. 방송 수신기는 패킷 필터(packet filter), MPD 파서, ISO BMFF 파서, 메모리 또는 미디어 디코더 중 적어도 하나를 포함할 수 있다. 방송 수신기는 HTTP간 서버(Inter HTTP Server)에 접속하여 수신하고자 하는 프로그램(채널)을 요청할 수 있다. 아래의 동작은 방송 수신기가 해당 프로그램을 최초로 요청한 경우와 재요청한 경우에 모두 적용될 수 있다. 방송 수신기에 포함된 Dash 클라이언트(Dash Client)는 HTTP간 서버에 대해 MPD를 요청할 수 있다. Dash 클라이언트는 HTTP간 서버로부터 송신된 MPD를 수신하고 이를 MPD 파서로 전달할 수 있다. MPD 파서는 MPD 파일을 파싱하여 초기화 세그먼트와 미디어 세그먼트의 URL 주소를 획득할 수 있다. 이후 방송 수신기의 Dash 클라이언트는 획득한 초기화 세그먼트의 URL 주소를 이용하여, 초기화 세그먼트인 IS를 HTTP간 서버에 요청하고, 이를 수신할 수 있다. Dash 클라이언트는 수신된 IS를 ISO BMFF 파서에 전달할 수 있다. ISO BMFF 파서는 IS를 파싱하고, 파싱된 IS 정보를 미디어 디코더에 전달하여 미디어 디코더를 초기화할 수 있다. 이후 Dash 클라이언트는 획득한 미디어 세그먼트의 URL 주소를 이용하여, 미디어 세그먼트 MS를 HTTP간 서버에 요청하고, 수신된 MS는 ISO BMFF 파서에 전달될 수 있다. ISO BMFF 파서는 전달된 MS를 파싱하여 획득한 복수의 억세스 유닛들(Access Units, AUs)을 미디어 디코더에 전달할 수 있다. 미디어 디코더는 전달받은 AUs들을 디코딩하여 디스플레이할 수 있다. 전술한 바와 같이, 방송 수신기는 추후 동일한 프로그램에 접속한 경우에도 상술한 바와 동일한 동작을 할 수 있다.
도 82는 본 발명의 일 실시예에 따른 수신기가 세그먼트를 저장하여 채널 전환 속도를 개선하는 방법을 나타낸다. 도면은 본 발명에서 제안하는 채널 전환 속도 개선 및 안정화 방안 중 세그먼트를 저장하는 경우를 방송 수신기에 적용한 실시예이다. 도면에서 IS는 초기화 세그먼트(initial Segment)를 의미하고, MS는 미디어 세그먼트(Media Segment)를 의미한다. 방송 수신기는 패킷 필터(packet filter), MPD 파서, ISO BMFF 파서, 메모리 또는 미디어 디코더 중 적어도 하나를 포함할 수 있다. 방송 수신기는 HTTP간 서버(Inter HTTP Server)에 접속하여 수신하고자 하는 프로그램(채널)을 요청할 수 있다. 방송 수신기가 해당 프로그램을 최초로 요청한 경우, 방송 수신기에 포함된 Dash 클라이언트(Dash Client)는 HTTP간 서버에 대해 MPD를 요청할 수 있다. Dash 클라이언트는 HTTP간 서버로부터 송신된 MPD를 수신하고 이를 MPD 파서로 전달할 수 있다. MPD 파서는 MPD 파일을 파싱하여 초기화 세그먼트와 미디어 세그먼트의 URL 주소를 획득할 수 있다. Dash 클라이언트는 수신된 MPD 파일을 메모리에 저장할 수 있다. 이후 방송 수신기의 Dash 클라이언트는 획득한 초기화 세그먼트의 URL 주소를 이용하여, 초기화 세그먼트인 IS를 HTTP간 서버에 요청하고, 이를 수신할 수 있다. Dash 클라이언트는 수신된 IS를 ISO BMFF 파서에 전달할 수 있다. ISO BMFF 파서는 IS를 파싱하고, 파싱된 IS 정보를 미디어 디코더에 전달하여 미디어 디코더를 초기화할 수 있다. 또한 Dash 클라이언트는 수신된 초기화 세그먼트(Initial Segment, IS)를 메모리에 저장할 수 있다. 이후 Dash 클라이언트는 획득한 미디어 세그먼트의 URL 주소를 이용하여, 미디어 세그먼트 MS를 HTTP간 서버에 요청하고, 수신된 MS는 ISO BMFF 파서에 전달될 수 있다. ISO BMFF 파서는 전달된 MS를 파싱하여 획득한 복수의 억세스 유닛들(Access Units, AUs)을 미디어 디코더에 전달할 수 있다. 미디어 디코더는 전달받은 AUs들을 디코딩하여 디스플레이할 수 있다. 이후 동작은 MS에 대한 요청과 수신에 대한 반복 루프(loop)에 의해 반복될 수 있다.
방송 수신기가 해당 프로그램을 재요청한 경우, 즉 최초요청이 아닌 경우, Dash 클라이언트는 메모리에 저장된 MPD 파일을 읽음으로써, 신속하게 MPD 파일을 MPD 파서에 전달할 수 있다. 또한 Dash 클라이언트는 초기화 세그먼트 (IS)도 메모리로부터 읽어옴으로써, 신속하게 IS 파일을 ISO BMFF 파서로 전달할 수 있다. ISO BMFF 파서는 IS를 파싱하고, 파싱된 IS 정보를 미디어 디코더에 전달하여 미디어 디코더를 초기화할 수 있다. 이후 Dash 클라이언트는 획득한 미디어 세그먼트의 URL 주소를 이용하여, 미디어 세그먼트 MS를 HTTP간 서버에 요청하고, 수신된 MS는 ISO BMFF 파서에 전달될 수 있다. ISO BMFF 파서는 전달된 MS를 파싱하여 획득한 복수의 억세스 유닛들(Access Units, AUs)을 미디어 디코더에 전달할 수 있다. 미디어 디코더는 전달받은 AUs들을 디코딩하여 디스플레이할 수 있다. 이후 동작은 MS에 대한 요청과 수신에 대한 반복 루프(loop)에 의해 반복될 수 있다. 즉, 두 번째 서비스 진입시에는 방송 수신기가 저장된 초기화 세그먼트를 바로 파싱하여 미디어 재생 준비(디코더 초기화)를 하고 미디어 세그먼트를 요청함으로써 MPD 와 이니셜 세그먼트를 요청하여 수신하는 시간을 단축할 수 있다. 결과적으로 방송 수신기는 최초 재생 시간을 단축 할 수 있다. 또한 두번째 진입시 MPD 파일 또는 이니셜 세그먼트가 수신이 되지 않는 경우 또는 세그먼트 자체에 오류가 있는 경우에도 방송 수신기는 저장된 MPD 파일 또는 이니셜 세그먼트를 이용하여 정상적으로 미디어 데이터에 대한 재생이 가능하다.
도 83은 본 발명의 일 실시예에 따른 수신기가 세그먼트에 대한 파싱 결과를 저장하여 채널 전환 속도를 개선하는 방법을 나타낸다. 도면은 본 발명에서 제안하는 채널 전환 속도 개선 및 안정화 방안 중 세그먼트를 파싱한 결과를 저장하는 경우를 방송 수신기에 적용 한 실시 예이다. 도면은 본 발명에서 제안하는 채널 전환 속도 개선 및 안정화 방안 중 세그먼트를 저장하는 경우를 방송 수신기에 적용한 실시예이다. 방송 수신기는 최초 서비스 진입 시에 MPD 세그먼트 파싱 결과와 이니셜 세그먼트의 파싱된 결과를 저장할 수 있다. 도면에서 IS는 초기화 세그먼트(initial Segment)를 의미하고, MS는 미디어 세그먼트(Media Segment)를 의미한다. 또한 MPD_PR 및 IS_PR은 각각 MPD 파일이 파싱된 정보 및 IS가 파싱된 정보를 의미할 수 있다. 방송 수신기는 패킷 필터(packet filter), MPD 파서, ISO BMFF 파서, 메모리 또는 미디어 디코더 중 적어도 하나를 포함할 수 있다. 방송 수신기는 HTTP간 서버(Inter HTTP Server)에 접속하여 수신하고자 하는 프로그램(채널)을 요청할 수 있다. 방송 수신기가 해당 프로그램을 최초로 요청한 경우, 방송 수신기에 포함된 Dash 클라이언트(Dash Client)는 HTTP간 서버에 대해 MPD를 요청할 수 있다. Dash 클라이언트는 HTTP간 서버로부터 송신된 MPD를 수신하고 이를 MPD 파서로 전달할 수 있다. MPD 파서는 MPD 파일을 파싱하여 초기화 세그먼트와 미디어 세그먼트의 URL 주소를 획득할 수 있다. 또한 MPD 파서는 파싱된 MPD 파일 정보인 MPD_PR을 메모리에 전달하여 저장할 수 있다. 이후 방송 수신기의 Dash 클라이언트는 획득한 초기화 세그먼트의 URL 주소를 이용하여, 초기화 세그먼트인 IS를 HTTP간 서버에 요청하고, 이를 수신할 수 있다. Dash 클라이언트는 수신된 IS를 ISO BMFF 파서에 전달할 수 있다. ISO BMFF 파서는 IS를 파싱하고, 파싱된 IS 정보를 미디어 디코더에 전달하여 미디어 디코더를 초기화할 수 있다. 또한 ISO BMFF 파서는 파싱된 초기화 세그먼트(Initial Segment, IS)의 정보인 IS_PR을 메모리에 전달하여 저장할 수 있다. 이후 Dash 클라이언트는 획득한 미디어 세그먼트의 URL 주소를 이용하여, 미디어 세그먼트 MS를 HTTP간 서버에 요청하고, 수신된 MS는 ISO BMFF 파서에 전달될 수 있다. ISO BMFF 파서는 전달된 MS를 파싱하여 획득한 복수의 억세스 유닛들(Access Units, AUs)을 미디어 디코더에 전달할 수 있다. 미디어 디코더는 전달받은 AUs들을 디코딩하여 디스플레이할 수 있다. 이후 동작은 MS에 대한 요청과 수신에 대한 반복 루프(loop)에 의해 반복될 수 있다.
방송 수신기가 해당 프로그램을 재요청한 경우, 즉 최초요청이 아닌 경우, MPD 파서는 메모리에 저장된 파싱된 MPD 정보를, 신속하게 읽어올 수 있다. 또한 ISO BMFF 파서는 파싱된 초기화 세그먼트 (IS) 정보도 메모리로부터 읽어올 수 있다. ISO BMFF 파서는 파싱된 IS 정보를 이용하여 미디어 디코더를 초기화할 수 있다. 이후 Dash 클라이언트는 획득한 미디어 세그먼트의 URL 주소를 이용하여, 미디어 세그먼트 MS를 HTTP간 서버에 요청하고, 수신된 MS는 ISO BMFF 파서에 전달될 수 있다. ISO BMFF 파서는 전달된 MS를 파싱하여 획득한 복수의 억세스 유닛들(Access Units, AUs)을 미디어 디코더에 전달할 수 있다. 미디어 디코더는 전달받은 AUs들을 디코딩하여 디스플레이할 수 있다. 이후 동작은 MS에 대한 요청과 수신에 대한 반복 루프(loop)에 의해 반복될 수 있다. 즉, 두 번째 서비스 진입시에는 방송 수신기가 파싱되어 저장된 정보(MPD 정보, IS 정보)를 이용하여 신속하여 미디어 재생 준비(디코더 초기화)를 하고 미디어 세그먼트를 요청함으로써 MPD 와 이니셜 세그먼트를 요청하여 수신하고 파싱하는 시간을 단축할 수 있다. 결과적으로 방송 수신기는 최초 재생 시간을 단축 할 수 있다. 또한 두번째 진입시 MPD 파일 또는 이니셜 세그먼트가 수신이 되지 않는 경우 또는 세그먼트 자체에 오류가 있는 경우에도 방송 수신기는 저장된 MPD 파일 또는 이니셜 세그먼트를 이용하여 정상적으로 미디어 데이터에 대한 재생이 가능하다.
도 84는 본 발명의 일 실시예에 따른 수신기가 Inter Http Server 또는 Packet Filter로부터 수신된 세그먼트를 저장하여 채널 전환 속도를 개선하는 방법을 나타낸다. 전술한 두 실시예의 경우 DASH 클라이언트 이후 단에서 최초 서비스 진입시에 MPD 세그먼트(파일) 또는 MPD 파싱 결과, 초기화 세그먼트 또는 초기화 세그먼트의 파싱된 결과를 저장했다. 하지만, 그러나 도시된 바와 같이 방송 수신기는 DASH 클라이언트 이전 단인 HTTP간 서버(Inter Http Server)로부터 수신된 세그먼트 또는 패킷 필터(Packet Filter)로부터 수신된 패킷을 메모리에 저장하여 시간 단축 및 안정화 효과를 얻을 수 있다. 도면에서 IS는 초기화 세그먼트(initial Segment)를 의미하고, MS는 미디어 세그먼트(Media Segment)를 의미한다. 방송 수신기는 패킷 필터(packet filter), MPD 파서, ISO BMFF 파서, 메모리 또는 미디어 디코더 중 적어도 하나를 포함할 수 있다. 방송 수신기는 HTTP간 서버(Inter HTTP Server)에 접속하여 수신하고자 하는 프로그램(채널)을 요청할 수 있다. 방송 수신기가 해당 프로그램을 최초로 요청한 경우, 방송 수신기에 포함된 Dash 클라이언트(Dash Client)는 HTTP간 서버에 대해 MPD를 요청할 수 있다. Dash 클라이언트는 HTTP간 서버로부터 송신된 MPD를 수신하고 이를 MPD 파서로 전달할 수 있다. MPD 파서는 MPD 파일을 파싱하여 초기화 세그먼트와 미디어 세그먼트의 URL 주소를 획득할 수 있다. 또한 HTTP간 서버 또는 패킷 필터로부터 수신된 MPD 파일(세그먼트)는 메모리에 저장될 수 있다. 이후 방송 수신기의 Dash 클라이언트는 획득한 초기화 세그먼트의 URL 주소를 이용하여, 초기화 세그먼트인 IS를 HTTP간 서버에 요청하고, 이를 수신할 수 있다. Dash 클라이언트는 수신된 IS를 ISO BMFF 파서에 전달할 수 있다. ISO BMFF 파서는 IS를 파싱하고, 파싱된 IS 정보를 미디어 디코더에 전달하여 미디어 디코더를 초기화할 수 있다. 또한 HTTP간 서버 또는 패킷 필터로부터 수신된 초기화 세그먼트(Initial Segment, IS)는 메모리에 저장될 수 있다. 이후 Dash 클라이언트는 획득한 미디어 세그먼트의 URL 주소를 이용하여, 미디어 세그먼트 MS를 HTTP간 서버에 요청하고, 수신된 MS는 ISO BMFF 파서에 전달될 수 있다. ISO BMFF 파서는 전달된 MS를 파싱하여 획득한 복수의 억세스 유닛들(Access Units, AUs)을 미디어 디코더에 전달할 수 있다. 미디어 디코더는 전달받은 AUs들을 디코딩하여 디스플레이할 수 있다. 이후 동작은 MS에 대한 요청과 수신에 대한 반복 루프(loop)에 의해 반복될 수 있다.
방송 수신기가 해당 프로그램을 재요청한 경우, 즉 최초요청이 아닌 경우, Dash 클라이언트는 메모리에 저장된 MPD 파일을 읽음으로써, 신속하게 MPD 파일을 MPD 파서에 전달할 수 있다. 또한 Dash 클라이언트는 초기화 세그먼트 (IS)도 메모리로부터 읽어옴으로써, 신속하게 IS 파일을 ISO BMFF 파서로 전달할 수 있다. ISO BMFF 파서는 IS를 파싱하고, 파싱된 IS 정보를 미디어 디코더에 전달하여 미디어 디코더를 초기화할 수 있다. 이후 Dash 클라이언트는 획득한 미디어 세그먼트의 URL 주소를 이용하여, 미디어 세그먼트 MS를 HTTP간 서버에 요청하고, 수신된 MS는 ISO BMFF 파서에 전달될 수 있다. ISO BMFF 파서는 전달된 MS를 파싱하여 획득한 복수의 억세스 유닛들(Access Units, AUs)을 미디어 디코더에 전달할 수 있다. 미디어 디코더는 전달받은 AUs들을 디코딩하여 디스플레이할 수 있다. 이후 동작은 MS에 대한 요청과 수신에 대한 반복 루프(loop)에 의해 반복될 수 있다. 즉, 두 번째 서비스 진입시에는 방송 수신기가 저장된 초기화 세그먼트를 바로 파싱하여 미디어 재생 준비(디코더 초기화)를 하고 미디어 세그먼트를 요청함으로써 MPD 와 이니셜 세그먼트를 요청하여 수신하는 시간을 단축할 수 있다. 결과적으로 방송 수신기는 최초 재생 시간을 단축 할 수 있다. 또한 두번째 진입시 MPD 파일 또는 이니셜 세그먼트가 수신이 되지 않는 경우 또는 세그먼트 자체에 오류가 있는 경우에도 방송 수신기는 저장된 MPD 파일 또는 이니셜 세그먼트를 이용하여 정상적으로 미디어 데이터에 대한 재생이 가능하다.
도 85는 본 발명의 일 실시예에 따른 방송 수신기의 동작 방법을 나타낸 도면이다. 방송 수신기는 재생하고자 하는 서비스에 최초로 접속하는 경우, 서비스 관련 정보를 수신하여 저장할 수 있다(DS12010). 여기서 서비스란, 전술한 방송 채널 또는 방송 프로그램을 의미할 수 있다. 또한 서비스 관련 정보란 전술한 MPD, 초기화 세그먼트 등 해당 서비스를 제공하기 위해 우선적으로 수신해야 하는 정보를 포함할 수 있다. 또한 서비스 관련 정보는 그 저장 형태에 따라 MPD 파일, 초기화 세그먼트의 형태가 될 수 있으며, 또는 파싱된 MPD 정보, 파싱된 초기화 세그먼트 정보의 형태도 될 수 있다. 방송 수신기는 수신한 서비스 관련 정보를 이용하여 해당 서비스를 요청할 수 있으며, 수신된 서비스 데이터를 디코딩하여 재생할 수 있다. 방송 수신기는 사용자의 채널 전환 또는 프로그램 전환 요청에 의해 이전에 접속했던 서비스 (채널 또는 프로그램)을 요청할 수 있다. 이 경우, 방송 수신기는 서비스 재요청시 저장된 서비스 관련 정보를 이용하여 디코더를 초기화하고 서비스 데이터를 요청할 수 있다(DS12020). 여기서 저장된 서비스 관련 정보는 해당 서비스에 최초로 접속했을 때 수신되어 저장된 서비스 관련 정보를 포함할 수 있다. 저장된 서비스 관련 정보는 그 저장된 형태에 따라, 패킷, 파일, 세그먼트 또는 파싱된 데이터의 형태를 가질 수 있다. 이에 대한 상세한 동작은 전술한 바와 같다. 방송 수신기는 저장된 서비스 관련 정보를 이용함으로써, 서비스 관련 정보를 요청하고 수신하는 시간을 단축시킬 수 있다. 또한 저장된 서비스 관련 정보가 파싱된 정보의 형태를 갖는 경우, 방송 수신기는 서비스 관련 정보를 파싱하는 시간도 추가적으로 단축시킬 수 있다. 방송 수신기는 신속하게 요청된 서비스 데이터를 디코딩하고 재생할 수 있다(DS12030). 이를 통해 방송 수신기는 채널 또는 프로그램 전환 또는 서비스 요청시 소요되는 시간을 단축시킬 수 있다. 즉, 본 발명의 방송 수신기는 채널 전환시에 다음 채널을 빠르게 디스플레이함으로써 타임래그(timelag)를 최소화할 수 있는 효과가 있다.
모듈 또는 유닛은 메모리(또는 저장 유닛)에 저장된 연속된 수행과정들을 실행하는 프로세서들일 수 있다. 전술한 실시예에 기술된 각 단계들은 하드웨어/프로세서들에 의해 수행될 수 있다. 전술한 실시예에 기술된 각 모듈/블락/유닛들은 하드웨어/프로세서로서 동작할 수 있다. 또한, 본 발명이 제시하는 방법들은 코드로서 실행될 수 있다. 이 코드는 프로세서가 읽을 수 있는 저장매체에 쓰여질 수 있고, 따라서 장치(apparatus)가 제공하는 프로세서에 의해 읽혀질 수 있다.
설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시 예들을 병합하여 새로운 실시 예를 구현하도록 설계하는 것도 가능하다. 그리고, 통상의 기술자의 필요에 따라, 이전에 설명된 실시 예들을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 설계하는 것도 본 발명의 권리범위에 속한다.
본 발명에 따른 장치 및 방법은 상술한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상술한 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
한편, 본 발명이 제안하는 방법을 네트워크 디바이스에 구비된, 프로세서가 읽을 수 있는 기록매체에, 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
그리고, 당해 명세서에서는 물건 발명과 방법 발명이 모두 설명되고 있으며, 필요에 따라 양 발명의 설명은 보충적으로 적용될 수가 있다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 이해된다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.
본 명세서에서 장치 및 방법 발명이 모두 언급되고, 장치 및 방법 발명 모두의 설명은 서로 보완하여 적용될 수 있다.
다양한 실시예가 본 발명을 실시하기 위한 최선의 형태에서 설명되었다.
본 발명은 일련의 방송 신호 제공 분야에서 이용된다.본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 자명하다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.

Claims (12)

  1. 방송 신호를 수신하는 방법에 있어서,
    제1 채널 및 제2 채널에 대응하는 복수의 세션들을 전송하는 상기 방송 신호를 수신하는 단계;
    상기 제1 채널 및 상기 제2 채널에 대응하는 상기 복수의 세션들을 함께 오픈하고, 상기 복수의 세션들에 포함된 방송 서비스 데이터를 획득하는 단계;
    상기 오픈된 복수의 세션들 중 상기 제1 채널에 대응하는 적어도 하나의 세션에 포함된 방송 서비스 데이터를 디코딩하는 단계; 및
    상기 제1 채널이 상기 제2 채널로 전환되는 경우, 상기 오픈된 복수의 세션들 중 상기 제2 채널에 대응하는 적어도 하나의 세션에 포함된 방송 서비스 데이터를 디코딩하는 단계를 포함하는 방송 신호 수신 방법.
  2. 제 1 항에 있어서,
    상기 제1 채널 및 상기 제2 채널은 동일한 제1 주파수를 통해 수신되고,
    상기 방송 신호 수신 방법은 상기 제1 주파수를 튜닝하는 단계를 더 포함하는 방송 신호 수신 방법.
  3. 제 2 항에 있어서,
    제2 주파수를 통해 수신되는 제3 채널로 채널이 전환되는 경우,
    상기 방송 신호 수신 방법은 상기 제2 주파수를 튜닝하는 단계를 더 포함하는 방송 신호 수신 방법.
  4. 제 1 항에 있어서,
    상기 제1 채널 및 상기 제2 채널은 각각 제1 주파수 및 제2 주파수를 통해 수신되고,
    상기 제1 채널에 대응하는 적어도 하나의 세션은 상기 제1 채널이 상기 제2 채널로 전환되는 경우 종료되는 방송 신호 수신 방법.
  5. 제 4 항에 있어서,
    상기 제1 채널에 대응하는 적어도 하나의 세션이 종료되면, 제3 주파수를 통해 수신되는 제3 채널에 대응하는 적어도 하나의 세션들을 전송하는 방송 신호를 수신하는 방송 신호 수신 방법.
  6. 제 5 항에 있어서,
    상기 제3 주파수는 상기 채널 전환되기 전의 채널인 상기 제1 채널이 전송되는 상기 제1 주파수, 상기 제2 채널이 전송되는 상기 제2 주파수에 인접한 주파수 또는 선호채널로 설정된 채널이 전송되는 주파수 중 하나인 방송 신호 수신 방법.
  7. 미디어 컨텐트를 수신하는 방법에 있어서,
    HTTP (Hypertext Transfer Protocol) 서버에 미디어 프리젠테이션 정보를 요청하고 수신하는 단계;
    상기 수신된 미디어 프리젠테이션 정보를 저장하는 단계;
    상기 HTTP 서버에 초기화 정보를 요청하고 수신하는 단계;
    상기 수신된 초기화 정보를 이용하여 디코더를 초기화하고, 상기 수신된 초기화 정보를 저장하는 단계;
    상기 HTTP 서버에 미디어 데이터를 요청하고 수신하는 단계; 및
    상기 수신된 미디어 데이터를 디코딩하는 단계를 포함하는 미디어 컨텐트 수신 방법.
  8. 제 7 항에 있어서,
    상기 수신된 미디어 프리젠테이션 정보는 대시 클라이언트(DASH Client)로부터 전달된 MPD (media presentation description) 파일의 형태 또는 MPD 파서에 의해 파싱된 MPD 정보의 형태로 저장되는 미디어 컨텐트 수신 방법.
  9. 제 8 항에 있어서,
    상기 미디어 프리젠테이션 정보가 상기 파싱된 MPD 정보의 형태로 저장되고 상기 미디어 컨텐트에 재접속한 경우, 상기 미디어 프리젠테이션 정보에 대한 파싱을 수행하지 않고 상기 저장된 MPD 정보를 이용하는 미디어 컨텐트 수신 방법.
  10. 제 7 항에 있어서,
    상기 수신된 초기화 정보는 대시 클라이언트(DASH Client)로부터 전달된 초기화 세그먼트 (Initialization Segment)의 형태 또는 ISO BMFF (ISO base media file format) 파서에 의해 파싱된 초기화 세그먼트 정보의 형태로 저장되는 미디어 컨텐트 수신 방법.
  11. 제 7 항에 있어서,
    상기 미디어 컨텐트에 재접속하는 경우, 상기 저장된 미디어 프리젠테이션 정보 또는 상기 저장된 초기화 정보를 이용하여 상기 미디어 데이터를 요청하는 미디어 컨텐트 수신 방법.
  12. 제 11 항에 있어서,
    상기 미디어 컨텐트 수신 방법 중 상기 미디어 프리젠테이션 정보 및 상기 초기화 정보에 대한 요청 단계는 상기 미디어 컨텐트에 재접속하는 경우 스킵하는 미디어 컨텐트 수신 방법.
PCT/KR2015/014107 2014-12-22 2015-12-22 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 WO2016105090A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/532,457 US20170272691A1 (en) 2014-12-22 2015-12-22 Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201462095764P 2014-12-22 2014-12-22
US201462095765P 2014-12-22 2014-12-22
US62/095,765 2014-12-22
US62/095,764 2014-12-22

Publications (1)

Publication Number Publication Date
WO2016105090A1 true WO2016105090A1 (ko) 2016-06-30

Family

ID=56151029

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/014107 WO2016105090A1 (ko) 2014-12-22 2015-12-22 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Country Status (2)

Country Link
US (1) US20170272691A1 (ko)
WO (1) WO2016105090A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018052253A1 (ko) * 2016-09-13 2018-03-22 삼성전자 주식회사 송신 장치 및 그 송신 방법
CN109964486A (zh) * 2016-11-03 2019-07-02 夏普株式会社 广播标识符信令

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015160083A1 (ko) * 2014-04-13 2015-10-22 엘지전자(주) 방송 신호 송수신 장치 및 방법
WO2016108137A1 (en) * 2014-12-31 2016-07-07 Reliance Jio Infocomm Limited A system and method of providing multimedia service to a user equipment
US10063422B1 (en) 2015-12-29 2018-08-28 Amazon Technologies, Inc. Controlled bandwidth expansion in compressed disaggregated storage systems
BR112018015935A2 (pt) * 2016-02-12 2018-12-18 Sony Corporation dispositivo e método de processamento de informação.
US9800819B2 (en) * 2016-02-19 2017-10-24 Sony Corporation Methodologies and apparatus for reducing delays when receiving, processing, or switching content
CN106454394B (zh) * 2016-08-03 2020-04-03 华为技术有限公司 一种dvb频道的快速切换方法以及设备和系统
US10123040B2 (en) * 2016-08-30 2018-11-06 Qualcomm Incorporated Intra-coded video frame caching for video telephony sessions
JP6735644B2 (ja) * 2016-09-20 2020-08-05 キヤノン株式会社 情報処理装置及びその制御方法、コンピュータプログラム
KR101967299B1 (ko) * 2017-12-19 2019-04-09 엘지전자 주식회사 방송 신호를 수신하는 차량용 수신 장치 및 방송 신호를 수신하는 차량용 수신 방법
KR101870750B1 (ko) * 2017-12-28 2018-06-26 오픈스택 주식회사 패킷 전송 순서 재배열을 이용한 영상 인코딩 장치 및 그 동작 방법
US10791296B2 (en) * 2018-11-23 2020-09-29 Sony Corporation Apparatus and method for tuner control by middleware
FR3096203A1 (fr) * 2019-05-13 2020-11-20 Expway Procede de diffusion de contenus multimedia avec une faible latence
US11838680B2 (en) * 2021-08-06 2023-12-05 Sony Group Corporation Techniques for ATSC 3.0 broadcast boundary area management using complete service reception during scan to determine signal quality of frequencies carrying the duplicate service
US11848716B2 (en) 2021-08-06 2023-12-19 Sony Group Corporation Techniques for ATSC 3.0 broadcast boundary area management using signal quality and packet errors to differentiate between duplicated services on different frequencies during scan

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7693508B2 (en) * 2001-03-28 2010-04-06 Qualcomm Incorporated Method and apparatus for broadcast signaling in a wireless communication system
KR20110116023A (ko) * 2009-02-09 2011-10-24 소니 주식회사 콘텐츠 수신 장치 및 방법, 콘텐츠 송신 장치 및 방법, 프로그램, 및 기록 매체
US20130182643A1 (en) * 2012-01-16 2013-07-18 Qualcomm Incorporated Method and system for transitions of broadcast dash service receptions between unicast and broadcast
US20130290493A1 (en) * 2011-04-01 2013-10-31 Ozgur Oyman Cross-layer optimized adaptive http streaming
US20140019635A1 (en) * 2012-07-13 2014-01-16 Vid Scale, Inc. Operation and architecture for dash streaming clients

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9380096B2 (en) * 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
EP2625867A1 (en) * 2010-10-05 2013-08-14 Telefonaktiebolaget L M Ericsson (publ) A client, a content creator entity and methods thereof for media streaming
KR102264477B1 (ko) * 2013-07-12 2021-06-15 캐논 가부시끼가이샤 푸시 메시지 제어를 이용하는 적응적 데이터 스트리밍 방법
JP2015136060A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
US10902474B2 (en) * 2014-03-24 2021-01-26 Qualcomm Incorporated Targeted advertisement insertion for streaming media data
US9860612B2 (en) * 2014-04-10 2018-01-02 Wowza Media Systems, LLC Manifest generation and segment packetization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7693508B2 (en) * 2001-03-28 2010-04-06 Qualcomm Incorporated Method and apparatus for broadcast signaling in a wireless communication system
KR20110116023A (ko) * 2009-02-09 2011-10-24 소니 주식회사 콘텐츠 수신 장치 및 방법, 콘텐츠 송신 장치 및 방법, 프로그램, 및 기록 매체
US20130290493A1 (en) * 2011-04-01 2013-10-31 Ozgur Oyman Cross-layer optimized adaptive http streaming
US20130182643A1 (en) * 2012-01-16 2013-07-18 Qualcomm Incorporated Method and system for transitions of broadcast dash service receptions between unicast and broadcast
US20140019635A1 (en) * 2012-07-13 2014-01-16 Vid Scale, Inc. Operation and architecture for dash streaming clients

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018052253A1 (ko) * 2016-09-13 2018-03-22 삼성전자 주식회사 송신 장치 및 그 송신 방법
CN109716777A (zh) * 2016-09-13 2019-05-03 三星电子株式会社 发送设备及其发送方法
EP3499898A4 (en) * 2016-09-13 2019-09-25 Samsung Electronics Co., Ltd. TRANSMISSION DEVICE AND TRANSMISSION METHOD THEREOF
US10939180B2 (en) 2016-09-13 2021-03-02 Samsung Electronics Co., Ltd. Device and method for transmitting media data across multiple frequency bands
CN109716777B (zh) * 2016-09-13 2022-01-25 三星电子株式会社 发送设备及其发送方法
US11265616B2 (en) 2016-09-13 2022-03-01 Samsung Electronics Co., Ltd. Device and method for transmitting media data across multiple frequency bands
US11671676B2 (en) 2016-09-13 2023-06-06 Samsung Electronics Co., Ltd. Device and method for transmitting media data across multiple frequency bands
CN109964486A (zh) * 2016-11-03 2019-07-02 夏普株式会社 广播标识符信令
CN109964486B (zh) * 2016-11-03 2021-07-20 夏普株式会社 广播标识符信令

Also Published As

Publication number Publication date
US20170272691A1 (en) 2017-09-21

Similar Documents

Publication Publication Date Title
WO2016105090A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016105100A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2015160137A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016080803A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016093537A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016076623A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016060422A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016076569A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016076654A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016144072A1 (ko) 방송 신호 송수신 장치 및 방법
WO2016140486A1 (ko) 방송 신호 송수신 장치 및 방법
WO2016093576A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016129866A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016111526A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016126116A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016117939A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016129868A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016122267A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016153326A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016148547A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016080802A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016080721A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016064151A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016060416A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2015126223A1 (en) Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals

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: 15873617

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15532457

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15873617

Country of ref document: EP

Kind code of ref document: A1